@ai-sdk/anthropic 4.0.71 → 4.0.73
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 +35 -0
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -6
- package/dist/index.js.map +1 -1
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +12 -1
- package/dist/internal/index.js.map +1 -1
- package/docs/05-anthropic.mdx +48 -11
- package/package.json +5 -5
- package/src/anthropic-batch.ts +2 -0
- package/src/anthropic-files.ts +3 -1
- package/src/anthropic-language-model.ts +13 -0
- package/src/anthropic-provider.ts +20 -7
- package/src/convert-to-anthropic-prompt.ts +1 -0
- package/src/skills/anthropic-skills.ts +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# @ai-sdk/anthropic
|
|
2
2
|
|
|
3
|
+
## 4.0.73
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- fc1e19e: fix: limit jsonl rows to 64mb during batch result downloads
|
|
8
|
+
- 268225c: feat(provider): add a portable `max` reasoning level with native provider mappings, compatibility coercions, and budget-based fallback support.
|
|
9
|
+
|
|
10
|
+
Compatibility notes:
|
|
11
|
+
|
|
12
|
+
- **TypeScript source compatibility:** Adding `max` widens `LanguageModelV4CallOptions['reasoning']` and the derived `ReasoningLevel` type. Third-party providers and consumers with exhaustive switches or `Record<ReasoningLevel, ...>` mappings must handle `max` before upgrading. Ordinary calls using existing reasoning levels remain accepted.
|
|
13
|
+
- **Amazon Bedrock:** Existing Nova 2 calls using portable `reasoning: 'xhigh'` now send `maxReasoningEffort: 'high'` instead of the unsupported `'max'`, and return a compatibility warning. Anthropic and OpenAI Bedrock effort mappings retain their existing `xhigh` behavior. Partial Bedrock reasoning configurations continue to preserve explicit values and derive missing fields; explicit effort/budget overrides and disabled thinking no longer emit warnings for portable mappings that are not sent.
|
|
14
|
+
- **Fireworks:** Existing portable `minimal` and `xhigh` calls keep their request mappings to `low` and `high`, respectively, and now return compatibility warnings in generation and streaming results. Portable `max` maps to `high` with the same warning behavior.
|
|
15
|
+
|
|
16
|
+
**Release classification:** This remains a patch changeset under the repository's explicit release policy, which uses patch releases for both fixes and features. The TypeScript source-compatibility caveat for exhaustive consumers is disclosed above. Maintainers can override this classification with a `major` label if they decide to align the provider-spec addition with a future AI SDK major release.
|
|
17
|
+
|
|
18
|
+
- 0af2f7c: chore: upgrade to TypeScript 6
|
|
19
|
+
- Updated dependencies [fc1e19e]
|
|
20
|
+
- Updated dependencies [5094ebd]
|
|
21
|
+
- Updated dependencies [268225c]
|
|
22
|
+
- Updated dependencies [0af2f7c]
|
|
23
|
+
- @ai-sdk/provider-utils@5.0.55
|
|
24
|
+
- @ai-sdk/provider@4.0.23
|
|
25
|
+
|
|
26
|
+
## 4.0.72
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- 2959d35: feat: rename `evaluate` to `decide`
|
|
31
|
+
- b5dfea1: feat(anthropic): expose message-start usage through custom stream parts
|
|
32
|
+
- 686cca9: fix(anthropic): add the required beta when replaying server-side fallback blocks
|
|
33
|
+
- Updated dependencies [2959d35]
|
|
34
|
+
- Updated dependencies [59116e6]
|
|
35
|
+
- @ai-sdk/provider@4.0.22
|
|
36
|
+
- @ai-sdk/provider-utils@5.0.54
|
|
37
|
+
|
|
3
38
|
## 4.0.71
|
|
4
39
|
|
|
5
40
|
### 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
|
}>;
|
|
@@ -1480,6 +1484,11 @@ interface AnthropicProvider extends ProviderV4 {
|
|
|
1480
1484
|
tools: typeof anthropicTools;
|
|
1481
1485
|
}
|
|
1482
1486
|
interface AnthropicProviderSettings {
|
|
1487
|
+
/** Settings for downloading JSON Lines batch results. */
|
|
1488
|
+
batchResultDownloads?: {
|
|
1489
|
+
/** Maximum UTF-8 bytes per row, excluding LF. Defaults to 64 MiB. */
|
|
1490
|
+
maxLineBytes?: number;
|
|
1491
|
+
};
|
|
1483
1492
|
/**
|
|
1484
1493
|
* Use a different URL prefix for API calls, e.g. to use proxy servers.
|
|
1485
1494
|
* The default prefix is `https://api.anthropic.com/v1`.
|
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,
|
|
@@ -5005,6 +5006,15 @@ var AnthropicLanguageModel = class AnthropicLanguageModel {
|
|
|
5005
5006
|
id: value.message.id ?? void 0,
|
|
5006
5007
|
modelId: value.message.model ?? void 0
|
|
5007
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
|
+
});
|
|
5008
5018
|
if (value.message.content != null) for (let contentIndex = 0; contentIndex < value.message.content.length; contentIndex++) {
|
|
5009
5019
|
const part = value.message.content[contentIndex];
|
|
5010
5020
|
if (part.type === "tool_use") {
|
|
@@ -5369,7 +5379,8 @@ function resolveAnthropicReasoningConfig({ reasoning, modelId, supportsAdaptiveT
|
|
|
5369
5379
|
low: "low",
|
|
5370
5380
|
medium: "medium",
|
|
5371
5381
|
high: "high",
|
|
5372
|
-
xhigh: supportsXhighEffort ? "xhigh" : "max"
|
|
5382
|
+
xhigh: supportsXhighEffort ? "xhigh" : "max",
|
|
5383
|
+
max: "max"
|
|
5373
5384
|
},
|
|
5374
5385
|
warnings
|
|
5375
5386
|
})
|
|
@@ -5629,7 +5640,7 @@ var AnthropicBatch = class {
|
|
|
5629
5640
|
trustedOrigin: this.options.config.baseURL,
|
|
5630
5641
|
headers: await this.getBatchHeaders(options.headers),
|
|
5631
5642
|
failedResponseHandler: anthropicFailedResponseHandler,
|
|
5632
|
-
successfulResponseHandler: createJsonLinesResponseHandler(anthropicBatchResultLineSchema),
|
|
5643
|
+
successfulResponseHandler: createJsonLinesResponseHandler(anthropicBatchResultLineSchema, { maxLineBytes: this.options.maxLineBytes }),
|
|
5633
5644
|
abortSignal: options.abortSignal,
|
|
5634
5645
|
fetch: this.options.config.fetch
|
|
5635
5646
|
});
|
|
@@ -6829,7 +6840,7 @@ var AnthropicSkills = class {
|
|
|
6829
6840
|
};
|
|
6830
6841
|
//#endregion
|
|
6831
6842
|
//#region src/version.ts
|
|
6832
|
-
const VERSION = "4.0.
|
|
6843
|
+
const VERSION = "4.0.73";
|
|
6833
6844
|
//#endregion
|
|
6834
6845
|
//#region src/anthropic-provider.ts
|
|
6835
6846
|
const ANTHROPIC_API_URL = "https://api.anthropic.com";
|
|
@@ -6878,6 +6889,7 @@ function createAnthropic(options = {}) {
|
|
|
6878
6889
|
const createChatModel = (modelId) => new AnthropicLanguageModel(modelId, languageModelConfig);
|
|
6879
6890
|
const createBatch = () => new AnthropicBatch({
|
|
6880
6891
|
provider: `${providerName.replace(/\.messages$/, "")}.batch`,
|
|
6892
|
+
maxLineBytes: options.batchResultDownloads?.maxLineBytes,
|
|
6881
6893
|
config: languageModelConfig,
|
|
6882
6894
|
supportedUrls
|
|
6883
6895
|
});
|
|
@@ -6895,10 +6907,11 @@ function createAnthropic(options = {}) {
|
|
|
6895
6907
|
provider.languageModel = createChatModel;
|
|
6896
6908
|
provider.chat = createChatModel;
|
|
6897
6909
|
provider.messages = createChatModel;
|
|
6898
|
-
provider.
|
|
6910
|
+
provider.decisionModel = (modelId) => new Experimental_DecisionLanguageModel({
|
|
6899
6911
|
model: createChatModel(modelId),
|
|
6900
|
-
provider: `${providerName.replace(/\.messages$/, "")}.
|
|
6912
|
+
provider: `${providerName.replace(/\.messages$/, "")}.decision`
|
|
6901
6913
|
});
|
|
6914
|
+
provider.evaluationModel = provider.decisionModel;
|
|
6902
6915
|
provider.experimental_batch = createBatch;
|
|
6903
6916
|
provider.embeddingModel = (modelId) => {
|
|
6904
6917
|
throw new NoSuchModelError({
|