@openrouter/agent 0.9.0 → 0.11.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 (155) hide show
  1. package/README.md +267 -2
  2. package/THIRD_PARTY_NOTICES.md +25 -0
  3. package/esm/index.d.ts +4 -3
  4. package/esm/index.d.ts.map +1 -1
  5. package/esm/index.js +1 -1
  6. package/esm/index.js.map +1 -1
  7. package/esm/inner-loop/call-model.d.ts.map +1 -1
  8. package/esm/inner-loop/call-model.js +26 -7
  9. package/esm/inner-loop/call-model.js.map +1 -1
  10. package/esm/lib/agent-tool.d.ts +1 -1
  11. package/esm/lib/agent-tool.d.ts.map +1 -1
  12. package/esm/lib/agent-tool.js.map +1 -1
  13. package/esm/lib/async-params.d.ts +23 -1
  14. package/esm/lib/async-params.d.ts.map +1 -1
  15. package/esm/lib/async-params.js +26 -1
  16. package/esm/lib/async-params.js.map +1 -1
  17. package/esm/lib/conversation-state.d.ts +1 -1
  18. package/esm/lib/conversation-state.d.ts.map +1 -1
  19. package/esm/lib/conversation-state.js +48 -13
  20. package/esm/lib/conversation-state.js.map +1 -1
  21. package/esm/lib/hooks-schemas.d.ts +3 -7
  22. package/esm/lib/hooks-schemas.d.ts.map +1 -1
  23. package/esm/lib/hooks-schemas.js.map +1 -1
  24. package/esm/lib/model-result.d.ts +32 -4
  25. package/esm/lib/model-result.d.ts.map +1 -1
  26. package/esm/lib/model-result.js +444 -128
  27. package/esm/lib/model-result.js.map +1 -1
  28. package/esm/lib/next-turn-params.d.ts.map +1 -1
  29. package/esm/lib/next-turn-params.js +3 -1
  30. package/esm/lib/next-turn-params.js.map +1 -1
  31. package/esm/lib/next-turn-params.test.js +72 -0
  32. package/esm/lib/next-turn-params.test.js.map +1 -1
  33. package/esm/lib/reusable-stream.d.ts +30 -3
  34. package/esm/lib/reusable-stream.d.ts.map +1 -1
  35. package/esm/lib/reusable-stream.js +127 -32
  36. package/esm/lib/reusable-stream.js.map +1 -1
  37. package/esm/lib/stream-transformers.d.ts +1 -1
  38. package/esm/lib/stream-transformers.d.ts.map +1 -1
  39. package/esm/lib/stream-transformers.js.map +1 -1
  40. package/esm/lib/tool-event-broadcaster.d.ts +18 -5
  41. package/esm/lib/tool-event-broadcaster.d.ts.map +1 -1
  42. package/esm/lib/tool-event-broadcaster.js +90 -19
  43. package/esm/lib/tool-event-broadcaster.js.map +1 -1
  44. package/esm/lib/tool-set-types.d.ts +298 -0
  45. package/esm/lib/tool-set-types.d.ts.map +1 -0
  46. package/esm/lib/tool-set-types.js +2 -0
  47. package/esm/lib/tool-set-types.js.map +1 -0
  48. package/esm/lib/tool-set.d.ts +157 -0
  49. package/esm/lib/tool-set.d.ts.map +1 -0
  50. package/esm/lib/tool-set.js +473 -0
  51. package/esm/lib/tool-set.js.map +1 -0
  52. package/esm/lib/tool-types.d.ts +203 -29
  53. package/esm/lib/tool-types.d.ts.map +1 -1
  54. package/esm/lib/tool-types.js.map +1 -1
  55. package/esm/lib/tool.d.ts +47 -21
  56. package/esm/lib/tool.d.ts.map +1 -1
  57. package/esm/lib/tool.js +13 -3
  58. package/esm/lib/tool.js.map +1 -1
  59. package/esm/lib/turn-context.d.ts +1 -1
  60. package/esm/lib/turn-context.d.ts.map +1 -1
  61. package/esm/lib/turn-context.js +1 -2
  62. package/esm/lib/turn-context.js.map +1 -1
  63. package/esm/mcp/auth/auth-resolver.d.ts +14 -0
  64. package/esm/mcp/auth/auth-resolver.d.ts.map +1 -0
  65. package/esm/mcp/auth/auth-resolver.js +27 -0
  66. package/esm/mcp/auth/auth-resolver.js.map +1 -0
  67. package/esm/mcp/auth/auth-types.d.ts +33 -0
  68. package/esm/mcp/auth/auth-types.d.ts.map +1 -0
  69. package/esm/mcp/auth/auth-types.js +4 -0
  70. package/esm/mcp/auth/auth-types.js.map +1 -0
  71. package/esm/mcp/build-tools.d.ts +29 -0
  72. package/esm/mcp/build-tools.d.ts.map +1 -0
  73. package/esm/mcp/build-tools.js +80 -0
  74. package/esm/mcp/build-tools.js.map +1 -0
  75. package/esm/mcp/cache/cache-store.d.ts +24 -0
  76. package/esm/mcp/cache/cache-store.d.ts.map +1 -0
  77. package/esm/mcp/cache/cache-store.js +20 -0
  78. package/esm/mcp/cache/cache-store.js.map +1 -0
  79. package/esm/mcp/cache/cache-types.d.ts +71 -0
  80. package/esm/mcp/cache/cache-types.d.ts.map +1 -0
  81. package/esm/mcp/cache/cache-types.js +49 -0
  82. package/esm/mcp/cache/cache-types.js.map +1 -0
  83. package/esm/mcp/cache/serialize.d.ts +25 -0
  84. package/esm/mcp/cache/serialize.d.ts.map +1 -0
  85. package/esm/mcp/cache/serialize.js +96 -0
  86. package/esm/mcp/cache/serialize.js.map +1 -0
  87. package/esm/mcp/close-quietly.d.ts +24 -0
  88. package/esm/mcp/close-quietly.d.ts.map +1 -0
  89. package/esm/mcp/close-quietly.js +30 -0
  90. package/esm/mcp/close-quietly.js.map +1 -0
  91. package/esm/mcp/create-mcp-tools.d.ts +13 -0
  92. package/esm/mcp/create-mcp-tools.d.ts.map +1 -0
  93. package/esm/mcp/create-mcp-tools.js +87 -0
  94. package/esm/mcp/create-mcp-tools.js.map +1 -0
  95. package/esm/mcp/elicitation.d.ts +11 -0
  96. package/esm/mcp/elicitation.d.ts.map +1 -0
  97. package/esm/mcp/elicitation.js +51 -0
  98. package/esm/mcp/elicitation.js.map +1 -0
  99. package/esm/mcp/errors.d.ts +91 -0
  100. package/esm/mcp/errors.d.ts.map +1 -0
  101. package/esm/mcp/errors.js +91 -0
  102. package/esm/mcp/errors.js.map +1 -0
  103. package/esm/mcp/handle.d.ts +66 -0
  104. package/esm/mcp/handle.d.ts.map +1 -0
  105. package/esm/mcp/handle.js +323 -0
  106. package/esm/mcp/handle.js.map +1 -0
  107. package/esm/mcp/index.d.ts +13 -0
  108. package/esm/mcp/index.d.ts.map +1 -0
  109. package/esm/mcp/index.js +11 -0
  110. package/esm/mcp/index.js.map +1 -0
  111. package/esm/mcp/mcp-connection.d.ts +150 -0
  112. package/esm/mcp/mcp-connection.d.ts.map +1 -0
  113. package/esm/mcp/mcp-connection.js +478 -0
  114. package/esm/mcp/mcp-connection.js.map +1 -0
  115. package/esm/mcp/mcp-sdk.d.ts +10 -0
  116. package/esm/mcp/mcp-sdk.d.ts.map +1 -0
  117. package/esm/mcp/mcp-sdk.js +37 -0
  118. package/esm/mcp/mcp-sdk.js.map +1 -0
  119. package/esm/mcp/rehydrate.d.ts +76 -0
  120. package/esm/mcp/rehydrate.d.ts.map +1 -0
  121. package/esm/mcp/rehydrate.js +505 -0
  122. package/esm/mcp/rehydrate.js.map +1 -0
  123. package/esm/mcp/resource-tools.d.ts +17 -0
  124. package/esm/mcp/resource-tools.d.ts.map +1 -0
  125. package/esm/mcp/resource-tools.js +155 -0
  126. package/esm/mcp/resource-tools.js.map +1 -0
  127. package/esm/mcp/result-mapper.d.ts +19 -0
  128. package/esm/mcp/result-mapper.d.ts.map +1 -0
  129. package/esm/mcp/result-mapper.js +40 -0
  130. package/esm/mcp/result-mapper.js.map +1 -0
  131. package/esm/mcp/schema/json-schema-guards.d.ts +14 -0
  132. package/esm/mcp/schema/json-schema-guards.d.ts.map +1 -0
  133. package/esm/mcp/schema/json-schema-guards.js +19 -0
  134. package/esm/mcp/schema/json-schema-guards.js.map +1 -0
  135. package/esm/mcp/schema/json-schema-to-zod.d.ts +20 -0
  136. package/esm/mcp/schema/json-schema-to-zod.d.ts.map +1 -0
  137. package/esm/mcp/schema/json-schema-to-zod.js +72 -0
  138. package/esm/mcp/schema/json-schema-to-zod.js.map +1 -0
  139. package/esm/mcp/tool-wrapper.d.ts +41 -0
  140. package/esm/mcp/tool-wrapper.d.ts.map +1 -0
  141. package/esm/mcp/tool-wrapper.js +131 -0
  142. package/esm/mcp/tool-wrapper.js.map +1 -0
  143. package/esm/mcp/transport-types.d.ts +45 -0
  144. package/esm/mcp/transport-types.d.ts.map +1 -0
  145. package/esm/mcp/transport-types.js +2 -0
  146. package/esm/mcp/transport-types.js.map +1 -0
  147. package/esm/mcp/types.d.ts +119 -0
  148. package/esm/mcp/types.d.ts.map +1 -0
  149. package/esm/mcp/types.js +2 -0
  150. package/esm/mcp/types.js.map +1 -0
  151. package/esm/mcp/version.d.ts +3 -0
  152. package/esm/mcp/version.d.ts.map +1 -0
  153. package/esm/mcp/version.js +5 -0
  154. package/esm/mcp/version.js.map +1 -0
  155. package/package.json +48 -7
