@n8n/agents 0.18.0 → 0.19.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 (101) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +6 -4
  3. package/dist/index.js +8 -5
  4. package/dist/index.js.map +1 -1
  5. package/dist/runtime/loop/agent-runtime.d.ts +6 -10
  6. package/dist/runtime/loop/agent-runtime.js +79 -45
  7. package/dist/runtime/loop/agent-runtime.js.map +1 -1
  8. package/dist/runtime/loop/execution-counter.d.ts +1 -0
  9. package/dist/runtime/loop/execution-counter.js +8 -0
  10. package/dist/runtime/loop/execution-counter.js.map +1 -1
  11. package/dist/runtime/loop/generate-sink.js +3 -1
  12. package/dist/runtime/loop/generate-sink.js.map +1 -1
  13. package/dist/runtime/loop/hydrate-file-parts.d.ts +7 -0
  14. package/dist/runtime/loop/hydrate-file-parts.js +42 -0
  15. package/dist/runtime/loop/hydrate-file-parts.js.map +1 -0
  16. package/dist/runtime/loop/run-output-sink.d.ts +4 -3
  17. package/dist/runtime/loop/runtime-context.d.ts +2 -1
  18. package/dist/runtime/loop/runtime-context.js +9 -4
  19. package/dist/runtime/loop/runtime-context.js.map +1 -1
  20. package/dist/runtime/loop/stream-sink.js +5 -3
  21. package/dist/runtime/loop/stream-sink.js.map +1 -1
  22. package/dist/runtime/memory/episodic-memory-defaults.js +2 -2
  23. package/dist/runtime/memory/episodic-memory-defaults.js.map +1 -1
  24. package/dist/runtime/memory/observation-log-defaults.js +4 -4
  25. package/dist/runtime/memory/observation-log-defaults.js.map +1 -1
  26. package/dist/runtime/memory/title-generation.js +4 -18
  27. package/dist/runtime/memory/title-generation.js.map +1 -1
  28. package/dist/runtime/model/message-list.d.ts +1 -0
  29. package/dist/runtime/model/message-list.js +3 -0
  30. package/dist/runtime/model/message-list.js.map +1 -1
  31. package/dist/runtime/model/messages.d.ts +2 -1
  32. package/dist/runtime/model/messages.js +65 -5
  33. package/dist/runtime/model/messages.js.map +1 -1
  34. package/dist/runtime/model/model-factory.d.ts +1 -1
  35. package/dist/runtime/model/model-factory.js +8 -6
  36. package/dist/runtime/model/model-factory.js.map +1 -1
  37. package/dist/runtime/model/provider-credentials.d.ts +4 -0
  38. package/dist/runtime/model/provider-credentials.js +3 -1
  39. package/dist/runtime/model/provider-credentials.js.map +1 -1
  40. package/dist/runtime/model/provider-quirks.d.ts +3 -2
  41. package/dist/runtime/model/provider-quirks.js +29 -6
  42. package/dist/runtime/model/provider-quirks.js.map +1 -1
  43. package/dist/runtime/state/run-state.d.ts +5 -0
  44. package/dist/runtime/state/run-state.js +14 -3
  45. package/dist/runtime/state/run-state.js.map +1 -1
  46. package/dist/runtime/streaming/stream-session.js +8 -0
  47. package/dist/runtime/streaming/stream-session.js.map +1 -1
  48. package/dist/runtime/telemetry/runtime-telemetry.d.ts +2 -2
  49. package/dist/runtime/telemetry/runtime-telemetry.js +1 -1
  50. package/dist/runtime/telemetry/runtime-telemetry.js.map +1 -1
  51. package/dist/runtime/telemetry/telemetry-options.d.ts +3 -3
  52. package/dist/runtime/telemetry/telemetry-options.js +5 -6
  53. package/dist/runtime/telemetry/telemetry-options.js.map +1 -1
  54. package/dist/runtime/tools/delegate-sub-agent-tool.d.ts +57 -5
  55. package/dist/runtime/tools/delegate-sub-agent-tool.js +236 -46
  56. package/dist/runtime/tools/delegate-sub-agent-tool.js.map +1 -1
  57. package/dist/runtime/tools/tool-adapter.d.ts +4 -1
  58. package/dist/runtime/tools/tool-adapter.js +15 -2
  59. package/dist/runtime/tools/tool-adapter.js.map +1 -1
  60. package/dist/runtime/tools/tool-call-executor.d.ts +5 -0
  61. package/dist/runtime/tools/tool-call-executor.js +164 -43
  62. package/dist/runtime/tools/tool-call-executor.js.map +1 -1
  63. package/dist/sdk/agent.d.ts +6 -1
  64. package/dist/sdk/agent.js +136 -20
  65. package/dist/sdk/agent.js.map +1 -1
  66. package/dist/sdk/catalog.d.ts +1 -1
  67. package/dist/sdk/catalog.js +1 -1
  68. package/dist/sdk/catalog.js.map +1 -1
  69. package/dist/sdk/metadata-enriched-tracer.d.ts +3 -0
  70. package/dist/sdk/metadata-enriched-tracer.js +38 -0
  71. package/dist/sdk/metadata-enriched-tracer.js.map +1 -0
  72. package/dist/sdk/telemetry.d.ts +3 -3
  73. package/dist/sdk/telemetry.js +77 -29
  74. package/dist/sdk/telemetry.js.map +1 -1
  75. package/dist/sdk/tool.js +55 -3
  76. package/dist/sdk/tool.js.map +1 -1
  77. package/dist/types/index.d.ts +6 -3
  78. package/dist/types/index.js +3 -1
  79. package/dist/types/index.js.map +1 -1
  80. package/dist/types/runtime/event.d.ts +38 -2
  81. package/dist/types/runtime/event.js +1 -0
  82. package/dist/types/runtime/event.js.map +1 -1
  83. package/dist/types/sdk/agent-builder.d.ts +3 -0
  84. package/dist/types/sdk/agent.d.ts +11 -5
  85. package/dist/types/sdk/file-store.d.ts +7 -0
  86. package/dist/types/sdk/file-store.js +3 -0
  87. package/dist/types/sdk/file-store.js.map +1 -0
  88. package/dist/types/sdk/message.d.ts +18 -2
  89. package/dist/types/sdk/message.js +15 -0
  90. package/dist/types/sdk/message.js.map +1 -1
  91. package/dist/types/sdk/reasoning.d.ts +2 -0
  92. package/dist/types/sdk/reasoning.js +3 -0
  93. package/dist/types/sdk/reasoning.js.map +1 -0
  94. package/dist/types/sdk/tool.d.ts +20 -2
  95. package/dist/types/telemetry.d.ts +3 -2
  96. package/dist/utils/parse.js +26 -8
  97. package/dist/utils/parse.js.map +1 -1
  98. package/dist/workspace/sandbox/daytona-sandbox.d.ts +6 -2
  99. package/dist/workspace/sandbox/daytona-sandbox.js +121 -23
  100. package/dist/workspace/sandbox/daytona-sandbox.js.map +1 -1
  101. package/package.json +27 -23
