@integrity-labs/agt-cli 0.28.1026 → 0.28.1028

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 (28) hide show
  1. package/dist/bin/agt.js +6 -6
  2. package/dist/{chunk-BHKFVSIX.js → chunk-3V43FBP4.js} +14 -4
  3. package/dist/chunk-3V43FBP4.js.map +1 -0
  4. package/dist/{chunk-TXV6NUM7.js → chunk-EMSM4BRU.js} +14 -9
  5. package/dist/{chunk-TXV6NUM7.js.map → chunk-EMSM4BRU.js.map} +1 -1
  6. package/dist/{chunk-67YMAX6E.js → chunk-SGX577WT.js} +9 -7
  7. package/dist/chunk-SGX577WT.js.map +1 -0
  8. package/dist/{chunk-EELLOXWU.js → chunk-TQDIIS3X.js} +18 -1
  9. package/dist/chunk-TQDIIS3X.js.map +1 -0
  10. package/dist/{claude-pair-runtime-HF44M2RP.js → claude-pair-runtime-VUTIGBWZ.js} +3 -3
  11. package/dist/lib/manager-worker.js +18 -17
  12. package/dist/lib/manager-worker.js.map +1 -1
  13. package/dist/mcp/direct-chat-channel.js +1 -1
  14. package/dist/mcp/index.js +1 -1
  15. package/dist/mcp/origami.js +1 -1
  16. package/dist/mcp/slack-channel.js +1 -1
  17. package/dist/mcp/telegram-channel.js +1 -1
  18. package/dist/{persistent-session-2DQO42VM.js → persistent-session-GLBUMVU3.js} +4 -4
  19. package/dist/{responsiveness-probe-W5GBWBN7.js → responsiveness-probe-IYDBUCIP.js} +4 -4
  20. package/dist/{session-auth-dead-ZKC2HH6T.js → session-auth-dead-PZGGUZWK.js} +2 -2
  21. package/package.json +1 -1
  22. package/dist/chunk-67YMAX6E.js.map +0 -1
  23. package/dist/chunk-BHKFVSIX.js.map +0 -1
  24. package/dist/chunk-EELLOXWU.js.map +0 -1
  25. /package/dist/{claude-pair-runtime-HF44M2RP.js.map → claude-pair-runtime-VUTIGBWZ.js.map} +0 -0
  26. /package/dist/{persistent-session-2DQO42VM.js.map → persistent-session-GLBUMVU3.js.map} +0 -0
  27. /package/dist/{responsiveness-probe-W5GBWBN7.js.map → responsiveness-probe-IYDBUCIP.js.map} +0 -0
  28. /package/dist/{session-auth-dead-ZKC2HH6T.js.map → session-auth-dead-PZGGUZWK.js.map} +0 -0
@@ -15,7 +15,7 @@ import {
15
15
  parseEnvFileEntries,
16
16
  parseEnvIntegrations,
17
17
  shellQuote
18
- } from "./chunk-67YMAX6E.js";
18
+ } from "./chunk-SGX577WT.js";
19
19
  import {
20
20
  BIND_FAILURE_QUARANTINE_THRESHOLD,
21
21
  INTEGRATIONS_SECTION_END,
@@ -77,11 +77,13 @@ import {
77
77
  sessionTranscriptDir,
78
78
  worseConnectivityOutcome,
79
79
  wrapScheduledTaskPrompt
80
- } from "./chunk-BHKFVSIX.js";
80
+ } from "./chunk-3V43FBP4.js";
81
81
  import {
82
82
  classifyUnanswerablePane,
83
+ isConsumerTermsDialogVisible,
84
+ paneRemedy,
83
85
  summarizeUnanswerablePane
84
- } from "./chunk-EELLOXWU.js";
86
+ } from "./chunk-TQDIIS3X.js";
85
87
  import {
86
88
  parsePsRows
87
89
  } from "./chunk-XWVM4KPK.js";
@@ -7140,7 +7142,7 @@ function exchangeFailureKind(err) {
7140
7142
  }
7141
7143
 
7142
7144
  // src/lib/api-client.ts
7143
- var agtCliVersion = true ? "0.28.1026" : "dev";
7145
+ var agtCliVersion = true ? "0.28.1028" : "dev";
7144
7146
  var lastConfigHash = null;
