@integrity-labs/agt-cli 0.28.805 → 0.28.807

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.
Files changed (24) hide show
  1. package/dist/bin/agt.js +5 -5
  2. package/dist/{chunk-DHOVIXR5.js → chunk-GIV6ORI3.js} +17 -2
  3. package/dist/{chunk-DHOVIXR5.js.map → chunk-GIV6ORI3.js.map} +1 -1
  4. package/dist/{chunk-YNSVQMSD.js → chunk-SHQCTBFE.js} +59 -6
  5. package/dist/{chunk-YNSVQMSD.js.map → chunk-SHQCTBFE.js.map} +1 -1
  6. package/dist/{chunk-2FL6V4E5.js → chunk-VK35F6O7.js} +53 -1
  7. package/dist/chunk-VK35F6O7.js.map +1 -0
  8. package/dist/{claude-pair-runtime-WS3IVDDE.js → claude-pair-runtime-XZLX2PEL.js} +2 -2
  9. package/dist/lib/manager-worker.js +54 -13
  10. package/dist/lib/manager-worker.js.map +1 -1
  11. package/dist/mcp/direct-chat-channel.js +52 -0
  12. package/dist/mcp/index.js +110 -1
  13. package/dist/mcp/origami.js +52 -0
  14. package/dist/mcp/slack-channel.js +52 -0
  15. package/dist/mcp/telegram-channel.js +52 -0
  16. package/dist/{persistent-session-PV4GPHG3.js → persistent-session-LEICQMWY.js} +3 -3
  17. package/dist/{responsiveness-probe-X3AW5TGA.js → responsiveness-probe-WEXP254C.js} +3 -3
  18. package/dist/{session-auth-dead-W6K5VEU7.js → session-auth-dead-AROKHZET.js} +2 -2
  19. package/package.json +1 -1
  20. package/dist/chunk-2FL6V4E5.js.map +0 -1
  21. /package/dist/{claude-pair-runtime-WS3IVDDE.js.map → claude-pair-runtime-XZLX2PEL.js.map} +0 -0
  22. /package/dist/{persistent-session-PV4GPHG3.js.map → persistent-session-LEICQMWY.js.map} +0 -0
  23. /package/dist/{responsiveness-probe-X3AW5TGA.js.map → responsiveness-probe-WEXP254C.js.map} +0 -0
  24. /package/dist/{session-auth-dead-W6K5VEU7.js.map → session-auth-dead-AROKHZET.js.map} +0 -0
@@ -5,6 +5,7 @@ import {
5
5
  buildNativeMcpEntry,
6
6
  buildOAuthRemoteMcpProxyEntry,
7
7
  buildRemoteMcpEntry,
8
+ classifyUnanswerablePane,
8
9
  expandTemplateVars,
9
10
  getProjectDir,
10
11
  hardBoundedExecFile,
@@ -13,8 +14,9 @@ import {
13
14
  mergeEnvIntegrationsContent,
14
15
  parseEnvFileEntries,
15
16
  parseEnvIntegrations,
16
- shellQuote
17
- } from "./chunk-DHOVIXR5.js";
17
+ shellQuote,
18
+ summarizeUnanswerablePane
19
+ } from "./chunk-GIV6ORI3.js";
18
20
  import {
19
21
  BIND_FAILURE_QUARANTINE_THRESHOLD,
20
22
  INTEGRATIONS_SECTION_END,
@@ -69,7 +71,7 @@ import {
69
71
  sessionTranscriptDir,
70
72
  worseConnectivityOutcome,
71
73
  wrapScheduledTaskPrompt
72
- } from "./chunk-2FL6V4E5.js";
74
+ } from "./chunk-VK35F6O7.js";
73
75
  import {
74
76
  parsePsRows
75
77
  } from "./chunk-XWVM4KPK.js";
@@ -6521,7 +6523,7 @@ function exchangeFailureKind(err) {
6521
6523
  }
6522
6524
 
6523
6525
  // src/lib/api-client.ts
6524
- var agtCliVersion = true ? "0.28.805" : "dev";
6526
+ var agtCliVersion = true ? "0.28.807" : "dev";
6525
6527
  var lastConfigHash = null;