@@ -1,8 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  import { type SubAgentTaskPath, type SubAgentTaskPathPolicy } from './sub-agent-task-path';
3
- import type { AgentExecutionCounter, FinishReason, GenerateResult, ModelConfig, TokenUsage } from '../../types/sdk/agent';
3
+ import type { AgentExecutionCounter, FinishReason, GenerateResult, ModelConfig, StreamChunk, TokenUsage } from '../../types/sdk/agent';
4
4
  import type { BuiltProviderTool, BuiltTool } from '../../types/sdk/tool';
5
5
  import type { BuiltTelemetry } from '../../types/telemetry';
6
+ import type { JSONValue } from '../../types/utils/json';
6
7
  export declare const DELEGATE_SUB_AGENT_TOOL_NAME = "delegate_subagent";
7
8
  export declare const INLINE_SUB_AGENT_ID = "inline";
8
9
  export declare const DELEGATED_CHILD_SUSPEND_UNSUPPORTED_MESSAGE = "agents.chat.delegate.childSuspendUnsupported";
@@ -33,7 +34,7 @@ declare const delegateSubAgentInputSchema: z.ZodObject<{
33
34
  difficulty?: "high" | "low" | "medium" | undefined;
34
35
  }>;
35
36
  declare const delegateSubAgentOutputSchema: z.ZodObject<{
36
- status: z.ZodEnum<["completed", "failed", "suspended"]>;
37
+ status: z.ZodEnum<["completed", "failed", "suspended", "cancelled"]>;
37
38
  taskPath: z.ZodOptional<z.ZodString>;
38
39
  runId: z.ZodOptional<z.ZodString>;
39
40
  threadId: z.ZodOptional<z.ZodString>;
@@ -58,6 +59,7 @@ declare const delegateSubAgentOutputSchema: z.ZodObject<{
58
59
  }>>;
59
60
  finishReason: z.ZodOptional<z.ZodString>;
60
61
  error: z.ZodOptional<z.ZodString>;
62
+ resumeContext: z.ZodOptional<z.ZodType<JSONValue, z.ZodTypeDef, JSONValue>>;
61
63
  pendingSuspend: z.ZodOptional<z.ZodArray<z.ZodObject<{
62
64
  runId: z.ZodString;
63
65
  toolCallId: z.ZodString;
@@ -81,7 +83,7 @@ declare const delegateSubAgentOutputSchema: z.ZodObject<{
81
83
  resumeSchema?: unknown;
82
84
  }>, "many">>;
83
85
  }, "strip", z.ZodTypeAny, {
84
- status: "completed" | "failed" | "suspended";
86
+ status: "cancelled" | "completed" | "failed" | "suspended";
85
87
  taskPath?: string | undefined;
86
88
  runId?: string | undefined;
87
89
  threadId?: string | undefined;
@@ -96,6 +98,7 @@ declare const delegateSubAgentOutputSchema: z.ZodObject<{
96
98
  } | undefined;
97
99
  finishReason?: string | undefined;
98
100
  error?: string | undefined;
101
+ resumeContext?: JSONValue | undefined;
99
102
  pendingSuspend?: {
100
103
  runId: string;
101
104
  toolCallId: string;
@@ -105,7 +108,7 @@ declare const delegateSubAgentOutputSchema: z.ZodObject<{
105
108
  resumeSchema?: unknown;
106
109
  }[] | undefined;
107
110
  }, {
108
- status: "completed" | "failed" | "suspended";
111
+ status: "cancelled" | "completed" | "failed" | "suspended";
109
112
  taskPath?: string | undefined;
110
113
  runId?: string | undefined;
111
114
  threadId?: string | undefined;
@@ -120,6 +123,7 @@ declare const delegateSubAgentOutputSchema: z.ZodObject<{
120
123
  } | undefined;
121
124
  finishReason?: string | undefined;
122
125
  error?: string | undefined;
126
+ resumeContext?: JSONValue | undefined;
123
127
  pendingSuspend?: {
124
128
  runId: string;
125
129
  toolCallId: string;
@@ -129,6 +133,33 @@ declare const delegateSubAgentOutputSchema: z.ZodObject<{
129
133
  resumeSchema?: unknown;
130
134
  }[] | undefined;
131
135
  }>;
136
+ declare const delegateSubAgentContinuationSchema: z.ZodObject<{
137
+ runId: z.ZodString;
138
+ toolCallId: z.ZodString;
139
+ taskPath: z.ZodString;
140
+ subAgentId: z.ZodString;
141
+ childCount: z.ZodNumber;
142
+ threadId: z.ZodOptional<z.ZodString>;
143
+ resumeContext: z.ZodOptional<z.ZodType<JSONValue, z.ZodTypeDef, JSONValue>>;
144
+ }, "strip", z.ZodTypeAny, {
145
+ runId: string;
146
+ toolCallId: string;
147
+ taskPath: string;
148
+ subAgentId: string;
149
+ childCount: number;
150
+ threadId?: string | undefined;
151
+ resumeContext?: JSONValue | undefined;
152
+ }, {
153
+ runId: string;
154
+ toolCallId: string;
155
+ taskPath: string;
156
+ subAgentId: string;
157
+ childCount: number;
158
+ threadId?: string | undefined;
159
+ resumeContext?: JSONValue | undefined;
160
+ }>;
161
+ export type DelegateSubAgentContinuation = z.infer<typeof delegateSubAgentContinuationSchema>;
162
+ export declare function parseDelegateSubAgentContinuation(value: unknown): DelegateSubAgentContinuation | undefined;
132
163
  export type DelegateSubAgentInput = z.infer<typeof delegateSubAgentInputSchema>;
133
164
  export type DelegateSubAgentPolicy = SubAgentTaskPathPolicy;
134
165
  export interface DelegateSubAgentRequest extends DelegateSubAgentInput {
@@ -144,7 +175,7 @@ export interface DelegateSubAgentRequest extends DelegateSubAgentInput {
144
175
  policy?: DelegateSubAgentPolicy;
145
176
  }
146
177
  export interface DelegateSubAgentToolOutput {
147
- status: 'completed' | 'failed' | 'suspended';
178
+ status: 'completed' | 'failed' | 'suspended' | 'cancelled';
148
179
  taskPath?: SubAgentTaskPath;
149
180
  runId?: string;
150
181
  threadId?: string;
@@ -154,13 +185,31 @@ export interface DelegateSubAgentToolOutput {
154
185
  usage?: Pick<TokenUsage, 'promptTokens' | 'completionTokens' | 'totalTokens' | 'cost'>;
155
186
  finishReason?: FinishReason;
156
187
  error?: string;
188
+ resumeContext?: JSONValue;
157
189
  pendingSuspend?: GenerateResult['pendingSuspend'];
158
190
  }
159
191
  export interface DelegateSubAgentRunnerHelpers {
160
192
  runInlineSubAgent: (request: DelegateSubAgentRequest) => Promise<DelegateSubAgentToolOutput>;
193
+ emitChunk: (chunk: StreamChunk) => void;
161
194
  }
162
195
  export type InlineSubAgentProviderToolsResolver = (modelConfig: ModelConfig) => BuiltProviderTool[] | Promise<BuiltProviderTool[]>;
163
196
  export type DelegateSubAgentRunner = (request: DelegateSubAgentRequest, helpers: DelegateSubAgentRunnerHelpers) => Promise<DelegateSubAgentToolOutput>;
197
+ export interface DelegateSubAgentResumeRequest extends DelegateSubAgentRequest {
198
+ childRunId: string;
199
+ childToolCallId: string;
200
+ childThreadId?: string;
201
+ resumeContext?: JSONValue;
202
+ resumeData: unknown;
203
+ }
204
+ export type DelegateSubAgentResumeRunner = (request: DelegateSubAgentResumeRequest, helpers: DelegateSubAgentRunnerHelpers) => Promise<DelegateSubAgentToolOutput>;
205
+ export interface DelegateSubAgentCancelRequest extends DelegateSubAgentRequest {
206
+ childRunId: string;
207
+ childToolCallId: string;
208
+ childThreadId?: string;
209
+ resumeContext?: JSONValue;
210
+ reason: string;
211
+ }
212
+ export type DelegateSubAgentCancelRunner = (request: DelegateSubAgentCancelRequest, helpers: DelegateSubAgentRunnerHelpers) => Promise<void>;
164
213
  export interface CreateDelegateSubAgentToolOptions {
165
214
  name?: string;
166
215
  description?: string | null;
@@ -175,6 +224,9 @@ export interface CreateDelegateSubAgentToolOptions {
175
224
  inlineSubAgentModelsByDifficulty?: Partial<Record<SubAgentTaskDifficulty, ModelConfig>>;
176
225
  resolveInlineSubAgentProviderTools?: InlineSubAgentProviderToolsResolver;
177
226
  runSubAgent?: DelegateSubAgentRunner;
227
+ resumeSubAgent?: DelegateSubAgentResumeRunner;
228
+ shouldRetrySubAgentResumeError?: (error: unknown) => boolean;
229
+ cancelSubAgent?: DelegateSubAgentCancelRunner;
178
230
  toModelOutput?: (output: z.infer<typeof delegateSubAgentOutputSchema>) => unknown;
179
231
  }
180
232
  export type DelegateSubAgentToolMetadata = CreateDelegateSubAgentToolOptions;
@@ -1,23 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SUB_AGENT_TASK_DIFFICULTIES = exports.INLINE_DELEGATE_SUB_AGENT_TOOL_METADATA_KEY = exports.DELEGATED_CHILD_SUSPEND_UNSUPPORTED_MESSAGE = exports.INLINE_SUB_AGENT_ID = exports.DELEGATE_SUB_AGENT_TOOL_NAME = void 0;
4
+ exports.parseDelegateSubAgentContinuation = parseDelegateSubAgentContinuation;
4
5
  exports.createDelegateSubAgentTool = createDelegateSubAgentTool;
5
6
  exports.getInlineDelegateSubAgentToolOptions = getInlineDelegateSubAgentToolOptions;
6
7
  exports.isDelegateSubAgentTool = isDelegateSubAgentTool;
7
8
  exports.renderDelegateSubAgentPrompt = renderDelegateSubAgentPrompt;
8
9
  exports.failedDelegatedChildSuspendOutput = failedDelegatedChildSuspendOutput;
9
10
  exports.generateResultToDelegateSubAgentOutput = generateResultToDelegateSubAgentOutput;
11
+ const is_record_1 = require("@n8n/utils/is-record");
10
12
  const zod_1 = require("zod");
11
13
  const sdk_owned_tool_1 = require("./sdk-owned-tool");
12
14
  const sub_agent_task_path_1 = require("./sub-agent-task-path");
15
+ const abort_1 = require("../../sdk/abort");
13
16
  const message_1 = require("../../sdk/message");
14
17
  const tool_1 = require("../../sdk/tool");
18
+ const execution_counter_1 = require("../loop/execution-counter");
15
19
  exports.DELEGATE_SUB_AGENT_TOOL_NAME = 'delegate_subagent';
16
20
  exports.INLINE_SUB_AGENT_ID = 'inline';
17
21
  exports.DELEGATED_CHILD_SUSPEND_UNSUPPORTED_MESSAGE = 'agents.chat.delegate.childSuspendUnsupported';
18
22
  exports.INLINE_DELEGATE_SUB_AGENT_TOOL_METADATA_KEY = 'inlineDelegateSubAgent';
19
23
  exports.SUB_AGENT_TASK_DIFFICULTIES = ['low', 'medium', 'high'];
20
24
  const SubAgentTaskDifficultySchema = zod_1.z.enum(exports.SUB_AGENT_TASK_DIFFICULTIES);
25
+ const jsonValueSchema = zod_1.z.lazy(() => zod_1.z.union([
26
+ zod_1.z.string(),
27
+ zod_1.z.number(),
28
+ zod_1.z.boolean(),
29
+ zod_1.z.null(),
30
+ zod_1.z.array(jsonValueSchema),
31
+ zod_1.z.record(zod_1.z.string(), jsonValueSchema),
32
+ ]));
21
33
  const delegateSubAgentInputSchema = zod_1.z.object({
22
34
  subAgentId: zod_1.z
23
35
  .string()
@@ -36,7 +48,7 @@ const delegateSubAgentInputSchema = zod_1.z.object({
36
48
  difficulty: SubAgentTaskDifficultySchema.optional().describe('Optional difficulty estimate for this delegated task. Use low for simple bounded work, medium for moderate analysis or implementation, and high for complex research, architecture, or multi-step reasoning.'),
37
49
  });
38
50
  const delegateSubAgentOutputSchema = zod_1.z.object({
39
- status: zod_1.z.enum(['completed', 'failed', 'suspended']),
51
+ status: zod_1.z.enum(['completed', 'failed', 'suspended', 'cancelled']),
40
52
  taskPath: zod_1.z.string().optional(),
41
53
  runId: zod_1.z.string().optional(),
42
54
  threadId: zod_1.z.string().optional(),
@@ -53,6 +65,7 @@ const delegateSubAgentOutputSchema = zod_1.z.object({
53
65
  .optional(),
54
66
  finishReason: zod_1.z.string().optional(),
55
67
  error: zod_1.z.string().optional(),
68
+ resumeContext: jsonValueSchema.optional(),
56
69
  pendingSuspend: zod_1.z
57
70
  .array(zod_1.z.object({
58
71
  runId: zod_1.z.string(),
@@ -64,6 +77,57 @@ const delegateSubAgentOutputSchema = zod_1.z.object({
64
77
  }))
65
78
  .optional(),
66
79
  });
80
+ const delegateSubAgentContinuationSchema = zod_1.z.object({
81
+ runId: zod_1.z.string(),
82
+ toolCallId: zod_1.z.string(),
83
+ taskPath: zod_1.z.string(),
84
+ subAgentId: zod_1.z.string(),
85
+ childCount: zod_1.z.number().int().nonnegative(),
86
+ threadId: zod_1.z.string().optional(),
87
+ resumeContext: jsonValueSchema.optional(),
88
+ });
89
+ const delegateSubAgentSuspendSchema = zod_1.z.unknown();
90
+ const delegateSubAgentResumeSchema = zod_1.z.unknown();
91
+ function parseDelegateSubAgentContinuation(value) {
92
+ const parsed = delegateSubAgentContinuationSchema.safeParse(value);
93
+ return parsed.success ? parsed.data : undefined;
94
+ }
95
+ const SUB_AGENT_FORWARD_CHAR_BUDGET = 20_000;
96
+ const FORWARDED_CHILD_CHUNK_TYPES = new Set([
97
+ 'text-delta',
98
+ 'reasoning-start',
99
+ 'reasoning-delta',
100
+ 'reasoning-end',
101
+ 'tool-input-start',
102
+ 'tool-execution-start',
103
+ 'tool-execution-end',
104
+ ]);
105
+ function isForwardedChildChunk(chunk) {
106
+ return FORWARDED_CHILD_CHUNK_TYPES.has(chunk.type);
107
+ }
108
+ function createEmitChunkHelper(ctx, request) {
109
+ let forwardedChars = 0;
110
+ return (chunk) => {
111
+ if (request.parentToolCallId === undefined)
112
+ return;
113
+ if (!isForwardedChildChunk(chunk))
114
+ return;
115
+ let forwarded = chunk;
116
+ if (chunk.type === 'text-delta' || chunk.type === 'reasoning-delta') {
117
+ const remaining = SUB_AGENT_FORWARD_CHAR_BUDGET - forwardedChars;
118
+ if (remaining <= 0)
119
+ return;
120
+ const delta = chunk.delta.slice(0, remaining);
121
+ forwardedChars += delta.length;
122
+ forwarded = { ...chunk, delta };
123
+ }
124
+ ctx.emitEvent?.({
125
+ type: "subagent_chunk",
126
+ ...subAgentLifecycleBase(request),
127
+ chunk: forwarded,
128
+ });
129
+ };
130
+ }
67
131
  function resolveDelegateSubAgentPolicy(policy, toolName) {
68
132
  const resolvedPolicy = {
69
133
  ...policy,
@@ -118,21 +182,41 @@ function createDelegateSubAgentTool(options = {}) {
118
182
  ...options,
119
183
  policy: resolveDelegateSubAgentPolicy(options.policy, toolName),
120
184
  };
185
+ if ((resolvedOptions.resumeSubAgent === undefined) !==
186
+ (resolvedOptions.cancelSubAgent === undefined)) {
187
+ throw new Error(`${toolName} requires resumeSubAgent and cancelSubAgent to be configured together`);
188
+ }
121
189
  const inlineProviderToolInstruction = resolvedOptions.resolveInlineSubAgentProviderTools
122
190
  ? "Provider-defined tools are loaded for the inline child's selected model provider."
123
191
  : 'Inline children do not inherit provider-defined tools.';
124
- const tool = new tool_1.Tool(toolName)
192
+ const toolBuilder = new tool_1.Tool(toolName)
125
193
  .description(resolveDelegateSubAgentDescription(resolvedOptions))
126
194
  .systemInstruction(resolveDelegateSubAgentSystemInstruction(resolvedOptions, toolName, inlineProviderToolInstruction))
127
195
  .input(delegateSubAgentInputSchema)
128
- .output(delegateSubAgentOutputSchema)
129
- .handler(async (input, ctx) => await handleDelegateSubAgent(input, ctx, resolvedOptions, childPathIndexes))
130
- .toModelOutput((output) => {
131
- return resolvedOptions.toModelOutput ? resolvedOptions.toModelOutput(output) : output;
132
- })
133
- .build();
196
+ .output(delegateSubAgentOutputSchema);
197
+ const handler = async (input, ctx) => await handleDelegateSubAgent(input, ctx, resolvedOptions, childPathIndexes);
198
+ const toModelOutput = (output) => resolvedOptions.toModelOutput ? resolvedOptions.toModelOutput(output) : output;
199
+ const tool = resolvedOptions.resumeSubAgent
200
+ ? toolBuilder
201
+ .suspend(delegateSubAgentSuspendSchema)
202
+ .resume(delegateSubAgentResumeSchema)
203
+ .handler(handler)
204
+ .toModelOutput(toModelOutput)
205
+ .build()
206
+ : toolBuilder.handler(handler).toModelOutput(toModelOutput).build();
134
207
  return (0, sdk_owned_tool_1.withSdkOwnedBuiltInMetadata)({
135
208
  ...tool,
209
+ ...(resolvedOptions.cancelSubAgent !== undefined
210
+ ? {
211
+ onCancellation: async (rawInput, ctx) => {
212
+ const parsedInput = delegateSubAgentInputSchema.safeParse(rawInput);
213
+ if (!parsedInput.success) {
214
+ throw new Error('Delegated child input is missing or invalid');
215
+ }
216
+ await cancelDelegatedSubAgent(parsedInput.data, ctx, resolvedOptions, childPathIndexes);
217
+ },
218
+ }
219
+ : {}),
136
220
  metadata: {
137
221
  ...tool.metadata,
138
222
  [exports.INLINE_DELEGATE_SUB_AGENT_TOOL_METADATA_KEY]: {
@@ -157,6 +241,15 @@ function createDelegateSubAgentTool(options = {}) {
157
241
  ...(resolvedOptions.runSubAgent !== undefined
158
242
  ? { runSubAgent: resolvedOptions.runSubAgent }
159
243
  : {}),
244
+ ...(resolvedOptions.resumeSubAgent !== undefined
245
+ ? { resumeSubAgent: resolvedOptions.resumeSubAgent }
246
+ : {}),
247
+ ...(resolvedOptions.shouldRetrySubAgentResumeError !== undefined
248
+ ? { shouldRetrySubAgentResumeError: resolvedOptions.shouldRetrySubAgentResumeError }
249
+ : {}),
250
+ ...(resolvedOptions.cancelSubAgent !== undefined
251
+ ? { cancelSubAgent: resolvedOptions.cancelSubAgent }
252
+ : {}),
160
253
  ...(resolvedOptions.systemInstruction !== undefined
161
254
  ? { systemInstruction: resolvedOptions.systemInstruction }
162
255
  : {}),
@@ -208,61 +301,158 @@ async function handleDelegateSubAgent(input, ctx, options, childPathIndexes) {
208
301
  let request;
209
302
  let startedAt;
210
303
  try {
304
+ if (options.resumeSubAgent !== undefined &&
305
+ isInterruptibleToolContext(ctx) &&
306
+ ctx.continuation !== undefined) {
307
+ const restored = restoreDelegateRequest(input, ctx, ctx.continuation, options.policy, childPathIndexes);
308
+ const { checkpoint } = restored;
309
+ taskPath = checkpoint.taskPath;
310
+ request = restored.request;
311
+ startedAt = Date.now();
312
+ emitSubAgentStarted(ctx, request, startedAt);
313
+ let output;
314
+ try {
315
+ output = await options.resumeSubAgent({
316
+ ...request,
317
+ ...getChildCheckpointTarget(checkpoint),
318
+ resumeData: ctx.resumeData,
319
+ }, createRunnerHelpers(ctx, request, options.name));
320
+ }
321
+ catch (error) {
322
+ if (ctx.abortSignal?.aborted || (0, abort_1.isAbortError)(error))
323
+ throw error;
324
+ if (options.shouldRetrySubAgentResumeError?.(error) === false)
325
+ throw error;
326
+ return await ctx.suspend(ctx.suspendPayload);
327
+ }
328
+ emitSubAgentCompleted(ctx, request, output, startedAt);
329
+ if (output.status === 'suspended') {
330
+ return await cascadeChildSuspension(ctx, request, output);
331
+ }
332
+ return output;
333
+ }
211
334
  const childPathIndexKey = getChildPathIndexKey(ctx);
212
335
  const childPathIndex = childPathIndexes.get(childPathIndexKey) ?? 0;
213
336
  taskPath = (0, sub_agent_task_path_1.createChildSubAgentTaskPath)(input.taskName, childPathIndex);
214
337
  childPathIndexes.set(childPathIndexKey, childPathIndex + 1);
215
- request = {
216
- ...input,
217
- taskPath,
218
- childCount: childPathIndex,
219
- ...(ctx.runId !== undefined ? { parentRunId: ctx.runId } : {}),
220
- ...(ctx.persistence?.threadId !== undefined
221
- ? { parentThreadId: ctx.persistence.threadId }
222
- : {}),
223
- ...(ctx.persistence?.resourceId !== undefined
224
- ? { parentResourceId: ctx.persistence.resourceId }
225
- : {}),
226
- ...(ctx.abortSignal !== undefined ? { parentAbortSignal: ctx.abortSignal } : {}),
227
- ...(ctx.toolCallId !== undefined ? { parentToolCallId: ctx.toolCallId } : {}),
228
- ...(ctx.executionCounter !== undefined
229
- ? { parentExecutionCounter: ctx.executionCounter }
230
- : {}),
231
- ...(ctx.parentTelemetry !== undefined ? { parentTelemetry: ctx.parentTelemetry } : {}),
232
- ...(options.policy !== undefined ? { policy: options.policy } : {}),
233
- };
338
+ request = createDelegateSubAgentRequest(input, ctx, taskPath, childPathIndex, options.policy);
234
339
  startedAt = Date.now();
235
340
  emitSubAgentStarted(ctx, request, startedAt);
236
341
  const toolName = options.name ?? exports.DELEGATE_SUB_AGENT_TOOL_NAME;
237
342
  if (!options.runSubAgent) {
238
343
  throw new Error(`${toolName} was registered without a runSubAgent callback, and no host runner was provided. Register it on an Agent (for inline delegation) or pass runSubAgent.`);
239
344
  }
240
- const output = await options.runSubAgent(request, {
241
- runInlineSubAgent: () => {
242
- throw new Error(`${toolName} host runner does not support inline delegation without helpers.runInlineSubAgent from an Agent build.`);
243
- },
244
- });
345
+ const output = await options.runSubAgent(request, createRunnerHelpers(ctx, request, options.name));
245
346
  emitSubAgentCompleted(ctx, request, output, startedAt);
347
+ if (output.status === 'suspended' &&
348
+ options.resumeSubAgent !== undefined &&
349
+ isInterruptibleToolContext(ctx)) {
350
+ return await cascadeChildSuspension(ctx, request, output);
351
+ }
246
352
  return output;
247
353
  }
248
354
  catch (error) {
249
- if (request !== undefined && startedAt !== undefined) {
250
- const failedOutput = {
251
- status: 'failed',
252
- ...(taskPath !== undefined ? { taskPath } : {}),
253
- answer: '',
254
- error: stringifyUnknown(error),
255
- };
256
- emitSubAgentCompleted(ctx, request, failedOutput, startedAt);
257
- return failedOutput;
258
- }
259
- return {
260
- status: 'failed',
355
+ const aborted = ctx.abortSignal ? ctx.abortSignal.aborted : (0, abort_1.isAbortError)(error);
356
+ const output = {
357
+ status: aborted ? 'cancelled' : 'failed',
261
358
  ...(taskPath !== undefined ? { taskPath } : {}),
262
359
  answer: '',
263
- error: error instanceof Error ? error.message : String(error),
360
+ ...(aborted ? {} : { error: stringifyUnknown(error) }),
264
361
  };
362
+ if (request !== undefined && startedAt !== undefined) {
363
+ emitSubAgentCompleted(ctx, request, output, startedAt);
364
+ }
365
+ if (aborted)
366
+ throw error;
367
+ return output;
368
+ }
369
+ }
370
+ function createDelegateSubAgentRequest(input, ctx, taskPath, childCount, policy) {
371
+ return {
372
+ ...input,
373
+ taskPath,
374
+ childCount,
375
+ ...(ctx.runId !== undefined ? { parentRunId: ctx.runId } : {}),
376
+ ...(ctx.persistence?.threadId !== undefined
377
+ ? { parentThreadId: ctx.persistence.threadId }
378
+ : {}),
379
+ ...(ctx.persistence?.resourceId !== undefined
380
+ ? { parentResourceId: ctx.persistence.resourceId }
381
+ : {}),
382
+ ...(ctx.abortSignal !== undefined ? { parentAbortSignal: ctx.abortSignal } : {}),
383
+ ...(ctx.toolCallId !== undefined ? { parentToolCallId: ctx.toolCallId } : {}),
384
+ ...(ctx.executionCounter !== undefined
385
+ ? { parentExecutionCounter: (0, execution_counter_1.withoutMessageCount)(ctx.executionCounter) }
386
+ : {}),
387
+ ...(ctx.parentTelemetry !== undefined ? { parentTelemetry: ctx.parentTelemetry } : {}),
388
+ ...(policy !== undefined ? { policy } : {}),
389
+ };
390
+ }
391
+ function isJsonSchemaObject(value) {
392
+ return (0, is_record_1.isRecord)(value);
393
+ }
394
+ async function cancelDelegatedSubAgent(input, ctx, options, childPathIndexes) {
395
+ if (options.cancelSubAgent === undefined || ctx.continuation === undefined)
396
+ return;
397
+ const { checkpoint, request } = restoreDelegateRequest(input, ctx, ctx.continuation, options.policy, childPathIndexes);
398
+ await options.cancelSubAgent({
399
+ ...request,
400
+ ...getChildCheckpointTarget(checkpoint),
401
+ reason: ctx.cancellation.message,
402
+ }, createRunnerHelpers(ctx, request, options.name));
403
+ }
404
+ function restoreDelegateRequest(input, ctx, continuation, policy, childPathIndexes) {
405
+ const checkpoint = parseDelegateSubAgentContinuation(continuation);
406
+ if (!checkpoint) {
407
+ throw new Error('Delegated child checkpoint metadata is missing or invalid');
265
408
  }
409
+ if (checkpoint.subAgentId !== input.subAgentId) {
410
+ throw new Error('Delegated child checkpoint does not match the selected sub-agent');
411
+ }
412
+ const { taskPath } = checkpoint;
413
+ (0, sub_agent_task_path_1.assertSubAgentTaskPath)(taskPath);
414
+ const key = getChildPathIndexKey(ctx);
415
+ childPathIndexes.set(key, Math.max(childPathIndexes.get(key) ?? 0, checkpoint.childCount + 1));
416
+ const request = createDelegateSubAgentRequest(input, ctx, taskPath, checkpoint.childCount, policy);
417
+ return { checkpoint: { ...checkpoint, taskPath }, request };
418
+ }
419
+ function getChildCheckpointTarget(checkpoint) {
420
+ return {
421
+ childRunId: checkpoint.runId,
422
+ childToolCallId: checkpoint.toolCallId,
423
+ ...(checkpoint.threadId !== undefined ? { childThreadId: checkpoint.threadId } : {}),
424
+ ...(checkpoint.resumeContext !== undefined ? { resumeContext: checkpoint.resumeContext } : {}),
425
+ };
426
+ }
427
+ function createRunnerHelpers(ctx, request, configuredToolName) {
428
+ const toolName = configuredToolName ?? exports.DELEGATE_SUB_AGENT_TOOL_NAME;
429
+ return {
430
+ runInlineSubAgent: () => {
431
+ throw new Error(`${toolName} host runner does not support inline delegation without helpers.runInlineSubAgent from an Agent build.`);
432
+ },
433
+ emitChunk: createEmitChunkHelper(ctx, request),
434
+ };
435
+ }
436
+ function isInterruptibleToolContext(ctx) {
437
+ return 'suspend' in ctx;
438
+ }
439
+ async function cascadeChildSuspension(ctx, request, output) {
440
+ const suspension = output.pendingSuspend?.[0];
441
+ if (!suspension || !isJsonSchemaObject(suspension.resumeSchema)) {
442
+ throw new Error(exports.DELEGATED_CHILD_SUSPEND_UNSUPPORTED_MESSAGE);
443
+ }
444
+ return await ctx.suspend(suspension.suspendPayload, {
445
+ resumeSchema: suspension.resumeSchema,
446
+ continuation: {
447
+ runId: suspension.runId,
448
+ toolCallId: suspension.toolCallId,
449
+ taskPath: request.taskPath,
450
+ subAgentId: request.subAgentId,
451
+ childCount: request.childCount,
452
+ ...(output.threadId !== undefined ? { threadId: output.threadId } : {}),
453
+ ...(output.resumeContext !== undefined ? { resumeContext: output.resumeContext } : {}),
454
+ },
455
+ });
266
456
  }
267
457
  function emitSubAgentStarted(ctx, request, startedAt) {
268
458
  ctx.emitEvent?.({
@@ -343,7 +533,7 @@ function renderDelegateSubAgentPrompt(request) {
343
533
  }
344
534
  function resolveDelegateSubAgentStatus(result) {
345
535
  if (result.finishReason === 'error' || result.error !== undefined) {
346
- return 'failed';
536
+ return result.getState().status === 'cancelled' ? 'cancelled' : 'failed';
347
537
  }
348
538
  if (result.pendingSuspend !== undefined && result.pendingSuspend.length > 0) {
349
539
  return 'suspended';
@@ -1 +1 @@
1
- {"version":3,"file":"delegate-sub-agent-tool.js","sourceRoot":"","sources":["../../../src/runtime/tools/delegate-sub-agent-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegate-sub-agent-tool.js","sourceRoot":"","sources":["../../../src/runtime/tools/delegate-sub-agent-tool.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import type { Tool as AiSdkTool } from 'ai';
2
- import { type BuiltProviderTool, type BuiltTool, type BuiltTelemetry, type ToolExecutionContext } from '../../types';
2
+ import { type BuiltProviderTool, type BuiltTool, type BuiltTelemetry, type ToolSuspendOptions, type ToolExecutionContext } from '../../types';
3
+ import type { JSONValue } from '../../types/utils/json';
3
4
  declare const SUSPEND_BRAND: unique symbol;
4
5
  export interface SuspendedToolResult {
5
6
  readonly [SUSPEND_BRAND]: true;
6
7
  payload: unknown;
8
+ resumeSchema?: ToolSuspendOptions['resumeSchema'];
9
+ continuation?: JSONValue;
7
10
  }
8
11
  export declare function isSuspendedToolResult(value: unknown): value is SuspendedToolResult;
9
12
  export declare function toAiSdkProviderTools(tools?: BuiltProviderTool[]): Record<string, AiSdkTool>;
@@ -26,6 +26,7 @@ function toAiSdkProviderTools(tools) {
26
26
  id: t.name,
27
27
  args: t.args,
28
28
  inputSchema: t.inputSchema ?? zod_1.z.any(),
29
+ isProviderExecuted: true,
29
30
  };
30
31
  result[t.name] = providerTool;
31
32
  }
@@ -67,8 +68,18 @@ async function executeTool(args, builtTool, resumeData, parentTelemetry, toolCal
67
68
  if (builtTool.suspendSchema) {
68
69
  const isCancelled = (0, cancellation_1.isCancellation)(resumeData);
69
70
  const ctx = {
70
- suspend: async (payload) => {
71
- return await Promise.resolve({ [SUSPEND_BRAND]: true, payload });
71
+ suspend: async (payload, options) => {
72
+ const resolvedOptions = {
73
+ continuation: executionContext.continuation,
74
+ ...options,
75
+ resumeSchema: options?.resumeSchema ?? executionContext.resumeSchema,
76
+ };
77
+ await executionContext.onSuspend?.(payload, resolvedOptions);
78
+ return await Promise.resolve({
79
+ [SUSPEND_BRAND]: true,
80
+ payload,
81
+ ...resolvedOptions,
82
+ });
72
83
  },
73
84
  resumeData: isCancelled ? undefined : resumeData,
74
85
  cancellation: isCancelled ? { message: resumeData.message } : undefined,
@@ -81,6 +92,8 @@ async function executeTool(args, builtTool, resumeData, parentTelemetry, toolCal
81
92
  abortSignal: executionContext.abortSignal,
82
93
  executionCounter: executionContext.executionCounter,
83
94
  suspendPayload: executionContext.suspendPayload,
95
+ continuation: executionContext.continuation,
96
+ resumeSchema: executionContext.resumeSchema,
84
97
  };
85
98
  return await builtTool.handler(args, ctx);
86
99
  }