ai 4.1.13 → 4.1.15
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 +19 -0
- package/dist/index.d.mts +28 -9
- package/dist/index.d.ts +28 -9
- package/dist/index.js +35 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +34 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
- package/rsc/dist/rsc-server.mjs +7 -4
- package/rsc/dist/rsc-server.mjs.map +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
# ai
|
2
2
|
|
3
|
+
## 4.1.15
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- d89c3b9: feat (provider): add image model support to provider specification
|
8
|
+
- d89c3b9: feat (core): type ahead for model ids with custom provider
|
9
|
+
- 08f54fc: chore (ai/core): move custom provider to stable
|
10
|
+
- Updated dependencies [d89c3b9]
|
11
|
+
- @ai-sdk/provider@1.0.7
|
12
|
+
- @ai-sdk/provider-utils@2.1.6
|
13
|
+
- @ai-sdk/ui-utils@1.1.8
|
14
|
+
- @ai-sdk/react@1.1.8
|
15
|
+
|
16
|
+
## 4.1.14
|
17
|
+
|
18
|
+
### Patch Changes
|
19
|
+
|
20
|
+
- ca89615: fix (ai/core): only append assistant response at the end when there is a final user message
|
21
|
+
|
3
22
|
## 4.1.13
|
4
23
|
|
5
24
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
@@ -2,7 +2,7 @@ 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, ToolInvocation, Attachment, Schema, DeepPartial, Message, JSONValue as JSONValue$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
|
4
4
|
export { AssistantMessage, AssistantStatus, Attachment, ChatRequest, ChatRequestOptions, CreateMessage, DataMessage, DataStreamPart, DeepPartial, IdGenerator, JSONValue, Message, RequestOptions, Schema, ToolInvocation, UseAssistantOptions, formatAssistantStreamPart, formatDataStreamPart, jsonSchema, parseAssistantStreamPart, parseDataStreamPart, processDataStream, processTextStream } from '@ai-sdk/ui-utils';
|
5
|
-
import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, ImageModelV1, ImageModelV1CallWarning, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, LanguageModelV1CallOptions, AISDKError, LanguageModelV1FunctionToolCall, JSONSchema7, NoSuchModelError } from '@ai-sdk/provider';
|
5
|
+
import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, ImageModelV1, ImageModelV1CallWarning, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, LanguageModelV1CallOptions, AISDKError, LanguageModelV1FunctionToolCall, JSONSchema7, ProviderV1, NoSuchModelError } from '@ai-sdk/provider';
|
6
6
|
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, LanguageModelV1, LanguageModelV1CallOptions, LanguageModelV1Prompt, LanguageModelV1StreamPart, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
7
7
|
import { ServerResponse } from 'node:http';
|
8
8
|
import { AttributeValue, Tracer } from '@opentelemetry/api';
|
@@ -190,7 +190,7 @@ type LanguageModelResponseMetadata = {
|
|
190
190
|
};
|
191
191
|
|
192
192
|
/**
|
193
|
-
* Provider for language
|
193
|
+
* Provider for language, text embedding, and image models.
|
194
194
|
*/
|
195
195
|
type Provider = {
|
196
196
|
/**
|
@@ -215,6 +215,15 @@ type Provider = {
|
|
215
215
|
@throws {NoSuchModelError} If no such model exists.
|
216
216
|
*/
|
217
217
|
textEmbeddingModel(modelId: string): EmbeddingModel<string>;
|
218
|
+
/**
|
219
|
+
Returns the image model with the given id.
|
220
|
+
The model id is then passed to the provider function to get the model.
|
221
|
+
|
222
|
+
@param {string} id - The id of the model to return.
|
223
|
+
|
224
|
+
@returns {ImageModel} The image model associated with the id
|
225
|
+
*/
|
226
|
+
imageModel(modelId: string): ImageModel;
|
218
227
|
};
|
219
228
|
|
220
229
|
/**
|
@@ -2491,11 +2500,21 @@ declare const experimental_wrapLanguageModel: ({ model, middleware: { transformP
|
|
2491
2500
|
*
|
2492
2501
|
* @throws {NoSuchModelError} Throws when a requested model is not found and no fallback provider is available.
|
2493
2502
|
*/
|
2494
|
-
declare function
|
2495
|
-
languageModels?:
|
2496
|
-
textEmbeddingModels?:
|
2497
|
-
|
2498
|
-
|
2503
|
+
declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageModelV1>, EMBEDDING_MODELS extends Record<string, EmbeddingModelV1<string>>, IMAGE_MODELS extends Record<string, ImageModelV1>>({ languageModels, textEmbeddingModels, imageModels, fallbackProvider, }: {
|
2504
|
+
languageModels?: LANGUAGE_MODELS;
|
2505
|
+
textEmbeddingModels?: EMBEDDING_MODELS;
|
2506
|
+
imageModels?: IMAGE_MODELS;
|
2507
|
+
fallbackProvider?: ProviderV1;
|
2508
|
+
}): Provider & {
|
2509
|
+
languageModel(modelId: ExtractModelId<LANGUAGE_MODELS>): LanguageModelV1;
|
2510
|
+
textEmbeddingModel(modelId: ExtractModelId<EMBEDDING_MODELS>): EmbeddingModelV1<string>;
|
2511
|
+
imageModel(modelId: ExtractModelId<IMAGE_MODELS>): ImageModelV1;
|
2512
|
+
};
|
2513
|
+
/**
|
2514
|
+
* @deprecated Use `customProvider` instead.
|
2515
|
+
*/
|
2516
|
+
declare const experimental_customProvider: typeof customProvider;
|
2517
|
+
type ExtractModelId<MODELS extends Record<string, unknown>> = Extract<keyof MODELS, string>;
|
2499
2518
|
|
2500
2519
|
declare const symbol$b: unique symbol;
|
2501
2520
|
declare class NoSuchProviderError extends NoSuchModelError {
|
@@ -2515,7 +2534,7 @@ declare class NoSuchProviderError extends NoSuchModelError {
|
|
2515
2534
|
/**
|
2516
2535
|
* Creates a registry for the given providers.
|
2517
2536
|
*/
|
2518
|
-
declare function experimental_createProviderRegistry(providers: Record<string,
|
2537
|
+
declare function experimental_createProviderRegistry(providers: Record<string, ProviderV1>): Provider;
|
2519
2538
|
|
2520
2539
|
/**
|
2521
2540
|
* Calculates the cosine similarity between two vectors. This is a useful metric for
|
@@ -2858,4 +2877,4 @@ declare namespace llamaindexAdapter {
|
|
2858
2877
|
};
|
2859
2878
|
}
|
2860
2879
|
|
2861
|
-
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModelV1Middleware, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, 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, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
2880
|
+
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModelV1Middleware, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, 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, customProvider, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
package/dist/index.d.ts
CHANGED
@@ -2,7 +2,7 @@ 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, ToolInvocation, Attachment, Schema, DeepPartial, Message, JSONValue as JSONValue$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
|
4
4
|
export { AssistantMessage, AssistantStatus, Attachment, ChatRequest, ChatRequestOptions, CreateMessage, DataMessage, DataStreamPart, DeepPartial, IdGenerator, JSONValue, Message, RequestOptions, Schema, ToolInvocation, UseAssistantOptions, formatAssistantStreamPart, formatDataStreamPart, jsonSchema, parseAssistantStreamPart, parseDataStreamPart, processDataStream, processTextStream } from '@ai-sdk/ui-utils';
|
5
|
-
import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, ImageModelV1, ImageModelV1CallWarning, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, LanguageModelV1CallOptions, AISDKError, LanguageModelV1FunctionToolCall, JSONSchema7, NoSuchModelError } from '@ai-sdk/provider';
|
5
|
+
import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, ImageModelV1, ImageModelV1CallWarning, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, LanguageModelV1CallOptions, AISDKError, LanguageModelV1FunctionToolCall, JSONSchema7, ProviderV1, NoSuchModelError } from '@ai-sdk/provider';
|
6
6
|
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, LanguageModelV1, LanguageModelV1CallOptions, LanguageModelV1Prompt, LanguageModelV1StreamPart, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
7
7
|
import { ServerResponse } from 'node:http';
|
8
8
|
import { AttributeValue, Tracer } from '@opentelemetry/api';
|
@@ -190,7 +190,7 @@ type LanguageModelResponseMetadata = {
|
|
190
190
|
};
|
191
191
|
|
192
192
|
/**
|
193
|
-
* Provider for language
|
193
|
+
* Provider for language, text embedding, and image models.
|
194
194
|
*/
|
195
195
|
type Provider = {
|
196
196
|
/**
|
@@ -215,6 +215,15 @@ type Provider = {
|
|
215
215
|
@throws {NoSuchModelError} If no such model exists.
|
216
216
|
*/
|
217
217
|
textEmbeddingModel(modelId: string): EmbeddingModel<string>;
|
218
|
+
/**
|
219
|
+
Returns the image model with the given id.
|
220
|
+
The model id is then passed to the provider function to get the model.
|
221
|
+
|
222
|
+
@param {string} id - The id of the model to return.
|
223
|
+
|
224
|
+
@returns {ImageModel} The image model associated with the id
|
225
|
+
*/
|
226
|
+
imageModel(modelId: string): ImageModel;
|
218
227
|
};
|
219
228
|
|
220
229
|
/**
|
@@ -2491,11 +2500,21 @@ declare const experimental_wrapLanguageModel: ({ model, middleware: { transformP
|
|
2491
2500
|
*
|
2492
2501
|
* @throws {NoSuchModelError} Throws when a requested model is not found and no fallback provider is available.
|
2493
2502
|
*/
|
2494
|
-
declare function
|
2495
|
-
languageModels?:
|
2496
|
-
textEmbeddingModels?:
|
2497
|
-
|
2498
|
-
|
2503
|
+
declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageModelV1>, EMBEDDING_MODELS extends Record<string, EmbeddingModelV1<string>>, IMAGE_MODELS extends Record<string, ImageModelV1>>({ languageModels, textEmbeddingModels, imageModels, fallbackProvider, }: {
|
2504
|
+
languageModels?: LANGUAGE_MODELS;
|
2505
|
+
textEmbeddingModels?: EMBEDDING_MODELS;
|
2506
|
+
imageModels?: IMAGE_MODELS;
|
2507
|
+
fallbackProvider?: ProviderV1;
|
2508
|
+
}): Provider & {
|
2509
|
+
languageModel(modelId: ExtractModelId<LANGUAGE_MODELS>): LanguageModelV1;
|
2510
|
+
textEmbeddingModel(modelId: ExtractModelId<EMBEDDING_MODELS>): EmbeddingModelV1<string>;
|
2511
|
+
imageModel(modelId: ExtractModelId<IMAGE_MODELS>): ImageModelV1;
|
2512
|
+
};
|
2513
|
+
/**
|
2514
|
+
* @deprecated Use `customProvider` instead.
|
2515
|
+
*/
|
2516
|
+
declare const experimental_customProvider: typeof customProvider;
|
2517
|
+
type ExtractModelId<MODELS extends Record<string, unknown>> = Extract<keyof MODELS, string>;
|
2499
2518
|
|
2500
2519
|
declare const symbol$b: unique symbol;
|
2501
2520
|
declare class NoSuchProviderError extends NoSuchModelError {
|
@@ -2515,7 +2534,7 @@ declare class NoSuchProviderError extends NoSuchModelError {
|
|
2515
2534
|
/**
|
2516
2535
|
* Creates a registry for the given providers.
|
2517
2536
|
*/
|
2518
|
-
declare function experimental_createProviderRegistry(providers: Record<string,
|
2537
|
+
declare function experimental_createProviderRegistry(providers: Record<string, ProviderV1>): Provider;
|
2519
2538
|
|
2520
2539
|
/**
|
2521
2540
|
* Calculates the cosine similarity between two vectors. This is a useful metric for
|
@@ -2858,4 +2877,4 @@ declare namespace llamaindexAdapter {
|
|
2858
2877
|
};
|
2859
2878
|
}
|
2860
2879
|
|
2861
|
-
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModelV1Middleware, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, 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, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
2880
|
+
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModelV1Middleware, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, 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, customProvider, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
package/dist/index.js
CHANGED
@@ -62,6 +62,7 @@ __export(streams_exports, {
|
|
62
62
|
createDataStream: () => createDataStream,
|
63
63
|
createDataStreamResponse: () => createDataStreamResponse,
|
64
64
|
createIdGenerator: () => import_provider_utils14.createIdGenerator,
|
65
|
+
customProvider: () => customProvider,
|
65
66
|
embed: () => embed,
|
66
67
|
embedMany: () => embedMany,
|
67
68
|
experimental_createProviderRegistry: () => experimental_createProviderRegistry,
|
@@ -1596,7 +1597,9 @@ function convertToCoreMessages(messages, options) {
|
|
1596
1597
|
var _a15;
|
1597
1598
|
const tools = (_a15 = options == null ? void 0 : options.tools) != null ? _a15 : {};
|
1598
1599
|
const coreMessages = [];
|
1599
|
-
for (
|
1600
|
+
for (let i = 0; i < messages.length; i++) {
|
1601
|
+
const message = messages[i];
|
1602
|
+
const isLastMessage = i === messages.length - 1;
|
1600
1603
|
const { role, content, toolInvocations, experimental_attachments } = message;
|
1601
1604
|
switch (role) {
|
1602
1605
|
case "system": {
|
@@ -1625,11 +1628,11 @@ function convertToCoreMessages(messages, options) {
|
|
1625
1628
|
var _a16;
|
1626
1629
|
return Math.max(max, (_a16 = toolInvocation.step) != null ? _a16 : 0);
|
1627
1630
|
}, 0);
|
1628
|
-
for (let
|
1631
|
+
for (let i2 = 0; i2 <= maxStep; i2++) {
|
1629
1632
|
const stepInvocations = toolInvocations.filter(
|
1630
1633
|
(toolInvocation) => {
|
1631
1634
|
var _a16;
|
1632
|
-
return ((_a16 = toolInvocation.step) != null ? _a16 : 0) ===
|
1635
|
+
return ((_a16 = toolInvocation.step) != null ? _a16 : 0) === i2;
|
1633
1636
|
}
|
1634
1637
|
);
|
1635
1638
|
if (stepInvocations.length === 0) {
|
@@ -1638,6 +1641,7 @@ function convertToCoreMessages(messages, options) {
|
|
1638
1641
|
coreMessages.push({
|
1639
1642
|
role: "assistant",
|
1640
1643
|
content: [
|
1644
|
+
...isLastMessage && content && i2 === 0 ? [{ type: "text", text: content }] : [],
|
1641
1645
|
...stepInvocations.map(
|
1642
1646
|
({ toolCallId, toolName, args }) => ({
|
1643
1647
|
type: "tool-call",
|
@@ -1674,7 +1678,7 @@ function convertToCoreMessages(messages, options) {
|
|
1674
1678
|
})
|
1675
1679
|
});
|
1676
1680
|
}
|
1677
|
-
if (content) {
|
1681
|
+
if (content && !isLastMessage) {
|
1678
1682
|
coreMessages.push({ role: "assistant", content });
|
1679
1683
|
}
|
1680
1684
|
break;
|
@@ -5867,9 +5871,10 @@ function appendResponseMessages({
|
|
5867
5871
|
|
5868
5872
|
// core/registry/custom-provider.ts
|
5869
5873
|
var import_provider19 = require("@ai-sdk/provider");
|
5870
|
-
function
|
5874
|
+
function customProvider({
|
5871
5875
|
languageModels,
|
5872
5876
|
textEmbeddingModels,
|
5877
|
+
imageModels,
|
5873
5878
|
fallbackProvider
|
5874
5879
|
}) {
|
5875
5880
|
return {
|
@@ -5890,9 +5895,19 @@ function experimental_customProvider({
|
|
5890
5895
|
return fallbackProvider.textEmbeddingModel(modelId);
|
5891
5896
|
}
|
5892
5897
|
throw new import_provider19.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
|
5898
|
+
},
|
5899
|
+
imageModel(modelId) {
|
5900
|
+
if (imageModels != null && modelId in imageModels) {
|
5901
|
+
return imageModels[modelId];
|
5902
|
+
}
|
5903
|
+
if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
|
5904
|
+
return fallbackProvider.imageModel(modelId);
|
5905
|
+
}
|
5906
|
+
throw new import_provider19.NoSuchModelError({ modelId, modelType: "imageModel" });
|
5893
5907
|
}
|
5894
5908
|
};
|
5895
5909
|
}
|
5910
|
+
var experimental_customProvider = customProvider;
|
5896
5911
|
|
5897
5912
|
// core/registry/no-such-provider-error.ts
|
5898
5913
|
var import_provider20 = require("@ai-sdk/provider");
|
@@ -5932,7 +5947,10 @@ var DefaultProviderRegistry = class {
|
|
5932
5947
|
constructor() {
|
5933
5948
|
this.providers = {};
|
5934
5949
|
}
|
5935
|
-
registerProvider({
|
5950
|
+
registerProvider({
|
5951
|
+
id,
|
5952
|
+
provider
|
5953
|
+
}) {
|
5936
5954
|
this.providers[id] = provider;
|
5937
5955
|
}
|
5938
5956
|
getProvider(id) {
|
@@ -5980,6 +5998,16 @@ var DefaultProviderRegistry = class {
|
|
5980
5998
|
}
|
5981
5999
|
return model;
|
5982
6000
|
}
|
6001
|
+
imageModel(id) {
|
6002
|
+
var _a15;
|
6003
|
+
const [providerId, modelId] = this.splitId(id, "imageModel");
|
6004
|
+
const provider = this.getProvider(providerId);
|
6005
|
+
const model = (_a15 = provider.imageModel) == null ? void 0 : _a15.call(provider, modelId);
|
6006
|
+
if (model == null) {
|
6007
|
+
throw new import_provider21.NoSuchModelError({ modelId: id, modelType: "imageModel" });
|
6008
|
+
}
|
6009
|
+
return model;
|
6010
|
+
}
|
5983
6011
|
/**
|
5984
6012
|
* @deprecated Use `textEmbeddingModel` instead.
|
5985
6013
|
*/
|
@@ -6426,6 +6454,7 @@ var StreamData = class {
|
|
6426
6454
|
createDataStream,
|
6427
6455
|
createDataStreamResponse,
|
6428
6456
|
createIdGenerator,
|
6457
|
+
customProvider,
|
6429
6458
|
embed,
|
6430
6459
|
embedMany,
|
6431
6460
|
experimental_createProviderRegistry,
|