ai 3.1.34 → 3.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +51 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +42 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/rsc/dist/rsc-server.mjs +42 -0
- package/rsc/dist/rsc-server.mjs.map +1 -1
package/dist/index.js
CHANGED
@@ -108,7 +108,7 @@ __export(streams_exports, {
|
|
108
108
|
});
|
109
109
|
module.exports = __toCommonJS(streams_exports);
|
110
110
|
var import_ui_utils5 = require("@ai-sdk/ui-utils");
|
111
|
-
var
|
111
|
+
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
112
112
|
|
113
113
|
// core/util/retry-with-exponential-backoff.ts
|
114
114
|
var import_provider = require("@ai-sdk/provider");
|
@@ -249,7 +249,7 @@ var EmbedManyResult = class {
|
|
249
249
|
|
250
250
|
// core/generate-object/generate-object.ts
|
251
251
|
var import_provider5 = require("@ai-sdk/provider");
|
252
|
-
var
|
252
|
+
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
253
253
|
|
254
254
|
// core/generate-text/token-usage.ts
|
255
255
|
function calculateTokenUsage(usage) {
|
@@ -333,6 +333,7 @@ var InvalidMessageRoleError = class extends Error {
|
|
333
333
|
};
|
334
334
|
|
335
335
|
// core/prompt/convert-to-language-model-prompt.ts
|
336
|
+
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
336
337
|
function convertToLanguageModelPrompt(prompt) {
|
337
338
|
const languageModelMessages = [];
|
338
339
|
if (prompt.system != null) {
|
@@ -390,6 +391,47 @@ function convertToLanguageModelMessage(message) {
|
|
390
391
|
mimeType: part.mimeType
|
391
392
|
};
|
392
393
|
}
|
394
|
+
if (typeof part.image === "string") {
|
395
|
+
try {
|
396
|
+
const url = new URL(part.image);
|
397
|
+
switch (url.protocol) {
|
398
|
+
case "http:":
|
399
|
+
case "https:": {
|
400
|
+
return {
|
401
|
+
type: "image",
|
402
|
+
image: url,
|
403
|
+
mimeType: part.mimeType
|
404
|
+
};
|
405
|
+
}
|
406
|
+
case "data:": {
|
407
|
+
try {
|
408
|
+
const [header, base64Content] = part.image.split(",");
|
409
|
+
const mimeType = header.split(";")[0].split(":")[1];
|
410
|
+
if (mimeType == null || base64Content == null) {
|
411
|
+
throw new Error("Invalid data URL format");
|
412
|
+
}
|
413
|
+
return {
|
414
|
+
type: "image",
|
415
|
+
image: convertDataContentToUint8Array(base64Content),
|
416
|
+
mimeType
|
417
|
+
};
|
418
|
+
} catch (error) {
|
419
|
+
throw new Error(
|
420
|
+
`Error processing data URL: ${(0, import_provider_utils3.getErrorMessage)(
|
421
|
+
message
|
422
|
+
)}`
|
423
|
+
);
|
424
|
+
}
|
425
|
+
}
|
426
|
+
default: {
|
427
|
+
throw new Error(
|
428
|
+
`Unsupported URL protocol: ${url.protocol}`
|
429
|
+
);
|
430
|
+
}
|
431
|
+
}
|
432
|
+
} catch (_ignored) {
|
433
|
+
}
|
434
|
+
}
|
393
435
|
const imageUint8 = convertDataContentToUint8Array(part.image);
|
394
436
|
return {
|
395
437
|
type: "image",
|
@@ -700,7 +742,7 @@ async function generateObject({
|
|
700
742
|
throw new Error(`Unsupported mode: ${_exhaustiveCheck}`);
|
701
743
|
}
|
702
744
|
}
|
703
|
-
const parseResult = (0,
|
745
|
+
const parseResult = (0, import_provider_utils4.safeParseJSON)({ text: result, schema });
|
704
746
|
if (!parseResult.success) {
|
705
747
|
throw parseResult.error;
|
706
748
|
}
|
@@ -1116,7 +1158,7 @@ function parsePartialJson(jsonText) {
|
|
1116
1158
|
}
|
1117
1159
|
|
1118
1160
|
// core/generate-object/stream-object.ts
|
1119
|
-
var
|
1161
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
1120
1162
|
async function streamObject({
|
1121
1163
|
model,
|
1122
1164
|
schema,
|
@@ -1290,7 +1332,7 @@ var StreamObjectResult = class {
|
|
1290
1332
|
usage = calculateTokenUsage(chunk.usage);
|
1291
1333
|
controller.enqueue({ ...chunk, usage });
|
1292
1334
|
resolveUsage(usage);
|
1293
|
-
const validationResult = (0,
|
1335
|
+
const validationResult = (0, import_provider_utils5.safeValidateTypes)({
|
1294
1336
|
value: latestObject,
|
1295
1337
|
schema
|
1296
1338
|
});
|
@@ -1389,7 +1431,7 @@ function prepareToolsAndToolChoice({
|
|
1389
1431
|
|
1390
1432
|
// core/generate-text/tool-call.ts
|
1391
1433
|
var import_provider6 = require("@ai-sdk/provider");
|
1392
|
-
var
|
1434
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
1393
1435
|
function parseToolCall({
|
1394
1436
|
toolCall,
|
1395
1437
|
tools
|
@@ -1405,7 +1447,7 @@ function parseToolCall({
|
|
1405
1447
|
availableTools: Object.keys(tools)
|
1406
1448
|
});
|
1407
1449
|
}
|
1408
|
-
const parseResult = (0,
|
1450
|
+
const parseResult = (0, import_provider_utils6.safeParseJSON)({
|
1409
1451
|
text: toolCall.args,
|
1410
1452
|
schema: tool2.parameters
|
1411
1453
|
});
|
@@ -3331,8 +3373,8 @@ var StreamingTextResponse = class extends Response {
|
|
3331
3373
|
};
|
3332
3374
|
|
3333
3375
|
// streams/index.ts
|
3334
|
-
var generateId2 =
|
3335
|
-
var nanoid =
|
3376
|
+
var generateId2 = import_provider_utils7.generateId;
|
3377
|
+
var nanoid = import_provider_utils7.generateId;
|
3336
3378
|
// Annotate the CommonJS export names for ESM import in node:
|
3337
3379
|
0 && (module.exports = {
|
3338
3380
|
AIStream,
|