@integrity-labs/agt-cli 0.28.1091 → 0.28.1092

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.
@@ -16,7 +16,7 @@ import {
16
16
  parseEnvFileEntries,
17
17
  parseEnvIntegrations,
18
18
  shellQuote
19
- } from "./chunk-MCXL6E6S.js";
19
+ } from "./chunk-WP6ISOPX.js";
20
20
  import {
21
21
  BIND_FAILURE_QUARANTINE_THRESHOLD,
22
22
  INTEGRATIONS_SECTION_END,
@@ -79,7 +79,7 @@ import {
79
79
  sessionTranscriptDir,
80
80
  worseConnectivityOutcome,
81
81
  wrapScheduledTaskPrompt
82
- } from "./chunk-F64C5PVP.js";
82
+ } from "./chunk-EAXTNN24.js";
83
83
  import {
84
84
  classifyUnanswerablePane,
85
85
  isConsumerTermsDialogVisible,
@@ -7122,7 +7122,7 @@ function exchangeFailureKind(err) {
7122
7122
  }
7123
7123
 
7124
7124
  // src/lib/api-client.ts
7125
- var agtCliVersion = true ? "0.28.1091" : "dev";
7125
+ var agtCliVersion = true ? "0.28.1092" : "dev";
7126
7126
  var lastConfigHash = null;
7127
7127
  function setConfigHash(hash) {
7128
7128
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -12095,4 +12095,4 @@ export {
12095
12095
  managerInstallSystemUnitCommand,
12096
12096
  managerUninstallSystemUnitCommand
12097
12097
  };
12098
- //# sourceMappingURL=chunk-FANKSUM7.js.map
12098
+ //# sourceMappingURL=chunk-SBPJNCMA.js.map
@@ -24,7 +24,7 @@ import {
24
24
  rotateDailySession,
25
25
  sessionFileExists,
26
26
  todayLocalIso
27
- } from "./chunk-F64C5PVP.js";
27
+ } from "./chunk-EAXTNN24.js";
28
28
  import {
29
29
  classifyUnanswerablePane,
30
30
  findUsageLimitResetHint,
@@ -6113,4 +6113,4 @@ export {
6113
6113
  stopAllSessionsAndWait,
6114
6114
  getProjectDir
6115
6115
  };
6116
- //# sourceMappingURL=chunk-MCXL6E6S.js.map
6116
+ //# sourceMappingURL=chunk-WP6ISOPX.js.map
@@ -266,7 +266,7 @@ async function spawnPairSession(session) {
266
266
  return { ok: true };
267
267
  } catch {
268
268
  }
269
- const { resolveClaudeBinary } = await import("./persistent-session-OFLNXMXV.js");
269
+ const { resolveClaudeBinary } = await import("./persistent-session-J2DDILF2.js");
270
270
  const claudeBin = resolveClaudeBinary();
271
271
  const pairEnv = {
272
272
  ...process.env,
@@ -734,4 +734,4 @@ export {
734
734
  startClaudePair,
735
735
  submitClaudePairCode
736
736
  };
737
- //# sourceMappingURL=claude-pair-runtime-PPAD4T3M.js.map
737
+ //# sourceMappingURL=claude-pair-runtime-M3HT7J7I.js.map
@@ -67,7 +67,7 @@ import {
67
67
  safeWriteJsonAtomic,
68
68
  setConfigHash,
69
69
  tripClass
70
- } from "../chunk-FANKSUM7.js";
70
+ } from "../chunk-SBPJNCMA.js";
71
71
  import {
72
72
  getProjectDir as getProjectDir2,
73
73
  getReadyTasks,
@@ -154,7 +154,7 @@ import {
154
154
  webFetchBaselineValue,
155
155
  webFetchRestartNeeded,
156
156
  writeEgressAllowlist
157
- } from "../chunk-MCXL6E6S.js";
157
+ } from "../chunk-WP6ISOPX.js";
158
158
  import {
159
159
  ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
160
160
  AnchorSessionClient,
@@ -264,7 +264,7 @@ import {
264
264
  subagentActivityAgeSeconds,
265
265
  sumTranscriptUsageInWindow,
266
266
  transcriptActivityAgeSeconds
267
- } from "../chunk-F64C5PVP.js";
267
+ } from "../chunk-EAXTNN24.js";
268
268
  import {
269
269
  classifyUnanswerablePane,
270
270
  paneRemedy
@@ -14142,7 +14142,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
14142
14142
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
14143
14143
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
14144
14144
  async function channelInboundActivityAgeSecondsFor(codeName) {
14145
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-P4ZJ3FFG.js");
14145
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-SC3343EW.js");
14146
14146
  const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
14147
14147
  if (newest === null) return null;
14148
14148
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -14900,7 +14900,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
14900
14900
  var lastVersionCheckAt = 0;
14901
14901
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
14902
14902
  var lastResponsivenessProbeAt = 0;
14903
- var agtCliVersion = true ? "0.28.1091" : "dev";
14903
+ var agtCliVersion = true ? "0.28.1092" : "dev";
14904
14904
  function resolveBrewPath(execFileSync3) {
14905
14905
  try {
14906
14906
  const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -16517,7 +16517,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
16517
16517
  if (codeNames.length === 0) return;
16518
16518
  void (async () => {
16519
16519
  try {
16520
- const { collectDiagnostics } = await import("../persistent-session-OFLNXMXV.js");
16520
+ const { collectDiagnostics } = await import("../persistent-session-J2DDILF2.js");
16521
16521
  await api.post("/host/heartbeat", {
16522
16522
  host_id: hostId,
16523
16523
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
@@ -16659,7 +16659,7 @@ async function pollCycleInner() {
16659
16659
  }
16660
16660
  try {
16661
16661
  const { detectHostSecurity } = await import("../host-security-KQYYZZVW.js");
16662
- const { collectDiagnostics } = await import("../persistent-session-OFLNXMXV.js");
16662
+ const { collectDiagnostics } = await import("../persistent-session-J2DDILF2.js");
16663
16663
  const diagCodeNames = [...agentState.persistentSessionAgents];
16664
16664
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor) : void 0;
16665
16665
  let tailscaleHostname;
@@ -16867,7 +16867,7 @@ async function pollCycleInner() {
16867
16867
  collectPanelessActivityProbes,
16868
16868
  getResponsivenessIntervalMs,
16869
16869
  occupancyQualificationClassifications
16870
- } = await import("../responsiveness-probe-P4ZJ3FFG.js");
16870
+ } = await import("../responsiveness-probe-SC3343EW.js");
16871
16871
  const probeIntervalMs = getResponsivenessIntervalMs();
16872
16872
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
16873
16873
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -16984,7 +16984,7 @@ async function pollCycleInner() {
16984
16984
  collectResponsivenessProbes,
16985
16985
  livePendingInboundOldestAgeSeconds,
16986
16986
  parkPendingInbound
16987
- } = await import("../responsiveness-probe-P4ZJ3FFG.js");
16987
+ } = await import("../responsiveness-probe-SC3343EW.js");
16988
16988
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-M6AFZWNU.js");
16989
16989
  const wedgeNow = /* @__PURE__ */ new Date();
16990
16990
  const liveAgents = agentState.persistentSessionAgents;
@@ -17270,7 +17270,7 @@ async function pollCycleInner() {
17270
17270
  }
17271
17271
  }
17272
17272
  );
17273
- const { parkPendingInbound } = await import("../responsiveness-probe-P4ZJ3FFG.js");
17273
+ const { parkPendingInbound } = await import("../responsiveness-probe-SC3343EW.js");
17274
17274
  const { parked, deadLettered } = parkPendingInbound(codeName, new Date(fatalNowMs));
17275
17275
  paneFatalStreak.delete(codeName);
17276
17276
  paneFatalRestarts.set(codeName, [...history, fatalNowMs]);
@@ -17301,7 +17301,7 @@ async function pollCycleInner() {
17301
17301
  TRANSCRIPT_MOUNT_ESCALATION_REFRESH_MS,
17302
17302
  bindSourceEscalations
17303
17303
  } = await import("../transcript-mount-health-OHE6IVJV.js");
17304
- const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-OFLNXMXV.js");
17304
+ const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-J2DDILF2.js");
17305
17305
  const mountConfig = resolveTranscriptMountConfig();
17306
17306
  const liveAgents = agentState.persistentSessionAgents;
17307
17307
  for (const tracked of [
@@ -17466,7 +17466,7 @@ async function pollCycleInner() {
17466
17466
  }
17467
17467
  try {
17468
17468
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-VR5QGP3J.js");
17469
- const { probeSessionAuth } = await import("../session-auth-dead-EIVF4STJ.js");
17469
+ const { probeSessionAuth } = await import("../session-auth-dead-YRBWGK2V.js");
17470
17470
  const observations = [];
17471
17471
  const pendingCacheCommits = [];
17472
17472
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -22038,7 +22038,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
22038
22038
  try {
22039
22039
  const freshId = rotateSessionForWedge(codeName);
22040
22040
  consecutiveWedgeCycles.delete(codeName);
22041
- const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-P4ZJ3FFG.js");
22041
+ const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-SC3343EW.js");
22042
22042
  const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
22043
22043
  const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
22044
22044
  const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
@@ -22081,7 +22081,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
22081
22081
  void api.post("/host/restart-ack", { host_id: hostId, agent_id: agentId, restart_requested_at: requestedAt }).catch((err) => log(`[restart-lane] ack failed for '${codeName}': ${err.message}`));
22082
22082
  void (async () => {
22083
22083
  try {
22084
- const { collectDiagnostics } = await import("../persistent-session-OFLNXMXV.js");
22084
+ const { collectDiagnostics } = await import("../persistent-session-J2DDILF2.js");
22085
22085
  await api.post("/host/heartbeat", {
22086
22086
  host_id: hostId,
22087
22087
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
@@ -22132,7 +22132,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
22132
22132
  }
22133
22133
  try {
22134
22134
  const hostId = await getHostId();
22135
- const { collectDiagnostics } = await import("../persistent-session-OFLNXMXV.js");
22135
+ const { collectDiagnostics } = await import("../persistent-session-J2DDILF2.js");
22136
22136
  await api.post("/host/heartbeat", {
22137
22137
  host_id: hostId,
22138
22138
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
@@ -22804,7 +22804,7 @@ async function processClaudePairSessions(agents) {
22804
22804
  // cannot take it for itself — by the time it runs, the write it is looking
22805
22805
  // for may already have happened.
22806
22806
  snapshotPairConfig
22807
- } = await import("../claude-pair-runtime-PPAD4T3M.js");
22807
+ } = await import("../claude-pair-runtime-M3HT7J7I.js");
22808
22808
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
22809
22809
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
22810
22810
  const killed = await killPairSession(pairTmuxSession(pairId));
@@ -30710,6 +30710,12 @@ var integration_metadata_v1_default = {
30710
30710
  pattern: "^https://",
30711
30711
  description: "Absolute HTTPS URL the broker uses as the vendor API root. Required when any tool descriptor relies on http_templater (i.e. whenever `tools[]` is non-empty), unless the definition declares a per-install `base_url_template` instead (CS-1863)."
30712
30712
  },
30713
+ alias_code_names: {
30714
+ type: "array",
30715
+ description: "ENG-11369 / ADR-0109 Stage 2: extra code-name prefixes the descriptor builder also derives MCP tool names from. Each tool surfaces under its canonical name and once per alias, all routing to the same integration_code_name + tool_name. Kebab-case, like code_name.",
30716
+ items: { type: "string", pattern: "^[a-z0-9]+(-[a-z0-9]+)*$" },
30717
+ uniqueItems: true
30718
+ },
30713
30719
  auth_scheme: {
30714
30720
  type: "string",
30715
30721
  pattern: "^[A-Za-z0-9!#$%&'*+.^_`|~-]+$",
package/dist/mcp/index.js CHANGED
@@ -23201,6 +23201,12 @@ var integration_metadata_v1_default = {
23201
23201
  pattern: "^https://",
23202
23202
  description: "Absolute HTTPS URL the broker uses as the vendor API root. Required when any tool descriptor relies on http_templater (i.e. whenever `tools[]` is non-empty), unless the definition declares a per-install `base_url_template` instead (CS-1863)."
23203
23203
  },
23204
+ alias_code_names: {
23205
+ type: "array",
23206
+ description: "ENG-11369 / ADR-0109 Stage 2: extra code-name prefixes the descriptor builder also derives MCP tool names from. Each tool surfaces under its canonical name and once per alias, all routing to the same integration_code_name + tool_name. Kebab-case, like code_name.",
23207
+ items: { type: "string", pattern: "^[a-z0-9]+(-[a-z0-9]+)*$" },
23208
+ uniqueItems: true
23209
+ },
23204
23210
  auth_scheme: {
23205
23211
  type: "string",
23206
23212
  pattern: "^[A-Za-z0-9!#$%&'*+.^_`|~-]+$",
@@ -35565,6 +35571,19 @@ var HOST_FILE_PATH_TOOLS = /* @__PURE__ */ new Map([
35565
35571
  maxBytes: AGT_LIVE_CONTENT_PATH_MAX_BYTES,
35566
35572
  label: "a published page"
35567
35573
  }
35574
+ ],
35575
+ // ENG-11369 / ADR-0109 Stage 2: the same tool under its Ninja Canvas alias.
35576
+ // This table is keyed on the name the call ARRIVES under, so an alias that is
35577
+ // missing here forwards `content_path` unresolved and the API refuses it.
35578
+ // Keep the `agt_live_publish` key until Stage 5 retires that name.
35579
+ [
35580
+ "ninja_canvas_publish",
35581
+ {
35582
+ pathArg: "content_path",
35583
+ targetArg: "content",
35584
+ maxBytes: AGT_LIVE_CONTENT_PATH_MAX_BYTES,
35585
+ label: "a published page"
35586
+ }
35568
35587
  ]
35569
35588
  ]);
35570
35589
  function hostFilePathArg(toolName) {
@@ -51259,7 +51278,8 @@ async function saveArtefactSourceText(artefactId) {
51259
51278
  return [
51260
51279
  `Saved source HTML to ${r.path}`,
51261
51280
  `${r.characters} characters (${r.bytes} bytes) in ${r.chunks} chunk(s) \u2014 ${integrity}`,
51262
- "Read/edit that file, then pass the edited HTML back as `content` to agt_live_publish with the same slug."
51281
+ // ENG-11369: both names, since an agent may have either (ADR-0109 Stage 2).
51282
+ "Read/edit that file, then pass the edited HTML back as `content` to ninja_canvas_publish (or agt_live_publish) with the same slug."
51263
51283
  ].join("\n");
51264
51284
  }
51265
51285
  server.tool(
@@ -37113,6 +37113,12 @@ var integration_metadata_v1_default = {
37113
37113
  pattern: "^https://",
37114
37114
  description: "Absolute HTTPS URL the broker uses as the vendor API root. Required when any tool descriptor relies on http_templater (i.e. whenever `tools[]` is non-empty), unless the definition declares a per-install `base_url_template` instead (CS-1863)."
37115
37115
  },
37116
+ alias_code_names: {
37117
+ type: "array",
37118
+ description: "ENG-11369 / ADR-0109 Stage 2: extra code-name prefixes the descriptor builder also derives MCP tool names from. Each tool surfaces under its canonical name and once per alias, all routing to the same integration_code_name + tool_name. Kebab-case, like code_name.",
37119
+ items: { type: "string", pattern: "^[a-z0-9]+(-[a-z0-9]+)*$" },
37120
+ uniqueItems: true
37121
+ },
37116
37122
  auth_scheme: {
37117
37123
  type: "string",
37118
37124
  pattern: "^[A-Za-z0-9!#$%&'*+.^_`|~-]+$",
@@ -31561,6 +31561,12 @@ var integration_metadata_v1_default = {
31561
31561
  pattern: "^https://",
31562
31562
  description: "Absolute HTTPS URL the broker uses as the vendor API root. Required when any tool descriptor relies on http_templater (i.e. whenever `tools[]` is non-empty), unless the definition declares a per-install `base_url_template` instead (CS-1863)."
31563
31563
  },
31564
+ alias_code_names: {
31565
+ type: "array",
31566
+ description: "ENG-11369 / ADR-0109 Stage 2: extra code-name prefixes the descriptor builder also derives MCP tool names from. Each tool surfaces under its canonical name and once per alias, all routing to the same integration_code_name + tool_name. Kebab-case, like code_name.",
31567
+ items: { type: "string", pattern: "^[a-z0-9]+(-[a-z0-9]+)*$" },
31568
+ uniqueItems: true
31569
+ },
31564
31570
  auth_scheme: {
31565
31571
  type: "string",
31566
31572
  pattern: "^[A-Za-z0-9!#$%&'*+.^_`|~-]+$",
@@ -31673,6 +31673,12 @@ var integration_metadata_v1_default = {
31673
31673
  pattern: "^https://",
31674
31674
  description: "Absolute HTTPS URL the broker uses as the vendor API root. Required when any tool descriptor relies on http_templater (i.e. whenever `tools[]` is non-empty), unless the definition declares a per-install `base_url_template` instead (CS-1863)."
31675
31675
  },
31676
+ alias_code_names: {
31677
+ type: "array",
31678
+ description: "ENG-11369 / ADR-0109 Stage 2: extra code-name prefixes the descriptor builder also derives MCP tool names from. Each tool surfaces under its canonical name and once per alias, all routing to the same integration_code_name + tool_name. Kebab-case, like code_name.",
31679
+ items: { type: "string", pattern: "^[a-z0-9]+(-[a-z0-9]+)*$" },
31680
+ uniqueItems: true
31681
+ },
31676
31682
  auth_scheme: {
31677
31683
  type: "string",
31678
31684
  pattern: "^[A-Za-z0-9!#$%&'*+.^_`|~-]+$",
@@ -68,8 +68,8 @@ import {
68
68
  writeDirectChatSessionState,
69
69
  writeEgressAllowlist,
70
70
  writePersistentClaudeWrapper
71
- } from "./chunk-MCXL6E6S.js";
72
- import "./chunk-F64C5PVP.js";
71
+ } from "./chunk-WP6ISOPX.js";
72
+ import "./chunk-EAXTNN24.js";
73
73
  import "./chunk-OCMJ5E6J.js";
74
74
  import "./chunk-XWVM4KPK.js";
75
75
  import "./chunk-EL5MWGGH.js";
@@ -145,4 +145,4 @@ export {
145
145
  writeEgressAllowlist,
146
146
  writePersistentClaudeWrapper
147
147
  };
148
- //# sourceMappingURL=persistent-session-OFLNXMXV.js.map
148
+ //# sourceMappingURL=persistent-session-J2DDILF2.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-MCXL6E6S.js";
4
- import "./chunk-F64C5PVP.js";
3
+ } from "./chunk-WP6ISOPX.js";
4
+ import "./chunk-EAXTNN24.js";
5
5
  import "./chunk-OCMJ5E6J.js";
6
6
  import "./chunk-XWVM4KPK.js";
7
7
  import "./chunk-EL5MWGGH.js";
@@ -802,4 +802,4 @@ export {
802
802
  readAndResetSlackReplyBindingClassifications,
803
803
  readAndResetSlackReplyTargetClassifications
804
804
  };
805
- //# sourceMappingURL=responsiveness-probe-P4ZJ3FFG.js.map
805
+ //# sourceMappingURL=responsiveness-probe-SC3343EW.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-F64C5PVP.js";
3
+ } from "./chunk-EAXTNN24.js";
4
4
  import "./chunk-DGUM43GV.js";
5
5
 
6
6
  // src/lib/session-auth-dead.ts
@@ -204,4 +204,4 @@ export {
204
204
  decideSessionAuthState,
205
205
  probeSessionAuth
206
206
  };
207
- //# sourceMappingURL=session-auth-dead-EIVF4STJ.js.map
207
+ //# sourceMappingURL=session-auth-dead-YRBWGK2V.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.1091",
3
+ "version": "0.28.1092",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {