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.js CHANGED
@@ -84,7 +84,8 @@ __export(streams_exports, {
84
84
  smoothStream: () => smoothStream,
85
85
  streamObject: () => streamObject,
86
86
  streamText: () => streamText,
87
- tool: () => tool
87
+ tool: () => tool,
88
+ wrapLanguageModel: () => wrapLanguageModel
88
89
  });
89
90
  module.exports = __toCommonJS(streams_exports);
90
91
 
@@ -1220,13 +1221,14 @@ async function convertToLanguageModelPrompt({
1220
1221
  ];
1221
1222
  }
1222
1223
  function convertToLanguageModelMessage(message, downloadedAssets) {
1224
+ var _a15, _b, _c, _d, _e, _f;
1223
1225
  const role = message.role;
1224
1226
  switch (role) {
1225
1227
  case "system": {
1226
1228
  return {
1227
1229
  role: "system",
1228
1230
  content: message.content,
1229
- providerMetadata: message.experimental_providerMetadata
1231
+ providerMetadata: (_a15 = message.providerOptions) != null ? _a15 : message.experimental_providerMetadata
1230
1232
  };
1231
1233
  }
1232
1234
  case "user": {
@@ -1234,13 +1236,13 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1234
1236
  return {
1235
1237
  role: "user",
1236
1238
  content: [{ type: "text", text: message.content }],
1237
- providerMetadata: message.experimental_providerMetadata
1239
+ providerMetadata: (_b = message.providerOptions) != null ? _b : message.experimental_providerMetadata
1238
1240
  };
1239
1241
  }
1240
1242
  return {
1241
1243
  role: "user",
1242
1244
  content: message.content.map((part) => convertPartToLanguageModelPart(part, downloadedAssets)).filter((part) => part.type !== "text" || part.text !== ""),
1243
- providerMetadata: message.experimental_providerMetadata
1245
+ providerMetadata: (_c = message.providerOptions) != null ? _c : message.experimental_providerMetadata
1244
1246
  };
1245
1247
  }
1246
1248
  case "assistant": {
@@ -1248,7 +1250,7 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1248
1250
  return {
1249
1251
  role: "assistant",
1250
1252
  content: [{ type: "text", text: message.content }],
1251
- providerMetadata: message.experimental_providerMetadata
1253
+ providerMetadata: (_d = message.providerOptions) != null ? _d : message.experimental_providerMetadata
1252
1254
  };
1253
1255
  }
1254
1256
  return {
@@ -1257,28 +1259,31 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
1257
1259
  // remove empty text parts:
1258
1260
  (part) => part.type !== "text" || part.text !== ""
1259
1261
  ).map((part) => {
1260
- const { experimental_providerMetadata, ...rest } = part;
1262
+ const { experimental_providerMetadata, providerOptions, ...rest } = part;
1261
1263
  return {
1262
1264
  ...rest,
1263
- providerMetadata: experimental_providerMetadata
1265
+ providerMetadata: providerOptions != null ? providerOptions : experimental_providerMetadata
1264
1266
  };
1265
1267
  }),
1266
- providerMetadata: message.experimental_providerMetadata
1268
+ providerMetadata: (_e = message.providerOptions) != null ? _e : message.experimental_providerMetadata
1267
1269
  };
1268
1270
  }
1269
1271
  case "tool": {
1270
1272
  return {
1271
1273
  role: "tool",
1272
- content: message.content.map((part) => ({
1273
- type: "tool-result",
1274
- toolCallId: part.toolCallId,
1275
- toolName: part.toolName,
1276
- result: part.result,
1277
- content: part.experimental_content,
1278
- isError: part.isError,
1279
- providerMetadata: part.experimental_providerMetadata
1280
- })),
1281
- providerMetadata: message.experimental_providerMetadata
1274
+ content: message.content.map((part) => {
1275
+ var _a16;
1276
+ return {
1277
+ type: "tool-result",
1278
+ toolCallId: part.toolCallId,
1279
+ toolName: part.toolName,
1280
+ result: part.result,
1281
+ content: part.experimental_content,
1282
+ isError: part.isError,
1283
+ providerMetadata: (_a16 = part.providerOptions) != null ? _a16 : part.experimental_providerMetadata
1284
+ };
1285
+ }),
1286
+ providerMetadata: (_f = message.providerOptions) != null ? _f : message.experimental_providerMetadata
1282
1287
  };
1283
1288
  }
