ai 3.1.15 → 3.1.16
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 +23 -3
- package/dist/index.d.ts +23 -3
- package/dist/index.js +31 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +31 -12
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
- package/rsc/dist/index.d.ts +18 -1
- package/rsc/dist/rsc-server.d.mts +18 -1
- package/rsc/dist/rsc-server.mjs +29 -6
- package/rsc/dist/rsc-server.mjs.map +1 -1
package/dist/index.d.mts
CHANGED
@@ -39,6 +39,18 @@ Warning from the model provider for this call. The call will proceed, but e.g.
|
|
39
39
|
some settings might not be supported, which can lead to suboptimal results.
|
40
40
|
*/
|
41
41
|
type CallWarning = LanguageModelV1CallWarning;
|
42
|
+
/**
|
43
|
+
Tool choice for the generation. It supports the following settings:
|
44
|
+
|
45
|
+
- `auto` (default): the model can choose whether and which tools to call.
|
46
|
+
- `required`: the model must call a tool. It can choose which tool to call.
|
47
|
+
- `none`: the model must not call tools
|
48
|
+
- `{ type: 'tool', tooName: string (typed) }`: the model must call the specified tool
|
49
|
+
*/
|
50
|
+
type CoreToolChoice<TOOLS extends Record<string, unknown>> = 'auto' | 'none' | 'required' | {
|
51
|
+
type: 'tool';
|
52
|
+
toolName: keyof TOOLS;
|
53
|
+
};
|
42
54
|
|
43
55
|
/**
|
44
56
|
Embed a value using an embedding model. The type of the value is defined by the embedding model.
|
@@ -820,7 +832,7 @@ If set and supported by the model, calls will generate deterministic results.
|
|
820
832
|
@returns
|
821
833
|
A result object that contains the generated text, the results of the tool calls, and additional information.
|
822
834
|
*/
|
823
|
-
declare function generateText<TOOLS extends Record<string, CoreTool>>({ model, tools, system, prompt, messages, maxRetries, abortSignal, ...settings }: CallSettings & Prompt & {
|
835
|
+
declare function generateText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, ...settings }: CallSettings & Prompt & {
|
824
836
|
/**
|
825
837
|
The language model to use.
|
826
838
|
*/
|
@@ -829,6 +841,10 @@ The language model to use.
|
|
829
841
|
The tools that the model can call. The model needs to support calling tools.
|
830
842
|
*/
|
831
843
|
tools?: TOOLS;
|
844
|
+
/**
|
845
|
+
The tool choice strategy. Default: 'auto'.
|
846
|
+
*/
|
847
|
+
toolChoice?: CoreToolChoice<TOOLS>;
|
832
848
|
}): Promise<GenerateTextResult<TOOLS>>;
|
833
849
|
/**
|
834
850
|
The result of a `generateText` call.
|
@@ -928,7 +944,7 @@ If set and supported by the model, calls will generate deterministic results.
|
|
928
944
|
@return
|
929
945
|
A result object for accessing different stream types and additional information.
|
930
946
|
*/
|
931
|
-
declare function streamText<TOOLS extends Record<string, CoreTool>>({ model, tools, system, prompt, messages, maxRetries, abortSignal, onFinish, ...settings }: CallSettings & Prompt & {
|
947
|
+
declare function streamText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, onFinish, ...settings }: CallSettings & Prompt & {
|
932
948
|
/**
|
933
949
|
The language model to use.
|
934
950
|
*/
|
@@ -938,6 +954,10 @@ The tools that the model can call. The model needs to support calling tools.
|
|
938
954
|
*/
|
939
955
|
tools?: TOOLS;
|
940
956
|
/**
|
957
|
+
The tool choice strategy. Default: 'auto'.
|
958
|
+
*/
|
959
|
+
toolChoice?: CoreToolChoice<TOOLS>;
|
960
|
+
/**
|
941
961
|
Callback that is called when the LLM response and all request tool executions
|
942
962
|
(for tools that have an `execute` function) are finished.
|
943
963
|
*/
|
@@ -2324,4 +2344,4 @@ declare class StreamingTextResponse extends Response {
|
|
2324
2344
|
constructor(res: ReadableStream, init?: ResponseInit, data?: StreamData);
|
2325
2345
|
}
|
2326
2346
|
|
2327
|
-
export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantMessage, AssistantResponse, AssistantStatus, CallWarning, ChatRequest, ChatRequestOptions, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolMessage, CoreUserMessage, CreateMessage, DataContent, DataMessage, DeepPartial, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, 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, ToolInvocation, ToolResultPart, UseAssistantOptions, UseChatOptions, UseCompletionOptions, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, convertToCoreMessages, createCallbacksTransformer, createChunkDecoder, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, 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 };
|
2347
|
+
export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantMessage, AssistantResponse, AssistantStatus, CallWarning, ChatRequest, ChatRequestOptions, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, CreateMessage, DataContent, DataMessage, DeepPartial, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, 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, ToolInvocation, ToolResultPart, UseAssistantOptions, UseChatOptions, UseCompletionOptions, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, convertToCoreMessages, createCallbacksTransformer, createChunkDecoder, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, 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
@@ -39,6 +39,18 @@ Warning from the model provider for this call. The call will proceed, but e.g.
|
|
39
39
|
some settings might not be supported, which can lead to suboptimal results.
|
40
40
|
*/
|
41
41
|
type CallWarning = LanguageModelV1CallWarning;
|
42
|
+
/**
|
43
|
+
Tool choice for the generation. It supports the following settings:
|
44
|
+
|
45
|
+
- `auto` (default): the model can choose whether and which tools to call.
|
46
|
+
- `required`: the model must call a tool. It can choose which tool to call.
|
47
|
+
- `none`: the model must not call tools
|
48
|
+
- `{ type: 'tool', tooName: string (typed) }`: the model must call the specified tool
|
49
|
+
*/
|
50
|
+
type CoreToolChoice<TOOLS extends Record<string, unknown>> = 'auto' | 'none' | 'required' | {
|
51
|
+
type: 'tool';
|
52
|
+
toolName: keyof TOOLS;
|
53
|
+
};
|
42
54
|
|
43
55
|
/**
|
44
56
|
Embed a value using an embedding model. The type of the value is defined by the embedding model.
|
@@ -820,7 +832,7 @@ If set and supported by the model, calls will generate deterministic results.
|
|
820
832
|
@returns
|
821
833
|
A result object that contains the generated text, the results of the tool calls, and additional information.
|
822
834
|
*/
|
823
|
-
declare function generateText<TOOLS extends Record<string, CoreTool>>({ model, tools, system, prompt, messages, maxRetries, abortSignal, ...settings }: CallSettings & Prompt & {
|
835
|
+
declare function generateText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, ...settings }: CallSettings & Prompt & {
|
824
836
|
/**
|
825
837
|
The language model to use.
|
826
838
|
*/
|
@@ -829,6 +841,10 @@ The language model to use.
|
|
829
841
|
The tools that the model can call. The model needs to support calling tools.
|
830
842
|
*/
|
831
843
|
tools?: TOOLS;
|
844
|
+
/**
|
845
|
+
The tool choice strategy. Default: 'auto'.
|
846
|
+
*/
|
847
|
+
toolChoice?: CoreToolChoice<TOOLS>;
|
832
848
|
}): Promise<GenerateTextResult<TOOLS>>;
|
833
849
|
/**
|
834
850
|
The result of a `generateText` call.
|
@@ -928,7 +944,7 @@ If set and supported by the model, calls will generate deterministic results.
|
|
928
944
|
@return
|
929
945
|
A result object for accessing different stream types and additional information.
|
930
946
|
*/
|
931
|
-
declare function streamText<TOOLS extends Record<string, CoreTool>>({ model, tools, system, prompt, messages, maxRetries, abortSignal, onFinish, ...settings }: CallSettings & Prompt & {
|
947
|
+
declare function streamText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, onFinish, ...settings }: CallSettings & Prompt & {
|
932
948
|
/**
|
933
949
|
The language model to use.
|
934
950
|
*/
|
@@ -938,6 +954,10 @@ The tools that the model can call. The model needs to support calling tools.
|
|
938
954
|
*/
|
939
955
|
tools?: TOOLS;
|
940
956
|
/**
|
957
|
+
The tool choice strategy. Default: 'auto'.
|
958
|
+
*/
|
959
|
+
toolChoice?: CoreToolChoice<TOOLS>;
|
960
|
+
/**
|
941
961
|
Callback that is called when the LLM response and all request tool executions
|
942
962
|
(for tools that have an `execute` function) are finished.
|
943
963
|
*/
|
@@ -2324,4 +2344,4 @@ declare class StreamingTextResponse extends Response {
|
|
2324
2344
|
constructor(res: ReadableStream, init?: ResponseInit, data?: StreamData);
|
2325
2345
|
}
|
2326
2346
|
|
2327
|
-
export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantMessage, AssistantResponse, AssistantStatus, CallWarning, ChatRequest, ChatRequestOptions, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolMessage, CoreUserMessage, CreateMessage, DataContent, DataMessage, DeepPartial, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, 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, ToolInvocation, ToolResultPart, UseAssistantOptions, UseChatOptions, UseCompletionOptions, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, convertToCoreMessages, createCallbacksTransformer, createChunkDecoder, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, 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 };
|
2347
|
+
export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantMessage, AssistantResponse, AssistantStatus, CallWarning, ChatRequest, ChatRequestOptions, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, CreateMessage, DataContent, DataMessage, DeepPartial, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, 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, ToolInvocation, ToolResultPart, UseAssistantOptions, UseChatOptions, UseCompletionOptions, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, convertToCoreMessages, createCallbacksTransformer, createChunkDecoder, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, 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
@@ -1265,6 +1265,33 @@ var StreamObjectResult = class {
|
|
1265
1265
|
};
|
1266
1266
|
var experimental_streamObject = streamObject;
|
1267
1267
|
|
1268
|
+
// core/util/is-non-empty-object.ts
|
1269
|
+
function isNonEmptyObject(object) {
|
1270
|
+
return object != null && Object.keys(object).length > 0;
|
1271
|
+
}
|
1272
|
+
|
1273
|
+
// core/prompt/prepare-tools-and-tool-choice.ts
|
1274
|
+
function prepareToolsAndToolChoice({
|
1275
|
+
tools,
|
1276
|
+
toolChoice
|
1277
|
+
}) {
|
1278
|
+
if (!isNonEmptyObject(tools)) {
|
1279
|
+
return {
|
1280
|
+
tools: void 0,
|
1281
|
+
toolChoice: void 0
|
1282
|
+
};
|
1283
|
+
}
|
1284
|
+
return {
|
1285
|
+
tools: Object.entries(tools).map(([name, tool2]) => ({
|
1286
|
+
type: "function",
|
1287
|
+
name,
|
1288
|
+
description: tool2.description,
|
1289
|
+
parameters: convertZodToJSONSchema(tool2.parameters)
|
1290
|
+
})),
|
1291
|
+
toolChoice: toolChoice == null ? { type: "auto" } : typeof toolChoice === "string" ? { type: toolChoice } : { type: "tool", toolName: toolChoice.toolName }
|
1292
|
+
};
|
1293
|
+
}
|
1294
|
+
|
1268
1295
|
// core/generate-text/tool-call.ts
|
1269
1296
|
var import_provider6 = require("@ai-sdk/provider");
|
1270
1297
|
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
@@ -1306,6 +1333,7 @@ function parseToolCall({
|
|
1306
1333
|
async function generateText({
|
1307
1334
|
model,
|
1308
1335
|
tools,
|
1336
|
+
toolChoice,
|
1309
1337
|
system,
|
1310
1338
|
prompt,
|
1311
1339
|
messages,
|
@@ -1320,12 +1348,7 @@ async function generateText({
|
|
1320
1348
|
return model.doGenerate({
|
1321
1349
|
mode: {
|
1322
1350
|
type: "regular",
|
1323
|
-
|
1324
|
-
type: "function",
|
1325
|
-
name,
|
1326
|
-
description: tool2.description,
|
1327
|
-
parameters: convertZodToJSONSchema(tool2.parameters)
|
1328
|
-
}))
|
1351
|
+
...prepareToolsAndToolChoice({ tools, toolChoice })
|
1329
1352
|
},
|
1330
1353
|
...prepareCallSettings(settings),
|
1331
1354
|
inputFormat: validatedPrompt.type,
|
@@ -1538,6 +1561,7 @@ function runToolsTransformation({
|
|
1538
1561
|
async function streamText({
|
1539
1562
|
model,
|
1540
1563
|
tools,
|
1564
|
+
toolChoice,
|
1541
1565
|
system,
|
1542
1566
|
prompt,
|
1543
1567
|
messages,
|
@@ -1552,12 +1576,7 @@ async function streamText({
|
|
1552
1576
|
() => model.doStream({
|
1553
1577
|
mode: {
|
1554
1578
|
type: "regular",
|
1555
|
-
|
1556
|
-
type: "function",
|
1557
|
-
name,
|
1558
|
-
description: tool2.description,
|
1559
|
-
parameters: convertZodToJSONSchema(tool2.parameters)
|
1560
|
-
}))
|
1579
|
+
...prepareToolsAndToolChoice({ tools, toolChoice })
|
1561
1580
|
},
|
1562
1581
|
...prepareCallSettings(settings),
|
1563
1582
|
inputFormat: validatedPrompt.type,
|