@integrity-labs/agt-cli 0.28.1069 → 0.28.1070
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-FHUYRSCF.js → chunk-3KVS22KX.js} +2 -2
- package/dist/{chunk-CFJONCHN.js → chunk-64DXAOQQ.js} +33 -1
- package/dist/{chunk-CFJONCHN.js.map → chunk-64DXAOQQ.js.map} +1 -1
- package/dist/{chunk-CO2ODT4I.js → chunk-XCGOVUGI.js} +4 -4
- package/dist/{claude-pair-runtime-Z7SMBMUG.js → claude-pair-runtime-B6DFCLT3.js} +2 -2
- package/dist/lib/manager-worker.js +46 -35
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +32 -0
- package/dist/mcp/index.js +32 -0
- package/dist/mcp/origami.js +32 -0
- package/dist/mcp/slack-channel.js +32 -0
- package/dist/mcp/telegram-channel.js +32 -0
- package/dist/{pane-fatal-error-EL336LRO.js → pane-fatal-error-JORQ5OPV.js} +58 -16
- package/dist/pane-fatal-error-JORQ5OPV.js.map +1 -0
- package/dist/{persistent-session-52A2G7D7.js → persistent-session-75DOT6JV.js} +3 -3
- package/dist/{responsiveness-probe-SJCP4V4X.js → responsiveness-probe-YFUIBZZV.js} +3 -3
- package/dist/{session-auth-dead-JJPNV3YQ.js → session-auth-dead-JN4EBUCN.js} +2 -2
- package/package.json +1 -1
- package/dist/pane-fatal-error-EL336LRO.js.map +0 -1
- /package/dist/{chunk-FHUYRSCF.js.map → chunk-3KVS22KX.js.map} +0 -0
- /package/dist/{chunk-CO2ODT4I.js.map → chunk-XCGOVUGI.js.map} +0 -0
- /package/dist/{claude-pair-runtime-Z7SMBMUG.js.map → claude-pair-runtime-B6DFCLT3.js.map} +0 -0
- /package/dist/{persistent-session-52A2G7D7.js.map → persistent-session-75DOT6JV.js.map} +0 -0
- /package/dist/{responsiveness-probe-SJCP4V4X.js.map → responsiveness-probe-YFUIBZZV.js.map} +0 -0
- /package/dist/{session-auth-dead-JJPNV3YQ.js.map → session-auth-dead-JN4EBUCN.js.map} +0 -0
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
parseEnvFileEntries,
|
|
17
17
|
parseEnvIntegrations,
|
|
18
18
|
shellQuote
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-3KVS22KX.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-
|
|
82
|
+
} from "./chunk-64DXAOQQ.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.
|
|
7125
|
+
var agtCliVersion = true ? "0.28.1070" : "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-
|
|
12098
|
+
//# sourceMappingURL=chunk-XCGOVUGI.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-
|
|
269
|
+
const { resolveClaudeBinary } = await import("./persistent-session-75DOT6JV.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-
|
|
737
|
+
//# sourceMappingURL=claude-pair-runtime-B6DFCLT3.js.map
|
|
@@ -67,7 +67,7 @@ import {
|
|
|
67
67
|
safeWriteJsonAtomic,
|
|
68
68
|
setConfigHash,
|
|
69
69
|
tripClass
|
|
70
|
-
} from "../chunk-
|
|
70
|
+
} from "../chunk-XCGOVUGI.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-
|
|
157
|
+
} from "../chunk-3KVS22KX.js";
|
|
158
158
|
import {
|
|
159
159
|
ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
|
|
160
160
|
AnchorSessionClient,
|
|
@@ -263,7 +263,7 @@ import {
|
|
|
263
263
|
subagentActivityAgeSeconds,
|
|
264
264
|
sumTranscriptUsageInWindow,
|
|
265
265
|
transcriptActivityAgeSeconds
|
|
266
|
-
} from "../chunk-
|
|
266
|
+
} from "../chunk-64DXAOQQ.js";
|
|
267
267
|
import {
|
|
268
268
|
classifyUnanswerablePane,
|
|
269
269
|
paneRemedy
|
|
@@ -14141,7 +14141,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
14141
14141
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
14142
14142
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
14143
14143
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
14144
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
14144
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-YFUIBZZV.js");
|
|
14145
14145
|
const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
|
|
14146
14146
|
if (newest === null) return null;
|
|
14147
14147
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -14169,8 +14169,9 @@ var containerPidCache = /* @__PURE__ */ new Map();
|
|
|
14169
14169
|
var transcriptMountEscalatedAt = /* @__PURE__ */ new Map();
|
|
14170
14170
|
var paneFatalStreak = /* @__PURE__ */ new Map();
|
|
14171
14171
|
var paneFatalRestarts = /* @__PURE__ */ new Map();
|
|
14172
|
-
var
|
|
14173
|
-
var
|
|
14172
|
+
var paneFatalShadowLogged = /* @__PURE__ */ new Set();
|
|
14173
|
+
var paneGiveUpHeartbeat = null;
|
|
14174
|
+
var paneBannerHeartbeat = null;
|
|
14174
14175
|
var wedgeRestartsByCard = /* @__PURE__ */ new Map();
|
|
14175
14176
|
function noteInbound(codeName) {
|
|
14176
14177
|
lastInboundMs.set(codeName, Date.now());
|
|
@@ -14898,7 +14899,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
14898
14899
|
var lastVersionCheckAt = 0;
|
|
14899
14900
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
14900
14901
|
var lastResponsivenessProbeAt = 0;
|
|
14901
|
-
var agtCliVersion = true ? "0.28.
|
|
14902
|
+
var agtCliVersion = true ? "0.28.1070" : "dev";
|
|
14902
14903
|
function resolveBrewPath(execFileSync3) {
|
|
14903
14904
|
try {
|
|
14904
14905
|
const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -16515,7 +16516,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
16515
16516
|
if (codeNames.length === 0) return;
|
|
16516
16517
|
void (async () => {
|
|
16517
16518
|
try {
|
|
16518
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
16519
|
+
const { collectDiagnostics } = await import("../persistent-session-75DOT6JV.js");
|
|
16519
16520
|
await api.post("/host/heartbeat", {
|
|
16520
16521
|
host_id: hostId,
|
|
16521
16522
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
|
|
@@ -16657,7 +16658,7 @@ async function pollCycleInner() {
|
|
|
16657
16658
|
}
|
|
16658
16659
|
try {
|
|
16659
16660
|
const { detectHostSecurity } = await import("../host-security-KQYYZZVW.js");
|
|
16660
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
16661
|
+
const { collectDiagnostics } = await import("../persistent-session-75DOT6JV.js");
|
|
16661
16662
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
16662
16663
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor) : void 0;
|
|
16663
16664
|
let tailscaleHostname;
|
|
@@ -16865,7 +16866,7 @@ async function pollCycleInner() {
|
|
|
16865
16866
|
collectPanelessActivityProbes,
|
|
16866
16867
|
getResponsivenessIntervalMs,
|
|
16867
16868
|
occupancyQualificationClassifications
|
|
16868
|
-
} = await import("../responsiveness-probe-
|
|
16869
|
+
} = await import("../responsiveness-probe-YFUIBZZV.js");
|
|
16869
16870
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
16870
16871
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
16871
16872
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -16982,7 +16983,7 @@ async function pollCycleInner() {
|
|
|
16982
16983
|
collectResponsivenessProbes,
|
|
16983
16984
|
livePendingInboundOldestAgeSeconds,
|
|
16984
16985
|
parkPendingInbound
|
|
16985
|
-
} = await import("../responsiveness-probe-
|
|
16986
|
+
} = await import("../responsiveness-probe-YFUIBZZV.js");
|
|
16986
16987
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-M6AFZWNU.js");
|
|
16987
16988
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
16988
16989
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -17138,24 +17139,31 @@ async function pollCycleInner() {
|
|
|
17138
17139
|
}
|
|
17139
17140
|
try {
|
|
17140
17141
|
const {
|
|
17142
|
+
AlertHeartbeat,
|
|
17141
17143
|
classifyPane,
|
|
17142
17144
|
decidePaneFatalAction,
|
|
17143
17145
|
pruneRestartHistory,
|
|
17144
17146
|
resolvePaneFatalConfig
|
|
17145
|
-
} = await import("../pane-fatal-error-
|
|
17146
|
-
|
|
17147
|
+
} = await import("../pane-fatal-error-JORQ5OPV.js");
|
|
17148
|
+
paneGiveUpHeartbeat ??= new AlertHeartbeat();
|
|
17149
|
+
paneBannerHeartbeat ??= new AlertHeartbeat();
|
|
17150
|
+
const giveUpBeat = paneGiveUpHeartbeat;
|
|
17151
|
+
const bannerBeat = paneBannerHeartbeat;
|
|
17152
|
+
const fatalConfig = resolvePaneFatalConfig(hostFlagStore().getString("pane-fatal-restart-mode"));
|
|
17147
17153
|
const liveAgents = agentState.persistentSessionAgents;
|
|
17148
17154
|
for (const tracked of [
|
|
17149
17155
|
...paneFatalStreak.keys(),
|
|
17150
17156
|
...paneFatalRestarts.keys(),
|
|
17151
|
-
...
|
|
17152
|
-
...
|
|
17157
|
+
...paneFatalShadowLogged,
|
|
17158
|
+
...giveUpBeat.keys(),
|
|
17159
|
+
...bannerBeat.keys()
|
|
17153
17160
|
]) {
|
|
17154
17161
|
if (!liveAgents.has(tracked)) {
|
|
17155
17162
|
paneFatalStreak.delete(tracked);
|
|
17156
17163
|
paneFatalRestarts.delete(tracked);
|
|
17157
|
-
|
|
17158
|
-
|
|
17164
|
+
paneFatalShadowLogged.delete(tracked);
|
|
17165
|
+
giveUpBeat.clear(tracked);
|
|
17166
|
+
bannerBeat.clear(tracked);
|
|
17159
17167
|
}
|
|
17160
17168
|
}
|
|
17161
17169
|
if (fatalConfig.mode !== "off") {
|
|
@@ -17177,10 +17185,11 @@ async function pollCycleInner() {
|
|
|
17177
17185
|
}
|
|
17178
17186
|
const verdict = classifyPane(pane);
|
|
17179
17187
|
const kind = verdict.kind;
|
|
17180
|
-
if (!verdict.transcriptBanner)
|
|
17188
|
+
if (!verdict.transcriptBanner) bannerBeat.clear(codeName);
|
|
17181
17189
|
if (kind === null) {
|
|
17182
17190
|
paneFatalStreak.delete(codeName);
|
|
17183
|
-
|
|
17191
|
+
paneFatalShadowLogged.delete(codeName);
|
|
17192
|
+
giveUpBeat.clear(codeName);
|
|
17184
17193
|
continue;
|
|
17185
17194
|
}
|
|
17186
17195
|
const prev = paneFatalStreak.get(codeName);
|
|
@@ -17192,14 +17201,15 @@ async function pollCycleInner() {
|
|
|
17192
17201
|
{ kind, consecutiveCycles: cycles, recentRestartsMs: history, nowMs: fatalNowMs },
|
|
17193
17202
|
fatalConfig
|
|
17194
17203
|
);
|
|
17204
|
+
if (action !== "give-up") giveUpBeat.clear(codeName);
|
|
17195
17205
|
if (action === "none") continue;
|
|
17196
17206
|
const fatalAgentId = agentState.codeNameToAgentId.get(codeName);
|
|
17197
17207
|
const detail = `agent=${codeName} kind=${kind} fatalTurns=${verdict.fatalTurns} transcriptBanner=${verdict.transcriptBanner} cycles=${cycles} restartsInWindow=${history.length}`;
|
|
17198
17208
|
if (action === "warn") {
|
|
17199
|
-
|
|
17200
|
-
|
|
17209
|
+
const firstWarn = !bannerBeat.active(codeName);
|
|
17210
|
+
if (bannerBeat.due(codeName, fatalNowMs)) {
|
|
17201
17211
|
log(
|
|
17202
|
-
`[pane-fatal] "Transcript writes are failing" in the status bar but turns are still being answered \u2014 NOT respawning; recommend a restart at a quiet moment ${detail}`
|
|
17212
|
+
`[pane-fatal] "Transcript writes are failing" in the status bar but turns are still being answered \u2014 NOT respawning; recommend a restart at a quiet moment ${firstWarn ? "" : "(still present) "}${detail}`
|
|
17203
17213
|
);
|
|
17204
17214
|
if (fatalAgentId) {
|
|
17205
17215
|
void reportReaperEvent(
|
|
@@ -17213,24 +17223,25 @@ async function pollCycleInner() {
|
|
|
17213
17223
|
continue;
|
|
17214
17224
|
}
|
|
17215
17225
|
if (action === "would-restart") {
|
|
17216
|
-
if (!
|
|
17217
|
-
|
|
17226
|
+
if (!paneFatalShadowLogged.has(codeName)) {
|
|
17227
|
+
paneFatalShadowLogged.add(codeName);
|
|
17218
17228
|
log(`[pane-fatal] SHADOW would force-fresh respawn ${detail}`);
|
|
17219
17229
|
}
|
|
17220
17230
|
continue;
|
|
17221
17231
|
}
|
|
17222
17232
|
if (action === "give-up") {
|
|
17223
|
-
|
|
17224
|
-
|
|
17233
|
+
const firstGiveUp = !giveUpBeat.active(codeName);
|
|
17234
|
+
if (giveUpBeat.due(codeName, fatalNowMs)) {
|
|
17235
|
+
const windowMin = Math.round(fatalConfig.restartWindowMs / 6e4);
|
|
17225
17236
|
log(
|
|
17226
|
-
`[pane-fatal] restart budget spent (${fatalConfig.maxRestartsInWindow} in ${
|
|
17237
|
+
`[pane-fatal] restart budget spent (${fatalConfig.maxRestartsInWindow} in ${windowMin}m) and the fatal error is ${firstGiveUp ? "back" : "still there"} \u2014 NOT restarting again; a human has to look ${detail}`
|
|
17227
17238
|
);
|
|
17228
17239
|
if (fatalAgentId) {
|
|
17229
17240
|
void reportReaperEvent(
|
|
17230
17241
|
fatalAgentId,
|
|
17231
17242
|
"session-fatal-error-reaper",
|
|
17232
17243
|
"blocked",
|
|
17233
|
-
`
|
|
17244
|
+
`after ${history.length} fresh respawn(s) in ${windowMin}m the session keeps failing every turn with "${kind}". Needs a human: check the agent's transcript mount (/root/.claude/projects, see ENG-11277) and its pane, then restart it`
|
|
17234
17245
|
);
|
|
17235
17246
|
}
|
|
17236
17247
|
}
|
|
@@ -17258,7 +17269,7 @@ async function pollCycleInner() {
|
|
|
17258
17269
|
}
|
|
17259
17270
|
}
|
|
17260
17271
|
);
|
|
17261
|
-
const { parkPendingInbound } = await import("../responsiveness-probe-
|
|
17272
|
+
const { parkPendingInbound } = await import("../responsiveness-probe-YFUIBZZV.js");
|
|
17262
17273
|
const { parked, deadLettered } = parkPendingInbound(codeName, new Date(fatalNowMs));
|
|
17263
17274
|
paneFatalStreak.delete(codeName);
|
|
17264
17275
|
paneFatalRestarts.set(codeName, [...history, fatalNowMs]);
|
|
@@ -17289,7 +17300,7 @@ async function pollCycleInner() {
|
|
|
17289
17300
|
TRANSCRIPT_MOUNT_ESCALATION_REFRESH_MS,
|
|
17290
17301
|
bindSourceEscalations
|
|
17291
17302
|
} = await import("../transcript-mount-health-OHE6IVJV.js");
|
|
17292
|
-
const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-
|
|
17303
|
+
const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-75DOT6JV.js");
|
|
17293
17304
|
const mountConfig = resolveTranscriptMountConfig();
|
|
17294
17305
|
const liveAgents = agentState.persistentSessionAgents;
|
|
17295
17306
|
for (const tracked of [
|
|
@@ -17454,7 +17465,7 @@ async function pollCycleInner() {
|
|
|
17454
17465
|
}
|
|
17455
17466
|
try {
|
|
17456
17467
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-VR5QGP3J.js");
|
|
17457
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
17468
|
+
const { probeSessionAuth } = await import("../session-auth-dead-JN4EBUCN.js");
|
|
17458
17469
|
const observations = [];
|
|
17459
17470
|
const pendingCacheCommits = [];
|
|
17460
17471
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -22019,7 +22030,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
22019
22030
|
try {
|
|
22020
22031
|
const freshId = rotateSessionForWedge(codeName);
|
|
22021
22032
|
consecutiveWedgeCycles.delete(codeName);
|
|
22022
|
-
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-
|
|
22033
|
+
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-YFUIBZZV.js");
|
|
22023
22034
|
const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
|
|
22024
22035
|
const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
|
|
22025
22036
|
const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
|
|
@@ -22062,7 +22073,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
22062
22073
|
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}`));
|
|
22063
22074
|
void (async () => {
|
|
22064
22075
|
try {
|
|
22065
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
22076
|
+
const { collectDiagnostics } = await import("../persistent-session-75DOT6JV.js");
|
|
22066
22077
|
await api.post("/host/heartbeat", {
|
|
22067
22078
|
host_id: hostId,
|
|
22068
22079
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
|
|
@@ -22113,7 +22124,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
22113
22124
|
}
|
|
22114
22125
|
try {
|
|
22115
22126
|
const hostId = await getHostId();
|
|
22116
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
22127
|
+
const { collectDiagnostics } = await import("../persistent-session-75DOT6JV.js");
|
|
22117
22128
|
await api.post("/host/heartbeat", {
|
|
22118
22129
|
host_id: hostId,
|
|
22119
22130
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
|
|
@@ -22785,7 +22796,7 @@ async function processClaudePairSessions(agents) {
|
|
|
22785
22796
|
// cannot take it for itself — by the time it runs, the write it is looking
|
|
22786
22797
|
// for may already have happened.
|
|
22787
22798
|
snapshotPairConfig
|
|
22788
|
-
} = await import("../claude-pair-runtime-
|
|
22799
|
+
} = await import("../claude-pair-runtime-B6DFCLT3.js");
|
|
22789
22800
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
22790
22801
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
22791
22802
|
const killed = await killPairSession(pairTmuxSession(pairId));
|