@integrity-labs/agt-cli 0.28.1193 → 0.28.1194

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 (29) hide show
  1. package/dist/bin/agt.js +6 -6
  2. package/dist/{chunk-UUO7QTLC.js → chunk-2HAH3TZ4.js} +15 -1
  3. package/dist/{chunk-UUO7QTLC.js.map → chunk-2HAH3TZ4.js.map} +1 -1
  4. package/dist/{chunk-ZTA7AGKM.js → chunk-DPXWD2HJ.js} +44 -11
  5. package/dist/{chunk-ZTA7AGKM.js.map → chunk-DPXWD2HJ.js.map} +1 -1
  6. package/dist/{chunk-NJ2AUTIO.js → chunk-KL35IHP2.js} +3 -3
  7. package/dist/{chunk-DXLSLT5G.js → chunk-MLIFIEIF.js} +2 -2
  8. package/dist/{chunk-UQYIFOWE.js → chunk-WUYF7RDA.js} +2 -2
  9. package/dist/{claude-code-updater-EOJQHUZ2.js → claude-code-updater-DLTAAQOT.js} +3 -3
  10. package/dist/{claude-pair-runtime-WKTA3HNF.js → claude-pair-runtime-XAUZPAUP.js} +3 -3
  11. package/dist/lib/manager-worker.js +91 -28
  12. package/dist/lib/manager-worker.js.map +1 -1
  13. package/dist/mcp/direct-chat-channel.js +2 -0
  14. package/dist/mcp/index.js +2 -0
  15. package/dist/mcp/origami.js +2 -0
  16. package/dist/mcp/slack-channel.js +2 -0
  17. package/dist/mcp/telegram-channel.js +2 -0
  18. package/dist/{persistent-session-5MGJGJIB.js → persistent-session-TV4FIBN4.js} +4 -4
  19. package/dist/{responsiveness-probe-J4CBYZS3.js → responsiveness-probe-BBAAYANU.js} +4 -4
  20. package/dist/{session-auth-dead-7CSZHNBK.js → session-auth-dead-JMYATIQN.js} +3 -3
  21. package/package.json +1 -1
  22. /package/dist/{chunk-NJ2AUTIO.js.map → chunk-KL35IHP2.js.map} +0 -0
  23. /package/dist/{chunk-DXLSLT5G.js.map → chunk-MLIFIEIF.js.map} +0 -0
  24. /package/dist/{chunk-UQYIFOWE.js.map → chunk-WUYF7RDA.js.map} +0 -0
  25. /package/dist/{claude-code-updater-EOJQHUZ2.js.map → claude-code-updater-DLTAAQOT.js.map} +0 -0
  26. /package/dist/{claude-pair-runtime-WKTA3HNF.js.map → claude-pair-runtime-XAUZPAUP.js.map} +0 -0
  27. /package/dist/{persistent-session-5MGJGJIB.js.map → persistent-session-TV4FIBN4.js.map} +0 -0
  28. /package/dist/{responsiveness-probe-J4CBYZS3.js.map → responsiveness-probe-BBAAYANU.js.map} +0 -0
  29. /package/dist/{session-auth-dead-7CSZHNBK.js.map → session-auth-dead-JMYATIQN.js.map} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  rotateDailySession,
5
5
  sessionFileExists,
6
6
  todayLocalIso
7
- } from "./chunk-DXLSLT5G.js";
7
+ } from "./chunk-MLIFIEIF.js";
8
8
  import {
9
9
  classifyUnanswerablePane,
10
10
  customApiKeyDialogKeys,
@@ -51,7 +51,7 @@ import {
51
51
  remoteMcpConnectionEnvInfix,
52
52
  remoteMcpConnectionLabel,
53
53
  remoteMcpConnectionScopedEnvVar
54
- } from "./chunk-UUO7QTLC.js";
54
+ } from "./chunk-2HAH3TZ4.js";
55
55
  import {
56
56
  CLAUDE_CONFIG_DIR_ENV,
57
57
  approveApiKeyInClaudeConfig,
@@ -6173,4 +6173,4 @@ export {
6173
6173
  stopAllSessionsAndWait,
6174
6174
  getProjectDir
6175
6175
  };
6176
- //# sourceMappingURL=chunk-NJ2AUTIO.js.map
6176
+ //# sourceMappingURL=chunk-KL35IHP2.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  encodeClaudeProjectPath
3
- } from "./chunk-UUO7QTLC.js";
3
+ } from "./chunk-2HAH3TZ4.js";
4
4
 
