@openrouter/agent 0.8.0 → 0.9.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 (87) hide show
  1. package/README.md +483 -5
  2. package/esm/index.d.ts +19 -4
  3. package/esm/index.d.ts.map +1 -1
  4. package/esm/index.js +9 -2
  5. package/esm/index.js.map +1 -1
  6. package/esm/inner-loop/call-model.d.ts.map +1 -1
  7. package/esm/inner-loop/call-model.js +40 -41
  8. package/esm/inner-loop/call-model.js.map +1 -1
  9. package/esm/inner-loop/resume-tool-results.d.ts +128 -0
  10. package/esm/inner-loop/resume-tool-results.d.ts.map +1 -0
  11. package/esm/inner-loop/resume-tool-results.js +244 -0
  12. package/esm/inner-loop/resume-tool-results.js.map +1 -0
  13. package/esm/lib/agent-tool.d.ts +92 -0
  14. package/esm/lib/agent-tool.d.ts.map +1 -0
  15. package/esm/lib/agent-tool.js +211 -0
  16. package/esm/lib/agent-tool.js.map +1 -0
  17. package/esm/lib/async-params.d.ts +82 -0
  18. package/esm/lib/async-params.d.ts.map +1 -1
  19. package/esm/lib/async-params.js +5 -0
  20. package/esm/lib/async-params.js.map +1 -1
  21. package/esm/lib/async-tool-registry.d.ts +134 -0
  22. package/esm/lib/async-tool-registry.d.ts.map +1 -0
  23. package/esm/lib/async-tool-registry.js +352 -0
  24. package/esm/lib/async-tool-registry.js.map +1 -0
  25. package/esm/lib/async-tools.d.ts +23 -0
  26. package/esm/lib/async-tools.d.ts.map +1 -0
  27. package/esm/lib/async-tools.js +19 -0
  28. package/esm/lib/async-tools.js.map +1 -0
  29. package/esm/lib/conversation-state.d.ts +1 -0
  30. package/esm/lib/conversation-state.d.ts.map +1 -1
  31. package/esm/lib/conversation-state.js +8 -0
  32. package/esm/lib/conversation-state.js.map +1 -1
  33. package/esm/lib/doom-loop.d.ts +533 -0
  34. package/esm/lib/doom-loop.d.ts.map +1 -0
  35. package/esm/lib/doom-loop.js +1221 -0
  36. package/esm/lib/doom-loop.js.map +1 -0
  37. package/esm/lib/hooks-schemas.d.ts +33 -0
  38. package/esm/lib/hooks-schemas.d.ts.map +1 -1
  39. package/esm/lib/hooks-schemas.js +54 -0
  40. package/esm/lib/hooks-schemas.js.map +1 -1
  41. package/esm/lib/hooks-types.d.ts +6 -2
  42. package/esm/lib/hooks-types.d.ts.map +1 -1
  43. package/esm/lib/hooks-types.js.map +1 -1
  44. package/esm/lib/model-result.d.ts +646 -10
  45. package/esm/lib/model-result.d.ts.map +1 -1
  46. package/esm/lib/model-result.js +2749 -153
  47. package/esm/lib/model-result.js.map +1 -1
  48. package/esm/lib/reusable-stream.d.ts +9 -0
  49. package/esm/lib/reusable-stream.d.ts.map +1 -1
  50. package/esm/lib/reusable-stream.js +17 -0
  51. package/esm/lib/reusable-stream.js.map +1 -1
  52. package/esm/lib/stream-transformers.d.ts +20 -0
  53. package/esm/lib/stream-transformers.d.ts.map +1 -1
  54. package/esm/lib/stream-transformers.js +45 -0
  55. package/esm/lib/stream-transformers.js.map +1 -1
  56. package/esm/lib/tool-check.d.ts +76 -0
  57. package/esm/lib/tool-check.d.ts.map +1 -0
  58. package/esm/lib/tool-check.js +241 -0
  59. package/esm/lib/tool-check.js.map +1 -0
  60. package/esm/lib/tool-concurrency.d.ts +42 -0
  61. package/esm/lib/tool-concurrency.d.ts.map +1 -0
  62. package/esm/lib/tool-concurrency.js +80 -0
  63. package/esm/lib/tool-concurrency.js.map +1 -0
  64. package/esm/lib/tool-context.d.ts +45 -1
  65. package/esm/lib/tool-context.d.ts.map +1 -1
  66. package/esm/lib/tool-context.js +60 -1
  67. package/esm/lib/tool-context.js.map +1 -1
  68. package/esm/lib/tool-executor.d.ts +52 -9
  69. package/esm/lib/tool-executor.d.ts.map +1 -1
  70. package/esm/lib/tool-executor.js +253 -21
  71. package/esm/lib/tool-executor.js.map +1 -1
  72. package/esm/lib/tool-orchestrator.d.ts.map +1 -1
  73. package/esm/lib/tool-orchestrator.js +87 -50
  74. package/esm/lib/tool-orchestrator.js.map +1 -1
  75. package/esm/lib/tool-task.d.ts +157 -0
  76. package/esm/lib/tool-task.d.ts.map +1 -0
  77. package/esm/lib/tool-task.js +206 -0
  78. package/esm/lib/tool-task.js.map +1 -0
  79. package/esm/lib/tool-types.d.ts +473 -14
  80. package/esm/lib/tool-types.d.ts.map +1 -1
  81. package/esm/lib/tool-types.js +59 -10
  82. package/esm/lib/tool-types.js.map +1 -1
  83. package/esm/lib/tool.d.ts +184 -2
  84. package/esm/lib/tool.d.ts.map +1 -1
  85. package/esm/lib/tool.js +193 -3
  86. package/esm/lib/tool.js.map +1 -1
  87. package/package.json +30 -2
