ai 4.0.12 → 4.0.14

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,22 @@
1
1
  # ai
2
2
 
3
+ ## 4.0.14
4
+
5
+ ### Patch Changes
6
+
7
+ - 09a9cab: feat (ai/core): add experimental generateImage function
8
+ - Updated dependencies [09a9cab]
9
+ - @ai-sdk/provider@1.0.2
10
+ - @ai-sdk/provider-utils@2.0.4
11
+ - @ai-sdk/ui-utils@1.0.5
12
+ - @ai-sdk/react@1.0.6
13
+
14
+ ## 4.0.13
15
+
16
+ ### Patch Changes
17
+
18
+ - 9f32213: feat (ai/core): add experimental tool call repair
19
+
3
20
  ## 4.0.12
4
21
 
5
22
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { DataStreamString, ToolInvocation, Attachment, Schema, DeepPartial, JSONValue as JSONValue$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
2
2
  export { AssistantMessage, AssistantStatus, Attachment, ChatRequest, ChatRequestOptions, CreateMessage, DataMessage, DataStreamPart, DeepPartial, IdGenerator, JSONValue, Message, RequestOptions, Schema, ToolInvocation, UseAssistantOptions, formatAssistantStreamPart, formatDataStreamPart, jsonSchema, parseAssistantStreamPart, parseDataStreamPart, processDataStream, processTextStream } from '@ai-sdk/ui-utils';
3
3
  export { ToolCall as CoreToolCall, ToolResult as CoreToolResult, generateId } from '@ai-sdk/provider-utils';
4
- import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, LanguageModelV1CallOptions, NoSuchModelError, AISDKError } from '@ai-sdk/provider';
4
+ import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, ImageModelV1, LanguageModelV1CallOptions, AISDKError, LanguageModelV1FunctionToolCall, JSONSchema7, NoSuchModelError } from '@ai-sdk/provider';
5
5
  export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, LanguageModelV1, LanguageModelV1CallOptions, LanguageModelV1Prompt, LanguageModelV1StreamPart, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
6
6
  import { ServerResponse } from 'node:http';
7
7
  import { AttributeValue, Tracer } from '@opentelemetry/api';
@@ -352,6 +352,95 @@ declare function embedMany<VALUE>({ model, values, maxRetries: maxRetriesArg, ab
352
352
  experimental_telemetry?: TelemetrySettings;
353
353
  }): Promise<EmbedManyResult<VALUE>>;
354
354
 
