@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.
- package/CHANGELOG.md +13 -0
- package/dist/index.js +25 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +26 -1
- 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 +25 -0
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @ai-sdk/anthropic
|
|
2
2
|
|
|
3
|
+
## 2.0.95
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [0e51b7b]
|
|
8
|
+
- @ai-sdk/provider-utils@3.0.32
|
|
9
|
+
|
|
10
|
+
## 2.0.94
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- e7afc18: Reject spliced Anthropic generations while allowing duplicate message start events for the active message.
|
|
15
|
+
|
|
3
16
|
## 2.0.93
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@ var import_provider4 = require("@ai-sdk/provider");
|
|
|
31
31
|
var import_provider_utils20 = require("@ai-sdk/provider-utils");
|
|
32
32
|
|
|
33
33
|
// src/version.ts
|
|
34
|
-
var VERSION = true ? "2.0.
|
|
34
|
+
var VERSION = true ? "2.0.95" : "0.0.0-test";
|
|
35
35
|
|
|
36
36
|
// src/anthropic-messages-language-model.ts
|
|
37
37
|
var import_provider3 = require("@ai-sdk/provider");
|
|
@@ -3097,6 +3097,9 @@ var AnthropicMessagesLanguageModel = class {
|
|
|
3097
3097
|
let container = null;
|
|
3098
3098
|
let iterations = null;
|
|
3099
3099
|
let contextManagement = null;
|
|
3100
|
+
let isMessageOpen = false;
|
|
3101
|
+
let activeMessageId;
|
|
3102
|
+
let hasInvalidMessageSequence = false;
|
|
3100
3103
|
let blockType = void 0;
|
|
3101
3104
|
const generateId3 = this.generateId;
|
|
3102
3105
|
const transformedStream = response.pipeThrough(
|
|
@@ -3106,6 +3109,9 @@ var AnthropicMessagesLanguageModel = class {
|
|
|
3106
3109
|
},
|
|
3107
3110
|
transform(chunk, controller) {
|
|
3108
3111
|
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
3112
|
+
if (hasInvalidMessageSequence) {
|
|
3113
|
+
return;
|
|
3114
|
+
}
|
|
3109
3115
|
if (options.includeRawChunks) {
|
|
3110
3116
|
controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
|
|
3111
3117
|
}
|
|
@@ -3509,6 +3515,22 @@ var AnthropicMessagesLanguageModel = class {
|
|
|
3509
3515
|
}
|
|
3510
3516
|
}
|
|
3511
3517
|
case "message_start": {
|
|
3518
|
+
if (isMessageOpen) {
|
|
3519
|
+
if (activeMessageId === value.message.id) {
|
|
3520
|
+
return;
|
|
3521
|
+
}
|
|
3522
|
+
hasInvalidMessageSequence = true;
|
|
3523
|
+
controller.enqueue({
|
|
3524
|
+
type: "error",
|
|
3525
|
+
error: new import_provider3.InvalidResponseDataError({
|
|
3526
|
+
data: value,
|
|
3527
|
+
message: `Received message_start for message ${JSON.stringify(value.message.id)} while message ${JSON.stringify(activeMessageId)} is still open.`
|
|
3528
|
+
})
|
|
3529
|
+
});
|
|
3530
|
+
return;
|
|
3531
|
+
}
|
|
3532
|
+
isMessageOpen = true;
|
|
3533
|
+
activeMessageId = value.message.id;
|
|
3512
3534
|
usage.inputTokens = value.message.usage.input_tokens;
|
|
3513
3535
|
usage.cachedInputTokens = (_b2 = value.message.usage.cache_read_input_tokens) != null ? _b2 : void 0;
|
|
3514
3536
|
rawUsage = {
|
|
@@ -3601,6 +3623,8 @@ var AnthropicMessagesLanguageModel = class {
|
|
|
3601
3623
|
return;
|
|
3602
3624
|
}
|
|
3603
3625
|
case "message_stop": {
|
|
3626
|
+
isMessageOpen = false;
|
|
3627
|
+
activeMessageId = void 0;
|
|
3604
3628
|
controller.enqueue({
|
|
3605
3629
|
type: "finish",
|
|
3606
3630
|
finishReason,
|