ai 7.0.30 → 7.0.32
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 +21 -0
- package/dist/index.d.ts +3 -150
- package/dist/index.js +55 -38
- package/dist/index.js.map +1 -1
- package/dist/internal/index.d.ts +2 -1
- package/dist/internal/index.js +6 -6
- package/dist/internal/index.js.map +1 -1
- package/docs/03-ai-sdk-core/15-tools-and-tool-calling.mdx +1 -1
- package/docs/03-ai-sdk-harnesses/02-harness-agent.mdx +10 -2
- package/docs/03-ai-sdk-harnesses/03-tools.mdx +40 -0
- package/docs/07-reference/01-ai-sdk-core/20-tool.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/22-dynamic-tool.mdx +1 -1
- package/package.json +3 -3
- package/src/generate-text/collect-tool-approvals.ts +11 -6
- package/src/generate-text/generate-text.ts +18 -2
- package/src/generate-text/stream-text.ts +9 -2
- package/src/ui/chat.ts +2 -2
- package/src/ui-message-stream/ui-message-chunks.ts +29 -29
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# ai
|
|
2
2
|
|
|
3
|
+
## 7.0.32
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 6cd7c74: fix: correct the `onToolCall` callback result documentation
|
|
8
|
+
- e35bcae: Allow UI message chunks to include fields added by newer server versions.
|
|
9
|
+
- a4eb3f3: Propagate abort reasons when generation is cancelled during tool execution.
|
|
10
|
+
- Updated dependencies [cefa3b1]
|
|
11
|
+
- Updated dependencies [8fbb89c]
|
|
12
|
+
- @ai-sdk/gateway@4.0.24
|
|
13
|
+
|
|
14
|
+
## 7.0.31
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- 70f18c3: fix(ai): emit denied tool output state for client-rejected approvals
|
|
19
|
+
- cd06458: fix(ai): call `onInputStart` before `onInputAvailable` during non-streaming tool calls
|
|
20
|
+
- Updated dependencies [cd06458]
|
|
21
|
+
- @ai-sdk/provider-utils@5.0.11
|
|
22
|
+
- @ai-sdk/gateway@4.0.23
|
|
23
|
+
|
|
3
24
|
## 7.0.30
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as _ai_sdk_provider from '@ai-sdk/provider';
|
|
2
1
|
import { EmbeddingModelV4, EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV4Embedding, EmbeddingModelV4Middleware, ImageModelV4, ImageModelV3, ImageModelV2, ImageModelV4ProviderMetadata, ImageModelV2ProviderMetadata, ImageModelV4Middleware, JSONValue as JSONValue$1, LanguageModelV4, LanguageModelV3, LanguageModelV2, SharedV4Warning, LanguageModelV4Source, LanguageModelV4Middleware, RerankingModelV4, RerankingModelV3, SharedV4ProviderMetadata, SharedV4ProviderReference, SpeechModelV4, SpeechModelV3, SpeechModelV2, TranscriptionModelV4, TranscriptionModelV3, TranscriptionModelV2, JSONObject, ImageModelV4Usage, LanguageModelV4CallOptions, LanguageModelV4Prompt, AISDKError, LanguageModelV4ToolCall, JSONSchema7, ProviderV4, ProviderV3, ProviderV2, SharedV4Headers, JSONParseError, TypeValidationError, Experimental_VideoModelV4, Experimental_VideoModelV3, Experimental_VideoModelV4FrameType, EmbeddingModelV4CallOptions, Experimental_RealtimeFactoryV4, Experimental_RealtimeFactoryV4GetTokenOptions, Experimental_RealtimeFactoryV4GetTokenResult, Experimental_RealtimeModelV4, Experimental_RealtimeModelV4ClientEvent, Experimental_RealtimeModelV4ServerEvent, Experimental_RealtimeModelV4SessionConfig, Experimental_RealtimeModelV4ToolDefinition, FilesV4, SkillsV4, NoSuchModelError, FilesV4UploadFileCallOptions, SkillsV4UploadSkillResult, SkillsV4UploadSkillCallOptions, SkillsV4File } from '@ai-sdk/provider';
|
|
3
2
|
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, JSONSchema7, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, NoSuchProviderReferenceError, TooManyEmbeddingValuesForCallError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
|
4
3
|
import { GatewayModelId } from '@ai-sdk/gateway';
|
|
@@ -2243,153 +2242,7 @@ type InferUIMessageToolCall<UI_MESSAGE extends UIMessage> = ValueOf<{
|
|
|
2243
2242
|
dynamic: true;
|
|
2244
2243
|
});
|
|
2245
2244
|
|
|
2246
|
-
declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<
|
|
2247
|
-
type: "text-start";
|
|
2248
|
-
id: string;
|
|
2249
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2250
|
-
} | {
|
|
2251
|
-
type: "text-delta";
|
|
2252
|
-
id: string;
|
|
2253
|
-
delta: string;
|
|
2254
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2255
|
-
} | {
|
|
2256
|
-
type: "text-end";
|
|
2257
|
-
id: string;
|
|
2258
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2259
|
-
} | {
|
|
2260
|
-
type: "error";
|
|
2261
|
-
errorText: string;
|
|
2262
|
-
} | {
|
|
2263
|
-
type: "tool-input-start";
|
|
2264
|
-
toolCallId: string;
|
|
2265
|
-
toolName: string;
|
|
2266
|
-
providerExecuted?: boolean | undefined;
|
|
2267
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2268
|
-
toolMetadata?: JSONObject | undefined;
|
|
2269
|
-
dynamic?: boolean | undefined;
|
|
2270
|
-
title?: string | undefined;
|
|
2271
|
-
} | {
|
|
2272
|
-
type: "tool-input-delta";
|
|
2273
|
-
toolCallId: string;
|
|
2274
|
-
inputTextDelta: string;
|
|
2275
|
-
} | {
|
|
2276
|
-
type: "tool-input-available";
|
|
2277
|
-
toolCallId: string;
|
|
2278
|
-
toolName: string;
|
|
2279
|
-
input: unknown;
|
|
2280
|
-
providerExecuted?: boolean | undefined;
|
|
2281
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2282
|
-
toolMetadata?: JSONObject | undefined;
|
|
2283
|
-
dynamic?: boolean | undefined;
|
|
2284
|
-
title?: string | undefined;
|
|
2285
|
-
} | {
|
|
2286
|
-
type: "tool-input-error";
|
|
2287
|
-
toolCallId: string;
|
|
2288
|
-
toolName: string;
|
|
2289
|
-
input: unknown;
|
|
2290
|
-
errorText: string;
|
|
2291
|
-
providerExecuted?: boolean | undefined;
|
|
2292
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2293
|
-
toolMetadata?: JSONObject | undefined;
|
|
2294
|
-
dynamic?: boolean | undefined;
|
|
2295
|
-
title?: string | undefined;
|
|
2296
|
-
} | {
|
|
2297
|
-
type: "tool-approval-request";
|
|
2298
|
-
approvalId: string;
|
|
2299
|
-
toolCallId: string;
|
|
2300
|
-
isAutomatic?: boolean | undefined;
|
|
2301
|
-
signature?: string | undefined;
|
|
2302
|
-
} | {
|
|
2303
|
-
type: "tool-approval-response";
|
|
2304
|
-
approvalId: string;
|
|
2305
|
-
approved: boolean;
|
|
2306
|
-
reason?: string | undefined;
|
|
2307
|
-
providerExecuted?: boolean | undefined;
|
|
2308
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2309
|
-
} | {
|
|
2310
|
-
type: "tool-output-available";
|
|
2311
|
-
toolCallId: string;
|
|
2312
|
-
output: unknown;
|
|
2313
|
-
providerExecuted?: boolean | undefined;
|
|
2314
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2315
|
-
toolMetadata?: JSONObject | undefined;
|
|
2316
|
-
dynamic?: boolean | undefined;
|
|
2317
|
-
preliminary?: boolean | undefined;
|
|
2318
|
-
} | {
|
|
2319
|
-
type: "tool-output-error";
|
|
2320
|
-
toolCallId: string;
|
|
2321
|
-
errorText: string;
|
|
2322
|
-
providerExecuted?: boolean | undefined;
|
|
2323
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2324
|
-
toolMetadata?: JSONObject | undefined;
|
|
2325
|
-
dynamic?: boolean | undefined;
|
|
2326
|
-
} | {
|
|
2327
|
-
type: "tool-output-denied";
|
|
2328
|
-
toolCallId: string;
|
|
2329
|
-
} | {
|
|
2330
|
-
type: "reasoning-start";
|
|
2331
|
-
id: string;
|
|
2332
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2333
|
-
} | {
|
|
2334
|
-
type: "reasoning-delta";
|
|
2335
|
-
id: string;
|
|
2336
|
-
delta: string;
|
|
2337
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2338
|
-
} | {
|
|
2339
|
-
type: "reasoning-end";
|
|
2340
|
-
id: string;
|
|
2341
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2342
|
-
} | {
|
|
2343
|
-
type: "custom";
|
|
2344
|
-
kind: `${string}.${string}`;
|
|
2345
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2346
|
-
} | {
|
|
2347
|
-
type: "source-url";
|
|
2348
|
-
sourceId: string;
|
|
2349
|
-
url: string;
|
|
2350
|
-
title?: string | undefined;
|
|
2351
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2352
|
-
} | {
|
|
2353
|
-
type: "source-document";
|
|
2354
|
-
sourceId: string;
|
|
2355
|
-
mediaType: string;
|
|
2356
|
-
title: string;
|
|
2357
|
-
filename?: string | undefined;
|
|
2358
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2359
|
-
} | {
|
|
2360
|
-
type: "file";
|
|
2361
|
-
url: string;
|
|
2362
|
-
mediaType: string;
|
|
2363
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2364
|
-
} | {
|
|
2365
|
-
type: "reasoning-file";
|
|
2366
|
-
url: string;
|
|
2367
|
-
mediaType: string;
|
|
2368
|
-
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2369
|
-
} | {
|
|
2370
|
-
type: `data-${string}`;
|
|
2371
|
-
data: unknown;
|
|
2372
|
-
id?: string | undefined;
|
|
2373
|
-
transient?: boolean | undefined;
|
|
2374
|
-
} | {
|
|
2375
|
-
type: "start-step";
|
|
2376
|
-
} | {
|
|
2377
|
-
type: "finish-step";
|
|
2378
|
-
} | {
|
|
2379
|
-
type: "start";
|
|
2380
|
-
messageId?: string | undefined;
|
|
2381
|
-
messageMetadata?: unknown;
|
|
2382
|
-
} | {
|
|
2383
|
-
type: "finish";
|
|
2384
|
-
finishReason?: "length" | "error" | "stop" | "content-filter" | "tool-calls" | "other" | undefined;
|
|
2385
|
-
messageMetadata?: unknown;
|
|
2386
|
-
} | {
|
|
2387
|
-
type: "abort";
|
|
2388
|
-
reason?: string | undefined;
|
|
2389
|
-
} | {
|
|
2390
|
-
type: "message-metadata";
|
|
2391
|
-
messageMetadata: unknown;
|
|
2392
|
-
}>;
|
|
2245
|
+
declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<UIMessageChunk<unknown, UIDataTypes>>;
|
|
2393
2246
|
type DataUIMessageChunk<DATA_TYPES extends UIDataTypes> = ValueOf<{
|
|
2394
2247
|
[NAME in keyof DATA_TYPES & string]: {
|
|
2395
2248
|
type: `data-${NAME}`;
|
|
@@ -5552,8 +5405,8 @@ interface ChatInit<UI_MESSAGE extends UIMessage> {
|
|
|
5552
5405
|
* Optional callback function that is invoked when a tool call is received.
|
|
5553
5406
|
* Intended for automatic client-side tool execution.
|
|
5554
5407
|
*
|
|
5555
|
-
*
|
|
5556
|
-
*
|
|
5408
|
+
* To add the tool output, call `addToolOutput` without awaiting it inside
|
|
5409
|
+
* this callback. The callback's return value is not used.
|
|
5557
5410
|
*/
|
|
5558
5411
|
onToolCall?: ChatOnToolCallCallback<UI_MESSAGE>;
|
|
5559
5412
|
/**
|
package/dist/index.js
CHANGED
|
@@ -1089,7 +1089,7 @@ import {
|
|
|
1089
1089
|
} from "@ai-sdk/provider-utils";
|
|
1090
1090
|
|
|
1091
1091
|
// src/version.ts
|
|
1092
|
-
var VERSION = true ? "7.0.
|
|
1092
|
+
var VERSION = true ? "7.0.32" : "0.0.0-test";
|
|
1093
1093
|
|
|
1094
1094
|
// src/util/download/download.ts
|
|
1095
1095
|
var download = async ({
|
|
@@ -2787,9 +2787,7 @@ function collectToolApprovals({
|
|
|
2787
2787
|
}
|
|
2788
2788
|
}
|
|
2789
2789
|
}
|
|
2790
|
-
const toolResults = /* @__PURE__ */ Object.create(
|
|
2791
|
-
null
|
|
2792
|
-
);
|
|
2790
|
+
const toolResults = /* @__PURE__ */ Object.create(null);
|
|
2793
2791
|
for (const part of lastMessage.content) {
|
|
2794
2792
|
if (part.type === "tool-result") {
|
|
2795
2793
|
toolResults[part.toolCallId] = part;
|
|
@@ -2807,7 +2805,8 @@ function collectToolApprovals({
|
|
|
2807
2805
|
approvalId: approvalResponse.approvalId
|
|
2808
2806
|
});
|
|
2809
2807
|
}
|
|
2810
|
-
|
|
2808
|
+
const existingToolResult = toolResults[approvalRequest.toolCallId];
|
|
2809
|
+
if (existingToolResult != null && (approvalResponse.approved || existingToolResult.output.type !== "execution-denied")) {
|
|
2811
2810
|
continue;
|
|
2812
2811
|
}
|
|
2813
2812
|
const toolCall = toolCallsByToolCallId[approvalRequest.toolCallId];
|
|
@@ -2820,7 +2819,8 @@ function collectToolApprovals({
|
|
|
2820
2819
|
const approval = {
|
|
2821
2820
|
approvalRequest,
|
|
2822
2821
|
approvalResponse,
|
|
2823
|
-
toolCall
|
|
2822
|
+
toolCall,
|
|
2823
|
+
...existingToolResult != null ? { existingToolResult } : {}
|
|
2824
2824
|
};
|
|
2825
2825
|
if (approvalResponse.approved) {
|
|
2826
2826
|
approvedToolApprovals.push(approval);
|
|
@@ -5136,7 +5136,10 @@ async function generateText({
|
|
|
5136
5136
|
...collectedDeniedToolApprovals,
|
|
5137
5137
|
...revalidationDeniedToolApprovals
|
|
5138
5138
|
];
|
|
5139
|
-
|
|
5139
|
+
const deniedToolApprovalsWithoutResults = deniedToolApprovals.filter(
|
|
5140
|
+
(toolApproval2) => toolApproval2.existingToolResult == null
|
|
5141
|
+
);
|
|
5142
|
+
if (deniedToolApprovalsWithoutResults.length > 0 || localApprovedToolApprovals.length > 0) {
|
|
5140
5143
|
const toolResults2 = await executeTools({
|
|
5141
5144
|
toolCalls: localApprovedToolApprovals.map(
|
|
5142
5145
|
(toolApproval2) => toolApproval2.toolCall
|
|
@@ -5182,7 +5185,7 @@ async function generateText({
|
|
|
5182
5185
|
output: modelOutput
|
|
5183
5186
|
});
|
|
5184
5187
|
}
|
|
5185
|
-
for (const toolApproval2 of
|
|
5188
|
+
for (const toolApproval2 of deniedToolApprovalsWithoutResults) {
|
|
5186
5189
|
toolContent.push({
|
|
5187
5190
|
type: "tool-result",
|
|
5188
5191
|
toolCallId: toolApproval2.toolCall.toolCallId,
|
|
@@ -5220,6 +5223,9 @@ async function generateText({
|
|
|
5220
5223
|
];
|
|
5221
5224
|
const pendingDeferredToolCalls = /* @__PURE__ */ new Map();
|
|
5222
5225
|
do {
|
|
5226
|
+
if (steps.length > 0) {
|
|
5227
|
+
mergedAbortSignal == null ? void 0 : mergedAbortSignal.throwIfAborted();
|
|
5228
|
+
}
|
|
5223
5229
|
const stepTimeoutId = setAbortTimeout({
|
|
5224
5230
|
abortController: stepAbortController,
|
|
5225
5231
|
label: "Step",
|
|
@@ -5428,6 +5434,14 @@ async function generateText({
|
|
|
5428
5434
|
if (tool2 == null) {
|
|
5429
5435
|
continue;
|
|
5430
5436
|
}
|
|
5437
|
+
if (tool2.onInputStart != null) {
|
|
5438
|
+
await tool2.onInputStart({
|
|
5439
|
+
toolCallId: toolCall.toolCallId,
|
|
5440
|
+
messages: stepMessages,
|
|
5441
|
+
abortSignal: mergedAbortSignal,
|
|
5442
|
+
context: runtimeContext
|
|
5443
|
+
});
|
|
5444
|
+
}
|
|
5431
5445
|
if ((tool2 == null ? void 0 : tool2.onInputAvailable) != null) {
|
|
5432
5446
|
await tool2.onInputAvailable({
|
|
5433
5447
|
input: toolCall.input,
|
|
@@ -6243,27 +6257,27 @@ var toolMetadataSchema = z6.record(
|
|
|
6243
6257
|
var uiMessageChunkSchema = lazySchema(
|
|
6244
6258
|
() => zodSchema(
|
|
6245
6259
|
z6.union([
|
|
6246
|
-
z6.
|
|
6260
|
+
z6.looseObject({
|
|
6247
6261
|
type: z6.literal("text-start"),
|
|
6248
6262
|
id: z6.string(),
|
|
6249
6263
|
providerMetadata: providerMetadataSchema.optional()
|
|
6250
6264
|
}),
|
|
6251
|
-
z6.
|
|
6265
|
+
z6.looseObject({
|
|
6252
6266
|
type: z6.literal("text-delta"),
|
|
6253
6267
|
id: z6.string(),
|
|
6254
6268
|
delta: z6.string(),
|
|
6255
6269
|
providerMetadata: providerMetadataSchema.optional()
|
|
6256
6270
|
}),
|
|
6257
|
-
z6.
|
|
6271
|
+
z6.looseObject({
|
|
6258
6272
|
type: z6.literal("text-end"),
|
|
6259
6273
|
id: z6.string(),
|
|
6260
6274
|
providerMetadata: providerMetadataSchema.optional()
|
|
6261
6275
|
}),
|
|
6262
|
-
z6.
|
|
6276
|
+
z6.looseObject({
|
|
6263
6277
|
type: z6.literal("error"),
|
|
6264
6278
|
errorText: z6.string()
|
|
6265
6279
|
}),
|
|
6266
|
-
z6.
|
|
6280
|
+
z6.looseObject({
|
|
6267
6281
|
type: z6.literal("tool-input-start"),
|
|
6268
6282
|
toolCallId: z6.string(),
|
|
6269
6283
|
toolName: z6.string(),
|
|
@@ -6273,12 +6287,12 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
6273
6287
|
dynamic: z6.boolean().optional(),
|
|
6274
6288
|
title: z6.string().optional()
|
|
6275
6289
|
}),
|
|
6276
|
-
z6.
|
|
6290
|
+
z6.looseObject({
|
|
6277
6291
|
type: z6.literal("tool-input-delta"),
|
|
6278
6292
|
toolCallId: z6.string(),
|
|
6279
6293
|
inputTextDelta: z6.string()
|
|
6280
6294
|
}),
|
|
6281
|
-
z6.
|
|
6295
|
+
z6.looseObject({
|
|
6282
6296
|
type: z6.literal("tool-input-available"),
|
|
6283
6297
|
toolCallId: z6.string(),
|
|
6284
6298
|
toolName: z6.string(),
|
|
@@ -6289,7 +6303,7 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
6289
6303
|
dynamic: z6.boolean().optional(),
|
|
6290
6304
|
title: z6.string().optional()
|
|
6291
6305
|
}),
|
|
6292
|
-
z6.
|
|
6306
|
+
z6.looseObject({
|
|
6293
6307
|
type: z6.literal("tool-input-error"),
|
|
6294
6308
|
toolCallId: z6.string(),
|
|
6295
6309
|
toolName: z6.string(),
|
|
@@ -6301,14 +6315,14 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
6301
6315
|
errorText: z6.string(),
|
|
6302
6316
|
title: z6.string().optional()
|
|
6303
6317
|
}),
|
|
6304
|
-
z6.
|
|
6318
|
+
z6.looseObject({
|
|
6305
6319
|
type: z6.literal("tool-approval-request"),
|
|
6306
6320
|
approvalId: z6.string(),
|
|
6307
6321
|
toolCallId: z6.string(),
|
|
6308
6322
|
isAutomatic: z6.boolean().optional(),
|
|
6309
6323
|
signature: z6.string().optional()
|
|
6310
6324
|
}),
|
|
6311
|
-
z6.
|
|
6325
|
+
z6.looseObject({
|
|
6312
6326
|
type: z6.literal("tool-approval-response"),
|
|
6313
6327
|
approvalId: z6.string(),
|
|
6314
6328
|
approved: z6.boolean(),
|
|
@@ -6316,7 +6330,7 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
6316
6330
|
providerExecuted: z6.boolean().optional(),
|
|
6317
6331
|
providerMetadata: providerMetadataSchema.optional()
|
|
6318
6332
|
}),
|
|
6319
|
-
z6.
|
|
6333
|
+
z6.looseObject({
|
|
6320
6334
|
type: z6.literal("tool-output-available"),
|
|
6321
6335
|
toolCallId: z6.string(),
|
|
6322
6336
|
output: z6.unknown(),
|
|
@@ -6326,7 +6340,7 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
6326
6340
|
dynamic: z6.boolean().optional(),
|
|
6327
6341
|
preliminary: z6.boolean().optional()
|
|
6328
6342
|
}),
|
|
6329
|
-
z6.
|
|
6343
|
+
z6.looseObject({
|
|
6330
6344
|
type: z6.literal("tool-output-error"),
|
|
6331
6345
|
toolCallId: z6.string(),
|
|
6332
6346
|
errorText: z6.string(),
|
|
@@ -6335,39 +6349,39 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
6335
6349
|
toolMetadata: toolMetadataSchema.optional(),
|
|
6336
6350
|
dynamic: z6.boolean().optional()
|
|
6337
6351
|
}),
|
|
6338
|
-
z6.
|
|
6352
|
+
z6.looseObject({
|
|
6339
6353
|
type: z6.literal("tool-output-denied"),
|
|
6340
6354
|
toolCallId: z6.string()
|
|
6341
6355
|
}),
|
|
6342
|
-
z6.
|
|
6356
|
+
z6.looseObject({
|
|
6343
6357
|
type: z6.literal("reasoning-start"),
|
|
6344
6358
|
id: z6.string(),
|
|
6345
6359
|
providerMetadata: providerMetadataSchema.optional()
|
|
6346
6360
|
}),
|
|
6347
|
-
z6.
|
|
6361
|
+
z6.looseObject({
|
|
6348
6362
|
type: z6.literal("reasoning-delta"),
|
|
6349
6363
|
id: z6.string(),
|
|
6350
6364
|
delta: z6.string(),
|
|
6351
6365
|
providerMetadata: providerMetadataSchema.optional()
|
|
6352
6366
|
}),
|
|
6353
|
-
z6.
|
|
6367
|
+
z6.looseObject({
|
|
6354
6368
|
type: z6.literal("reasoning-end"),
|
|
6355
6369
|
id: z6.string(),
|
|
6356
6370
|
providerMetadata: providerMetadataSchema.optional()
|
|
6357
6371
|
}),
|
|
6358
|
-
z6.
|
|
6372
|
+
z6.looseObject({
|
|
6359
6373
|
type: z6.literal("custom"),
|
|
6360
6374
|
kind: z6.string().transform((value) => value),
|
|
6361
6375
|
providerMetadata: providerMetadataSchema.optional()
|
|
6362
6376
|
}),
|
|
6363
|
-
z6.
|
|
6377
|
+
z6.looseObject({
|
|
6364
6378
|
type: z6.literal("source-url"),
|
|
6365
6379
|
sourceId: z6.string(),
|
|
6366
6380
|
url: z6.string(),
|
|
6367
6381
|
title: z6.string().optional(),
|
|
6368
6382
|
providerMetadata: providerMetadataSchema.optional()
|
|
6369
6383
|
}),
|
|
6370
|
-
z6.
|
|
6384
|
+
z6.looseObject({
|
|
6371
6385
|
type: z6.literal("source-document"),
|
|
6372
6386
|
sourceId: z6.string(),
|
|
6373
6387
|
mediaType: z6.string(),
|
|
@@ -6375,19 +6389,19 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
6375
6389
|
filename: z6.string().optional(),
|
|
6376
6390
|
providerMetadata: providerMetadataSchema.optional()
|
|
6377
6391
|
}),
|
|
6378
|
-
z6.
|
|
6392
|
+
z6.looseObject({
|
|
6379
6393
|
type: z6.literal("file"),
|
|
6380
6394
|
url: z6.string(),
|
|
6381
6395
|
mediaType: z6.string(),
|
|
6382
6396
|
providerMetadata: providerMetadataSchema.optional()
|
|
6383
6397
|
}),
|
|
6384
|
-
z6.
|
|
6398
|
+
z6.looseObject({
|
|
6385
6399
|
type: z6.literal("reasoning-file"),
|
|
6386
6400
|
url: z6.string(),
|
|
6387
6401
|
mediaType: z6.string(),
|
|
6388
6402
|
providerMetadata: providerMetadataSchema.optional()
|
|
6389
6403
|
}),
|
|
6390
|
-
z6.
|
|
6404
|
+
z6.looseObject({
|
|
6391
6405
|
type: z6.custom(
|
|
6392
6406
|
(value) => typeof value === "string" && value.startsWith("data-"),
|
|
6393
6407
|
{ message: 'Type must start with "data-"' }
|
|
@@ -6396,18 +6410,18 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
6396
6410
|
data: z6.unknown(),
|
|
6397
6411
|
transient: z6.boolean().optional()
|
|
6398
6412
|
}),
|
|
6399
|
-
z6.
|
|
6413
|
+
z6.looseObject({
|
|
6400
6414
|
type: z6.literal("start-step")
|
|
6401
6415
|
}),
|
|
6402
|
-
z6.
|
|
6416
|
+
z6.looseObject({
|
|
6403
6417
|
type: z6.literal("finish-step")
|
|
6404
6418
|
}),
|
|
6405
|
-
z6.
|
|
6419
|
+
z6.looseObject({
|
|
6406
6420
|
type: z6.literal("start"),
|
|
6407
6421
|
messageId: z6.string().optional(),
|
|
6408
6422
|
messageMetadata: z6.unknown().optional()
|
|
6409
6423
|
}),
|
|
6410
|
-
z6.
|
|
6424
|
+
z6.looseObject({
|
|
6411
6425
|
type: z6.literal("finish"),
|
|
6412
6426
|
finishReason: z6.enum([
|
|
6413
6427
|
"stop",
|
|
@@ -6419,11 +6433,11 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
6419
6433
|
]).optional(),
|
|
6420
6434
|
messageMetadata: z6.unknown().optional()
|
|
6421
6435
|
}),
|
|
6422
|
-
z6.
|
|
6436
|
+
z6.looseObject({
|
|
6423
6437
|
type: z6.literal("abort"),
|
|
6424
6438
|
reason: z6.string().optional()
|
|
6425
6439
|
}),
|
|
6426
|
-
z6.
|
|
6440
|
+
z6.looseObject({
|
|
6427
6441
|
type: z6.literal("message-metadata"),
|
|
6428
6442
|
messageMetadata: z6.unknown()
|
|
6429
6443
|
})
|
|
@@ -9088,6 +9102,9 @@ var DefaultStreamTextResult = class {
|
|
|
9088
9102
|
),
|
|
9089
9103
|
...revalidationDeniedToolApprovals
|
|
9090
9104
|
];
|
|
9105
|
+
const localDeniedToolApprovalsWithoutResults = localDeniedToolApprovals.filter(
|
|
9106
|
+
(toolApproval2) => toolApproval2.existingToolResult == null
|
|
9107
|
+
);
|
|
9091
9108
|
const deniedProviderExecutedToolApprovals = deniedToolApprovals.filter(
|
|
9092
9109
|
(toolApproval2) => toolApproval2.toolCall.providerExecuted
|
|
9093
9110
|
);
|
|
@@ -9141,7 +9158,7 @@ var DefaultStreamTextResult = class {
|
|
|
9141
9158
|
}
|
|
9142
9159
|
})
|
|
9143
9160
|
);
|
|
9144
|
-
if (toolOutputs.length > 0 ||
|
|
9161
|
+
if (toolOutputs.length > 0 || localDeniedToolApprovalsWithoutResults.length > 0) {
|
|
9145
9162
|
const localToolContent = [];
|
|
9146
9163
|
for (const output2 of toolOutputs) {
|
|
9147
9164
|
localToolContent.push({
|
|
@@ -9157,7 +9174,7 @@ var DefaultStreamTextResult = class {
|
|
|
9157
9174
|
})
|
|
9158
9175
|
});
|
|
9159
9176
|
}
|
|
9160
|
-
for (const toolApproval2 of
|
|
9177
|
+
for (const toolApproval2 of localDeniedToolApprovalsWithoutResults) {
|
|
9161
9178
|
localToolContent.push({
|
|
9162
9179
|
type: "tool-result",
|
|
9163
9180
|
toolCallId: toolApproval2.toolCall.toolCallId,
|