ai 5.0.280 → 5.0.282
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 +16 -0
- package/dist/index.d.mts +60 -20
- package/dist/index.d.ts +60 -20
- package/dist/index.js +413 -345
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +351 -282
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +1 -1
- package/dist/internal/index.mjs +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __export = (target, all) => {
|
|
3
|
-
for (var
|
|
4
|
-
__defProp(target,
|
|
3
|
+
for (var name17 in all)
|
|
4
|
+
__defProp(target, name17, { get: all[name17], enumerable: true });
|
|
5
5
|
};
|
|
6
6
|
|
|
7
7
|
// src/index.ts
|
|
@@ -43,6 +43,37 @@ var NoOutputSpecifiedError = class extends AISDKError {
|
|
|
43
43
|
};
|
|
44
44
|
_a = symbol;
|
|
45
45
|
|
|
46
|
+
// src/error/tool-choice-violation-error.ts
|
|
47
|
+
import {
|
|
48
|
+
AISDKError as AISDKError2
|
|
49
|
+
} from "@ai-sdk/provider";
|
|
50
|
+
var name2 = "AI_ToolChoiceViolationError";
|
|
51
|
+
var marker2 = `vercel.ai.error.${name2}`;
|
|
52
|
+
var symbol2 = Symbol.for(marker2);
|
|
53
|
+
var _a2;
|
|
54
|
+
var ToolChoiceViolationError = class extends AISDKError2 {
|
|
55
|
+
constructor({
|
|
56
|
+
toolChoice,
|
|
57
|
+
finishReason,
|
|
58
|
+
provider,
|
|
59
|
+
modelId,
|
|
60
|
+
content,
|
|
61
|
+
message = "Model response contained a tool call even though tool choice was none."
|
|
62
|
+
}) {
|
|
63
|
+
super({ name: name2, message });
|
|
64
|
+
this[_a2] = true;
|
|
65
|
+
this.toolChoice = toolChoice;
|
|
66
|
+
this.finishReason = finishReason;
|
|
67
|
+
this.provider = provider;
|
|
68
|
+
this.modelId = modelId;
|
|
69
|
+
this.content = content;
|
|
70
|
+
}
|
|
71
|
+
static isInstance(error) {
|
|
72
|
+
return AISDKError2.hasMarker(error, marker2);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
_a2 = symbol2;
|
|
76
|
+
|
|
46
77
|
// src/logger/log-warnings.ts
|
|
47
78
|
function formatWarning(warning) {
|
|
48
79
|
const prefix = "AI SDK Warning:";
|
|
@@ -114,7 +145,7 @@ import { gateway } from "@ai-sdk/gateway";
|
|
|
114
145
|
|
|
115
146
|
// src/error/index.ts
|
|
116
147
|
import {
|
|
117
|
-
AISDKError as
|
|
148
|
+
AISDKError as AISDKError18,
|
|
118
149
|
APICallError,
|
|
119
150
|
EmptyResponseBodyError,
|
|
120
151
|
InvalidPromptError,
|
|
@@ -130,105 +161,105 @@ import {
|
|
|
130
161
|
} from "@ai-sdk/provider";
|
|
131
162
|
|
|
132
163
|
// src/error/invalid-argument-error.ts
|
|
133
|
-
import { AISDKError as
|
|
134
|
-
var
|
|
135
|
-
var
|
|
136
|
-
var
|
|
137
|
-
var
|
|
138
|
-
var InvalidArgumentError = class extends
|
|
164
|
+
import { AISDKError as AISDKError3 } from "@ai-sdk/provider";
|
|
165
|
+
var name3 = "AI_InvalidArgumentError";
|
|
166
|
+
var marker3 = `vercel.ai.error.${name3}`;
|
|
167
|
+
var symbol3 = Symbol.for(marker3);
|
|
168
|
+
var _a3;
|
|
169
|
+
var InvalidArgumentError = class extends AISDKError3 {
|
|
139
170
|
constructor({
|
|
140
171
|
parameter,
|
|
141
172
|
value,
|
|
142
173
|
message
|
|
143
174
|
}) {
|
|
144
175
|
super({
|
|
145
|
-
name:
|
|
176
|
+
name: name3,
|
|
146
177
|
message: `Invalid argument for parameter ${parameter}: ${message}`
|
|
147
178
|
});
|
|
148
|
-
this[
|
|
179
|
+
this[_a3] = true;
|
|
149
180
|
this.parameter = parameter;
|
|
150
181
|
this.value = value;
|
|
151
182
|
}
|
|
152
183
|
static isInstance(error) {
|
|
153
|
-
return
|
|
184
|
+
return AISDKError3.hasMarker(error, marker3);
|
|
154
185
|
}
|
|
155
186
|
};
|
|
156
|
-
|
|
187
|
+
_a3 = symbol3;
|
|
157
188
|
|
|
158
189
|
// src/error/invalid-stream-part-error.ts
|
|
159
|
-
import { AISDKError as
|
|
160
|
-
var
|
|
161
|
-
var
|
|
162
|
-
var
|
|
163
|
-
var
|
|
164
|
-
var InvalidStreamPartError = class extends
|
|
190
|
+
import { AISDKError as AISDKError4 } from "@ai-sdk/provider";
|
|
191
|
+
var name4 = "AI_InvalidStreamPartError";
|
|
192
|
+
var marker4 = `vercel.ai.error.${name4}`;
|
|
193
|
+
var symbol4 = Symbol.for(marker4);
|
|
194
|
+
var _a4;
|
|
195
|
+
var InvalidStreamPartError = class extends AISDKError4 {
|
|
165
196
|
constructor({
|
|
166
197
|
chunk,
|
|
167
198
|
message
|
|
168
199
|
}) {
|
|
169
|
-
super({ name:
|
|
170
|
-
this[
|
|
200
|
+
super({ name: name4, message });
|
|
201
|
+
this[_a4] = true;
|
|
171
202
|
this.chunk = chunk;
|
|
172
203
|
}
|
|
173
204
|
static isInstance(error) {
|
|
174
|
-
return
|
|
205
|
+
return AISDKError4.hasMarker(error, marker4);
|
|
175
206
|
}
|
|
176
207
|
};
|
|
177
|
-
|
|
208
|
+
_a4 = symbol4;
|
|
178
209
|
|
|
179
210
|
// src/error/invalid-tool-input-error.ts
|
|
180
|
-
import { AISDKError as
|
|
181
|
-
var
|
|
182
|
-
var
|
|
183
|
-
var
|
|
184
|
-
var
|
|
185
|
-
var InvalidToolInputError = class extends
|
|
211
|
+
import { AISDKError as AISDKError5, getErrorMessage } from "@ai-sdk/provider";
|
|
212
|
+
var name5 = "AI_InvalidToolInputError";
|
|
213
|
+
var marker5 = `vercel.ai.error.${name5}`;
|
|
214
|
+
var symbol5 = Symbol.for(marker5);
|
|
215
|
+
var _a5;
|
|
216
|
+
var InvalidToolInputError = class extends AISDKError5 {
|
|
186
217
|
constructor({
|
|
187
218
|
toolInput,
|
|
188
219
|
toolName,
|
|
189
220
|
cause,
|
|
190
221
|
message = `Invalid input for tool ${toolName}: ${getErrorMessage(cause)}`
|
|
191
222
|
}) {
|
|
192
|
-
super({ name:
|
|
193
|
-
this[
|
|
223
|
+
super({ name: name5, message, cause });
|
|
224
|
+
this[_a5] = true;
|
|
194
225
|
this.toolInput = toolInput;
|
|
195
226
|
this.toolName = toolName;
|
|
196
227
|
}
|
|
197
228
|
static isInstance(error) {
|
|
198
|
-
return
|
|
229
|
+
return AISDKError5.hasMarker(error, marker5);
|
|
199
230
|
}
|
|
200
231
|
};
|
|
201
|
-
|
|
232
|
+
_a5 = symbol5;
|
|
202
233
|
|
|
203
234
|
// src/error/no-image-generated-error.ts
|
|
204
|
-
import { AISDKError as
|
|
205
|
-
var
|
|
206
|
-
var
|
|
207
|
-
var
|
|
208
|
-
var
|
|
209
|
-
var NoImageGeneratedError = class extends
|
|
235
|
+
import { AISDKError as AISDKError6 } from "@ai-sdk/provider";
|
|
236
|
+
var name6 = "AI_NoImageGeneratedError";
|
|
237
|
+
var marker6 = `vercel.ai.error.${name6}`;
|
|
238
|
+
var symbol6 = Symbol.for(marker6);
|
|
239
|
+
var _a6;
|
|
240
|
+
var NoImageGeneratedError = class extends AISDKError6 {
|
|
210
241
|
constructor({
|
|
211
242
|
message = "No image generated.",
|
|
212
243
|
cause,
|
|
213
244
|
responses
|
|
214
245
|
}) {
|
|
215
|
-
super({ name:
|
|
216
|
-
this[
|
|
246
|
+
super({ name: name6, message, cause });
|
|
247
|
+
this[_a6] = true;
|
|
217
248
|
this.responses = responses;
|
|
218
249
|
}
|
|
219
250
|
static isInstance(error) {
|
|
220
|
-
return
|
|
251
|
+
return AISDKError6.hasMarker(error, marker6);
|
|
221
252
|
}
|
|
222
253
|
};
|
|
223
|
-
|
|
254
|
+
_a6 = symbol6;
|
|
224
255
|
|
|
225
256
|
// src/error/no-object-generated-error.ts
|
|
226
|
-
import { AISDKError as
|
|
227
|
-
var
|
|
228
|
-
var
|
|
229
|
-
var
|
|
230
|
-
var
|
|
231
|
-
var NoObjectGeneratedError = class extends
|
|
257
|
+
import { AISDKError as AISDKError7 } from "@ai-sdk/provider";
|
|
258
|
+
var name7 = "AI_NoObjectGeneratedError";
|
|
259
|
+
var marker7 = `vercel.ai.error.${name7}`;
|
|
260
|
+
var symbol7 = Symbol.for(marker7);
|
|
261
|
+
var _a7;
|
|
262
|
+
var NoObjectGeneratedError = class extends AISDKError7 {
|
|
232
263
|
constructor({
|
|
233
264
|
message = "No object generated.",
|
|
234
265
|
cause,
|
|
@@ -237,43 +268,43 @@ var NoObjectGeneratedError = class extends AISDKError6 {
|
|
|
237
268
|
usage,
|
|
238
269
|
finishReason
|
|
239
270
|
}) {
|
|
240
|
-
super({ name:
|
|
241
|
-
this[
|
|
271
|
+
super({ name: name7, message, cause });
|
|
272
|
+
this[_a7] = true;
|
|
242
273
|
this.text = text2;
|
|
243
274
|
this.response = response;
|
|
244
275
|
this.usage = usage;
|
|
245
276
|
this.finishReason = finishReason;
|
|
246
277
|
}
|
|
247
278
|
static isInstance(error) {
|
|
248
|
-
return
|
|
279
|
+
return AISDKError7.hasMarker(error, marker7);
|
|
249
280
|
}
|
|
250
281
|
};
|
|
251
|
-
|
|
282
|
+
_a7 = symbol7;
|
|
252
283
|
|
|
253
284
|
// src/error/no-output-generated-error.ts
|
|
254
|
-
import { AISDKError as
|
|
255
|
-
var
|
|
256
|
-
var
|
|
257
|
-
var
|
|
258
|
-
var
|
|
259
|
-
var NoOutputGeneratedError = class extends
|
|
285
|
+
import { AISDKError as AISDKError8 } from "@ai-sdk/provider";
|
|
286
|
+
var name8 = "AI_NoOutputGeneratedError";
|
|
287
|
+
var marker8 = `vercel.ai.error.${name8}`;
|
|
288
|
+
var symbol8 = Symbol.for(marker8);
|
|
289
|
+
var _a8;
|
|
290
|
+
var NoOutputGeneratedError = class extends AISDKError8 {
|
|
260
291
|
// used in isInstance
|
|
261
292
|
constructor({
|
|
262
293
|
message = "No output generated.",
|
|
263
294
|
cause
|
|
264
295
|
} = {}) {
|
|
265
|
-
super({ name:
|
|
266
|
-
this[
|
|
296
|
+
super({ name: name8, message, cause });
|
|
297
|
+
this[_a8] = true;
|
|
267
298
|
}
|
|
268
299
|
static isInstance(error) {
|
|
269
|
-
return
|
|
300
|
+
return AISDKError8.hasMarker(error, marker8);
|
|
270
301
|
}
|
|
271
302
|
};
|
|
272
|
-
|
|
303
|
+
_a8 = symbol8;
|
|
273
304
|
|
|
274
305
|
// src/error/no-speech-generated-error.ts
|
|
275
|
-
import { AISDKError as
|
|
276
|
-
var NoSpeechGeneratedError = class extends
|
|
306
|
+
import { AISDKError as AISDKError9 } from "@ai-sdk/provider";
|
|
307
|
+
var NoSpeechGeneratedError = class extends AISDKError9 {
|
|
277
308
|
constructor(options) {
|
|
278
309
|
super({
|
|
279
310
|
name: "AI_NoSpeechGeneratedError",
|
|
@@ -284,53 +315,53 @@ var NoSpeechGeneratedError = class extends AISDKError8 {
|
|
|
284
315
|
};
|
|
285
316
|
|
|
286
317
|
// src/error/no-such-tool-error.ts
|
|
287
|
-
import { AISDKError as
|
|
288
|
-
var
|
|
289
|
-
var
|
|
290
|
-
var
|
|
291
|
-
var
|
|
292
|
-
var NoSuchToolError = class extends
|
|
318
|
+
import { AISDKError as AISDKError10 } from "@ai-sdk/provider";
|
|
319
|
+
var name9 = "AI_NoSuchToolError";
|
|
320
|
+
var marker9 = `vercel.ai.error.${name9}`;
|
|
321
|
+
var symbol9 = Symbol.for(marker9);
|
|
322
|
+
var _a9;
|
|
323
|
+
var NoSuchToolError = class extends AISDKError10 {
|
|
293
324
|
constructor({
|
|
294
325
|
toolName,
|
|
295
326
|
availableTools = void 0,
|
|
296
327
|
message = `Model tried to call unavailable tool '${toolName}'. ${availableTools === void 0 ? "No tools are available." : `Available tools: ${availableTools.join(", ")}.`}`
|
|
297
328
|
}) {
|
|
298
|
-
super({ name:
|
|
299
|
-
this[
|
|
329
|
+
super({ name: name9, message });
|
|
330
|
+
this[_a9] = true;
|
|
300
331
|
this.toolName = toolName;
|
|
301
332
|
this.availableTools = availableTools;
|
|
302
333
|
}
|
|
303
334
|
static isInstance(error) {
|
|
304
|
-
return
|
|
335
|
+
return AISDKError10.hasMarker(error, marker9);
|
|
305
336
|
}
|
|
306
337
|
};
|
|
307
|
-
|
|
338
|
+
_a9 = symbol9;
|
|
308
339
|
|
|
309
340
|
// src/error/tool-call-repair-error.ts
|
|
310
|
-
import { AISDKError as
|
|
311
|
-
var
|
|
312
|
-
var
|
|
313
|
-
var
|
|
314
|
-
var
|
|
315
|
-
var ToolCallRepairError = class extends
|
|
341
|
+
import { AISDKError as AISDKError11, getErrorMessage as getErrorMessage2 } from "@ai-sdk/provider";
|
|
342
|
+
var name10 = "AI_ToolCallRepairError";
|
|
343
|
+
var marker10 = `vercel.ai.error.${name10}`;
|
|
344
|
+
var symbol10 = Symbol.for(marker10);
|
|
345
|
+
var _a10;
|
|
346
|
+
var ToolCallRepairError = class extends AISDKError11 {
|
|
316
347
|
constructor({
|
|
317
348
|
cause,
|
|
318
349
|
originalError,
|
|
319
350
|
message = `Error repairing tool call: ${getErrorMessage2(cause)}`
|
|
320
351
|
}) {
|
|
321
|
-
super({ name:
|
|
322
|
-
this[
|
|
352
|
+
super({ name: name10, message, cause });
|
|
353
|
+
this[_a10] = true;
|
|
323
354
|
this.originalError = originalError;
|
|
324
355
|
}
|
|
325
356
|
static isInstance(error) {
|
|
326
|
-
return
|
|
357
|
+
return AISDKError11.hasMarker(error, marker10);
|
|
327
358
|
}
|
|
328
359
|
};
|
|
329
|
-
|
|
360
|
+
_a10 = symbol10;
|
|
330
361
|
|
|
331
362
|
// src/error/unsupported-model-version-error.ts
|
|
332
|
-
import { AISDKError as
|
|
333
|
-
var UnsupportedModelVersionError = class extends
|
|
363
|
+
import { AISDKError as AISDKError12 } from "@ai-sdk/provider";
|
|
364
|
+
var UnsupportedModelVersionError = class extends AISDKError12 {
|
|
334
365
|
constructor(options) {
|
|
335
366
|
super({
|
|
336
367
|
name: "AI_UnsupportedModelVersionError",
|
|
@@ -343,76 +374,76 @@ var UnsupportedModelVersionError = class extends AISDKError11 {
|
|
|
343
374
|
};
|
|
344
375
|
|
|
345
376
|
// src/prompt/invalid-data-content-error.ts
|
|
346
|
-
import { AISDKError as
|
|
347
|
-
var
|
|
348
|
-
var
|
|
349
|
-
var
|
|
350
|
-
var
|
|
351
|
-
var InvalidDataContentError = class extends
|
|
377
|
+
import { AISDKError as AISDKError13 } from "@ai-sdk/provider";
|
|
378
|
+
var name11 = "AI_InvalidDataContentError";
|
|
379
|
+
var marker11 = `vercel.ai.error.${name11}`;
|
|
380
|
+
var symbol11 = Symbol.for(marker11);
|
|
381
|
+
var _a11;
|
|
382
|
+
var InvalidDataContentError = class extends AISDKError13 {
|
|
352
383
|
constructor({
|
|
353
384
|
content,
|
|
354
385
|
cause,
|
|
355
386
|
message = `Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof content}.`
|
|
356
387
|
}) {
|
|
357
|
-
super({ name:
|
|
358
|
-
this[
|
|
388
|
+
super({ name: name11, message, cause });
|
|
389
|
+
this[_a11] = true;
|
|
359
390
|
this.content = content;
|
|
360
391
|
}
|
|
361
392
|
static isInstance(error) {
|
|
362
|
-
return
|
|
393
|
+
return AISDKError13.hasMarker(error, marker11);
|
|
363
394
|
}
|
|
364
395
|
};
|
|
365
|
-
|
|
396
|
+
_a11 = symbol11;
|
|
366
397
|
|
|
367
398
|
// src/prompt/invalid-message-role-error.ts
|
|
368
|
-
import { AISDKError as
|
|
369
|
-
var
|
|
370
|
-
var
|
|
371
|
-
var
|
|
372
|
-
var
|
|
373
|
-
var InvalidMessageRoleError = class extends
|
|
399
|
+
import { AISDKError as AISDKError14 } from "@ai-sdk/provider";
|
|
400
|
+
var name12 = "AI_InvalidMessageRoleError";
|
|
401
|
+
var marker12 = `vercel.ai.error.${name12}`;
|
|
402
|
+
var symbol12 = Symbol.for(marker12);
|
|
403
|
+
var _a12;
|
|
404
|
+
var InvalidMessageRoleError = class extends AISDKError14 {
|
|
374
405
|
constructor({
|
|
375
406
|
role,
|
|
376
407
|
message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
|
|
377
408
|
}) {
|
|
378
|
-
super({ name:
|
|
379
|
-
this[
|
|
409
|
+
super({ name: name12, message });
|
|
410
|
+
this[_a12] = true;
|
|
380
411
|
this.role = role;
|
|
381
412
|
}
|
|
382
413
|
static isInstance(error) {
|
|
383
|
-
return
|
|
414
|
+
return AISDKError14.hasMarker(error, marker12);
|
|
384
415
|
}
|
|
385
416
|
};
|
|
386
|
-
|
|
417
|
+
_a12 = symbol12;
|
|
387
418
|
|
|
388
419
|
// src/prompt/message-conversion-error.ts
|
|
389
|
-
import { AISDKError as
|
|
390
|
-
var
|
|
391
|
-
var
|
|
392
|
-
var
|
|
393
|
-
var
|
|
394
|
-
var MessageConversionError = class extends
|
|
420
|
+
import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
|
|
421
|
+
var name13 = "AI_MessageConversionError";
|
|
422
|
+
var marker13 = `vercel.ai.error.${name13}`;
|
|
423
|
+
var symbol13 = Symbol.for(marker13);
|
|
424
|
+
var _a13;
|
|
425
|
+
var MessageConversionError = class extends AISDKError15 {
|
|
395
426
|
constructor({
|
|
396
427
|
originalMessage,
|
|
397
428
|
message
|
|
398
429
|
}) {
|
|
399
|
-
super({ name:
|
|
400
|
-
this[
|
|
430
|
+
super({ name: name13, message });
|
|
431
|
+
this[_a13] = true;
|
|
401
432
|
this.originalMessage = originalMessage;
|
|
402
433
|
}
|
|
403
434
|
static isInstance(error) {
|
|
404
|
-
return
|
|
435
|
+
return AISDKError15.hasMarker(error, marker13);
|
|
405
436
|
}
|
|
406
437
|
};
|
|
407
|
-
|
|
438
|
+
_a13 = symbol13;
|
|
408
439
|
|
|
409
440
|
// src/util/download/download-error.ts
|
|
410
|
-
import { AISDKError as
|
|
411
|
-
var
|
|
412
|
-
var
|
|
413
|
-
var
|
|
414
|
-
var
|
|
415
|
-
var DownloadError = class extends
|
|
441
|
+
import { AISDKError as AISDKError16 } from "@ai-sdk/provider";
|
|
442
|
+
var name14 = "AI_DownloadError";
|
|
443
|
+
var marker14 = `vercel.ai.error.${name14}`;
|
|
444
|
+
var symbol14 = Symbol.for(marker14);
|
|
445
|
+
var _a14;
|
|
446
|
+
var DownloadError = class extends AISDKError16 {
|
|
416
447
|
constructor({
|
|
417
448
|
url,
|
|
418
449
|
statusCode,
|
|
@@ -420,41 +451,41 @@ var DownloadError = class extends AISDKError15 {
|
|
|
420
451
|
cause,
|
|
421
452
|
message = cause == null ? `Failed to download ${url}: ${statusCode} ${statusText}` : `Failed to download ${url}: ${cause}`
|
|
422
453
|
}) {
|
|
423
|
-
super({ name:
|
|
424
|
-
this[
|
|
454
|
+
super({ name: name14, message, cause });
|
|
455
|
+
this[_a14] = true;
|
|
425
456
|
this.url = url;
|
|
426
457
|
this.statusCode = statusCode;
|
|
427
458
|
this.statusText = statusText;
|
|
428
459
|
}
|
|
429
460
|
static isInstance(error) {
|
|
430
|
-
return
|
|
461
|
+
return AISDKError16.hasMarker(error, marker14);
|
|
431
462
|
}
|
|
432
463
|
};
|
|
433
|
-
|
|
464
|
+
_a14 = symbol14;
|
|
434
465
|
|
|
435
466
|
// src/util/retry-error.ts
|
|
436
|
-
import { AISDKError as
|
|
437
|
-
var
|
|
438
|
-
var
|
|
439
|
-
var
|
|
440
|
-
var
|
|
441
|
-
var RetryError = class extends
|
|
467
|
+
import { AISDKError as AISDKError17 } from "@ai-sdk/provider";
|
|
468
|
+
var name15 = "AI_RetryError";
|
|
469
|
+
var marker15 = `vercel.ai.error.${name15}`;
|
|
470
|
+
var symbol15 = Symbol.for(marker15);
|
|
471
|
+
var _a15;
|
|
472
|
+
var RetryError = class extends AISDKError17 {
|
|
442
473
|
constructor({
|
|
443
474
|
message,
|
|
444
475
|
reason,
|
|
445
476
|
errors
|
|
446
477
|
}) {
|
|
447
|
-
super({ name:
|
|
448
|
-
this[
|
|
478
|
+
super({ name: name15, message });
|
|
479
|
+
this[_a15] = true;
|
|
449
480
|
this.reason = reason;
|
|
450
481
|
this.errors = errors;
|
|
451
482
|
this.lastError = errors[errors.length - 1];
|
|
452
483
|
}
|
|
453
484
|
static isInstance(error) {
|
|
454
|
-
return
|
|
485
|
+
return AISDKError17.hasMarker(error, marker15);
|
|
455
486
|
}
|
|
456
487
|
};
|
|
457
|
-
|
|
488
|
+
_a15 = symbol15;
|
|
458
489
|
|
|
459
490
|
// src/model/resolve-model.ts
|
|
460
491
|
function resolveLanguageModel(model) {
|
|
@@ -499,8 +530,8 @@ function resolveImageModel(model) {
|
|
|
499
530
|
return getGlobalProvider().imageModel(model);
|
|
500
531
|
}
|
|
501
532
|
function getGlobalProvider() {
|
|
502
|
-
var
|
|
503
|
-
return (
|
|
533
|
+
var _a17;
|
|
534
|
+
return (_a17 = globalThis.AI_SDK_DEFAULT_PROVIDER) != null ? _a17 : gateway;
|
|
504
535
|
}
|
|
505
536
|
|
|
506
537
|
// src/prompt/convert-to-language-model-prompt.ts
|
|
@@ -727,7 +758,7 @@ import {
|
|
|
727
758
|
} from "@ai-sdk/provider-utils";
|
|
728
759
|
|
|
729
760
|
// src/version.ts
|
|
730
|
-
var VERSION = true ? "5.0.
|
|
761
|
+
var VERSION = true ? "5.0.282" : "0.0.0-test";
|
|
731
762
|
|
|
732
763
|
// src/util/download/download.ts
|
|
733
764
|
var download = async ({
|
|
@@ -735,7 +766,7 @@ var download = async ({
|
|
|
735
766
|
maxBytes,
|
|
736
767
|
abortSignal
|
|
737
768
|
}) => {
|
|
738
|
-
var
|
|
769
|
+
var _a17;
|
|
739
770
|
const urlText = url.toString();
|
|
740
771
|
try {
|
|
741
772
|
const headers = withUserAgentSuffix(
|
|
@@ -763,7 +794,7 @@ var download = async ({
|
|
|
763
794
|
});
|
|
764
795
|
return {
|
|
765
796
|
data,
|
|
766
|
-
mediaType: (
|
|
797
|
+
mediaType: (_a17 = response.headers.get("content-type")) != null ? _a17 : void 0
|
|
767
798
|
};
|
|
768
799
|
} catch (error) {
|
|
769
800
|
if (DownloadError2.isInstance(error)) {
|
|
@@ -781,7 +812,7 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
|
|
|
781
812
|
);
|
|
782
813
|
|
|
783
814
|
// src/prompt/data-content.ts
|
|
784
|
-
import { AISDKError as
|
|
815
|
+
import { AISDKError as AISDKError19 } from "@ai-sdk/provider";
|
|
785
816
|
import {
|
|
786
817
|
convertBase64ToUint8Array as convertBase64ToUint8Array2,
|
|
787
818
|
convertUint8ArrayToBase64
|
|
@@ -812,8 +843,8 @@ var dataContentSchema = z.union([
|
|
|
812
843
|
z.custom(
|
|
813
844
|
// Buffer might not be available in some environments such as CloudFlare:
|
|
814
845
|
(value) => {
|
|
815
|
-
var
|
|
816
|
-
return (_b = (
|
|
846
|
+
var _a17, _b;
|
|
847
|
+
return (_b = (_a17 = globalThis.Buffer) == null ? void 0 : _a17.isBuffer(value)) != null ? _b : false;
|
|
817
848
|
},
|
|
818
849
|
{ message: "Must be a Buffer" }
|
|
819
850
|
)
|
|
@@ -836,7 +867,7 @@ function convertToLanguageModelV2DataContent(content) {
|
|
|
836
867
|
content.toString()
|
|
837
868
|
);
|
|
838
869
|
if (dataUrlMediaType == null || base64Content == null) {
|
|
839
|
-
throw new
|
|
870
|
+
throw new AISDKError19({
|
|
840
871
|
name: "InvalidDataContentError",
|
|
841
872
|
message: `Invalid data URL format in content ${content.toString()}`
|
|
842
873
|
});
|
|
@@ -1013,8 +1044,8 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
1013
1044
|
).flat().filter(
|
|
1014
1045
|
(part) => part.type === "image" || part.type === "file"
|
|
1015
1046
|
).map((part) => {
|
|
1016
|
-
var
|
|
1017
|
-
const mediaType = (
|
|
1047
|
+
var _a17;
|
|
1048
|
+
const mediaType = (_a17 = part.mediaType) != null ? _a17 : part.type === "image" ? "image/*" : void 0;
|
|
1018
1049
|
let data = part.type === "image" ? part.image : part.data;
|
|
1019
1050
|
if (typeof data === "string") {
|
|
1020
1051
|
try {
|
|
@@ -1047,7 +1078,7 @@ function getOriginalUrl(originalData, convertedData) {
|
|
|
1047
1078
|
return typeof originalData === "string" && convertedData instanceof URL && convertedData.toString() !== originalData ? originalData : void 0;
|
|
1048
1079
|
}
|
|
1049
1080
|
function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
1050
|
-
var
|
|
1081
|
+
var _a17;
|
|
1051
1082
|
if (part.type === "text") {
|
|
1052
1083
|
return {
|
|
1053
1084
|
type: "text",
|
|
@@ -1082,7 +1113,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
|
1082
1113
|
switch (type) {
|
|
1083
1114
|
case "image": {
|
|
1084
1115
|
if (data instanceof Uint8Array || typeof data === "string") {
|
|
1085
|
-
mediaType = (
|
|
1116
|
+
mediaType = (_a17 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a17 : mediaType;
|
|
1086
1117
|
}
|
|
1087
1118
|
return {
|
|
1088
1119
|
type: "file",
|
|
@@ -1224,10 +1255,10 @@ function prepareToolsAndToolChoice({
|
|
|
1224
1255
|
};
|
|
1225
1256
|
}
|
|
1226
1257
|
const filteredTools = activeTools != null ? Object.entries(tools).filter(
|
|
1227
|
-
([
|
|
1258
|
+
([name17]) => activeTools.includes(name17)
|
|
1228
1259
|
) : Object.entries(tools);
|
|
1229
1260
|
return {
|
|
1230
|
-
tools: filteredTools.map(([
|
|
1261
|
+
tools: filteredTools.map(([name17, tool2]) => {
|
|
1231
1262
|
const toolType = tool2.type;
|
|
1232
1263
|
switch (toolType) {
|
|
1233
1264
|
case void 0:
|
|
@@ -1235,7 +1266,7 @@ function prepareToolsAndToolChoice({
|
|
|
1235
1266
|
case "function":
|
|
1236
1267
|
return {
|
|
1237
1268
|
type: "function",
|
|
1238
|
-
name:
|
|
1269
|
+
name: name17,
|
|
1239
1270
|
description: tool2.description,
|
|
1240
1271
|
inputSchema: asSchema(tool2.inputSchema).jsonSchema,
|
|
1241
1272
|
providerOptions: tool2.providerOptions
|
|
@@ -1243,7 +1274,7 @@ function prepareToolsAndToolChoice({
|
|
|
1243
1274
|
case "provider-defined":
|
|
1244
1275
|
return {
|
|
1245
1276
|
type: "provider-defined",
|
|
1246
|
-
name:
|
|
1277
|
+
name: name17,
|
|
1247
1278
|
id: tool2.id,
|
|
1248
1279
|
args: tool2.args
|
|
1249
1280
|
};
|
|
@@ -1481,14 +1512,14 @@ async function standardizePrompt({
|
|
|
1481
1512
|
|
|
1482
1513
|
// src/prompt/wrap-gateway-error.ts
|
|
1483
1514
|
import { GatewayAuthenticationError } from "@ai-sdk/gateway";
|
|
1484
|
-
import { AISDKError as
|
|
1515
|
+
import { AISDKError as AISDKError20 } from "@ai-sdk/provider";
|
|
1485
1516
|
function wrapGatewayError(error) {
|
|
1486
1517
|
if (!GatewayAuthenticationError.isInstance(error))
|
|
1487
1518
|
return error;
|
|
1488
1519
|
const isProductionEnv = (process == null ? void 0 : process.env.NODE_ENV) === "production";
|
|
1489
1520
|
const moreInfoURL = "https://v5.ai-sdk.dev/unauthenticated-ai-gateway";
|
|
1490
1521
|
if (isProductionEnv) {
|
|
1491
|
-
return new
|
|
1522
|
+
return new AISDKError20({
|
|
1492
1523
|
name: "GatewayError",
|
|
1493
1524
|
message: `Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${moreInfoURL}`
|
|
1494
1525
|
});
|
|
@@ -1524,8 +1555,8 @@ function assembleOperationName({
|
|
|
1524
1555
|
|
|
1525
1556
|
// src/telemetry/get-base-telemetry-attributes.ts
|
|
1526
1557
|
function getTelemetryMetadataAttributes(telemetry) {
|
|
1527
|
-
var
|
|
1528
|
-
return Object.entries((
|
|
1558
|
+
var _a17;
|
|
1559
|
+
return Object.entries((_a17 = telemetry == null ? void 0 : telemetry.metadata) != null ? _a17 : {}).reduce(
|
|
1529
1560
|
(attributes, [key, value]) => {
|
|
1530
1561
|
attributes[`ai.telemetry.metadata.${key}`] = value;
|
|
1531
1562
|
return attributes;
|
|
@@ -1567,7 +1598,7 @@ var noopTracer = {
|
|
|
1567
1598
|
startSpan() {
|
|
1568
1599
|
return noopSpan;
|
|
1569
1600
|
},
|
|
1570
|
-
startActiveSpan(
|
|
1601
|
+
startActiveSpan(name17, arg1, arg2, arg3) {
|
|
1571
1602
|
if (typeof arg1 === "function") {
|
|
1572
1603
|
return arg1(noopSpan);
|
|
1573
1604
|
}
|
|
@@ -1639,14 +1670,14 @@ import {
|
|
|
1639
1670
|
SpanStatusCode
|
|
1640
1671
|
} from "@opentelemetry/api";
|
|
1641
1672
|
function recordSpan({
|
|
1642
|
-
name:
|
|
1673
|
+
name: name17,
|
|
1643
1674
|
tracer,
|
|
1644
1675
|
attributes,
|
|
1645
1676
|
fn,
|
|
1646
1677
|
endWhenDone = true,
|
|
1647
1678
|
endOnError = endWhenDone
|
|
1648
1679
|
}) {
|
|
1649
|
-
return tracer.startActiveSpan(
|
|
1680
|
+
return tracer.startActiveSpan(name17, { attributes }, async (span) => {
|
|
1650
1681
|
try {
|
|
1651
1682
|
const result = await fn(span);
|
|
1652
1683
|
if (endWhenDone) {
|
|
@@ -1908,7 +1939,7 @@ function filterActiveTools({
|
|
|
1908
1939
|
}
|
|
1909
1940
|
return Object.fromEntries(
|
|
1910
1941
|
Object.entries(tools).filter(
|
|
1911
|
-
([
|
|
1942
|
+
([name17]) => activeTools.includes(name17)
|
|
1912
1943
|
)
|
|
1913
1944
|
);
|
|
1914
1945
|
}
|
|
@@ -2149,8 +2180,8 @@ function stepCountIs(stepCount) {
|
|
|
2149
2180
|
}
|
|
2150
2181
|
function hasToolCall(toolName) {
|
|
2151
2182
|
return ({ steps }) => {
|
|
2152
|
-
var
|
|
2153
|
-
return (_c = (_b = (
|
|
2183
|
+
var _a17, _b, _c;
|
|
2184
|
+
return (_c = (_b = (_a17 = steps[steps.length - 1]) == null ? void 0 : _a17.toolCalls) == null ? void 0 : _b.some(
|
|
2154
2185
|
(toolCall) => toolCall.toolName === toolName
|
|
2155
2186
|
)) != null ? _c : false;
|
|
2156
2187
|
};
|
|
@@ -2356,7 +2387,7 @@ async function generateText({
|
|
|
2356
2387
|
}),
|
|
2357
2388
|
tracer,
|
|
2358
2389
|
fn: async (span) => {
|
|
2359
|
-
var
|
|
2390
|
+
var _a17, _b, _c, _d, _e, _f, _g;
|
|
2360
2391
|
const callSettings2 = prepareCallSettings(settings);
|
|
2361
2392
|
let currentModelResponse;
|
|
2362
2393
|
let clientToolCalls = [];
|
|
@@ -2378,7 +2409,7 @@ async function generateText({
|
|
|
2378
2409
|
messages: stepInputMessages
|
|
2379
2410
|
}));
|
|
2380
2411
|
const stepModel = resolveLanguageModel(
|
|
2381
|
-
(
|
|
2412
|
+
(_a17 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a17 : model
|
|
2382
2413
|
);
|
|
2383
2414
|
const promptMessages = await convertToLanguageModelPrompt({
|
|
2384
2415
|
prompt: {
|
|
@@ -2400,7 +2431,7 @@ async function generateText({
|
|
|
2400
2431
|
});
|
|
2401
2432
|
currentModelResponse = await retry(
|
|
2402
2433
|
() => {
|
|
2403
|
-
var
|
|
2434
|
+
var _a18;
|
|
2404
2435
|
return recordSpan({
|
|
2405
2436
|
name: "ai.generateText.doGenerate",
|
|
2406
2437
|
attributes: selectTelemetryAttributes({
|
|
@@ -2432,14 +2463,14 @@ async function generateText({
|
|
|
2432
2463
|
"gen_ai.request.max_tokens": settings.maxOutputTokens,
|
|
2433
2464
|
"gen_ai.request.presence_penalty": settings.presencePenalty,
|
|
2434
2465
|
"gen_ai.request.stop_sequences": settings.stopSequences,
|
|
2435
|
-
"gen_ai.request.temperature": (
|
|
2466
|
+
"gen_ai.request.temperature": (_a18 = settings.temperature) != null ? _a18 : void 0,
|
|
2436
2467
|
"gen_ai.request.top_k": settings.topK,
|
|
2437
2468
|
"gen_ai.request.top_p": settings.topP
|
|
2438
2469
|
}
|
|
2439
2470
|
}),
|
|
2440
2471
|
tracer,
|
|
2441
2472
|
fn: async (span2) => {
|
|
2442
|
-
var
|
|
2473
|
+
var _a19, _b2, _c2, _d2, _e2, _f2, _g2, _h;
|
|
2443
2474
|
const result = await stepModel.doGenerate({
|
|
2444
2475
|
...callSettings2,
|
|
2445
2476
|
tools: stepTools,
|
|
@@ -2451,7 +2482,7 @@ async function generateText({
|
|
|
2451
2482
|
headers: headersWithUserAgent
|
|
2452
2483
|
});
|
|
2453
2484
|
const responseData = {
|
|
2454
|
-
id: (_b2 = (
|
|
2485
|
+
id: (_b2 = (_a19 = result.response) == null ? void 0 : _a19.id) != null ? _b2 : generateId3(),
|
|
2455
2486
|
timestamp: (_d2 = (_c2 = result.response) == null ? void 0 : _c2.timestamp) != null ? _d2 : currentDate(),
|
|
2456
2487
|
modelId: (_f2 = (_e2 = result.response) == null ? void 0 : _e2.modelId) != null ? _f2 : stepModel.modelId,
|
|
2457
2488
|
headers: (_g2 = result.response) == null ? void 0 : _g2.headers,
|
|
@@ -2501,12 +2532,23 @@ async function generateText({
|
|
|
2501
2532
|
(toolCall) => parseToolCall({
|
|
2502
2533
|
toolCall,
|
|
2503
2534
|
tools: stepToolSet,
|
|
2504
|
-
|
|
2535
|
+
// tool calls are rejected with tool choice none,
|
|
2536
|
+
// so user callbacks must not process them:
|
|
2537
|
+
repairToolCall: (stepToolChoice == null ? void 0 : stepToolChoice.type) === "none" ? void 0 : repairToolCall,
|
|
2505
2538
|
system,
|
|
2506
2539
|
messages: stepInputMessages
|
|
2507
2540
|
})
|
|
2508
2541
|
)
|
|
2509
2542
|
);
|
|
2543
|
+
if ((stepToolChoice == null ? void 0 : stepToolChoice.type) === "none" && stepToolCalls.length > 0) {
|
|
2544
|
+
throw new ToolChoiceViolationError({
|
|
2545
|
+
toolChoice: stepToolChoice,
|
|
2546
|
+
finishReason: currentModelResponse.finishReason,
|
|
2547
|
+
provider: stepModel.provider,
|
|
2548
|
+
modelId: stepModel.modelId,
|
|
2549
|
+
content: currentModelResponse.content
|
|
2550
|
+
});
|
|
2551
|
+
}
|
|
2510
2552
|
for (const toolCall of stepToolCalls) {
|
|
2511
2553
|
if (toolCall.invalid) {
|
|
2512
2554
|
continue;
|
|
@@ -3704,7 +3746,7 @@ function createStreamingUIMessageState({
|
|
|
3704
3746
|
lastMessage,
|
|
3705
3747
|
messageId
|
|
3706
3748
|
}) {
|
|
3707
|
-
var
|
|
3749
|
+
var _a17;
|
|
3708
3750
|
const message = (lastMessage == null ? void 0 : lastMessage.role) === "assistant" ? lastMessage : {
|
|
3709
3751
|
id: messageId,
|
|
3710
3752
|
metadata: void 0,
|
|
@@ -3728,7 +3770,7 @@ function createStreamingUIMessageState({
|
|
|
3728
3770
|
continue;
|
|
3729
3771
|
}
|
|
3730
3772
|
partialToolCalls[part.toolCallId] = {
|
|
3731
|
-
text: (
|
|
3773
|
+
text: (_a17 = part.rawInput) != null ? _a17 : "",
|
|
3732
3774
|
index,
|
|
3733
3775
|
toolName: isDynamicToolUIPart(part) ? part.toolName : getToolName(part),
|
|
3734
3776
|
dynamic: isDynamicToolUIPart(part)
|
|
@@ -3755,7 +3797,7 @@ function processUIMessageStream({
|
|
|
3755
3797
|
new TransformStream({
|
|
3756
3798
|
async transform(chunk, controller) {
|
|
3757
3799
|
await runUpdateMessageJob(async ({ state, write }) => {
|
|
3758
|
-
var
|
|
3800
|
+
var _a17, _b, _c, _d;
|
|
3759
3801
|
function getCurrentStepParts() {
|
|
3760
3802
|
const parts = state.message.parts;
|
|
3761
3803
|
let currentStepStartIndex = parts.length - 1;
|
|
@@ -3814,7 +3856,7 @@ function processUIMessageStream({
|
|
|
3814
3856
|
return toolInvocation;
|
|
3815
3857
|
}
|
|
3816
3858
|
function updateToolPart(options, existingPart) {
|
|
3817
|
-
var
|
|
3859
|
+
var _a18;
|
|
3818
3860
|
const part = existingPart != null ? existingPart : getCurrentStepParts().find(
|
|
3819
3861
|
(part2) => isToolUIPart(part2) && part2.toolCallId === options.toolCallId
|
|
3820
3862
|
);
|
|
@@ -3827,7 +3869,7 @@ function processUIMessageStream({
|
|
|
3827
3869
|
anyPart.errorText = anyOptions.errorText;
|
|
3828
3870
|
anyPart.rawInput = anyOptions.rawInput;
|
|
3829
3871
|
anyPart.preliminary = anyOptions.preliminary;
|
|
3830
|
-
anyPart.providerExecuted = (
|
|
3872
|
+
anyPart.providerExecuted = (_a18 = anyOptions.providerExecuted) != null ? _a18 : part.providerExecuted;
|
|
3831
3873
|
if (anyOptions.providerMetadata != null && part.state === "input-available") {
|
|
3832
3874
|
part.callProviderMetadata = anyOptions.providerMetadata;
|
|
3833
3875
|
}
|
|
@@ -3847,7 +3889,7 @@ function processUIMessageStream({
|
|
|
3847
3889
|
}
|
|
3848
3890
|
}
|
|
3849
3891
|
function updateDynamicToolPart(options, existingPart) {
|
|
3850
|
-
var
|
|
3892
|
+
var _a18;
|
|
3851
3893
|
const part = existingPart != null ? existingPart : getCurrentStepParts().find(
|
|
3852
3894
|
(part2) => part2.type === "dynamic-tool" && part2.toolCallId === options.toolCallId
|
|
3853
3895
|
);
|
|
@@ -3861,7 +3903,7 @@ function processUIMessageStream({
|
|
|
3861
3903
|
anyPart.errorText = anyOptions.errorText;
|
|
3862
3904
|
anyPart.rawInput = anyOptions.rawInput;
|
|
3863
3905
|
anyPart.preliminary = anyOptions.preliminary;
|
|
3864
|
-
anyPart.providerExecuted = (
|
|
3906
|
+
anyPart.providerExecuted = (_a18 = anyOptions.providerExecuted) != null ? _a18 : part.providerExecuted;
|
|
3865
3907
|
if (anyOptions.providerMetadata != null && part.state === "input-available") {
|
|
3866
3908
|
part.callProviderMetadata = anyOptions.providerMetadata;
|
|
3867
3909
|
}
|
|
@@ -3908,7 +3950,7 @@ function processUIMessageStream({
|
|
|
3908
3950
|
case "text-delta": {
|
|
3909
3951
|
const textPart = state.activeTextParts[chunk.id];
|
|
3910
3952
|
textPart.text += chunk.delta;
|
|
3911
|
-
textPart.providerMetadata = (
|
|
3953
|
+
textPart.providerMetadata = (_a17 = chunk.providerMetadata) != null ? _a17 : textPart.providerMetadata;
|
|
3912
3954
|
write();
|
|
3913
3955
|
break;
|
|
3914
3956
|
}
|
|
@@ -4305,13 +4347,13 @@ function handleUIMessageStreamFinish({
|
|
|
4305
4347
|
};
|
|
4306
4348
|
let finishCalled = false;
|
|
4307
4349
|
const callOnFinish = async () => {
|
|
4308
|
-
var
|
|
4350
|
+
var _a17;
|
|
4309
4351
|
if (finishCalled || !onFinish) {
|
|
4310
4352
|
return;
|
|
4311
4353
|
}
|
|
4312
4354
|
finishCalled = true;
|
|
4313
4355
|
const isContinuation = state.message.id === (lastMessage == null ? void 0 : lastMessage.id);
|
|
4314
|
-
const declaredOutcome = (
|
|
4356
|
+
const declaredOutcome = (_a17 = getOutcome == null ? void 0 : getOutcome()) != null ? _a17 : { status: "unknown" };
|
|
4315
4357
|
const outcome = hasProcessingFailure ? { status: "failed", error: processingError } : declaredOutcome.status === "unknown" && isAborted ? { status: "aborted" } : declaredOutcome;
|
|
4316
4358
|
await onFinish({
|
|
4317
4359
|
isAborted: isAborted || outcome.status === "aborted",
|
|
@@ -4382,11 +4424,11 @@ function createAsyncIterableStream(source) {
|
|
|
4382
4424
|
const reader = this.getReader();
|
|
4383
4425
|
let finished = false;
|
|
4384
4426
|
async function cleanup(cancelStream) {
|
|
4385
|
-
var
|
|
4427
|
+
var _a17;
|
|
4386
4428
|
finished = true;
|
|
4387
4429
|
try {
|
|
4388
4430
|
if (cancelStream) {
|
|
4389
|
-
await ((
|
|
4431
|
+
await ((_a17 = reader.cancel) == null ? void 0 : _a17.call(reader));
|
|
4390
4432
|
}
|
|
4391
4433
|
} finally {
|
|
4392
4434
|
try {
|
|
@@ -4496,7 +4538,7 @@ function createStitchableStream() {
|
|
|
4496
4538
|
controller == null ? void 0 : controller.close();
|
|
4497
4539
|
};
|
|
4498
4540
|
const processPull = async () => {
|
|
4499
|
-
var
|
|
4541
|
+
var _a17, _b;
|
|
4500
4542
|
if (isClosed && innerStreams.length === 0) {
|
|
4501
4543
|
controller == null ? void 0 : controller.close();
|
|
4502
4544
|
return;
|
|
@@ -4519,7 +4561,7 @@ function createStitchableStream() {
|
|
|
4519
4561
|
controller == null ? void 0 : controller.enqueue(value);
|
|
4520
4562
|
}
|
|
4521
4563
|
} catch (error) {
|
|
4522
|
-
(_b = (
|
|
4564
|
+
(_b = (_a17 = innerStreams[0]).onError) == null ? void 0 : _b.call(_a17, error);
|
|
4523
4565
|
controller == null ? void 0 : controller.error(error);
|
|
4524
4566
|
innerStreams.shift();
|
|
4525
4567
|
terminate();
|
|
@@ -4580,8 +4622,8 @@ async function notify(options) {
|
|
|
4580
4622
|
|
|
4581
4623
|
// src/util/now.ts
|
|
4582
4624
|
function now() {
|
|
4583
|
-
var
|
|
4584
|
-
return (_b = (
|
|
4625
|
+
var _a17, _b;
|
|
4626
|
+
return (_b = (_a17 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a17.now()) != null ? _b : Date.now();
|
|
4585
4627
|
}
|
|
4586
4628
|
|
|
4587
4629
|
// src/generate-text/run-tools-transformation.ts
|
|
@@ -4592,6 +4634,8 @@ import {
|
|
|
4592
4634
|
} from "@ai-sdk/provider-utils";
|
|
4593
4635
|
function runToolsTransformation({
|
|
4594
4636
|
tools,
|
|
4637
|
+
toolChoice,
|
|
4638
|
+
model,
|
|
4595
4639
|
generatorStream,
|
|
4596
4640
|
tracer,
|
|
4597
4641
|
telemetry,
|
|
@@ -4722,10 +4766,19 @@ function runToolsTransformation({
|
|
|
4722
4766
|
});
|
|
4723
4767
|
}
|
|
4724
4768
|
const activeToolCallToolNames = /* @__PURE__ */ new Map();
|
|
4769
|
+
const withholdToolParts = (toolChoice == null ? void 0 : toolChoice.type) === "none";
|
|
4770
|
+
const withheldToolContent = [];
|
|
4725
4771
|
const forwardStream = new TransformStream({
|
|
4726
4772
|
async transform(chunk, controller) {
|
|
4727
|
-
var
|
|
4773
|
+
var _a17, _b, _c, _d, _e, _f;
|
|
4728
4774
|
const chunkType = chunk.type;
|
|
4775
|
+
if (withholdToolParts && (chunkType === "tool-input-start" || chunkType === "tool-input-delta" || chunkType === "tool-input-end")) {
|
|
4776
|
+
return;
|
|
4777
|
+
}
|
|
4778
|
+
if (withholdToolParts && (chunkType === "tool-call" || chunkType === "tool-result")) {
|
|
4779
|
+
withheldToolContent.push(chunk);
|
|
4780
|
+
return;
|
|
4781
|
+
}
|
|
4729
4782
|
switch (chunkType) {
|
|
4730
4783
|
case "stream-start":
|
|
4731
4784
|
case "text-start":
|
|
@@ -4743,7 +4796,7 @@ function runToolsTransformation({
|
|
|
4743
4796
|
}
|
|
4744
4797
|
case "tool-input-start": {
|
|
4745
4798
|
activeToolCallToolNames.set(chunk.id, chunk.toolName);
|
|
4746
|
-
await ((_b = (
|
|
4799
|
+
await ((_b = (_a17 = tools == null ? void 0 : tools[chunk.toolName]) == null ? void 0 : _a17.onInputStart) == null ? void 0 : _b.call(_a17, {
|
|
4747
4800
|
toolCallId: chunk.id,
|
|
4748
4801
|
messages,
|
|
4749
4802
|
abortSignal,
|
|
@@ -4782,12 +4835,25 @@ function runToolsTransformation({
|
|
|
4782
4835
|
break;
|
|
4783
4836
|
}
|
|
4784
4837
|
case "finish": {
|
|
4838
|
+
const toolChoiceViolationError = withholdToolParts && withheldToolContent.some((part) => part.type === "tool-call") ? new ToolChoiceViolationError({
|
|
4839
|
+
toolChoice: { type: "none" },
|
|
4840
|
+
finishReason: chunk.finishReason,
|
|
4841
|
+
provider: (_e = model == null ? void 0 : model.provider) != null ? _e : "unknown",
|
|
4842
|
+
modelId: (_f = model == null ? void 0 : model.modelId) != null ? _f : "unknown",
|
|
4843
|
+
content: withheldToolContent
|
|
4844
|
+
}) : void 0;
|
|
4785
4845
|
finishChunk = {
|
|
4786
4846
|
type: "finish",
|
|
4787
|
-
finishReason: chunk.finishReason,
|
|
4847
|
+
finishReason: toolChoiceViolationError == null ? chunk.finishReason : "error",
|
|
4788
4848
|
usage: chunk.usage,
|
|
4789
4849
|
providerMetadata: chunk.providerMetadata
|
|
4790
4850
|
};
|
|
4851
|
+
if (toolChoiceViolationError != null) {
|
|
4852
|
+
controller.enqueue({
|
|
4853
|
+
type: "error",
|
|
4854
|
+
error: toolChoiceViolationError
|
|
4855
|
+
});
|
|
4856
|
+
}
|
|
4791
4857
|
if (isToolExecutionAllowedFinishReason(chunk.finishReason)) {
|
|
4792
4858
|
for (const toolCall of pendingToolCalls.splice(0)) {
|
|
4793
4859
|
executePendingToolCall(toolCall);
|
|
@@ -5095,7 +5161,7 @@ var DefaultStreamTextResult = class {
|
|
|
5095
5161
|
let activeReasoningContent = createIdMap();
|
|
5096
5162
|
const eventProcessor = new TransformStream({
|
|
5097
5163
|
async transform(chunk, controller) {
|
|
5098
|
-
var
|
|
5164
|
+
var _a17, _b, _c, _d;
|
|
5099
5165
|
controller.enqueue(chunk);
|
|
5100
5166
|
const { part } = chunk;
|
|
5101
5167
|
if (part.type === "text-delta" || part.type === "reasoning-delta" || part.type === "source" || part.type === "tool-call" || part.type === "tool-result" || part.type === "tool-input-start" || part.type === "tool-input-delta" || part.type === "raw") {
|
|
@@ -5131,7 +5197,7 @@ var DefaultStreamTextResult = class {
|
|
|
5131
5197
|
return;
|
|
5132
5198
|
}
|
|
5133
5199
|
activeText.text += part.text;
|
|
5134
|
-
activeText.providerMetadata = (
|
|
5200
|
+
activeText.providerMetadata = (_a17 = part.providerMetadata) != null ? _a17 : activeText.providerMetadata;
|
|
5135
5201
|
}
|
|
5136
5202
|
if (part.type === "text-end") {
|
|
5137
5203
|
const activeText = activeTextContent[part.id];
|
|
@@ -5290,8 +5356,8 @@ var DefaultStreamTextResult = class {
|
|
|
5290
5356
|
"ai.response.text": { output: () => finalStep.text },
|
|
5291
5357
|
"ai.response.toolCalls": {
|
|
5292
5358
|
output: () => {
|
|
5293
|
-
var
|
|
5294
|
-
return ((
|
|
5359
|
+
var _a17;
|
|
5360
|
+
return ((_a17 = finalStep.toolCalls) == null ? void 0 : _a17.length) ? JSON.stringify(finalStep.toolCalls) : void 0;
|
|
5295
5361
|
}
|
|
5296
5362
|
},
|
|
5297
5363
|
"ai.response.providerMetadata": JSON.stringify(
|
|
@@ -5406,7 +5472,7 @@ var DefaultStreamTextResult = class {
|
|
|
5406
5472
|
responseMessages,
|
|
5407
5473
|
usage
|
|
5408
5474
|
}) {
|
|
5409
|
-
var
|
|
5475
|
+
var _a17, _b, _c, _d, _e;
|
|
5410
5476
|
const includeRawChunks2 = self.includeRawChunks;
|
|
5411
5477
|
stepFinish = new DelayedPromise();
|
|
5412
5478
|
const initialPrompt = await standardizePrompt({
|
|
@@ -5426,7 +5492,7 @@ var DefaultStreamTextResult = class {
|
|
|
5426
5492
|
messages: stepInputMessages
|
|
5427
5493
|
}));
|
|
5428
5494
|
const stepModel = resolveLanguageModel(
|
|
5429
|
-
(
|
|
5495
|
+
(_a17 = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _a17 : model
|
|
5430
5496
|
);
|
|
5431
5497
|
const promptMessages = await convertToLanguageModelPrompt({
|
|
5432
5498
|
prompt: {
|
|
@@ -5513,6 +5579,8 @@ var DefaultStreamTextResult = class {
|
|
|
5513
5579
|
);
|
|
5514
5580
|
const streamWithToolResults = runToolsTransformation({
|
|
5515
5581
|
tools: stepToolSet,
|
|
5582
|
+
toolChoice: stepToolChoice,
|
|
5583
|
+
model: { provider: stepModel.provider, modelId: stepModel.modelId },
|
|
5516
5584
|
generatorStream: stream2,
|
|
5517
5585
|
tracer,
|
|
5518
5586
|
telemetry,
|
|
@@ -5544,7 +5612,7 @@ var DefaultStreamTextResult = class {
|
|
|
5544
5612
|
streamWithToolResults.pipeThrough(
|
|
5545
5613
|
new TransformStream({
|
|
5546
5614
|
async transform(chunk, controller) {
|
|
5547
|
-
var
|
|
5615
|
+
var _a18, _b2, _c2, _d2;
|
|
5548
5616
|
if (chunk.type === "stream-start") {
|
|
5549
5617
|
warnings = chunk.warnings;
|
|
5550
5618
|
return;
|
|
@@ -5616,7 +5684,7 @@ var DefaultStreamTextResult = class {
|
|
|
5616
5684
|
}
|
|
5617
5685
|
case "response-metadata": {
|
|
5618
5686
|
stepResponse = {
|
|
5619
|
-
id: (
|
|
5687
|
+
id: (_a18 = chunk.id) != null ? _a18 : stepResponse.id,
|
|
5620
5688
|
timestamp: (_b2 = chunk.timestamp) != null ? _b2 : stepResponse.timestamp,
|
|
5621
5689
|
modelId: (_c2 = chunk.modelId) != null ? _c2 : stepResponse.modelId
|
|
5622
5690
|
};
|
|
@@ -5897,14 +5965,14 @@ var DefaultStreamTextResult = class {
|
|
|
5897
5965
|
);
|
|
5898
5966
|
}
|
|
5899
5967
|
async consumeStream(options) {
|
|
5900
|
-
var
|
|
5968
|
+
var _a17;
|
|
5901
5969
|
try {
|
|
5902
5970
|
await consumeStream({
|
|
5903
5971
|
stream: this.fullStream,
|
|
5904
5972
|
onError: options == null ? void 0 : options.onError
|
|
5905
5973
|
});
|
|
5906
5974
|
} catch (error) {
|
|
5907
|
-
(
|
|
5975
|
+
(_a17 = options == null ? void 0 : options.onError) == null ? void 0 : _a17.call(options, error);
|
|
5908
5976
|
}
|
|
5909
5977
|
}
|
|
5910
5978
|
get experimental_partialOutputStream() {
|
|
@@ -5952,9 +6020,9 @@ var DefaultStreamTextResult = class {
|
|
|
5952
6020
|
}) : void 0;
|
|
5953
6021
|
const toolNamesByCallId = {};
|
|
5954
6022
|
const isDynamic = (toolCallId) => {
|
|
5955
|
-
var
|
|
6023
|
+
var _a17, _b;
|
|
5956
6024
|
const toolName = toolNamesByCallId[toolCallId];
|
|
5957
|
-
const dynamic = ((_b = (
|
|
6025
|
+
const dynamic = ((_b = (_a17 = this.tools) == null ? void 0 : _a17[toolName]) == null ? void 0 : _b.type) === "dynamic";
|
|
5958
6026
|
return dynamic ? true : void 0;
|
|
5959
6027
|
};
|
|
5960
6028
|
const sourceReader = this.fullStream.getReader();
|
|
@@ -6411,7 +6479,7 @@ function convertToModelMessages(messages, options) {
|
|
|
6411
6479
|
modelMessages.push({
|
|
6412
6480
|
role: "user",
|
|
6413
6481
|
content: message.parts.map((part) => {
|
|
6414
|
-
var
|
|
6482
|
+
var _a17;
|
|
6415
6483
|
if (isTextUIPart(part)) {
|
|
6416
6484
|
return {
|
|
6417
6485
|
type: "text",
|
|
@@ -6429,7 +6497,7 @@ function convertToModelMessages(messages, options) {
|
|
|
6429
6497
|
};
|
|
6430
6498
|
}
|
|
6431
6499
|
if (isDataUIPart(part)) {
|
|
6432
|
-
return (
|
|
6500
|
+
return (_a17 = options == null ? void 0 : options.convertDataPart) == null ? void 0 : _a17.call(
|
|
6433
6501
|
options,
|
|
6434
6502
|
part
|
|
6435
6503
|
);
|
|
@@ -6441,7 +6509,7 @@ function convertToModelMessages(messages, options) {
|
|
|
6441
6509
|
case "assistant": {
|
|
6442
6510
|
if (message.parts != null) {
|
|
6443
6511
|
let processBlock2 = function() {
|
|
6444
|
-
var
|
|
6512
|
+
var _a17, _b;
|
|
6445
6513
|
if (block.length === 0) {
|
|
6446
6514
|
return;
|
|
6447
6515
|
}
|
|
@@ -6484,7 +6552,7 @@ function convertToModelMessages(messages, options) {
|
|
|
6484
6552
|
type: "tool-call",
|
|
6485
6553
|
toolCallId: part.toolCallId,
|
|
6486
6554
|
toolName,
|
|
6487
|
-
input: part.state === "output-error" ? (
|
|
6555
|
+
input: part.state === "output-error" ? (_a17 = part.input) != null ? _a17 : part.rawInput : part.input,
|
|
6488
6556
|
providerExecuted: part.providerExecuted,
|
|
6489
6557
|
...part.callProviderMetadata != null ? { providerOptions: part.callProviderMetadata } : {}
|
|
6490
6558
|
});
|
|
@@ -6666,7 +6734,7 @@ async function embed({
|
|
|
6666
6734
|
}),
|
|
6667
6735
|
tracer,
|
|
6668
6736
|
fn: async (doEmbedSpan) => {
|
|
6669
|
-
var
|
|
6737
|
+
var _a17;
|
|
6670
6738
|
const modelResponse = await model.doEmbed({
|
|
6671
6739
|
values: [value],
|
|
6672
6740
|
abortSignal,
|
|
@@ -6674,7 +6742,7 @@ async function embed({
|
|
|
6674
6742
|
providerOptions
|
|
6675
6743
|
});
|
|
6676
6744
|
const embedding2 = modelResponse.embeddings[0];
|
|
6677
|
-
const usage2 = (
|
|
6745
|
+
const usage2 = (_a17 = modelResponse.usage) != null ? _a17 : { tokens: NaN };
|
|
6678
6746
|
doEmbedSpan.setAttributes(
|
|
6679
6747
|
selectTelemetryAttributes({
|
|
6680
6748
|
telemetry,
|
|
@@ -6840,7 +6908,7 @@ async function embedMany({
|
|
|
6840
6908
|
}),
|
|
6841
6909
|
tracer,
|
|
6842
6910
|
fn: async (doEmbedSpan) => {
|
|
6843
|
-
var
|
|
6911
|
+
var _a17;
|
|
6844
6912
|
const modelResponse = await model.doEmbed({
|
|
6845
6913
|
values,
|
|
6846
6914
|
abortSignal,
|
|
@@ -6848,7 +6916,7 @@ async function embedMany({
|
|
|
6848
6916
|
providerOptions
|
|
6849
6917
|
});
|
|
6850
6918
|
const embeddings3 = modelResponse.embeddings;
|
|
6851
|
-
const usage2 = (
|
|
6919
|
+
const usage2 = (_a17 = modelResponse.usage) != null ? _a17 : { tokens: NaN };
|
|
6852
6920
|
doEmbedSpan.setAttributes(
|
|
6853
6921
|
selectTelemetryAttributes({
|
|
6854
6922
|
telemetry,
|
|
@@ -6926,7 +6994,7 @@ async function embedMany({
|
|
|
6926
6994
|
}),
|
|
6927
6995
|
tracer,
|
|
6928
6996
|
fn: async (doEmbedSpan) => {
|
|
6929
|
-
var
|
|
6997
|
+
var _a17;
|
|
6930
6998
|
const modelResponse = await model.doEmbed({
|
|
6931
6999
|
values: chunk,
|
|
6932
7000
|
abortSignal,
|
|
@@ -6934,7 +7002,7 @@ async function embedMany({
|
|
|
6934
7002
|
providerOptions
|
|
6935
7003
|
});
|
|
6936
7004
|
const embeddings2 = modelResponse.embeddings;
|
|
6937
|
-
const usage = (
|
|
7005
|
+
const usage = (_a17 = modelResponse.usage) != null ? _a17 : { tokens: NaN };
|
|
6938
7006
|
doEmbedSpan.setAttributes(
|
|
6939
7007
|
selectTelemetryAttributes({
|
|
6940
7008
|
telemetry,
|
|
@@ -7064,7 +7132,7 @@ async function generateImage({
|
|
|
7064
7132
|
abortSignal,
|
|
7065
7133
|
headers
|
|
7066
7134
|
}) {
|
|
7067
|
-
var
|
|
7135
|
+
var _a17, _b;
|
|
7068
7136
|
const model = resolveImageModel(modelArg);
|
|
7069
7137
|
const headersWithUserAgent = withUserAgentSuffix5(
|
|
7070
7138
|
headers != null ? headers : {},
|
|
@@ -7075,7 +7143,7 @@ async function generateImage({
|
|
|
7075
7143
|
abortSignal,
|
|
7076
7144
|
additionalRetryableError: (error) => error instanceof RetryableNoImageResultError
|
|
7077
7145
|
});
|
|
7078
|
-
const maxImagesPerCallWithDefault = (
|
|
7146
|
+
const maxImagesPerCallWithDefault = (_a17 = maxImagesPerCall != null ? maxImagesPerCall : await invokeModelMaxImagesPerCall(model)) != null ? _a17 : 1;
|
|
7079
7147
|
const callCount = Math.ceil(n / maxImagesPerCallWithDefault);
|
|
7080
7148
|
const callImageCounts = Array.from({ length: callCount }, (_, i) => {
|
|
7081
7149
|
if (i < callCount - 1) {
|
|
@@ -7124,13 +7192,13 @@ async function generateImage({
|
|
|
7124
7192
|
images.push(
|
|
7125
7193
|
...result.images.map(
|
|
7126
7194
|
(image) => {
|
|
7127
|
-
var
|
|
7195
|
+
var _a18;
|
|
7128
7196
|
return new DefaultGeneratedFile({
|
|
7129
7197
|
data: image,
|
|
7130
|
-
mediaType: (
|
|
7198
|
+
mediaType: (_a18 = detectMediaType({
|
|
7131
7199
|
data: image,
|
|
7132
7200
|
signatures: imageMediaTypeSignatures
|
|
7133
|
-
})) != null ?
|
|
7201
|
+
})) != null ? _a18 : "image/png"
|
|
7134
7202
|
});
|
|
7135
7203
|
}
|
|
7136
7204
|
)
|
|
@@ -7290,7 +7358,7 @@ var arrayOutputStrategy = (schema) => {
|
|
|
7290
7358
|
isFirstDelta,
|
|
7291
7359
|
isFinalDelta
|
|
7292
7360
|
}) {
|
|
7293
|
-
var
|
|
7361
|
+
var _a17;
|
|
7294
7362
|
if (!isJSONObject(value) || !isJSONArray(value.elements)) {
|
|
7295
7363
|
return {
|
|
7296
7364
|
success: false,
|
|
@@ -7313,7 +7381,7 @@ var arrayOutputStrategy = (schema) => {
|
|
|
7313
7381
|
}
|
|
7314
7382
|
resultArray.push(result.value);
|
|
7315
7383
|
}
|
|
7316
|
-
const publishedElementCount = (
|
|
7384
|
+
const publishedElementCount = (_a17 = latestObject == null ? void 0 : latestObject.length) != null ? _a17 : 0;
|
|
7317
7385
|
let textDelta = "";
|
|
7318
7386
|
if (isFirstDelta) {
|
|
7319
7387
|
textDelta += "[";
|
|
@@ -7735,7 +7803,7 @@ async function generateObject(options) {
|
|
|
7735
7803
|
}),
|
|
7736
7804
|
tracer,
|
|
7737
7805
|
fn: async (span) => {
|
|
7738
|
-
var
|
|
7806
|
+
var _a17;
|
|
7739
7807
|
let result;
|
|
7740
7808
|
let finishReason;
|
|
7741
7809
|
let usage;
|
|
@@ -7782,7 +7850,7 @@ async function generateObject(options) {
|
|
|
7782
7850
|
}),
|
|
7783
7851
|
tracer,
|
|
7784
7852
|
fn: async (span2) => {
|
|
7785
|
-
var
|
|
7853
|
+
var _a18, _b, _c, _d, _e, _f, _g, _h;
|
|
7786
7854
|
const result2 = await model.doGenerate({
|
|
7787
7855
|
responseFormat: {
|
|
7788
7856
|
type: "json",
|
|
@@ -7797,7 +7865,7 @@ async function generateObject(options) {
|
|
|
7797
7865
|
headers: headersWithUserAgent
|
|
7798
7866
|
});
|
|
7799
7867
|
const responseData = {
|
|
7800
|
-
id: (_b = (
|
|
7868
|
+
id: (_b = (_a18 = result2.response) == null ? void 0 : _a18.id) != null ? _b : generateId3(),
|
|
7801
7869
|
timestamp: (_d = (_c = result2.response) == null ? void 0 : _c.timestamp) != null ? _d : currentDate(),
|
|
7802
7870
|
modelId: (_f = (_e = result2.response) == null ? void 0 : _e.modelId) != null ? _f : model.modelId,
|
|
7803
7871
|
headers: (_g = result2.response) == null ? void 0 : _g.headers,
|
|
@@ -7851,7 +7919,7 @@ async function generateObject(options) {
|
|
|
7851
7919
|
usage = generateResult.usage;
|
|
7852
7920
|
warnings = generateResult.warnings;
|
|
7853
7921
|
resultProviderMetadata = generateResult.providerMetadata;
|
|
7854
|
-
request = (
|
|
7922
|
+
request = (_a17 = generateResult.request) != null ? _a17 : {};
|
|
7855
7923
|
response = generateResult.responseData;
|
|
7856
7924
|
reasoning = generateResult.reasoning;
|
|
7857
7925
|
logWarnings(warnings);
|
|
@@ -7910,9 +7978,9 @@ var DefaultGenerateObjectResult = class {
|
|
|
7910
7978
|
this.reasoning = options.reasoning;
|
|
7911
7979
|
}
|
|
7912
7980
|
toJsonResponse(init) {
|
|
7913
|
-
var
|
|
7981
|
+
var _a17;
|
|
7914
7982
|
return new Response(JSON.stringify(this.object), {
|
|
7915
|
-
status: (
|
|
7983
|
+
status: (_a17 = init == null ? void 0 : init.status) != null ? _a17 : 200,
|
|
7916
7984
|
headers: prepareHeaders(init == null ? void 0 : init.headers, {
|
|
7917
7985
|
"content-type": "application/json; charset=utf-8"
|
|
7918
7986
|
})
|
|
@@ -8062,8 +8130,8 @@ function simulateReadableStream({
|
|
|
8062
8130
|
chunkDelayInMs = 0,
|
|
8063
8131
|
_internal
|
|
8064
8132
|
}) {
|
|
8065
|
-
var
|
|
8066
|
-
const delay2 = (
|
|
8133
|
+
var _a17;
|
|
8134
|
+
const delay2 = (_a17 = _internal == null ? void 0 : _internal.delay) != null ? _a17 : delayFunction;
|
|
8067
8135
|
let index = 0;
|
|
8068
8136
|
return new ReadableStream({
|
|
8069
8137
|
async pull(controller) {
|
|
@@ -8339,7 +8407,7 @@ var DefaultStreamObjectResult = class {
|
|
|
8339
8407
|
const transformedStream = stream.pipeThrough(new TransformStream(transformer)).pipeThrough(
|
|
8340
8408
|
new TransformStream({
|
|
8341
8409
|
async transform(chunk, controller) {
|
|
8342
|
-
var
|
|
8410
|
+
var _a17, _b, _c;
|
|
8343
8411
|
if (typeof chunk === "object" && chunk.type === "stream-start") {
|
|
8344
8412
|
warnings = chunk.warnings;
|
|
8345
8413
|
return;
|
|
@@ -8389,7 +8457,7 @@ var DefaultStreamObjectResult = class {
|
|
|
8389
8457
|
switch (chunk.type) {
|
|
8390
8458
|
case "response-metadata": {
|
|
8391
8459
|
fullResponse = {
|
|
8392
|
-
id: (
|
|
8460
|
+
id: (_a17 = chunk.id) != null ? _a17 : fullResponse.id,
|
|
8393
8461
|
timestamp: (_b = chunk.timestamp) != null ? _b : fullResponse.timestamp,
|
|
8394
8462
|
modelId: (_c = chunk.modelId) != null ? _c : fullResponse.modelId
|
|
8395
8463
|
};
|
|
@@ -8700,7 +8768,7 @@ async function generateSpeech({
|
|
|
8700
8768
|
abortSignal,
|
|
8701
8769
|
headers
|
|
8702
8770
|
}) {
|
|
8703
|
-
var
|
|
8771
|
+
var _a17;
|
|
8704
8772
|
if (model.specificationVersion !== "v2") {
|
|
8705
8773
|
throw new UnsupportedModelVersionError({
|
|
8706
8774
|
version: model.specificationVersion,
|
|
@@ -8736,10 +8804,10 @@ async function generateSpeech({
|
|
|
8736
8804
|
return new DefaultSpeechResult({
|
|
8737
8805
|
audio: new DefaultGeneratedAudioFile({
|
|
8738
8806
|
data: result.audio,
|
|
8739
|
-
mediaType: (
|
|
8807
|
+
mediaType: (_a17 = detectMediaType({
|
|
8740
8808
|
data: result.audio,
|
|
8741
8809
|
signatures: audioMediaTypeSignatures
|
|
8742
|
-
})) != null ?
|
|
8810
|
+
})) != null ? _a17 : "audio/mp3"
|
|
8743
8811
|
}),
|
|
8744
8812
|
warnings: result.warnings,
|
|
8745
8813
|
responses: [result.response],
|
|
@@ -8748,11 +8816,11 @@ async function generateSpeech({
|
|
|
8748
8816
|
}
|
|
8749
8817
|
var DefaultSpeechResult = class {
|
|
8750
8818
|
constructor(options) {
|
|
8751
|
-
var
|
|
8819
|
+
var _a17;
|
|
8752
8820
|
this.audio = options.audio;
|
|
8753
8821
|
this.warnings = options.warnings;
|
|
8754
8822
|
this.responses = options.responses;
|
|
8755
|
-
this.providerMetadata = (
|
|
8823
|
+
this.providerMetadata = (_a17 = options.providerMetadata) != null ? _a17 : {};
|
|
8756
8824
|
}
|
|
8757
8825
|
};
|
|
8758
8826
|
|
|
@@ -9318,7 +9386,7 @@ var doWrap = ({
|
|
|
9318
9386
|
modelId,
|
|
9319
9387
|
providerId
|
|
9320
9388
|
}) => {
|
|
9321
|
-
var
|
|
9389
|
+
var _a17, _b, _c;
|
|
9322
9390
|
async function doTransform({
|
|
9323
9391
|
params,
|
|
9324
9392
|
type
|
|
@@ -9327,7 +9395,7 @@ var doWrap = ({
|
|
|
9327
9395
|
}
|
|
9328
9396
|
return {
|
|
9329
9397
|
specificationVersion: "v2",
|
|
9330
|
-
provider: (
|
|
9398
|
+
provider: (_a17 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a17 : model.provider,
|
|
9331
9399
|
modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
|
|
9332
9400
|
supportedUrls: (_c = overrideSupportedUrls == null ? void 0 : overrideSupportedUrls({ model })) != null ? _c : model.supportedUrls,
|
|
9333
9401
|
async doGenerate(params) {
|
|
@@ -9435,11 +9503,11 @@ function customProvider({
|
|
|
9435
9503
|
var experimental_customProvider = customProvider;
|
|
9436
9504
|
|
|
9437
9505
|
// src/registry/no-such-provider-error.ts
|
|
9438
|
-
import { AISDKError as
|
|
9439
|
-
var
|
|
9440
|
-
var
|
|
9441
|
-
var
|
|
9442
|
-
var
|
|
9506
|
+
import { AISDKError as AISDKError21, NoSuchModelError as NoSuchModelError3 } from "@ai-sdk/provider";
|
|
9507
|
+
var name16 = "AI_NoSuchProviderError";
|
|
9508
|
+
var marker16 = `vercel.ai.error.${name16}`;
|
|
9509
|
+
var symbol16 = Symbol.for(marker16);
|
|
9510
|
+
var _a16;
|
|
9443
9511
|
var NoSuchProviderError = class extends NoSuchModelError3 {
|
|
9444
9512
|
constructor({
|
|
9445
9513
|
modelId,
|
|
@@ -9448,16 +9516,16 @@ var NoSuchProviderError = class extends NoSuchModelError3 {
|
|
|
9448
9516
|
availableProviders,
|
|
9449
9517
|
message = `No such provider: ${providerId} (available providers: ${availableProviders.join()})`
|
|
9450
9518
|
}) {
|
|
9451
|
-
super({ errorName:
|
|
9452
|
-
this[
|
|
9519
|
+
super({ errorName: name16, modelId, modelType, message });
|
|
9520
|
+
this[_a16] = true;
|
|
9453
9521
|
this.providerId = providerId;
|
|
9454
9522
|
this.availableProviders = availableProviders;
|
|
9455
9523
|
}
|
|
9456
9524
|
static isInstance(error) {
|
|
9457
|
-
return
|
|
9525
|
+
return AISDKError21.hasMarker(error, marker16);
|
|
9458
9526
|
}
|
|
9459
9527
|
};
|
|
9460
|
-
|
|
9528
|
+
_a16 = symbol16;
|
|
9461
9529
|
|
|
9462
9530
|
// src/registry/provider-registry.ts
|
|
9463
9531
|
import {
|
|
@@ -9516,10 +9584,10 @@ var DefaultProviderRegistry = class {
|
|
|
9516
9584
|
return [id.slice(0, index), id.slice(index + this.separator.length)];
|
|
9517
9585
|
}
|
|
9518
9586
|
languageModel(id) {
|
|
9519
|
-
var
|
|
9587
|
+
var _a17, _b;
|
|
9520
9588
|
const [providerId, modelId] = this.splitId(id, "languageModel");
|
|
9521
|
-
let model = (_b = (
|
|
9522
|
-
|
|
9589
|
+
let model = (_b = (_a17 = this.getProvider(providerId, "languageModel")).languageModel) == null ? void 0 : _b.call(
|
|
9590
|
+
_a17,
|
|
9523
9591
|
modelId
|
|
9524
9592
|
);
|
|
9525
9593
|
if (model == null) {
|
|
@@ -9534,10 +9602,10 @@ var DefaultProviderRegistry = class {
|
|
|
9534
9602
|
return model;
|
|
9535
9603
|
}
|
|
9536
9604
|
textEmbeddingModel(id) {
|
|
9537
|
-
var
|
|
9605
|
+
var _a17;
|
|
9538
9606
|
const [providerId, modelId] = this.splitId(id, "textEmbeddingModel");
|
|
9539
9607
|
const provider = this.getProvider(providerId, "textEmbeddingModel");
|
|
9540
|
-
const model = (
|
|
9608
|
+
const model = (_a17 = provider.textEmbeddingModel) == null ? void 0 : _a17.call(provider, modelId);
|
|
9541
9609
|
if (model == null) {
|
|
9542
9610
|
throw new NoSuchModelError4({
|
|
9543
9611
|
modelId: id,
|
|
@@ -9547,20 +9615,20 @@ var DefaultProviderRegistry = class {
|
|
|
9547
9615
|
return model;
|
|
9548
9616
|
}
|
|
9549
9617
|
imageModel(id) {
|
|
9550
|
-
var
|
|
9618
|
+
var _a17;
|
|
9551
9619
|
const [providerId, modelId] = this.splitId(id, "imageModel");
|
|
9552
9620
|
const provider = this.getProvider(providerId, "imageModel");
|
|
9553
|
-
const model = (
|
|
9621
|
+
const model = (_a17 = provider.imageModel) == null ? void 0 : _a17.call(provider, modelId);
|
|
9554
9622
|
if (model == null) {
|
|
9555
9623
|
throw new NoSuchModelError4({ modelId: id, modelType: "imageModel" });
|
|
9556
9624
|
}
|
|
9557
9625
|
return model;
|
|
9558
9626
|
}
|
|
9559
9627
|
transcriptionModel(id) {
|
|
9560
|
-
var
|
|
9628
|
+
var _a17;
|
|
9561
9629
|
const [providerId, modelId] = this.splitId(id, "transcriptionModel");
|
|
9562
9630
|
const provider = this.getProvider(providerId, "transcriptionModel");
|
|
9563
|
-
const model = (
|
|
9631
|
+
const model = (_a17 = provider.transcriptionModel) == null ? void 0 : _a17.call(provider, modelId);
|
|
9564
9632
|
if (model == null) {
|
|
9565
9633
|
throw new NoSuchModelError4({
|
|
9566
9634
|
modelId: id,
|
|
@@ -9570,10 +9638,10 @@ var DefaultProviderRegistry = class {
|
|
|
9570
9638
|
return model;
|
|
9571
9639
|
}
|
|
9572
9640
|
speechModel(id) {
|
|
9573
|
-
var
|
|
9641
|
+
var _a17;
|
|
9574
9642
|
const [providerId, modelId] = this.splitId(id, "speechModel");
|
|
9575
9643
|
const provider = this.getProvider(providerId, "speechModel");
|
|
9576
|
-
const model = (
|
|
9644
|
+
const model = (_a17 = provider.speechModel) == null ? void 0 : _a17.call(provider, modelId);
|
|
9577
9645
|
if (model == null) {
|
|
9578
9646
|
throw new NoSuchModelError4({ modelId: id, modelType: "speechModel" });
|
|
9579
9647
|
}
|
|
@@ -9587,8 +9655,8 @@ import {
|
|
|
9587
9655
|
} from "@ai-sdk/provider-utils";
|
|
9588
9656
|
|
|
9589
9657
|
// src/error/no-transcript-generated-error.ts
|
|
9590
|
-
import { AISDKError as
|
|
9591
|
-
var NoTranscriptGeneratedError = class extends
|
|
9658
|
+
import { AISDKError as AISDKError22 } from "@ai-sdk/provider";
|
|
9659
|
+
var NoTranscriptGeneratedError = class extends AISDKError22 {
|
|
9592
9660
|
constructor(options) {
|
|
9593
9661
|
super({
|
|
9594
9662
|
name: "AI_NoTranscriptGeneratedError",
|
|
@@ -9627,16 +9695,16 @@ async function transcribe({
|
|
|
9627
9695
|
const audioData = audio instanceof URL ? (await downloadFn({ url: audio, abortSignal })).data : convertDataContentToUint8Array(audio);
|
|
9628
9696
|
const result = await retry(
|
|
9629
9697
|
() => {
|
|
9630
|
-
var
|
|
9698
|
+
var _a17;
|
|
9631
9699
|
return model.doGenerate({
|
|
9632
9700
|
audio: audioData,
|
|
9633
9701
|
abortSignal,
|
|
9634
9702
|
headers: headersWithUserAgent,
|
|
9635
9703
|
providerOptions,
|
|
9636
|
-
mediaType: (
|
|
9704
|
+
mediaType: (_a17 = detectMediaType({
|
|
9637
9705
|
data: audioData,
|
|
9638
9706
|
signatures: audioMediaTypeSignatures
|
|
9639
|
-
})) != null ?
|
|
9707
|
+
})) != null ? _a17 : "audio/wav"
|
|
9640
9708
|
});
|
|
9641
9709
|
}
|
|
9642
9710
|
);
|
|
@@ -9656,14 +9724,14 @@ async function transcribe({
|
|
|
9656
9724
|
}
|
|
9657
9725
|
var DefaultTranscriptionResult = class {
|
|
9658
9726
|
constructor(options) {
|
|
9659
|
-
var
|
|
9727
|
+
var _a17;
|
|
9660
9728
|
this.text = options.text;
|
|
9661
9729
|
this.segments = options.segments;
|
|
9662
9730
|
this.language = options.language;
|
|
9663
9731
|
this.durationInSeconds = options.durationInSeconds;
|
|
9664
9732
|
this.warnings = options.warnings;
|
|
9665
9733
|
this.responses = options.responses;
|
|
9666
|
-
this.providerMetadata = (
|
|
9734
|
+
this.providerMetadata = (_a17 = options.providerMetadata) != null ? _a17 : {};
|
|
9667
9735
|
}
|
|
9668
9736
|
};
|
|
9669
9737
|
|
|
@@ -9706,7 +9774,7 @@ async function callCompletionApi({
|
|
|
9706
9774
|
onError,
|
|
9707
9775
|
fetch: fetch2 = getOriginalFetch()
|
|
9708
9776
|
}) {
|
|
9709
|
-
var
|
|
9777
|
+
var _a17;
|
|
9710
9778
|
try {
|
|
9711
9779
|
setLoading(true);
|
|
9712
9780
|
setError(void 0);
|
|
@@ -9734,7 +9802,7 @@ async function callCompletionApi({
|
|
|
9734
9802
|
});
|
|
9735
9803
|
if (!response.ok) {
|
|
9736
9804
|
throw new Error(
|
|
9737
|
-
(
|
|
9805
|
+
(_a17 = await response.text()) != null ? _a17 : "Failed to fetch the chat response."
|
|
9738
9806
|
);
|
|
9739
9807
|
}
|
|
9740
9808
|
if (!response.body) {
|
|
@@ -9820,12 +9888,12 @@ async function convertFileListToFileUIParts(files) {
|
|
|
9820
9888
|
}
|
|
9821
9889
|
return Promise.all(
|
|
9822
9890
|
Array.from(files).map(async (file) => {
|
|
9823
|
-
const { name:
|
|
9891
|
+
const { name: name17, type } = file;
|
|
9824
9892
|
const dataUrl = await new Promise((resolve2, reject) => {
|
|
9825
9893
|
const reader = new FileReader();
|
|
9826
9894
|
reader.onload = (readerEvent) => {
|
|
9827
|
-
var
|
|
9828
|
-
resolve2((
|
|
9895
|
+
var _a17;
|
|
9896
|
+
resolve2((_a17 = readerEvent.target) == null ? void 0 : _a17.result);
|
|
9829
9897
|
};
|
|
9830
9898
|
reader.onerror = (error) => reject(error);
|
|
9831
9899
|
reader.readAsDataURL(file);
|
|
@@ -9833,7 +9901,7 @@ async function convertFileListToFileUIParts(files) {
|
|
|
9833
9901
|
return {
|
|
9834
9902
|
type: "file",
|
|
9835
9903
|
mediaType: type,
|
|
9836
|
-
filename:
|
|
9904
|
+
filename: name17,
|
|
9837
9905
|
url: dataUrl
|
|
9838
9906
|
};
|
|
9839
9907
|
})
|
|
@@ -9876,7 +9944,7 @@ var HttpChatTransport = class {
|
|
|
9876
9944
|
abortSignal,
|
|
9877
9945
|
...options
|
|
9878
9946
|
}) {
|
|
9879
|
-
var
|
|
9947
|
+
var _a17, _b, _c, _d, _e;
|
|
9880
9948
|
const resolvedBody = await resolve(this.body);
|
|
9881
9949
|
const resolvedHeaders = await resolve(this.headers);
|
|
9882
9950
|
const resolvedCredentials = await resolve(this.credentials);
|
|
@@ -9884,7 +9952,7 @@ var HttpChatTransport = class {
|
|
|
9884
9952
|
...normalizeHeaders(resolvedHeaders),
|
|
9885
9953
|
...normalizeHeaders(options.headers)
|
|
9886
9954
|
};
|
|
9887
|
-
const preparedRequest = await ((
|
|
9955
|
+
const preparedRequest = await ((_a17 = this.prepareSendMessagesRequest) == null ? void 0 : _a17.call(this, {
|
|
9888
9956
|
api: this.api,
|
|
9889
9957
|
id: options.chatId,
|
|
9890
9958
|
messages: options.messages,
|
|
@@ -9928,7 +9996,7 @@ var HttpChatTransport = class {
|
|
|
9928
9996
|
return this.processResponseStream(response.body);
|
|
9929
9997
|
}
|
|
9930
9998
|
async reconnectToStream(options) {
|
|
9931
|
-
var
|
|
9999
|
+
var _a17, _b, _c, _d;
|
|
9932
10000
|
const resolvedBody = await resolve(this.body);
|
|
9933
10001
|
const resolvedHeaders = await resolve(this.headers);
|
|
9934
10002
|
const resolvedCredentials = await resolve(this.credentials);
|
|
@@ -9936,7 +10004,7 @@ var HttpChatTransport = class {
|
|
|
9936
10004
|
...normalizeHeaders(resolvedHeaders),
|
|
9937
10005
|
...normalizeHeaders(options.headers)
|
|
9938
10006
|
};
|
|
9939
|
-
const preparedRequest = await ((
|
|
10007
|
+
const preparedRequest = await ((_a17 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a17.call(this, {
|
|
9940
10008
|
api: this.api,
|
|
9941
10009
|
id: options.chatId,
|
|
9942
10010
|
body: { ...resolvedBody, ...options.body },
|
|
@@ -10032,11 +10100,11 @@ var AbstractChat = class {
|
|
|
10032
10100
|
* If a messageId is provided, the message will be replaced.
|
|
10033
10101
|
*/
|
|
10034
10102
|
this.sendMessage = async (message, options) => {
|
|
10035
|
-
var
|
|
10103
|
+
var _a17, _b, _c, _d;
|
|
10036
10104
|
if (message == null) {
|
|
10037
10105
|
await this.makeRequest({
|
|
10038
10106
|
trigger: "submit-message",
|
|
10039
|
-
messageId: (
|
|
10107
|
+
messageId: (_a17 = this.lastMessage) == null ? void 0 : _a17.id,
|
|
10040
10108
|
...options
|
|
10041
10109
|
});
|
|
10042
10110
|
return;
|
|
@@ -10298,14 +10366,14 @@ var AbstractChat = class {
|
|
|
10298
10366
|
messageId,
|
|
10299
10367
|
completionPromise
|
|
10300
10368
|
}) {
|
|
10301
|
-
var
|
|
10369
|
+
var _a17, _b;
|
|
10302
10370
|
if (trigger !== "resume-stream") {
|
|
10303
10371
|
this.resumableStreamState = void 0;
|
|
10304
10372
|
}
|
|
10305
10373
|
const abortController = new AbortController();
|
|
10306
10374
|
const activeResumeRequest = trigger === "resume-stream" ? { abortController, completionPromise } : void 0;
|
|
10307
10375
|
if (activeResumeRequest) {
|
|
10308
|
-
(
|
|
10376
|
+
(_a17 = this.activeResumeRequest) == null ? void 0 : _a17.abortController.abort();
|
|
10309
10377
|
this.activeResumeRequest = activeResumeRequest;
|
|
10310
10378
|
}
|
|
10311
10379
|
const isCurrentRequest = () => activeResumeRequest == null || this.activeResumeRequest === activeResumeRequest;
|
|
@@ -10502,10 +10570,10 @@ var AbstractChat = class {
|
|
|
10502
10570
|
if (!isAbort && !isError) {
|
|
10503
10571
|
await this.runAutomaticRequest(
|
|
10504
10572
|
() => {
|
|
10505
|
-
var
|
|
10573
|
+
var _a18;
|
|
10506
10574
|
return this.makeRequest({
|
|
10507
10575
|
trigger: "submit-message",
|
|
10508
|
-
messageId: (
|
|
10576
|
+
messageId: (_a18 = this.lastMessage) == null ? void 0 : _a18.id,
|
|
10509
10577
|
metadata,
|
|
10510
10578
|
headers,
|
|
10511
10579
|
body
|
|
@@ -11116,7 +11184,7 @@ function readUIMessageStream({
|
|
|
11116
11184
|
onError,
|
|
11117
11185
|
terminateOnError = false
|
|
11118
11186
|
}) {
|
|
11119
|
-
var
|
|
11187
|
+
var _a17;
|
|
11120
11188
|
let controller;
|
|
11121
11189
|
let hasErrored = false;
|
|
11122
11190
|
let isCancelled = false;
|
|
@@ -11131,7 +11199,7 @@ function readUIMessageStream({
|
|
|
11131
11199
|
}
|
|
11132
11200
|
});
|
|
11133
11201
|
const state = createStreamingUIMessageState({
|
|
11134
|
-
messageId: (
|
|
11202
|
+
messageId: (_a17 = message == null ? void 0 : message.id) != null ? _a17 : "",
|
|
11135
11203
|
lastMessage: message
|
|
11136
11204
|
});
|
|
11137
11205
|
const handleError = (error) => {
|
|
@@ -11167,7 +11235,7 @@ function readUIMessageStream({
|
|
|
11167
11235
|
return createAsyncIterableStream(outputStream);
|
|
11168
11236
|
}
|
|
11169
11237
|
export {
|
|
11170
|
-
|
|
11238
|
+
AISDKError18 as AISDKError,
|
|
11171
11239
|
APICallError,
|
|
11172
11240
|
AbstractChat,
|
|
11173
11241
|
DefaultChatTransport,
|
|
@@ -11202,6 +11270,7 @@ export {
|
|
|
11202
11270
|
TextStreamChatTransport,
|
|
11203
11271
|
TooManyEmbeddingValuesForCallError,
|
|
11204
11272
|
ToolCallRepairError,
|
|
11273
|
+
ToolChoiceViolationError,
|
|
11205
11274
|
TypeValidationError,
|
|
11206
11275
|
UI_MESSAGE_STREAM_HEADERS,
|
|
11207
11276
|
UnsupportedFunctionalityError,
|