7145
7147
  function setConfigHash(hash) {
7146
7148
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -9132,7 +9134,7 @@ function reapMissingMcpSessions(args) {
9132
9134
  if (!state.quarantineWithheldLogged) {
9133
9135
  state.quarantineWithheldLogged = true;
9134
9136
  log2(
9135
- `[mcp-presence-reaper] '${codeName}:${key}' given up but NOT quarantined - no declared stdio MCP server is live, so the restart budget was exhausted by a session that cannot spawn anything, not by this channel dying. Check the pane (tmux attach -t agt-${codeName}); the channel stays provisioned and will quarantine on a later tick if it is still missing once the session is up (ENG-10500)`
9137
+ `[mcp-presence-reaper] '${codeName}:${key}' given up but NOT quarantined - no declared stdio MCP server is live, so the restart budget was exhausted by a session that cannot spawn anything, not by this channel dying. Check the pane (${paneRemedy(codeName, null)}); the channel stays provisioned and will quarantine on a later tick if it is still missing once the session is up (ENG-10500)`
9136
9138
  );
9137
9139
  }
9138
9140
  } else if (dwellElapsed) {
@@ -9207,6 +9209,7 @@ function reapMissingMcpSessions(args) {
9207
9209
  }
9208
9210
  };
9209
9211
  let blockedRestartPending = null;
9212
+ let consentDialogVisible = null;
9210
9213
  if (readPane) {
9211
9214
  let pane = null;
9212
9215
  try {
@@ -9216,6 +9219,7 @@ function reapMissingMcpSessions(args) {
9216
9219
  `[mcp-presence-reaper] '${codeName}': pane read threw (${err.message}) \u2014 proceeding with restart (ENG-9932 fails open)`
9217
9220
  );
9218
9221
  }
9222
+ consentDialogVisible = pane ? isConsumerTermsDialogVisible(pane) : null;
9219
9223
  const holdBlockedOnPrompt = (blocked2, opts = {}) => {
9220
9224
  const fingerprint = pane ? summarizeUnanswerablePane(pane) : null;
9221
9225
  if (onPaneBlocked) {
@@ -9225,6 +9229,7 @@ function reapMissingMcpSessions(args) {
9225
9229
  activeKeys: [...active],
9226
9230
  paneHash: fingerprint?.hash ?? null,
9227
9231
  paneLength: fingerprint?.length ?? null,
9232
+ consentDialogVisible: consentDialogVisible === true,
9228
9233
  // ENG-10878: WHY the hold, not just that there was one. An
9229
9234
  // operator paged by this alert needs to know whether the one
9230
9235
  // restart was spent and failed, or was never affordable - those
@@ -9270,7 +9275,7 @@ function reapMissingMcpSessions(args) {
9270
9275
  const restartWouldCount = reaperRestartBreakerReason(active) !== void 0;
9271
9276
  if (!episode && budgetLeft === 0 && restartWouldCount) {
9272
9277
  log2(
9273
- `[mcp-presence-reaper] '${codeName}': NOT restarting \u2014 blocked on an interactive prompt (${blocked}) and the crash breaker has NO budget left in its window, so the one restart ENG-10878 would spend would be the event that TRIPS it - remaining===0 means crashCount===max, and the trip test fires at max+1, attributed to mcp-presence-reaper itself. Needs a human at the pane: tmux attach -t agt-${codeName}` + (fingerprint ? ` (modal fp=${fingerprint.hash} len=${fingerprint.length})` : "")
9278
+ `[mcp-presence-reaper] '${codeName}': NOT restarting \u2014 blocked on an interactive prompt (${blocked}) and the crash breaker has NO budget left in its window, so the one restart ENG-10878 would spend would be the event that TRIPS it - remaining===0 means crashCount===max, and the trip test fires at max+1, attributed to mcp-presence-reaper itself. Needs a human at the pane: ${paneRemedy(codeName, consentDialogVisible)}` + (fingerprint ? ` (modal fp=${fingerprint.hash} len=${fingerprint.length})` : "")
9274
9279
  );
9275
9280
  return holdBlockedOnPrompt(blocked);
9276
9281
  }
@@ -9287,7 +9292,7 @@ function reapMissingMcpSessions(args) {
9287
9292
  const comparable = fingerprint !== null && episode.paneHashAtRestart !== null;
9288
9293
  const modalDelta = !comparable ? "modal fingerprint unavailable on one or both polls, so same-or-different is UNKNOWN" : fingerprint.hash === episode.paneHashAtRestart ? "SAME modal as before the restart" : "a DIFFERENT modal than before the restart";
9289
9294
  log2(
9290
- `[mcp-presence-reaper] '${codeName}': NOT restarting \u2014 still blocked on an interactive prompt (${blocked}) after this episode's one restart, so the restart did not clear it (${modalDelta}). Needs a human at the pane: tmux attach -t agt-${codeName}` + (fingerprint ? ` (modal fp=${fingerprint.hash} len=${fingerprint.length})` : "")
9295
+ `[mcp-presence-reaper] '${codeName}': NOT restarting \u2014 still blocked on an interactive prompt (${blocked}) after this episode's one restart, so the restart did not clear it (${modalDelta}). Needs a human at the pane: ${paneRemedy(codeName, consentDialogVisible)}` + (fingerprint ? ` (modal fp=${fingerprint.hash} len=${fingerprint.length})` : "")
9291
9296
  );
9292
9297
  return holdBlockedOnPrompt(blocked);
9293
9298
  }
@@ -9317,7 +9322,7 @@ function reapMissingMcpSessions(args) {
9317
9322
  if (blockedRestartPending) {
9318
9323
  if (tornDown === false) {
9319
9324
  log2(
9320
- `[mcp-presence-reaper] '${codeName}': restart DEFERRED by the host gate this poll (maintenance window / not idle), so nothing was torn down and this episode's one restart is still unspent \u2014 it will be re-attempted when the gate opens. Needs a human at the pane if it persists: tmux attach -t agt-${codeName}`
9325
+ `[mcp-presence-reaper] '${codeName}': restart DEFERRED by the host gate this poll (maintenance window / not idle), so nothing was torn down and this episode's one restart is still unspent \u2014 it will be re-attempted when the gate opens. Needs a human at the pane if it persists: ${paneRemedy(codeName, consentDialogVisible)}`
9321
9326
  );
9322
9327
  return blockedRestartPending.hold({ restartDeferred: true });
9323
9328
  }
@@ -12094,4 +12099,4 @@ export {
12094
12099
  managerInstallSystemUnitCommand,
12095
12100
  managerUninstallSystemUnitCommand
12096
12101
  };
12097
- //# sourceMappingURL=chunk-TXV6NUM7.js.map
12102
+ //# sourceMappingURL=chunk-EMSM4BRU.js.map