@ai-sdk/anthropic 3.0.105 → 3.0.108

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.
@@ -4460,6 +4460,9 @@ var AnthropicMessagesLanguageModel = class {
4460
4460
  let stopDetails = void 0;
4461
4461
  let container = null;
4462
4462
  let isJsonResponseFromTool = false;
4463
+ let isMessageOpen = false;
4464
+ let activeMessageId;
4465
+ let hasInvalidMessageSequence = false;
4463
4466
  let blockType = void 0;
4464
4467
  const generateId2 = this.generateId;
4465
4468
  const transformedStream = response.pipeThrough(
@@ -4469,6 +4472,9 @@ var AnthropicMessagesLanguageModel = class {
4469
4472
  },
4470
4473
  transform(chunk, controller) {
4471
4474
  var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
4475
+ if (hasInvalidMessageSequence) {
4476
+ return;
4477
+ }
4472
4478
  if (options.includeRawChunks) {
4473
4479
  controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
4474
4480
  }
@@ -5089,6 +5095,22 @@ var AnthropicMessagesLanguageModel = class {
5089
5095
  }
5090
5096
  }
5091
5097
  case "message_start": {
5098
+ if (isMessageOpen) {
5099
+ if (activeMessageId === value.message.id) {
5100
+ return;
5101
+ }
5102
+ hasInvalidMessageSequence = true;
5103
+ controller.enqueue({
5104
+ type: "error",
5105
+ error: new import_provider3.InvalidResponseDataError({
5106
+ data: value,
5107
+ message: `Received message_start for message ${JSON.stringify(value.message.id)} while message ${JSON.stringify(activeMessageId)} is still open.`
5108
+ })
5109
+ });
5110
+ return;
5111
+ }
5112
+ isMessageOpen = true;
5113
+ activeMessageId = value.message.id;
5092
5114
  usage.input_tokens = value.message.usage.input_tokens;
5093
5115
  usage.cache_read_input_tokens = (_e = value.message.usage.cache_read_input_tokens) != null ? _e : 0;
5094
5116
  usage.cache_creation_input_tokens = (_f = value.message.usage.cache_creation_input_tokens) != null ? _f : 0;
@@ -5207,6 +5229,8 @@ var AnthropicMessagesLanguageModel = class {
5207
5229
  return;
5208
5230
  }
5209
5231
  case "message_stop": {
5232
+ isMessageOpen = false;
5233
+ activeMessageId = void 0;
5210
5234
  const anthropicMetadata = {
5211
5235
  usage: rawUsage != null ? rawUsage : null,
5212
5236
  cacheCreationInputTokens,