@assemblyline-agents/runtime 6.0.0 → 6.1.0
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/README.md +3 -1
- package/dist/background-subagents.d.ts +11 -6
- package/dist/background-subagents.d.ts.map +1 -1
- package/dist/background-subagents.js +39 -147
- package/dist/background-subagents.js.map +1 -1
- package/dist/builtin-tool-executors.d.ts.map +1 -1
- package/dist/builtin-tool-executors.js +12 -7
- package/dist/builtin-tool-executors.js.map +1 -1
- package/dist/builtin-tools.d.ts.map +1 -1
- package/dist/builtin-tools.js +42 -5
- package/dist/builtin-tools.js.map +1 -1
- package/dist/delivery-send.d.ts.map +1 -1
- package/dist/delivery-send.js +6 -5
- package/dist/delivery-send.js.map +1 -1
- package/dist/durable-files.d.ts.map +1 -1
- package/dist/durable-files.js +16 -2
- package/dist/durable-files.js.map +1 -1
- package/dist/harness-capabilities.js +1 -1
- package/dist/harness-capabilities.js.map +1 -1
- package/dist/harness-tool-execution.d.ts.map +1 -1
- package/dist/harness-tool-execution.js +6 -1
- package/dist/harness-tool-execution.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/json-util.d.ts +8 -1
- package/dist/json-util.d.ts.map +1 -1
- package/dist/json-util.js +24 -2
- package/dist/json-util.js.map +1 -1
- package/dist/replay-resume-recovery.d.ts +2 -4
- package/dist/replay-resume-recovery.d.ts.map +1 -1
- package/dist/replay-resume-recovery.js +9 -13
- package/dist/replay-resume-recovery.js.map +1 -1
- package/dist/resource-projection-util.d.ts +1 -3
- package/dist/resource-projection-util.d.ts.map +1 -1
- package/dist/resource-projection-util.js +0 -35
- package/dist/resource-projection-util.js.map +1 -1
- package/dist/resource-projection.d.ts +2 -1
- package/dist/resource-projection.d.ts.map +1 -1
- package/dist/resource-projection.js +54 -115
- package/dist/resource-projection.js.map +1 -1
- package/dist/run-outcome.d.ts +1 -1
- package/dist/run-outcome.d.ts.map +1 -1
- package/dist/run-outcome.js.map +1 -1
- package/dist/run-recovery.d.ts +17 -6
- package/dist/run-recovery.d.ts.map +1 -1
- package/dist/run-recovery.js +249 -40
- package/dist/run-recovery.js.map +1 -1
- package/dist/runtime-engine-background.d.ts.map +1 -1
- package/dist/runtime-engine-background.js +10 -0
- package/dist/runtime-engine-background.js.map +1 -1
- package/dist/runtime-engine-base.d.ts.map +1 -1
- package/dist/runtime-engine-base.js +4 -3
- package/dist/runtime-engine-base.js.map +1 -1
- package/dist/runtime-engine-capabilities.d.ts +2 -1
- package/dist/runtime-engine-capabilities.d.ts.map +1 -1
- package/dist/runtime-engine-capabilities.js +1 -0
- package/dist/runtime-engine-capabilities.js.map +1 -1
- package/dist/runtime-engine-hooks.d.ts.map +1 -1
- package/dist/runtime-engine-hooks.js +5 -1
- package/dist/runtime-engine-hooks.js.map +1 -1
- package/dist/runtime-engine-resources.d.ts +2 -1
- package/dist/runtime-engine-resources.d.ts.map +1 -1
- package/dist/runtime-engine-resources.js +4 -1
- package/dist/runtime-engine-resources.js.map +1 -1
- package/dist/sandbox-atomic-json.d.ts +4 -0
- package/dist/sandbox-atomic-json.d.ts.map +1 -0
- package/dist/sandbox-atomic-json.js +23 -0
- package/dist/sandbox-atomic-json.js.map +1 -0
- package/dist/sandbox-authored-tool-executor.d.ts.map +1 -1
- package/dist/sandbox-authored-tool-executor.js +13 -3
- package/dist/sandbox-authored-tool-executor.js.map +1 -1
- package/dist/sandbox-fs.d.ts +14 -5
- package/dist/sandbox-fs.d.ts.map +1 -1
- package/dist/sandbox-fs.js +36 -30
- package/dist/sandbox-fs.js.map +1 -1
- package/dist/sandbox-handle.d.ts +2 -1
- package/dist/sandbox-handle.d.ts.map +1 -1
- package/dist/sandbox-handle.js +4 -1
- package/dist/sandbox-handle.js.map +1 -1
- package/dist/sandbox-materialize.d.ts +30 -0
- package/dist/sandbox-materialize.d.ts.map +1 -0
- package/dist/sandbox-materialize.js +125 -0
- package/dist/sandbox-materialize.js.map +1 -0
- package/dist/sandbox-tool-bridge.d.ts.map +1 -1
- package/dist/sandbox-tool-bridge.js +21 -0
- package/dist/sandbox-tool-bridge.js.map +1 -1
- package/dist/schedule-execution.d.ts.map +1 -1
- package/dist/schedule-execution.js +20 -5
- package/dist/schedule-execution.js.map +1 -1
- package/dist/source-loader.d.ts +3 -0
- package/dist/source-loader.d.ts.map +1 -1
- package/dist/source-loader.js +5 -0
- package/dist/source-loader.js.map +1 -1
- package/dist/state/store-contracts.d.ts +1 -0
- package/dist/state/store-contracts.d.ts.map +1 -1
- package/dist/subagent-execution.d.ts +14 -7
- package/dist/subagent-execution.d.ts.map +1 -1
- package/dist/subagent-execution.js +140 -152
- package/dist/subagent-execution.js.map +1 -1
- package/dist/subagent-settlement.d.ts +50 -0
- package/dist/subagent-settlement.d.ts.map +1 -0
- package/dist/subagent-settlement.js +134 -0
- package/dist/subagent-settlement.js.map +1 -0
- package/dist/tool-execution-host.d.ts +1 -0
- package/dist/tool-execution-host.d.ts.map +1 -1
- package/dist/tool-execution.js +4 -1
- package/dist/tool-execution.js.map +1 -1
- package/dist/workspace-manifest.d.ts +16 -1
- package/dist/workspace-manifest.d.ts.map +1 -1
- package/dist/workspace-manifest.js +24 -6
- package/dist/workspace-manifest.js.map +1 -1
- package/dist/workspace-service.d.ts.map +1 -1
- package/dist/workspace-service.js +10 -1
- package/dist/workspace-service.js.map +1 -1
- package/package.json +3 -3
package/dist/run-recovery.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { DELEGATE_TOOL_NAME } from "@assemblyline-agents/core";
|
|
1
2
|
import { assistantTextFromContinuation } from "@assemblyline-agents/pi";
|
|
2
3
|
import { enqueueRunFailureNotice, finalDeliveryIdempotencyKey } from "./delivery-queue.js";
|
|
3
4
|
import { storedHarnessContinuation } from "./harness-continuation.js";
|
|
5
|
+
import { isJsonObject, safeJson } from "./json-util.js";
|
|
4
6
|
import { failRun } from "./run-outcome.js";
|
|
5
7
|
import { reportRecoveredSandboxSyncJob } from "./sandbox-sync-worker.js";
|
|
8
|
+
import { subagentToolResult } from "./subagent-execution.js";
|
|
9
|
+
import { isBackgroundSubagentRun, isTerminalRunStatus } from "./subagent-settlement.js";
|
|
6
10
|
const ORPHAN_CANDIDATE_STATUSES = new Set(["created", "running"]);
|
|
7
11
|
// Suspended runs are intentionally excluded: only an explicit operator resume may reactivate them.
|
|
8
12
|
function errorMessage(error) {
|
|
@@ -34,33 +38,14 @@ export async function recoverIncompleteRunsImpl(host, options = {}) {
|
|
|
34
38
|
? await state.listRunsByStatus(["created", "running"], { updatedBefore: cutoffIso })
|
|
35
39
|
: await state.listRuns();
|
|
36
40
|
const recovered = [];
|
|
37
|
-
const
|
|
41
|
+
const sweep = { maxResumeAttempts: options.maxResumeAttempts ?? 1, cutoff };
|
|
38
42
|
for (const run of candidates) {
|
|
39
43
|
if (!ORPHAN_CANDIDATE_STATUSES.has(run.status))
|
|
40
44
|
continue;
|
|
41
45
|
if (Date.parse(run.updatedAt) > cutoff)
|
|
42
46
|
continue;
|
|
43
|
-
// Multi-replica claim: exactly one sweeper acts on this (run, updatedAt) generation.
|
|
44
|
-
const claimed = await state.reserveIdempotencyKey("run:recovery", `${run.id}:${run.updatedAt}`, run.id);
|
|
45
|
-
if (!claimed)
|
|
46
|
-
continue;
|
|
47
47
|
try {
|
|
48
|
-
|
|
49
|
-
// between the listing and the claim must not be recovered.
|
|
50
|
-
const current = await state.getRun(run.id);
|
|
51
|
-
if (!current || !ORPHAN_CANDIDATE_STATUSES.has(current.status) || Date.parse(current.updatedAt) > cutoff)
|
|
52
|
-
continue;
|
|
53
|
-
// Open the next claim generation immediately: if THIS sweeper crashes
|
|
54
|
-
// mid-recovery, a later sweep computes a fresh `${id}:${updatedAt}` key
|
|
55
|
-
// instead of skipping the run forever on the burned claim. Adapters
|
|
56
|
-
// without touchRun fall back to an empty update so the bump still lands.
|
|
57
|
-
if (state.touchRun)
|
|
58
|
-
await state.touchRun(run.id);
|
|
59
|
-
else
|
|
60
|
-
await state.updateRun(run.id, {});
|
|
61
|
-
const outcome = await recoverOrphanedRun(host, current, maxResumeAttempts);
|
|
62
|
-
if (outcome)
|
|
63
|
-
recovered.push(outcome);
|
|
48
|
+
recovered.push(...await claimAndRecover(host, run, sweep));
|
|
64
49
|
}
|
|
65
50
|
catch (error) {
|
|
66
51
|
// One bad run must not abort the sweep for the remaining candidates.
|
|
@@ -71,8 +56,67 @@ export async function recoverIncompleteRunsImpl(host, options = {}) {
|
|
|
71
56
|
}
|
|
72
57
|
}
|
|
73
58
|
await recoverStuckConnectionWaits(host, cutoff, now, recovered);
|
|
59
|
+
await settleUnsettledChildRuns(host, now, staleAfterMs);
|
|
74
60
|
return recovered;
|
|
75
61
|
}
|
|
62
|
+
const SETTLEMENT_SWEEP_SCOPE = "run-recovery";
|
|
63
|
+
const SETTLEMENT_WATERMARK_KEY = "subagent-settlement-watermark";
|
|
64
|
+
const SETTLEMENT_SWEEP_LIMIT = 200;
|
|
65
|
+
const TERMINAL_STATUS_LIST = ["completed", "failed", "cancelled"];
|
|
66
|
+
const SETTLEMENT_MARKER_EVENTS = new Set(["run.completed", "run.failed", "run.cancelled", "run.recovered"]);
|
|
67
|
+
/**
|
|
68
|
+
* A child that reached a terminal status but whose process died before
|
|
69
|
+
* settlement reported it (subagent-settlement.ts) is never `created`/`running`
|
|
70
|
+
* again, so the orphan sweep alone would miss it. Walk terminal runs newer
|
|
71
|
+
* than a durable watermark and settle the child runs that carry no
|
|
72
|
+
* `subagent.settled` after their latest terminal transition. The watermark
|
|
73
|
+
* advances to the newest run of a full page (so a backlog is paged through
|
|
74
|
+
* across sweeps) and otherwise trails `now` by one staleness window, so a
|
|
75
|
+
* terminal write racing this listing is seen by the next sweep; settlement's
|
|
76
|
+
* reservation makes the overlap idempotent.
|
|
77
|
+
*/
|
|
78
|
+
async function settleUnsettledChildRuns(host, now, staleAfterMs) {
|
|
79
|
+
const { state } = host;
|
|
80
|
+
const stored = (await state.getSetting(SETTLEMENT_SWEEP_SCOPE, SETTLEMENT_WATERMARK_KEY))?.value;
|
|
81
|
+
const watermark = typeof stored === "string" ? stored : undefined;
|
|
82
|
+
const candidates = state.listRunsByStatus
|
|
83
|
+
? await state.listRunsByStatus(TERMINAL_STATUS_LIST, {
|
|
84
|
+
...(watermark ? { updatedAfter: watermark } : {}),
|
|
85
|
+
limit: SETTLEMENT_SWEEP_LIMIT
|
|
86
|
+
})
|
|
87
|
+
: (await state.listRuns())
|
|
88
|
+
.filter((run) => TERMINAL_STATUS_LIST.includes(run.status) && (!watermark || run.updatedAt > watermark))
|
|
89
|
+
.sort((left, right) => left.updatedAt.localeCompare(right.updatedAt))
|
|
90
|
+
.slice(0, SETTLEMENT_SWEEP_LIMIT);
|
|
91
|
+
for (const run of candidates) {
|
|
92
|
+
if (!isSubagentRun(run))
|
|
93
|
+
continue;
|
|
94
|
+
try {
|
|
95
|
+
if (settledAfterTerminalTransition(await state.listEvents(run.id)))
|
|
96
|
+
continue;
|
|
97
|
+
await host.settleSubagentRun(await host.replay(run.id));
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
host.logger.warn("subagent settlement sweep failed for run", { runId: run.id, error: errorMessage(error) });
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const next = candidates.length === SETTLEMENT_SWEEP_LIMIT
|
|
104
|
+
? candidates[candidates.length - 1].updatedAt
|
|
105
|
+
: new Date(now.getTime() - staleAfterMs).toISOString();
|
|
106
|
+
if (!watermark || next > watermark)
|
|
107
|
+
await state.setSetting(SETTLEMENT_SWEEP_SCOPE, SETTLEMENT_WATERMARK_KEY, next);
|
|
108
|
+
}
|
|
109
|
+
function settledAfterTerminalTransition(events) {
|
|
110
|
+
let marker = 0;
|
|
111
|
+
let settled = 0;
|
|
112
|
+
for (const event of events) {
|
|
113
|
+
if (SETTLEMENT_MARKER_EVENTS.has(event.type))
|
|
114
|
+
marker = Math.max(marker, event.sequence);
|
|
115
|
+
if (event.type === "subagent.settled")
|
|
116
|
+
settled = Math.max(settled, event.sequence);
|
|
117
|
+
}
|
|
118
|
+
return settled > marker;
|
|
119
|
+
}
|
|
76
120
|
/**
|
|
77
121
|
* Older deployments may have left required-connection or authorization waits
|
|
78
122
|
* parked. Reconcile those records so an expired/missing callback session can
|
|
@@ -199,8 +243,69 @@ function lastMissingConnections(events) {
|
|
|
199
243
|
}
|
|
200
244
|
return [];
|
|
201
245
|
}
|
|
202
|
-
|
|
246
|
+
/**
|
|
247
|
+
* Multi-replica claim: exactly one sweeper acts on this (run, updatedAt)
|
|
248
|
+
* generation. Returns the recovered run plus any parent it woke.
|
|
249
|
+
*/
|
|
250
|
+
async function claimAndRecover(host, run, sweep) {
|
|
251
|
+
const { state } = host;
|
|
252
|
+
const claimed = await state.reserveIdempotencyKey("run:recovery", `${run.id}:${run.updatedAt}`, run.id);
|
|
253
|
+
if (!claimed)
|
|
254
|
+
return [];
|
|
255
|
+
// The listing is a snapshot: a run that came alive or terminalized
|
|
256
|
+
// between the listing and the claim must not be recovered.
|
|
257
|
+
const current = await state.getRun(run.id);
|
|
258
|
+
if (!current || !ORPHAN_CANDIDATE_STATUSES.has(current.status) || Date.parse(current.updatedAt) > sweep.cutoff)
|
|
259
|
+
return [];
|
|
260
|
+
// Open the next claim generation immediately: if THIS sweeper crashes
|
|
261
|
+
// mid-recovery, a later sweep computes a fresh `${id}:${updatedAt}` key
|
|
262
|
+
// instead of skipping the run forever on the burned claim. Adapters
|
|
263
|
+
// without touchRun fall back to an empty update so the bump still lands.
|
|
264
|
+
if (state.touchRun)
|
|
265
|
+
await state.touchRun(run.id);
|
|
266
|
+
else
|
|
267
|
+
await state.updateRun(run.id, {});
|
|
268
|
+
const outcome = await recoverOrphanedRun(host, current, sweep);
|
|
269
|
+
if (!outcome)
|
|
270
|
+
return [];
|
|
271
|
+
if (!isSubagentRun(outcome) || !isTerminalRunStatus(outcome.status))
|
|
272
|
+
return [outcome];
|
|
273
|
+
const settled = await host.settleSubagentRun(await host.replay(outcome.id));
|
|
274
|
+
if (isBackgroundSubagentRun(settled.run))
|
|
275
|
+
return [settled.run];
|
|
276
|
+
// A foreground child never outlives its parent's process, so a recovered
|
|
277
|
+
// child means the parent is waiting on it: wake the parent with the real
|
|
278
|
+
// delegate result instead of an "interrupted" one.
|
|
279
|
+
return [settled.run, ...await wakeForegroundParent(host, settled.run, sweep)];
|
|
280
|
+
}
|
|
281
|
+
function isSubagentRun(run) {
|
|
282
|
+
return typeof run.input.parentRunId === "string" && typeof run.input.subagent === "string";
|
|
283
|
+
}
|
|
284
|
+
async function wakeForegroundParent(host, child, sweep) {
|
|
285
|
+
const parent = await host.state.getRun(String(child.input.parentRunId));
|
|
286
|
+
if (!parent || !ORPHAN_CANDIDATE_STATUSES.has(parent.status))
|
|
287
|
+
return [];
|
|
288
|
+
// Only a parent with no live executor may be driven from here: stale by the
|
|
289
|
+
// sweep cutoff, or explicitly parked by an earlier sweep on this child.
|
|
290
|
+
const stale = Date.parse(parent.updatedAt) <= sweep.cutoff;
|
|
291
|
+
if (!stale && !(await recoveryDeferredOnChild(host.state, parent.id, child.id)))
|
|
292
|
+
return [];
|
|
293
|
+
return claimAndRecover(host, parent, { ...sweep, cutoff: Number.POSITIVE_INFINITY });
|
|
294
|
+
}
|
|
295
|
+
async function recoveryDeferredOnChild(state, parentRunId, childRunId) {
|
|
296
|
+
const events = await state.listEvents(parentRunId);
|
|
297
|
+
for (let index = events.length - 1; index >= 0; index -= 1) {
|
|
298
|
+
const event = events[index];
|
|
299
|
+
if (event?.type === "run.recovery_deferred")
|
|
300
|
+
return event.data.awaitingChildRunId === childRunId;
|
|
301
|
+
if (event?.type === "run.recovered")
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
async function recoverOrphanedRun(host, run, sweep) {
|
|
203
307
|
const { state } = host;
|
|
308
|
+
const { maxResumeAttempts } = sweep;
|
|
204
309
|
const events = await state.listEvents(run.id);
|
|
205
310
|
const eventTypes = new Set(events.map((event) => event.type));
|
|
206
311
|
await state.appendEvent(run.id, "run.recovery_started", {
|
|
@@ -238,14 +343,23 @@ async function recoverOrphanedRun(host, run, maxResumeAttempts) {
|
|
|
238
343
|
return cancelled;
|
|
239
344
|
}
|
|
240
345
|
// Tools that started but never settled were mid-execution at crash time.
|
|
241
|
-
// Their external side effects may or may not have happened, so
|
|
242
|
-
//
|
|
243
|
-
//
|
|
244
|
-
|
|
346
|
+
// Their external side effects may or may not have happened, so settle them
|
|
347
|
+
// durably (a delegate whose child finished gets that real result; anything
|
|
348
|
+
// else is failed-as-interrupted) and tell the resume path rather than
|
|
349
|
+
// silently re-driving the model into re-executing them.
|
|
350
|
+
const settlement = await settleUnsettledToolCalls(host, run, events);
|
|
351
|
+
if (settlement.awaitingChildRunId) {
|
|
352
|
+
// The delegate's child is still alive: it settles itself and wakes this
|
|
353
|
+
// run with its result, so resuming now would only make the model repeat
|
|
354
|
+
// the delegation.
|
|
355
|
+
await state.appendEvent(run.id, "run.recovery_deferred", { awaitingChildRunId: settlement.awaitingChildRunId });
|
|
356
|
+
return undefined;
|
|
357
|
+
}
|
|
358
|
+
const { toolOutcomes } = settlement;
|
|
245
359
|
const resumeAttempts = events.filter((event) => event.type === "run.recovery_resume_attempted").length;
|
|
246
360
|
if (resumeAttempts < maxResumeAttempts) {
|
|
247
361
|
try {
|
|
248
|
-
const resumed = await host.resumeRunFromContinuation(run,
|
|
362
|
+
const resumed = await host.resumeRunFromContinuation(run, toolOutcomes.length > 0 ? { toolOutcomes } : undefined);
|
|
249
363
|
if (resumed) {
|
|
250
364
|
await state.appendEvent(resumed.id, "run.recovered", {
|
|
251
365
|
strategy: "resume-from-continuation",
|
|
@@ -326,12 +440,22 @@ async function recoverOrphanedRun(host, run, maxResumeAttempts) {
|
|
|
326
440
|
}
|
|
327
441
|
const failed = await failRun({ state }, run.id, {
|
|
328
442
|
reason: "run.orphaned",
|
|
329
|
-
error:
|
|
443
|
+
error: orphanedRunError(events, resumeAttempts),
|
|
330
444
|
data: { recovered: true }
|
|
331
445
|
});
|
|
332
446
|
await state.appendEvent(run.id, "run.recovered", { strategy: "orphaned-marked-failed" });
|
|
333
447
|
return failed;
|
|
334
448
|
}
|
|
449
|
+
/** Say what actually happened: "no durable progress" is only true before the first model request. */
|
|
450
|
+
function orphanedRunError(events, resumeAttempts) {
|
|
451
|
+
const iterations = events.filter((event) => event.type === "model.request_started").length;
|
|
452
|
+
if (iterations === 0)
|
|
453
|
+
return "Run orphaned: the runtime stopped before this run made durable progress.";
|
|
454
|
+
const attempts = resumeAttempts > 0
|
|
455
|
+
? ` and could not be resumed from its continuation (${resumeAttempts} attempt${resumeAttempts === 1 ? "" : "s"})`
|
|
456
|
+
: " and left no resumable continuation";
|
|
457
|
+
return `Run orphaned: the runtime stopped after ${iterations} model iteration${iterations === 1 ? "" : "s"}${attempts}.`;
|
|
458
|
+
}
|
|
335
459
|
/**
|
|
336
460
|
* Preserve observational completeness for requests interrupted by a crash.
|
|
337
461
|
* No token or cash values are inferred: a request without a recorded response
|
|
@@ -387,12 +511,16 @@ async function recoverOutstandingUsageObservations(host, run, events) {
|
|
|
387
511
|
}
|
|
388
512
|
}
|
|
389
513
|
}
|
|
514
|
+
const INTERRUPTED_TOOL_ERROR = "Interrupted: the runtime stopped while this tool was executing; its side effects may or may not have happened.";
|
|
515
|
+
const INTERRUPTED_DELEGATE_ERROR = "Interrupted: the runtime stopped while delegate was executing and no child run had been started, so no work was done. Delegate the task again.";
|
|
390
516
|
/**
|
|
391
517
|
* Find tool calls with `tool.execution_started` but no settle event
|
|
392
|
-
* (`tool.execution_completed`/`tool.execution_failed`)
|
|
393
|
-
*
|
|
518
|
+
* (`tool.execution_completed`/`tool.execution_failed`) and give each a durable
|
|
519
|
+
* outcome. A `delegate` call is matched to the child run it created: a
|
|
520
|
+
* terminal child supplies its real result; a live child defers this run; no
|
|
521
|
+
* child means nothing happened. Everything else is failed as interrupted.
|
|
394
522
|
*/
|
|
395
|
-
async function
|
|
523
|
+
async function settleUnsettledToolCalls(host, run, events) {
|
|
396
524
|
const started = new Map();
|
|
397
525
|
for (const event of events) {
|
|
398
526
|
const toolCallId = typeof event.data.toolCallId === "string" ? event.data.toolCallId : undefined;
|
|
@@ -405,22 +533,103 @@ async function markInterruptedToolCalls(host, run, events) {
|
|
|
405
533
|
started.delete(toolCallId);
|
|
406
534
|
}
|
|
407
535
|
}
|
|
408
|
-
const
|
|
536
|
+
const delegateResults = new Map();
|
|
537
|
+
if ([...started.values()].includes(DELEGATE_TOOL_NAME)) {
|
|
538
|
+
const childByToolCall = matchDelegateChildren(await host.state.listToolCalls(run.id), events);
|
|
539
|
+
for (const [toolCallId, toolName] of started) {
|
|
540
|
+
if (toolName !== DELEGATE_TOOL_NAME)
|
|
541
|
+
continue;
|
|
542
|
+
const childRunId = childByToolCall.get(toolCallId);
|
|
543
|
+
const child = childRunId ? await host.state.getRun(childRunId) : undefined;
|
|
544
|
+
if (!child)
|
|
545
|
+
continue;
|
|
546
|
+
if (isBackgroundSubagentRun(child)) {
|
|
547
|
+
// Queued work reports through its own completion turn; the tool result
|
|
548
|
+
// is the same receipt the parent would have received before the stop.
|
|
549
|
+
delegateResults.set(toolCallId, {
|
|
550
|
+
runId: child.id,
|
|
551
|
+
agent: typeof child.input.subagent === "string" ? child.input.subagent : null,
|
|
552
|
+
status: "queued",
|
|
553
|
+
background: true
|
|
554
|
+
});
|
|
555
|
+
continue;
|
|
556
|
+
}
|
|
557
|
+
if (!isTerminalRunStatus(child.status))
|
|
558
|
+
return { toolOutcomes: [], awaitingChildRunId: child.id };
|
|
559
|
+
const timeline = await host.settleSubagentRun(await host.replay(child.id));
|
|
560
|
+
delegateResults.set(toolCallId, subagentToolResult(timeline));
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
const toolOutcomes = [];
|
|
409
564
|
for (const [toolCallId, toolName] of started) {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
status: "
|
|
413
|
-
|
|
414
|
-
|
|
565
|
+
const result = delegateResults.get(toolCallId);
|
|
566
|
+
if (result) {
|
|
567
|
+
await host.state.updateToolCall(toolCallId, { status: "completed", result: safeJson(result), modelOutput: safeJson(result) });
|
|
568
|
+
await host.state.appendEvent(run.id, "tool.execution_completed", { toolCallId, toolName, modelOutput: safeJson(result), recovered: true });
|
|
569
|
+
toolOutcomes.push({ toolCallId, toolName, output: result, interrupted: false });
|
|
570
|
+
continue;
|
|
571
|
+
}
|
|
572
|
+
const error = toolName === DELEGATE_TOOL_NAME ? INTERRUPTED_DELEGATE_ERROR : INTERRUPTED_TOOL_ERROR;
|
|
573
|
+
await host.state.updateToolCall(toolCallId, { status: "failed", error }).catch((updateError) => {
|
|
415
574
|
host.logger.warn("interrupted tool call update failed during recovery", {
|
|
416
575
|
runId: run.id,
|
|
417
576
|
toolCallId,
|
|
418
|
-
error: errorMessage(
|
|
577
|
+
error: errorMessage(updateError)
|
|
419
578
|
});
|
|
420
579
|
});
|
|
421
580
|
await host.state.appendEvent(run.id, "tool.execution_interrupted", { toolCallId, toolName });
|
|
581
|
+
toolOutcomes.push({ toolCallId, toolName, output: { interrupted: true, error }, interrupted: true });
|
|
582
|
+
}
|
|
583
|
+
return { toolOutcomes };
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* Pair each `delegate` tool call with the child it created, using the
|
|
587
|
+
* parent's own `subagent.called` events: a resume names its child directly;
|
|
588
|
+
* otherwise the calls and children are paired in creation order, checked by
|
|
589
|
+
* agent name and task equality.
|
|
590
|
+
*/
|
|
591
|
+
function matchDelegateChildren(toolCalls, events) {
|
|
592
|
+
const children = events
|
|
593
|
+
.filter((event) => event.type === "subagent.called" && typeof event.data.childRunId === "string")
|
|
594
|
+
.map((event) => ({
|
|
595
|
+
childRunId: String(event.data.childRunId),
|
|
596
|
+
subagent: event.data.subagent,
|
|
597
|
+
task: canonicalJson(event.data.task),
|
|
598
|
+
background: event.data.background === true,
|
|
599
|
+
claimed: false
|
|
600
|
+
}));
|
|
601
|
+
const matched = new Map();
|
|
602
|
+
const delegateCalls = toolCalls
|
|
603
|
+
.filter((call) => call.toolName === DELEGATE_TOOL_NAME)
|
|
604
|
+
.sort((left, right) => left.createdAt.localeCompare(right.createdAt));
|
|
605
|
+
for (const call of delegateCalls) {
|
|
606
|
+
if (!isJsonObject(call.input))
|
|
607
|
+
continue;
|
|
608
|
+
const { agent, background, resumeRunId, files: _files, ...task } = call.input;
|
|
609
|
+
if (typeof resumeRunId === "string") {
|
|
610
|
+
matched.set(call.id, resumeRunId);
|
|
611
|
+
continue;
|
|
612
|
+
}
|
|
613
|
+
const wantsBackground = background === true;
|
|
614
|
+
const expectedTask = canonicalJson(task);
|
|
615
|
+
const child = children.find((candidate) => !candidate.claimed && candidate.background === wantsBackground && candidate.subagent === agent && candidate.task === expectedTask);
|
|
616
|
+
if (!child)
|
|
617
|
+
continue;
|
|
618
|
+
child.claimed = true;
|
|
619
|
+
matched.set(call.id, child.childRunId);
|
|
422
620
|
}
|
|
423
|
-
return
|
|
621
|
+
return matched;
|
|
622
|
+
}
|
|
623
|
+
function canonicalJson(value) {
|
|
624
|
+
const normalize = (input) => {
|
|
625
|
+
if (Array.isArray(input))
|
|
626
|
+
return input.map(normalize);
|
|
627
|
+
if (input && typeof input === "object") {
|
|
628
|
+
return Object.fromEntries(Object.keys(input).sort().map((key) => [key, normalize(input[key])]));
|
|
629
|
+
}
|
|
630
|
+
return input;
|
|
631
|
+
};
|
|
632
|
+
return JSON.stringify(normalize(safeJson(value)));
|
|
424
633
|
}
|
|
425
634
|
const CRASH_REPORT_OUTPUT_MAX_CHARS = 2_000;
|
|
426
635
|
/**
|
|
@@ -557,7 +766,7 @@ async function recoverSandboxSyncState(host, now) {
|
|
|
557
766
|
runId: session.runId,
|
|
558
767
|
sandboxId: session.sandboxId,
|
|
559
768
|
status: "pending",
|
|
560
|
-
idempotencyKey: `sandbox-sync:${session.runId}:${session.sandboxId}`,
|
|
769
|
+
idempotencyKey: `sandbox-sync:${session.runId}:${session.sandboxId}:${session.lastSyncedAt ?? "initial"}`,
|
|
561
770
|
reason: "dirty-session-recovery",
|
|
562
771
|
maxAttempts: host.sandboxSyncMaxAttempts,
|
|
563
772
|
manifest: {
|
package/dist/run-recovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-recovery.js","sourceRoot":"","sources":["../src/run-recovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-recovery.js","sourceRoot":"","sources":["../src/run-recovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-engine-background.d.ts","sourceRoot":"","sources":["../src/runtime-engine-background.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAwB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,
|
|
1
|
+
{"version":3,"file":"runtime-engine-background.d.ts","sourceRoot":"","sources":["../src/runtime-engine-background.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { positiveLimit } from "./storage.js";
|
|
2
2
|
import { runDueDeliveriesImpl, startDeliveryWorkerImpl, } from "./delivery-queue.js";
|
|
3
3
|
import { recoverIncompleteRunsImpl, startBackgroundWorkersImpl, } from "./run-recovery.js";
|
|
4
|
+
import { settleSubagentRunImpl } from "./subagent-settlement.js";
|
|
4
5
|
import { captureSandboxSnapshotImpl, disposeSandboxSessionImpl, inspectSandboxSyncJobImpl, retrySandboxSyncJobImpl, runDueSandboxSyncJobsImpl, sandboxSyncDiagnosticsImpl, startSandboxSyncWorkerImpl, } from "./sandbox-sync-worker.js";
|
|
5
6
|
import { beginChannelTurnImpl, completeRunImpl, latestRunFailureMessageImpl, recordChannelTurnStartImpl, sendDeliveryImpl, stopUnclaimedChannelTurnImpl, stopChannelTurnImpl, } from "./delivery-send.js";
|
|
6
7
|
import { resumeRunFromContinuationImpl } from "./replay-resume.js";
|
|
@@ -31,6 +32,15 @@ export class RuntimeEngineBackground extends RuntimeEngineScheduling {
|
|
|
31
32
|
async resumeRunFromContinuation(run, context) {
|
|
32
33
|
return resumeRunFromContinuationImpl(this.replayResumeHost(), run, context);
|
|
33
34
|
}
|
|
35
|
+
/** The one way a child run ends: verify its handoff and report it to the parent (subagent-settlement.ts). */
|
|
36
|
+
/** @internal */
|
|
37
|
+
async settleSubagentRun(timeline, report) {
|
|
38
|
+
return settleSubagentRunImpl(this, timeline, report);
|
|
39
|
+
}
|
|
40
|
+
/** @internal */
|
|
41
|
+
async queueBackgroundSubagentCompletion(timeline) {
|
|
42
|
+
return this.backgroundSubagents.queueCompletion(timeline);
|
|
43
|
+
}
|
|
34
44
|
/** Start delivery, sandbox-sync, conversation-turn, subagent, background-review, and orphan-recovery workers. */
|
|
35
45
|
startBackgroundWorkers(options = {}) {
|
|
36
46
|
return startBackgroundWorkersImpl(this, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-engine-background.js","sourceRoot":"","sources":["../src/runtime-engine-background.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GAIxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,yBAAyB,EACzB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"runtime-engine-background.js","sourceRoot":"","sources":["../src/runtime-engine-background.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-engine-base.d.ts","sourceRoot":"","sources":["../src/runtime-engine-base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAA0D,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAE/H,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,kCAAkC,EAAE,MAAM,qCAAqC,CAAC;AACzF,OAAO,EAAqD,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAExI,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAA0C,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC7G,OAAO,
|
|
1
|
+
{"version":3,"file":"runtime-engine-base.d.ts","sourceRoot":"","sources":["../src/runtime-engine-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { createSkillBundleIndex, createSkillResourceReader } from "./skill-bundl
|
|
|
10
10
|
import { RuntimeWorkspaceManager } from "./workspace-runtime.js";
|
|
11
11
|
import { RuntimeAutomationManager } from "./dynamic-schedule-runtime.js";
|
|
12
12
|
import { normalizeScheduleTriggerDefinitionImpl } from "./schedule-execution.js";
|
|
13
|
-
import { executeSubagentRunImpl
|
|
13
|
+
import { executeSubagentRunImpl } from "./subagent-execution.js";
|
|
14
14
|
import { DEFAULT_MAX_MODEL_ITERATIONS, DEFAULT_OUTPUT_VALIDATION_MAX_RETRIES } from "./harness-loop.js";
|
|
15
15
|
import { ConversationTurnDispatcher } from "./conversation-turn-dispatch.js";
|
|
16
16
|
import { BackgroundSubagentCoordinator } from "./background-subagents.js";
|
|
@@ -182,8 +182,9 @@ export class RuntimeEngineBase extends RuntimeEngineConfig {
|
|
|
182
182
|
logger: this.logger,
|
|
183
183
|
withRunAdmission: (work) => this.withRunAdmission(work),
|
|
184
184
|
execute: (childRunId) => executeSubagentRunImpl(this.subagentExecutionHost(), childRunId),
|
|
185
|
-
|
|
186
|
-
|
|
185
|
+
settle: async (childRunId) => {
|
|
186
|
+
await this.subagentExecutionHost().settleSubagentRun(await this.replay(childRunId));
|
|
187
|
+
},
|
|
187
188
|
cancel: (runId) => this.cancelRun(runId),
|
|
188
189
|
enqueueConversationTurn: (input) => this.conversationTurnDispatcher.enqueue(input),
|
|
189
190
|
});
|