package/README.md CHANGED
@@ -56,6 +56,17 @@ const text = await result.getText();
56
56
  console.log(text);
57
57
  ```
58
58
 
59
+ ## Optional subpaths
60
+
61
+ - `@openrouter/agent/tool-set` provides declarative tool activation.
62
+ - `@openrouter/agent/mcp` provides MCP discovery, caching, and tool wrapping. Install its optional client when using MCP:
63
+
64
+ ```bash
65
+ pnpm add @openrouter/agent @modelcontextprotocol/client
66
+ ```
67
+
68
+ Existing `@openrouter/mcp` imports remain supported as compatibility facades.
69
+
59
70
  ## Features
60
71
 
61
72
  ### Multiple Response Consumption Patterns
@@ -116,6 +127,24 @@ What each stream emits:
116
127
  | `getItemsStream()` | all output items (messages, function calls, …) — output items **only**, no usage/response metadata |
117
128
  | `getFullResponsesStream()` | every response event, including `tool.result` / `tool.call_output` execution events, and each round's `response.completed` (with that round's usage block) |
118
129
 
130
+ #### Replay history for stream consumers
131
+
132
+ Every stream getter above can start from event zero, so by default a result
133
+ retains its full event history for the lifetime of the call. Long generator-tool
134
+ streams make that history expensive in a constrained runtime. When all consumers
135
+ attach before draining, `streamReplay: 'active-consumers'` releases buffered
136
+ events once every attached consumer has advanced past them:
137
+
138
+ ```typescript
139
+ const result = callModel(client, {
140
+ model,
141
+ input,
142
+ // Default 'full' retains complete replay history for delayed and
143
+ // sequential consumers; 'active-consumers' trades that for bounded memory.
144
+ streamReplay: 'active-consumers',
145
+ });
146
+ ```
147
+
119
148
  #### Usage across a multi-round tool loop
120
149
 
121
150
  `getResponse()` resolves to the **final** round's response, so in a
@@ -939,13 +968,27 @@ const result = callModel(client, {
939
968
 
940
969
  ### Shared Context
941
970
 
942
- Share mutable state across all tools in a conversation:
971
+ Share mutable state across all tools in a conversation. When typing
972
+ `ctx.shared` explicitly, use the curried `tool<SharedContext>()({...})` form:
943
973
 
944
974
  ```typescript
