@ai-sdk/anthropic 2.0.93 → 2.0.95

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.
@@ -3091,6 +3091,9 @@ var AnthropicMessagesLanguageModel = class {
3091
3091
  let container = null;
3092
3092
  let iterations = null;
3093
3093
  let contextManagement = null;
3094
+ let isMessageOpen = false;
3095
+ let activeMessageId;
3096
+ let hasInvalidMessageSequence = false;
3094
3097
  let blockType = void 0;
3095
3098
  const generateId2 = this.generateId;
3096
3099
  const transformedStream = response.pipeThrough(
@@ -3100,6 +3103,9 @@ var AnthropicMessagesLanguageModel = class {
3100
3103
  },
3101
3104
  transform(chunk, controller) {
3102
3105
  var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k;
3106
+ if (hasInvalidMessageSequence) {
3107
+ return;
3108
+ }
3103
3109
  if (options.includeRawChunks) {
3104
3110
  controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
3105
3111
  }
@@ -3503,6 +3509,22 @@ var AnthropicMessagesLanguageModel = class {
3503
3509
  }
3504
3510
  }
3505
3511
  case "message_start": {
3512
+ if (isMessageOpen) {
3513
+ if (activeMessageId === value.message.id) {
3514
+ return;
3515
+ }
3516
+ hasInvalidMessageSequence = true;
3517
+ controller.enqueue({
3518
+ type: "error",
3519
+ error: new import_provider3.InvalidResponseDataError({
3520
+ data: value,
3521
+ message: `Received message_start for message ${JSON.stringify(value.message.id)} while message ${JSON.stringify(activeMessageId)} is still open.`
3522
+ })
3523
+ });
3524
+ return;
3525
+ }
3526
+ isMessageOpen = true;
3527
+ activeMessageId = value.message.id;
3506
3528
  usage.inputTokens = value.message.usage.input_tokens;
3507
3529
  usage.cachedInputTokens = (_b2 = value.message.usage.cache_read_input_tokens) != null ? _b2 : void 0;
3508
3530
  rawUsage = {
@@ -3595,6 +3617,8 @@ var AnthropicMessagesLanguageModel = class {
3595
3617
  return;
3596
3618
  }
3597
3619
  case "message_stop": {
3620
+ isMessageOpen = false;
3621
+ activeMessageId = void 0;
3598
3622
  controller.enqueue({
3599
3623
  type: "finish",
3600
3624
  finishReason,