6526
6528
  function setConfigHash(hash) {
6527
6529
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -7554,7 +7556,10 @@ function reapMissingMcpSessions(args) {
7554
7556
  // ENG-8013: default false → a "no live child" observation is only excluded
7555
7557
  // from the give-up/quarantine budget when the caller positively identifies
7556
7558
  // the current generation as externally-churned. Legacy callers/tests unchanged.
7557
- currentGenerationExternallyStarted = false
7559
+ currentGenerationExternallyStarted = false,
7560
+ // ENG-9932: unwired => strict no-op, restart proceeds exactly as before.
7561
+ readPane,
7562
+ onPaneBlocked
7558
7563
  } = args;
7559
7564
  const now = args.now ?? Date.now;
7560
7565
  const runPs = args.runPs ?? (isolated ? (
@@ -7905,6 +7910,54 @@ function reapMissingMcpSessions(args) {
7905
7910
  genuinelyDead: genuinelyDead.length > 0 ? genuinelyDead : void 0
7906
7911
  };
7907
7912
  }
7913
+ if (readPane) {
7914
+ let pane = null;
7915
+ try {
7916
+ pane = readPane(codeName);
7917
+ } catch (err) {
7918
+ log2(
7919
+ `[mcp-presence-reaper] '${codeName}': pane read threw (${err.message}) \u2014 proceeding with restart (ENG-9932 fails open)`
7920
+ );
7921
+ }
7922
+ const blocked = classifyUnanswerablePane(pane);
7923
+ if (blocked) {
7924
+ const fingerprint = pane ? summarizeUnanswerablePane(pane) : null;
7925
+ log2(
7926
+ `[mcp-presence-reaper] '${codeName}': NOT restarting \u2014 session is blocked on an interactive prompt (${blocked}), so declared MCP(s) [${active.join(", ")}] were never spawned rather than having died. A restart re-presents the same prompt and burns the ENG-5441 breaker budget. Needs a human at the pane: tmux attach -t agt-${codeName}` + // Fingerprint, never pane text — see summarizeUnanswerablePane.
7927
+ (fingerprint ? ` (modal fp=${fingerprint.hash} len=${fingerprint.length})` : "")
7928
+ );
7929
+ if (onPaneBlocked) {
7930
+ try {
7931
+ onPaneBlocked(codeName, {
7932
+ kind: blocked,
7933
+ activeKeys: [...active],
7934
+ paneHash: fingerprint?.hash ?? null,
7935
+ paneLength: fingerprint?.length ?? null
7936
+ });
7937
+ } catch (err) {
7938
+ log2(
7939
+ `[mcp-presence-reaper] onPaneBlocked callback threw for '${codeName}' (suppressed): ${err.message}`
7940
+ );
7941
+ }
7942
+ }
7943
+ return {
7944
+ missing,
7945
+ restarted: false,
7946
+ reason: "pane-blocked-on-dialog",
7947
+ paneBlockedOn: blocked,
7948
+ givenUp: givenUp.length > 0 ? givenUp : void 0,
7949
+ backingOff: backingOff.length > 0 ? backingOff : void 0,
7950
+ rotationGraced: rotationGraced.length > 0 ? rotationGraced : void 0,
7951
+ rotationProbeArmed: rotationProbeArmed.length > 0 ? rotationProbeArmed : void 0,
7952
+ rotationProbeWaiting: rotationProbeWaiting.length > 0 ? rotationProbeWaiting : void 0,
7953
+ rotationProbeExhausted: rotationProbeExhausted.length > 0 ? rotationProbeExhausted : void 0,
7954
+ rotationRespawnOutcomes: Object.keys(rotationRespawnOutcomes).length > 0 ? rotationRespawnOutcomes : void 0,
7955
+ quarantined: quarantined.length > 0 ? quarantined : void 0,
7956
+ wouldQuarantine: wouldQuarantine.length > 0 ? wouldQuarantine : void 0,
7957
+ genuinelyDead: genuinelyDead.length > 0 ? genuinelyDead : void 0
7958
+ };
7959
+ }
7960
+ }
7908
7961
  const givenUpSuffix = givenUp.length > 0 ? ` (skipping over-cap: [${givenUp.join(", ")}])` : "";
7909
7962
  log2(
7910
7963
  `[mcp-presence-reaper] '${codeName}': declared MCP(s) [${active.join(", ")}] have no live children \u2014 restarting session${givenUpSuffix}`
@@ -10765,4 +10818,4 @@ export {
10765
10818
  managerInstallSystemUnitCommand,
10766
10819
  managerUninstallSystemUnitCommand
10767
10820
  };
10768
- //# sourceMappingURL=chunk-YNSVQMSD.js.map
10821
+ //# sourceMappingURL=chunk-SHQCTBFE.js.map