ai 3.1.3 → 3.1.5

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
  */
@@ -510,11 +521,12 @@ interface CoreTool<PARAMETERS extends z.ZodTypeAny = any, RESULT = any> {
510
521
  description?: string;
511
522
  /**
512
523
  The schema of the input that the tool expects. The language model will use this to generate the input.
524
+ It is also used to validate the output of the language model.
513
525
  Use descriptions to make the input understandable for the language model.
514
526
  */
515
527
  parameters: PARAMETERS;
516
528
  /**
517
- An optional execute function for the actual execution function of the tool.
529
+ An async function that is called with the arguments from the tool call and produces a result.
518
530
  If not provided, the tool will not be executed automatically.
519
531
  */
520
532
  execute?: (args: z.infer<PARAMETERS>) => PromiseLike<RESULT>;
@@ -615,7 +627,7 @@ Generate a text and call tools for a given prompt using a language model.
615
627
  This function does not stream the output. If you want to stream the output, use `streamText` instead.
616
628
 
617
629
  @param model - The language model to use.
618
- @param tools - The tools that the model can call. The model needs to support calling tools.
630
+ @param tools - Tools that are accessible to and can be called by the model. The model needs to support calling tools.
619
631
 
620
632
  @param system - A system message that will be part of the prompt.
621
633
  @param prompt - A simple text prompt. You can either use `prompt` or `messages` but not both.
@@ -720,7 +732,7 @@ Generate a text and call tools for a given prompt using a language model.
720
732
  This function streams the output. If you do not want to stream the output, use `generateText` instead.
721
733
 
722
734
  @param model - The language model to use.
723
- @param tools - The tools that the model can call. The model needs to support calling tools.
735
+ @param tools - Tools that are accessible to and can be called by the model. The model needs to support calling tools.
724
736
 
725
737
  @param system - A system message that will be part of the prompt.
726
738
  @param prompt - A simple text prompt. You can either use `prompt` or `messages` but not both.
@@ -784,7 +796,7 @@ A result object for accessing different stream types and additional information.
784
796
  declare class StreamTextResult<TOOLS extends Record<string, CoreTool>> {
785
797
  private originalStream;
786
798
  /**
787
- Warnings from the model provider (e.g. unsupported settings)
799
+ Warnings from the model provider (e.g. unsupported settings).
788
800
  */
789
801
  readonly warnings: CallWarning[] | undefined;
790
802
  /**
@@ -1827,6 +1839,42 @@ type InkeepChatResultCallbacks = {
1827
1839
  type InkeepAIStreamCallbacksAndOptions = AIStreamCallbacksAndOptions & InkeepChatResultCallbacks;
1828
1840
  declare function InkeepStream(res: Response, callbacks?: InkeepAIStreamCallbacksAndOptions): ReadableStream;
1829
1841
 
1842
+ type LangChainImageDetail = 'auto' | 'low' | 'high';
1843
+ type LangChainMessageContentText = {
1844
+ type: 'text';
1845
+ text: string;
1846
+ };
1847
+ type LangChainMessageContentImageUrl = {
1848
+ type: 'image_url';
1849
+ image_url: string | {
1850
+ url: string;
1851
+ detail?: LangChainImageDetail;
1852
+ };
1853
+ };
1854
+ type LangChainMessageContentComplex = LangChainMessageContentText | LangChainMessageContentImageUrl | (Record<string, any> & {
1855
+ type?: 'text' | 'image_url' | string;
1856
+ }) | (Record<string, any> & {
1857
+ type?: never;
1858
+ });
1859
+ type LangChainMessageContent = string | LangChainMessageContentComplex[];
1860
+ type LangChainAIMessageChunk = {
1861
+ content: LangChainMessageContent;
1862
+ };
1863
+ /**
1864
+ Converts the result of a LangChain Expression Language stream invocation to an AIStream.
1865
+ */
1866
+ declare function toAIStream(stream: ReadableStream<LangChainAIMessageChunk>, callbacks?: AIStreamCallbacksAndOptions): ReadableStream<any>;
1867
+
1868
+ declare const langchainAdapter_toAIStream: typeof toAIStream;
1869
+ declare namespace langchainAdapter {
1870
+ export {
1871
+ langchainAdapter_toAIStream as toAIStream,
1872
+ };
1873
+ }
1874
+
1875
+ /**
1876
+ @deprecated Use LangChainAdapter.toAIStream() instead.
1877
+ */
1830
1878
  declare function LangChainStream(callbacks?: AIStreamCallbacksAndOptions): {
1831
1879
  stream: ReadableStream<any>;
1832
1880
  writer: WritableStreamDefaultWriter<any>;
@@ -1991,4 +2039,4 @@ declare function streamToResponse(res: ReadableStream, response: ServerResponse,
1991
2039
  status?: number;
1992
2040
  }): void;
1993
2041
 
1994
- 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, 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 };
2042
+ 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
  */
@@ -510,11 +521,12 @@ interface CoreTool<PARAMETERS extends z.ZodTypeAny = any, RESULT = any> {
510
521
  description?: string;
511
522
  /**
512
523
  The schema of the input that the tool expects. The language model will use this to generate the input.
524
+ It is also used to validate the output of the language model.
513
525
  Use descriptions to make the input understandable for the language model.
514
526
  */
515
527
  parameters: PARAMETERS;
516
528
  /**
517
- An optional execute function for the actual execution function of the tool.
529
+ An async function that is called with the arguments from the tool call and produces a result.
518
530
  If not provided, the tool will not be executed automatically.
519
531
  */
520
532
  execute?: (args: z.infer<PARAMETERS>) => PromiseLike<RESULT>;
@@ -615,7 +627,7 @@ Generate a text and call tools for a given prompt using a language model.
615
627
  This function does not stream the output. If you want to stream the output, use `streamText` instead.
616
628
 
617
629
  @param model - The language model to use.
618
- @param tools - The tools that the model can call. The model needs to support calling tools.
630
+ @param tools - Tools that are accessible to and can be called by the model. The model needs to support calling tools.
619
631
 
620
632
  @param system - A system message that will be part of the prompt.
621
633
  @param prompt - A simple text prompt. You can either use `prompt` or `messages` but not both.
@@ -720,7 +732,7 @@ Generate a text and call tools for a given prompt using a language model.
720
732
  This function streams the output. If you do not want to stream the output, use `generateText` instead.
721
733
 
722
734
  @param model - The language model to use.
723
- @param tools - The tools that the model can call. The model needs to support calling tools.
735
+ @param tools - Tools that are accessible to and can be called by the model. The model needs to support calling tools.
724
736
 
725
737
  @param system - A system message that will be part of the prompt.
726
738
  @param prompt - A simple text prompt. You can either use `prompt` or `messages` but not both.
@@ -784,7 +796,7 @@ A result object for accessing different stream types and additional information.
784
796
  declare class StreamTextResult<TOOLS extends Record<string, CoreTool>> {
785
797
  private originalStream;
786
798
  /**
787
- Warnings from the model provider (e.g. unsupported settings)
799
+ Warnings from the model provider (e.g. unsupported settings).
788
800
  */
789
801
  readonly warnings: CallWarning[] | undefined;
790
802
  /**
@@ -1827,6 +1839,42 @@ type InkeepChatResultCallbacks = {
1827
1839
  type InkeepAIStreamCallbacksAndOptions = AIStreamCallbacksAndOptions & InkeepChatResultCallbacks;
1828
1840
  declare function InkeepStream(res: Response, callbacks?: InkeepAIStreamCallbacksAndOptions): ReadableStream;
1829
1841
 
1842
+ type LangChainImageDetail = 'auto' | 'low' | 'high';
1843
+ type LangChainMessageContentText = {
1844
+ type: 'text';
1845
+ text: string;
1846
+ };
1847
+ type LangChainMessageContentImageUrl = {
1848
+ type: 'image_url';
1849
+ image_url: string | {
1850
+ url: string;
1851
+ detail?: LangChainImageDetail;
1852
+ };
1853
+ };
1854
+ type LangChainMessageContentComplex = LangChainMessageContentText | LangChainMessageContentImageUrl | (Record<string, any> & {
1855
+ type?: 'text' | 'image_url' | string;
1856
+ }) | (Record<string, any> & {
1857
+ type?: never;
1858
+ });
1859
+ type LangChainMessageContent = string | LangChainMessageContentComplex[];
1860
+ type LangChainAIMessageChunk = {
1861
+ content: LangChainMessageContent;
1862
+ };
1863
+ /**
1864
+ Converts the result of a LangChain Expression Language stream invocation to an AIStream.
1865
+ */
1866
+ declare function toAIStream(stream: ReadableStream<LangChainAIMessageChunk>, callbacks?: AIStreamCallbacksAndOptions): ReadableStream<any>;
1867
+
1868
+ declare const langchainAdapter_toAIStream: typeof toAIStream;
1869
+ declare namespace langchainAdapter {
1870
+ export {
1871
+ langchainAdapter_toAIStream as toAIStream,
1872
+ };
1873
+ }
1874
+
1875
+ /**
1876
+ @deprecated Use LangChainAdapter.toAIStream() instead.
1877
+ */
1830
1878
  declare function LangChainStream(callbacks?: AIStreamCallbacksAndOptions): {
1831
1879
  stream: ReadableStream<any>;
1832
1880
  writer: WritableStreamDefaultWriter<any>;
@@ -1991,4 +2039,4 @@ declare function streamToResponse(res: ReadableStream, response: ServerResponse,
1991
2039
  status?: number;
1992
2040
  }): void;
1993
2041
 
1994
- 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, 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 };
2042
+ 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
@@ -52,6 +52,7 @@ __export(streams_exports, {
52
52
  InvalidResponseDataError: () => import_provider8.InvalidResponseDataError,
53
53
  InvalidToolArgumentsError: () => import_provider8.InvalidToolArgumentsError,
54
54
  JSONParseError: () => import_provider8.JSONParseError,
55
+ LangChainAdapter: () => langchain_adapter_exports,
55
56
  LangChainStream: () => LangChainStream,
56
57
  LoadAPIKeyError: () => import_provider8.LoadAPIKeyError,
57
58
  MistralStream: () => MistralStream,
@@ -170,6 +171,9 @@ function convertToLanguageModelPrompt(prompt) {
170
171
  languageModelMessages.push(
171
172
  ...prompt.messages.map((message) => {
172
173
  switch (message.role) {
174
+ case "system": {
175
+ return { role: "system", content: message.content };
176
+ }
173
177
  case "user": {
174
178
  if (typeof message.content === "string") {
175
179
  return {
@@ -2464,6 +2468,30 @@ function InkeepStream(res, callbacks) {
2464
2468
  );
2465
2469
  }
2466
2470
 
2471
+ // streams/langchain-adapter.ts
2472
+ var langchain_adapter_exports = {};
2473
+ __export(langchain_adapter_exports, {
2474
+ toAIStream: () => toAIStream
2475
+ });
2476
+ function toAIStream(stream, callbacks) {
2477
+ return stream.pipeThrough(
2478
+ new TransformStream({
2479
+ transform: async (chunk, controller) => {
2480
+ if (typeof chunk.content === "string") {
2481
+ controller.enqueue(chunk.content);
2482
+ } else {
2483
+ const content = chunk.content;
2484
+ for (const item of content) {
2485
+ if (item.type === "text") {
2486
+ controller.enqueue(item.text);
2487
+ }
2488
+ }
2489
+ }
2490
+ }
2491
+ })
2492
+ ).pipeThrough(createCallbacksTransformer(callbacks)).pipeThrough(createStreamDataTransformer());
2493
+ }
2494
+
2467
2495
  // streams/langchain-stream.ts
2468
2496
  function LangChainStream(callbacks) {
2469
2497
  const stream = new TransformStream();
@@ -3091,6 +3119,7 @@ function streamToResponse(res, response, init) {
3091
3119
  InvalidResponseDataError,
3092
3120
  InvalidToolArgumentsError,
3093
3121
  JSONParseError,
3122
+ LangChainAdapter,
3094
3123
  LangChainStream,
3095
3124
  LoadAPIKeyError,
3096
3125
  MistralStream,