ai 3.3.17 → 3.3.19

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.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { Schema, DeepPartial, Attachment, JSONValue as JSONValue$1, CreateMessage, FunctionCall as FunctionCall$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
1
+ import { Schema, DeepPartial, ToolInvocation, Attachment, JSONValue as JSONValue$1, 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, Schema, StreamPart, Tool, ToolCall, ToolCallHandler, ToolChoice, ToolInvocation, UseAssistantOptions, formatStreamPart, jsonSchema, parseComplexResponse, parseStreamPart, readDataStream } from '@ai-sdk/ui-utils';
3
3
  import { AttributeValue } from '@opentelemetry/api';
4
- import { EmbeddingModelV1, EmbeddingModelV1Embedding, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, JSONValue, AISDKError } from '@ai-sdk/provider';
5
- export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, LoadAPIKeyError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
4
+ import { EmbeddingModelV1, EmbeddingModelV1Embedding, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, JSONValue, NoSuchModelError, AISDKError } from '@ai-sdk/provider';
5
+ export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
6
6
  import { z } from 'zod';
7
7
  import { ServerResponse } from 'http';
8
8
  import { ServerResponse as ServerResponse$1 } from 'node:http';
@@ -115,6 +115,34 @@ type CoreToolChoice<TOOLS extends Record<string, unknown>> = 'auto' | 'none' | '
115
115
  toolName: keyof TOOLS;
116
116
  };
117
117
 
118
+ /**
119
+ * Provider for language and text embedding models.
120
+ */
121
+ type Provider = {
122
+ /**
123
+ Returns the language model with the given id.
124
+ The model id is then passed to the provider function to get the model.
125
+
126
+ @param {string} id - The id of the model to return.
127
+
128
+ @returns {LanguageModel} The language model associated with the id
129
+
130
+ @throws {NoSuchModelError} If no such model exists.
131
+ */
132
+ languageModel(modelId: string): LanguageModel;
133
+ /**
134
+ Returns the text embedding model with the given id.
135
+ The model id is then passed to the provider function to get the model.
136
+
137
+ @param {string} id - The id of the model to return.
138
+
139
+ @returns {LanguageModel} The language model associated with the id
140
+
141
+ @throws {NoSuchModelError} If no such model exists.
142
+ */
143
+ textEmbeddingModel(modelId: string): EmbeddingModel<string>;
144
+ };
145
+
118
146
  /**
119
147
  Additional provider-specific metadata. They are passed through
120
148
  to the provider from the AI SDK and enable provider-specific
@@ -1025,6 +1053,18 @@ declare function tool<PARAMETERS extends Parameters, RESULT>(tool: CoreTool<PARA
1025
1053
  */
1026
1054
  type ExperimentalTool = CoreTool;
1027
1055
 
1056
+ type ConvertibleMessage = {
1057
+ role: 'system' | 'user' | 'assistant' | 'function' | 'data' | 'tool';
1058
+ content: string;
1059
+ toolInvocations?: ToolInvocation[];
1060
+ experimental_attachments?: Attachment[];
1061
+ };
1062
+ /**
1063
+ Converts an array of messages from useChat into an array of CoreMessages that can be used
1064
+ with the AI core functions (e.g. `streamText`).
1065
+ */
1066
+ declare function convertToCoreMessages(messages: Array<ConvertibleMessage>): CoreMessage[];
1067
+
1028
1068
  /**
1029
1069
  Create a union of the given object's values, and optionally specify which keys to get the values from.
1030
1070
 
@@ -1067,28 +1107,16 @@ onlyBar('bar');
1067
1107
  */
1068
1108
  type ValueOf<ObjectType, ValueType extends keyof ObjectType = keyof ObjectType> = ObjectType[ValueType];
1069
1109
 
