@openrouter/agent 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/index.d.ts +7 -5
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +4 -2
- package/esm/index.js.map +1 -1
- package/esm/lib/conversation-state.d.ts +8 -1
- package/esm/lib/conversation-state.d.ts.map +1 -1
- package/esm/lib/conversation-state.js +60 -14
- package/esm/lib/conversation-state.js.map +1 -1
- package/esm/lib/model-result.d.ts +19 -1
- package/esm/lib/model-result.d.ts.map +1 -1
- package/esm/lib/model-result.js +205 -19
- 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/stream-transformers.d.ts +84 -5
- package/esm/lib/stream-transformers.d.ts.map +1 -1
- package/esm/lib/stream-transformers.js +8 -15
- package/esm/lib/stream-transformers.js.map +1 -1
- package/esm/lib/stream-type-guards.d.ts +29 -0
- package/esm/lib/stream-type-guards.d.ts.map +1 -1
- package/esm/lib/stream-type-guards.js +37 -0
- package/esm/lib/stream-type-guards.js.map +1 -1
- package/esm/lib/tool-executor.d.ts +10 -6
- package/esm/lib/tool-executor.d.ts.map +1 -1
- package/esm/lib/tool-executor.js +21 -12
- package/esm/lib/tool-executor.js.map +1 -1
- package/esm/lib/tool-types.d.ts +158 -4
- package/esm/lib/tool-types.d.ts.map +1 -1
- package/esm/lib/tool-types.js +34 -0
- package/esm/lib/tool-types.js.map +1 -1
- package/esm/lib/tool.d.ts +32 -1
- package/esm/lib/tool.d.ts.map +1 -1
- package/esm/lib/tool.js +35 -0
- package/esm/lib/tool.js.map +1 -1
- package/esm/openrouter.d.ts +10 -4
- package/esm/openrouter.d.ts.map +1 -1
- package/esm/openrouter.js +41 -2
- package/esm/openrouter.js.map +1 -1
- package/package.json +2 -2
package/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
export { SDKHooks } from '@openrouter/sdk/hooks/hooks';
|
|
2
|
+
export type { AfterErrorContext, AfterErrorHook, AfterSuccessContext, AfterSuccessHook, BeforeCreateRequestContext, BeforeCreateRequestHook, BeforeRequestContext, BeforeRequestHook, HookContext, SDKInitHook, } from '@openrouter/sdk/hooks/types';
|
|
1
3
|
export type { RequestOptions } from '@openrouter/sdk/lib/sdks';
|
|
2
|
-
export type { BaseInputsUnion, ChatAssistantMessage, ChatMessages, EasyInputMessage, EasyInputMessageContentInputImage, EasyInputMessageContentUnion1, EasyInputMessageRoleUnion, ErrorEvent, FunctionCallItem, FunctionCallOutputItem, InputAudio, InputFile, InputImage, InputMessageItem, InputsUnion, InputText, InputVideo, OpenAIResponsesToolChoiceUnion, OpenResponsesResult, OutputFileSearchCallItem, OutputFunctionCallItem, OutputImageGenerationCallItem, OutputInputImage, OutputMessage, OutputReasoningItem, OutputWebSearchCallItem, ResponseOutputText, ResponsesRequest, StreamEvents, Usage, } from '@openrouter/sdk/models';
|
|
4
|
+
export type { BaseInputsUnion, ChatAssistantMessage, ChatMessages, EasyInputMessage, EasyInputMessageContentInputImage, EasyInputMessageContentUnion1, EasyInputMessageRoleUnion, ErrorEvent, FunctionCallItem, FunctionCallOutputItem, InputAudio, InputFile, InputImage, InputMessageItem, InputsUnion, InputText, InputVideo, OpenAIResponsesToolChoiceUnion, OpenResponsesResult, OutputFileSearchCallItem, OutputFunctionCallItem, OutputImageGenerationCallItem, OutputInputImage, OutputItems, OutputMessage, OutputReasoningItem, OutputWebSearchCallItem, ResponseOutputText, ResponsesRequest, ResponsesRequestToolUnion, StreamEvents, Usage, } from '@openrouter/sdk/models';
|
|
3
5
|
export type { AssistantMessageItem, CallFileSearchItem, CallFunctionToolItem, CallImageGenerationItem, CallWebSearchItem, DeveloperMessageItem, ErrorItem, FunctionProgressItem, FunctionResultItem, Item, NewUserMessageItem, ReasoningItem, SystemMessageItem, UserMessageItem, } from './lib/item-types.js';
|
|
4
6
|
export { callModel } from './inner-loop/call-model.js';
|
|
5
7
|
export { fromClaudeMessages, toClaudeMessage } from './lib/anthropic-compat.js';
|
|
@@ -15,13 +17,13 @@ export { applyNextTurnParamsToRequest, buildNextTurnParamsContext, executeNextTu
|
|
|
15
17
|
export { finishReasonIs, hasToolCall, isStopConditionMet, maxCost, maxTokensUsed, stepCountIs, } from './lib/stop-conditions.js';
|
|
16
18
|
export type { StreamableOutputItem } from './lib/stream-transformers.js';
|
|
17
19
|
export { extractUnsupportedContent, getUnsupportedContentSummary, hasUnsupportedContent, } from './lib/stream-transformers.js';
|
|
18
|
-
export { tool } from './lib/tool.js';
|
|
20
|
+
export { serverTool, tool } from './lib/tool.js';
|
|
19
21
|
export type { ContextInput } from './lib/tool-context.js';
|
|
20
22
|
export { buildToolExecuteContext, ToolContextStore } from './lib/tool-context.js';
|
|
21
23
|
export { ToolEventBroadcaster } from './lib/tool-event-broadcaster.js';
|
|
22
|
-
export type { ChatStreamEvent, ConversationState, ConversationStatus, HasApprovalTools, InferToolEvent, InferToolEventsUnion, InferToolInput, InferToolOutput, InferToolOutputsUnion, ManualTool, NextTurnParamsContext, NextTurnParamsFunctions, ParsedToolCall, PartialResponse, ResponseStreamEvent, ResponseStreamEvent as EnhancedResponseStreamEvent, StateAccessor, StepResult, StopCondition, StopWhen, Tool, ToolApprovalCheck, ToolCallOutputEvent, ToolExecutionResult, ToolExecutionResultUnion, ToolHasApproval, ToolPreliminaryResultEvent, ToolResultEvent, ToolStreamEvent, ToolWithExecute, ToolWithGenerator, TurnContext, TurnEndEvent, TurnStartEvent, TypedToolCall, TypedToolCallUnion, UnsentToolResult, Warning, } from './lib/tool-types.js';
|
|
23
|
-
export { hasApprovalRequiredTools, hasExecuteFunction, isGeneratorTool, isRegularExecuteTool, isToolCallOutputEvent, isToolPreliminaryResultEvent, isToolResultEvent, isTurnEndEvent, isTurnStartEvent, ToolType, toolHasApprovalConfigured, } from './lib/tool-types.js';
|
|
24
|
+
export type { ChatStreamEvent, ClientTool, ConversationState, ConversationStatus, HasApprovalTools, InferToolEvent, InferToolEventsUnion, InferToolInput, InferToolOutput, InferToolOutputsUnion, ManualTool, NextTurnParamsContext, NextTurnParamsFunctions, ParsedToolCall, PartialResponse, ResponseStreamEvent, ResponseStreamEvent as EnhancedResponseStreamEvent, ServerTool, ServerToolConfig, ServerToolResultItem, ServerToolType, StateAccessor, StepResult, StopCondition, StopWhen, ToModelOutputFunction, ToModelOutputResult, Tool, ToolApprovalCheck, ToolCallOutputEvent, ToolExecutionResult, ToolExecutionResultUnion, ToolHasApproval, ToolOutputContentItem, ToolPreliminaryResultEvent, ToolResultEvent, ToolResultItem, ToolStreamEvent, ToolWithExecute, ToolWithGenerator, TurnContext, TurnEndEvent, TurnStartEvent, TypedToolCall, TypedToolCallUnion, UnsentToolResult, Warning, } from './lib/tool-types.js';
|
|
25
|
+
export { hasApprovalRequiredTools, hasExecuteFunction, isClientTool, isGeneratorTool, isRegularExecuteTool, isServerTool, isToolCallOutputEvent, isToolPreliminaryResultEvent, isToolResultEvent, isTurnEndEvent, isTurnStartEvent, ToolType, toolHasApprovalConfigured, } from './lib/tool-types.js';
|
|
24
26
|
export { buildTurnContext, normalizeInputToArray } from './lib/turn-context.js';
|
|
25
|
-
export type { SDKOptions } from './openrouter.js';
|
|
27
|
+
export type { Hook, OpenRouterOptions, SDKOptions } from './openrouter.js';
|
|
26
28
|
export { OpenRouter } from './openrouter.js';
|
|
27
29
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/esm/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// SDK type re-exports — every SDK type used in this package's public API
|
|
2
2
|
// so consumers don't need to depend on @openrouter/sdk directly.
|
|
3
|
+
// Hooks — interception points for requests and responses
|
|
4
|
+
export { SDKHooks } from '@openrouter/sdk/hooks/hooks';
|
|
3
5
|
// Message format compatibility helpers
|
|
4
6
|
// High-level model calling
|
|
5
7
|
export { callModel } from './inner-loop/call-model.js';
|
|
@@ -18,12 +20,12 @@ export { applyNextTurnParamsToRequest, buildNextTurnParamsContext, executeNextTu
|
|
|
18
20
|
export { finishReasonIs, hasToolCall, isStopConditionMet, maxCost, maxTokensUsed, stepCountIs, } from './lib/stop-conditions.js';
|
|
19
21
|
export { extractUnsupportedContent, getUnsupportedContentSummary, hasUnsupportedContent, } from './lib/stream-transformers.js';
|
|
20
22
|
// Tool creation helpers
|
|
21
|
-
export { tool } from './lib/tool.js';
|
|
23
|
+
export { serverTool, tool } from './lib/tool.js';
|
|
22
24
|
// Tool context helpers
|
|
23
25
|
export { buildToolExecuteContext, ToolContextStore } from './lib/tool-context.js';
|
|
24
26
|
// Real-time tool event broadcasting
|
|
25
27
|
export { ToolEventBroadcaster } from './lib/tool-event-broadcaster.js';
|
|
26
|
-
export { hasApprovalRequiredTools, hasExecuteFunction, isGeneratorTool, isRegularExecuteTool, isToolCallOutputEvent, isToolPreliminaryResultEvent, isToolResultEvent, isTurnEndEvent, isTurnStartEvent, ToolType, toolHasApprovalConfigured, } from './lib/tool-types.js';
|
|
28
|
+
export { hasApprovalRequiredTools, hasExecuteFunction, isClientTool, isGeneratorTool, isRegularExecuteTool, isServerTool, isToolCallOutputEvent, isToolPreliminaryResultEvent, isToolResultEvent, isTurnEndEvent, isTurnStartEvent, ToolType, toolHasApprovalConfigured, } from './lib/tool-types.js';
|
|
27
29
|
// Turn context helpers
|
|
28
30
|
export { buildTurnContext, normalizeInputToArray } from './lib/turn-context.js';
|
|
29
31
|
export { OpenRouter } from './openrouter.js';
|
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;
|
|
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;AA0EvD,uCAAuC;AAEvC,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAMhF,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACjF,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,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,GACZ,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,2BAA2B;AAC3B,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,2BAA2B,CAAC;AACnC,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;AACtC,wBAAwB;AACxB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEjD,uBAAuB;AACvB,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAClF,oCAAoC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAkDvE,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,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"}
|
|
@@ -47,7 +47,14 @@ export declare function createUnsentResult<TTools extends readonly Tool[] = read
|
|
|
47
47
|
*/
|
|
48
48
|
export declare function createRejectedResult<TTools extends readonly Tool[] = readonly Tool[]>(callId: string, name: string, reason?: string): UnsentToolResult<TTools>;
|
|
49
49
|
/**
|
|
50
|
-
* Convert unsent tool results to API format for sending to the model
|
|
50
|
+
* Convert unsent tool results to API format for sending to the model.
|
|
51
|
+
*
|
|
52
|
+
* Supports two output formats:
|
|
53
|
+
* 1. Content arrays (input_text, input_image, input_file blocks) - passed through directly
|
|
54
|
+
* 2. All other values - JSON stringified
|
|
55
|
+
*
|
|
56
|
+
* Content arrays are useful for tools that produce rich outputs like images,
|
|
57
|
+
* avoiding the need to serialize large binary data as JSON strings.
|
|
51
58
|
*/
|
|
52
59
|
export declare function unsentResultsToAPIFormat(results: UnsentToolResult[]): models.FunctionCallOutputItem[];
|
|
53
60
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-state.d.ts","sourceRoot":"","sources":["../../src/lib/conversation-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,IAAI,EACJ,WAAW,EACX,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation-state.d.ts","sourceRoot":"","sources":["../../src/lib/conversation-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isClientTool } from './tool-types.js';
|
|
1
2
|
import { normalizeInputToArray } from './turn-context.js';
|
|
2
3
|
/**
|
|
3
4
|
* Type guard to verify an object is a valid UnsentToolResult
|
|
@@ -83,19 +84,30 @@ export async function toolRequiresApproval(toolCall, tools, context, callLevelCh
|
|
|
83
84
|
if (callLevelCheck) {
|
|
84
85
|
return callLevelCheck(toolCall, context);
|
|
85
86
|
}
|
|
86
|
-
// Fall back to tool-level setting
|
|
87
|
-
const tool = tools.find((t) => t.function.name === toolCall.name);
|
|
87
|
+
// Fall back to tool-level setting (server tools never require approval)
|
|
88
|
+
const tool = tools.find((t) => isClientTool(t) && t.function.name === toolCall.name);
|
|
88
89
|
if (!tool) {
|
|
89
90
|
return false;
|
|
90
91
|
}
|
|
91
92
|
const requireApproval = tool.function.requireApproval;
|
|
92
|
-
// If it's a function, call it with the tool's arguments and context
|
|
93
|
+
// If it's a function, call it with the tool's arguments and context.
|
|
94
|
+
// Arguments have already been parsed and validated against the tool's
|
|
95
|
+
// Zod inputSchema (a ZodObject), so the runtime shape is always a
|
|
96
|
+
// record here. A non-record value signals a real upstream bug — surface
|
|
97
|
+
// it rather than substituting an empty object.
|
|
93
98
|
if (typeof requireApproval === 'function') {
|
|
94
|
-
|
|
99
|
+
const rawArgs = toolCall.arguments;
|
|
100
|
+
if (!isRecord(rawArgs)) {
|
|
101
|
+
throw new Error(`toolCall.arguments for "${toolCall.name}" must be an object after Zod validation, got ${rawArgs === null ? 'null' : Array.isArray(rawArgs) ? 'array' : typeof rawArgs}`);
|
|
102
|
+
}
|
|
103
|
+
return requireApproval(rawArgs, context);
|
|
95
104
|
}
|
|
96
105
|
// Otherwise treat as boolean
|
|
97
106
|
return requireApproval ?? false;
|
|
98
107
|
}
|
|
108
|
+
function isRecord(value) {
|
|
109
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
110
|
+
}
|
|
99
111
|
/**
|
|
100
112
|
* Partition tool calls into those requiring approval and those that can auto-execute
|
|
101
113
|
* @param toolCalls - Tool calls to partition
|
|
@@ -149,19 +161,53 @@ export function createRejectedResult(callId, name, reason) {
|
|
|
149
161
|
return result;
|
|
150
162
|
}
|
|
151
163
|
/**
|
|
152
|
-
*
|
|
164
|
+
* Check if a value is a valid content array (array of input_text, input_image, or input_file blocks).
|
|
165
|
+
* These can be passed directly as tool output without JSON.stringify.
|
|
166
|
+
*/
|
|
167
|
+
function isContentArray(value) {
|
|
168
|
+
if (!Array.isArray(value)) {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
if (value.length === 0) {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
return value.every((item) => typeof item === 'object' &&
|
|
175
|
+
item !== null &&
|
|
176
|
+
'type' in item &&
|
|
177
|
+
(item.type === 'input_text' || item.type === 'input_image' || item.type === 'input_file'));
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Convert unsent tool results to API format for sending to the model.
|
|
181
|
+
*
|
|
182
|
+
* Supports two output formats:
|
|
183
|
+
* 1. Content arrays (input_text, input_image, input_file blocks) - passed through directly
|
|
184
|
+
* 2. All other values - JSON stringified
|
|
185
|
+
*
|
|
186
|
+
* Content arrays are useful for tools that produce rich outputs like images,
|
|
187
|
+
* avoiding the need to serialize large binary data as JSON strings.
|
|
153
188
|
*/
|
|
154
189
|
export function unsentResultsToAPIFormat(results) {
|
|
155
|
-
return results.map((r) =>
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
output: r.error
|
|
160
|
-
? JSON.stringify({
|
|
190
|
+
return results.map((r) => {
|
|
191
|
+
let output;
|
|
192
|
+
if (r.error) {
|
|
193
|
+
output = JSON.stringify({
|
|
161
194
|
error: r.error,
|
|
162
|
-
})
|
|
163
|
-
|
|
164
|
-
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
else if (isContentArray(r.output)) {
|
|
198
|
+
// Pass through content arrays directly (images, text blocks, files)
|
|
199
|
+
output = r.output;
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
output = JSON.stringify(r.output);
|
|
203
|
+
}
|
|
204
|
+
return {
|
|
205
|
+
type: 'function_call_output',
|
|
206
|
+
id: `output_${r.callId}`,
|
|
207
|
+
callId: r.callId,
|
|
208
|
+
output,
|
|
209
|
+
};
|
|
210
|
+
});
|
|
165
211
|
}
|
|
166
212
|
/**
|
|
167
213
|
* Extract text content from a response
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-state.js","sourceRoot":"","sources":["../../src/lib/conversation-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conversation-state.js","sourceRoot":"","sources":["../../src/lib/conversation-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -295,7 +295,25 @@ export declare class ModelResult<TTools extends readonly Tool[], TShared extends
|
|
|
295
295
|
* - image_generation_call: Image generation operations
|
|
296
296
|
* - function_call_output: Results from executed tools
|
|
297
297
|
*/
|
|
298
|
-
getItemsStream(): AsyncIterableIterator<StreamableOutputItem
|
|
298
|
+
getItemsStream(): AsyncIterableIterator<StreamableOutputItem<TTools>>;
|
|
299
|
+
/**
|
|
300
|
+
* Compute the runtime allow-list of item types that `getItemsStream()`
|
|
301
|
+
* may yield, derived from the tools actually passed to callModel. The
|
|
302
|
+
* three return modes correspond to the compile-time narrowing:
|
|
303
|
+
*
|
|
304
|
+
* - `acceptAll: true` — no tools or fully-unconstrained TTools; the
|
|
305
|
+
* yielded union is the widest `StreamableOutputItem`.
|
|
306
|
+
* - Specific `allowed` set — client tools contribute
|
|
307
|
+
* `function_call` / `function_call_output`; mapped server tools
|
|
308
|
+
* contribute their SDK output item type literal
|
|
309
|
+
* (`web_search_call`, `file_search_call`, `image_generation_call`).
|
|
310
|
+
* - `acceptGenericServerItem: true` — at least one server tool has a
|
|
311
|
+
* type the agent SDK does not have a dedicated output mapping for
|
|
312
|
+
* (e.g. `openrouter:datetime`, `mcp`, new SDK additions). Any
|
|
313
|
+
* non-client item type is accepted because these items pass through
|
|
314
|
+
* as `OutputServerToolItem`, whose `type` field is an open `string`.
|
|
315
|
+
*/
|
|
316
|
+
private computeItemStreamScope;
|
|
299
317
|
/**
|
|
300
318
|
* @deprecated Use `getItemsStream()` instead. This method only streams messages,
|
|
301
319
|
* while `getItemsStream()` streams all output item types (messages, function_calls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-result.d.ts","sourceRoot":"","sources":["../../src/lib/model-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAA0B,MAAM,mBAAmB,CAAC;AAkBhF,OAAO,KAAK,EAAkB,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"model-result.d.ts","sourceRoot":"","sources":["../../src/lib/model-result.ts"],"names":[],"mappings":"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"}
|