@@ -1,8 +1,8 @@
1
1
  import * as z4 from 'zod/v4';
2
2
  import { isContentArray } from './conversation-state.js';
3
3
  import { isFunctionCallItem, isFunctionCallOutputItem } from './stream-type-guards.js';
4
- import { buildToolExecuteContext } from './tool-context.js';
5
- import { hasExecuteFunction, isGeneratorTool, isHITLTool, isMcpTool, isRegularExecuteTool, isServerTool, } from './tool-types.js';
4
+ import { buildToolExecuteContext, buildToolRunContext } from './tool-context.js';
5
+ import { hasExecuteFunction, isDeferredHandle, isGeneratorTool, isHITLTool, isMcpTool, isRegularExecuteTool, isServerTool, isUnifiedTool, } from './tool-types.js';
6
6
  // Re-export ZodError for convenience
7
7
  export const ZodError = z4.ZodError;
8
8
  /**
@@ -66,8 +66,12 @@ export function convertZodToJsonSchema(zodSchema) {
66
66
  /**
67
67
  * Convert tools to OpenRouter API format. Server tools pass their SDK-shaped
68
68
  * config through untouched; client tools are packaged into the function-call
69
- * shape. Return type widens to the SDK's full request-tool union so any new
70
- * server-tool variant added upstream flows through automatically.
69
+ * shape — their wire definitions are NEVER augmented per tool (interacting
70
+ * with long-running tasks goes through the single universal `task` tool,
71
+ * appended by callModel when warranted, so the per-tool context cost stays
72
+ * constant no matter how many async tools are registered). Return type
73
+ * widens to the SDK's full request-tool union so any new server-tool
74
+ * variant added upstream flows through automatically.
71
75
  */
