@integrity-labs/agt-cli 0.28.1154 → 0.28.1156
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 +8 -7
- package/dist/bin/agt.js.map +1 -1
- package/dist/{chunk-PG343LR6.js → chunk-7NAL24SM.js} +4 -4
- package/dist/{chunk-E5BVBODT.js → chunk-CXEP3UC7.js} +2 -2
- package/dist/{chunk-PQ6K7IGT.js → chunk-D55RMQTG.js} +6 -4
- package/dist/chunk-D55RMQTG.js.map +1 -0
- package/dist/chunk-OAWK4OBN.js +117 -0
- package/dist/chunk-OAWK4OBN.js.map +1 -0
- package/dist/{chunk-OGEAF6HE.js → chunk-QRFACFSH.js} +26 -12
- package/dist/chunk-QRFACFSH.js.map +1 -0
- package/dist/{chunk-PIK27GUV.js → chunk-SYQ4VTME.js} +10 -10
- package/dist/{claude-code-updater-BQ7OJMUH.js → claude-code-updater-G7CSYMS3.js} +3 -3
- package/dist/{claude-pair-runtime-OKT66D2H.js → claude-pair-runtime-BCZPQPWP.js} +45 -11
- package/dist/claude-pair-runtime-BCZPQPWP.js.map +1 -0
- package/dist/claude-signin-reset-EF3UO5IK.js +23 -0
- package/dist/lib/manager-worker.js +48 -29
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/{persistent-session-JRNQ3OMQ.js → persistent-session-XCV7VQWS.js} +5 -4
- package/dist/persistent-session-XCV7VQWS.js.map +1 -0
- package/dist/{responsiveness-probe-KQSVBU2O.js → responsiveness-probe-WZVS3U5H.js} +5 -4
- package/dist/{responsiveness-probe-KQSVBU2O.js.map → responsiveness-probe-WZVS3U5H.js.map} +1 -1
- package/dist/{session-auth-dead-MSTRS7FK.js → session-auth-dead-AR7G7XZZ.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-OGEAF6HE.js.map +0 -1
- package/dist/chunk-PQ6K7IGT.js.map +0 -1
- package/dist/claude-pair-runtime-OKT66D2H.js.map +0 -1
- /package/dist/{chunk-PG343LR6.js.map → chunk-7NAL24SM.js.map} +0 -0
- /package/dist/{chunk-E5BVBODT.js.map → chunk-CXEP3UC7.js.map} +0 -0
- /package/dist/{chunk-PIK27GUV.js.map → chunk-SYQ4VTME.js.map} +0 -0
- /package/dist/{claude-code-updater-BQ7OJMUH.js.map → claude-code-updater-G7CSYMS3.js.map} +0 -0
- /package/dist/{persistent-session-JRNQ3OMQ.js.map → claude-signin-reset-EF3UO5IK.js.map} +0 -0
- /package/dist/{session-auth-dead-MSTRS7FK.js.map → session-auth-dead-AR7G7XZZ.js.map} +0 -0
|
@@ -77,7 +77,7 @@ import {
|
|
|
77
77
|
setConfigHash,
|
|
78
78
|
shellGuard,
|
|
79
79
|
tripClass
|
|
80
|
-
} from "../chunk-
|
|
80
|
+
} from "../chunk-SYQ4VTME.js";
|
|
81
81
|
import {
|
|
82
82
|
CLAUDE_CODE_SECURITY_FLOOR,
|
|
83
83
|
SELF_UPDATE_TIMEOUTS,
|
|
@@ -90,7 +90,7 @@ import {
|
|
|
90
90
|
runSafeCleanup,
|
|
91
91
|
tightestDiskStat,
|
|
92
92
|
withPackageCacheLock
|
|
93
|
-
} from "../chunk-
|
|
93
|
+
} from "../chunk-7NAL24SM.js";
|
|
94
94
|
import {
|
|
95
95
|
getProjectDir as getProjectDir2,
|
|
96
96
|
getReadyTasks,
|
|
@@ -177,7 +177,7 @@ import {
|
|
|
177
177
|
webFetchBaselineValue,
|
|
178
178
|
webFetchRestartNeeded,
|
|
179
179
|
writeEgressAllowlist
|
|
180
|
-
} from "../chunk-
|
|
180
|
+
} from "../chunk-QRFACFSH.js";
|
|
181
181
|
import {
|
|
182
182
|
isAgentIdle,
|
|
183
183
|
isStaleForToday,
|
|
@@ -186,7 +186,7 @@ import {
|
|
|
186
186
|
sessionTranscriptDir,
|
|
187
187
|
subagentActivityAgeSeconds,
|
|
188
188
|
transcriptActivityAgeSeconds
|
|
189
|
-
} from "../chunk-
|
|
189
|
+
} from "../chunk-CXEP3UC7.js";
|
|
190
190
|
import {
|
|
191
191
|
classifyUnanswerablePane,
|
|
192
192
|
focusedConfirmDialogBlock,
|
|
@@ -195,17 +195,11 @@ import {
|
|
|
195
195
|
sendDialogKeys,
|
|
196
196
|
simpleTextHash
|
|
197
197
|
} from "../chunk-B6UYVEMD.js";
|
|
198
|
+
import "../chunk-OAWK4OBN.js";
|
|
198
199
|
import {
|
|
199
200
|
parsePsRows,
|
|
200
201
|
reapOrphanChannelMcps
|
|
201
202
|
} from "../chunk-XWVM4KPK.js";
|
|
202
|
-
import {
|
|
203
|
-
CLAUDE_CONFIG_DIR_ENV,
|
|
204
|
-
claudeConfigDirFor,
|
|
205
|
-
claudeConfigDirIsReady,
|
|
206
|
-
effectiveClaudeJsonPath,
|
|
207
|
-
seedClaudeConfigFromLegacy
|
|
208
|
-
} from "../chunk-EL5MWGGH.js";
|
|
209
203
|
import {
|
|
210
204
|
ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
|
|
211
205
|
AnchorSessionClient,
|
|
@@ -228,6 +222,7 @@ import {
|
|
|
228
222
|
INTEGRATIONS_SECTION_START,
|
|
229
223
|
KANBAN_CHECK_COMMAND,
|
|
230
224
|
KANBAN_NUDGE_ACTIONABLE_STATUSES,
|
|
225
|
+
MANAGER_LIVENESS_HEARTBEAT_INTERVAL_MS,
|
|
231
226
|
MAX_AVATAR_ENV_URL_BYTES,
|
|
232
227
|
NO_FAILING_TURN_RUN,
|
|
233
228
|
SCHEDULED_TURN_MARKER_FILENAME,
|
|
@@ -309,7 +304,14 @@ import {
|
|
|
309
304
|
serializeAccountEnforcementMarker,
|
|
310
305
|
stabiliseResetInstant,
|
|
311
306
|
sumTranscriptUsageInWindow
|
|
312
|
-
} from "../chunk-
|
|
307
|
+
} from "../chunk-D55RMQTG.js";
|
|
308
|
+
import {
|
|
309
|
+
CLAUDE_CONFIG_DIR_ENV,
|
|
310
|
+
claudeConfigDirFor,
|
|
311
|
+
claudeConfigDirIsReady,
|
|
312
|
+
effectiveClaudeJsonPath,
|
|
313
|
+
seedClaudeConfigFromLegacy
|
|
314
|
+
} from "../chunk-EL5MWGGH.js";
|
|
313
315
|
import "../chunk-DGUM43GV.js";
|
|
314
316
|
|
|
315
317
|
// src/lib/manager-worker.ts
|
|
@@ -14109,7 +14111,7 @@ var running = false;
|
|
|
14109
14111
|
var pollTimer = null;
|
|
14110
14112
|
var livenessTimer = null;
|
|
14111
14113
|
var livenessInFlight = false;
|
|
14112
|
-
var LIVENESS_HEARTBEAT_INTERVAL_MS =
|
|
14114
|
+
var LIVENESS_HEARTBEAT_INTERVAL_MS = MANAGER_LIVENESS_HEARTBEAT_INTERVAL_MS;
|
|
14113
14115
|
var PANE_TAIL_PREVIEW_LINES = 5;
|
|
14114
14116
|
function extractCharterTelegramPeers(rawContent, gateContext) {
|
|
14115
14117
|
if (!rawContent || rawContent.length === 0) return [];
|
|
@@ -15013,7 +15015,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
15013
15015
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
15014
15016
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
15015
15017
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
15016
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
15018
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-WZVS3U5H.js");
|
|
15017
15019
|
const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
|
|
15018
15020
|
if (newest === null) return null;
|
|
15019
15021
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -15805,7 +15807,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
15805
15807
|
var lastVersionCheckAt = 0;
|
|
15806
15808
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
15807
15809
|
var lastResponsivenessProbeAt = 0;
|
|
15808
|
-
var agtCliVersion = true ? "0.28.
|
|
15810
|
+
var agtCliVersion = true ? "0.28.1156" : "dev";
|
|
15809
15811
|
function resolveBrewPath(execFileSync3) {
|
|
15810
15812
|
try {
|
|
15811
15813
|
const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -17602,7 +17604,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
17602
17604
|
if (codeNames.length === 0) return;
|
|
17603
17605
|
void (async () => {
|
|
17604
17606
|
try {
|
|
17605
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
17607
|
+
const { collectDiagnostics } = await import("../persistent-session-XCV7VQWS.js");
|
|
17606
17608
|
await api.post("/host/heartbeat", {
|
|
17607
17609
|
host_id: hostId,
|
|
17608
17610
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
|
|
@@ -17745,7 +17747,7 @@ async function pollCycleInner() {
|
|
|
17745
17747
|
}
|
|
17746
17748
|
try {
|
|
17747
17749
|
const { detectHostSecurity } = await import("../host-security-KQYYZZVW.js");
|
|
17748
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
17750
|
+
const { collectDiagnostics } = await import("../persistent-session-XCV7VQWS.js");
|
|
17749
17751
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
17750
17752
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor) : void 0;
|
|
17751
17753
|
let tailscaleHostname;
|
|
@@ -17945,7 +17947,7 @@ async function pollCycleInner() {
|
|
|
17945
17947
|
setConfigHash(hbResp?.config_hash ?? null);
|
|
17946
17948
|
try {
|
|
17947
17949
|
const desiredClaudeCodeVersion = hbResp?.desired_claude_code_version?.trim();
|
|
17948
|
-
const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-
|
|
17950
|
+
const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-G7CSYMS3.js");
|
|
17949
17951
|
claudeUpdaterInFlight = true;
|
|
17950
17952
|
if (desiredClaudeCodeVersion && (claudePairLoop.busy || claudePairingInProgress())) {
|
|
17951
17953
|
log(
|
|
@@ -17977,7 +17979,7 @@ async function pollCycleInner() {
|
|
|
17977
17979
|
collectPanelessActivityProbes,
|
|
17978
17980
|
getResponsivenessIntervalMs,
|
|
17979
17981
|
occupancyQualificationClassifications
|
|
17980
|
-
} = await import("../responsiveness-probe-
|
|
17982
|
+
} = await import("../responsiveness-probe-WZVS3U5H.js");
|
|
17981
17983
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
17982
17984
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
17983
17985
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -18094,7 +18096,7 @@ async function pollCycleInner() {
|
|
|
18094
18096
|
collectResponsivenessProbes,
|
|
18095
18097
|
livePendingInboundOldestAgeSeconds,
|
|
18096
18098
|
parkPendingInbound
|
|
18097
|
-
} = await import("../responsiveness-probe-
|
|
18099
|
+
} = await import("../responsiveness-probe-WZVS3U5H.js");
|
|
18098
18100
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-M6AFZWNU.js");
|
|
18099
18101
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
18100
18102
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -18380,7 +18382,7 @@ async function pollCycleInner() {
|
|
|
18380
18382
|
}
|
|
18381
18383
|
}
|
|
18382
18384
|
);
|
|
18383
|
-
const { parkPendingInbound } = await import("../responsiveness-probe-
|
|
18385
|
+
const { parkPendingInbound } = await import("../responsiveness-probe-WZVS3U5H.js");
|
|
18384
18386
|
const { parked, deadLettered } = parkPendingInbound(codeName, new Date(fatalNowMs));
|
|
18385
18387
|
paneFatalStreak.delete(codeName);
|
|
18386
18388
|
paneFatalRestarts.set(codeName, [...history, fatalNowMs]);
|
|
@@ -18411,7 +18413,7 @@ async function pollCycleInner() {
|
|
|
18411
18413
|
TRANSCRIPT_MOUNT_ESCALATION_REFRESH_MS,
|
|
18412
18414
|
bindSourceEscalations
|
|
18413
18415
|
} = await import("../transcript-mount-health-OHE6IVJV.js");
|
|
18414
|
-
const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-
|
|
18416
|
+
const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-XCV7VQWS.js");
|
|
18415
18417
|
const mountConfig = resolveTranscriptMountConfig();
|
|
18416
18418
|
const liveAgents = agentState.persistentSessionAgents;
|
|
18417
18419
|
for (const tracked of [
|
|
@@ -18576,7 +18578,7 @@ async function pollCycleInner() {
|
|
|
18576
18578
|
}
|
|
18577
18579
|
try {
|
|
18578
18580
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-VR5QGP3J.js");
|
|
18579
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
18581
|
+
const { probeSessionAuth } = await import("../session-auth-dead-AR7G7XZZ.js");
|
|
18580
18582
|
const observations = [];
|
|
18581
18583
|
const pendingCacheCommits = [];
|
|
18582
18584
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -23231,7 +23233,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
23231
23233
|
try {
|
|
23232
23234
|
const freshId = rotateSessionForWedge(codeName);
|
|
23233
23235
|
consecutiveWedgeCycles.delete(codeName);
|
|
23234
|
-
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-
|
|
23236
|
+
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-WZVS3U5H.js");
|
|
23235
23237
|
const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
|
|
23236
23238
|
const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
|
|
23237
23239
|
const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
|
|
@@ -23274,7 +23276,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
23274
23276
|
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}`));
|
|
23275
23277
|
void (async () => {
|
|
23276
23278
|
try {
|
|
23277
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
23279
|
+
const { collectDiagnostics } = await import("../persistent-session-XCV7VQWS.js");
|
|
23278
23280
|
await api.post("/host/heartbeat", {
|
|
23279
23281
|
host_id: hostId,
|
|
23280
23282
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
|
|
@@ -23325,7 +23327,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
23325
23327
|
}
|
|
23326
23328
|
try {
|
|
23327
23329
|
const hostId = await getHostId();
|
|
23328
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
23330
|
+
const { collectDiagnostics } = await import("../persistent-session-XCV7VQWS.js");
|
|
23329
23331
|
await api.post("/host/heartbeat", {
|
|
23330
23332
|
host_id: hostId,
|
|
23331
23333
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
|
|
@@ -24018,7 +24020,8 @@ async function processClaudePairSessions(agents) {
|
|
|
24018
24020
|
snapshotPairConfig,
|
|
24019
24021
|
// ENG-11659: result -> report body + the manager.log line that records it.
|
|
24020
24022
|
planPairStartReport
|
|
24021
|
-
} = await import("../claude-pair-runtime-
|
|
24023
|
+
} = await import("../claude-pair-runtime-BCZPQPWP.js");
|
|
24024
|
+
const { resetClaudeSignin, describeSigninResetForLog, describeSigninResetFailure } = await import("../claude-signin-reset-EF3UO5IK.js");
|
|
24022
24025
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
24023
24026
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
24024
24027
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
|
@@ -24060,6 +24063,21 @@ async function processClaudePairSessions(agents) {
|
|
|
24060
24063
|
const pairSession = pairTmuxSession(session.pair_id);
|
|
24061
24064
|
try {
|
|
24062
24065
|
if (session.status === "initiating") {
|
|
24066
|
+
let signinReset;
|
|
24067
|
+
if (session.reset_signin === true) {
|
|
24068
|
+
const reset = resetClaudeSignin({ pairId: session.pair_id });
|
|
24069
|
+
log(describeSigninResetForLog(session.pair_id, reset));
|
|
24070
|
+
if (reset.outcome === "failed" || reset.outcome === "unsupported") {
|
|
24071
|
+
await reportAndCleanup(session.pair_id, {
|
|
24072
|
+
status: "failure",
|
|
24073
|
+
error_code: reset.outcome === "unsupported" ? "signin_reset_unsupported" : "signin_reset_failed",
|
|
24074
|
+
error_message: describeSigninResetFailure(reset),
|
|
24075
|
+
signin_reset: "failed"
|
|
24076
|
+
});
|
|
24077
|
+
continue;
|
|
24078
|
+
}
|
|
24079
|
+
signinReset = reset.outcome;
|
|
24080
|
+
}
|
|
24063
24081
|
log(`[claude-pair] spawning pair session ${pairSession} for '${codeName}'`);
|
|
24064
24082
|
const spawn = await spawnPairSession(pairSession);
|
|
24065
24083
|
if (!spawn.ok) {
|
|
@@ -24068,14 +24086,15 @@ async function processClaudePairSessions(agents) {
|
|
|
24068
24086
|
error_code: spawn.error.kind,
|
|
24069
24087
|
// ENG-10617: forward any message (incl. `claude-exited`, which
|
|
24070
24088
|
// carries claude's exit status + last output), not just unknown.
|
|
24071
|
-
error_message: "message" in spawn.error ? spawn.error.message : void 0
|
|
24089
|
+
error_message: "message" in spawn.error ? spawn.error.message : void 0,
|
|
24090
|
+
...signinReset ? { signin_reset: signinReset } : {}
|
|
24072
24091
|
});
|
|
24073
24092
|
continue;
|
|
24074
24093
|
}
|
|
24075
24094
|
spawnedPairIds.add(session.pair_id);
|
|
24076
24095
|
log(`[claude-pair] dispatching /login (pair ${session.pair_id.slice(0, 8)})`);
|
|
24077
24096
|
const result = await startClaudePair({ session: pairSession });
|
|
24078
|
-
const report = planPairStartReport(session.pair_id, result);
|
|
24097
|
+
const report = planPairStartReport(session.pair_id, result, signinReset);
|
|
24079
24098
|
log(report.logLine);
|
|
24080
24099
|
const accepted = await reportAndCleanup(session.pair_id, report.body);
|
|
24081
24100
|
if (!accepted) {
|