@integrity-labs/agt-cli 0.28.1148 → 0.28.1149
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 +7 -7
- package/dist/{chunk-JZZW47PT.js → chunk-AJ2Z3VSN.js} +2 -2
- package/dist/{chunk-EZUCUG2W.js → chunk-LMJH26IW.js} +10 -10
- package/dist/{chunk-LAPK7BDU.js → chunk-NSX27ZTP.js} +4 -4
- package/dist/{chunk-2PGIZQIJ.js → chunk-OISSVMYG.js} +12 -12
- package/dist/{chunk-D25NK5E5.js → chunk-TLDY7AE4.js} +5 -1
- package/dist/{chunk-D25NK5E5.js.map → chunk-TLDY7AE4.js.map} +1 -1
- package/dist/{claude-code-updater-NJMCC77Q.js → claude-code-updater-JXL4CM2V.js} +3 -3
- package/dist/{claude-pair-runtime-VQJGKE4W.js → claude-pair-runtime-7QPXNON3.js} +74 -11
- package/dist/claude-pair-runtime-7QPXNON3.js.map +1 -0
- package/dist/lib/manager-worker.js +41 -48
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/{persistent-session-MFHKSBD5.js → persistent-session-YKRO5RLK.js} +4 -4
- package/dist/{responsiveness-probe-YLIBVLAR.js → responsiveness-probe-LVRBC2AA.js} +4 -4
- package/dist/{session-auth-dead-PUVWMX5P.js → session-auth-dead-FREXPXHN.js} +3 -3
- package/package.json +1 -1
- package/dist/claude-pair-runtime-VQJGKE4W.js.map +0 -1
- /package/dist/{chunk-JZZW47PT.js.map → chunk-AJ2Z3VSN.js.map} +0 -0
- /package/dist/{chunk-EZUCUG2W.js.map → chunk-LMJH26IW.js.map} +0 -0
- /package/dist/{chunk-LAPK7BDU.js.map → chunk-NSX27ZTP.js.map} +0 -0
- /package/dist/{chunk-2PGIZQIJ.js.map → chunk-OISSVMYG.js.map} +0 -0
- /package/dist/{claude-code-updater-NJMCC77Q.js.map → claude-code-updater-JXL4CM2V.js.map} +0 -0
- /package/dist/{persistent-session-MFHKSBD5.js.map → persistent-session-YKRO5RLK.js.map} +0 -0
- /package/dist/{responsiveness-probe-YLIBVLAR.js.map → responsiveness-probe-LVRBC2AA.js.map} +0 -0
- /package/dist/{session-auth-dead-PUVWMX5P.js.map → session-auth-dead-FREXPXHN.js.map} +0 -0
|
@@ -77,11 +77,11 @@ import {
|
|
|
77
77
|
setConfigHash,
|
|
78
78
|
shellGuard,
|
|
79
79
|
tripClass
|
|
80
|
-
} from "../chunk-
|
|
80
|
+
} from "../chunk-LMJH26IW.js";
|
|
81
81
|
import {
|
|
82
82
|
CLAUDE_CODE_SECURITY_FLOOR,
|
|
83
83
|
compareVersions
|
|
84
|
-
} from "../chunk-
|
|
84
|
+
} from "../chunk-NSX27ZTP.js";
|
|
85
85
|
import {
|
|
86
86
|
getProjectDir as getProjectDir2,
|
|
87
87
|
getReadyTasks,
|
|
@@ -168,7 +168,7 @@ import {
|
|
|
168
168
|
webFetchBaselineValue,
|
|
169
169
|
webFetchRestartNeeded,
|
|
170
170
|
writeEgressAllowlist
|
|
171
|
-
} from "../chunk-
|
|
171
|
+
} from "../chunk-OISSVMYG.js";
|
|
172
172
|
import {
|
|
173
173
|
isAgentIdle,
|
|
174
174
|
isStaleForToday,
|
|
@@ -177,7 +177,7 @@ import {
|
|
|
177
177
|
sessionTranscriptDir,
|
|
178
178
|
subagentActivityAgeSeconds,
|
|
179
179
|
transcriptActivityAgeSeconds
|
|
180
|
-
} from "../chunk-
|
|
180
|
+
} from "../chunk-AJ2Z3VSN.js";
|
|
181
181
|
import {
|
|
182
182
|
classifyUnanswerablePane,
|
|
183
183
|
focusedConfirmDialogBlock,
|
|
@@ -190,6 +190,13 @@ import {
|
|
|
190
190
|
parsePsRows,
|
|
191
191
|
reapOrphanChannelMcps
|
|
192
192
|
} from "../chunk-XWVM4KPK.js";
|
|
193
|
+
import {
|
|
194
|
+
CLAUDE_CONFIG_DIR_ENV,
|
|
195
|
+
claudeConfigDirFor,
|
|
196
|
+
claudeConfigDirIsReady,
|
|
197
|
+
effectiveClaudeJsonPath,
|
|
198
|
+
seedClaudeConfigFromLegacy
|
|
199
|
+
} from "../chunk-EL5MWGGH.js";
|
|
193
200
|
import {
|
|
194
201
|
ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
|
|
195
202
|
AnchorSessionClient,
|
|
@@ -293,14 +300,7 @@ import {
|
|
|
293
300
|
serializeAccountEnforcementMarker,
|
|
294
301
|
stabiliseResetInstant,
|
|
295
302
|
sumTranscriptUsageInWindow
|
|
296
|
-
} from "../chunk-
|
|
297
|
-
import {
|
|
298
|
-
CLAUDE_CONFIG_DIR_ENV,
|
|
299
|
-
claudeConfigDirFor,
|
|
300
|
-
claudeConfigDirIsReady,
|
|
301
|
-
effectiveClaudeJsonPath,
|
|
302
|
-
seedClaudeConfigFromLegacy
|
|
303
|
-
} from "../chunk-EL5MWGGH.js";
|
|
303
|
+
} from "../chunk-TLDY7AE4.js";
|
|
304
304
|
import "../chunk-DGUM43GV.js";
|
|
305
305
|
|
|
306
306
|
// src/lib/manager-worker.ts
|
|
@@ -14891,7 +14891,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
14891
14891
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
14892
14892
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
14893
14893
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
14894
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
14894
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-LVRBC2AA.js");
|
|
14895
14895
|
const newest = newestPendingInboundActivityMtimeMs(dirname11(paneLogPath(codeName)));
|
|
14896
14896
|
if (newest === null) return null;
|
|
14897
14897
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -15649,7 +15649,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
15649
15649
|
var lastVersionCheckAt = 0;
|
|
15650
15650
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
15651
15651
|
var lastResponsivenessProbeAt = 0;
|
|
15652
|
-
var agtCliVersion = true ? "0.28.
|
|
15652
|
+
var agtCliVersion = true ? "0.28.1149" : "dev";
|
|
15653
15653
|
function resolveBrewPath(execFileSync3) {
|
|
15654
15654
|
try {
|
|
15655
15655
|
const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -17424,7 +17424,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
17424
17424
|
if (codeNames.length === 0) return;
|
|
17425
17425
|
void (async () => {
|
|
17426
17426
|
try {
|
|
17427
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
17427
|
+
const { collectDiagnostics } = await import("../persistent-session-YKRO5RLK.js");
|
|
17428
17428
|
await api.post("/host/heartbeat", {
|
|
17429
17429
|
host_id: hostId,
|
|
17430
17430
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
|
|
@@ -17566,7 +17566,7 @@ async function pollCycleInner() {
|
|
|
17566
17566
|
}
|
|
17567
17567
|
try {
|
|
17568
17568
|
const { detectHostSecurity } = await import("../host-security-KQYYZZVW.js");
|
|
17569
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
17569
|
+
const { collectDiagnostics } = await import("../persistent-session-YKRO5RLK.js");
|
|
17570
17570
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
17571
17571
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor) : void 0;
|
|
17572
17572
|
let tailscaleHostname;
|
|
@@ -17766,7 +17766,7 @@ async function pollCycleInner() {
|
|
|
17766
17766
|
setConfigHash(hbResp?.config_hash ?? null);
|
|
17767
17767
|
try {
|
|
17768
17768
|
const desiredClaudeCodeVersion = hbResp?.desired_claude_code_version?.trim();
|
|
17769
|
-
const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-
|
|
17769
|
+
const { maybeUpdateClaudeCode, shouldRunClaudeCodeUpdater } = await import("../claude-code-updater-JXL4CM2V.js");
|
|
17770
17770
|
if (desiredClaudeCodeVersion && shouldRunClaudeCodeUpdater({
|
|
17771
17771
|
desiredVersion: desiredClaudeCodeVersion,
|
|
17772
17772
|
installedVersion: cachedFrameworkVersion,
|
|
@@ -17791,7 +17791,7 @@ async function pollCycleInner() {
|
|
|
17791
17791
|
collectPanelessActivityProbes,
|
|
17792
17792
|
getResponsivenessIntervalMs,
|
|
17793
17793
|
occupancyQualificationClassifications
|
|
17794
|
-
} = await import("../responsiveness-probe-
|
|
17794
|
+
} = await import("../responsiveness-probe-LVRBC2AA.js");
|
|
17795
17795
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
17796
17796
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
17797
17797
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -17908,7 +17908,7 @@ async function pollCycleInner() {
|
|
|
17908
17908
|
collectResponsivenessProbes,
|
|
17909
17909
|
livePendingInboundOldestAgeSeconds,
|
|
17910
17910
|
parkPendingInbound
|
|
17911
|
-
} = await import("../responsiveness-probe-
|
|
17911
|
+
} = await import("../responsiveness-probe-LVRBC2AA.js");
|
|
17912
17912
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-M6AFZWNU.js");
|
|
17913
17913
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
17914
17914
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -18194,7 +18194,7 @@ async function pollCycleInner() {
|
|
|
18194
18194
|
}
|
|
18195
18195
|
}
|
|
18196
18196
|
);
|
|
18197
|
-
const { parkPendingInbound } = await import("../responsiveness-probe-
|
|
18197
|
+
const { parkPendingInbound } = await import("../responsiveness-probe-LVRBC2AA.js");
|
|
18198
18198
|
const { parked, deadLettered } = parkPendingInbound(codeName, new Date(fatalNowMs));
|
|
18199
18199
|
paneFatalStreak.delete(codeName);
|
|
18200
18200
|
paneFatalRestarts.set(codeName, [...history, fatalNowMs]);
|
|
@@ -18225,7 +18225,7 @@ async function pollCycleInner() {
|
|
|
18225
18225
|
TRANSCRIPT_MOUNT_ESCALATION_REFRESH_MS,
|
|
18226
18226
|
bindSourceEscalations
|
|
18227
18227
|
} = await import("../transcript-mount-health-OHE6IVJV.js");
|
|
18228
|
-
const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-
|
|
18228
|
+
const { transcriptBindSourcesFor, ensureTranscriptBindSources } = await import("../persistent-session-YKRO5RLK.js");
|
|
18229
18229
|
const mountConfig = resolveTranscriptMountConfig();
|
|
18230
18230
|
const liveAgents = agentState.persistentSessionAgents;
|
|
18231
18231
|
for (const tracked of [
|
|
@@ -18390,7 +18390,7 @@ async function pollCycleInner() {
|
|
|
18390
18390
|
}
|
|
18391
18391
|
try {
|
|
18392
18392
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-VR5QGP3J.js");
|
|
18393
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
18393
|
+
const { probeSessionAuth } = await import("../session-auth-dead-FREXPXHN.js");
|
|
18394
18394
|
const observations = [];
|
|
18395
18395
|
const pendingCacheCommits = [];
|
|
18396
18396
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -23030,7 +23030,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
23030
23030
|
try {
|
|
23031
23031
|
const freshId = rotateSessionForWedge(codeName);
|
|
23032
23032
|
consecutiveWedgeCycles.delete(codeName);
|
|
23033
|
-
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-
|
|
23033
|
+
const { parkPendingInbound: parkForRestart } = await import("../responsiveness-probe-LVRBC2AA.js");
|
|
23034
23034
|
const { parked, deadLettered } = parkForRestart(codeName, /* @__PURE__ */ new Date());
|
|
23035
23035
|
const parkNote = parked > 0 ? `, ${parked} inbound parked` : "";
|
|
23036
23036
|
const deadNote = deadLettered > 0 ? `, ${deadLettered} undeliverable dead-lettered` : "";
|
|
@@ -23073,7 +23073,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
23073
23073
|
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}`));
|
|
23074
23074
|
void (async () => {
|
|
23075
23075
|
try {
|
|
23076
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
23076
|
+
const { collectDiagnostics } = await import("../persistent-session-YKRO5RLK.js");
|
|
23077
23077
|
await api.post("/host/heartbeat", {
|
|
23078
23078
|
host_id: hostId,
|
|
23079
23079
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
|
|
@@ -23124,7 +23124,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
23124
23124
|
}
|
|
23125
23125
|
try {
|
|
23126
23126
|
const hostId = await getHostId();
|
|
23127
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
23127
|
+
const { collectDiagnostics } = await import("../persistent-session-YKRO5RLK.js");
|
|
23128
23128
|
await api.post("/host/heartbeat", {
|
|
23129
23129
|
host_id: hostId,
|
|
23130
23130
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor, forwardedToolsFor, runtimeVersionFor)
|
|
@@ -23796,8 +23796,10 @@ async function processClaudePairSessions(agents) {
|
|
|
23796
23796
|
// ENG-10862: the pre-submit mtime baseline. Taken here because finalize
|
|
23797
23797
|
// cannot take it for itself — by the time it runs, the write it is looking
|
|
23798
23798
|
// for may already have happened.
|
|
23799
|
-
snapshotPairConfig
|
|
23800
|
-
|
|
23799
|
+
snapshotPairConfig,
|
|
23800
|
+
// ENG-11659: result -> report body + the manager.log line that records it.
|
|
23801
|
+
planPairStartReport
|
|
23802
|
+
} = await import("../claude-pair-runtime-7QPXNON3.js");
|
|
23801
23803
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
23802
23804
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
23803
23805
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
|
@@ -23815,7 +23817,10 @@ async function processClaudePairSessions(agents) {
|
|
|
23815
23817
|
"timeout"
|
|
23816
23818
|
]);
|
|
23817
23819
|
async function reportAndCleanup(pairId, body) {
|
|
23818
|
-
await api.post("/host/claude-pair/result", {
|
|
23820
|
+
const resp = await api.post("/host/claude-pair/result", {
|
|
23821
|
+
pair_id: pairId,
|
|
23822
|
+
...body
|
|
23823
|
+
});
|
|
23819
23824
|
if (typeof body.status === "string" && TERMINAL.has(body.status)) {
|
|
23820
23825
|
const isOnboardingFailure = typeof body.error_code === "string" && body.error_code.startsWith("onboarding_");
|
|
23821
23826
|
if (body.status === "success" || isOnboardingFailure) {
|
|
@@ -23826,6 +23831,7 @@ async function processClaudePairSessions(agents) {
|
|
|
23826
23831
|
spawnedPairIds.delete(pairId);
|
|
23827
23832
|
}
|
|
23828
23833
|
}
|
|
23834
|
+
return resp?.no_op !== true;
|
|
23829
23835
|
}
|
|
23830
23836
|
for (const session of pendingResp.pending) {
|
|
23831
23837
|
const codeName = codeNameByAgentId.get(session.agent_id) ?? "<unassigned>";
|
|
@@ -23847,26 +23853,13 @@ async function processClaudePairSessions(agents) {
|
|
|
23847
23853
|
spawnedPairIds.add(session.pair_id);
|
|
23848
23854
|
log(`[claude-pair] dispatching /login (pair ${session.pair_id.slice(0, 8)})`);
|
|
23849
23855
|
const result = await startClaudePair({ session: pairSession });
|
|
23850
|
-
|
|
23851
|
-
|
|
23852
|
-
|
|
23853
|
-
|
|
23854
|
-
|
|
23855
|
-
|
|
23856
|
-
|
|
23857
|
-
await reportAndCleanup(session.pair_id, {
|
|
23858
|
-
status: "timeout",
|
|
23859
|
-
error_code: "url_prompt_not_seen",
|
|
23860
|
-
error_message: "Claude Code did not print the URL prompt within the deadline"
|
|
23861
|
-
});
|
|
23862
|
-
} else {
|
|
23863
|
-
const errKind = result.error.kind;
|
|
23864
|
-
const errMessage2 = "message" in result.error ? result.error.message : void 0;
|
|
23865
|
-
await reportAndCleanup(session.pair_id, {
|
|
23866
|
-
status: errKind === "no-session" ? "session_missing" : "failure",
|
|
23867
|
-
error_code: errKind,
|
|
23868
|
-
error_message: errMessage2
|
|
23869
|
-
});
|
|
23856
|
+
const report = planPairStartReport(session.pair_id, result);
|
|
23857
|
+
log(report.logLine);
|
|
23858
|
+
const accepted = await reportAndCleanup(session.pair_id, report.body);
|
|
23859
|
+
if (!accepted) {
|
|
23860
|
+
log(
|
|
23861
|
+
`[claude-pair] result for pair ${session.pair_id.slice(0, 8)} was a server no_op: the row was already terminal (e.g. cancelled from the console) when it landed`
|
|
23862
|
+
);
|
|
23870
23863
|
}
|
|
23871
23864
|
} else if (session.status === "code_submitted" && session.code) {
|
|
23872
23865
|
log(`[claude-pair] submitting code (pair ${session.pair_id.slice(0, 8)})`);
|