@integrity-labs/agt-cli 0.28.644 → 0.28.646
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 +5 -5
- package/dist/{chunk-REWZFCUX.js → chunk-3ZK66WZZ.js} +99 -2
- package/dist/{chunk-REWZFCUX.js.map → chunk-3ZK66WZZ.js.map} +1 -1
- package/dist/{chunk-V2NZ2PAA.js → chunk-NVIFY3WZ.js} +4 -4
- package/dist/{chunk-HYLJPTKL.js → chunk-PJSEFPIS.js} +2 -2
- package/dist/{claude-pair-runtime-F2O36YHH.js → claude-pair-runtime-56Z3MRYQ.js} +2 -2
- package/dist/lib/manager-worker.js +93 -17
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +71 -3
- package/dist/{persistent-session-JJ7L23KO.js → persistent-session-KMPIHBCE.js} +3 -3
- package/dist/{responsiveness-probe-JAME5YLS.js → responsiveness-probe-24SNN4ZH.js} +20 -5
- package/dist/responsiveness-probe-24SNN4ZH.js.map +1 -0
- package/dist/{session-auth-dead-WX47XEZJ.js → session-auth-dead-EB2WYA52.js} +2 -2
- package/package.json +1 -1
- package/dist/responsiveness-probe-JAME5YLS.js.map +0 -1
- /package/dist/{chunk-V2NZ2PAA.js.map → chunk-NVIFY3WZ.js.map} +0 -0
- /package/dist/{chunk-HYLJPTKL.js.map → chunk-PJSEFPIS.js.map} +0 -0
- /package/dist/{claude-pair-runtime-F2O36YHH.js.map → claude-pair-runtime-56Z3MRYQ.js.map} +0 -0
- /package/dist/{persistent-session-JJ7L23KO.js.map → persistent-session-KMPIHBCE.js.map} +0 -0
- /package/dist/{session-auth-dead-WX47XEZJ.js.map → session-auth-dead-EB2WYA52.js.map} +0 -0
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
isolationMode,
|
|
9
9
|
log,
|
|
10
10
|
parseEnvIntegrations
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-PJSEFPIS.js";
|
|
12
12
|
import {
|
|
13
13
|
BIND_FAILURE_QUARANTINE_THRESHOLD,
|
|
14
14
|
INTEGRATIONS_SECTION_END,
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
resolveConnectivityProbe,
|
|
56
56
|
worseConnectivityOutcome,
|
|
57
57
|
wrapScheduledTaskPrompt
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-3ZK66WZZ.js";
|
|
59
59
|
import {
|
|
60
60
|
parsePsRows
|
|
61
61
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -6073,7 +6073,7 @@ function exchangeFailureKind(err) {
|
|
|
6073
6073
|
}
|
|
6074
6074
|
|
|
6075
6075
|
// src/lib/api-client.ts
|
|
6076
|
-
var agtCliVersion = true ? "0.28.
|
|
6076
|
+
var agtCliVersion = true ? "0.28.646" : "dev";
|
|
6077
6077
|
var lastConfigHash = null;
|
|
6078
6078
|
function setConfigHash(hash) {
|
|
6079
6079
|
lastConfigHash = hash && hash.length > 0 ? hash : null;
|
|
@@ -9814,4 +9814,4 @@ export {
|
|
|
9814
9814
|
managerInstallSystemUnitCommand,
|
|
9815
9815
|
managerUninstallSystemUnitCommand
|
|
9816
9816
|
};
|
|
9817
|
-
//# sourceMappingURL=chunk-
|
|
9817
|
+
//# sourceMappingURL=chunk-NVIFY3WZ.js.map
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
rotateDailySession,
|
|
17
17
|
sessionFileExists,
|
|
18
18
|
todayLocalIso
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-3ZK66WZZ.js";
|
|
20
20
|
import {
|
|
21
21
|
reapOrphanChannelMcps
|
|
22
22
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -4313,4 +4313,4 @@ export {
|
|
|
4313
4313
|
stopAllSessionsAndWait,
|
|
4314
4314
|
getProjectDir
|
|
4315
4315
|
};
|
|
4316
|
-
//# sourceMappingURL=chunk-
|
|
4316
|
+
//# sourceMappingURL=chunk-PJSEFPIS.js.map
|
|
@@ -100,7 +100,7 @@ async function spawnPairSession(session) {
|
|
|
100
100
|
return { ok: true };
|
|
101
101
|
} catch {
|
|
102
102
|
}
|
|
103
|
-
const { resolveClaudeBinary } = await import("./persistent-session-
|
|
103
|
+
const { resolveClaudeBinary } = await import("./persistent-session-KMPIHBCE.js");
|
|
104
104
|
const claudeBin = resolveClaudeBinary();
|
|
105
105
|
const pairEnv = {
|
|
106
106
|
...process.env,
|
|
@@ -373,4 +373,4 @@ export {
|
|
|
373
373
|
startClaudePair,
|
|
374
374
|
submitClaudePairCode
|
|
375
375
|
};
|
|
376
|
-
//# sourceMappingURL=claude-pair-runtime-
|
|
376
|
+
//# sourceMappingURL=claude-pair-runtime-56Z3MRYQ.js.map
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
safeWriteJsonAtomic,
|
|
56
56
|
setConfigHash,
|
|
57
57
|
tripClass
|
|
58
|
-
} from "../chunk-
|
|
58
|
+
} from "../chunk-NVIFY3WZ.js";
|
|
59
59
|
import {
|
|
60
60
|
getProjectDir as getProjectDir2,
|
|
61
61
|
getReadyTasks,
|
|
@@ -111,7 +111,7 @@ import {
|
|
|
111
111
|
takeZombieDetection,
|
|
112
112
|
toOpencodeModel,
|
|
113
113
|
writeEgressAllowlist
|
|
114
|
-
} from "../chunk-
|
|
114
|
+
} from "../chunk-PJSEFPIS.js";
|
|
115
115
|
import {
|
|
116
116
|
ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
|
|
117
117
|
AnchorSessionClient,
|
|
@@ -146,6 +146,7 @@ import {
|
|
|
146
146
|
estimateActiveTasksTokens,
|
|
147
147
|
extractFrontmatter,
|
|
148
148
|
extractQualifyingTurns,
|
|
149
|
+
extractToolCallEvents,
|
|
149
150
|
findRunMarker,
|
|
150
151
|
forcedUpdatePendingForMs,
|
|
151
152
|
formatActorId,
|
|
@@ -156,6 +157,8 @@ import {
|
|
|
156
157
|
isAgentIdle,
|
|
157
158
|
isAgentTimezoneOverrideExpired,
|
|
158
159
|
isBareAck,
|
|
160
|
+
isBucketInBracket,
|
|
161
|
+
isBucketInOpenCall,
|
|
159
162
|
isBucketQualified,
|
|
160
163
|
isControlPlaneOnlyConfigKey,
|
|
161
164
|
isControlPlaneOnlyEnvVar,
|
|
@@ -172,6 +175,7 @@ import {
|
|
|
172
175
|
isVacuousDeliverReason,
|
|
173
176
|
laneTagFragment,
|
|
174
177
|
minutesSinceLocalMidnight,
|
|
178
|
+
pairToolCallBrackets,
|
|
175
179
|
parseDeliverAssertion,
|
|
176
180
|
parseDeliveryTarget,
|
|
177
181
|
parseTranscriptUsage,
|
|
@@ -188,7 +192,7 @@ import {
|
|
|
188
192
|
subagentActivityAgeSeconds,
|
|
189
193
|
sumTranscriptUsageInWindow,
|
|
190
194
|
transcriptActivityAgeSeconds
|
|
191
|
-
} from "../chunk-
|
|
195
|
+
} from "../chunk-3ZK66WZZ.js";
|
|
192
196
|
import {
|
|
193
197
|
reapOrphanChannelMcps
|
|
194
198
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -7508,8 +7512,10 @@ function rostersMeasuredZero(mode, attested, runtimeRunning) {
|
|
|
7508
7512
|
var TAIL_BYTES = 256 * 1024;
|
|
7509
7513
|
var MAX_RECORD_ALIGN_BYTES = 8 * 1024 * 1024;
|
|
7510
7514
|
var GATE_MAX_BUCKET_AGE_MS = 30 * 6e4;
|
|
7515
|
+
var MAX_BRACKET_DEFERRAL_MS = 25 * 6e4;
|
|
7511
7516
|
var TRANSCRIPT_MTIME_WINDOW_MS4 = GATE_MAX_BUCKET_AGE_MS + DEFAULT_NEIGHBOURHOOD_MS + 6e4;
|
|
7512
7517
|
var cache2 = /* @__PURE__ */ new Map();
|
|
7518
|
+
var brackets = /* @__PURE__ */ new Map();
|
|
7513
7519
|
function readAlignedTail(path, tailBytes, maxAlignBytes) {
|
|
7514
7520
|
let fd = null;
|
|
7515
7521
|
try {
|
|
@@ -7607,6 +7613,37 @@ function candidateTranscriptPaths(dir) {
|
|
|
7607
7613
|
}
|
|
7608
7614
|
return { paths, complete };
|
|
7609
7615
|
}
|
|
7616
|
+
function foldToolCallBrackets(codeName, eventsByPath, nowMs) {
|
|
7617
|
+
const state8 = brackets.get(codeName) ?? {
|
|
7618
|
+
open: /* @__PURE__ */ new Map(),
|
|
7619
|
+
closed: []
|
|
7620
|
+
};
|
|
7621
|
+
const nextOpen = /* @__PURE__ */ new Map();
|
|
7622
|
+
const openOut = [];
|
|
7623
|
+
const paths = /* @__PURE__ */ new Set([...state8.open.keys(), ...eventsByPath.keys()]);
|
|
7624
|
+
for (const path of paths) {
|
|
7625
|
+
const carried = state8.open.get(path) ?? [];
|
|
7626
|
+
const paired = pairToolCallBrackets(eventsByPath.get(path) ?? [], carried);
|
|
7627
|
+
state8.closed.push(...paired.brackets);
|
|
7628
|
+
const live = paired.open.filter((c) => nowMs - c.startMs <= MAX_BRACKET_DEFERRAL_MS);
|
|
7629
|
+
if (live.length > 0) {
|
|
7630
|
+
nextOpen.set(path, live);
|
|
7631
|
+
openOut.push(...live);
|
|
7632
|
+
}
|
|
7633
|
+
}
|
|
7634
|
+
const keepFrom = nowMs - GATE_MAX_BUCKET_AGE_MS;
|
|
7635
|
+
const seen = /* @__PURE__ */ new Set();
|
|
7636
|
+
const closed = [];
|
|
7637
|
+
for (const b of state8.closed) {
|
|
7638
|
+
if (b.endMs < keepFrom) continue;
|
|
7639
|
+
const key = `${b.id}\0${b.startMs}\0${b.endMs}`;
|
|
7640
|
+
if (seen.has(key)) continue;
|
|
7641
|
+
seen.add(key);
|
|
7642
|
+
closed.push(b);
|
|
7643
|
+
}
|
|
7644
|
+
brackets.set(codeName, { open: nextOpen, closed });
|
|
7645
|
+
return { toolCallBrackets: closed, openToolCalls: openOut };
|
|
7646
|
+
}
|
|
7610
7647
|
function collectQualifyingTurns(codeName, nowMs, opts = {}) {
|
|
7611
7648
|
const dir = opts.transcriptDir ?? sessionTranscriptDir(getProjectDir(codeName));
|
|
7612
7649
|
const tailBytes = opts.tailBytes ?? TAIL_BYTES;
|
|
@@ -7615,6 +7652,7 @@ function collectQualifyingTurns(codeName, nowMs, opts = {}) {
|
|
|
7615
7652
|
const agentCache = cache2.get(codeName) ?? /* @__PURE__ */ new Map();
|
|
7616
7653
|
const nextCache = /* @__PURE__ */ new Map();
|
|
7617
7654
|
const all = /* @__PURE__ */ new Set();
|
|
7655
|
+
const eventsByPath = /* @__PURE__ */ new Map();
|
|
7618
7656
|
let transcriptsRead = 0;
|
|
7619
7657
|
let coveredFromMs = Number.NEGATIVE_INFINITY;
|
|
7620
7658
|
const raiseCoverageFloor = (floor) => {
|
|
@@ -7638,6 +7676,7 @@ function collectQualifyingTurns(codeName, nowMs, opts = {}) {
|
|
|
7638
7676
|
nextCache.set(path, seen);
|
|
7639
7677
|
for (const t of seen.turns) all.add(t);
|
|
7640
7678
|
raiseCoverageFloor(seen.coverageFloorMs);
|
|
7679
|
+
eventsByPath.set(path, seen.events);
|
|
7641
7680
|
continue;
|
|
7642
7681
|
}
|
|
7643
7682
|
const aligned = readAlignedTail(path, tailBytes, maxAlignBytes);
|
|
@@ -7656,21 +7695,34 @@ function collectQualifyingTurns(codeName, nowMs, opts = {}) {
|
|
|
7656
7695
|
raiseCoverageFloor(coverageFloorMs);
|
|
7657
7696
|
transcriptsRead += 1;
|
|
7658
7697
|
const turns = extractQualifyingTurns(content, { startMs: sinceMs });
|
|
7698
|
+
const events = extractToolCallEvents(content);
|
|
7699
|
+
eventsByPath.set(path, events);
|
|
7659
7700
|
if (!floorUnknown) {
|
|
7660
|
-
nextCache.set(path, { mtimeMs: st.mtimeMs, size: st.size, turns, coverageFloorMs });
|
|
7701
|
+
nextCache.set(path, { mtimeMs: st.mtimeMs, size: st.size, turns, coverageFloorMs, events });
|
|
7661
7702
|
}
|
|
7662
7703
|
for (const t of turns) all.add(t);
|
|
7663
7704
|
}
|
|
7664
7705
|
cache2.set(codeName, nextCache);
|
|
7665
|
-
|
|
7706
|
+
const { toolCallBrackets, openToolCalls } = foldToolCallBrackets(codeName, eventsByPath, nowMs);
|
|
7707
|
+
return {
|
|
7708
|
+
turns: [...all].sort((a, b) => a - b),
|
|
7709
|
+
transcriptsRead,
|
|
7710
|
+
complete,
|
|
7711
|
+
coveredFromMs,
|
|
7712
|
+
toolCallBrackets,
|
|
7713
|
+
openToolCalls
|
|
7714
|
+
};
|
|
7666
7715
|
}
|
|
7667
7716
|
function qualifyBuckets(buckets, qualifying, mode, nowMs, neighbourhoodMs = DEFAULT_NEIGHBOURHOOD_MS) {
|
|
7668
7717
|
const failOpen = !qualifying.complete;
|
|
7669
7718
|
const kept = [];
|
|
7719
|
+
const deferred = [];
|
|
7670
7720
|
let qualified = 0;
|
|
7671
7721
|
let unqualifiedDropped = 0;
|
|
7672
7722
|
let unreadable = 0;
|
|
7673
7723
|
let coverageShortfall = 0;
|
|
7724
|
+
let qualifiedByBracket = 0;
|
|
7725
|
+
let bracketDeferred = 0;
|
|
7674
7726
|
for (const b of buckets) {
|
|
7675
7727
|
const startMs = Date.parse(b.bucket);
|
|
7676
7728
|
const parsed = Number.isFinite(startMs);
|
|
@@ -7685,15 +7737,35 @@ function qualifyBuckets(buckets, qualifying, mode, nowMs, neighbourhoodMs = DEFA
|
|
|
7685
7737
|
kept.push(b);
|
|
7686
7738
|
continue;
|
|
7687
7739
|
}
|
|
7740
|
+
if (isBucketInBracket(startMs, qualifying.toolCallBrackets)) {
|
|
7741
|
+
qualifiedByBracket += 1;
|
|
7742
|
+
kept.push(b);
|
|
7743
|
+
continue;
|
|
7744
|
+
}
|
|
7688
7745
|
if (startMs - neighbourhoodMs < qualifying.coveredFromMs) {
|
|
7689
7746
|
coverageShortfall += 1;
|
|
7690
7747
|
kept.push(b);
|
|
7691
7748
|
continue;
|
|
7692
7749
|
}
|
|
7750
|
+
if (nowMs - startMs <= MAX_BRACKET_DEFERRAL_MS && isBucketInOpenCall(startMs, qualifying.openToolCalls)) {
|
|
7751
|
+
bracketDeferred += 1;
|
|
7752
|
+
if (mode === "shadow") kept.push(b);
|
|
7753
|
+
else deferred.push(b);
|
|
7754
|
+
continue;
|
|
7755
|
+
}
|
|
7693
7756
|
unqualifiedDropped += 1;
|
|
7694
7757
|
if (mode === "shadow") kept.push(b);
|
|
7695
7758
|
}
|
|
7696
|
-
return {
|
|
7759
|
+
return {
|
|
7760
|
+
kept,
|
|
7761
|
+
qualified,
|
|
7762
|
+
unqualifiedDropped,
|
|
7763
|
+
unreadable,
|
|
7764
|
+
coverageShortfall,
|
|
7765
|
+
qualifiedByBracket,
|
|
7766
|
+
bracketDeferred,
|
|
7767
|
+
deferred
|
|
7768
|
+
};
|
|
7697
7769
|
}
|
|
7698
7770
|
|
|
7699
7771
|
// src/lib/pane-occupancy-sampler.ts
|
|
@@ -11535,7 +11607,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
11535
11607
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
11536
11608
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
11537
11609
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
11538
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
11610
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-24SNN4ZH.js");
|
|
11539
11611
|
const newest = newestPendingInboundActivityMtimeMs(dirname10(paneLogPath(codeName)));
|
|
11540
11612
|
if (newest === null) return null;
|
|
11541
11613
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -12178,7 +12250,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
12178
12250
|
var lastVersionCheckAt = 0;
|
|
12179
12251
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
12180
12252
|
var lastResponsivenessProbeAt = 0;
|
|
12181
|
-
var agtCliVersion = true ? "0.28.
|
|
12253
|
+
var agtCliVersion = true ? "0.28.646" : "dev";
|
|
12182
12254
|
function resolveBrewPath(execFileSync3) {
|
|
12183
12255
|
try {
|
|
12184
12256
|
const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -13485,7 +13557,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
13485
13557
|
if (codeNames.length === 0) return;
|
|
13486
13558
|
void (async () => {
|
|
13487
13559
|
try {
|
|
13488
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
13560
|
+
const { collectDiagnostics } = await import("../persistent-session-KMPIHBCE.js");
|
|
13489
13561
|
await api.post("/host/heartbeat", {
|
|
13490
13562
|
host_id: hostId,
|
|
13491
13563
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor)
|
|
@@ -13601,7 +13673,7 @@ async function pollCycleInner() {
|
|
|
13601
13673
|
}
|
|
13602
13674
|
try {
|
|
13603
13675
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
13604
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
13676
|
+
const { collectDiagnostics } = await import("../persistent-session-KMPIHBCE.js");
|
|
13605
13677
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
13606
13678
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor) : void 0;
|
|
13607
13679
|
let tailscaleHostname;
|
|
@@ -13724,7 +13796,7 @@ async function pollCycleInner() {
|
|
|
13724
13796
|
collectPanelessActivityProbes,
|
|
13725
13797
|
getResponsivenessIntervalMs,
|
|
13726
13798
|
occupancyQualificationClassifications
|
|
13727
|
-
} = await import("../responsiveness-probe-
|
|
13799
|
+
} = await import("../responsiveness-probe-24SNN4ZH.js");
|
|
13728
13800
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
13729
13801
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
13730
13802
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -13768,9 +13840,13 @@ async function pollCycleInner() {
|
|
|
13768
13840
|
qualified: 0,
|
|
13769
13841
|
unqualifiedDropped: 0,
|
|
13770
13842
|
unreadable: raw.length,
|
|
13771
|
-
coverageShortfall: 0
|
|
13843
|
+
coverageShortfall: 0,
|
|
13844
|
+
qualifiedByBracket: 0,
|
|
13845
|
+
bracketDeferred: 0,
|
|
13846
|
+
deferred: []
|
|
13772
13847
|
};
|
|
13773
13848
|
}
|
|
13849
|
+
if (q.deferred.length > 0) sharedBusyBuckets.credit(codeName, q.deferred);
|
|
13774
13850
|
if (q.kept.length > 0) drainedBuckets.set(codeName, q.kept);
|
|
13775
13851
|
return {
|
|
13776
13852
|
buckets: q.kept,
|
|
@@ -13830,7 +13906,7 @@ async function pollCycleInner() {
|
|
|
13830
13906
|
collectResponsivenessProbes,
|
|
13831
13907
|
livePendingInboundOldestAgeSeconds,
|
|
13832
13908
|
parkPendingInbound
|
|
13833
|
-
} = await import("../responsiveness-probe-
|
|
13909
|
+
} = await import("../responsiveness-probe-24SNN4ZH.js");
|
|
13834
13910
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
|
|
13835
13911
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
13836
13912
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -13986,7 +14062,7 @@ async function pollCycleInner() {
|
|
|
13986
14062
|
}
|
|
13987
14063
|
try {
|
|
13988
14064
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
|
|
13989
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
14065
|
+
const { probeSessionAuth } = await import("../session-auth-dead-EB2WYA52.js");
|
|
13990
14066
|
const observations = [];
|
|
13991
14067
|
const pendingCacheCommits = [];
|
|
13992
14068
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -17619,7 +17695,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
17619
17695
|
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}`));
|
|
17620
17696
|
void (async () => {
|
|
17621
17697
|
try {
|
|
17622
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
17698
|
+
const { collectDiagnostics } = await import("../persistent-session-KMPIHBCE.js");
|
|
17623
17699
|
await api.post("/host/heartbeat", {
|
|
17624
17700
|
host_id: hostId,
|
|
17625
17701
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor)
|
|
@@ -17670,7 +17746,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
17670
17746
|
}
|
|
17671
17747
|
try {
|
|
17672
17748
|
const hostId = await getHostId();
|
|
17673
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
17749
|
+
const { collectDiagnostics } = await import("../persistent-session-KMPIHBCE.js");
|
|
17674
17750
|
await api.post("/host/heartbeat", {
|
|
17675
17751
|
host_id: hostId,
|
|
17676
17752
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor)
|
|
@@ -18267,7 +18343,7 @@ async function processClaudePairSessions(agents) {
|
|
|
18267
18343
|
killPairSession,
|
|
18268
18344
|
pairTmuxSession,
|
|
18269
18345
|
finalizeClaudePairOnboarding
|
|
18270
|
-
} = await import("../claude-pair-runtime-
|
|
18346
|
+
} = await import("../claude-pair-runtime-56Z3MRYQ.js");
|
|
18271
18347
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
18272
18348
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
18273
18349
|
const killed = await killPairSession(pairTmuxSession(pairId));
|