1070
- /**
1071
- Typed tool result that is returned by generateText and streamText.
1072
- It contains the tool call ID, the tool name, the tool arguments, and the tool result.
1073
- */
1074
- interface ToolResult<NAME extends string, ARGS, RESULT> {
1075
- /**
1076
- ID of the tool call. This ID is used to match the tool call with the tool result.
1077
- */
1078
- toolCallId: string;
1079
- /**
1080
- Name of the tool that was called.
1081
- */
1082
- toolName: NAME;
1083
- /**
1084
- Arguments of the tool call. This is a JSON-serializable object that matches the tool's input schema.
1085
- */
1086
- args: ARGS;
1087
- /**
1088
- Result of the tool call. This is the result of the tool's execution.
1089
- */
1090
- result: RESULT;
1091
- }
1110
+ type ToToolCall<TOOLS extends Record<string, CoreTool>> = ValueOf<{
1111
+ [NAME in keyof TOOLS]: {
1112
+ type: 'tool-call';
1113
+ toolCallId: string;
1114
+ toolName: NAME & string;
1115
+ args: inferParameters<TOOLS[NAME]['parameters']>;
1116
+ };
1117
+ }>;
1118
+ type ToToolCallArray<TOOLS extends Record<string, CoreTool>> = Array<ToToolCall<TOOLS>>;
1119
+
1092
1120
  type ToToolsWithExecute<TOOLS extends Record<string, CoreTool>> = {
1093
1121
  [K in keyof TOOLS as TOOLS[K] extends {
1094
1122
  execute: any;
@@ -1109,27 +1137,6 @@ type ToToolResultObject<TOOLS extends Record<string, CoreTool>> = ValueOf<{
1109
1137
  type ToToolResult<TOOLS extends Record<string, CoreTool>> = ToToolResultObject<ToToolsWithDefinedExecute<ToToolsWithExecute<TOOLS>>>;
1110
1138
  type ToToolResultArray<TOOLS extends Record<string, CoreTool>> = Array<ToToolResult<TOOLS>>;
1111
1139
 
1112
- /**
1113
- Converts an array of messages from useChat into an array of CoreMessages that can be used
1114
- with the AI core functions (e.g. `streamText`).
1115
- */
1116
- declare function convertToCoreMessages(messages: Array<{
1117
- role: 'user' | 'assistant' | 'system';
1118
- content: string;
1119
- toolInvocations?: Array<ToolResult<string, unknown, unknown>>;
1120
- experimental_attachments?: Attachment[];
1121
- }>): CoreMessage[];
1122
-
1123
- type ToToolCall<TOOLS extends Record<string, CoreTool>> = ValueOf<{
1124
- [NAME in keyof TOOLS]: {
1125
- type: 'tool-call';
1126
- toolCallId: string;
1127
- toolName: NAME & string;
1128
- args: inferParameters<TOOLS[NAME]['parameters']>;
1129
- };
1130
- }>;
1131
- type ToToolCallArray<TOOLS extends Record<string, CoreTool>> = Array<ToToolCall<TOOLS>>;
1132
-
1133
1140
  /**
1134
1141
  The result of a `generateText` call.
1135
1142
  It contains the generated text, the tool calls that were made during the generation, and the results of the tool calls.
@@ -1616,64 +1623,31 @@ Callback that is called when the LLM response and all request tool executions
1616
1623
  */
1617
1624
  declare const experimental_streamText: typeof streamText;
1618
1625
 
1619
- declare const symbol$a: unique symbol;
1620
- declare class InvalidModelIdError extends AISDKError {
1621
- private readonly [symbol$a];
1622
- readonly id: string;
1623
- constructor({ id, message, }: {
1624
- id: string;
1625
- message?: string;
1626
- });
1627
- static isInstance(error: unknown): error is InvalidModelIdError;
1628
- /**
1629
- * @deprecated use `isInstance` instead
1630
- */
1631
- static isInvalidModelIdError(error: unknown): error is InvalidModelIdError;
1632
- /**
1633
- * @deprecated Do not use this method. It will be removed in the next major version.
1634
- */
1635
- toJSON(): {
1636
- name: string;
1637
- message: string;
1638
- stack: string | undefined;
1639
- id: string;
1640
- };
1641
- }
1626
+ /**
1627
+ * Creates a custom provider with specified language models, text embedding models, and an optional fallback provider.
1628
+ *
1629
+ * @param {Object} options - The options for creating the custom provider.
1630
+ * @param {Record<string, LanguageModelV1>} [options.languageModels] - A record of language models, where keys are model IDs and values are LanguageModelV1 instances.
1631
+ * @param {Record<string, EmbeddingModelV1<string>>} [options.textEmbeddingModels] - A record of text embedding models, where keys are model IDs and values are EmbeddingModelV1<string> instances.
1632
+ * @param {Provider} [options.fallbackProvider] - An optional fallback provider to use when a requested model is not found in the custom provider.
1633
+ * @returns {Provider} A Provider object with languageModel and textEmbeddingModel methods.
1634
+ *
1635
+ * @throws {NoSuchModelError} Throws when a requested model is not found and no fallback provider is available.
1636
+ */
1637
+ declare function experimental_customProvider({ languageModels, textEmbeddingModels, fallbackProvider, }: {
1638
+ languageModels?: Record<string, LanguageModelV1>;
1639
+ textEmbeddingModels?: Record<string, EmbeddingModelV1<string>>;
1640
+ fallbackProvider?: Provider;
1641
+ }): Provider;
1642
1642
 
1643
1643
  declare const symbol$9: unique symbol;
1644
- type ModelType = 'languageModel' | 'textEmbeddingModel';
1645
- declare class NoSuchModelError extends AISDKError {
1644
+ declare class NoSuchProviderError extends NoSuchModelError {
1646
1645
  private readonly [symbol$9];
1647
- readonly modelId: string;
1648
- readonly modelType: ModelType;
1649
- constructor({ modelId, modelType, message, }: {
1650
- modelId: string;
1651
- modelType: ModelType;
1652
- message?: string;
1653
- });
1654
- static isInstance(error: unknown): error is NoSuchModelError;
1655
- /**
1656
- * @deprecated use `isInstance` instead
1657
- */
1658
- static isNoSuchModelError(error: unknown): error is NoSuchModelError;
1659
- /**
1660
- * @deprecated Do not use this method. It will be removed in the next major version.
1661
- */
1662
- toJSON(): {
1663
- name: string;
1664
- message: string;
1665
- stack: string | undefined;
1666
- modelId: string;
1667
- modelType: ModelType;
1668
- };
1669
- }
1670
-
1671
- declare const symbol$8: unique symbol;
1672
- declare class NoSuchProviderError extends AISDKError {
1673
- private readonly [symbol$8];
1674
1646
  readonly providerId: string;
1675
1647
  readonly availableProviders: string[];
1676
- constructor({ providerId, availableProviders, message, }: {
1648
+ constructor({ modelId, modelType, providerId, availableProviders, message, }: {
1649
+ modelId: string;
1650
+ modelType: 'languageModel' | 'textEmbeddingModel';
1677
1651
  providerId: string;
1678
1652
  availableProviders: string[];
1679
1653
  message?: string;
@@ -1690,6 +1664,8 @@ declare class NoSuchProviderError extends AISDKError {
1690
1664
  name: string;
1691
1665
  message: string;
1692
1666
  stack: string | undefined;
1667
+ modelId: string;
1668
+ modelType: "languageModel" | "textEmbeddingModel";
1693
1669
  providerId: string;
1694
1670
  availableProviders: string[];
1695
1671
  };
@@ -1697,6 +1673,8 @@ declare class NoSuchProviderError extends AISDKError {
1697
1673
 
1698
1674
  /**
1699
1675
  * Provides for language and text embedding models.
1676
+ *
1677
+ * @deprecated Use `ProviderV1` instead.
1700
1678
  */
1701
1679
  interface experimental_Provider {
1702
1680
  /**
@@ -1741,33 +1719,10 @@ interface experimental_Provider {
1741
1719
 
1742
1720
  /**
1743
1721
  Registry for managing models. It enables getting a model with a string id.
1722
+
1723
+ @deprecated Use `experimental_Provider` instead.
1744
1724
  */
1745
- type experimental_ProviderRegistry = {
1746
- /**
1747
- Returns the language model with the given id in the format `providerId:modelId`.
1748
- The model id is then passed to the provider function to get the model.
1749
-
1750
- @param {string} id - The id of the model to return.
1751
-
1752
- @throws {NoSuchModelError} If no model with the given id exists.
1753
- @throws {NoSuchProviderError} If no provider with the given id exists.
1754
-
1755
- @returns {LanguageModel} The language model associated with the id.
1756
- */
1757
- languageModel(id: string): LanguageModel;
1758
- /**
1759
- Returns the text embedding model with the given id in the format `providerId:modelId`.
1760
- The model id is then passed to the provider function to get the model.
1761
-
1762
- @param {string} id - The id of the model to return.
1763
-
1764
- @throws {NoSuchModelError} If no model with the given id exists.
1765
- @throws {NoSuchProviderError} If no provider with the given id exists.
1766
-
1767
- @returns {LanguageModel} The language model associated with the id.
1768
- */
1769
- textEmbeddingModel(id: string): EmbeddingModel<string>;
1770
- };
1725
+ type experimental_ProviderRegistry = Provider;
1771
1726
  /**
1772
1727
  * @deprecated Use `experimental_ProviderRegistry` instead.
1773
1728
  */
@@ -1775,7 +1730,7 @@ type experimental_ModelRegistry = experimental_ProviderRegistry;
1775
1730
  /**
1776
1731
  * Creates a registry for the given providers.
1777
1732
  */
1778
- declare function experimental_createProviderRegistry(providers: Record<string, experimental_Provider>): experimental_ProviderRegistry;
1733
+ declare function experimental_createProviderRegistry(providers: Record<string, experimental_Provider | Provider>): Provider;
1779
1734
  /**
1780
1735
  * @deprecated Use `experimental_createProviderRegistry` instead.
1781
1736
  */
@@ -1793,9 +1748,9 @@ declare const experimental_createModelRegistry: typeof experimental_createProvid
1793
1748
  */
1794
1749
  declare function cosineSimilarity(vector1: number[], vector2: number[]): number;
1795
1750
 
1796
- declare const symbol$7: unique symbol;
1751
+ declare const symbol$8: unique symbol;
1797
1752
  declare class InvalidArgumentError extends AISDKError {
1798
- private readonly [symbol$7];
1753
+ private readonly [symbol$8];
1799
1754
  readonly parameter: string;
1800
1755
  readonly value: unknown;
1801
1756
  constructor({ parameter, value, message, }: {
@@ -1817,9 +1772,9 @@ declare class InvalidArgumentError extends AISDKError {
1817
1772
  };
1818
1773
  }
1819
1774
 
1820
- declare const symbol$6: unique symbol;
1775
+ declare const symbol$7: unique symbol;
1821
1776
  declare class InvalidToolArgumentsError extends AISDKError {
1822
- private readonly [symbol$6];
1777
+ private readonly [symbol$7];
1823
1778
  readonly toolName: string;
1824
1779
  readonly toolArgs: string;
1825
1780
  constructor({ toolArgs, toolName, cause, message, }: {
@@ -1846,9 +1801,9 @@ declare class InvalidToolArgumentsError extends AISDKError {
1846
1801
  };
1847
1802
  }
1848
1803
 
1849
- declare const symbol$5: unique symbol;
1804
+ declare const symbol$6: unique symbol;
1850
1805
  declare class NoSuchToolError extends AISDKError {
1851
- private readonly [symbol$5];
1806
+ private readonly [symbol$6];
1852
1807
  readonly toolName: string;
1853
1808
  readonly availableTools: string[] | undefined;
1854
1809
  constructor({ toolName, availableTools, message, }: {
@@ -1873,12 +1828,12 @@ declare class NoSuchToolError extends AISDKError {
1873
1828
  };
1874
1829
  }
1875
1830
 
1876
- declare const symbol$4: unique symbol;
1831
+ declare const symbol$5: unique symbol;
1877
1832
  /**
1878
1833
  Thrown when the AI provider fails to generate a parsable object.
1879
1834
  */
1880
1835
  declare class NoObjectGeneratedError extends AISDKError {
1881
- private readonly [symbol$4];
1836
+ private readonly [symbol$5];
1882
1837
  constructor({ message }?: {
1883
1838
  message?: string;
1884
1839
  });
@@ -1898,9 +1853,9 @@ declare class NoObjectGeneratedError extends AISDKError {
1898
1853
  };
1899
1854
  }
1900
1855
 
1901
- declare const symbol$3: unique symbol;
1856
+ declare const symbol$4: unique symbol;
1902
1857
  declare class InvalidDataContentError extends AISDKError {
1903
- private readonly [symbol$3];
1858
+ private readonly [symbol$4];
1904
1859
  readonly content: unknown;
1905
1860
  constructor({ content, cause, message, }: {
1906
1861
  content: unknown;
@@ -1924,9 +1879,9 @@ declare class InvalidDataContentError extends AISDKError {
1924
1879
  };
1925
1880
  }
1926
1881
 
1927
- declare const symbol$2: unique symbol;
1882
+ declare const symbol$3: unique symbol;
1928
1883
  declare class InvalidMessageRoleError extends AISDKError {
1929
- private readonly [symbol$2];
1884
+ private readonly [symbol$3];
1930
1885
  readonly role: string;
1931
1886
  constructor({ role, message, }: {
1932
1887
  role: string;
@@ -1948,6 +1903,17 @@ declare class InvalidMessageRoleError extends AISDKError {
1948
1903
  };
1949
1904
  }
1950
1905
 
1906
+ declare const symbol$2: unique symbol;
1907
+ declare class MessageConversionError extends AISDKError {
1908
+ private readonly [symbol$2];
1909
+ readonly originalMessage: ConvertibleMessage;
1910
+ constructor({ originalMessage, message, }: {
1911
+ originalMessage: ConvertibleMessage;
1912
+ message: string;
1913
+ });
1914
+ static isInstance(error: unknown): error is MessageConversionError;
1915
+ }
1916
+
1951
1917
  declare const symbol$1: unique symbol;
1952
1918
  declare class DownloadError extends AISDKError {
1953
1919
  private readonly [symbol$1];
@@ -2769,4 +2735,4 @@ declare const generateId: (size?: number) => string;
2769
2735
  */
2770
2736
  declare const nanoid: (size?: number) => string;
2771
2737
 
2772
- 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, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingTokenUsage, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidModelIdError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, MistralStream, ModelType, NoObjectGeneratedError, NoSuchModelError, NoSuchProviderError, NoSuchToolError, ObjectStreamInputPart, ObjectStreamPart, OpenAIStream, OpenAIStreamCallbacks, ProviderMetadata, ReplicateStream, RetryError, StreamData, StreamObjectResult, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, TokenUsage, ToolCallPart, ToolCallPayload, ToolContent, ToolResultPart, UserContent, convertToCoreMessages, cosineSimilarity, createCallbacksTransformer, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, experimental_AssistantResponse, experimental_ModelRegistry, experimental_Provider, 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 };
2738
+ 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, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingTokenUsage, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, MessageConversionError, MistralStream, NoObjectGeneratedError, NoSuchProviderError, NoSuchToolError, ObjectStreamInputPart, ObjectStreamPart, OpenAIStream, OpenAIStreamCallbacks, Provider, ProviderMetadata, ReplicateStream, RetryError, StreamData, StreamObjectResult, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, TokenUsage, ToolCallPart, ToolCallPayload, ToolContent, ToolResultPart, UserContent, convertToCoreMessages, cosineSimilarity, createCallbacksTransformer, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, experimental_AssistantResponse, experimental_ModelRegistry, experimental_Provider, experimental_ProviderRegistry, experimental_StreamData, experimental_createModelRegistry, experimental_createProviderRegistry, experimental_customProvider, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, generateId, generateObject, generateText, nanoid, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };