ai 3.2.24 → 3.2.25

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 CHANGED
@@ -1,4 +1,4 @@
1
- import { DeepPartial, JSONValue, CreateMessage, FunctionCall as FunctionCall$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
1
+ import { DeepPartial, Attachment, JSONValue, CreateMessage, FunctionCall as FunctionCall$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
2
2
  export { AssistantMessage, AssistantStatus, ChatRequest, ChatRequestOptions, CreateMessage, DataMessage, DeepPartial, Function, FunctionCall, FunctionCallHandler, IdGenerator, JSONValue, Message, RequestOptions, StreamPart, Tool, ToolCall, ToolCallHandler, ToolChoice, ToolInvocation, UseAssistantOptions, formatStreamPart, parseComplexResponse, parseStreamPart, readDataStream } from '@ai-sdk/ui-utils';
3
3
  import { EmbeddingModelV1, EmbeddingModelV1Embedding, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1StreamPart } from '@ai-sdk/provider';
4
4
  export { APICallError, EmptyResponseBodyError, InvalidArgumentError, InvalidDataContentError, InvalidPromptError, InvalidResponseDataError, InvalidToolArgumentsError, JSONParseError, LoadAPIKeyError, NoObjectGeneratedError, NoSuchToolError, RetryError, ToolCallParseError, TypeValidationError, UnsupportedFunctionalityError, UnsupportedJSONSchemaError } from '@ai-sdk/provider';
@@ -310,6 +310,13 @@ Converts data content to a Uint8Array.
310
310
  @returns Uint8Array.
311
311
  */
312
312
  declare function convertDataContentToUint8Array(content: DataContent): Uint8Array;
313
+ /**
314
+ * Converts a Uint8Array to a string of text.
315
+ *
316
+ * @param uint8Array - The Uint8Array to convert.
317
+ * @returns The converted string.
318
+ */
319
+ declare function convertUint8ArrayToText(uint8Array: Uint8Array): string;
313
320
 
314
321
  /**
315
322
  Text content part of a prompt. It contains a string of text.
@@ -905,6 +912,7 @@ declare function convertToCoreMessages(messages: Array<{
905
912
  role: 'user' | 'assistant';
906
913
  content: string;
907
914
  toolInvocations?: Array<ToolResult<string, unknown, unknown>>;
915
+ experimental_attachments?: Attachment[];
908
916
  }>): CoreMessage[];
909
917
 
910
918
  declare class InvalidMessageRoleError extends Error {
@@ -2227,4 +2235,4 @@ declare const generateId: (size?: number | undefined) => string;
2227
2235
  */
2228
2236
  declare const nanoid: (size?: number | undefined) => string;
2229
2237
 
2230
- export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantResponse, CallWarning, CohereStream, CompletionTokenUsage, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, DataContent, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingTokenUsage, 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 };
2238
+ export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantResponse, CallWarning, CohereStream, CompletionTokenUsage, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, DataContent, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingTokenUsage, 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, convertUint8ArrayToText, 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
@@ -1,4 +1,4 @@
1
- import { DeepPartial, JSONValue, CreateMessage, FunctionCall as FunctionCall$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
1
+ import { DeepPartial, Attachment, JSONValue, CreateMessage, FunctionCall as FunctionCall$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
2
2
  export { AssistantMessage, AssistantStatus, ChatRequest, ChatRequestOptions, CreateMessage, DataMessage, DeepPartial, Function, FunctionCall, FunctionCallHandler, IdGenerator, JSONValue, Message, RequestOptions, StreamPart, Tool, ToolCall, ToolCallHandler, ToolChoice, ToolInvocation, UseAssistantOptions, formatStreamPart, parseComplexResponse, parseStreamPart, readDataStream } from '@ai-sdk/ui-utils';
3
3
  import { EmbeddingModelV1, EmbeddingModelV1Embedding, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1StreamPart } from '@ai-sdk/provider';
4
4
  export { APICallError, EmptyResponseBodyError, InvalidArgumentError, InvalidDataContentError, InvalidPromptError, InvalidResponseDataError, InvalidToolArgumentsError, JSONParseError, LoadAPIKeyError, NoObjectGeneratedError, NoSuchToolError, RetryError, ToolCallParseError, TypeValidationError, UnsupportedFunctionalityError, UnsupportedJSONSchemaError } from '@ai-sdk/provider';
@@ -310,6 +310,13 @@ Converts data content to a Uint8Array.
310
310
  @returns Uint8Array.
311
311
  */
312
312
  declare function convertDataContentToUint8Array(content: DataContent): Uint8Array;
313
+ /**
314
+ * Converts a Uint8Array to a string of text.
315
+ *
316
+ * @param uint8Array - The Uint8Array to convert.
317
+ * @returns The converted string.
318
+ */
319
+ declare function convertUint8ArrayToText(uint8Array: Uint8Array): string;
313
320
 
314
321
  /**
315
322
  Text content part of a prompt. It contains a string of text.
@@ -905,6 +912,7 @@ declare function convertToCoreMessages(messages: Array<{
905
912
  role: 'user' | 'assistant';
906
913
  content: string;
907
914
  toolInvocations?: Array<ToolResult<string, unknown, unknown>>;
915
+ experimental_attachments?: Attachment[];
908
916
  }>): CoreMessage[];
909
917
 
910
918
  declare class InvalidMessageRoleError extends Error {
@@ -2227,4 +2235,4 @@ declare const generateId: (size?: number | undefined) => string;
2227
2235
  */
2228
2236
  declare const nanoid: (size?: number | undefined) => string;
2229
2237
 
2230
- export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantResponse, CallWarning, CohereStream, CompletionTokenUsage, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, DataContent, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingTokenUsage, 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 };
2238
+ export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantResponse, CallWarning, CohereStream, CompletionTokenUsage, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, DataContent, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingTokenUsage, 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, convertUint8ArrayToText, 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
@@ -78,6 +78,7 @@ __export(streams_exports, {
78
78
  convertDataContentToBase64String: () => convertDataContentToBase64String,
79
79
  convertDataContentToUint8Array: () => convertDataContentToUint8Array,
80
80
  convertToCoreMessages: () => convertToCoreMessages,
81
+ convertUint8ArrayToText: () => convertUint8ArrayToText,
81
82
  cosineSimilarity: () => cosineSimilarity,
82
83
  createCallbacksTransformer: () => createCallbacksTransformer,
83
84
  createEventStreamTransformer: () => createEventStreamTransformer,
@@ -296,7 +297,7 @@ function convertDataContentToUint8Array(content) {
296
297
  return (0, import_provider_utils2.convertBase64ToUint8Array)(content);
297
298
  } catch (error) {
298
299
  throw new import_provider2.InvalidDataContentError({
299
- message: "Invalid data content. Content string is not a base64-encoded image.",
300
+ message: "Invalid data content. Content string is not a base64-encoded media.",
300
301
  content,
301
302
  cause: error
302
303
  });
@@ -307,6 +308,13 @@ function convertDataContentToUint8Array(content) {
307
308
  }
308
309
  throw new import_provider2.InvalidDataContentError({ content });
309
310
  }
311
+ function convertUint8ArrayToText(uint8Array) {
312
+ try {
313
+ return new TextDecoder().decode(uint8Array);
314
+ } catch (error) {
315
+ throw new Error("Error decoding Uint8Array to text");
316
+ }
317
+ }
310
318
 
311
319
  // core/prompt/invalid-message-role-error.ts
312
320
  var InvalidMessageRoleError = class extends Error {
@@ -2186,13 +2194,79 @@ var StreamTextResult = class {
2186
2194
  };
2187
2195
  var experimental_streamText = streamText;
2188
2196
 
2197
+ // core/prompt/attachments-to-parts.ts
2198
+ function attachmentsToParts(attachments) {
2199
+ var _a, _b, _c;
2200
+ const parts = [];
2201
+ for (const attachment of attachments) {
2202
+ let url;
2203
+ try {
2204
+ url = new URL(attachment.url);
2205
+ } catch (error) {
2206
+ throw new Error(`Invalid URL: ${attachment.url}`);
2207
+ }
2208
+ switch (url.protocol) {
2209
+ case "http:":
2210
+ case "https:": {
2211
+ if ((_a = attachment.contentType) == null ? void 0 : _a.startsWith("image/")) {
2212
+ parts.push({ type: "image", image: url });
2213
+ }
2214
+ break;
2215
+ }
2216
+ case "data:": {
2217
+ let header;
2218
+ let base64Content;
2219
+ let mimeType;
2220
+ try {
2221
+ [header, base64Content] = attachment.url.split(",");
2222
+ mimeType = header.split(";")[0].split(":")[1];
2223
+ } catch (error) {
2224
+ throw new Error(`Error processing data URL: ${attachment.url}`);
2225
+ }
2226
+ if (mimeType == null || base64Content == null) {
2227
+ throw new Error(`Invalid data URL format: ${attachment.url}`);
2228
+ }
2229
+ if ((_b = attachment.contentType) == null ? void 0 : _b.startsWith("image/")) {
2230
+ parts.push({
2231
+ type: "image",
2232
+ image: convertDataContentToUint8Array(base64Content)
2233
+ });
2234
+ } else if ((_c = attachment.contentType) == null ? void 0 : _c.startsWith("text/")) {
2235
+ parts.push({
2236
+ type: "text",
2237
+ text: convertUint8ArrayToText(
2238
+ convertDataContentToUint8Array(base64Content)
2239
+ )
2240
+ });
2241
+ }
2242
+ break;
2243
+ }
2244
+ default: {
2245
+ throw new Error(`Unsupported URL protocol: ${url.protocol}`);
2246
+ }
2247
+ }
2248
+ }
2249
+ return parts;
2250
+ }
2251
+
2189
2252
  // core/prompt/convert-to-core-messages.ts
2190
2253
  function convertToCoreMessages(messages) {
2191
2254
  const coreMessages = [];
2192
- for (const { role, content, toolInvocations } of messages) {
2255
+ for (const {
2256
+ role,
2257
+ content,
2258
+ toolInvocations,
2259
+ experimental_attachments
2260
+ } of messages) {
2193
2261
  switch (role) {
2194
2262
  case "user": {
2195
- coreMessages.push({ role: "user", content });
2263
+ coreMessages.push({
2264
+ role: "user",
2265
+ content: experimental_attachments ? [
2266
+ { type: "text", text: content },
2267
+ ...attachmentsToParts(experimental_attachments)
2268
+ ] : content
2269
+ });
2196
2270
  break;
2197
2271
  }
2198
2272
  case "assistant": {
@@ -3536,6 +3610,7 @@ var nanoid = import_provider_utils7.generateId;
3536
3610
  convertDataContentToBase64String,
3537
3611
  convertDataContentToUint8Array,
3538
3612
  convertToCoreMessages,
3613
+ convertUint8ArrayToText,
3539
3614
  cosineSimilarity,
3540
3615
  createCallbacksTransformer,
3541
3616
  createEventStreamTransformer,