@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
package/esm/lib/tool.js CHANGED
@@ -1,10 +1,24 @@
1
- import { SHARED_CONTEXT_KEY, ToolType } from './tool-types.js';
1
+ import { agentToolBuilder } from './agent-tool.js';
2
+ import { TASK_TOOL_NAME } from './tool-check.js';
3
+ import { isClientTool, SHARED_CONTEXT_KEY, ToolType } from './tool-types.js';
2
4
  // Implementation
3
5
  export function tool(config) {
4
6
  // 'shared' is reserved for shared context — forbid it as a tool name
5
7
  if (config.name === SHARED_CONTEXT_KEY) {
6
8
  throw new Error(`Tool name "${SHARED_CONTEXT_KEY}" is reserved for shared context. Choose a different name.`);
7
9
  }
10
+ // 'task' is reserved for the universal task-interaction tool the engine
11
+ // registers alongside long-running tools.
12
+ if (config.name === TASK_TOOL_NAME) {
13
+ throw new Error(`Tool name "${TASK_TOOL_NAME}" is reserved for the built-in task-interaction tool. Choose a different name.`);
14
+ }
15
+ // Unified run tool (new kind). Checked before the legacy branches so a
16
+ // config carrying `run` never routes through execute-keyed logic —
17
+ // but AFTER the name guard, keeping every released path on its exact
18
+ // current control flow.
19
+ if ('run' in config && typeof config.run === 'function') {
20
+ return buildUnifiedTool(config);
21
+ }
8
22
  // Check for HITL tool (has onToolCalled hook)
9
23
  if ('onToolCalled' in config && typeof config.onToolCalled === 'function') {
10
24
  // outputSchema is required at the type level for HITL configs, but
@@ -33,6 +47,18 @@ export function tool(config) {
33
47
  if (config.requireApproval !== undefined) {
34
48
  fn.requireApproval = config.requireApproval;
35
49
  }
50
+ if (config.loopKey !== undefined) {
51
+ fn.loopKey = config.loopKey;
52
+ }
53
+ if (config.timeoutMs !== undefined) {
54
+ fn.timeoutMs = config.timeoutMs;
55
+ }
56
+ if (config.maxConcurrency !== undefined) {
57
+ fn.maxConcurrency = config.maxConcurrency;
58
+ }
59
+ if (config.strict !== undefined) {
60
+ fn.strict = config.strict;
61
+ }
36
62
  if (config.onResponseReceived !== undefined) {
37
63
  fn.onResponseReceived = config.onResponseReceived;
38
64
  }
@@ -64,6 +90,18 @@ export function tool(config) {
64
90
  if (config.requireApproval !== undefined) {
65
91
  fn.requireApproval = config.requireApproval;
66
92
  }
93
+ if (config.loopKey !== undefined) {
94
+ fn.loopKey = config.loopKey;
95
+ }
96
+ if (config.timeoutMs !== undefined) {
97
+ fn.timeoutMs = config.timeoutMs;
98
+ }
99
+ if (config.maxConcurrency !== undefined) {
100
+ fn.maxConcurrency = config.maxConcurrency;
101
+ }
102
+ if (config.strict !== undefined) {
103
+ fn.strict = config.strict;
104
+ }
67
105
  return {
68
106
  type: ToolType.Function,
69
107
  function: fn,
@@ -92,9 +130,21 @@ export function tool(config) {
92
130
  if (config.requireApproval !== undefined) {
93
131
  fn.requireApproval = config.requireApproval;
94
132
  }
133
+ if (config.loopKey !== undefined) {
134
+ fn.loopKey = config.loopKey;
135
+ }
136
+ if (config.timeoutMs !== undefined) {
137
+ fn.timeoutMs = config.timeoutMs;
138
+ }
139
+ if (config.maxConcurrency !== undefined) {
140
+ fn.maxConcurrency = config.maxConcurrency;
141
+ }
95
142
  if ('toModelOutput' in config && config.toModelOutput !== undefined) {
96
143
  fn.toModelOutput = config.toModelOutput;
97
144
  }
145
+ if (config.strict !== undefined) {
146
+ fn.strict = config.strict;
147
+ }
98
148
  return {
99
149
  type: ToolType.Function,
100
150
  function: fn,
@@ -120,6 +170,18 @@ export function tool(config) {
120
170
  ...(config.requireApproval !== undefined && {
121
171
  requireApproval: config.requireApproval,
122
172
  }),
173
+ ...(config.loopKey !== undefined && {
174
+ loopKey: config.loopKey,
175
+ }),
176
+ ...(config.timeoutMs !== undefined && {
177
+ timeoutMs: config.timeoutMs,
178
+ }),
179
+ ...(config.maxConcurrency !== undefined && {
180
+ maxConcurrency: config.maxConcurrency,
181
+ }),
182
+ ...(config.strict !== undefined && {
183
+ strict: config.strict,
184
+ }),
123
185
  ...('toModelOutput' in config &&
124
186
  config.toModelOutput !== undefined && {
125
187
  toModelOutput: config.toModelOutput,
@@ -130,6 +192,122 @@ export function tool(config) {
130
192
  function: functionObj,
131
193
  };
132
194
  }
195
+ /** Copy shared config fields onto a function object when present. */
196
+ function assignCommonToolFields(fn, config) {
197
+ const fields = [
198
+ 'description',
199
+ 'strict',
200
+ 'contextSchema',
201
+ 'nextTurnParams',
202
+ 'requireApproval',
203
+ 'loopKey',
204
+ 'timeoutMs',
205
+ 'maxConcurrency',
206
+ 'toModelOutput',
207
+ 'eventSchema',
208
+ 'ack',
209
+ 'graceMs',
210
+ 'pollAfterMs',
211
+ 'check',
212
+ 'logLimits',
213
+ ];
214
+ for (const field of fields) {
215
+ if (config[field] !== undefined) {
216
+ fn[field] = config[field];
217
+ }
218
+ }
219
+ }
220
+ /**
221
+ * Bind one deferred completion method: resolve the entry shape, prepend the
222
+ * tool itself to any `run` tools, and dispatch through `resumeToolResults`.
223
+ * The resume module is imported lazily to avoid a static
224
+ * tool.ts → call-model.ts → model-result.ts import cycle.
225
+ */
226
+ function bindDeferredCompletion(toolValue, toEntry) {
227
+ return async (client, request, options) => {
228
+ const { resumeToolResults } = await import('../inner-loop/resume-tool-results.js');
229
+ const run = request.run;
230
+ return resumeToolResults(client, {
231
+ state: request.state,
232
+ tools: [
233
+ toolValue,
234
+ ],
235
+ // Ownership guard: a taskId handed to an external system must not
236
+ // settle a DIFFERENT tool's task through this tool's methods.
237
+ ...(isClientTool(toolValue) && {
238
+ expectToolName: toolValue.function.name,
239
+ }),
240
+ results: [
241
+ {
242
+ taskId: request.taskId,
243
+ ...toEntry(request),
244
+ },
245
+ ],
246
+ ...(request.ifSettled !== undefined && {
247
+ ifSettled: request.ifSettled,
248
+ }),
249
+ ...(run !== undefined && {
250
+ run: {
251
+ ...run,
252
+ tools: [
253
+ toolValue,
254
+ ...(run.tools ?? []).filter((t) => t !== toolValue),
255
+ ],
256
+ },
257
+ }),
258
+ }, options);
259
+ };
260
+ }
261
+ /**
262
+ * Build a unified `run` tool from a config. Deferred tools additionally get
263
+ * the typed `.resolve()/.fail()/.cancel()` completion methods.
264
+ */
265
+ function buildUnifiedTool(config) {
266
+ const lifecycle = ('lifecycle' in config ? config.lifecycle : undefined) ?? 'sync';
267
+ // Long-running lifecycles require an outputSchema: the result settles
268
+ // after the round (possibly in another process) and must be validatable
269
+ // without the run's return-type inference. Type level enforces this too;
270
+ // JavaScript callers can bypass types.
271
+ if (lifecycle !== 'sync' && config.outputSchema === undefined) {
272
+ throw new Error(`Tool "${config.name}" (lifecycle: '${lifecycle}') must declare an outputSchema. Long-running results are validated when they settle — possibly long after the round that started them.`);
273
+ }
274
+ const fn = {
275
+ lifecycle,
276
+ name: config.name,
277
+ inputSchema: config.inputSchema,
278
+ run: config.run,
279
+ };
280
+ if (config.outputSchema !== undefined) {
281
+ fn['outputSchema'] = config.outputSchema;
282
+ }
283
+ assignCommonToolFields(fn, config);
284
+ const toolValue = {
285
+ type: ToolType.Function,
286
+ function: fn,
287
+ };
288
+ if (lifecycle !== 'deferred') {
289
+ return toolValue;
290
+ }
291
+ return Object.assign(toolValue, {
292
+ resolve: bindDeferredCompletion(toolValue, (request) => ({
293
+ output: request['output'],
294
+ })),
295
+ fail: bindDeferredCompletion(toolValue, (request) => ({
296
+ error: request['error'] instanceof Error
297
+ ? request['error'].message
298
+ : String(request['error'] ?? 'Task failed'),
299
+ })),
300
+ cancel: bindDeferredCompletion(toolValue, (request) => ({
301
+ error: typeof request['reason'] === 'string' ? request['reason'] : 'Task cancelled',
302
+ status: 'cancelled',
303
+ })),
304
+ });
305
+ }
306
+ // Attach the agent builder as a namespaced property (expando properties on a
307
+ // function declaration merge into its type). `tool.agent()` keeps a
308
+ // dedicated builder because its config shape genuinely differs (an `agent`
309
+ // run-spec factory + `result` mapper instead of `run`).
310
+ tool.agent = agentToolBuilder;
133
311
  //#endregion
134
312
  //#region serverTool() Factory
135
313
  /**
@@ -164,12 +342,24 @@ export function serverTool(config) {
164
342
  * the tool's runtime behavior and wire shape are unchanged — only its type (and
165
343
  * the runtime {@link isMcpTool} check) now identify it as MCP-originated. Used
166
344
  * by `@openrouter/mcp` to mark wrapped remote tools.
345
+ *
346
+ * `options.loopKey` attaches a doom-loop identity to the wrapped tool —
347
+ * the only injection point for MCP tools, whose remote definitions cannot
348
+ * carry client-side functions. Like every other tool hook it is a computed
349
+ * function over the call's arguments (or `false` to exempt).
167
350
  */
168
- export function markMcp(toolToMark) {
169
- return {
351
+ export function markMcp(toolToMark, options) {
352
+ const marked = {
170
353
  ...toolToMark,
171
354
  _mcp: true,
172
355
  };
356
+ if (options?.loopKey !== undefined && isClientTool(marked)) {
357
+ marked.function = {
358
+ ...marked.function,
359
+ loopKey: options.loopKey,
360
+ };
361
+ }
362
+ return marked;
173
363
  }
174
364
  //#endregion
175
365
  //# sourceMappingURL=tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrouter/agent",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "author": "OpenRouter",
5
5
  "description": "Agent toolkit for building AI applications with OpenRouter — tool orchestration, streaming, multi-turn conversations, and format compatibility.",
6
6
  "keywords": [
@@ -44,6 +44,10 @@
44
44
  "types": "./esm/lib/stop-conditions.d.ts",
45
45
  "default": "./esm/lib/stop-conditions.js"
46
46
  },
47
+ "./doom-loop": {
48
+ "types": "./esm/lib/doom-loop.d.ts",
49
+ "default": "./esm/lib/doom-loop.js"
50
+ },
47
51
  "./tool": {
48
52
  "types": "./esm/lib/tool.d.ts",
49
53
  "default": "./esm/lib/tool.js"
@@ -92,7 +96,31 @@
92
96
  "types": "./esm/openrouter.d.ts",
93
97
  "default": "./esm/openrouter.js"
94
98
  },
95
- "./package.json": "./package.json"
99
+ "./package.json": "./package.json",
100
+ "./tool-concurrency": {
101
+ "types": "./esm/lib/tool-concurrency.d.ts",
102
+ "default": "./esm/lib/tool-concurrency.js"
103
+ },
104
+ "./async-tool-registry": {
105
+ "types": "./esm/lib/async-tool-registry.d.ts",
106
+ "default": "./esm/lib/async-tool-registry.js"
107
+ },
108
+ "./resume-tool-results": {
109
+ "types": "./esm/inner-loop/resume-tool-results.d.ts",
110
+ "default": "./esm/inner-loop/resume-tool-results.js"
111
+ },
112
+ "./tool-task": {
113
+ "types": "./esm/lib/tool-task.d.ts",
114
+ "default": "./esm/lib/tool-task.js"
115
+ },
116
+ "./tool-check": {
117
+ "types": "./esm/lib/tool-check.d.ts",
118
+ "default": "./esm/lib/tool-check.js"
119
+ },
120
+ "./agent-tool": {
121
+ "types": "./esm/lib/agent-tool.d.ts",
122
+ "default": "./esm/lib/agent-tool.js"
123
+ }
96
124
  },
97
125
  "sideEffects": false,
98
126
  "repository": {