ai 3.4.15 → 3.4.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # ai
2
2
 
3
+ ## 3.4.16
4
+
5
+ ### Patch Changes
6
+
7
+ - 01dcc44: feat (ai/core): add experimental activeTools option to generateText and streamText
8
+
3
9
  ## 3.4.15
4
10
 
5
11
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -1580,7 +1580,7 @@ If set and supported by the model, calls will generate deterministic results.
1580
1580
  @returns
1581
1581
  A result object that contains the generated text, the results of the tool calls, and additional information.
1582
1582
  */
1583
- declare function generateText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, headers, maxAutomaticRoundtrips, maxToolRoundtrips, maxSteps, experimental_continuationSteps, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, _internal: { generateId, currentDate, }, onStepFinish, ...settings }: CallSettings & Prompt & {
1583
+ declare function generateText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, headers, maxAutomaticRoundtrips, maxToolRoundtrips, maxSteps, experimental_continuationSteps, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, experimental_activeTools: activeTools, _internal: { generateId, currentDate, }, onStepFinish, ...settings }: CallSettings & Prompt & {
1584
1584
  /**
1585
1585
  The language model to use.
1586
1586
  */
@@ -1641,6 +1641,11 @@ functionality that can be fully encapsulated in the provider.
1641
1641
  */
1642
1642
  experimental_providerMetadata?: ProviderMetadata;
1643
1643
  /**
1644
+ Limits the tools that are available for the model to call without
1645
+ changing the tool call and result types in the result.
1646
+ */
1647
+ experimental_activeTools?: Array<keyof TOOLS>;
1648
+ /**
1644
1649
  Callback that is called when each step (LLM call) is finished, including intermediate steps.
1645
1650
  */
1646
1651
  onStepFinish?: (event: StepResult<TOOLS>) => Promise<void> | void;
@@ -1931,7 +1936,7 @@ If set and supported by the model, calls will generate deterministic results.
1931
1936
  @return
1932
1937
  A result object for accessing different stream types and additional information.
1933
1938
  */
1934
- declare function streamText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, headers, maxToolRoundtrips, maxSteps, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, experimental_toolCallStreaming: toolCallStreaming, onChunk, onFinish, onStepFinish, _internal: { now, generateId, currentDate, }, ...settings }: CallSettings & Prompt & {
1939
+ declare function streamText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, headers, maxToolRoundtrips, maxSteps, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, experimental_toolCallStreaming: toolCallStreaming, experimental_activeTools: activeTools, onChunk, onFinish, onStepFinish, _internal: { now, generateId, currentDate, }, ...settings }: CallSettings & Prompt & {
1935
1940
  /**
1936
1941
  The language model to use.
1937
1942
  */
@@ -1984,6 +1989,11 @@ functionality that can be fully encapsulated in the provider.
1984
1989
  */
1985
1990
  experimental_providerMetadata?: ProviderMetadata;
1986
1991
  /**
1992
+ Limits the tools that are available for the model to call without
1993
+ changing the tool call and result types in the result.
1994
+ */
1995
+ experimental_activeTools?: Array<keyof TOOLS>;
1996
+ /**
1987
1997
  Enable streaming of tool call deltas as they are generated. Disabled by default.
1988
1998
  */
1989
1999
  experimental_toolCallStreaming?: boolean;
package/dist/index.d.ts CHANGED
@@ -1580,7 +1580,7 @@ If set and supported by the model, calls will generate deterministic results.
1580
1580
  @returns
1581
1581
  A result object that contains the generated text, the results of the tool calls, and additional information.
1582
1582
  */
1583
- declare function generateText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, headers, maxAutomaticRoundtrips, maxToolRoundtrips, maxSteps, experimental_continuationSteps, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, _internal: { generateId, currentDate, }, onStepFinish, ...settings }: CallSettings & Prompt & {
1583
+ declare function generateText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, headers, maxAutomaticRoundtrips, maxToolRoundtrips, maxSteps, experimental_continuationSteps, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, experimental_activeTools: activeTools, _internal: { generateId, currentDate, }, onStepFinish, ...settings }: CallSettings & Prompt & {
1584
1584
  /**
1585
1585
  The language model to use.
1586
1586
  */
@@ -1641,6 +1641,11 @@ functionality that can be fully encapsulated in the provider.
1641
1641
  */
1642
1642
  experimental_providerMetadata?: ProviderMetadata;
1643
1643
  /**
1644
+ Limits the tools that are available for the model to call without
1645
+ changing the tool call and result types in the result.
1646
+ */
1647
+ experimental_activeTools?: Array<keyof TOOLS>;
1648
+ /**
1644
1649
  Callback that is called when each step (LLM call) is finished, including intermediate steps.
1645
1650
  */
1646
1651
  onStepFinish?: (event: StepResult<TOOLS>) => Promise<void> | void;
@@ -1931,7 +1936,7 @@ If set and supported by the model, calls will generate deterministic results.
1931
1936
  @return
1932
1937
  A result object for accessing different stream types and additional information.
1933
1938
  */
1934
- declare function streamText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, headers, maxToolRoundtrips, maxSteps, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, experimental_toolCallStreaming: toolCallStreaming, onChunk, onFinish, onStepFinish, _internal: { now, generateId, currentDate, }, ...settings }: CallSettings & Prompt & {
1939
+ declare function streamText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, headers, maxToolRoundtrips, maxSteps, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, experimental_toolCallStreaming: toolCallStreaming, experimental_activeTools: activeTools, onChunk, onFinish, onStepFinish, _internal: { now, generateId, currentDate, }, ...settings }: CallSettings & Prompt & {
1935
1940
  /**
1936
1941
  The language model to use.
1937
1942
  */
@@ -1984,6 +1989,11 @@ functionality that can be fully encapsulated in the provider.
1984
1989
  */
1985
1990
  experimental_providerMetadata?: ProviderMetadata;
1986
1991
  /**
1992
+ Limits the tools that are available for the model to call without
1993
+ changing the tool call and result types in the result.
1994
+ */
1995
+ experimental_activeTools?: Array<keyof TOOLS>;
1996
+ /**
1987
1997
  Enable streaming of tool call deltas as they are generated. Disabled by default.
1988
1998
  */
1989
1999
  experimental_toolCallStreaming?: boolean;
package/dist/index.js CHANGED
@@ -3067,7 +3067,8 @@ function isNonEmptyObject(object) {
3067
3067
  // core/prompt/prepare-tools-and-tool-choice.ts
3068
3068
  function prepareToolsAndToolChoice({
3069
3069
  tools,
3070
- toolChoice
3070
+ toolChoice,
3071
+ activeTools
3071
3072
  }) {
3072
3073
  if (!isNonEmptyObject(tools)) {
3073
3074
  return {
@@ -3075,8 +3076,11 @@ function prepareToolsAndToolChoice({
3075
3076
  toolChoice: void 0
3076
3077
  };
3077
3078
  }
3079
+ const filteredTools = activeTools != null ? Object.entries(tools).filter(
3080
+ ([name11]) => activeTools.includes(name11)
3081
+ ) : Object.entries(tools);
3078
3082
  return {
3079
- tools: Object.entries(tools).map(([name11, tool2]) => ({
3083
+ tools: filteredTools.map(([name11, tool2]) => ({
3080
3084
  type: "function",
3081
3085
  name: name11,
3082
3086
  description: tool2.description,
@@ -3178,6 +3182,7 @@ async function generateText({
3178
3182
  experimental_continueSteps: continueSteps = experimental_continuationSteps != null ? experimental_continuationSteps : false,
3179
3183
  experimental_telemetry: telemetry,
3180
3184
  experimental_providerMetadata: providerMetadata,
3185
+ experimental_activeTools: activeTools,
3181
3186
  _internal: {
3182
3187
  generateId: generateId3 = originalGenerateId3,
3183
3188
  currentDate = () => /* @__PURE__ */ new Date()
@@ -3227,7 +3232,7 @@ async function generateText({
3227
3232
  });
3228
3233
  const mode = {
3229
3234
  type: "regular",
3230
- ...prepareToolsAndToolChoice({ tools, toolChoice })
3235
+ ...prepareToolsAndToolChoice({ tools, toolChoice, activeTools })
3231
3236
  };
3232
3237
  const callSettings = prepareCallSettings(settings);
3233
3238
  const promptMessages = await convertToLanguageModelPrompt({
@@ -3906,6 +3911,7 @@ async function streamText({
3906
3911
  experimental_telemetry: telemetry,
3907
3912
  experimental_providerMetadata: providerMetadata,
3908
3913
  experimental_toolCallStreaming: toolCallStreaming = false,
3914
+ experimental_activeTools: activeTools,
3909
3915
  onChunk,
3910
3916
  onFinish,
3911
3917
  onStepFinish,
@@ -3994,7 +4000,11 @@ async function streamText({
3994
4000
  result: await model.doStream({
3995
4001
  mode: {
3996
4002
  type: "regular",
3997
- ...prepareToolsAndToolChoice({ tools, toolChoice })
4003
+ ...prepareToolsAndToolChoice({
4004
+ tools,
4005
+ toolChoice,
4006
+ activeTools
4007
+ })
3998
4008
  },
3999
4009
  ...prepareCallSettings(settings),
4000
4010
  inputFormat: promptType,