@integrity-labs/agt-cli 0.28.415 → 0.28.417
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 +4 -4
- package/dist/{chunk-QZUKHEMO.js → chunk-I5SDCW2T.js} +72 -2
- package/dist/chunk-I5SDCW2T.js.map +1 -0
- package/dist/{chunk-TGHZFWWX.js → chunk-NDDVFICX.js} +3 -3
- package/dist/{claude-pair-runtime-BMYJSZIZ.js → claude-pair-runtime-I4Q66W7S.js} +2 -2
- package/dist/lib/manager-worker.js +30 -14
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/{persistent-session-EDUFOS36.js → persistent-session-EW7GTES3.js} +2 -2
- package/dist/{responsiveness-probe-SVTUFKX5.js → responsiveness-probe-HP3NKDGQ.js} +54 -29
- package/dist/responsiveness-probe-HP3NKDGQ.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-QZUKHEMO.js.map +0 -1
- package/dist/responsiveness-probe-SVTUFKX5.js.map +0 -1
- /package/dist/{chunk-TGHZFWWX.js.map → chunk-NDDVFICX.js.map} +0 -0
- /package/dist/{claude-pair-runtime-BMYJSZIZ.js.map → claude-pair-runtime-I4Q66W7S.js.map} +0 -0
- /package/dist/{persistent-session-EDUFOS36.js.map → persistent-session-EW7GTES3.js.map} +0 -0
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
resolveConnectivityProbe,
|
|
26
26
|
worseConnectivityOutcome,
|
|
27
27
|
wrapScheduledTaskPrompt
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-I5SDCW2T.js";
|
|
29
29
|
import {
|
|
30
30
|
parsePsRows
|
|
31
31
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -6003,7 +6003,7 @@ function requireHost() {
|
|
|
6003
6003
|
}
|
|
6004
6004
|
|
|
6005
6005
|
// src/lib/api-client.ts
|
|
6006
|
-
var agtCliVersion = true ? "0.28.
|
|
6006
|
+
var agtCliVersion = true ? "0.28.417" : "dev";
|
|
6007
6007
|
var lastConfigHash = null;
|
|
6008
6008
|
function setConfigHash(hash) {
|
|
6009
6009
|
lastConfigHash = hash && hash.length > 0 ? hash : null;
|
|
@@ -8507,4 +8507,4 @@ export {
|
|
|
8507
8507
|
managerInstallSystemUnitCommand,
|
|
8508
8508
|
managerUninstallSystemUnitCommand
|
|
8509
8509
|
};
|
|
8510
|
-
//# sourceMappingURL=chunk-
|
|
8510
|
+
//# sourceMappingURL=chunk-NDDVFICX.js.map
|
|
@@ -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-EW7GTES3.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-I4Q66W7S.js.map
|
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
resolveEffectivePinRaw,
|
|
46
46
|
safeWriteJsonAtomic,
|
|
47
47
|
setConfigHash
|
|
48
|
-
} from "../chunk-
|
|
48
|
+
} from "../chunk-NDDVFICX.js";
|
|
49
49
|
import {
|
|
50
50
|
getProjectDir as getProjectDir2,
|
|
51
51
|
getReadyTasks,
|
|
@@ -85,7 +85,9 @@ import {
|
|
|
85
85
|
getFramework,
|
|
86
86
|
getIntegration,
|
|
87
87
|
getLastFailureContext,
|
|
88
|
+
getOpencodeActivityAgeSeconds,
|
|
88
89
|
getOpencodeSessionState,
|
|
90
|
+
getOpencodeTurnHealth,
|
|
89
91
|
getProjectDir,
|
|
90
92
|
getSessionState,
|
|
91
93
|
hashFile,
|
|
@@ -148,7 +150,7 @@ import {
|
|
|
148
150
|
toOpencodeModel,
|
|
149
151
|
transcriptActivityAgeSeconds,
|
|
150
152
|
writeEgressAllowlist
|
|
151
|
-
} from "../chunk-
|
|
153
|
+
} from "../chunk-I5SDCW2T.js";
|
|
152
154
|
import {
|
|
153
155
|
reapOrphanChannelMcps
|
|
154
156
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -5642,7 +5644,7 @@ function unregisterClaudeSpawn(pid) {
|
|
|
5642
5644
|
} catch {
|
|
5643
5645
|
}
|
|
5644
5646
|
}
|
|
5645
|
-
async function syncAndCheckClaudeScheduler(agent, tasks, boardItems, refreshData) {
|
|
5647
|
+
async function syncAndCheckClaudeScheduler(agent, tasks, boardItems, refreshData, durableScheduledNudge = false) {
|
|
5646
5648
|
const codeName = agent.code_name;
|
|
5647
5649
|
const stableTasksHash = createHash11("sha256").update(JSON.stringify(tasks)).digest("hex").slice(0, 16);
|
|
5648
5650
|
const boardHash = boardItems.length > 0 ? createHash11("sha256").update(JSON.stringify(boardItems.map((b) => ({ id: b.id, title: b.title, status: b.status, priority: b.priority, deliverable: b.deliverable })))).digest("hex").slice(0, 16) : "empty";
|
|
@@ -5678,7 +5680,7 @@ async function syncAndCheckClaudeScheduler(agent, tasks, boardItems, refreshData
|
|
|
5678
5680
|
}
|
|
5679
5681
|
inFlightClaudeTasks.add(task.taskId);
|
|
5680
5682
|
claudeTaskConcurrency.set(codeName, (claudeTaskConcurrency.get(codeName) ?? 0) + 1);
|
|
5681
|
-
await fireScheduledTaskViaKanban(codeName, agent.agent_id, task, prompt);
|
|
5683
|
+
await fireScheduledTaskViaKanban(codeName, agent.agent_id, task, prompt, durableScheduledNudge);
|
|
5682
5684
|
inFlightClaudeTasks.delete(task.taskId);
|
|
5683
5685
|
claudeTaskConcurrency.set(codeName, Math.max(0, (claudeTaskConcurrency.get(codeName) ?? 1) - 1));
|
|
5684
5686
|
}
|
|
@@ -9456,7 +9458,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
9456
9458
|
var lastVersionCheckAt = 0;
|
|
9457
9459
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
9458
9460
|
var lastResponsivenessProbeAt = 0;
|
|
9459
|
-
var agtCliVersion = true ? "0.28.
|
|
9461
|
+
var agtCliVersion = true ? "0.28.417" : "dev";
|
|
9460
9462
|
function resolveBrewPath(execFileSync2) {
|
|
9461
9463
|
try {
|
|
9462
9464
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -10604,7 +10606,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
10604
10606
|
if (codeNames.length === 0) return;
|
|
10605
10607
|
void (async () => {
|
|
10606
10608
|
try {
|
|
10607
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
10609
|
+
const { collectDiagnostics } = await import("../persistent-session-EW7GTES3.js");
|
|
10608
10610
|
await api.post("/host/heartbeat", {
|
|
10609
10611
|
host_id: hostId,
|
|
10610
10612
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor)
|
|
@@ -10711,7 +10713,7 @@ async function pollCycle() {
|
|
|
10711
10713
|
}
|
|
10712
10714
|
try {
|
|
10713
10715
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
10714
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
10716
|
+
const { collectDiagnostics } = await import("../persistent-session-EW7GTES3.js");
|
|
10715
10717
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
10716
10718
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor) : void 0;
|
|
10717
10719
|
let tailscaleHostname;
|
|
@@ -10823,14 +10825,22 @@ async function pollCycle() {
|
|
|
10823
10825
|
try {
|
|
10824
10826
|
const {
|
|
10825
10827
|
collectResponsivenessProbes,
|
|
10828
|
+
collectPanelessActivityProbes,
|
|
10826
10829
|
getResponsivenessIntervalMs
|
|
10827
|
-
} = await import("../responsiveness-probe-
|
|
10830
|
+
} = await import("../responsiveness-probe-HP3NKDGQ.js");
|
|
10828
10831
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
10829
10832
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
10830
10833
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
10831
10834
|
if (probeCodeNames.length > 0) {
|
|
10832
10835
|
const drainedGiveUps = /* @__PURE__ */ new Map();
|
|
10833
|
-
const
|
|
10836
|
+
const paneless = collectPanelessActivityProbes(probeCodeNames, {
|
|
10837
|
+
busyActivityAgeSeconds: (codeName) => getOpencodeActivityAgeSeconds(codeName),
|
|
10838
|
+
turnCompletionAgeSeconds: (codeName) => {
|
|
10839
|
+
const lastRepliedAt = getOpencodeTurnHealth(codeName)?.lastRepliedAt ?? null;
|
|
10840
|
+
return lastRepliedAt == null ? null : Math.max(0, Math.floor((Date.now() - lastRepliedAt) / 1e3));
|
|
10841
|
+
}
|
|
10842
|
+
});
|
|
10843
|
+
const probes = [...collectResponsivenessProbes(probeCodeNames), ...paneless].map((p) => {
|
|
10834
10844
|
const giveUps = takeWatchdogGiveUpCount(p.code_name);
|
|
10835
10845
|
if (giveUps > 0) drainedGiveUps.set(p.code_name, giveUps);
|
|
10836
10846
|
return { ...p, input_stuck_give_ups: giveUps };
|
|
@@ -10856,7 +10866,7 @@ async function pollCycle() {
|
|
|
10856
10866
|
collectResponsivenessProbes,
|
|
10857
10867
|
livePendingInboundOldestAgeSeconds,
|
|
10858
10868
|
parkPendingInbound
|
|
10859
|
-
} = await import("../responsiveness-probe-
|
|
10869
|
+
} = await import("../responsiveness-probe-HP3NKDGQ.js");
|
|
10860
10870
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-HYOOQV4A.js");
|
|
10861
10871
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
10862
10872
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -13283,7 +13293,13 @@ async function processAgent(agent, agentStates) {
|
|
|
13283
13293
|
await syncAndCheckOpencodeScheduler(agent, tasks, refreshData);
|
|
13284
13294
|
}
|
|
13285
13295
|
} else if (agentFw === "claude-code" && tasks.length > 0) {
|
|
13286
|
-
await syncAndCheckClaudeScheduler(
|
|
13296
|
+
await syncAndCheckClaudeScheduler(
|
|
13297
|
+
agent,
|
|
13298
|
+
tasks,
|
|
13299
|
+
boardItems,
|
|
13300
|
+
refreshData,
|
|
13301
|
+
hostFlagStore().getBoolean("scheduled-task-nudge-durable")
|
|
13302
|
+
);
|
|
13287
13303
|
}
|
|
13288
13304
|
{
|
|
13289
13305
|
const triggerAt = refreshData.agent.work_trigger_at;
|
|
@@ -14161,7 +14177,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
14161
14177
|
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}`));
|
|
14162
14178
|
void (async () => {
|
|
14163
14179
|
try {
|
|
14164
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
14180
|
+
const { collectDiagnostics } = await import("../persistent-session-EW7GTES3.js");
|
|
14165
14181
|
await api.post("/host/heartbeat", {
|
|
14166
14182
|
host_id: hostId,
|
|
14167
14183
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor)
|
|
@@ -14211,7 +14227,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
14211
14227
|
}
|
|
14212
14228
|
try {
|
|
14213
14229
|
const hostId = await getHostId();
|
|
14214
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
14230
|
+
const { collectDiagnostics } = await import("../persistent-session-EW7GTES3.js");
|
|
14215
14231
|
await api.post("/host/heartbeat", {
|
|
14216
14232
|
host_id: hostId,
|
|
14217
14233
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor)
|
|
@@ -14664,7 +14680,7 @@ async function processClaudePairSessions(agents) {
|
|
|
14664
14680
|
killPairSession,
|
|
14665
14681
|
pairTmuxSession,
|
|
14666
14682
|
finalizeClaudePairOnboarding
|
|
14667
|
-
} = await import("../claude-pair-runtime-
|
|
14683
|
+
} = await import("../claude-pair-runtime-I4Q66W7S.js");
|
|
14668
14684
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
14669
14685
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
14670
14686
|
const killed = await killPairSession(pairTmuxSession(pairId));
|