@openrouter/agent 0.3.1 → 0.4.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 (40) hide show
  1. package/esm/index.d.ts +7 -5
  2. package/esm/index.d.ts.map +1 -1
  3. package/esm/index.js +4 -2
  4. package/esm/index.js.map +1 -1
  5. package/esm/lib/conversation-state.d.ts +8 -1
  6. package/esm/lib/conversation-state.d.ts.map +1 -1
  7. package/esm/lib/conversation-state.js +60 -14
  8. package/esm/lib/conversation-state.js.map +1 -1
  9. package/esm/lib/model-result.d.ts +19 -1
  10. package/esm/lib/model-result.d.ts.map +1 -1
  11. package/esm/lib/model-result.js +205 -19
  12. package/esm/lib/model-result.js.map +1 -1
  13. package/esm/lib/next-turn-params.d.ts.map +1 -1
  14. package/esm/lib/next-turn-params.js +3 -1
  15. package/esm/lib/next-turn-params.js.map +1 -1
  16. package/esm/lib/stream-transformers.d.ts +84 -5
  17. package/esm/lib/stream-transformers.d.ts.map +1 -1
  18. package/esm/lib/stream-transformers.js +8 -15
  19. package/esm/lib/stream-transformers.js.map +1 -1
  20. package/esm/lib/stream-type-guards.d.ts +29 -0
  21. package/esm/lib/stream-type-guards.d.ts.map +1 -1
  22. package/esm/lib/stream-type-guards.js +37 -0
  23. package/esm/lib/stream-type-guards.js.map +1 -1
  24. package/esm/lib/tool-executor.d.ts +10 -6
  25. package/esm/lib/tool-executor.d.ts.map +1 -1
  26. package/esm/lib/tool-executor.js +21 -12
  27. package/esm/lib/tool-executor.js.map +1 -1
  28. package/esm/lib/tool-types.d.ts +158 -4
  29. package/esm/lib/tool-types.d.ts.map +1 -1
  30. package/esm/lib/tool-types.js +34 -0
  31. package/esm/lib/tool-types.js.map +1 -1
  32. package/esm/lib/tool.d.ts +32 -1
  33. package/esm/lib/tool.d.ts.map +1 -1
  34. package/esm/lib/tool.js +35 -0
  35. package/esm/lib/tool.js.map +1 -1
  36. package/esm/openrouter.d.ts +10 -4
  37. package/esm/openrouter.d.ts.map +1 -1
  38. package/esm/openrouter.js +41 -2
  39. package/esm/openrouter.js.map +1 -1
  40. package/package.json +2 -2
@@ -112,6 +112,40 @@ export type NextTurnParamsFunctions<TInput> = {
112
112
  * Returns true if approval is required, false otherwise
113
113
  */
114
114
  export type ToolApprovalCheck<TInput> = (params: TInput, context: TurnContext) => boolean | Promise<boolean>;
115
+ /**
116
+ * Content item types for tool output to model.
117
+ * These match the Responses API format for multimodal tool outputs.
118
+ */
119
+ export type ToolOutputContentItem = {
120
+ type: 'input_text';
121
+ text: string;
122
+ } | {
123
+ type: 'input_image';
124
+ detail: 'auto' | 'low' | 'high';
125
+ imageUrl: string;
126
+ } | {
127
+ type: 'input_file';
128
+ fileId: string;
129
+ filename?: string;
130
+ };
131
+ /**
132
+ * Result of toModelOutput function.
133
+ * The 'content' type passes value array directly as tool output.
134
+ */
135
+ export type ToModelOutputResult = {
136
+ type: 'content';
137
+ value: ToolOutputContentItem[];
138
+ };
139
+ /**
140
+ * Function to convert tool execution output to model-facing output.
141
+ * Receives the execute result and input arguments for full context.
142
+ * @template TInput - The tool's input type
143
+ * @template TOutput - The tool's output type
144
+ */
145
+ export type ToModelOutputFunction<TInput, TOutput> = (params: {
146
+ output: TOutput;
147
+ input: TInput;
148
+ }) => ToModelOutputResult | Promise<ToModelOutputResult>;
115
149
  /**
116
150
  * Base tool function interface with inputSchema
117
151
  * @template TInput - Zod schema for tool input
@@ -137,6 +171,8 @@ export interface BaseToolFunction<TInput extends $ZodObject<$ZodShape>> {
137
171
  export interface ToolFunctionWithExecute<TInput extends $ZodObject<$ZodShape>, TOutput extends $ZodType = $ZodType<unknown>, TContext extends Record<string, unknown> = Record<string, unknown>, TName extends string = string> extends BaseToolFunction<TInput> {
138
172
  outputSchema?: TOutput;
139
173
  execute: (params: zodInfer<TInput>, context?: ToolExecuteContext<TName, TContext>) => Promise<zodInfer<TOutput>> | zodInfer<TOutput>;
174
+ /** Convert tool execution output to model-facing output */
175
+ toModelOutput?: ToModelOutputFunction<zodInfer<TInput>, zodInfer<TOutput>>;
140
176
  }
