ai 3.1.4 → 3.1.6

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
@@ -162,7 +162,18 @@ interface ToolResultPart {
162
162
  A message that can be used in the `messages` field of a prompt.
163
163
  It can be a user message, an assistant message, or a tool message.
164
164
  */
165
- type CoreMessage = CoreUserMessage | CoreAssistantMessage | CoreToolMessage;
165
+ type CoreMessage = CoreSystemMessage | CoreUserMessage | CoreAssistantMessage | CoreToolMessage;
166
+ /**
167
+ A system message. It can contain system information.
168
+
169
+ Note: using the "system" part of the prompt is strongly preferred
170
+ to increase the resilience against prompt injection attacks,
171
+ and because not all providers support several system messages.
172
+ */
173
+ type CoreSystemMessage = {
174
+ role: 'system';
175
+ content: string;
176
+ };
166
177
  /**
167
178
  * @deprecated Use `CoreMessage` instead.
168
179
  */
@@ -967,9 +978,13 @@ interface Message$1 {
967
978
  tool_call_id?: string;
968
979
  createdAt?: Date;
969
980
  content: string;
981
+ /**
982
+ @deprecated Use AI SDK RSC instead: https://sdk.vercel.ai/docs/ai-sdk-rsc
983
+ */
970
984
  ui?: string | JSX.Element | JSX.Element[] | null | undefined;
971
985
  role: 'system' | 'user' | 'assistant' | 'function' | 'data' | 'tool';
972
986
  /**
987
+ *
973
988
  * If the message has a role of `function`, the `name` field is the name of the function.
974
989
  * Otherwise, the name field should not be set.
975
990
  */
@@ -1997,11 +2012,16 @@ type Payload = {
1997
2012
  ui: UINode | Promise<UINode>;
1998
2013
  content: string;
1999
2014
  };
2015
+ /**
2016
+ @deprecated Use AI SDK RSC instead: https://sdk.vercel.ai/docs/ai-sdk-rsc
2017
+ */
2000
2018
  type ReactResponseRow = Payload & {
2001
2019
  next: null | Promise<ReactResponseRow>;
2002
2020
  };
2003
2021
  /**
2004
- * A utility class for streaming React responses.
2022
+ A utility class for streaming React responses.
2023
+
2024
+ @deprecated Use AI SDK RSC instead: https://sdk.vercel.ai/docs/ai-sdk-rsc
2005
2025
  */
2006
2026
  declare class experimental_StreamingReactResponse {
2007
2027
  constructor(res: ReadableStream, options?: {
@@ -2028,4 +2048,4 @@ declare function streamToResponse(res: ReadableStream, response: ServerResponse,
2028
2048
  status?: number;
2029
2049
  }): void;
2030
2050
 
2031
- export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantMessage, AssistantResponse, CallWarning, ChatRequest, ChatRequestOptions, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreTool, CoreToolMessage, CoreUserMessage, CreateMessage, DataContent, DataMessage, DeepPartial, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, Function, FunctionCall$1 as FunctionCall, FunctionCallHandler, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, IdGenerator, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, JSONValue, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, Message$1 as Message, MistralStream, ObjectStreamPart, ObjectStreamPartInput, OpenAIStream, OpenAIStreamCallbacks, ReactResponseRow, ReplicateStream, RequestOptions, StreamData, StreamObjectResult, StreamPart, StreamString, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, Tool, ToolCall, ToolCallHandler, ToolCallPart, ToolCallPayload, ToolChoice, ToolContent, ToolResultPart, UseChatOptions, UseCompletionOptions, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, createCallbacksTransformer, createChunkDecoder, createEventStreamTransformer, createStreamDataTransformer, experimental_AssistantResponse, experimental_StreamData, experimental_StreamingReactResponse, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, formatStreamPart, generateId, generateObject, generateText, isStreamStringEqualToType, generateId as nanoid, parseStreamPart, readDataStream, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };
2051
+ export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantMessage, AssistantResponse, CallWarning, ChatRequest, ChatRequestOptions, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolMessage, CoreUserMessage, CreateMessage, DataContent, DataMessage, DeepPartial, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, Function, FunctionCall$1 as FunctionCall, FunctionCallHandler, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, IdGenerator, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, JSONValue, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, Message$1 as Message, MistralStream, ObjectStreamPart, ObjectStreamPartInput, OpenAIStream, OpenAIStreamCallbacks, ReactResponseRow, ReplicateStream, RequestOptions, StreamData, StreamObjectResult, StreamPart, StreamString, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, Tool, ToolCall, ToolCallHandler, ToolCallPart, ToolCallPayload, ToolChoice, ToolContent, ToolResultPart, UseChatOptions, UseCompletionOptions, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, createCallbacksTransformer, createChunkDecoder, createEventStreamTransformer, createStreamDataTransformer, experimental_AssistantResponse, experimental_StreamData, experimental_StreamingReactResponse, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, formatStreamPart, generateId, generateObject, generateText, isStreamStringEqualToType, generateId as nanoid, parseStreamPart, readDataStream, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };
package/dist/index.d.ts CHANGED
@@ -162,7 +162,18 @@ interface ToolResultPart {
162
162
  A message that can be used in the `messages` field of a prompt.
163
163
  It can be a user message, an assistant message, or a tool message.
164
164
  */
165
- type CoreMessage = CoreUserMessage | CoreAssistantMessage | CoreToolMessage;
165
+ type CoreMessage = CoreSystemMessage | CoreUserMessage | CoreAssistantMessage | CoreToolMessage;
166
+ /**
167
+ A system message. It can contain system information.
168
+
169
+ Note: using the "system" part of the prompt is strongly preferred
170
+ to increase the resilience against prompt injection attacks,
171
+ and because not all providers support several system messages.
172
+ */
173
+ type CoreSystemMessage = {
174
+ role: 'system';
175
+ content: string;
176
+ };
166
177
  /**
167
178
  * @deprecated Use `CoreMessage` instead.
168
179
  */
@@ -967,9 +978,13 @@ interface Message$1 {
967
978
  tool_call_id?: string;
968
979
  createdAt?: Date;
969
980
  content: string;
981
+ /**
982
+ @deprecated Use AI SDK RSC instead: https://sdk.vercel.ai/docs/ai-sdk-rsc
983
+ */
970
984
  ui?: string | JSX.Element | JSX.Element[] | null | undefined;
971
985
  role: 'system' | 'user' | 'assistant' | 'function' | 'data' | 'tool';
972
986
  /**
987
+ *
973
988
  * If the message has a role of `function`, the `name` field is the name of the function.
974
989
  * Otherwise, the name field should not be set.
975
990
  */
@@ -1997,11 +2012,16 @@ type Payload = {
1997
2012
  ui: UINode | Promise<UINode>;
1998
2013
  content: string;
1999
2014
  };
2015
+ /**
2016
+ @deprecated Use AI SDK RSC instead: https://sdk.vercel.ai/docs/ai-sdk-rsc
2017
+ */
2000
2018
  type ReactResponseRow = Payload & {
2001
2019
  next: null | Promise<ReactResponseRow>;
2002
2020
  };
2003
2021
  /**
2004
- * A utility class for streaming React responses.
2022
+ A utility class for streaming React responses.
2023
+
2024
+ @deprecated Use AI SDK RSC instead: https://sdk.vercel.ai/docs/ai-sdk-rsc
2005
2025
  */
2006
2026
  declare class experimental_StreamingReactResponse {
2007
2027
  constructor(res: ReadableStream, options?: {
@@ -2028,4 +2048,4 @@ declare function streamToResponse(res: ReadableStream, response: ServerResponse,
2028
2048
  status?: number;
2029
2049
  }): void;
2030
2050
 
2031
- export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantMessage, AssistantResponse, CallWarning, ChatRequest, ChatRequestOptions, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreTool, CoreToolMessage, CoreUserMessage, CreateMessage, DataContent, DataMessage, DeepPartial, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, Function, FunctionCall$1 as FunctionCall, FunctionCallHandler, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, IdGenerator, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, JSONValue, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, Message$1 as Message, MistralStream, ObjectStreamPart, ObjectStreamPartInput, OpenAIStream, OpenAIStreamCallbacks, ReactResponseRow, ReplicateStream, RequestOptions, StreamData, StreamObjectResult, StreamPart, StreamString, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, Tool, ToolCall, ToolCallHandler, ToolCallPart, ToolCallPayload, ToolChoice, ToolContent, ToolResultPart, UseChatOptions, UseCompletionOptions, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, createCallbacksTransformer, createChunkDecoder, createEventStreamTransformer, createStreamDataTransformer, experimental_AssistantResponse, experimental_StreamData, experimental_StreamingReactResponse, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, formatStreamPart, generateId, generateObject, generateText, isStreamStringEqualToType, generateId as nanoid, parseStreamPart, readDataStream, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };
2051
+ export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantMessage, AssistantResponse, CallWarning, ChatRequest, ChatRequestOptions, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolMessage, CoreUserMessage, CreateMessage, DataContent, DataMessage, DeepPartial, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, Function, FunctionCall$1 as FunctionCall, FunctionCallHandler, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, IdGenerator, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, JSONValue, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, Message$1 as Message, MistralStream, ObjectStreamPart, ObjectStreamPartInput, OpenAIStream, OpenAIStreamCallbacks, ReactResponseRow, ReplicateStream, RequestOptions, StreamData, StreamObjectResult, StreamPart, StreamString, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, Tool, ToolCall, ToolCallHandler, ToolCallPart, ToolCallPayload, ToolChoice, ToolContent, ToolResultPart, UseChatOptions, UseCompletionOptions, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, createCallbacksTransformer, createChunkDecoder, createEventStreamTransformer, createStreamDataTransformer, experimental_AssistantResponse, experimental_StreamData, experimental_StreamingReactResponse, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, formatStreamPart, generateId, generateObject, generateText, isStreamStringEqualToType, generateId as nanoid, parseStreamPart, readDataStream, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };
package/dist/index.js CHANGED
@@ -145,7 +145,15 @@ function convertDataContentToUint8Array(content) {
145
145
  return content;
146
146
  }
147
147
  if (typeof content === "string") {
148
- return (0, import_provider_utils.convertBase64ToUint8Array)(content);
148
+ try {
149
+ return (0, import_provider_utils.convertBase64ToUint8Array)(content);
150
+ } catch (error) {
151
+ throw new import_provider.InvalidDataContentError({
152
+ message: "Invalid data content. Content string is not a base64-encoded image.",
153
+ content,
154
+ cause: error
155
+ });
156
+ }
149
157
  }
150
158
  if (content instanceof ArrayBuffer) {
151
159
  return new Uint8Array(content);
@@ -171,6 +179,9 @@ function convertToLanguageModelPrompt(prompt) {
171
179
  languageModelMessages.push(
172
180
  ...prompt.messages.map((message) => {
173
181
  switch (message.role) {
182
+ case "system": {
183
+ return { role: "system", content: message.content };
184
+ }
174
185
  case "user": {
175
186
  if (typeof message.content === "string") {
176
187
  return {