@integrity-labs/agt-cli 0.28.38 → 0.28.39
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-2V5QUET6.js → chunk-57MHPANB.js} +2 -2
- package/dist/{chunk-IJT4B5PH.js → chunk-AL7UJNNI.js} +3 -3
- package/dist/{chunk-RYB5QSVS.js → chunk-X5E2Q3W2.js} +18 -1
- package/dist/chunk-X5E2Q3W2.js.map +1 -0
- package/dist/{claude-pair-runtime-64KMVLCZ.js → claude-pair-runtime-LOL5YGXP.js} +2 -2
- package/dist/lib/manager-worker.js +43 -17
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/{persistent-session-27Q5QJF6.js → persistent-session-CFELQZI7.js} +3 -3
- package/dist/{responsiveness-probe-G6LP7KSH.js → responsiveness-probe-YOT3EKKN.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-RYB5QSVS.js.map +0 -1
- /package/dist/{chunk-2V5QUET6.js.map → chunk-57MHPANB.js.map} +0 -0
- /package/dist/{chunk-IJT4B5PH.js.map → chunk-AL7UJNNI.js.map} +0 -0
- /package/dist/{claude-pair-runtime-64KMVLCZ.js.map → claude-pair-runtime-LOL5YGXP.js.map} +0 -0
- /package/dist/{persistent-session-27Q5QJF6.js.map → persistent-session-CFELQZI7.js.map} +0 -0
- /package/dist/{responsiveness-probe-G6LP7KSH.js.map → responsiveness-probe-YOT3EKKN.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-CFELQZI7.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-LOL5YGXP.js.map
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
requireHost,
|
|
24
24
|
safeWriteJsonAtomic,
|
|
25
25
|
setConfigHash
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-AL7UJNNI.js";
|
|
27
27
|
import {
|
|
28
28
|
getProjectDir as getProjectDir2,
|
|
29
29
|
getReadyTasks,
|
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
takeWatchdogGiveUpCount,
|
|
66
66
|
takeZombieDetection,
|
|
67
67
|
transcriptActivityAgeSeconds
|
|
68
|
-
} from "../chunk-
|
|
68
|
+
} from "../chunk-57MHPANB.js";
|
|
69
69
|
import {
|
|
70
70
|
FLAGS_SCHEMA_VERSION,
|
|
71
71
|
FLAG_REGISTRY,
|
|
@@ -99,7 +99,7 @@ import {
|
|
|
99
99
|
sumTranscriptUsageInWindow,
|
|
100
100
|
worseConnectivityOutcome,
|
|
101
101
|
wrapScheduledTaskPrompt
|
|
102
|
-
} from "../chunk-
|
|
102
|
+
} from "../chunk-X5E2Q3W2.js";
|
|
103
103
|
import {
|
|
104
104
|
parsePsRows,
|
|
105
105
|
reapOrphanChannelMcps
|
|
@@ -4855,12 +4855,17 @@ async function deliverScheduledCardResult(codeName, agentId, cardId) {
|
|
|
4855
4855
|
markScheduledCardDeliveryComplete(cardId);
|
|
4856
4856
|
return "delivered";
|
|
4857
4857
|
}
|
|
4858
|
-
await processClaudeTaskResult(codeName, agentId, task.templateId, card.result ?? "", {
|
|
4858
|
+
const outcome = await processClaudeTaskResult(codeName, agentId, task.templateId, card.result ?? "", {
|
|
4859
4859
|
mode: task.deliveryMode,
|
|
4860
4860
|
channel: task.deliveryChannel,
|
|
4861
4861
|
to: task.deliveryTo,
|
|
4862
4862
|
taskId: task.taskId
|
|
4863
4863
|
});
|
|
4864
|
+
if (!outcome.ok) {
|
|
4865
|
+
releaseScheduledCardDelivery(cardId);
|
|
4866
|
+
log(`[scheduled-kanban] delivery: result post failed for card ${cardId} (task '${task.name}') on '${codeName}': ${outcome.error} \u2014 will retry`);
|
|
4867
|
+
return "retry";
|
|
4868
|
+
}
|
|
4864
4869
|
markScheduledCardDeliveryComplete(cardId);
|
|
4865
4870
|
log(`[scheduled-kanban] Delivered result from card ${cardId} (task '${task.name}') for '${codeName}'`);
|
|
4866
4871
|
return "delivered";
|
|
@@ -4975,7 +4980,7 @@ async function processClaudeTaskResult(codeName, agentId, templateId, rawOutput,
|
|
|
4975
4980
|
error_code: "NO_CONTENT"
|
|
4976
4981
|
});
|
|
4977
4982
|
}
|
|
4978
|
-
return;
|
|
4983
|
+
return { ok: true };
|
|
4979
4984
|
}
|
|
4980
4985
|
const output = classification.deliverable;
|
|
4981
4986
|
if (classification.action === "strip") {
|
|
@@ -5023,8 +5028,11 @@ async function processClaudeTaskResult(codeName, agentId, templateId, rawOutput,
|
|
|
5023
5028
|
delivery.taskId
|
|
5024
5029
|
);
|
|
5025
5030
|
}
|
|
5031
|
+
return { ok: true };
|
|
5026
5032
|
} catch (err) {
|
|
5027
|
-
|
|
5033
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
5034
|
+
log(`[claude-scheduler] Failed to post result for '${codeName}': ${errMsg}`);
|
|
5035
|
+
return { ok: false, error: errMsg };
|
|
5028
5036
|
}
|
|
5029
5037
|
}
|
|
5030
5038
|
|
|
@@ -5109,7 +5117,7 @@ async function executeAndProcessClaudeTask(codeName, agentId, task, prompt) {
|
|
|
5109
5117
|
let taskResult;
|
|
5110
5118
|
sanitizeMcpJson(mcpConfigPath, requireHost());
|
|
5111
5119
|
const priorRuns = await fetchPriorScheduledRuns(agentId, task.taskId);
|
|
5112
|
-
prompt = wrapScheduledTaskPrompt(prompt, { priorRuns });
|
|
5120
|
+
prompt = wrapScheduledTaskPrompt(prompt, { priorRuns, timezone: task.timezone });
|
|
5113
5121
|
try {
|
|
5114
5122
|
const claudeMdPath = join14(projectDir, "CLAUDE.md");
|
|
5115
5123
|
const serverNames = [];
|
|
@@ -5190,12 +5198,28 @@ async function executeAndProcessClaudeTask(codeName, agentId, task, prompt) {
|
|
|
5190
5198
|
const output = stdout.trim();
|
|
5191
5199
|
taskResult = output.slice(0, 4e3) || void 0;
|
|
5192
5200
|
log(`[claude-scheduler] Task '${task.name}' completed for '${codeName}' (${output.length} chars): ${output.slice(0, 300)}`);
|
|
5193
|
-
await processClaudeTaskResult(codeName, agentId, task.templateId, output, {
|
|
5201
|
+
const outcome = await processClaudeTaskResult(codeName, agentId, task.templateId, output, {
|
|
5194
5202
|
mode: task.deliveryMode,
|
|
5195
5203
|
channel: task.deliveryChannel,
|
|
5196
5204
|
to: task.deliveryTo,
|
|
5197
5205
|
taskId: task.taskId
|
|
5198
5206
|
});
|
|
5207
|
+
if (!outcome.ok) {
|
|
5208
|
+
log(`[claude-scheduler] Task '${task.name}' result post failed for '${codeName}': ${outcome.error}`);
|
|
5209
|
+
if (runId) {
|
|
5210
|
+
try {
|
|
5211
|
+
await finishRun(runId, "failed", {
|
|
5212
|
+
outcomeMessage: outcome.error,
|
|
5213
|
+
completeKanbanItemId: kanbanItemId,
|
|
5214
|
+
result: taskResult
|
|
5215
|
+
});
|
|
5216
|
+
} catch {
|
|
5217
|
+
}
|
|
5218
|
+
}
|
|
5219
|
+
const failedUpdate = markTaskFired(codeName, task.taskId, "error");
|
|
5220
|
+
claudeSchedulerStates.set(codeName, failedUpdate);
|
|
5221
|
+
return;
|
|
5222
|
+
}
|
|
5199
5223
|
if (runId) {
|
|
5200
5224
|
await finishRun(runId, "completed", {
|
|
5201
5225
|
metadata: { output_length: output.length },
|
|
@@ -5206,10 +5230,12 @@ async function executeAndProcessClaudeTask(codeName, agentId, task, prompt) {
|
|
|
5206
5230
|
const updated = markTaskFired(codeName, task.taskId, "ok");
|
|
5207
5231
|
claudeSchedulerStates.set(codeName, updated);
|
|
5208
5232
|
if (task.scheduleKind === "at") {
|
|
5209
|
-
|
|
5210
|
-
|
|
5211
|
-
|
|
5212
|
-
|
|
5233
|
+
try {
|
|
5234
|
+
await api.post("/host/schedules/disable", { agent_id: agentId, task_id: task.taskId });
|
|
5235
|
+
log(`[claude-scheduler] One-off task '${task.name}' fired and disabled for '${codeName}'`);
|
|
5236
|
+
} catch (err) {
|
|
5237
|
+
log(`[claude-scheduler] Failed to disable one-off task '${task.name}': ${err.message}`);
|
|
5238
|
+
}
|
|
5213
5239
|
}
|
|
5214
5240
|
} catch (err) {
|
|
5215
5241
|
const errMsg = err instanceof Error ? err.message : String(err);
|
|
@@ -6807,7 +6833,7 @@ var cachedMaintenanceWindow = null;
|
|
|
6807
6833
|
var lastVersionCheckAt = 0;
|
|
6808
6834
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
6809
6835
|
var lastResponsivenessProbeAt = 0;
|
|
6810
|
-
var agtCliVersion = true ? "0.28.
|
|
6836
|
+
var agtCliVersion = true ? "0.28.39" : "dev";
|
|
6811
6837
|
function resolveBrewPath(execFileSync4) {
|
|
6812
6838
|
try {
|
|
6813
6839
|
const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -7916,7 +7942,7 @@ async function pollCycle() {
|
|
|
7916
7942
|
}
|
|
7917
7943
|
try {
|
|
7918
7944
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
7919
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
7945
|
+
const { collectDiagnostics } = await import("../persistent-session-CFELQZI7.js");
|
|
7920
7946
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
7921
7947
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
|
|
7922
7948
|
let tailscaleHostname;
|
|
@@ -8017,7 +8043,7 @@ async function pollCycle() {
|
|
|
8017
8043
|
const {
|
|
8018
8044
|
collectResponsivenessProbes,
|
|
8019
8045
|
getResponsivenessIntervalMs
|
|
8020
|
-
} = await import("../responsiveness-probe-
|
|
8046
|
+
} = await import("../responsiveness-probe-YOT3EKKN.js");
|
|
8021
8047
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
8022
8048
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
8023
8049
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -8049,7 +8075,7 @@ async function pollCycle() {
|
|
|
8049
8075
|
collectResponsivenessProbes,
|
|
8050
8076
|
livePendingInboundOldestAgeSeconds,
|
|
8051
8077
|
parkPendingInbound
|
|
8052
|
-
} = await import("../responsiveness-probe-
|
|
8078
|
+
} = await import("../responsiveness-probe-YOT3EKKN.js");
|
|
8053
8079
|
const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
|
|
8054
8080
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
8055
8081
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -11453,7 +11479,7 @@ async function processClaudePairSessions(agents) {
|
|
|
11453
11479
|
killPairSession,
|
|
11454
11480
|
pairTmuxSession,
|
|
11455
11481
|
finalizeClaudePairOnboarding
|
|
11456
|
-
} = await import("../claude-pair-runtime-
|
|
11482
|
+
} = await import("../claude-pair-runtime-LOL5YGXP.js");
|
|
11457
11483
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
11458
11484
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
11459
11485
|
const killed = await killPairSession(pairTmuxSession(pairId));
|