1284
1289
  default: {
@@ -1695,7 +1700,7 @@ function detectSingleMessageCharacteristics(message) {
1695
1700
  "experimental_attachments" in message)) {
1696
1701
  return "has-ui-specific-parts";
1697
1702
  } else if (typeof message === "object" && message !== null && "content" in message && (Array.isArray(message.content) || // Core messages can have array content
1698
- "experimental_providerMetadata" in message)) {
1703
+ "experimental_providerMetadata" in message || "providerOptions" in message)) {
1699
1704
  return "has-core-specific-parts";
1700
1705
  } else if (typeof message === "object" && message !== null && "role" in message && "content" in message && typeof message.content === "string" && ["system", "user", "assistant", "tool"].includes(message.role)) {
1701
1706
  return "message";
@@ -1749,25 +1754,30 @@ var toolResultContentSchema = import_zod4.z.array(
1749
1754
  var textPartSchema = import_zod5.z.object({
1750
1755
  type: import_zod5.z.literal("text"),
1751
1756
  text: import_zod5.z.string(),
1757
+ providerOptions: providerMetadataSchema.optional(),
1752
1758
  experimental_providerMetadata: providerMetadataSchema.optional()
1753
1759
  });
1754
1760
  var imagePartSchema = import_zod5.z.object({
1755
1761
  type: import_zod5.z.literal("image"),
1756
1762
  image: import_zod5.z.union([dataContentSchema, import_zod5.z.instanceof(URL)]),
1757
1763
  mimeType: import_zod5.z.string().optional(),
1764
+ providerOptions: providerMetadataSchema.optional(),
1758
1765
  experimental_providerMetadata: providerMetadataSchema.optional()
1759
1766
  });
1760
1767
  var filePartSchema = import_zod5.z.object({
1761
1768
  type: import_zod5.z.literal("file"),
1762
1769
  data: import_zod5.z.union([dataContentSchema, import_zod5.z.instanceof(URL)]),
1763
1770
  mimeType: import_zod5.z.string(),
1771
+ providerOptions: providerMetadataSchema.optional(),
1764
1772
  experimental_providerMetadata: providerMetadataSchema.optional()
1765
1773
  });
1766
1774
  var toolCallPartSchema = import_zod5.z.object({
1767
1775
  type: import_zod5.z.literal("tool-call"),
1768
1776
  toolCallId: import_zod5.z.string(),
1769
1777
  toolName: import_zod5.z.string(),
1770
- args: import_zod5.z.unknown()
1778
+ args: import_zod5.z.unknown(),
1779
+ providerOptions: providerMetadataSchema.optional(),
1780
+ experimental_providerMetadata: providerMetadataSchema.optional()
1771
1781
  });
1772
1782
  var toolResultPartSchema = import_zod5.z.object({
1773
1783
  type: import_zod5.z.literal("tool-result"),
@@ -1776,6 +1786,7 @@ var toolResultPartSchema = import_zod5.z.object({
1776
1786
  result: import_zod5.z.unknown(),
1777
1787
  content: toolResultContentSchema.optional(),
1778
1788
  isError: import_zod5.z.boolean().optional(),
1789
+ providerOptions: providerMetadataSchema.optional(),
1779
1790
  experimental_providerMetadata: providerMetadataSchema.optional()
1780
1791
  });
1781
1792
 
@@ -1783,6 +1794,7 @@ var toolResultPartSchema = import_zod5.z.object({
1783
1794
  var coreSystemMessageSchema = import_zod6.z.object({
1784
1795
  role: import_zod6.z.literal("system"),
1785
1796
  content: import_zod6.z.string(),
1797
+ providerOptions: providerMetadataSchema.optional(),
1786
1798
  experimental_providerMetadata: providerMetadataSchema.optional()
1787
1799
  });
1788
1800
  var coreUserMessageSchema = import_zod6.z.object({
@@ -1791,6 +1803,7 @@ var coreUserMessageSchema = import_zod6.z.object({
1791
1803
  import_zod6.z.string(),
1792
1804
  import_zod6.z.array(import_zod6.z.union([textPartSchema, imagePartSchema, filePartSchema]))
1793
1805
  ]),
1806
+ providerOptions: providerMetadataSchema.optional(),
1794
1807
  experimental_providerMetadata: providerMetadataSchema.optional()
1795
1808
  });
1796
1809
  var coreAssistantMessageSchema = import_zod6.z.object({
@@ -1799,11 +1812,13 @@ var coreAssistantMessageSchema = import_zod6.z.object({
1799
1812
  import_zod6.z.string(),
1800
1813
  import_zod6.z.array(import_zod6.z.union([textPartSchema, toolCallPartSchema]))
1801
1814
  ]),
1815
+ providerOptions: providerMetadataSchema.optional(),
1802
1816
  experimental_providerMetadata: providerMetadataSchema.optional()
1803
1817
  });
1804
1818
  var coreToolMessageSchema = import_zod6.z.object({
1805
1819
  role: import_zod6.z.literal("tool"),
1806
1820
  content: import_zod6.z.array(toolResultPartSchema),
1821
+ providerOptions: providerMetadataSchema.optional(),
1807
1822
  experimental_providerMetadata: providerMetadataSchema.optional()
1808
1823
  });
1809
1824
  var coreMessageSchema = import_zod6.z.union([
@@ -2314,7 +2329,8 @@ async function generateObject({
2314
2329
  abortSignal,
2315
2330
  headers,
2316
2331
  experimental_telemetry: telemetry,
2317
- experimental_providerMetadata: providerMetadata,
2332
+ experimental_providerMetadata,
2333
+ providerOptions = experimental_providerMetadata,
2318
2334
  _internal: {
2319
2335
  generateId: generateId3 = originalGenerateId,
2320
2336
  currentDate = () => /* @__PURE__ */ new Date()
@@ -2441,7 +2457,7 @@ async function generateObject({
2441
2457
  ...prepareCallSettings(settings),
2442
2458
  inputFormat: standardizedPrompt.type,
2443
2459
  prompt: promptMessages,
2444
- providerMetadata,
2460
+ providerMetadata: providerOptions,
2445
2461
  abortSignal,
2446
2462
  headers
2447
2463
  });
@@ -2548,7 +2564,7 @@ async function generateObject({
2548
2564
  ...prepareCallSettings(settings),
2549
2565
  inputFormat,
2550
2566
  prompt: promptMessages,
2551
- providerMetadata,
2567
+ providerMetadata: providerOptions,
2552
2568
  abortSignal,
2553
2569
  headers
2554
2570
  });
@@ -2849,7 +2865,8 @@ function streamObject({
2849
2865
  abortSignal,
2850
2866
  headers,
2851
2867
  experimental_telemetry: telemetry,
2852
- experimental_providerMetadata: providerMetadata,
2868
+ experimental_providerMetadata,
2869
+ providerOptions = experimental_providerMetadata,
2853
2870
  onFinish,
2854
2871
  _internal: {
2855
2872
  generateId: generateId3 = originalGenerateId2,
@@ -2882,7 +2899,7 @@ function streamObject({
2882
2899
  messages,
2883
2900
  schemaName,
2884
2901
  schemaDescription,
2885
- inputProviderMetadata: providerMetadata,
2902
+ providerOptions,
2886
2903
  mode,
2887
2904
  onFinish,
2888
2905
  generateId: generateId3,
@@ -2904,7 +2921,7 @@ var DefaultStreamObjectResult = class {
2904
2921
  messages,
2905
2922
  schemaName,
2906
2923
  schemaDescription,
2907
- inputProviderMetadata,
2924
+ providerOptions,
2908
2925
  mode,
2909
2926
  onFinish,
2910
2927
  generateId: generateId3,
@@ -2985,7 +3002,7 @@ var DefaultStreamObjectResult = class {
2985
3002
  modelSupportsImageUrls: model.supportsImageUrls,
2986
3003
  modelSupportsUrl: model.supportsUrl
2987
3004
  }),
2988
- providerMetadata: inputProviderMetadata,
3005
+ providerMetadata: providerOptions,
2989
3006
  abortSignal,
2990
3007
  headers
2991
3008
  };
@@ -3027,7 +3044,7 @@ var DefaultStreamObjectResult = class {
3027
3044
  modelSupportsImageUrls: model.supportsImageUrls,
3028
3045
  modelSupportsUrl: model.supportsUrl
3029
3046
  }),
3030
- providerMetadata: inputProviderMetadata,
3047
+ providerMetadata: providerOptions,
3031
3048
  abortSignal,
3032
3049
  headers
3033
3050
  };
@@ -3709,7 +3726,8 @@ async function generateText({
3709
3726
  experimental_output: output,
3710
3727
  experimental_continueSteps: continueSteps = false,
3711
3728
  experimental_telemetry: telemetry,
3712
- experimental_providerMetadata: providerMetadata,
3729
+ experimental_providerMetadata,
3730
+ providerOptions = experimental_providerMetadata,
3713
3731
  experimental_activeTools: activeTools,
3714
3732
  experimental_repairToolCall: repairToolCall,
3715
3733
  _internal: {
@@ -3842,7 +3860,7 @@ async function generateText({
3842
3860
  inputFormat: promptFormat,
3843
3861
  responseFormat: output == null ? void 0 : output.responseFormat({ model }),
3844
3862
  prompt: promptMessages,
3845
- providerMetadata,
3863
+ providerMetadata: providerOptions,
3846
3864
  abortSignal,
3847
3865
  headers
3848
3866
  });
@@ -4558,7 +4576,8 @@ function streamText({
4558
4576
  experimental_output: output,
4559
4577
  experimental_continueSteps: continueSteps = false,
4560
4578
  experimental_telemetry: telemetry,
4561
- experimental_providerMetadata: providerMetadata,
4579
+ experimental_providerMetadata,
4580
+ providerOptions = experimental_providerMetadata,
4562
4581
  experimental_toolCallStreaming = false,
4563
4582
  toolCallStreaming = experimental_toolCallStreaming,
4564
4583
  experimental_activeTools: activeTools,
@@ -4593,7 +4612,7 @@ function streamText({
4593
4612
  maxSteps,
4594
4613
  output,
4595
4614
  continueSteps,
4596
- providerMetadata,
4615
+ providerOptions,
4597
4616
  onChunk,
4598
4617
  onFinish,
4599
4618
  onStepFinish,
@@ -4674,7 +4693,7 @@ var DefaultStreamTextResult = class {
4674
4693
  maxSteps,
4675
4694
  output,
4676
4695
  continueSteps,
4677
- providerMetadata,
4696
+ providerOptions,
4678
4697
  onChunk,
4679
4698
  onFinish,
4680
4699
  onStepFinish,
@@ -5002,7 +5021,7 @@ var DefaultStreamTextResult = class {
5002
5021
  inputFormat: promptFormat,
5003
5022
  responseFormat: output == null ? void 0 : output.responseFormat({ model }),
5004
5023
  prompt: promptMessages,
5005
- providerMetadata,
5024
+ providerMetadata: providerOptions,
5006
5025
  abortSignal,
5007
5026
  headers
5008
5027
  })
@@ -5597,40 +5616,6 @@ var DefaultStreamTextResult = class {
5597
5616
  }
5598
5617
  };
5599
5618
 
5600
- // core/middleware/wrap-language-model.ts
5601
- var experimental_wrapLanguageModel = ({
5602
- model,
5603
- middleware: { transformParams, wrapGenerate, wrapStream },
5604
- modelId,
5605
- providerId
5606
- }) => {
5607
- async function doTransform({
5608
- params,
5609
- type
5610
- }) {
5611
- return transformParams ? await transformParams({ params, type }) : params;
5612
- }
5613
- return {
5614
- specificationVersion: "v1",
5615
- provider: providerId != null ? providerId : model.provider,
5616
- modelId: modelId != null ? modelId : model.modelId,
5617
- defaultObjectGenerationMode: model.defaultObjectGenerationMode,
5618
- supportsImageUrls: model.supportsImageUrls,
5619
- supportsUrl: model.supportsUrl,
5620
- supportsStructuredOutputs: model.supportsStructuredOutputs,
5621
- async doGenerate(params) {
5622
- const transformedParams = await doTransform({ params, type: "generate" });
5623
- const doGenerate = async () => model.doGenerate(transformedParams);
5624
- return wrapGenerate ? wrapGenerate({ doGenerate, params: transformedParams, model }) : doGenerate();
5625
- },
5626
- async doStream(params) {
5627
- const transformedParams = await doTransform({ params, type: "stream" });
5628
- const doStream = async () => model.doStream(transformedParams);
5629
- return wrapStream ? wrapStream({ doStream, params: transformedParams, model }) : doStream();
5630
- }
5631
- };
5632
- };
5633
-
5634
5619
  // core/util/get-potential-start-index.ts
5635
5620
  function getPotentialStartIndex(text2, searchedText) {
5636
5621
  if (searchedText.length === 0) {
@@ -5657,6 +5642,7 @@ function extractReasoningMiddleware({
5657
5642
  const openingTag = `<${tagName}>`;
5658
5643
  const closingTag = `</${tagName}>`;
5659
5644
  return {
5645
+ middlewareVersion: "v1",
5660
5646
  wrapGenerate: async ({ doGenerate }) => {
5661
5647
  const { text: text2, ...rest } = await doGenerate();
5662
5648
  if (text2 == null) {
@@ -5738,6 +5724,41 @@ function extractReasoningMiddleware({
5738
5724
  };
5739
5725
  }
5740
5726
 
5727
+ // core/middleware/wrap-language-model.ts
5728
+ var wrapLanguageModel = ({
5729
+ model,
5730
+ middleware: { transformParams, wrapGenerate, wrapStream },
5731
+ modelId,
5732
+ providerId
5733
+ }) => {
5734
+ async function doTransform({
5735
+ params,
5736
+ type
5737
+ }) {
5738
+ return transformParams ? await transformParams({ params, type }) : params;
5739
+ }
5740
+ return {
5741
+ specificationVersion: "v1",
5742
+ provider: providerId != null ? providerId : model.provider,
5743
+ modelId: modelId != null ? modelId : model.modelId,
5744
+ defaultObjectGenerationMode: model.defaultObjectGenerationMode,
5745
+ supportsImageUrls: model.supportsImageUrls,
5746
+ supportsUrl: model.supportsUrl,
5747
+ supportsStructuredOutputs: model.supportsStructuredOutputs,
5748
+ async doGenerate(params) {
5749
+ const transformedParams = await doTransform({ params, type: "generate" });
5750
+ const doGenerate = async () => model.doGenerate(transformedParams);
5751
+ return wrapGenerate ? wrapGenerate({ doGenerate, params: transformedParams, model }) : doGenerate();
5752
+ },
5753
+ async doStream(params) {
5754
+ const transformedParams = await doTransform({ params, type: "stream" });
5755
+ const doStream = async () => model.doStream(transformedParams);
5756
+ return wrapStream ? wrapStream({ doStream, params: transformedParams, model }) : doStream();
5757
+ }
5758
+ };
5759
+ };
5760
+ var experimental_wrapLanguageModel = wrapLanguageModel;
5761
+
5741
5762
  // core/prompt/append-client-message.ts
5742
5763
  function appendClientMessage({
5743
5764
  messages,
@@ -6388,6 +6409,7 @@ var StreamData = class {
6388
6409
  smoothStream,
6389
6410
  streamObject,
6390
6411
  streamText,
6391
- tool
6412
+ tool,
6413
+ wrapLanguageModel
6392
6414
  });
6393
6415
  //# sourceMappingURL=index.js.map