@assemblyline-agents/runtime 3.0.0 → 3.2.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.
Files changed (95) hide show
  1. package/dist/agent-hook-controller-factory.d.ts +28 -0
  2. package/dist/agent-hook-controller-factory.d.ts.map +1 -0
  3. package/dist/agent-hook-controller-factory.js +83 -0
  4. package/dist/agent-hook-controller-factory.js.map +1 -0
  5. package/dist/background-subagents.d.ts +43 -0
  6. package/dist/background-subagents.d.ts.map +1 -0
  7. package/dist/background-subagents.js +304 -0
  8. package/dist/background-subagents.js.map +1 -0
  9. package/dist/builtin-tool-executors.d.ts +1 -0
  10. package/dist/builtin-tool-executors.d.ts.map +1 -1
  11. package/dist/builtin-tool-executors.js +38 -30
  12. package/dist/builtin-tool-executors.js.map +1 -1
  13. package/dist/builtin-tools.d.ts.map +1 -1
  14. package/dist/builtin-tools.js +5 -4
  15. package/dist/builtin-tools.js.map +1 -1
  16. package/dist/capability-catalog.d.ts +8 -5
  17. package/dist/capability-catalog.d.ts.map +1 -1
  18. package/dist/capability-catalog.js +28 -1
  19. package/dist/capability-catalog.js.map +1 -1
  20. package/dist/conversation-turn-dispatch.d.ts +1 -1
  21. package/dist/conversation-turn-dispatch.d.ts.map +1 -1
  22. package/dist/conversation-turn-dispatch.js +25 -1
  23. package/dist/conversation-turn-dispatch.js.map +1 -1
  24. package/dist/dynamic-schedule-runtime.d.ts +42 -0
  25. package/dist/dynamic-schedule-runtime.d.ts.map +1 -0
  26. package/dist/dynamic-schedule-runtime.js +57 -0
  27. package/dist/dynamic-schedule-runtime.js.map +1 -0
  28. package/dist/harness-loop.d.ts +5 -5
  29. package/dist/harness-loop.d.ts.map +1 -1
  30. package/dist/harness-loop.js +16 -14
  31. package/dist/harness-loop.js.map +1 -1
  32. package/dist/in-memory-conversation-turn-store.d.ts +1 -0
  33. package/dist/in-memory-conversation-turn-store.d.ts.map +1 -1
  34. package/dist/in-memory-conversation-turn-store.js +11 -0
  35. package/dist/in-memory-conversation-turn-store.js.map +1 -1
  36. package/dist/index.d.ts +18 -40
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +144 -164
  39. package/dist/index.js.map +1 -1
  40. package/dist/local-sandbox.d.ts.map +1 -1
  41. package/dist/local-sandbox.js +2 -1
  42. package/dist/local-sandbox.js.map +1 -1
  43. package/dist/public-api.d.ts +2 -2
  44. package/dist/public-api.d.ts.map +1 -1
  45. package/dist/public-api.js.map +1 -1
  46. package/dist/replay-resume.d.ts.map +1 -1
  47. package/dist/replay-resume.js +3 -2
  48. package/dist/replay-resume.js.map +1 -1
  49. package/dist/run-heartbeat.d.ts +45 -18
  50. package/dist/run-heartbeat.d.ts.map +1 -1
  51. package/dist/run-heartbeat.js +120 -14
  52. package/dist/run-heartbeat.js.map +1 -1
  53. package/dist/run-outcome.d.ts +1 -1
  54. package/dist/run-outcome.d.ts.map +1 -1
  55. package/dist/run-outcome.js.map +1 -1
  56. package/dist/run-recovery.d.ts +9 -1
  57. package/dist/run-recovery.d.ts.map +1 -1
  58. package/dist/run-recovery.js +26 -1
  59. package/dist/run-recovery.js.map +1 -1
  60. package/dist/runtime-types.d.ts +15 -3
  61. package/dist/runtime-types.d.ts.map +1 -1
  62. package/dist/sandbox-session-lifecycle.d.ts +1 -0
  63. package/dist/sandbox-session-lifecycle.d.ts.map +1 -1
  64. package/dist/sandbox-session-lifecycle.js +48 -16
  65. package/dist/sandbox-session-lifecycle.js.map +1 -1
  66. package/dist/scheduled-delivery.d.ts +6 -0
  67. package/dist/scheduled-delivery.d.ts.map +1 -0
  68. package/dist/scheduled-delivery.js +117 -0
  69. package/dist/scheduled-delivery.js.map +1 -0
  70. package/dist/state-stores.js +1 -1
  71. package/dist/state-stores.js.map +1 -1
  72. package/dist/state.d.ts +2 -1
  73. package/dist/state.d.ts.map +1 -1
  74. package/dist/state.js +1 -0
  75. package/dist/state.js.map +1 -1
  76. package/dist/storage.d.ts +1 -0
  77. package/dist/storage.d.ts.map +1 -1
  78. package/dist/storage.js +3 -0
  79. package/dist/storage.js.map +1 -1
  80. package/dist/subagent-execution.d.ts +8 -1
  81. package/dist/subagent-execution.d.ts.map +1 -1
  82. package/dist/subagent-execution.js +132 -6
  83. package/dist/subagent-execution.js.map +1 -1
  84. package/dist/subagent-handoff.d.ts +44 -0
  85. package/dist/subagent-handoff.d.ts.map +1 -0
  86. package/dist/subagent-handoff.js +271 -0
  87. package/dist/subagent-handoff.js.map +1 -0
  88. package/dist/tool-apis.d.ts.map +1 -1
  89. package/dist/tool-apis.js +7 -6
  90. package/dist/tool-apis.js.map +1 -1
  91. package/dist/tool-execution.d.ts +5 -0
  92. package/dist/tool-execution.d.ts.map +1 -1
  93. package/dist/tool-execution.js +96 -9
  94. package/dist/tool-execution.js.map +1 -1
  95. package/package.json +3 -3