141
177
  /**
142
178
  * Generator-based tool with async generator execute function
@@ -164,6 +200,8 @@ export interface ToolFunctionWithGenerator<TInput extends $ZodObject<$ZodShape>,
164
200
  eventSchema: TEvent;
165
201
  outputSchema: TOutput;
166
202
  execute: (params: zodInfer<TInput>, context?: ToolExecuteContext<TName, TContext>) => AsyncGenerator<zodInfer<TEvent> | zodInfer<TOutput>, zodInfer<TOutput> | undefined>;
203
+ /** Convert tool execution output to model-facing output */
204
+ toModelOutput?: ToModelOutputFunction<zodInfer<TInput>, zodInfer<TOutput>>;
167
205
  }
168
206
  /**
169
207
  * Manual tool without execute function - requires manual handling by developer
@@ -193,9 +231,83 @@ export type ManualTool<TInput extends $ZodObject<$ZodShape> = $ZodObject<$ZodSha
193
231
  function: ManualToolFunction<TInput, TOutput>;
194
232
  };
195
233
  /**
196
- * Union type of all enhanced tool types
234
+ * Union type of all client-executed tool shapes (function, generator, manual).
235
+ * These run in the user's process via the agent SDK's tool execution loop.
236
+ */
237
+ export type ClientTool = ToolWithExecute<$ZodObject<$ZodShape>, $ZodType<unknown>> | ToolWithGenerator<$ZodObject<$ZodShape>, $ZodType<unknown>, $ZodType<unknown>> | ManualTool<$ZodObject<$ZodShape>, $ZodType<unknown>>;
238
+ /**
239
+ * Config payload for an OpenRouter server-executed tool. Derived directly
240
+ * from the SDK's request-tool union so new server tools flow through with
241
+ * zero agent-SDK changes. Excludes the client `function` branch — only
242
+ * server-side variants remain.
197
243
  */
