ai 3.2.24 → 3.2.26

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 {
@@ -715,7 +723,8 @@ async function generateObject({
715
723
  ...prepareCallSettings(settings),
716
724
  inputFormat: validatedPrompt.type,
717
725
  prompt: convertToLanguageModelPrompt(validatedPrompt),
718
- abortSignal
726
+ abortSignal,
727
+ headers
719
728
  })
720
729
  );
721
730
  if (generateResult.text === void 0) {
@@ -749,7 +758,8 @@ async function generateObject({
749
758
  ...prepareCallSettings(settings),
750
759
  inputFormat: validatedPrompt.type,
751
760
  prompt: convertToLanguageModelPrompt(validatedPrompt),
752
- abortSignal
761
+ abortSignal,
762
+ headers
753
763
  })
754
764
  );
755
765
  const functionArgs = (_b = (_a = generateResult.toolCalls) == null ? void 0 : _a[0]) == null ? void 0 : _b.args;
@@ -2186,13 +2196,79 @@ var StreamTextResult = class {
2186
2196
  };
2187
2197
  var experimental_streamText = streamText;
2188
2198
 
2199
+ // core/prompt/attachments-to-parts.ts
2200
+ function attachmentsToParts(attachments) {
2201
+ var _a, _b, _c;
2202
+ const parts = [];
2203
+ for (const attachment of attachments) {
2204
+ let url;
2205
+ try {
2206
+ url = new URL(attachment.url);
2207
+ } catch (error) {
2208
+ throw new Error(`Invalid URL: ${attachment.url}`);
2209
+ }
2210
+ switch (url.protocol) {
2211
+ case "http:":
2212
+ case "https:": {
2213
+ if ((_a = attachment.contentType) == null ? void 0 : _a.startsWith("image/")) {
2214
+ parts.push({ type: "image", image: url });
2215
+ }
2216
+ break;
2217
+ }
2218
+ case "data:": {
2219
+ let header;
2220
+ let base64Content;
2221
+ let mimeType;
2222
+ try {
2223
+ [header, base64Content] = attachment.url.split(",");
2224
+ mimeType = header.split(";")[0].split(":")[1];
2225
+ } catch (error) {
2226
+ throw new Error(`Error processing data URL: ${attachment.url}`);
2227
+ }
2228
+ if (mimeType == null || base64Content == null) {
2229
+ throw new Error(`Invalid data URL format: ${attachment.url}`);
2230
+ }
2231
+ if ((_b = attachment.contentType) == null ? void 0 : _b.startsWith("image/")) {
2232
+ parts.push({
2233
+ type: "image",
2234
+ image: convertDataContentToUint8Array(base64Content)
2235
+ });
2236
+ } else if ((_c = attachment.contentType) == null ? void 0 : _c.startsWith("text/")) {
2237
+ parts.push({
2238
+ type: "text",
2239
+ text: convertUint8ArrayToText(
2240
+ convertDataContentToUint8Array(base64Content)
2241
+ )
2242
+ });
2243
+ }
2244
+ break;
2245
+ }
2246
+ default: {
2247
+ throw new Error(`Unsupported URL protocol: ${url.protocol}`);
2248
+ }
2249
+ }
2250
+ }
2251
+ return parts;
2252
+ }
2253
+
2189
2254
  // core/prompt/convert-to-core-messages.ts
2190
2255
  function convertToCoreMessages(messages) {
2191
2256
  const coreMessages = [];
2192
- for (const { role, content, toolInvocations } of messages) {
2257
+ for (const {
2258
+ role,
2259
+ content,
2260
+ toolInvocations,
2261
+ experimental_attachments
2262
+ } of messages) {
2193
2263
  switch (role) {
2194
2264
  case "user": {
2195
- coreMessages.push({ role: "user", content });
2265
+ coreMessages.push({
2266
+ role: "user",
2267
+ content: experimental_attachments ? [
2268
+ { type: "text", text: content },
2269
+ ...attachmentsToParts(experimental_attachments)
2270
+ ] : content
2271
+ });
2196
2272
  break;
2197
2273
  }
2198
2274
  case "assistant": {
@@ -3536,6 +3612,7 @@ var nanoid = import_provider_utils7.generateId;
3536
3612
  convertDataContentToBase64String,
3537
3613
  convertDataContentToUint8Array,
3538
3614
  convertToCoreMessages,
3615
+ convertUint8ArrayToText,
3539
3616
  cosineSimilarity,
3540
3617
  createCallbacksTransformer,
3541
3618
  createEventStreamTransformer,