ai 7.0.108 → 7.0.110

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.
@@ -1,7 +1,7 @@
1
1
  import * as _ai_sdk_provider from '@ai-sdk/provider';
2
2
  import { EmbeddingModelV4Embedding, LanguageModelV4Source, SharedV4Warning, LanguageModelV4, LanguageModelV3, LanguageModelV2, SharedV4ProviderMetadata, JSONObject, LanguageModelV4Usage, LanguageModelV4CallOptions, LanguageModelV4Prompt, AISDKError, LanguageModelV4ToolCall, JSONSchema7, ProviderV4, ProviderV3, ProviderV2, LanguageModelV4ToolResultOutput, LanguageModelV4ToolChoice, LanguageModelV4FunctionTool, LanguageModelV4ProviderTool } from '@ai-sdk/provider';
3
3
  import { GatewayModelId } from '@ai-sdk/gateway';
4
- import { ModelMessage, AssistantModelMessage, ToolModelMessage, Context, ProviderOptions, ToolSet, SystemModelMessage, InferToolSetContext, Arrayable, InferToolInput, InferToolOutput, ReasoningPart, ReasoningFilePart, MaybePromiseLike, ToolExecutionOptions, InferToolContext, ToolResultOutput, Tool, Experimental_SandboxSession, ShouldRetryFunction, RetryFunction, ToolApprovalRequest, ToolApprovalResponse, ToolResultPart } from '@ai-sdk/provider-utils';
4
+ import { ModelMessage, AssistantModelMessage, ToolModelMessage, Context, ProviderOptions, ToolSet, SystemModelMessage, InferToolSetContext, Arrayable, InferToolInput, InferToolOutput, ReasoningPart, ReasoningFilePart, MaybePromiseLike, ToolExecutionOptions, InferToolContext, HasRequiredKey, ToolResultOutput, Tool, Experimental_SandboxSession, ShouldRetryFunction, RetryFunction, FlexibleSchema, ToolApprovalRequest, ToolApprovalResponse, ToolResultPart } from '@ai-sdk/provider-utils';
5
5
  export { convertAsyncIteratorToReadableStream } from '@ai-sdk/provider-utils';
6
6
 