@@ -1,7 +1,18 @@
1
1
  import { storedHarnessContinuation } from "./harness-continuation.js";
2
2
  import { timestamp } from "./runtime-util.js";
3
+ import { isJsonObject } from "./json-util.js";
3
4
  import { findChildSubagent, findSubagent, surfaceForRun } from "./agent-surface.js";
5
+ import { acceptSubagentHandoff, buildVerifiedSubagentHandoff, publicSubagentHandoff, readySubagentHandoff, recordSubagentHandoffReady, SUBAGENT_HANDOFF_INSTRUCTIONS, subagentHandoffRetryMessage } from "./subagent-handoff.js";
4
6
  export async function runSubagentImpl(host, parentRunId, subagentName, task) {
7
+ const child = await createSubagentRunImpl(host, parentRunId, subagentName, task);
8
+ const timeline = await executeSubagentRunImpl(host, child.id);
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);
14
+ }
15
+ export async function createSubagentRunImpl(host, parentRunId, subagentName, task, options = {}) {
5
16
  const parent = await host.state.getRun(parentRunId);
6
17
  if (!parent)
7
18
  throw new Error(`Parent run not found: ${parentRunId}`);
@@ -12,15 +23,24 @@ export async function runSubagentImpl(host, parentRunId, subagentName, task) {
12
23
  throw new Error(`Subagent ${subagentName} is not enabled by the current agent capability snapshot.`);
13
24
  }
14
25
  const parentSurface = surfaceForRun(host.manifest, parent);
26
+ if (options.background && parentSurface.path !== "root") {
27
+ throw new Error("Only the root agent can start background subagent work.");
28
+ }
15
29
  const subagent = findChildSubagent(parentSurface, subagentName);
16
30
  if (!subagent)
17
31
  throw new Error(`Subagent not found: ${subagentName}`);
18
- const spanStartedAt = timestamp();
19
32
  await host.state.appendEvent(parentRunId, "subagent.called", {
20
33
  subagent: subagentName,
21
34
  task
22
35
  });
23
- let child = await host.state.createRun({
36
+ const background = options.background
37
+ ? {
38
+ conversationId: typeof parent.input.conversationId === "string" ? parent.input.conversationId : parent.id,
39
+ channel: typeof parent.input.channel === "string" ? parent.input.channel : "local",
40
+ eventId: typeof parent.input.eventId === "string" ? parent.input.eventId : parent.id
41
+ }
42
+ : undefined;
43
+ const child = await host.state.createRun({
24
44
  agentRevision: host.manifest.agentRevision,
25
45
  status: "created",
26
46
  input: {
@@ -37,7 +57,10 @@ export async function runSubagentImpl(host, parentRunId, subagentName, task) {
37
57
  projectId: typeof parent.input.projectId === "string" ? parent.input.projectId : null,
38
58
  workspaceId: typeof parent.input.workspaceId === "string" ? parent.input.workspaceId : null,
39
59
  tenantId: typeof parent.input.tenantId === "string" ? parent.input.tenantId : null,
60
+ delivery: parent.input.delivery ?? null,
61
+ originReplyTarget: parent.input.replyTarget ?? null,
40
62
  metadata: parent.input.metadata ?? {},
63
+ ...(background ? { background } : {}),
41
64
  // Eval harness options follow the parent so subagent tool calls hit the
42
65
  // same stubs and approval policy ({results} cursors restart per child).
43
66
  ...(parent.input.eval !== undefined ? { eval: parent.input.eval } : {})
@@ -48,13 +71,41 @@ export async function runSubagentImpl(host, parentRunId, subagentName, task) {
48
71
  subagent: subagentName,
49
72
  freshHistory: true,
50
73
  freshState: true,
51
- engine: "pi"
74
+ engine: "pi",
75
+ background: options.background === true
52
76
  });
77
+ return child;
78
+ }
79
+ export async function executeSubagentRunImpl(host, childRunId) {
80
+ const storedChild = await host.state.getRun(childRunId);
81
+ if (!storedChild)
82
+ throw new Error(`Subagent run not found: ${childRunId}`);
83
+ if (storedChild.status !== "created")
84
+ return host.replay(childRunId);
85
+ let child = storedChild;
86
+ const parentRunId = typeof child.input.parentRunId === "string" ? child.input.parentRunId : undefined;
87
+ const subagentName = typeof child.input.subagent === "string" ? child.input.subagent : undefined;
88
+ const task = child.input.task;
89
+ if (!parentRunId || !subagentName || !isJsonObject(task)) {
90
+ throw new Error(`Run ${childRunId} is not an executable subagent run.`);
91
+ }
92
+ const parent = await host.state.getRun(parentRunId);
93
+ if (!parent)
94
+ throw new Error(`Parent run not found: ${parentRunId}`);
95
+ const surfacePath = typeof child.input.agentSurface === "string" ? child.input.agentSurface : undefined;
96
+ const subagent = surfacePath ? findSubagent(host.manifest, surfacePath) : undefined;
97
+ if (!subagent || subagent.name !== subagentName)
98
+ throw new Error(`Subagent not found: ${subagentName}`);
99
+ const spanStartedAt = timestamp();
53
100
  child = await host.state.updateRun(child.id, { status: "running" });
54
101
  const message = JSON.stringify(task);
55
102
  const conversationId = child.id;
56
103
  const hookController = await host.createSubagentHookController(child, subagent, message, conversationId);
57
104
  const initialSnapshot = await hookController.evaluate("run_start");
105
+ const controlledChild = await host.state.getRun(child.id);
106
+ if (!controlledChild || controlledChild.status !== "running")
107
+ return host.replay(child.id);
108
+ child = controlledChild;
58
109
  child = await host.state.updateRun(child.id, {
59
110
  input: {
60
111
  ...child.input,
@@ -76,7 +127,7 @@ export async function runSubagentImpl(host, parentRunId, subagentName, task) {
76
127
  });
77
128
  return {
78
129
  ...built,
79
- instructions: [subagent.instructions.text, ...capabilities.instructions]
130
+ instructions: [subagent.instructions.text, ...capabilities.instructions, SUBAGENT_HANDOFF_INSTRUCTIONS]
80
131
  .filter(Boolean)
81
132
  .join("\n\n")
82
133
  };
@@ -113,9 +164,17 @@ export async function runSubagentImpl(host, parentRunId, subagentName, task) {
113
164
  finally {
114
165
  heartbeat.stop();
115
166
  }
167
+ let timeline = await host.replay(child.id);
168
+ timeline = await finalizeSubagentHandoffImpl(host, timeline);
169
+ child = timeline.run;
170
+ const receipt = readySubagentHandoff(timeline.events);
116
171
  await host.state.appendEvent(parentRunId, "subagent.completed", {
117
172
  subagent: subagentName,
118
- childRunId: child.id
173
+ childRunId: child.id,
174
+ status: child.status,
175
+ ...(receipt ? {
176
+ handoff: publicSubagentHandoff(receipt)
177
+ } : {})
119
178
  });
120
179
  await host.emitSpan("ai.assembly-line.subagent.run", spanStartedAt, host.runSpanAttributes(parent, {
121
180
  subagentName,
@@ -128,6 +187,73 @@ export async function runSubagentImpl(host, parentRunId, subagentName, task) {
128
187
  });
129
188
  return host.replay(child.id);
130
189
  }
190
+ export async function finalizeSubagentHandoffImpl(host, initialTimeline) {
191
+ let timeline = initialTimeline;
192
+ if (timeline.run.status !== "completed")
193
+ return timeline;
194
+ if (readyAfterLatestCompletion(timeline.events))
195
+ return timeline;
196
+ let lastError;
197
+ for (let attempt = 0; attempt < 2; attempt += 1) {
198
+ try {
199
+ const receipt = await buildVerifiedSubagentHandoff(host.state, host.blob, timeline.run);
200
+ await recordSubagentHandoffReady(host.state, timeline.run.id, receipt);
201
+ return host.replay(timeline.run.id);
202
+ }
203
+ catch (error) {
204
+ lastError = error instanceof Error ? error.message : String(error);
205
+ const retrying = attempt === 0;
206
+ await host.state.appendEvent(timeline.run.id, "subagent.handoff_rejected", {
207
+ error: lastError,
208
+ attempt: attempt + 1,
209
+ retrying
210
+ });
211
+ if (!retrying)
212
+ break;
213
+ try {
214
+ await resumeAgentHarnessSubagent(host, timeline.run, subagentHandoffRetryMessage(lastError));
215
+ timeline = await host.replay(timeline.run.id);
216
+ }
217
+ catch (retryError) {
218
+ lastError = `Artifact handoff retry could not run: ${retryError instanceof Error ? retryError.message : String(retryError)}`;
219
+ break;
220
+ }
221
+ }
222
+ }
223
+ const failed = await host.state.updateRun(timeline.run.id, {
224
+ status: "failed",
225
+ terminalReason: "subagent.handoff_failed",
226
+ terminalError: lastError ?? "Artifact handoff failed."
227
+ });
228
+ await host.state.appendEvent(failed.id, "run.failed", {
229
+ reason: "subagent.handoff_failed",
230
+ error: failed.terminalError ?? "Artifact handoff failed."
231
+ });
232
+ return host.replay(failed.id);
233
+ }
234
+ export function subagentToolResult(timeline) {
235
+ const completed = [...timeline.events].reverse().find((event) => event.type === "run.completed");
236
+ const receipt = readySubagentHandoff(timeline.events);
237
+ return {
238
+ runId: timeline.run.id,
239
+ status: timeline.run.status,
240
+ ...(completed && typeof completed.data.response === "string" ? { response: completed.data.response } : {}),
241
+ ...(receipt ? { handoff: publicSubagentHandoff(receipt) } : {}),
242
+ ...(timeline.run.status === "failed" && timeline.run.terminalReason
243
+ ? { terminalReason: timeline.run.terminalReason }
244
+ : {}),
245
+ ...(timeline.run.status === "failed" && timeline.run.terminalError
246
+ ? { error: timeline.run.terminalError }
247
+ : {})
248
+ };
249
+ }
250
+ function readyAfterLatestCompletion(events) {
251
+ const latestCompletion = [...events].reverse().find((event) => event.type === "run.completed");
252
+ const ready = [...events].reverse().find((event) => event.type === "subagent.handoff_ready");
253
+ return ready && (!latestCompletion || ready.sequence > latestCompletion.sequence)
254
+ ? readySubagentHandoff(events)
255
+ : undefined;
256
+ }
131
257
  export async function readSubagentImpl(host, childRunId, cursor) {
132
258
  const timeline = await host.replay(childRunId);
133
259
  const afterSequence = cursor ? Number(cursor) : 0;
@@ -149,7 +275,7 @@ export async function sendSubagentFollowupImpl(host, childRunId, message) {
149
275
  throw new Error(`Subagent not found: ${subagentName}`);
150
276
  }
151
277
  await resumeAgentHarnessSubagent(host, child, message);
152
- return host.replay(child.id);
278
+ return finalizeSubagentHandoffImpl(host, await host.replay(child.id));
153
279
  }
154
280
  /** Resume a Pi-backed subagent with a follow-up through its durable continuation. */
155
281
  async function resumeAgentHarnessSubagent(host, child, message) {
@@ -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,44 @@
1
+ import type { JsonObject } from "@assemblyline-agents/core";
2
+ import type { BlobAdapter } from "./runtime-types.js";
3
+ import type { RunEvent, RunRecord, StateAdapter } from "./state.js";
4
+ export declare const SUBAGENT_HANDOFF_INSTRUCTIONS: string;
5
+ export interface SubagentHandoffFile {
6
+ path: string;
7
+ filename: string;
8
+ contentType: string;
9
+ sizeBytes: number;
10
+ sha256: string;
11
+ blobKey: string;
12
+ }
13
+ export interface SubagentHandoffLink {
14
+ kind: string;
15
+ artifactId: string;
16
+ revision: string;
17
+ title: string;
18
+ url: string;
19
+ visibility: string;
20
+ }
21
+ export interface SubagentHandoffReceipt {
22
+ version: 1;
23
+ sourceRunId: string;
24
+ files: SubagentHandoffFile[];
25
+ links: SubagentHandoffLink[];
26
+ }
27
+ interface DeliverableRequirement {
28
+ kind: "file" | "link";
29
+ description: string;
30
+ }
31
+ export declare class SubagentHandoffError extends Error {
32
+ constructor(message: string);
33
+ }
34
+ export declare function subagentDeliverableRequirements(run: RunRecord): DeliverableRequirement[];
35
+ export declare function buildVerifiedSubagentHandoff(state: StateAdapter, blob: BlobAdapter, run: RunRecord): Promise<SubagentHandoffReceipt>;
36
+ export declare function readySubagentHandoff(events: RunEvent[]): SubagentHandoffReceipt | undefined;
37
+ export declare function recordSubagentHandoffReady(state: StateAdapter, runId: string, receipt: SubagentHandoffReceipt): Promise<void>;
38
+ export declare function acceptSubagentHandoff(state: StateAdapter, targetRunId: string, receipt: SubagentHandoffReceipt): Promise<void>;
39
+ export declare function publicSubagentHandoff(receipt: SubagentHandoffReceipt): JsonObject;
40
+ export declare function subagentHandoffRetryMessage(error: string): string;
41
+ export declare function backgroundHandoffSummary(receipt: SubagentHandoffReceipt): string | undefined;
42
+ export declare function acceptBackgroundSubagentHandoff(state: StateAdapter, run: RunRecord): Promise<void>;
43
+ export {};
44
+ //# sourceMappingURL=subagent-handoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-handoff.d.ts","sourceRoot":"","sources":["../src/subagent-handoff.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpE,eAAO,MAAM,6BAA6B,QAM9B,CAAC;AAEb,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAC9B;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,SAAS,GAAG,sBAAsB,EAAE,CAcxF;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,sBAAsB,CAAC,CA0BjC;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,sBAAsB,GAAG,SAAS,CAM3F;AAED,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,UAAU,CAkBjF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMjE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAU5F;AAED,wBAAsB,+BAA+B,CACnD,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
@@ -0,0 +1,271 @@
1
+ import { createHash } from "node:crypto";
2
+ import { internalDeliveryArtifactReason } from "./delivery-artifacts.js";
3
+ import { isJsonObject } from "./json-util.js";
4
+ import { isReservedWorkspacePath } from "./sandbox-fs.js";
5
+ export const SUBAGENT_HANDOFF_INSTRUCTIONS = [
6
+ "Artifact handoff to your parent:",
7
+ "- A file path or URL in prose is not a handoff.",
8
+ "- For every completed file the parent or user needs, call deliver_artifact with its exact /workspace path and do not finish until that call succeeds.",
9
+ "- For a hosted page or UI, use a verified publication tool that records the canonical HTTPS link for delivery; do not invent or merely mention a URL.",
10
+ "- If a handoff tool fails, fix the artifact and retry the tool. The runtime rejects missing or unreadable required deliverables and sends you one explicit retry turn."
11
+ ].join("\n");
12
+ export class SubagentHandoffError extends Error {
13
+ constructor(message) {
14
+ super(message);
15
+ this.name = "SubagentHandoffError";
16
+ }
17
+ }
18
+ export function subagentDeliverableRequirements(run) {
19
+ const task = isJsonObject(run.input.task) ? run.input.task : {};
20
+ if (!Array.isArray(task.deliverables))
21
+ return [];
22
+ return task.deliverables.map((value, index) => {
23
+ if (!isJsonObject(value)) {
24
+ throw new SubagentHandoffError(`Deliverable ${index + 1} is not an object.`);
25
+ }
26
+ const kind = value.kind === "file" || value.kind === "link" ? value.kind : undefined;
27
+ const description = stringValue(value.description);
28
+ if (!kind || !description) {
29
+ throw new SubagentHandoffError(`Deliverable ${index + 1} requires kind=file|link and a description.`);
30
+ }
31
+ return { kind, description };
32
+ });
33
+ }
34
+ export async function buildVerifiedSubagentHandoff(state, blob, run) {
35
+ const events = await state.listEvents(run.id);
36
+ const rawFiles = new Map();
37
+ const rawLinks = new Map();
38
+ for (const event of events) {
39
+ if (event.type === "artifact.delivery_selected") {
40
+ const path = stringValue(event.data.path) ?? `event:${event.id}`;
41
+ rawFiles.set(path, event.data);
42
+ }
43
+ if (event.type === "artifact.link_delivery_selected") {
44
+ const artifactId = stringValue(event.data.artifactId) ?? `event:${event.id}`;
45
+ rawLinks.set(artifactId, event.data);
46
+ }
47
+ }
48
+ const files = [];
49
+ for (const data of rawFiles.values())
50
+ files.push(await verifiedFile(blob, data));
51
+ const links = [...rawLinks.values()].map(verifiedLink);
52
+ const receipt = {
53
+ version: 1,
54
+ sourceRunId: run.id,
55
+ files,
56
+ links
57
+ };
58
+ assertRequiredDeliverables(run, receipt);
59
+ return receipt;
60
+ }
61
+ export function readySubagentHandoff(events) {
62
+ const ready = [...events].reverse().find((event) => event.type === "subagent.handoff_ready");
63
+ if (!ready)
64
+ return undefined;
65
+ const receipt = receiptFromJson(ready.data.receipt);
66
+ if (!receipt)
67
+ throw new SubagentHandoffError("The durable subagent handoff receipt is malformed.");
68
+ return receipt;
69
+ }
70
+ export async function recordSubagentHandoffReady(state, runId, receipt) {
71
+ await state.appendEvent(runId, "subagent.handoff_ready", {
72
+ receipt: receipt,
73
+ fileCount: receipt.files.length,
74
+ linkCount: receipt.links.length
75
+ });
76
+ }
77
+ export async function acceptSubagentHandoff(state, targetRunId, receipt) {
78
+ const alreadyAccepted = (await state.listEvents(targetRunId)).some((event) => event.type === "subagent.handoff_accepted" && event.data.sourceRunId === receipt.sourceRunId);
79
+ if (alreadyAccepted)
80
+ return;
81
+ for (const file of receipt.files) {
82
+ await state.appendEvent(targetRunId, "artifact.delivery_selected", {
83
+ path: file.path,
84
+ relativePath: file.path.slice("/workspace/".length),
85
+ sizeBytes: file.sizeBytes,
86
+ contentType: file.contentType,
87
+ sha256: file.sha256,
88
+ blobKey: file.blobKey,
89
+ handoffSourceRunId: receipt.sourceRunId
90
+ });
91
+ }
92
+ for (const link of receipt.links) {
93
+ await state.appendEvent(targetRunId, "artifact.link_delivery_selected", {
94
+ ...link,
95
+ handoffSourceRunId: receipt.sourceRunId
96
+ });
97
+ }
98
+ await state.appendEvent(targetRunId, "subagent.handoff_accepted", {
99
+ sourceRunId: receipt.sourceRunId,
100
+ fileCount: receipt.files.length,
101
+ linkCount: receipt.links.length
102
+ });
103
+ }
104
+ export function publicSubagentHandoff(receipt) {
105
+ return {
106
+ files: receipt.files.map((file) => ({
107
+ path: file.path,
108
+ filename: file.filename,
109
+ contentType: file.contentType,
110
+ sizeBytes: file.sizeBytes,
111
+ sha256: file.sha256
112
+ })),
113
+ links: receipt.links.map((link) => ({
114
+ kind: link.kind,
115
+ artifactId: link.artifactId,
116
+ revision: link.revision,
117
+ title: link.title,
118
+ url: link.url,
119
+ visibility: link.visibility
120
+ }))
121
+ };
122
+ }
123
+ export function subagentHandoffRetryMessage(error) {
124
+ return [
125
+ "Your artifact handoff was rejected and no file or link will reach the parent unless you repair it now.",
126
+ `Reason: ${error}`,
127
+ "Create or repair every required deliverable, call deliver_artifact once for each file, and use a verified publisher for each hosted page/link. Retry any failed handoff tool call before finishing. Do not return only a path or URL in prose."
128
+ ].join("\n\n");
129
+ }
130
+ export function backgroundHandoffSummary(receipt) {
131
+ const lines = [
132
+ ...receipt.files.map((file) => `- File: ${file.path} (${file.sizeBytes} bytes)`),
133
+ ...receipt.links.map((link) => `- ${link.title}: ${link.url}`)
134
+ ];
135
+ if (lines.length === 0)
136
+ return undefined;
137
+ return [
138
+ "Verified artifact handoff (the runtime will carry these into your reply automatically):",
139
+ ...lines
140
+ ].join("\n");
141
+ }
142
+ export async function acceptBackgroundSubagentHandoff(state, run) {
143
+ const metadata = isJsonObject(run.input.metadata) ? run.input.metadata : undefined;
144
+ const assemblyLine = metadata && isJsonObject(metadata.assemblyLine) ? metadata.assemblyLine : undefined;
145
+ if (assemblyLine?.kind !== "background_subagent_completion")
146
+ return;
147
+ const sourceRunId = stringValue(assemblyLine.sourceRunId);
148
+ if (!sourceRunId)
149
+ throw new SubagentHandoffError("Background completion is missing its source run id.");
150
+ const source = await state.getRun(sourceRunId);
151
+ if (!source)
152
+ throw new SubagentHandoffError(`Background handoff source run not found: ${sourceRunId}`);
153
+ const background = isJsonObject(source.input.background) ? source.input.background : undefined;
154
+ if (stringValue(background?.conversationId) !== stringValue(run.input.conversationId) ||
155
+ source.input.agentSurface === "root") {
156
+ throw new SubagentHandoffError(`Background handoff source ${sourceRunId} does not belong to this conversation.`);
157
+ }
158
+ const receipt = readySubagentHandoff(await state.listEvents(sourceRunId));
159
+ if (!receipt) {
160
+ if (assemblyLine.handoff !== undefined) {
161
+ throw new SubagentHandoffError(`Background handoff receipt is missing for ${sourceRunId}.`);
162
+ }
163
+ return;
164
+ }
165
+ if (receipt.sourceRunId !== sourceRunId) {
166
+ throw new SubagentHandoffError(`Background handoff receipt source mismatch for ${sourceRunId}.`);
167
+ }
168
+ await acceptSubagentHandoff(state, run.id, receipt);
169
+ }
170
+ function assertRequiredDeliverables(run, receipt) {
171
+ const requirements = subagentDeliverableRequirements(run);
172
+ const requiredFiles = requirements.filter((item) => item.kind === "file");
173
+ const requiredLinks = requirements.filter((item) => item.kind === "link");
174
+ if (receipt.files.length >= requiredFiles.length && receipt.links.length >= requiredLinks.length)
175
+ return;
176
+ const missing = [
177
+ ...(receipt.files.length < requiredFiles.length
178
+ ? requiredFiles.slice(receipt.files.length).map((item) => `file: ${item.description}`)
179
+ : []),
180
+ ...(receipt.links.length < requiredLinks.length
181
+ ? requiredLinks.slice(receipt.links.length).map((item) => `link: ${item.description}`)
182
+ : [])
183
+ ];
184
+ throw new SubagentHandoffError(`Required deliverables were not staged: ${missing.join("; ")}.`);
185
+ }
186
+ async function verifiedFile(blob, data) {
187
+ const path = stringValue(data.path);
188
+ if (!path?.startsWith("/workspace/") || path === "/workspace/") {
189
+ throw new SubagentHandoffError("A selected file handoff has no exact /workspace path.");
190
+ }
191
+ const relativePath = path.slice("/workspace/".length);
192
+ if (isReservedWorkspacePath(relativePath) || internalDeliveryArtifactReason(relativePath)) {
193
+ throw new SubagentHandoffError(`Selected file is not eligible for handoff: ${path}.`);
194
+ }
195
+ const contentType = stringValue(data.contentType);
196
+ const sha256 = stringValue(data.sha256);
197
+ const blobKey = stringValue(data.blobKey);
198
+ const sizeBytes = data.sizeBytes;
199
+ if (!contentType || !sha256 || !blobKey || typeof sizeBytes !== "number" || !Number.isInteger(sizeBytes) || sizeBytes < 0) {
200
+ throw new SubagentHandoffError(`Selected file ${path} has no complete durable receipt; call deliver_artifact again.`);
201
+ }
202
+ const bytes = await blob.get(blobKey);
203
+ if (!bytes)
204
+ throw new SubagentHandoffError(`Selected file ${path} is missing from durable blob storage; call deliver_artifact again.`);
205
+ const actual = Buffer.from(bytes);
206
+ const actualSha256 = createHash("sha256").update(actual).digest("hex");
207
+ if (actual.byteLength !== sizeBytes || actualSha256 !== sha256) {
208
+ throw new SubagentHandoffError(`Selected file ${path} failed byte verification; recreate it and call deliver_artifact again.`);
209
+ }
210
+ return {
211
+ path,
212
+ filename: relativePath.split("/").filter(Boolean).at(-1) ?? "artifact",
213
+ contentType,
214
+ sizeBytes,
215
+ sha256,
216
+ blobKey
217
+ };
218
+ }
219
+ function verifiedLink(data) {
220
+ const kind = stringValue(data.kind);
221
+ const artifactId = stringValue(data.artifactId);
222
+ const revision = stringValue(data.revision);
223
+ const title = stringValue(data.title);
224
+ const url = stringValue(data.url);
225
+ const visibility = stringValue(data.visibility) ?? "unlisted";
226
+ if (!kind || !artifactId || !revision || !title || !url || !isHttpsUrl(url)) {
227
+ throw new SubagentHandoffError("A selected page/link handoff has no complete verified HTTPS publication receipt; publish it again.");
228
+ }
229
+ return { kind, artifactId, revision, title, url, visibility };
230
+ }
231
+ function receiptFromJson(value) {
232
+ if (!isJsonObject(value) || value.version !== 1 || !stringValue(value.sourceRunId))
233
+ return undefined;
234
+ if (!Array.isArray(value.files) || !Array.isArray(value.links))
235
+ return undefined;
236
+ const files = value.files.filter(isJsonObject).flatMap((file) => {
237
+ const path = stringValue(file.path);
238
+ const filename = stringValue(file.filename);
239
+ const contentType = stringValue(file.contentType);
240
+ const sha256 = stringValue(file.sha256);
241
+ const blobKey = stringValue(file.blobKey);
242
+ const sizeBytes = file.sizeBytes;
243
+ return path && filename && contentType && sha256 && blobKey &&
244
+ typeof sizeBytes === "number" && Number.isInteger(sizeBytes) && sizeBytes >= 0
245
+ ? [{ path, filename, contentType, sha256, blobKey, sizeBytes }]
246
+ : [];
247
+ });
248
+ const links = value.links.filter(isJsonObject).flatMap((link) => {
249
+ try {
250
+ return [verifiedLink(link)];
251
+ }
252
+ catch {
253
+ return [];
254
+ }
255
+ });
256
+ if (files.length !== value.files.length || links.length !== value.links.length)
257
+ return undefined;
258
+ return { version: 1, sourceRunId: String(value.sourceRunId), files, links };
259
+ }
260
+ function isHttpsUrl(value) {
261
+ try {
262
+ return new URL(value).protocol === "https:";
263
+ }
264
+ catch {
265
+ return false;
266
+ }
267
+ }
268
+ function stringValue(value) {
269
+ return typeof value === "string" && value.trim() ? value.trim() : undefined;
270
+ }
271
+ //# sourceMappingURL=subagent-handoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-handoff.js","sourceRoot":"","sources":["../src/subagent-handoff.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-apis.d.ts","sourceRoot":"","sources":["../src/tool-apis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EAIb,eAAe,EAIf,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D;;;;;;;GAOG;AAEH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;gBAElB,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU;CAMnD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,UAAQ,GAAG,oBAAoB,CA4E9J;AAWD,wBAAsB,eAAe,CAAC,CAAC,SAAS,SAAS,EACvD,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAsCZ;AA4ID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,GAAG,aAAa,CAmD9F;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,GAAG,eAAe,CAkDvI"}
1
+ {"version":3,"file":"tool-apis.d.ts","sourceRoot":"","sources":["../src/tool-apis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EAIb,eAAe,EAIf,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D;;;;;;;GAOG;AAEH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;gBAElB,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU;CAMnD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,UAAQ,GAAG,oBAAoB,CA2E9J;AAWD,wBAAsB,eAAe,CAAC,CAAC,SAAS,SAAS,EACvD,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAsCZ;AA4ID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,GAAG,aAAa,CAmD9F;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,GAAG,eAAe,CAkDvI"}