@integrity-labs/agt-cli 0.28.259 → 0.28.260

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin/agt.js CHANGED
@@ -38,7 +38,7 @@ import {
38
38
  success,
39
39
  table,
40
40
  warn
41
- } from "../chunk-VPDUKN7W.js";
41
+ } from "../chunk-PZJRZPJF.js";
42
42
  import {
43
43
  CHANNEL_REGISTRY,
44
44
  DEFAULT_FRAMEWORK,
@@ -4826,7 +4826,7 @@ import { execFileSync, execSync } from "child_process";
4826
4826
  import { existsSync as existsSync10, realpathSync as realpathSync2 } from "fs";
4827
4827
  import chalk18 from "chalk";
4828
4828
  import ora16 from "ora";
4829
- var cliVersion = true ? "0.28.259" : "dev";
4829
+ var cliVersion = true ? "0.28.260" : "dev";
4830
4830
  async function fetchLatestVersion() {
4831
4831
  const host2 = getHost();
4832
4832
  if (!host2) return null;
@@ -5840,7 +5840,7 @@ function handleError(err) {
5840
5840
  }
5841
5841
 
5842
5842
  // src/bin/agt.ts
5843
- var cliVersion2 = true ? "0.28.259" : "dev";
5843
+ var cliVersion2 = true ? "0.28.260" : "dev";
5844
5844
  var program = new Command();
5845
5845
  program.name("agt").description("Augmented CLI \u2014 agent provisioning and management").version(cliVersion2).option("--json", "Emit machine-readable JSON output (suppress spinners and colors)").option("--skip-update-check", "Skip the automatic update check on startup");
5846
5846
  program.hook("preAction", async (thisCommand, actionCommand) => {
@@ -5832,7 +5832,7 @@ function requireHost() {
5832
5832
  }
5833
5833
 
5834
5834
  // src/lib/api-client.ts
5835
- var agtCliVersion = true ? "0.28.259" : "dev";
5835
+ var agtCliVersion = true ? "0.28.260" : "dev";
5836
5836
  var lastConfigHash = null;
5837
5837
  function setConfigHash(hash) {
5838
5838
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -8102,4 +8102,4 @@ export {
8102
8102
  managerInstallSystemUnitCommand,
8103
8103
  managerUninstallSystemUnitCommand
8104
8104
  };
8105
- //# sourceMappingURL=chunk-VPDUKN7W.js.map
8105
+ //# sourceMappingURL=chunk-PZJRZPJF.js.map
@@ -37,7 +37,7 @@ import {
37
37
  requireHost,
38
38
  safeWriteJsonAtomic,
39
39
  setConfigHash
40
- } from "../chunk-VPDUKN7W.js";
40
+ } from "../chunk-PZJRZPJF.js";
41
41
  import {
42
42
  getProjectDir as getProjectDir2,
43
43
  getReadyTasks,
@@ -6669,7 +6669,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
6669
6669
  var lastVersionCheckAt = 0;
6670
6670
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
6671
6671
  var lastResponsivenessProbeAt = 0;
6672
- var agtCliVersion = true ? "0.28.259" : "dev";
6672
+ var agtCliVersion = true ? "0.28.260" : "dev";
6673
6673
  function resolveBrewPath(execFileSync2) {
6674
6674
  try {
6675
6675
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
package/dist/mcp/index.js CHANGED
@@ -21506,7 +21506,14 @@ async function refreshToken() {
21506
21506
  const res = await fetch(`${AGT_HOST}/host/exchange`, {
21507
21507
  method: "POST",
21508
21508
  headers: { "Content-Type": "application/json" },
21509
- body: JSON.stringify({ host_key: AGT_API_KEY })
21509
+ // ENG-7449 (ADR-0042 P1): scope the main agent token to its own agent. The
21510
+ // general-purpose token verifies AS self (`body.agent_id = AGT_AGENT_ID`) on
21511
+ // every host route; cross-agent tools (kanban_assign / move) carry the peer
21512
+ // as `target_agent` and are gated by the cross-team peer-consent model, NOT
21513
+ // this token's host binding — so self-scope bounds the token without
21514
+ // breaking cross-agent delegation. `agent_id` drops out if AGT_AGENT_ID is
21515
+ // unset (claim-less, unchanged).
21516
+ body: JSON.stringify({ host_key: AGT_API_KEY, agent_id: AGT_AGENT_ID })
21510
21517
  });
21511
21518
  if (!res.ok) {
21512
21519
  const text = await res.text().catch(() => res.statusText);
@@ -17459,7 +17459,11 @@ function createCrossTeamPeerAuditClient(args) {
17459
17459
  const resp = await fetchImpl(`${base}/host/exchange`, {
17460
17460
  method: "POST",
17461
17461
  headers: { "Content-Type": "application/json" },
17462
- body: JSON.stringify({ host_key: apiKey }),
17462
+ // ENG-7449 (ADR-0042 P1): scope the exchanged token to this agent. This
17463
+ // client acts strictly AS self (every event is posted with
17464
+ // `agent_id: agentId`); the foreign `peer_agent_id` is audit DATA, never
17465
+ // the auth subject, so a self-scoped token is correct and complete.
17466
+ body: JSON.stringify({ host_key: apiKey, agent_id: agentId }),
17463
17467
  signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS2)
17464
17468
  });
17465
17469
  if (!resp.ok) {
@@ -15480,7 +15480,10 @@ function createDefaultPeerRateApiClient(args) {
15480
15480
  const resp = await fetchImpl(`${base}/host/exchange`, {
15481
15481
  method: "POST",
15482
15482
  headers: { "Content-Type": "application/json" },
15483
- body: JSON.stringify({ host_key: args.agtApiKey })
15483
+ // ENG-7449 (ADR-0042 P1): scope the token to this agent. Every rate event
15484
+ // is recorded/queried with `agent_id: args.agentId` (self); `peer_bot_id`
15485
+ // is a Telegram bot id, not an agent, so self-scope is correct.
15486
+ body: JSON.stringify({ host_key: args.agtApiKey, agent_id: args.agentId })
15484
15487
  });
15485
15488
  if (!resp.ok) {
15486
15489
  const body = await resp.text().catch(() => "");
@@ -15553,7 +15556,11 @@ function createCrossTeamPeerAuditClient(args) {
15553
15556
  const resp = await fetchImpl(`${base}/host/exchange`, {
15554
15557
  method: "POST",
15555
15558
  headers: { "Content-Type": "application/json" },
15556
- body: JSON.stringify({ host_key: apiKey }),
15559
+ // ENG-7449 (ADR-0042 P1): scope the exchanged token to this agent. This
15560
+ // client acts strictly AS self (every event is posted with
15561
+ // `agent_id: agentId`); the foreign `peer_agent_id` is audit DATA, never
15562
+ // the auth subject, so a self-scoped token is correct and complete.
15563
+ body: JSON.stringify({ host_key: apiKey, agent_id: agentId }),
15557
15564
  signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS)
15558
15565
  });
15559
15566
  if (!resp.ok) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.259",
3
+ "version": "0.28.260",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {