ai 6.0.0-beta.66 → 6.0.0-beta.68

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
@@ -775,7 +775,7 @@ import {
775
775
  } from "@ai-sdk/provider-utils";
776
776
 
777
777
  // src/version.ts
778
- var VERSION = true ? "6.0.0-beta.66" : "0.0.0-test";
778
+ var VERSION = true ? "6.0.0-beta.68" : "0.0.0-test";
779
779
 
780
780
  // src/util/download/download.ts
781
781
  var download = async ({ url }) => {
@@ -3829,6 +3829,15 @@ async function parsePartialJson(jsonText) {
3829
3829
  function isDataUIPart(part) {
3830
3830
  return part.type.startsWith("data-");
3831
3831
  }
3832
+ function isTextUIPart(part) {
3833
+ return part.type === "text";
3834
+ }
3835
+ function isFileUIPart(part) {
3836
+ return part.type === "file";
3837
+ }
3838
+ function isReasoningUIPart(part) {
3839
+ return part.type === "reasoning";
3840
+ }
3832
3841
  function isToolUIPart(part) {
3833
3842
  return part.type.startsWith("tool-");
3834
3843
  }
@@ -6430,6 +6439,9 @@ function readUIMessageStream({
6430
6439
  }
6431
6440
 
6432
6441
  // src/ui/convert-to-model-messages.ts
6442
+ import {
6443
+ isNonNullable
6444
+ } from "@ai-sdk/provider-utils";
6433
6445
  function convertToModelMessages(messages, options) {
6434
6446
  const modelMessages = [];
6435
6447
  if (options == null ? void 0 : options.ignoreIncompleteToolCalls) {
@@ -6443,7 +6455,9 @@ function convertToModelMessages(messages, options) {
6443
6455
  for (const message of messages) {
6444
6456
  switch (message.role) {
6445
6457
  case "system": {
6446
- const textParts = message.parts.filter((part) => part.type === "text");
6458
+ const textParts = message.parts.filter(
6459
+ (part) => part.type === "text"
6460
+ );
6447
6461
  const providerMetadata = textParts.reduce((acc, part) => {
6448
6462
  if (part.providerMetadata != null) {
6449
6463
  return { ...acc, ...part.providerMetadata };
@@ -6460,54 +6474,57 @@ function convertToModelMessages(messages, options) {
6460
6474
  case "user": {
6461
6475
  modelMessages.push({
6462
6476
  role: "user",
6463
- content: message.parts.filter(
6464
- (part) => part.type === "text" || part.type === "file"
6465
- ).map((part) => {
6466
- switch (part.type) {
6467
- case "text":
6468
- return {
6469
- type: "text",
6470
- text: part.text,
6471
- ...part.providerMetadata != null ? { providerOptions: part.providerMetadata } : {}
6472
- };
6473
- case "file":
6474
- return {
6475
- type: "file",
6476
- mediaType: part.mediaType,
6477
- filename: part.filename,
6478
- data: part.url,
6479
- ...part.providerMetadata != null ? { providerOptions: part.providerMetadata } : {}
6480
- };
6481
- default:
6482
- return part;
6477
+ content: message.parts.map((part) => {
6478
+ var _a17;
6479
+ if (isTextUIPart(part)) {
6480
+ return {
6481
+ type: "text",
6482
+ text: part.text,
6483
+ ...part.providerMetadata != null ? { providerOptions: part.providerMetadata } : {}
6484
+ };
6483
6485
  }
6484
- })
6486
+ if (isFileUIPart(part)) {
6487
+ return {
6488
+ type: "file",
6489
+ mediaType: part.mediaType,
6490
+ filename: part.filename,
6491
+ data: part.url,
6492
+ ...part.providerMetadata != null ? { providerOptions: part.providerMetadata } : {}
6493
+ };
6494
+ }
6495
+ if (isDataUIPart(part)) {
6496
+ return (_a17 = options == null ? void 0 : options.convertDataPart) == null ? void 0 : _a17.call(
6497
+ options,
6498
+ part
6499
+ );
6500
+ }
6501
+ }).filter(isNonNullable)
6485
6502
  });
6486
6503
  break;
6487
6504
  }
6488
6505
  case "assistant": {
6489
6506
  if (message.parts != null) {
6490
6507
  let processBlock2 = function() {
6491
- var _a17, _b;
6508
+ var _a17, _b, _c;
6492
6509
  if (block.length === 0) {
6493
6510
  return;
6494
6511
  }
6495
6512
  const content = [];
6496
6513
  for (const part of block) {
6497
- if (part.type === "text") {
6514
+ if (isTextUIPart(part)) {
6498
6515
  content.push({
6499
6516
  type: "text",
6500
6517
  text: part.text,
6501
6518
  ...part.providerMetadata != null ? { providerOptions: part.providerMetadata } : {}
6502
6519
  });
6503
- } else if (part.type === "file") {
6520
+ } else if (isFileUIPart(part)) {
6504
6521
  content.push({
6505
6522
  type: "file",
6506
6523
  mediaType: part.mediaType,
6507
6524
  filename: part.filename,
6508
6525
  data: part.url
6509
6526
  });
6510
- } else if (part.type === "reasoning") {
6527
+ } else if (isReasoningUIPart(part)) {
6511
6528
  content.push({
6512
6529
  type: "reasoning",
6513
6530
  text: part.text,
@@ -6544,6 +6561,14 @@ function convertToModelMessages(messages, options) {
6544
6561
  });
6545
6562
  }
6546
6563
  }
6564
+ } else if (isDataUIPart(part)) {
6565
+ const dataPart = (_c = options == null ? void 0 : options.convertDataPart) == null ? void 0 : _c.call(
6566
+ options,
6567
+ part
6568
+ );
6569
+ if (dataPart != null) {
6570
+ content.push(dataPart);
6571
+ }
6547
6572
  } else {
6548
6573
  const _exhaustiveCheck = part;
6549
6574
  throw new Error(`Unsupported part: ${_exhaustiveCheck}`);
@@ -6561,7 +6586,7 @@ function convertToModelMessages(messages, options) {
6561
6586
  role: "tool",
6562
6587
  content: toolParts.flatMap(
6563
6588
  (toolPart) => {
6564
- var _a18, _b2, _c;
6589
+ var _a18, _b2, _c2;
6565
6590
  const outputs = [];
6566
6591
  if (((_a18 = toolPart.approval) == null ? void 0 : _a18.approved) != null) {
6567
6592
  outputs.push({
@@ -6593,7 +6618,7 @@ function convertToModelMessages(messages, options) {
6593
6618
  toolName,
6594
6619
  output: createToolModelOutput({
6595
6620
  output: toolPart.state === "output-error" ? toolPart.errorText : toolPart.output,
6596
- tool: (_c = options == null ? void 0 : options.tools) == null ? void 0 : _c[toolName],
6621
+ tool: (_c2 = options == null ? void 0 : options.tools) == null ? void 0 : _c2[toolName],
6597
6622
  errorMode: toolPart.state === "output-error" ? "text" : "none"
6598
6623
  })
6599
6624
  });
@@ -6610,7 +6635,7 @@ function convertToModelMessages(messages, options) {
6610
6635
  var processBlock = processBlock2;
6611
6636
  let block = [];
6612
6637
  for (const part of message.parts) {
6613
- if (part.type === "text" || part.type === "reasoning" || part.type === "file" || isToolOrDynamicToolUIPart(part)) {
6638
+ if (isTextUIPart(part) || isReasoningUIPart(part) || isFileUIPart(part) || isToolOrDynamicToolUIPart(part) || isDataUIPart(part)) {
6614
6639
  block.push(part);
6615
6640
  } else if (part.type === "step-start") {
6616
6641
  processBlock2();
@@ -11300,6 +11325,9 @@ export {
11300
11325
  hasToolCall,
11301
11326
  isDataUIPart,
11302
11327
  isDeepEqualData,
11328
+ isFileUIPart,
11329
+ isReasoningUIPart,
11330
+ isTextUIPart,
11303
11331
  isToolOrDynamicToolUIPart,
11304
11332
  isToolUIPart,
11305
11333
  jsonSchema2 as jsonSchema,