@ai-sdk/anthropic 3.0.105 → 3.0.107
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/CHANGELOG.md +13 -0
- package/dist/index.js +25 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +27 -2
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +24 -0
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +26 -1
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/anthropic-messages-language-model.ts +32 -0
package/dist/internal/index.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// src/anthropic-messages-language-model.ts
|
|
2
2
|
import {
|
|
3
|
-
APICallError
|
|
3
|
+
APICallError,
|
|
4
|
+
InvalidResponseDataError
|
|
4
5
|
} from "@ai-sdk/provider";
|
|
5
6
|
import {
|
|
6
7
|
combineHeaders,
|
|
@@ -4501,6 +4502,9 @@ var AnthropicMessagesLanguageModel = class {
|
|
|
4501
4502
|
let stopDetails = void 0;
|
|
4502
4503
|
let container = null;
|
|
4503
4504
|
let isJsonResponseFromTool = false;
|
|
4505
|
+
let isMessageOpen = false;
|
|
4506
|
+
let activeMessageId;
|
|
4507
|
+
let hasInvalidMessageSequence = false;
|
|
4504
4508
|
let blockType = void 0;
|
|
4505
4509
|
const generateId2 = this.generateId;
|
|
4506
4510
|
const transformedStream = response.pipeThrough(
|
|
@@ -4510,6 +4514,9 @@ var AnthropicMessagesLanguageModel = class {
|
|
|
4510
4514
|
},
|
|
4511
4515
|
transform(chunk, controller) {
|
|
4512
4516
|
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
4517
|
+
if (hasInvalidMessageSequence) {
|
|
4518
|
+
return;
|
|
4519
|
+
}
|
|
4513
4520
|
if (options.includeRawChunks) {
|
|
4514
4521
|
controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
|
|
4515
4522
|
}
|
|
@@ -5130,6 +5137,22 @@ var AnthropicMessagesLanguageModel = class {
|
|
|
5130
5137
|
}
|
|
5131
5138
|
}
|
|
5132
5139
|
case "message_start": {
|
|
5140
|
+
if (isMessageOpen) {
|
|
5141
|
+
if (activeMessageId === value.message.id) {
|
|
5142
|
+
return;
|
|
5143
|
+
}
|
|
5144
|
+
hasInvalidMessageSequence = true;
|
|
5145
|
+
controller.enqueue({
|
|
5146
|
+
type: "error",
|
|
5147
|
+
error: new InvalidResponseDataError({
|
|
5148
|
+
data: value,
|
|
5149
|
+
message: `Received message_start for message ${JSON.stringify(value.message.id)} while message ${JSON.stringify(activeMessageId)} is still open.`
|
|
5150
|
+
})
|
|
5151
|
+
});
|
|
5152
|
+
return;
|
|
5153
|
+
}
|
|
5154
|
+
isMessageOpen = true;
|
|
5155
|
+
activeMessageId = value.message.id;
|
|
5133
5156
|
usage.input_tokens = value.message.usage.input_tokens;
|
|
5134
5157
|
usage.cache_read_input_tokens = (_e = value.message.usage.cache_read_input_tokens) != null ? _e : 0;
|
|
5135
5158
|
usage.cache_creation_input_tokens = (_f = value.message.usage.cache_creation_input_tokens) != null ? _f : 0;
|
|
@@ -5248,6 +5271,8 @@ var AnthropicMessagesLanguageModel = class {
|
|
|
5248
5271
|
return;
|
|
5249
5272
|
}
|
|
5250
5273
|
case "message_stop": {
|
|
5274
|
+
isMessageOpen = false;
|
|
5275
|
+
activeMessageId = void 0;
|
|
5251
5276
|
const anthropicMetadata = {
|
|
5252
5277
|
usage: rawUsage != null ? rawUsage : null,
|
|
5253
5278
|
cacheCreationInputTokens,
|