198
- export type Tool = ToolWithExecute<$ZodObject<$ZodShape>, $ZodType<unknown>> | ToolWithGenerator<$ZodObject<$ZodShape>, $ZodType<unknown>, $ZodType<unknown>> | ManualTool<$ZodObject<$ZodShape>, $ZodType<unknown>>;
244
+ export type ServerToolConfig = Exclude<models.ResponsesRequestToolUnion, {
245
+ type: 'function';
246
+ }>;
247
+ /**
248
+ * The discriminator literals for every server tool known to the SDK
249
+ * (e.g. `"web_search_2025_08_26"`, `"openrouter:datetime"`, `"image_generation"`).
250
+ */
251
+ export type ServerToolType = ServerToolConfig['type'];
252
+ /**
253
+ * Structural base type for every server tool. Interface extension (not a
254
+ * distributive conditional) is used so the narrow-T subtype assigns cleanly
255
+ * into the wide-T supertype via nominal inheritance — TypeScript treats
256
+ * `ServerTool<'web_search_2025_08_26'>` as a subtype of `ServerToolBase`
257
+ * without needing to reason about variance through `Extract<..., {type: T}>`.
258
+ *
259
+ * `Tool` uses `ServerToolBase` as its union member (rather than a generic
260
+ * `ServerTool` parameterized on a union) so specific `ServerTool<T>` values
261
+ * assign into `Tool[]` directly.
262
+ */
263
+ export interface ServerToolBase {
264
+ readonly _brand: 'server-tool';
265
+ readonly config: ServerToolConfig;
266
+ }
267
+ /**
268
+ * A server-executed tool. OpenRouter runs the tool and returns an output
269
+ * item in the response — no execute function lives on the client. When
270
+ * the type parameter `T` is a specific literal, `config` narrows to the
271
+ * SDK shape for that tool. Because this interface `extends ServerToolBase`,
272
+ * any `ServerTool<T>` value is nominally assignable to `ServerToolBase`
273
+ * (and hence to `Tool`) regardless of `T`.
274
+ *
275
+ * @template T The specific server-tool type literal (narrows `config`).
276
+ */
277
+ export interface ServerTool<T extends ServerToolType = ServerToolType> extends ServerToolBase {
278
+ readonly config: Extract<ServerToolConfig, {
279
+ type: T;
280
+ }>;
281
+ }
282
+ /**
283
+ * Union of every tool kind accepted by `callModel({ tools: [...] })`:
284
+ * client function/generator/manual tools, or OpenRouter server tools.
285
+ * The server branch is the structural base; specific `ServerTool<T>`
286
+ * values flow in via interface extension.
287
+ */
288
+ export type Tool = ClientTool | ServerToolBase;
289
+ /**
290
+ * Server-tool output items that appear in `response.output`. Derived from
291
+ * the SDK's `OutputItems` union by removing the client-owned variants
292
+ * (message, reasoning, function_call). Every remaining branch — including
293
+ * server-tool-specific shapes like `OutputDatetimeItem`,
294
+ * `OutputWebSearchServerToolItem`, `OutputMcpServerToolItem`, and the
295
+ * SDK's forward-compat `Unknown<"type">` catch-all — flows through
296
+ * automatically when the SDK adds new server-tool variants.
297
+ */
298
+ export type ServerToolResultItem = Exclude<models.OutputItems, {
299
+ type: 'message';
300
+ } | {
301
+ type: 'reasoning';
302
+ } | {
303
+ type: 'function_call';
304
+ }>;
305
+ /**
306
+ * Unified tool-result item: either a client function output we construct
307
+ * and send back, or a server-tool output item from OpenRouter. Populated
308
+ * on `ModelResult.allToolExecutionRounds[].toolResults`.
309
+ */
310
+ export type ToolResultItem = models.FunctionCallOutputItem | ServerToolResultItem;
199
311
  /**
200
312
  * Extracts the input type from a tool definition
201
313
  */