5
5
  // src/lib/daily-session.ts
6
6
  import { randomUUID } from "crypto";
@@ -240,4 +240,4 @@ export {
240
240
  peekPreviousSession,
241
241
  readDailySessionPin
242
242
  };
243
- //# sourceMappingURL=chunk-DXLSLT5G.js.map
243
+ //# sourceMappingURL=chunk-MLIFIEIF.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-XWVM4KPK.js";
5
5
  import {
6
6
  FORCED_UPDATE_HARD_DEADLINE_MS
7
- } from "./chunk-UUO7QTLC.js";
7
+ } from "./chunk-2HAH3TZ4.js";
8
8
  import {
9
9
  effectiveClaudeJsonPath
10
10
  } from "./chunk-AIUIMEUS.js";
@@ -722,4 +722,4 @@ export {
722
722
  probeClaudeInstalls,
723
723
  maybeUpdateClaudeCode
724
724
  };
725
- //# sourceMappingURL=chunk-UQYIFOWE.js.map
725
+ //# sourceMappingURL=chunk-WUYF7RDA.js.map
@@ -13,9 +13,9 @@ import {
13
13
  probeClaudeInstalls,
14
14
  readsAsNativeInstall,
15
15
  shouldRunClaudeCodeUpdater
16
- } from "./chunk-UQYIFOWE.js";
16
+ } from "./chunk-WUYF7RDA.js";
17
17
  import "./chunk-XWVM4KPK.js";
18
- import "./chunk-UUO7QTLC.js";
18
+ import "./chunk-2HAH3TZ4.js";
19
19
  import "./chunk-AIUIMEUS.js";
20
20
  import "./chunk-DGUM43GV.js";