975
+ type SharedContext = {
976
+ processedIds: string[];
977
+ };
978
+
979
+ const processItem = tool<SharedContext>()({
980
+ name: 'process_item',
981
+ inputSchema: z.object({ id: z.string() }),
982
+ execute: async ({ id }, ctx) => {
983
+ ctx?.setSharedContext({ processedIds: [...ctx.shared.processedIds, id] });
984
+ return { processed: id };
985
+ },
986
+ });
987
+
945
988
  const result = callModel(client, {
946
989
  model: 'openai/gpt-4o',
947
990
  input: 'Process these items',
948
- tools: [toolA, toolB] as const,
991
+ tools: [processItem] as const,
949
992
  sharedContextSchema: z.object({ processedIds: z.array(z.string()) }),
950
993
  context: {
951
994
  shared: { processedIds: [] },
@@ -953,6 +996,13 @@ const result = callModel(client, {
953
996
  });
954
997
  ```
955
998
 
999
+ The direct `tool<SharedContext>({...})` syntax remains supported for backward
1000
+ compatibility, but its returned tool name is typed as `string`. TypeScript
1001
+ cannot partially infer trailing generics after an explicit `TShared`, so the
1002
+ curried form is required when event types must correlate on a literal tool name.
1003
+ Calls without an explicit shared-context type, such as `tool({...})`, continue
1004
+ to infer literal names normally.
1005
+
956
1006
  ### Conversation State Management
957
1007
 
958
1008
  Persist multi-turn conversations with full state tracking. The `state`
@@ -1029,6 +1079,221 @@ const chatMsg = toChatMessage(openRouterMessage);
1029
1079
  const orMessages2 = fromChatMessages(chatMessages);
1030
1080
  ```
1031
1081
 
1082
+ # Tool Sets
1083
+
1084
+ Declarative, state-aware activation and deactivation for tools used with `@openrouter/agent`.
1085
+
1086
+ Port of [`ai-tool-set`](https://github.com/zirkelc/ai-tool-set) (MIT © Chris Cook), adapted for this SDK's ordered `Tool[]` / `callModel` model. See [`THIRD_PARTY_NOTICES.md`](./THIRD_PARTY_NOTICES.md).
1087
+
1088
+ ## What it adds
1089
+
1090
+ - **Stable tool-set IDs** for every addressable tool:
1091
+ - client tools → `function.name`
1092
+ - server tools → `server:${config.type}` by default (overridable via `serverTool(config, { id })`)
1093
+ - A **typed three-way partition** of those IDs: definitely enabled, definitely disabled, conditional.
1094
+ - **Exhaustive runtime snapshots** from `resolve()` / `resolveSituation()` — every ID appears in `statusByTool`.
1095
+ - **Named declarative situations** with compile-time exact tool tuples when the situation is fully static.
1096
+ - Integration with `callModel`'s `activeTools` option via the snapshot's spread-safe `.callModel` input.
1097
+
1098
+ ## Install
1099
+
1100
+ ```bash
1101
+ pnpm add @openrouter/agent
1102
+ ```
1103
+
1104
+ ## Usage
1105
+
1106
+ ```ts
1107
+ import { OpenRouter, tool, serverTool, callModel } from '@openrouter/agent';
1108
+ import {
1109
+ createToolSet,
1110
+ type InferEnabledIds,
1111
+ type InferDisabledIds,
1112
+ type InferConditionalIds,
1113
+ type InferAllIds,
1114
+ } from '@openrouter/agent/tool-set';
1115
+ import { z } from 'zod/v4';
1116
+
1117
+ type AppContext = {
1118
+ isAuthenticated: boolean;
1119
+ isAdmin: boolean;
1120
+ };
1121
+
1122
+ const listOrders = tool({
1123
+ name: 'list_orders',
1124
+ inputSchema: z.object({}),
1125
+ execute: async () => ({ orders: [] }),
1126
+ });
1127
+
1128
+ const cancelOrder = tool({
1129
+ name: 'cancel_order',
1130
+ inputSchema: z.object({ id: z.string() }),
1131
+ execute: async () => ({ ok: true }),
1132
+ });
1133
+
1134
+ const login = tool({
1135
+ name: 'login',
1136
+ inputSchema: z.object({}),
1137
+ execute: async () => ({ token: '…' }),
1138
+ });
1139
+
1140
+ const webSearch = serverTool({ type: 'web_search_2025_08_26' });
1141
+ // id defaults to 'server:web_search_2025_08_26'
1142
+
1143
+ const allTools = [listOrders, cancelOrder, login, webSearch] as const;
1144
+
1145
+ const toolSet = createToolSet<typeof allTools, AppContext>({ tools: allTools })
1146
+ .deactivate('cancel_order')
1147
+ .activateWhen('list_orders', ({ context }) => context?.isAuthenticated === true)
1148
+ .defineSituations({
1149
+ guest: {
1150
+ enabled: ['login', 'server:web_search_2025_08_26'],
1151
+ disabled: ['list_orders', 'cancel_order'],
1152
+ },
1153
+ authenticated: {
1154
+ enabled: ['list_orders', 'server:web_search_2025_08_26'],
1155
+ disabled: ['login'],
1156
+ conditional: {
1157
+ cancel_order: ({ context }) => context?.isAdmin === true,
1158
+ },
1159
+ },
1160
+ });
1161
+
1162
+ // Compile-time partition of the *base* set (before a situation overlay):
1163
+ type All = InferAllIds<typeof toolSet>;
1164
+ // 'list_orders' | 'cancel_order' | 'login' | 'server:web_search_2025_08_26'
1165
+ type Enabled = InferEnabledIds<typeof toolSet>; // excludes cancel_order + list_orders (conditional)
1166
+ type Disabled = InferDisabledIds<typeof toolSet>; // 'cancel_order'
1167
+ type Conditional = InferConditionalIds<typeof toolSet>; // 'list_orders'
1168
+
1169
+ const client = new OpenRouter({ apiKey: process.env.OPENROUTER_API_KEY });
1170
+
1171
+ // Named static situation → exact tool tuple at compile time
1172
+ const guest = toolSet.resolveSituation('guest');
1173
+ // guest.tools is exactly [login, webSearch]
1174
+ // guest.enabled / guest.disabled / guest.statusByTool are exhaustive
1175
+
1176
+ const authenticated = toolSet.resolveSituation('authenticated', {
1177
+ context: { isAuthenticated: true, isAdmin: false },
1178
+ });
1179
+
1180
+ const result = callModel(client, {
1181
+ model: 'openai/gpt-4o-mini',
1182
+ input: 'List my orders.',
1183
+ ...authenticated.callModel,
1184
+ });
1185
+ ```
1186
+
1187
+ ## Identity
1188
+
1189
+ | Kind | Tool-set ID |
1190
+ | --- | --- |
1191
+ | Client `tool({ name: 'x' })` | `'x'` |
1192
+ | `serverTool({ type: 'web_search_2025_08_26' })` | `'server:web_search_2025_08_26'` |
1193
+ | `serverTool(config, { id: 'server:public_search' })` | `'server:public_search'` |
1194
+
1195
+ Duplicate IDs throw at `createToolSet` construction. Activation methods accept only known IDs.
1196
+
1197
+ ## Compile-time vs runtime exactness
1198
+
1199
+ | Resolution style | Developer-time knowledge | Runtime knowledge |
1200
+ | --- | --- | --- |
1201
+ | Static `activate` / `deactivate` | Exact partition | Exact snapshot |
1202
+ | Named static situation (`enabled`/`disabled` only) | Exact filtered tool tuple | Exact snapshot |
1203
+ | `activateWhen` / `deactivateWhen` / situation `conditional` | Upper bound (`enabled ∪ conditional`) | Exact snapshot after predicates |
1204
+ | Mutable `ToolSet` | Partition types may widen | Exact snapshot |
1205
+
1206
+ The type system cannot execute predicates. Conditional IDs therefore expand the compile-time upper bound of active tools; after `resolve`, the returned arrays and `statusByTool` are always exhaustive and exact.
1207
+
1208
+ ## API
1209
+
1210
+ ### `createToolSet<T, TShared?>({ tools, mutable? })`
1211
+
1212
+ Build a set from an ordered tool array. Optional `TShared` types the `context` argument on predicates. Defaults to immutable.
1213
+
1214
+ ### `.tools`
1215
+
1216
+ Concrete tools tuple in construction order (client + server), regardless of activation.
1217
+
1218
+ ### `.activate(id | id[])` / `.deactivate(id | id[])`
1219
+
1220
+ Static flip (last-call-wins). Accepts client names **and** server IDs. Updates the compile-time partition.
1221
+
1222
+ ### `.activateWhen(id, predicate)` / `.activateWhen({ [id]: predicate })`
1223
+
1224
+ Conditional activation — defaults inactive, becomes active when predicate returns `true`. Moves the ID into the conditional partition.
1225
+
1226
+ ### `.deactivateWhen(id, predicate)` / `.deactivateWhen({ [id]: predicate })`
1227
+
1228
+ Conditional deactivation — defaults active, becomes inactive when predicate returns `true`. Also moves the ID into the conditional partition.
1229
+
1230
+ Predicate input: `{ state?: ConversationState; context?: TShared }`.
1231
+
1232
+ ### `.defineSituations({ [name]: config })`
1233
+
1234
+ Declarative named situations. Each config may include:
1235
+
1236
+ - `enabled?: readonly Id[]` — statically on
1237
+ - `disabled?: readonly Id[]` — statically off
1238
+ - `conditional?: { [id]: predicate | { mode?, predicate } }` — runtime rules
1239
+
1240
+ Situation overlays the base partition for every ID it mentions; unmentioned IDs keep the base state. Unknown, duplicate, or conflicting IDs within one situation throw.
1241
+
1242
+ ### `.resolve(input?)` → snapshot
1243
+
1244
+ ```ts
1245
+ {
1246
+ tools: /* active tools, construction order, concrete types */;
1247
+ activeTools: /* active *client* names for callModel */;
1248
+ callModel: { tools, activeTools }; // safe to spread into callModel()
1249
+ enabled: /* every active ID (client + server) */;
1250
+ disabled: /* every inactive ID */;
1251
+ statusByTool: {
1252
+ [id]: {
1253
+ enabled: boolean;
1254
+ reason: 'default' | 'activate' | 'deactivate' | 'activateWhen' | 'deactivateWhen' | 'situation';
1255
+ directive?: 'activate' | 'deactivate' | 'activateWhen' | 'deactivateWhen';
1256
+ predicate?: boolean; // true when a runtime predicate decided the result
1257
+ };
1258
+ };
1259
+ }
1260
+ ```
1261
+
1262
+ ### `.resolveSituation(name, input?)` → snapshot
1263
+
1264
+ Same shape as `resolve`, with the named situation overlay applied first.
1265
+
1266
+ ### `.inferTools(input?)`
1267
+
1268
+ Back-compat alias for `resolve`. Prefer `resolve` in new code.
1269
+
1270
+ ### `.clone({ mutable? })`
1271
+
1272
+ Copy state, optionally flipping mode.
1273
+
1274
+ ### Inference utilities
1275
+
1276
+ ```ts
1277
+ type All = InferAllIds<typeof toolSet>;
1278
+ type Enabled = InferEnabledIds<typeof toolSet>;
1279
+ type Disabled = InferDisabledIds<typeof toolSet>;
1280
+ type Conditional = InferConditionalIds<typeof toolSet>;
1281
+ ```
1282
+
1283
+ ### `InferToolSet<TTools>`
1284
+
1285
+ Alias of the agent's `CorrelatedToolEventUnion<TTools>` — name-correlated preliminary/result stream events based on a tools tuple.
1286
+
1287
+ ## Notes
1288
+
1289
+ - Immutable by default (every mutator returns a new `ToolSet` with refined partition types).
1290
+ - `mutable: true` mutates in place. Partition type parameters may widen for soundness; runtime state is still exact.
1291
+ - Last-call-wins: each directive on a given ID replaces any prior one for that ID.
1292
+ - Server tools participate fully in activation once they have an ID. When active they appear in `tools` (and `enabled` / `statusByTool`) but **not** in `activeTools`, which remains the client-name list expected by `callModel`.
1293
+ - Keep a snapshot's `tools` and `activeTools` together by spreading `.callModel`; `callModel` cannot verify `activeTools` against an unrelated tools array.
1294
+ - `callModel` ignores names in `activeTools` that are not present in `tools`. Tool-set snapshots avoid stale names by deriving both arrays from the same set.
1295
+
1296
+
1032
1297
  ## Subpath Exports
1033
1298
 
1034
1299
  For tree-shaking or targeted imports, the package provides granular subpath exports:
@@ -0,0 +1,25 @@
1
+ # Third-Party Notices
2
+
3
+ `@openrouter/agent/tool-set` is adapted from [`ai-tool-set` v1.0.0](https://github.com/zirkelc/ai-tool-set/tree/v1.0.0), which is licensed under the MIT License:
4
+
5
+ > MIT License
6
+ >
7
+ > Copyright (c) 2024 Chris
8
+ >
9
+ > Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ > of this software and associated documentation files (the "Software"), to deal
11
+ > in the Software without restriction, including without limitation the rights
12
+ > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ > copies of the Software, and to permit persons to whom the Software is
14
+ > furnished to do so, subject to the following conditions:
15
+ >
16
+ > The above copyright notice and this permission notice shall be included in all
17
+ > copies or substantial portions of the Software.
18
+ >
19
+ > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ > SOFTWARE.
package/esm/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export type { AgentRunSpec, AgentToolConfig } from './lib/agent-tool.js';
10
10
  export { AgentTranscriptSource } from './lib/agent-tool.js';
11
11
  export { fromClaudeMessages, toClaudeMessage } from './lib/anthropic-compat.js';
12
12
  export type { CallModelInput, CallModelInputWithState, ResolvedCallModelInput, } from './lib/async-params.js';
13
- export { hasAsyncFunctions, resolveAsyncFunctions } from './lib/async-params.js';
13
+ export { hasAsyncFunctions, resolveAsyncFunctions, TOOL_SET_SNAPSHOT, } from './lib/async-params.js';
14
14
  export type { SettledToolTask } from './lib/async-tool-registry.js';
15
15
  export { AsyncToolRegistry } from './lib/async-tool-registry.js';
16
16
  export { fromChatMessages, toChatMessage } from './lib/chat-compat.js';
@@ -25,10 +25,11 @@ export { HookName, isAsyncOutput } from './lib/hooks-types.js';
25
25
  export type { GetResponseOptions } from './lib/model-result.js';
26
26
  export { DEFAULT_FINAL_RESPONSE_DIRECTIVE, ModelResult } from './lib/model-result.js';
27
27
  export { applyNextTurnParamsToRequest, buildNextTurnParamsContext, executeNextTurnParamsFunctions, } from './lib/next-turn-params.js';
28
+ export type { StreamReplay } from './lib/reusable-stream.js';
28
29
  export { finishReasonIs, hasToolCall, isStopConditionMet, maxCost, maxTokensUsed, stepCountIs, } from './lib/stop-conditions.js';
29
30
  export type { StreamableOutputItem } from './lib/stream-transformers.js';
30
31
  export { extractUnsupportedContent, getUnsupportedContentSummary, hasUnsupportedContent, } from './lib/stream-transformers.js';
31
- export type { BuiltDeferredTool, DeferredToolMethods } from './lib/tool.js';
32
+ export type { BuiltDeferredTool, DeferredToolMethods, ServerToolOptions, } from './lib/tool.js';
32
33
  export { markMcp, serverTool, tool } from './lib/tool.js';
33
34
  export type { TaskToolInput } from './lib/tool-check.js';
34
35
  export { TASK_TOOL_NAME, TaskToolInputSchema } from './lib/tool-check.js';
@@ -39,7 +40,7 @@ export { buildToolExecuteContext, ToolContextStore } from './lib/tool-context.js
39
40
  export { ToolEventBroadcaster } from './lib/tool-event-broadcaster.js';
40
41
  export type { TaskLogEntry, TaskLogLimits, TaskTranscriptSource, ToolTaskMode, ToolTaskStatusView, } from './lib/tool-task.js';
41
42
  export { DEFAULT_TASK_LOG_LIMITS, ToolTask } from './lib/tool-task.js';
42
- export type { AsyncToolAck, ChatStreamEvent, ClientTool, ConversationState, ConversationStatus, DeferOptions, DeferredHandle, HasApprovalTools, HITLTool, HITLToolFunction, InferToolEvent, InferToolEventsUnion, InferToolInput, InferToolOutput, InferToolOutputsUnion, ManualTool, McpBranded, NextTurnParamsContext, NextTurnParamsFunctions, ParsedToolCall, PartialResponse, PendingAsyncTool, ResponseStreamEvent, ResponseStreamEvent as EnhancedResponseStreamEvent, ServerTool, ServerToolConfig, ServerToolResultItem, ServerToolType, StateAccessor, StepResult, StopCondition, StopWhen, ToModelOutputFunction, ToModelOutputResult, Tool, ToolApprovalCheck, ToolAsyncSettledEvent, ToolAsyncStartedEvent, ToolCallOutputEvent, ToolCheckConfig, ToolExecutionResult, ToolExecutionResultUnion, ToolHasApproval, ToolLifecycle, ToolLoopKey, ToolLoopKeyFn, ToolOutputContentItem, ToolPreliminaryResultEvent, ToolResultEvent, ToolResultItem, ToolRunContext, ToolStreamEvent, ToolTaskHandle, ToolTaskStatus, ToolWithExecute, ToolWithGenerator, TurnContext, TurnEndEvent, TurnStartEvent, TypedToolCall, TypedToolCallUnion, UnifiedTool, UnifiedToolFunction, UnsentToolResult, Warning, } from './lib/tool-types.js';
43
+ export type { AsyncToolAck, BuiltinTaskToolEvent, ChatStreamEvent, ClientTool, ConversationState, ConversationStatus, CorrelatedResponseStreamEvent, CorrelatedToolEventUnion, CorrelatedToolPreliminaryResultEvent, CorrelatedToolResultEvent, CorrelatedToolStreamEvent, CorrelatedToolStreamPreliminaryUnion, DeferOptions, DeferredHandle, HasApprovalTools, HITLTool, HITLToolFunction, InferToolEvent, InferToolEventsUnion, InferToolInput, InferToolName, InferToolOutput, InferToolOutputsUnion, ManualTool, McpBranded, NextTurnParamsContext, NextTurnParamsFunctions, ParsedToolCall, PartialResponse, PendingAsyncTool, PendingToolCall, ResponseStreamEvent, ResponseStreamEvent as EnhancedResponseStreamEvent, ServerTool, ServerToolBase, ServerToolConfig, ServerToolResultItem, ServerToolType, StateAccessor, StepResult, StopCondition, StopWhen, ToModelOutputFunction, ToModelOutputResult, Tool, ToolApprovalCheck, ToolAsyncSettledEvent, ToolAsyncStartedEvent, ToolCallOutputEvent, ToolCheckConfig, ToolExecutionResult, ToolExecutionResultUnion, ToolHasApproval, ToolLifecycle, ToolLoopKey, ToolLoopKeyFn, ToolOutputContentItem, ToolPreliminaryResultEvent, ToolResultEvent, ToolResultItem, ToolRunContext, ToolStreamEvent, ToolTaskHandle, ToolTaskStatus, ToolWithExecute, ToolWithGenerator, TurnContext, TurnEndEvent, TurnStartEvent, TypedToolCall, TypedToolCallUnion, UnifiedTool, UnifiedToolFunction, UnsentToolResult, Warning, } from './lib/tool-types.js';
43
44
  export { hasApprovalRequiredTools, hasExecuteFunction, isAgentTool, isAutoResolvableTool, isClientTool, isDeferredHandle, isGeneratorTool, isHITLTool, isLongRunningTool, isManualTool, isMcpTool, isRegularExecuteTool, isServerTool, isToolAsyncSettledEvent, isToolAsyncStartedEvent, isToolCallOutputEvent, isToolPreliminaryResultEvent, isToolResultEvent, isTurnEndEvent, isTurnStartEvent, isUnifiedTool, ToolType, toolHasApprovalConfigured, } from './lib/tool-types.js';
44
45
  export { buildTurnContext, normalizeInputToArray } from './lib/turn-context.js';
45
46
  export type { Hook, OpenRouterOptions, SDKOptions } from './openrouter.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/esm/index.js CHANGED
@@ -8,7 +8,7 @@ export { callModel } from './inner-loop/call-model.js';
8
8
  export { resumeToolResults, ToolTaskAlreadySettledError, } from './inner-loop/resume-tool-results.js';
9
9
  export { AgentTranscriptSource } from './lib/agent-tool.js';
10
10
  export { fromClaudeMessages, toClaudeMessage } from './lib/anthropic-compat.js';
11
- export { hasAsyncFunctions, resolveAsyncFunctions } from './lib/async-params.js';
11
+ export { hasAsyncFunctions, resolveAsyncFunctions, TOOL_SET_SNAPSHOT, } from './lib/async-params.js';
12
12
  export { AsyncToolRegistry } from './lib/async-tool-registry.js';
13
13
  export { fromChatMessages, toChatMessage } from './lib/chat-compat.js';
14
14
  // Claude constants and type guards
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"call-model.d.ts","sourceRoot":"","sources":["../../src/inner-loop/call-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGjD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,wBAAgB,SAAS,CACvB,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,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACzC,mBAAmB,CAAC,EAAE,aAAa,CAAC;CACrC,EACD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CA8F9B"}
1
+ {"version":3,"file":"call-model.d.ts","sourceRoot":"","sources":["../../src/inner-loop/call-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAIjD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,wBAAgB,SAAS,CACvB,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,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACzC,mBAAmB,CAAC,EAAE,aAAa,CAAC;CACrC,EACD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAmH9B"}
@@ -1,7 +1,9 @@
1
+ import { stripToolSetSnapshotMetadata } from '../lib/async-params.js';
1
2
  import { resolveHooks } from '../lib/hooks-resolve.js';
2
3
  import { ModelResult } from '../lib/model-result.js';
3
4
  import { buildTaskToolApiDefinition, needsTaskTool } from '../lib/tool-check.js';
4
5
  import { convertToolsToAPIFormat, convertZodToJsonSchema } from '../lib/tool-executor.js';
6
+ import { isServerTool } from '../lib/tool-types.js';
5
7
  /**
6
8
  * Get a response with multiple consumption patterns
7
9
  *
@@ -72,24 +74,40 @@ import { convertToolsToAPIFormat, convertZodToJsonSchema } from '../lib/tool-exe
72
74
  */
73
75
  export function callModel(client, request, options) {
74
76
  // Destructure state management options along with tools and stopWhen
75
- const { tools, stopWhen, state, requireApproval, approveToolCalls, rejectToolCalls, context, sharedContextSchema, onTurnStart, onTurnEnd, allowFinalResponse, strictFinalResponse, hooks, doomLoop, signal, toolTimeoutMs, toolConcurrency, asyncTools, ...apiRequest } = request;
77
+ const { tools, activeTools, stopWhen, state, requireApproval, approveToolCalls, rejectToolCalls, context, sharedContextSchema, onTurnStart, onTurnEnd, streamReplay, allowFinalResponse, strictFinalResponse, hooks, doomLoop, signal, toolTimeoutMs, toolConcurrency, asyncTools, ...apiRequest } = request;
78
+ // Narrow tools to the active subset (if provided) before API conversion and
79
+ // before they are registered for execution, so the model cannot call filtered
80
+ // tools and the executor does not carry orphaned definitions.
81
+ const activeSet = activeTools ? new Set(activeTools) : undefined;
82
+ const activeFilteredTools = activeSet
83
+ ? tools?.filter((t) => isServerTool(t) || activeSet.has(t.function.name))
84
+ : tools;
85
+ // Collapse a filtered-to-empty (or explicitly empty) tools list to
86
+ // `undefined` so a fully-deactivated tool set (a first-class output of
87
+ // `inferTools()`/`.resolve()`) omits the outbound `tools` key entirely
88
+ // instead of sending `tools: []` — several providers reject an empty
89
+ // array outright. `ModelResult` treats `undefined` as its no-tools state
90
+ // (see the `?.length` / truthiness checks throughout), so this also keeps
91
+ // the engine's tool-execution machinery correctly disabled.
92
+ const filteredTools = activeFilteredTools?.length ? activeFilteredTools : undefined;
76
93
  // Convert tools to API format - no cast needed now that convertToolsToAPIFormat accepts readonly
77
- const apiTools = tools ? convertToolsToAPIFormat(tools) : undefined;
94
+ const apiTools = filteredTools ? convertToolsToAPIFormat(filteredTools) : undefined;
78
95
  // Append the single universal `task` tool when any long-running tool is
79
96
  // registered (and check-ins aren't disabled): ONE static wire definition
80
97
  // for check/steer/result/cancel across every async tool — per-tool
81
98
  // context cost stays constant regardless of the tool count. Appended
82
99
  // here (not per-request in ModelResult) so `resolvedRequest.tools` stays
83
100
  // stable across turns. Calls to it are engine-intercepted.
84
- if (apiTools && tools && asyncTools?.checkins !== false && needsTaskTool(tools)) {
101
+ if (apiTools && filteredTools && asyncTools?.checkins !== false && needsTaskTool(filteredTools)) {
85
102
  apiTools.push(buildTaskToolApiDefinition(convertZodToJsonSchema));
86
103
  }
87
- // Build the request with converted tools
88
- // Note: async functions are resolved later in ModelResult.executeToolsIfNeeded()
89
- // The request can have async fields (functions) or sync fields, and the tools are converted to API format
104
+ // Build the request with converted tools. Tool-set snapshots carry a symbol
105
+ // marker that survives object spread, allowing their metadata to be removed
106
+ // without reserving otherwise legitimate API field names.
90
107
  const finalRequest = {
91
108
  ...apiRequest,
92
109
  };
110
+ stripToolSetSnapshotMetadata(finalRequest);
93
111
  if (apiTools !== undefined) {
94
112
  finalRequest['tools'] = apiTools;
95
113
  }
@@ -108,7 +126,7 @@ export function callModel(client, request, options) {
108
126
  client,
109
127
  request: finalRequest,
110
128
  options: callModelOptions,
111
- tools,
129
+ tools: filteredTools,
112
130
  stopWhen,
113
131
  state,
114
132
  requireApproval,
@@ -118,6 +136,7 @@ export function callModel(client, request, options) {
118
136
  sharedContextSchema,
119
137
  onTurnStart,
120
138
  onTurnEnd,
139
+ streamReplay,
121
140
  allowFinalResponse,
122
141
  strictFinalResponse,
123
142
  hooks: hooks !== undefined ? resolveHooks(hooks) : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"call-model.js","sourceRoot":"","sources":["../../src/inner-loop/call-model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAM1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,MAAM,UAAU,SAAS,CAOvB,MAAsB,EACtB,OAEC,EACD,OAAwB;IAExB,qEAAqE;IACrE,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,aAAa,EACb,eAAe,EACf,UAAU,EACV,GAAG,UAAU,EACd,GAAG,OAAO,CAAC;IAEZ,iGAAiG;IACjG,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpE,wEAAwE;IACxE,yEAAyE;IACzE,mEAAmE;IACnE,qEAAqE;IACrE,yEAAyE;IACzE,2DAA2D;IAC3D,IAAI,QAAQ,IAAI,KAAK,IAAI,UAAU,EAAE,QAAQ,KAAK,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAChF,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,yCAAyC;IACzC,iFAAiF;IACjF,0GAA0G;IAC1G,MAAM,YAAY,GAA4B;QAC5C,GAAG,UAAU;KACd,CAAC;IAEF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,YAAY,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED,oEAAoE;IACpE,MAAM,gBAAgB,GAAmB;QACvC,GAAG,OAAO;QACV,OAAO,EAAE;YACP,GAAG,MAAM,CAAC,WAAW,CACnB,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,YAAY,EAAE,OAAO,IAAI,SAAS,CAAC,CAC7E;YACD,wBAAwB,EAAE,MAAM;SACjC;KACF,CAAC;IAEF,wEAAwE;IACxE,yEAAyE;IACzE,2DAA2D;IAC3D,MAAM,aAAa,GAA4B;QAC7C,MAAM;QACN,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,gBAAgB;QACzB,KAAK;QACL,QAAQ;QACR,KAAK;QACL,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,OAAO;QACP,mBAAmB;QACnB,WAAW;QACX,SAAS;QACT,kBAAkB;QAClB,mBAAmB;QACnB,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5D,QAAQ;QACR,MAAM;QACN,aAAa;QACb,eAAe;QACf,UAAU;KACX,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,WAAW,CACpB,aAA+D,CAChE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"call-model.js","sourceRoot":"","sources":["../../src/inner-loop/call-model.ts"],"names":[],"mappings":"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"}
@@ -88,5 +88,5 @@ export type AgentToolConfig<TInput extends $ZodObject<$ZodShape>, TOutput extend
88
88
  * `task.send`) are injected into the child as user messages at its next
89
89
  * turn boundary. `cancelTask` / parent abort cancel the child run.
90
90
  */
91
- export declare function agentToolBuilder<TInput extends $ZodObject<$ZodShape>, TOutput extends $ZodType, TChildTools extends readonly Tool[] = readonly Tool[], TCtx extends $ZodObject<$ZodShape> = $ZodObject<$ZodShape>, TName extends string = string>(config: AgentToolConfig<TInput, TOutput, TChildTools, TCtx, TName>): UnifiedTool<TInput, TOutput, $ZodType<unknown>, Record<string, unknown>, TCtx>;
91
+ export declare function agentToolBuilder<TInput extends $ZodObject<$ZodShape>, TOutput extends $ZodType, TChildTools extends readonly Tool[] = readonly Tool[], TCtx extends $ZodObject<$ZodShape> = $ZodObject<$ZodShape>, TName extends string = string>(config: AgentToolConfig<TInput, TOutput, TChildTools, TCtx, TName>): UnifiedTool<TInput, TOutput, $ZodType<unknown>, Record<string, unknown>, TCtx, TName>;
92
92
  //# sourceMappingURL=agent-tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-tool.d.ts","sourceRoot":"","sources":["../../src/lib/agent-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-tool.d.ts","sourceRoot":"","sources":["../../src/lib/agent-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EAEvB,IAAI,EACJ,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAGzB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,YAAY,CAAC,WAAW,SAAS,SAAS,IAAI,EAAE,GAAG,SAAS,IAAI,EAAE,IAAI,IAAI,CACpF,cAAc,CAAC,WAAW,CAAC,EAC3B,OAAO,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,QAAQ,CAC5D,CAAC;AAUF;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,oBAAoB;IAKpD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJtC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,eAAe,CAAc;gBAER,SAAS,EAAE,MAAM,iBAAiB,GAAG,IAAI;IAEtE,aAAa,IAAI,IAAI;IAKrB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKnC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUvC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAsCjC;AAED,wCAAwC;AACxC,MAAM,MAAM,eAAe,CACzB,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,WAAW,SAAS,SAAS,IAAI,EAAE,GAAG,SAAS,IAAI,EAAE,EACrD,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B;IACF,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,KAAK,EAAE,CACL,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,KACzD,YAAY,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IACpE;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7F,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,GAAG,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACrC,kEAAkE;IAClE,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;CACzC,CAAC;AAUF;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,UAAU,CAAC,SAAS,CAAC,EACpC,OAAO,SAAS,QAAQ,EACxB,WAAW,SAAS,SAAS,IAAI,EAAE,GAAG,SAAS,IAAI,EAAE,EACrD,IAAI,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAC1D,KAAK,SAAS,MAAM,GAAG,MAAM,EAE7B,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,GACjE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CA+JvF"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-tool.js","sourceRoot":"","sources":["../../src/lib/agent-tool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAcxD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAwB/D,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,SAAS,OAAO,CAAC,KAAc,EAAE,QAAgB;IAC/C,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1F,OAAO,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAKhC,YAA6B,SAAyC;QAAzC,cAAS,GAAT,SAAS,CAAgC;QAJ9D,iBAAY,GAAG,CAAC,CAAC;QACjB,eAAU,GAAG,CAAC,CAAC;QACf,oBAAe,GAAG,UAAU,CAAC;IAEoC,CAAC;IAE1E,aAAa;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,QAAQ,IAAI,CAAC,YAAY,cAAc,CAAC;IACjE,CAAC;IAED,WAAW,CAAC,QAAgB;QAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IACvF,CAAC;IAED,WAAW,CAAC,QAAgB;QAC1B,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED,YAAY;QACV,OAAO;YACL,oEAAoE;YACpE,oDAAoD;YACpD,cAAc,EAAE,IAAI,CAAC,UAAU;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,QAAgB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAA0C,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;iBAAM,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;oBACjC,CAAC,CAAC,OAAO;yBACJ,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CAEF,CAGD,CAAC,IAAI,IAAI,EAAE,CACf;yBACA,IAAI,CAAC,EAAE,CAAC;yBACR,IAAI,EAAE;oBACX,CAAC,CAAC,EAAE,CAAC;gBACP,IAAI,IAAI,EAAE,CAAC;oBACT,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC7F,CAAC;iBAAM,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;CACF;AAoDD,+EAA+E;AAC/E,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,mBAAmB;IACnB,eAAe;IACf,uBAAuB;IACvB,sBAAsB;CACvB,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAO9B,MAAkE;IAElE,wEAAwE;IACxE,oEAAoE;IACpE,8CAA8C;IAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,cAAc,kBAAkB,4DAA4D,CAC7F,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,cAAc,cAAc,gFAAgF,CAC7G,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,eAAe,MAAM,CAAC,IAAI,yFAAyF,CACpH,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,EAAE,KAA+B,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,EAAE,MAAM,KAAK,CAAC,OAAO,EAAE;KAC5B,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAK,aAAmD,CAAC;IAExF,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,KAAK,UAAU,GAAG,CAChB,MAAwB,EACxB,GAOC;QAED,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,eAAe,MAAM,CAAC,IAAI,6FAA6F,CACxH,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE7C,kEAAkE;QAClE,sEAAsE;QACtE,qEAAqE;QACrE,uBAAuB;QACvB,IAAI,UAAU,GAA6B,IAAI,CAAC;QAChD,MAAM,aAAa,GAAkB;YACnC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU;YAC5B,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACpB,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,qBAAqB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,GAAG,EAAE,cAAc,EAAE,CAAC;YACxB,GAAG,CAAC,cAAc,CAAC,gBAAgB,GAAG,UAAU,CAAC;QACnD,CAAC;QAED,sEAAsE;QACtE,8DAA8D;QAC9D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAElE,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC;QACzC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;QAErC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE;YAC9B,GAAG,IAAI;YACP,KAAK,EAAE,aAAa;YACpB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,IAAI;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC;YACF,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;gBACjC,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC3B,MAAM,eAAe,EAAE,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;YACD,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;gBAC/C,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC7B,gEAAgE;gBAChE,gCAAgC;gBAChC,GAAG,EAAE,GAAG,EAAE,CAAC;oBACT,IAAI,EAAE,WAAW,CAAC,aAAa;oBAC/B,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,kBAAkB,CAAC;iBACtD,CAAC,CAAC;gBACH,MAAM,aAAa,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC;SAGF,CAA6B,CAAC;QAE/B,sEAAsE;QACtE,mDAAmD;QACnD,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,KAAK,CAAC,gBAAgB,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;QAC1B,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEnC,uEAAuE;QACvE,wEAAwE;QACxE,uCAAuC;QACvC,MAAM,WAAW,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAE,UAAgC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/F,IAAI,WAAW,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CACb,eAAe,MAAM,CAAC,IAAI,wCAAwC,WAAW,oKAAoK,CAClP,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,EAAE,GAA4B;QAClC,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,GAAG;KACJ,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,aAAa;QACb,QAAQ;QACR,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,SAAS;QACT,WAAW;QACX,gBAAgB;QAChB,KAAK;QACL,SAAS;QACT,OAAO;KACC,CAAC;IACX,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAChC,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,QAAQ;QACvB,QAAQ,EAAE,EAMG;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"agent-tool.js","sourceRoot":"","sources":["../../src/lib/agent-tool.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,14 @@ import type { DoomLoopOption } from './doom-loop.js';
4
4
  import type { HooksManager } from './hooks-manager.js';
5
5
  import type { InlineHookConfig } from './hooks-types.js';
6
6
  import type { Item } from './item-types.js';
7
+ import type { StreamReplay } from './reusable-stream.js';
7
8
  import type { ContextInput } from './tool-context.js';
8
9
  import type { ParsedToolCall, StateAccessor, StopWhen, Tool, ToolContextMapWithShared, TurnContext } from './tool-types.js';
9
10
  export type { Tool } from './tool-types.js';
11
+ /** Identifies objects produced by `@openrouter/agent/tool-set`. */
12
+ export declare const TOOL_SET_SNAPSHOT: unique symbol;
13
+ /** Remove tool-set metadata only from marked snapshots or their spreads. */
14
+ export declare function stripToolSetSnapshotMetadata(input: Record<PropertyKey, unknown>): void;
10
15
  /**
11
16
  * A field can be either a value of type T or a function that computes T
12
17
  */
@@ -19,12 +24,22 @@ type BaseCallModelInput<TTools extends readonly Tool[] = readonly Tool[], TShare
19
24
  } & {
20
25
  input: FieldOrAsyncFunction<Item[]> | string;
21
26
  tools?: TTools;
27
+ /**
28
+ * Optional filter restricting which tools are exposed to the model for this
29
+ * call. Tool names not in this list are removed before the request is sent
30
+ * and are also not callable by the model. Pairs with
31
+ * `@openrouter/agent/tool-set`'s `.inferTools()` output — spreading its
32
+ * `{ tools, activeTools }` (or a whole marked snapshot from `.inferTools()` /
33
+ * `.resolve()` / `.resolveSituation()`) into this object is safe: `callModel`
34
+ * strips metadata introduced by that snapshot before sending the request.
35
+ */
36
+ activeTools?: readonly string[];
22
37
  stopWhen?: StopWhen<TTools>;
23
38
  /** Typed context data passed to tools via contextSchema. Includes optional `shared` key. */
24
39
  context?: ContextInput<ToolContextMapWithShared<TTools, TShared>>;
25
40
  /**
26
41
  * Call-level approval check - overrides tool-level requireApproval setting
27
- * Receives the tool call and turn context, can be sync or async
42
+ * Receives normalized arguments when schema parsing succeeds and raw arguments otherwise
28
43
  */
29
44
  requireApproval?: (toolCall: ParsedToolCall<TTools[number]>, context: TurnContext) => boolean | Promise<boolean>;
30
45
  /**
@@ -37,6 +52,13 @@ type BaseCallModelInput<TTools extends readonly Tool[] = readonly Tool[], TShare
37
52
  * Receives the turn context and the completed response for that turn
38
53
  */
39
54
  onTurnEnd?: (context: TurnContext, response: OpenResponsesResult) => void | Promise<void>;
55
+ /**
56
+ * Controls replay history retained for stream getters.
57
+ * `full` preserves all events for delayed and sequential consumers.
58
+ * `active-consumers` compacts events after every attached consumer advances.
59
+ * @default 'full'
60
+ */
61
+ streamReplay?: StreamReplay;
40
62
  /**
41
63
  * When the loop exits because `stopWhen` was met and the last response
42
64
  * still contained tool calls, execute those pending tool calls (so they