ai 4.1.9 → 4.1.11

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.mjs CHANGED
@@ -1150,13 +1150,14 @@ async function convertToLanguageModelPrompt({
1150
1150
  ];
1151
1151
  }
1152
1152
  function convertToLanguageModelMessage(message, downloadedAssets) {
1153
+ var _a15, _b, _c, _d, _e, _f;
1153
1154
  const role = message.role;
1154
1155
  switch (role) {
1155
1156
  case "system": {
1156
1157
  return {
1157
1158
  role: "system",
1158
1159
  content: message.content,
1159
- providerMetadata: message.experimental_providerMetadata
1160
+ providerMetadata: (_a15 = message.providerOptions) != null ? _a15 : message.experimental_providerMetadata
1160
1161
  };
1161
1162
  }
1162
1163
  case "user": {
@@ -1164,13 +1165,13 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1164
1165
  return {
1165
1166
  role: "user",
1166
1167
  content: [{ type: "text", text: message.content }],
1167
- providerMetadata: message.experimental_providerMetadata
1168
+ providerMetadata: (_b = message.providerOptions) != null ? _b : message.experimental_providerMetadata
1168
1169
  };
1169
1170
  }
1170
1171
  return {
1171
1172
  role: "user",
1172
1173
  content: message.content.map((part) => convertPartToLanguageModelPart(part, downloadedAssets)).filter((part) => part.type !== "text" || part.text !== ""),
1173
- providerMetadata: message.experimental_providerMetadata
1174
+ providerMetadata: (_c = message.providerOptions) != null ? _c : message.experimental_providerMetadata
1174
1175
  };
1175
1176
  }
1176
1177
  case "assistant": {
@@ -1178,7 +1179,7 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1178
1179
  return {
1179
1180
  role: "assistant",
1180
1181
  content: [{ type: "text", text: message.content }],
1181
- providerMetadata: message.experimental_providerMetadata
1182
+ providerMetadata: (_d = message.providerOptions) != null ? _d : message.experimental_providerMetadata
1182
1183
  };
1183
1184
  }
1184
1185
  return {
@@ -1187,28 +1188,31 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1187
1188
  // remove empty text parts:
1188
1189
  (part) => part.type !== "text" || part.text !== ""
1189
1190
  ).map((part) => {
1190
- const { experimental_providerMetadata, ...rest } = part;
1191
+ const { experimental_providerMetadata, providerOptions, ...rest } = part;
1191
1192
  return {
1192
1193
  ...rest,
1193
- providerMetadata: experimental_providerMetadata
1194
+ providerMetadata: providerOptions != null ? providerOptions : experimental_providerMetadata
1194
1195
  };
1195
1196
  }),
1196
- providerMetadata: message.experimental_providerMetadata
1197
+ providerMetadata: (_e = message.providerOptions) != null ? _e : message.experimental_providerMetadata
1197
1198
  };
1198
1199
  }
1199
1200
  case "tool": {
1200
1201
  return {
1201
1202
  role: "tool",
1202
- content: message.content.map((part) => ({
1203
- type: "tool-result",
1204
- toolCallId: part.toolCallId,
1205
- toolName: part.toolName,
1206
- result: part.result,
1207
- content: part.experimental_content,
1208
- isError: part.isError,
1209
- providerMetadata: part.experimental_providerMetadata
1210
- })),
1211
- providerMetadata: message.experimental_providerMetadata
1203
+ content: message.content.map((part) => {
1204
+ var _a16;
1205
+ return {
1206
+ type: "tool-result",
1207
+ toolCallId: part.toolCallId,
1208
+ toolName: part.toolName,
1209
+ result: part.result,
1210
+ content: part.experimental_content,
1211
+ isError: part.isError,
1212
+ providerMetadata: (_a16 = part.providerOptions) != null ? _a16 : part.experimental_providerMetadata
1213
+ };
1214
+ }),
1215
+ providerMetadata: (_f = message.providerOptions) != null ? _f : message.experimental_providerMetadata
1212
1216
  };
1213
1217
  }
