@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.
- package/README.md +267 -2
- package/THIRD_PARTY_NOTICES.md +25 -0
- package/esm/index.d.ts +4 -3
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/inner-loop/call-model.d.ts.map +1 -1
- package/esm/inner-loop/call-model.js +26 -7
- package/esm/inner-loop/call-model.js.map +1 -1
- package/esm/lib/agent-tool.d.ts +1 -1
- package/esm/lib/agent-tool.d.ts.map +1 -1
- package/esm/lib/agent-tool.js.map +1 -1
- package/esm/lib/async-params.d.ts +23 -1
- package/esm/lib/async-params.d.ts.map +1 -1
- package/esm/lib/async-params.js +26 -1
- package/esm/lib/async-params.js.map +1 -1
- package/esm/lib/conversation-state.d.ts +1 -1
- package/esm/lib/conversation-state.d.ts.map +1 -1
- package/esm/lib/conversation-state.js +48 -13
- package/esm/lib/conversation-state.js.map +1 -1
- package/esm/lib/hooks-schemas.d.ts +3 -7
- package/esm/lib/hooks-schemas.d.ts.map +1 -1
- package/esm/lib/hooks-schemas.js.map +1 -1
- package/esm/lib/model-result.d.ts +32 -4
- package/esm/lib/model-result.d.ts.map +1 -1
- package/esm/lib/model-result.js +444 -128
- package/esm/lib/model-result.js.map +1 -1
- package/esm/lib/next-turn-params.d.ts.map +1 -1
- package/esm/lib/next-turn-params.js +3 -1
- package/esm/lib/next-turn-params.js.map +1 -1
- package/esm/lib/next-turn-params.test.js +72 -0
- package/esm/lib/next-turn-params.test.js.map +1 -1
- package/esm/lib/reusable-stream.d.ts +30 -3
- package/esm/lib/reusable-stream.d.ts.map +1 -1
- package/esm/lib/reusable-stream.js +127 -32
- package/esm/lib/reusable-stream.js.map +1 -1
- package/esm/lib/stream-transformers.d.ts +1 -1
- package/esm/lib/stream-transformers.d.ts.map +1 -1
- package/esm/lib/stream-transformers.js.map +1 -1
- package/esm/lib/tool-event-broadcaster.d.ts +18 -5
- package/esm/lib/tool-event-broadcaster.d.ts.map +1 -1
- package/esm/lib/tool-event-broadcaster.js +90 -19
- package/esm/lib/tool-event-broadcaster.js.map +1 -1
- package/esm/lib/tool-set-types.d.ts +298 -0
- package/esm/lib/tool-set-types.d.ts.map +1 -0
- package/esm/lib/tool-set-types.js +2 -0
- package/esm/lib/tool-set-types.js.map +1 -0
- package/esm/lib/tool-set.d.ts +157 -0
- package/esm/lib/tool-set.d.ts.map +1 -0
- package/esm/lib/tool-set.js +473 -0
- package/esm/lib/tool-set.js.map +1 -0
- package/esm/lib/tool-types.d.ts +203 -29
- package/esm/lib/tool-types.d.ts.map +1 -1
- package/esm/lib/tool-types.js.map +1 -1
- package/esm/lib/tool.d.ts +47 -21
- package/esm/lib/tool.d.ts.map +1 -1
- package/esm/lib/tool.js +13 -3
- package/esm/lib/tool.js.map +1 -1
- package/esm/lib/turn-context.d.ts +1 -1
- package/esm/lib/turn-context.d.ts.map +1 -1
- package/esm/lib/turn-context.js +1 -2
- package/esm/lib/turn-context.js.map +1 -1
- package/esm/mcp/auth/auth-resolver.d.ts +14 -0
- package/esm/mcp/auth/auth-resolver.d.ts.map +1 -0
- package/esm/mcp/auth/auth-resolver.js +27 -0
- package/esm/mcp/auth/auth-resolver.js.map +1 -0
- package/esm/mcp/auth/auth-types.d.ts +33 -0
- package/esm/mcp/auth/auth-types.d.ts.map +1 -0
- package/esm/mcp/auth/auth-types.js +4 -0
- package/esm/mcp/auth/auth-types.js.map +1 -0
- package/esm/mcp/build-tools.d.ts +29 -0
- package/esm/mcp/build-tools.d.ts.map +1 -0
- package/esm/mcp/build-tools.js +80 -0
- package/esm/mcp/build-tools.js.map +1 -0
- package/esm/mcp/cache/cache-store.d.ts +24 -0
- package/esm/mcp/cache/cache-store.d.ts.map +1 -0
- package/esm/mcp/cache/cache-store.js +20 -0
- package/esm/mcp/cache/cache-store.js.map +1 -0
- package/esm/mcp/cache/cache-types.d.ts +71 -0
- package/esm/mcp/cache/cache-types.d.ts.map +1 -0
- package/esm/mcp/cache/cache-types.js +49 -0
- package/esm/mcp/cache/cache-types.js.map +1 -0
- package/esm/mcp/cache/serialize.d.ts +25 -0
- package/esm/mcp/cache/serialize.d.ts.map +1 -0
- package/esm/mcp/cache/serialize.js +96 -0
- package/esm/mcp/cache/serialize.js.map +1 -0
- package/esm/mcp/close-quietly.d.ts +24 -0
- package/esm/mcp/close-quietly.d.ts.map +1 -0
- package/esm/mcp/close-quietly.js +30 -0
- package/esm/mcp/close-quietly.js.map +1 -0
- package/esm/mcp/create-mcp-tools.d.ts +13 -0
- package/esm/mcp/create-mcp-tools.d.ts.map +1 -0
- package/esm/mcp/create-mcp-tools.js +87 -0
- package/esm/mcp/create-mcp-tools.js.map +1 -0
- package/esm/mcp/elicitation.d.ts +11 -0
- package/esm/mcp/elicitation.d.ts.map +1 -0
- package/esm/mcp/elicitation.js +51 -0
- package/esm/mcp/elicitation.js.map +1 -0
- package/esm/mcp/errors.d.ts +91 -0
- package/esm/mcp/errors.d.ts.map +1 -0
- package/esm/mcp/errors.js +91 -0
- package/esm/mcp/errors.js.map +1 -0
- package/esm/mcp/handle.d.ts +66 -0
- package/esm/mcp/handle.d.ts.map +1 -0
- package/esm/mcp/handle.js +323 -0
- package/esm/mcp/handle.js.map +1 -0
- package/esm/mcp/index.d.ts +13 -0
- package/esm/mcp/index.d.ts.map +1 -0
- package/esm/mcp/index.js +11 -0
- package/esm/mcp/index.js.map +1 -0
- package/esm/mcp/mcp-connection.d.ts +150 -0
- package/esm/mcp/mcp-connection.d.ts.map +1 -0
- package/esm/mcp/mcp-connection.js +478 -0
- package/esm/mcp/mcp-connection.js.map +1 -0
- package/esm/mcp/mcp-sdk.d.ts +10 -0
- package/esm/mcp/mcp-sdk.d.ts.map +1 -0
- package/esm/mcp/mcp-sdk.js +37 -0
- package/esm/mcp/mcp-sdk.js.map +1 -0
- package/esm/mcp/rehydrate.d.ts +76 -0
- package/esm/mcp/rehydrate.d.ts.map +1 -0
- package/esm/mcp/rehydrate.js +505 -0
- package/esm/mcp/rehydrate.js.map +1 -0
- package/esm/mcp/resource-tools.d.ts +17 -0
- package/esm/mcp/resource-tools.d.ts.map +1 -0
- package/esm/mcp/resource-tools.js +155 -0
- package/esm/mcp/resource-tools.js.map +1 -0
- package/esm/mcp/result-mapper.d.ts +19 -0
- package/esm/mcp/result-mapper.d.ts.map +1 -0
- package/esm/mcp/result-mapper.js +40 -0
- package/esm/mcp/result-mapper.js.map +1 -0
- package/esm/mcp/schema/json-schema-guards.d.ts +14 -0
- package/esm/mcp/schema/json-schema-guards.d.ts.map +1 -0
- package/esm/mcp/schema/json-schema-guards.js +19 -0
- package/esm/mcp/schema/json-schema-guards.js.map +1 -0
- package/esm/mcp/schema/json-schema-to-zod.d.ts +20 -0
- package/esm/mcp/schema/json-schema-to-zod.d.ts.map +1 -0
- package/esm/mcp/schema/json-schema-to-zod.js +72 -0
- package/esm/mcp/schema/json-schema-to-zod.js.map +1 -0
- package/esm/mcp/tool-wrapper.d.ts +41 -0
- package/esm/mcp/tool-wrapper.d.ts.map +1 -0
- package/esm/mcp/tool-wrapper.js +131 -0
- package/esm/mcp/tool-wrapper.js.map +1 -0
- package/esm/mcp/transport-types.d.ts +45 -0
- package/esm/mcp/transport-types.d.ts.map +1 -0
- package/esm/mcp/transport-types.js +2 -0
- package/esm/mcp/transport-types.js.map +1 -0
- package/esm/mcp/types.d.ts +119 -0
- package/esm/mcp/types.d.ts.map +1 -0
- package/esm/mcp/types.js +2 -0
- package/esm/mcp/types.js.map +1 -0
- package/esm/mcp/version.d.ts +3 -0
- package/esm/mcp/version.d.ts.map +1 -0
- package/esm/mcp/version.js +5 -0
- package/esm/mcp/version.js.map +1 -0
- 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: [
|
|
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';
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,YAAY,EAEV,eAAe,EAEf,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,iCAAiC,EACjC,6BAA6B,EAC7B,yBAAyB,EAEzB,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EAEtB,UAAU,EACV,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,UAAU,EACV,8BAA8B,EAC9B,mBAAmB,EAEnB,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,WAAW,IAAI,gBAAgB,EAC/B,6BAA6B,EAC7B,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EAEvB,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,YAAY,EACZ,KAAK,GACN,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,IAAI,EACJ,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAE7C,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAChF,YAAY,EACV,cAAc,EACd,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,
|
|
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":"AAAA,yEAAyE;AACzE,iEAAiE;AAEjE,yDAAyD;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AA2EvD,uCAAuC;AAEvC,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAOvD,OAAO,EACL,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAMhF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,iEAAiE;AAEjE,yDAAyD;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AA2EvD,uCAAuC;AAEvC,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAOvD,OAAO,EACL,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAMhF,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACvE,mCAAmC;AACnC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,6BAA6B;AAC7B,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,4BAA4B,EAC5B,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,4BAA4B,EAC5B,WAAW,GACZ,MAAM,6BAA6B,CAAC;AAmBrC,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,6EAA6E;AAC7E,qEAAqE;AACrE,uEAAuE;AACvE,6EAA6E;AAC7E,4EAA4E;AAC5E,8BAA8B;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAgCtD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,gCAAgC,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACtF,2BAA2B;AAC3B,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,2BAA2B,CAAC;AAEnC,yBAAyB;AACzB,OAAO,EACL,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AAMtC,4EAA4E;AAC5E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAElE,uBAAuB;AACvB,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAClF,oCAAoC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AASvE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AA8EvE,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,uBAAuB;AACvB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -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;
|
|
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 =
|
|
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 &&
|
|
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
|
-
//
|
|
89
|
-
//
|
|
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;
|
|
1
|
+
{"version":3,"file":"call-model.js","sourceRoot":"","sources":["../../src/inner-loop/call-model.ts"],"names":[],"mappings":"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"}
|
package/esm/lib/agent-tool.d.ts
CHANGED
|
@@ -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":"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,CAAC,
|
|
1
|
+
{"version":3,"file":"agent-tool.d.ts","sourceRoot":"","sources":["../../src/lib/agent-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-tool.js","sourceRoot":"","sources":["../../src/lib/agent-tool.ts"],"names":[],"mappings":"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
|
|
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,EAOG;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -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
|
|
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
|