72
76
  export function convertToolsToAPIFormat(tools) {
73
77
  return tools.map((tool) => {
@@ -78,7 +82,7 @@ export function convertToolsToAPIFormat(tools) {
78
82
  type: 'function',
79
83
  name: tool.function.name,
80
84
  description: tool.function.description || null,
81
- strict: null,
85
+ strict: tool.function.strict ?? null,
82
86
  parameters: convertZodToJsonSchema(tool.function.inputSchema),
83
87
  };
84
88
  return apiTool;
@@ -124,24 +128,61 @@ export function parseToolCallArguments(argumentsString) {
124
128
  }
125
129
  }
126
130
  /**
127
- * Build a ToolExecuteContext for a tool from a TurnContext and optional context store
131
+ * Build a ToolExecuteContext for a tool from a TurnContext and optional context store.
132
+ *
133
+ * `context.toolCall` is part of the tool-facing contract
134
+ * ({@link TurnContext.toolCall}), but only the non-streaming orchestrator
135
+ * historically populated it — the streaming `ModelResult` loop builds its
136
+ * turn context with just `numberOfTurns`, so hooks like `onToolCalled` saw
137
+ * `toolCall: undefined`. Every executor path has the call in hand, so thread
138
+ * it here: a caller-provided `toolCall` on the turn context wins (the
139
+ * orchestrator's carries `status`), and the executed call fills the gap
140
+ * otherwise.
128
141
  */
129
142
  // biome-ignore lint: parameters match the internal API shape
130
- function buildExecuteCtx(tool, turnContext, contextStore, sharedSchema) {
131
- return buildToolExecuteContext(turnContext, contextStore, tool.function.name, tool.function.contextSchema, sharedSchema);
143
+ function buildExecuteCtx(tool, toolCall, turnContext, contextStore, sharedSchema, extras) {
144
+ const resolvedToolCall = turnContext.toolCall ?? (toolCall && toFunctionCallItem(toolCall));
145
+ return buildToolExecuteContext(resolvedToolCall
146
+ ? {
147
+ ...turnContext,
148
+ toolCall: resolvedToolCall,
149
+ }
150
+ : turnContext, contextStore, tool.function.name, tool.function.contextSchema, sharedSchema, extras);
151
+ }
152
+ /**
153
+ * Convert an executor-shaped {@link ParsedToolCall} (whose `id` is the wire
154
+ * `call_id` and whose `arguments` are already parsed) back into the
155
+ * wire-shaped {@link models.FunctionCallItem} the execute context declares.
156
+ *
157
+ * `arguments` is always re-serialized: every executor entry point parses the
158
+ * wire string first (see `extractToolCallsFromResponse` / the orchestrator),
159
+ * so a string value here is a *parsed* input for a string-schema tool, not
160
+ * raw JSON — passing it through unquoted would put invalid JSON on the item.
161
+ * The re-serialized string is therefore semantically equal to the wire
162
+ * arguments but not guaranteed byte-identical (key order, whitespace).
163
+ */
164
+ function toFunctionCallItem(toolCall) {
165
+ return {
166
+ type: 'function_call',
167
+ id: toolCall.id,
168
+ callId: toolCall.id,
169
+ name: toolCall.name,
170
+ // JSON.stringify(undefined) is undefined, not a string — fall back to '{}'.
171
+ arguments: JSON.stringify(toolCall.arguments) ?? '{}',
172
+ };
132
173
  }
133
174
  /**
134
175
  * Execute a regular (non-generator) tool
135
176
  */
136
177
  // biome-ignore lint: parameters match the internal API shape
137
- export async function executeRegularTool(tool, toolCall, context, contextStore, sharedSchema) {
178
+ export async function executeRegularTool(tool, toolCall, context, contextStore, sharedSchema, extras) {
138
179
  if (!isRegularExecuteTool(tool)) {
139
180
  throw new Error(`Tool "${toolCall.name}" is not a regular execute tool or has no execute function`);
140
181
  }
141
182
  const source = isMcpTool(tool) ? 'mcp' : 'client';
142
183
  try {
143
184
  const validatedInput = validateToolInput(tool.function.inputSchema, toolCall.arguments);
144
- const executeContext = buildExecuteCtx(tool, context, contextStore, sharedSchema);
185
+ const executeContext = buildExecuteCtx(tool, toolCall, context, contextStore, sharedSchema, extras);
145
186
  // Execute tool with context
146
187
  const result = await Promise.resolve(tool.function.execute(validatedInput, executeContext));
147
188
  // Validate output if schema is provided
@@ -178,14 +219,14 @@ export async function executeRegularTool(tool, toolCall, context, contextStore,
178
219
  * - Generator must emit at least one value
179
220
  */
180
221
  // biome-ignore lint: parameters match the internal API shape
181
- export async function executeGeneratorTool(tool, toolCall, context, onPreliminaryResult, contextStore, sharedSchema) {
222
+ export async function executeGeneratorTool(tool, toolCall, context, onPreliminaryResult, contextStore, sharedSchema, extras) {
182
223
  if (!isGeneratorTool(tool)) {
183
224
  throw new Error(`Tool "${toolCall.name}" is not a generator tool`);
184
225
  }
185
226
  const source = isMcpTool(tool) ? 'mcp' : 'client';
186
227
  try {
187
228
  const validatedInput = validateToolInput(tool.function.inputSchema, toolCall.arguments);
188
- const executeContext = buildExecuteCtx(tool, context, contextStore, sharedSchema);
229
+ const executeContext = buildExecuteCtx(tool, toolCall, context, contextStore, sharedSchema, extras);
189
230
  const preliminaryResults = [];
190
231
  let finalResult;
191
232
  let hasFinalResult = false;
@@ -249,14 +290,14 @@ export async function executeGeneratorTool(tool, toolCall, context, onPreliminar
249
290
  * - `ToolExecutionResult` with `error` set if the hook threw
250
291
  */
251
292
  // biome-ignore lint: parameters match the internal API shape
252
- export async function executeHITLTool(tool, toolCall, context, contextStore, sharedSchema) {
293
+ export async function executeHITLTool(tool, toolCall, context, contextStore, sharedSchema, extras) {
253
294
  if (!isHITLTool(tool)) {
254
295
  throw new Error(`Tool "${toolCall.name}" is not a HITL tool`);
255
296
  }
256
297
  const source = isMcpTool(tool) ? 'mcp' : 'client';
257
298
  try {
258
299
  const validatedInput = validateToolInput(tool.function.inputSchema, toolCall.arguments);
259
- const executeContext = buildExecuteCtx(tool, context, contextStore, sharedSchema);
300
+ const executeContext = buildExecuteCtx(tool, toolCall, context, contextStore, sharedSchema, extras);
260
301
  const result = await Promise.resolve(tool.function.onToolCalled(validatedInput, executeContext));
261
302
  if (result === null) {
262
303
  // Pause — treat as manual tool
@@ -281,26 +322,212 @@ export async function executeHITLTool(tool, toolCall, context, contextStore, sha
281
322
  };
282
323
  }
283
324
  }
325
+ /** Type guard for {@link AsyncToolInvocation} in executeTool results. */
326
+ export function isAsyncToolInvocation(value) {
327
+ return (typeof value === 'object' &&
328
+ value !== null &&
329
+ 'asyncMode' in value &&
330
+ (value.asyncMode === 'background' ||
331
+ value.asyncMode === 'defer'));
332
+ }
333
+ /** Resolve a tool's `ack` declaration against the validated input. */
334
+ function resolveAck(ack, input) {
335
+ if (ack === undefined) {
336
+ return undefined;
337
+ }
338
+ if (typeof ack === 'function') {
339
+ return ack(input);
340
+ }
341
+ return ack;
342
+ }
343
+ /**
344
+ * Drive a unified tool's `run` to completion: detects generator vs promise,
345
+ * routes yields through eventSchema validation → task log → preliminary
346
+ * results, validates the final value against `outputSchema` (unless it is a
347
+ * DeferredHandle), and enforces that only deferred tools may defer.
348
+ */
349
+ async function runUnifiedTool(args) {
350
+ const { fn, validatedInput, runContext, toolName, onYield } = args;
351
+ const returned = fn.run(validatedInput, runContext);
352
+ let result;
353
+ if (returned !== null &&
354
+ typeof returned === 'object' &&
355
+ Symbol.asyncIterator in returned) {
356
+ // Generator run: yields are logs/events; RETURN is the result. Strict
357
+ // rule — unlike legacy `execute` generators, a final yield is NOT the
358
+ // result.
359
+ const iterator = returned[Symbol.asyncIterator]();
360
+ let step = await iterator.next();
361
+ while (!step.done) {
362
+ const event = fn.eventSchema ? validateToolOutput(fn.eventSchema, step.value) : step.value;
363
+ onYield(event);
364
+ step = await iterator.next();
365
+ }
366
+ result = step.value;
367
+ }
368
+ else {
369
+ result = await Promise.resolve(returned);
370
+ }
371
+ if (isDeferredHandle(result)) {
372
+ if (fn.lifecycle !== 'deferred') {
373
+ throw new Error(`Tool "${toolName}": run() returned a DeferredHandle but lifecycle is '${fn.lifecycle}'. Only lifecycle: 'deferred' tools may defer.`);
374
+ }
375
+ return result;
376
+ }
377
+ return fn.outputSchema ? validateToolOutput(fn.outputSchema, result) : result;
378
+ }
379
+ /**
380
+ * Prepare a unified tool invocation. Validates input eagerly; builds the
381
+ * ToolRunContext (defer/log/onMessage/client wired by the engine through
382
+ * `extras.runExtras`); then per lifecycle:
383
+ *
384
+ * - `'sync'`: runs to completion inline — a plain `ToolExecutionResult`,
385
+ * zero async overhead, behaviorally identical to `execute`.
386
+ * - `'background'` (and agent tools): returns a `'background'`
387
+ * {@link AsyncToolInvocation} thunk for the engine's grace-window race.
388
+ * - `'deferred'`: awaits the run — a plain value is the typed fast path; a
389
+ * `DeferredHandle` becomes a `'defer'` invocation.
390
+ */
391
+ // biome-ignore lint: parameters match the internal API shape
392
+ export async function prepareUnifiedInvocation(tool, toolCall, context, onPreliminaryResult, contextStore, sharedSchema, extras) {
393
+ if (!isUnifiedTool(tool)) {
394
+ throw new Error(`Tool "${toolCall.name}" is not a unified run() tool`);
395
+ }
396
+ const fn = tool.function;
397
+ const source = isMcpTool(tool) ? 'mcp' : 'client';
398
+ let validatedInput;
399
+ try {
400
+ validatedInput = validateToolInput(fn.inputSchema, toolCall.arguments);
401
+ }
402
+ catch (error) {
403
+ return {
404
+ toolCallId: toolCall.id,
405
+ toolName: toolCall.name,
406
+ source,
407
+ result: null,
408
+ error: error instanceof Error ? error : new Error(String(error)),
409
+ };
410
+ }
411
+ // Yield pipeline: eventSchema validation happened in runUnifiedTool; here
412
+ // the engine-provided log sink (registry) and preliminary broadcast fire.
413
+ const onYield = (event) => {
414
+ extras?.runExtras?.log?.(event);
415
+ onPreliminaryResult?.(toolCall.id, event);
416
+ };
417
+ // The run context routes ctx.log through the same pipeline as a yield —
418
+ // with eventSchema validation applied to STRUCTURED entries only
419
+ // (runUnifiedTool only validates generator yields). Bare strings are
420
+ // human-readable progress notes: the task log models them explicitly
421
+ // (TaskLogEntry.kind 'text'), so a tool that declares a structured
422
+ // eventSchema can still log a plain sentence.
423
+ //
424
+ // Object.create (not spread): the engine's runExtras exposes `taskId` as
425
+ // a LIVE getter backed by the run binding — a spread would snapshot its
426
+ // current value (undefined; the ToolTask doesn't exist yet).
427
+ const runExtras = Object.assign(Object.create(extras?.runExtras ?? null), {
428
+ log: (entry) => {
429
+ const validated = fn.eventSchema && typeof entry !== 'string'
430
+ ? validateToolOutput(fn.eventSchema, entry)
431
+ : entry;
432
+ onYield(validated);
433
+ },
434
+ });
435
+ const runContext = buildToolRunContext(context, contextStore, tool.function.name, tool.function.contextSchema, sharedSchema, {
436
+ ...extras,
437
+ runExtras,
438
+ });
439
+ const invokeRun = () => runUnifiedTool({
440
+ fn,
441
+ validatedInput,
442
+ runContext,
443
+ toolName: String(toolCall.name),
444
+ onYield,
445
+ });
446
+ if (fn.lifecycle === 'background') {
447
+ return {
448
+ asyncMode: 'background',
449
+ run: async () => {
450
+ const result = await invokeRun();
451
+ if (isDeferredHandle(result)) {
452
+ // Unreachable (runUnifiedTool throws for non-deferred), but keep
453
+ // the invariant explicit for the engine's benefit.
454
+ throw new Error(`Tool "${toolCall.name}": background run cannot defer`);
455
+ }
456
+ return result;
457
+ },
458
+ ...(fn.ack !== undefined && {
459
+ ack: resolveAck(fn.ack, validatedInput),
460
+ }),
461
+ graceMs: fn.graceMs ?? 250,
462
+ };
463
+ }
464
+ // sync + deferred both await the run in-round.
465
+ try {
466
+ const result = await invokeRun();
467
+ if (isDeferredHandle(result)) {
468
+ if (result.taskId.length === 0 || result.taskId.length > 256) {
469
+ throw new Error(`Tool "${toolCall.name}": ctx.defer() taskId must be 1-256 characters`);
470
+ }
471
+ return {
472
+ asyncMode: 'defer',
473
+ taskId: result.taskId,
474
+ ...(result.ack !== undefined
475
+ ? {
476
+ ack: result.ack,
477
+ }
478
+ : fn.ack !== undefined && {
479
+ ack: resolveAck(fn.ack, validatedInput),
480
+ }),
481
+ ...((result.pollAfterMs ?? fn.pollAfterMs) !== undefined && {
482
+ pollAfterMs: result.pollAfterMs ?? fn.pollAfterMs,
483
+ }),
484
+ ...(result.expiresAt !== undefined && {
485
+ expiresAt: result.expiresAt,
486
+ }),
487
+ };
488
+ }
489
+ return {
490
+ toolCallId: toolCall.id,
491
+ toolName: toolCall.name,
492
+ source,
493
+ result,
494
+ };
495
+ }
496
+ catch (error) {
497
+ return {
498
+ toolCallId: toolCall.id,
499
+ toolName: toolCall.name,
500
+ source,
501
+ result: null,
502
+ error: error instanceof Error ? error : new Error(String(error)),
503
+ };
504
+ }
505
+ }
284
506
  /**
285
507
  * Execute a tool call.
286
- * Automatically detects if it's a regular, generator, or HITL tool.
508
+ * Automatically detects if it's a regular, generator, HITL, or unified
509
+ * `run` tool.
287
510
  *
288
511
  * Returns `null` only for HITL tools whose `onToolCalled` returned `null`
289
- * (signaling a manual-style pause). All other tools always return a
512
+ * (signaling a manual-style pause). Unified background/deferred tools may
513
+ * return an {@link AsyncToolInvocation}. All other tools always return a
290
514
  * `ToolExecutionResult` (with `error` set on failure).
291
515
  */
292
516
  // biome-ignore lint: parameters match the internal API shape
293
- export async function executeTool(tool, toolCall, context, onPreliminaryResult, contextStore, sharedSchema) {
517
+ export async function executeTool(tool, toolCall, context, onPreliminaryResult, contextStore, sharedSchema, extras) {
294
518
  if (isHITLTool(tool)) {
295
- return executeHITLTool(tool, toolCall, context, contextStore, sharedSchema);
519
+ return executeHITLTool(tool, toolCall, context, contextStore, sharedSchema, extras);
520
+ }
521
+ if (isUnifiedTool(tool)) {
522
+ return prepareUnifiedInvocation(tool, toolCall, context, onPreliminaryResult, contextStore, sharedSchema, extras);
296
523
  }
297
524
  if (!hasExecuteFunction(tool)) {
298
525
  throw new Error(`Tool "${toolCall.name}" has no execute function. Use manual tool execution.`);
299
526
  }
300
527
  if (isGeneratorTool(tool)) {
301
- return executeGeneratorTool(tool, toolCall, context, onPreliminaryResult, contextStore, sharedSchema);
528
+ return executeGeneratorTool(tool, toolCall, context, onPreliminaryResult, contextStore, sharedSchema, extras);
302
529
  }
303
- return executeRegularTool(tool, toolCall, context, contextStore, sharedSchema);
530
+ return executeRegularTool(tool, toolCall, context, contextStore, sharedSchema, extras);
304
531
  }
305
532
  /**
306
533
  * Find a client tool by name in the tools array. Server tools have no
@@ -433,7 +660,12 @@ async function invokeOnResponseReceived(tool, parsed, context, contextStore, sha
433
660
  if (!hook) {
434
661
  throw new Error('invokeOnResponseReceived called without onResponseReceived hook');
435
662
  }
436
- const executeContext = buildExecuteCtx(tool, context, contextStore, sharedSchema);
663
+ /*
664
+ * Only the `function_call_output` item is in scope here — the originating
665
+ * call's arguments are not — so no synthetic `toolCall` is threaded. A
666
+ * caller-provided `turnContext.toolCall` still flows through.
667
+ */
668
+ const executeContext = buildExecuteCtx(tool, undefined, context, contextStore, sharedSchema);
437
669
  try {
438
670
  const hookResult = await Promise.resolve(hook(parsed, executeContext));
439
671
  const validation = z4.safeParse(tool.function.outputSchema, hookResult);
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/lib/tool-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/lib/tool-executor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-orchestrator.d.ts","sourceRoot":"","sources":["../../src/lib/tool-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAQtD,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAI1E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACrE;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC3C,oBAAoB,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;IAClD,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC;CACvC;AAED;;;;;;;;;;;GAWG;AAEH,wBAAsB,eAAe,CACnC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,EACjG,YAAY,EAAE,MAAM,CAAC,WAAW,EAChC,cAAc,EAAE,MAAM,CAAC,gBAAgB,EACvC,KAAK,EAAE,IAAI,EAAE,EACb,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAqJlC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CACzE,MAAM,EACN;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;CAChC,CACF,CAWA;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAcpF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAEpF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,CAUpF"}
1
+ {"version":3,"file":"tool-orchestrator.d.ts","sourceRoot":"","sources":["../../src/lib/tool-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAStD,OAAO,KAAK,EAAE,OAAO,EAAkB,IAAI,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAI1F;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACrE;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC3C,oBAAoB,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;IAClD,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC;CACvC;AAED;;;;;;;;;;;GAWG;AAEH,wBAAsB,eAAe,CACnC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,EACjG,YAAY,EAAE,MAAM,CAAC,WAAW,EAChC,cAAc,EAAE,MAAM,CAAC,gBAAgB,EACvC,KAAK,EAAE,IAAI,EAAE,EACb,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAiIlC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CACzE,MAAM,EACN;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;CAChC,CACF,CAWA;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,CAcpF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAEpF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,CAUpF"}
@@ -1,8 +1,8 @@
1
1
  import { applyNextTurnParamsToRequest, executeNextTurnParamsFunctions, } from './next-turn-params.js';
2
2
  import { extractToolCallsFromResponse, responseHasToolCalls } from './stream-transformers.js';
3
3
  import { isFunctionCallItem } from './stream-type-guards.js';
4
- import { executeTool, findToolByName } from './tool-executor.js';
5
- import { isAutoResolvableTool, isMcpTool } from './tool-types.js';
4
+ import { executeTool, findToolByName, isAsyncToolInvocation } from './tool-executor.js';
5
+ import { isAutoResolvableTool, isMcpTool, isUnifiedTool } from './tool-types.js';
6
6
  import { buildTurnContext } from './turn-context.js';
7
7
  /**
8
8
  * Execute tool calls and manage multi-turn conversations
@@ -48,45 +48,13 @@ export async function executeToolLoop(sendRequest, initialInput, initialRequest,
48
48
  break;
49
49
  }
50
50
  // Execute all tool calls in parallel (parallel tool calling)
51
- const toolCallPromises = toolCalls.map(async (toolCall) => {
52
- const tool = findToolByName(tools, toolCall.name);
53
- if (!tool) {
54
- // Tool not found in definitions
55
- return {
56
- toolCallId: toolCall.id,
57
- toolName: toolCall.name,
58
- source: 'client',
59
- result: null,
60
- error: new Error(`Tool "${toolCall.name}" not found in tool definitions`),
61
- };
62
- }
63
- if (!isAutoResolvableTool(tool)) {
64
- // Tool has no execute/onToolCalled - return null to filter out
65
- return null;
66
- }
67
- // Find the raw tool call from the response output
68
- const rawToolCall = currentResponse.output.find((item) => isFunctionCallItem(item) && item.callId === toolCall.id);
69
- if (!rawToolCall) {
70
- throw new Error(`Could not find raw tool call for ${toolCall.id}`);
71
- }
72
- // Convert to FunctionCallItem format
73
- const openResponsesToolCall = {
74
- type: 'function_call',
75
- callId: rawToolCall.callId,
76
- name: rawToolCall.name,
77
- arguments: rawToolCall.arguments,
78
- id: rawToolCall.callId,
79
- status: rawToolCall.status,
80
- };
81
- // Build turn context with full information
82
- const turnContext = buildTurnContext({
83
- numberOfTurns: currentRound,
84
- toolCall: openResponsesToolCall,
85
- turnRequest: currentRequest,
86
- });
87
- // Execute the tool
88
- return executeTool(tool, toolCall, turnContext, onPreliminaryResult);
89
- });
51
+ const toolCallPromises = toolCalls.map((toolCall) => executeOrchestratedCall(toolCall, {
52
+ tools,
53
+ response: currentResponse,
54
+ request: currentRequest,
55
+ round: currentRound,
56
+ onPreliminaryResult,
57
+ }));
90
58
  // Wait for all tool executions to complete in parallel
91
59
  const settledResults = await Promise.allSettled(toolCallPromises);
92
60
  // Process settled results, handling both fulfilled and rejected promises
@@ -96,21 +64,32 @@ export async function executeToolLoop(sendRequest, initialInput, initialRequest,
96
64
  if (!toolCall) {
97
65
  return;
98
66
  }
67
+ const errorResult = (error) => {
68
+ const failedTool = findToolByName(tools, toolCall.name);
69
+ return {
70
+ toolCallId: toolCall.id,
71
+ toolName: toolCall.name,
72
+ source: failedTool !== undefined && isMcpTool(failedTool) ? 'mcp' : 'client',
73
+ result: null,
74
+ error,
75
+ };
76
+ };
99
77
  if (settled.status === 'fulfilled') {
100
- if (settled.value !== null) {
78
+ // This legacy loop predates async tools and only understands
79
+ // synchronous execution results (background/deferred invocations
80
+ // are handled by ModelResult's live loop). Surface an explicit
81
+ // error rather than silently dropping the call — an unpaired
82
+ // function_call would poison any history built from these results.
83
+ if (settled.value !== null && isAsyncToolInvocation(settled.value)) {
84
+ roundResults.push(errorResult(new Error(`Tool "${toolCall.name}" uses an async lifecycle (background/deferred), which executeToolLoop does not support — run it through callModel instead.`)));
85
+ }
86
+ else if (settled.value !== null) {
101
87
  roundResults.push(settled.value);
102
88
  }
103
89
  }
104
90
  else {
105
91
  // Promise rejected - create error result
106
- const rejectedTool = findToolByName(tools, toolCall.name);
107
- roundResults.push({
108
- toolCallId: toolCall.id,
109
- toolName: toolCall.name,
110
- source: rejectedTool !== undefined && isMcpTool(rejectedTool) ? 'mcp' : 'client',
111
- result: null,
112
- error: settled.reason instanceof Error ? settled.reason : new Error(String(settled.reason)),
113
- });
92
+ roundResults.push(errorResult(settled.reason instanceof Error ? settled.reason : new Error(String(settled.reason))));
114
93
  }
115
94
  });
116
95
  toolExecutionResults.push(...roundResults);
@@ -182,4 +161,62 @@ export function getToolExecutionErrors(results) {
182
161
  .filter((result) => result.error !== undefined)
183
162
  .map((result) => result.error);
184
163
  }
164
+ /**
165
+ * Execute one orchestrated tool call: resolve the tool, rebuild the raw
166
+ * `function_call` item, build the turn context, and run the tool. Returns
167
+ * `null` for calls with nothing to execute (manual tools), an error-shaped
168
+ * result for unknown tools.
169
+ */
170
+ async function executeOrchestratedCall(toolCall, round) {
171
+ const tool = findToolByName(round.tools, toolCall.name);
172
+ if (!tool) {
173
+ // Tool not found in definitions
174
+ return {
175
+ toolCallId: toolCall.id,
176
+ toolName: toolCall.name,
177
+ source: 'client',
178
+ result: null,
179
+ error: new Error(`Tool "${toolCall.name}" not found in tool definitions`),
180
+ };
181
+ }
182
+ if (!isAutoResolvableTool(tool)) {
183
+ // Tool has no execute/onToolCalled - return null to filter out
184
+ return null;
185
+ }
186
+ // Async lifecycles are unsupported here — short-circuit BEFORE running
187
+ // the body. This matters for deferred tools especially: their run()
188
+ // executes in-round and would open an external ticket that this loop can
189
+ // never resolve (an orphan external task).
190
+ if (isUnifiedTool(tool) && tool.function.lifecycle && tool.function.lifecycle !== 'sync') {
191
+ return {
192
+ toolCallId: toolCall.id,
193
+ toolName: toolCall.name,
194
+ source: isMcpTool(tool) ? 'mcp' : 'client',
195
+ result: null,
196
+ error: new Error(`Tool "${toolCall.name}" uses an async lifecycle ('${tool.function.lifecycle}'), which executeToolLoop does not support — run it through callModel instead.`),
197
+ };
198
+ }
199
+ // Find the raw tool call from the response output
200
+ const rawToolCall = round.response.output.find((item) => isFunctionCallItem(item) && item.callId === toolCall.id);
201
+ if (!rawToolCall) {
202
+ throw new Error(`Could not find raw tool call for ${toolCall.id}`);
203
+ }
204
+ // Convert to FunctionCallItem format
205
+ const openResponsesToolCall = {
206
+ type: 'function_call',
207
+ callId: rawToolCall.callId,
208
+ name: rawToolCall.name,
209
+ arguments: rawToolCall.arguments,
210
+ id: rawToolCall.callId,
211
+ status: rawToolCall.status,
212
+ };
213
+ // Build turn context with full information
214
+ const turnContext = buildTurnContext({
215
+ numberOfTurns: round.round,
216
+ toolCall: openResponsesToolCall,
217
+ turnRequest: round.request,
218
+ });
219
+ // Execute the tool
220
+ return executeTool(tool, toolCall, turnContext, round.onPreliminaryResult);
221
+ }
185
222
  //# sourceMappingURL=tool-orchestrator.js.map