7
7
  /**
@@ -1926,6 +1926,22 @@ type ToolInputRefinement<TOOLS extends ToolSet> = {
1926
1926
  [NAME in keyof TOOLS]?: (input: InferToolInput<TOOLS[NAME]>) => MaybePromiseLike<InferToolInput<TOOLS[NAME]>>;
1927
1927
  };
1928
1928
 
1929
+ /**
1930
+ * Checks whether a tool context map contains any contextual tool entries.
1931
+ */
1932
+ type IsEmptyObject<OBJECT> = keyof OBJECT extends never ? true : false;
1933
+ /**
1934
+ * Makes the toolsContext setting optional, required, or unavailable based on
1935
+ * the tool set.
1936
+ */
1937
+ type ToolsContextSettings<TOOLS extends ToolSet> = IsEmptyObject<InferToolSetContext<TOOLS>> extends true ? {
1938
+ toolsContext?: never;
1939
+ } : HasRequiredKey<InferToolSetContext<TOOLS>> extends true ? {
1940
+ toolsContext: InferToolSetContext<TOOLS>;
1941
+ } : {
1942
+ toolsContext?: InferToolSetContext<TOOLS>;
1943
+ };
1944
+
1929
1945
  type EnrichedStreamPart<TOOLS extends ToolSet, PARTIAL_OUTPUT> = {
1930
1946
  part: TextStreamPart<TOOLS>;
1931
1947
  partialOutput: PARTIAL_OUTPUT | undefined;
@@ -2693,6 +2709,22 @@ declare function parseToolCall<TOOLS extends ToolSet>({ toolCall, tools, repairT
2693
2709
  abortSignal?: AbortSignal;
2694
2710
  }): Promise<TypedToolCall<TOOLS>>;
2695
2711
 
2712
+ /**
2713
+ * Validates a tool context value against the tool's optional context schema.
2714
+ *
2715
+ * When no context schema is defined, the original context value is returned as-is.
2716
+ * Otherwise, the context is validated and normalized through the schema before
2717
+ * being passed into tool execution and approval hooks.
2718
+ *
2719
+ * @throws {TypeValidationError} When the provided tool context does not match
2720
+ * the tool's declared `contextSchema`.
2721
+ */
2722
+ declare function validateToolContext<CONTEXT>({ toolName, context, contextSchema, }: {
2723
+ toolName: string;
2724
+ context: unknown;
2725
+ contextSchema: FlexibleSchema<CONTEXT> | undefined;
2726
+ }): Promise<CONTEXT>;
2727
+
2696
2728
  /** Create discovery state for one generation, never for a shared tool instance. */
2697
2729
  declare function createToolSearchState({ tools, toolCallers, }: {
2698
2730
  tools: ToolSet | undefined;
@@ -2764,4 +2796,4 @@ declare function toResponseMessages<TOOLS extends ToolSet>({ content: inputConte
2764
2796
  tools: TOOLS | undefined;
2765
2797
  }): Promise<Array<AssistantModelMessage | ToolModelMessage>>;
2766
2798
 
2767
- export { type CollectedToolApprovals, DefaultStepResult, type DownloadFunction, addLanguageModelUsage, asLanguageModelUsage, collectToolApprovals, convertToLanguageModelPrompt, createAsyncIterableStream, createDefaultDownloadFunction, createNullLanguageModelUsage, createRestrictedTelemetryDispatcher, createTelemetryDispatcher, createToolModelOutput, createToolSearchState, downloadAssets, mapToolResultOutput, mergeAbortSignals, mergeCallbacks, parseToolCall, prepareLanguageModelCallOptions as prepareCallSettings, prepareLanguageModelCallOptions, prepareRetries, prepareToolChoice, prepareTools, resolveLanguageModel, signToolApproval, standardizePrompt, toResponseMessages, validateApprovedToolApprovals, verifyToolApprovalSignature };
2799
+ export { type CollectedToolApprovals, DefaultStepResult, type DownloadFunction, type ToolsContextSettings, addLanguageModelUsage, asLanguageModelUsage, collectToolApprovals, convertToLanguageModelPrompt, createAsyncIterableStream, createDefaultDownloadFunction, createNullLanguageModelUsage, createRestrictedTelemetryDispatcher, createTelemetryDispatcher, createToolModelOutput, createToolSearchState, downloadAssets, mapToolResultOutput, mergeAbortSignals, mergeCallbacks, parseToolCall, prepareLanguageModelCallOptions as prepareCallSettings, prepareLanguageModelCallOptions, prepareRetries, prepareToolChoice, prepareTools, resolveLanguageModel, signToolApproval, standardizePrompt, toResponseMessages, validateApprovedToolApprovals, validateToolContext, verifyToolApprovalSignature };
@@ -91,7 +91,7 @@ import {
91
91
  } from "@ai-sdk/provider-utils";
92
92
 
93
93
  // src/version.ts
94
- var VERSION = true ? "7.0.108" : "0.0.0-test";
94
+ var VERSION = true ? "7.0.110" : "0.0.0-test";
95
95
 
96
96
  // src/util/download/download.ts
97
97
  var download = async ({
@@ -3276,6 +3276,26 @@ async function doParseToolCall({
3276
3276
  };
3277
3277
  }
3278
3278
 
3279
+ // src/generate-text/validate-tool-context.ts
3280
+ import { validateTypes } from "@ai-sdk/provider-utils";
3281
+ async function validateToolContext({
3282
+ toolName,
3283
+ context,
3284
+ contextSchema
3285
+ }) {
3286
+ if (contextSchema == null) {
3287
+ return context;
3288
+ }
3289
+ return await validateTypes({
3290
+ value: context,
3291
+ schema: contextSchema,
3292
+ context: {
3293
+ field: "tool context",
3294
+ entityName: toolName
3295
+ }
3296
+ });
3297
+ }
3298
+
3279
3299
  // src/tool-search/prepare-tool-search.ts
3280
3300
  import {
3281
3301
  experimental_getToolCaller as experimental_getToolCaller2
@@ -3575,26 +3595,6 @@ import {
3575
3595
  safeValidateTypes as safeValidateTypes3
3576
3596
  } from "@ai-sdk/provider-utils";
3577
3597
 
3578
- // src/generate-text/validate-tool-context.ts
3579
- import { validateTypes } from "@ai-sdk/provider-utils";
3580
- async function validateToolContext({
3581
- toolName,
3582
- context,
3583
- contextSchema
3584
- }) {
3585
- if (contextSchema == null) {
3586
- return context;
3587
- }
3588
- return await validateTypes({
3589
- value: context,
3590
- schema: contextSchema,
3591
- context: {
3592
- field: "tool context",
3593
- entityName: toolName
3594
- }
3595
- });
3596
- }
3597
-
3598
3598
  // src/generate-text/resolve-tool-approval.ts
3599
3599
  async function resolveToolApproval({
3600
3600
  tools,
@@ -3964,6 +3964,7 @@ export {
3964
3964
  standardizePrompt,
3965
3965
  toResponseMessages,
3966
3966
  validateApprovedToolApprovals,
3967
+ validateToolContext,
3967
3968
  verifyToolApprovalSignature
3968
3969
  };
3969
3970
  //# sourceMappingURL=index.js.map