@assemblyline-agents/runtime 3.1.0 → 3.3.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 (113) hide show
  1. package/README.md +6 -0
  2. package/dist/agent-hook-controller-factory.d.ts +28 -0
  3. package/dist/agent-hook-controller-factory.d.ts.map +1 -0
  4. package/dist/agent-hook-controller-factory.js +83 -0
  5. package/dist/agent-hook-controller-factory.js.map +1 -0
  6. package/dist/background-subagents.d.ts +43 -0
  7. package/dist/background-subagents.d.ts.map +1 -0
  8. package/dist/background-subagents.js +309 -0
  9. package/dist/background-subagents.js.map +1 -0
  10. package/dist/builtin-tool-executors.d.ts +1 -0
  11. package/dist/builtin-tool-executors.d.ts.map +1 -1
  12. package/dist/builtin-tool-executors.js +38 -30
  13. package/dist/builtin-tool-executors.js.map +1 -1
  14. package/dist/builtin-tools.d.ts.map +1 -1
  15. package/dist/builtin-tools.js +5 -4
  16. package/dist/builtin-tools.js.map +1 -1
  17. package/dist/capability-catalog.d.ts +8 -5
  18. package/dist/capability-catalog.d.ts.map +1 -1
  19. package/dist/capability-catalog.js +28 -1
  20. package/dist/capability-catalog.js.map +1 -1
  21. package/dist/conversation-turn-dispatch.d.ts +1 -1
  22. package/dist/conversation-turn-dispatch.d.ts.map +1 -1
  23. package/dist/conversation-turn-dispatch.js +25 -1
  24. package/dist/conversation-turn-dispatch.js.map +1 -1
  25. package/dist/dynamic-schedule-runtime.d.ts +42 -0
  26. package/dist/dynamic-schedule-runtime.d.ts.map +1 -0
  27. package/dist/dynamic-schedule-runtime.js +57 -0
  28. package/dist/dynamic-schedule-runtime.js.map +1 -0
  29. package/dist/harness-loop.d.ts +6 -6
  30. package/dist/harness-loop.d.ts.map +1 -1
  31. package/dist/harness-loop.js +26 -15
  32. package/dist/harness-loop.js.map +1 -1
  33. package/dist/in-memory-conversation-turn-store.d.ts +1 -0
  34. package/dist/in-memory-conversation-turn-store.d.ts.map +1 -1
  35. package/dist/in-memory-conversation-turn-store.js +11 -0
  36. package/dist/in-memory-conversation-turn-store.js.map +1 -1
  37. package/dist/index.d.ts +23 -41
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +172 -169
  40. package/dist/index.js.map +1 -1
  41. package/dist/local-sandbox.d.ts.map +1 -1
  42. package/dist/local-sandbox.js +2 -1
  43. package/dist/local-sandbox.js.map +1 -1
  44. package/dist/public-api.d.ts +2 -2
  45. package/dist/public-api.d.ts.map +1 -1
  46. package/dist/public-api.js.map +1 -1
  47. package/dist/replay-resume.d.ts.map +1 -1
  48. package/dist/replay-resume.js +3 -2
  49. package/dist/replay-resume.js.map +1 -1
  50. package/dist/run-heartbeat.d.ts +45 -18
  51. package/dist/run-heartbeat.d.ts.map +1 -1
  52. package/dist/run-heartbeat.js +120 -14
  53. package/dist/run-heartbeat.js.map +1 -1
  54. package/dist/run-outcome.d.ts +1 -1
  55. package/dist/run-outcome.d.ts.map +1 -1
  56. package/dist/run-outcome.js.map +1 -1
  57. package/dist/run-recovery.d.ts +9 -1
  58. package/dist/run-recovery.d.ts.map +1 -1
  59. package/dist/run-recovery.js +26 -1
  60. package/dist/run-recovery.js.map +1 -1
  61. package/dist/runtime-types.d.ts +23 -3
  62. package/dist/runtime-types.d.ts.map +1 -1
  63. package/dist/sandbox-authored-tool-child.d.ts +7 -0
  64. package/dist/sandbox-authored-tool-child.d.ts.map +1 -0
  65. package/dist/sandbox-authored-tool-child.js +217 -0
  66. package/dist/sandbox-authored-tool-child.js.map +1 -0
  67. package/dist/sandbox-authored-tool-executor.d.ts +23 -0
  68. package/dist/sandbox-authored-tool-executor.d.ts.map +1 -0
  69. package/dist/sandbox-authored-tool-executor.js +290 -0
  70. package/dist/sandbox-authored-tool-executor.js.map +1 -0
  71. package/dist/sandbox-session-lifecycle.d.ts +1 -0
  72. package/dist/sandbox-session-lifecycle.d.ts.map +1 -1
  73. package/dist/sandbox-session-lifecycle.js +48 -16
  74. package/dist/sandbox-session-lifecycle.js.map +1 -1
  75. package/dist/sandbox-tool-bridge.d.ts +19 -0
  76. package/dist/sandbox-tool-bridge.d.ts.map +1 -0
  77. package/dist/sandbox-tool-bridge.js +227 -0
  78. package/dist/sandbox-tool-bridge.js.map +1 -0
  79. package/dist/scheduled-delivery.d.ts +6 -0
  80. package/dist/scheduled-delivery.d.ts.map +1 -0
  81. package/dist/scheduled-delivery.js +117 -0
  82. package/dist/scheduled-delivery.js.map +1 -0
  83. package/dist/source-loader.d.ts +10 -0
  84. package/dist/source-loader.d.ts.map +1 -1
  85. package/dist/source-loader.js +64 -3
  86. package/dist/source-loader.js.map +1 -1
  87. package/dist/state-stores.js +1 -1
  88. package/dist/state-stores.js.map +1 -1
  89. package/dist/state.d.ts +2 -1
  90. package/dist/state.d.ts.map +1 -1
  91. package/dist/state.js +1 -0
  92. package/dist/state.js.map +1 -1
  93. package/dist/storage.d.ts +1 -0
  94. package/dist/storage.d.ts.map +1 -1
  95. package/dist/storage.js +3 -0
  96. package/dist/storage.js.map +1 -1
  97. package/dist/subagent-execution.d.ts +17 -1
  98. package/dist/subagent-execution.d.ts.map +1 -1
  99. package/dist/subagent-execution.js +217 -6
  100. package/dist/subagent-execution.js.map +1 -1
  101. package/dist/subagent-handoff.d.ts +44 -0
  102. package/dist/subagent-handoff.d.ts.map +1 -0
  103. package/dist/subagent-handoff.js +271 -0
  104. package/dist/subagent-handoff.js.map +1 -0
  105. package/dist/tool-apis.d.ts +1 -1
  106. package/dist/tool-apis.d.ts.map +1 -1
  107. package/dist/tool-apis.js +17 -10
  108. package/dist/tool-apis.js.map +1 -1
  109. package/dist/tool-execution.d.ts +17 -3
  110. package/dist/tool-execution.d.ts.map +1 -1
  111. package/dist/tool-execution.js +147 -20
  112. package/dist/tool-execution.js.map +1 -1
  113. package/package.json +3 -3