@@ -259,6 +371,18 @@ export type InferToolEvent<T> = T extends {
259
371
  export type InferToolEventsUnion<T extends readonly Tool[]> = {
260
372
  [K in keyof T]: T[K] extends Tool ? InferToolEvent<T[K]> : never;
261
373
  }[number];
374
+ /**
375
+ * Type guard: discriminates server-executed tools from client tools.
376
+ *
377
+ * Relies on the `_brand` discriminator that `ServerToolBase` declares and
378
+ * `ClientTool` lacks. `'_brand' in tool` narrows the union to the server
379
+ * branch structurally, so `tool._brand` is reachable without a cast.
380
+ */
381
+ export declare function isServerTool(tool: Tool): tool is ServerTool;
382
+ /**
383
+ * Type guard: true if the tool is a client-executed tool (function, generator, or manual).
384
+ */
385
+ export declare function isClientTool(tool: Tool): tool is ClientTool;
262
386
  /**
263
387
  * Type guard to check if a tool has an execute function
264
388
  */
@@ -314,7 +438,29 @@ export interface StepResult<TTools extends readonly Tool[] = readonly Tool[]> {
314
438
  readonly stepType: 'initial' | 'continue';
315
439
  readonly text: string;
316
440
  readonly toolCalls: TypedToolCallUnion<TTools>[];
441
+ /**
442
+ * Client function tool results ONLY. Server-tool results
443
+ * (web_search_call, image_generation_call, file_search_call,
444
+ * openrouter:datetime, and other server-side tool output items) are NOT
445
+ * included here — see {@link StepResult.serverToolResults} for those.
446
+ */
317
447
  readonly toolResults: ToolExecutionResultUnion<TTools>[];
448
+ /**
449
+ * Server-side tool result items emitted by OpenRouter as part of the
450
+ * model response (e.g. `web_search_call`, `image_generation_call`,
451
+ * `file_search_call`, `openrouter:datetime`, and any other server-tool
452
+ * output variant in the SDK's `OutputItems` union).
453
+ *
454
+ * These results are produced by the provider rather than executed by
455
+ * the client, so they do not flow through the client `toolResults`
456
+ * array. Stop conditions that want to react to server-tool invocations
457
+ * (for example, stopping after the model performs a web search) should
458
+ * inspect this field.
459
+ *
460
+ * Optional for back-compat: earlier releases of this type did not
461
+ * populate server-tool results in step history.
462
+ */
463
+ readonly serverToolResults?: ServerToolResultItem[];
318
464
  readonly response: models.OpenResponsesResult;
319
465
  readonly usage?: models.Usage | null | undefined;
320
466
  readonly finishReason?: string | undefined;
@@ -476,8 +622,16 @@ export type ChatStreamEvent<TEvent = unknown> = {
476
622
  export interface UnsentToolResult<TTools extends readonly Tool[] = readonly Tool[]> {
477
623
  /** The ID of the tool call this result is for */
478
624
  callId: string;
479
- /** The name of the tool that was executed */
480
- name: TTools[number]['function']['name'];
625
+ /** The name of the tool that was executed (client tools only) */
626
+ name: Extract<TTools[number], {
627
+ function: {
628
+ name: string;
629
+ };
630
+ }> extends {
631
+ function: {
632
+ name: infer N;
633
+ };
634
+ } ? N : string;
481
635
  /** The output of the tool execution */
482
636
  output: unknown;
483
637
  /** Error message if the tool call was rejected or failed */
@@ -1 +1 @@
1
- {"version":3,"file":"tool-types.d.ts","sourceRoot":"","sources":["../../src/lib/tool-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-types.d.ts","sourceRoot":"","sources":["../../src/lib/tool-types.ts"],"names":[],"mappings":"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"}
@@ -10,16 +10,44 @@ export var ToolType;
10
10
  * The tool name 'shared' is forbidden — it's reserved for this purpose.
11
11
  */
12
12
  export const SHARED_CONTEXT_KEY = 'shared';
13
+ /**
14
+ * Type guard: discriminates server-executed tools from client tools.
15
+ *
16
+ * Relies on the `_brand` discriminator that `ServerToolBase` declares and
17
+ * `ClientTool` lacks. `'_brand' in tool` narrows the union to the server
18
+ * branch structurally, so `tool._brand` is reachable without a cast.
19
+ */
20
+ export function isServerTool(tool) {
21
+ if (typeof tool !== 'object' || tool === null) {
22
+ return false;
23
+ }
24
+ if (!('_brand' in tool)) {
25
+ return false;
26
+ }
27
+ return tool._brand === 'server-tool';
28
+ }
29
+ /**
30
+ * Type guard: true if the tool is a client-executed tool (function, generator, or manual).
31
+ */
32
+ export function isClientTool(tool) {
33
+ return !isServerTool(tool);
34
+ }
13
35
  /**
14
36
  * Type guard to check if a tool has an execute function
15
37
  */
16
38
  export function hasExecuteFunction(tool) {
39
+ if (isServerTool(tool)) {
40
+ return false;
41
+ }
17
42
  return 'execute' in tool.function && typeof tool.function.execute === 'function';
18
43
  }
19
44
  /**
20
45
  * Type guard to check if a tool uses a generator (has eventSchema)
21
46
  */
22
47
  export function isGeneratorTool(tool) {
48
+ if (isServerTool(tool)) {
49
+ return false;
50
+ }
23
51
  return 'eventSchema' in tool.function;
24
52
  }
25
53
  /**
@@ -32,6 +60,9 @@ export function isRegularExecuteTool(tool) {
32
60
  * Type guard to check if a tool is a manual tool (no execute function)
33
61
  */
34
62
  export function isManualTool(tool) {
63
+ if (isServerTool(tool)) {
64
+ return false;
65
+ }
35
66
  return !('execute' in tool.function);
36
67
  }
37
68
  /**
@@ -68,6 +99,9 @@ export function isTurnEndEvent(event) {
68
99
  * Type guard to check if a tool has approval configured at runtime
69
100
  */
70
101
  export function toolHasApprovalConfigured(tool) {
102
+ if (isServerTool(tool)) {
103
+ return false;
104
+ }
71
105
  const requireApproval = tool.function.requireApproval;
72
106
  return requireApproval === true || typeof requireApproval === 'function';
73
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-types.js","sourceRoot":"","sources":["../../src/lib/tool-types.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,CAAN,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,iCAAqB,CAAA;AACvB,CAAC,EAFW,QAAQ,KAAR,QAAQ,QAEnB;AA0FD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAiB,CAAC;AAqQpD;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAU;IAC3C,OAAO,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,UAAU,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,OAAO,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,OAAO,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAgLD;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAAkC;IAElC,OAAO,KAAK,CAAC,IAAI,KAAK,yBAAyB,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAwD;IAExD,OAAO,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAA0B;IAC9D,OAAO,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA0B;IACzD,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AACnC,CAAC;AAqJD;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAU;IAClD,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;IACtD,OAAO,eAAe,KAAK,IAAI,IAAI,OAAO,eAAe,KAAK,UAAU,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAsB;IAC7D,OAAO,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"tool-types.js","sourceRoot":"","sources":["../../src/lib/tool-types.ts"],"names":[],"mappings":"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"}
package/esm/lib/tool.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { $ZodObject, $ZodShape, $ZodType, infer as zodInfer } from 'zod/v4/core';
2
- import type { ManualTool, NextTurnParamsFunctions, Tool, ToolApprovalCheck, ToolExecuteContext, ToolWithExecute, ToolWithGenerator } from './tool-types.js';
2
+ import type { ManualTool, NextTurnParamsFunctions, ServerTool, ServerToolConfig, ServerToolType, ToModelOutputFunction, Tool, ToolApprovalCheck, ToolExecuteContext, ToolWithExecute, ToolWithGenerator } from './tool-types.js';
3
3
  /**
4
4
  * Configuration for a regular tool with outputSchema
5
5
  */
@@ -14,6 +14,8 @@ type RegularToolConfigWithOutput<TInput extends $ZodObject<$ZodShape>, TOutput e
14
14
  nextTurnParams?: NextTurnParamsFunctions<zodInfer<TInput>>;
15
15
  requireApproval?: boolean | ToolApprovalCheck<zodInfer<TInput>>;
16
16
  execute: (params: zodInfer<TInput>, context?: ToolExecuteContext<TName, TContext>) => Promise<zodInfer<TOutput>> | zodInfer<TOutput>;
17
+ /** Convert tool execution output to model-facing output */
18
+ toModelOutput?: ToModelOutputFunction<zodInfer<TInput>, zodInfer<TOutput>>;
17
19
  };
18
20
  /**
19
21
  * Configuration for a regular tool without outputSchema (infers return type from execute)
@@ -29,6 +31,8 @@ type RegularToolConfigWithoutOutput<TInput extends $ZodObject<$ZodShape>, TRetur
29
31
  nextTurnParams?: NextTurnParamsFunctions<zodInfer<TInput>>;
30
32
  requireApproval?: boolean | ToolApprovalCheck<zodInfer<TInput>>;
31
33
  execute: (params: zodInfer<TInput>, context?: ToolExecuteContext<TName, TContext>) => Promise<TReturn> | TReturn;
34
+ /** Convert tool execution output to model-facing output */
35
+ toModelOutput?: ToModelOutputFunction<zodInfer<TInput>, TReturn>;
32
36
  };
33
37
  /**
34
38
  * Configuration for a generator tool (with eventSchema)
@@ -44,6 +48,8 @@ type GeneratorToolConfig<TInput extends $ZodObject<$ZodShape>, TEvent extends $Z
44
48
  nextTurnParams?: NextTurnParamsFunctions<zodInfer<TInput>>;
45
49
  requireApproval?: boolean | ToolApprovalCheck<zodInfer<TInput>>;
46
50
  execute: (params: zodInfer<TInput>, context?: ToolExecuteContext<TName, TContext>) => AsyncGenerator<zodInfer<TEvent> | zodInfer<TOutput>>;
51
+ /** Convert tool execution output to model-facing output */
52
+ toModelOutput?: ToModelOutputFunction<zodInfer<TInput>, zodInfer<TOutput>>;
47
53
  };
48
54
  /**
49
55
  * Configuration for a manual tool (execute: false, no eventSchema or outputSchema)
@@ -72,6 +78,8 @@ type ToolConfigWithSharedContext<TShared extends Record<string, unknown>> = {
72
78
  nextTurnParams?: NextTurnParamsFunctions<Record<string, unknown>>;
73
79
  requireApproval?: boolean | ToolApprovalCheck<Record<string, unknown>>;
74
80
  execute: ((params: Record<string, unknown>, context?: ToolExecuteContext<string, Record<string, unknown>, TShared>) => unknown) | ((params: Record<string, unknown>, context?: ToolExecuteContext<string, Record<string, unknown>, TShared>) => AsyncGenerator<unknown>) | false;
81
+ /** Convert tool execution output to model-facing output */
82
+ toModelOutput?: ToModelOutputFunction<Record<string, unknown>, unknown>;
75
83
  };
76
84
  /**
77
85
  * Creates a tool with full type inference from Zod schemas.
@@ -104,5 +112,28 @@ export declare function tool<TInput extends $ZodObject<$ZodShape>>(config: Manua
104
112
  export declare function tool<TInput extends $ZodObject<$ZodShape>, TOutput extends $ZodType, TContext extends Record<string, unknown> = Record<string, unknown>, TName extends string = string>(config: RegularToolConfigWithOutput<TInput, TOutput, TContext, TName>): ToolWithExecute<TInput, TOutput, TContext>;
105
113
  export declare function tool<TInput extends $ZodObject<$ZodShape>, TReturn, TContext extends Record<string, unknown> = Record<string, unknown>, TName extends string = string>(config: RegularToolConfigWithoutOutput<TInput, TReturn, TContext, TName>): ToolWithExecute<TInput, $ZodType<TReturn>, TContext>;
106
114
  export declare function tool<TShared extends Record<string, unknown>>(config: ToolConfigWithSharedContext<TShared>): Tool;
115
+ /**
116
+ * Creates an OpenRouter server-executed tool. OpenRouter runs the tool (web
117
+ * search, datetime, image generation, etc.) and returns the output item in
118
+ * the response — no client-side execute function is needed.
119
+ *
120
+ * The config shape is derived directly from the SDK's request-tool union
121
+ * (`models.ResponsesRequestToolUnion`) via `Exclude` + `Extract`, so new
122
+ * server-tool variants added upstream become valid here with zero changes
123
+ * in this SDK. Provide the `type` literal and the remaining fields narrow
124
+ * to match the chosen tool.
125
+ *
126
+ * @example
127
+ * ```typescript
128
+ * const tools = [
129
+ * serverTool({ type: 'web_search_2025_08_26', engine: 'exa', maxResults: 10 }),
130
+ * serverTool({ type: 'openrouter:datetime', parameters: { timezone: 'UTC' } }),
131
+ * serverTool({ type: 'image_generation', size: '1024x1024', quality: 'high' }),
132
+ * ];
133
+ * ```
134
+ */
135
+ export declare function serverTool<T extends ServerToolType>(config: Extract<ServerToolConfig, {
136
+ type: T;
137
+ }>): ServerTool<T>;
107
138
  export {};
108
139
  //# sourceMappingURL=tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"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"}
package/esm/lib/tool.js CHANGED
@@ -49,6 +49,9 @@ export function tool(config) {
49
49
  if (config.requireApproval !== undefined) {
50
50
  fn.requireApproval = config.requireApproval;
51
51
  }
52
+ if ('toModelOutput' in config && config.toModelOutput !== undefined) {
53
+ fn.toModelOutput = config.toModelOutput;
54
+ }
52
55
  return {
53
56
  type: ToolType.Function,
54
57
  function: fn,
@@ -74,6 +77,10 @@ export function tool(config) {
74
77
  ...(config.requireApproval !== undefined && {
75
78
  requireApproval: config.requireApproval,
76
79
  }),
80
+ ...('toModelOutput' in config &&
81
+ config.toModelOutput !== undefined && {
82
+ toModelOutput: config.toModelOutput,
83
+ }),
77
84
  };
78
85
  return {
79
86
  type: ToolType.Function,
@@ -81,4 +88,32 @@ export function tool(config) {
81
88
  };
82
89
  }
83
90
  //#endregion
91
+ //#region serverTool() Factory
92
+ /**
93
+ * Creates an OpenRouter server-executed tool. OpenRouter runs the tool (web
94
+ * search, datetime, image generation, etc.) and returns the output item in
95
+ * the response — no client-side execute function is needed.
96
+ *
97
+ * The config shape is derived directly from the SDK's request-tool union
98
+ * (`models.ResponsesRequestToolUnion`) via `Exclude` + `Extract`, so new
99
+ * server-tool variants added upstream become valid here with zero changes
100
+ * in this SDK. Provide the `type` literal and the remaining fields narrow
101
+ * to match the chosen tool.
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * const tools = [
106
+ * serverTool({ type: 'web_search_2025_08_26', engine: 'exa', maxResults: 10 }),
107
+ * serverTool({ type: 'openrouter:datetime', parameters: { timezone: 'UTC' } }),
108
+ * serverTool({ type: 'image_generation', size: '1024x1024', quality: 'high' }),
109
+ * ];
110
+ * ```
111
+ */
112
+ export function serverTool(config) {
113
+ return {
114
+ _brand: 'server-tool',
115
+ config,
116
+ };
117
+ }
118
+ //#endregion
84
119
  //# sourceMappingURL=tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AA+M/D,iBAAiB;AACjB,MAAM,UAAU,IAAI,CAClB,MAIwD;IAExD,qEAAqE;IACrE,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,cAAc,kBAAkB,4DAA4D,CAC7F,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAkD;YACxD,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QAEF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,IAAI,aAAa,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,EAAE,GAAG;YACT,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO;SACoD,CAAC;QAE9E,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI;YACxC,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI;YAC1C,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC;KACH,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;QACvB,QAAQ,EAAE,WAAW;KACtB,CAAC;AACJ,CAAC;AAED,YAAY"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/lib/tool.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAuN/D,iBAAiB;AACjB,MAAM,UAAU,IAAI,CAClB,MAIwD;IAExD,qEAAqE;IACrE,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,cAAc,kBAAkB,4DAA4D,CAC7F,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAkD;YACxD,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QAEF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,IAAI,aAAa,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,EAAE,GAAG;YACT,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO;SACoD,CAAC;QAE9E,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,CAAC;QAED,IAAI,eAAe,IAAI,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACpE,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI;YACvC,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI;YACxC,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI;YAC1C,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC;QACF,GAAG,CAAC,eAAe,IAAI,MAAM;YAC3B,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI;YACpC,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;KACL,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;QACvB,QAAQ,EAAE,WAAW;KACtB,CAAC;AACJ,CAAC;AAED,YAAY;AAEZ,8BAA8B;AAE9B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,UAAU,CACxB,MAKC;IAED,OAAO;QACL,MAAM,EAAE,aAAa;QACrB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,YAAY"}
@@ -1,5 +1,6 @@
1
1
  import { OpenRouterCore } from '@openrouter/sdk/core';
2
- import type { SDKHooks } from '@openrouter/sdk/hooks/hooks';
2
+ import { SDKHooks } from '@openrouter/sdk/hooks/hooks';
3
+ import type { AfterErrorHook, AfterSuccessHook, BeforeCreateRequestHook, BeforeRequestHook, SDKInitHook } from '@openrouter/sdk/hooks/types';
3
4
  import type { SDKOptions } from '@openrouter/sdk/lib/config';
4
5
  import type { RequestOptions } from '@openrouter/sdk/lib/sdks';
5
6
  import type { $ZodObject, $ZodShape, infer as zodInfer } from 'zod/v4/core';
@@ -7,15 +8,20 @@ import type { CallModelInput } from './lib/async-params.js';
7
8
  import type { ModelResult } from './lib/model-result.js';
8
9
  import type { Tool } from './lib/tool-types.js';
9
10
  export type { SDKOptions } from '@openrouter/sdk/lib/config';
11
+ /** Any single hook interface supported by the underlying SDK. */
12
+ export type Hook = SDKInitHook | BeforeCreateRequestHook | BeforeRequestHook | AfterSuccessHook | AfterErrorHook;
10
13
  /**
11
14
  * SDK options extended with optional hooks for request/response interception.
12
- * The underlying `ClientSDK` accepts hooks at runtime but its constructor type
13
- * (`SDKOptions`) does not include them. This type bridges that gap.
15
+ * `hooks` accepts an `SDKHooks` instance, a single hook object, or an array of
16
+ * hook objects; the constructor normalizes shorthand input into an `SDKHooks`
17
+ * instance before passing it to the underlying SDK, which only recognizes
18
+ * `hooks` when it is an `SDKHooks` instance.
14
19
  */
15
20
  export type OpenRouterOptions = SDKOptions & {
16
- hooks?: SDKHooks;
21
+ hooks?: SDKHooks | Hook | readonly Hook[];
17
22
  };
18
23
  export declare class OpenRouter extends OpenRouterCore {
24
+ constructor(options?: OpenRouterOptions);
19
25
  callModel: <TTools extends readonly Tool[], TSharedSchema extends $ZodObject<$ZodShape> | undefined = undefined, TShared extends Record<string, unknown> = TSharedSchema extends $ZodObject<$ZodShape> ? zodInfer<TSharedSchema> : Record<string, never>>(request: CallModelInput<TTools, TShared> & {
20
26
  sharedContextSchema?: TSharedSchema;
21
27
  }, options?: RequestOptions) => ModelResult<TTools, TShared>;
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEhD,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG;IAC3C,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,qBAAa,UAAW,SAAQ,cAAc;IAC5C,SAAS,GACP,MAAM,SAAS,SAAS,IAAI,EAAE,EAC9B,aAAa,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,SAAS,EACnE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,SAAS,UAAU,CAAC,SAAS,CAAC,GACjF,QAAQ,CAAC,aAAa,CAAC,GACvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAEzB,SAAS,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QACzC,mBAAmB,CAAC,EAAE,aAAa,CAAC;KACrC,EACD,UAAU,cAAc,KACvB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7B;CACH"}
1
+ {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEhD,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,iEAAiE;AACjE,MAAM,MAAM,IAAI,GACZ,WAAW,GACX,uBAAuB,GACvB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,CAAC;AAEnB;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG;IAC3C,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC;CAC3C,CAAC;AAmCF,qBAAa,UAAW,SAAQ,cAAc;gBAChC,OAAO,CAAC,EAAE,iBAAiB;IAYvC,SAAS,GACP,MAAM,SAAS,SAAS,IAAI,EAAE,EAC9B,aAAa,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,SAAS,EACnE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,SAAS,UAAU,CAAC,SAAS,CAAC,GACjF,QAAQ,CAAC,aAAa,CAAC,GACvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAEzB,SAAS,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QACzC,mBAAmB,CAAC,EAAE,aAAa,CAAC;KACrC,EACD,UAAU,cAAc,KACvB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7B;CACH"}
package/esm/openrouter.js CHANGED
@@ -1,8 +1,47 @@
1
1
  import { OpenRouterCore } from '@openrouter/sdk/core';
2
+ import { SDKHooks } from '@openrouter/sdk/hooks/hooks';
2
3
  import { callModel } from './inner-loop/call-model.js';
4
+ function buildSDKHooks(input) {
5
+ if (input === undefined) {
6
+ return undefined;
7
+ }
8
+ if (input instanceof SDKHooks) {
9
+ return input;
10
+ }
11
+ const hooks = new SDKHooks();
12
+ const list = Array.isArray(input)
13
+ ? input
14
+ : [
15
+ input,
16
+ ];
17
+ for (const hook of list) {
18
+ if ('sdkInit' in hook) {
19
+ hooks.registerSDKInitHook(hook);
20
+ }
21
+ if ('beforeCreateRequest' in hook) {
22
+ hooks.registerBeforeCreateRequestHook(hook);
23
+ }
24
+ if ('beforeRequest' in hook) {
25
+ hooks.registerBeforeRequestHook(hook);
26
+ }
27
+ if ('afterSuccess' in hook) {
28
+ hooks.registerAfterSuccessHook(hook);
29
+ }
30
+ if ('afterError' in hook) {
31
+ hooks.registerAfterErrorHook(hook);
32
+ }
33
+ }
34
+ return hooks;
35
+ }
3
36
  export class OpenRouter extends OpenRouterCore {
4
- constructor() {
5
- super(...arguments);
37
+ constructor(options) {
38
+ const { hooks: hooksInput, ...rest } = options ?? {};
39
+ const hooks = buildSDKHooks(hooksInput);
40
+ super(hooks === undefined
41
+ ? rest
42
+ : Object.assign({}, rest, {
43
+ hooks,
44
+ }));
6
45
  this.callModel = (request, options) => {
7
46
  return callModel(this, request, options);
8
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAMtD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAgBvD,MAAM,OAAO,UAAW,SAAQ,cAAc;IAA9C;;QACE,cAAS,GAAG,CAOV,OAEC,EACD,OAAwB,EACM,EAAE;YAChC,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC;CAAA"}
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAYvD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AA0BvD,SAAS,aAAa,CAAC,KAAoD;IACzE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAoB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACE,KAAK;SACN,CAAC;IACN,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,qBAAqB,IAAI,IAAI,EAAE,CAAC;YAClC,KAAK,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;YAC5B,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,UAAW,SAAQ,cAAc;IAC5C,YAAY,OAA2B;QACrC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QACxC,KAAK,CACH,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE;gBACtB,KAAK;aACN,CAAC,CACP,CAAC;QAGJ,cAAS,GAAG,CAOV,OAEC,EACD,OAAwB,EACM,EAAE;YAChC,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;IAfF,CAAC;CAgBF"}