ai 6.0.201 → 6.0.202

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.js CHANGED
@@ -4,8 +4,8 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
6
  var __export = (target, all) => {
7
- for (var name21 in all)
8
- __defProp(target, name21, { get: all[name21], enumerable: true });
7
+ for (var name22 in all)
8
+ __defProp(target, name22, { get: all[name22], enumerable: true });
9
9
  };
10
10
  var __copyProps = (to, from, except, desc) => {
11
11
  if (from && typeof from === "object" || typeof from === "function") {
@@ -20,36 +20,37 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
- AISDKError: () => import_provider21.AISDKError,
24
- APICallError: () => import_provider21.APICallError,
23
+ AISDKError: () => import_provider22.AISDKError,
24
+ APICallError: () => import_provider22.APICallError,
25
25
  AbstractChat: () => AbstractChat,
26
26
  DefaultChatTransport: () => DefaultChatTransport,
27
27
  DefaultGeneratedFile: () => DefaultGeneratedFile,
28
28
  DirectChatTransport: () => DirectChatTransport,
29
29
  DownloadError: () => import_provider_utils.DownloadError,
30
- EmptyResponseBodyError: () => import_provider21.EmptyResponseBodyError,
30
+ EmptyResponseBodyError: () => import_provider22.EmptyResponseBodyError,
31
31
  Experimental_Agent: () => ToolLoopAgent,
32
32
  HttpChatTransport: () => HttpChatTransport,
33
33
  InvalidArgumentError: () => InvalidArgumentError,
34
34
  InvalidDataContentError: () => InvalidDataContentError,
35
35
  InvalidMessageRoleError: () => InvalidMessageRoleError,
36
- InvalidPromptError: () => import_provider21.InvalidPromptError,
37
- InvalidResponseDataError: () => import_provider21.InvalidResponseDataError,
36
+ InvalidPromptError: () => import_provider22.InvalidPromptError,
37
+ InvalidResponseDataError: () => import_provider22.InvalidResponseDataError,
38
38
  InvalidStreamPartError: () => InvalidStreamPartError,
39
39
  InvalidToolApprovalError: () => InvalidToolApprovalError,
40
+ InvalidToolApprovalSignatureError: () => InvalidToolApprovalSignatureError,
40
41
  InvalidToolInputError: () => InvalidToolInputError,
41
- JSONParseError: () => import_provider21.JSONParseError,
42
+ JSONParseError: () => import_provider22.JSONParseError,
42
43
  JsonToSseTransformStream: () => JsonToSseTransformStream,
43
- LoadAPIKeyError: () => import_provider21.LoadAPIKeyError,
44
- LoadSettingError: () => import_provider21.LoadSettingError,
44
+ LoadAPIKeyError: () => import_provider22.LoadAPIKeyError,
45
+ LoadSettingError: () => import_provider22.LoadSettingError,
45
46
  MessageConversionError: () => MessageConversionError,
46
47
  MissingToolResultsError: () => MissingToolResultsError,
47
- NoContentGeneratedError: () => import_provider21.NoContentGeneratedError,
48
+ NoContentGeneratedError: () => import_provider22.NoContentGeneratedError,
48
49
  NoImageGeneratedError: () => NoImageGeneratedError,
49
50
  NoObjectGeneratedError: () => NoObjectGeneratedError,
50
51
  NoOutputGeneratedError: () => NoOutputGeneratedError,
51
52
  NoSpeechGeneratedError: () => NoSpeechGeneratedError,
52
- NoSuchModelError: () => import_provider21.NoSuchModelError,
53
+ NoSuchModelError: () => import_provider22.NoSuchModelError,
53
54
  NoSuchProviderError: () => NoSuchProviderError,
54
55
  NoSuchToolError: () => NoSuchToolError,
55
56
  NoTranscriptGeneratedError: () => NoTranscriptGeneratedError,
@@ -58,17 +59,17 @@ __export(src_exports, {
58
59
  RetryError: () => RetryError,
59
60
  SerialJobExecutor: () => SerialJobExecutor,
60
61
  TextStreamChatTransport: () => TextStreamChatTransport,
61
- TooManyEmbeddingValuesForCallError: () => import_provider21.TooManyEmbeddingValuesForCallError,
62
+ TooManyEmbeddingValuesForCallError: () => import_provider22.TooManyEmbeddingValuesForCallError,
62
63
  ToolCallNotFoundForApprovalError: () => ToolCallNotFoundForApprovalError,
63
64
  ToolCallRepairError: () => ToolCallRepairError,
64
65
  ToolLoopAgent: () => ToolLoopAgent,
65
- TypeValidationError: () => import_provider21.TypeValidationError,
66
+ TypeValidationError: () => import_provider22.TypeValidationError,
66
67
  UIMessageStreamError: () => UIMessageStreamError,
67
68
  UI_MESSAGE_STREAM_HEADERS: () => UI_MESSAGE_STREAM_HEADERS,
68
- UnsupportedFunctionalityError: () => import_provider21.UnsupportedFunctionalityError,
69
+ UnsupportedFunctionalityError: () => import_provider22.UnsupportedFunctionalityError,
69
70
  UnsupportedModelVersionError: () => UnsupportedModelVersionError,
70
71
  addToolInputExamplesMiddleware: () => addToolInputExamplesMiddleware,
71
- asSchema: () => import_provider_utils39.asSchema,
72
+ asSchema: () => import_provider_utils41.asSchema,
72
73
  assistantModelMessageSchema: () => assistantModelMessageSchema,
73
74
  bindTelemetryIntegration: () => bindTelemetryIntegration,
74
75
  callCompletionApi: () => callCompletionApi,
@@ -80,7 +81,7 @@ __export(src_exports, {
80
81
  createAgentUIStreamResponse: () => createAgentUIStreamResponse,
81
82
  createDownload: () => createDownload,
82
83
  createGateway: () => import_gateway4.createGateway,
83
- createIdGenerator: () => import_provider_utils39.createIdGenerator,
84
+ createIdGenerator: () => import_provider_utils41.createIdGenerator,
84
85
  createProviderRegistry: () => createProviderRegistry,
85
86
  createTextStreamResponse: () => createTextStreamResponse,
86
87
  createUIMessageStream: () => createUIMessageStream,
@@ -88,7 +89,7 @@ __export(src_exports, {
88
89
  customProvider: () => customProvider,
89
90
  defaultEmbeddingSettingsMiddleware: () => defaultEmbeddingSettingsMiddleware,
90
91
  defaultSettingsMiddleware: () => defaultSettingsMiddleware,
91
- dynamicTool: () => import_provider_utils39.dynamicTool,
92
+ dynamicTool: () => import_provider_utils41.dynamicTool,
92
93
  embed: () => embed,
93
94
  embedMany: () => embedMany,
94
95
  experimental_createProviderRegistry: () => experimental_createProviderRegistry,
@@ -100,7 +101,7 @@ __export(src_exports, {
100
101
  extractJsonMiddleware: () => extractJsonMiddleware,
101
102
  extractReasoningMiddleware: () => extractReasoningMiddleware,
102
103
  gateway: () => import_gateway4.gateway,
103
- generateId: () => import_provider_utils39.generateId,
104
+ generateId: () => import_provider_utils41.generateId,
104
105
  generateImage: () => generateImage,
105
106
  generateObject: () => generateObject,
106
107
  generateText: () => generateText,
@@ -118,11 +119,11 @@ __export(src_exports, {
118
119
  isTextUIPart: () => isTextUIPart,
119
120
  isToolOrDynamicToolUIPart: () => isToolOrDynamicToolUIPart,
120
121
  isToolUIPart: () => isToolUIPart,
121
- jsonSchema: () => import_provider_utils39.jsonSchema,
122
+ jsonSchema: () => import_provider_utils41.jsonSchema,
122
123
  lastAssistantMessageIsCompleteWithApprovalResponses: () => lastAssistantMessageIsCompleteWithApprovalResponses,
123
124
  lastAssistantMessageIsCompleteWithToolCalls: () => lastAssistantMessageIsCompleteWithToolCalls,
124
125
  modelMessageSchema: () => modelMessageSchema,
125
- parseJsonEventStream: () => import_provider_utils39.parseJsonEventStream,
126
+ parseJsonEventStream: () => import_provider_utils41.parseJsonEventStream,
126
127
  parsePartialJson: () => parsePartialJson,
127
128
  pipeAgentUIStreamToResponse: () => pipeAgentUIStreamToResponse,
128
129
  pipeTextStreamToResponse: () => pipeTextStreamToResponse,
@@ -139,7 +140,7 @@ __export(src_exports, {
139
140
  streamObject: () => streamObject,
140
141
  streamText: () => streamText,
141
142
  systemModelMessageSchema: () => systemModelMessageSchema,
142
- tool: () => import_provider_utils39.tool,
143
+ tool: () => import_provider_utils41.tool,
143
144
  toolModelMessageSchema: () => toolModelMessageSchema,
144
145
  uiMessageChunkSchema: () => uiMessageChunkSchema,
145
146
  userModelMessageSchema: () => userModelMessageSchema,
@@ -148,20 +149,20 @@ __export(src_exports, {
148
149
  wrapImageModel: () => wrapImageModel,
149
150
  wrapLanguageModel: () => wrapLanguageModel,
150
151
  wrapProvider: () => wrapProvider,
151
- zodSchema: () => import_provider_utils39.zodSchema
152
+ zodSchema: () => import_provider_utils41.zodSchema
152
153
  });
153
154
  module.exports = __toCommonJS(src_exports);
154
155
  var import_gateway4 = require("@ai-sdk/gateway");
155
- var import_provider_utils39 = require("@ai-sdk/provider-utils");
156
+ var import_provider_utils41 = require("@ai-sdk/provider-utils");
156
157
 
157
158
  // src/agent/tool-loop-agent.ts
158
- var import_provider_utils19 = require("@ai-sdk/provider-utils");
159
+ var import_provider_utils21 = require("@ai-sdk/provider-utils");
159
160
 
160
161
  // src/generate-text/generate-text.ts
161
- var import_provider_utils14 = require("@ai-sdk/provider-utils");
162
+ var import_provider_utils16 = require("@ai-sdk/provider-utils");
162
163
 
163
164
  // src/error/index.ts
164
- var import_provider21 = require("@ai-sdk/provider");
165
+ var import_provider22 = require("@ai-sdk/provider");
165
166
 
166
167
  // src/error/invalid-argument-error.ts
167
168
  var import_provider = require("@ai-sdk/provider");
@@ -231,23 +232,25 @@ var InvalidToolApprovalError = class extends import_provider3.AISDKError {
231
232
  };
232
233
  _a3 = symbol3;
233
234
 
234
- // src/error/invalid-tool-input-error.ts
235
+ // src/error/invalid-tool-approval-signature-error.ts
235
236
  var import_provider4 = require("@ai-sdk/provider");
236
- var name4 = "AI_InvalidToolInputError";
237
+ var name4 = "AI_InvalidToolApprovalSignatureError";
237
238
  var marker4 = `vercel.ai.error.${name4}`;
238
239
  var symbol4 = Symbol.for(marker4);
239
240
  var _a4;
240
- var InvalidToolInputError = class extends import_provider4.AISDKError {
241
+ var InvalidToolApprovalSignatureError = class extends import_provider4.AISDKError {
241
242
  constructor({
242
- toolInput,
243
- toolName,
244
- cause,
245
- message = `Invalid input for tool ${toolName}: ${(0, import_provider4.getErrorMessage)(cause)}`
243
+ approvalId,
244
+ toolCallId,
245
+ reason
246
246
  }) {
247
- super({ name: name4, message, cause });
247
+ super({
248
+ name: name4,
249
+ message: `Tool approval signature verification failed for approval "${approvalId}" (tool call "${toolCallId}"): ${reason}`
250
+ });
248
251
  this[_a4] = true;
249
- this.toolInput = toolInput;
250
- this.toolName = toolName;
252
+ this.approvalId = approvalId;
253
+ this.toolCallId = toolCallId;
251
254
  }
252
255
  static isInstance(error) {
253
256
  return import_provider4.AISDKError.hasMarker(error, marker4);
@@ -255,24 +258,23 @@ var InvalidToolInputError = class extends import_provider4.AISDKError {
255
258
  };
256
259
  _a4 = symbol4;
257
260
 
258
- // src/error/tool-call-not-found-for-approval-error.ts
261
+ // src/error/invalid-tool-input-error.ts
259
262
  var import_provider5 = require("@ai-sdk/provider");
260
- var name5 = "AI_ToolCallNotFoundForApprovalError";
263
+ var name5 = "AI_InvalidToolInputError";
261
264
  var marker5 = `vercel.ai.error.${name5}`;
262
265
  var symbol5 = Symbol.for(marker5);
263
266
  var _a5;
264
- var ToolCallNotFoundForApprovalError = class extends import_provider5.AISDKError {
267
+ var InvalidToolInputError = class extends import_provider5.AISDKError {
265
268
  constructor({
266
- toolCallId,
267
- approvalId
269
+ toolInput,
270
+ toolName,
271
+ cause,
272
+ message = `Invalid input for tool ${toolName}: ${(0, import_provider5.getErrorMessage)(cause)}`
268
273
  }) {
269
- super({
270
- name: name5,
271
- message: `Tool call "${toolCallId}" not found for approval request "${approvalId}".`
272
- });
274
+ super({ name: name5, message, cause });
273
275
  this[_a5] = true;
274
- this.toolCallId = toolCallId;
275
- this.approvalId = approvalId;
276
+ this.toolInput = toolInput;
277
+ this.toolName = toolName;
276
278
  }
277
279
  static isInstance(error) {
278
280
  return import_provider5.AISDKError.hasMarker(error, marker5);
@@ -280,22 +282,24 @@ var ToolCallNotFoundForApprovalError = class extends import_provider5.AISDKError
280
282
  };
281
283
  _a5 = symbol5;
282
284
 
283
- // src/error/missing-tool-result-error.ts
285
+ // src/error/tool-call-not-found-for-approval-error.ts
284
286
  var import_provider6 = require("@ai-sdk/provider");
285
- var name6 = "AI_MissingToolResultsError";
287
+ var name6 = "AI_ToolCallNotFoundForApprovalError";
286
288
  var marker6 = `vercel.ai.error.${name6}`;
287
289
  var symbol6 = Symbol.for(marker6);
288
290
  var _a6;
289
- var MissingToolResultsError = class extends import_provider6.AISDKError {
290
- constructor({ toolCallIds }) {
291
+ var ToolCallNotFoundForApprovalError = class extends import_provider6.AISDKError {
292
+ constructor({
293
+ toolCallId,
294
+ approvalId
295
+ }) {
291
296
  super({
292
297
  name: name6,
293
- message: `Tool result${toolCallIds.length > 1 ? "s are" : " is"} missing for tool call${toolCallIds.length > 1 ? "s" : ""} ${toolCallIds.join(
294
- ", "
295
- )}.`
298
+ message: `Tool call "${toolCallId}" not found for approval request "${approvalId}".`
296
299
  });
297
300
  this[_a6] = true;
298
- this.toolCallIds = toolCallIds;
301
+ this.toolCallId = toolCallId;
302
+ this.approvalId = approvalId;
299
303
  }
300
304
  static isInstance(error) {
301
305
  return import_provider6.AISDKError.hasMarker(error, marker6);
@@ -303,21 +307,22 @@ var MissingToolResultsError = class extends import_provider6.AISDKError {
303
307
  };
304
308
  _a6 = symbol6;
305
309
 
306
- // src/error/no-image-generated-error.ts
310
+ // src/error/missing-tool-result-error.ts
307
311
  var import_provider7 = require("@ai-sdk/provider");
308
- var name7 = "AI_NoImageGeneratedError";
312
+ var name7 = "AI_MissingToolResultsError";
309
313
  var marker7 = `vercel.ai.error.${name7}`;
310
314
  var symbol7 = Symbol.for(marker7);
311
315
  var _a7;
312
- var NoImageGeneratedError = class extends import_provider7.AISDKError {
313
- constructor({
314
- message = "No image generated.",
315
- cause,
316
- responses
317
- }) {
318
- super({ name: name7, message, cause });
316
+ var MissingToolResultsError = class extends import_provider7.AISDKError {
317
+ constructor({ toolCallIds }) {
318
+ super({
319
+ name: name7,
320
+ message: `Tool result${toolCallIds.length > 1 ? "s are" : " is"} missing for tool call${toolCallIds.length > 1 ? "s" : ""} ${toolCallIds.join(
321
+ ", "
322
+ )}.`
323
+ });
319
324
  this[_a7] = true;
320
- this.responses = responses;
325
+ this.toolCallIds = toolCallIds;
321
326
  }
322
327
  static isInstance(error) {
323
328
  return import_provider7.AISDKError.hasMarker(error, marker7);
@@ -325,27 +330,21 @@ var NoImageGeneratedError = class extends import_provider7.AISDKError {
325
330
  };
326
331
  _a7 = symbol7;
327
332
 
328
- // src/error/no-object-generated-error.ts
333
+ // src/error/no-image-generated-error.ts
329
334
  var import_provider8 = require("@ai-sdk/provider");
330
- var name8 = "AI_NoObjectGeneratedError";
335
+ var name8 = "AI_NoImageGeneratedError";
331
336
  var marker8 = `vercel.ai.error.${name8}`;
332
337
  var symbol8 = Symbol.for(marker8);
333
338
  var _a8;
334
- var NoObjectGeneratedError = class extends import_provider8.AISDKError {
339
+ var NoImageGeneratedError = class extends import_provider8.AISDKError {
335
340
  constructor({
336
- message = "No object generated.",
341
+ message = "No image generated.",
337
342
  cause,
338
- text: text2,
339
- response,
340
- usage,
341
- finishReason
343
+ responses
342
344
  }) {
343
345
  super({ name: name8, message, cause });
344
346
  this[_a8] = true;
345
- this.text = text2;
346
- this.response = response;
347
- this.usage = usage;
348
- this.finishReason = finishReason;
347
+ this.responses = responses;
349
348
  }
350
349
  static isInstance(error) {
351
350
  return import_provider8.AISDKError.hasMarker(error, marker8);
@@ -353,20 +352,27 @@ var NoObjectGeneratedError = class extends import_provider8.AISDKError {
353
352
  };
354
353
  _a8 = symbol8;
355
354
 
356
- // src/error/no-output-generated-error.ts
355
+ // src/error/no-object-generated-error.ts
357
356
  var import_provider9 = require("@ai-sdk/provider");
358
- var name9 = "AI_NoOutputGeneratedError";
357
+ var name9 = "AI_NoObjectGeneratedError";
359
358
  var marker9 = `vercel.ai.error.${name9}`;
360
359
  var symbol9 = Symbol.for(marker9);
361
360
  var _a9;
362
- var NoOutputGeneratedError = class extends import_provider9.AISDKError {
363
- // used in isInstance
361
+ var NoObjectGeneratedError = class extends import_provider9.AISDKError {
364
362
  constructor({
365
- message = "No output generated.",
366
- cause
367
- } = {}) {
363
+ message = "No object generated.",
364
+ cause,
365
+ text: text2,
366
+ response,
367
+ usage,
368
+ finishReason
369
+ }) {
368
370
  super({ name: name9, message, cause });
369
371
  this[_a9] = true;
372
+ this.text = text2;
373
+ this.response = response;
374
+ this.usage = usage;
375
+ this.finishReason = finishReason;
370
376
  }
371
377
  static isInstance(error) {
372
378
  return import_provider9.AISDKError.hasMarker(error, marker9);
@@ -374,20 +380,20 @@ var NoOutputGeneratedError = class extends import_provider9.AISDKError {
374
380
  };
375
381
  _a9 = symbol9;
376
382
 
377
- // src/error/no-speech-generated-error.ts
383
+ // src/error/no-output-generated-error.ts
378
384
  var import_provider10 = require("@ai-sdk/provider");
379
- var name10 = "AI_NoSpeechGeneratedError";
385
+ var name10 = "AI_NoOutputGeneratedError";
380
386
  var marker10 = `vercel.ai.error.${name10}`;
381
387
  var symbol10 = Symbol.for(marker10);
382
388
  var _a10;
383
- var NoSpeechGeneratedError = class extends import_provider10.AISDKError {
384
- constructor(options) {
385
- super({
386
- name: name10,
387
- message: "No speech audio generated."
388
- });
389
+ var NoOutputGeneratedError = class extends import_provider10.AISDKError {
390
+ // used in isInstance
391
+ constructor({
392
+ message = "No output generated.",
393
+ cause
394
+ } = {}) {
395
+ super({ name: name10, message, cause });
389
396
  this[_a10] = true;
390
- this.responses = options.responses;
391
397
  }
392
398
  static isInstance(error) {
393
399
  return import_provider10.AISDKError.hasMarker(error, marker10);
@@ -395,17 +401,17 @@ var NoSpeechGeneratedError = class extends import_provider10.AISDKError {
395
401
  };
396
402
  _a10 = symbol10;
397
403
 
398
- // src/error/no-transcript-generated-error.ts
404
+ // src/error/no-speech-generated-error.ts
399
405
  var import_provider11 = require("@ai-sdk/provider");
400
- var name11 = "AI_NoTranscriptGeneratedError";
406
+ var name11 = "AI_NoSpeechGeneratedError";
401
407
  var marker11 = `vercel.ai.error.${name11}`;
402
408
  var symbol11 = Symbol.for(marker11);
403
409
  var _a11;
404
- var NoTranscriptGeneratedError = class extends import_provider11.AISDKError {
410
+ var NoSpeechGeneratedError = class extends import_provider11.AISDKError {
405
411
  constructor(options) {
406
412
  super({
407
413
  name: name11,
408
- message: "No transcript generated."
414
+ message: "No speech audio generated."
409
415
  });
410
416
  this[_a11] = true;
411
417
  this.responses = options.responses;
@@ -416,30 +422,51 @@ var NoTranscriptGeneratedError = class extends import_provider11.AISDKError {
416
422
  };
417
423
  _a11 = symbol11;
418
424
 
419
- // src/error/no-video-generated-error.ts
425
+ // src/error/no-transcript-generated-error.ts
420
426
  var import_provider12 = require("@ai-sdk/provider");
421
- var name12 = "AI_NoVideoGeneratedError";
427
+ var name12 = "AI_NoTranscriptGeneratedError";
422
428
  var marker12 = `vercel.ai.error.${name12}`;
423
429
  var symbol12 = Symbol.for(marker12);
424
430
  var _a12;
425
- var NoVideoGeneratedError = class extends import_provider12.AISDKError {
431
+ var NoTranscriptGeneratedError = class extends import_provider12.AISDKError {
432
+ constructor(options) {
433
+ super({
434
+ name: name12,
435
+ message: "No transcript generated."
436
+ });
437
+ this[_a12] = true;
438
+ this.responses = options.responses;
439
+ }
440
+ static isInstance(error) {
441
+ return import_provider12.AISDKError.hasMarker(error, marker12);
442
+ }
443
+ };
444
+ _a12 = symbol12;
445
+
446
+ // src/error/no-video-generated-error.ts
447
+ var import_provider13 = require("@ai-sdk/provider");
448
+ var name13 = "AI_NoVideoGeneratedError";
449
+ var marker13 = `vercel.ai.error.${name13}`;
450
+ var symbol13 = Symbol.for(marker13);
451
+ var _a13;
452
+ var NoVideoGeneratedError = class extends import_provider13.AISDKError {
426
453
  constructor({
427
454
  message = "No video generated.",
428
455
  cause,
429
456
  responses
430
457
  }) {
431
- super({ name: name12, message, cause });
432
- this[_a12] = true;
458
+ super({ name: name13, message, cause });
459
+ this[_a13] = true;
433
460
  this.responses = responses;
434
461
  }
435
462
  static isInstance(error) {
436
- return import_provider12.AISDKError.hasMarker(error, marker12);
463
+ return import_provider13.AISDKError.hasMarker(error, marker13);
437
464
  }
438
465
  /**
439
466
  * @deprecated use `isInstance` instead
440
467
  */
441
468
  static isNoVideoGeneratedError(error) {
442
- return error instanceof Error && error.name === name12 && typeof error.responses !== "undefined" ? true : false;
469
+ return error instanceof Error && error.name === name13 && typeof error.responses !== "undefined" ? true : false;
443
470
  }
444
471
  /**
445
472
  * @deprecated Do not use this method. It will be removed in the next major version.
@@ -454,56 +481,56 @@ var NoVideoGeneratedError = class extends import_provider12.AISDKError {
454
481
  };
455
482
  }
456
483
  };
457
- _a12 = symbol12;
484
+ _a13 = symbol13;
458
485
 
459
486
  // src/error/no-such-tool-error.ts
460
- var import_provider13 = require("@ai-sdk/provider");
461
- var name13 = "AI_NoSuchToolError";
462
- var marker13 = `vercel.ai.error.${name13}`;
463
- var symbol13 = Symbol.for(marker13);
464
- var _a13;
465
- var NoSuchToolError = class extends import_provider13.AISDKError {
487
+ var import_provider14 = require("@ai-sdk/provider");
488
+ var name14 = "AI_NoSuchToolError";
489
+ var marker14 = `vercel.ai.error.${name14}`;
490
+ var symbol14 = Symbol.for(marker14);
491
+ var _a14;
492
+ var NoSuchToolError = class extends import_provider14.AISDKError {
466
493
  constructor({
467
494
  toolName,
468
495
  availableTools = void 0,
469
496
  message = `Model tried to call unavailable tool '${toolName}'. ${availableTools === void 0 ? "No tools are available." : `Available tools: ${availableTools.join(", ")}.`}`
470
497
  }) {
471
- super({ name: name13, message });
472
- this[_a13] = true;
498
+ super({ name: name14, message });
499
+ this[_a14] = true;
473
500
  this.toolName = toolName;
474
501
  this.availableTools = availableTools;
475
502
  }
476
503
  static isInstance(error) {
477
- return import_provider13.AISDKError.hasMarker(error, marker13);
504
+ return import_provider14.AISDKError.hasMarker(error, marker14);
478
505
  }
479
506
  };
480
- _a13 = symbol13;
507
+ _a14 = symbol14;
481
508
 
482
509
  // src/error/tool-call-repair-error.ts
483
- var import_provider14 = require("@ai-sdk/provider");
484
- var name14 = "AI_ToolCallRepairError";
485
- var marker14 = `vercel.ai.error.${name14}`;
486
- var symbol14 = Symbol.for(marker14);
487
- var _a14;
488
- var ToolCallRepairError = class extends import_provider14.AISDKError {
510
+ var import_provider15 = require("@ai-sdk/provider");
511
+ var name15 = "AI_ToolCallRepairError";
512
+ var marker15 = `vercel.ai.error.${name15}`;
513
+ var symbol15 = Symbol.for(marker15);
514
+ var _a15;
515
+ var ToolCallRepairError = class extends import_provider15.AISDKError {
489
516
  constructor({
490
517
  cause,
491
518
  originalError,
492
- message = `Error repairing tool call: ${(0, import_provider14.getErrorMessage)(cause)}`
519
+ message = `Error repairing tool call: ${(0, import_provider15.getErrorMessage)(cause)}`
493
520
  }) {
494
- super({ name: name14, message, cause });
495
- this[_a14] = true;
521
+ super({ name: name15, message, cause });
522
+ this[_a15] = true;
496
523
  this.originalError = originalError;
497
524
  }
498
525
  static isInstance(error) {
499
- return import_provider14.AISDKError.hasMarker(error, marker14);
526
+ return import_provider15.AISDKError.hasMarker(error, marker15);
500
527
  }
501
528
  };
502
- _a14 = symbol14;
529
+ _a15 = symbol15;
503
530
 
504
531
  // src/error/unsupported-model-version-error.ts
505
- var import_provider15 = require("@ai-sdk/provider");
506
- var UnsupportedModelVersionError = class extends import_provider15.AISDKError {
532
+ var import_provider16 = require("@ai-sdk/provider");
533
+ var UnsupportedModelVersionError = class extends import_provider16.AISDKError {
507
534
  constructor(options) {
508
535
  super({
509
536
  name: "AI_UnsupportedModelVersionError",
@@ -516,118 +543,118 @@ var UnsupportedModelVersionError = class extends import_provider15.AISDKError {
516
543
  };
517
544
 
518
545
  // src/error/ui-message-stream-error.ts
519
- var import_provider16 = require("@ai-sdk/provider");
520
- var name15 = "AI_UIMessageStreamError";
521
- var marker15 = `vercel.ai.error.${name15}`;
522
- var symbol15 = Symbol.for(marker15);
523
- var _a15;
524
- var UIMessageStreamError = class extends import_provider16.AISDKError {
546
+ var import_provider17 = require("@ai-sdk/provider");
547
+ var name16 = "AI_UIMessageStreamError";
548
+ var marker16 = `vercel.ai.error.${name16}`;
549
+ var symbol16 = Symbol.for(marker16);
550
+ var _a16;
551
+ var UIMessageStreamError = class extends import_provider17.AISDKError {
525
552
  constructor({
526
553
  chunkType,
527
554
  chunkId,
528
555
  message
529
556
  }) {
530
- super({ name: name15, message });
531
- this[_a15] = true;
557
+ super({ name: name16, message });
558
+ this[_a16] = true;
532
559
  this.chunkType = chunkType;
533
560
  this.chunkId = chunkId;
534
561
  }
535
562
  static isInstance(error) {
536
- return import_provider16.AISDKError.hasMarker(error, marker15);
563
+ return import_provider17.AISDKError.hasMarker(error, marker16);
537
564
  }
538
565
  };
539
- _a15 = symbol15;
566
+ _a16 = symbol16;
540
567
 
541
568
  // src/prompt/invalid-data-content-error.ts
542
- var import_provider17 = require("@ai-sdk/provider");
543
- var name16 = "AI_InvalidDataContentError";
544
- var marker16 = `vercel.ai.error.${name16}`;
545
- var symbol16 = Symbol.for(marker16);
546
- var _a16;
547
- var InvalidDataContentError = class extends import_provider17.AISDKError {
569
+ var import_provider18 = require("@ai-sdk/provider");
570
+ var name17 = "AI_InvalidDataContentError";
571
+ var marker17 = `vercel.ai.error.${name17}`;
572
+ var symbol17 = Symbol.for(marker17);
573
+ var _a17;
574
+ var InvalidDataContentError = class extends import_provider18.AISDKError {
548
575
  constructor({
549
576
  content,
550
577
  cause,
551
578
  message = `Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof content}.`
552
579
  }) {
553
- super({ name: name16, message, cause });
554
- this[_a16] = true;
580
+ super({ name: name17, message, cause });
581
+ this[_a17] = true;
555
582
  this.content = content;
556
583
  }
557
584
  static isInstance(error) {
558
- return import_provider17.AISDKError.hasMarker(error, marker16);
585
+ return import_provider18.AISDKError.hasMarker(error, marker17);
559
586
  }
560
587
  };
561
- _a16 = symbol16;
588
+ _a17 = symbol17;
562
589
 
563
590
  // src/prompt/invalid-message-role-error.ts
564
- var import_provider18 = require("@ai-sdk/provider");
565
- var name17 = "AI_InvalidMessageRoleError";
566
- var marker17 = `vercel.ai.error.${name17}`;
567
- var symbol17 = Symbol.for(marker17);
568
- var _a17;
569
- var InvalidMessageRoleError = class extends import_provider18.AISDKError {
591
+ var import_provider19 = require("@ai-sdk/provider");
592
+ var name18 = "AI_InvalidMessageRoleError";
593
+ var marker18 = `vercel.ai.error.${name18}`;
594
+ var symbol18 = Symbol.for(marker18);
595
+ var _a18;
596
+ var InvalidMessageRoleError = class extends import_provider19.AISDKError {
570
597
  constructor({
571
598
  role,
572
599
  message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
573
600
  }) {
574
- super({ name: name17, message });
575
- this[_a17] = true;
601
+ super({ name: name18, message });
602
+ this[_a18] = true;
576
603
  this.role = role;
577
604
  }
578
605
  static isInstance(error) {
579
- return import_provider18.AISDKError.hasMarker(error, marker17);
606
+ return import_provider19.AISDKError.hasMarker(error, marker18);
580
607
  }
581
608
  };
582
- _a17 = symbol17;
609
+ _a18 = symbol18;
583
610
 
584
611
  // src/prompt/message-conversion-error.ts
585
- var import_provider19 = require("@ai-sdk/provider");
586
- var name18 = "AI_MessageConversionError";
587
- var marker18 = `vercel.ai.error.${name18}`;
588
- var symbol18 = Symbol.for(marker18);
589
- var _a18;
590
- var MessageConversionError = class extends import_provider19.AISDKError {
612
+ var import_provider20 = require("@ai-sdk/provider");
613
+ var name19 = "AI_MessageConversionError";
614
+ var marker19 = `vercel.ai.error.${name19}`;
615
+ var symbol19 = Symbol.for(marker19);
616
+ var _a19;
617
+ var MessageConversionError = class extends import_provider20.AISDKError {
591
618
  constructor({
592
619
  originalMessage,
593
620
  message
594
621
  }) {
595
- super({ name: name18, message });
596
- this[_a18] = true;
622
+ super({ name: name19, message });
623
+ this[_a19] = true;
597
624
  this.originalMessage = originalMessage;
598
625
  }
599
626
  static isInstance(error) {
600
- return import_provider19.AISDKError.hasMarker(error, marker18);
627
+ return import_provider20.AISDKError.hasMarker(error, marker19);
601
628
  }
602
629
  };
603
- _a18 = symbol18;
630
+ _a19 = symbol19;
604
631
 
605
632
  // src/error/index.ts
606
633
  var import_provider_utils = require("@ai-sdk/provider-utils");
607
634
 
608
635
  // src/util/retry-error.ts
609
- var import_provider20 = require("@ai-sdk/provider");
610
- var name19 = "AI_RetryError";
611
- var marker19 = `vercel.ai.error.${name19}`;
612
- var symbol19 = Symbol.for(marker19);
613
- var _a19;
614
- var RetryError = class extends import_provider20.AISDKError {
636
+ var import_provider21 = require("@ai-sdk/provider");
637
+ var name20 = "AI_RetryError";
638
+ var marker20 = `vercel.ai.error.${name20}`;
639
+ var symbol20 = Symbol.for(marker20);
640
+ var _a20;
641
+ var RetryError = class extends import_provider21.AISDKError {
615
642
  constructor({
616
643
  message,
617
644
  reason,
618
645
  errors
619
646
  }) {
620
- super({ name: name19, message });
621
- this[_a19] = true;
647
+ super({ name: name20, message });
648
+ this[_a20] = true;
622
649
  this.reason = reason;
623
650
  this.errors = errors;
624
651
  this.lastError = errors[errors.length - 1];
625
652
  }
626
653
  static isInstance(error) {
627
- return import_provider20.AISDKError.hasMarker(error, marker19);
654
+ return import_provider21.AISDKError.hasMarker(error, marker20);
628
655
  }
629
656
  };
630
- _a19 = symbol19;
657
+ _a20 = symbol20;
631
658
 
632
659
  // src/util/as-array.ts
633
660
  function asArray(value) {
@@ -907,7 +934,7 @@ function resolveEmbeddingModel(model) {
907
934
  return getGlobalProvider().embeddingModel(model);
908
935
  }
909
936
  function resolveTranscriptionModel(model) {
910
- var _a21, _b;
937
+ var _a22, _b;
911
938
  if (typeof model !== "string") {
912
939
  if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
913
940
  const unsupportedModel = model;
@@ -919,10 +946,10 @@ function resolveTranscriptionModel(model) {
919
946
  }
920
947
  return asTranscriptionModelV3(model);
921
948
  }
922
- return (_b = (_a21 = getGlobalProvider()).transcriptionModel) == null ? void 0 : _b.call(_a21, model);
949
+ return (_b = (_a22 = getGlobalProvider()).transcriptionModel) == null ? void 0 : _b.call(_a22, model);
923
950
  }
924
951
  function resolveSpeechModel(model) {
925
- var _a21, _b;
952
+ var _a22, _b;
926
953
  if (typeof model !== "string") {
927
954
  if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
928
955
  const unsupportedModel = model;
@@ -934,7 +961,7 @@ function resolveSpeechModel(model) {
934
961
  }
935
962
  return asSpeechModelV3(model);
936
963
  }
937
- return (_b = (_a21 = getGlobalProvider()).speechModel) == null ? void 0 : _b.call(_a21, model);
964
+ return (_b = (_a22 = getGlobalProvider()).speechModel) == null ? void 0 : _b.call(_a22, model);
938
965
  }
939
966
  function resolveImageModel(model) {
940
967
  if (typeof model !== "string") {
@@ -993,8 +1020,8 @@ function resolveRerankingModel(model) {
993
1020
  return model;
994
1021
  }
995
1022
  function getGlobalProvider() {
996
- var _a21;
997
- return (_a21 = globalThis.AI_SDK_DEFAULT_PROVIDER) != null ? _a21 : import_gateway.gateway;
1023
+ var _a22;
1024
+ return (_a22 = globalThis.AI_SDK_DEFAULT_PROVIDER) != null ? _a22 : import_gateway.gateway;
998
1025
  }
999
1026
 
1000
1027
  // src/prompt/call-settings.ts
@@ -1254,7 +1281,7 @@ function detectMediaType({
1254
1281
  var import_provider_utils3 = require("@ai-sdk/provider-utils");
1255
1282
 
1256
1283
  // src/version.ts
1257
- var VERSION = true ? "6.0.201" : "0.0.0-test";
1284
+ var VERSION = true ? "6.0.202" : "0.0.0-test";
1258
1285
 
1259
1286
  // src/util/download/download.ts
1260
1287
  var download = async ({
@@ -1262,7 +1289,7 @@ var download = async ({
1262
1289
  maxBytes,
1263
1290
  abortSignal
1264
1291
  }) => {
1265
- var _a21;
1292
+ var _a22;
1266
1293
  const urlText = url.toString();
1267
1294
  (0, import_provider_utils3.validateDownloadUrl)(urlText);
1268
1295
  try {
@@ -1291,7 +1318,7 @@ var download = async ({
1291
1318
  });
1292
1319
  return {
1293
1320
  data,
1294
- mediaType: (_a21 = response.headers.get("content-type")) != null ? _a21 : void 0
1321
+ mediaType: (_a22 = response.headers.get("content-type")) != null ? _a22 : void 0
1295
1322
  };
1296
1323
  } catch (error) {
1297
1324
  if (import_provider_utils3.DownloadError.isInstance(error)) {
@@ -1309,7 +1336,7 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
1309
1336
  );
1310
1337
 
1311
1338
  // src/prompt/data-content.ts
1312
- var import_provider22 = require("@ai-sdk/provider");
1339
+ var import_provider23 = require("@ai-sdk/provider");
1313
1340
  var import_provider_utils4 = require("@ai-sdk/provider-utils");
1314
1341
  var import_v4 = require("zod/v4");
1315
1342
 
@@ -1337,8 +1364,8 @@ var dataContentSchema = import_v4.z.union([
1337
1364
  import_v4.z.custom(
1338
1365
  // Buffer might not be available in some environments such as CloudFlare:
1339
1366
  (value) => {
1340
- var _a21, _b;
1341
- return (_b = (_a21 = globalThis.Buffer) == null ? void 0 : _a21.isBuffer(value)) != null ? _b : false;
1367
+ var _a22, _b;
1368
+ return (_b = (_a22 = globalThis.Buffer) == null ? void 0 : _a22.isBuffer(value)) != null ? _b : false;
1342
1369
  },
1343
1370
  { message: "Must be a Buffer" }
1344
1371
  )
@@ -1361,7 +1388,7 @@ function convertToLanguageModelV3DataContent(content) {
1361
1388
  content.toString()
1362
1389
  );
1363
1390
  if (dataUrlMediaType == null || base64Content == null) {
1364
- throw new import_provider22.AISDKError({
1391
+ throw new import_provider23.AISDKError({
1365
1392
  name: "InvalidDataContentError",
1366
1393
  message: `Invalid data URL format in content ${content.toString()}`
1367
1394
  });
@@ -1644,7 +1671,7 @@ function convertToLanguageModelMessage({
1644
1671
  }
1645
1672
  }
1646
1673
  async function downloadAssets(messages, download2, supportedUrls) {
1647
- var _a21;
1674
+ var _a22;
1648
1675
  const downloadableFiles = [];
1649
1676
  for (const message of messages) {
1650
1677
  if (message.role === "user" && Array.isArray(message.content)) {
@@ -1652,7 +1679,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
1652
1679
  if (part.type === "image" || part.type === "file") {
1653
1680
  downloadableFiles.push({
1654
1681
  data: part.type === "image" ? part.image : part.data,
1655
- mediaType: (_a21 = part.mediaType) != null ? _a21 : part.type === "image" ? "image/*" : void 0
1682
+ mediaType: (_a22 = part.mediaType) != null ? _a22 : part.type === "image" ? "image/*" : void 0
1656
1683
  });
1657
1684
  }
1658
1685
  }
@@ -1704,7 +1731,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
1704
1731
  );
1705
1732
  }
1706
1733
  function convertPartToLanguageModelPart(part, downloadedAssets) {
1707
- var _a21;
1734
+ var _a22;
1708
1735
  if (part.type === "text") {
1709
1736
  return {
1710
1737
  type: "text",
@@ -1737,7 +1764,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
1737
1764
  switch (type) {
1738
1765
  case "image": {
1739
1766
  if (data instanceof Uint8Array || typeof data === "string") {
1740
- mediaType = (_a21 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a21 : mediaType;
1767
+ mediaType = (_a22 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a22 : mediaType;
1741
1768
  }
1742
1769
  return {
1743
1770
  type: "file",
@@ -1772,14 +1799,14 @@ function mapToolResultOutput({
1772
1799
  return {
1773
1800
  type: "content",
1774
1801
  value: output.value.map((item) => {
1775
- var _a21, _b;
1802
+ var _a22, _b;
1776
1803
  if (item.type === "image-url") {
1777
1804
  const downloadedFile = downloadedAssets[new URL(item.url).toString()];
1778
1805
  if (downloadedFile) {
1779
1806
  return {
1780
1807
  type: "image-data",
1781
1808
  data: convertDataContentToBase64String(downloadedFile.data),
1782
- mediaType: (_a21 = downloadedFile.mediaType) != null ? _a21 : "image/*",
1809
+ mediaType: (_a22 = downloadedFile.mediaType) != null ? _a22 : "image/*",
1783
1810
  providerOptions: item.providerOptions
1784
1811
  };
1785
1812
  }
@@ -1817,7 +1844,7 @@ function mapToolResultOutput({
1817
1844
  }
1818
1845
 
1819
1846
  // src/prompt/create-tool-model-output.ts
1820
- var import_provider23 = require("@ai-sdk/provider");
1847
+ var import_provider24 = require("@ai-sdk/provider");
1821
1848
  async function createToolModelOutput({
1822
1849
  toolCallId,
1823
1850
  input,
@@ -1826,7 +1853,7 @@ async function createToolModelOutput({
1826
1853
  errorMode
1827
1854
  }) {
1828
1855
  if (errorMode === "text") {
1829
- return { type: "error-text", value: (0, import_provider23.getErrorMessage)(output) };
1856
+ return { type: "error-text", value: (0, import_provider24.getErrorMessage)(output) };
1830
1857
  } else if (errorMode === "json") {
1831
1858
  return { type: "error-json", value: toJSONValue(output) };
1832
1859
  }
@@ -1953,10 +1980,10 @@ async function prepareToolsAndToolChoice({
1953
1980
  };
1954
1981
  }
1955
1982
  const filteredTools = activeTools != null ? Object.entries(tools).filter(
1956
- ([name21]) => activeTools.includes(name21)
1983
+ ([name22]) => activeTools.includes(name22)
1957
1984
  ) : Object.entries(tools);
1958
1985
  const languageModelTools = [];
1959
- for (const [name21, tool2] of filteredTools) {
1986
+ for (const [name22, tool2] of filteredTools) {
1960
1987
  const toolType = tool2.type;
1961
1988
  switch (toolType) {
1962
1989
  case void 0:
@@ -1964,7 +1991,7 @@ async function prepareToolsAndToolChoice({
1964
1991
  case "function":
1965
1992
  languageModelTools.push({
1966
1993
  type: "function",
1967
- name: name21,
1994
+ name: name22,
1968
1995
  description: tool2.description,
1969
1996
  inputSchema: await (0, import_provider_utils6.asSchema)(tool2.inputSchema).jsonSchema,
1970
1997
  ...tool2.inputExamples != null ? { inputExamples: tool2.inputExamples } : {},
@@ -1975,7 +2002,7 @@ async function prepareToolsAndToolChoice({
1975
2002
  case "provider":
1976
2003
  languageModelTools.push({
1977
2004
  type: "provider",
1978
- name: name21,
2005
+ name: name22,
1979
2006
  id: tool2.id,
1980
2007
  args: tool2.args
1981
2008
  });
@@ -1993,7 +2020,7 @@ async function prepareToolsAndToolChoice({
1993
2020
  }
1994
2021
 
1995
2022
  // src/prompt/standardize-prompt.ts
1996
- var import_provider24 = require("@ai-sdk/provider");
2023
+ var import_provider25 = require("@ai-sdk/provider");
1997
2024
  var import_provider_utils7 = require("@ai-sdk/provider-utils");
1998
2025
  var import_v46 = require("zod/v4");
1999
2026
 
@@ -2211,19 +2238,19 @@ async function standardizePrompt({
2211
2238
  messages
2212
2239
  }) {
2213
2240
  if (prompt == null && messages == null) {
2214
- throw new import_provider24.InvalidPromptError({
2241
+ throw new import_provider25.InvalidPromptError({
2215
2242
  prompt,
2216
2243
  message: "prompt or messages must be defined"
2217
2244
  });
2218
2245
  }
2219
2246
  if (prompt != null && messages != null) {
2220
- throw new import_provider24.InvalidPromptError({
2247
+ throw new import_provider25.InvalidPromptError({
2221
2248
  prompt,
2222
2249
  message: "prompt and messages cannot be defined at the same time"
2223
2250
  });
2224
2251
  }
2225
2252
  if (typeof system !== "string" && !asArray(system).every((message) => message.role === "system")) {
2226
- throw new import_provider24.InvalidPromptError({
2253
+ throw new import_provider25.InvalidPromptError({
2227
2254
  prompt,
2228
2255
  message: "system must be a string, SystemModelMessage, or array of SystemModelMessage"
2229
2256
  });
@@ -2233,20 +2260,20 @@ async function standardizePrompt({
2233
2260
  } else if (prompt != null && Array.isArray(prompt)) {
2234
2261
  messages = prompt;
2235
2262
  } else if (messages == null) {
2236
- throw new import_provider24.InvalidPromptError({
2263
+ throw new import_provider25.InvalidPromptError({
2237
2264
  prompt,
2238
2265
  message: "prompt or messages must be defined"
2239
2266
  });
2240
2267
  }
2241
2268
  if (messages.length === 0) {
2242
- throw new import_provider24.InvalidPromptError({
2269
+ throw new import_provider25.InvalidPromptError({
2243
2270
  prompt,
2244
2271
  message: "messages must not be empty"
2245
2272
  });
2246
2273
  }
2247
2274
  if (messages.some((message) => message.role === "system")) {
2248
2275
  if (allowSystemInMessages === false) {
2249
- throw new import_provider24.InvalidPromptError({
2276
+ throw new import_provider25.InvalidPromptError({
2250
2277
  prompt,
2251
2278
  message: "System messages are not allowed in the prompt or messages fields. Use the system option instead."
2252
2279
  });
@@ -2262,7 +2289,7 @@ async function standardizePrompt({
2262
2289
  schema: import_v46.z.array(modelMessageSchema)
2263
2290
  });
2264
2291
  if (!validationResult.success) {
2265
- throw new import_provider24.InvalidPromptError({
2292
+ throw new import_provider25.InvalidPromptError({
2266
2293
  prompt,
2267
2294
  message: "The messages do not match the ModelMessage[] schema.",
2268
2295
  cause: validationResult.error
@@ -2273,14 +2300,14 @@ async function standardizePrompt({
2273
2300
 
2274
2301
  // src/prompt/wrap-gateway-error.ts
2275
2302
  var import_gateway2 = require("@ai-sdk/gateway");
2276
- var import_provider25 = require("@ai-sdk/provider");
2303
+ var import_provider26 = require("@ai-sdk/provider");
2277
2304
  function wrapGatewayError(error) {
2278
2305
  if (!import_gateway2.GatewayAuthenticationError.isInstance(error))
2279
2306
  return error;
2280
2307
  const isProductionEnv = (process == null ? void 0 : process.env.NODE_ENV) === "production";
2281
2308
  const moreInfoURL = "https://ai-sdk.dev/unauthenticated-ai-gateway";
2282
2309
  if (isProductionEnv) {
2283
- return new import_provider25.AISDKError({
2310
+ return new import_provider26.AISDKError({
2284
2311
  name: "GatewayError",
2285
2312
  message: `Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${moreInfoURL}`
2286
2313
  });
@@ -2321,7 +2348,7 @@ function getBaseTelemetryAttributes({
2321
2348
  telemetry,
2322
2349
  headers
2323
2350
  }) {
2324
- var _a21;
2351
+ var _a22;
2325
2352
  return {
2326
2353
  "ai.model.provider": model.provider,
2327
2354
  "ai.model.id": model.modelId,
@@ -2340,7 +2367,7 @@ function getBaseTelemetryAttributes({
2340
2367
  return attributes;
2341
2368
  }, {}),
2342
2369
  // add metadata as attributes:
2343
- ...Object.entries((_a21 = telemetry == null ? void 0 : telemetry.metadata) != null ? _a21 : {}).reduce(
2370
+ ...Object.entries((_a22 = telemetry == null ? void 0 : telemetry.metadata) != null ? _a22 : {}).reduce(
2344
2371
  (attributes, [key, value]) => {
2345
2372
  attributes[`ai.telemetry.metadata.${key}`] = value;
2346
2373
  return attributes;
@@ -2365,7 +2392,7 @@ var noopTracer = {
2365
2392
  startSpan() {
2366
2393
  return noopSpan;
2367
2394
  },
2368
- startActiveSpan(name21, arg1, arg2, arg3) {
2395
+ startActiveSpan(name22, arg1, arg2, arg3) {
2369
2396
  if (typeof arg1 === "function") {
2370
2397
  return arg1(noopSpan);
2371
2398
  }
@@ -2435,14 +2462,14 @@ function getTracer({
2435
2462
  // src/telemetry/record-span.ts
2436
2463
  var import_api2 = require("@opentelemetry/api");
2437
2464
  async function recordSpan({
2438
- name: name21,
2465
+ name: name22,
2439
2466
  tracer,
2440
2467
  attributes,
2441
2468
  fn,
2442
2469
  endWhenDone = true
2443
2470
  }) {
2444
2471
  return tracer.startActiveSpan(
2445
- name21,
2472
+ name22,
2446
2473
  { attributes: await attributes },
2447
2474
  async (span) => {
2448
2475
  const ctx = import_api2.context.active();
@@ -2540,15 +2567,15 @@ function registerTelemetryIntegration(integration) {
2540
2567
  globalThis.AI_SDK_TELEMETRY_INTEGRATIONS.push(integration);
2541
2568
  }
2542
2569
  function getGlobalTelemetryIntegrations() {
2543
- var _a21;
2544
- return (_a21 = globalThis.AI_SDK_TELEMETRY_INTEGRATIONS) != null ? _a21 : [];
2570
+ var _a22;
2571
+ return (_a22 = globalThis.AI_SDK_TELEMETRY_INTEGRATIONS) != null ? _a22 : [];
2545
2572
  }
2546
2573
 
2547
2574
  // src/telemetry/get-global-telemetry-integration.ts
2548
2575
  function bindTelemetryIntegration(integration) {
2549
- var _a21, _b, _c, _d, _e, _f;
2576
+ var _a22, _b, _c, _d, _e, _f;
2550
2577
  return {
2551
- onStart: (_a21 = integration.onStart) == null ? void 0 : _a21.bind(integration),
2578
+ onStart: (_a22 = integration.onStart) == null ? void 0 : _a22.bind(integration),
2552
2579
  onStepStart: (_b = integration.onStepStart) == null ? void 0 : _b.bind(integration),
2553
2580
  onToolCallStart: (_c = integration.onToolCallStart) == null ? void 0 : _c.bind(integration),
2554
2581
  onToolCallFinish: (_d = integration.onToolCallFinish) == null ? void 0 : _d.bind(integration),
@@ -2632,12 +2659,12 @@ function createNullLanguageModelUsage() {
2632
2659
  };
2633
2660
  }
2634
2661
  function addLanguageModelUsage(usage1, usage2) {
2635
- var _a21, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2662
+ var _a22, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2636
2663
  return {
2637
2664
  inputTokens: addTokenCounts(usage1.inputTokens, usage2.inputTokens),
2638
2665
  inputTokenDetails: {
2639
2666
  noCacheTokens: addTokenCounts(
2640
- (_a21 = usage1.inputTokenDetails) == null ? void 0 : _a21.noCacheTokens,
2667
+ (_a22 = usage1.inputTokenDetails) == null ? void 0 : _a22.noCacheTokens,
2641
2668
  (_b = usage2.inputTokenDetails) == null ? void 0 : _b.noCacheTokens
2642
2669
  ),
2643
2670
  cacheReadTokens: addTokenCounts(
@@ -2719,14 +2746,14 @@ function mergeObjects(base, overrides) {
2719
2746
  }
2720
2747
 
2721
2748
  // src/util/retry-with-exponential-backoff.ts
2722
- var import_provider26 = require("@ai-sdk/provider");
2749
+ var import_provider27 = require("@ai-sdk/provider");
2723
2750
  var import_gateway3 = require("@ai-sdk/gateway");
2724
2751
  var import_provider_utils8 = require("@ai-sdk/provider-utils");
2725
2752
  function getRetryDelayInMs({
2726
2753
  error,
2727
2754
  exponentialBackoffDelay
2728
2755
  }) {
2729
- const headers = import_provider26.APICallError.isInstance(error) ? error.responseHeaders : import_provider26.APICallError.isInstance(error.cause) ? error.cause.responseHeaders : void 0;
2756
+ const headers = import_provider27.APICallError.isInstance(error) ? error.responseHeaders : import_provider27.APICallError.isInstance(error.cause) ? error.cause.responseHeaders : void 0;
2730
2757
  if (!headers)
2731
2758
  return exponentialBackoffDelay;
2732
2759
  let ms;
@@ -2787,7 +2814,7 @@ async function _retryWithExponentialBackoff(f, {
2787
2814
  errors: newErrors
2788
2815
  });
2789
2816
  }
2790
- if (error instanceof Error && (import_provider26.APICallError.isInstance(error) && error.isRetryable === true || import_gateway3.GatewayError.isInstance(error) && error.isRetryable === true) && tryNumber <= maxRetries) {
2817
+ if (error instanceof Error && (import_provider27.APICallError.isInstance(error) && error.isRetryable === true || import_gateway3.GatewayError.isInstance(error) && error.isRetryable === true) && tryNumber <= maxRetries) {
2791
2818
  await (0, import_provider_utils8.delay)(
2792
2819
  getRetryDelayInMs({
2793
2820
  error,
@@ -2928,8 +2955,8 @@ var import_provider_utils9 = require("@ai-sdk/provider-utils");
2928
2955
 
2929
2956
  // src/util/now.ts
2930
2957
  function now() {
2931
- var _a21, _b;
2932
- return (_b = (_a21 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a21.now()) != null ? _b : Date.now();
2958
+ var _a22, _b;
2959
+ return (_b = (_a22 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a22.now()) != null ? _b : Date.now();
2933
2960
  }
2934
2961
 
2935
2962
  // src/generate-text/execute-tool-call.ts
@@ -3139,6 +3166,170 @@ async function isApprovalNeeded({
3139
3166
  });
3140
3167
  }
3141
3168
 
3169
+ // src/generate-text/tool-approval-signature.ts
3170
+ var import_provider_utils11 = require("@ai-sdk/provider-utils");
3171
+ var encoder = new TextEncoder();
3172
+ function canonicalJSON(value) {
3173
+ if (value === null || value === void 0) {
3174
+ return JSON.stringify(value);
3175
+ }
3176
+ if (typeof value !== "object") {
3177
+ return JSON.stringify(value);
3178
+ }
3179
+ if (Array.isArray(value)) {
3180
+ return `[${value.map(canonicalJSON).join(",")}]`;
3181
+ }
3182
+ const keys = Object.keys(value).sort();
3183
+ const entries = keys.map(
3184
+ (k) => `${JSON.stringify(k)}:${canonicalJSON(value[k])}`
3185
+ );
3186
+ return `{${entries.join(",")}}`;
3187
+ }
3188
+ function toBase64url(bytes) {
3189
+ return (0, import_provider_utils11.convertUint8ArrayToBase64)(bytes).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, "");
3190
+ }
3191
+ function fromBase64url(str) {
3192
+ return (0, import_provider_utils11.convertBase64ToUint8Array)(str);
3193
+ }
3194
+ async function importKey(secret) {
3195
+ const keyData = typeof secret === "string" ? encoder.encode(secret) : secret;
3196
+ return crypto.subtle.importKey(
3197
+ "raw",
3198
+ keyData,
3199
+ { name: "HMAC", hash: "SHA-256" },
3200
+ false,
3201
+ ["sign", "verify"]
3202
+ );
3203
+ }
3204
+ async function hashInput(input) {
3205
+ const canonical = canonicalJSON(input);
3206
+ const digest = await crypto.subtle.digest(
3207
+ "SHA-256",
3208
+ encoder.encode(canonical)
3209
+ );
3210
+ return toBase64url(new Uint8Array(digest));
3211
+ }
3212
+ function buildPayload(approvalId, toolCallId, toolName, inputDigest) {
3213
+ return encoder.encode(
3214
+ `${approvalId}
3215
+ ${toolCallId}
3216
+ ${toolName}
3217
+ ${inputDigest}`
3218
+ );
3219
+ }
3220
+ async function signToolApproval({
3221
+ secret,
3222
+ approvalId,
3223
+ toolCallId,
3224
+ toolName,
3225
+ input
3226
+ }) {
3227
+ const key = await importKey(secret);
3228
+ const inputDigest = await hashInput(input);
3229
+ const payload = buildPayload(approvalId, toolCallId, toolName, inputDigest);
3230
+ const sig = await crypto.subtle.sign("HMAC", key, payload);
3231
+ return toBase64url(new Uint8Array(sig));
3232
+ }
3233
+ async function verifyToolApprovalSignature({
3234
+ secret,
3235
+ signature,
3236
+ approvalId,
3237
+ toolCallId,
3238
+ toolName,
3239
+ input
3240
+ }) {
3241
+ const key = await importKey(secret);
3242
+ const inputDigest = await hashInput(input);
3243
+ const payload = buildPayload(approvalId, toolCallId, toolName, inputDigest);
3244
+ const sigBytes = fromBase64url(signature);
3245
+ return crypto.subtle.verify("HMAC", key, sigBytes, payload);
3246
+ }
3247
+ async function maybeSignApproval({
3248
+ secret,
3249
+ approvalId,
3250
+ toolCallId,
3251
+ toolName,
3252
+ input
3253
+ }) {
3254
+ if (secret == null)
3255
+ return void 0;
3256
+ return signToolApproval({ secret, approvalId, toolCallId, toolName, input });
3257
+ }
3258
+
3259
+ // src/generate-text/validate-tool-approvals.ts
3260
+ var import_provider_utils12 = require("@ai-sdk/provider-utils");
3261
+ async function validateApprovedToolApprovals({
3262
+ approvedToolApprovals,
3263
+ tools,
3264
+ messages,
3265
+ experimental_context,
3266
+ toolApprovalSecret
3267
+ }) {
3268
+ var _a22;
3269
+ const approved = [];
3270
+ const denied = [];
3271
+ for (const approval of approvedToolApprovals) {
3272
+ const { toolCall, approvalRequest } = approval;
3273
+ const tool2 = tools == null ? void 0 : tools[toolCall.toolName];
3274
+ if (toolApprovalSecret != null) {
3275
+ if (approvalRequest.signature == null) {
3276
+ throw new InvalidToolApprovalSignatureError({
3277
+ approvalId: approvalRequest.approvalId,
3278
+ toolCallId: toolCall.toolCallId,
3279
+ reason: "missing signature"
3280
+ });
3281
+ }
3282
+ const valid = await verifyToolApprovalSignature({
3283
+ secret: toolApprovalSecret,
3284
+ signature: approvalRequest.signature,
3285
+ approvalId: approvalRequest.approvalId,
3286
+ toolCallId: toolCall.toolCallId,
3287
+ toolName: toolCall.toolName,
3288
+ input: toolCall.input
3289
+ });
3290
+ if (!valid) {
3291
+ throw new InvalidToolApprovalSignatureError({
3292
+ approvalId: approvalRequest.approvalId,
3293
+ toolCallId: toolCall.toolCallId,
3294
+ reason: "invalid signature"
3295
+ });
3296
+ }
3297
+ }
3298
+ if (tool2 != null && typeof tool2.execute === "function" && tool2.inputSchema != null) {
3299
+ const validation = await (0, import_provider_utils12.safeValidateTypes)({
3300
+ value: toolCall.input,
3301
+ schema: (0, import_provider_utils12.asSchema)(tool2.inputSchema)
3302
+ });
3303
+ if (!validation.success) {
3304
+ throw new InvalidToolInputError({
3305
+ toolName: toolCall.toolName,
3306
+ toolInput: JSON.stringify(toolCall.input),
3307
+ cause: validation.error
3308
+ });
3309
+ }
3310
+ }
3311
+ const approvalNeeded = tool2 != null && await isApprovalNeeded({
3312
+ tool: tool2,
3313
+ toolCall,
3314
+ messages,
3315
+ experimental_context
3316
+ });
3317
+ if (approvalNeeded) {
3318
+ approved.push(approval);
3319
+ } else {
3320
+ denied.push({
3321
+ ...approval,
3322
+ approvalResponse: {
3323
+ ...approval.approvalResponse,
3324
+ approved: false,
3325
+ reason: (_a22 = approval.approvalResponse.reason) != null ? _a22 : `Tool "${toolCall.toolName}" does not require approval`
3326
+ }
3327
+ });
3328
+ }
3329
+ }
3330
+ return { approvedToolApprovals: approved, deniedToolApprovals: denied };
3331
+ }
3332
+
3142
3333
  // src/generate-text/output.ts
3143
3334
  var output_exports = {};
3144
3335
  __export(output_exports, {
@@ -3148,11 +3339,11 @@ __export(output_exports, {
3148
3339
  object: () => object,
3149
3340
  text: () => text
3150
3341
  });
3151
- var import_provider27 = require("@ai-sdk/provider");
3152
- var import_provider_utils12 = require("@ai-sdk/provider-utils");
3342
+ var import_provider28 = require("@ai-sdk/provider");
3343
+ var import_provider_utils14 = require("@ai-sdk/provider-utils");
3153
3344
 
3154
3345
  // src/util/parse-partial-json.ts
3155
- var import_provider_utils11 = require("@ai-sdk/provider-utils");
3346
+ var import_provider_utils13 = require("@ai-sdk/provider-utils");
3156
3347
 
3157
3348
  // src/util/fix-json.ts
3158
3349
  function fixJson(input) {
@@ -3477,11 +3668,11 @@ async function parsePartialJson(jsonText) {
3477
3668
  if (jsonText === void 0) {
3478
3669
  return { value: void 0, state: "undefined-input" };
3479
3670
  }
3480
- let result = await (0, import_provider_utils11.safeParseJSON)({ text: jsonText });
3671
+ let result = await (0, import_provider_utils13.safeParseJSON)({ text: jsonText });
3481
3672
  if (result.success) {
3482
3673
  return { value: result.value, state: "successful-parse" };
3483
3674
  }
3484
- result = await (0, import_provider_utils11.safeParseJSON)({ text: fixJson(jsonText) });
3675
+ result = await (0, import_provider_utils13.safeParseJSON)({ text: fixJson(jsonText) });
3485
3676
  if (result.success) {
3486
3677
  return { value: result.value, state: "repaired-parse" };
3487
3678
  }
@@ -3504,20 +3695,20 @@ var text = () => ({
3504
3695
  });
3505
3696
  var object = ({
3506
3697
  schema: inputSchema,
3507
- name: name21,
3698
+ name: name22,
3508
3699
  description
3509
3700
  }) => {
3510
- const schema = (0, import_provider_utils12.asSchema)(inputSchema);
3701
+ const schema = (0, import_provider_utils14.asSchema)(inputSchema);
3511
3702
  return {
3512
3703
  name: "object",
3513
- responseFormat: (0, import_provider_utils12.resolve)(schema.jsonSchema).then((jsonSchema2) => ({
3704
+ responseFormat: (0, import_provider_utils14.resolve)(schema.jsonSchema).then((jsonSchema2) => ({
3514
3705
  type: "json",
3515
3706
  schema: jsonSchema2,
3516
- ...name21 != null && { name: name21 },
3707
+ ...name22 != null && { name: name22 },
3517
3708
  ...description != null && { description }
3518
3709
  })),
3519
3710
  async parseCompleteOutput({ text: text2 }, context2) {
3520
- const parseResult = await (0, import_provider_utils12.safeParseJSON)({ text: text2 });
3711
+ const parseResult = await (0, import_provider_utils14.safeParseJSON)({ text: text2 });
3521
3712
  if (!parseResult.success) {
3522
3713
  throw new NoObjectGeneratedError({
3523
3714
  message: "No object generated: could not parse the response.",
@@ -3528,7 +3719,7 @@ var object = ({
3528
3719
  finishReason: context2.finishReason
3529
3720
  });
3530
3721
  }
3531
- const validationResult = await (0, import_provider_utils12.safeValidateTypes)({
3722
+ const validationResult = await (0, import_provider_utils14.safeValidateTypes)({
3532
3723
  value: parseResult.value,
3533
3724
  schema
3534
3725
  });
@@ -3567,14 +3758,14 @@ var object = ({
3567
3758
  };
3568
3759
  var array = ({
3569
3760
  element: inputElementSchema,
3570
- name: name21,
3761
+ name: name22,
3571
3762
  description
3572
3763
  }) => {
3573
- const elementSchema = (0, import_provider_utils12.asSchema)(inputElementSchema);
3764
+ const elementSchema = (0, import_provider_utils14.asSchema)(inputElementSchema);
3574
3765
  return {
3575
3766
  name: "array",
3576
3767
  // JSON schema that describes an array of elements:
3577
- responseFormat: (0, import_provider_utils12.resolve)(elementSchema.jsonSchema).then((jsonSchema2) => {
3768
+ responseFormat: (0, import_provider_utils14.resolve)(elementSchema.jsonSchema).then((jsonSchema2) => {
3578
3769
  const { $schema, ...itemSchema } = jsonSchema2;
3579
3770
  return {
3580
3771
  type: "json",
@@ -3587,12 +3778,12 @@ var array = ({
3587
3778
  required: ["elements"],
3588
3779
  additionalProperties: false
3589
3780
  },
3590
- ...name21 != null && { name: name21 },
3781
+ ...name22 != null && { name: name22 },
3591
3782
  ...description != null && { description }
3592
3783
  };
3593
3784
  }),
3594
3785
  async parseCompleteOutput({ text: text2 }, context2) {
3595
- const parseResult = await (0, import_provider_utils12.safeParseJSON)({ text: text2 });
3786
+ const parseResult = await (0, import_provider_utils14.safeParseJSON)({ text: text2 });
3596
3787
  if (!parseResult.success) {
3597
3788
  throw new NoObjectGeneratedError({
3598
3789
  message: "No object generated: could not parse the response.",
@@ -3607,7 +3798,7 @@ var array = ({
3607
3798
  if (outerValue == null || typeof outerValue !== "object" || !("elements" in outerValue) || !Array.isArray(outerValue.elements)) {
3608
3799
  throw new NoObjectGeneratedError({
3609
3800
  message: "No object generated: response did not match schema.",
3610
- cause: new import_provider27.TypeValidationError({
3801
+ cause: new import_provider28.TypeValidationError({
3611
3802
  value: outerValue,
3612
3803
  cause: "response must be an object with an elements array"
3613
3804
  }),
@@ -3618,7 +3809,7 @@ var array = ({
3618
3809
  });
3619
3810
  }
3620
3811
  for (const element of outerValue.elements) {
3621
- const validationResult = await (0, import_provider_utils12.safeValidateTypes)({
3812
+ const validationResult = await (0, import_provider_utils14.safeValidateTypes)({
3622
3813
  value: element,
3623
3814
  schema: elementSchema
3624
3815
  });
@@ -3651,7 +3842,7 @@ var array = ({
3651
3842
  const rawElements = result.state === "repaired-parse" && outerValue.elements.length > 0 ? outerValue.elements.slice(0, -1) : outerValue.elements;
3652
3843
  const parsedElements = [];
3653
3844
  for (const rawElement of rawElements) {
3654
- const validationResult = await (0, import_provider_utils12.safeValidateTypes)({
3845
+ const validationResult = await (0, import_provider_utils14.safeValidateTypes)({
3655
3846
  value: rawElement,
3656
3847
  schema: elementSchema
3657
3848
  });
@@ -3679,7 +3870,7 @@ var array = ({
3679
3870
  };
3680
3871
  var choice = ({
3681
3872
  options: choiceOptions,
3682
- name: name21,
3873
+ name: name22,
3683
3874
  description
3684
3875
  }) => {
3685
3876
  return {
@@ -3696,11 +3887,11 @@ var choice = ({
3696
3887
  required: ["result"],
3697
3888
  additionalProperties: false
3698
3889
  },
3699
- ...name21 != null && { name: name21 },
3890
+ ...name22 != null && { name: name22 },
3700
3891
  ...description != null && { description }
3701
3892
  }),
3702
3893
  async parseCompleteOutput({ text: text2 }, context2) {
3703
- const parseResult = await (0, import_provider_utils12.safeParseJSON)({ text: text2 });
3894
+ const parseResult = await (0, import_provider_utils14.safeParseJSON)({ text: text2 });
3704
3895
  if (!parseResult.success) {
3705
3896
  throw new NoObjectGeneratedError({
3706
3897
  message: "No object generated: could not parse the response.",
@@ -3715,7 +3906,7 @@ var choice = ({
3715
3906
  if (outerValue == null || typeof outerValue !== "object" || !("result" in outerValue) || typeof outerValue.result !== "string" || !choiceOptions.includes(outerValue.result)) {
3716
3907
  throw new NoObjectGeneratedError({
3717
3908
  message: "No object generated: response did not match schema.",
3718
- cause: new import_provider27.TypeValidationError({
3909
+ cause: new import_provider28.TypeValidationError({
3719
3910
  value: outerValue,
3720
3911
  cause: "response must be an object that contains a choice value."
3721
3912
  }),
@@ -3757,18 +3948,18 @@ var choice = ({
3757
3948
  };
3758
3949
  };
3759
3950
  var json = ({
3760
- name: name21,
3951
+ name: name22,
3761
3952
  description
3762
3953
  } = {}) => {
3763
3954
  return {
3764
3955
  name: "json",
3765
3956
  responseFormat: Promise.resolve({
3766
3957
  type: "json",
3767
- ...name21 != null && { name: name21 },
3958
+ ...name22 != null && { name: name22 },
3768
3959
  ...description != null && { description }
3769
3960
  }),
3770
3961
  async parseCompleteOutput({ text: text2 }, context2) {
3771
- const parseResult = await (0, import_provider_utils12.safeParseJSON)({ text: text2 });
3962
+ const parseResult = await (0, import_provider_utils14.safeParseJSON)({ text: text2 });
3772
3963
  if (!parseResult.success) {
3773
3964
  throw new NoObjectGeneratedError({
3774
3965
  message: "No object generated: could not parse the response.",
@@ -3801,7 +3992,7 @@ var json = ({
3801
3992
  };
3802
3993
 
3803
3994
  // src/generate-text/parse-tool-call.ts
3804
- var import_provider_utils13 = require("@ai-sdk/provider-utils");
3995
+ var import_provider_utils15 = require("@ai-sdk/provider-utils");
3805
3996
  async function parseToolCall({
3806
3997
  toolCall,
3807
3998
  tools,
@@ -3829,7 +4020,7 @@ async function parseToolCall({
3829
4020
  tools,
3830
4021
  inputSchema: async ({ toolName }) => {
3831
4022
  const { inputSchema } = tools[toolName];
3832
- return await (0, import_provider_utils13.asSchema)(inputSchema).jsonSchema;
4023
+ return await (0, import_provider_utils15.asSchema)(inputSchema).jsonSchema;
3833
4024
  },
3834
4025
  system,
3835
4026
  messages,
@@ -3847,7 +4038,7 @@ async function parseToolCall({
3847
4038
  return await doParseToolCall({ toolCall: repairedToolCall, tools });
3848
4039
  }
3849
4040
  } catch (error) {
3850
- const parsedInput = await (0, import_provider_utils13.safeParseJSON)({ text: toolCall.input });
4041
+ const parsedInput = await (0, import_provider_utils15.safeParseJSON)({ text: toolCall.input });
3851
4042
  const input = parsedInput.success ? parsedInput.value : toolCall.input;
3852
4043
  const tool2 = tools == null ? void 0 : tools[toolCall.toolName];
3853
4044
  return {
@@ -3866,7 +4057,7 @@ async function parseToolCall({
3866
4057
  }
3867
4058
  }
3868
4059
  async function parseProviderExecutedDynamicToolCall(toolCall) {
3869
- const parseResult = toolCall.input.trim() === "" ? { success: true, value: {} } : await (0, import_provider_utils13.safeParseJSON)({ text: toolCall.input });
4060
+ const parseResult = toolCall.input.trim() === "" ? { success: true, value: {} } : await (0, import_provider_utils15.safeParseJSON)({ text: toolCall.input });
3870
4061
  if (parseResult.success === false) {
3871
4062
  throw new InvalidToolInputError({
3872
4063
  toolName: toolCall.toolName,
@@ -3899,8 +4090,8 @@ async function doParseToolCall({
3899
4090
  availableTools: Object.keys(tools)
3900
4091
  });
3901
4092
  }
3902
- const schema = (0, import_provider_utils13.asSchema)(tool2.inputSchema);
3903
- const parseResult = toolCall.input.trim() === "" ? await (0, import_provider_utils13.safeValidateTypes)({ value: {}, schema }) : await (0, import_provider_utils13.safeParseJSON)({ text: toolCall.input, schema });
4093
+ const schema = (0, import_provider_utils15.asSchema)(tool2.inputSchema);
4094
+ const parseResult = toolCall.input.trim() === "" ? await (0, import_provider_utils15.safeValidateTypes)({ value: {}, schema }) : await (0, import_provider_utils15.safeParseJSON)({ text: toolCall.input, schema });
3904
4095
  if (parseResult.success === false) {
3905
4096
  throw new InvalidToolInputError({
3906
4097
  toolName,
@@ -4013,8 +4204,8 @@ function isLoopFinished() {
4013
4204
  }
4014
4205
  function hasToolCall(toolName) {
4015
4206
  return ({ steps }) => {
4016
- var _a21, _b, _c;
4017
- return (_c = (_b = (_a21 = steps[steps.length - 1]) == null ? void 0 : _a21.toolCalls) == null ? void 0 : _b.some(
4207
+ var _a22, _b, _c;
4208
+ return (_c = (_b = (_a22 = steps[steps.length - 1]) == null ? void 0 : _a22.toolCalls) == null ? void 0 : _b.some(
4018
4209
  (toolCall) => toolCall.toolName === toolName
4019
4210
  )) != null ? _c : false;
4020
4211
  };
@@ -4114,7 +4305,8 @@ async function toResponseMessages({
4114
4305
  content.push({
4115
4306
  type: "tool-approval-request",
4116
4307
  approvalId: part.approvalId,
4117
- toolCallId: part.toolCall.toolCallId
4308
+ toolCallId: part.toolCall.toolCallId,
4309
+ ...part.signature != null ? { signature: part.signature } : {}
4118
4310
  });
4119
4311
  break;
4120
4312
  }
@@ -4183,7 +4375,7 @@ function mergeAbortSignals(...signals) {
4183
4375
  }
4184
4376
 
4185
4377
  // src/generate-text/generate-text.ts
4186
- var originalGenerateId = (0, import_provider_utils14.createIdGenerator)({
4378
+ var originalGenerateId = (0, import_provider_utils16.createIdGenerator)({
4187
4379
  prefix: "aitxt",
4188
4380
  size: 24
4189
4381
  });
@@ -4211,6 +4403,7 @@ async function generateText({
4211
4403
  experimental_repairToolCall: repairToolCall,
4212
4404
  experimental_download: download2,
4213
4405
  experimental_context,
4406
+ experimental_toolApprovalSecret,
4214
4407
  experimental_include: include,
4215
4408
  _internal: { generateId: generateId2 = originalGenerateId } = {},
4216
4409
  experimental_onStart: onStart,
@@ -4237,7 +4430,7 @@ async function generateText({
4237
4430
  abortSignal: mergedAbortSignal
4238
4431
  });
4239
4432
  const callSettings = prepareCallSettings(settings);
4240
- const headersWithUserAgent = (0, import_provider_utils14.withUserAgentSuffix)(
4433
+ const headersWithUserAgent = (0, import_provider_utils16.withUserAgentSuffix)(
4241
4434
  headers != null ? headers : {},
4242
4435
  `ai/${VERSION}`
4243
4436
  );
@@ -4312,13 +4505,29 @@ async function generateText({
4312
4505
  }),
4313
4506
  tracer,
4314
4507
  fn: async (span) => {
4315
- var _a21, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
4508
+ var _a22, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
4316
4509
  const initialMessages = initialPrompt.messages;
4317
4510
  const responseMessages = [];
4318
- const { approvedToolApprovals, deniedToolApprovals } = collectToolApprovals({ messages: initialMessages });
4319
- const localApprovedToolApprovals = approvedToolApprovals.filter(
4320
- (toolApproval) => !toolApproval.toolCall.providerExecuted
4321
- );
4511
+ const {
4512
+ approvedToolApprovals,
4513
+ deniedToolApprovals: collectedDeniedToolApprovals
4514
+ } = collectToolApprovals({ messages: initialMessages });
4515
+ const {
4516
+ approvedToolApprovals: localApprovedToolApprovals,
4517
+ deniedToolApprovals: revalidationDeniedToolApprovals
4518
+ } = await validateApprovedToolApprovals({
4519
+ approvedToolApprovals: approvedToolApprovals.filter(
4520
+ (toolApproval) => !toolApproval.toolCall.providerExecuted
4521
+ ),
4522
+ tools,
4523
+ messages: initialMessages,
4524
+ experimental_context,
4525
+ toolApprovalSecret: experimental_toolApprovalSecret
4526
+ });
4527
+ const deniedToolApprovals = [
4528
+ ...collectedDeniedToolApprovals,
4529
+ ...revalidationDeniedToolApprovals
4530
+ ];
4322
4531
  if (deniedToolApprovals.length > 0 || localApprovedToolApprovals.length > 0) {
4323
4532
  const toolOutputs = await executeTools({
4324
4533
  toolCalls: localApprovedToolApprovals.map(
@@ -4399,7 +4608,7 @@ async function generateText({
4399
4608
  experimental_context
4400
4609
  }));
4401
4610
  const stepModel = resolveLanguageModel(
4402
- (_a21 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a21 : model
4611
+ (_a22 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a22 : model
4403
4612
  );
4404
4613
  const stepModelInfo = {
4405
4614
  provider: stepModel.provider,
@@ -4454,7 +4663,7 @@ async function generateText({
4454
4663
  });
4455
4664
  currentModelResponse = await retry(
4456
4665
  () => {
4457
- var _a22;
4666
+ var _a23;
4458
4667
  return recordSpan({
4459
4668
  name: "ai.generateText.doGenerate",
4460
4669
  attributes: selectTelemetryAttributes({
@@ -4486,14 +4695,14 @@ async function generateText({
4486
4695
  "gen_ai.request.max_tokens": settings.maxOutputTokens,
4487
4696
  "gen_ai.request.presence_penalty": settings.presencePenalty,
4488
4697
  "gen_ai.request.stop_sequences": settings.stopSequences,
4489
- "gen_ai.request.temperature": (_a22 = settings.temperature) != null ? _a22 : void 0,
4698
+ "gen_ai.request.temperature": (_a23 = settings.temperature) != null ? _a23 : void 0,
4490
4699
  "gen_ai.request.top_k": settings.topK,
4491
4700
  "gen_ai.request.top_p": settings.topP
4492
4701
  }
4493
4702
  }),
4494
4703
  tracer,
4495
4704
  fn: async (span2) => {
4496
- var _a23, _b2, _c2, _d2, _e2, _f2, _g2, _h2;
4705
+ var _a24, _b2, _c2, _d2, _e2, _f2, _g2, _h2;
4497
4706
  const result = await stepModel.doGenerate({
4498
4707
  ...callSettings2,
4499
4708
  tools: stepTools,
@@ -4505,7 +4714,7 @@ async function generateText({
4505
4714
  headers: headersWithUserAgent
4506
4715
  });
4507
4716
  const responseData = {
4508
- id: (_b2 = (_a23 = result.response) == null ? void 0 : _a23.id) != null ? _b2 : generateId2(),
4717
+ id: (_b2 = (_a24 = result.response) == null ? void 0 : _a24.id) != null ? _b2 : generateId2(),
4509
4718
  timestamp: (_d2 = (_c2 = result.response) == null ? void 0 : _c2.timestamp) != null ? _d2 : /* @__PURE__ */ new Date(),
4510
4719
  modelId: (_f2 = (_e2 = result.response) == null ? void 0 : _e2.modelId) != null ? _f2 : stepModel.modelId,
4511
4720
  headers: (_g2 = result.response) == null ? void 0 : _g2.headers,
@@ -4598,10 +4807,19 @@ async function generateText({
4598
4807
  messages: stepInputMessages,
4599
4808
  experimental_context
4600
4809
  })) {
4810
+ const approvalId = generateId2();
4811
+ const signature = await maybeSignApproval({
4812
+ secret: experimental_toolApprovalSecret,
4813
+ approvalId,
4814
+ toolCallId: toolCall.toolCallId,
4815
+ toolName: toolCall.toolName,
4816
+ input: toolCall.input
4817
+ });
4601
4818
  toolApprovalRequests[toolCall.toolCallId] = {
4602
4819
  type: "tool-approval-request",
4603
- approvalId: generateId2(),
4604
- toolCall
4820
+ approvalId,
4821
+ toolCall,
4822
+ ...signature != null ? { signature } : {}
4605
4823
  };
4606
4824
  }
4607
4825
  }
@@ -4615,7 +4833,7 @@ async function generateText({
4615
4833
  toolCallId: toolCall.toolCallId,
4616
4834
  toolName: toolCall.toolName,
4617
4835
  input: toolCall.input,
4618
- error: (0, import_provider_utils14.getErrorMessage)(toolCall.error),
4836
+ error: (0, import_provider_utils16.getErrorMessage)(toolCall.error),
4619
4837
  dynamic: true
4620
4838
  });
4621
4839
  }
@@ -5075,8 +5293,8 @@ function asContent({
5075
5293
  }
5076
5294
 
5077
5295
  // src/generate-text/stream-text.ts
5078
- var import_provider28 = require("@ai-sdk/provider");
5079
- var import_provider_utils18 = require("@ai-sdk/provider-utils");
5296
+ var import_provider29 = require("@ai-sdk/provider");
5297
+ var import_provider_utils20 = require("@ai-sdk/provider-utils");
5080
5298
 
5081
5299
  // src/util/prepare-headers.ts
5082
5300
  function prepareHeaders(headers, defaultHeaders) {
@@ -5223,17 +5441,17 @@ function getResponseUIMessageId({
5223
5441
  }
5224
5442
 
5225
5443
  // src/ui/process-ui-message-stream.ts
5226
- var import_provider_utils16 = require("@ai-sdk/provider-utils");
5444
+ var import_provider_utils18 = require("@ai-sdk/provider-utils");
5227
5445
 
5228
5446
  // src/ui-message-stream/ui-message-chunks.ts
5229
5447
  var import_v47 = require("zod/v4");
5230
- var import_provider_utils15 = require("@ai-sdk/provider-utils");
5448
+ var import_provider_utils17 = require("@ai-sdk/provider-utils");
5231
5449
  var toolMetadataSchema = import_v47.z.record(
5232
5450
  import_v47.z.string(),
5233
5451
  jsonValueSchema.optional()
5234
5452
  );
5235
- var uiMessageChunkSchema = (0, import_provider_utils15.lazySchema)(
5236
- () => (0, import_provider_utils15.zodSchema)(
5453
+ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
5454
+ () => (0, import_provider_utils17.zodSchema)(
5237
5455
  import_v47.z.union([
5238
5456
  import_v47.z.strictObject({
5239
5457
  type: import_v47.z.literal("text-start"),
@@ -5296,7 +5514,8 @@ var uiMessageChunkSchema = (0, import_provider_utils15.lazySchema)(
5296
5514
  import_v47.z.strictObject({
5297
5515
  type: import_v47.z.literal("tool-approval-request"),
5298
5516
  approvalId: import_v47.z.string(),
5299
- toolCallId: import_v47.z.string()
5517
+ toolCallId: import_v47.z.string(),
5518
+ signature: import_v47.z.string().optional()
5300
5519
  }),
5301
5520
  import_v47.z.strictObject({
5302
5521
  type: import_v47.z.literal("tool-output-available"),
@@ -5471,7 +5690,7 @@ function processUIMessageStream({
5471
5690
  new TransformStream({
5472
5691
  async transform(chunk, controller) {
5473
5692
  await runUpdateMessageJob(async ({ state, write }) => {
5474
- var _a21, _b, _c, _d;
5693
+ var _a22, _b, _c, _d;
5475
5694
  function getToolInvocation(toolCallId) {
5476
5695
  const toolInvocations = state.message.parts.filter(isToolUIPart);
5477
5696
  const toolInvocation = toolInvocations.find(
@@ -5487,7 +5706,7 @@ function processUIMessageStream({
5487
5706
  return toolInvocation;
5488
5707
  }
5489
5708
  function updateToolPart(options) {
5490
- var _a22;
5709
+ var _a23;
5491
5710
  const part = state.message.parts.find(
5492
5711
  (part2) => isStaticToolUIPart(part2) && part2.toolCallId === options.toolCallId
5493
5712
  );
@@ -5506,7 +5725,7 @@ function processUIMessageStream({
5506
5725
  if (options.toolMetadata !== void 0) {
5507
5726
  anyPart.toolMetadata = options.toolMetadata;
5508
5727
  }
5509
- anyPart.providerExecuted = (_a22 = anyOptions.providerExecuted) != null ? _a22 : part.providerExecuted;
5728
+ anyPart.providerExecuted = (_a23 = anyOptions.providerExecuted) != null ? _a23 : part.providerExecuted;
5510
5729
  const providerMetadata = anyOptions.providerMetadata;
5511
5730
  if (providerMetadata != null) {
5512
5731
  if (options.state === "output-available" || options.state === "output-error") {
@@ -5535,7 +5754,7 @@ function processUIMessageStream({
5535
5754
  }
5536
5755
  }
5537
5756
  function updateDynamicToolPart(options) {
5538
- var _a22, _b2;
5757
+ var _a23, _b2;
5539
5758
  const part = state.message.parts.find(
5540
5759
  (part2) => part2.type === "dynamic-tool" && part2.toolCallId === options.toolCallId
5541
5760
  );
@@ -5547,7 +5766,7 @@ function processUIMessageStream({
5547
5766
  anyPart.input = anyOptions.input;
5548
5767
  anyPart.output = anyOptions.output;
5549
5768
  anyPart.errorText = anyOptions.errorText;
5550
- anyPart.rawInput = (_a22 = anyOptions.rawInput) != null ? _a22 : anyPart.rawInput;
5769
+ anyPart.rawInput = (_a23 = anyOptions.rawInput) != null ? _a23 : anyPart.rawInput;
5551
5770
  anyPart.preliminary = anyOptions.preliminary;
5552
5771
  if (options.title !== void 0) {
5553
5772
  anyPart.title = options.title;
@@ -5587,7 +5806,7 @@ function processUIMessageStream({
5587
5806
  if (metadata != null) {
5588
5807
  const mergedMetadata = state.message.metadata != null ? mergeObjects(state.message.metadata, metadata) : metadata;
5589
5808
  if (messageMetadataSchema != null) {
5590
- await (0, import_provider_utils16.validateTypes)({
5809
+ await (0, import_provider_utils18.validateTypes)({
5591
5810
  value: mergedMetadata,
5592
5811
  schema: messageMetadataSchema,
5593
5812
  context: {
@@ -5622,7 +5841,7 @@ function processUIMessageStream({
5622
5841
  });
5623
5842
  }
5624
5843
  textPart.text += chunk.delta;
5625
- textPart.providerMetadata = (_a21 = chunk.providerMetadata) != null ? _a21 : textPart.providerMetadata;
5844
+ textPart.providerMetadata = (_a22 = chunk.providerMetadata) != null ? _a22 : textPart.providerMetadata;
5626
5845
  write();
5627
5846
  break;
5628
5847
  }
@@ -5851,7 +6070,10 @@ function processUIMessageStream({
5851
6070
  case "tool-approval-request": {
5852
6071
  const toolInvocation = getToolInvocation(chunk.toolCallId);
5853
6072
  toolInvocation.state = "approval-requested";
5854
- toolInvocation.approval = { id: chunk.approvalId };
6073
+ toolInvocation.approval = {
6074
+ id: chunk.approvalId,
6075
+ ...chunk.signature != null ? { signature: chunk.signature } : {}
6076
+ };
5855
6077
  write();
5856
6078
  break;
5857
6079
  }
@@ -5971,7 +6193,7 @@ function processUIMessageStream({
5971
6193
  (p) => "id" in p && "data" in p && p.id === chunk.id && p.type === chunk.type
5972
6194
  );
5973
6195
  const actualPartIdx = partIdx >= 0 ? partIdx : state.message.parts.length;
5974
- await (0, import_provider_utils16.validateTypes)({
6196
+ await (0, import_provider_utils18.validateTypes)({
5975
6197
  value: chunk.data,
5976
6198
  schema: dataPartSchemas[chunk.type],
5977
6199
  context: {
@@ -6142,13 +6364,13 @@ function createAsyncIterableStream(source) {
6142
6364
  const reader = this.getReader();
6143
6365
  let finished = false;
6144
6366
  async function cleanup(cancelStream) {
6145
- var _a21;
6367
+ var _a22;
6146
6368
  if (finished)
6147
6369
  return;
6148
6370
  finished = true;
6149
6371
  try {
6150
6372
  if (cancelStream) {
6151
- await ((_a21 = reader.cancel) == null ? void 0 : _a21.call(reader));
6373
+ await ((_a22 = reader.cancel) == null ? void 0 : _a22.call(reader));
6152
6374
  }
6153
6375
  } finally {
6154
6376
  try {
@@ -6313,7 +6535,7 @@ function createStitchableStream() {
6313
6535
  }
6314
6536
 
6315
6537
  // src/generate-text/run-tools-transformation.ts
6316
- var import_provider_utils17 = require("@ai-sdk/provider-utils");
6538
+ var import_provider_utils19 = require("@ai-sdk/provider-utils");
6317
6539
  function runToolsTransformation({
6318
6540
  tools,
6319
6541
  generatorStream,
@@ -6324,6 +6546,7 @@ function runToolsTransformation({
6324
6546
  abortSignal,
6325
6547
  repairToolCall,
6326
6548
  experimental_context,
6549
+ toolApprovalSecret,
6327
6550
  generateId: generateId2,
6328
6551
  stepNumber,
6329
6552
  model,
@@ -6427,7 +6650,7 @@ function runToolsTransformation({
6427
6650
  toolCallId: toolCall.toolCallId,
6428
6651
  toolName: toolCall.toolName,
6429
6652
  input: toolCall.input,
6430
- error: (0, import_provider_utils17.getErrorMessage)(toolCall.error),
6653
+ error: (0, import_provider_utils19.getErrorMessage)(toolCall.error),
6431
6654
  dynamic: true,
6432
6655
  title: toolCall.title,
6433
6656
  ...toolCall.toolMetadata != null ? { toolMetadata: toolCall.toolMetadata } : {}
@@ -6453,10 +6676,19 @@ function runToolsTransformation({
6453
6676
  messages,
6454
6677
  experimental_context
6455
6678
  })) {
6679
+ const approvalId = generateId2();
6680
+ const signature = await maybeSignApproval({
6681
+ secret: toolApprovalSecret,
6682
+ approvalId,
6683
+ toolCallId: toolCall.toolCallId,
6684
+ toolName: toolCall.toolName,
6685
+ input: toolCall.input
6686
+ });
6456
6687
  toolResultsStreamController.enqueue({
6457
6688
  type: "tool-approval-request",
6458
- approvalId: generateId2(),
6459
- toolCall
6689
+ approvalId,
6690
+ toolCall,
6691
+ ...signature != null ? { signature } : {}
6460
6692
  });
6461
6693
  break;
6462
6694
  }
@@ -6565,7 +6797,7 @@ function runToolsTransformation({
6565
6797
  }
6566
6798
 
6567
6799
  // src/generate-text/stream-text.ts
6568
- var originalGenerateId2 = (0, import_provider_utils18.createIdGenerator)({
6800
+ var originalGenerateId2 = (0, import_provider_utils20.createIdGenerator)({
6569
6801
  prefix: "aitxt",
6570
6802
  size: 24
6571
6803
  });
@@ -6627,6 +6859,7 @@ function streamText({
6627
6859
  experimental_onToolCallStart: onToolCallStart,
6628
6860
  experimental_onToolCallFinish: onToolCallFinish,
6629
6861
  experimental_context,
6862
+ experimental_toolApprovalSecret,
6630
6863
  experimental_include: include,
6631
6864
  _internal: { now: now2 = now, generateId: generateId2 = originalGenerateId2 } = {},
6632
6865
  ...settings
@@ -6681,6 +6914,7 @@ function streamText({
6681
6914
  now: now2,
6682
6915
  generateId: generateId2,
6683
6916
  experimental_context,
6917
+ experimental_toolApprovalSecret,
6684
6918
  download: download2,
6685
6919
  include
6686
6920
  });
@@ -6708,7 +6942,7 @@ function createOutputTransformStream(output) {
6708
6942
  }
6709
6943
  return new TransformStream({
6710
6944
  async transform(chunk, controller) {
6711
- var _a21;
6945
+ var _a22;
6712
6946
  if (chunk.type === "finish-step" && textChunk.length > 0) {
6713
6947
  publishTextChunk({ controller });
6714
6948
  }
@@ -6735,7 +6969,7 @@ function createOutputTransformStream(output) {
6735
6969
  }
6736
6970
  text2 += chunk.text;
6737
6971
  textChunk += chunk.text;
6738
- textProviderMetadata = (_a21 = chunk.providerMetadata) != null ? _a21 : textProviderMetadata;
6972
+ textProviderMetadata = (_a22 = chunk.providerMetadata) != null ? _a22 : textProviderMetadata;
6739
6973
  const result = await output.parsePartialOutput({ text: text2 });
6740
6974
  if (result !== void 0) {
6741
6975
  const currentValue = typeof result.partial === "string" ? result.partial : JSON.stringify(result.partial);
@@ -6788,13 +7022,14 @@ var DefaultStreamTextResult = class {
6788
7022
  onToolCallStart,
6789
7023
  onToolCallFinish,
6790
7024
  experimental_context,
7025
+ experimental_toolApprovalSecret,
6791
7026
  download: download2,
6792
7027
  include
6793
7028
  }) {
6794
- this._totalUsage = new import_provider_utils18.DelayedPromise();
6795
- this._finishReason = new import_provider_utils18.DelayedPromise();
6796
- this._rawFinishReason = new import_provider_utils18.DelayedPromise();
6797
- this._steps = new import_provider_utils18.DelayedPromise();
7029
+ this._totalUsage = new import_provider_utils20.DelayedPromise();
7030
+ this._finishReason = new import_provider_utils20.DelayedPromise();
7031
+ this._rawFinishReason = new import_provider_utils20.DelayedPromise();
7032
+ this._steps = new import_provider_utils20.DelayedPromise();
6798
7033
  this.outputSpecification = output;
6799
7034
  this.includeRawChunks = includeRawChunks;
6800
7035
  this.tools = tools;
@@ -6816,7 +7051,7 @@ var DefaultStreamTextResult = class {
6816
7051
  let activeReasoningContent = {};
6817
7052
  const eventProcessor = new TransformStream({
6818
7053
  async transform(chunk, controller) {
6819
- var _a21, _b, _c, _d;
7054
+ var _a22, _b, _c, _d;
6820
7055
  controller.enqueue(chunk);
6821
7056
  const { part } = chunk;
6822
7057
  if (part.type === "text-delta" || part.type === "reasoning-delta" || part.type === "source" || part.type === "tool-call" || part.type === "tool-result" || part.type === "tool-input-start" || part.type === "tool-input-delta" || part.type === "raw") {
@@ -6850,7 +7085,7 @@ var DefaultStreamTextResult = class {
6850
7085
  return;
6851
7086
  }
6852
7087
  activeText.text += part.text;
6853
- activeText.providerMetadata = (_a21 = part.providerMetadata) != null ? _a21 : activeText.providerMetadata;
7088
+ activeText.providerMetadata = (_a22 = part.providerMetadata) != null ? _a22 : activeText.providerMetadata;
6854
7089
  }
6855
7090
  if (part.type === "text-end") {
6856
7091
  const activeText = activeTextContent[part.id];
@@ -6976,7 +7211,7 @@ var DefaultStreamTextResult = class {
6976
7211
  }
6977
7212
  },
6978
7213
  async flush(controller) {
6979
- var _a21, _b, _c, _d, _e, _f, _g;
7214
+ var _a22, _b, _c, _d, _e, _f, _g;
6980
7215
  try {
6981
7216
  if (recordedSteps.length === 0 || recordedNoOutputError != null) {
6982
7217
  const error = (abortSignal == null ? void 0 : abortSignal.aborted) ? abortSignal.reason : recordedNoOutputError != null ? recordedNoOutputError : new NoOutputGeneratedError({
@@ -7040,15 +7275,15 @@ var DefaultStreamTextResult = class {
7040
7275
  },
7041
7276
  "ai.response.toolCalls": {
7042
7277
  output: () => {
7043
- var _a22;
7044
- return ((_a22 = finalStep.toolCalls) == null ? void 0 : _a22.length) ? JSON.stringify(finalStep.toolCalls) : void 0;
7278
+ var _a23;
7279
+ return ((_a23 = finalStep.toolCalls) == null ? void 0 : _a23.length) ? JSON.stringify(finalStep.toolCalls) : void 0;
7045
7280
  }
7046
7281
  },
7047
7282
  "ai.response.providerMetadata": JSON.stringify(
7048
7283
  finalStep.providerMetadata
7049
7284
  ),
7050
7285
  "ai.usage.inputTokens": totalUsage.inputTokens,
7051
- "ai.usage.inputTokenDetails.noCacheTokens": (_a21 = totalUsage.inputTokenDetails) == null ? void 0 : _a21.noCacheTokens,
7286
+ "ai.usage.inputTokenDetails.noCacheTokens": (_a22 = totalUsage.inputTokenDetails) == null ? void 0 : _a22.noCacheTokens,
7052
7287
  "ai.usage.inputTokenDetails.cacheReadTokens": (_b = totalUsage.inputTokenDetails) == null ? void 0 : _b.cacheReadTokens,
7053
7288
  "ai.usage.inputTokenDetails.cacheWriteTokens": (_c = totalUsage.inputTokenDetails) == null ? void 0 : _c.cacheWriteTokens,
7054
7289
  "ai.usage.outputTokens": totalUsage.outputTokens,
@@ -7083,7 +7318,7 @@ var DefaultStreamTextResult = class {
7083
7318
  // The `reason` is usually of type DOMException, but it can also be of any type,
7084
7319
  // so we use getErrorMessage for serialization because it is already designed to accept values of the unknown type.
7085
7320
  // See: https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/reason
7086
- ...(abortSignal == null ? void 0 : abortSignal.reason) !== void 0 ? { reason: (0, import_provider28.getErrorMessage)(abortSignal.reason) } : {}
7321
+ ...(abortSignal == null ? void 0 : abortSignal.reason) !== void 0 ? { reason: (0, import_provider29.getErrorMessage)(abortSignal.reason) } : {}
7087
7322
  });
7088
7323
  controller.close();
7089
7324
  }
@@ -7099,7 +7334,7 @@ var DefaultStreamTextResult = class {
7099
7334
  }
7100
7335
  controller.enqueue(value);
7101
7336
  } catch (error) {
7102
- if ((0, import_provider_utils18.isAbortError)(error) && (abortSignal == null ? void 0 : abortSignal.aborted)) {
7337
+ if ((0, import_provider_utils20.isAbortError)(error) && (abortSignal == null ? void 0 : abortSignal.aborted)) {
7103
7338
  abort();
7104
7339
  } else {
7105
7340
  controller.error(error);
@@ -7199,12 +7434,24 @@ var DefaultStreamTextResult = class {
7199
7434
  const initialResponseMessages = [];
7200
7435
  const { approvedToolApprovals, deniedToolApprovals } = collectToolApprovals({ messages: initialMessages });
7201
7436
  if (deniedToolApprovals.length > 0 || approvedToolApprovals.length > 0) {
7202
- const localApprovedToolApprovals = approvedToolApprovals.filter(
7203
- (toolApproval) => !toolApproval.toolCall.providerExecuted
7204
- );
7205
- const localDeniedToolApprovals = deniedToolApprovals.filter(
7206
- (toolApproval) => !toolApproval.toolCall.providerExecuted
7207
- );
7437
+ const {
7438
+ approvedToolApprovals: localApprovedToolApprovals,
7439
+ deniedToolApprovals: revalidationDeniedToolApprovals
7440
+ } = await validateApprovedToolApprovals({
7441
+ approvedToolApprovals: approvedToolApprovals.filter(
7442
+ (toolApproval) => !toolApproval.toolCall.providerExecuted
7443
+ ),
7444
+ tools,
7445
+ messages: initialMessages,
7446
+ experimental_context,
7447
+ toolApprovalSecret: experimental_toolApprovalSecret
7448
+ });
7449
+ const localDeniedToolApprovals = [
7450
+ ...deniedToolApprovals.filter(
7451
+ (toolApproval) => !toolApproval.toolCall.providerExecuted
7452
+ ),
7453
+ ...revalidationDeniedToolApprovals
7454
+ ];
7208
7455
  const deniedProviderExecutedToolApprovals = deniedToolApprovals.filter(
7209
7456
  (toolApproval) => toolApproval.toolCall.providerExecuted
7210
7457
  );
@@ -7299,7 +7546,7 @@ var DefaultStreamTextResult = class {
7299
7546
  responseMessages,
7300
7547
  usage
7301
7548
  }) {
7302
- var _a21, _b, _c, _d, _e, _f, _g, _h, _i;
7549
+ var _a22, _b, _c, _d, _e, _f, _g, _h, _i;
7303
7550
  const includeRawChunks2 = self.includeRawChunks;
7304
7551
  const stepTimeoutId = stepTimeoutMs != null ? setTimeout(() => stepAbortController.abort(), stepTimeoutMs) : void 0;
7305
7552
  let chunkTimeoutId = void 0;
@@ -7326,7 +7573,7 @@ var DefaultStreamTextResult = class {
7326
7573
  }
7327
7574
  }
7328
7575
  try {
7329
- stepFinish = new import_provider_utils18.DelayedPromise();
7576
+ stepFinish = new import_provider_utils20.DelayedPromise();
7330
7577
  const stepInputMessages = [...initialMessages, ...responseMessages];
7331
7578
  const prepareStepResult = await (prepareStep == null ? void 0 : prepareStep({
7332
7579
  model,
@@ -7336,7 +7583,7 @@ var DefaultStreamTextResult = class {
7336
7583
  experimental_context
7337
7584
  }));
7338
7585
  const stepModel = resolveLanguageModel(
7339
- (_a21 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a21 : model
7586
+ (_a22 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a22 : model
7340
7587
  );
7341
7588
  const stepModelInfo = {
7342
7589
  provider: stepModel.provider,
@@ -7459,6 +7706,7 @@ var DefaultStreamTextResult = class {
7459
7706
  repairToolCall,
7460
7707
  abortSignal,
7461
7708
  experimental_context,
7709
+ toolApprovalSecret: experimental_toolApprovalSecret,
7462
7710
  generateId: generateId2,
7463
7711
  stepNumber: recordedSteps.length,
7464
7712
  model: stepModelInfo,
@@ -7493,7 +7741,7 @@ var DefaultStreamTextResult = class {
7493
7741
  streamWithToolResults.pipeThrough(
7494
7742
  new TransformStream({
7495
7743
  async transform(chunk, controller) {
7496
- var _a22, _b2, _c2, _d2, _e2;
7744
+ var _a23, _b2, _c2, _d2, _e2;
7497
7745
  resetChunkTimeout();
7498
7746
  if (chunk.type === "stream-start") {
7499
7747
  warnings = chunk.warnings;
@@ -7570,7 +7818,7 @@ var DefaultStreamTextResult = class {
7570
7818
  }
7571
7819
  case "response-metadata": {
7572
7820
  stepResponse = {
7573
- id: (_a22 = chunk.id) != null ? _a22 : stepResponse.id,
7821
+ id: (_a23 = chunk.id) != null ? _a23 : stepResponse.id,
7574
7822
  timestamp: (_b2 = chunk.timestamp) != null ? _b2 : stepResponse.timestamp,
7575
7823
  modelId: (_c2 = chunk.modelId) != null ? _c2 : stepResponse.modelId
7576
7824
  };
@@ -7658,7 +7906,7 @@ var DefaultStreamTextResult = class {
7658
7906
  },
7659
7907
  // invoke onFinish callback and resolve toolResults promise when the stream is about to close:
7660
7908
  async flush(controller) {
7661
- var _a22, _b2, _c2, _d2, _e2, _f2, _g2;
7909
+ var _a23, _b2, _c2, _d2, _e2, _f2, _g2;
7662
7910
  if (!hasReceivedTerminalChunk && !hasReceivedOutputChunk) {
7663
7911
  controller.enqueue({
7664
7912
  type: "error",
@@ -7686,7 +7934,7 @@ var DefaultStreamTextResult = class {
7686
7934
  "ai.response.model": stepResponse.modelId,
7687
7935
  "ai.response.timestamp": stepResponse.timestamp.toISOString(),
7688
7936
  "ai.usage.inputTokens": stepUsage.inputTokens,
7689
- "ai.usage.inputTokenDetails.noCacheTokens": (_a22 = stepUsage.inputTokenDetails) == null ? void 0 : _a22.noCacheTokens,
7937
+ "ai.usage.inputTokenDetails.noCacheTokens": (_a23 = stepUsage.inputTokenDetails) == null ? void 0 : _a23.noCacheTokens,
7690
7938
  "ai.usage.inputTokenDetails.cacheReadTokens": (_b2 = stepUsage.inputTokenDetails) == null ? void 0 : _b2.cacheReadTokens,
7691
7939
  "ai.usage.inputTokenDetails.cacheWriteTokens": (_c2 = stepUsage.inputTokenDetails) == null ? void 0 : _c2.cacheWriteTokens,
7692
7940
  "ai.usage.outputTokens": stepUsage.outputTokens,
@@ -7960,19 +8208,19 @@ var DefaultStreamTextResult = class {
7960
8208
  this._steps.reject(error);
7961
8209
  }
7962
8210
  async consumeStream(options) {
7963
- var _a21;
8211
+ var _a22;
7964
8212
  try {
7965
8213
  await consumeStream({
7966
8214
  stream: this.fullStream,
7967
8215
  onError: (error) => {
7968
- var _a22;
8216
+ var _a23;
7969
8217
  this.rejectResultPromises(error);
7970
- (_a22 = options == null ? void 0 : options.onError) == null ? void 0 : _a22.call(options, error);
8218
+ (_a23 = options == null ? void 0 : options.onError) == null ? void 0 : _a23.call(options, error);
7971
8219
  }
7972
8220
  });
7973
8221
  } catch (error) {
7974
8222
  this.rejectResultPromises(error);
7975
- (_a21 = options == null ? void 0 : options.onError) == null ? void 0 : _a21.call(options, error);
8223
+ (_a22 = options == null ? void 0 : options.onError) == null ? void 0 : _a22.call(options, error);
7976
8224
  }
7977
8225
  }
7978
8226
  get experimental_partialOutputStream() {
@@ -7992,10 +8240,10 @@ var DefaultStreamTextResult = class {
7992
8240
  );
7993
8241
  }
7994
8242
  get elementStream() {
7995
- var _a21, _b, _c;
7996
- const transform = (_a21 = this.outputSpecification) == null ? void 0 : _a21.createElementStreamTransform();
8243
+ var _a22, _b, _c;
8244
+ const transform = (_a22 = this.outputSpecification) == null ? void 0 : _a22.createElementStreamTransform();
7997
8245
  if (transform == null) {
7998
- throw new import_provider28.UnsupportedFunctionalityError({
8246
+ throw new import_provider29.UnsupportedFunctionalityError({
7999
8247
  functionality: `element streams in ${(_c = (_b = this.outputSpecification) == null ? void 0 : _b.name) != null ? _c : "text"} mode`
8000
8248
  });
8001
8249
  }
@@ -8003,8 +8251,8 @@ var DefaultStreamTextResult = class {
8003
8251
  }
8004
8252
  get output() {
8005
8253
  return this.finalStep.then((step) => {
8006
- var _a21;
8007
- const output = (_a21 = this.outputSpecification) != null ? _a21 : text();
8254
+ var _a22;
8255
+ const output = (_a22 = this.outputSpecification) != null ? _a22 : text();
8008
8256
  return output.parseCompleteOutput(
8009
8257
  { text: step.text },
8010
8258
  {
@@ -8024,15 +8272,15 @@ var DefaultStreamTextResult = class {
8024
8272
  sendSources = false,
8025
8273
  sendStart = true,
8026
8274
  sendFinish = true,
8027
- onError = import_provider28.getErrorMessage
8275
+ onError = import_provider29.getErrorMessage
8028
8276
  } = {}) {
8029
8277
  const responseMessageId = generateMessageId != null ? getResponseUIMessageId({
8030
8278
  originalMessages,
8031
8279
  responseMessageId: generateMessageId
8032
8280
  }) : void 0;
8033
8281
  const isDynamic = (part) => {
8034
- var _a21;
8035
- const tool2 = (_a21 = this.tools) == null ? void 0 : _a21[part.toolName];
8282
+ var _a22;
8283
+ const tool2 = (_a22 = this.tools) == null ? void 0 : _a22[part.toolName];
8036
8284
  if (tool2 == null) {
8037
8285
  return part.dynamic;
8038
8286
  }
@@ -8178,7 +8426,8 @@ var DefaultStreamTextResult = class {
8178
8426
  controller.enqueue({
8179
8427
  type: "tool-approval-request",
8180
8428
  approvalId: part.approvalId,
8181
- toolCallId: part.toolCall.toolCallId
8429
+ toolCallId: part.toolCall.toolCallId,
8430
+ ...part.signature != null ? { signature: part.signature } : {}
8182
8431
  });
8183
8432
  break;
8184
8433
  }
@@ -8374,9 +8623,9 @@ var ToolLoopAgent = class {
8374
8623
  return this.settings.tools;
8375
8624
  }
8376
8625
  async prepareCall(options) {
8377
- var _a21, _b, _c, _d;
8626
+ var _a22, _b, _c, _d;
8378
8627
  if (this.settings.callOptionsSchema != null && options.options !== void 0) {
8379
- const validatedOptions = await (0, import_provider_utils19.validateTypes)({
8628
+ const validatedOptions = await (0, import_provider_utils21.validateTypes)({
8380
8629
  value: options.options,
8381
8630
  schema: this.settings.callOptionsSchema,
8382
8631
  context: { field: "options" }
@@ -8386,7 +8635,7 @@ var ToolLoopAgent = class {
8386
8635
  const { onStepFinish: _settingsOnStepFinish, ...settingsWithoutCallback } = this.settings;
8387
8636
  const baseCallArgs = {
8388
8637
  ...settingsWithoutCallback,
8389
- stopWhen: (_a21 = this.settings.stopWhen) != null ? _a21 : stepCountIs(20),
8638
+ stopWhen: (_a22 = this.settings.stopWhen) != null ? _a22 : stepCountIs(20),
8390
8639
  ...options
8391
8640
  };
8392
8641
  const preparedCallArgs = (_d = await ((_c = (_b = this.settings).prepareCall) == null ? void 0 : _c.call(
@@ -8458,14 +8707,14 @@ var ToolLoopAgent = class {
8458
8707
  };
8459
8708
 
8460
8709
  // src/ui-message-stream/create-ui-message-stream.ts
8461
- var import_provider_utils20 = require("@ai-sdk/provider-utils");
8710
+ var import_provider_utils22 = require("@ai-sdk/provider-utils");
8462
8711
  function createUIMessageStream({
8463
8712
  execute,
8464
- onError = import_provider_utils20.getErrorMessage,
8713
+ onError = import_provider_utils22.getErrorMessage,
8465
8714
  originalMessages,
8466
8715
  onStepFinish,
8467
8716
  onFinish,
8468
- generateId: generateId2 = import_provider_utils20.generateId
8717
+ generateId: generateId2 = import_provider_utils22.generateId
8469
8718
  }) {
8470
8719
  let controller;
8471
8720
  const ongoingStreamPromises = [];
@@ -8552,7 +8801,7 @@ function readUIMessageStream({
8552
8801
  onError,
8553
8802
  terminateOnError = false
8554
8803
  }) {
8555
- var _a21;
8804
+ var _a22;
8556
8805
  let controller;
8557
8806
  let hasErrored = false;
8558
8807
  const outputStream = new ReadableStream({
@@ -8561,7 +8810,7 @@ function readUIMessageStream({
8561
8810
  }
8562
8811
  });
8563
8812
  const state = createStreamingUIMessageState({
8564
- messageId: (_a21 = message == null ? void 0 : message.id) != null ? _a21 : "",
8813
+ messageId: (_a22 = message == null ? void 0 : message.id) != null ? _a22 : "",
8565
8814
  lastMessage: message
8566
8815
  });
8567
8816
  const handleError = (error) => {
@@ -8594,7 +8843,7 @@ function readUIMessageStream({
8594
8843
  }
8595
8844
 
8596
8845
  // src/ui/convert-to-model-messages.ts
8597
- var import_provider_utils21 = require("@ai-sdk/provider-utils");
8846
+ var import_provider_utils23 = require("@ai-sdk/provider-utils");
8598
8847
  async function convertToModelMessages(messages, options) {
8599
8848
  const modelMessages = [];
8600
8849
  if (options == null ? void 0 : options.ignoreIncompleteToolCalls) {
@@ -8628,7 +8877,7 @@ async function convertToModelMessages(messages, options) {
8628
8877
  modelMessages.push({
8629
8878
  role: "user",
8630
8879
  content: message.parts.map((part) => {
8631
- var _a21;
8880
+ var _a22;
8632
8881
  if (isTextUIPart(part)) {
8633
8882
  return {
8634
8883
  type: "text",
@@ -8646,12 +8895,12 @@ async function convertToModelMessages(messages, options) {
8646
8895
  };
8647
8896
  }
8648
8897
  if (isDataUIPart(part)) {
8649
- return (_a21 = options == null ? void 0 : options.convertDataPart) == null ? void 0 : _a21.call(
8898
+ return (_a22 = options == null ? void 0 : options.convertDataPart) == null ? void 0 : _a22.call(
8650
8899
  options,
8651
8900
  part
8652
8901
  );
8653
8902
  }
8654
- }).filter(import_provider_utils21.isNonNullable)
8903
+ }).filter(import_provider_utils23.isNonNullable)
8655
8904
  });
8656
8905
  break;
8657
8906
  }
@@ -8659,7 +8908,7 @@ async function convertToModelMessages(messages, options) {
8659
8908
  if (message.parts != null) {
8660
8909
  let block = [];
8661
8910
  async function processBlock() {
8662
- var _a21, _b, _c, _d, _e, _f, _g, _h;
8911
+ var _a22, _b, _c, _d, _e, _f, _g, _h;
8663
8912
  if (block.length === 0) {
8664
8913
  return;
8665
8914
  }
@@ -8692,7 +8941,7 @@ async function convertToModelMessages(messages, options) {
8692
8941
  type: "tool-call",
8693
8942
  toolCallId: part.toolCallId,
8694
8943
  toolName,
8695
- input: part.state === "output-error" ? (_a21 = part.input) != null ? _a21 : "rawInput" in part ? part.rawInput : void 0 : part.input,
8944
+ input: part.state === "output-error" ? (_a22 = part.input) != null ? _a22 : "rawInput" in part ? part.rawInput : void 0 : part.input,
8696
8945
  providerExecuted: part.providerExecuted,
8697
8946
  ...part.callProviderMetadata != null ? { providerOptions: part.callProviderMetadata } : {}
8698
8947
  });
@@ -8700,7 +8949,8 @@ async function convertToModelMessages(messages, options) {
8700
8949
  content.push({
8701
8950
  type: "tool-approval-request",
8702
8951
  approvalId: part.approval.id,
8703
- toolCallId: part.toolCallId
8952
+ toolCallId: part.toolCallId,
8953
+ ...part.approval.signature != null ? { signature: part.approval.signature } : {}
8704
8954
  });
8705
8955
  }
8706
8956
  if (part.providerExecuted === true && part.state !== "approval-responded" && (part.state === "output-available" || part.state === "output-error")) {
@@ -8739,8 +8989,8 @@ async function convertToModelMessages(messages, options) {
8739
8989
  });
8740
8990
  const toolParts = block.filter(
8741
8991
  (part) => {
8742
- var _a22;
8743
- return isToolUIPart(part) && (part.providerExecuted !== true || ((_a22 = part.approval) == null ? void 0 : _a22.approved) != null);
8992
+ var _a23;
8993
+ return isToolUIPart(part) && (part.providerExecuted !== true || ((_a23 = part.approval) == null ? void 0 : _a23.approved) != null);
8744
8994
  }
8745
8995
  );
8746
8996
  if (toolParts.length > 0) {
@@ -8828,15 +9078,15 @@ async function convertToModelMessages(messages, options) {
8828
9078
  }
8829
9079
 
8830
9080
  // src/ui/validate-ui-messages.ts
8831
- var import_provider29 = require("@ai-sdk/provider");
8832
- var import_provider_utils22 = require("@ai-sdk/provider-utils");
9081
+ var import_provider30 = require("@ai-sdk/provider");
9082
+ var import_provider_utils24 = require("@ai-sdk/provider-utils");
8833
9083
  var import_v48 = require("zod/v4");
8834
9084
  var toolMetadataSchema2 = import_v48.z.record(
8835
9085
  import_v48.z.string(),
8836
9086
  jsonValueSchema.optional()
8837
9087
  );
8838
- var uiMessagesSchema = (0, import_provider_utils22.lazySchema)(
8839
- () => (0, import_provider_utils22.zodSchema)(
9088
+ var uiMessagesSchema = (0, import_provider_utils24.lazySchema)(
9089
+ () => (0, import_provider_utils24.zodSchema)(
8840
9090
  import_v48.z.array(
8841
9091
  import_v48.z.object({
8842
9092
  id: import_v48.z.string(),
@@ -8926,7 +9176,8 @@ var uiMessagesSchema = (0, import_provider_utils22.lazySchema)(
8926
9176
  approval: import_v48.z.object({
8927
9177
  id: import_v48.z.string(),
8928
9178
  approved: import_v48.z.never().optional(),
8929
- reason: import_v48.z.never().optional()
9179
+ reason: import_v48.z.never().optional(),
9180
+ signature: import_v48.z.string().optional()
8930
9181
  })
8931
9182
  }),
8932
9183
  import_v48.z.object({
@@ -8943,7 +9194,8 @@ var uiMessagesSchema = (0, import_provider_utils22.lazySchema)(
8943
9194
  approval: import_v48.z.object({
8944
9195
  id: import_v48.z.string(),
8945
9196
  approved: import_v48.z.boolean(),
8946
- reason: import_v48.z.string().optional()
9197
+ reason: import_v48.z.string().optional(),
9198
+ signature: import_v48.z.string().optional()
8947
9199
  })
8948
9200
  }),
8949
9201
  import_v48.z.object({
@@ -8962,7 +9214,8 @@ var uiMessagesSchema = (0, import_provider_utils22.lazySchema)(
8962
9214
  approval: import_v48.z.object({
8963
9215
  id: import_v48.z.string(),
8964
9216
  approved: import_v48.z.literal(true),
8965
- reason: import_v48.z.string().optional()
9217
+ reason: import_v48.z.string().optional(),
9218
+ signature: import_v48.z.string().optional()
8966
9219
  }).optional()
8967
9220
  }),
8968
9221
  import_v48.z.object({
@@ -8981,7 +9234,8 @@ var uiMessagesSchema = (0, import_provider_utils22.lazySchema)(
8981
9234
  approval: import_v48.z.object({
8982
9235
  id: import_v48.z.string(),
8983
9236
  approved: import_v48.z.literal(true),
8984
- reason: import_v48.z.string().optional()
9237
+ reason: import_v48.z.string().optional(),
9238
+ signature: import_v48.z.string().optional()
8985
9239
  }).optional()
8986
9240
  }),
8987
9241
  import_v48.z.object({
@@ -8998,7 +9252,8 @@ var uiMessagesSchema = (0, import_provider_utils22.lazySchema)(
8998
9252
  approval: import_v48.z.object({
8999
9253
  id: import_v48.z.string(),
9000
9254
  approved: import_v48.z.literal(false),
9001
- reason: import_v48.z.string().optional()
9255
+ reason: import_v48.z.string().optional(),
9256
+ signature: import_v48.z.string().optional()
9002
9257
  })
9003
9258
  }),
9004
9259
  import_v48.z.object({
@@ -9038,7 +9293,8 @@ var uiMessagesSchema = (0, import_provider_utils22.lazySchema)(
9038
9293
  approval: import_v48.z.object({
9039
9294
  id: import_v48.z.string(),
9040
9295
  approved: import_v48.z.never().optional(),
9041
- reason: import_v48.z.never().optional()
9296
+ reason: import_v48.z.never().optional(),
9297
+ signature: import_v48.z.string().optional()
9042
9298
  })
9043
9299
  }),
9044
9300
  import_v48.z.object({
@@ -9054,7 +9310,8 @@ var uiMessagesSchema = (0, import_provider_utils22.lazySchema)(
9054
9310
  approval: import_v48.z.object({
9055
9311
  id: import_v48.z.string(),
9056
9312
  approved: import_v48.z.boolean(),
9057
- reason: import_v48.z.string().optional()
9313
+ reason: import_v48.z.string().optional(),
9314
+ signature: import_v48.z.string().optional()
9058
9315
  })
9059
9316
  }),
9060
9317
  import_v48.z.object({
@@ -9072,7 +9329,8 @@ var uiMessagesSchema = (0, import_provider_utils22.lazySchema)(
9072
9329
  approval: import_v48.z.object({
9073
9330
  id: import_v48.z.string(),
9074
9331
  approved: import_v48.z.literal(true),
9075
- reason: import_v48.z.string().optional()
9332
+ reason: import_v48.z.string().optional(),
9333
+ signature: import_v48.z.string().optional()
9076
9334
  }).optional()
9077
9335
  }),
9078
9336
  import_v48.z.object({
@@ -9090,7 +9348,8 @@ var uiMessagesSchema = (0, import_provider_utils22.lazySchema)(
9090
9348
  approval: import_v48.z.object({
9091
9349
  id: import_v48.z.string(),
9092
9350
  approved: import_v48.z.literal(true),
9093
- reason: import_v48.z.string().optional()
9351
+ reason: import_v48.z.string().optional(),
9352
+ signature: import_v48.z.string().optional()
9094
9353
  }).optional()
9095
9354
  }),
9096
9355
  import_v48.z.object({
@@ -9106,7 +9365,8 @@ var uiMessagesSchema = (0, import_provider_utils22.lazySchema)(
9106
9365
  approval: import_v48.z.object({
9107
9366
  id: import_v48.z.string(),
9108
9367
  approved: import_v48.z.literal(false),
9109
- reason: import_v48.z.string().optional()
9368
+ reason: import_v48.z.string().optional(),
9369
+ signature: import_v48.z.string().optional()
9110
9370
  })
9111
9371
  })
9112
9372
  ])
@@ -9132,13 +9392,13 @@ async function safeValidateUIMessages({
9132
9392
  })
9133
9393
  };
9134
9394
  }
9135
- const validatedMessages = await (0, import_provider_utils22.validateTypes)({
9395
+ const validatedMessages = await (0, import_provider_utils24.validateTypes)({
9136
9396
  value: messages,
9137
9397
  schema: uiMessagesSchema
9138
9398
  });
9139
9399
  if (metadataSchema) {
9140
9400
  for (const [msgIdx, message] of validatedMessages.entries()) {
9141
- await (0, import_provider_utils22.validateTypes)({
9401
+ await (0, import_provider_utils24.validateTypes)({
9142
9402
  value: message.metadata,
9143
9403
  schema: metadataSchema,
9144
9404
  context: {
@@ -9158,7 +9418,7 @@ async function safeValidateUIMessages({
9158
9418
  if (!dataSchema) {
9159
9419
  return {
9160
9420
  success: false,
9161
- error: new import_provider29.TypeValidationError({
9421
+ error: new import_provider30.TypeValidationError({
9162
9422
  value: dataPart.data,
9163
9423
  cause: `No data schema found for data part ${dataName}`,
9164
9424
  context: {
@@ -9169,7 +9429,7 @@ async function safeValidateUIMessages({
9169
9429
  })
9170
9430
  };
9171
9431
  }
9172
- await (0, import_provider_utils22.validateTypes)({
9432
+ await (0, import_provider_utils24.validateTypes)({
9173
9433
  value: dataPart.data,
9174
9434
  schema: dataSchema,
9175
9435
  context: {
@@ -9189,7 +9449,7 @@ async function safeValidateUIMessages({
9189
9449
  if (!tool2) {
9190
9450
  return {
9191
9451
  success: false,
9192
- error: new import_provider29.TypeValidationError({
9452
+ error: new import_provider30.TypeValidationError({
9193
9453
  value: toolPart.input,
9194
9454
  cause: `No tool schema found for tool part ${toolName}`,
9195
9455
  context: {
@@ -9201,7 +9461,7 @@ async function safeValidateUIMessages({
9201
9461
  };
9202
9462
  }
9203
9463
  if (toolPart.state === "input-available" || toolPart.state === "output-available") {
9204
- await (0, import_provider_utils22.validateTypes)({
9464
+ await (0, import_provider_utils24.validateTypes)({
9205
9465
  value: toolPart.input,
9206
9466
  schema: tool2.inputSchema,
9207
9467
  context: {
@@ -9212,7 +9472,7 @@ async function safeValidateUIMessages({
9212
9472
  });
9213
9473
  }
9214
9474
  if (toolPart.state === "output-available" && tool2.outputSchema) {
9215
- await (0, import_provider_utils22.validateTypes)({
9475
+ await (0, import_provider_utils24.validateTypes)({
9216
9476
  value: toolPart.output,
9217
9477
  schema: tool2.outputSchema,
9218
9478
  context: {
@@ -9266,7 +9526,7 @@ async function createAgentUIStream({
9266
9526
  onStepFinish,
9267
9527
  ...uiMessageStreamOptions
9268
9528
  }) {
9269
- var _a21;
9529
+ var _a22;
9270
9530
  const validatedMessages = await validateUIMessages({
9271
9531
  messages: uiMessages,
9272
9532
  tools: agent.tools
@@ -9285,7 +9545,7 @@ async function createAgentUIStream({
9285
9545
  return result.toUIMessageStream({
9286
9546
  ...uiMessageStreamOptions,
9287
9547
  // TODO reading `originalMessages` is here for bc, always use `validatedMessages` in v7
9288
- originalMessages: (_a21 = uiMessageStreamOptions.originalMessages) != null ? _a21 : validatedMessages
9548
+ originalMessages: (_a22 = uiMessageStreamOptions.originalMessages) != null ? _a22 : validatedMessages
9289
9549
  });
9290
9550
  }
9291
9551
 
@@ -9326,7 +9586,7 @@ async function pipeAgentUIStreamToResponse({
9326
9586
  }
9327
9587
 
9328
9588
  // src/embed/embed.ts
9329
- var import_provider_utils23 = require("@ai-sdk/provider-utils");
9589
+ var import_provider_utils25 = require("@ai-sdk/provider-utils");
9330
9590
  async function embed({
9331
9591
  model: modelArg,
9332
9592
  value,
@@ -9341,7 +9601,7 @@ async function embed({
9341
9601
  maxRetries: maxRetriesArg,
9342
9602
  abortSignal
9343
9603
  });
9344
- const headersWithUserAgent = (0, import_provider_utils23.withUserAgentSuffix)(
9604
+ const headersWithUserAgent = (0, import_provider_utils25.withUserAgentSuffix)(
9345
9605
  headers != null ? headers : {},
9346
9606
  `ai/${VERSION}`
9347
9607
  );
@@ -9383,7 +9643,7 @@ async function embed({
9383
9643
  }),
9384
9644
  tracer,
9385
9645
  fn: async (doEmbedSpan) => {
9386
- var _a21, _b;
9646
+ var _a22, _b;
9387
9647
  const modelResponse = await model.doEmbed({
9388
9648
  values: [value],
9389
9649
  abortSignal,
@@ -9391,7 +9651,7 @@ async function embed({
9391
9651
  providerOptions
9392
9652
  });
9393
9653
  const embedding2 = modelResponse.embeddings[0];
9394
- const usage2 = (_a21 = modelResponse.usage) != null ? _a21 : { tokens: NaN };
9654
+ const usage2 = (_a22 = modelResponse.usage) != null ? _a22 : { tokens: NaN };
9395
9655
  doEmbedSpan.setAttributes(
9396
9656
  await selectTelemetryAttributes({
9397
9657
  telemetry,
@@ -9449,7 +9709,7 @@ var DefaultEmbedResult = class {
9449
9709
  };
9450
9710
 
9451
9711
  // src/embed/embed-many.ts
9452
- var import_provider_utils24 = require("@ai-sdk/provider-utils");
9712
+ var import_provider_utils26 = require("@ai-sdk/provider-utils");
9453
9713
 
9454
9714
  // src/util/split-array.ts
9455
9715
  function splitArray(array2, chunkSize) {
@@ -9479,7 +9739,7 @@ async function embedMany({
9479
9739
  maxRetries: maxRetriesArg,
9480
9740
  abortSignal
9481
9741
  });
9482
- const headersWithUserAgent = (0, import_provider_utils24.withUserAgentSuffix)(
9742
+ const headersWithUserAgent = (0, import_provider_utils26.withUserAgentSuffix)(
9483
9743
  headers != null ? headers : {},
9484
9744
  `ai/${VERSION}`
9485
9745
  );
@@ -9505,7 +9765,7 @@ async function embedMany({
9505
9765
  }),
9506
9766
  tracer,
9507
9767
  fn: async (span) => {
9508
- var _a21;
9768
+ var _a22;
9509
9769
  const [maxEmbeddingsPerCall, supportsParallelCalls] = await Promise.all([
9510
9770
  model.maxEmbeddingsPerCall,
9511
9771
  model.supportsParallelCalls
@@ -9530,7 +9790,7 @@ async function embedMany({
9530
9790
  }),
9531
9791
  tracer,
9532
9792
  fn: async (doEmbedSpan) => {
9533
- var _a22, _b;
9793
+ var _a23, _b;
9534
9794
  const modelResponse = await model.doEmbed({
9535
9795
  values,
9536
9796
  abortSignal,
@@ -9538,7 +9798,7 @@ async function embedMany({
9538
9798
  providerOptions
9539
9799
  });
9540
9800
  const embeddings3 = modelResponse.embeddings;
9541
- const usage2 = (_a22 = modelResponse.usage) != null ? _a22 : { tokens: NaN };
9801
+ const usage2 = (_a23 = modelResponse.usage) != null ? _a23 : { tokens: NaN };
9542
9802
  doEmbedSpan.setAttributes(
9543
9803
  await selectTelemetryAttributes({
9544
9804
  telemetry,
@@ -9619,7 +9879,7 @@ async function embedMany({
9619
9879
  }),
9620
9880
  tracer,
9621
9881
  fn: async (doEmbedSpan) => {
9622
- var _a22, _b;
9882
+ var _a23, _b;
9623
9883
  const modelResponse = await model.doEmbed({
9624
9884
  values: chunk,
9625
9885
  abortSignal,
@@ -9627,7 +9887,7 @@ async function embedMany({
9627
9887
  providerOptions
9628
9888
  });
9629
9889
  const embeddings2 = modelResponse.embeddings;
9630
- const usage = (_a22 = modelResponse.usage) != null ? _a22 : { tokens: NaN };
9890
+ const usage = (_a23 = modelResponse.usage) != null ? _a23 : { tokens: NaN };
9631
9891
  doEmbedSpan.setAttributes(
9632
9892
  await selectTelemetryAttributes({
9633
9893
  telemetry,
@@ -9666,7 +9926,7 @@ async function embedMany({
9666
9926
  result.providerMetadata
9667
9927
  )) {
9668
9928
  providerMetadata[providerName] = {
9669
- ...(_a21 = providerMetadata[providerName]) != null ? _a21 : {},
9929
+ ...(_a22 = providerMetadata[providerName]) != null ? _a22 : {},
9670
9930
  ...metadata
9671
9931
  };
9672
9932
  }
@@ -9713,7 +9973,7 @@ var DefaultEmbedManyResult = class {
9713
9973
  };
9714
9974
 
9715
9975
  // src/generate-image/generate-image.ts
9716
- var import_provider_utils25 = require("@ai-sdk/provider-utils");
9976
+ var import_provider_utils27 = require("@ai-sdk/provider-utils");
9717
9977
  async function generateImage({
9718
9978
  model: modelArg,
9719
9979
  prompt: promptArg,
@@ -9727,9 +9987,9 @@ async function generateImage({
9727
9987
  abortSignal,
9728
9988
  headers
9729
9989
  }) {
9730
- var _a21, _b;
9990
+ var _a22, _b;
9731
9991
  const model = resolveImageModel(modelArg);
9732
- const headersWithUserAgent = (0, import_provider_utils25.withUserAgentSuffix)(
9992
+ const headersWithUserAgent = (0, import_provider_utils27.withUserAgentSuffix)(
9733
9993
  headers != null ? headers : {},
9734
9994
  `ai/${VERSION}`
9735
9995
  );
@@ -9737,7 +9997,7 @@ async function generateImage({
9737
9997
  maxRetries: maxRetriesArg,
9738
9998
  abortSignal
9739
9999
  });
9740
- const maxImagesPerCallWithDefault = (_a21 = maxImagesPerCall != null ? maxImagesPerCall : await invokeModelMaxImagesPerCall(model)) != null ? _a21 : 1;
10000
+ const maxImagesPerCallWithDefault = (_a22 = maxImagesPerCall != null ? maxImagesPerCall : await invokeModelMaxImagesPerCall(model)) != null ? _a22 : 1;
9741
10001
  const callCount = Math.ceil(n / maxImagesPerCallWithDefault);
9742
10002
  const callImageCounts = Array.from({ length: callCount }, (_, i) => {
9743
10003
  if (i < callCount - 1) {
@@ -9778,13 +10038,13 @@ async function generateImage({
9778
10038
  images.push(
9779
10039
  ...result.images.map(
9780
10040
  (image) => {
9781
- var _a22;
10041
+ var _a23;
9782
10042
  return new DefaultGeneratedFile({
9783
10043
  data: image,
9784
- mediaType: (_a22 = detectMediaType({
10044
+ mediaType: (_a23 = detectMediaType({
9785
10045
  data: image,
9786
10046
  signatures: imageMediaTypeSignatures
9787
- })) != null ? _a22 : "image/png"
10047
+ })) != null ? _a23 : "image/png"
9788
10048
  });
9789
10049
  }
9790
10050
  )
@@ -9872,7 +10132,7 @@ function toImageModelV3File(dataContent) {
9872
10132
  if (typeof dataContent === "string" && dataContent.startsWith("data:")) {
9873
10133
  const { mediaType: dataUrlMediaType, base64Content } = splitDataUrl(dataContent);
9874
10134
  if (base64Content != null) {
9875
- const uint8Data2 = (0, import_provider_utils25.convertBase64ToUint8Array)(base64Content);
10135
+ const uint8Data2 = (0, import_provider_utils27.convertBase64ToUint8Array)(base64Content);
9876
10136
  return {
9877
10137
  type: "file",
9878
10138
  data: uint8Data2,
@@ -9898,11 +10158,11 @@ function toImageModelV3File(dataContent) {
9898
10158
  var experimental_generateImage = generateImage;
9899
10159
 
9900
10160
  // src/generate-object/generate-object.ts
9901
- var import_provider_utils28 = require("@ai-sdk/provider-utils");
10161
+ var import_provider_utils30 = require("@ai-sdk/provider-utils");
9902
10162
 
9903
10163
  // src/generate-object/output-strategy.ts
9904
- var import_provider30 = require("@ai-sdk/provider");
9905
- var import_provider_utils26 = require("@ai-sdk/provider-utils");
10164
+ var import_provider31 = require("@ai-sdk/provider");
10165
+ var import_provider_utils28 = require("@ai-sdk/provider-utils");
9906
10166
  var noSchemaOutputStrategy = {
9907
10167
  type: "no-schema",
9908
10168
  jsonSchema: async () => void 0,
@@ -9922,7 +10182,7 @@ var noSchemaOutputStrategy = {
9922
10182
  } : { success: true, value };
9923
10183
  },
9924
10184
  createElementStream() {
9925
- throw new import_provider30.UnsupportedFunctionalityError({
10185
+ throw new import_provider31.UnsupportedFunctionalityError({
9926
10186
  functionality: "element streams in no-schema mode"
9927
10187
  });
9928
10188
  }
@@ -9941,10 +10201,10 @@ var objectOutputStrategy = (schema) => ({
9941
10201
  };
9942
10202
  },
9943
10203
  async validateFinalResult(value) {
9944
- return (0, import_provider_utils26.safeValidateTypes)({ value, schema });
10204
+ return (0, import_provider_utils28.safeValidateTypes)({ value, schema });
9945
10205
  },
9946
10206
  createElementStream() {
9947
- throw new import_provider30.UnsupportedFunctionalityError({
10207
+ throw new import_provider31.UnsupportedFunctionalityError({
9948
10208
  functionality: "element streams in object mode"
9949
10209
  });
9950
10210
  }
@@ -9973,11 +10233,11 @@ var arrayOutputStrategy = (schema) => {
9973
10233
  isFirstDelta,
9974
10234
  isFinalDelta
9975
10235
  }) {
9976
- var _a21;
9977
- if (!(0, import_provider30.isJSONObject)(value) || !(0, import_provider30.isJSONArray)(value.elements)) {
10236
+ var _a22;
10237
+ if (!(0, import_provider31.isJSONObject)(value) || !(0, import_provider31.isJSONArray)(value.elements)) {
9978
10238
  return {
9979
10239
  success: false,
9980
- error: new import_provider30.TypeValidationError({
10240
+ error: new import_provider31.TypeValidationError({
9981
10241
  value,
9982
10242
  cause: "value must be an object that contains an array of elements"
9983
10243
  })
@@ -9987,7 +10247,7 @@ var arrayOutputStrategy = (schema) => {
9987
10247
  const resultArray = [];
9988
10248
  for (let i = 0; i < inputArray.length; i++) {
9989
10249
  const element = inputArray[i];
9990
- const result = await (0, import_provider_utils26.safeValidateTypes)({ value: element, schema });
10250
+ const result = await (0, import_provider_utils28.safeValidateTypes)({ value: element, schema });
9991
10251
  if (i === inputArray.length - 1 && !isFinalDelta) {
9992
10252
  continue;
9993
10253
  }
@@ -9996,7 +10256,7 @@ var arrayOutputStrategy = (schema) => {
9996
10256
  }
9997
10257
  resultArray.push(result.value);
9998
10258
  }
9999
- const publishedElementCount = (_a21 = latestObject == null ? void 0 : latestObject.length) != null ? _a21 : 0;
10259
+ const publishedElementCount = (_a22 = latestObject == null ? void 0 : latestObject.length) != null ? _a22 : 0;
10000
10260
  let textDelta = "";
10001
10261
  if (isFirstDelta) {
10002
10262
  textDelta += "[";
@@ -10017,10 +10277,10 @@ var arrayOutputStrategy = (schema) => {
10017
10277
  };
10018
10278
  },
10019
10279
  async validateFinalResult(value) {
10020
- if (!(0, import_provider30.isJSONObject)(value) || !(0, import_provider30.isJSONArray)(value.elements)) {
10280
+ if (!(0, import_provider31.isJSONObject)(value) || !(0, import_provider31.isJSONArray)(value.elements)) {
10021
10281
  return {
10022
10282
  success: false,
10023
- error: new import_provider30.TypeValidationError({
10283
+ error: new import_provider31.TypeValidationError({
10024
10284
  value,
10025
10285
  cause: "value must be an object that contains an array of elements"
10026
10286
  })
@@ -10029,7 +10289,7 @@ var arrayOutputStrategy = (schema) => {
10029
10289
  const inputArray = value.elements;
10030
10290
  const resultArray = [];
10031
10291
  for (const element of inputArray) {
10032
- const result = await (0, import_provider_utils26.safeValidateTypes)({ value: element, schema });
10292
+ const result = await (0, import_provider_utils28.safeValidateTypes)({ value: element, schema });
10033
10293
  if (!result.success) {
10034
10294
  return result;
10035
10295
  }
@@ -10085,10 +10345,10 @@ var enumOutputStrategy = (enumValues) => {
10085
10345
  additionalProperties: false
10086
10346
  }),
10087
10347
  async validateFinalResult(value) {
10088
- if (!(0, import_provider30.isJSONObject)(value) || typeof value.result !== "string") {
10348
+ if (!(0, import_provider31.isJSONObject)(value) || typeof value.result !== "string") {
10089
10349
  return {
10090
10350
  success: false,
10091
- error: new import_provider30.TypeValidationError({
10351
+ error: new import_provider31.TypeValidationError({
10092
10352
  value,
10093
10353
  cause: 'value must be an object that contains a string in the "result" property.'
10094
10354
  })
@@ -10097,17 +10357,17 @@ var enumOutputStrategy = (enumValues) => {
10097
10357
  const result = value.result;
10098
10358
  return enumValues.includes(result) ? { success: true, value: result } : {
10099
10359
  success: false,
10100
- error: new import_provider30.TypeValidationError({
10360
+ error: new import_provider31.TypeValidationError({
10101
10361
  value,
10102
10362
  cause: "value must be a string in the enum"
10103
10363
  })
10104
10364
  };
10105
10365
  },
10106
10366
  async validatePartialResult({ value, textDelta }) {
10107
- if (!(0, import_provider30.isJSONObject)(value) || typeof value.result !== "string") {
10367
+ if (!(0, import_provider31.isJSONObject)(value) || typeof value.result !== "string") {
10108
10368
  return {
10109
10369
  success: false,
10110
- error: new import_provider30.TypeValidationError({
10370
+ error: new import_provider31.TypeValidationError({
10111
10371
  value,
10112
10372
  cause: 'value must be an object that contains a string in the "result" property.'
10113
10373
  })
@@ -10120,7 +10380,7 @@ var enumOutputStrategy = (enumValues) => {
10120
10380
  if (value.result.length === 0 || possibleEnumValues.length === 0) {
10121
10381
  return {
10122
10382
  success: false,
10123
- error: new import_provider30.TypeValidationError({
10383
+ error: new import_provider31.TypeValidationError({
10124
10384
  value,
10125
10385
  cause: "value must be a string in the enum"
10126
10386
  })
@@ -10135,7 +10395,7 @@ var enumOutputStrategy = (enumValues) => {
10135
10395
  };
10136
10396
  },
10137
10397
  createElementStream() {
10138
- throw new import_provider30.UnsupportedFunctionalityError({
10398
+ throw new import_provider31.UnsupportedFunctionalityError({
10139
10399
  functionality: "element streams in enum mode"
10140
10400
  });
10141
10401
  }
@@ -10148,9 +10408,9 @@ function getOutputStrategy({
10148
10408
  }) {
10149
10409
  switch (output) {
10150
10410
  case "object":
10151
- return objectOutputStrategy((0, import_provider_utils26.asSchema)(schema));
10411
+ return objectOutputStrategy((0, import_provider_utils28.asSchema)(schema));
10152
10412
  case "array":
10153
- return arrayOutputStrategy((0, import_provider_utils26.asSchema)(schema));
10413
+ return arrayOutputStrategy((0, import_provider_utils28.asSchema)(schema));
10154
10414
  case "enum":
10155
10415
  return enumOutputStrategy(enumValues);
10156
10416
  case "no-schema":
@@ -10163,10 +10423,10 @@ function getOutputStrategy({
10163
10423
  }
10164
10424
 
10165
10425
  // src/generate-object/parse-and-validate-object-result.ts
10166
- var import_provider31 = require("@ai-sdk/provider");
10167
- var import_provider_utils27 = require("@ai-sdk/provider-utils");
10426
+ var import_provider32 = require("@ai-sdk/provider");
10427
+ var import_provider_utils29 = require("@ai-sdk/provider-utils");
10168
10428
  async function parseAndValidateObjectResult(result, outputStrategy, context2) {
10169
- const parseResult = await (0, import_provider_utils27.safeParseJSON)({ text: result });
10429
+ const parseResult = await (0, import_provider_utils29.safeParseJSON)({ text: result });
10170
10430
  if (!parseResult.success) {
10171
10431
  throw new NoObjectGeneratedError({
10172
10432
  message: "No object generated: could not parse the response.",
@@ -10201,7 +10461,7 @@ async function parseAndValidateObjectResultWithRepair(result, outputStrategy, re
10201
10461
  try {
10202
10462
  return await parseAndValidateObjectResult(result, outputStrategy, context2);
10203
10463
  } catch (error) {
10204
- if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider31.JSONParseError.isInstance(error.cause) || import_provider31.TypeValidationError.isInstance(error.cause))) {
10464
+ if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider32.JSONParseError.isInstance(error.cause) || import_provider32.TypeValidationError.isInstance(error.cause))) {
10205
10465
  const repairedText = await repairText({
10206
10466
  text: result,
10207
10467
  error: error.cause
@@ -10338,7 +10598,7 @@ function validateObjectGenerationInput({
10338
10598
  }
10339
10599
 
10340
10600
  // src/generate-object/generate-object.ts
10341
- var originalGenerateId3 = (0, import_provider_utils28.createIdGenerator)({ prefix: "aiobj", size: 24 });
10601
+ var originalGenerateId3 = (0, import_provider_utils30.createIdGenerator)({ prefix: "aiobj", size: 24 });
10342
10602
  async function generateObject(options) {
10343
10603
  const {
10344
10604
  model: modelArg,
@@ -10384,7 +10644,7 @@ async function generateObject(options) {
10384
10644
  enumValues
10385
10645
  });
10386
10646
  const callSettings = prepareCallSettings(settings);
10387
- const headersWithUserAgent = (0, import_provider_utils28.withUserAgentSuffix)(
10647
+ const headersWithUserAgent = (0, import_provider_utils30.withUserAgentSuffix)(
10388
10648
  headers != null ? headers : {},
10389
10649
  `ai/${VERSION}`
10390
10650
  );
@@ -10419,7 +10679,7 @@ async function generateObject(options) {
10419
10679
  }),
10420
10680
  tracer,
10421
10681
  fn: async (span) => {
10422
- var _a21;
10682
+ var _a22;
10423
10683
  let result;
10424
10684
  let finishReason;
10425
10685
  let usage;
@@ -10466,7 +10726,7 @@ async function generateObject(options) {
10466
10726
  }),
10467
10727
  tracer,
10468
10728
  fn: async (span2) => {
10469
- var _a22, _b, _c, _d, _e, _f, _g, _h;
10729
+ var _a23, _b, _c, _d, _e, _f, _g, _h;
10470
10730
  const result2 = await model.doGenerate({
10471
10731
  responseFormat: {
10472
10732
  type: "json",
@@ -10481,7 +10741,7 @@ async function generateObject(options) {
10481
10741
  headers: headersWithUserAgent
10482
10742
  });
10483
10743
  const responseData = {
10484
- id: (_b = (_a22 = result2.response) == null ? void 0 : _a22.id) != null ? _b : generateId2(),
10744
+ id: (_b = (_a23 = result2.response) == null ? void 0 : _a23.id) != null ? _b : generateId2(),
10485
10745
  timestamp: (_d = (_c = result2.response) == null ? void 0 : _c.timestamp) != null ? _d : currentDate(),
10486
10746
  modelId: (_f = (_e = result2.response) == null ? void 0 : _e.modelId) != null ? _f : model.modelId,
10487
10747
  headers: (_g = result2.response) == null ? void 0 : _g.headers,
@@ -10537,7 +10797,7 @@ async function generateObject(options) {
10537
10797
  usage = asLanguageModelUsage(generateResult.usage);
10538
10798
  warnings = generateResult.warnings;
10539
10799
  resultProviderMetadata = generateResult.providerMetadata;
10540
- request = (_a21 = generateResult.request) != null ? _a21 : {};
10800
+ request = (_a22 = generateResult.request) != null ? _a22 : {};
10541
10801
  response = generateResult.responseData;
10542
10802
  reasoning = generateResult.reasoning;
10543
10803
  logWarnings({
@@ -10600,9 +10860,9 @@ var DefaultGenerateObjectResult = class {
10600
10860
  this.reasoning = options.reasoning;
10601
10861
  }
10602
10862
  toJsonResponse(init) {
10603
- var _a21;
10863
+ var _a22;
10604
10864
  return new Response(JSON.stringify(this.object), {
10605
- status: (_a21 = init == null ? void 0 : init.status) != null ? _a21 : 200,
10865
+ status: (_a22 = init == null ? void 0 : init.status) != null ? _a22 : 200,
10606
10866
  headers: prepareHeaders(init == null ? void 0 : init.headers, {
10607
10867
  "content-type": "application/json; charset=utf-8"
10608
10868
  })
@@ -10611,7 +10871,7 @@ var DefaultGenerateObjectResult = class {
10611
10871
  };
10612
10872
 
10613
10873
  // src/generate-object/stream-object.ts
10614
- var import_provider_utils30 = require("@ai-sdk/provider-utils");
10874
+ var import_provider_utils32 = require("@ai-sdk/provider-utils");
10615
10875
 
10616
10876
  // src/util/cosine-similarity.ts
10617
10877
  function cosineSimilarity(vector1, vector2) {
@@ -10726,15 +10986,15 @@ var SerialJobExecutor = class {
10726
10986
  };
10727
10987
 
10728
10988
  // src/util/simulate-readable-stream.ts
10729
- var import_provider_utils29 = require("@ai-sdk/provider-utils");
10989
+ var import_provider_utils31 = require("@ai-sdk/provider-utils");
10730
10990
  function simulateReadableStream({
10731
10991
  chunks,
10732
10992
  initialDelayInMs = 0,
10733
10993
  chunkDelayInMs = 0,
10734
10994
  _internal
10735
10995
  }) {
10736
- var _a21;
10737
- const delay2 = (_a21 = _internal == null ? void 0 : _internal.delay) != null ? _a21 : import_provider_utils29.delay;
10996
+ var _a22;
10997
+ const delay2 = (_a22 = _internal == null ? void 0 : _internal.delay) != null ? _a22 : import_provider_utils31.delay;
10738
10998
  let index = 0;
10739
10999
  return new ReadableStream({
10740
11000
  async pull(controller) {
@@ -10749,7 +11009,7 @@ function simulateReadableStream({
10749
11009
  }
10750
11010
 
10751
11011
  // src/generate-object/stream-object.ts
10752
- var originalGenerateId4 = (0, import_provider_utils30.createIdGenerator)({ prefix: "aiobj", size: 24 });
11012
+ var originalGenerateId4 = (0, import_provider_utils32.createIdGenerator)({ prefix: "aiobj", size: 24 });
10753
11013
  function streamObject(options) {
10754
11014
  const {
10755
11015
  model,
@@ -10842,13 +11102,13 @@ var DefaultStreamObjectResult = class {
10842
11102
  currentDate,
10843
11103
  now: now2
10844
11104
  }) {
10845
- this._object = new import_provider_utils30.DelayedPromise();
10846
- this._usage = new import_provider_utils30.DelayedPromise();
10847
- this._providerMetadata = new import_provider_utils30.DelayedPromise();
10848
- this._warnings = new import_provider_utils30.DelayedPromise();
10849
- this._request = new import_provider_utils30.DelayedPromise();
10850
- this._response = new import_provider_utils30.DelayedPromise();
10851
- this._finishReason = new import_provider_utils30.DelayedPromise();
11105
+ this._object = new import_provider_utils32.DelayedPromise();
11106
+ this._usage = new import_provider_utils32.DelayedPromise();
11107
+ this._providerMetadata = new import_provider_utils32.DelayedPromise();
11108
+ this._warnings = new import_provider_utils32.DelayedPromise();
11109
+ this._request = new import_provider_utils32.DelayedPromise();
11110
+ this._response = new import_provider_utils32.DelayedPromise();
11111
+ this._finishReason = new import_provider_utils32.DelayedPromise();
10852
11112
  const model = resolveLanguageModel(modelArg);
10853
11113
  const { maxRetries, retry } = prepareRetries({
10854
11114
  maxRetries: maxRetriesArg,
@@ -10996,7 +11256,7 @@ var DefaultStreamObjectResult = class {
10996
11256
  const transformedStream = stream.pipeThrough(new TransformStream(transformer)).pipeThrough(
10997
11257
  new TransformStream({
10998
11258
  async transform(chunk, controller) {
10999
- var _a21, _b, _c;
11259
+ var _a22, _b, _c;
11000
11260
  if (typeof chunk === "object" && chunk.type === "stream-start") {
11001
11261
  warnings = chunk.warnings;
11002
11262
  return;
@@ -11046,7 +11306,7 @@ var DefaultStreamObjectResult = class {
11046
11306
  switch (chunk.type) {
11047
11307
  case "response-metadata": {
11048
11308
  fullResponse = {
11049
- id: (_a21 = chunk.id) != null ? _a21 : fullResponse.id,
11309
+ id: (_a22 = chunk.id) != null ? _a22 : fullResponse.id,
11050
11310
  timestamp: (_b = chunk.timestamp) != null ? _b : fullResponse.timestamp,
11051
11311
  modelId: (_c = chunk.modelId) != null ? _c : fullResponse.modelId
11052
11312
  };
@@ -11277,7 +11537,7 @@ var DefaultStreamObjectResult = class {
11277
11537
  };
11278
11538
 
11279
11539
  // src/generate-speech/generate-speech.ts
11280
- var import_provider_utils31 = require("@ai-sdk/provider-utils");
11540
+ var import_provider_utils33 = require("@ai-sdk/provider-utils");
11281
11541
 
11282
11542
  // src/generate-speech/generated-audio-file.ts
11283
11543
  var DefaultGeneratedAudioFile = class extends DefaultGeneratedFile {
@@ -11318,12 +11578,12 @@ async function generateSpeech({
11318
11578
  abortSignal,
11319
11579
  headers
11320
11580
  }) {
11321
- var _a21;
11581
+ var _a22;
11322
11582
  const resolvedModel = resolveSpeechModel(model);
11323
11583
  if (!resolvedModel) {
11324
11584
  throw new Error("Model could not be resolved");
11325
11585
  }
11326
- const headersWithUserAgent = (0, import_provider_utils31.withUserAgentSuffix)(
11586
+ const headersWithUserAgent = (0, import_provider_utils33.withUserAgentSuffix)(
11327
11587
  headers != null ? headers : {},
11328
11588
  `ai/${VERSION}`
11329
11589
  );
@@ -11355,10 +11615,10 @@ async function generateSpeech({
11355
11615
  return new DefaultSpeechResult({
11356
11616
  audio: new DefaultGeneratedAudioFile({
11357
11617
  data: result.audio,
11358
- mediaType: (_a21 = detectMediaType({
11618
+ mediaType: (_a22 = detectMediaType({
11359
11619
  data: result.audio,
11360
11620
  signatures: audioMediaTypeSignatures
11361
- })) != null ? _a21 : "audio/mp3"
11621
+ })) != null ? _a22 : "audio/mp3"
11362
11622
  }),
11363
11623
  warnings: result.warnings,
11364
11624
  responses: [result.response],
@@ -11367,11 +11627,11 @@ async function generateSpeech({
11367
11627
  }
11368
11628
  var DefaultSpeechResult = class {
11369
11629
  constructor(options) {
11370
- var _a21;
11630
+ var _a22;
11371
11631
  this.audio = options.audio;
11372
11632
  this.warnings = options.warnings;
11373
11633
  this.responses = options.responses;
11374
- this.providerMetadata = (_a21 = options.providerMetadata) != null ? _a21 : {};
11634
+ this.providerMetadata = (_a22 = options.providerMetadata) != null ? _a22 : {};
11375
11635
  }
11376
11636
  };
11377
11637
 
@@ -11455,8 +11715,8 @@ function pruneMessages({
11455
11715
  }
11456
11716
 
11457
11717
  // src/generate-text/smooth-stream.ts
11458
- var import_provider_utils32 = require("@ai-sdk/provider-utils");
11459
- var import_provider32 = require("@ai-sdk/provider");
11718
+ var import_provider_utils34 = require("@ai-sdk/provider-utils");
11719
+ var import_provider33 = require("@ai-sdk/provider");
11460
11720
  var CHUNKING_REGEXPS = {
11461
11721
  word: /\S+\s+/m,
11462
11722
  line: /\n+/m
@@ -11464,7 +11724,7 @@ var CHUNKING_REGEXPS = {
11464
11724
  function smoothStream({
11465
11725
  delayInMs = 10,
11466
11726
  chunking = "word",
11467
- _internal: { delay: delay2 = import_provider_utils32.delay } = {}
11727
+ _internal: { delay: delay2 = import_provider_utils34.delay } = {}
11468
11728
  } = {}) {
11469
11729
  let detectChunk;
11470
11730
  if (chunking != null && typeof chunking === "object" && "segment" in chunking && typeof chunking.segment === "function") {
@@ -11495,7 +11755,7 @@ function smoothStream({
11495
11755
  } else {
11496
11756
  const chunkingRegex = typeof chunking === "string" ? CHUNKING_REGEXPS[chunking] : chunking instanceof RegExp ? chunking : void 0;
11497
11757
  if (chunkingRegex == null) {
11498
- throw new import_provider32.InvalidArgumentError({
11758
+ throw new import_provider33.InvalidArgumentError({
11499
11759
  argument: "chunking",
11500
11760
  message: `Chunking must be "word", "line", a RegExp, an Intl.Segmenter, or a ChunkDetector function. Received: ${chunking}`
11501
11761
  });
@@ -11553,7 +11813,7 @@ function smoothStream({
11553
11813
  }
11554
11814
 
11555
11815
  // src/generate-video/generate-video.ts
11556
- var import_provider_utils33 = require("@ai-sdk/provider-utils");
11816
+ var import_provider_utils35 = require("@ai-sdk/provider-utils");
11557
11817
  var defaultDownload = createDownload();
11558
11818
  async function experimental_generateVideo({
11559
11819
  model: modelArg,
@@ -11571,9 +11831,9 @@ async function experimental_generateVideo({
11571
11831
  headers,
11572
11832
  download: downloadFn = defaultDownload
11573
11833
  }) {
11574
- var _a21;
11834
+ var _a22;
11575
11835
  const model = resolveVideoModel(modelArg);
11576
- const headersWithUserAgent = (0, import_provider_utils33.withUserAgentSuffix)(
11836
+ const headersWithUserAgent = (0, import_provider_utils35.withUserAgentSuffix)(
11577
11837
  headers != null ? headers : {},
11578
11838
  `ai/${VERSION}`
11579
11839
  );
@@ -11582,7 +11842,7 @@ async function experimental_generateVideo({
11582
11842
  abortSignal
11583
11843
  });
11584
11844
  const { prompt, image } = normalizePrompt2(promptArg);
11585
- const maxVideosPerCallWithDefault = (_a21 = maxVideosPerCall != null ? maxVideosPerCall : await invokeModelMaxVideosPerCall(model)) != null ? _a21 : 1;
11845
+ const maxVideosPerCallWithDefault = (_a22 = maxVideosPerCall != null ? maxVideosPerCall : await invokeModelMaxVideosPerCall(model)) != null ? _a22 : 1;
11586
11846
  const callCount = Math.ceil(n / maxVideosPerCallWithDefault);
11587
11847
  const callVideoCounts = Array.from({ length: callCount }, (_, index) => {
11588
11848
  const remaining = n - index * maxVideosPerCallWithDefault;
@@ -11704,7 +11964,7 @@ async function experimental_generateVideo({
11704
11964
  };
11705
11965
  }
11706
11966
  function normalizePrompt2(promptArg) {
11707
- var _a21, _b;
11967
+ var _a22, _b;
11708
11968
  if (typeof promptArg === "string") {
11709
11969
  return {
11710
11970
  prompt: promptArg,
@@ -11725,14 +11985,14 @@ function normalizePrompt2(promptArg) {
11725
11985
  image = {
11726
11986
  type: "file",
11727
11987
  mediaType: mediaType != null ? mediaType : "image/png",
11728
- data: (0, import_provider_utils33.convertBase64ToUint8Array)(base64Content != null ? base64Content : "")
11988
+ data: (0, import_provider_utils35.convertBase64ToUint8Array)(base64Content != null ? base64Content : "")
11729
11989
  };
11730
11990
  } else {
11731
- const bytes = (0, import_provider_utils33.convertBase64ToUint8Array)(dataContent);
11732
- const mediaType = (_a21 = detectMediaType({
11991
+ const bytes = (0, import_provider_utils35.convertBase64ToUint8Array)(dataContent);
11992
+ const mediaType = (_a22 = detectMediaType({
11733
11993
  data: bytes,
11734
11994
  signatures: imageMediaTypeSignatures
11735
- })) != null ? _a21 : "image/png";
11995
+ })) != null ? _a22 : "image/png";
11736
11996
  image = {
11737
11997
  type: "file",
11738
11998
  mediaType,
@@ -11792,8 +12052,8 @@ function defaultTransform(text2) {
11792
12052
  return text2.replace(/^```(?:json)?\s*\n?/, "").replace(/\n?```\s*$/, "").trim();
11793
12053
  }
11794
12054
  function extractJsonMiddleware(options) {
11795
- var _a21;
11796
- const transform = (_a21 = options == null ? void 0 : options.transform) != null ? _a21 : defaultTransform;
12055
+ var _a22;
12056
+ const transform = (_a22 = options == null ? void 0 : options.transform) != null ? _a22 : defaultTransform;
11797
12057
  const hasCustomTransform = (options == null ? void 0 : options.transform) !== void 0;
11798
12058
  return {
11799
12059
  specificationVersion: "v3",
@@ -12167,13 +12427,13 @@ function addToolInputExamplesMiddleware({
12167
12427
  return {
12168
12428
  specificationVersion: "v3",
12169
12429
  transformParams: async ({ params }) => {
12170
- var _a21;
12171
- if (!((_a21 = params.tools) == null ? void 0 : _a21.length)) {
12430
+ var _a22;
12431
+ if (!((_a22 = params.tools) == null ? void 0 : _a22.length)) {
12172
12432
  return params;
12173
12433
  }
12174
12434
  const transformedTools = params.tools.map((tool2) => {
12175
- var _a22;
12176
- if (tool2.type !== "function" || !((_a22 = tool2.inputExamples) == null ? void 0 : _a22.length)) {
12435
+ var _a23;
12436
+ if (tool2.type !== "function" || !((_a23 = tool2.inputExamples) == null ? void 0 : _a23.length)) {
12177
12437
  return tool2;
12178
12438
  }
12179
12439
  const formattedExamples = tool2.inputExamples.map((example, index) => format(example, index)).join("\n");
@@ -12220,7 +12480,7 @@ var doWrap = ({
12220
12480
  modelId,
12221
12481
  providerId
12222
12482
  }) => {
12223
- var _a21, _b, _c;
12483
+ var _a22, _b, _c;
12224
12484
  async function doTransform({
12225
12485
  params,
12226
12486
  type
@@ -12229,7 +12489,7 @@ var doWrap = ({
12229
12489
  }
12230
12490
  return {
12231
12491
  specificationVersion: "v3",
12232
- provider: (_a21 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a21 : model.provider,
12492
+ provider: (_a22 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a22 : model.provider,
12233
12493
  modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
12234
12494
  supportedUrls: (_c = overrideSupportedUrls == null ? void 0 : overrideSupportedUrls({ model })) != null ? _c : model.supportedUrls,
12235
12495
  async doGenerate(params) {
@@ -12276,7 +12536,7 @@ var doWrap2 = ({
12276
12536
  modelId,
12277
12537
  providerId
12278
12538
  }) => {
12279
- var _a21, _b, _c, _d;
12539
+ var _a22, _b, _c, _d;
12280
12540
  async function doTransform({
12281
12541
  params
12282
12542
  }) {
@@ -12284,7 +12544,7 @@ var doWrap2 = ({
12284
12544
  }
12285
12545
  return {
12286
12546
  specificationVersion: "v3",
12287
- provider: (_a21 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a21 : model.provider,
12547
+ provider: (_a22 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a22 : model.provider,
12288
12548
  modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
12289
12549
  maxEmbeddingsPerCall: (_c = overrideMaxEmbeddingsPerCall == null ? void 0 : overrideMaxEmbeddingsPerCall({ model })) != null ? _c : model.maxEmbeddingsPerCall,
12290
12550
  supportsParallelCalls: (_d = overrideSupportsParallelCalls == null ? void 0 : overrideSupportsParallelCalls({ model })) != null ? _d : model.supportsParallelCalls,
@@ -12323,11 +12583,11 @@ var doWrap3 = ({
12323
12583
  modelId,
12324
12584
  providerId
12325
12585
  }) => {
12326
- var _a21, _b, _c;
12586
+ var _a22, _b, _c;
12327
12587
  async function doTransform({ params }) {
12328
12588
  return transformParams ? await transformParams({ params, model }) : params;
12329
12589
  }
12330
- const maxImagesPerCallRaw = (_a21 = overrideMaxImagesPerCall == null ? void 0 : overrideMaxImagesPerCall({ model })) != null ? _a21 : model.maxImagesPerCall;
12590
+ const maxImagesPerCallRaw = (_a22 = overrideMaxImagesPerCall == null ? void 0 : overrideMaxImagesPerCall({ model })) != null ? _a22 : model.maxImagesPerCall;
12331
12591
  const maxImagesPerCall = maxImagesPerCallRaw instanceof Function ? maxImagesPerCallRaw.bind(model) : maxImagesPerCallRaw;
12332
12592
  return {
12333
12593
  specificationVersion: "v3",
@@ -12392,7 +12652,7 @@ function wrapProvider({
12392
12652
  }
12393
12653
 
12394
12654
  // src/registry/custom-provider.ts
12395
- var import_provider33 = require("@ai-sdk/provider");
12655
+ var import_provider34 = require("@ai-sdk/provider");
12396
12656
  function customProvider({
12397
12657
  languageModels,
12398
12658
  embeddingModels,
@@ -12413,7 +12673,7 @@ function customProvider({
12413
12673
  if (fallbackProvider) {
12414
12674
  return fallbackProvider.languageModel(modelId);
12415
12675
  }
12416
- throw new import_provider33.NoSuchModelError({ modelId, modelType: "languageModel" });
12676
+ throw new import_provider34.NoSuchModelError({ modelId, modelType: "languageModel" });
12417
12677
  },
12418
12678
  embeddingModel(modelId) {
12419
12679
  if (embeddingModels != null && modelId in embeddingModels) {
@@ -12422,7 +12682,7 @@ function customProvider({
12422
12682
  if (fallbackProvider) {
12423
12683
  return fallbackProvider.embeddingModel(modelId);
12424
12684
  }
12425
- throw new import_provider33.NoSuchModelError({ modelId, modelType: "embeddingModel" });
12685
+ throw new import_provider34.NoSuchModelError({ modelId, modelType: "embeddingModel" });
12426
12686
  },
12427
12687
  imageModel(modelId) {
12428
12688
  if (imageModels != null && modelId in imageModels) {
@@ -12431,7 +12691,7 @@ function customProvider({
12431
12691
  if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
12432
12692
  return fallbackProvider.imageModel(modelId);
12433
12693
  }
12434
- throw new import_provider33.NoSuchModelError({ modelId, modelType: "imageModel" });
12694
+ throw new import_provider34.NoSuchModelError({ modelId, modelType: "imageModel" });
12435
12695
  },
12436
12696
  transcriptionModel(modelId) {
12437
12697
  if (transcriptionModels != null && modelId in transcriptionModels) {
@@ -12440,7 +12700,7 @@ function customProvider({
12440
12700
  if (fallbackProvider == null ? void 0 : fallbackProvider.transcriptionModel) {
12441
12701
  return fallbackProvider.transcriptionModel(modelId);
12442
12702
  }
12443
- throw new import_provider33.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
12703
+ throw new import_provider34.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
12444
12704
  },
12445
12705
  speechModel(modelId) {
12446
12706
  if (speechModels != null && modelId in speechModels) {
@@ -12449,7 +12709,7 @@ function customProvider({
12449
12709
  if (fallbackProvider == null ? void 0 : fallbackProvider.speechModel) {
12450
12710
  return fallbackProvider.speechModel(modelId);
12451
12711
  }
12452
- throw new import_provider33.NoSuchModelError({ modelId, modelType: "speechModel" });
12712
+ throw new import_provider34.NoSuchModelError({ modelId, modelType: "speechModel" });
12453
12713
  },
12454
12714
  rerankingModel(modelId) {
12455
12715
  if (rerankingModels != null && modelId in rerankingModels) {
@@ -12458,7 +12718,7 @@ function customProvider({
12458
12718
  if (fallbackProvider == null ? void 0 : fallbackProvider.rerankingModel) {
12459
12719
  return fallbackProvider.rerankingModel(modelId);
12460
12720
  }
12461
- throw new import_provider33.NoSuchModelError({ modelId, modelType: "rerankingModel" });
12721
+ throw new import_provider34.NoSuchModelError({ modelId, modelType: "rerankingModel" });
12462
12722
  },
12463
12723
  videoModel(modelId) {
12464
12724
  if (videoModels != null && modelId in videoModels) {
@@ -12468,19 +12728,19 @@ function customProvider({
12468
12728
  if (videoModel) {
12469
12729
  return videoModel(modelId);
12470
12730
  }
12471
- throw new import_provider33.NoSuchModelError({ modelId, modelType: "videoModel" });
12731
+ throw new import_provider34.NoSuchModelError({ modelId, modelType: "videoModel" });
12472
12732
  }
12473
12733
  };
12474
12734
  }
12475
12735
  var experimental_customProvider = customProvider;
12476
12736
 
12477
12737
  // src/registry/no-such-provider-error.ts
12478
- var import_provider34 = require("@ai-sdk/provider");
12479
- var name20 = "AI_NoSuchProviderError";
12480
- var marker20 = `vercel.ai.error.${name20}`;
12481
- var symbol20 = Symbol.for(marker20);
12482
- var _a20;
12483
- var NoSuchProviderError = class extends import_provider34.NoSuchModelError {
12738
+ var import_provider35 = require("@ai-sdk/provider");
12739
+ var name21 = "AI_NoSuchProviderError";
12740
+ var marker21 = `vercel.ai.error.${name21}`;
12741
+ var symbol21 = Symbol.for(marker21);
12742
+ var _a21;
12743
+ var NoSuchProviderError = class extends import_provider35.NoSuchModelError {
12484
12744
  constructor({
12485
12745
  modelId,
12486
12746
  modelType,
@@ -12488,19 +12748,19 @@ var NoSuchProviderError = class extends import_provider34.NoSuchModelError {
12488
12748
  availableProviders,
12489
12749
  message = `No such provider: ${providerId} (available providers: ${availableProviders.join()})`
12490
12750
  }) {
12491
- super({ errorName: name20, modelId, modelType, message });
12492
- this[_a20] = true;
12751
+ super({ errorName: name21, modelId, modelType, message });
12752
+ this[_a21] = true;
12493
12753
  this.providerId = providerId;
12494
12754
  this.availableProviders = availableProviders;
12495
12755
  }
12496
12756
  static isInstance(error) {
12497
- return import_provider34.AISDKError.hasMarker(error, marker20);
12757
+ return import_provider35.AISDKError.hasMarker(error, marker21);
12498
12758
  }
12499
12759
  };
12500
- _a20 = symbol20;
12760
+ _a21 = symbol21;
12501
12761
 
12502
12762
  // src/registry/provider-registry.ts
12503
- var import_provider35 = require("@ai-sdk/provider");
12763
+ var import_provider36 = require("@ai-sdk/provider");
12504
12764
  function createProviderRegistry(providers, {
12505
12765
  separator = ":",
12506
12766
  languageModelMiddleware,
@@ -12549,7 +12809,7 @@ var DefaultProviderRegistry = class {
12549
12809
  splitId(id, modelType) {
12550
12810
  const index = id.indexOf(this.separator);
12551
12811
  if (index === -1) {
12552
- throw new import_provider35.NoSuchModelError({
12812
+ throw new import_provider36.NoSuchModelError({
12553
12813
  modelId: id,
12554
12814
  modelType,
12555
12815
  message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId${this.separator}modelId")`
@@ -12558,14 +12818,14 @@ var DefaultProviderRegistry = class {
12558
12818
  return [id.slice(0, index), id.slice(index + this.separator.length)];
12559
12819
  }
12560
12820
  languageModel(id) {
12561
- var _a21, _b;
12821
+ var _a22, _b;
12562
12822
  const [providerId, modelId] = this.splitId(id, "languageModel");
12563
- let model = (_b = (_a21 = this.getProvider(providerId, "languageModel")).languageModel) == null ? void 0 : _b.call(
12564
- _a21,
12823
+ let model = (_b = (_a22 = this.getProvider(providerId, "languageModel")).languageModel) == null ? void 0 : _b.call(
12824
+ _a22,
12565
12825
  modelId
12566
12826
  );
12567
12827
  if (model == null) {
12568
- throw new import_provider35.NoSuchModelError({ modelId: id, modelType: "languageModel" });
12828
+ throw new import_provider36.NoSuchModelError({ modelId: id, modelType: "languageModel" });
12569
12829
  }
12570
12830
  if (this.languageModelMiddleware != null) {
12571
12831
  model = wrapLanguageModel({
@@ -12576,12 +12836,12 @@ var DefaultProviderRegistry = class {
12576
12836
  return model;
12577
12837
  }
12578
12838
  embeddingModel(id) {
12579
- var _a21;
12839
+ var _a22;
12580
12840
  const [providerId, modelId] = this.splitId(id, "embeddingModel");
12581
12841
  const provider = this.getProvider(providerId, "embeddingModel");
12582
- const model = (_a21 = provider.embeddingModel) == null ? void 0 : _a21.call(provider, modelId);
12842
+ const model = (_a22 = provider.embeddingModel) == null ? void 0 : _a22.call(provider, modelId);
12583
12843
  if (model == null) {
12584
- throw new import_provider35.NoSuchModelError({
12844
+ throw new import_provider36.NoSuchModelError({
12585
12845
  modelId: id,
12586
12846
  modelType: "embeddingModel"
12587
12847
  });
@@ -12589,12 +12849,12 @@ var DefaultProviderRegistry = class {
12589
12849
  return model;
12590
12850
  }
12591
12851
  imageModel(id) {
12592
- var _a21;
12852
+ var _a22;
12593
12853
  const [providerId, modelId] = this.splitId(id, "imageModel");
12594
12854
  const provider = this.getProvider(providerId, "imageModel");
12595
- let model = (_a21 = provider.imageModel) == null ? void 0 : _a21.call(provider, modelId);
12855
+ let model = (_a22 = provider.imageModel) == null ? void 0 : _a22.call(provider, modelId);
12596
12856
  if (model == null) {
12597
- throw new import_provider35.NoSuchModelError({ modelId: id, modelType: "imageModel" });
12857
+ throw new import_provider36.NoSuchModelError({ modelId: id, modelType: "imageModel" });
12598
12858
  }
12599
12859
  if (this.imageModelMiddleware != null) {
12600
12860
  model = wrapImageModel({
@@ -12605,12 +12865,12 @@ var DefaultProviderRegistry = class {
12605
12865
  return model;
12606
12866
  }
12607
12867
  transcriptionModel(id) {
12608
- var _a21;
12868
+ var _a22;
12609
12869
  const [providerId, modelId] = this.splitId(id, "transcriptionModel");
12610
12870
  const provider = this.getProvider(providerId, "transcriptionModel");
12611
- const model = (_a21 = provider.transcriptionModel) == null ? void 0 : _a21.call(provider, modelId);
12871
+ const model = (_a22 = provider.transcriptionModel) == null ? void 0 : _a22.call(provider, modelId);
12612
12872
  if (model == null) {
12613
- throw new import_provider35.NoSuchModelError({
12873
+ throw new import_provider36.NoSuchModelError({
12614
12874
  modelId: id,
12615
12875
  modelType: "transcriptionModel"
12616
12876
  });
@@ -12618,22 +12878,22 @@ var DefaultProviderRegistry = class {
12618
12878
  return model;
12619
12879
  }
12620
12880
  speechModel(id) {
12621
- var _a21;
12881
+ var _a22;
12622
12882
  const [providerId, modelId] = this.splitId(id, "speechModel");
12623
12883
  const provider = this.getProvider(providerId, "speechModel");
12624
- const model = (_a21 = provider.speechModel) == null ? void 0 : _a21.call(provider, modelId);
12884
+ const model = (_a22 = provider.speechModel) == null ? void 0 : _a22.call(provider, modelId);
12625
12885
  if (model == null) {
12626
- throw new import_provider35.NoSuchModelError({ modelId: id, modelType: "speechModel" });
12886
+ throw new import_provider36.NoSuchModelError({ modelId: id, modelType: "speechModel" });
12627
12887
  }
12628
12888
  return model;
12629
12889
  }
12630
12890
  rerankingModel(id) {
12631
- var _a21;
12891
+ var _a22;
12632
12892
  const [providerId, modelId] = this.splitId(id, "rerankingModel");
12633
12893
  const provider = this.getProvider(providerId, "rerankingModel");
12634
- const model = (_a21 = provider.rerankingModel) == null ? void 0 : _a21.call(provider, modelId);
12894
+ const model = (_a22 = provider.rerankingModel) == null ? void 0 : _a22.call(provider, modelId);
12635
12895
  if (model == null) {
12636
- throw new import_provider35.NoSuchModelError({ modelId: id, modelType: "rerankingModel" });
12896
+ throw new import_provider36.NoSuchModelError({ modelId: id, modelType: "rerankingModel" });
12637
12897
  }
12638
12898
  return model;
12639
12899
  }
@@ -12689,7 +12949,7 @@ async function rerank({
12689
12949
  }),
12690
12950
  tracer,
12691
12951
  fn: async () => {
12692
- var _a21, _b;
12952
+ var _a22, _b;
12693
12953
  const { ranking, response, providerMetadata, warnings } = await retry(
12694
12954
  () => recordSpan({
12695
12955
  name: "ai.rerank.doRerank",
@@ -12753,7 +13013,7 @@ async function rerank({
12753
13013
  providerMetadata,
12754
13014
  response: {
12755
13015
  id: response == null ? void 0 : response.id,
12756
- timestamp: (_a21 = response == null ? void 0 : response.timestamp) != null ? _a21 : /* @__PURE__ */ new Date(),
13016
+ timestamp: (_a22 = response == null ? void 0 : response.timestamp) != null ? _a22 : /* @__PURE__ */ new Date(),
12757
13017
  modelId: (_b = response == null ? void 0 : response.modelId) != null ? _b : model.modelId,
12758
13018
  headers: response == null ? void 0 : response.headers,
12759
13019
  body: response == null ? void 0 : response.body
@@ -12775,7 +13035,7 @@ var DefaultRerankResult = class {
12775
13035
  };
12776
13036
 
12777
13037
  // src/transcribe/transcribe.ts
12778
- var import_provider_utils34 = require("@ai-sdk/provider-utils");
13038
+ var import_provider_utils36 = require("@ai-sdk/provider-utils");
12779
13039
  var defaultDownload2 = createDownload();
12780
13040
  async function transcribe({
12781
13041
  model,
@@ -12794,23 +13054,23 @@ async function transcribe({
12794
13054
  maxRetries: maxRetriesArg,
12795
13055
  abortSignal
12796
13056
  });
12797
- const headersWithUserAgent = (0, import_provider_utils34.withUserAgentSuffix)(
13057
+ const headersWithUserAgent = (0, import_provider_utils36.withUserAgentSuffix)(
12798
13058
  headers != null ? headers : {},
12799
13059
  `ai/${VERSION}`
12800
13060
  );
12801
13061
  const audioData = audio instanceof URL ? (await downloadFn({ url: audio, abortSignal })).data : convertDataContentToUint8Array(audio);
12802
13062
  const result = await retry(
12803
13063
  () => {
12804
- var _a21;
13064
+ var _a22;
12805
13065
  return resolvedModel.doGenerate({
12806
13066
  audio: audioData,
12807
13067
  abortSignal,
12808
13068
  headers: headersWithUserAgent,
12809
13069
  providerOptions,
12810
- mediaType: (_a21 = detectMediaType({
13070
+ mediaType: (_a22 = detectMediaType({
12811
13071
  data: audioData,
12812
13072
  signatures: audioMediaTypeSignatures
12813
- })) != null ? _a21 : "audio/wav"
13073
+ })) != null ? _a22 : "audio/wav"
12814
13074
  });
12815
13075
  }
12816
13076
  );
@@ -12834,19 +13094,19 @@ async function transcribe({
12834
13094
  }
12835
13095
  var DefaultTranscriptionResult = class {
12836
13096
  constructor(options) {
12837
- var _a21;
13097
+ var _a22;
12838
13098
  this.text = options.text;
12839
13099
  this.segments = options.segments;
12840
13100
  this.language = options.language;
12841
13101
  this.durationInSeconds = options.durationInSeconds;
12842
13102
  this.warnings = options.warnings;
12843
13103
  this.responses = options.responses;
12844
- this.providerMetadata = (_a21 = options.providerMetadata) != null ? _a21 : {};
13104
+ this.providerMetadata = (_a22 = options.providerMetadata) != null ? _a22 : {};
12845
13105
  }
12846
13106
  };
12847
13107
 
12848
13108
  // src/ui/call-completion-api.ts
12849
- var import_provider_utils35 = require("@ai-sdk/provider-utils");
13109
+ var import_provider_utils37 = require("@ai-sdk/provider-utils");
12850
13110
 
12851
13111
  // src/ui/process-text-stream.ts
12852
13112
  async function processTextStream({
@@ -12880,7 +13140,7 @@ async function callCompletionApi({
12880
13140
  onError,
12881
13141
  fetch: fetch2 = getOriginalFetch()
12882
13142
  }) {
12883
- var _a21;
13143
+ var _a22;
12884
13144
  try {
12885
13145
  setLoading(true);
12886
13146
  setError(void 0);
@@ -12894,13 +13154,13 @@ async function callCompletionApi({
12894
13154
  ...body
12895
13155
  }),
12896
13156
  credentials,
12897
- headers: (0, import_provider_utils35.withUserAgentSuffix)(
13157
+ headers: (0, import_provider_utils37.withUserAgentSuffix)(
12898
13158
  {
12899
13159
  "Content-Type": "application/json",
12900
13160
  ...headers
12901
13161
  },
12902
13162
  `ai-sdk/${VERSION}`,
12903
- (0, import_provider_utils35.getRuntimeEnvironmentUserAgent)()
13163
+ (0, import_provider_utils37.getRuntimeEnvironmentUserAgent)()
12904
13164
  ),
12905
13165
  signal: abortController.signal
12906
13166
  }).catch((err) => {
@@ -12908,7 +13168,7 @@ async function callCompletionApi({
12908
13168
  });
12909
13169
  if (!response.ok) {
12910
13170
  throw new Error(
12911
- (_a21 = await response.text()) != null ? _a21 : "Failed to fetch the chat response."
13171
+ (_a22 = await response.text()) != null ? _a22 : "Failed to fetch the chat response."
12912
13172
  );
12913
13173
  }
12914
13174
  if (!response.body) {
@@ -12928,7 +13188,7 @@ async function callCompletionApi({
12928
13188
  }
12929
13189
  case "data": {
12930
13190
  await consumeStream({
12931
- stream: (0, import_provider_utils35.parseJsonEventStream)({
13191
+ stream: (0, import_provider_utils37.parseJsonEventStream)({
12932
13192
  stream: response.body,
12933
13193
  schema: uiMessageChunkSchema
12934
13194
  }).pipeThrough(
@@ -12980,7 +13240,7 @@ async function callCompletionApi({
12980
13240
  }
12981
13241
 
12982
13242
  // src/ui/chat.ts
12983
- var import_provider_utils38 = require("@ai-sdk/provider-utils");
13243
+ var import_provider_utils40 = require("@ai-sdk/provider-utils");
12984
13244
 
12985
13245
  // src/ui/convert-file-list-to-file-ui-parts.ts
12986
13246
  async function convertFileListToFileUIParts(files) {
@@ -12992,12 +13252,12 @@ async function convertFileListToFileUIParts(files) {
12992
13252
  }
12993
13253
  return Promise.all(
12994
13254
  Array.from(files).map(async (file) => {
12995
- const { name: name21, type } = file;
13255
+ const { name: name22, type } = file;
12996
13256
  const dataUrl = await new Promise((resolve3, reject) => {
12997
13257
  const reader = new FileReader();
12998
13258
  reader.onload = (readerEvent) => {
12999
- var _a21;
13000
- resolve3((_a21 = readerEvent.target) == null ? void 0 : _a21.result);
13259
+ var _a22;
13260
+ resolve3((_a22 = readerEvent.target) == null ? void 0 : _a22.result);
13001
13261
  };
13002
13262
  reader.onerror = (error) => reject(error);
13003
13263
  reader.readAsDataURL(file);
@@ -13005,7 +13265,7 @@ async function convertFileListToFileUIParts(files) {
13005
13265
  return {
13006
13266
  type: "file",
13007
13267
  mediaType: type,
13008
- filename: name21,
13268
+ filename: name22,
13009
13269
  url: dataUrl
13010
13270
  };
13011
13271
  })
@@ -13013,10 +13273,10 @@ async function convertFileListToFileUIParts(files) {
13013
13273
  }
13014
13274
 
13015
13275
  // src/ui/default-chat-transport.ts
13016
- var import_provider_utils37 = require("@ai-sdk/provider-utils");
13276
+ var import_provider_utils39 = require("@ai-sdk/provider-utils");
13017
13277
 
13018
13278
  // src/ui/http-chat-transport.ts
13019
- var import_provider_utils36 = require("@ai-sdk/provider-utils");
13279
+ var import_provider_utils38 = require("@ai-sdk/provider-utils");
13020
13280
  var HttpChatTransport = class {
13021
13281
  constructor({
13022
13282
  api = "/api/chat",
@@ -13039,15 +13299,15 @@ var HttpChatTransport = class {
13039
13299
  abortSignal,
13040
13300
  ...options
13041
13301
  }) {
13042
- var _a21, _b, _c, _d, _e;
13043
- const resolvedBody = await (0, import_provider_utils36.resolve)(this.body);
13044
- const resolvedHeaders = await (0, import_provider_utils36.resolve)(this.headers);
13045
- const resolvedCredentials = await (0, import_provider_utils36.resolve)(this.credentials);
13302
+ var _a22, _b, _c, _d, _e;
13303
+ const resolvedBody = await (0, import_provider_utils38.resolve)(this.body);
13304
+ const resolvedHeaders = await (0, import_provider_utils38.resolve)(this.headers);
13305
+ const resolvedCredentials = await (0, import_provider_utils38.resolve)(this.credentials);
13046
13306
  const baseHeaders = {
13047
- ...(0, import_provider_utils36.normalizeHeaders)(resolvedHeaders),
13048
- ...(0, import_provider_utils36.normalizeHeaders)(options.headers)
13307
+ ...(0, import_provider_utils38.normalizeHeaders)(resolvedHeaders),
13308
+ ...(0, import_provider_utils38.normalizeHeaders)(options.headers)
13049
13309
  };
13050
- const preparedRequest = await ((_a21 = this.prepareSendMessagesRequest) == null ? void 0 : _a21.call(this, {
13310
+ const preparedRequest = await ((_a22 = this.prepareSendMessagesRequest) == null ? void 0 : _a22.call(this, {
13051
13311
  api: this.api,
13052
13312
  id: options.chatId,
13053
13313
  messages: options.messages,
@@ -13059,7 +13319,7 @@ var HttpChatTransport = class {
13059
13319
  messageId: options.messageId
13060
13320
  }));
13061
13321
  const api = (_b = preparedRequest == null ? void 0 : preparedRequest.api) != null ? _b : this.api;
13062
- const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? (0, import_provider_utils36.normalizeHeaders)(preparedRequest.headers) : baseHeaders;
13322
+ const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? (0, import_provider_utils38.normalizeHeaders)(preparedRequest.headers) : baseHeaders;
13063
13323
  const body = (preparedRequest == null ? void 0 : preparedRequest.body) !== void 0 ? preparedRequest.body : {
13064
13324
  ...resolvedBody,
13065
13325
  ...options.body,
@@ -13091,15 +13351,15 @@ var HttpChatTransport = class {
13091
13351
  return this.processResponseStream(response.body);
13092
13352
  }
13093
13353
  async reconnectToStream(options) {
13094
- var _a21, _b, _c, _d, _e;
13095
- const resolvedBody = await (0, import_provider_utils36.resolve)(this.body);
13096
- const resolvedHeaders = await (0, import_provider_utils36.resolve)(this.headers);
13097
- const resolvedCredentials = await (0, import_provider_utils36.resolve)(this.credentials);
13354
+ var _a22, _b, _c, _d, _e;
13355
+ const resolvedBody = await (0, import_provider_utils38.resolve)(this.body);
13356
+ const resolvedHeaders = await (0, import_provider_utils38.resolve)(this.headers);
13357
+ const resolvedCredentials = await (0, import_provider_utils38.resolve)(this.credentials);
13098
13358
  const baseHeaders = {
13099
- ...(0, import_provider_utils36.normalizeHeaders)(resolvedHeaders),
13100
- ...(0, import_provider_utils36.normalizeHeaders)(options.headers)
13359
+ ...(0, import_provider_utils38.normalizeHeaders)(resolvedHeaders),
13360
+ ...(0, import_provider_utils38.normalizeHeaders)(options.headers)
13101
13361
  };
13102
- const preparedRequest = await ((_a21 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a21.call(this, {
13362
+ const preparedRequest = await ((_a22 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a22.call(this, {
13103
13363
  api: this.api,
13104
13364
  id: options.chatId,
13105
13365
  body: { ...resolvedBody, ...options.body },
@@ -13108,7 +13368,7 @@ var HttpChatTransport = class {
13108
13368
  requestMetadata: options.metadata
13109
13369
  }));
13110
13370
  const api = (_b = preparedRequest == null ? void 0 : preparedRequest.api) != null ? _b : `${this.api}/${options.chatId}/stream`;
13111
- const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? (0, import_provider_utils36.normalizeHeaders)(preparedRequest.headers) : baseHeaders;
13371
+ const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? (0, import_provider_utils38.normalizeHeaders)(preparedRequest.headers) : baseHeaders;
13112
13372
  const credentials = (_c = preparedRequest == null ? void 0 : preparedRequest.credentials) != null ? _c : resolvedCredentials;
13113
13373
  const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
13114
13374
  const response = await fetch2(api, {
@@ -13137,7 +13397,7 @@ var DefaultChatTransport = class extends HttpChatTransport {
13137
13397
  super(options);
13138
13398
  }
13139
13399
  processResponseStream(stream) {
13140
- return (0, import_provider_utils37.parseJsonEventStream)({
13400
+ return (0, import_provider_utils39.parseJsonEventStream)({
13141
13401
  stream,
13142
13402
  schema: uiMessageChunkSchema
13143
13403
  }).pipeThrough(
@@ -13156,7 +13416,7 @@ var DefaultChatTransport = class extends HttpChatTransport {
13156
13416
  // src/ui/chat.ts
13157
13417
  var AbstractChat = class {
13158
13418
  constructor({
13159
- generateId: generateId2 = import_provider_utils38.generateId,
13419
+ generateId: generateId2 = import_provider_utils40.generateId,
13160
13420
  id = generateId2(),
13161
13421
  transport = new DefaultChatTransport(),
13162
13422
  messageMetadataSchema,
@@ -13177,11 +13437,11 @@ var AbstractChat = class {
13177
13437
  * If a messageId is provided, the message will be replaced.
13178
13438
  */
13179
13439
  this.sendMessage = async (message, options) => {
13180
- var _a21, _b, _c, _d;
13440
+ var _a22, _b, _c, _d;
13181
13441
  if (message == null) {
13182
13442
  await this.makeRequest({
13183
13443
  trigger: "submit-message",
13184
- messageId: (_a21 = this.lastMessage) == null ? void 0 : _a21.id,
13444
+ messageId: (_a22 = this.lastMessage) == null ? void 0 : _a22.id,
13185
13445
  ...options
13186
13446
  });
13187
13447
  return;
@@ -13291,11 +13551,11 @@ var AbstractChat = class {
13291
13551
  }
13292
13552
  if (this.status !== "streaming" && this.status !== "submitted" && this.sendAutomaticallyWhen) {
13293
13553
  this.shouldSendAutomatically().then((shouldSend) => {
13294
- var _a21;
13554
+ var _a22;
13295
13555
  if (shouldSend) {
13296
13556
  this.makeRequest({
13297
13557
  trigger: "submit-message",
13298
- messageId: (_a21 = this.lastMessage) == null ? void 0 : _a21.id,
13558
+ messageId: (_a22 = this.lastMessage) == null ? void 0 : _a22.id,
13299
13559
  ...options
13300
13560
  });
13301
13561
  }
@@ -13321,11 +13581,11 @@ var AbstractChat = class {
13321
13581
  }
13322
13582
  if (this.status !== "streaming" && this.status !== "submitted" && this.sendAutomaticallyWhen) {
13323
13583
  this.shouldSendAutomatically().then((shouldSend) => {
13324
- var _a21;
13584
+ var _a22;
13325
13585
  if (shouldSend) {
13326
13586
  this.makeRequest({
13327
13587
  trigger: "submit-message",
13328
- messageId: (_a21 = this.lastMessage) == null ? void 0 : _a21.id,
13588
+ messageId: (_a22 = this.lastMessage) == null ? void 0 : _a22.id,
13329
13589
  ...options
13330
13590
  });
13331
13591
  }
@@ -13338,10 +13598,10 @@ var AbstractChat = class {
13338
13598
  * Abort the current request immediately, keep the generated tokens if any.
13339
13599
  */
13340
13600
  this.stop = async () => {
13341
- var _a21;
13601
+ var _a22;
13342
13602
  if (this.status !== "streaming" && this.status !== "submitted")
13343
13603
  return;
13344
- if ((_a21 = this.activeResponse) == null ? void 0 : _a21.abortController) {
13604
+ if ((_a22 = this.activeResponse) == null ? void 0 : _a22.abortController) {
13345
13605
  this.activeResponse.abortController.abort();
13346
13606
  }
13347
13607
  };
@@ -13407,7 +13667,7 @@ var AbstractChat = class {
13407
13667
  body,
13408
13668
  messageId
13409
13669
  }) {
13410
- var _a21, _b, _c;
13670
+ var _a22, _b, _c;
13411
13671
  let resumeStream;
13412
13672
  if (trigger === "resume-stream") {
13413
13673
  try {
@@ -13467,9 +13727,9 @@ var AbstractChat = class {
13467
13727
  () => job({
13468
13728
  state: activeResponse.state,
13469
13729
  write: () => {
13470
- var _a22;
13730
+ var _a23;
13471
13731
  this.setStatus({ status: "streaming" });
13472
- const replaceLastMessage = activeResponse.state.message.id === ((_a22 = this.lastMessage) == null ? void 0 : _a22.id);
13732
+ const replaceLastMessage = activeResponse.state.message.id === ((_a23 = this.lastMessage) == null ? void 0 : _a23.id);
13473
13733
  if (replaceLastMessage) {
13474
13734
  this.state.replaceMessage(
13475
13735
  this.state.messages.length - 1,
@@ -13521,7 +13781,7 @@ var AbstractChat = class {
13521
13781
  isAbort,
13522
13782
  isDisconnect,
13523
13783
  isError,
13524
- finishReason: (_a21 = this.activeResponse) == null ? void 0 : _a21.state.finishReason
13784
+ finishReason: (_a22 = this.activeResponse) == null ? void 0 : _a22.state.finishReason
13525
13785
  });
13526
13786
  } catch (err) {
13527
13787
  console.error(err);
@@ -13677,6 +13937,7 @@ var TextStreamChatTransport = class extends HttpChatTransport {
13677
13937
  InvalidResponseDataError,
13678
13938
  InvalidStreamPartError,
13679
13939
  InvalidToolApprovalError,
13940
+ InvalidToolApprovalSignatureError,
13680
13941
  InvalidToolInputError,
13681
13942
  JSONParseError,
13682
13943
  JsonToSseTransformStream,