@@ -1,7 +1,96 @@
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
+ const RESUMABLE_CHILD_STATUSES = new Set(["completed", "failed", "cancelled", "suspended"]);
16
+ /**
17
+ * Continue an existing child run instead of starting a fresh one. The child
18
+ * keeps its sandbox session, workspace files, and transcript, so recovering a
19
+ * failed or incomplete delegation costs one follow-up turn rather than a full
20
+ * rebuild of work that already ran.
21
+ */
22
+ export async function resumeSubagentImpl(host, parentRunId, childRunId, expectedSubagentName, message) {
23
+ const parent = await host.state.getRun(parentRunId);
24
+ if (!parent)
25
+ throw new Error(`Parent run not found: ${parentRunId}`);
26
+ const child = await host.state.getRun(childRunId);
27
+ if (!child)
28
+ throw new Error(`Subagent run not found: ${childRunId}`);
29
+ const subagentName = typeof child.input.subagent === "string" ? child.input.subagent : undefined;
30
+ if (!subagentName)
31
+ throw new Error(`Run ${childRunId} is not a subagent run.`);
32
+ if (subagentName !== expectedSubagentName) {
33
+ throw new Error(`Subagent run ${childRunId} belongs to ${subagentName}, not ${expectedSubagentName}.`);
34
+ }
35
+ if (!(await resumableByRun(host, child, parent))) {
36
+ throw new Error(`Subagent run ${childRunId} does not belong to this conversation.`);
37
+ }
38
+ // Only a settled child can take a follow-up. An executing run would be
39
+ // double-driven, and a run parked on approval, input, or a connection has its
40
+ // own resume path.
41
+ if (!RESUMABLE_CHILD_STATUSES.has(child.status)) {
42
+ throw new Error(`Subagent run ${childRunId} is ${child.status}; wait for it to settle before resuming it.`);
43
+ }
44
+ const selectedSubagents = Array.isArray(parent.input.agentSubagents)
45
+ ? parent.input.agentSubagents.filter((name) => typeof name === "string")
46
+ : [];
47
+ if (!selectedSubagents.includes(subagentName)) {
48
+ throw new Error(`Subagent ${subagentName} is not enabled by the current agent capability snapshot.`);
49
+ }
50
+ await host.state.appendEvent(parentRunId, "subagent.resumed", {
51
+ subagent: subagentName,
52
+ childRunId,
53
+ previousStatus: child.status
54
+ });
55
+ const timeline = await sendSubagentFollowupImpl(host, childRunId, message);
56
+ const receipt = readySubagentHandoff(timeline.events);
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);
68
+ }
69
+ /**
70
+ * A run may resume its own children, and any later turn of the same
71
+ * conversation may resume them too. Background work reports its completion on a
72
+ * fresh root turn, so the run that recovers a failed child is rarely the run
73
+ * that started it.
74
+ */
75
+ async function resumableByRun(host, child, parent) {
76
+ const childParentRunId = typeof child.input.parentRunId === "string" ? child.input.parentRunId : undefined;
77
+ if (childParentRunId === parent.id)
78
+ return true;
79
+ const conversationId = typeof parent.input.conversationId === "string" ? parent.input.conversationId : parent.id;
80
+ const background = isJsonObject(child.input.background) ? child.input.background : undefined;
81
+ if (typeof background?.conversationId === "string" && background.conversationId === conversationId)
82
+ return true;
83
+ if (!childParentRunId)
84
+ return false;
85
+ const childParent = await host.state.getRun(childParentRunId);
86
+ if (!childParent)
87
+ return false;
88
+ const childConversationId = typeof childParent.input.conversationId === "string"
89
+ ? childParent.input.conversationId
90
+ : childParent.id;
91
+ return childConversationId === conversationId;
92
+ }
93
+ export async function createSubagentRunImpl(host, parentRunId, subagentName, task, options = {}) {
5
94
  const parent = await host.state.getRun(parentRunId);
6
95
  if (!parent)
7
96
  throw new Error(`Parent run not found: ${parentRunId}`);
@@ -12,15 +101,24 @@ export async function runSubagentImpl(host, parentRunId, subagentName, task) {
12
101
  throw new Error(`Subagent ${subagentName} is not enabled by the current agent capability snapshot.`);
13
102
  }
14
103
  const parentSurface = surfaceForRun(host.manifest, parent);
104
+ if (options.background && parentSurface.path !== "root") {
105
+ throw new Error("Only the root agent can start background subagent work.");
106
+ }
15
107
  const subagent = findChildSubagent(parentSurface, subagentName);
16
108
  if (!subagent)
17
109
  throw new Error(`Subagent not found: ${subagentName}`);
18
- const spanStartedAt = timestamp();
19
110
  await host.state.appendEvent(parentRunId, "subagent.called", {
20
111
  subagent: subagentName,
21
112
  task
22
113
  });
23
- let child = await host.state.createRun({
114
+ const background = options.background
115
+ ? {
116
+ conversationId: typeof parent.input.conversationId === "string" ? parent.input.conversationId : parent.id,
117
+ channel: typeof parent.input.channel === "string" ? parent.input.channel : "local",
118
+ eventId: typeof parent.input.eventId === "string" ? parent.input.eventId : parent.id
119
+ }
120
+ : undefined;
121
+ const child = await host.state.createRun({
24
122
  agentRevision: host.manifest.agentRevision,
25
123
  status: "created",
26
124
  input: {
@@ -37,7 +135,10 @@ export async function runSubagentImpl(host, parentRunId, subagentName, task) {
37
135
  projectId: typeof parent.input.projectId === "string" ? parent.input.projectId : null,
38
136
  workspaceId: typeof parent.input.workspaceId === "string" ? parent.input.workspaceId : null,
39
137
  tenantId: typeof parent.input.tenantId === "string" ? parent.input.tenantId : null,
138
+ delivery: parent.input.delivery ?? null,
139
+ originReplyTarget: parent.input.replyTarget ?? null,
40
140
  metadata: parent.input.metadata ?? {},
141
+ ...(background ? { background } : {}),
41
142
  // Eval harness options follow the parent so subagent tool calls hit the
42
143
  // same stubs and approval policy ({results} cursors restart per child).
43
144
  ...(parent.input.eval !== undefined ? { eval: parent.input.eval } : {})
@@ -48,13 +149,41 @@ export async function runSubagentImpl(host, parentRunId, subagentName, task) {
48
149
  subagent: subagentName,
49
150
  freshHistory: true,
50
151
  freshState: true,
51
- engine: "pi"
152
+ engine: "pi",
153
+ background: options.background === true
52
154
  });
155
+ return child;
156
+ }
157
+ export async function executeSubagentRunImpl(host, childRunId) {
158
+ const storedChild = await host.state.getRun(childRunId);
159
+ if (!storedChild)
160
+ throw new Error(`Subagent run not found: ${childRunId}`);
161
+ if (storedChild.status !== "created")
162
+ return host.replay(childRunId);
163
+ let child = storedChild;
164
+ const parentRunId = typeof child.input.parentRunId === "string" ? child.input.parentRunId : undefined;
165
+ const subagentName = typeof child.input.subagent === "string" ? child.input.subagent : undefined;
166
+ const task = child.input.task;
167
+ if (!parentRunId || !subagentName || !isJsonObject(task)) {
168
+ throw new Error(`Run ${childRunId} is not an executable subagent run.`);
169
+ }
170
+ const parent = await host.state.getRun(parentRunId);
171
+ if (!parent)
172
+ throw new Error(`Parent run not found: ${parentRunId}`);
173
+ const surfacePath = typeof child.input.agentSurface === "string" ? child.input.agentSurface : undefined;
174
+ const subagent = surfacePath ? findSubagent(host.manifest, surfacePath) : undefined;
175
+ if (!subagent || subagent.name !== subagentName)
176
+ throw new Error(`Subagent not found: ${subagentName}`);
177
+ const spanStartedAt = timestamp();
53
178
  child = await host.state.updateRun(child.id, { status: "running" });
54
179
  const message = JSON.stringify(task);
55
180
  const conversationId = child.id;
56
181
  const hookController = await host.createSubagentHookController(child, subagent, message, conversationId);
57
182
  const initialSnapshot = await hookController.evaluate("run_start");
183
+ const controlledChild = await host.state.getRun(child.id);
184
+ if (!controlledChild || controlledChild.status !== "running")
185
+ return host.replay(child.id);
186
+ child = controlledChild;
58
187
  child = await host.state.updateRun(child.id, {
59
188
  input: {
60
189
  ...child.input,
@@ -76,7 +205,7 @@ export async function runSubagentImpl(host, parentRunId, subagentName, task) {
76
205
  });
77
206
  return {
78
207
  ...built,
79
- instructions: [subagent.instructions.text, ...capabilities.instructions]
208
+ instructions: [subagent.instructions.text, ...capabilities.instructions, SUBAGENT_HANDOFF_INSTRUCTIONS]
80
209
  .filter(Boolean)
81
210
  .join("\n\n")
82
211
  };
@@ -113,9 +242,17 @@ export async function runSubagentImpl(host, parentRunId, subagentName, task) {
113
242
  finally {
114
243
  heartbeat.stop();
115
244
  }
245
+ let timeline = await host.replay(child.id);
246
+ timeline = await finalizeSubagentHandoffImpl(host, timeline);
247
+ child = timeline.run;
248
+ const receipt = readySubagentHandoff(timeline.events);
116
249
  await host.state.appendEvent(parentRunId, "subagent.completed", {
117
250
  subagent: subagentName,
118
- childRunId: child.id
251
+ childRunId: child.id,
252
+ status: child.status,
253
+ ...(receipt ? {
254
+ handoff: publicSubagentHandoff(receipt)
255
+ } : {})
119
256
  });
120
257
  await host.emitSpan("ai.assembly-line.subagent.run", spanStartedAt, host.runSpanAttributes(parent, {
121
258
  subagentName,
@@ -128,6 +265,80 @@ export async function runSubagentImpl(host, parentRunId, subagentName, task) {
128
265
  });
129
266
  return host.replay(child.id);
130
267
  }
268
+ export async function finalizeSubagentHandoffImpl(host, initialTimeline) {
269
+ let timeline = initialTimeline;
270
+ if (timeline.run.status !== "completed")
271
+ return timeline;
272
+ if (readyAfterLatestCompletion(timeline.events))
273
+ return timeline;
274
+ let lastError;
275
+ for (let attempt = 0; attempt < 2; attempt += 1) {
276
+ try {
277
+ const receipt = await buildVerifiedSubagentHandoff(host.state, host.blob, timeline.run);
278
+ await recordSubagentHandoffReady(host.state, timeline.run.id, receipt);
279
+ return host.replay(timeline.run.id);
280
+ }
281
+ catch (error) {
282
+ lastError = error instanceof Error ? error.message : String(error);
283
+ const retrying = attempt === 0;
284
+ await host.state.appendEvent(timeline.run.id, "subagent.handoff_rejected", {
285
+ error: lastError,
286
+ attempt: attempt + 1,
287
+ retrying
288
+ });
289
+ if (!retrying)
290
+ break;
291
+ try {
292
+ await resumeAgentHarnessSubagent(host, timeline.run, subagentHandoffRetryMessage(lastError));
293
+ timeline = await host.replay(timeline.run.id);
294
+ }
295
+ catch (retryError) {
296
+ lastError = `Artifact handoff retry could not run: ${retryError instanceof Error ? retryError.message : String(retryError)}`;
297
+ break;
298
+ }
299
+ }
300
+ }
301
+ const failed = await host.state.updateRun(timeline.run.id, {
302
+ status: "failed",
303
+ terminalReason: "subagent.handoff_failed",
304
+ terminalError: lastError ?? "Artifact handoff failed."
305
+ });
306
+ await host.state.appendEvent(failed.id, "run.failed", {
307
+ reason: "subagent.handoff_failed",
308
+ error: failed.terminalError ?? "Artifact handoff failed."
309
+ });
310
+ return host.replay(failed.id);
311
+ }
312
+ export function subagentToolResult(timeline) {
313
+ const completed = [...timeline.events].reverse().find((event) => event.type === "run.completed");
314
+ const receipt = readySubagentHandoff(timeline.events);
315
+ return {
316
+ runId: timeline.run.id,
317
+ status: timeline.run.status,
318
+ ...(completed && typeof completed.data.response === "string" ? { response: completed.data.response } : {}),
319
+ ...(receipt ? { handoff: publicSubagentHandoff(receipt) } : {}),
320
+ ...(timeline.run.status === "failed" && timeline.run.terminalReason
321
+ ? { terminalReason: timeline.run.terminalReason }
322
+ : {}),
323
+ ...(timeline.run.status === "failed" && timeline.run.terminalError
324
+ ? { error: timeline.run.terminalError }
325
+ : {}),
326
+ // A failed child keeps its workspace and transcript. Point the parent at
327
+ // the recovery path so it never re-runs work that already completed.
328
+ ...(timeline.run.status === "failed" ? { recovery: subagentRecoveryHint(timeline.run.id) } : {})
329
+ };
330
+ }
331
+ /** Parent-facing instruction for continuing a child run instead of restarting it. */
332
+ export function subagentRecoveryHint(childRunId) {
333
+ return `This child's sandbox, workspace files, and transcript are intact. Continue it with delegate using resumeRunId "${childRunId}" 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.`;
334
+ }
335
+ function readyAfterLatestCompletion(events) {
336
+ const latestCompletion = [...events].reverse().find((event) => event.type === "run.completed");
337
+ const ready = [...events].reverse().find((event) => event.type === "subagent.handoff_ready");
338
+ return ready && (!latestCompletion || ready.sequence > latestCompletion.sequence)
339
+ ? readySubagentHandoff(events)
340
+ : undefined;
341
+ }
131
342
  export async function readSubagentImpl(host, childRunId, cursor) {
132
343
  const timeline = await host.replay(childRunId);
133
344
  const afterSequence = cursor ? Number(cursor) : 0;
@@ -149,7 +360,7 @@ export async function sendSubagentFollowupImpl(host, childRunId, message) {
149
360
  throw new Error(`Subagent not found: ${subagentName}`);
150
361
  }
151
362
  await resumeAgentHarnessSubagent(host, child, message);
152
- return host.replay(child.id);
363
+ return finalizeSubagentHandoffImpl(host, await host.replay(child.id));
153
364
  }
154
365
  /** Resume a Pi-backed subagent with a follow-up through its durable continuation. */
155
366
  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"}