@ai-sdk/anthropic 4.0.70 → 4.0.72
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 +18 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -14
- package/dist/index.js.map +1 -1
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +19 -10
- package/dist/internal/index.js.map +1 -1
- package/docs/05-anthropic.mdx +39 -11
- package/package.json +3 -3
- package/src/anthropic-language-model.ts +12 -0
- package/src/anthropic-provider.ts +13 -7
- package/src/convert-to-anthropic-prompt.ts +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @ai-sdk/anthropic
|
|
2
2
|
|
|
3
|
+
## 4.0.72
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2959d35: feat: rename `evaluate` to `decide`
|
|
8
|
+
- b5dfea1: feat(anthropic): expose message-start usage through custom stream parts
|
|
9
|
+
- 686cca9: fix(anthropic): add the required beta when replaying server-side fallback blocks
|
|
10
|
+
- Updated dependencies [2959d35]
|
|
11
|
+
- Updated dependencies [59116e6]
|
|
12
|
+
- @ai-sdk/provider@4.0.22
|
|
13
|
+
- @ai-sdk/provider-utils@5.0.54
|
|
14
|
+
|
|
15
|
+
## 4.0.71
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- c35458e: fix(anthropic): preserve invalid toolset calls
|
|
20
|
+
|
|
3
21
|
## 4.0.70
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Experimental_BatchV4,
|
|
1
|
+
import { Experimental_BatchV4, Experimental_DecisionModelV4, FilesV4, JSONObject, LanguageModelV4, ProviderV4, SkillsV4 } from "@ai-sdk/provider";
|
|
2
2
|
import { Experimental_SandboxSession, FetchFunction, ProviderDefinedTool, Tool, ToolExecuteFunction } from "@ai-sdk/provider-utils";
|
|
3
3
|
import { z } from "zod/v4";
|
|
4
4
|
//#region src/anthropic-api.d.ts
|
|
@@ -1460,8 +1460,12 @@ interface AnthropicProvider extends ProviderV4 {
|
|
|
1460
1460
|
languageModel(modelId: AnthropicModelId): LanguageModelV4;
|
|
1461
1461
|
chat(modelId: AnthropicModelId): LanguageModelV4;
|
|
1462
1462
|
messages(modelId: AnthropicModelId): LanguageModelV4;
|
|
1463
|
-
/** Creates an experimental Choice/Score/Boolean
|
|
1464
|
-
|
|
1463
|
+
/** Creates an experimental Choice/Score/Boolean decision model using Messages. */
|
|
1464
|
+
decisionModel(modelId: AnthropicModelId): Experimental_DecisionModelV4;
|
|
1465
|
+
/** @deprecated Use `decisionModel` instead. */
|
|
1466
|
+
evaluationModel(modelId: AnthropicModelId): Experimental_DecisionModelV4 & {
|
|
1467
|
+
doEvaluate: Experimental_DecisionModelV4['doDecide'];
|
|
1468
|
+
};
|
|
1465
1469
|
experimental_batch(): Experimental_BatchV4<{
|
|
1466
1470
|
text: AnthropicModelId;
|
|
1467
1471
|
}>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["SandboxSession","SandboxSession","_$__tool_computer_toolset_202608010.ComputerToolset_20260801Member","
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["SandboxSession","SandboxSession","_$__tool_computer_toolset_202608010.ComputerToolset_20260801Member","DecisionModelV4","BatchV4"],"sources":["../src/anthropic-api.ts","../src/anthropic-message-metadata.ts","../src/anthropic-language-model-options.ts","../src/anthropic-prepare-tools.ts","../src/tool/computer-toolset_20260801.ts","../src/tool/bash_20241022.ts","../src/tool/bash_20250124.ts","../src/anthropic-tools.ts","../src/anthropic-provider.ts","../src/forward-anthropic-container-id-from-last-step.ts","../src/version.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { APICallError, InvalidArgumentError, InvalidResponseDataError, NoSuchModelError, UnsupportedFunctionalityError } from "@ai-sdk/provider";
|
|
2
2
|
import { WORKFLOW_DESERIALIZE, WORKFLOW_SERIALIZE, combineHeaders, convertAsyncIteratorToReadableStream, convertBase64ToUint8Array, convertInlineFileDataToUint8Array, convertToBase64, createEventSourceResponseHandler, createJsonErrorResponseHandler, createJsonLinesResponseHandler, createJsonResponseHandler, createProviderDefinedToolFactory, createProviderExecutedToolFactory, createProviderStreamError, createToolNameMapping, experimental_toolCaller, generateId, getFromApi, getTopLevelMediaType, isCustomReasoning, isNonNullable, isProviderStreamError, isRecord, lazySchema, loadApiKey, loadOptionalSetting, mapReasoningToProviderBudget, mapReasoningToProviderEffort, normalizeBatchRequestCounts, normalizeHeaders, parseProviderOptions, postFormDataToApi, postJsonToApi, resolve, resolveFullMediaType, resolveProviderReference, safeValidateTypes, secureJsonParse, serializeModelOptions, validateBaseURL, validateTypes, withUserAgentSuffix, withoutTrailingSlash, zodSchema } from "@ai-sdk/provider-utils";
|
|
3
|
-
import {
|
|
3
|
+
import { Experimental_DecisionLanguageModel } from "@ai-sdk/provider-utils/experimental-decision";
|
|
4
4
|
import { z } from "zod/v4";
|
|
5
5
|
//#region src/anthropic-error.ts
|
|
6
6
|
const anthropicErrorDataSchema = lazySchema(() => zodSchema(z.object({
|
|
@@ -2689,6 +2689,7 @@ async function convertToAnthropicPrompt({ prompt, sendReasoning, warnings, cache
|
|
|
2689
2689
|
});
|
|
2690
2690
|
break;
|
|
2691
2691
|
}
|
|
2692
|
+
betas.add("server-side-fallback-2026-06-01");
|
|
2692
2693
|
anthropicContent.push({
|
|
2693
2694
|
type: "fallback",
|
|
2694
2695
|
from: fallbackMetadata.value.from,
|
|
@@ -2774,20 +2775,19 @@ async function convertToAnthropicPrompt({ prompt, sendReasoning, warnings, cache
|
|
|
2774
2775
|
toolsetNames
|
|
2775
2776
|
});
|
|
2776
2777
|
if (toolsetName != null) {
|
|
2777
|
-
const
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
}
|
|
2783
|
-
|
|
2784
|
-
}
|
|
2778
|
+
const rawInput = toAnthropicToolInput(part.input);
|
|
2779
|
+
const { action } = rawInput;
|
|
2780
|
+
const hasAction = typeof action === "string";
|
|
2781
|
+
if (!hasAction) warnings.push({
|
|
2782
|
+
type: "other",
|
|
2783
|
+
message: `toolset tool call for tool ${part.toolName} is missing the action`
|
|
2784
|
+
});
|
|
2785
2785
|
anthropicContent.push({
|
|
2786
2786
|
type: "tool_use",
|
|
2787
2787
|
id: part.toolCallId,
|
|
2788
|
-
name: action,
|
|
2788
|
+
name: hasAction ? action : toolsetName,
|
|
2789
2789
|
toolset_name: toolsetName,
|
|
2790
|
-
input:
|
|
2790
|
+
input: rawInput,
|
|
2791
2791
|
...caller && { caller },
|
|
2792
2792
|
cache_control: cacheControl
|
|
2793
2793
|
});
|
|
@@ -5006,6 +5006,15 @@ var AnthropicLanguageModel = class AnthropicLanguageModel {
|
|
|
5006
5006
|
id: value.message.id ?? void 0,
|
|
5007
5007
|
modelId: value.message.model ?? void 0
|
|
5008
5008
|
});
|
|
5009
|
+
controller.enqueue({
|
|
5010
|
+
type: "custom",
|
|
5011
|
+
kind: "anthropic.message_start",
|
|
5012
|
+
providerMetadata: { anthropic: {
|
|
5013
|
+
id: value.message.id ?? null,
|
|
5014
|
+
model: value.message.model ?? null,
|
|
5015
|
+
usage: rawUsage
|
|
5016
|
+
} }
|
|
5017
|
+
});
|
|
5009
5018
|
if (value.message.content != null) for (let contentIndex = 0; contentIndex < value.message.content.length; contentIndex++) {
|
|
5010
5019
|
const part = value.message.content[contentIndex];
|
|
5011
5020
|
if (part.type === "tool_use") {
|
|
@@ -6830,7 +6839,7 @@ var AnthropicSkills = class {
|
|
|
6830
6839
|
};
|
|
6831
6840
|
//#endregion
|
|
6832
6841
|
//#region src/version.ts
|
|
6833
|
-
const VERSION = "4.0.
|
|
6842
|
+
const VERSION = "4.0.72";
|
|
6834
6843
|
//#endregion
|
|
6835
6844
|
//#region src/anthropic-provider.ts
|
|
6836
6845
|
const ANTHROPIC_API_URL = "https://api.anthropic.com";
|
|
@@ -6896,10 +6905,11 @@ function createAnthropic(options = {}) {
|
|
|
6896
6905
|
provider.languageModel = createChatModel;
|
|
6897
6906
|
provider.chat = createChatModel;
|
|
6898
6907
|
provider.messages = createChatModel;
|
|
6899
|
-
provider.
|
|
6908
|
+
provider.decisionModel = (modelId) => new Experimental_DecisionLanguageModel({
|
|
6900
6909
|
model: createChatModel(modelId),
|
|
6901
|
-
provider: `${providerName.replace(/\.messages$/, "")}.
|
|
6910
|
+
provider: `${providerName.replace(/\.messages$/, "")}.decision`
|
|
6902
6911
|
});
|
|
6912
|
+
provider.evaluationModel = provider.decisionModel;
|
|
6903
6913
|
provider.experimental_batch = createBatch;
|
|
6904
6914
|
provider.embeddingModel = (modelId) => {
|
|
6905
6915
|
throw new NoSuchModelError({
|