355
+ /**
356
+ The result of a `generateImage` call.
357
+ It contains the images and additional information.
358
+ */
359
+ interface GenerateImageResult {
360
+ /**
361
+ The first image that was generated.
362
+ */
363
+ readonly image: GeneratedImage;
364
+ /**
365
+ The images that were generated.
366
+ */
367
+ readonly images: Array<GeneratedImage>;
368
+ }
369
+ interface GeneratedImage {
370
+ /**
371
+ Image as a base64 encoded string.
372
+ */
373
+ readonly base64: string;
374
+ /**
375
+ Image as a Uint8Array.
376
+ */
377
+ readonly uint8Array: Uint8Array;
378
+ }
379
+
380
+ /**
381
+ Generates images using an image model.
382
+
383
+ @param model - The image model to use.
384
+ @param prompt - The prompt that should be used to generate the image.
385
+ @param n - Number of images to generate. Default: 1.
386
+ @param size - Size of the images to generate. Must have the format `{width}x{height}`.
387
+ @param providerOptions - Additional provider-specific options that are passed through to the provider
388
+ as body parameters.
389
+ @param maxRetries - Maximum number of retries. Set to 0 to disable retries. Default: 2.
390
+ @param abortSignal - An optional abort signal that can be used to cancel the call.
391
+ @param headers - Additional HTTP headers to be sent with the request. Only applicable for HTTP-based providers.
392
+
393
+ @returns A result object that contains the generated images.
394
+ */
395
+ declare function generateImage({ model, prompt, n, size, providerOptions, maxRetries: maxRetriesArg, abortSignal, headers, }: {
396
+ /**
397
+ The image model to use.
398
+ */
399
+ model: ImageModelV1;
400
+ /**
401
+ The prompt that should be used to generate the image.
402
+ */
403
+ prompt: string;
404
+ /**
405
+ Number of images to generate.
406
+ */
407
+ n?: number;
408
+ /**
409
+ Size of the images to generate. Must have the format `{width}x{height}`.
410
+ */
411
+ size?: `${number}x${number}`;
412
+ /**
413
+ Additional provider-specific options that are passed through to the provider
414
+ as body parameters.
415
+
416
+ The outer record is keyed by the provider name, and the inner
417
+ record is keyed by the provider-specific metadata key.
418
+ ```ts
419
+ {
420
+ "openai": {
421
+ "style": "vivid"
422
+ }
423
+ }
424
+ ```
425
+ */
426
+ providerOptions?: Record<string, Record<string, JSONValue>>;
427
+ /**
428
+ Maximum number of retries per embedding model call. Set to 0 to disable retries.
429
+
430
+ @default 2
431
+ */
432
+ maxRetries?: number;
433
+ /**
434
+ Abort signal.
435
+ */
436
+ abortSignal?: AbortSignal;
437
+ /**
438
+ Additional headers to include in the request.
439
+ Only applicable for HTTP-based providers.
440
+ */
441
+ headers?: Record<string, string>;
442
+ }): Promise<GenerateImageResult>;
443
+
355
444
  type CallSettings = {
356
445
  /**
357
446
  Maximum number of tokens to generate.
@@ -1537,6 +1626,57 @@ declare namespace output {
1537
1626
  };
1538
1627
  }
1539
1628
 
1629
+ declare const symbol$b: unique symbol;
1630
+ declare class InvalidToolArgumentsError extends AISDKError {
1631
+ private readonly [symbol$b];
1632
+ readonly toolName: string;
1633
+ readonly toolArgs: string;
1634
+ constructor({ toolArgs, toolName, cause, message, }: {
1635
+ message?: string;
1636
+ toolArgs: string;
1637
+ toolName: string;
1638
+ cause: unknown;
1639
+ });
1640
+ static isInstance(error: unknown): error is InvalidToolArgumentsError;
1641
+ }
1642
+
1643
+ declare const symbol$a: unique symbol;
1644
+ declare class NoSuchToolError extends AISDKError {
1645
+ private readonly [symbol$a];
1646
+ readonly toolName: string;
1647
+ readonly availableTools: string[] | undefined;
1648
+ constructor({ toolName, availableTools, message, }: {
1649
+ toolName: string;
1650
+ availableTools?: string[] | undefined;
1651
+ message?: string;
1652
+ });
1653
+ static isInstance(error: unknown): error is NoSuchToolError;
1654
+ }
1655
+
1656
+ /**
1657
+ * A function that attempts to repair a tool call that failed to parse.
1658
+ *
1659
+ * It receives the error and the context as arguments and returns the repair
1660
+ * tool call JSON as text.
1661
+ *
1662
+ * @param options.system - The system prompt.
1663
+ * @param options.messages - The messages in the current generation step.
1664
+ * @param options.toolCall - The tool call that failed to parse.
1665
+ * @param options.tools - The tools that are available.
1666
+ * @param options.parameterSchema - A function that returns the JSON Schema for a tool.
1667
+ * @param options.error - The error that occurred while parsing the tool call.
1668
+ */
1669
+ type ToolCallRepairFunction<TOOLS extends Record<string, CoreTool>> = (options: {
1670
+ system: string | undefined;
1671
+ messages: CoreMessage[];
1672
+ toolCall: LanguageModelV1FunctionToolCall;
1673
+ tools: TOOLS;
1674
+ parameterSchema: (options: {
1675
+ toolName: string;
1676
+ }) => JSONSchema7;
1677
+ error: NoSuchToolError | InvalidToolArgumentsError;
1678
+ }) => Promise<LanguageModelV1FunctionToolCall | null>;
1679
+
1540
1680
  /**
1541
1681
  Generate a text and call tools for a given prompt using a language model.
1542
1682
 
@@ -1583,7 +1723,7 @@ If set and supported by the model, calls will generate deterministic results.
1583
1723
  @returns
1584
1724
  A result object that contains the generated text, the results of the tool calls, and additional information.
1585
1725
  */
1586
- declare function generateText<TOOLS extends Record<string, CoreTool>, OUTPUT = never>({ model, tools, toolChoice, system, prompt, messages, maxRetries: maxRetriesArg, abortSignal, headers, maxSteps, experimental_output: output, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, experimental_activeTools: activeTools, _internal: { generateId, currentDate, }, onStepFinish, ...settings }: CallSettings & Prompt & {
1726
+ declare function generateText<TOOLS extends Record<string, CoreTool>, OUTPUT = never>({ model, tools, toolChoice, system, prompt, messages, maxRetries: maxRetriesArg, abortSignal, headers, maxSteps, experimental_output: output, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, experimental_activeTools: activeTools, experimental_repairToolCall: repairToolCall, _internal: { generateId, currentDate, }, onStepFinish, ...settings }: CallSettings & Prompt & {
1587
1727
  /**
1588
1728
  The language model to use.
1589
1729
  */
@@ -1627,6 +1767,10 @@ changing the tool call and result types in the result.
1627
1767
  experimental_activeTools?: Array<keyof TOOLS>;
1628
1768
  experimental_output?: Output<OUTPUT>;
1629
1769
  /**
1770
+ A function that attempts to repair a tool call that failed to parse.
1771
+ */
1772
+ experimental_repairToolCall?: ToolCallRepairFunction<TOOLS>;
1773
+ /**
1630
1774
  Callback that is called when each step (LLM call) is finished, including intermediate steps.
1631
1775
  */
1632
1776
  onStepFinish?: (event: StepResult<TOOLS>) => Promise<void> | void;
@@ -1893,7 +2037,7 @@ If set and supported by the model, calls will generate deterministic results.
1893
2037
  @return
1894
2038
  A result object for accessing different stream types and additional information.
1895
2039
  */
1896
- declare function streamText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, headers, 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 & {
2040
+ declare function streamText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, headers, maxSteps, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, experimental_toolCallStreaming: toolCallStreaming, experimental_activeTools: activeTools, experimental_repairToolCall: repairToolCall, onChunk, onFinish, onStepFinish, _internal: { now, generateId, currentDate, }, ...settings }: CallSettings & Prompt & {
1897
2041
  /**
1898
2042
  The language model to use.
1899
2043
  */
@@ -1936,6 +2080,10 @@ changing the tool call and result types in the result.
1936
2080
  */
1937
2081
  experimental_activeTools?: Array<keyof TOOLS>;
1938
2082
  /**
2083
+ A function that attempts to repair a tool call that failed to parse.
2084
+ */
2085
+ experimental_repairToolCall?: ToolCallRepairFunction<TOOLS>;
2086
+ /**
1939
2087
  Enable streaming of tool call deltas as they are generated. Disabled by default.
1940
2088
  */
1941
2089
  experimental_toolCallStreaming?: boolean;
@@ -2056,9 +2204,9 @@ declare function experimental_customProvider({ languageModels, textEmbeddingMode
2056
2204
  fallbackProvider?: Provider;
2057
2205
  }): Provider;
2058
2206
 
2059
- declare const symbol$a: unique symbol;
2207
+ declare const symbol$9: unique symbol;
2060
2208
  declare class NoSuchProviderError extends NoSuchModelError {
2061
- private readonly [symbol$a];
2209
+ private readonly [symbol$9];
2062
2210
  readonly providerId: string;
2063
2211
  readonly availableProviders: string[];
2064
2212
  constructor({ modelId, modelType, providerId, availableProviders, message, }: {
@@ -2088,9 +2236,9 @@ declare function experimental_createProviderRegistry(providers: Record<string, P
2088
2236
  */
2089
2237
  declare function cosineSimilarity(vector1: number[], vector2: number[]): number;
2090
2238
 
2091
- declare const symbol$9: unique symbol;
2239
+ declare const symbol$8: unique symbol;
2092
2240
  declare class InvalidArgumentError extends AISDKError {
2093
- private readonly [symbol$9];
2241
+ private readonly [symbol$8];
2094
2242
  readonly parameter: string;
2095
2243
  readonly value: unknown;
2096
2244
  constructor({ parameter, value, message, }: {
@@ -2101,31 +2249,16 @@ declare class InvalidArgumentError extends AISDKError {
2101
2249
  static isInstance(error: unknown): error is InvalidArgumentError;
2102
2250
  }
2103
2251
 
2104
- declare const symbol$8: unique symbol;
2105
- declare class InvalidToolArgumentsError extends AISDKError {
2106
- private readonly [symbol$8];
2107
- readonly toolName: string;
2108
- readonly toolArgs: string;
2109
- constructor({ toolArgs, toolName, cause, message, }: {
2110
- message?: string;
2111
- toolArgs: string;
2112
- toolName: string;
2113
- cause: unknown;
2114
- });
2115
- static isInstance(error: unknown): error is InvalidToolArgumentsError;
2116
- }
2117
-
2118
2252
  declare const symbol$7: unique symbol;
2119
- declare class NoSuchToolError extends AISDKError {
2253
+ declare class ToolCallRepairError extends AISDKError {
2120
2254
  private readonly [symbol$7];
2121
- readonly toolName: string;
2122
- readonly availableTools: string[] | undefined;
2123
- constructor({ toolName, availableTools, message, }: {
2124
- toolName: string;
2125
- availableTools?: string[] | undefined;
2255
+ readonly originalError: NoSuchToolError | InvalidToolArgumentsError;
2256
+ constructor({ cause, originalError, message, }: {
2126
2257
  message?: string;
2258
+ cause: unknown;
2259
+ originalError: NoSuchToolError | InvalidToolArgumentsError;
2127
2260
  });
2128
- static isInstance(error: unknown): error is NoSuchToolError;
2261
+ static isInstance(error: unknown): error is ToolCallRepairError;
2129
2262
  }
2130
2263
 
2131
2264
  declare const symbol$6: unique symbol;
@@ -2352,4 +2485,4 @@ declare namespace llamaindexAdapter {
2352
2485
  };
2353
2486
  }
2354
2487
 
2355
- export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, ToolCallUnion as CoreToolCallUnion, CoreToolChoice, CoreToolMessage, ToolResultUnion as CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoObjectGeneratedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, TextPart, TextStreamPart, ToolCallPart, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, UserContent, convertToCoreMessages, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, experimental_wrapLanguageModel, generateObject, generateText, pipeDataStreamToResponse, streamObject, streamText, tool };
2488
+ export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, ToolCallUnion as CoreToolCallUnion, CoreToolChoice, CoreToolMessage, ToolResultUnion as CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoObjectGeneratedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, TextPart, TextStreamPart, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, UserContent, convertToCoreMessages, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, generateObject, generateText, pipeDataStreamToResponse, streamObject, streamText, tool };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { DataStreamString, ToolInvocation, Attachment, Schema, DeepPartial, JSONValue as JSONValue$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
2
2
  export { AssistantMessage, AssistantStatus, Attachment, ChatRequest, ChatRequestOptions, CreateMessage, DataMessage, DataStreamPart, DeepPartial, IdGenerator, JSONValue, Message, RequestOptions, Schema, ToolInvocation, UseAssistantOptions, formatAssistantStreamPart, formatDataStreamPart, jsonSchema, parseAssistantStreamPart, parseDataStreamPart, processDataStream, processTextStream } from '@ai-sdk/ui-utils';
3
3
  export { ToolCall as CoreToolCall, ToolResult as CoreToolResult, generateId } from '@ai-sdk/provider-utils';
4
- import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, LanguageModelV1CallOptions, NoSuchModelError, AISDKError } from '@ai-sdk/provider';
4
+ import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, ImageModelV1, LanguageModelV1CallOptions, AISDKError, LanguageModelV1FunctionToolCall, JSONSchema7, NoSuchModelError } from '@ai-sdk/provider';
5
5
  export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, LanguageModelV1, LanguageModelV1CallOptions, LanguageModelV1Prompt, LanguageModelV1StreamPart, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
6
6
  import { ServerResponse } from 'node:http';
7
7
  import { AttributeValue, Tracer } from '@opentelemetry/api';
@@ -352,6 +352,95 @@ declare function embedMany<VALUE>({ model, values, maxRetries: maxRetriesArg, ab
352
352
  experimental_telemetry?: TelemetrySettings;
353
353
  }): Promise<EmbedManyResult<VALUE>>;
354
354
 
355
+ /**
356
+ The result of a `generateImage` call.
357
+ It contains the images and additional information.
358
+ */
359
+ interface GenerateImageResult {
360
+ /**
361
+ The first image that was generated.
362
+ */
363
+ readonly image: GeneratedImage;
364
+ /**
365
+ The images that were generated.
366
+ */
367
+ readonly images: Array<GeneratedImage>;
368
+ }
369
+ interface GeneratedImage {
370
+ /**
371
+ Image as a base64 encoded string.
372
+ */
373
+ readonly base64: string;
374
+ /**
375
+ Image as a Uint8Array.
376
+ */
377
+ readonly uint8Array: Uint8Array;
378
+ }
379
+
380
+ /**
381
+ Generates images using an image model.
382
+
383
+ @param model - The image model to use.
384
+ @param prompt - The prompt that should be used to generate the image.
385
+ @param n - Number of images to generate. Default: 1.
386
+ @param size - Size of the images to generate. Must have the format `{width}x{height}`.
387
+ @param providerOptions - Additional provider-specific options that are passed through to the provider
388
+ as body parameters.
389
+ @param maxRetries - Maximum number of retries. Set to 0 to disable retries. Default: 2.
390
+ @param abortSignal - An optional abort signal that can be used to cancel the call.
391
+ @param headers - Additional HTTP headers to be sent with the request. Only applicable for HTTP-based providers.
392
+
393
+ @returns A result object that contains the generated images.
394
+ */
395
+ declare function generateImage({ model, prompt, n, size, providerOptions, maxRetries: maxRetriesArg, abortSignal, headers, }: {
396
+ /**
397
+ The image model to use.
398
+ */
399
+ model: ImageModelV1;
400
+ /**
401
+ The prompt that should be used to generate the image.
402
+ */
403
+ prompt: string;
404
+ /**
405
+ Number of images to generate.
406
+ */
407
+ n?: number;
408
+ /**
409
+ Size of the images to generate. Must have the format `{width}x{height}`.
410
+ */
411
+ size?: `${number}x${number}`;
412
+ /**
413
+ Additional provider-specific options that are passed through to the provider
414
+ as body parameters.
415
+
416
+ The outer record is keyed by the provider name, and the inner
417
+ record is keyed by the provider-specific metadata key.
418
+ ```ts
419
+ {
420
+ "openai": {
421
+ "style": "vivid"
422
+ }
423
+ }
424
+ ```
425
+ */
426
+ providerOptions?: Record<string, Record<string, JSONValue>>;
427
+ /**
428
+ Maximum number of retries per embedding model call. Set to 0 to disable retries.
429
+
430
+ @default 2
431
+ */
432
+ maxRetries?: number;
433
+ /**
434
+ Abort signal.
435
+ */
436
+ abortSignal?: AbortSignal;
437
+ /**
438
+ Additional headers to include in the request.
439
+ Only applicable for HTTP-based providers.
440
+ */
441
+ headers?: Record<string, string>;
442
+ }): Promise<GenerateImageResult>;
443
+
355
444
  type CallSettings = {
356
445
  /**
357
446
  Maximum number of tokens to generate.
@@ -1537,6 +1626,57 @@ declare namespace output {
1537
1626
  };
1538
1627
  }
1539
1628
 
1629
+ declare const symbol$b: unique symbol;
1630
+ declare class InvalidToolArgumentsError extends AISDKError {
1631
+ private readonly [symbol$b];
1632
+ readonly toolName: string;
1633
+ readonly toolArgs: string;
1634
+ constructor({ toolArgs, toolName, cause, message, }: {
1635
+ message?: string;
1636
+ toolArgs: string;
1637
+ toolName: string;
1638
+ cause: unknown;
1639
+ });
1640
+ static isInstance(error: unknown): error is InvalidToolArgumentsError;
1641
+ }
1642
+
1643
+ declare const symbol$a: unique symbol;
1644
+ declare class NoSuchToolError extends AISDKError {
1645
+ private readonly [symbol$a];
1646
+ readonly toolName: string;
1647
+ readonly availableTools: string[] | undefined;
1648
+ constructor({ toolName, availableTools, message, }: {
1649
+ toolName: string;
1650
+ availableTools?: string[] | undefined;
1651
+ message?: string;
1652
+ });
1653
+ static isInstance(error: unknown): error is NoSuchToolError;
1654
+ }
1655
+
1656
+ /**
1657
+ * A function that attempts to repair a tool call that failed to parse.
1658
+ *
1659
+ * It receives the error and the context as arguments and returns the repair
1660
+ * tool call JSON as text.
1661
+ *
1662
+ * @param options.system - The system prompt.
1663
+ * @param options.messages - The messages in the current generation step.
1664
+ * @param options.toolCall - The tool call that failed to parse.
1665
+ * @param options.tools - The tools that are available.
1666
+ * @param options.parameterSchema - A function that returns the JSON Schema for a tool.
1667
+ * @param options.error - The error that occurred while parsing the tool call.
1668
+ */
1669
+ type ToolCallRepairFunction<TOOLS extends Record<string, CoreTool>> = (options: {
1670
+ system: string | undefined;
1671
+ messages: CoreMessage[];
1672
+ toolCall: LanguageModelV1FunctionToolCall;
1673
+ tools: TOOLS;
1674
+ parameterSchema: (options: {
1675
+ toolName: string;
1676
+ }) => JSONSchema7;
1677
+ error: NoSuchToolError | InvalidToolArgumentsError;
1678
+ }) => Promise<LanguageModelV1FunctionToolCall | null>;
1679
+
1540
1680
  /**
1541
1681
  Generate a text and call tools for a given prompt using a language model.
1542
1682
 
@@ -1583,7 +1723,7 @@ If set and supported by the model, calls will generate deterministic results.
1583
1723
  @returns
1584
1724
  A result object that contains the generated text, the results of the tool calls, and additional information.
1585
1725
  */
1586
- declare function generateText<TOOLS extends Record<string, CoreTool>, OUTPUT = never>({ model, tools, toolChoice, system, prompt, messages, maxRetries: maxRetriesArg, abortSignal, headers, maxSteps, experimental_output: output, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, experimental_activeTools: activeTools, _internal: { generateId, currentDate, }, onStepFinish, ...settings }: CallSettings & Prompt & {
1726
+ declare function generateText<TOOLS extends Record<string, CoreTool>, OUTPUT = never>({ model, tools, toolChoice, system, prompt, messages, maxRetries: maxRetriesArg, abortSignal, headers, maxSteps, experimental_output: output, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, experimental_activeTools: activeTools, experimental_repairToolCall: repairToolCall, _internal: { generateId, currentDate, }, onStepFinish, ...settings }: CallSettings & Prompt & {
1587
1727
  /**
1588
1728
  The language model to use.
1589
1729
  */
@@ -1627,6 +1767,10 @@ changing the tool call and result types in the result.
1627
1767
  experimental_activeTools?: Array<keyof TOOLS>;
1628
1768
  experimental_output?: Output<OUTPUT>;
1629
1769
  /**
1770
+ A function that attempts to repair a tool call that failed to parse.
1771
+ */
1772
+ experimental_repairToolCall?: ToolCallRepairFunction<TOOLS>;
1773
+ /**
1630
1774
  Callback that is called when each step (LLM call) is finished, including intermediate steps.
1631
1775
  */
1632
1776
  onStepFinish?: (event: StepResult<TOOLS>) => Promise<void> | void;
@@ -1893,7 +2037,7 @@ If set and supported by the model, calls will generate deterministic results.
1893
2037
  @return
1894
2038
  A result object for accessing different stream types and additional information.
1895
2039
  */
1896
- declare function streamText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, headers, 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 & {
2040
+ declare function streamText<TOOLS extends Record<string, CoreTool>>({ model, tools, toolChoice, system, prompt, messages, maxRetries, abortSignal, headers, maxSteps, experimental_continueSteps: continueSteps, experimental_telemetry: telemetry, experimental_providerMetadata: providerMetadata, experimental_toolCallStreaming: toolCallStreaming, experimental_activeTools: activeTools, experimental_repairToolCall: repairToolCall, onChunk, onFinish, onStepFinish, _internal: { now, generateId, currentDate, }, ...settings }: CallSettings & Prompt & {
1897
2041
  /**
1898
2042
  The language model to use.
1899
2043
  */
@@ -1936,6 +2080,10 @@ changing the tool call and result types in the result.
1936
2080
  */
1937
2081
  experimental_activeTools?: Array<keyof TOOLS>;
1938
2082
  /**
2083
+ A function that attempts to repair a tool call that failed to parse.
2084
+ */
2085
+ experimental_repairToolCall?: ToolCallRepairFunction<TOOLS>;
2086
+ /**
1939
2087
  Enable streaming of tool call deltas as they are generated. Disabled by default.
1940
2088
  */
1941
2089
  experimental_toolCallStreaming?: boolean;
@@ -2056,9 +2204,9 @@ declare function experimental_customProvider({ languageModels, textEmbeddingMode
2056
2204
  fallbackProvider?: Provider;
2057
2205
  }): Provider;
2058
2206
 
2059
- declare const symbol$a: unique symbol;
2207
+ declare const symbol$9: unique symbol;
2060
2208
  declare class NoSuchProviderError extends NoSuchModelError {
2061
- private readonly [symbol$a];
2209
+ private readonly [symbol$9];
2062
2210
  readonly providerId: string;
2063
2211
  readonly availableProviders: string[];
2064
2212
  constructor({ modelId, modelType, providerId, availableProviders, message, }: {
@@ -2088,9 +2236,9 @@ declare function experimental_createProviderRegistry(providers: Record<string, P
2088
2236
  */
2089
2237
  declare function cosineSimilarity(vector1: number[], vector2: number[]): number;
2090
2238
 
2091
- declare const symbol$9: unique symbol;
2239
+ declare const symbol$8: unique symbol;
2092
2240
  declare class InvalidArgumentError extends AISDKError {
2093
- private readonly [symbol$9];
2241
+ private readonly [symbol$8];
2094
2242
  readonly parameter: string;
2095
2243
  readonly value: unknown;
2096
2244
  constructor({ parameter, value, message, }: {
@@ -2101,31 +2249,16 @@ declare class InvalidArgumentError extends AISDKError {
2101
2249
  static isInstance(error: unknown): error is InvalidArgumentError;
2102
2250
  }
2103
2251
 
2104
- declare const symbol$8: unique symbol;
2105
- declare class InvalidToolArgumentsError extends AISDKError {
2106
- private readonly [symbol$8];
2107
- readonly toolName: string;
2108
- readonly toolArgs: string;
2109
- constructor({ toolArgs, toolName, cause, message, }: {
2110
- message?: string;
2111
- toolArgs: string;
2112
- toolName: string;
2113
- cause: unknown;
2114
- });
2115
- static isInstance(error: unknown): error is InvalidToolArgumentsError;
2116
- }
2117
-
2118
2252
  declare const symbol$7: unique symbol;
2119
- declare class NoSuchToolError extends AISDKError {
2253
+ declare class ToolCallRepairError extends AISDKError {
2120
2254
  private readonly [symbol$7];
2121
- readonly toolName: string;
2122
- readonly availableTools: string[] | undefined;
2123
- constructor({ toolName, availableTools, message, }: {
2124
- toolName: string;
2125
- availableTools?: string[] | undefined;
2255
+ readonly originalError: NoSuchToolError | InvalidToolArgumentsError;
2256
+ constructor({ cause, originalError, message, }: {
2126
2257
  message?: string;
2258
+ cause: unknown;
2259
+ originalError: NoSuchToolError | InvalidToolArgumentsError;
2127
2260
  });
2128
- static isInstance(error: unknown): error is NoSuchToolError;
2261
+ static isInstance(error: unknown): error is ToolCallRepairError;
2129
2262
  }
2130
2263
 
2131
2264
  declare const symbol$6: unique symbol;
@@ -2352,4 +2485,4 @@ declare namespace llamaindexAdapter {
2352
2485
  };
2353
2486
  }
2354
2487
 
2355
- export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, ToolCallUnion as CoreToolCallUnion, CoreToolChoice, CoreToolMessage, ToolResultUnion as CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoObjectGeneratedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, TextPart, TextStreamPart, ToolCallPart, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, UserContent, convertToCoreMessages, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, experimental_wrapLanguageModel, generateObject, generateText, pipeDataStreamToResponse, streamObject, streamText, tool };
2488
+ export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, ToolCallUnion as CoreToolCallUnion, CoreToolChoice, CoreToolMessage, ToolResultUnion as CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoObjectGeneratedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, TextPart, TextStreamPart, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, UserContent, convertToCoreMessages, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, generateObject, generateText, pipeDataStreamToResponse, streamObject, streamText, tool };