@assemblyline-agents/runtime 6.0.1 → 6.1.1
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/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-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-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-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.js +1 -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.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
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import type { AgentHarness, AgentManifest, JsonObject, ResolvedAgentCapabilities, TriggerTarget } from "@assemblyline-agents/core";
|
|
2
2
|
import type { AgentHookRunController } from "./agent-hook-evaluation.js";
|
|
3
3
|
import type { ChannelTurn } from "./channel.js";
|
|
4
|
-
import {
|
|
4
|
+
import type { RestoredHarnessSession } from "./harness-continuation.js";
|
|
5
5
|
import type { BlobAdapter, ContextBundle, EmitSpanOptions, RunAgentResult, RunTimeline, RuntimeSandboxHandle } from "./runtime-types.js";
|
|
6
6
|
import type { AgentSourceModuleLoader } from "./source-loader.js";
|
|
7
7
|
import type { CheckpointRecord, RunEvent, RunRecord, StateAdapter } from "./state.js";
|
|
8
|
+
import { type SubagentReport } from "./subagent-settlement.js";
|
|
8
9
|
/**
|
|
9
10
|
* Pi-backed child-run execution, replay, and follow-up handling. Subagents may
|
|
10
11
|
* choose a model, tools, connections, instructions, and workspace, but they do
|
|
11
12
|
* not replace the Assembly Line model loop. The internal AgentHarness seam remains
|
|
12
13
|
* available to embedders and tests and therefore applies consistently to both
|
|
13
|
-
* primary and child turns.
|
|
14
|
+
* primary and child turns. Every way a child ends goes through the host's
|
|
15
|
+
* settlement routine (subagent-settlement.ts).
|
|
14
16
|
*/
|
|
15
17
|
/** Narrow slice of the runtime the subagent execution path needs. */
|
|
16
18
|
export interface SubagentExecutionHost {
|
|
@@ -67,6 +69,7 @@ export interface SubagentExecutionHost {
|
|
|
67
69
|
message?: string;
|
|
68
70
|
}): Promise<RunAgentResult>;
|
|
69
71
|
completeRun(run: RunRecord, sandboxHandle: RuntimeSandboxHandle, response: string, channel: string, turn?: ChannelTurn, conversationId?: string): Promise<RunAgentResult>;
|
|
72
|
+
settleSubagentRun(timeline: RunTimeline, report?: SubagentReport): Promise<RunTimeline>;
|
|
70
73
|
emitSpan(name: string, startedAt: string, attributes: JsonObject, options?: EmitSpanOptions): Promise<void>;
|
|
71
74
|
runSpanAttributes(run: RunRecord, extra?: JsonObject): JsonObject;
|
|
72
75
|
turnSpanId(runId: string): string;
|
|
@@ -76,21 +79,25 @@ export declare function runSubagentImpl(host: SubagentExecutionHost, parentRunId
|
|
|
76
79
|
* Continue an existing child run instead of starting a fresh one. The child
|
|
77
80
|
* keeps its sandbox session, workspace files, and transcript, so recovering a
|
|
78
81
|
* failed or incomplete delegation costs one follow-up turn rather than a full
|
|
79
|
-
* rebuild of work that already ran.
|
|
82
|
+
* rebuild of work that already ran. The result reports inline to the calling
|
|
83
|
+
* run even when the child originally ran in the background.
|
|
80
84
|
*/
|
|
81
85
|
export declare function resumeSubagentImpl(host: SubagentExecutionHost, parentRunId: string, childRunId: string, expectedSubagentName: string, message: string): Promise<RunTimeline>;
|
|
82
|
-
export declare function createSubagentRunImpl(host: SubagentExecutionHost, parentRunId: string, subagentName: string,
|
|
86
|
+
export declare function createSubagentRunImpl(host: SubagentExecutionHost, parentRunId: string, subagentName: string, inputTask: JsonObject, options?: {
|
|
83
87
|
background?: boolean;
|
|
84
88
|
}): Promise<RunRecord>;
|
|
85
89
|
export declare function executeSubagentRunImpl(host: SubagentExecutionHost, childRunId: string): Promise<RunTimeline>;
|
|
86
|
-
export declare function finalizeSubagentHandoffImpl(host: SubagentExecutionHost, initialTimeline: RunTimeline): Promise<RunTimeline>;
|
|
87
90
|
export declare function subagentToolResult(timeline: RunTimeline): JsonObject;
|
|
88
|
-
/** Parent-facing instruction for continuing a child
|
|
89
|
-
export declare function subagentRecoveryHint(
|
|
91
|
+
/** Parent-facing instruction for continuing a failed child instead of restarting it. */
|
|
92
|
+
export declare function subagentRecoveryHint(timeline: RunTimeline): string;
|
|
90
93
|
export declare function readSubagentImpl(host: SubagentExecutionHost, childRunId: string, cursor?: string): Promise<{
|
|
91
94
|
run: RunRecord;
|
|
92
95
|
events: RunEvent[];
|
|
93
96
|
cursor?: string;
|
|
94
97
|
}>;
|
|
98
|
+
/**
|
|
99
|
+
* Embedder follow-up to a child without a reporting parent: the child runs one
|
|
100
|
+
* more turn and its handoff is verified, but no parent run is notified.
|
|
101
|
+
*/
|
|
95
102
|
export declare function sendSubagentFollowupImpl(host: SubagentExecutionHost, childRunId: string, message: string): Promise<RunTimeline>;
|
|
96
103
|
//# sourceMappingURL=subagent-execution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-execution.d.ts","sourceRoot":"","sources":["../src/subagent-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"subagent-execution.d.ts","sourceRoot":"","sources":["../src/subagent-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { attachmentResourcePath } from "./attachments.js";
|
|
2
2
|
import { timestamp } from "./runtime-util.js";
|
|
3
3
|
import { isJsonObject } from "./json-util.js";
|
|
4
|
+
import { failRun } from "./run-outcome.js";
|
|
4
5
|
import { findChildSubagent, findSubagent, surfaceForRun } from "./agent-surface.js";
|
|
5
|
-
import {
|
|
6
|
+
import { publicSubagentHandoff, readySubagentHandoff, SUBAGENT_HANDOFF_INSTRUCTIONS, subagentRunBelongsToConversation } from "./subagent-handoff.js";
|
|
7
|
+
import { finalizeSubagentHandoffImpl, isTerminalRunStatus, resumeAgentHarnessSubagent, subagentResumable } from "./subagent-settlement.js";
|
|
6
8
|
export async function runSubagentImpl(host, parentRunId, subagentName, task) {
|
|
7
9
|
const child = await createSubagentRunImpl(host, parentRunId, subagentName, task);
|
|
8
|
-
|
|
9
|
-
const receipt = readySubagentHandoff(timeline.events);
|
|
10
|
-
if (timeline.run.status === "completed" && receipt) {
|
|
11
|
-
await acceptSubagentHandoff(host.state, parentRunId, receipt);
|
|
12
|
-
}
|
|
13
|
-
return host.replay(timeline.run.id);
|
|
10
|
+
return executeSubagentRunImpl(host, child.id);
|
|
14
11
|
}
|
|
15
12
|
const RESUMABLE_CHILD_STATUSES = new Set(["completed", "failed", "cancelled", "suspended"]);
|
|
16
13
|
/**
|
|
17
14
|
* Continue an existing child run instead of starting a fresh one. The child
|
|
18
15
|
* keeps its sandbox session, workspace files, and transcript, so recovering a
|
|
19
16
|
* failed or incomplete delegation costs one follow-up turn rather than a full
|
|
20
|
-
* rebuild of work that already ran.
|
|
17
|
+
* rebuild of work that already ran. The result reports inline to the calling
|
|
18
|
+
* run even when the child originally ran in the background.
|
|
21
19
|
*/
|
|
22
20
|
export async function resumeSubagentImpl(host, parentRunId, childRunId, expectedSubagentName, message) {
|
|
23
21
|
const parent = await host.state.getRun(parentRunId);
|
|
@@ -41,10 +39,7 @@ export async function resumeSubagentImpl(host, parentRunId, childRunId, expected
|
|
|
41
39
|
if (!RESUMABLE_CHILD_STATUSES.has(child.status)) {
|
|
42
40
|
throw new Error(`Subagent run ${childRunId} is ${child.status}; wait for it to settle before resuming it.`);
|
|
43
41
|
}
|
|
44
|
-
|
|
45
|
-
? parent.input.agentSubagents.filter((name) => typeof name === "string")
|
|
46
|
-
: [];
|
|
47
|
-
if (!selectedSubagents.includes(subagentName)) {
|
|
42
|
+
if (!enabledSubagents(parent).includes(subagentName)) {
|
|
48
43
|
throw new Error(`Subagent ${subagentName} is not enabled by the current agent capability snapshot.`);
|
|
49
44
|
}
|
|
50
45
|
await host.state.appendEvent(parentRunId, "subagent.resumed", {
|
|
@@ -52,28 +47,14 @@ export async function resumeSubagentImpl(host, parentRunId, childRunId, expected
|
|
|
52
47
|
childRunId,
|
|
53
48
|
previousStatus: child.status
|
|
54
49
|
});
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
if (timeline.run.status === "completed" && receipt) {
|
|
58
|
-
await acceptSubagentHandoff(host.state, parentRunId, receipt);
|
|
59
|
-
}
|
|
60
|
-
await host.state.appendEvent(parentRunId, "subagent.completed", {
|
|
61
|
-
subagent: subagentName,
|
|
62
|
-
childRunId: timeline.run.id,
|
|
63
|
-
status: timeline.run.status,
|
|
64
|
-
resumed: true,
|
|
65
|
-
...(receipt ? { handoff: publicSubagentHandoff(receipt) } : {})
|
|
66
|
-
});
|
|
67
|
-
return host.replay(timeline.run.id);
|
|
50
|
+
await resumeAgentHarnessSubagent(host, child, message);
|
|
51
|
+
return host.settleSubagentRun(await host.replay(childRunId), { parentRunId, background: false, resumed: true });
|
|
68
52
|
}
|
|
69
|
-
export async function createSubagentRunImpl(host, parentRunId, subagentName,
|
|
53
|
+
export async function createSubagentRunImpl(host, parentRunId, subagentName, inputTask, options = {}) {
|
|
70
54
|
const parent = await host.state.getRun(parentRunId);
|
|
71
55
|
if (!parent)
|
|
72
56
|
throw new Error(`Parent run not found: ${parentRunId}`);
|
|
73
|
-
|
|
74
|
-
? parent.input.agentSubagents.filter((name) => typeof name === "string")
|
|
75
|
-
: [];
|
|
76
|
-
if (!selectedSubagents.includes(subagentName)) {
|
|
57
|
+
if (!enabledSubagents(parent).includes(subagentName)) {
|
|
77
58
|
throw new Error(`Subagent ${subagentName} is not enabled by the current agent capability snapshot.`);
|
|
78
59
|
}
|
|
79
60
|
const parentSurface = surfaceForRun(host.manifest, parent);
|
|
@@ -83,10 +64,8 @@ export async function createSubagentRunImpl(host, parentRunId, subagentName, tas
|
|
|
83
64
|
const subagent = findChildSubagent(parentSurface, subagentName);
|
|
84
65
|
if (!subagent)
|
|
85
66
|
throw new Error(`Subagent not found: ${subagentName}`);
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
task
|
|
89
|
-
});
|
|
67
|
+
const { files, ...task } = inputTask;
|
|
68
|
+
const attachments = sharedAttachments(parent, files);
|
|
90
69
|
const background = options.background
|
|
91
70
|
? {
|
|
92
71
|
conversationId: typeof parent.input.conversationId === "string" ? parent.input.conversationId : parent.id,
|
|
@@ -94,6 +73,9 @@ export async function createSubagentRunImpl(host, parentRunId, subagentName, tas
|
|
|
94
73
|
eventId: typeof parent.input.eventId === "string" ? parent.input.eventId : parent.id
|
|
95
74
|
}
|
|
96
75
|
: undefined;
|
|
76
|
+
// projectId and workspaceId stay on the parent: the sandbox session key and
|
|
77
|
+
// workspace selection prefer them, so copying them would make a
|
|
78
|
+
// project-scoped parent and its child share one sandbox and workspace.
|
|
97
79
|
const child = await host.state.createRun({
|
|
98
80
|
agentRevision: host.manifest.agentRevision,
|
|
99
81
|
status: "created",
|
|
@@ -108,18 +90,24 @@ export async function createSubagentRunImpl(host, parentRunId, subagentName, tas
|
|
|
108
90
|
principal: parent.input.principal ?? null,
|
|
109
91
|
initiator: parent.input.initiator ?? parent.input.principal ?? null,
|
|
110
92
|
audience: parent.input.audience ?? { private: true },
|
|
111
|
-
projectId: typeof parent.input.projectId === "string" ? parent.input.projectId : null,
|
|
112
|
-
workspaceId: typeof parent.input.workspaceId === "string" ? parent.input.workspaceId : null,
|
|
113
93
|
tenantId: typeof parent.input.tenantId === "string" ? parent.input.tenantId : null,
|
|
114
94
|
delivery: parent.input.delivery ?? null,
|
|
115
95
|
originReplyTarget: parent.input.replyTarget ?? null,
|
|
116
96
|
metadata: parent.input.metadata ?? {},
|
|
97
|
+
attachmentMetadata: attachments,
|
|
117
98
|
...(background ? { background } : {}),
|
|
118
99
|
// Eval harness options follow the parent so subagent tool calls hit the
|
|
119
100
|
// same stubs and approval policy ({results} cursors restart per child).
|
|
120
101
|
...(parent.input.eval !== undefined ? { eval: parent.input.eval } : {})
|
|
121
102
|
}
|
|
122
103
|
});
|
|
104
|
+
await host.state.appendEvent(parentRunId, "subagent.called", {
|
|
105
|
+
subagent: subagentName,
|
|
106
|
+
childRunId: child.id,
|
|
107
|
+
task,
|
|
108
|
+
files: attachments.map((attachment) => attachmentResourcePath(attachment)),
|
|
109
|
+
background: options.background === true
|
|
110
|
+
});
|
|
123
111
|
await host.state.appendEvent(child.id, "run.accepted", {
|
|
124
112
|
parentRunId,
|
|
125
113
|
subagent: subagentName,
|
|
@@ -130,39 +118,125 @@ export async function createSubagentRunImpl(host, parentRunId, subagentName, tas
|
|
|
130
118
|
});
|
|
131
119
|
return child;
|
|
132
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Parent attachment records the child receives by reference. `files` names
|
|
123
|
+
* logical `/files/...` paths from the parent's manifest; absent, every parent
|
|
124
|
+
* attachment is shared. Records already carry runtime-issued blob pointers.
|
|
125
|
+
*/
|
|
126
|
+
function sharedAttachments(parent, files) {
|
|
127
|
+
const records = attachmentRecords(parent);
|
|
128
|
+
if (files === undefined)
|
|
129
|
+
return records;
|
|
130
|
+
if (!Array.isArray(files) || !files.every((file) => typeof file === "string")) {
|
|
131
|
+
throw new Error("delegate files must be an array of /files paths from the manifest.");
|
|
132
|
+
}
|
|
133
|
+
const byPath = new Map(records.map((record) => [attachmentResourcePath(record), record]));
|
|
134
|
+
const selected = [];
|
|
135
|
+
for (const file of new Set(files)) {
|
|
136
|
+
const record = byPath.get(file);
|
|
137
|
+
if (!record) {
|
|
138
|
+
const available = [...byPath.keys()];
|
|
139
|
+
throw new Error(`delegate files entry "${file}" is not a parent attachment. ${available.length > 0 ? `Available: ${available.join(", ")}` : "This run has no attachments."}`);
|
|
140
|
+
}
|
|
141
|
+
selected.push(record);
|
|
142
|
+
}
|
|
143
|
+
return selected;
|
|
144
|
+
}
|
|
145
|
+
function attachmentRecords(run) {
|
|
146
|
+
return Array.isArray(run.input.attachmentMetadata) ? run.input.attachmentMetadata.filter(isJsonObject) : [];
|
|
147
|
+
}
|
|
148
|
+
function enabledSubagents(run) {
|
|
149
|
+
return Array.isArray(run.input.agentSubagents)
|
|
150
|
+
? run.input.agentSubagents.filter((name) => typeof name === "string")
|
|
151
|
+
: [];
|
|
152
|
+
}
|
|
153
|
+
/** Index shared parent attachments under the child so lazy `/files` reads resolve for every child turn. */
|
|
154
|
+
async function indexSharedAttachments(state, child, parentRunId) {
|
|
155
|
+
const attachments = attachmentRecords(child);
|
|
156
|
+
for (const attachment of attachments) {
|
|
157
|
+
const blobKey = attachment.blobKey;
|
|
158
|
+
const sha256 = attachment.sha256;
|
|
159
|
+
const sizeBytes = attachment.sizeBytes;
|
|
160
|
+
if (typeof blobKey !== "string" || typeof sha256 !== "string" || typeof sizeBytes !== "number")
|
|
161
|
+
continue;
|
|
162
|
+
await state.recordFileIndex({
|
|
163
|
+
runId: child.id,
|
|
164
|
+
path: attachmentResourcePath(attachment),
|
|
165
|
+
kind: "file",
|
|
166
|
+
blobKey,
|
|
167
|
+
sha256,
|
|
168
|
+
sizeBytes,
|
|
169
|
+
metadata: {
|
|
170
|
+
source: "parent-attachment",
|
|
171
|
+
sourceRunId: parentRunId,
|
|
172
|
+
filename: typeof attachment.filename === "string" ? attachment.filename : null,
|
|
173
|
+
contentType: typeof attachment.contentType === "string" ? attachment.contentType : "application/octet-stream"
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
return attachments;
|
|
178
|
+
}
|
|
133
179
|
export async function executeSubagentRunImpl(host, childRunId) {
|
|
134
180
|
const storedChild = await host.state.getRun(childRunId);
|
|
135
181
|
if (!storedChild)
|
|
136
182
|
throw new Error(`Subagent run not found: ${childRunId}`);
|
|
137
183
|
if (storedChild.status !== "created")
|
|
138
184
|
return host.replay(childRunId);
|
|
185
|
+
const parentRunId = typeof storedChild.input.parentRunId === "string" ? storedChild.input.parentRunId : undefined;
|
|
186
|
+
const subagentName = typeof storedChild.input.subagent === "string" ? storedChild.input.subagent : "subagent";
|
|
187
|
+
const spanStartedAt = timestamp();
|
|
188
|
+
const parent = parentRunId ? await host.state.getRun(parentRunId) : undefined;
|
|
189
|
+
try {
|
|
190
|
+
if (!parentRunId || !parent)
|
|
191
|
+
throw new Error(`Parent run not found: ${parentRunId ?? "(none)"}`);
|
|
192
|
+
await driveSubagentRun(host, storedChild, parentRunId);
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
// A child must never be left `running` with no executor: the parent would
|
|
196
|
+
// wait on it forever and the recovery sweep would misreport it as orphaned.
|
|
197
|
+
const current = await host.state.getRun(childRunId);
|
|
198
|
+
if (current && !isTerminalRunStatus(current.status)) {
|
|
199
|
+
await failRun({ state: host.state }, childRunId, {
|
|
200
|
+
reason: "subagent.execution_error",
|
|
201
|
+
error: error instanceof Error ? error.message : String(error)
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
const timeline = await host.settleSubagentRun(await host.replay(childRunId));
|
|
206
|
+
await host.emitSpan("ai.assembly-line.subagent.run", spanStartedAt, host.runSpanAttributes(parent ?? timeline.run, {
|
|
207
|
+
subagentName,
|
|
208
|
+
childRunId,
|
|
209
|
+
status: timeline.run.status,
|
|
210
|
+
engine: "pi"
|
|
211
|
+
}), {
|
|
212
|
+
...(parentRunId ? { parentSpanId: host.turnSpanId(parentRunId) } : {}),
|
|
213
|
+
status: timeline.run.status === "failed" ? "error" : "ok"
|
|
214
|
+
});
|
|
215
|
+
return timeline;
|
|
216
|
+
}
|
|
217
|
+
/** Run the child's model loop to its own terminal or paused state. */
|
|
218
|
+
async function driveSubagentRun(host, storedChild, parentRunId) {
|
|
139
219
|
let child = storedChild;
|
|
140
|
-
const parentRunId = typeof child.input.parentRunId === "string" ? child.input.parentRunId : undefined;
|
|
141
|
-
const subagentName = typeof child.input.subagent === "string" ? child.input.subagent : undefined;
|
|
142
220
|
const task = child.input.task;
|
|
143
|
-
if (!
|
|
144
|
-
throw new Error(`Run ${
|
|
145
|
-
|
|
146
|
-
const parent = await host.state.getRun(parentRunId);
|
|
147
|
-
if (!parent)
|
|
148
|
-
throw new Error(`Parent run not found: ${parentRunId}`);
|
|
221
|
+
if (!isJsonObject(task))
|
|
222
|
+
throw new Error(`Run ${child.id} is not an executable subagent run.`);
|
|
223
|
+
const subagentName = typeof child.input.subagent === "string" ? child.input.subagent : undefined;
|
|
149
224
|
const surfacePath = typeof child.input.agentSurface === "string" ? child.input.agentSurface : undefined;
|
|
150
225
|
const subagent = surfacePath ? findSubagent(host.manifest, surfacePath) : undefined;
|
|
151
226
|
if (!subagent || subagent.name !== subagentName)
|
|
152
|
-
throw new Error(`Subagent not found: ${subagentName}`);
|
|
153
|
-
const spanStartedAt = timestamp();
|
|
227
|
+
throw new Error(`Subagent not found: ${subagentName ?? "(unnamed)"}`);
|
|
154
228
|
child = await host.state.updateRun(child.id, { status: "running" });
|
|
155
229
|
const message = JSON.stringify(task);
|
|
156
230
|
const conversationId = child.id;
|
|
157
231
|
const hookController = await host.createSubagentHookController(child, subagent, message, conversationId);
|
|
158
232
|
const initialSnapshot = await hookController.evaluate("run_start");
|
|
159
233
|
const controlledChild = await host.state.getRun(child.id);
|
|
234
|
+
// A hook may have cancelled or parked the run; settlement reports whatever state it is in.
|
|
160
235
|
if (!controlledChild || controlledChild.status !== "running")
|
|
161
|
-
return
|
|
162
|
-
child = controlledChild
|
|
163
|
-
child = await host.state.updateRun(child.id, {
|
|
236
|
+
return;
|
|
237
|
+
child = await host.state.updateRun(controlledChild.id, {
|
|
164
238
|
input: {
|
|
165
|
-
...
|
|
239
|
+
...controlledChild.input,
|
|
166
240
|
model: initialSnapshot.declaration.model,
|
|
167
241
|
conversationId,
|
|
168
242
|
agentSandbox: initialSnapshot.declaration.sandbox ?? null,
|
|
@@ -170,12 +244,13 @@ export async function executeSubagentRunImpl(host, childRunId) {
|
|
|
170
244
|
agentSubagents: initialSnapshot.declaration.subagents
|
|
171
245
|
}
|
|
172
246
|
});
|
|
247
|
+
const attachments = await indexSharedAttachments(host.state, child, parentRunId);
|
|
173
248
|
const buildBundle = async (capabilities) => {
|
|
174
249
|
const built = await host.buildContextBundle({
|
|
175
250
|
message,
|
|
176
251
|
channel: "subagent",
|
|
177
252
|
recentHistory: [],
|
|
178
|
-
attachments
|
|
253
|
+
attachments,
|
|
179
254
|
capabilities,
|
|
180
255
|
run: child
|
|
181
256
|
});
|
|
@@ -211,83 +286,16 @@ export async function executeSubagentRunImpl(host, childRunId) {
|
|
|
211
286
|
});
|
|
212
287
|
child = outcome.run;
|
|
213
288
|
if (!outcome.failed && !outcome.controlStopped && !outcome.waitingForApproval && !outcome.waitingForInput && !outcome.waitingForConnection) {
|
|
214
|
-
|
|
215
|
-
child = completed.run;
|
|
289
|
+
await host.completeRun(child, sandboxHandle, outcome.response, "subagent");
|
|
216
290
|
}
|
|
217
291
|
}
|
|
218
292
|
finally {
|
|
219
293
|
heartbeat.stop();
|
|
220
294
|
}
|
|
221
|
-
let timeline = await host.replay(child.id);
|
|
222
|
-
timeline = await finalizeSubagentHandoffImpl(host, timeline);
|
|
223
|
-
child = timeline.run;
|
|
224
|
-
const receipt = readySubagentHandoff(timeline.events);
|
|
225
|
-
await host.state.appendEvent(parentRunId, "subagent.completed", {
|
|
226
|
-
subagent: subagentName,
|
|
227
|
-
childRunId: child.id,
|
|
228
|
-
status: child.status,
|
|
229
|
-
...(receipt ? {
|
|
230
|
-
handoff: publicSubagentHandoff(receipt)
|
|
231
|
-
} : {})
|
|
232
|
-
});
|
|
233
|
-
await host.emitSpan("ai.assembly-line.subagent.run", spanStartedAt, host.runSpanAttributes(parent, {
|
|
234
|
-
subagentName,
|
|
235
|
-
childRunId: child.id,
|
|
236
|
-
status: child.status,
|
|
237
|
-
engine: "pi"
|
|
238
|
-
}), {
|
|
239
|
-
parentSpanId: host.turnSpanId(parentRunId),
|
|
240
|
-
status: child.status === "failed" ? "error" : "ok"
|
|
241
|
-
});
|
|
242
|
-
return host.replay(child.id);
|
|
243
|
-
}
|
|
244
|
-
export async function finalizeSubagentHandoffImpl(host, initialTimeline) {
|
|
245
|
-
let timeline = initialTimeline;
|
|
246
|
-
if (timeline.run.status !== "completed")
|
|
247
|
-
return timeline;
|
|
248
|
-
if (readyAfterLatestCompletion(timeline.events))
|
|
249
|
-
return timeline;
|
|
250
|
-
let lastError;
|
|
251
|
-
for (let attempt = 0; attempt < 2; attempt += 1) {
|
|
252
|
-
try {
|
|
253
|
-
const receipt = await buildVerifiedSubagentHandoff(host.state, host.blob, timeline.run);
|
|
254
|
-
await recordSubagentHandoffReady(host.state, timeline.run.id, receipt);
|
|
255
|
-
return host.replay(timeline.run.id);
|
|
256
|
-
}
|
|
257
|
-
catch (error) {
|
|
258
|
-
lastError = error instanceof Error ? error.message : String(error);
|
|
259
|
-
const retrying = attempt === 0;
|
|
260
|
-
await host.state.appendEvent(timeline.run.id, "subagent.handoff_rejected", {
|
|
261
|
-
error: lastError,
|
|
262
|
-
attempt: attempt + 1,
|
|
263
|
-
retrying
|
|
264
|
-
});
|
|
265
|
-
if (!retrying)
|
|
266
|
-
break;
|
|
267
|
-
try {
|
|
268
|
-
await resumeAgentHarnessSubagent(host, timeline.run, subagentHandoffRetryMessage(lastError));
|
|
269
|
-
timeline = await host.replay(timeline.run.id);
|
|
270
|
-
}
|
|
271
|
-
catch (retryError) {
|
|
272
|
-
lastError = `Artifact handoff retry could not run: ${retryError instanceof Error ? retryError.message : String(retryError)}`;
|
|
273
|
-
break;
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
const failed = await host.state.updateRun(timeline.run.id, {
|
|
278
|
-
status: "failed",
|
|
279
|
-
terminalReason: "subagent.handoff_failed",
|
|
280
|
-
terminalError: lastError ?? "Artifact handoff failed."
|
|
281
|
-
});
|
|
282
|
-
await host.state.appendEvent(failed.id, "run.failed", {
|
|
283
|
-
reason: "subagent.handoff_failed",
|
|
284
|
-
error: failed.terminalError ?? "Artifact handoff failed."
|
|
285
|
-
});
|
|
286
|
-
return host.replay(failed.id);
|
|
287
295
|
}
|
|
288
296
|
export function subagentToolResult(timeline) {
|
|
289
297
|
const completed = [...timeline.events].reverse().find((event) => event.type === "run.completed");
|
|
290
|
-
const receipt = readySubagentHandoff(timeline.events);
|
|
298
|
+
const receipt = timeline.run.status === "completed" ? readySubagentHandoff(timeline.events) : undefined;
|
|
291
299
|
return {
|
|
292
300
|
runId: timeline.run.id,
|
|
293
301
|
status: timeline.run.status,
|
|
@@ -301,19 +309,15 @@ export function subagentToolResult(timeline) {
|
|
|
301
309
|
: {}),
|
|
302
310
|
// A failed child keeps its workspace and transcript. Point the parent at
|
|
303
311
|
// the recovery path so it never re-runs work that already completed.
|
|
304
|
-
...(timeline.run.status === "failed" ? { recovery: subagentRecoveryHint(timeline
|
|
312
|
+
...(timeline.run.status === "failed" ? { recovery: subagentRecoveryHint(timeline) } : {})
|
|
305
313
|
};
|
|
306
314
|
}
|
|
307
|
-
/** Parent-facing instruction for continuing a child
|
|
308
|
-
export function subagentRecoveryHint(
|
|
309
|
-
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
const ready = [...events].reverse().find((event) => event.type === "subagent.handoff_ready");
|
|
314
|
-
return ready && (!latestCompletion || ready.sequence > latestCompletion.sequence)
|
|
315
|
-
? readySubagentHandoff(events)
|
|
316
|
-
: undefined;
|
|
315
|
+
/** Parent-facing instruction for continuing a failed child instead of restarting it. */
|
|
316
|
+
export function subagentRecoveryHint(timeline) {
|
|
317
|
+
if (!subagentResumable(timeline)) {
|
|
318
|
+
return `Child run "${timeline.run.id}" stopped before it persisted a resumable continuation, so it cannot be resumed. Delegate the task again if it is still needed.`;
|
|
319
|
+
}
|
|
320
|
+
return `This child's sandbox, workspace files, and transcript are intact. Continue it with delegate using resumeRunId "${timeline.run.id}" and a short instruction naming what is still missing. Do not re-delegate the original task: that starts an empty workspace and rebuilds finished work.`;
|
|
317
321
|
}
|
|
318
322
|
export async function readSubagentImpl(host, childRunId, cursor) {
|
|
319
323
|
const timeline = await host.replay(childRunId);
|
|
@@ -324,6 +328,10 @@ export async function readSubagentImpl(host, childRunId, cursor) {
|
|
|
324
328
|
const nextCursor = events.length > 0 ? String(events[events.length - 1]?.sequence ?? "") : cursor;
|
|
325
329
|
return { run: timeline.run, events, ...(nextCursor ? { cursor: nextCursor } : {}) };
|
|
326
330
|
}
|
|
331
|
+
/**
|
|
332
|
+
* Embedder follow-up to a child without a reporting parent: the child runs one
|
|
333
|
+
* more turn and its handoff is verified, but no parent run is notified.
|
|
334
|
+
*/
|
|
327
335
|
export async function sendSubagentFollowupImpl(host, childRunId, message) {
|
|
328
336
|
const child = await host.state.getRun(childRunId);
|
|
329
337
|
if (!child)
|
|
@@ -338,24 +346,4 @@ export async function sendSubagentFollowupImpl(host, childRunId, message) {
|
|
|
338
346
|
await resumeAgentHarnessSubagent(host, child, message);
|
|
339
347
|
return finalizeSubagentHandoffImpl(host, await host.replay(child.id));
|
|
340
348
|
}
|
|
341
|
-
/** Resume a Pi-backed subagent with a follow-up through its durable continuation. */
|
|
342
|
-
async function resumeAgentHarnessSubagent(host, child, message) {
|
|
343
|
-
const checkpoints = await host.listHydratedCheckpoints(child.id);
|
|
344
|
-
let restored;
|
|
345
|
-
for (let index = checkpoints.length - 1; index >= 0 && !restored; index -= 1) {
|
|
346
|
-
const checkpoint = checkpoints[index];
|
|
347
|
-
if (!checkpoint || checkpoint.name !== "harness.continuation")
|
|
348
|
-
continue;
|
|
349
|
-
restored = storedHarnessContinuation(checkpoint.data);
|
|
350
|
-
}
|
|
351
|
-
if (!restored) {
|
|
352
|
-
throw new Error(`Subagent run ${child.id} has no persisted harness continuation to resume; start a new delegate turn instead.`);
|
|
353
|
-
}
|
|
354
|
-
const harness = await host.resolveAgentHarness(restored.runtime.modelSpec);
|
|
355
|
-
if (restored.continuation.harness !== harness.id || restored.continuation.version !== harness.continuationVersion) {
|
|
356
|
-
throw new Error(`Subagent run ${child.id} was produced by harness "${restored.continuation.harness}" v${restored.continuation.version}; cannot resume it with "${harness.id}" v${harness.continuationVersion}.`);
|
|
357
|
-
}
|
|
358
|
-
const running = await host.state.updateRun(child.id, { status: "running" });
|
|
359
|
-
return host.resumeHarnessLoop(running, harness, restored, { message });
|
|
360
|
-
}
|
|
361
349
|
//# sourceMappingURL=subagent-execution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-execution.js","sourceRoot":"","sources":["../src/subagent-execution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagent-execution.js","sourceRoot":"","sources":["../src/subagent-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { AgentHarness } from "@assemblyline-agents/core";
|
|
2
|
+
import { type RestoredHarnessSession } from "./harness-continuation.js";
|
|
3
|
+
import type { BlobAdapter, RunAgentResult, RunTimeline } from "./runtime-types.js";
|
|
4
|
+
import type { CheckpointRecord, RunRecord, StateAdapter } from "./state.js";
|
|
5
|
+
/**
|
|
6
|
+
* The one way a child run ends. Every path that terminalizes a subagent run
|
|
7
|
+
* (foreground execution, an inline resume, background completion, orphan
|
|
8
|
+
* recovery, cancellation) calls {@link settleSubagentRunImpl}, which verifies
|
|
9
|
+
* the artifact handoff, reports the outcome on the parent run, and queues the
|
|
10
|
+
* root completion turn for background children. Settlement is idempotent per
|
|
11
|
+
* terminal transition, so racing callers (an executor and the recovery sweep,
|
|
12
|
+
* a cancel and the executor observing it) report to the parent exactly once.
|
|
13
|
+
*/
|
|
14
|
+
export interface SubagentSettlementHost {
|
|
15
|
+
state: StateAdapter;
|
|
16
|
+
blob: BlobAdapter;
|
|
17
|
+
replay(runId: string): Promise<RunTimeline>;
|
|
18
|
+
listHydratedCheckpoints(runId: string): Promise<CheckpointRecord[]>;
|
|
19
|
+
resolveAgentHarness(modelSpec?: string): Promise<AgentHarness>;
|
|
20
|
+
resumeHarnessLoop(run: RunRecord, harness: AgentHarness, restored: RestoredHarnessSession, resume: {
|
|
21
|
+
toolResult?: {
|
|
22
|
+
toolName: string;
|
|
23
|
+
output: unknown;
|
|
24
|
+
};
|
|
25
|
+
message?: string;
|
|
26
|
+
}): Promise<RunAgentResult>;
|
|
27
|
+
queueBackgroundSubagentCompletion(timeline: RunTimeline): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
/** Who receives the child's outcome and how. */
|
|
30
|
+
export interface SubagentReport {
|
|
31
|
+
/** Run that gets the `subagent.*` event and, inline, the adopted handoff. */
|
|
32
|
+
parentRunId: string;
|
|
33
|
+
/** Queue a root completion turn instead of adopting the handoff inline. */
|
|
34
|
+
background: boolean;
|
|
35
|
+
resumed?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export declare function isTerminalRunStatus(status: RunRecord["status"]): boolean;
|
|
38
|
+
/** Resume needs only the continuation plumbing; handoff verification adds blob access and replay. */
|
|
39
|
+
export type SubagentResumeHost = Pick<SubagentSettlementHost, "state" | "listHydratedCheckpoints" | "resolveAgentHarness" | "resumeHarnessLoop">;
|
|
40
|
+
export type SubagentHandoffHost = SubagentResumeHost & Pick<SubagentSettlementHost, "blob" | "replay">;
|
|
41
|
+
export declare function isBackgroundSubagentRun(run: RunRecord): boolean;
|
|
42
|
+
/** Default report: the creating parent, background when the child has a background origin. */
|
|
43
|
+
export declare function subagentReportFor(child: RunRecord): SubagentReport | undefined;
|
|
44
|
+
export declare function settleSubagentRunImpl(host: SubagentSettlementHost, initialTimeline: RunTimeline, report?: SubagentReport | undefined): Promise<RunTimeline>;
|
|
45
|
+
export declare function finalizeSubagentHandoffImpl(host: SubagentHandoffHost, initialTimeline: RunTimeline): Promise<RunTimeline>;
|
|
46
|
+
/** Resume a Pi-backed subagent with a follow-up through its durable continuation. */
|
|
47
|
+
export declare function resumeAgentHarnessSubagent(host: SubagentResumeHost, child: RunRecord, message: string): Promise<RunAgentResult>;
|
|
48
|
+
/** True when the child persisted a continuation the parent can resume with `resumeRunId`. */
|
|
49
|
+
export declare function subagentResumable(timeline: RunTimeline): boolean;
|
|
50
|
+
//# sourceMappingURL=subagent-settlement.d.ts.map
|