ai 5.0.0-canary.0 → 5.0.0-canary.1
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 +16 -0
- package/dist/index.d.mts +46 -92
- package/dist/index.d.ts +46 -92
- package/dist/index.js +66 -27
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +66 -27
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -13
- package/rsc/dist/index.d.ts +7 -7
- package/rsc/dist/rsc-server.d.mts +7 -7
- package/rsc/dist/rsc-server.mjs.map +1 -1
- package/test/dist/index.d.mts +18 -18
- package/test/dist/index.d.ts +18 -18
- package/test/dist/index.js +4 -4
- package/test/dist/index.js.map +1 -1
- package/test/dist/index.mjs +3 -3
- package/test/dist/index.mjs.map +1 -1
- package/react/dist/index.d.mts +0 -18
- package/react/dist/index.d.ts +0 -18
- package/react/dist/index.js +0 -39
- package/react/dist/index.js.map +0 -1
- package/react/dist/index.mjs +0 -17
- package/react/dist/index.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,21 @@
|
|
1
1
|
# ai
|
2
2
|
|
3
|
+
## 5.0.0-canary.1
|
4
|
+
|
5
|
+
### Minor Changes
|
6
|
+
|
7
|
+
- b7eae2d: feat (core): Add finishReason field to NoObjectGeneratedError
|
8
|
+
|
9
|
+
### Patch Changes
|
10
|
+
|
11
|
+
- c22ad54: feat(smooth-stream): chunking callbacks
|
12
|
+
- a4f3007: chore: remove ai/react
|
13
|
+
- Updated dependencies [060370c]
|
14
|
+
- Updated dependencies [0c0c0b3]
|
15
|
+
- Updated dependencies [63d791d]
|
16
|
+
- @ai-sdk/provider-utils@3.0.0-canary.1
|
17
|
+
- @ai-sdk/ui-utils@2.0.0-canary.1
|
18
|
+
|
3
19
|
## 5.0.0-canary.0
|
4
20
|
|
5
21
|
### Major Changes
|
package/dist/index.d.mts
CHANGED
@@ -2,8 +2,8 @@ import { IDGenerator } from '@ai-sdk/provider-utils';
|
|
2
2
|
export { CoreToolCall, CoreToolResult, IDGenerator, ToolCall, ToolResult, createIdGenerator, generateId } from '@ai-sdk/provider-utils';
|
3
3
|
import { DataStreamString, Message, Schema, DeepPartial, JSONValue as JSONValue$1 } from '@ai-sdk/ui-utils';
|
4
4
|
export { Attachment, ChatRequest, ChatRequestOptions, CreateMessage, DataStreamPart, DeepPartial, IdGenerator, JSONValue, Message, RequestOptions, Schema, ToolInvocation, UIMessage, formatDataStreamPart, jsonSchema, parseDataStreamPart, processDataStream, processTextStream, zodSchema } from '@ai-sdk/ui-utils';
|
5
|
-
import {
|
6
|
-
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError,
|
5
|
+
import { LanguageModelV2, LanguageModelV2FinishReason, LanguageModelV2LogProbs, LanguageModelV2CallWarning, LanguageModelV2Source, JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, ImageModelV1, ImageModelV1CallWarning, LanguageModelV2ProviderMetadata, LanguageModelV2CallOptions, AISDKError, LanguageModelV2FunctionToolCall, JSONSchema7, JSONParseError, TypeValidationError, LanguageModelV2Middleware, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
|
6
|
+
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, LanguageModelV2, LanguageModelV2CallOptions, LanguageModelV2Prompt, LanguageModelV2StreamPart, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
7
7
|
import { ServerResponse } from 'node:http';
|
8
8
|
import { AttributeValue, Tracer } from '@opentelemetry/api';
|
9
9
|
import { z } from 'zod';
|
@@ -12,7 +12,7 @@ import { ServerResponse as ServerResponse$1 } from 'http';
|
|
12
12
|
/**
|
13
13
|
Language model that is used by the AI SDK Core functions.
|
14
14
|
*/
|
15
|
-
type LanguageModel =
|
15
|
+
type LanguageModel = LanguageModelV2;
|
16
16
|
/**
|
17
17
|
Reason why a language model finished generating a response.
|
18
18
|
|
@@ -24,22 +24,22 @@ Can be one of the following:
|
|
24
24
|
- `error`: model stopped because of an error
|
25
25
|
- `other`: model stopped for other reasons
|
26
26
|
*/
|
27
|
-
type FinishReason =
|
27
|
+
type FinishReason = LanguageModelV2FinishReason;
|
28
28
|
/**
|
29
29
|
Log probabilities for each token and its top log probabilities.
|
30
30
|
|
31
31
|
@deprecated Will become a provider extension in the future.
|
32
32
|
*/
|
33
|
-
type LogProbs =
|
33
|
+
type LogProbs = LanguageModelV2LogProbs;
|
34
34
|
/**
|
35
35
|
Warning from the model provider for this call. The call will proceed, but e.g.
|
36
36
|
some settings might not be supported, which can lead to suboptimal results.
|
37
37
|
*/
|
38
|
-
type CallWarning =
|
38
|
+
type CallWarning = LanguageModelV2CallWarning;
|
39
39
|
/**
|
40
40
|
A source that has been used as input to generate the response.
|
41
41
|
*/
|
42
|
-
type Source =
|
42
|
+
type Source = LanguageModelV2Source;
|
43
43
|
/**
|
44
44
|
Tool choice for the generation. It supports the following settings:
|
45
45
|
|
@@ -240,14 +240,14 @@ Additional provider-specific metadata that is returned from the provider.
|
|
240
240
|
This is needed to enable provider-specific functionality that can be
|
241
241
|
fully encapsulated in the provider.
|
242
242
|
*/
|
243
|
-
type ProviderMetadata =
|
243
|
+
type ProviderMetadata = LanguageModelV2ProviderMetadata;
|
244
244
|
/**
|
245
245
|
Additional provider-specific options.
|
246
246
|
|
247
247
|
They are passed through to the provider from the AI SDK and enable
|
248
248
|
provider-specific functionality that can be fully encapsulated in the provider.
|
249
249
|
*/
|
250
|
-
type ProviderOptions =
|
250
|
+
type ProviderOptions = LanguageModelV2ProviderMetadata;
|
251
251
|
|
252
252
|
/**
|
253
253
|
Represents the number of tokens used in a prompt and completion.
|
@@ -2243,7 +2243,7 @@ interface Output<OUTPUT, PARTIAL> {
|
|
2243
2243
|
}): string | undefined;
|
2244
2244
|
responseFormat: (options: {
|
2245
2245
|
model: LanguageModel;
|
2246
|
-
}) =>
|
2246
|
+
}) => LanguageModelV2CallOptions['responseFormat'];
|
2247
2247
|
parsePartial(options: {
|
2248
2248
|
text: string;
|
2249
2249
|
}): {
|
@@ -2254,6 +2254,7 @@ interface Output<OUTPUT, PARTIAL> {
|
|
2254
2254
|
}, context: {
|
2255
2255
|
response: LanguageModelResponseMetadata;
|
2256
2256
|
usage: LanguageModelUsage;
|
2257
|
+
finishReason: FinishReason;
|
2257
2258
|
}): OUTPUT;
|
2258
2259
|
}
|
2259
2260
|
declare const text: () => Output<string, string>;
|
@@ -2351,13 +2352,13 @@ declare function convertToCoreMessages<TOOLS extends ToolSet = never>(messages:
|
|
2351
2352
|
type ToolCallRepairFunction<TOOLS extends ToolSet> = (options: {
|
2352
2353
|
system: string | undefined;
|
2353
2354
|
messages: CoreMessage[];
|
2354
|
-
toolCall:
|
2355
|
+
toolCall: LanguageModelV2FunctionToolCall;
|
2355
2356
|
tools: TOOLS;
|
2356
2357
|
parameterSchema: (options: {
|
2357
2358
|
toolName: string;
|
2358
2359
|
}) => JSONSchema7;
|
2359
2360
|
error: NoSuchToolError | InvalidToolArgumentsError;
|
2360
|
-
}) => Promise<
|
2361
|
+
}) => Promise<LanguageModelV2FunctionToolCall | null>;
|
2361
2362
|
|
2362
2363
|
/**
|
2363
2364
|
Callback that is set using the `onStepFinish` option.
|
@@ -2805,6 +2806,14 @@ type TextStreamPart<TOOLS extends ToolSet> = {
|
|
2805
2806
|
error: unknown;
|
2806
2807
|
};
|
2807
2808
|
|
2809
|
+
/**
|
2810
|
+
* Detects the first chunk in a buffer.
|
2811
|
+
*
|
2812
|
+
* @param buffer - The buffer to detect the first chunk in.
|
2813
|
+
*
|
2814
|
+
* @returns The first detected chunk, or `undefined` if no chunk was detected.
|
2815
|
+
*/
|
2816
|
+
type ChunkDetector = (buffer: string) => string | undefined | null;
|
2808
2817
|
/**
|
2809
2818
|
* Smooths text streaming output.
|
2810
2819
|
*
|
@@ -2815,7 +2824,7 @@ type TextStreamPart<TOOLS extends ToolSet> = {
|
|
2815
2824
|
*/
|
2816
2825
|
declare function smoothStream<TOOLS extends ToolSet>({ delayInMs, chunking, _internal: { delay }, }?: {
|
2817
2826
|
delayInMs?: number | null;
|
2818
|
-
chunking?: 'word' | 'line' | RegExp;
|
2827
|
+
chunking?: 'word' | 'line' | RegExp | ChunkDetector;
|
2819
2828
|
/**
|
2820
2829
|
* Internal. For test use only. May change without notice.
|
2821
2830
|
*/
|
@@ -3778,74 +3787,14 @@ Callback that is called when the LLM response and the final object validation ar
|
|
3778
3787
|
};
|
3779
3788
|
}): StreamObjectResult<JSONValue, JSONValue, never>;
|
3780
3789
|
|
3781
|
-
/**
|
3782
|
-
* Experimental middleware for LanguageModelV1.
|
3783
|
-
* This type defines the structure for middleware that can be used to modify
|
3784
|
-
* the behavior of LanguageModelV1 operations.
|
3785
|
-
*/
|
3786
|
-
type LanguageModelV1Middleware = {
|
3787
|
-
/**
|
3788
|
-
* Middleware specification version. Use `v1` for the current version.
|
3789
|
-
*/
|
3790
|
-
middlewareVersion?: 'v1' | undefined;
|
3791
|
-
/**
|
3792
|
-
* Transforms the parameters before they are passed to the language model.
|
3793
|
-
* @param options - Object containing the type of operation and the parameters.
|
3794
|
-
* @param options.type - The type of operation ('generate' or 'stream').
|
3795
|
-
* @param options.params - The original parameters for the language model call.
|
3796
|
-
* @returns A promise that resolves to the transformed parameters.
|
3797
|
-
*/
|
3798
|
-
transformParams?: (options: {
|
3799
|
-
type: 'generate' | 'stream';
|
3800
|
-
params: LanguageModelV1CallOptions;
|
3801
|
-
}) => PromiseLike<LanguageModelV1CallOptions>;
|
3802
|
-
/**
|
3803
|
-
* Wraps the generate operation of the language model.
|
3804
|
-
* @param options - Object containing the generate function, parameters, and model.
|
3805
|
-
* @param options.doGenerate - The original generate function.
|
3806
|
-
* @param options.doStream - The original stream function.
|
3807
|
-
* @param options.params - The parameters for the generate call. If the
|
3808
|
-
* `transformParams` middleware is used, this will be the transformed parameters.
|
3809
|
-
* @param options.model - The language model instance.
|
3810
|
-
* @returns A promise that resolves to the result of the generate operation.
|
3811
|
-
*/
|
3812
|
-
wrapGenerate?: (options: {
|
3813
|
-
doGenerate: () => ReturnType<LanguageModelV1['doGenerate']>;
|
3814
|
-
doStream: () => ReturnType<LanguageModelV1['doStream']>;
|
3815
|
-
params: LanguageModelV1CallOptions;
|
3816
|
-
model: LanguageModelV1;
|
3817
|
-
}) => Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
|
3818
|
-
/**
|
3819
|
-
* Wraps the stream operation of the language model.
|
3820
|
-
*
|
3821
|
-
* @param options - Object containing the stream function, parameters, and model.
|
3822
|
-
* @param options.doGenerate - The original generate function.
|
3823
|
-
* @param options.doStream - The original stream function.
|
3824
|
-
* @param options.params - The parameters for the stream call. If the
|
3825
|
-
* `transformParams` middleware is used, this will be the transformed parameters.
|
3826
|
-
* @param options.model - The language model instance.
|
3827
|
-
* @returns A promise that resolves to the result of the stream operation.
|
3828
|
-
*/
|
3829
|
-
wrapStream?: (options: {
|
3830
|
-
doGenerate: () => ReturnType<LanguageModelV1['doGenerate']>;
|
3831
|
-
doStream: () => ReturnType<LanguageModelV1['doStream']>;
|
3832
|
-
params: LanguageModelV1CallOptions;
|
3833
|
-
model: LanguageModelV1;
|
3834
|
-
}) => PromiseLike<Awaited<ReturnType<LanguageModelV1['doStream']>>>;
|
3835
|
-
};
|
3836
|
-
/**
|
3837
|
-
* @deprecated Use `LanguageModelV1Middleware` instead.
|
3838
|
-
*/
|
3839
|
-
type Experimental_LanguageModelV1Middleware = LanguageModelV1Middleware;
|
3840
|
-
|
3841
3790
|
/**
|
3842
3791
|
* Applies default settings for a language model.
|
3843
3792
|
*/
|
3844
3793
|
declare function defaultSettingsMiddleware({ settings, }: {
|
3845
|
-
settings: Partial<
|
3846
|
-
providerMetadata?:
|
3794
|
+
settings: Partial<LanguageModelV2CallOptions & {
|
3795
|
+
providerMetadata?: LanguageModelV2ProviderMetadata;
|
3847
3796
|
}>;
|
3848
|
-
}):
|
3797
|
+
}): LanguageModelV2Middleware;
|
3849
3798
|
|
3850
3799
|
/**
|
3851
3800
|
* Extract an XML-tagged reasoning section from the generated text and exposes it
|
@@ -3859,40 +3808,40 @@ declare function extractReasoningMiddleware({ tagName, separator, startWithReaso
|
|
3859
3808
|
tagName: string;
|
3860
3809
|
separator?: string;
|
3861
3810
|
startWithReasoning?: boolean;
|
3862
|
-
}):
|
3811
|
+
}): LanguageModelV2Middleware;
|
3863
3812
|
|
3864
3813
|
/**
|
3865
3814
|
* Simulates streaming chunks with the response from a generate call.
|
3866
3815
|
*/
|
3867
|
-
declare function simulateStreamingMiddleware():
|
3816
|
+
declare function simulateStreamingMiddleware(): LanguageModelV2Middleware;
|
3868
3817
|
|
3869
3818
|
/**
|
3870
|
-
* Wraps a
|
3819
|
+
* Wraps a LanguageModelV2 instance with middleware functionality.
|
3871
3820
|
* This function allows you to apply middleware to transform parameters,
|
3872
3821
|
* wrap generate operations, and wrap stream operations of a language model.
|
3873
3822
|
*
|
3874
3823
|
* @param options - Configuration options for wrapping the language model.
|
3875
|
-
* @param options.model - The original
|
3824
|
+
* @param options.model - The original LanguageModelV2 instance to be wrapped.
|
3876
3825
|
* @param options.middleware - The middleware to be applied to the language model. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
|
3877
3826
|
* @param options.modelId - Optional custom model ID to override the original model's ID.
|
3878
3827
|
* @param options.providerId - Optional custom provider ID to override the original model's provider.
|
3879
|
-
* @returns A new
|
3828
|
+
* @returns A new LanguageModelV2 instance with middleware applied.
|
3880
3829
|
*/
|
3881
3830
|
declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
|
3882
|
-
model:
|
3883
|
-
middleware:
|
3831
|
+
model: LanguageModelV2;
|
3832
|
+
middleware: LanguageModelV2Middleware | LanguageModelV2Middleware[];
|
3884
3833
|
modelId?: string;
|
3885
3834
|
providerId?: string;
|
3886
|
-
}) =>
|
3835
|
+
}) => LanguageModelV2;
|
3887
3836
|
/**
|
3888
3837
|
* @deprecated Use `wrapLanguageModel` instead.
|
3889
3838
|
*/
|
3890
3839
|
declare const experimental_wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
|
3891
|
-
model:
|
3892
|
-
middleware:
|
3840
|
+
model: LanguageModelV2;
|
3841
|
+
middleware: LanguageModelV2Middleware | LanguageModelV2Middleware[];
|
3893
3842
|
modelId?: string;
|
3894
3843
|
providerId?: string;
|
3895
|
-
}) =>
|
3844
|
+
}) => LanguageModelV2;
|
3896
3845
|
|
3897
3846
|
/**
|
3898
3847
|
* Creates a custom provider with specified language models, text embedding models, and an optional fallback provider.
|
@@ -3910,7 +3859,7 @@ declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageM
|
|
3910
3859
|
languageModels?: LANGUAGE_MODELS;
|
3911
3860
|
textEmbeddingModels?: EMBEDDING_MODELS;
|
3912
3861
|
imageModels?: IMAGE_MODELS;
|
3913
|
-
fallbackProvider?:
|
3862
|
+
fallbackProvider?: ProviderV2;
|
3914
3863
|
}): Provider & {
|
3915
3864
|
languageModel(modelId: ExtractModelId<LANGUAGE_MODELS>): LanguageModel;
|
3916
3865
|
textEmbeddingModel(modelId: ExtractModelId<EMBEDDING_MODELS>): EmbeddingModel<string>;
|
@@ -3938,7 +3887,7 @@ declare class NoSuchProviderError extends NoSuchModelError {
|
|
3938
3887
|
}
|
3939
3888
|
|
3940
3889
|
type ExtractLiteralUnion<T> = T extends string ? string extends T ? never : T : never;
|
3941
|
-
interface ProviderRegistryProvider<PROVIDERS extends Record<string,
|
3890
|
+
interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV2> = Record<string, ProviderV2>, SEPARATOR extends string = ':'> {
|
3942
3891
|
languageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['languageModel']>>[0]>}` : never): LanguageModel;
|
3943
3892
|
languageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): LanguageModel;
|
3944
3893
|
textEmbeddingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['textEmbeddingModel']>>[0]>}` : never): EmbeddingModel<string>;
|
@@ -3949,7 +3898,7 @@ interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV1>
|
|
3949
3898
|
/**
|
3950
3899
|
* Creates a registry for the given providers.
|
3951
3900
|
*/
|
3952
|
-
declare function createProviderRegistry<PROVIDERS extends Record<string,
|
3901
|
+
declare function createProviderRegistry<PROVIDERS extends Record<string, ProviderV2>, SEPARATOR extends string = ':'>(providers: PROVIDERS, { separator, }?: {
|
3953
3902
|
separator?: SEPARATOR;
|
3954
3903
|
}): ProviderRegistryProvider<PROVIDERS, SEPARATOR>;
|
3955
3904
|
/**
|
@@ -4114,12 +4063,17 @@ declare class NoObjectGeneratedError extends AISDKError {
|
|
4114
4063
|
The usage of the model.
|
4115
4064
|
*/
|
4116
4065
|
readonly usage: LanguageModelUsage | undefined;
|
4117
|
-
|
4066
|
+
/**
|
4067
|
+
Reason why the model finished generating a response.
|
4068
|
+
*/
|
4069
|
+
readonly finishReason: FinishReason | undefined;
|
4070
|
+
constructor({ message, cause, text, response, usage, finishReason, }: {
|
4118
4071
|
message?: string;
|
4119
4072
|
cause?: Error;
|
4120
4073
|
text?: string;
|
4121
4074
|
response: LanguageModelResponseMetadata;
|
4122
4075
|
usage: LanguageModelUsage;
|
4076
|
+
finishReason: FinishReason;
|
4123
4077
|
});
|
4124
4078
|
static isInstance(error: unknown): error is NoObjectGeneratedError;
|
4125
4079
|
}
|
@@ -4339,4 +4293,4 @@ declare namespace llamaindexAdapter {
|
|
4339
4293
|
};
|
4340
4294
|
}
|
4341
4295
|
|
4342
|
-
export { AssistantContent, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamOptions, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage,
|
4296
|
+
export { AssistantContent, CallWarning, ChunkDetector, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamOptions, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, FilePart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedFile, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolArgumentsError, JSONRPCError, JSONRPCMessage, JSONRPCNotification, JSONRPCRequest, JSONRPCResponse, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, ProviderRegistryProvider, RepairTextFunction, RetryError, StepResult, StreamData, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, Tool, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, ToolResultUnion, ToolSet, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, createProviderRegistry, customProvider, defaultSettingsMiddleware, embed, embedMany, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, simulateStreamingMiddleware, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
package/dist/index.d.ts
CHANGED
@@ -2,8 +2,8 @@ import { IDGenerator } from '@ai-sdk/provider-utils';
|
|
2
2
|
export { CoreToolCall, CoreToolResult, IDGenerator, ToolCall, ToolResult, createIdGenerator, generateId } from '@ai-sdk/provider-utils';
|
3
3
|
import { DataStreamString, Message, Schema, DeepPartial, JSONValue as JSONValue$1 } from '@ai-sdk/ui-utils';
|
4
4
|
export { Attachment, ChatRequest, ChatRequestOptions, CreateMessage, DataStreamPart, DeepPartial, IdGenerator, JSONValue, Message, RequestOptions, Schema, ToolInvocation, UIMessage, formatDataStreamPart, jsonSchema, parseDataStreamPart, processDataStream, processTextStream, zodSchema } from '@ai-sdk/ui-utils';
|
5
|
-
import {
|
6
|
-
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError,
|
5
|
+
import { LanguageModelV2, LanguageModelV2FinishReason, LanguageModelV2LogProbs, LanguageModelV2CallWarning, LanguageModelV2Source, JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, ImageModelV1, ImageModelV1CallWarning, LanguageModelV2ProviderMetadata, LanguageModelV2CallOptions, AISDKError, LanguageModelV2FunctionToolCall, JSONSchema7, JSONParseError, TypeValidationError, LanguageModelV2Middleware, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
|
6
|
+
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, LanguageModelV2, LanguageModelV2CallOptions, LanguageModelV2Prompt, LanguageModelV2StreamPart, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
7
7
|
import { ServerResponse } from 'node:http';
|
8
8
|
import { AttributeValue, Tracer } from '@opentelemetry/api';
|
9
9
|
import { z } from 'zod';
|
@@ -12,7 +12,7 @@ import { ServerResponse as ServerResponse$1 } from 'http';
|
|
12
12
|
/**
|
13
13
|
Language model that is used by the AI SDK Core functions.
|
14
14
|
*/
|
15
|
-
type LanguageModel =
|
15
|
+
type LanguageModel = LanguageModelV2;
|
16
16
|
/**
|
17
17
|
Reason why a language model finished generating a response.
|
18
18
|
|
@@ -24,22 +24,22 @@ Can be one of the following:
|
|
24
24
|
- `error`: model stopped because of an error
|
25
25
|
- `other`: model stopped for other reasons
|
26
26
|
*/
|
27
|
-
type FinishReason =
|
27
|
+
type FinishReason = LanguageModelV2FinishReason;
|
28
28
|
/**
|
29
29
|
Log probabilities for each token and its top log probabilities.
|
30
30
|
|
31
31
|
@deprecated Will become a provider extension in the future.
|
32
32
|
*/
|
33
|
-
type LogProbs =
|
33
|
+
type LogProbs = LanguageModelV2LogProbs;
|
34
34
|
/**
|
35
35
|
Warning from the model provider for this call. The call will proceed, but e.g.
|
36
36
|
some settings might not be supported, which can lead to suboptimal results.
|
37
37
|
*/
|
38
|
-
type CallWarning =
|
38
|
+
type CallWarning = LanguageModelV2CallWarning;
|
39
39
|
/**
|
40
40
|
A source that has been used as input to generate the response.
|
41
41
|
*/
|
42
|
-
type Source =
|
42
|
+
type Source = LanguageModelV2Source;
|
43
43
|
/**
|
44
44
|
Tool choice for the generation. It supports the following settings:
|
45
45
|
|
@@ -240,14 +240,14 @@ Additional provider-specific metadata that is returned from the provider.
|
|
240
240
|
This is needed to enable provider-specific functionality that can be
|
241
241
|
fully encapsulated in the provider.
|
242
242
|
*/
|
243
|
-
type ProviderMetadata =
|
243
|
+
type ProviderMetadata = LanguageModelV2ProviderMetadata;
|
244
244
|
/**
|
245
245
|
Additional provider-specific options.
|
246
246
|
|
247
247
|
They are passed through to the provider from the AI SDK and enable
|
248
248
|
provider-specific functionality that can be fully encapsulated in the provider.
|
249
249
|
*/
|
250
|
-
type ProviderOptions =
|
250
|
+
type ProviderOptions = LanguageModelV2ProviderMetadata;
|
251
251
|
|
252
252
|
/**
|
253
253
|
Represents the number of tokens used in a prompt and completion.
|
@@ -2243,7 +2243,7 @@ interface Output<OUTPUT, PARTIAL> {
|
|
2243
2243
|
}): string | undefined;
|
2244
2244
|
responseFormat: (options: {
|
2245
2245
|
model: LanguageModel;
|
2246
|
-
}) =>
|
2246
|
+
}) => LanguageModelV2CallOptions['responseFormat'];
|
2247
2247
|
parsePartial(options: {
|
2248
2248
|
text: string;
|
2249
2249
|
}): {
|
@@ -2254,6 +2254,7 @@ interface Output<OUTPUT, PARTIAL> {
|
|
2254
2254
|
}, context: {
|
2255
2255
|
response: LanguageModelResponseMetadata;
|
2256
2256
|
usage: LanguageModelUsage;
|
2257
|
+
finishReason: FinishReason;
|
2257
2258
|
}): OUTPUT;
|
2258
2259
|
}
|
2259
2260
|
declare const text: () => Output<string, string>;
|
@@ -2351,13 +2352,13 @@ declare function convertToCoreMessages<TOOLS extends ToolSet = never>(messages:
|
|
2351
2352
|
type ToolCallRepairFunction<TOOLS extends ToolSet> = (options: {
|
2352
2353
|
system: string | undefined;
|
2353
2354
|
messages: CoreMessage[];
|
2354
|
-
toolCall:
|
2355
|
+
toolCall: LanguageModelV2FunctionToolCall;
|
2355
2356
|
tools: TOOLS;
|
2356
2357
|
parameterSchema: (options: {
|
2357
2358
|
toolName: string;
|
2358
2359
|
}) => JSONSchema7;
|
2359
2360
|
error: NoSuchToolError | InvalidToolArgumentsError;
|
2360
|
-
}) => Promise<
|
2361
|
+
}) => Promise<LanguageModelV2FunctionToolCall | null>;
|
2361
2362
|
|
2362
2363
|
/**
|
2363
2364
|
Callback that is set using the `onStepFinish` option.
|
@@ -2805,6 +2806,14 @@ type TextStreamPart<TOOLS extends ToolSet> = {
|
|
2805
2806
|
error: unknown;
|
2806
2807
|
};
|
2807
2808
|
|
2809
|
+
/**
|
2810
|
+
* Detects the first chunk in a buffer.
|
2811
|
+
*
|
2812
|
+
* @param buffer - The buffer to detect the first chunk in.
|
2813
|
+
*
|
2814
|
+
* @returns The first detected chunk, or `undefined` if no chunk was detected.
|
2815
|
+
*/
|
2816
|
+
type ChunkDetector = (buffer: string) => string | undefined | null;
|
2808
2817
|
/**
|
2809
2818
|
* Smooths text streaming output.
|
2810
2819
|
*
|
@@ -2815,7 +2824,7 @@ type TextStreamPart<TOOLS extends ToolSet> = {
|
|
2815
2824
|
*/
|
2816
2825
|
declare function smoothStream<TOOLS extends ToolSet>({ delayInMs, chunking, _internal: { delay }, }?: {
|
2817
2826
|
delayInMs?: number | null;
|
2818
|
-
chunking?: 'word' | 'line' | RegExp;
|
2827
|
+
chunking?: 'word' | 'line' | RegExp | ChunkDetector;
|
2819
2828
|
/**
|
2820
2829
|
* Internal. For test use only. May change without notice.
|
2821
2830
|
*/
|
@@ -3778,74 +3787,14 @@ Callback that is called when the LLM response and the final object validation ar
|
|
3778
3787
|
};
|
3779
3788
|
}): StreamObjectResult<JSONValue, JSONValue, never>;
|
3780
3789
|
|
3781
|
-
/**
|
3782
|
-
* Experimental middleware for LanguageModelV1.
|
3783
|
-
* This type defines the structure for middleware that can be used to modify
|
3784
|
-
* the behavior of LanguageModelV1 operations.
|
3785
|
-
*/
|
3786
|
-
type LanguageModelV1Middleware = {
|
3787
|
-
/**
|
3788
|
-
* Middleware specification version. Use `v1` for the current version.
|
3789
|
-
*/
|
3790
|
-
middlewareVersion?: 'v1' | undefined;
|
3791
|
-
/**
|
3792
|
-
* Transforms the parameters before they are passed to the language model.
|
3793
|
-
* @param options - Object containing the type of operation and the parameters.
|
3794
|
-
* @param options.type - The type of operation ('generate' or 'stream').
|
3795
|
-
* @param options.params - The original parameters for the language model call.
|
3796
|
-
* @returns A promise that resolves to the transformed parameters.
|
3797
|
-
*/
|
3798
|
-
transformParams?: (options: {
|
3799
|
-
type: 'generate' | 'stream';
|
3800
|
-
params: LanguageModelV1CallOptions;
|
3801
|
-
}) => PromiseLike<LanguageModelV1CallOptions>;
|
3802
|
-
/**
|
3803
|
-
* Wraps the generate operation of the language model.
|
3804
|
-
* @param options - Object containing the generate function, parameters, and model.
|
3805
|
-
* @param options.doGenerate - The original generate function.
|
3806
|
-
* @param options.doStream - The original stream function.
|
3807
|
-
* @param options.params - The parameters for the generate call. If the
|
3808
|
-
* `transformParams` middleware is used, this will be the transformed parameters.
|
3809
|
-
* @param options.model - The language model instance.
|
3810
|
-
* @returns A promise that resolves to the result of the generate operation.
|
3811
|
-
*/
|
3812
|
-
wrapGenerate?: (options: {
|
3813
|
-
doGenerate: () => ReturnType<LanguageModelV1['doGenerate']>;
|
3814
|
-
doStream: () => ReturnType<LanguageModelV1['doStream']>;
|
3815
|
-
params: LanguageModelV1CallOptions;
|
3816
|
-
model: LanguageModelV1;
|
3817
|
-
}) => Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
|
3818
|
-
/**
|
3819
|
-
* Wraps the stream operation of the language model.
|
3820
|
-
*
|
3821
|
-
* @param options - Object containing the stream function, parameters, and model.
|
3822
|
-
* @param options.doGenerate - The original generate function.
|
3823
|
-
* @param options.doStream - The original stream function.
|
3824
|
-
* @param options.params - The parameters for the stream call. If the
|
3825
|
-
* `transformParams` middleware is used, this will be the transformed parameters.
|
3826
|
-
* @param options.model - The language model instance.
|
3827
|
-
* @returns A promise that resolves to the result of the stream operation.
|
3828
|
-
*/
|
3829
|
-
wrapStream?: (options: {
|
3830
|
-
doGenerate: () => ReturnType<LanguageModelV1['doGenerate']>;
|
3831
|
-
doStream: () => ReturnType<LanguageModelV1['doStream']>;
|
3832
|
-
params: LanguageModelV1CallOptions;
|
3833
|
-
model: LanguageModelV1;
|
3834
|
-
}) => PromiseLike<Awaited<ReturnType<LanguageModelV1['doStream']>>>;
|
3835
|
-
};
|
3836
|
-
/**
|
3837
|
-
* @deprecated Use `LanguageModelV1Middleware` instead.
|
3838
|
-
*/
|
3839
|
-
type Experimental_LanguageModelV1Middleware = LanguageModelV1Middleware;
|
3840
|
-
|
3841
3790
|
/**
|
3842
3791
|
* Applies default settings for a language model.
|
3843
3792
|
*/
|
3844
3793
|
declare function defaultSettingsMiddleware({ settings, }: {
|
3845
|
-
settings: Partial<
|
3846
|
-
providerMetadata?:
|
3794
|
+
settings: Partial<LanguageModelV2CallOptions & {
|
3795
|
+
providerMetadata?: LanguageModelV2ProviderMetadata;
|
3847
3796
|
}>;
|
3848
|
-
}):
|
3797
|
+
}): LanguageModelV2Middleware;
|
3849
3798
|
|
3850
3799
|
/**
|
3851
3800
|
* Extract an XML-tagged reasoning section from the generated text and exposes it
|
@@ -3859,40 +3808,40 @@ declare function extractReasoningMiddleware({ tagName, separator, startWithReaso
|
|
3859
3808
|
tagName: string;
|
3860
3809
|
separator?: string;
|
3861
3810
|
startWithReasoning?: boolean;
|
3862
|
-
}):
|
3811
|
+
}): LanguageModelV2Middleware;
|
3863
3812
|
|
3864
3813
|
/**
|
3865
3814
|
* Simulates streaming chunks with the response from a generate call.
|
3866
3815
|
*/
|
3867
|
-
declare function simulateStreamingMiddleware():
|
3816
|
+
declare function simulateStreamingMiddleware(): LanguageModelV2Middleware;
|
3868
3817
|
|
3869
3818
|
/**
|
3870
|
-
* Wraps a
|
3819
|
+
* Wraps a LanguageModelV2 instance with middleware functionality.
|
3871
3820
|
* This function allows you to apply middleware to transform parameters,
|
3872
3821
|
* wrap generate operations, and wrap stream operations of a language model.
|
3873
3822
|
*
|
3874
3823
|
* @param options - Configuration options for wrapping the language model.
|
3875
|
-
* @param options.model - The original
|
3824
|
+
* @param options.model - The original LanguageModelV2 instance to be wrapped.
|
3876
3825
|
* @param options.middleware - The middleware to be applied to the language model. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
|
3877
3826
|
* @param options.modelId - Optional custom model ID to override the original model's ID.
|
3878
3827
|
* @param options.providerId - Optional custom provider ID to override the original model's provider.
|
3879
|
-
* @returns A new
|
3828
|
+
* @returns A new LanguageModelV2 instance with middleware applied.
|
3880
3829
|
*/
|
3881
3830
|
declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
|
3882
|
-
model:
|
3883
|
-
middleware:
|
3831
|
+
model: LanguageModelV2;
|
3832
|
+
middleware: LanguageModelV2Middleware | LanguageModelV2Middleware[];
|
3884
3833
|
modelId?: string;
|
3885
3834
|
providerId?: string;
|
3886
|
-
}) =>
|
3835
|
+
}) => LanguageModelV2;
|
3887
3836
|
/**
|
3888
3837
|
* @deprecated Use `wrapLanguageModel` instead.
|
3889
3838
|
*/
|
3890
3839
|
declare const experimental_wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
|
3891
|
-
model:
|
3892
|
-
middleware:
|
3840
|
+
model: LanguageModelV2;
|
3841
|
+
middleware: LanguageModelV2Middleware | LanguageModelV2Middleware[];
|
3893
3842
|
modelId?: string;
|
3894
3843
|
providerId?: string;
|
3895
|
-
}) =>
|
3844
|
+
}) => LanguageModelV2;
|
3896
3845
|
|
3897
3846
|
/**
|
3898
3847
|
* Creates a custom provider with specified language models, text embedding models, and an optional fallback provider.
|
@@ -3910,7 +3859,7 @@ declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageM
|
|
3910
3859
|
languageModels?: LANGUAGE_MODELS;
|
3911
3860
|
textEmbeddingModels?: EMBEDDING_MODELS;
|
3912
3861
|
imageModels?: IMAGE_MODELS;
|
3913
|
-
fallbackProvider?:
|
3862
|
+
fallbackProvider?: ProviderV2;
|
3914
3863
|
}): Provider & {
|
3915
3864
|
languageModel(modelId: ExtractModelId<LANGUAGE_MODELS>): LanguageModel;
|
3916
3865
|
textEmbeddingModel(modelId: ExtractModelId<EMBEDDING_MODELS>): EmbeddingModel<string>;
|
@@ -3938,7 +3887,7 @@ declare class NoSuchProviderError extends NoSuchModelError {
|
|
3938
3887
|
}
|
3939
3888
|
|
3940
3889
|
type ExtractLiteralUnion<T> = T extends string ? string extends T ? never : T : never;
|
3941
|
-
interface ProviderRegistryProvider<PROVIDERS extends Record<string,
|
3890
|
+
interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV2> = Record<string, ProviderV2>, SEPARATOR extends string = ':'> {
|
3942
3891
|
languageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['languageModel']>>[0]>}` : never): LanguageModel;
|
3943
3892
|
languageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): LanguageModel;
|
3944
3893
|
textEmbeddingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['textEmbeddingModel']>>[0]>}` : never): EmbeddingModel<string>;
|
@@ -3949,7 +3898,7 @@ interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV1>
|
|
3949
3898
|
/**
|
3950
3899
|
* Creates a registry for the given providers.
|
3951
3900
|
*/
|
3952
|
-
declare function createProviderRegistry<PROVIDERS extends Record<string,
|
3901
|
+
declare function createProviderRegistry<PROVIDERS extends Record<string, ProviderV2>, SEPARATOR extends string = ':'>(providers: PROVIDERS, { separator, }?: {
|
3953
3902
|
separator?: SEPARATOR;
|
3954
3903
|
}): ProviderRegistryProvider<PROVIDERS, SEPARATOR>;
|
3955
3904
|
/**
|
@@ -4114,12 +4063,17 @@ declare class NoObjectGeneratedError extends AISDKError {
|
|
4114
4063
|
The usage of the model.
|
4115
4064
|
*/
|
4116
4065
|
readonly usage: LanguageModelUsage | undefined;
|
4117
|
-
|
4066
|
+
/**
|
4067
|
+
Reason why the model finished generating a response.
|
4068
|
+
*/
|
4069
|
+
readonly finishReason: FinishReason | undefined;
|
4070
|
+
constructor({ message, cause, text, response, usage, finishReason, }: {
|
4118
4071
|
message?: string;
|
4119
4072
|
cause?: Error;
|
4120
4073
|
text?: string;
|
4121
4074
|
response: LanguageModelResponseMetadata;
|
4122
4075
|
usage: LanguageModelUsage;
|
4076
|
+
finishReason: FinishReason;
|
4123
4077
|
});
|
4124
4078
|
static isInstance(error: unknown): error is NoObjectGeneratedError;
|
4125
4079
|
}
|
@@ -4339,4 +4293,4 @@ declare namespace llamaindexAdapter {
|
|
4339
4293
|
};
|
4340
4294
|
}
|
4341
4295
|
|
4342
|
-
export { AssistantContent, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamOptions, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage,
|
4296
|
+
export { AssistantContent, CallWarning, ChunkDetector, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamOptions, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, FilePart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedFile, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolArgumentsError, JSONRPCError, JSONRPCMessage, JSONRPCNotification, JSONRPCRequest, JSONRPCResponse, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, ProviderRegistryProvider, RepairTextFunction, RetryError, StepResult, StreamData, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, Tool, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, ToolResultUnion, ToolSet, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, createProviderRegistry, customProvider, defaultSettingsMiddleware, embed, embedMany, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, simulateStreamingMiddleware, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|