ai 3.3.8 → 3.3.9

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
@@ -923,13 +923,18 @@ function convertToLanguageModelMessage(message, downloadedImages) {
923
923
  const role = message.role;
924
924
  switch (role) {
925
925
  case "system": {
926
- return { role: "system", content: message.content };
926
+ return {
927
+ role: "system",
928
+ content: message.content,
929
+ providerMetadata: message.experimental_providerMetadata
930
+ };
927
931
  }
928
932
  case "user": {
929
933
  if (typeof message.content === "string") {
930
934
  return {
931
935
  role: "user",
932
- content: [{ type: "text", text: message.content }]
936
+ content: [{ type: "text", text: message.content }],
937
+ providerMetadata: message.experimental_providerMetadata
933
938
  };
934
939
  }
935
940
  return {
@@ -939,7 +944,11 @@ function convertToLanguageModelMessage(message, downloadedImages) {
939
944
  var _a12, _b, _c;
940
945
  switch (part.type) {
941
946
  case "text": {
942
- return part;
947
+ return {
948
+ type: "text",
949
+ text: part.text,
950
+ providerMetadata: part.experimental_providerMetadata
951
+ };
943
952
  }
944
953
  case "image": {
945
954
  if (part.image instanceof URL) {
@@ -947,14 +956,16 @@ function convertToLanguageModelMessage(message, downloadedImages) {
947
956
  return {
948
957
  type: "image",
949
958
  image: part.image,
950
- mimeType: part.mimeType
959
+ mimeType: part.mimeType,
960
+ providerMetadata: part.experimental_providerMetadata
951
961
  };
952
962
  } else {
953
963
  const downloadedImage = downloadedImages[part.image.toString()];
954
964
  return {
955
965
  type: "image",
956
966
  image: downloadedImage.data,
957
- mimeType: (_a12 = part.mimeType) != null ? _a12 : downloadedImage.mimeType
967
+ mimeType: (_a12 = part.mimeType) != null ? _a12 : downloadedImage.mimeType,
968
+ providerMetadata: part.experimental_providerMetadata
958
969
  };
959
970
  }
960
971
  }
@@ -968,14 +979,16 @@ function convertToLanguageModelMessage(message, downloadedImages) {
968
979
  return {
969
980
  type: "image",
970
981
  image: url,
971
- mimeType: part.mimeType
982
+ mimeType: part.mimeType,
983
+ providerMetadata: part.experimental_providerMetadata
972
984
  };
973
985
  } else {
974
986
  const downloadedImage = downloadedImages[part.image];
975
987
  return {
976
988
  type: "image",
977
989
  image: downloadedImage.data,
978
- mimeType: (_b = part.mimeType) != null ? _b : downloadedImage.mimeType
990
+ mimeType: (_b = part.mimeType) != null ? _b : downloadedImage.mimeType,
991
+ providerMetadata: part.experimental_providerMetadata
979
992
  };
980
993
  }
981
994
  }
@@ -989,7 +1002,8 @@ function convertToLanguageModelMessage(message, downloadedImages) {
989
1002
  return {
990
1003
  type: "image",
991
1004
  image: convertDataContentToUint8Array(base64Content),
992
- mimeType
1005
+ mimeType,
1006
+ providerMetadata: part.experimental_providerMetadata
993
1007
  };
994
1008
  } catch (error) {
995
1009
  throw new Error(
@@ -1012,19 +1026,22 @@ function convertToLanguageModelMessage(message, downloadedImages) {
1012
1026
  return {
1013
1027
  type: "image",
1014
1028
  image: imageUint8,
1015
- mimeType: (_c = part.mimeType) != null ? _c : detectImageMimeType(imageUint8)
1029
+ mimeType: (_c = part.mimeType) != null ? _c : detectImageMimeType(imageUint8),
1030
+ providerMetadata: part.experimental_providerMetadata
1016
1031
  };
1017
1032
  }
1018
1033
  }
1019
1034
  }
1020
- )
1035
+ ),
1036
+ providerMetadata: message.experimental_providerMetadata
1021
1037
  };
1022
1038
  }
1023
1039
  case "assistant": {
1024
1040
  if (typeof message.content === "string") {
1025
1041
  return {
1026
1042
  role: "assistant",
1027
- content: [{ type: "text", text: message.content }]
1043
+ content: [{ type: "text", text: message.content }],
1044
+ providerMetadata: message.experimental_providerMetadata
1028
1045
  };
1029
1046
  }
1030
1047
  return {
@@ -1032,11 +1049,22 @@ function convertToLanguageModelMessage(message, downloadedImages) {
1032
1049
  content: message.content.filter(
1033
1050
  // remove empty text parts:
1034
1051
  (part) => part.type !== "text" || part.text !== ""
1035
- )
1052
+ ),
1053
+ providerMetadata: message.experimental_providerMetadata
1036
1054
  };
1037
1055
  }
1038
1056
  case "tool": {
1039
- return message;
1057
+ return {
1058
+ role: "tool",
1059
+ content: message.content.map((part) => ({
1060
+ type: "tool-result",
1061
+ toolCallId: part.toolCallId,
1062
+ toolName: part.toolName,
1063
+ result: part.result,
1064
+ providerMetadata: part.experimental_providerMetadata
1065
+ })),
1066
+ providerMetadata: message.experimental_providerMetadata
1067
+ };
1040
1068
  }
1041
1069
  default: {
1042
1070
  const _exhaustiveCheck = role;
@@ -1382,6 +1410,7 @@ async function generateObject({
1382
1410
  let warnings;
1383
1411
  let rawResponse;
1384
1412
  let logprobs;
1413
+ let providerMetadata;
1385
1414
  switch (mode) {
1386
1415
  case "json": {
1387
1416
  const validatedPrompt = getValidatedPrompt({
@@ -1466,6 +1495,7 @@ async function generateObject({
1466
1495
  warnings = generateResult.warnings;
1467
1496
  rawResponse = generateResult.rawResponse;
1468
1497
  logprobs = generateResult.logprobs;
1498
+ providerMetadata = generateResult.providerMetadata;
1469
1499
  break;
1470
1500
  }
1471
1501
  case "tool": {
@@ -1553,6 +1583,7 @@ async function generateObject({
1553
1583
  warnings = generateResult.warnings;
1554
1584
  rawResponse = generateResult.rawResponse;
1555
1585
  logprobs = generateResult.logprobs;
1586
+ providerMetadata = generateResult.providerMetadata;
1556
1587
  break;
1557
1588
  }
1558
1589
  case void 0: {
@@ -1588,7 +1619,8 @@ async function generateObject({
1588
1619
  usage: calculateCompletionTokenUsage(usage),
1589
1620
  warnings,
1590
1621
  rawResponse,
1591
- logprobs
1622
+ logprobs,
1623
+ providerMetadata
1592
1624
  });
1593
1625
  }
1594
1626
  });
@@ -1601,6 +1633,7 @@ var DefaultGenerateObjectResult = class {
1601
1633
  this.warnings = options.warnings;
1602
1634
  this.rawResponse = options.rawResponse;
1603
1635
  this.logprobs = options.logprobs;
1636
+ this.experimental_providerMetadata = options.providerMetadata;
1604
1637
  }
1605
1638
  toJsonResponse(init) {
1606
1639
  var _a12;
@@ -1900,8 +1933,14 @@ var DefaultStreamObjectResult = class {
1900
1933
  this.objectPromise = new DelayedPromise();
1901
1934
  const { resolve: resolveUsage, promise: usagePromise } = createResolvablePromise();
1902
1935
  this.usage = usagePromise;
1936
+ const {
1937
+ resolve: resolveProviderMetadata,
1938
+ promise: providerMetadataPromise
1939
+ } = createResolvablePromise();
1940
+ this.experimental_providerMetadata = providerMetadataPromise;
1903
1941
  let usage;
1904
1942
  let finishReason;
1943
+ let providerMetadata;
1905
1944
  let object;
1906
1945
  let error;
1907
1946
  let accumulatedText = "";
@@ -1946,8 +1985,10 @@ var DefaultStreamObjectResult = class {
1946
1985
  }
1947
1986
  finishReason = chunk.finishReason;
1948
1987
  usage = calculateCompletionTokenUsage(chunk.usage);
1988
+ providerMetadata = chunk.providerMetadata;
1949
1989
  controller.enqueue({ ...chunk, usage });
1950
1990
  resolveUsage(usage);
1991
+ resolveProviderMetadata(providerMetadata);
1951
1992
  const validationResult = (0, import_provider_utils5.safeValidateTypes)({
1952
1993
  value: latestObject,
1953
1994
  schema
@@ -2010,7 +2051,8 @@ var DefaultStreamObjectResult = class {
2010
2051
  object,
2011
2052
  error,
2012
2053
  rawResponse,
2013
- warnings
2054
+ warnings,
2055
+ experimental_providerMetadata: providerMetadata
2014
2056
  }));
2015
2057
  } catch (error2) {
2016
2058
  controller.error(error2);
@@ -2462,7 +2504,8 @@ async function generateText({
2462
2504
  rawResponse: currentModelResponse.rawResponse,
2463
2505
  logprobs: currentModelResponse.logprobs,
2464
2506
  responseMessages,
2465
- roundtrips
2507
+ roundtrips,
2508
+ providerMetadata: currentModelResponse.providerMetadata
2466
2509
  });
2467
2510
  }
2468
2511
  });
@@ -2538,6 +2581,7 @@ var DefaultGenerateTextResult = class {
2538
2581
  this.logprobs = options.logprobs;
2539
2582
  this.responseMessages = options.responseMessages;
2540
2583
  this.roundtrips = options.roundtrips;
2584
+ this.experimental_providerMetadata = options.providerMetadata;
2541
2585
  }
2542
2586
  };
2543
2587
  function toResponseMessages({
@@ -2796,7 +2840,8 @@ function runToolsTransformation({
2796
2840
  type: "finish",
2797
2841
  finishReason: chunk.finishReason,
2798
2842
  logprobs: chunk.logprobs,
2799
- usage: calculateCompletionTokenUsage(chunk.usage)
2843
+ usage: calculateCompletionTokenUsage(chunk.usage),
2844
+ experimental_providerMetadata: chunk.providerMetadata
2800
2845
  });
2801
2846
  break;
2802
2847
  }
@@ -2977,8 +3022,14 @@ var DefaultStreamTextResult = class {
2977
3022
  this.toolCalls = toolCallsPromise;
2978
3023
  const { resolve: resolveToolResults, promise: toolResultsPromise } = createResolvablePromise();
2979
3024
  this.toolResults = toolResultsPromise;
3025
+ const {
3026
+ resolve: resolveProviderMetadata,
3027
+ promise: providerMetadataPromise
3028
+ } = createResolvablePromise();
3029
+ this.experimental_providerMetadata = providerMetadataPromise;
2980
3030
  let finishReason;
2981
3031
  let usage;
3032
+ let providerMetadata;
2982
3033
  let text = "";
2983
3034
  const toolCalls = [];
2984
3035
  const toolResults = [];
@@ -3011,10 +3062,12 @@ var DefaultStreamTextResult = class {
3011
3062
  case "finish":
3012
3063
  usage = chunk.usage;
3013
3064
  finishReason = chunk.finishReason;
3065
+ providerMetadata = chunk.experimental_providerMetadata;
3014
3066
  resolveUsage(usage);
3015
3067
  resolveFinishReason(finishReason);
3016
3068
  resolveText(text);
3017
3069
  resolveToolCalls(toolCalls);
3070
+ resolveProviderMetadata(providerMetadata);
3018
3071
  break;
3019
3072
  case "tool-call-streaming-start":
3020
3073
  case "tool-call-delta": {
@@ -3080,7 +3133,8 @@ var DefaultStreamTextResult = class {
3080
3133
  // The type exposed to the users will be correctly inferred.
3081
3134
  toolResults,
3082
3135
  rawResponse,
3083
- warnings
3136
+ warnings,
3137
+ experimental_providerMetadata: providerMetadata
3084
3138
  }));
3085
3139
  } catch (error) {
3086
3140
  controller.error(error);