@ai-sdk/provider-utils 5.0.16 → 5.0.18
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/CHANGELOG.md +13 -0
- package/dist/index.d.ts +18 -4
- package/dist/index.js +36 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/create-language-model-response-metadata.ts +21 -0
- package/src/create-null-language-model-usage.ts +21 -0
- package/src/index.ts +2 -0
- package/src/types/tool-caller.ts +3 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @ai-sdk/provider-utils
|
|
2
2
|
|
|
3
|
+
## 5.0.18
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 5fc7da5: chore: centralize empty language model usage creation in provider utilities.
|
|
8
|
+
- 93b2acd: chore: centralize response metadata conversion
|
|
9
|
+
|
|
10
|
+
## 5.0.17
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- fa95504: feat(ai): support experimental tool callers in ToolLoopAgent
|
|
15
|
+
|
|
3
16
|
## 5.0.16
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SharedV4FileDataUrl, SharedV4FileDataReference, SharedV4FileDataText, SharedV4ProviderOptions, SharedV4ProviderReference, JSONValue, ImageModelV4File, LanguageModelV4FunctionTool, LanguageModelV4ProviderTool, AISDKError, JSONSchema7, JSONParseError, TypeValidationError, APICallError, LanguageModelV4Prompt, LanguageModelV4CallOptions, SharedV4Warning, JSONObject, LanguageModelV4FilePart, LanguageModelV4StreamPart, SharedV4ProviderMetadata, Experimental_TranscriptionModelV4StreamPart, TypeValidationContext } from '@ai-sdk/provider';
|
|
1
|
+
import { SharedV4FileDataUrl, SharedV4FileDataReference, SharedV4FileDataText, SharedV4ProviderOptions, SharedV4ProviderReference, JSONValue, ImageModelV4File, LanguageModelV4ResponseMetadata, LanguageModelV4Usage, LanguageModelV4FunctionTool, LanguageModelV4ProviderTool, AISDKError, JSONSchema7, JSONParseError, TypeValidationError, APICallError, LanguageModelV4Prompt, LanguageModelV4CallOptions, SharedV4Warning, JSONObject, LanguageModelV4FilePart, LanguageModelV4StreamPart, SharedV4ProviderMetadata, Experimental_TranscriptionModelV4StreamPart, TypeValidationContext } from '@ai-sdk/provider';
|
|
2
2
|
export { getErrorMessage } from '@ai-sdk/provider';
|
|
3
3
|
import { StandardSchemaV1, StandardJSONSchemaV1 } from '@standard-schema/spec';
|
|
4
4
|
export * from '@standard-schema/spec';
|
|
@@ -679,6 +679,21 @@ declare function convertToFormData<T extends Record<string, unknown>>(input: T,
|
|
|
679
679
|
useArrayBrackets?: boolean;
|
|
680
680
|
}): FormData;
|
|
681
681
|
|
|
682
|
+
/**
|
|
683
|
+
* Converts common provider response fields into language model response
|
|
684
|
+
* metadata.
|
|
685
|
+
*/
|
|
686
|
+
declare function createLanguageModelResponseMetadata({ id, model, created, }: {
|
|
687
|
+
id?: string | null;
|
|
688
|
+
model?: string | null;
|
|
689
|
+
created?: number | null;
|
|
690
|
+
}): LanguageModelV4ResponseMetadata;
|
|
691
|
+
|
|
692
|
+
/**
|
|
693
|
+
* Creates an empty language model usage result for unavailable usage data.
|
|
694
|
+
*/
|
|
695
|
+
declare function createNullLanguageModelUsage(): LanguageModelV4Usage;
|
|
696
|
+
|
|
682
697
|
/**
|
|
683
698
|
* Interface for mapping between custom tool names and provider tool names.
|
|
684
699
|
*/
|
|
@@ -2609,7 +2624,6 @@ interface ToolCall<NAME extends string, INPUT> {
|
|
|
2609
2624
|
dynamic?: boolean;
|
|
2610
2625
|
}
|
|
2611
2626
|
|
|
2612
|
-
declare const toolCallerSymbol: unique symbol;
|
|
2613
2627
|
type ToolCallerDefinition = {
|
|
2614
2628
|
type: 'local';
|
|
2615
2629
|
bind: (tools: ToolSet) => Tool;
|
|
@@ -2618,7 +2632,7 @@ type ToolCallerDefinition = {
|
|
|
2618
2632
|
prepareProviderOptions: (providerOptions: ProviderOptions | undefined) => ProviderOptions;
|
|
2619
2633
|
};
|
|
2620
2634
|
type ToolCallerTool<TOOL extends Tool = Tool> = TOOL & {
|
|
2621
|
-
readonly
|
|
2635
|
+
readonly experimental_toolCaller: ToolCallerDefinition;
|
|
2622
2636
|
};
|
|
2623
2637
|
declare function toolCaller<TOOL extends Tool>(tool: TOOL, definition: ToolCallerDefinition): ToolCallerTool<TOOL>;
|
|
2624
2638
|
declare function getToolCaller(tool: Tool | undefined): ToolCallerDefinition | undefined;
|
|
@@ -2654,4 +2668,4 @@ interface ToolResult<NAME extends string, INPUT, OUTPUT> {
|
|
|
2654
2668
|
dynamic?: boolean;
|
|
2655
2669
|
}
|
|
2656
2670
|
|
|
2657
|
-
export { type Arrayable, type AssistantContent, type AssistantModelMessage, type Context, type CustomPart, DEFAULT_MAX_DOWNLOAD_SIZE, type DataContent, DelayedPromise, DownloadError, type DynamicTool, TRANSCRIPTION_STREAM_AUDIO_DONE_FRAME_TYPE as EXPERIMENTAL_TRANSCRIPTION_STREAM_AUDIO_DONE_FRAME_TYPE, TRANSCRIPTION_STREAM_START_FRAME_TYPE as EXPERIMENTAL_TRANSCRIPTION_STREAM_START_FRAME_TYPE, type ExecutableTool, type SandboxProcess as Experimental_SandboxProcess, type SandboxSession as Experimental_SandboxSession, type ToolCallerDefinition as Experimental_ToolCallerDefinition, type ToolCallerTool as Experimental_ToolCallerTool, type TranscriptionStreamClientFrame as Experimental_TranscriptionStreamClientFrame, type TranscriptionStreamStartFrame as Experimental_TranscriptionStreamStartFrame, type FetchFunction, type FileData, type FileDataData, type FileDataReference, type FileDataText, type FileDataUrl, type FilePart, type FlexibleSchema, type FunctionTool, type HasRequiredKey, type IdGenerator, type ImagePart, type InferSchema, type InferToolContext, type InferToolInput, type InferToolOutput, type InferToolSetContext, type LazySchema, type MaybePromiseLike, type ModelMessage, type ParseResult, type ProviderDefinedTool, type ProviderDefinedToolFactory, type ProviderDefinedToolFactoryWithOutputSchema, type ProviderExecutedTool, type ProviderExecutedToolFactory, type ProviderOptions, type ProviderReference, type ReasoningFilePart, type ReasoningPart, type Resolvable, type ResponseHandler, type RetryDelayProvider, type RetryErrorFactory, type RetryErrorReason, type RetryFunction, type Schema, SerializationError, type ShouldRetryFunction, type StreamingToolCallDelta, StreamingToolCallTracker, type StreamingToolCallTrackerOptions, type SystemModelMessage, type TextPart, type Tool, type ToolApprovalRequest, type ToolApprovalResponse, type ToolCall, type ToolCallPart, type ToolContent, type ToolExecuteFunction, type ToolExecutionOptions, type ToolModelMessage, type ToolNameMapping, type ToolNeedsApprovalFunction, type ToolResult, type ToolResultOutput, type ToolResultPart, type ToolSet, type UserContent, type UserModelMessage, VERSION, type ValidationResult, type WebSocketConnection, type WebSocketConstructor, type WebSocketLike, asArray, asSchema, cancelResponseBody, combineHeaders, connectToWebSocket, convertAsyncIteratorToReadableStream, convertBase64ToUint8Array, convertImageModelFileToDataUri, convertInlineFileDataToUint8Array, convertToBase64, convertToFormData, convertUint8ArrayToBase64, createBinaryResponseHandler, createEventSourceResponseHandler, createIdGenerator, createJsonErrorResponseHandler, createJsonResponseHandler, createProviderDefinedToolFactory, createProviderDefinedToolFactoryWithOutputSchema, createProviderExecutedToolFactory, createStatusCodeErrorResponseHandler, createToolNameMapping, delay, detectMediaType, downloadBlob, dynamicTool, executeTool, getToolCaller as experimental_getToolCaller, parseTranscriptionStreamClientFrame as experimental_parseTranscriptionStreamClientFrame, parseTranscriptionStreamPart as experimental_parseTranscriptionStreamPart, serializeTranscriptionStreamPart as experimental_serializeTranscriptionStreamPart, toolCaller as experimental_toolCaller, extractLines, extractResponseHeaders, fetchWithValidatedRedirects, filterNullable, generateId, getFromApi, getRuntimeEnvironmentUserAgent, getTopLevelMediaType, getWebSocketConstructor, injectJsonInstructionIntoMessages, isAbortError, isBrowserRuntime, isBuffer, isCustomReasoning, isExecutableTool, isFullMediaType, isNonNullable, isParsableJson, isProviderReference, isRecord, isSameOrigin, isUrlSupported, jsonSchema, lazySchema, loadApiKey, loadOptionalSetting, loadSetting, mapReasoningToProviderBudget, mapReasoningToProviderEffort, mediaTypeToExtension, normalizeHeaders, parseJSON, parseJsonEventStream, parseProviderOptions, postFormDataToApi, postJsonToApi, postToApi, readResponseWithSizeLimit, readWebSocketMessageText, removeUndefinedEntries, resolve, resolveFullMediaType, resolveProviderReference, retryWithExponentialBackoff, safeParseJSON, safeValidateTypes, secureJsonParse, serializeModelOptions, stripFileExtension, toWebSocketUrl, tool, validateBaseURL, validateDownloadUrl, validateTypes, waitForWebSocketBufferDrain, withUserAgentSuffix, withoutTrailingSlash, zodSchema };
|
|
2671
|
+
export { type Arrayable, type AssistantContent, type AssistantModelMessage, type Context, type CustomPart, DEFAULT_MAX_DOWNLOAD_SIZE, type DataContent, DelayedPromise, DownloadError, type DynamicTool, TRANSCRIPTION_STREAM_AUDIO_DONE_FRAME_TYPE as EXPERIMENTAL_TRANSCRIPTION_STREAM_AUDIO_DONE_FRAME_TYPE, TRANSCRIPTION_STREAM_START_FRAME_TYPE as EXPERIMENTAL_TRANSCRIPTION_STREAM_START_FRAME_TYPE, type ExecutableTool, type SandboxProcess as Experimental_SandboxProcess, type SandboxSession as Experimental_SandboxSession, type ToolCallerDefinition as Experimental_ToolCallerDefinition, type ToolCallerTool as Experimental_ToolCallerTool, type TranscriptionStreamClientFrame as Experimental_TranscriptionStreamClientFrame, type TranscriptionStreamStartFrame as Experimental_TranscriptionStreamStartFrame, type FetchFunction, type FileData, type FileDataData, type FileDataReference, type FileDataText, type FileDataUrl, type FilePart, type FlexibleSchema, type FunctionTool, type HasRequiredKey, type IdGenerator, type ImagePart, type InferSchema, type InferToolContext, type InferToolInput, type InferToolOutput, type InferToolSetContext, type LazySchema, type MaybePromiseLike, type ModelMessage, type ParseResult, type ProviderDefinedTool, type ProviderDefinedToolFactory, type ProviderDefinedToolFactoryWithOutputSchema, type ProviderExecutedTool, type ProviderExecutedToolFactory, type ProviderOptions, type ProviderReference, type ReasoningFilePart, type ReasoningPart, type Resolvable, type ResponseHandler, type RetryDelayProvider, type RetryErrorFactory, type RetryErrorReason, type RetryFunction, type Schema, SerializationError, type ShouldRetryFunction, type StreamingToolCallDelta, StreamingToolCallTracker, type StreamingToolCallTrackerOptions, type SystemModelMessage, type TextPart, type Tool, type ToolApprovalRequest, type ToolApprovalResponse, type ToolCall, type ToolCallPart, type ToolContent, type ToolExecuteFunction, type ToolExecutionOptions, type ToolModelMessage, type ToolNameMapping, type ToolNeedsApprovalFunction, type ToolResult, type ToolResultOutput, type ToolResultPart, type ToolSet, type UserContent, type UserModelMessage, VERSION, type ValidationResult, type WebSocketConnection, type WebSocketConstructor, type WebSocketLike, asArray, asSchema, cancelResponseBody, combineHeaders, connectToWebSocket, convertAsyncIteratorToReadableStream, convertBase64ToUint8Array, convertImageModelFileToDataUri, convertInlineFileDataToUint8Array, convertToBase64, convertToFormData, convertUint8ArrayToBase64, createBinaryResponseHandler, createEventSourceResponseHandler, createIdGenerator, createJsonErrorResponseHandler, createJsonResponseHandler, createLanguageModelResponseMetadata, createNullLanguageModelUsage, createProviderDefinedToolFactory, createProviderDefinedToolFactoryWithOutputSchema, createProviderExecutedToolFactory, createStatusCodeErrorResponseHandler, createToolNameMapping, delay, detectMediaType, downloadBlob, dynamicTool, executeTool, getToolCaller as experimental_getToolCaller, parseTranscriptionStreamClientFrame as experimental_parseTranscriptionStreamClientFrame, parseTranscriptionStreamPart as experimental_parseTranscriptionStreamPart, serializeTranscriptionStreamPart as experimental_serializeTranscriptionStreamPart, toolCaller as experimental_toolCaller, extractLines, extractResponseHeaders, fetchWithValidatedRedirects, filterNullable, generateId, getFromApi, getRuntimeEnvironmentUserAgent, getTopLevelMediaType, getWebSocketConstructor, injectJsonInstructionIntoMessages, isAbortError, isBrowserRuntime, isBuffer, isCustomReasoning, isExecutableTool, isFullMediaType, isNonNullable, isParsableJson, isProviderReference, isRecord, isSameOrigin, isUrlSupported, jsonSchema, lazySchema, loadApiKey, loadOptionalSetting, loadSetting, mapReasoningToProviderBudget, mapReasoningToProviderEffort, mediaTypeToExtension, normalizeHeaders, parseJSON, parseJsonEventStream, parseProviderOptions, postFormDataToApi, postJsonToApi, postToApi, readResponseWithSizeLimit, readWebSocketMessageText, removeUndefinedEntries, resolve, resolveFullMediaType, resolveProviderReference, retryWithExponentialBackoff, safeParseJSON, safeValidateTypes, secureJsonParse, serializeModelOptions, stripFileExtension, toWebSocketUrl, tool, validateBaseURL, validateDownloadUrl, validateTypes, waitForWebSocketBufferDrain, withUserAgentSuffix, withoutTrailingSlash, zodSchema };
|
package/dist/index.js
CHANGED
|
@@ -266,6 +266,37 @@ function convertToFormData(input, options = {}) {
|
|
|
266
266
|
return formData;
|
|
267
267
|
}
|
|
268
268
|
|
|
269
|
+
// src/create-language-model-response-metadata.ts
|
|
270
|
+
function createLanguageModelResponseMetadata({
|
|
271
|
+
id,
|
|
272
|
+
model,
|
|
273
|
+
created
|
|
274
|
+
}) {
|
|
275
|
+
return {
|
|
276
|
+
id: id != null ? id : void 0,
|
|
277
|
+
modelId: model != null ? model : void 0,
|
|
278
|
+
timestamp: created != null ? new Date(created * 1e3) : void 0
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
// src/create-null-language-model-usage.ts
|
|
283
|
+
function createNullLanguageModelUsage() {
|
|
284
|
+
return {
|
|
285
|
+
inputTokens: {
|
|
286
|
+
total: void 0,
|
|
287
|
+
noCache: void 0,
|
|
288
|
+
cacheRead: void 0,
|
|
289
|
+
cacheWrite: void 0
|
|
290
|
+
},
|
|
291
|
+
outputTokens: {
|
|
292
|
+
total: void 0,
|
|
293
|
+
text: void 0,
|
|
294
|
+
reasoning: void 0
|
|
295
|
+
},
|
|
296
|
+
raw: void 0
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
|
|
269
300
|
// src/create-tool-name-mapping.ts
|
|
270
301
|
function createToolNameMapping({
|
|
271
302
|
tools = [],
|
|
@@ -1294,7 +1325,7 @@ function withUserAgentSuffix(headers, ...userAgentSuffixParts) {
|
|
|
1294
1325
|
}
|
|
1295
1326
|
|
|
1296
1327
|
// src/version.ts
|
|
1297
|
-
var VERSION = true ? "5.0.
|
|
1328
|
+
var VERSION = true ? "5.0.18" : "0.0.0-test";
|
|
1298
1329
|
|
|
1299
1330
|
// src/get-from-api.ts
|
|
1300
1331
|
var getOriginalFetch = () => globalThis.fetch;
|
|
@@ -4015,14 +4046,13 @@ async function* executeTool({
|
|
|
4015
4046
|
}
|
|
4016
4047
|
|
|
4017
4048
|
// src/types/tool-caller.ts
|
|
4018
|
-
var toolCallerSymbol = /* @__PURE__ */ Symbol.for("vercel.ai.experimental.toolCaller");
|
|
4019
4049
|
function toolCaller(tool2, definition) {
|
|
4020
|
-
return Object.defineProperty({ ...tool2 },
|
|
4050
|
+
return Object.defineProperty({ ...tool2 }, "experimental_toolCaller", {
|
|
4021
4051
|
value: definition
|
|
4022
4052
|
});
|
|
4023
4053
|
}
|
|
4024
4054
|
function getToolCaller(tool2) {
|
|
4025
|
-
return tool2 == null ? void 0 : tool2
|
|
4055
|
+
return tool2 == null ? void 0 : tool2.experimental_toolCaller;
|
|
4026
4056
|
}
|
|
4027
4057
|
|
|
4028
4058
|
// src/index.ts
|
|
@@ -4059,6 +4089,8 @@ export {
|
|
|
4059
4089
|
createIdGenerator,
|
|
4060
4090
|
createJsonErrorResponseHandler,
|
|
4061
4091
|
createJsonResponseHandler,
|
|
4092
|
+
createLanguageModelResponseMetadata,
|
|
4093
|
+
createNullLanguageModelUsage,
|
|
4062
4094
|
createProviderDefinedToolFactory,
|
|
4063
4095
|
createProviderDefinedToolFactoryWithOutputSchema,
|
|
4064
4096
|
createProviderExecutedToolFactory,
|