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 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 import_provider_utils6 = require("@ai-sdk/provider-utils");
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 import_provider_utils3 = require("@ai-sdk/provider-utils");
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, import_provider_utils3.safeParseJSON)({ text: result, schema });
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 import_provider_utils4 = require("@ai-sdk/provider-utils");
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, import_provider_utils4.safeValidateTypes)({
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 import_provider_utils5 = require("@ai-sdk/provider-utils");
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, import_provider_utils5.safeParseJSON)({
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 = import_provider_utils6.generateId;
3335
- var nanoid = import_provider_utils6.generateId;
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,