21
21
  export {
@@ -34,4 +34,4 @@ export {
34
34
  readsAsNativeInstall,
35
35
  shouldRunClaudeCodeUpdater
36
36
  };
37
- //# sourceMappingURL=claude-code-updater-EOJQHUZ2.js.map
37
+ //# sourceMappingURL=claude-code-updater-DLTAAQOT.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  redactPaneFrame,
10
10
  sanitizeTerminalFrame
11
- } from "./chunk-UUO7QTLC.js";
11
+ } from "./chunk-2HAH3TZ4.js";
12
12
  import {
13
13
  CLAUDE_CONFIG_DIR_ENV,
14
14
  claudeConfigDirFor,
@@ -321,7 +321,7 @@ async function spawnPairSession(session) {
321
321
  return { ok: true };
322
322
  } catch {
323
323
  }
324
- const { resolveClaudeBinary } = await import("./persistent-session-5MGJGJIB.js");
324
+ const { resolveClaudeBinary } = await import("./persistent-session-TV4FIBN4.js");
325
325
  const claudeBin = resolveClaudeBinary();
326
326
  const pairEnv = {
327
327
  ...process.env,
@@ -836,4 +836,4 @@ export {
836
836
  startClaudePair,
837
837
  submitClaudePairCode
838
838
  };
839
- //# sourceMappingURL=claude-pair-runtime-WKTA3HNF.js.map
839
+ //# sourceMappingURL=claude-pair-runtime-XAUZPAUP.js.map
@@ -56,6 +56,7 @@ import {
56
56
  mintRotatedHostKey,
57
57
  parseRmPolicy,
58
58
  pinAllowsUrgent,
59
+ probeHostKey,
59
60
  provision,
60
61
  provisionAutoKanbanProgressHook,
61
62
  provisionChannelProgressHook,
@@ -83,7 +84,7 @@ import {
83
84
  tripClass,
84
85
  writeEtcEnvironment,
85
86
  writeProfileDScript
86
- } from "../chunk-ZTA7AGKM.js";
87
+ } from "../chunk-DPXWD2HJ.js";
87
88
  import {
88
89
  CLAUDE_CODE_SECURITY_FLOOR,
89
90
  SELF_UPDATE_TIMEOUTS,
@@ -97,7 +98,7 @@ import {
97
98
  runSafeCleanup,
98
99
  tightestDiskStat,
99
100
  withPackageCacheLock
100
- } from "../chunk-UQYIFOWE.js";
101
+ } from "../chunk-WUYF7RDA.js";
101
102
  import {
102
103
  rewriteSupervisorApiKey,
103
104
  supervisorChannelsRefusing
@@ -190,7 +191,7 @@ import {
190
191
  webFetchBaselineValue,
191
192
  webFetchRestartNeeded,
192
193
  writeEgressAllowlist
193
- } from "../chunk-NJ2AUTIO.js";
194
+ } from "../chunk-KL35IHP2.js";
194
195
  import {
195
196
  isAgentIdle,
196
197
  isStaleForToday,
@@ -200,7 +201,7 @@ import {
200
201
  sessionTranscriptDir,
201
202
  subagentActivityAgeSeconds,
202
203
  transcriptActivityAgeSeconds
203
- } from "../chunk-DXLSLT5G.js";
204
+ } from "../chunk-MLIFIEIF.js";
204
205
  import {
205
206
  classifyUnanswerablePane,
206
207
  focusedConfirmDialogBlock,
@@ -233,6 +234,7 @@ import {
233
234
  FORCED_UPDATE_HARD_DEADLINE_MS,
234
235
  FORCED_UPDATE_RELAX_AFTER_MS,
235
236
  HITL_TIER_ORDER,
237
+ HOST_KEY_ROTATION_RETRY_MS,
236
238
  HOST_USAGE_POLL_INTERVAL_MS,
237
239
  INTEGRATIONS_SECTION_END,
238
240
  INTEGRATIONS_SECTION_START,
@@ -327,7 +329,7 @@ import {
327
329
  stabiliseResetInstant,
328
330
  sumTranscriptUsageInWindow,
329
331
  summarizeTranscriptActivity
330
- } from "../chunk-UUO7QTLC.js";
332
+ } from "../chunk-2HAH3TZ4.js";
331
333
  import {
332
334
  CLAUDE_CONFIG_DIR_ENV,
333
335
  claudeConfigDirFor,
@@ -3698,9 +3700,41 @@ async function adoptRotatedHostKey(deps) {
3698
3700
  );
3699
3701
  return deps.held ? { status: "persist-refused", reasons: refusals, held: deps.held } : { status: "persist-refused", reasons: refusals };
3700
3702
  }
3703
+ let held = deps.held;
3704
+ if (held && deps.probeHeld) {
3705
+ let verdict;
3706
+ try {
3707
+ verdict = await deps.probeHeld(held.rawKey);
3708
+ } catch {
3709
+ verdict = "unknown";
3710
+ }
3711
+ if (verdict === "unusable") {
3712
+ let restored = false;
3713
+ try {
3714
+ restored = deps.restoreRunningKey?.() ?? false;
3715
+ } catch {
3716
+ restored = false;
3717
+ }
3718
+ if (!restored) {
3719
+ deps.log(
3720
+ `[key-rotation] the held key ${held.prefix} is no longer usable, but the running key could not be written back to the persist channels - NOT minting; retrying later. The current key stays in force in this process.`
3721
+ );
3722
+ return { status: "error", detail: "could not restore the running key", held };
3723
+ }
3724
+ deps.log(
3725
+ `[key-rotation] the held key ${held.prefix} is no longer usable (the control plane discarded it); restored the running key to disk, minting a fresh one`
3726
+ );
3727
+ held = void 0;
3728
+ } else if (verdict === "unknown") {
3729
+ deps.log(
3730
+ `[key-rotation] could not confirm the held key ${held.prefix} is still usable - NOT persisting it; keeping it for the next attempt. The current key stays in force.`
3731
+ );
3732
+ return { status: "error", detail: "held key liveness unknown", held };
3733
+ }
3734
+ }
3701
3735
  let minted;
3702
- if (deps.held) {
3703
- minted = deps.held;
3736
+ if (held) {
3737
+ minted = held;
3704
3738
  deps.log(`[key-rotation] retrying the persist of ${minted.prefix}, minted earlier for this request`);
3705
3739
  } else {
3706
3740
  let result;
@@ -3711,6 +3745,12 @@ async function adoptRotatedHostKey(deps) {
3711
3745
  deps.log(`[key-rotation] mint failed: ${detail}`);
3712
3746
  return { status: "error", detail };
3713
3747
  }
3748
+ if (result && "alreadyHolds" in result) {
3749
+ deps.log(
3750
+ `[key-rotation] this host is already running on ${result.alreadyHolds}, the key minted for this request; acking it on the next heartbeat`
3751
+ );
3752
+ return { status: "already-held", prefix: result.alreadyHolds };
3753
+ }
3714
3754
  if (result && "refused" in result) {
3715
3755
  deps.log(
3716
3756
  `[key-rotation] the control plane refused the mint for good: ${result.refused}. Not retrying this request. If it never completes, a compromised rotation clears it (docs/runbooks/host-api-key-rotation.md).`
@@ -3759,6 +3799,26 @@ async function adoptRotatedHostKey(deps) {
3759
3799
  );
3760
3800
  return { status: "adopted", prefix: minted.prefix };
3761
3801
  }
3802
+ function settleRotationOutcome(outcome, requestedAt) {
3803
+ switch (outcome.status) {
3804
+ case "adopted":
3805
+ case "already-held":
3806
+ return {
3807
+ handled: true,
3808
+ pendingAck: requestedAt ? { prefix: outcome.prefix, requestedAt } : null,
3809
+ retry: false
3810
+ };
3811
+ case "mint-refused":
3812
+ return { handled: true, pendingAck: null, retry: false };
3813
+ default:
3814
+ return { handled: false, pendingAck: null, retry: true };
3815
+ }
3816
+ }
3817
+ function applySettledOutcome(settled, saveAck) {
3818
+ if (!settled.handled) return { markHandled: false, retry: true };
3819
+ if (settled.pendingAck && !saveAck(settled.pendingAck)) return { markHandled: false, retry: true };
3820
+ return { markHandled: true, retry: false };
3821
+ }
3762
3822
  function nextPendingAck(pending2, resp) {
3763
3823
  if (!pending2) return { pending: null, log: null };
3764
3824
  if (!resp || !("key_rotation_requested_at" in resp)) {
@@ -15500,7 +15560,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
15500
15560
  var dayRolloverInboundHold = /* @__PURE__ */ new Map();
15501
15561
  var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
15502
15562
  async function channelInboundActivityAgeSecondsFor(codeName) {
15503
- const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-J4CBYZS3.js");
15563
+ const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-BBAAYANU.js");
15504
15564
  const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
15505
15565
  if (newest === null) return null;
15506
15566
  return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
@@ -16297,7 +16357,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
16297
16357
  var lastVersionCheckAt = 0;
16298
16358
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
16299
16359
  var lastResponsivenessProbeAt = 0;
16300
- var agtCliVersion = true ? "0.28.1193" : "dev";
16360
+ var agtCliVersion = true ? "0.28.1194" : "dev";
16301
16361
  function resolveBrewPath(execFileSync3) {
16302
16362
  try {
16303
16363
  const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -16561,7 +16621,7 @@ function setPendingKeyRotationAck(next) {
16561
16621
  }
16562
16622
  }
16563
16623
  var keyRotationRetryAfter = 0;
16564
- var KEY_ROTATION_RETRY_MS = 5 * 6e4;
16624
+ var KEY_ROTATION_RETRY_MS = HOST_KEY_ROTATION_RETRY_MS;
16565
16625
  var heldRotatedKey = null;
16566
16626
  function persistRotatedHostKey(rawKey) {
16567
16627
  const apiUrl = process.env["AGT_HOST"]?.trim();
@@ -18201,7 +18261,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
18201
18261
  if (codeNames.length === 0) return;
18202
18262
  void (async () => {
18203
18263
  try {
18204
- const { collectDiagnostics } = await import("../persistent-session-5MGJGJIB.js");
18264
+ const { collectDiagnostics } = await import("../persistent-session-TV4FIBN4.js");
18205
18265
  await api.post("/host/heartbeat", {
18206
18266
  host_id: hostId,
18207
18267
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
@@ -18344,7 +18404,7 @@ async function pollCycleInner() {
18344
18404
  }
18345
18405
  try {
18346
18406
  const { detectHostSecurity } = await import("../host-security-KQYYZZVW.js");
18347
- const { collectDiagnostics } = await import("../persistent-session-5MGJGJIB.js");
18407
+ const { collectDiagnostics } = await import("../persistent-session-TV4FIBN4.js");
18348
18408
  const diagCodeNames = [...agentState.persistentSessionAgents];
18349
18409
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor) : void 0;
18350
18410
  let tailscaleHostname;
@@ -18574,6 +18634,12 @@ async function pollCycleInner() {
18574
18634
  ]
18575
18635
  }),
18576
18636
  held: heldRotatedKey && heldRotatedKey.requestedAt === rotationRequestedAt ? heldRotatedKey.minted : void 0,
18637
+ // ENG-11826: a held key may have been discarded by the API since.
18638
+ probeHeld: (rawKey) => probeHostKey(rawKey),
18639
+ restoreRunningKey: () => {
18640
+ const running2 = getApiKey();
18641
+ return running2 ? persistRotatedHostKey(running2) : false;
18642
+ },
18577
18643
  persist: (rawKey) => persistRotatedHostKey(rawKey),
18578
18644
  onPersisted: (prefix) => rotationRequestedAt ? setPendingKeyRotationAck({ prefix, requestedAt: rotationRequestedAt }) : true,
18579
18645
  adoptInProcess: (rawKey) => adoptHostKeyInProcess(rawKey),
@@ -18583,13 +18649,10 @@ async function pollCycleInner() {
18583
18649
  setPendingKeyRotationAck(null);
18584
18650
  }
18585
18651
  heldRotatedKey = (outcome.status === "persist-failed" || outcome.status === "error" || outcome.status === "persist-refused") && outcome.held && rotationRequestedAt ? { requestedAt: rotationRequestedAt, minted: outcome.held } : null;
18586
- if (outcome.status === "mint-refused") {
18587
- lastKeyRotationHandled = rotationRequestedAt;
18588
- } else if (outcome.status === "adopted") {
18652
+ const settled = settleRotationOutcome(outcome, rotationRequestedAt);
18653
+ const applied = applySettledOutcome(settled, (ack) => setPendingKeyRotationAck(ack));
18654
+ if (applied.markHandled) {
18589
18655
  lastKeyRotationHandled = rotationRequestedAt;
18590
- setPendingKeyRotationAck(
18591
- rotationRequestedAt ? { prefix: outcome.prefix, requestedAt: rotationRequestedAt } : null
18592
- );
18593
18656
  } else {
18594
18657
  keyRotationRetryAfter = Date.now() + KEY_ROTATION_RETRY_MS;
18595
18658
  log(
@@ -18599,7 +18662,7 @@ async function pollCycleInner() {
18599
18662
  }
18600
18663
  try {
18601
18664
  const desiredClaudeCodeVersion = hbResp?.desired_claude_code_version?.trim();
18602
- const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-EOJQHUZ2.js");
18665
+ const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-DLTAAQOT.js");
18603
18666
  const securityFloor = currentSecurityFloor();
18604
18667
  claudeUpdaterInFlight = true;
18605
18668
  if (desiredClaudeCodeVersion && (claudePairLoop.busy || claudePairingInProgress())) {
@@ -18634,7 +18697,7 @@ async function pollCycleInner() {
18634
18697
  collectPanelessActivityProbes,
18635
18698
  getResponsivenessIntervalMs,
18636
18699
  occupancyQualificationClassifications
18637
- } = await import("../responsiveness-probe-J4CBYZS3.js");
18700
+ } = await import("../responsiveness-probe-BBAAYANU.js");
18638
18701
  const probeIntervalMs = getResponsivenessIntervalMs();
18639
18702
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
18640
18703
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -18751,7 +18814,7 @@ async function pollCycleInner() {
18751
18814
  collectResponsivenessProbes,
18752
18815
  livePendingInboundOldestAgeSeconds,
18753
18816
  parkPendingInbound
18754
- } = await import("../responsiveness-probe-J4CBYZS3.js");
18817
+ } = await import("../responsiveness-probe-BBAAYANU.js");
18755
18818
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-M6AFZWNU.js");
18756
18819
  const wedgeNow = /* @__PURE__ */ new Date();
18757
18820
  const liveAgents = agentState.persistentSessionAgents;
@@ -19037,7 +19100,7 @@ async function pollCycleInner() {
19037
19100
  }
19038
19101
  }
19039
19102
  );
19040
- const { parkPendingInbound } = await import("../responsiveness-probe-J4CBYZS3.js");
19103
+ const { parkPendingInbound } = await import("../responsiveness-probe-BBAAYANU.js");
19041
19104
  const { parked, deadLettered } = parkPendingInbound(codeName, new Date(fatalNowMs));
19042
19105
  paneFatalStreak.delete(codeName);
19043
19106
  paneFatalRestarts.set(codeName, [...history, fatalNowMs]);
@@ -19068,7 +19131,7 @@ async function pollCycleInner() {
19068
19131
  TRANSCRIPT_MOUNT_ESCALATION_REFRESH_MS,
19069
19132
  bindSourceEscalations
19070
19133
  } = await import("../transcript-mount-health-OHE6IVJV.js");
19071
- const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-5MGJGJIB.js");
19134
+ const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-TV4FIBN4.js");
19072
19135
  const mountConfig = resolveTranscriptMountConfig();
19073
19136
  const liveAgents = agentState.persistentSessionAgents;
19074
19137
  for (const tracked of [
@@ -19233,7 +19296,7 @@ async function pollCycleInner() {
19233
19296
  }
19234
19297
  try {
19235
19298
  const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-VR5QGP3J.js");
19236
- const { probeSessionAuth } = await import("../session-auth-dead-7CSZHNBK.js");
19299
+ const { probeSessionAuth } = await import("../session-auth-dead-JMYATIQN.js");
19237
19300
  const observations = [];
19238
19301
  const pendingCacheCommits = [];
19239
19302
  const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
@@ -23963,7 +24026,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
23963
24026
  try {
23964
24027
  const freshId = rotateSessionForWedge(codeName);
23965
24028
  consecutiveWedgeCycles.delete(codeName);
23966
- const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-J4CBYZS3.js");
24029
+ const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-BBAAYANU.js");
23967
24030
  const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
23968
24031
  const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
23969
24032
  const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
@@ -24006,7 +24069,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
24006
24069
  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}`));
24007
24070
  void (async () => {
24008
24071
  try {
24009
- const { collectDiagnostics } = await import("../persistent-session-5MGJGJIB.js");
24072
+ const { collectDiagnostics } = await import("../persistent-session-TV4FIBN4.js");
24010
24073
  await api.post("/host/heartbeat", {
24011
24074
  host_id: hostId,
24012
24075
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
@@ -24057,7 +24120,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
24057
24120
  }
24058
24121
  try {
24059
24122
  const hostId = await getHostId();
24060
- const { collectDiagnostics } = await import("../persistent-session-5MGJGJIB.js");
24123
+ const { collectDiagnostics } = await import("../persistent-session-TV4FIBN4.js");
24061
24124
  await api.post("/host/heartbeat", {
24062
24125
  host_id: hostId,
24063
24126
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
@@ -24759,7 +24822,7 @@ async function processClaudePairSessions(agents) {
24759
24822
  snapshotPairConfig,
24760
24823
  // ENG-11659: result -> report body + the manager.log line that records it.
24761
24824
  planPairStartReport
24762
- } = await import("../claude-pair-runtime-WKTA3HNF.js");
24825
+ } = await import("../claude-pair-runtime-XAUZPAUP.js");
24763
24826
  const { resetClaudeSignin, describeSigninResetForLog, describeSigninResetFailure } = await import("../claude-signin-reset-6IJMMVYG.js");
24764
24827
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
24765
24828
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);