@integrity-labs/agt-cli 0.28.1198 → 0.28.1200
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 +6 -6
- package/dist/{chunk-LBQSZVUX.js → chunk-KKQRAJQV.js} +2 -2
- package/dist/{chunk-7HGQBGOI.js → chunk-LWF7F4IF.js} +5 -5
- package/dist/{chunk-YZSECLT4.js → chunk-M5XKZVBC.js} +3 -3
- package/dist/{chunk-W4WVX7D4.js → chunk-QL7LKEYQ.js} +2 -2
- package/dist/{chunk-I2ZT7SV2.js → chunk-WCN2OJQT.js} +1 -1
- package/dist/{chunk-I2ZT7SV2.js.map → chunk-WCN2OJQT.js.map} +1 -1
- package/dist/{claude-code-updater-MO64U3D6.js → claude-code-updater-QRDRPUGF.js} +3 -3
- package/dist/{claude-pair-runtime-IMG45YN5.js → claude-pair-runtime-PQNF3H4Q.js} +3 -3
- package/dist/lib/manager-worker.js +44 -33
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/augmented-admin.js +1 -1
- package/dist/{persistent-session-YKPIDETF.js → persistent-session-SJ25HFBM.js} +4 -4
- package/dist/{responsiveness-probe-VU7CUC7P.js → responsiveness-probe-TB2T2Q4L.js} +4 -4
- package/dist/{session-auth-dead-SXJSD34M.js → session-auth-dead-2XSQ6BRX.js} +3 -3
- package/package.json +1 -1
- /package/dist/{chunk-LBQSZVUX.js.map → chunk-KKQRAJQV.js.map} +0 -0
- /package/dist/{chunk-7HGQBGOI.js.map → chunk-LWF7F4IF.js.map} +0 -0
- /package/dist/{chunk-YZSECLT4.js.map → chunk-M5XKZVBC.js.map} +0 -0
- /package/dist/{chunk-W4WVX7D4.js.map → chunk-QL7LKEYQ.js.map} +0 -0
- /package/dist/{claude-code-updater-MO64U3D6.js.map → claude-code-updater-QRDRPUGF.js.map} +0 -0
- /package/dist/{claude-pair-runtime-IMG45YN5.js.map → claude-pair-runtime-PQNF3H4Q.js.map} +0 -0
- /package/dist/{persistent-session-YKPIDETF.js.map → persistent-session-SJ25HFBM.js.map} +0 -0
- /package/dist/{responsiveness-probe-VU7CUC7P.js.map → responsiveness-probe-TB2T2Q4L.js.map} +0 -0
- /package/dist/{session-auth-dead-SXJSD34M.js.map → session-auth-dead-2XSQ6BRX.js.map} +0 -0
|
@@ -13,9 +13,9 @@ import {
|
|
|
13
13
|
probeClaudeInstalls,
|
|
14
14
|
readsAsNativeInstall,
|
|
15
15
|
shouldRunClaudeCodeUpdater
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-QL7LKEYQ.js";
|
|
17
17
|
import "./chunk-XWVM4KPK.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-WCN2OJQT.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-
|
|
37
|
+
//# sourceMappingURL=claude-code-updater-QRDRPUGF.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
redactPaneFrame,
|
|
10
10
|
sanitizeTerminalFrame
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WCN2OJQT.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-
|
|
324
|
+
const { resolveClaudeBinary } = await import("./persistent-session-SJ25HFBM.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-
|
|
839
|
+
//# sourceMappingURL=claude-pair-runtime-PQNF3H4Q.js.map
|
|
@@ -85,7 +85,7 @@ import {
|
|
|
85
85
|
tripClass,
|
|
86
86
|
writeEtcEnvironment,
|
|
87
87
|
writeProfileDScript
|
|
88
|
-
} from "../chunk-
|
|
88
|
+
} from "../chunk-LWF7F4IF.js";
|
|
89
89
|
import {
|
|
90
90
|
CLAUDE_CODE_SECURITY_FLOOR,
|
|
91
91
|
SELF_UPDATE_TIMEOUTS,
|
|
@@ -99,7 +99,7 @@ import {
|
|
|
99
99
|
runSafeCleanup,
|
|
100
100
|
tightestDiskStat,
|
|
101
101
|
withPackageCacheLock
|
|
102
|
-
} from "../chunk-
|
|
102
|
+
} from "../chunk-QL7LKEYQ.js";
|
|
103
103
|
import {
|
|
104
104
|
rewriteSupervisorApiKey,
|
|
105
105
|
supervisorChannelsRefusing
|
|
@@ -192,7 +192,7 @@ import {
|
|
|
192
192
|
webFetchBaselineValue,
|
|
193
193
|
webFetchRestartNeeded,
|
|
194
194
|
writeEgressAllowlist
|
|
195
|
-
} from "../chunk-
|
|
195
|
+
} from "../chunk-M5XKZVBC.js";
|
|
196
196
|
import {
|
|
197
197
|
isAgentIdle,
|
|
198
198
|
isStaleForToday,
|
|
@@ -202,7 +202,7 @@ import {
|
|
|
202
202
|
sessionTranscriptDir,
|
|
203
203
|
subagentActivityAgeSeconds,
|
|
204
204
|
transcriptActivityAgeSeconds
|
|
205
|
-
} from "../chunk-
|
|
205
|
+
} from "../chunk-KKQRAJQV.js";
|
|
206
206
|
import {
|
|
207
207
|
classifyUnanswerablePane,
|
|
208
208
|
focusedConfirmDialogBlock,
|
|
@@ -330,7 +330,7 @@ import {
|
|
|
330
330
|
stabiliseResetInstant,
|
|
331
331
|
sumTranscriptUsageInWindow,
|
|
332
332
|
summarizeTranscriptActivity
|
|
333
|
-
} from "../chunk-
|
|
333
|
+
} from "../chunk-WCN2OJQT.js";
|
|
334
334
|
import {
|
|
335
335
|
CLAUDE_CONFIG_DIR_ENV,
|
|
336
336
|
claudeConfigDirFor,
|
|
@@ -14653,6 +14653,7 @@ var CHANNEL_SWEEP_DRY_RUN = process.env["AGT_CHANNEL_SWEEP_DRY_RUN"] === "1";
|
|
|
14653
14653
|
var lastChannelSweepAt = 0;
|
|
14654
14654
|
var config = null;
|
|
14655
14655
|
var running = false;
|
|
14656
|
+
var managerShutdownArmed = false;
|
|
14656
14657
|
var pollTimer = null;
|
|
14657
14658
|
var livenessTimer = null;
|
|
14658
14659
|
var livenessInFlight = false;
|
|
@@ -15561,7 +15562,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
15561
15562
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
15562
15563
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
15563
15564
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
15564
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
15565
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-TB2T2Q4L.js");
|
|
15565
15566
|
const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
|
|
15566
15567
|
if (newest === null) return null;
|
|
15567
15568
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -16358,7 +16359,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
16358
16359
|
var lastVersionCheckAt = 0;
|
|
16359
16360
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
16360
16361
|
var lastResponsivenessProbeAt = 0;
|
|
16361
|
-
var agtCliVersion = true ? "0.28.
|
|
16362
|
+
var agtCliVersion = true ? "0.28.1200" : "dev";
|
|
16362
16363
|
function resolveBrewPath(execFileSync3) {
|
|
16363
16364
|
try {
|
|
16364
16365
|
const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -18262,7 +18263,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
18262
18263
|
if (codeNames.length === 0) return;
|
|
18263
18264
|
void (async () => {
|
|
18264
18265
|
try {
|
|
18265
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
18266
|
+
const { collectDiagnostics } = await import("../persistent-session-SJ25HFBM.js");
|
|
18266
18267
|
await api.post("/host/heartbeat", {
|
|
18267
18268
|
host_id: hostId,
|
|
18268
18269
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
|
|
@@ -18405,7 +18406,7 @@ async function pollCycleInner() {
|
|
|
18405
18406
|
}
|
|
18406
18407
|
try {
|
|
18407
18408
|
const { detectHostSecurity } = await import("../host-security-KQYYZZVW.js");
|
|
18408
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
18409
|
+
const { collectDiagnostics } = await import("../persistent-session-SJ25HFBM.js");
|
|
18409
18410
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
18410
18411
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor) : void 0;
|
|
18411
18412
|
let tailscaleHostname;
|
|
@@ -18663,7 +18664,7 @@ async function pollCycleInner() {
|
|
|
18663
18664
|
}
|
|
18664
18665
|
try {
|
|
18665
18666
|
const desiredClaudeCodeVersion = hbResp?.desired_claude_code_version?.trim();
|
|
18666
|
-
const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-
|
|
18667
|
+
const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-QRDRPUGF.js");
|
|
18667
18668
|
const securityFloor = currentSecurityFloor();
|
|
18668
18669
|
claudeUpdaterInFlight = true;
|
|
18669
18670
|
if (desiredClaudeCodeVersion && (claudePairLoop.busy || claudePairingInProgress())) {
|
|
@@ -18698,7 +18699,7 @@ async function pollCycleInner() {
|
|
|
18698
18699
|
collectPanelessActivityProbes,
|
|
18699
18700
|
getResponsivenessIntervalMs,
|
|
18700
18701
|
occupancyQualificationClassifications
|
|
18701
|
-
} = await import("../responsiveness-probe-
|
|
18702
|
+
} = await import("../responsiveness-probe-TB2T2Q4L.js");
|
|
18702
18703
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
18703
18704
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
18704
18705
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -18815,7 +18816,7 @@ async function pollCycleInner() {
|
|
|
18815
18816
|
collectResponsivenessProbes,
|
|
18816
18817
|
livePendingInboundOldestAgeSeconds,
|
|
18817
18818
|
parkPendingInbound
|
|
18818
|
-
} = await import("../responsiveness-probe-
|
|
18819
|
+
} = await import("../responsiveness-probe-TB2T2Q4L.js");
|
|
18819
18820
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-M6AFZWNU.js");
|
|
18820
18821
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
18821
18822
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -19101,7 +19102,7 @@ async function pollCycleInner() {
|
|
|
19101
19102
|
}
|
|
19102
19103
|
}
|
|
19103
19104
|
);
|
|
19104
|
-
const { parkPendingInbound } = await import("../responsiveness-probe-
|
|
19105
|
+
const { parkPendingInbound } = await import("../responsiveness-probe-TB2T2Q4L.js");
|
|
19105
19106
|
const { parked, deadLettered } = parkPendingInbound(codeName, new Date(fatalNowMs));
|
|
19106
19107
|
paneFatalStreak.delete(codeName);
|
|
19107
19108
|
paneFatalRestarts.set(codeName, [...history, fatalNowMs]);
|
|
@@ -19132,7 +19133,7 @@ async function pollCycleInner() {
|
|
|
19132
19133
|
TRANSCRIPT_MOUNT_ESCALATION_REFRESH_MS,
|
|
19133
19134
|
bindSourceEscalations
|
|
19134
19135
|
} = await import("../transcript-mount-health-OHE6IVJV.js");
|
|
19135
|
-
const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-
|
|
19136
|
+
const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-SJ25HFBM.js");
|
|
19136
19137
|
const mountConfig = resolveTranscriptMountConfig();
|
|
19137
19138
|
const liveAgents = agentState.persistentSessionAgents;
|
|
19138
19139
|
for (const tracked of [
|
|
@@ -19297,7 +19298,7 @@ async function pollCycleInner() {
|
|
|
19297
19298
|
}
|
|
19298
19299
|
try {
|
|
19299
19300
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-VR5QGP3J.js");
|
|
19300
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
19301
|
+
const { probeSessionAuth } = await import("../session-auth-dead-2XSQ6BRX.js");
|
|
19301
19302
|
const observations = [];
|
|
19302
19303
|
const pendingCacheCommits = [];
|
|
19303
19304
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -24027,7 +24028,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
24027
24028
|
try {
|
|
24028
24029
|
const freshId = rotateSessionForWedge(codeName);
|
|
24029
24030
|
consecutiveWedgeCycles.delete(codeName);
|
|
24030
|
-
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-
|
|
24031
|
+
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-TB2T2Q4L.js");
|
|
24031
24032
|
const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
|
|
24032
24033
|
const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
|
|
24033
24034
|
const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
|
|
@@ -24070,7 +24071,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
24070
24071
|
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}`));
|
|
24071
24072
|
void (async () => {
|
|
24072
24073
|
try {
|
|
24073
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
24074
|
+
const { collectDiagnostics } = await import("../persistent-session-SJ25HFBM.js");
|
|
24074
24075
|
await api.post("/host/heartbeat", {
|
|
24075
24076
|
host_id: hostId,
|
|
24076
24077
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
|
|
@@ -24121,7 +24122,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
24121
24122
|
}
|
|
24122
24123
|
try {
|
|
24123
24124
|
const hostId = await getHostId();
|
|
24124
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
24125
|
+
const { collectDiagnostics } = await import("../persistent-session-SJ25HFBM.js");
|
|
24125
24126
|
await api.post("/host/heartbeat", {
|
|
24126
24127
|
host_id: hostId,
|
|
24127
24128
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor, sessionActivityFor)
|
|
@@ -24823,7 +24824,7 @@ async function processClaudePairSessions(agents) {
|
|
|
24823
24824
|
snapshotPairConfig,
|
|
24824
24825
|
// ENG-11659: result -> report body + the manager.log line that records it.
|
|
24825
24826
|
planPairStartReport
|
|
24826
|
-
} = await import("../claude-pair-runtime-
|
|
24827
|
+
} = await import("../claude-pair-runtime-PQNF3H4Q.js");
|
|
24827
24828
|
const { resetClaudeSignin, describeSigninResetForLog, describeSigninResetFailure } = await import("../claude-signin-reset-6IJMMVYG.js");
|
|
24828
24829
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
24829
24830
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
@@ -25833,6 +25834,10 @@ async function releaseInterruptedCardsOnDrain(snapshot) {
|
|
|
25833
25834
|
);
|
|
25834
25835
|
}
|
|
25835
25836
|
async function stopPolling(opts = {}) {
|
|
25837
|
+
if (!managerShutdownArmed) {
|
|
25838
|
+
log("[drain] skipped: this process never started the manager");
|
|
25839
|
+
return;
|
|
25840
|
+
}
|
|
25836
25841
|
running = false;
|
|
25837
25842
|
if (pollTimer) {
|
|
25838
25843
|
clearTimeout(pollTimer);
|
|
@@ -25902,6 +25907,7 @@ async function stopPolling(opts = {}) {
|
|
|
25902
25907
|
}
|
|
25903
25908
|
function startManager(opts) {
|
|
25904
25909
|
log(`[startup] begin (pid=${process.pid}, node=${process.version}, interval=${opts.intervalMs}ms)`);
|
|
25910
|
+
armManagerShutdown();
|
|
25905
25911
|
process.env["DISABLE_AUTOUPDATER"] = "1";
|
|
25906
25912
|
config = opts;
|
|
25907
25913
|
try {
|
|
@@ -26232,25 +26238,29 @@ async function stopManager() {
|
|
|
26232
26238
|
await stopPolling();
|
|
26233
26239
|
}
|
|
26234
26240
|
var shuttingDown = false;
|
|
26235
|
-
|
|
26236
|
-
|
|
26237
|
-
|
|
26238
|
-
|
|
26239
|
-
|
|
26240
|
-
|
|
26241
|
-
|
|
26242
|
-
|
|
26241
|
+
function armManagerShutdown() {
|
|
26242
|
+
if (managerShutdownArmed) return;
|
|
26243
|
+
managerShutdownArmed = true;
|
|
26244
|
+
for (const sig of ["SIGTERM", "SIGINT"]) {
|
|
26245
|
+
process.on(sig, () => {
|
|
26246
|
+
if (shuttingDown) {
|
|
26247
|
+
log(`Received ${sig} again during shutdown \u2014 ignoring (cleanup in progress)`);
|
|
26248
|
+
return;
|
|
26249
|
+
}
|
|
26250
|
+
shuttingDown = true;
|
|
26251
|
+
log(`Received ${sig}, shutting down`);
|
|
26252
|
+
void stopPolling().then(() => {
|
|
26253
|
+
process.exit(0);
|
|
26254
|
+
});
|
|
26255
|
+
});
|
|
26256
|
+
}
|
|
26257
|
+
process.on("disconnect", () => {
|
|
26258
|
+
log("Parent disconnected, exiting");
|
|
26243
26259
|
void stopPolling().then(() => {
|
|
26244
26260
|
process.exit(0);
|
|
26245
26261
|
});
|
|
26246
26262
|
});
|
|
26247
26263
|
}
|
|
26248
|
-
process.on("disconnect", () => {
|
|
26249
|
-
log("Parent disconnected, exiting");
|
|
26250
|
-
void stopPolling().then(() => {
|
|
26251
|
-
process.exit(0);
|
|
26252
|
-
});
|
|
26253
|
-
});
|
|
26254
26264
|
export {
|
|
26255
26265
|
BACK_ONLINE_GREETING_GUIDANCE,
|
|
26256
26266
|
CHANNEL_SYNC_FREE_ATTEMPTS,
|
|
@@ -26269,6 +26279,7 @@ export {
|
|
|
26269
26279
|
_claudePairTickForTests,
|
|
26270
26280
|
applyMemoryTombstones,
|
|
26271
26281
|
applyRestartAcks,
|
|
26282
|
+
armManagerShutdown,
|
|
26272
26283
|
cancelKanbanNoticeOnDrain,
|
|
26273
26284
|
channelSyncBackoffMs,
|
|
26274
26285
|
classifyLazyDayRolloverReset,
|