1214
1218
  default: {
@@ -1625,7 +1629,7 @@ function detectSingleMessageCharacteristics(message) {
1625
1629
  "experimental_attachments" in message)) {
1626
1630
  return "has-ui-specific-parts";
1627
1631
  } else if (typeof message === "object" && message !== null && "content" in message && (Array.isArray(message.content) || // Core messages can have array content
1628
- "experimental_providerMetadata" in message)) {
1632
+ "experimental_providerMetadata" in message || "providerOptions" in message)) {
1629
1633
  return "has-core-specific-parts";
1630
1634
  } else if (typeof message === "object" && message !== null && "role" in message && "content" in message && typeof message.content === "string" && ["system", "user", "assistant", "tool"].includes(message.role)) {
1631
1635
  return "message";
@@ -1679,25 +1683,30 @@ var toolResultContentSchema = z4.array(
1679
1683
  var textPartSchema = z5.object({
1680
1684
  type: z5.literal("text"),
1681
1685
  text: z5.string(),
1686
+ providerOptions: providerMetadataSchema.optional(),
1682
1687
  experimental_providerMetadata: providerMetadataSchema.optional()
1683
1688
  });
1684
1689
  var imagePartSchema = z5.object({
1685
1690
  type: z5.literal("image"),
1686
1691
  image: z5.union([dataContentSchema, z5.instanceof(URL)]),
1687
1692
  mimeType: z5.string().optional(),
1693
+ providerOptions: providerMetadataSchema.optional(),
1688
1694
  experimental_providerMetadata: providerMetadataSchema.optional()
1689
1695
  });
1690
1696
  var filePartSchema = z5.object({
1691
1697
  type: z5.literal("file"),
1692
1698
  data: z5.union([dataContentSchema, z5.instanceof(URL)]),
1693
1699
  mimeType: z5.string(),
1700
+ providerOptions: providerMetadataSchema.optional(),
1694
1701
  experimental_providerMetadata: providerMetadataSchema.optional()
1695
1702
  });
1696
1703
  var toolCallPartSchema = z5.object({
1697
1704
  type: z5.literal("tool-call"),
1698
1705
  toolCallId: z5.string(),
1699
1706
  toolName: z5.string(),
1700
- args: z5.unknown()
1707
+ args: z5.unknown(),
1708
+ providerOptions: providerMetadataSchema.optional(),
1709
+ experimental_providerMetadata: providerMetadataSchema.optional()
1701
1710
  });
1702
1711
  var toolResultPartSchema = z5.object({
1703
1712
  type: z5.literal("tool-result"),
@@ -1706,6 +1715,7 @@ var toolResultPartSchema = z5.object({
1706
1715
  result: z5.unknown(),
1707
1716
  content: toolResultContentSchema.optional(),
1708
1717
  isError: z5.boolean().optional(),
1718
+ providerOptions: providerMetadataSchema.optional(),
1709
1719
  experimental_providerMetadata: providerMetadataSchema.optional()
1710
1720
  });
1711
1721
 
@@ -1713,6 +1723,7 @@ var toolResultPartSchema = z5.object({
1713
1723
  var coreSystemMessageSchema = z6.object({
1714
1724
  role: z6.literal("system"),
1715
1725
  content: z6.string(),
1726
+ providerOptions: providerMetadataSchema.optional(),
1716
1727
  experimental_providerMetadata: providerMetadataSchema.optional()
1717
1728
  });
1718
1729
  var coreUserMessageSchema = z6.object({
@@ -1721,6 +1732,7 @@ var coreUserMessageSchema = z6.object({
1721
1732
  z6.string(),
1722
1733
  z6.array(z6.union([textPartSchema, imagePartSchema, filePartSchema]))
1723
1734
  ]),
1735
+ providerOptions: providerMetadataSchema.optional(),
1724
1736
  experimental_providerMetadata: providerMetadataSchema.optional()
1725
1737
  });
1726
1738
  var coreAssistantMessageSchema = z6.object({
@@ -1729,11 +1741,13 @@ var coreAssistantMessageSchema = z6.object({
1729
1741
  z6.string(),
1730
1742
  z6.array(z6.union([textPartSchema, toolCallPartSchema]))
1731
1743
  ]),
1744
+ providerOptions: providerMetadataSchema.optional(),
1732
1745
  experimental_providerMetadata: providerMetadataSchema.optional()
1733
1746
  });
1734
1747
  var coreToolMessageSchema = z6.object({
1735
1748
  role: z6.literal("tool"),
1736
1749
  content: z6.array(toolResultPartSchema),
1750
+ providerOptions: providerMetadataSchema.optional(),
1737
1751
  experimental_providerMetadata: providerMetadataSchema.optional()
1738
1752
  });
1739
1753
  var coreMessageSchema = z6.union([
@@ -2249,7 +2263,8 @@ async function generateObject({
2249
2263
  abortSignal,
2250
2264
  headers,
2251
2265
  experimental_telemetry: telemetry,
2252
- experimental_providerMetadata: providerMetadata,
2266
+ experimental_providerMetadata,
2267
+ providerOptions = experimental_providerMetadata,
2253
2268
  _internal: {
2254
2269
  generateId: generateId3 = originalGenerateId,
2255
2270
  currentDate = () => /* @__PURE__ */ new Date()
@@ -2376,7 +2391,7 @@ async function generateObject({
2376
2391
  ...prepareCallSettings(settings),
2377
2392
  inputFormat: standardizedPrompt.type,
2378
2393
  prompt: promptMessages,
2379
- providerMetadata,
2394
+ providerMetadata: providerOptions,
2380
2395
  abortSignal,
2381
2396
  headers
2382
2397
  });
@@ -2483,7 +2498,7 @@ async function generateObject({
2483
2498
  ...prepareCallSettings(settings),
2484
2499
  inputFormat,
2485
2500
  prompt: promptMessages,
2486
- providerMetadata,
2501
+ providerMetadata: providerOptions,
2487
2502
  abortSignal,
2488
2503
  headers
2489
2504
  });
@@ -2787,7 +2802,8 @@ function streamObject({
2787
2802
  abortSignal,
2788
2803
  headers,
2789
2804
  experimental_telemetry: telemetry,
2790
- experimental_providerMetadata: providerMetadata,
2805
+ experimental_providerMetadata,
2806
+ providerOptions = experimental_providerMetadata,
2791
2807
  onFinish,
2792
2808
  _internal: {
2793
2809
  generateId: generateId3 = originalGenerateId2,
@@ -2820,7 +2836,7 @@ function streamObject({
2820
2836
  messages,
2821
2837
  schemaName,
2822
2838
  schemaDescription,
2823
- inputProviderMetadata: providerMetadata,
2839
+ providerOptions,
2824
2840
  mode,
2825
2841
  onFinish,
2826
2842
  generateId: generateId3,
@@ -2842,7 +2858,7 @@ var DefaultStreamObjectResult = class {
2842
2858
  messages,
2843
2859
  schemaName,
2844
2860
  schemaDescription,
2845
- inputProviderMetadata,
2861
+ providerOptions,
2846
2862
  mode,
2847
2863
  onFinish,
2848
2864
  generateId: generateId3,
@@ -2923,7 +2939,7 @@ var DefaultStreamObjectResult = class {
2923
2939
  modelSupportsImageUrls: model.supportsImageUrls,
2924
2940
  modelSupportsUrl: model.supportsUrl
2925
2941
  }),
2926
- providerMetadata: inputProviderMetadata,
2942
+ providerMetadata: providerOptions,
2927
2943
  abortSignal,
2928
2944
  headers
2929
2945
  };
@@ -2965,7 +2981,7 @@ var DefaultStreamObjectResult = class {
2965
2981
  modelSupportsImageUrls: model.supportsImageUrls,
2966
2982
  modelSupportsUrl: model.supportsUrl
2967
2983
  }),
2968
- providerMetadata: inputProviderMetadata,
2984
+ providerMetadata: providerOptions,
2969
2985
  abortSignal,
2970
2986
  headers
2971
2987
  };
@@ -3647,7 +3663,8 @@ async function generateText({
3647
3663
  experimental_output: output,
3648
3664
  experimental_continueSteps: continueSteps = false,
3649
3665
  experimental_telemetry: telemetry,
3650
- experimental_providerMetadata: providerMetadata,
3666
+ experimental_providerMetadata,
3667
+ providerOptions = experimental_providerMetadata,
3651
3668
  experimental_activeTools: activeTools,
3652
3669
  experimental_repairToolCall: repairToolCall,
3653
3670
  _internal: {
@@ -3780,7 +3797,7 @@ async function generateText({
3780
3797
  inputFormat: promptFormat,
3781
3798
  responseFormat: output == null ? void 0 : output.responseFormat({ model }),
3782
3799
  prompt: promptMessages,
3783
- providerMetadata,
3800
+ providerMetadata: providerOptions,
3784
3801
  abortSignal,
3785
3802
  headers
3786
3803
  });
@@ -4511,7 +4528,8 @@ function streamText({
4511
4528
  experimental_output: output,
4512
4529
  experimental_continueSteps: continueSteps = false,
4513
4530
  experimental_telemetry: telemetry,
4514
- experimental_providerMetadata: providerMetadata,
4531
+ experimental_providerMetadata,
4532
+ providerOptions = experimental_providerMetadata,
4515
4533
  experimental_toolCallStreaming = false,
4516
4534
  toolCallStreaming = experimental_toolCallStreaming,
4517
4535
  experimental_activeTools: activeTools,
@@ -4546,7 +4564,7 @@ function streamText({
4546
4564
  maxSteps,
4547
4565
  output,
4548
4566
  continueSteps,
4549
- providerMetadata,
4567
+ providerOptions,
4550
4568
  onChunk,
4551
4569
  onFinish,
4552
4570
  onStepFinish,
@@ -4627,7 +4645,7 @@ var DefaultStreamTextResult = class {
4627
4645
  maxSteps,
4628
4646
  output,
4629
4647
  continueSteps,
4630
- providerMetadata,
4648
+ providerOptions,
4631
4649
  onChunk,
4632
4650
  onFinish,
4633
4651
  onStepFinish,
@@ -4955,7 +4973,7 @@ var DefaultStreamTextResult = class {
4955
4973
  inputFormat: promptFormat,
4956
4974
  responseFormat: output == null ? void 0 : output.responseFormat({ model }),
4957
4975
  prompt: promptMessages,
4958
- providerMetadata,
4976
+ providerMetadata: providerOptions,
4959
4977
  abortSignal,
4960
4978
  headers
4961
4979
  })
@@ -5550,40 +5568,6 @@ var DefaultStreamTextResult = class {
5550
5568
  }
5551
5569
  };
5552
5570
 
5553
- // core/middleware/wrap-language-model.ts
5554
- var experimental_wrapLanguageModel = ({
5555
- model,
5556
- middleware: { transformParams, wrapGenerate, wrapStream },
5557
- modelId,
5558
- providerId
5559
- }) => {
5560
- async function doTransform({
5561
- params,
5562
- type
5563
- }) {
5564
- return transformParams ? await transformParams({ params, type }) : params;
5565
- }
5566
- return {
5567
- specificationVersion: "v1",
5568
- provider: providerId != null ? providerId : model.provider,
5569
- modelId: modelId != null ? modelId : model.modelId,
5570
- defaultObjectGenerationMode: model.defaultObjectGenerationMode,
5571
- supportsImageUrls: model.supportsImageUrls,
5572
- supportsUrl: model.supportsUrl,
5573
- supportsStructuredOutputs: model.supportsStructuredOutputs,
5574
- async doGenerate(params) {
5575
- const transformedParams = await doTransform({ params, type: "generate" });
5576
- const doGenerate = async () => model.doGenerate(transformedParams);
5577
- return wrapGenerate ? wrapGenerate({ doGenerate, params: transformedParams, model }) : doGenerate();
5578
- },
5579
- async doStream(params) {
5580
- const transformedParams = await doTransform({ params, type: "stream" });
5581
- const doStream = async () => model.doStream(transformedParams);
5582
- return wrapStream ? wrapStream({ doStream, params: transformedParams, model }) : doStream();
5583
- }
5584
- };
5585
- };
5586
-
5587
5571
  // core/util/get-potential-start-index.ts
5588
5572
  function getPotentialStartIndex(text2, searchedText) {
5589
5573
  if (searchedText.length === 0) {
@@ -5610,6 +5594,7 @@ function extractReasoningMiddleware({
5610
5594
  const openingTag = `<${tagName}>`;
5611
5595
  const closingTag = `</${tagName}>`;
5612
5596
  return {
5597
+ middlewareVersion: "v1",
5613
5598
  wrapGenerate: async ({ doGenerate }) => {
5614
5599
  const { text: text2, ...rest } = await doGenerate();
5615
5600
  if (text2 == null) {
@@ -5691,6 +5676,41 @@ function extractReasoningMiddleware({
5691
5676
  };
5692
5677
  }
5693
5678
 
5679
+ // core/middleware/wrap-language-model.ts
5680
+ var wrapLanguageModel = ({
5681
+ model,
5682
+ middleware: { transformParams, wrapGenerate, wrapStream },
5683
+ modelId,
5684
+ providerId
5685
+ }) => {
5686
+ async function doTransform({
5687
+ params,
5688
+ type
5689
+ }) {
5690
+ return transformParams ? await transformParams({ params, type }) : params;
5691
+ }
5692
+ return {
5693
+ specificationVersion: "v1",
5694
+ provider: providerId != null ? providerId : model.provider,
5695
+ modelId: modelId != null ? modelId : model.modelId,
5696
+ defaultObjectGenerationMode: model.defaultObjectGenerationMode,
5697
+ supportsImageUrls: model.supportsImageUrls,
5698
+ supportsUrl: model.supportsUrl,
5699
+ supportsStructuredOutputs: model.supportsStructuredOutputs,
5700
+ async doGenerate(params) {
5701
+ const transformedParams = await doTransform({ params, type: "generate" });
5702
+ const doGenerate = async () => model.doGenerate(transformedParams);
5703
+ return wrapGenerate ? wrapGenerate({ doGenerate, params: transformedParams, model }) : doGenerate();
5704
+ },
5705
+ async doStream(params) {
5706
+ const transformedParams = await doTransform({ params, type: "stream" });
5707
+ const doStream = async () => model.doStream(transformedParams);
5708
+ return wrapStream ? wrapStream({ doStream, params: transformedParams, model }) : doStream();
5709
+ }
5710
+ };
5711
+ };
5712
+ var experimental_wrapLanguageModel = wrapLanguageModel;
5713
+
5694
5714
  // core/prompt/append-client-message.ts
5695
5715
  function appendClientMessage({
5696
5716
  messages,
@@ -6342,6 +6362,7 @@ export {
6342
6362
  smoothStream,
6343
6363
  streamObject,
6344
6364
  streamText,
6345
- tool
6365
+ tool,
6366
+ wrapLanguageModel
6346
6367
  };
6347
6368
  //# sourceMappingURL=index.mjs.map