@integrity-labs/agt-cli 0.28.631 → 0.28.633
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/bin/agt.js.map +1 -1
- package/dist/{chunk-XQ7BNYC4.js → chunk-FKG7DIE2.js} +1 -1
- package/dist/{chunk-XQ7BNYC4.js.map → chunk-FKG7DIE2.js.map} +1 -1
- package/dist/{chunk-7QNQRV3A.js → chunk-GNTCOXZG.js} +165 -19
- package/dist/{chunk-7QNQRV3A.js.map → chunk-GNTCOXZG.js.map} +1 -1
- package/dist/{chunk-RZDL5TB6.js → chunk-IDERROFJ.js} +23 -7
- package/dist/{chunk-RZDL5TB6.js.map → chunk-IDERROFJ.js.map} +1 -1
- package/dist/{claude-pair-runtime-OU7EYHVL.js → claude-pair-runtime-DWNJWCSU.js} +2 -2
- package/dist/lib/manager-worker.js +39 -14
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/slack-channel.js +11 -5
- package/dist/mcp/telegram-channel.js +10 -5
- package/dist/{persistent-session-VUVAFI4R.js → persistent-session-ORYBOIBQ.js} +3 -3
- package/dist/{responsiveness-probe-Q4HYKKJJ.js → responsiveness-probe-WYCKY2BJ.js} +3 -3
- package/dist/{session-auth-dead-WKUINREY.js → session-auth-dead-NASGEQCA.js} +2 -2
- package/package.json +1 -1
- /package/dist/{claude-pair-runtime-OU7EYHVL.js.map → claude-pair-runtime-DWNJWCSU.js.map} +0 -0
- /package/dist/{persistent-session-VUVAFI4R.js.map → persistent-session-ORYBOIBQ.js.map} +0 -0
- /package/dist/{responsiveness-probe-Q4HYKKJJ.js.map → responsiveness-probe-WYCKY2BJ.js.map} +0 -0
- /package/dist/{session-auth-dead-WKUINREY.js.map → session-auth-dead-NASGEQCA.js.map} +0 -0
|
@@ -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-ORYBOIBQ.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-DWNJWCSU.js.map
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
safeWriteJsonAtomic,
|
|
55
55
|
setConfigHash,
|
|
56
56
|
tripClass
|
|
57
|
-
} from "../chunk-
|
|
57
|
+
} from "../chunk-IDERROFJ.js";
|
|
58
58
|
import {
|
|
59
59
|
getProjectDir as getProjectDir2,
|
|
60
60
|
getReadyTasks,
|
|
@@ -110,7 +110,7 @@ import {
|
|
|
110
110
|
takeZombieDetection,
|
|
111
111
|
toOpencodeModel,
|
|
112
112
|
writeEgressAllowlist
|
|
113
|
-
} from "../chunk-
|
|
113
|
+
} from "../chunk-GNTCOXZG.js";
|
|
114
114
|
import {
|
|
115
115
|
ACCOUNT_ENFORCEMENT_MARKER_FILENAME,
|
|
116
116
|
AnchorSessionClient,
|
|
@@ -187,7 +187,7 @@ import {
|
|
|
187
187
|
subagentActivityAgeSeconds,
|
|
188
188
|
sumTranscriptUsageInWindow,
|
|
189
189
|
transcriptActivityAgeSeconds
|
|
190
|
-
} from "../chunk-
|
|
190
|
+
} from "../chunk-FKG7DIE2.js";
|
|
191
191
|
import {
|
|
192
192
|
reapOrphanChannelMcps
|
|
193
193
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -11492,7 +11492,7 @@ var pendingDayRolloverReset = /* @__PURE__ */ new Set();
|
|
|
11492
11492
|
var dayRolloverInboundHold = /* @__PURE__ */ new Map();
|
|
11493
11493
|
var INBOUND_HOLD_EPISODE_GAP_MS = 12e4;
|
|
11494
11494
|
async function channelInboundActivityAgeSecondsFor(codeName) {
|
|
11495
|
-
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-
|
|
11495
|
+
const { newestPendingInboundActivityMtimeMs } = await import("../responsiveness-probe-WYCKY2BJ.js");
|
|
11496
11496
|
const newest = newestPendingInboundActivityMtimeMs(dirname9(paneLogPath(codeName)));
|
|
11497
11497
|
if (newest === null) return null;
|
|
11498
11498
|
return Math.max(0, Math.floor((Date.now() - newest) / 1e3));
|
|
@@ -11783,7 +11783,7 @@ function seedSessionLaunchBaselines(codeName, projectDir) {
|
|
|
11783
11783
|
}
|
|
11784
11784
|
async function runAgentConnectivityProbes(agent, integrations, projectDir) {
|
|
11785
11785
|
if (integrations.length === 0) return;
|
|
11786
|
-
const probeEnv = buildProbeEnv(projectDir);
|
|
11786
|
+
const probeEnv = buildProbeEnv(projectDir, agent.agent_id);
|
|
11787
11787
|
const probeDeps = buildConnectivityProbeDeps(projectDir, probeEnv);
|
|
11788
11788
|
const intervalSec = Number(process.env.AGT_CONNECTIVITY_PROBE_INTERVAL_SECONDS) || 3600;
|
|
11789
11789
|
const result = await runConnectivityProbes(
|
|
@@ -12131,7 +12131,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
12131
12131
|
var lastVersionCheckAt = 0;
|
|
12132
12132
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
12133
12133
|
var lastResponsivenessProbeAt = 0;
|
|
12134
|
-
var agtCliVersion = true ? "0.28.
|
|
12134
|
+
var agtCliVersion = true ? "0.28.633" : "dev";
|
|
12135
12135
|
function resolveBrewPath(execFileSync3) {
|
|
12136
12136
|
try {
|
|
12137
12137
|
const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -13438,7 +13438,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
13438
13438
|
if (codeNames.length === 0) return;
|
|
13439
13439
|
void (async () => {
|
|
13440
13440
|
try {
|
|
13441
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
13441
|
+
const { collectDiagnostics } = await import("../persistent-session-ORYBOIBQ.js");
|
|
13442
13442
|
await api.post("/host/heartbeat", {
|
|
13443
13443
|
host_id: hostId,
|
|
13444
13444
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor)
|
|
@@ -13554,7 +13554,7 @@ async function pollCycleInner() {
|
|
|
13554
13554
|
}
|
|
13555
13555
|
try {
|
|
13556
13556
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
13557
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
13557
|
+
const { collectDiagnostics } = await import("../persistent-session-ORYBOIBQ.js");
|
|
13558
13558
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
13559
13559
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor) : void 0;
|
|
13560
13560
|
let tailscaleHostname;
|
|
@@ -13677,7 +13677,7 @@ async function pollCycleInner() {
|
|
|
13677
13677
|
collectPanelessActivityProbes,
|
|
13678
13678
|
getResponsivenessIntervalMs,
|
|
13679
13679
|
occupancyQualificationClassifications
|
|
13680
|
-
} = await import("../responsiveness-probe-
|
|
13680
|
+
} = await import("../responsiveness-probe-WYCKY2BJ.js");
|
|
13681
13681
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
13682
13682
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
13683
13683
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -13783,7 +13783,7 @@ async function pollCycleInner() {
|
|
|
13783
13783
|
collectResponsivenessProbes,
|
|
13784
13784
|
livePendingInboundOldestAgeSeconds,
|
|
13785
13785
|
parkPendingInbound
|
|
13786
|
-
} = await import("../responsiveness-probe-
|
|
13786
|
+
} = await import("../responsiveness-probe-WYCKY2BJ.js");
|
|
13787
13787
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
|
|
13788
13788
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
13789
13789
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -13939,7 +13939,7 @@ async function pollCycleInner() {
|
|
|
13939
13939
|
}
|
|
13940
13940
|
try {
|
|
13941
13941
|
const { scrapeMcpFailedBannerCount } = await import("../pane-mcp-banner-scraper-JA437JIB.js");
|
|
13942
|
-
const { probeSessionAuth } = await import("../session-auth-dead-
|
|
13942
|
+
const { probeSessionAuth } = await import("../session-auth-dead-NASGEQCA.js");
|
|
13943
13943
|
const observations = [];
|
|
13944
13944
|
const pendingCacheCommits = [];
|
|
13945
13945
|
const modelApiErrorReportingOn = hostFlagStore().getBoolean("model-api-error-reporting");
|
|
@@ -14265,6 +14265,31 @@ async function pollCycleInner() {
|
|
|
14265
14265
|
join35(dir, "watchdog-give-up.json"),
|
|
14266
14266
|
JSON.stringify({ gave_up_at: (/* @__PURE__ */ new Date()).toISOString() })
|
|
14267
14267
|
);
|
|
14268
|
+
},
|
|
14269
|
+
// ENG-9006: the agent is parked on Claude Code's usage-limit modal.
|
|
14270
|
+
//
|
|
14271
|
+
// Reuses the ENG-6058 signal file rather than adding a second channel —
|
|
14272
|
+
// the same precedent as the transient-overload wedge path above. What
|
|
14273
|
+
// differs is the `reason`, which makes the channel servers post "I've
|
|
14274
|
+
// reached my usage limit, your message is queued" instead of the
|
|
14275
|
+
// generic "please resend": the message is NOT lost, and telling a
|
|
14276
|
+
// customer to resend into a blocked pane is exactly what the ENG-9006
|
|
14277
|
+
// capture shows them already doing unprompted, four times.
|
|
14278
|
+
//
|
|
14279
|
+
// `resets_hint` is the modal's own reset text, passed through verbatim.
|
|
14280
|
+
// It is the only place Claude Code gives us a DATED reset; the banner
|
|
14281
|
+
// parser elsewhere can only reconstruct an hour (ENG-8901).
|
|
14282
|
+
signalUsageLimit: (codeName, resetsHint) => {
|
|
14283
|
+
const dir = getFramework("claude-code").getAgentDir(codeName);
|
|
14284
|
+
if (!existsSync15(dir)) return;
|
|
14285
|
+
atomicWriteFileSync(
|
|
14286
|
+
join35(dir, "watchdog-give-up.json"),
|
|
14287
|
+
JSON.stringify({
|
|
14288
|
+
gave_up_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
14289
|
+
reason: "usage_limit",
|
|
14290
|
+
...resetsHint ? { resets_hint: resetsHint } : {}
|
|
14291
|
+
})
|
|
14292
|
+
);
|
|
14268
14293
|
}
|
|
14269
14294
|
}, {
|
|
14270
14295
|
// ENG-6055: heal-keystroke escalation. 'disturb' (default) retries
|
|
@@ -17481,7 +17506,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
17481
17506
|
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}`));
|
|
17482
17507
|
void (async () => {
|
|
17483
17508
|
try {
|
|
17484
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
17509
|
+
const { collectDiagnostics } = await import("../persistent-session-ORYBOIBQ.js");
|
|
17485
17510
|
await api.post("/host/heartbeat", {
|
|
17486
17511
|
host_id: hostId,
|
|
17487
17512
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor)
|
|
@@ -17532,7 +17557,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
17532
17557
|
}
|
|
17533
17558
|
try {
|
|
17534
17559
|
const hostId = await getHostId();
|
|
17535
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
17560
|
+
const { collectDiagnostics } = await import("../persistent-session-ORYBOIBQ.js");
|
|
17536
17561
|
await api.post("/host/heartbeat", {
|
|
17537
17562
|
host_id: hostId,
|
|
17538
17563
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor, spawnOutcomeForDiagnostics, pidPressureFor)
|
|
@@ -18128,7 +18153,7 @@ async function processClaudePairSessions(agents) {
|
|
|
18128
18153
|
killPairSession,
|
|
18129
18154
|
pairTmuxSession,
|
|
18130
18155
|
finalizeClaudePairOnboarding
|
|
18131
|
-
} = await import("../claude-pair-runtime-
|
|
18156
|
+
} = await import("../claude-pair-runtime-DWNJWCSU.js");
|
|
18132
18157
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
18133
18158
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
18134
18159
|
const killed = await killPairSession(pairTmuxSession(pairId));
|