ai 3.1.34 → 3.1.36
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/dist/index.d.mts +77 -37
- package/dist/index.d.ts +77 -37
- package/dist/index.js +102 -52
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +92 -43
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -7
- package/rsc/dist/rsc-server.mjs +42 -0
- package/rsc/dist/rsc-server.mjs.map +1 -1
package/dist/index.d.mts
CHANGED
@@ -1234,32 +1234,27 @@ declare class StreamTextResult<TOOLS extends Record<string, CoreTool>> {
|
|
1234
1234
|
*/
|
1235
1235
|
declare const experimental_streamText: typeof streamText;
|
1236
1236
|
|
1237
|
-
|
1238
|
-
|
1239
|
-
|
1240
|
-
|
1241
|
-
|
1242
|
-
|
1243
|
-
|
1244
|
-
|
1245
|
-
|
1246
|
-
|
1247
|
-
|
1248
|
-
|
1249
|
-
|
1250
|
-
|
1251
|
-
*/
|
1252
|
-
languageModel(id: string): LanguageModel;
|
1253
|
-
};
|
1254
|
-
/**
|
1255
|
-
* Creates a model registry for the given providers.
|
1256
|
-
*/
|
1257
|
-
declare function experimental_createModelRegistry(providers: Record<string, (id: string) => LanguageModel>): experimental_ModelRegistry;
|
1237
|
+
declare class InvalidModelIdError extends Error {
|
1238
|
+
readonly id: string;
|
1239
|
+
constructor({ id, message, }: {
|
1240
|
+
id: string;
|
1241
|
+
message?: string;
|
1242
|
+
});
|
1243
|
+
static isInvalidModelIdError(error: unknown): error is InvalidModelIdError;
|
1244
|
+
toJSON(): {
|
1245
|
+
name: string;
|
1246
|
+
message: string;
|
1247
|
+
stack: string | undefined;
|
1248
|
+
id: string;
|
1249
|
+
};
|
1250
|
+
}
|
1258
1251
|
|
1259
1252
|
declare class NoSuchModelError extends Error {
|
1260
1253
|
readonly modelId: string;
|
1261
|
-
|
1254
|
+
readonly modelType: string;
|
1255
|
+
constructor({ modelId, modelType, message, }: {
|
1262
1256
|
modelId: string;
|
1257
|
+
modelType: string;
|
1263
1258
|
message?: string;
|
1264
1259
|
});
|
1265
1260
|
static isNoSuchModelError(error: unknown): error is NoSuchModelError;
|
@@ -1268,13 +1263,16 @@ declare class NoSuchModelError extends Error {
|
|
1268
1263
|
message: string;
|
1269
1264
|
stack: string | undefined;
|
1270
1265
|
modelId: string;
|
1266
|
+
modelType: string;
|
1271
1267
|
};
|
1272
1268
|
}
|
1273
1269
|
|
1274
1270
|
declare class NoSuchProviderError extends Error {
|
1275
1271
|
readonly providerId: string;
|
1276
|
-
|
1272
|
+
readonly availableProviders: string[];
|
1273
|
+
constructor({ providerId, availableProviders, message, }: {
|
1277
1274
|
providerId: string;
|
1275
|
+
availableProviders: string[];
|
1278
1276
|
message?: string;
|
1279
1277
|
});
|
1280
1278
|
static isNoSuchProviderError(error: unknown): error is NoSuchProviderError;
|
@@ -1283,23 +1281,65 @@ declare class NoSuchProviderError extends Error {
|
|
1283
1281
|
message: string;
|
1284
1282
|
stack: string | undefined;
|
1285
1283
|
providerId: string;
|
1284
|
+
availableProviders: string[];
|
1286
1285
|
};
|
1287
1286
|
}
|
1288
1287
|
|
1289
|
-
|
1290
|
-
|
1291
|
-
|
1292
|
-
|
1293
|
-
|
1294
|
-
|
1295
|
-
|
1296
|
-
|
1297
|
-
|
1298
|
-
|
1299
|
-
|
1300
|
-
|
1301
|
-
|
1288
|
+
/**
|
1289
|
+
Registry for managing models. It enables getting a model with a string id.
|
1290
|
+
*/
|
1291
|
+
type experimental_ProviderRegistry = {
|
1292
|
+
/**
|
1293
|
+
Returns the language model with the given id in the format `providerId:modelId`.
|
1294
|
+
The model id is then passed to the provider function to get the model.
|
1295
|
+
|
1296
|
+
@param {string} id - The id of the model to return.
|
1297
|
+
|
1298
|
+
@throws {NoSuchModelError} If no model with the given id exists.
|
1299
|
+
@throws {NoSuchProviderError} If no provider with the given id exists.
|
1300
|
+
|
1301
|
+
@returns {LanguageModel} The language model associated with the id.
|
1302
|
+
*/
|
1303
|
+
languageModel(id: string): LanguageModel;
|
1304
|
+
/**
|
1305
|
+
Returns the text embedding model with the given id in the format `providerId:modelId`.
|
1306
|
+
The model id is then passed to the provider function to get the model.
|
1307
|
+
|
1308
|
+
@param {string} id - The id of the model to return.
|
1309
|
+
|
1310
|
+
@throws {NoSuchModelError} If no model with the given id exists.
|
1311
|
+
@throws {NoSuchProviderError} If no provider with the given id exists.
|
1312
|
+
|
1313
|
+
@returns {LanguageModel} The language model associated with the id.
|
1314
|
+
*/
|
1315
|
+
textEmbeddingModel(id: string): EmbeddingModel<string>;
|
1316
|
+
};
|
1317
|
+
/**
|
1318
|
+
* @deprecated Use `experimental_ProviderRegistry` instead.
|
1319
|
+
*/
|
1320
|
+
type experimental_ModelRegistry = experimental_ProviderRegistry;
|
1321
|
+
/**
|
1322
|
+
* Provider for language and text embedding models. Compatible with the
|
1323
|
+
* provider registry.
|
1324
|
+
*/
|
1325
|
+
interface Provider {
|
1326
|
+
/**
|
1327
|
+
* Returns a language model with the given id.
|
1328
|
+
*/
|
1329
|
+
languageModel?: (modelId: string) => LanguageModel;
|
1330
|
+
/**
|
1331
|
+
* Returns a text embedding model with the given id.
|
1332
|
+
*/
|
1333
|
+
textEmbedding?: (modelId: string) => EmbeddingModel<string>;
|
1302
1334
|
}
|
1335
|
+
/**
|
1336
|
+
* Creates a registry for the given providers.
|
1337
|
+
*/
|
1338
|
+
declare function experimental_createProviderRegistry(providers: Record<string, Provider>): experimental_ProviderRegistry;
|
1339
|
+
/**
|
1340
|
+
* @deprecated Use `experimental_createProviderRegistry` instead.
|
1341
|
+
*/
|
1342
|
+
declare const experimental_createModelRegistry: typeof experimental_createProviderRegistry;
|
1303
1343
|
|
1304
1344
|
/**
|
1305
1345
|
* Calculates the cosine similarity between two vectors. This is a useful metric for
|
@@ -2041,4 +2081,4 @@ declare const generateId: (size?: number | undefined) => string;
|
|
2041
2081
|
*/
|
2042
2082
|
declare const nanoid: (size?: number | undefined) => string;
|
2043
2083
|
|
2044
|
-
export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantResponse, CallWarning, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, DataContent, DeepPartial, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, InvalidMessageRoleError, InvalidModelIdError, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, MistralStream, NoSuchModelError, NoSuchProviderError, ObjectStreamInputPart, ObjectStreamPart, OpenAIStream, OpenAIStreamCallbacks, ReplicateStream, StreamData, StreamObjectResult, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, TokenUsage, ToolCallPart, ToolCallPayload, ToolContent, ToolResultPart, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, convertToCoreMessages, cosineSimilarity, createCallbacksTransformer, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, experimental_AssistantResponse, experimental_ModelRegistry, experimental_StreamData, experimental_createModelRegistry, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, generateId, generateObject, generateText, nanoid, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };
|
2084
|
+
export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantResponse, CallWarning, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, DataContent, DeepPartial, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, InvalidMessageRoleError, InvalidModelIdError, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, MistralStream, NoSuchModelError, NoSuchProviderError, ObjectStreamInputPart, ObjectStreamPart, OpenAIStream, OpenAIStreamCallbacks, ReplicateStream, StreamData, StreamObjectResult, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, TokenUsage, ToolCallPart, ToolCallPayload, ToolContent, ToolResultPart, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, convertToCoreMessages, cosineSimilarity, createCallbacksTransformer, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, experimental_AssistantResponse, experimental_ModelRegistry, experimental_ProviderRegistry, experimental_StreamData, experimental_createModelRegistry, experimental_createProviderRegistry, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, generateId, generateObject, generateText, nanoid, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };
|
package/dist/index.d.ts
CHANGED
@@ -1234,32 +1234,27 @@ declare class StreamTextResult<TOOLS extends Record<string, CoreTool>> {
|
|
1234
1234
|
*/
|
1235
1235
|
declare const experimental_streamText: typeof streamText;
|
1236
1236
|
|
1237
|
-
|
1238
|
-
|
1239
|
-
|
1240
|
-
|
1241
|
-
|
1242
|
-
|
1243
|
-
|
1244
|
-
|
1245
|
-
|
1246
|
-
|
1247
|
-
|
1248
|
-
|
1249
|
-
|
1250
|
-
|
1251
|
-
*/
|
1252
|
-
languageModel(id: string): LanguageModel;
|
1253
|
-
};
|
1254
|
-
/**
|
1255
|
-
* Creates a model registry for the given providers.
|
1256
|
-
*/
|
1257
|
-
declare function experimental_createModelRegistry(providers: Record<string, (id: string) => LanguageModel>): experimental_ModelRegistry;
|
1237
|
+
declare class InvalidModelIdError extends Error {
|
1238
|
+
readonly id: string;
|
1239
|
+
constructor({ id, message, }: {
|
1240
|
+
id: string;
|
1241
|
+
message?: string;
|
1242
|
+
});
|
1243
|
+
static isInvalidModelIdError(error: unknown): error is InvalidModelIdError;
|
1244
|
+
toJSON(): {
|
1245
|
+
name: string;
|
1246
|
+
message: string;
|
1247
|
+
stack: string | undefined;
|
1248
|
+
id: string;
|
1249
|
+
};
|
1250
|
+
}
|
1258
1251
|
|
1259
1252
|
declare class NoSuchModelError extends Error {
|
1260
1253
|
readonly modelId: string;
|
1261
|
-
|
1254
|
+
readonly modelType: string;
|
1255
|
+
constructor({ modelId, modelType, message, }: {
|
1262
1256
|
modelId: string;
|
1257
|
+
modelType: string;
|
1263
1258
|
message?: string;
|
1264
1259
|
});
|
1265
1260
|
static isNoSuchModelError(error: unknown): error is NoSuchModelError;
|
@@ -1268,13 +1263,16 @@ declare class NoSuchModelError extends Error {
|
|
1268
1263
|
message: string;
|
1269
1264
|
stack: string | undefined;
|
1270
1265
|
modelId: string;
|
1266
|
+
modelType: string;
|
1271
1267
|
};
|
1272
1268
|
}
|
1273
1269
|
|
1274
1270
|
declare class NoSuchProviderError extends Error {
|
1275
1271
|
readonly providerId: string;
|
1276
|
-
|
1272
|
+
readonly availableProviders: string[];
|
1273
|
+
constructor({ providerId, availableProviders, message, }: {
|
1277
1274
|
providerId: string;
|
1275
|
+
availableProviders: string[];
|
1278
1276
|
message?: string;
|
1279
1277
|
});
|
1280
1278
|
static isNoSuchProviderError(error: unknown): error is NoSuchProviderError;
|
@@ -1283,23 +1281,65 @@ declare class NoSuchProviderError extends Error {
|
|
1283
1281
|
message: string;
|
1284
1282
|
stack: string | undefined;
|
1285
1283
|
providerId: string;
|
1284
|
+
availableProviders: string[];
|
1286
1285
|
};
|
1287
1286
|
}
|
1288
1287
|
|
1289
|
-
|
1290
|
-
|
1291
|
-
|
1292
|
-
|
1293
|
-
|
1294
|
-
|
1295
|
-
|
1296
|
-
|
1297
|
-
|
1298
|
-
|
1299
|
-
|
1300
|
-
|
1301
|
-
|
1288
|
+
/**
|
1289
|
+
Registry for managing models. It enables getting a model with a string id.
|
1290
|
+
*/
|
1291
|
+
type experimental_ProviderRegistry = {
|
1292
|
+
/**
|
1293
|
+
Returns the language model with the given id in the format `providerId:modelId`.
|
1294
|
+
The model id is then passed to the provider function to get the model.
|
1295
|
+
|
1296
|
+
@param {string} id - The id of the model to return.
|
1297
|
+
|
1298
|
+
@throws {NoSuchModelError} If no model with the given id exists.
|
1299
|
+
@throws {NoSuchProviderError} If no provider with the given id exists.
|
1300
|
+
|
1301
|
+
@returns {LanguageModel} The language model associated with the id.
|
1302
|
+
*/
|
1303
|
+
languageModel(id: string): LanguageModel;
|
1304
|
+
/**
|
1305
|
+
Returns the text embedding model with the given id in the format `providerId:modelId`.
|
1306
|
+
The model id is then passed to the provider function to get the model.
|
1307
|
+
|
1308
|
+
@param {string} id - The id of the model to return.
|
1309
|
+
|
1310
|
+
@throws {NoSuchModelError} If no model with the given id exists.
|
1311
|
+
@throws {NoSuchProviderError} If no provider with the given id exists.
|
1312
|
+
|
1313
|
+
@returns {LanguageModel} The language model associated with the id.
|
1314
|
+
*/
|
1315
|
+
textEmbeddingModel(id: string): EmbeddingModel<string>;
|
1316
|
+
};
|
1317
|
+
/**
|
1318
|
+
* @deprecated Use `experimental_ProviderRegistry` instead.
|
1319
|
+
*/
|
1320
|
+
type experimental_ModelRegistry = experimental_ProviderRegistry;
|
1321
|
+
/**
|
1322
|
+
* Provider for language and text embedding models. Compatible with the
|
1323
|
+
* provider registry.
|
1324
|
+
*/
|
1325
|
+
interface Provider {
|
1326
|
+
/**
|
1327
|
+
* Returns a language model with the given id.
|
1328
|
+
*/
|
1329
|
+
languageModel?: (modelId: string) => LanguageModel;
|
1330
|
+
/**
|
1331
|
+
* Returns a text embedding model with the given id.
|
1332
|
+
*/
|
1333
|
+
textEmbedding?: (modelId: string) => EmbeddingModel<string>;
|
1302
1334
|
}
|
1335
|
+
/**
|
1336
|
+
* Creates a registry for the given providers.
|
1337
|
+
*/
|
1338
|
+
declare function experimental_createProviderRegistry(providers: Record<string, Provider>): experimental_ProviderRegistry;
|
1339
|
+
/**
|
1340
|
+
* @deprecated Use `experimental_createProviderRegistry` instead.
|
1341
|
+
*/
|
1342
|
+
declare const experimental_createModelRegistry: typeof experimental_createProviderRegistry;
|
1303
1343
|
|
1304
1344
|
/**
|
1305
1345
|
* Calculates the cosine similarity between two vectors. This is a useful metric for
|
@@ -2041,4 +2081,4 @@ declare const generateId: (size?: number | undefined) => string;
|
|
2041
2081
|
*/
|
2042
2082
|
declare const nanoid: (size?: number | undefined) => string;
|
2043
2083
|
|
2044
|
-
export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantResponse, CallWarning, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, DataContent, DeepPartial, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, InvalidMessageRoleError, InvalidModelIdError, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, MistralStream, NoSuchModelError, NoSuchProviderError, ObjectStreamInputPart, ObjectStreamPart, OpenAIStream, OpenAIStreamCallbacks, ReplicateStream, StreamData, StreamObjectResult, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, TokenUsage, ToolCallPart, ToolCallPayload, ToolContent, ToolResultPart, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, convertToCoreMessages, cosineSimilarity, createCallbacksTransformer, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, experimental_AssistantResponse, experimental_ModelRegistry, experimental_StreamData, experimental_createModelRegistry, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, generateId, generateObject, generateText, nanoid, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };
|
2084
|
+
export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantResponse, CallWarning, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, DataContent, DeepPartial, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, InvalidMessageRoleError, InvalidModelIdError, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, MistralStream, NoSuchModelError, NoSuchProviderError, ObjectStreamInputPart, ObjectStreamPart, OpenAIStream, OpenAIStreamCallbacks, ReplicateStream, StreamData, StreamObjectResult, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, TokenUsage, ToolCallPart, ToolCallPayload, ToolContent, ToolResultPart, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, convertToCoreMessages, cosineSimilarity, createCallbacksTransformer, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, experimental_AssistantResponse, experimental_ModelRegistry, experimental_ProviderRegistry, experimental_StreamData, experimental_createModelRegistry, experimental_createProviderRegistry, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, generateId, generateObject, generateText, nanoid, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };
|
package/dist/index.js
CHANGED
@@ -87,6 +87,7 @@ __export(streams_exports, {
|
|
87
87
|
experimental_AssistantResponse: () => experimental_AssistantResponse,
|
88
88
|
experimental_StreamData: () => experimental_StreamData,
|
89
89
|
experimental_createModelRegistry: () => experimental_createModelRegistry,
|
90
|
+
experimental_createProviderRegistry: () => experimental_createProviderRegistry,
|
90
91
|
experimental_generateObject: () => experimental_generateObject,
|
91
92
|
experimental_generateText: () => experimental_generateText,
|
92
93
|
experimental_streamObject: () => experimental_streamObject,
|
@@ -108,7 +109,7 @@ __export(streams_exports, {
|
|
108
109
|
});
|
109
110
|
module.exports = __toCommonJS(streams_exports);
|
110
111
|
var import_ui_utils5 = require("@ai-sdk/ui-utils");
|
111
|
-
var
|
112
|
+
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
112
113
|
|
113
114
|
// core/util/retry-with-exponential-backoff.ts
|
114
115
|
var import_provider = require("@ai-sdk/provider");
|
@@ -249,7 +250,7 @@ var EmbedManyResult = class {
|
|
249
250
|
|
250
251
|
// core/generate-object/generate-object.ts
|
251
252
|
var import_provider5 = require("@ai-sdk/provider");
|
252
|
-
var
|
253
|
+
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
253
254
|
|
254
255
|
// core/generate-text/token-usage.ts
|
255
256
|
function calculateTokenUsage(usage) {
|
@@ -333,6 +334,7 @@ var InvalidMessageRoleError = class extends Error {
|
|
333
334
|
};
|
334
335
|
|
335
336
|
// core/prompt/convert-to-language-model-prompt.ts
|
337
|
+
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
336
338
|
function convertToLanguageModelPrompt(prompt) {
|
337
339
|
const languageModelMessages = [];
|
338
340
|
if (prompt.system != null) {
|
@@ -390,6 +392,47 @@ function convertToLanguageModelMessage(message) {
|
|
390
392
|
mimeType: part.mimeType
|
391
393
|
};
|
392
394
|
}
|
395
|
+
if (typeof part.image === "string") {
|
396
|
+
try {
|
397
|
+
const url = new URL(part.image);
|
398
|
+
switch (url.protocol) {
|
399
|
+
case "http:":
|
400
|
+
case "https:": {
|
401
|
+
return {
|
402
|
+
type: "image",
|
403
|
+
image: url,
|
404
|
+
mimeType: part.mimeType
|
405
|
+
};
|
406
|
+
}
|
407
|
+
case "data:": {
|
408
|
+
try {
|
409
|
+
const [header, base64Content] = part.image.split(",");
|
410
|
+
const mimeType = header.split(";")[0].split(":")[1];
|
411
|
+
if (mimeType == null || base64Content == null) {
|
412
|
+
throw new Error("Invalid data URL format");
|
413
|
+
}
|
414
|
+
return {
|
415
|
+
type: "image",
|
416
|
+
image: convertDataContentToUint8Array(base64Content),
|
417
|
+
mimeType
|
418
|
+
};
|
419
|
+
} catch (error) {
|
420
|
+
throw new Error(
|
421
|
+
`Error processing data URL: ${(0, import_provider_utils3.getErrorMessage)(
|
422
|
+
message
|
423
|
+
)}`
|
424
|
+
);
|
425
|
+
}
|
426
|
+
}
|
427
|
+
default: {
|
428
|
+
throw new Error(
|
429
|
+
`Unsupported URL protocol: ${url.protocol}`
|
430
|
+
);
|
431
|
+
}
|
432
|
+
}
|
433
|
+
} catch (_ignored) {
|
434
|
+
}
|
435
|
+
}
|
393
436
|
const imageUint8 = convertDataContentToUint8Array(part.image);
|
394
437
|
return {
|
395
438
|
type: "image",
|
@@ -700,7 +743,7 @@ async function generateObject({
|
|
700
743
|
throw new Error(`Unsupported mode: ${_exhaustiveCheck}`);
|
701
744
|
}
|
702
745
|
}
|
703
|
-
const parseResult = (0,
|
746
|
+
const parseResult = (0, import_provider_utils4.safeParseJSON)({ text: result, schema });
|
704
747
|
if (!parseResult.success) {
|
705
748
|
throw parseResult.error;
|
706
749
|
}
|
@@ -1116,7 +1159,7 @@ function parsePartialJson(jsonText) {
|
|
1116
1159
|
}
|
1117
1160
|
|
1118
1161
|
// core/generate-object/stream-object.ts
|
1119
|
-
var
|
1162
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
1120
1163
|
async function streamObject({
|
1121
1164
|
model,
|
1122
1165
|
schema,
|
@@ -1290,7 +1333,7 @@ var StreamObjectResult = class {
|
|
1290
1333
|
usage = calculateTokenUsage(chunk.usage);
|
1291
1334
|
controller.enqueue({ ...chunk, usage });
|
1292
1335
|
resolveUsage(usage);
|
1293
|
-
const validationResult = (0,
|
1336
|
+
const validationResult = (0, import_provider_utils5.safeValidateTypes)({
|
1294
1337
|
value: latestObject,
|
1295
1338
|
schema
|
1296
1339
|
});
|
@@ -1389,7 +1432,7 @@ function prepareToolsAndToolChoice({
|
|
1389
1432
|
|
1390
1433
|
// core/generate-text/tool-call.ts
|
1391
1434
|
var import_provider6 = require("@ai-sdk/provider");
|
1392
|
-
var
|
1435
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
1393
1436
|
function parseToolCall({
|
1394
1437
|
toolCall,
|
1395
1438
|
tools
|
@@ -1405,7 +1448,7 @@ function parseToolCall({
|
|
1405
1448
|
availableTools: Object.keys(tools)
|
1406
1449
|
});
|
1407
1450
|
}
|
1408
|
-
const parseResult = (0,
|
1451
|
+
const parseResult = (0, import_provider_utils6.safeParseJSON)({
|
1409
1452
|
text: toolCall.args,
|
1410
1453
|
schema: tool2.parameters
|
1411
1454
|
});
|
@@ -2116,21 +2159,24 @@ var InvalidModelIdError = class extends Error {
|
|
2116
2159
|
var NoSuchModelError = class extends Error {
|
2117
2160
|
constructor({
|
2118
2161
|
modelId,
|
2119
|
-
|
2162
|
+
modelType,
|
2163
|
+
message = `No such ${modelType}: ${modelId}`
|
2120
2164
|
}) {
|
2121
2165
|
super(message);
|
2122
2166
|
this.name = "AI_NoSuchModelError";
|
2123
2167
|
this.modelId = modelId;
|
2168
|
+
this.modelType = modelType;
|
2124
2169
|
}
|
2125
2170
|
static isNoSuchModelError(error) {
|
2126
|
-
return error instanceof Error && error.name === "AI_NoSuchModelError" && typeof error.modelId === "string";
|
2171
|
+
return error instanceof Error && error.name === "AI_NoSuchModelError" && typeof error.modelId === "string" && typeof error.modelType === "string";
|
2127
2172
|
}
|
2128
2173
|
toJSON() {
|
2129
2174
|
return {
|
2130
2175
|
name: this.name,
|
2131
2176
|
message: this.message,
|
2132
2177
|
stack: this.stack,
|
2133
|
-
modelId: this.modelId
|
2178
|
+
modelId: this.modelId,
|
2179
|
+
modelType: this.modelType
|
2134
2180
|
};
|
2135
2181
|
}
|
2136
2182
|
};
|
@@ -2139,75 +2185,78 @@ var NoSuchModelError = class extends Error {
|
|
2139
2185
|
var NoSuchProviderError = class extends Error {
|
2140
2186
|
constructor({
|
2141
2187
|
providerId,
|
2142
|
-
|
2188
|
+
availableProviders,
|
2189
|
+
message = `No such provider: ${providerId} (available providers: ${availableProviders.join()})`
|
2143
2190
|
}) {
|
2144
2191
|
super(message);
|
2145
2192
|
this.name = "AI_NoSuchProviderError";
|
2146
2193
|
this.providerId = providerId;
|
2194
|
+
this.availableProviders = availableProviders;
|
2147
2195
|
}
|
2148
2196
|
static isNoSuchProviderError(error) {
|
2149
|
-
return error instanceof Error && error.name === "AI_NoSuchProviderError" && typeof error.providerId === "string";
|
2197
|
+
return error instanceof Error && error.name === "AI_NoSuchProviderError" && typeof error.providerId === "string" && Array.isArray(error.availableProviders);
|
2150
2198
|
}
|
2151
2199
|
toJSON() {
|
2152
2200
|
return {
|
2153
2201
|
name: this.name,
|
2154
2202
|
message: this.message,
|
2155
2203
|
stack: this.stack,
|
2156
|
-
providerId: this.providerId
|
2204
|
+
providerId: this.providerId,
|
2205
|
+
availableProviders: this.availableProviders
|
2157
2206
|
};
|
2158
2207
|
}
|
2159
2208
|
};
|
2160
2209
|
|
2161
|
-
// core/registry/
|
2162
|
-
function
|
2163
|
-
const registry = new
|
2210
|
+
// core/registry/provider-registry.ts
|
2211
|
+
function experimental_createProviderRegistry(providers) {
|
2212
|
+
const registry = new DefaultProviderRegistry();
|
2164
2213
|
for (const [id, provider] of Object.entries(providers)) {
|
2165
|
-
registry.
|
2214
|
+
registry.registerProvider({ id, provider });
|
2166
2215
|
}
|
2167
2216
|
return registry;
|
2168
2217
|
}
|
2169
|
-
var
|
2218
|
+
var experimental_createModelRegistry = experimental_createProviderRegistry;
|
2219
|
+
var DefaultProviderRegistry = class {
|
2170
2220
|
constructor() {
|
2171
|
-
// Mapping of provider id to provider
|
2172
2221
|
this.providers = {};
|
2173
2222
|
}
|
2174
|
-
|
2175
|
-
Registers a language model provider with a given id.
|
2176
|
-
|
2177
|
-
@param {string} id - The id of the provider.
|
2178
|
-
@param {(id: string) => LanguageModel} provider - The provider function to register.
|
2179
|
-
*/
|
2180
|
-
registerLanguageModelProvider({
|
2181
|
-
id,
|
2182
|
-
provider
|
2183
|
-
}) {
|
2223
|
+
registerProvider({ id, provider }) {
|
2184
2224
|
this.providers[id] = provider;
|
2185
2225
|
}
|
2186
|
-
|
2187
|
-
|
2188
|
-
|
2189
|
-
|
2190
|
-
|
2191
|
-
|
2192
|
-
|
2193
|
-
|
2194
|
-
|
2195
|
-
|
2196
|
-
|
2197
|
-
@returns {LanguageModel} The language model associated with the id.
|
2198
|
-
*/
|
2199
|
-
languageModel(id) {
|
2226
|
+
getProvider(id) {
|
2227
|
+
const provider = this.providers[id];
|
2228
|
+
if (provider == null) {
|
2229
|
+
throw new NoSuchProviderError({
|
2230
|
+
providerId: id,
|
2231
|
+
availableProviders: Object.keys(this.providers)
|
2232
|
+
});
|
2233
|
+
}
|
2234
|
+
return provider;
|
2235
|
+
}
|
2236
|
+
splitId(id) {
|
2200
2237
|
if (!id.includes(":")) {
|
2201
2238
|
throw new InvalidModelIdError({ id });
|
2202
2239
|
}
|
2203
|
-
|
2204
|
-
|
2205
|
-
|
2206
|
-
|
2240
|
+
return id.split(":");
|
2241
|
+
}
|
2242
|
+
languageModel(id) {
|
2243
|
+
var _a, _b;
|
2244
|
+
const [providerId, modelId] = this.splitId(id);
|
2245
|
+
const model = (_b = (_a = this.getProvider(providerId)).languageModel) == null ? void 0 : _b.call(_a, modelId);
|
2246
|
+
if (model == null) {
|
2247
|
+
throw new NoSuchModelError({ modelId: id, modelType: "language model" });
|
2207
2248
|
}
|
2208
|
-
|
2209
|
-
|
2210
|
-
|
2249
|
+
return model;
|
2250
|
+
}
|
2251
|
+
textEmbeddingModel(id) {
|
2252
|
+
var _a, _b;
|
2253
|
+
const [providerId, modelId] = this.splitId(id);
|
2254
|
+
const model = (_b = (_a = this.getProvider(providerId)).textEmbedding) == null ? void 0 : _b.call(_a, modelId);
|
2255
|
+
if (model == null) {
|
2256
|
+
throw new NoSuchModelError({
|
2257
|
+
modelId: id,
|
2258
|
+
modelType: "text embedding model"
|
2259
|
+
});
|
2211
2260
|
}
|
2212
2261
|
return model;
|
2213
2262
|
}
|
@@ -3331,8 +3380,8 @@ var StreamingTextResponse = class extends Response {
|
|
3331
3380
|
};
|
3332
3381
|
|
3333
3382
|
// streams/index.ts
|
3334
|
-
var generateId2 =
|
3335
|
-
var nanoid =
|
3383
|
+
var generateId2 = import_provider_utils7.generateId;
|
3384
|
+
var nanoid = import_provider_utils7.generateId;
|
3336
3385
|
// Annotate the CommonJS export names for ESM import in node:
|
3337
3386
|
0 && (module.exports = {
|
3338
3387
|
AIStream,
|
@@ -3392,6 +3441,7 @@ var nanoid = import_provider_utils6.generateId;
|
|
3392
3441
|
experimental_AssistantResponse,
|
3393
3442
|
experimental_StreamData,
|
3394
3443
|
experimental_createModelRegistry,
|
3444
|
+
experimental_createProviderRegistry,
|
3395
3445
|
experimental_generateObject,
|
3396
3446
|
experimental_generateText,
|
3397
3447
|
experimental_streamObject,
|