ai 7.0.84 → 7.0.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/dist/index.d.ts +46 -12
- package/dist/index.js +521 -502
- package/dist/index.js.map +1 -1
- package/dist/internal/index.d.ts +23 -3
- package/dist/internal/index.js +141 -149
- package/dist/internal/index.js.map +1 -1
- package/dist/test/index.js +1 -1
- package/dist/test/index.js.map +1 -1
- package/docs/03-agents/06-tool-approvals.mdx +6 -3
- package/docs/03-agents/07-workflow-agent.mdx +43 -0
- package/docs/03-ai-sdk-core/35-image-generation.mdx +22 -5
- package/docs/03-ai-sdk-harnesses/02-harness-agent.mdx +25 -6
- package/docs/07-reference/04-ai-sdk-workflow/01-workflow-agent.mdx +25 -0
- package/package.json +13 -13
- package/src/batch/batch-types.ts +4 -1
- package/src/batch/batch.ts +38 -9
- package/src/generate-image/generate-image-result.ts +40 -0
- package/src/generate-image/generate-image.ts +126 -28
- package/src/generate-image/index.ts +4 -1
- package/src/generate-text/convert-language-model-content.ts +206 -0
- package/src/generate-text/generate-text.ts +3 -196
- package/src/generate-text/generated-file.ts +15 -1
- package/src/util/canonical-hash.ts +3 -1
package/dist/index.js
CHANGED
|
@@ -58,8 +58,8 @@ import { AISDKError } from "@ai-sdk/provider";
|
|
|
58
58
|
var name = "AI_InvalidArgumentError";
|
|
59
59
|
var marker = `vercel.ai.error.${name}`;
|
|
60
60
|
var symbol = Symbol.for(marker);
|
|
61
|
-
var _a;
|
|
62
|
-
var InvalidArgumentError = class extends AISDKError {
|
|
61
|
+
var _a, _b;
|
|
62
|
+
var InvalidArgumentError = class extends (_b = AISDKError, _a = symbol, _b) {
|
|
63
63
|
constructor({
|
|
64
64
|
parameter,
|
|
65
65
|
value,
|
|
@@ -77,15 +77,14 @@ var InvalidArgumentError = class extends AISDKError {
|
|
|
77
77
|
return AISDKError.hasMarker(error, marker);
|
|
78
78
|
}
|
|
79
79
|
};
|
|
80
|
-
_a = symbol;
|
|
81
80
|
|
|
82
81
|
// src/error/invalid-stream-part-error.ts
|
|
83
82
|
import { AISDKError as AISDKError2 } from "@ai-sdk/provider";
|
|
84
83
|
var name2 = "AI_InvalidStreamPartError";
|
|
85
84
|
var marker2 = `vercel.ai.error.${name2}`;
|
|
86
85
|
var symbol2 = Symbol.for(marker2);
|
|
87
|
-
var _a2;
|
|
88
|
-
var InvalidStreamPartError = class extends AISDKError2 {
|
|
86
|
+
var _a2, _b2;
|
|
87
|
+
var InvalidStreamPartError = class extends (_b2 = AISDKError2, _a2 = symbol2, _b2) {
|
|
89
88
|
constructor({
|
|
90
89
|
chunk,
|
|
91
90
|
message
|
|
@@ -98,15 +97,14 @@ var InvalidStreamPartError = class extends AISDKError2 {
|
|
|
98
97
|
return AISDKError2.hasMarker(error, marker2);
|
|
99
98
|
}
|
|
100
99
|
};
|
|
101
|
-
_a2 = symbol2;
|
|
102
100
|
|
|
103
101
|
// src/error/invalid-tool-approval-error.ts
|
|
104
102
|
import { AISDKError as AISDKError3 } from "@ai-sdk/provider";
|
|
105
103
|
var name3 = "AI_InvalidToolApprovalError";
|
|
106
104
|
var marker3 = `vercel.ai.error.${name3}`;
|
|
107
105
|
var symbol3 = Symbol.for(marker3);
|
|
108
|
-
var _a3;
|
|
109
|
-
var InvalidToolApprovalError = class extends AISDKError3 {
|
|
106
|
+
var _a3, _b3;
|
|
107
|
+
var InvalidToolApprovalError = class extends (_b3 = AISDKError3, _a3 = symbol3, _b3) {
|
|
110
108
|
constructor({ approvalId }) {
|
|
111
109
|
super({
|
|
112
110
|
name: name3,
|
|
@@ -119,15 +117,14 @@ var InvalidToolApprovalError = class extends AISDKError3 {
|
|
|
119
117
|
return AISDKError3.hasMarker(error, marker3);
|
|
120
118
|
}
|
|
121
119
|
};
|
|
122
|
-
_a3 = symbol3;
|
|
123
120
|
|
|
124
121
|
// src/error/invalid-tool-approval-signature-error.ts
|
|
125
122
|
import { AISDKError as AISDKError4 } from "@ai-sdk/provider";
|
|
126
123
|
var name4 = "AI_InvalidToolApprovalSignatureError";
|
|
127
124
|
var marker4 = `vercel.ai.error.${name4}`;
|
|
128
125
|
var symbol4 = Symbol.for(marker4);
|
|
129
|
-
var _a4;
|
|
130
|
-
var InvalidToolApprovalSignatureError = class extends AISDKError4 {
|
|
126
|
+
var _a4, _b4;
|
|
127
|
+
var InvalidToolApprovalSignatureError = class extends (_b4 = AISDKError4, _a4 = symbol4, _b4) {
|
|
131
128
|
constructor({
|
|
132
129
|
approvalId,
|
|
133
130
|
toolCallId,
|
|
@@ -145,15 +142,14 @@ var InvalidToolApprovalSignatureError = class extends AISDKError4 {
|
|
|
145
142
|
return AISDKError4.hasMarker(error, marker4);
|
|
146
143
|
}
|
|
147
144
|
};
|
|
148
|
-
_a4 = symbol4;
|
|
149
145
|
|
|
150
146
|
// src/error/invalid-tool-input-error.ts
|
|
151
147
|
import { AISDKError as AISDKError5, getErrorMessage } from "@ai-sdk/provider";
|
|
152
148
|
var name5 = "AI_InvalidToolInputError";
|
|
153
149
|
var marker5 = `vercel.ai.error.${name5}`;
|
|
154
150
|
var symbol5 = Symbol.for(marker5);
|
|
155
|
-
var _a5;
|
|
156
|
-
var InvalidToolInputError = class extends AISDKError5 {
|
|
151
|
+
var _a5, _b5;
|
|
152
|
+
var InvalidToolInputError = class extends (_b5 = AISDKError5, _a5 = symbol5, _b5) {
|
|
157
153
|
constructor({
|
|
158
154
|
toolInput,
|
|
159
155
|
toolName,
|
|
@@ -169,15 +165,14 @@ var InvalidToolInputError = class extends AISDKError5 {
|
|
|
169
165
|
return AISDKError5.hasMarker(error, marker5);
|
|
170
166
|
}
|
|
171
167
|
};
|
|
172
|
-
_a5 = symbol5;
|
|
173
168
|
|
|
174
169
|
// src/error/tool-call-not-found-for-approval-error.ts
|
|
175
170
|
import { AISDKError as AISDKError6 } from "@ai-sdk/provider";
|
|
176
171
|
var name6 = "AI_ToolCallNotFoundForApprovalError";
|
|
177
172
|
var marker6 = `vercel.ai.error.${name6}`;
|
|
178
173
|
var symbol6 = Symbol.for(marker6);
|
|
179
|
-
var _a6;
|
|
180
|
-
var ToolCallNotFoundForApprovalError = class extends AISDKError6 {
|
|
174
|
+
var _a6, _b6;
|
|
175
|
+
var ToolCallNotFoundForApprovalError = class extends (_b6 = AISDKError6, _a6 = symbol6, _b6) {
|
|
181
176
|
constructor({
|
|
182
177
|
toolCallId,
|
|
183
178
|
approvalId
|
|
@@ -194,15 +189,14 @@ var ToolCallNotFoundForApprovalError = class extends AISDKError6 {
|
|
|
194
189
|
return AISDKError6.hasMarker(error, marker6);
|
|
195
190
|
}
|
|
196
191
|
};
|
|
197
|
-
_a6 = symbol6;
|
|
198
192
|
|
|
199
193
|
// src/error/missing-tool-result-error.ts
|
|
200
194
|
import { AISDKError as AISDKError7 } from "@ai-sdk/provider";
|
|
201
195
|
var name7 = "AI_MissingToolResultsError";
|
|
202
196
|
var marker7 = `vercel.ai.error.${name7}`;
|
|
203
197
|
var symbol7 = Symbol.for(marker7);
|
|
204
|
-
var _a7;
|
|
205
|
-
var MissingToolResultsError = class extends AISDKError7 {
|
|
198
|
+
var _a7, _b7;
|
|
199
|
+
var MissingToolResultsError = class extends (_b7 = AISDKError7, _a7 = symbol7, _b7) {
|
|
206
200
|
constructor({ toolCallIds }) {
|
|
207
201
|
super({
|
|
208
202
|
name: name7,
|
|
@@ -217,15 +211,14 @@ var MissingToolResultsError = class extends AISDKError7 {
|
|
|
217
211
|
return AISDKError7.hasMarker(error, marker7);
|
|
218
212
|
}
|
|
219
213
|
};
|
|
220
|
-
_a7 = symbol7;
|
|
221
214
|
|
|
222
215
|
// src/error/no-image-generated-error.ts
|
|
223
216
|
import { AISDKError as AISDKError8 } from "@ai-sdk/provider";
|
|
224
217
|
var name8 = "AI_NoImageGeneratedError";
|
|
225
218
|
var marker8 = `vercel.ai.error.${name8}`;
|
|
226
219
|
var symbol8 = Symbol.for(marker8);
|
|
227
|
-
var _a8;
|
|
228
|
-
var NoImageGeneratedError = class extends AISDKError8 {
|
|
220
|
+
var _a8, _b8;
|
|
221
|
+
var NoImageGeneratedError = class extends (_b8 = AISDKError8, _a8 = symbol8, _b8) {
|
|
229
222
|
constructor({
|
|
230
223
|
message = "No image generated.",
|
|
231
224
|
cause,
|
|
@@ -239,15 +232,14 @@ var NoImageGeneratedError = class extends AISDKError8 {
|
|
|
239
232
|
return AISDKError8.hasMarker(error, marker8);
|
|
240
233
|
}
|
|
241
234
|
};
|
|
242
|
-
_a8 = symbol8;
|
|
243
235
|
|
|
244
236
|
// src/error/no-object-generated-error.ts
|
|
245
237
|
import { AISDKError as AISDKError9 } from "@ai-sdk/provider";
|
|
246
238
|
var name9 = "AI_NoObjectGeneratedError";
|
|
247
239
|
var marker9 = `vercel.ai.error.${name9}`;
|
|
248
240
|
var symbol9 = Symbol.for(marker9);
|
|
249
|
-
var _a9;
|
|
250
|
-
var NoObjectGeneratedError = class extends AISDKError9 {
|
|
241
|
+
var _a9, _b9;
|
|
242
|
+
var NoObjectGeneratedError = class extends (_b9 = AISDKError9, _a9 = symbol9, _b9) {
|
|
251
243
|
constructor({
|
|
252
244
|
message = "No object generated.",
|
|
253
245
|
cause,
|
|
@@ -267,15 +259,14 @@ var NoObjectGeneratedError = class extends AISDKError9 {
|
|
|
267
259
|
return AISDKError9.hasMarker(error, marker9);
|
|
268
260
|
}
|
|
269
261
|
};
|
|
270
|
-
_a9 = symbol9;
|
|
271
262
|
|
|
272
263
|
// src/error/no-output-generated-error.ts
|
|
273
264
|
import { AISDKError as AISDKError10 } from "@ai-sdk/provider";
|
|
274
265
|
var name10 = "AI_NoOutputGeneratedError";
|
|
275
266
|
var marker10 = `vercel.ai.error.${name10}`;
|
|
276
267
|
var symbol10 = Symbol.for(marker10);
|
|
277
|
-
var _a10;
|
|
278
|
-
var NoOutputGeneratedError = class extends AISDKError10 {
|
|
268
|
+
var _a10, _b10;
|
|
269
|
+
var NoOutputGeneratedError = class extends (_b10 = AISDKError10, _a10 = symbol10, _b10) {
|
|
279
270
|
// used in isInstance
|
|
280
271
|
constructor({
|
|
281
272
|
message = "No output generated.",
|
|
@@ -288,15 +279,14 @@ var NoOutputGeneratedError = class extends AISDKError10 {
|
|
|
288
279
|
return AISDKError10.hasMarker(error, marker10);
|
|
289
280
|
}
|
|
290
281
|
};
|
|
291
|
-
_a10 = symbol10;
|
|
292
282
|
|
|
293
283
|
// src/error/no-speech-generated-error.ts
|
|
294
284
|
import { AISDKError as AISDKError11 } from "@ai-sdk/provider";
|
|
295
285
|
var name11 = "AI_NoSpeechGeneratedError";
|
|
296
286
|
var marker11 = `vercel.ai.error.${name11}`;
|
|
297
287
|
var symbol11 = Symbol.for(marker11);
|
|
298
|
-
var _a11;
|
|
299
|
-
var NoSpeechGeneratedError = class extends AISDKError11 {
|
|
288
|
+
var _a11, _b11;
|
|
289
|
+
var NoSpeechGeneratedError = class extends (_b11 = AISDKError11, _a11 = symbol11, _b11) {
|
|
300
290
|
constructor(options) {
|
|
301
291
|
super({
|
|
302
292
|
name: name11,
|
|
@@ -309,15 +299,14 @@ var NoSpeechGeneratedError = class extends AISDKError11 {
|
|
|
309
299
|
return AISDKError11.hasMarker(error, marker11);
|
|
310
300
|
}
|
|
311
301
|
};
|
|
312
|
-
_a11 = symbol11;
|
|
313
302
|
|
|
314
303
|
// src/error/no-transcript-generated-error.ts
|
|
315
304
|
import { AISDKError as AISDKError12 } from "@ai-sdk/provider";
|
|
316
305
|
var name12 = "AI_NoTranscriptGeneratedError";
|
|
317
306
|
var marker12 = `vercel.ai.error.${name12}`;
|
|
318
307
|
var symbol12 = Symbol.for(marker12);
|
|
319
|
-
var _a12;
|
|
320
|
-
var NoTranscriptGeneratedError = class extends AISDKError12 {
|
|
308
|
+
var _a12, _b12;
|
|
309
|
+
var NoTranscriptGeneratedError = class extends (_b12 = AISDKError12, _a12 = symbol12, _b12) {
|
|
321
310
|
constructor(options) {
|
|
322
311
|
super({
|
|
323
312
|
name: name12,
|
|
@@ -330,15 +319,14 @@ var NoTranscriptGeneratedError = class extends AISDKError12 {
|
|
|
330
319
|
return AISDKError12.hasMarker(error, marker12);
|
|
331
320
|
}
|
|
332
321
|
};
|
|
333
|
-
_a12 = symbol12;
|
|
334
322
|
|
|
335
323
|
// src/error/no-translation-generated-error.ts
|
|
336
324
|
import { AISDKError as AISDKError13 } from "@ai-sdk/provider";
|
|
337
325
|
var name13 = "AI_NoTranslationGeneratedError";
|
|
338
326
|
var marker13 = `vercel.ai.error.${name13}`;
|
|
339
327
|
var symbol13 = Symbol.for(marker13);
|
|
340
|
-
var _a13;
|
|
341
|
-
var NoTranslationGeneratedError = class extends AISDKError13 {
|
|
328
|
+
var _a13, _b13;
|
|
329
|
+
var NoTranslationGeneratedError = class extends (_b13 = AISDKError13, _a13 = symbol13, _b13) {
|
|
342
330
|
constructor(options) {
|
|
343
331
|
super({
|
|
344
332
|
name: name13,
|
|
@@ -351,15 +339,14 @@ var NoTranslationGeneratedError = class extends AISDKError13 {
|
|
|
351
339
|
return AISDKError13.hasMarker(error, marker13);
|
|
352
340
|
}
|
|
353
341
|
};
|
|
354
|
-
_a13 = symbol13;
|
|
355
342
|
|
|
356
343
|
// src/error/no-video-generated-error.ts
|
|
357
344
|
import { AISDKError as AISDKError14 } from "@ai-sdk/provider";
|
|
358
345
|
var name14 = "AI_NoVideoGeneratedError";
|
|
359
346
|
var marker14 = `vercel.ai.error.${name14}`;
|
|
360
347
|
var symbol14 = Symbol.for(marker14);
|
|
361
|
-
var _a14;
|
|
362
|
-
var NoVideoGeneratedError = class extends AISDKError14 {
|
|
348
|
+
var _a14, _b14;
|
|
349
|
+
var NoVideoGeneratedError = class extends (_b14 = AISDKError14, _a14 = symbol14, _b14) {
|
|
363
350
|
constructor({
|
|
364
351
|
message = "No video generated.",
|
|
365
352
|
cause,
|
|
@@ -391,15 +378,14 @@ var NoVideoGeneratedError = class extends AISDKError14 {
|
|
|
391
378
|
};
|
|
392
379
|
}
|
|
393
380
|
};
|
|
394
|
-
_a14 = symbol14;
|
|
395
381
|
|
|
396
382
|
// src/error/no-such-tool-error.ts
|
|
397
383
|
import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
|
|
398
384
|
var name15 = "AI_NoSuchToolError";
|
|
399
385
|
var marker15 = `vercel.ai.error.${name15}`;
|
|
400
386
|
var symbol15 = Symbol.for(marker15);
|
|
401
|
-
var _a15;
|
|
402
|
-
var NoSuchToolError = class extends AISDKError15 {
|
|
387
|
+
var _a15, _b15;
|
|
388
|
+
var NoSuchToolError = class extends (_b15 = AISDKError15, _a15 = symbol15, _b15) {
|
|
403
389
|
constructor({
|
|
404
390
|
toolName,
|
|
405
391
|
availableTools = void 0,
|
|
@@ -414,15 +400,14 @@ var NoSuchToolError = class extends AISDKError15 {
|
|
|
414
400
|
return AISDKError15.hasMarker(error, marker15);
|
|
415
401
|
}
|
|
416
402
|
};
|
|
417
|
-
_a15 = symbol15;
|
|
418
403
|
|
|
419
404
|
// src/error/stream-provider-error.ts
|
|
420
405
|
import { AISDKError as AISDKError16 } from "@ai-sdk/provider";
|
|
421
406
|
var name16 = "AI_StreamProviderError";
|
|
422
407
|
var marker16 = `vercel.ai.error.${name16}`;
|
|
423
408
|
var symbol16 = Symbol.for(marker16);
|
|
424
|
-
var _a16;
|
|
425
|
-
var StreamProviderError = class extends AISDKError16 {
|
|
409
|
+
var _a16, _b16;
|
|
410
|
+
var StreamProviderError = class extends (_b16 = AISDKError16, _a16 = symbol16, _b16) {
|
|
426
411
|
constructor({
|
|
427
412
|
message,
|
|
428
413
|
type,
|
|
@@ -444,7 +429,6 @@ var StreamProviderError = class extends AISDKError16 {
|
|
|
444
429
|
return AISDKError16.hasMarker(error, marker16);
|
|
445
430
|
}
|
|
446
431
|
};
|
|
447
|
-
_a16 = symbol16;
|
|
448
432
|
function isRetryableStatusCode(statusCode) {
|
|
449
433
|
return statusCode != null && (statusCode === 408 || statusCode === 409 || statusCode === 429 || statusCode >= 500);
|
|
450
434
|
}
|
|
@@ -454,8 +438,8 @@ import { AISDKError as AISDKError17, getErrorMessage as getErrorMessage2 } from
|
|
|
454
438
|
var name17 = "AI_ToolCallRepairError";
|
|
455
439
|
var marker17 = `vercel.ai.error.${name17}`;
|
|
456
440
|
var symbol17 = Symbol.for(marker17);
|
|
457
|
-
var _a17;
|
|
458
|
-
var ToolCallRepairError = class extends AISDKError17 {
|
|
441
|
+
var _a17, _b17;
|
|
442
|
+
var ToolCallRepairError = class extends (_b17 = AISDKError17, _a17 = symbol17, _b17) {
|
|
459
443
|
constructor({
|
|
460
444
|
cause,
|
|
461
445
|
originalError,
|
|
@@ -469,7 +453,6 @@ var ToolCallRepairError = class extends AISDKError17 {
|
|
|
469
453
|
return AISDKError17.hasMarker(error, marker17);
|
|
470
454
|
}
|
|
471
455
|
};
|
|
472
|
-
_a17 = symbol17;
|
|
473
456
|
|
|
474
457
|
// src/error/unsupported-model-version-error.ts
|
|
475
458
|
import { AISDKError as AISDKError18 } from "@ai-sdk/provider";
|
|
@@ -490,8 +473,8 @@ import { AISDKError as AISDKError19 } from "@ai-sdk/provider";
|
|
|
490
473
|
var name18 = "AI_UIMessageStreamError";
|
|
491
474
|
var marker18 = `vercel.ai.error.${name18}`;
|
|
492
475
|
var symbol18 = Symbol.for(marker18);
|
|
493
|
-
var _a18;
|
|
494
|
-
var UIMessageStreamError = class extends AISDKError19 {
|
|
476
|
+
var _a18, _b18;
|
|
477
|
+
var UIMessageStreamError = class extends (_b18 = AISDKError19, _a18 = symbol18, _b18) {
|
|
495
478
|
constructor({
|
|
496
479
|
chunkType,
|
|
497
480
|
chunkId,
|
|
@@ -506,15 +489,14 @@ var UIMessageStreamError = class extends AISDKError19 {
|
|
|
506
489
|
return AISDKError19.hasMarker(error, marker18);
|
|
507
490
|
}
|
|
508
491
|
};
|
|
509
|
-
_a18 = symbol18;
|
|
510
492
|
|
|
511
493
|
// src/prompt/invalid-data-content-error.ts
|
|
512
494
|
import { AISDKError as AISDKError20 } from "@ai-sdk/provider";
|
|
513
495
|
var name19 = "AI_InvalidDataContentError";
|
|
514
496
|
var marker19 = `vercel.ai.error.${name19}`;
|
|
515
497
|
var symbol19 = Symbol.for(marker19);
|
|
516
|
-
var _a19;
|
|
517
|
-
var InvalidDataContentError = class extends AISDKError20 {
|
|
498
|
+
var _a19, _b19;
|
|
499
|
+
var InvalidDataContentError = class extends (_b19 = AISDKError20, _a19 = symbol19, _b19) {
|
|
518
500
|
constructor({
|
|
519
501
|
content,
|
|
520
502
|
cause,
|
|
@@ -528,15 +510,14 @@ var InvalidDataContentError = class extends AISDKError20 {
|
|
|
528
510
|
return AISDKError20.hasMarker(error, marker19);
|
|
529
511
|
}
|
|
530
512
|
};
|
|
531
|
-
_a19 = symbol19;
|
|
532
513
|
|
|
533
514
|
// src/prompt/invalid-message-role-error.ts
|
|
534
515
|
import { AISDKError as AISDKError21 } from "@ai-sdk/provider";
|
|
535
516
|
var name20 = "AI_InvalidMessageRoleError";
|
|
536
517
|
var marker20 = `vercel.ai.error.${name20}`;
|
|
537
518
|
var symbol20 = Symbol.for(marker20);
|
|
538
|
-
var _a20;
|
|
539
|
-
var InvalidMessageRoleError = class extends AISDKError21 {
|
|
519
|
+
var _a20, _b20;
|
|
520
|
+
var InvalidMessageRoleError = class extends (_b20 = AISDKError21, _a20 = symbol20, _b20) {
|
|
540
521
|
constructor({
|
|
541
522
|
role,
|
|
542
523
|
message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
|
|
@@ -549,15 +530,14 @@ var InvalidMessageRoleError = class extends AISDKError21 {
|
|
|
549
530
|
return AISDKError21.hasMarker(error, marker20);
|
|
550
531
|
}
|
|
551
532
|
};
|
|
552
|
-
_a20 = symbol20;
|
|
553
533
|
|
|
554
534
|
// src/prompt/message-conversion-error.ts
|
|
555
535
|
import { AISDKError as AISDKError22 } from "@ai-sdk/provider";
|
|
556
536
|
var name21 = "AI_MessageConversionError";
|
|
557
537
|
var marker21 = `vercel.ai.error.${name21}`;
|
|
558
538
|
var symbol21 = Symbol.for(marker21);
|
|
559
|
-
var _a21;
|
|
560
|
-
var MessageConversionError = class extends AISDKError22 {
|
|
539
|
+
var _a21, _b21;
|
|
540
|
+
var MessageConversionError = class extends (_b21 = AISDKError22, _a21 = symbol21, _b21) {
|
|
561
541
|
constructor({
|
|
562
542
|
originalMessage,
|
|
563
543
|
message
|
|
@@ -570,7 +550,6 @@ var MessageConversionError = class extends AISDKError22 {
|
|
|
570
550
|
return AISDKError22.hasMarker(error, marker21);
|
|
571
551
|
}
|
|
572
552
|
};
|
|
573
|
-
_a21 = symbol21;
|
|
574
553
|
|
|
575
554
|
// src/error/index.ts
|
|
576
555
|
import { DownloadError } from "@ai-sdk/provider-utils";
|
|
@@ -580,8 +559,8 @@ import { AISDKError as AISDKError23 } from "@ai-sdk/provider";
|
|
|
580
559
|
var name22 = "AI_RetryError";
|
|
581
560
|
var marker22 = `vercel.ai.error.${name22}`;
|
|
582
561
|
var symbol22 = Symbol.for(marker22);
|
|
583
|
-
var _a22;
|
|
584
|
-
var RetryError = class extends AISDKError23 {
|
|
562
|
+
var _a22, _b22;
|
|
563
|
+
var RetryError = class extends (_b22 = AISDKError23, _a22 = symbol22, _b22) {
|
|
585
564
|
constructor({
|
|
586
565
|
message,
|
|
587
566
|
reason,
|
|
@@ -597,7 +576,6 @@ var RetryError = class extends AISDKError23 {
|
|
|
597
576
|
return AISDKError23.hasMarker(error, marker22);
|
|
598
577
|
}
|
|
599
578
|
};
|
|
600
|
-
_a22 = symbol22;
|
|
601
579
|
|
|
602
580
|
// src/logger/log-warnings.ts
|
|
603
581
|
function formatWarning({
|
|
@@ -709,8 +687,7 @@ function asEmbeddingModelV3(model) {
|
|
|
709
687
|
});
|
|
710
688
|
return new Proxy(model, {
|
|
711
689
|
get(target, prop) {
|
|
712
|
-
if (prop === "specificationVersion")
|
|
713
|
-
return "v3";
|
|
690
|
+
if (prop === "specificationVersion") return "v3";
|
|
714
691
|
return target[prop];
|
|
715
692
|
}
|
|
716
693
|
});
|
|
@@ -724,8 +701,7 @@ function asEmbeddingModelV4(model) {
|
|
|
724
701
|
const v3Model = model.specificationVersion === "v2" ? asEmbeddingModelV3(model) : model;
|
|
725
702
|
return new Proxy(v3Model, {
|
|
726
703
|
get(target, prop) {
|
|
727
|
-
if (prop === "specificationVersion")
|
|
728
|
-
return "v4";
|
|
704
|
+
if (prop === "specificationVersion") return "v4";
|
|
729
705
|
return target[prop];
|
|
730
706
|
}
|
|
731
707
|
});
|
|
@@ -742,8 +718,7 @@ function asImageModelV3(model) {
|
|
|
742
718
|
});
|
|
743
719
|
return new Proxy(model, {
|
|
744
720
|
get(target, prop) {
|
|
745
|
-
if (prop === "specificationVersion")
|
|
746
|
-
return "v3";
|
|
721
|
+
if (prop === "specificationVersion") return "v3";
|
|
747
722
|
return target[prop];
|
|
748
723
|
}
|
|
749
724
|
});
|
|
@@ -757,8 +732,7 @@ function asImageModelV4(model) {
|
|
|
757
732
|
const v3Model = model.specificationVersion === "v2" ? asImageModelV3(model) : model;
|
|
758
733
|
return new Proxy(v3Model, {
|
|
759
734
|
get(target, prop) {
|
|
760
|
-
if (prop === "specificationVersion")
|
|
761
|
-
return "v4";
|
|
735
|
+
if (prop === "specificationVersion") return "v4";
|
|
762
736
|
return target[prop];
|
|
763
737
|
}
|
|
764
738
|
});
|
|
@@ -851,8 +825,7 @@ function asLanguageModelV4(model) {
|
|
|
851
825
|
const v3Model = model.specificationVersion === "v2" ? asLanguageModelV3(model) : model;
|
|
852
826
|
return new Proxy(v3Model, {
|
|
853
827
|
get(target, prop) {
|
|
854
|
-
if (prop === "specificationVersion")
|
|
855
|
-
return "v4";
|
|
828
|
+
if (prop === "specificationVersion") return "v4";
|
|
856
829
|
return target[prop];
|
|
857
830
|
}
|
|
858
831
|
});
|
|
@@ -865,8 +838,7 @@ function asRerankingModelV4(model) {
|
|
|
865
838
|
}
|
|
866
839
|
return new Proxy(model, {
|
|
867
840
|
get(target, prop) {
|
|
868
|
-
if (prop === "specificationVersion")
|
|
869
|
-
return "v4";
|
|
841
|
+
if (prop === "specificationVersion") return "v4";
|
|
870
842
|
return target[prop];
|
|
871
843
|
}
|
|
872
844
|
});
|
|
@@ -883,8 +855,7 @@ function asSpeechModelV3(model) {
|
|
|
883
855
|
});
|
|
884
856
|
return new Proxy(model, {
|
|
885
857
|
get(target, prop) {
|
|
886
|
-
if (prop === "specificationVersion")
|
|
887
|
-
return "v3";
|
|
858
|
+
if (prop === "specificationVersion") return "v3";
|
|
888
859
|
return target[prop];
|
|
889
860
|
}
|
|
890
861
|
});
|
|
@@ -898,8 +869,7 @@ function asSpeechModelV4(model) {
|
|
|
898
869
|
const v3Model = model.specificationVersion === "v2" ? asSpeechModelV3(model) : model;
|
|
899
870
|
return new Proxy(v3Model, {
|
|
900
871
|
get(target, prop) {
|
|
901
|
-
if (prop === "specificationVersion")
|
|
902
|
-
return "v4";
|
|
872
|
+
if (prop === "specificationVersion") return "v4";
|
|
903
873
|
return target[prop];
|
|
904
874
|
}
|
|
905
875
|
});
|
|
@@ -916,8 +886,7 @@ function asTranscriptionModelV3(model) {
|
|
|
916
886
|
});
|
|
917
887
|
return new Proxy(model, {
|
|
918
888
|
get(target, prop) {
|
|
919
|
-
if (prop === "specificationVersion")
|
|
920
|
-
return "v3";
|
|
889
|
+
if (prop === "specificationVersion") return "v3";
|
|
921
890
|
return target[prop];
|
|
922
891
|
}
|
|
923
892
|
});
|
|
@@ -931,8 +900,7 @@ function asTranscriptionModelV4(model) {
|
|
|
931
900
|
const v3Model = model.specificationVersion === "v2" ? asTranscriptionModelV3(model) : model;
|
|
932
901
|
return new Proxy(v3Model, {
|
|
933
902
|
get(target, prop) {
|
|
934
|
-
if (prop === "specificationVersion")
|
|
935
|
-
return "v4";
|
|
903
|
+
if (prop === "specificationVersion") return "v4";
|
|
936
904
|
return target[prop];
|
|
937
905
|
}
|
|
938
906
|
});
|
|
@@ -945,8 +913,7 @@ function asVideoModelV4(model) {
|
|
|
945
913
|
}
|
|
946
914
|
return new Proxy(model, {
|
|
947
915
|
get(target, prop) {
|
|
948
|
-
if (prop === "specificationVersion")
|
|
949
|
-
return "v4";
|
|
916
|
+
if (prop === "specificationVersion") return "v4";
|
|
950
917
|
return target[prop];
|
|
951
918
|
}
|
|
952
919
|
});
|
|
@@ -1017,9 +984,9 @@ function resolveEmbeddingModel(model) {
|
|
|
1017
984
|
return asEmbeddingModelV4(model);
|
|
1018
985
|
}
|
|
1019
986
|
function resolveTranscriptionModel(model) {
|
|
1020
|
-
var _a24,
|
|
987
|
+
var _a24, _b24;
|
|
1021
988
|
if (typeof model === "string") {
|
|
1022
|
-
return (
|
|
989
|
+
return (_b24 = (_a24 = getGlobalProvider()).transcriptionModel) == null ? void 0 : _b24.call(_a24, model);
|
|
1023
990
|
}
|
|
1024
991
|
if (!["v4", "v3", "v2"].includes(model.specificationVersion)) {
|
|
1025
992
|
const unsupportedModel = model;
|
|
@@ -1054,9 +1021,9 @@ function resolveSpeechTranslationModel(model) {
|
|
|
1054
1021
|
return model;
|
|
1055
1022
|
}
|
|
1056
1023
|
function resolveSpeechModel(model) {
|
|
1057
|
-
var _a24,
|
|
1024
|
+
var _a24, _b24;
|
|
1058
1025
|
if (typeof model === "string") {
|
|
1059
|
-
return (
|
|
1026
|
+
return (_b24 = (_a24 = getGlobalProvider()).speechModel) == null ? void 0 : _b24.call(_a24, model);
|
|
1060
1027
|
}
|
|
1061
1028
|
if (!["v4", "v3", "v2"].includes(model.specificationVersion)) {
|
|
1062
1029
|
const unsupportedModel = model;
|
|
@@ -1179,7 +1146,7 @@ import {
|
|
|
1179
1146
|
} from "@ai-sdk/provider-utils";
|
|
1180
1147
|
|
|
1181
1148
|
// src/version.ts
|
|
1182
|
-
var VERSION = true ? "7.0.
|
|
1149
|
+
var VERSION = true ? "7.0.86" : "0.0.0-test";
|
|
1183
1150
|
|
|
1184
1151
|
// src/util/download/download.ts
|
|
1185
1152
|
var download = async ({
|
|
@@ -1250,8 +1217,7 @@ function mergeObjects(base, overrides) {
|
|
|
1250
1217
|
}
|
|
1251
1218
|
if (Object.prototype.hasOwnProperty.call(overrides, key)) {
|
|
1252
1219
|
const overridesValue = overrides[key];
|
|
1253
|
-
if (overridesValue === void 0)
|
|
1254
|
-
continue;
|
|
1220
|
+
if (overridesValue === void 0) continue;
|
|
1255
1221
|
const baseValue = key in base ? base[key] : void 0;
|
|
1256
1222
|
const isSourceObject = overridesValue !== null && typeof overridesValue === "object" && !Array.isArray(overridesValue) && !(overridesValue instanceof Date) && !(overridesValue instanceof RegExp);
|
|
1257
1223
|
const isTargetObject = baseValue !== null && baseValue !== void 0 && typeof baseValue === "object" && !Array.isArray(baseValue) && !(baseValue instanceof Date) && !(baseValue instanceof RegExp);
|
|
@@ -1292,8 +1258,7 @@ function splitDataUrl(dataUrl) {
|
|
|
1292
1258
|
|
|
1293
1259
|
// src/prompt/file-part-data.ts
|
|
1294
1260
|
function isTaggedFileData(value) {
|
|
1295
|
-
if (typeof value !== "object" || value === null)
|
|
1296
|
-
return false;
|
|
1261
|
+
if (typeof value !== "object" || value === null) return false;
|
|
1297
1262
|
const type = value.type;
|
|
1298
1263
|
return type === "data" || type === "url" || type === "reference" || type === "text";
|
|
1299
1264
|
}
|
|
@@ -1893,6 +1858,8 @@ function mapToolResultOutput({
|
|
|
1893
1858
|
providerOptions: item.providerOptions
|
|
1894
1859
|
};
|
|
1895
1860
|
}
|
|
1861
|
+
// The "image-*" types are legacy and deprecated.
|
|
1862
|
+
// TODO: remove migration in v8 in combination with the removal of these types from the provider utils.
|
|
1896
1863
|
case "image-data": {
|
|
1897
1864
|
warnings.push({
|
|
1898
1865
|
type: "deprecated",
|
|
@@ -2250,11 +2217,11 @@ function getChunkTimeoutMs(timeout) {
|
|
|
2250
2217
|
return timeout.chunkMs;
|
|
2251
2218
|
}
|
|
2252
2219
|
function getToolTimeoutMs(timeout, toolName) {
|
|
2253
|
-
var _a24,
|
|
2220
|
+
var _a24, _b24;
|
|
2254
2221
|
if (timeout == null || typeof timeout === "number") {
|
|
2255
2222
|
return void 0;
|
|
2256
2223
|
}
|
|
2257
|
-
return (
|
|
2224
|
+
return (_b24 = (_a24 = timeout.tools) == null ? void 0 : _a24[`${toolName}Ms`]) != null ? _b24 : timeout.toolMs;
|
|
2258
2225
|
}
|
|
2259
2226
|
|
|
2260
2227
|
// src/prompt/standardize-prompt.ts
|
|
@@ -2639,8 +2606,7 @@ async function standardizePrompt({
|
|
|
2639
2606
|
import { GatewayAuthenticationError } from "@ai-sdk/gateway";
|
|
2640
2607
|
import { AISDKError as AISDKError25 } from "@ai-sdk/provider";
|
|
2641
2608
|
function wrapGatewayError(error) {
|
|
2642
|
-
if (!GatewayAuthenticationError.isInstance(error))
|
|
2643
|
-
return error;
|
|
2609
|
+
if (!GatewayAuthenticationError.isInstance(error)) return error;
|
|
2644
2610
|
const isProductionEnv = (process == null ? void 0 : process.env.NODE_ENV) === "production";
|
|
2645
2611
|
const moreInfoURL = "https://ai-sdk.dev/unauthenticated-ai-gateway";
|
|
2646
2612
|
if (isProductionEnv) {
|
|
@@ -2702,13 +2668,13 @@ function createNullLanguageModelUsage() {
|
|
|
2702
2668
|
};
|
|
2703
2669
|
}
|
|
2704
2670
|
function addLanguageModelUsage(usage1, usage2) {
|
|
2705
|
-
var _a24,
|
|
2671
|
+
var _a24, _b24, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
2706
2672
|
return {
|
|
2707
2673
|
inputTokens: addTokenCounts(usage1.inputTokens, usage2.inputTokens),
|
|
2708
2674
|
inputTokenDetails: {
|
|
2709
2675
|
noCacheTokens: addTokenCounts(
|
|
2710
2676
|
(_a24 = usage1.inputTokenDetails) == null ? void 0 : _a24.noCacheTokens,
|
|
2711
|
-
(
|
|
2677
|
+
(_b24 = usage2.inputTokenDetails) == null ? void 0 : _b24.noCacheTokens
|
|
2712
2678
|
),
|
|
2713
2679
|
cacheReadTokens: addTokenCounts(
|
|
2714
2680
|
(_c = usage1.inputTokenDetails) == null ? void 0 : _c.cacheReadTokens,
|
|
@@ -2760,8 +2726,8 @@ function mergeAbortSignals(...signals) {
|
|
|
2760
2726
|
|
|
2761
2727
|
// src/util/now.ts
|
|
2762
2728
|
function now() {
|
|
2763
|
-
var _a24,
|
|
2764
|
-
return (
|
|
2729
|
+
var _a24, _b24;
|
|
2730
|
+
return (_b24 = (_a24 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a24.now()) != null ? _b24 : Date.now();
|
|
2765
2731
|
}
|
|
2766
2732
|
|
|
2767
2733
|
// src/util/notify.ts
|
|
@@ -2788,8 +2754,7 @@ function getRetryDelayInMs({
|
|
|
2788
2754
|
exponentialBackoffDelay
|
|
2789
2755
|
}) {
|
|
2790
2756
|
const headers = APICallError2.isInstance(error) ? error.responseHeaders : APICallError2.isInstance(error.cause) ? error.cause.responseHeaders : void 0;
|
|
2791
|
-
if (!headers)
|
|
2792
|
-
return exponentialBackoffDelay;
|
|
2757
|
+
if (!headers) return exponentialBackoffDelay;
|
|
2793
2758
|
let ms;
|
|
2794
2759
|
const retryAfterMs = headers["retry-after-ms"];
|
|
2795
2760
|
if (retryAfterMs) {
|
|
@@ -2967,6 +2932,191 @@ function collectToolApprovals({
|
|
|
2967
2932
|
return { approvedToolApprovals, deniedToolApprovals };
|
|
2968
2933
|
}
|
|
2969
2934
|
|
|
2935
|
+
// src/generate-text/generated-file.ts
|
|
2936
|
+
import {
|
|
2937
|
+
convertBase64ToUint8Array,
|
|
2938
|
+
convertUint8ArrayToBase64
|
|
2939
|
+
} from "@ai-sdk/provider-utils";
|
|
2940
|
+
var DefaultGeneratedFile = class {
|
|
2941
|
+
constructor({
|
|
2942
|
+
data,
|
|
2943
|
+
mediaType,
|
|
2944
|
+
providerMetadata
|
|
2945
|
+
}) {
|
|
2946
|
+
const isUint8Array = data instanceof Uint8Array;
|
|
2947
|
+
this.base64Data = isUint8Array ? void 0 : data;
|
|
2948
|
+
this.uint8ArrayData = isUint8Array ? data : void 0;
|
|
2949
|
+
this.mediaType = mediaType;
|
|
2950
|
+
this.providerMetadata = providerMetadata;
|
|
2951
|
+
}
|
|
2952
|
+
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
|
2953
|
+
get base64() {
|
|
2954
|
+
if (this.base64Data == null) {
|
|
2955
|
+
this.base64Data = convertUint8ArrayToBase64(this.uint8ArrayData);
|
|
2956
|
+
}
|
|
2957
|
+
return this.base64Data;
|
|
2958
|
+
}
|
|
2959
|
+
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
|
2960
|
+
get uint8Array() {
|
|
2961
|
+
if (this.uint8ArrayData == null) {
|
|
2962
|
+
this.uint8ArrayData = convertBase64ToUint8Array(this.base64Data);
|
|
2963
|
+
}
|
|
2964
|
+
return this.uint8ArrayData;
|
|
2965
|
+
}
|
|
2966
|
+
};
|
|
2967
|
+
var DefaultGeneratedFileWithType = class extends DefaultGeneratedFile {
|
|
2968
|
+
constructor(options) {
|
|
2969
|
+
super(options);
|
|
2970
|
+
this.type = "file";
|
|
2971
|
+
}
|
|
2972
|
+
};
|
|
2973
|
+
|
|
2974
|
+
// src/generate-text/convert-language-model-content.ts
|
|
2975
|
+
function convertLanguageModelContent({
|
|
2976
|
+
content,
|
|
2977
|
+
toolCalls,
|
|
2978
|
+
toolOutputs,
|
|
2979
|
+
toolApprovalRequests,
|
|
2980
|
+
toolApprovalResponses,
|
|
2981
|
+
tools
|
|
2982
|
+
}) {
|
|
2983
|
+
const contentParts = [];
|
|
2984
|
+
const toolOutputsWithApprovalResponses = [];
|
|
2985
|
+
const toolOutputsWithoutApprovalResponses = [];
|
|
2986
|
+
const toolCallIdsWithApprovalResponses = new Set(
|
|
2987
|
+
toolApprovalResponses.map(
|
|
2988
|
+
(toolApprovalResponse) => toolApprovalResponse.toolCall.toolCallId
|
|
2989
|
+
)
|
|
2990
|
+
);
|
|
2991
|
+
for (const part of content) {
|
|
2992
|
+
switch (part.type) {
|
|
2993
|
+
case "text":
|
|
2994
|
+
case "reasoning":
|
|
2995
|
+
case "custom":
|
|
2996
|
+
case "source":
|
|
2997
|
+
contentParts.push(part);
|
|
2998
|
+
break;
|
|
2999
|
+
case "file":
|
|
3000
|
+
case "reasoning-file": {
|
|
3001
|
+
contentParts.push({
|
|
3002
|
+
type: part.type,
|
|
3003
|
+
file: new DefaultGeneratedFile({
|
|
3004
|
+
data: part.data.type === "data" ? part.data.data : part.data.url.toString(),
|
|
3005
|
+
mediaType: part.mediaType
|
|
3006
|
+
}),
|
|
3007
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
|
3008
|
+
});
|
|
3009
|
+
break;
|
|
3010
|
+
}
|
|
3011
|
+
case "tool-call": {
|
|
3012
|
+
const toolCall = toolCalls.find(
|
|
3013
|
+
(toolCall2) => toolCall2.toolCallId === part.toolCallId
|
|
3014
|
+
);
|
|
3015
|
+
if (toolCall == null) {
|
|
3016
|
+
throw new Error(`Tool call ${part.toolCallId} not found.`);
|
|
3017
|
+
}
|
|
3018
|
+
contentParts.push(toolCall);
|
|
3019
|
+
break;
|
|
3020
|
+
}
|
|
3021
|
+
case "tool-result": {
|
|
3022
|
+
const toolCall = toolCalls.find(
|
|
3023
|
+
(toolCall2) => toolCall2.toolCallId === part.toolCallId
|
|
3024
|
+
);
|
|
3025
|
+
if (toolCall == null) {
|
|
3026
|
+
const tool2 = getOwn(tools, part.toolName);
|
|
3027
|
+
const supportsDeferredResults = (tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults;
|
|
3028
|
+
if (!supportsDeferredResults) {
|
|
3029
|
+
throw new Error(`Tool call ${part.toolCallId} not found.`);
|
|
3030
|
+
}
|
|
3031
|
+
if (part.isError) {
|
|
3032
|
+
contentParts.push({
|
|
3033
|
+
type: "tool-error",
|
|
3034
|
+
toolCallId: part.toolCallId,
|
|
3035
|
+
toolName: part.toolName,
|
|
3036
|
+
input: void 0,
|
|
3037
|
+
error: part.result,
|
|
3038
|
+
providerExecuted: true,
|
|
3039
|
+
dynamic: part.dynamic,
|
|
3040
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
|
|
3041
|
+
...(tool2 == null ? void 0 : tool2.metadata) != null ? { toolMetadata: tool2.metadata } : {}
|
|
3042
|
+
});
|
|
3043
|
+
} else {
|
|
3044
|
+
contentParts.push({
|
|
3045
|
+
type: "tool-result",
|
|
3046
|
+
toolCallId: part.toolCallId,
|
|
3047
|
+
toolName: part.toolName,
|
|
3048
|
+
input: void 0,
|
|
3049
|
+
output: part.result,
|
|
3050
|
+
providerExecuted: true,
|
|
3051
|
+
dynamic: part.dynamic,
|
|
3052
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
|
|
3053
|
+
...(tool2 == null ? void 0 : tool2.metadata) != null ? { toolMetadata: tool2.metadata } : {}
|
|
3054
|
+
});
|
|
3055
|
+
}
|
|
3056
|
+
break;
|
|
3057
|
+
}
|
|
3058
|
+
if (part.isError) {
|
|
3059
|
+
contentParts.push({
|
|
3060
|
+
type: "tool-error",
|
|
3061
|
+
toolCallId: part.toolCallId,
|
|
3062
|
+
toolName: part.toolName,
|
|
3063
|
+
input: toolCall.input,
|
|
3064
|
+
error: part.result,
|
|
3065
|
+
providerExecuted: true,
|
|
3066
|
+
dynamic: toolCall.dynamic,
|
|
3067
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
|
|
3068
|
+
...toolCall.toolMetadata != null ? { toolMetadata: toolCall.toolMetadata } : {}
|
|
3069
|
+
});
|
|
3070
|
+
} else {
|
|
3071
|
+
contentParts.push({
|
|
3072
|
+
type: "tool-result",
|
|
3073
|
+
toolCallId: part.toolCallId,
|
|
3074
|
+
toolName: part.toolName,
|
|
3075
|
+
input: toolCall.input,
|
|
3076
|
+
output: part.result,
|
|
3077
|
+
providerExecuted: true,
|
|
3078
|
+
dynamic: toolCall.dynamic,
|
|
3079
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
|
|
3080
|
+
...toolCall.toolMetadata != null ? { toolMetadata: toolCall.toolMetadata } : {}
|
|
3081
|
+
});
|
|
3082
|
+
}
|
|
3083
|
+
break;
|
|
3084
|
+
}
|
|
3085
|
+
case "tool-approval-request": {
|
|
3086
|
+
const toolCall = toolCalls.find(
|
|
3087
|
+
(toolCall2) => toolCall2.toolCallId === part.toolCallId
|
|
3088
|
+
);
|
|
3089
|
+
if (toolCall == null) {
|
|
3090
|
+
throw new ToolCallNotFoundForApprovalError({
|
|
3091
|
+
toolCallId: part.toolCallId,
|
|
3092
|
+
approvalId: part.approvalId
|
|
3093
|
+
});
|
|
3094
|
+
}
|
|
3095
|
+
contentParts.push({
|
|
3096
|
+
type: "tool-approval-request",
|
|
3097
|
+
approvalId: part.approvalId,
|
|
3098
|
+
toolCall
|
|
3099
|
+
});
|
|
3100
|
+
break;
|
|
3101
|
+
}
|
|
3102
|
+
}
|
|
3103
|
+
}
|
|
3104
|
+
for (const toolOutput of toolOutputs) {
|
|
3105
|
+
if (toolCallIdsWithApprovalResponses.has(toolOutput.toolCallId)) {
|
|
3106
|
+
toolOutputsWithApprovalResponses.push(toolOutput);
|
|
3107
|
+
} else {
|
|
3108
|
+
toolOutputsWithoutApprovalResponses.push(toolOutput);
|
|
3109
|
+
}
|
|
3110
|
+
}
|
|
3111
|
+
return [
|
|
3112
|
+
...contentParts,
|
|
3113
|
+
...toolOutputsWithoutApprovalResponses,
|
|
3114
|
+
...toolApprovalRequests,
|
|
3115
|
+
...toolApprovalResponses,
|
|
3116
|
+
...toolOutputsWithApprovalResponses
|
|
3117
|
+
];
|
|
3118
|
+
}
|
|
3119
|
+
|
|
2970
3120
|
// src/generate-text/execute-tool-call.ts
|
|
2971
3121
|
import {
|
|
2972
3122
|
executeTool,
|
|
@@ -3139,43 +3289,6 @@ function filterActiveTools({
|
|
|
3139
3289
|
);
|
|
3140
3290
|
}
|
|
3141
3291
|
|
|
3142
|
-
// src/generate-text/generated-file.ts
|
|
3143
|
-
import {
|
|
3144
|
-
convertBase64ToUint8Array,
|
|
3145
|
-
convertUint8ArrayToBase64
|
|
3146
|
-
} from "@ai-sdk/provider-utils";
|
|
3147
|
-
var DefaultGeneratedFile = class {
|
|
3148
|
-
constructor({
|
|
3149
|
-
data,
|
|
3150
|
-
mediaType
|
|
3151
|
-
}) {
|
|
3152
|
-
const isUint8Array = data instanceof Uint8Array;
|
|
3153
|
-
this.base64Data = isUint8Array ? void 0 : data;
|
|
3154
|
-
this.uint8ArrayData = isUint8Array ? data : void 0;
|
|
3155
|
-
this.mediaType = mediaType;
|
|
3156
|
-
}
|
|
3157
|
-
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
|
3158
|
-
get base64() {
|
|
3159
|
-
if (this.base64Data == null) {
|
|
3160
|
-
this.base64Data = convertUint8ArrayToBase64(this.uint8ArrayData);
|
|
3161
|
-
}
|
|
3162
|
-
return this.base64Data;
|
|
3163
|
-
}
|
|
3164
|
-
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
|
3165
|
-
get uint8Array() {
|
|
3166
|
-
if (this.uint8ArrayData == null) {
|
|
3167
|
-
this.uint8ArrayData = convertBase64ToUint8Array(this.base64Data);
|
|
3168
|
-
}
|
|
3169
|
-
return this.uint8ArrayData;
|
|
3170
|
-
}
|
|
3171
|
-
};
|
|
3172
|
-
var DefaultGeneratedFileWithType = class extends DefaultGeneratedFile {
|
|
3173
|
-
constructor(options) {
|
|
3174
|
-
super(options);
|
|
3175
|
-
this.type = "file";
|
|
3176
|
-
}
|
|
3177
|
-
};
|
|
3178
|
-
|
|
3179
3292
|
// src/generate-text/is-tool-execution-allowed-finish-reason.ts
|
|
3180
3293
|
function isToolExecutionAllowedFinishReason(finishReason) {
|
|
3181
3294
|
return finishReason === "stop" || finishReason === "tool-calls";
|
|
@@ -4041,10 +4154,10 @@ function prepareStepCallSettings({
|
|
|
4041
4154
|
callSettings,
|
|
4042
4155
|
stepSettings
|
|
4043
4156
|
}) {
|
|
4044
|
-
var _a24,
|
|
4157
|
+
var _a24, _b24, _c, _d, _e, _f, _g, _h, _i;
|
|
4045
4158
|
return prepareLanguageModelCallOptions({
|
|
4046
4159
|
maxOutputTokens: (_a24 = stepSettings == null ? void 0 : stepSettings.maxOutputTokens) != null ? _a24 : callSettings.maxOutputTokens,
|
|
4047
|
-
temperature: (
|
|
4160
|
+
temperature: (_b24 = stepSettings == null ? void 0 : stepSettings.temperature) != null ? _b24 : callSettings.temperature,
|
|
4048
4161
|
topP: (_c = stepSettings == null ? void 0 : stepSettings.topP) != null ? _c : callSettings.topP,
|
|
4049
4162
|
topK: (_d = stepSettings == null ? void 0 : stepSettings.topK) != null ? _d : callSettings.topK,
|
|
4050
4163
|
presencePenalty: (_e = stepSettings == null ? void 0 : stepSettings.presencePenalty) != null ? _e : callSettings.presencePenalty,
|
|
@@ -4351,7 +4464,7 @@ function createTelemetryDispatcher({
|
|
|
4351
4464
|
var _a24;
|
|
4352
4465
|
return (_a24 = integration[key]) == null ? void 0 : _a24.bind(integration);
|
|
4353
4466
|
}).filter(Boolean).map(
|
|
4354
|
-
(callback) => (event) => callback(augmentEvent(event, telemetryMetadata))
|
|
4467
|
+
(callback) => ((event) => callback(augmentEvent(event, telemetryMetadata)))
|
|
4355
4468
|
);
|
|
4356
4469
|
const mergedIntegrationCallback = mergeCallbacks(...integrationCallbacks);
|
|
4357
4470
|
return async (event) => {
|
|
@@ -4740,8 +4853,8 @@ function isLoopFinished() {
|
|
|
4740
4853
|
}
|
|
4741
4854
|
function hasToolCall(...toolName) {
|
|
4742
4855
|
return ({ steps }) => {
|
|
4743
|
-
var _a24,
|
|
4744
|
-
return (_c = (
|
|
4856
|
+
var _a24, _b24, _c;
|
|
4857
|
+
return (_c = (_b24 = (_a24 = steps[steps.length - 1]) == null ? void 0 : _a24.toolCalls) == null ? void 0 : _b24.some(
|
|
4745
4858
|
(toolCall) => toolName.includes(toolCall.toolName)
|
|
4746
4859
|
)) != null ? _c : false;
|
|
4747
4860
|
};
|
|
@@ -5006,7 +5119,7 @@ function prepareToolsForToolCallers({
|
|
|
5006
5119
|
tools,
|
|
5007
5120
|
toolCallers
|
|
5008
5121
|
}) {
|
|
5009
|
-
var _a24,
|
|
5122
|
+
var _a24, _b24;
|
|
5010
5123
|
if (tools == null || toolCallers == null) {
|
|
5011
5124
|
return { executionTools: tools, modelTools: tools };
|
|
5012
5125
|
}
|
|
@@ -5056,7 +5169,7 @@ function prepareToolsForToolCallers({
|
|
|
5056
5169
|
if ((caller == null ? void 0 : caller.type) !== "local") {
|
|
5057
5170
|
continue;
|
|
5058
5171
|
}
|
|
5059
|
-
const boundCaller = caller.bind((
|
|
5172
|
+
const boundCaller = caller.bind((_b24 = localToolsByCaller.get(callerName)) != null ? _b24 : {});
|
|
5060
5173
|
executionTools[callerName] = boundCaller;
|
|
5061
5174
|
if (Object.prototype.hasOwnProperty.call(modelTools, callerName)) {
|
|
5062
5175
|
modelTools[callerName] = boundCaller;
|
|
@@ -5079,7 +5192,7 @@ function canonicalJSON(value) {
|
|
|
5079
5192
|
return JSON.stringify(value);
|
|
5080
5193
|
}
|
|
5081
5194
|
if (Array.isArray(value)) {
|
|
5082
|
-
return `[${value.map(canonicalJSON).join(",")}]`;
|
|
5195
|
+
return `[${value.map((element) => element === void 0 ? "null" : canonicalJSON(element)).join(",")}]`;
|
|
5083
5196
|
}
|
|
5084
5197
|
const keys = Object.keys(value).sort();
|
|
5085
5198
|
const entries = keys.map(
|
|
@@ -5178,8 +5291,7 @@ async function maybeSignApproval({
|
|
|
5178
5291
|
toolName,
|
|
5179
5292
|
input
|
|
5180
5293
|
}) {
|
|
5181
|
-
if (secret == null)
|
|
5182
|
-
return void 0;
|
|
5294
|
+
if (secret == null) return void 0;
|
|
5183
5295
|
return signToolApproval({ secret, approvalId, toolCallId, toolName, input });
|
|
5184
5296
|
}
|
|
5185
5297
|
|
|
@@ -5339,10 +5451,10 @@ async function generateText({
|
|
|
5339
5451
|
onEnd = onFinish,
|
|
5340
5452
|
...settings
|
|
5341
5453
|
}) {
|
|
5342
|
-
var _a24,
|
|
5454
|
+
var _a24, _b24, _c, _d;
|
|
5343
5455
|
include = {
|
|
5344
5456
|
requestBody: (_a24 = include == null ? void 0 : include.requestBody) != null ? _a24 : false,
|
|
5345
|
-
requestMessages: (
|
|
5457
|
+
requestMessages: (_b24 = include == null ? void 0 : include.requestMessages) != null ? _b24 : false,
|
|
5346
5458
|
responseBody: (_c = include == null ? void 0 : include.responseBody) != null ? _c : false
|
|
5347
5459
|
};
|
|
5348
5460
|
const model = resolveLanguageModel(modelArg);
|
|
@@ -5410,7 +5522,7 @@ async function generateText({
|
|
|
5410
5522
|
includeRuntimeContext: telemetry == null ? void 0 : telemetry.includeRuntimeContext,
|
|
5411
5523
|
includeToolsContext: telemetry == null ? void 0 : telemetry.includeToolsContext
|
|
5412
5524
|
});
|
|
5413
|
-
const runInTracingChannelSpan = (_d = telemetryDispatcher.runInTracingChannelSpan) != null ? _d : async ({ execute }) => await execute();
|
|
5525
|
+
const runInTracingChannelSpan = (_d = telemetryDispatcher.runInTracingChannelSpan) != null ? _d : (async ({ execute }) => await execute());
|
|
5414
5526
|
const generateTextStartEvent = {
|
|
5415
5527
|
callId,
|
|
5416
5528
|
operationId: "ai.generateText",
|
|
@@ -5586,7 +5698,7 @@ async function generateText({
|
|
|
5586
5698
|
type: "step",
|
|
5587
5699
|
event: { callId, stepNumber },
|
|
5588
5700
|
execute: async () => {
|
|
5589
|
-
var _a26,
|
|
5701
|
+
var _a26, _b25, _c2, _d2, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
|
|
5590
5702
|
const accumulatedResponseMessages = [
|
|
5591
5703
|
...initialResponseMessages,
|
|
5592
5704
|
...steps.flatMap((step) => step.response.messages)
|
|
@@ -5607,7 +5719,7 @@ async function generateText({
|
|
|
5607
5719
|
}));
|
|
5608
5720
|
const stepSandbox = (_a26 = prepareStepResult == null ? void 0 : prepareStepResult.experimental_sandbox) != null ? _a26 : sandbox;
|
|
5609
5721
|
const stepModel = resolveLanguageModel(
|
|
5610
|
-
(
|
|
5722
|
+
(_b25 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _b25 : model
|
|
5611
5723
|
);
|
|
5612
5724
|
const stepInstructions = (_d2 = (_c2 = prepareStepResult == null ? void 0 : prepareStepResult.instructions) != null ? _c2 : prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _d2 : instructionsForNextStep;
|
|
5613
5725
|
const promptMessages = await convertToLanguageModelPrompt({
|
|
@@ -5698,9 +5810,9 @@ async function generateText({
|
|
|
5698
5810
|
telemetryDispatcher.onLanguageModelCallStart
|
|
5699
5811
|
]
|
|
5700
5812
|
});
|
|
5701
|
-
const executeLanguageModelCallInTelemetryContext = (_n = telemetryDispatcher.executeLanguageModelCall) != null ? _n : async ({ execute }) => await execute();
|
|
5813
|
+
const executeLanguageModelCallInTelemetryContext = (_n = telemetryDispatcher.executeLanguageModelCall) != null ? _n : (async ({ execute }) => await execute());
|
|
5702
5814
|
currentModelResponse = await retry(async () => {
|
|
5703
|
-
var _a27,
|
|
5815
|
+
var _a27, _b26, _c3, _d3, _e2, _f2, _g2, _h2;
|
|
5704
5816
|
const result = await executeLanguageModelCallInTelemetryContext(
|
|
5705
5817
|
{
|
|
5706
5818
|
...languageModelCallStartEvent,
|
|
@@ -5717,7 +5829,7 @@ async function generateText({
|
|
|
5717
5829
|
}
|
|
5718
5830
|
);
|
|
5719
5831
|
const responseData = {
|
|
5720
|
-
id: (
|
|
5832
|
+
id: (_b26 = (_a27 = result.response) == null ? void 0 : _a27.id) != null ? _b26 : generateId4(),
|
|
5721
5833
|
timestamp: (_d3 = (_c3 = result.response) == null ? void 0 : _c3.timestamp) != null ? _d3 : /* @__PURE__ */ new Date(),
|
|
5722
5834
|
modelId: (_f2 = (_e2 = result.response) == null ? void 0 : _e2.modelId) != null ? _f2 : stepModel.modelId,
|
|
5723
5835
|
headers: (_g2 = result.response) == null ? void 0 : _g2.headers,
|
|
@@ -5746,7 +5858,7 @@ async function generateText({
|
|
|
5746
5858
|
const toolApprovalRequests = {};
|
|
5747
5859
|
const stepToolApprovalResponses = {};
|
|
5748
5860
|
const blockedToolCallIds = /* @__PURE__ */ new Set();
|
|
5749
|
-
const modelCallContent =
|
|
5861
|
+
const modelCallContent = convertLanguageModelContent({
|
|
5750
5862
|
content: currentModelResponse.content,
|
|
5751
5863
|
toolCalls: stepToolCalls,
|
|
5752
5864
|
toolOutputs: [],
|
|
@@ -5963,8 +6075,7 @@ async function generateText({
|
|
|
5963
6075
|
timeToFirstOutputMs: void 0
|
|
5964
6076
|
};
|
|
5965
6077
|
for (const toolCall of stepToolCalls) {
|
|
5966
|
-
if (!toolCall.providerExecuted)
|
|
5967
|
-
continue;
|
|
6078
|
+
if (!toolCall.providerExecuted) continue;
|
|
5968
6079
|
const tool2 = getOwn(stepExecutionTools, toolCall.toolName);
|
|
5969
6080
|
if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
|
|
5970
6081
|
const hasResultInResponse = currentModelResponse.content.some(
|
|
@@ -5982,7 +6093,7 @@ async function generateText({
|
|
|
5982
6093
|
pendingDeferredToolCalls.delete(part.toolCallId);
|
|
5983
6094
|
}
|
|
5984
6095
|
}
|
|
5985
|
-
const stepContent =
|
|
6096
|
+
const stepContent = convertLanguageModelContent({
|
|
5986
6097
|
content: currentModelResponse.content,
|
|
5987
6098
|
toolCalls: stepToolCalls,
|
|
5988
6099
|
toolOutputs: clientToolOutputs,
|
|
@@ -6266,146 +6377,6 @@ var DefaultGenerateTextResult = class {
|
|
|
6266
6377
|
return this._output;
|
|
6267
6378
|
}
|
|
6268
6379
|
};
|
|
6269
|
-
function asContent({
|
|
6270
|
-
content,
|
|
6271
|
-
toolCalls,
|
|
6272
|
-
toolOutputs,
|
|
6273
|
-
toolApprovalRequests,
|
|
6274
|
-
toolApprovalResponses,
|
|
6275
|
-
tools
|
|
6276
|
-
}) {
|
|
6277
|
-
const contentParts = [];
|
|
6278
|
-
const toolOutputsWithApprovalResponses = [];
|
|
6279
|
-
const toolOutputsWithoutApprovalResponses = [];
|
|
6280
|
-
const toolCallIdsWithApprovalResponses = new Set(
|
|
6281
|
-
toolApprovalResponses.map(
|
|
6282
|
-
(toolApprovalResponse) => toolApprovalResponse.toolCall.toolCallId
|
|
6283
|
-
)
|
|
6284
|
-
);
|
|
6285
|
-
for (const part of content) {
|
|
6286
|
-
switch (part.type) {
|
|
6287
|
-
case "text":
|
|
6288
|
-
case "reasoning":
|
|
6289
|
-
case "custom":
|
|
6290
|
-
case "source":
|
|
6291
|
-
contentParts.push(part);
|
|
6292
|
-
break;
|
|
6293
|
-
case "file":
|
|
6294
|
-
case "reasoning-file": {
|
|
6295
|
-
contentParts.push({
|
|
6296
|
-
type: part.type,
|
|
6297
|
-
file: new DefaultGeneratedFile({
|
|
6298
|
-
data: part.data.type === "data" ? part.data.data : part.data.url.toString(),
|
|
6299
|
-
mediaType: part.mediaType
|
|
6300
|
-
}),
|
|
6301
|
-
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
|
6302
|
-
});
|
|
6303
|
-
break;
|
|
6304
|
-
}
|
|
6305
|
-
case "tool-call": {
|
|
6306
|
-
contentParts.push(
|
|
6307
|
-
toolCalls.find((toolCall) => toolCall.toolCallId === part.toolCallId)
|
|
6308
|
-
);
|
|
6309
|
-
break;
|
|
6310
|
-
}
|
|
6311
|
-
case "tool-result": {
|
|
6312
|
-
const toolCall = toolCalls.find(
|
|
6313
|
-
(toolCall2) => toolCall2.toolCallId === part.toolCallId
|
|
6314
|
-
);
|
|
6315
|
-
if (toolCall == null) {
|
|
6316
|
-
const tool2 = getOwn(tools, part.toolName);
|
|
6317
|
-
const supportsDeferredResults = (tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults;
|
|
6318
|
-
if (!supportsDeferredResults) {
|
|
6319
|
-
throw new Error(`Tool call ${part.toolCallId} not found.`);
|
|
6320
|
-
}
|
|
6321
|
-
if (part.isError) {
|
|
6322
|
-
contentParts.push({
|
|
6323
|
-
type: "tool-error",
|
|
6324
|
-
toolCallId: part.toolCallId,
|
|
6325
|
-
toolName: part.toolName,
|
|
6326
|
-
input: void 0,
|
|
6327
|
-
error: part.result,
|
|
6328
|
-
providerExecuted: true,
|
|
6329
|
-
dynamic: part.dynamic,
|
|
6330
|
-
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
|
|
6331
|
-
...(tool2 == null ? void 0 : tool2.metadata) != null ? { toolMetadata: tool2.metadata } : {}
|
|
6332
|
-
});
|
|
6333
|
-
} else {
|
|
6334
|
-
contentParts.push({
|
|
6335
|
-
type: "tool-result",
|
|
6336
|
-
toolCallId: part.toolCallId,
|
|
6337
|
-
toolName: part.toolName,
|
|
6338
|
-
input: void 0,
|
|
6339
|
-
output: part.result,
|
|
6340
|
-
providerExecuted: true,
|
|
6341
|
-
dynamic: part.dynamic,
|
|
6342
|
-
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
|
|
6343
|
-
...(tool2 == null ? void 0 : tool2.metadata) != null ? { toolMetadata: tool2.metadata } : {}
|
|
6344
|
-
});
|
|
6345
|
-
}
|
|
6346
|
-
break;
|
|
6347
|
-
}
|
|
6348
|
-
if (part.isError) {
|
|
6349
|
-
contentParts.push({
|
|
6350
|
-
type: "tool-error",
|
|
6351
|
-
toolCallId: part.toolCallId,
|
|
6352
|
-
toolName: part.toolName,
|
|
6353
|
-
input: toolCall.input,
|
|
6354
|
-
error: part.result,
|
|
6355
|
-
providerExecuted: true,
|
|
6356
|
-
dynamic: toolCall.dynamic,
|
|
6357
|
-
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
|
|
6358
|
-
...toolCall.toolMetadata != null ? { toolMetadata: toolCall.toolMetadata } : {}
|
|
6359
|
-
});
|
|
6360
|
-
} else {
|
|
6361
|
-
contentParts.push({
|
|
6362
|
-
type: "tool-result",
|
|
6363
|
-
toolCallId: part.toolCallId,
|
|
6364
|
-
toolName: part.toolName,
|
|
6365
|
-
input: toolCall.input,
|
|
6366
|
-
output: part.result,
|
|
6367
|
-
providerExecuted: true,
|
|
6368
|
-
dynamic: toolCall.dynamic,
|
|
6369
|
-
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
|
|
6370
|
-
...toolCall.toolMetadata != null ? { toolMetadata: toolCall.toolMetadata } : {}
|
|
6371
|
-
});
|
|
6372
|
-
}
|
|
6373
|
-
break;
|
|
6374
|
-
}
|
|
6375
|
-
case "tool-approval-request": {
|
|
6376
|
-
const toolCall = toolCalls.find(
|
|
6377
|
-
(toolCall2) => toolCall2.toolCallId === part.toolCallId
|
|
6378
|
-
);
|
|
6379
|
-
if (toolCall == null) {
|
|
6380
|
-
throw new ToolCallNotFoundForApprovalError({
|
|
6381
|
-
toolCallId: part.toolCallId,
|
|
6382
|
-
approvalId: part.approvalId
|
|
6383
|
-
});
|
|
6384
|
-
}
|
|
6385
|
-
contentParts.push({
|
|
6386
|
-
type: "tool-approval-request",
|
|
6387
|
-
approvalId: part.approvalId,
|
|
6388
|
-
toolCall
|
|
6389
|
-
});
|
|
6390
|
-
break;
|
|
6391
|
-
}
|
|
6392
|
-
}
|
|
6393
|
-
}
|
|
6394
|
-
for (const toolOutput of toolOutputs) {
|
|
6395
|
-
if (toolCallIdsWithApprovalResponses.has(toolOutput.toolCallId)) {
|
|
6396
|
-
toolOutputsWithApprovalResponses.push(toolOutput);
|
|
6397
|
-
} else {
|
|
6398
|
-
toolOutputsWithoutApprovalResponses.push(toolOutput);
|
|
6399
|
-
}
|
|
6400
|
-
}
|
|
6401
|
-
return [
|
|
6402
|
-
...contentParts,
|
|
6403
|
-
...toolOutputsWithoutApprovalResponses,
|
|
6404
|
-
...toolApprovalRequests,
|
|
6405
|
-
...toolApprovalResponses,
|
|
6406
|
-
...toolOutputsWithApprovalResponses
|
|
6407
|
-
];
|
|
6408
|
-
}
|
|
6409
6380
|
|
|
6410
6381
|
// src/generate-text/stream-text.ts
|
|
6411
6382
|
import {
|
|
@@ -6466,8 +6437,7 @@ function writeToServerResponse({
|
|
|
6466
6437
|
try {
|
|
6467
6438
|
while (true) {
|
|
6468
6439
|
const { done, value } = await reader.read();
|
|
6469
|
-
if (done)
|
|
6470
|
-
break;
|
|
6440
|
+
if (done) break;
|
|
6471
6441
|
const canContinue = response.write(value);
|
|
6472
6442
|
const flush = response.flush;
|
|
6473
6443
|
if (typeof flush === "function") {
|
|
@@ -6887,7 +6857,7 @@ function processUIMessageStream({
|
|
|
6887
6857
|
new TransformStream({
|
|
6888
6858
|
async transform(chunk, controller) {
|
|
6889
6859
|
await runUpdateMessageJob(async ({ state, write }) => {
|
|
6890
|
-
var _a24,
|
|
6860
|
+
var _a24, _b24, _c, _d;
|
|
6891
6861
|
function getCurrentStepParts() {
|
|
6892
6862
|
const parts = state.message.parts;
|
|
6893
6863
|
let currentStepStartIndex = parts.length - 1;
|
|
@@ -6989,7 +6959,7 @@ function processUIMessageStream({
|
|
|
6989
6959
|
}
|
|
6990
6960
|
}
|
|
6991
6961
|
function updateDynamicToolPart(options, existingPart) {
|
|
6992
|
-
var _a25,
|
|
6962
|
+
var _a25, _b25;
|
|
6993
6963
|
const part = existingPart != null ? existingPart : getCurrentStepParts().find(
|
|
6994
6964
|
(part2) => part2.type === "dynamic-tool" && part2.toolCallId === options.toolCallId
|
|
6995
6965
|
);
|
|
@@ -7009,7 +6979,7 @@ function processUIMessageStream({
|
|
|
7009
6979
|
if (options.toolMetadata !== void 0) {
|
|
7010
6980
|
anyPart.toolMetadata = options.toolMetadata;
|
|
7011
6981
|
}
|
|
7012
|
-
anyPart.providerExecuted = (
|
|
6982
|
+
anyPart.providerExecuted = (_b25 = anyOptions.providerExecuted) != null ? _b25 : part.providerExecuted;
|
|
7013
6983
|
const providerMetadata = anyOptions.providerMetadata;
|
|
7014
6984
|
if (providerMetadata != null) {
|
|
7015
6985
|
if (options.state === "output-available" || options.state === "output-error") {
|
|
@@ -7090,7 +7060,7 @@ function processUIMessageStream({
|
|
|
7090
7060
|
});
|
|
7091
7061
|
}
|
|
7092
7062
|
textPart.state = "done";
|
|
7093
|
-
textPart.providerMetadata = (
|
|
7063
|
+
textPart.providerMetadata = (_b24 = chunk.providerMetadata) != null ? _b24 : textPart.providerMetadata;
|
|
7094
7064
|
delete state.activeTextParts[chunk.id];
|
|
7095
7065
|
write();
|
|
7096
7066
|
break;
|
|
@@ -8041,8 +8011,7 @@ function asAsyncIterableStream(stream) {
|
|
|
8041
8011
|
let finished = false;
|
|
8042
8012
|
async function cleanup(cancelStream) {
|
|
8043
8013
|
var _a24;
|
|
8044
|
-
if (finished)
|
|
8045
|
-
return;
|
|
8014
|
+
if (finished) return;
|
|
8046
8015
|
finished = true;
|
|
8047
8016
|
try {
|
|
8048
8017
|
if (cancelStream) {
|
|
@@ -8121,8 +8090,7 @@ async function consumeStream({
|
|
|
8121
8090
|
try {
|
|
8122
8091
|
while (true) {
|
|
8123
8092
|
const { done } = await reader.read();
|
|
8124
|
-
if (done)
|
|
8125
|
-
break;
|
|
8093
|
+
if (done) break;
|
|
8126
8094
|
}
|
|
8127
8095
|
} catch (error) {
|
|
8128
8096
|
onError == null ? void 0 : onError(error);
|
|
@@ -8428,8 +8396,7 @@ function invokeToolCallbacksFromStream({
|
|
|
8428
8396
|
abortSignal,
|
|
8429
8397
|
runtimeContext
|
|
8430
8398
|
}) {
|
|
8431
|
-
if (tools == null)
|
|
8432
|
-
return stream;
|
|
8399
|
+
if (tools == null) return stream;
|
|
8433
8400
|
const ongoingToolCallToolNames = createIdMap();
|
|
8434
8401
|
return stream.pipeThrough(
|
|
8435
8402
|
new TransformStream({
|
|
@@ -8495,7 +8462,7 @@ import {
|
|
|
8495
8462
|
import { AISDKError as AISDKError26 } from "@ai-sdk/provider";
|
|
8496
8463
|
import { isProviderStreamError } from "@ai-sdk/provider-utils";
|
|
8497
8464
|
function normalizeStreamProviderError(error) {
|
|
8498
|
-
var _a24,
|
|
8465
|
+
var _a24, _b24, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
|
|
8499
8466
|
if (isError(error) || AISDKError26.isInstance(error) || StreamProviderError.isInstance(error)) {
|
|
8500
8467
|
return error;
|
|
8501
8468
|
}
|
|
@@ -8504,7 +8471,7 @@ function normalizeStreamProviderError(error) {
|
|
|
8504
8471
|
return error;
|
|
8505
8472
|
}
|
|
8506
8473
|
const providerStreamError = isProviderStreamError(error);
|
|
8507
|
-
const details = providerStreamError ? outer : (_c = (
|
|
8474
|
+
const details = providerStreamError ? outer : (_c = (_b24 = asRecord((_a24 = asRecord(outer.response)) == null ? void 0 : _a24.error)) != null ? _b24 : asRecord(outer.error)) != null ? _c : outer;
|
|
8508
8475
|
if (typeof details.message !== "string") {
|
|
8509
8476
|
return error;
|
|
8510
8477
|
}
|
|
@@ -8714,7 +8681,7 @@ function createLanguageModelV4StreamPartToLanguageModelStreamPartTransform({
|
|
|
8714
8681
|
const timeBetweenOutputChunksMs = [];
|
|
8715
8682
|
return new TransformStream({
|
|
8716
8683
|
async transform(chunk, controller) {
|
|
8717
|
-
var _a24,
|
|
8684
|
+
var _a24, _b24, _c;
|
|
8718
8685
|
if (isOutputChunk(chunk)) {
|
|
8719
8686
|
const outputChunkTimestampMs = now2();
|
|
8720
8687
|
if (timeToFirstOutputMs == null) {
|
|
@@ -8973,7 +8940,7 @@ function createLanguageModelV4StreamPartToLanguageModelStreamPartTransform({
|
|
|
8973
8940
|
break;
|
|
8974
8941
|
}
|
|
8975
8942
|
case "response-metadata": {
|
|
8976
|
-
responseId = (
|
|
8943
|
+
responseId = (_b24 = chunk.id) != null ? _b24 : responseId;
|
|
8977
8944
|
responseModelId = (_c = chunk.modelId) != null ? _c : responseModelId;
|
|
8978
8945
|
controller.enqueue({
|
|
8979
8946
|
type: "model-call-response-metadata",
|
|
@@ -9153,7 +9120,7 @@ function streamText({
|
|
|
9153
9120
|
} = {},
|
|
9154
9121
|
...settings
|
|
9155
9122
|
}) {
|
|
9156
|
-
var _a24,
|
|
9123
|
+
var _a24, _b24, _c, _d;
|
|
9157
9124
|
const totalTimeoutMs = getTotalTimeoutMs(timeout);
|
|
9158
9125
|
const stepTimeoutMs = getStepTimeoutMs(timeout);
|
|
9159
9126
|
const firstChunkTimeoutMs = getFirstChunkTimeoutMs(timeout);
|
|
@@ -9228,7 +9195,7 @@ function streamText({
|
|
|
9228
9195
|
// assign default values to include:
|
|
9229
9196
|
include: {
|
|
9230
9197
|
requestBody: (_a24 = include == null ? void 0 : include.requestBody) != null ? _a24 : false,
|
|
9231
|
-
requestMessages: (
|
|
9198
|
+
requestMessages: (_b24 = include == null ? void 0 : include.requestMessages) != null ? _b24 : false,
|
|
9232
9199
|
rawChunks: (_d = (_c = include == null ? void 0 : include.rawChunks) != null ? _c : includeRawChunks) != null ? _d : false
|
|
9233
9200
|
}
|
|
9234
9201
|
});
|
|
@@ -9412,7 +9379,7 @@ var DefaultStreamTextResult = class {
|
|
|
9412
9379
|
let recordedNoOutputError;
|
|
9413
9380
|
const eventProcessor = new TransformStream({
|
|
9414
9381
|
async transform(chunk, controller) {
|
|
9415
|
-
var _a24,
|
|
9382
|
+
var _a24, _b24, _c, _d;
|
|
9416
9383
|
controller.enqueue(chunk);
|
|
9417
9384
|
const { part } = chunk;
|
|
9418
9385
|
await notify({
|
|
@@ -9467,7 +9434,7 @@ var DefaultStreamTextResult = class {
|
|
|
9467
9434
|
});
|
|
9468
9435
|
return;
|
|
9469
9436
|
}
|
|
9470
|
-
activeText.providerMetadata = (
|
|
9437
|
+
activeText.providerMetadata = (_b24 = part.providerMetadata) != null ? _b24 : activeText.providerMetadata;
|
|
9471
9438
|
delete activeTextContent[part.id];
|
|
9472
9439
|
}
|
|
9473
9440
|
if (part.type === "reasoning-start") {
|
|
@@ -9947,7 +9914,7 @@ var DefaultStreamTextResult = class {
|
|
|
9947
9914
|
currentStep,
|
|
9948
9915
|
usage
|
|
9949
9916
|
}) {
|
|
9950
|
-
var _a25,
|
|
9917
|
+
var _a25, _b24, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
9951
9918
|
const stepTimeoutId = setAbortTimeout({
|
|
9952
9919
|
abortController: stepAbortController,
|
|
9953
9920
|
label: "Step",
|
|
@@ -10039,7 +10006,7 @@ var DefaultStreamTextResult = class {
|
|
|
10039
10006
|
runtimeContext,
|
|
10040
10007
|
experimental_sandbox: sandbox
|
|
10041
10008
|
}));
|
|
10042
|
-
const stepSandbox = (
|
|
10009
|
+
const stepSandbox = (_b24 = prepareStepResult == null ? void 0 : prepareStepResult.experimental_sandbox) != null ? _b24 : sandbox;
|
|
10043
10010
|
runtimeContext = (_c = prepareStepResult == null ? void 0 : prepareStepResult.runtimeContext) != null ? _c : runtimeContext;
|
|
10044
10011
|
toolsContext = (_d = prepareStepResult == null ? void 0 : prepareStepResult.toolsContext) != null ? _d : toolsContext;
|
|
10045
10012
|
const stepModel = resolveLanguageModel(
|
|
@@ -10088,12 +10055,12 @@ var DefaultStreamTextResult = class {
|
|
|
10088
10055
|
} = await runInStepTracingChannelContext(
|
|
10089
10056
|
() => retry(
|
|
10090
10057
|
async () => {
|
|
10091
|
-
var _a26,
|
|
10058
|
+
var _a26, _b25;
|
|
10092
10059
|
return streamLanguageModelCall({
|
|
10093
10060
|
model: (_a26 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a26 : model,
|
|
10094
10061
|
tools: stepModelTools,
|
|
10095
10062
|
toolOrder: stepToolOrder,
|
|
10096
|
-
toolChoice: (
|
|
10063
|
+
toolChoice: (_b25 = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _b25 : toolChoice,
|
|
10097
10064
|
instructions: stepInstructions,
|
|
10098
10065
|
messages: stepMessages,
|
|
10099
10066
|
allowSystemInMessages,
|
|
@@ -10118,7 +10085,7 @@ var DefaultStreamTextResult = class {
|
|
|
10118
10085
|
telemetryDispatcher.onLanguageModelCallEnd
|
|
10119
10086
|
),
|
|
10120
10087
|
onStart: async ({ promptMessages }) => {
|
|
10121
|
-
var _a27,
|
|
10088
|
+
var _a27, _b26;
|
|
10122
10089
|
await notify({
|
|
10123
10090
|
event: {
|
|
10124
10091
|
callId,
|
|
@@ -10129,7 +10096,7 @@ var DefaultStreamTextResult = class {
|
|
|
10129
10096
|
messages: stepMessages,
|
|
10130
10097
|
tools,
|
|
10131
10098
|
toolChoice: (_a27 = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _a27 : toolChoice,
|
|
10132
|
-
activeTools: (
|
|
10099
|
+
activeTools: (_b26 = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _b26 : activeTools,
|
|
10133
10100
|
toolOrder: stepToolOrder,
|
|
10134
10101
|
steps: [...recordedSteps],
|
|
10135
10102
|
providerOptions: stepProviderOptions,
|
|
@@ -10226,7 +10193,7 @@ var DefaultStreamTextResult = class {
|
|
|
10226
10193
|
streamWithToolResults.pipeThrough(
|
|
10227
10194
|
new TransformStream({
|
|
10228
10195
|
async transform(chunk, controller) {
|
|
10229
|
-
var _a26,
|
|
10196
|
+
var _a26, _b25, _c2, _d2, _e2, _f2, _g2;
|
|
10230
10197
|
if (chunk.type === "model-call-start") {
|
|
10231
10198
|
warnings = chunk.warnings;
|
|
10232
10199
|
return;
|
|
@@ -10277,7 +10244,7 @@ var DefaultStreamTextResult = class {
|
|
|
10277
10244
|
case "text-end": {
|
|
10278
10245
|
controller.enqueue({
|
|
10279
10246
|
...chunk,
|
|
10280
|
-
id: (
|
|
10247
|
+
id: (_b25 = textPartIds.get(chunk.id)) != null ? _b25 : chunk.id
|
|
10281
10248
|
});
|
|
10282
10249
|
textPartIds.delete(chunk.id);
|
|
10283
10250
|
break;
|
|
@@ -10407,8 +10374,7 @@ var DefaultStreamTextResult = class {
|
|
|
10407
10374
|
(toolApprovalResponse) => toolApprovalResponse.approved === false
|
|
10408
10375
|
);
|
|
10409
10376
|
for (const toolCall of stepToolCalls) {
|
|
10410
|
-
if (toolCall.providerExecuted !== true)
|
|
10411
|
-
continue;
|
|
10377
|
+
if (toolCall.providerExecuted !== true) continue;
|
|
10412
10378
|
const tool2 = getOwn(stepExecutionTools, toolCall.toolName);
|
|
10413
10379
|
if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
|
|
10414
10380
|
const hasResultInStep = stepToolOutputs.some(
|
|
@@ -10671,11 +10637,11 @@ var DefaultStreamTextResult = class {
|
|
|
10671
10637
|
);
|
|
10672
10638
|
}
|
|
10673
10639
|
get elementStream() {
|
|
10674
|
-
var _a24,
|
|
10640
|
+
var _a24, _b24, _c;
|
|
10675
10641
|
const transform = (_a24 = this.outputSpecification) == null ? void 0 : _a24.createElementStreamTransform();
|
|
10676
10642
|
if (transform == null) {
|
|
10677
10643
|
throw new UnsupportedFunctionalityError2({
|
|
10678
|
-
functionality: `element streams in ${(_c = (
|
|
10644
|
+
functionality: `element streams in ${(_c = (_b24 = this.outputSpecification) == null ? void 0 : _b24.name) != null ? _c : "text"} mode`
|
|
10679
10645
|
});
|
|
10680
10646
|
}
|
|
10681
10647
|
return createAsyncIterableStream(this.teeStream().pipeThrough(transform));
|
|
@@ -10820,7 +10786,7 @@ var ToolLoopAgent = class {
|
|
|
10820
10786
|
return this.settings.tools;
|
|
10821
10787
|
}
|
|
10822
10788
|
async prepareCall(options) {
|
|
10823
|
-
var _a24,
|
|
10789
|
+
var _a24, _b24, _c, _d;
|
|
10824
10790
|
if (this.settings.callOptionsSchema != null && options.options !== void 0) {
|
|
10825
10791
|
const validatedOptions = await validateTypes3({
|
|
10826
10792
|
value: options.options,
|
|
@@ -10847,8 +10813,8 @@ var ToolLoopAgent = class {
|
|
|
10847
10813
|
stopWhen: (_a24 = this.settings.stopWhen) != null ? _a24 : isStepCount(20),
|
|
10848
10814
|
...options
|
|
10849
10815
|
};
|
|
10850
|
-
const preparedCallArgs = (_d = await ((_c = (
|
|
10851
|
-
|
|
10816
|
+
const preparedCallArgs = (_d = await ((_c = (_b24 = this.settings).prepareCall) == null ? void 0 : _c.call(
|
|
10817
|
+
_b24,
|
|
10852
10818
|
baseCallArgs
|
|
10853
10819
|
))) != null ? _d : baseCallArgs;
|
|
10854
10820
|
const {
|
|
@@ -10908,7 +10874,7 @@ var ToolLoopAgent = class {
|
|
|
10908
10874
|
onEnd = onFinish,
|
|
10909
10875
|
...options
|
|
10910
10876
|
}) {
|
|
10911
|
-
var _a24,
|
|
10877
|
+
var _a24, _b24, _c;
|
|
10912
10878
|
const generate = generateText;
|
|
10913
10879
|
const preparedCall = await this.prepareCall({
|
|
10914
10880
|
...options,
|
|
@@ -10923,7 +10889,7 @@ var ToolLoopAgent = class {
|
|
|
10923
10889
|
onStart != null ? onStart : experimental_onStart
|
|
10924
10890
|
),
|
|
10925
10891
|
onStepStart: mergeCallbacks(
|
|
10926
|
-
(
|
|
10892
|
+
(_b24 = this.settings.onStepStart) != null ? _b24 : this.settings.experimental_onStepStart,
|
|
10927
10893
|
onStepStart != null ? onStepStart : experimental_onStepStart
|
|
10928
10894
|
),
|
|
10929
10895
|
onToolExecutionStart: mergeCallbacks(
|
|
@@ -10966,7 +10932,7 @@ var ToolLoopAgent = class {
|
|
|
10966
10932
|
onEnd = onFinish,
|
|
10967
10933
|
...options
|
|
10968
10934
|
}) {
|
|
10969
|
-
var _a24,
|
|
10935
|
+
var _a24, _b24, _c;
|
|
10970
10936
|
const stream = streamText;
|
|
10971
10937
|
const preparedCall = await this.prepareCall({
|
|
10972
10938
|
...options,
|
|
@@ -10982,7 +10948,7 @@ var ToolLoopAgent = class {
|
|
|
10982
10948
|
onStart != null ? onStart : experimental_onStart
|
|
10983
10949
|
),
|
|
10984
10950
|
onStepStart: mergeCallbacks(
|
|
10985
|
-
(
|
|
10951
|
+
(_b24 = this.settings.onStepStart) != null ? _b24 : this.settings.experimental_onStepStart,
|
|
10986
10952
|
onStepStart != null ? onStepStart : experimental_onStepStart
|
|
10987
10953
|
),
|
|
10988
10954
|
onToolExecutionStart: mergeCallbacks(
|
|
@@ -11077,8 +11043,7 @@ function createUIMessageStream({
|
|
|
11077
11043
|
const reader = streamArg.getReader();
|
|
11078
11044
|
while (true) {
|
|
11079
11045
|
const { done, value } = await reader.read();
|
|
11080
|
-
if (done)
|
|
11081
|
-
break;
|
|
11046
|
+
if (done) break;
|
|
11082
11047
|
safeEnqueue(value);
|
|
11083
11048
|
}
|
|
11084
11049
|
})().catch((error) => {
|
|
@@ -11262,7 +11227,7 @@ async function convertToModelMessages(messages, options) {
|
|
|
11262
11227
|
if (message.parts != null) {
|
|
11263
11228
|
let block = [];
|
|
11264
11229
|
async function processBlock() {
|
|
11265
|
-
var _a24,
|
|
11230
|
+
var _a24, _b24, _c, _d, _e, _f, _g;
|
|
11266
11231
|
if (block.length === 0) {
|
|
11267
11232
|
return;
|
|
11268
11233
|
}
|
|
@@ -11326,7 +11291,7 @@ async function convertToModelMessages(messages, options) {
|
|
|
11326
11291
|
});
|
|
11327
11292
|
}
|
|
11328
11293
|
if (part.providerExecuted === true && part.state !== "approval-responded" && (part.state === "output-available" || part.state === "output-error")) {
|
|
11329
|
-
const resultProviderMetadata = (
|
|
11294
|
+
const resultProviderMetadata = (_b24 = part.resultProviderMetadata) != null ? _b24 : part.callProviderMetadata;
|
|
11330
11295
|
content.push({
|
|
11331
11296
|
type: "tool-result",
|
|
11332
11297
|
toolCallId: part.toolCallId,
|
|
@@ -11990,8 +11955,7 @@ async function safeValidateUIMessages(options) {
|
|
|
11990
11955
|
}
|
|
11991
11956
|
async function validateUIMessages(options) {
|
|
11992
11957
|
const response = await safeValidateUIMessages(options);
|
|
11993
|
-
if (!response.success)
|
|
11994
|
-
throw response.error;
|
|
11958
|
+
if (!response.success) throw response.error;
|
|
11995
11959
|
return response.data;
|
|
11996
11960
|
}
|
|
11997
11961
|
async function validateUIMessagesForAgent(options) {
|
|
@@ -12001,8 +11965,7 @@ async function validateUIMessagesForAgent(options) {
|
|
|
12001
11965
|
// tool parts when those tools are no longer registered.
|
|
12002
11966
|
convertMissingTerminalToolsToDynamic: true
|
|
12003
11967
|
});
|
|
12004
|
-
if (!response.success)
|
|
12005
|
-
throw response.error;
|
|
11968
|
+
if (!response.success) throw response.error;
|
|
12006
11969
|
return response.data;
|
|
12007
11970
|
}
|
|
12008
11971
|
|
|
@@ -12211,8 +12174,8 @@ function getBatchResults({
|
|
|
12211
12174
|
abortSignal: operationAbortSignal
|
|
12212
12175
|
});
|
|
12213
12176
|
const transformer = {
|
|
12214
|
-
transform(item, controller) {
|
|
12215
|
-
controller.enqueue(convertBatchItemResult(item));
|
|
12177
|
+
async transform(item, controller) {
|
|
12178
|
+
controller.enqueue(await convertBatchItemResult(item));
|
|
12216
12179
|
},
|
|
12217
12180
|
cancel(reason) {
|
|
12218
12181
|
streamAbortController.abort(
|
|
@@ -12301,20 +12264,43 @@ function validateBatchReference({
|
|
|
12301
12264
|
});
|
|
12302
12265
|
}
|
|
12303
12266
|
}
|
|
12304
|
-
function convertBatchItemResult(item) {
|
|
12267
|
+
async function convertBatchItemResult(item) {
|
|
12305
12268
|
if (item.status !== "succeeded") {
|
|
12306
12269
|
return item;
|
|
12307
12270
|
}
|
|
12308
12271
|
return {
|
|
12309
12272
|
id: item.id,
|
|
12310
12273
|
status: "succeeded",
|
|
12311
|
-
...convertGenerateResult(item.result)
|
|
12274
|
+
...await convertGenerateResult(item.result)
|
|
12312
12275
|
};
|
|
12313
12276
|
}
|
|
12314
|
-
function convertGenerateResult(result) {
|
|
12277
|
+
async function convertGenerateResult(result) {
|
|
12315
12278
|
var _a24;
|
|
12279
|
+
const toolCalls = await Promise.all(
|
|
12280
|
+
result.content.filter(
|
|
12281
|
+
(part) => part.type === "tool-call"
|
|
12282
|
+
).map(
|
|
12283
|
+
(toolCall) => parseToolCall({
|
|
12284
|
+
toolCall,
|
|
12285
|
+
tools: void 0,
|
|
12286
|
+
repairToolCall: void 0,
|
|
12287
|
+
refineToolInput: void 0,
|
|
12288
|
+
instructions: void 0,
|
|
12289
|
+
messages: []
|
|
12290
|
+
})
|
|
12291
|
+
)
|
|
12292
|
+
);
|
|
12293
|
+
const content = convertLanguageModelContent({
|
|
12294
|
+
content: result.content,
|
|
12295
|
+
toolCalls,
|
|
12296
|
+
toolOutputs: [],
|
|
12297
|
+
toolApprovalRequests: [],
|
|
12298
|
+
toolApprovalResponses: [],
|
|
12299
|
+
tools: void 0
|
|
12300
|
+
});
|
|
12316
12301
|
return {
|
|
12317
|
-
|
|
12302
|
+
content,
|
|
12303
|
+
text: content.filter(
|
|
12318
12304
|
(part) => part.type === "text"
|
|
12319
12305
|
).map((part) => part.text).join(""),
|
|
12320
12306
|
finishReason: result.finishReason.unified,
|
|
@@ -12371,7 +12357,7 @@ async function embed({
|
|
|
12371
12357
|
const telemetryDispatcher = createTelemetryDispatcher({
|
|
12372
12358
|
telemetry
|
|
12373
12359
|
});
|
|
12374
|
-
const runInTracingChannelSpan = (_a24 = telemetryDispatcher.runInTracingChannelSpan) != null ? _a24 : async ({ execute }) => await execute();
|
|
12360
|
+
const runInTracingChannelSpan = (_a24 = telemetryDispatcher.runInTracingChannelSpan) != null ? _a24 : (async ({ execute }) => await execute());
|
|
12375
12361
|
const startEvent = {
|
|
12376
12362
|
callId,
|
|
12377
12363
|
operationId: "ai.embed",
|
|
@@ -12393,7 +12379,7 @@ async function embed({
|
|
|
12393
12379
|
});
|
|
12394
12380
|
try {
|
|
12395
12381
|
const { embedding, usage, warnings, response, providerMetadata } = await retry(async () => {
|
|
12396
|
-
var _a26,
|
|
12382
|
+
var _a26, _b24;
|
|
12397
12383
|
const embedCallId = generateCallId();
|
|
12398
12384
|
await notify({
|
|
12399
12385
|
event: {
|
|
@@ -12430,7 +12416,7 @@ async function embed({
|
|
|
12430
12416
|
return {
|
|
12431
12417
|
embedding: embedding2,
|
|
12432
12418
|
usage: usage2,
|
|
12433
|
-
warnings: (
|
|
12419
|
+
warnings: (_b24 = modelResponse.warnings) != null ? _b24 : [],
|
|
12434
12420
|
providerMetadata: modelResponse.providerMetadata,
|
|
12435
12421
|
response: modelResponse.response
|
|
12436
12422
|
};
|
|
@@ -12542,7 +12528,7 @@ async function embedMany({
|
|
|
12542
12528
|
const telemetryDispatcher = createTelemetryDispatcher({
|
|
12543
12529
|
telemetry
|
|
12544
12530
|
});
|
|
12545
|
-
const runInTracingChannelSpan = (_a24 = telemetryDispatcher.runInTracingChannelSpan) != null ? _a24 : async ({ execute }) => await execute();
|
|
12531
|
+
const runInTracingChannelSpan = (_a24 = telemetryDispatcher.runInTracingChannelSpan) != null ? _a24 : (async ({ execute }) => await execute());
|
|
12546
12532
|
const startEvent = {
|
|
12547
12533
|
callId,
|
|
12548
12534
|
operationId: "ai.embedMany",
|
|
@@ -12557,7 +12543,7 @@ async function embedMany({
|
|
|
12557
12543
|
type: "embedMany",
|
|
12558
12544
|
event: startEvent,
|
|
12559
12545
|
execute: async () => {
|
|
12560
|
-
var _a25,
|
|
12546
|
+
var _a25, _b24;
|
|
12561
12547
|
await notify({
|
|
12562
12548
|
event: startEvent,
|
|
12563
12549
|
callbacks: [resolvedOnStart, telemetryDispatcher.onStart]
|
|
@@ -12576,7 +12562,7 @@ async function embedMany({
|
|
|
12576
12562
|
const hasInputByteLimit = maxInputBytesPerCall != null && maxInputBytesPerCall !== Infinity;
|
|
12577
12563
|
if (!hasEmbeddingLimit && !hasInputByteLimit) {
|
|
12578
12564
|
const { embeddings: embeddings2, usage, warnings: warnings2, response, providerMetadata: providerMetadata2 } = await retry(async () => {
|
|
12579
|
-
var _a26,
|
|
12565
|
+
var _a26, _b25;
|
|
12580
12566
|
const embedCallId = generateCallId();
|
|
12581
12567
|
await notify({
|
|
12582
12568
|
event: {
|
|
@@ -12613,7 +12599,7 @@ async function embedMany({
|
|
|
12613
12599
|
return {
|
|
12614
12600
|
embeddings: embeddings3,
|
|
12615
12601
|
usage: usage2,
|
|
12616
|
-
warnings: (
|
|
12602
|
+
warnings: (_b25 = modelResponse.warnings) != null ? _b25 : [],
|
|
12617
12603
|
providerMetadata: modelResponse.providerMetadata,
|
|
12618
12604
|
response: modelResponse.response
|
|
12619
12605
|
};
|
|
@@ -12665,7 +12651,7 @@ async function embedMany({
|
|
|
12665
12651
|
const results = await Promise.all(
|
|
12666
12652
|
parallelChunk.map((chunk) => {
|
|
12667
12653
|
return retry(async () => {
|
|
12668
|
-
var _a26,
|
|
12654
|
+
var _a26, _b25;
|
|
12669
12655
|
const embedCallId = generateCallId();
|
|
12670
12656
|
await notify({
|
|
12671
12657
|
event: {
|
|
@@ -12702,7 +12688,7 @@ async function embedMany({
|
|
|
12702
12688
|
return {
|
|
12703
12689
|
embeddings: chunkEmbeddings,
|
|
12704
12690
|
usage,
|
|
12705
|
-
warnings: (
|
|
12691
|
+
warnings: (_b25 = modelResponse.warnings) != null ? _b25 : [],
|
|
12706
12692
|
providerMetadata: modelResponse.providerMetadata,
|
|
12707
12693
|
response: modelResponse.response
|
|
12708
12694
|
};
|
|
@@ -12759,7 +12745,7 @@ async function embedMany({
|
|
|
12759
12745
|
responses
|
|
12760
12746
|
});
|
|
12761
12747
|
} catch (error) {
|
|
12762
|
-
await ((
|
|
12748
|
+
await ((_b24 = telemetryDispatcher.onError) == null ? void 0 : _b24.call(telemetryDispatcher, { callId, error }));
|
|
12763
12749
|
throw error;
|
|
12764
12750
|
}
|
|
12765
12751
|
}
|
|
@@ -12808,6 +12794,9 @@ var DefaultEmbedManyResult = class {
|
|
|
12808
12794
|
};
|
|
12809
12795
|
|
|
12810
12796
|
// src/generate-image/generate-image.ts
|
|
12797
|
+
import {
|
|
12798
|
+
isJSONObject
|
|
12799
|
+
} from "@ai-sdk/provider";
|
|
12811
12800
|
import {
|
|
12812
12801
|
convertBase64ToUint8Array as convertBase64ToUint8Array4,
|
|
12813
12802
|
detectMediaType as detectMediaType2,
|
|
@@ -12850,6 +12839,15 @@ function convertDataContentToUint8Array(content) {
|
|
|
12850
12839
|
}
|
|
12851
12840
|
|
|
12852
12841
|
// src/generate-image/generate-image.ts
|
|
12842
|
+
var gatewayCostMetadataKeys = [
|
|
12843
|
+
"cost",
|
|
12844
|
+
"gatewayCost",
|
|
12845
|
+
"inferenceCost",
|
|
12846
|
+
"inputInferenceCost",
|
|
12847
|
+
"marketCost",
|
|
12848
|
+
"outputInferenceCost",
|
|
12849
|
+
"surchargeCost"
|
|
12850
|
+
];
|
|
12853
12851
|
async function generateImage({
|
|
12854
12852
|
model: modelArg,
|
|
12855
12853
|
prompt: promptArg,
|
|
@@ -12863,7 +12861,7 @@ async function generateImage({
|
|
|
12863
12861
|
abortSignal,
|
|
12864
12862
|
headers
|
|
12865
12863
|
}) {
|
|
12866
|
-
var _a24,
|
|
12864
|
+
var _a24, _b24;
|
|
12867
12865
|
const model = resolveImageModel(modelArg);
|
|
12868
12866
|
const headersWithUserAgent = withUserAgentSuffix7(
|
|
12869
12867
|
headers != null ? headers : {},
|
|
@@ -12902,6 +12900,7 @@ async function generateImage({
|
|
|
12902
12900
|
)
|
|
12903
12901
|
);
|
|
12904
12902
|
const images = [];
|
|
12903
|
+
const calls = [];
|
|
12905
12904
|
const warnings = [];
|
|
12906
12905
|
const responses = [];
|
|
12907
12906
|
const providerMetadata = {};
|
|
@@ -12911,45 +12910,68 @@ async function generateImage({
|
|
|
12911
12910
|
totalTokens: void 0
|
|
12912
12911
|
};
|
|
12913
12912
|
for (const result of results) {
|
|
12914
|
-
images.
|
|
12915
|
-
|
|
12916
|
-
|
|
12917
|
-
|
|
12918
|
-
|
|
12913
|
+
const callImages = result.images.map(
|
|
12914
|
+
(image, index) => {
|
|
12915
|
+
var _a25;
|
|
12916
|
+
return new DefaultGeneratedFile({
|
|
12917
|
+
data: image,
|
|
12918
|
+
mediaType: (_a25 = detectMediaType2({
|
|
12919
12919
|
data: image,
|
|
12920
|
-
|
|
12921
|
-
|
|
12922
|
-
|
|
12923
|
-
|
|
12924
|
-
|
|
12925
|
-
|
|
12926
|
-
|
|
12920
|
+
topLevelType: "image"
|
|
12921
|
+
})) != null ? _a25 : "image/png",
|
|
12922
|
+
providerMetadata: getImageProviderMetadata(
|
|
12923
|
+
result.providerMetadata,
|
|
12924
|
+
index
|
|
12925
|
+
)
|
|
12926
|
+
});
|
|
12927
|
+
}
|
|
12927
12928
|
);
|
|
12929
|
+
images.push(...callImages);
|
|
12930
|
+
calls.push({
|
|
12931
|
+
images: callImages,
|
|
12932
|
+
providerMetadata: result.providerMetadata,
|
|
12933
|
+
response: result.response,
|
|
12934
|
+
warnings: result.warnings,
|
|
12935
|
+
usage: result.usage
|
|
12936
|
+
});
|
|
12928
12937
|
warnings.push(...result.warnings);
|
|
12929
12938
|
if (result.usage != null) {
|
|
12930
12939
|
totalUsage = addImageModelUsage(totalUsage, result.usage);
|
|
12931
12940
|
}
|
|
12932
12941
|
if (result.providerMetadata) {
|
|
12933
|
-
for (const [providerName, metadata] of Object.entries(
|
|
12942
|
+
for (const [providerName, metadata] of Object.entries(
|
|
12943
|
+
result.providerMetadata
|
|
12944
|
+
)) {
|
|
12934
12945
|
if (providerName === "gateway") {
|
|
12935
12946
|
const currentEntry = providerMetadata[providerName];
|
|
12936
12947
|
if (currentEntry != null && typeof currentEntry === "object") {
|
|
12948
|
+
const currentGatewayMetadata = currentEntry;
|
|
12949
|
+
const newGatewayMetadata = metadata;
|
|
12937
12950
|
providerMetadata[providerName] = {
|
|
12938
12951
|
...currentEntry,
|
|
12939
|
-
...metadata
|
|
12952
|
+
...metadata,
|
|
12953
|
+
...Object.fromEntries(
|
|
12954
|
+
gatewayCostMetadataKeys.flatMap((key) => {
|
|
12955
|
+
const total = addDecimalStrings(
|
|
12956
|
+
currentGatewayMetadata[key],
|
|
12957
|
+
newGatewayMetadata[key]
|
|
12958
|
+
);
|
|
12959
|
+
return total == null ? [] : [[key, total]];
|
|
12960
|
+
})
|
|
12961
|
+
)
|
|
12940
12962
|
};
|
|
12941
12963
|
} else {
|
|
12942
|
-
providerMetadata[providerName] =
|
|
12964
|
+
providerMetadata[providerName] = {
|
|
12965
|
+
...metadata
|
|
12966
|
+
};
|
|
12943
12967
|
}
|
|
12944
12968
|
const imagesValue = providerMetadata[providerName].images;
|
|
12945
12969
|
if (Array.isArray(imagesValue) && imagesValue.length === 0) {
|
|
12946
12970
|
delete providerMetadata[providerName].images;
|
|
12947
12971
|
}
|
|
12948
12972
|
} else {
|
|
12949
|
-
(
|
|
12950
|
-
providerMetadata[providerName].images.push(
|
|
12951
|
-
...result.providerMetadata[providerName].images
|
|
12952
|
-
);
|
|
12973
|
+
(_b24 = providerMetadata[providerName]) != null ? _b24 : providerMetadata[providerName] = { images: [] };
|
|
12974
|
+
providerMetadata[providerName].images.push(...metadata.images);
|
|
12953
12975
|
}
|
|
12954
12976
|
}
|
|
12955
12977
|
}
|
|
@@ -12961,6 +12983,7 @@ async function generateImage({
|
|
|
12961
12983
|
}
|
|
12962
12984
|
return new DefaultGenerateImageResult({
|
|
12963
12985
|
images,
|
|
12986
|
+
calls,
|
|
12964
12987
|
warnings,
|
|
12965
12988
|
responses,
|
|
12966
12989
|
providerMetadata,
|
|
@@ -12970,6 +12993,7 @@ async function generateImage({
|
|
|
12970
12993
|
var DefaultGenerateImageResult = class {
|
|
12971
12994
|
constructor(options) {
|
|
12972
12995
|
this.images = options.images;
|
|
12996
|
+
this.calls = options.calls;
|
|
12973
12997
|
this.warnings = options.warnings;
|
|
12974
12998
|
this.responses = options.responses;
|
|
12975
12999
|
this.providerMetadata = options.providerMetadata;
|
|
@@ -12979,6 +13003,20 @@ var DefaultGenerateImageResult = class {
|
|
|
12979
13003
|
return this.images[0];
|
|
12980
13004
|
}
|
|
12981
13005
|
};
|
|
13006
|
+
function getImageProviderMetadata(providerMetadata, imageIndex) {
|
|
13007
|
+
var _a24;
|
|
13008
|
+
if (providerMetadata == null) {
|
|
13009
|
+
return void 0;
|
|
13010
|
+
}
|
|
13011
|
+
let imageMetadata;
|
|
13012
|
+
for (const [providerName, metadata] of Object.entries(providerMetadata)) {
|
|
13013
|
+
const value = (_a24 = metadata.images) == null ? void 0 : _a24[imageIndex];
|
|
13014
|
+
if (isJSONObject(value) && !Array.isArray(value)) {
|
|
13015
|
+
(imageMetadata != null ? imageMetadata : imageMetadata = {})[providerName] = value;
|
|
13016
|
+
}
|
|
13017
|
+
}
|
|
13018
|
+
return imageMetadata;
|
|
13019
|
+
}
|
|
12982
13020
|
async function invokeModelMaxImagesPerCall(model) {
|
|
12983
13021
|
const isFunction = model.maxImagesPerCall instanceof Function;
|
|
12984
13022
|
if (!isFunction) {
|
|
@@ -12988,6 +13026,19 @@ async function invokeModelMaxImagesPerCall(model) {
|
|
|
12988
13026
|
modelId: model.modelId
|
|
12989
13027
|
});
|
|
12990
13028
|
}
|
|
13029
|
+
function addDecimalStrings(value1, value2) {
|
|
13030
|
+
if (typeof value1 !== "string" || typeof value2 !== "string" || !/^\d+(?:\.\d+)?$/.test(value1) || !/^\d+(?:\.\d+)?$/.test(value2)) {
|
|
13031
|
+
return void 0;
|
|
13032
|
+
}
|
|
13033
|
+
const [integer1, fraction1 = ""] = value1.split(".");
|
|
13034
|
+
const [integer2, fraction2 = ""] = value2.split(".");
|
|
13035
|
+
const precision = Math.max(fraction1.length, fraction2.length);
|
|
13036
|
+
const sum = BigInt(integer1 + fraction1.padEnd(precision, "0")) + BigInt(integer2 + fraction2.padEnd(precision, "0"));
|
|
13037
|
+
const sumString = sum.toString().padStart(precision + 1, "0");
|
|
13038
|
+
return precision === 0 ? sumString : `${sumString.slice(0, -precision)}.${sumString.slice(
|
|
13039
|
+
-precision
|
|
13040
|
+
)}`.replace(/\.?0+$/, "");
|
|
13041
|
+
}
|
|
12991
13042
|
function normalizePrompt(prompt) {
|
|
12992
13043
|
if (typeof prompt === "string") {
|
|
12993
13044
|
return { prompt, files: void 0, mask: void 0 };
|
|
@@ -13058,7 +13109,7 @@ function extractTextContent(content) {
|
|
|
13058
13109
|
// src/generate-object/output-strategy.ts
|
|
13059
13110
|
import {
|
|
13060
13111
|
isJSONArray,
|
|
13061
|
-
isJSONObject,
|
|
13112
|
+
isJSONObject as isJSONObject2,
|
|
13062
13113
|
TypeValidationError as TypeValidationError4,
|
|
13063
13114
|
UnsupportedFunctionalityError as UnsupportedFunctionalityError4
|
|
13064
13115
|
} from "@ai-sdk/provider";
|
|
@@ -13144,7 +13195,7 @@ var arrayOutputStrategy = (schema) => {
|
|
|
13144
13195
|
isFinalDelta
|
|
13145
13196
|
}) {
|
|
13146
13197
|
var _a24;
|
|
13147
|
-
if (!
|
|
13198
|
+
if (!isJSONObject2(value) || !isJSONArray(value.elements)) {
|
|
13148
13199
|
return {
|
|
13149
13200
|
success: false,
|
|
13150
13201
|
error: new TypeValidationError4({
|
|
@@ -13187,7 +13238,7 @@ var arrayOutputStrategy = (schema) => {
|
|
|
13187
13238
|
};
|
|
13188
13239
|
},
|
|
13189
13240
|
async validateFinalResult(value) {
|
|
13190
|
-
if (!
|
|
13241
|
+
if (!isJSONObject2(value) || !isJSONArray(value.elements)) {
|
|
13191
13242
|
return {
|
|
13192
13243
|
success: false,
|
|
13193
13244
|
error: new TypeValidationError4({
|
|
@@ -13255,7 +13306,7 @@ var enumOutputStrategy = (enumValues) => {
|
|
|
13255
13306
|
additionalProperties: false
|
|
13256
13307
|
}),
|
|
13257
13308
|
async validateFinalResult(value) {
|
|
13258
|
-
if (!
|
|
13309
|
+
if (!isJSONObject2(value) || typeof value.result !== "string") {
|
|
13259
13310
|
return {
|
|
13260
13311
|
success: false,
|
|
13261
13312
|
error: new TypeValidationError4({
|
|
@@ -13274,7 +13325,7 @@ var enumOutputStrategy = (enumValues) => {
|
|
|
13274
13325
|
};
|
|
13275
13326
|
},
|
|
13276
13327
|
async validatePartialResult({ value, textDelta }) {
|
|
13277
|
-
if (!
|
|
13328
|
+
if (!isJSONObject2(value) || typeof value.result !== "string") {
|
|
13278
13329
|
return {
|
|
13279
13330
|
success: false,
|
|
13280
13331
|
error: new TypeValidationError4({
|
|
@@ -13510,7 +13561,7 @@ function validateObjectGenerationInput({
|
|
|
13510
13561
|
// src/generate-object/generate-object.ts
|
|
13511
13562
|
var originalGenerateId4 = createIdGenerator6({ prefix: "aiobj", size: 24 });
|
|
13512
13563
|
async function generateObject(options) {
|
|
13513
|
-
var _a24,
|
|
13564
|
+
var _a24, _b24, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
13514
13565
|
const {
|
|
13515
13566
|
model: modelArg,
|
|
13516
13567
|
output = "object",
|
|
@@ -13645,7 +13696,7 @@ async function generateObject(options) {
|
|
|
13645
13696
|
})
|
|
13646
13697
|
);
|
|
13647
13698
|
const responseData = {
|
|
13648
|
-
id: (
|
|
13699
|
+
id: (_b24 = (_a24 = generateResult.response) == null ? void 0 : _a24.id) != null ? _b24 : generateId4(),
|
|
13649
13700
|
timestamp: (_d = (_c = generateResult.response) == null ? void 0 : _c.timestamp) != null ? _d : currentDate(),
|
|
13650
13701
|
modelId: (_f = (_e = generateResult.response) == null ? void 0 : _e.modelId) != null ? _f : model.modelId,
|
|
13651
13702
|
headers: (_g = generateResult.response) == null ? void 0 : _g.headers,
|
|
@@ -13806,35 +13857,27 @@ function getTextFromDataUrl(dataUrl) {
|
|
|
13806
13857
|
|
|
13807
13858
|
// src/util/is-deep-equal-data.ts
|
|
13808
13859
|
function isDeepEqualData(obj1, obj2) {
|
|
13809
|
-
if (obj1 === obj2)
|
|
13810
|
-
|
|
13811
|
-
if (obj1 == null || obj2 == null)
|
|
13812
|
-
return false;
|
|
13860
|
+
if (obj1 === obj2) return true;
|
|
13861
|
+
if (obj1 == null || obj2 == null) return false;
|
|
13813
13862
|
if (typeof obj1 !== "object" && typeof obj2 !== "object")
|
|
13814
13863
|
return obj1 === obj2;
|
|
13815
|
-
if (obj1.constructor !== obj2.constructor)
|
|
13816
|
-
return false;
|
|
13864
|
+
if (obj1.constructor !== obj2.constructor) return false;
|
|
13817
13865
|
if (obj1 instanceof Date && obj2 instanceof Date) {
|
|
13818
13866
|
return obj1.getTime() === obj2.getTime();
|
|
13819
13867
|
}
|
|
13820
13868
|
if (Array.isArray(obj1)) {
|
|
13821
|
-
if (obj1.length !== obj2.length)
|
|
13822
|
-
return false;
|
|
13869
|
+
if (obj1.length !== obj2.length) return false;
|
|
13823
13870
|
for (let i = 0; i < obj1.length; i++) {
|
|
13824
|
-
if (!isDeepEqualData(obj1[i], obj2[i]))
|
|
13825
|
-
return false;
|
|
13871
|
+
if (!isDeepEqualData(obj1[i], obj2[i])) return false;
|
|
13826
13872
|
}
|
|
13827
13873
|
return true;
|
|
13828
13874
|
}
|
|
13829
13875
|
const keys1 = Object.keys(obj1);
|
|
13830
13876
|
const keys2 = Object.keys(obj2);
|
|
13831
|
-
if (keys1.length !== keys2.length)
|
|
13832
|
-
return false;
|
|
13877
|
+
if (keys1.length !== keys2.length) return false;
|
|
13833
13878
|
for (const key of keys1) {
|
|
13834
|
-
if (!keys2.includes(key))
|
|
13835
|
-
|
|
13836
|
-
if (!isDeepEqualData(obj1[key], obj2[key]))
|
|
13837
|
-
return false;
|
|
13879
|
+
if (!keys2.includes(key)) return false;
|
|
13880
|
+
if (!isDeepEqualData(obj1[key], obj2[key])) return false;
|
|
13838
13881
|
}
|
|
13839
13882
|
return true;
|
|
13840
13883
|
}
|
|
@@ -14150,7 +14193,7 @@ var DefaultStreamObjectResult = class {
|
|
|
14150
14193
|
const transformedStream = stream.pipeThrough(new TransformStream(transformer)).pipeThrough(
|
|
14151
14194
|
new TransformStream({
|
|
14152
14195
|
async transform(chunk, controller) {
|
|
14153
|
-
var _a24,
|
|
14196
|
+
var _a24, _b24, _c;
|
|
14154
14197
|
if (typeof chunk === "object" && chunk.type === "stream-start") {
|
|
14155
14198
|
warnings = chunk.warnings;
|
|
14156
14199
|
return;
|
|
@@ -14195,7 +14238,7 @@ var DefaultStreamObjectResult = class {
|
|
|
14195
14238
|
case "response-metadata": {
|
|
14196
14239
|
fullResponse = {
|
|
14197
14240
|
id: (_a24 = chunk.id) != null ? _a24 : fullResponse.id,
|
|
14198
|
-
timestamp: (
|
|
14241
|
+
timestamp: (_b24 = chunk.timestamp) != null ? _b24 : fullResponse.timestamp,
|
|
14199
14242
|
modelId: (_c = chunk.modelId) != null ? _c : fullResponse.modelId
|
|
14200
14243
|
};
|
|
14201
14244
|
break;
|
|
@@ -14669,8 +14712,7 @@ function smoothStream({
|
|
|
14669
14712
|
if (chunking != null && typeof chunking === "object" && "segment" in chunking && typeof chunking.segment === "function") {
|
|
14670
14713
|
const segmenter = chunking;
|
|
14671
14714
|
detectChunk = (buffer) => {
|
|
14672
|
-
if (buffer.length === 0)
|
|
14673
|
-
return null;
|
|
14715
|
+
if (buffer.length === 0) return null;
|
|
14674
14716
|
const iterator = segmenter.segment(buffer)[Symbol.iterator]();
|
|
14675
14717
|
const first = iterator.next().value;
|
|
14676
14718
|
return (first == null ? void 0 : first.segment) || null;
|
|
@@ -14991,7 +15033,7 @@ async function executeStartStatusFlow({
|
|
|
14991
15033
|
webhook: webhookFactory,
|
|
14992
15034
|
retry
|
|
14993
15035
|
}) {
|
|
14994
|
-
var _a24,
|
|
15036
|
+
var _a24, _b24, _c, _d;
|
|
14995
15037
|
const earlyWarnings = [];
|
|
14996
15038
|
let webhookUrl;
|
|
14997
15039
|
let webhookReceived;
|
|
@@ -15024,7 +15066,7 @@ async function executeStartStatusFlow({
|
|
|
15024
15066
|
const startResult = await retry(() => model.doStart(startCallOptions));
|
|
15025
15067
|
const allWarnings = [...earlyWarnings, ...startResult.warnings];
|
|
15026
15068
|
let operationProviderMetadata = startResult.providerMetadata == null ? void 0 : { ...startResult.providerMetadata };
|
|
15027
|
-
const intervalMs = (
|
|
15069
|
+
const intervalMs = (_b24 = pollConfig == null ? void 0 : pollConfig.intervalMs) != null ? _b24 : 5e3;
|
|
15028
15070
|
const timeoutMs = (_c = pollConfig == null ? void 0 : pollConfig.timeoutMs) != null ? _c : 6e5;
|
|
15029
15071
|
const delay = (_d = pollConfig == null ? void 0 : pollConfig.delay) != null ? _d : defaultDelay;
|
|
15030
15072
|
const startTime = Date.now();
|
|
@@ -15838,7 +15880,7 @@ var doWrap = ({
|
|
|
15838
15880
|
modelId,
|
|
15839
15881
|
providerId
|
|
15840
15882
|
}) => {
|
|
15841
|
-
var _a24,
|
|
15883
|
+
var _a24, _b24, _c;
|
|
15842
15884
|
async function doTransform({
|
|
15843
15885
|
params,
|
|
15844
15886
|
type
|
|
@@ -15848,7 +15890,7 @@ var doWrap = ({
|
|
|
15848
15890
|
return {
|
|
15849
15891
|
specificationVersion: "v4",
|
|
15850
15892
|
provider: (_a24 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a24 : model.provider,
|
|
15851
|
-
modelId: (
|
|
15893
|
+
modelId: (_b24 = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b24 : model.modelId,
|
|
15852
15894
|
supportedUrls: (_c = overrideSupportedUrls == null ? void 0 : overrideSupportedUrls({ model })) != null ? _c : model.supportedUrls,
|
|
15853
15895
|
async doGenerate(params) {
|
|
15854
15896
|
const transformedParams = await doTransform({ params, type: "generate" });
|
|
@@ -15904,7 +15946,7 @@ var doWrap2 = ({
|
|
|
15904
15946
|
modelId,
|
|
15905
15947
|
providerId
|
|
15906
15948
|
}) => {
|
|
15907
|
-
var _a24,
|
|
15949
|
+
var _a24, _b24, _c, _d;
|
|
15908
15950
|
async function doTransform({
|
|
15909
15951
|
params
|
|
15910
15952
|
}) {
|
|
@@ -15913,7 +15955,7 @@ var doWrap2 = ({
|
|
|
15913
15955
|
return {
|
|
15914
15956
|
specificationVersion: "v4",
|
|
15915
15957
|
provider: (_a24 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a24 : model.provider,
|
|
15916
|
-
modelId: (
|
|
15958
|
+
modelId: (_b24 = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b24 : model.modelId,
|
|
15917
15959
|
maxEmbeddingsPerCall: (_c = overrideMaxEmbeddingsPerCall == null ? void 0 : overrideMaxEmbeddingsPerCall({ model })) != null ? _c : model.maxEmbeddingsPerCall,
|
|
15918
15960
|
[EXPERIMENTAL_EMBEDDING_MODEL_MAX_INPUT_BYTES_PER_CALL2]: getEmbeddingModelMaxInputBytesPerCall(model),
|
|
15919
15961
|
supportsParallelCalls: (_d = overrideSupportsParallelCalls == null ? void 0 : overrideSupportsParallelCalls({ model })) != null ? _d : model.supportsParallelCalls,
|
|
@@ -15954,7 +15996,7 @@ var doWrap3 = ({
|
|
|
15954
15996
|
modelId,
|
|
15955
15997
|
providerId
|
|
15956
15998
|
}) => {
|
|
15957
|
-
var _a24,
|
|
15999
|
+
var _a24, _b24, _c;
|
|
15958
16000
|
async function doTransform({ params }) {
|
|
15959
16001
|
return transformParams ? await transformParams({ params, model }) : params;
|
|
15960
16002
|
}
|
|
@@ -15962,7 +16004,7 @@ var doWrap3 = ({
|
|
|
15962
16004
|
const maxImagesPerCall = maxImagesPerCallRaw instanceof Function ? maxImagesPerCallRaw.bind(model) : maxImagesPerCallRaw;
|
|
15963
16005
|
return {
|
|
15964
16006
|
specificationVersion: "v4",
|
|
15965
|
-
provider: (
|
|
16007
|
+
provider: (_b24 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _b24 : model.provider,
|
|
15966
16008
|
modelId: (_c = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _c : model.modelId,
|
|
15967
16009
|
maxImagesPerCall,
|
|
15968
16010
|
async doGenerate(params) {
|
|
@@ -16147,9 +16189,9 @@ var BrowserRealtimeAudio = class {
|
|
|
16147
16189
|
this.onCapturingChange(true);
|
|
16148
16190
|
}
|
|
16149
16191
|
stopCapture() {
|
|
16150
|
-
var _a24,
|
|
16192
|
+
var _a24, _b24, _c, _d;
|
|
16151
16193
|
(_a24 = this.captureProcessor) == null ? void 0 : _a24.disconnect();
|
|
16152
|
-
(
|
|
16194
|
+
(_b24 = this.captureSource) == null ? void 0 : _b24.disconnect();
|
|
16153
16195
|
void ((_c = this.captureContext) == null ? void 0 : _c.close());
|
|
16154
16196
|
(_d = this.captureStream) == null ? void 0 : _d.getTracks().forEach((track) => track.stop());
|
|
16155
16197
|
this.captureProcessor = null;
|
|
@@ -16179,8 +16221,7 @@ var BrowserRealtimeAudio = class {
|
|
|
16179
16221
|
}
|
|
16180
16222
|
getPlaybackOffsetMs() {
|
|
16181
16223
|
const ctx = this.playbackContext;
|
|
16182
|
-
if (ctx == null)
|
|
16183
|
-
return 0;
|
|
16224
|
+
if (ctx == null) return 0;
|
|
16184
16225
|
return (ctx.currentTime - this.playbackStartTime) * 1e3;
|
|
16185
16226
|
}
|
|
16186
16227
|
dispose() {
|
|
@@ -16191,9 +16232,9 @@ var BrowserRealtimeAudio = class {
|
|
|
16191
16232
|
this.playbackContext = null;
|
|
16192
16233
|
}
|
|
16193
16234
|
setPlaying(isPlaying) {
|
|
16194
|
-
var _a24,
|
|
16235
|
+
var _a24, _b24;
|
|
16195
16236
|
if (isPlaying && !this.isPlaying) {
|
|
16196
|
-
this.playbackStartTime = (
|
|
16237
|
+
this.playbackStartTime = (_b24 = (_a24 = this.playbackContext) == null ? void 0 : _a24.currentTime) != null ? _b24 : 0;
|
|
16197
16238
|
}
|
|
16198
16239
|
if (this.isPlaying !== isPlaying) {
|
|
16199
16240
|
this.isPlaying = isPlaying;
|
|
@@ -16202,8 +16243,7 @@ var BrowserRealtimeAudio = class {
|
|
|
16202
16243
|
}
|
|
16203
16244
|
schedulePlayback() {
|
|
16204
16245
|
const ctx = this.playbackContext;
|
|
16205
|
-
if (ctx == null || this.playbackQueue.length === 0)
|
|
16206
|
-
return;
|
|
16246
|
+
if (ctx == null || this.playbackQueue.length === 0) return;
|
|
16207
16247
|
while (this.playbackQueue.length > 0) {
|
|
16208
16248
|
const samples = this.playbackQueue.shift();
|
|
16209
16249
|
const buffer = ctx.createBuffer(
|
|
@@ -16253,8 +16293,7 @@ var BrowserRealtimeTransport = class {
|
|
|
16253
16293
|
const ws = new WebSocket(wsConfig.url, wsConfig.protocols);
|
|
16254
16294
|
this.ws = ws;
|
|
16255
16295
|
ws.onopen = () => {
|
|
16256
|
-
if (this.ws !== ws)
|
|
16257
|
-
return;
|
|
16296
|
+
if (this.ws !== ws) return;
|
|
16258
16297
|
onOpen();
|
|
16259
16298
|
};
|
|
16260
16299
|
ws.onmessage = (messageEvent) => {
|
|
@@ -16310,8 +16349,7 @@ var BrowserRealtimeTransport = class {
|
|
|
16310
16349
|
text2 = new TextDecoder().decode(messageEvent.data);
|
|
16311
16350
|
}
|
|
16312
16351
|
const parseResult = await safeParseJSON5({ text: text2 });
|
|
16313
|
-
if (!parseResult.success)
|
|
16314
|
-
return;
|
|
16352
|
+
if (!parseResult.success) return;
|
|
16315
16353
|
const rawEvent = parseResult.value;
|
|
16316
16354
|
if (this.model.getHealthCheckResponse != null) {
|
|
16317
16355
|
const autoResponse = this.model.getHealthCheckResponse(rawEvent);
|
|
@@ -16584,8 +16622,7 @@ var RealtimeEventReducer = class {
|
|
|
16584
16622
|
return {
|
|
16585
16623
|
...stateWithMessage,
|
|
16586
16624
|
messages: stateWithMessage.messages.map((message) => {
|
|
16587
|
-
if (message.id !== messageId)
|
|
16588
|
-
return message;
|
|
16625
|
+
if (message.id !== messageId) return message;
|
|
16589
16626
|
const partIndex = message.parts.length;
|
|
16590
16627
|
this.itemIdToPartLocation.set(itemId, { messageId, partIndex });
|
|
16591
16628
|
return {
|
|
@@ -16603,8 +16640,7 @@ var RealtimeEventReducer = class {
|
|
|
16603
16640
|
const text2 = (_a24 = finalText != null ? finalText : this.textAccumulators.get(itemId)) != null ? _a24 : "";
|
|
16604
16641
|
this.textAccumulators.delete(itemId);
|
|
16605
16642
|
const location = this.itemIdToPartLocation.get(itemId);
|
|
16606
|
-
if (location == null)
|
|
16607
|
-
return state;
|
|
16643
|
+
if (location == null) return state;
|
|
16608
16644
|
this.itemIdToPartLocation.delete(itemId);
|
|
16609
16645
|
return this.updateMessagePart(
|
|
16610
16646
|
state,
|
|
@@ -16617,13 +16653,11 @@ var RealtimeEventReducer = class {
|
|
|
16617
16653
|
return {
|
|
16618
16654
|
...state,
|
|
16619
16655
|
messages: state.messages.map((message) => {
|
|
16620
|
-
if (message.id !== messageId)
|
|
16621
|
-
return message;
|
|
16656
|
+
if (message.id !== messageId) return message;
|
|
16622
16657
|
const existingPart = message.parts.find(
|
|
16623
16658
|
(part) => part.type === "dynamic-tool" && part.toolCallId === callId
|
|
16624
16659
|
);
|
|
16625
|
-
if (existingPart != null)
|
|
16626
|
-
return message;
|
|
16660
|
+
if (existingPart != null) return message;
|
|
16627
16661
|
return {
|
|
16628
16662
|
...message,
|
|
16629
16663
|
parts: [
|
|
@@ -16644,16 +16678,13 @@ var RealtimeEventReducer = class {
|
|
|
16644
16678
|
return {
|
|
16645
16679
|
...state,
|
|
16646
16680
|
messages: state.messages.map((message) => {
|
|
16647
|
-
if (message.id !== messageId)
|
|
16648
|
-
return message;
|
|
16681
|
+
if (message.id !== messageId) return message;
|
|
16649
16682
|
return {
|
|
16650
16683
|
...message,
|
|
16651
16684
|
parts: message.parts.map((part) => {
|
|
16652
|
-
if (part.type !== "dynamic-tool")
|
|
16653
|
-
return part;
|
|
16685
|
+
if (part.type !== "dynamic-tool") return part;
|
|
16654
16686
|
const toolPart = part;
|
|
16655
|
-
if (toolPart.toolCallId !== callId)
|
|
16656
|
-
return part;
|
|
16687
|
+
if (toolPart.toolCallId !== callId) return part;
|
|
16657
16688
|
return {
|
|
16658
16689
|
...toolPart,
|
|
16659
16690
|
toolName: name24,
|
|
@@ -16667,21 +16698,17 @@ var RealtimeEventReducer = class {
|
|
|
16667
16698
|
}
|
|
16668
16699
|
updateToolPartState(state, callId, result) {
|
|
16669
16700
|
const messageId = this.toolCallIdToMessageId.get(callId);
|
|
16670
|
-
if (messageId == null)
|
|
16671
|
-
return state;
|
|
16701
|
+
if (messageId == null) return state;
|
|
16672
16702
|
return {
|
|
16673
16703
|
...state,
|
|
16674
16704
|
messages: state.messages.map((message) => {
|
|
16675
|
-
if (message.id !== messageId)
|
|
16676
|
-
return message;
|
|
16705
|
+
if (message.id !== messageId) return message;
|
|
16677
16706
|
return {
|
|
16678
16707
|
...message,
|
|
16679
16708
|
parts: message.parts.map((part) => {
|
|
16680
|
-
if (part.type !== "dynamic-tool")
|
|
16681
|
-
return part;
|
|
16709
|
+
if (part.type !== "dynamic-tool") return part;
|
|
16682
16710
|
const toolPart = part;
|
|
16683
|
-
if (toolPart.toolCallId !== callId)
|
|
16684
|
-
return part;
|
|
16711
|
+
if (toolPart.toolCallId !== callId) return part;
|
|
16685
16712
|
return {
|
|
16686
16713
|
...toolPart,
|
|
16687
16714
|
state: "output-available",
|
|
@@ -16696,8 +16723,7 @@ var RealtimeEventReducer = class {
|
|
|
16696
16723
|
return {
|
|
16697
16724
|
...state,
|
|
16698
16725
|
messages: state.messages.map((message) => {
|
|
16699
|
-
if (message.id !== messageId)
|
|
16700
|
-
return message;
|
|
16726
|
+
if (message.id !== messageId) return message;
|
|
16701
16727
|
const parts = [...message.parts];
|
|
16702
16728
|
parts[partIndex] = part;
|
|
16703
16729
|
return { ...message, parts };
|
|
@@ -16718,7 +16744,7 @@ var AbstractRealtimeSession = class {
|
|
|
16718
16744
|
this.toolCallsInResponse = /* @__PURE__ */ new Set();
|
|
16719
16745
|
this.submittedToolOutputs = /* @__PURE__ */ new Set();
|
|
16720
16746
|
this.responseToolCallsClosed = false;
|
|
16721
|
-
var _a24,
|
|
16747
|
+
var _a24, _b24, _c, _d, _e, _f, _g, _h;
|
|
16722
16748
|
this.model = options.model;
|
|
16723
16749
|
this.api = options.api;
|
|
16724
16750
|
this.sessionConfig = options.sessionConfig;
|
|
@@ -16727,7 +16753,7 @@ var AbstractRealtimeSession = class {
|
|
|
16727
16753
|
this.onToolCall = options.onToolCall;
|
|
16728
16754
|
this.onEvent = options.onEvent;
|
|
16729
16755
|
this.onError = options.onError;
|
|
16730
|
-
const sampleRate = (
|
|
16756
|
+
const sampleRate = (_b24 = options.sampleRate) != null ? _b24 : 24e3;
|
|
16731
16757
|
const captureSampleRate = (_e = (_d = (_c = options.sessionConfig) == null ? void 0 : _c.inputAudioFormat) == null ? void 0 : _d.rate) != null ? _e : sampleRate;
|
|
16732
16758
|
const playbackSampleRate = (_h = (_g = (_f = options.sessionConfig) == null ? void 0 : _f.outputAudioFormat) == null ? void 0 : _g.rate) != null ? _h : sampleRate;
|
|
16733
16759
|
this.transport = new BrowserRealtimeTransport({
|
|
@@ -16853,13 +16879,10 @@ var AbstractRealtimeSession = class {
|
|
|
16853
16879
|
* without the full tool context on multi-tool turns.
|
|
16854
16880
|
*/
|
|
16855
16881
|
maybeRequestToolResponse() {
|
|
16856
|
-
if (!this.responseToolCallsClosed)
|
|
16857
|
-
|
|
16858
|
-
if (this.toolCallsInResponse.size === 0)
|
|
16859
|
-
return;
|
|
16882
|
+
if (!this.responseToolCallsClosed) return;
|
|
16883
|
+
if (this.toolCallsInResponse.size === 0) return;
|
|
16860
16884
|
for (const callId of this.toolCallsInResponse) {
|
|
16861
|
-
if (!this.submittedToolOutputs.has(callId))
|
|
16862
|
-
return;
|
|
16885
|
+
if (!this.submittedToolOutputs.has(callId)) return;
|
|
16863
16886
|
}
|
|
16864
16887
|
this.sendEvent({ type: "response-create" });
|
|
16865
16888
|
this.toolCallsInResponse.clear();
|
|
@@ -16916,7 +16939,7 @@ var AbstractRealtimeSession = class {
|
|
|
16916
16939
|
args,
|
|
16917
16940
|
callId
|
|
16918
16941
|
}) {
|
|
16919
|
-
var _a24,
|
|
16942
|
+
var _a24, _b24;
|
|
16920
16943
|
if (this.onToolCall == null) {
|
|
16921
16944
|
(_a24 = this.onError) == null ? void 0 : _a24.call(this, new Error(`No handler provided for tool "${name24}"`));
|
|
16922
16945
|
return;
|
|
@@ -16929,7 +16952,7 @@ var AbstractRealtimeSession = class {
|
|
|
16929
16952
|
this.addToolOutput(callId, result);
|
|
16930
16953
|
}
|
|
16931
16954
|
} catch (error) {
|
|
16932
|
-
(
|
|
16955
|
+
(_b24 = this.onError) == null ? void 0 : _b24.call(
|
|
16933
16956
|
this,
|
|
16934
16957
|
error instanceof Error ? error : new Error(`Client tool execution failed: ${String(error)}`)
|
|
16935
16958
|
);
|
|
@@ -17098,8 +17121,8 @@ import { AISDKError as AISDKError27, NoSuchModelError as NoSuchModelError3 } fro
|
|
|
17098
17121
|
var name23 = "AI_NoSuchProviderError";
|
|
17099
17122
|
var marker23 = `vercel.ai.error.${name23}`;
|
|
17100
17123
|
var symbol23 = Symbol.for(marker23);
|
|
17101
|
-
var _a23;
|
|
17102
|
-
var NoSuchProviderError = class extends NoSuchModelError3 {
|
|
17124
|
+
var _a23, _b23;
|
|
17125
|
+
var NoSuchProviderError = class extends (_b23 = NoSuchModelError3, _a23 = symbol23, _b23) {
|
|
17103
17126
|
constructor({
|
|
17104
17127
|
modelId,
|
|
17105
17128
|
modelType,
|
|
@@ -17116,7 +17139,6 @@ var NoSuchProviderError = class extends NoSuchModelError3 {
|
|
|
17116
17139
|
return AISDKError27.hasMarker(error, marker23);
|
|
17117
17140
|
}
|
|
17118
17141
|
};
|
|
17119
|
-
_a23 = symbol23;
|
|
17120
17142
|
|
|
17121
17143
|
// src/registry/provider-registry.ts
|
|
17122
17144
|
import {
|
|
@@ -17185,9 +17207,9 @@ var DefaultProviderRegistry = class {
|
|
|
17185
17207
|
return [id.slice(0, index), id.slice(index + this.separator.length)];
|
|
17186
17208
|
}
|
|
17187
17209
|
languageModel(id) {
|
|
17188
|
-
var _a24,
|
|
17210
|
+
var _a24, _b24;
|
|
17189
17211
|
const [providerId, modelId] = this.splitId(id, "languageModel");
|
|
17190
|
-
let model = (
|
|
17212
|
+
let model = (_b24 = (_a24 = this.getProvider(providerId, "languageModel")).languageModel) == null ? void 0 : _b24.call(
|
|
17191
17213
|
_a24,
|
|
17192
17214
|
modelId
|
|
17193
17215
|
);
|
|
@@ -17331,7 +17353,7 @@ async function rerank({
|
|
|
17331
17353
|
const telemetryDispatcher = createTelemetryDispatcher({
|
|
17332
17354
|
telemetry
|
|
17333
17355
|
});
|
|
17334
|
-
const runInTracingChannelSpan = (_a24 = telemetryDispatcher.runInTracingChannelSpan) != null ? _a24 : async ({ execute }) => await execute();
|
|
17356
|
+
const runInTracingChannelSpan = (_a24 = telemetryDispatcher.runInTracingChannelSpan) != null ? _a24 : (async ({ execute }) => await execute());
|
|
17335
17357
|
if (documents.length === 0) {
|
|
17336
17358
|
await notify({
|
|
17337
17359
|
event: {
|
|
@@ -17397,7 +17419,7 @@ async function rerank({
|
|
|
17397
17419
|
type: "rerank",
|
|
17398
17420
|
event: startEvent,
|
|
17399
17421
|
execute: async () => {
|
|
17400
|
-
var _a25,
|
|
17422
|
+
var _a25, _b24, _c, _d, _e;
|
|
17401
17423
|
await notify({
|
|
17402
17424
|
event: startEvent,
|
|
17403
17425
|
callbacks: [resolvedOnStart, telemetryDispatcher.onStart]
|
|
@@ -17469,7 +17491,7 @@ async function rerank({
|
|
|
17469
17491
|
response: {
|
|
17470
17492
|
id: response == null ? void 0 : response.id,
|
|
17471
17493
|
timestamp: (_a25 = response == null ? void 0 : response.timestamp) != null ? _a25 : /* @__PURE__ */ new Date(),
|
|
17472
|
-
modelId: (
|
|
17494
|
+
modelId: (_b24 = response == null ? void 0 : response.modelId) != null ? _b24 : model.modelId,
|
|
17473
17495
|
headers: response == null ? void 0 : response.headers,
|
|
17474
17496
|
body: response == null ? void 0 : response.body
|
|
17475
17497
|
}
|
|
@@ -17655,7 +17677,7 @@ function streamTranscribe({
|
|
|
17655
17677
|
const pipeAbortController = new AbortController();
|
|
17656
17678
|
const transformer = {
|
|
17657
17679
|
transform(value, controller) {
|
|
17658
|
-
var _a25,
|
|
17680
|
+
var _a25, _b24, _c, _d;
|
|
17659
17681
|
switch (value.type) {
|
|
17660
17682
|
case "stream-start": {
|
|
17661
17683
|
resolveWarnings(value.warnings);
|
|
@@ -17664,7 +17686,7 @@ function streamTranscribe({
|
|
|
17664
17686
|
case "response-metadata": {
|
|
17665
17687
|
response = {
|
|
17666
17688
|
timestamp: (_a25 = value.timestamp) != null ? _a25 : currentResponseMetadata().timestamp,
|
|
17667
|
-
modelId: (
|
|
17689
|
+
modelId: (_b24 = value.modelId) != null ? _b24 : currentResponseMetadata().modelId,
|
|
17668
17690
|
headers: (_c = value.headers) != null ? _c : response == null ? void 0 : response.headers
|
|
17669
17691
|
};
|
|
17670
17692
|
break;
|
|
@@ -17711,7 +17733,7 @@ function streamTranscribe({
|
|
|
17711
17733
|
};
|
|
17712
17734
|
const transform = new TransformStream(transformer);
|
|
17713
17735
|
void (async () => {
|
|
17714
|
-
var _a25,
|
|
17736
|
+
var _a25, _b24, _c, _d, _e;
|
|
17715
17737
|
const result = await doStream({
|
|
17716
17738
|
audio,
|
|
17717
17739
|
inputAudioFormat,
|
|
@@ -17722,7 +17744,7 @@ function streamTranscribe({
|
|
|
17722
17744
|
includeRawChunks
|
|
17723
17745
|
});
|
|
17724
17746
|
response = {
|
|
17725
|
-
timestamp: (
|
|
17747
|
+
timestamp: (_b24 = (_a25 = result.response) == null ? void 0 : _a25.timestamp) != null ? _b24 : startedAt,
|
|
17726
17748
|
modelId: (_d = (_c = result.response) == null ? void 0 : _c.modelId) != null ? _d : resolvedModel.modelId,
|
|
17727
17749
|
headers: (_e = result.response) == null ? void 0 : _e.headers
|
|
17728
17750
|
};
|
|
@@ -17858,7 +17880,7 @@ function streamTranslate({
|
|
|
17858
17880
|
let hasAudioOutput = false;
|
|
17859
17881
|
const transformer = {
|
|
17860
17882
|
transform(value, controller) {
|
|
17861
|
-
var _a24,
|
|
17883
|
+
var _a24, _b24, _c, _d;
|
|
17862
17884
|
switch (value.type) {
|
|
17863
17885
|
case "stream-start": {
|
|
17864
17886
|
resolveWarnings(value.warnings);
|
|
@@ -17867,7 +17889,7 @@ function streamTranslate({
|
|
|
17867
17889
|
case "response-metadata": {
|
|
17868
17890
|
response = {
|
|
17869
17891
|
timestamp: (_a24 = value.timestamp) != null ? _a24 : currentResponseMetadata().timestamp,
|
|
17870
|
-
modelId: (
|
|
17892
|
+
modelId: (_b24 = value.modelId) != null ? _b24 : currentResponseMetadata().modelId,
|
|
17871
17893
|
headers: (_c = value.headers) != null ? _c : response == null ? void 0 : response.headers
|
|
17872
17894
|
};
|
|
17873
17895
|
break;
|
|
@@ -17925,7 +17947,7 @@ function streamTranslate({
|
|
|
17925
17947
|
};
|
|
17926
17948
|
const transform = new TransformStream(transformer);
|
|
17927
17949
|
void (async () => {
|
|
17928
|
-
var _a24,
|
|
17950
|
+
var _a24, _b24, _c, _d, _e;
|
|
17929
17951
|
const result = await doStream({
|
|
17930
17952
|
audio,
|
|
17931
17953
|
inputAudioFormat,
|
|
@@ -17939,7 +17961,7 @@ function streamTranslate({
|
|
|
17939
17961
|
includeRawChunks
|
|
17940
17962
|
});
|
|
17941
17963
|
response = {
|
|
17942
|
-
timestamp: (
|
|
17964
|
+
timestamp: (_b24 = (_a24 = result.response) == null ? void 0 : _a24.timestamp) != null ? _b24 : startedAt,
|
|
17943
17965
|
modelId: (_d = (_c = result.response) == null ? void 0 : _c.modelId) != null ? _d : resolvedModel.modelId,
|
|
17944
17966
|
headers: (_e = result.response) == null ? void 0 : _e.headers
|
|
17945
17967
|
};
|
|
@@ -18214,7 +18236,7 @@ var HttpChatTransport = class {
|
|
|
18214
18236
|
abortSignal,
|
|
18215
18237
|
...options
|
|
18216
18238
|
}) {
|
|
18217
|
-
var _a24,
|
|
18239
|
+
var _a24, _b24, _c, _d, _e;
|
|
18218
18240
|
const resolvedBody = await resolve2(this.body);
|
|
18219
18241
|
const resolvedHeaders = await resolve2(this.headers);
|
|
18220
18242
|
const resolvedCredentials = await resolve2(this.credentials);
|
|
@@ -18233,7 +18255,7 @@ var HttpChatTransport = class {
|
|
|
18233
18255
|
trigger: options.trigger,
|
|
18234
18256
|
messageId: options.messageId
|
|
18235
18257
|
}));
|
|
18236
|
-
const api = (
|
|
18258
|
+
const api = (_b24 = preparedRequest == null ? void 0 : preparedRequest.api) != null ? _b24 : this.api;
|
|
18237
18259
|
const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? normalizeHeaders(preparedRequest.headers) : baseHeaders;
|
|
18238
18260
|
const body = (preparedRequest == null ? void 0 : preparedRequest.body) !== void 0 ? preparedRequest.body : {
|
|
18239
18261
|
...resolvedBody,
|
|
@@ -18266,7 +18288,7 @@ var HttpChatTransport = class {
|
|
|
18266
18288
|
return this.processResponseStream(response.body);
|
|
18267
18289
|
}
|
|
18268
18290
|
async reconnectToStream(options) {
|
|
18269
|
-
var _a24,
|
|
18291
|
+
var _a24, _b24, _c, _d, _e;
|
|
18270
18292
|
const resolvedBody = await resolve2(this.body);
|
|
18271
18293
|
const resolvedHeaders = await resolve2(this.headers);
|
|
18272
18294
|
const resolvedCredentials = await resolve2(this.credentials);
|
|
@@ -18282,7 +18304,7 @@ var HttpChatTransport = class {
|
|
|
18282
18304
|
credentials: resolvedCredentials,
|
|
18283
18305
|
requestMetadata: options.metadata
|
|
18284
18306
|
}));
|
|
18285
|
-
const api = (
|
|
18307
|
+
const api = (_b24 = preparedRequest == null ? void 0 : preparedRequest.api) != null ? _b24 : `${this.api}/${options.chatId}/stream`;
|
|
18286
18308
|
const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? normalizeHeaders(preparedRequest.headers) : baseHeaders;
|
|
18287
18309
|
const credentials = (_c = preparedRequest == null ? void 0 : preparedRequest.credentials) != null ? _c : resolvedCredentials;
|
|
18288
18310
|
const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
|
|
@@ -18355,7 +18377,7 @@ var AbstractChat = class {
|
|
|
18355
18377
|
* If a messageId is provided, the message will be replaced.
|
|
18356
18378
|
*/
|
|
18357
18379
|
this.sendMessage = async (message, options) => {
|
|
18358
|
-
var _a24,
|
|
18380
|
+
var _a24, _b24, _c, _d;
|
|
18359
18381
|
if (message == null) {
|
|
18360
18382
|
await this.makeRequest({
|
|
18361
18383
|
trigger: "submit-message",
|
|
@@ -18402,7 +18424,7 @@ var AbstractChat = class {
|
|
|
18402
18424
|
this.state.replaceMessage(messageIndex, {
|
|
18403
18425
|
...uiMessage,
|
|
18404
18426
|
id: message.messageId,
|
|
18405
|
-
role: (
|
|
18427
|
+
role: (_b24 = uiMessage.role) != null ? _b24 : "user",
|
|
18406
18428
|
metadata: message.metadata
|
|
18407
18429
|
});
|
|
18408
18430
|
} else {
|
|
@@ -18526,12 +18548,12 @@ var AbstractChat = class {
|
|
|
18526
18548
|
* Abort the current request immediately, keep the generated tokens if any.
|
|
18527
18549
|
*/
|
|
18528
18550
|
this.stop = async () => {
|
|
18529
|
-
var _a24,
|
|
18551
|
+
var _a24, _b24;
|
|
18530
18552
|
for (const controller of this.pendingMessagePreparations) {
|
|
18531
18553
|
controller.abort();
|
|
18532
18554
|
}
|
|
18533
18555
|
(_a24 = this.activeResumeRequest) == null ? void 0 : _a24.abortController.abort();
|
|
18534
|
-
(
|
|
18556
|
+
(_b24 = this.activeResponse) == null ? void 0 : _b24.abortController.abort();
|
|
18535
18557
|
};
|
|
18536
18558
|
this.id = id;
|
|
18537
18559
|
this.transport = transport;
|
|
@@ -18560,8 +18582,7 @@ var AbstractChat = class {
|
|
|
18560
18582
|
status,
|
|
18561
18583
|
error
|
|
18562
18584
|
}) {
|
|
18563
|
-
if (this.status === status)
|
|
18564
|
-
return;
|
|
18585
|
+
if (this.status === status) return;
|
|
18565
18586
|
this.state.status = status;
|
|
18566
18587
|
this.state.error = error;
|
|
18567
18588
|
}
|
|
@@ -18578,8 +18599,7 @@ var AbstractChat = class {
|
|
|
18578
18599
|
this.state.messages = messages;
|
|
18579
18600
|
}
|
|
18580
18601
|
async shouldSendAutomatically() {
|
|
18581
|
-
if (!this.sendAutomaticallyWhen)
|
|
18582
|
-
return false;
|
|
18602
|
+
if (!this.sendAutomaticallyWhen) return false;
|
|
18583
18603
|
const result = this.sendAutomaticallyWhen({
|
|
18584
18604
|
messages: this.state.messages
|
|
18585
18605
|
});
|
|
@@ -18595,7 +18615,7 @@ var AbstractChat = class {
|
|
|
18595
18615
|
body,
|
|
18596
18616
|
messageId
|
|
18597
18617
|
}) {
|
|
18598
|
-
var _a24,
|
|
18618
|
+
var _a24, _b24, _c;
|
|
18599
18619
|
const abortController = new AbortController();
|
|
18600
18620
|
const activeResumeRequest = trigger === "resume-stream" ? { abortController } : void 0;
|
|
18601
18621
|
if (activeResumeRequest) {
|
|
@@ -18763,7 +18783,7 @@ var AbstractChat = class {
|
|
|
18763
18783
|
} finally {
|
|
18764
18784
|
try {
|
|
18765
18785
|
if (activeResponse) {
|
|
18766
|
-
(
|
|
18786
|
+
(_b24 = this.onFinish) == null ? void 0 : _b24.call(this, {
|
|
18767
18787
|
message: activeResponse.state.message,
|
|
18768
18788
|
messages: this.state.messages,
|
|
18769
18789
|
isAbort,
|
|
@@ -18966,8 +18986,7 @@ function isLikelyText(data) {
|
|
|
18966
18986
|
data.substring(0, Math.min(data.length, BASE64_CHECK_LENGTH))
|
|
18967
18987
|
) : data;
|
|
18968
18988
|
const checkLength = Math.min(bytes.length, CHECK_LENGTH);
|
|
18969
|
-
if (checkLength === 0)
|
|
18970
|
-
return false;
|
|
18989
|
+
if (checkLength === 0) return false;
|
|
18971
18990
|
for (let i = 0; i < checkLength; i++) {
|
|
18972
18991
|
const byte = bytes[i];
|
|
18973
18992
|
if (byte === 0 || byte < 32 && byte !== 9 && byte !== 10 && byte !== 13) {
|