@ai-sdk/anthropic 3.0.127 → 3.0.128
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 +11 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +37 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +37 -8
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +6 -1
- package/dist/internal/index.d.ts +6 -1
- package/dist/internal/index.js +36 -7
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +36 -7
- package/dist/internal/index.mjs.map +1 -1
- package/docs/05-anthropic.mdx +14 -2
- package/package.json +1 -1
- package/src/anthropic-messages-language-model.ts +58 -12
- package/src/anthropic-messages-options.ts +1 -0
|
@@ -2,7 +2,7 @@ import { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3GenerateRes
|
|
|
2
2
|
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
3
3
|
import { Resolvable, FetchFunction } from '@ai-sdk/provider-utils';
|
|
4
4
|
|
|
5
|
-
type AnthropicMessagesModelId = 'claude-3-haiku-20240307' | 'claude-haiku-4-5-20251001' | 'claude-haiku-4-5' | 'claude-opus-4-0' | 'claude-opus-4-20250514' | 'claude-opus-4-1-20250805' | 'claude-opus-4-1' | 'claude-opus-4-5' | 'claude-opus-4-5-20251101' | 'claude-sonnet-4-0' | 'claude-sonnet-4-20250514' | 'claude-sonnet-4-5-20250929' | 'claude-sonnet-4-5' | 'claude-sonnet-4-6' | 'claude-opus-4-6' | 'claude-opus-4-7' | 'claude-opus-4-8' | 'claude-opus-5' | 'claude-opus-5-5' | 'claude-fable-5' | 'claude-fable-5-1' | 'claude-sonnet-5' | 'claude-sonnet-5-5' | (string & {});
|
|
5
|
+
type AnthropicMessagesModelId = 'claude-3-haiku-20240307' | 'claude-haiku-4-5-20251001' | 'claude-haiku-4-5' | 'claude-haiku-5-5' | 'claude-opus-4-0' | 'claude-opus-4-20250514' | 'claude-opus-4-1-20250805' | 'claude-opus-4-1' | 'claude-opus-4-5' | 'claude-opus-4-5-20251101' | 'claude-sonnet-4-0' | 'claude-sonnet-4-20250514' | 'claude-sonnet-4-5-20250929' | 'claude-sonnet-4-5' | 'claude-sonnet-4-6' | 'claude-opus-4-6' | 'claude-opus-4-7' | 'claude-opus-4-8' | 'claude-opus-5' | 'claude-opus-5-5' | 'claude-fable-5' | 'claude-fable-5-1' | 'claude-sonnet-5' | 'claude-sonnet-5-5' | (string & {});
|
|
6
6
|
|
|
7
7
|
type AnthropicMessagesConfig = {
|
|
8
8
|
provider: string;
|
|
@@ -62,6 +62,11 @@ declare function getModelCapabilities(modelId: string): {
|
|
|
62
62
|
* are rejected with a 400.
|
|
63
63
|
*/
|
|
64
64
|
rejectsThinkingDisabled: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Budget-based thinking (`thinking.type` `enabled` with `budget_tokens`) is
|
|
67
|
+
* rejected with a 400. Only adaptive thinking is supported.
|
|
68
|
+
*/
|
|
69
|
+
rejectsBudgetThinking: boolean;
|
|
65
70
|
/**
|
|
66
71
|
* Forced tool use (`tool_choice` `any` or a named tool) is rejected with a 400.
|
|
67
72
|
*/
|
package/dist/internal/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3GenerateRes
|
|
|
2
2
|
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
3
3
|
import { Resolvable, FetchFunction } from '@ai-sdk/provider-utils';
|
|
4
4
|
|
|
5
|
-
type AnthropicMessagesModelId = 'claude-3-haiku-20240307' | 'claude-haiku-4-5-20251001' | 'claude-haiku-4-5' | 'claude-opus-4-0' | 'claude-opus-4-20250514' | 'claude-opus-4-1-20250805' | 'claude-opus-4-1' | 'claude-opus-4-5' | 'claude-opus-4-5-20251101' | 'claude-sonnet-4-0' | 'claude-sonnet-4-20250514' | 'claude-sonnet-4-5-20250929' | 'claude-sonnet-4-5' | 'claude-sonnet-4-6' | 'claude-opus-4-6' | 'claude-opus-4-7' | 'claude-opus-4-8' | 'claude-opus-5' | 'claude-opus-5-5' | 'claude-fable-5' | 'claude-fable-5-1' | 'claude-sonnet-5' | 'claude-sonnet-5-5' | (string & {});
|
|
5
|
+
type AnthropicMessagesModelId = 'claude-3-haiku-20240307' | 'claude-haiku-4-5-20251001' | 'claude-haiku-4-5' | 'claude-haiku-5-5' | 'claude-opus-4-0' | 'claude-opus-4-20250514' | 'claude-opus-4-1-20250805' | 'claude-opus-4-1' | 'claude-opus-4-5' | 'claude-opus-4-5-20251101' | 'claude-sonnet-4-0' | 'claude-sonnet-4-20250514' | 'claude-sonnet-4-5-20250929' | 'claude-sonnet-4-5' | 'claude-sonnet-4-6' | 'claude-opus-4-6' | 'claude-opus-4-7' | 'claude-opus-4-8' | 'claude-opus-5' | 'claude-opus-5-5' | 'claude-fable-5' | 'claude-fable-5-1' | 'claude-sonnet-5' | 'claude-sonnet-5-5' | (string & {});
|
|
6
6
|
|
|
7
7
|
type AnthropicMessagesConfig = {
|
|
8
8
|
provider: string;
|
|
@@ -62,6 +62,11 @@ declare function getModelCapabilities(modelId: string): {
|
|
|
62
62
|
* are rejected with a 400.
|
|
63
63
|
*/
|
|
64
64
|
rejectsThinkingDisabled: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Budget-based thinking (`thinking.type` `enabled` with `budget_tokens`) is
|
|
67
|
+
* rejected with a 400. Only adaptive thinking is supported.
|
|
68
|
+
*/
|
|
69
|
+
rejectsBudgetThinking: boolean;
|
|
65
70
|
/**
|
|
66
71
|
* Forced tool use (`tool_choice` `any` or a named tool) is rejected with a 400.
|
|
67
72
|
*/
|
package/dist/internal/index.js
CHANGED
|
@@ -3816,6 +3816,7 @@ var AnthropicMessagesLanguageModel = class {
|
|
|
3816
3816
|
rejectsSamplingParameters,
|
|
3817
3817
|
rejectsThinkingDisabledAboveHighEffort,
|
|
3818
3818
|
rejectsThinkingDisabled,
|
|
3819
|
+
rejectsBudgetThinking,
|
|
3819
3820
|
rejectsForcedToolUse,
|
|
3820
3821
|
supportsBetweenToolsThinking,
|
|
3821
3822
|
isKnownModel
|
|
@@ -3933,15 +3934,16 @@ var AnthropicMessagesLanguageModel = class {
|
|
|
3933
3934
|
details: `thinking cannot be disabled for ${this.modelId}; it always uses adaptive thinking. The thinking setting has been removed. Lower 'effort' to reduce thinking.`
|
|
3934
3935
|
});
|
|
3935
3936
|
anthropicOptions.thinking = void 0;
|
|
3936
|
-
} else if (requestedType === "enabled") {
|
|
3937
|
-
warnings.push({
|
|
3938
|
-
type: "unsupported",
|
|
3939
|
-
feature: "providerOptions.anthropic.thinking",
|
|
3940
|
-
details: `budget-based thinking is not supported by ${this.modelId}; it always uses adaptive thinking. Using adaptive thinking instead. Use 'effort' to control how much the model thinks.`
|
|
3941
|
-
});
|
|
3942
|
-
anthropicOptions.thinking = { type: "adaptive" };
|
|
3943
3937
|
}
|
|
3944
3938
|
}
|
|
3939
|
+
if (rejectsBudgetThinking && (anthropicOptions == null ? void 0 : anthropicOptions.thinking) != null && "type" in anthropicOptions.thinking && anthropicOptions.thinking.type === "enabled") {
|
|
3940
|
+
warnings.push({
|
|
3941
|
+
type: "unsupported",
|
|
3942
|
+
feature: "providerOptions.anthropic.thinking",
|
|
3943
|
+
details: rejectsThinkingDisabled ? `budget-based thinking is not supported by ${this.modelId}; it always uses adaptive thinking. Using adaptive thinking instead. Use 'effort' to control how much the model thinks.` : `budget-based thinking is not supported by ${this.modelId}. Using adaptive thinking instead. Use 'effort' to control how much the model thinks.`
|
|
3944
|
+
});
|
|
3945
|
+
anthropicOptions.thinking = { type: "adaptive" };
|
|
3946
|
+
}
|
|
3945
3947
|
const thinking = anthropicOptions == null ? void 0 : anthropicOptions.thinking;
|
|
3946
3948
|
const thinkingType = thinking != null && "type" in thinking ? thinking.type : void 0;
|
|
3947
3949
|
if (rejectsThinkingDisabledAboveHighEffort && thinkingType === "disabled" && (anthropicOptions.effort === "xhigh" || anthropicOptions.effort === "max")) {
|
|
@@ -5820,6 +5822,7 @@ function getModelCapabilities(modelId) {
|
|
|
5820
5822
|
rejectsSamplingParameters: true,
|
|
5821
5823
|
rejectsThinkingDisabledAboveHighEffort: true,
|
|
5822
5824
|
rejectsThinkingDisabled: true,
|
|
5825
|
+
rejectsBudgetThinking: true,
|
|
5823
5826
|
rejectsForcedToolUse: true,
|
|
5824
5827
|
supportsBetweenToolsThinking: true,
|
|
5825
5828
|
isKnownModel: true
|
|
@@ -5831,10 +5834,23 @@ function getModelCapabilities(modelId) {
|
|
|
5831
5834
|
rejectsSamplingParameters: true,
|
|
5832
5835
|
rejectsThinkingDisabledAboveHighEffort: true,
|
|
5833
5836
|
rejectsThinkingDisabled: true,
|
|
5837
|
+
rejectsBudgetThinking: true,
|
|
5834
5838
|
rejectsForcedToolUse: true,
|
|
5835
5839
|
supportsBetweenToolsThinking: false,
|
|
5836
5840
|
isKnownModel: true
|
|
5837
5841
|
};
|
|
5842
|
+
} else if (modelId.includes("claude-haiku-5-5")) {
|
|
5843
|
+
return {
|
|
5844
|
+
maxOutputTokens: 128e3,
|
|
5845
|
+
supportsStructuredOutput: true,
|
|
5846
|
+
rejectsSamplingParameters: true,
|
|
5847
|
+
rejectsThinkingDisabledAboveHighEffort: true,
|
|
5848
|
+
rejectsThinkingDisabled: false,
|
|
5849
|
+
rejectsBudgetThinking: true,
|
|
5850
|
+
rejectsForcedToolUse: false,
|
|
5851
|
+
supportsBetweenToolsThinking: false,
|
|
5852
|
+
isKnownModel: true
|
|
5853
|
+
};
|
|
5838
5854
|
} else if (modelId.includes("claude-opus-5")) {
|
|
5839
5855
|
return {
|
|
5840
5856
|
maxOutputTokens: 128e3,
|
|
@@ -5842,6 +5858,7 @@ function getModelCapabilities(modelId) {
|
|
|
5842
5858
|
rejectsSamplingParameters: true,
|
|
5843
5859
|
rejectsThinkingDisabledAboveHighEffort: true,
|
|
5844
5860
|
rejectsThinkingDisabled: false,
|
|
5861
|
+
rejectsBudgetThinking: false,
|
|
5845
5862
|
rejectsForcedToolUse: false,
|
|
5846
5863
|
supportsBetweenToolsThinking: false,
|
|
5847
5864
|
isKnownModel: true
|
|
@@ -5853,6 +5870,7 @@ function getModelCapabilities(modelId) {
|
|
|
5853
5870
|
rejectsSamplingParameters: true,
|
|
5854
5871
|
rejectsThinkingDisabledAboveHighEffort: false,
|
|
5855
5872
|
rejectsThinkingDisabled: true,
|
|
5873
|
+
rejectsBudgetThinking: true,
|
|
5856
5874
|
rejectsForcedToolUse: true,
|
|
5857
5875
|
supportsBetweenToolsThinking: false,
|
|
5858
5876
|
isKnownModel: true
|
|
@@ -5864,6 +5882,7 @@ function getModelCapabilities(modelId) {
|
|
|
5864
5882
|
rejectsSamplingParameters: true,
|
|
5865
5883
|
rejectsThinkingDisabledAboveHighEffort: false,
|
|
5866
5884
|
rejectsThinkingDisabled: true,
|
|
5885
|
+
rejectsBudgetThinking: true,
|
|
5867
5886
|
rejectsForcedToolUse: false,
|
|
5868
5887
|
supportsBetweenToolsThinking: false,
|
|
5869
5888
|
isKnownModel: true
|
|
@@ -5875,6 +5894,7 @@ function getModelCapabilities(modelId) {
|
|
|
5875
5894
|
rejectsSamplingParameters: true,
|
|
5876
5895
|
rejectsThinkingDisabledAboveHighEffort: false,
|
|
5877
5896
|
rejectsThinkingDisabled: false,
|
|
5897
|
+
rejectsBudgetThinking: false,
|
|
5878
5898
|
rejectsForcedToolUse: false,
|
|
5879
5899
|
supportsBetweenToolsThinking: false,
|
|
5880
5900
|
isKnownModel: true
|
|
@@ -5886,6 +5906,7 @@ function getModelCapabilities(modelId) {
|
|
|
5886
5906
|
rejectsSamplingParameters: false,
|
|
5887
5907
|
rejectsThinkingDisabledAboveHighEffort: false,
|
|
5888
5908
|
rejectsThinkingDisabled: false,
|
|
5909
|
+
rejectsBudgetThinking: false,
|
|
5889
5910
|
rejectsForcedToolUse: false,
|
|
5890
5911
|
supportsBetweenToolsThinking: false,
|
|
5891
5912
|
isKnownModel: true
|
|
@@ -5897,6 +5918,7 @@ function getModelCapabilities(modelId) {
|
|
|
5897
5918
|
rejectsSamplingParameters: false,
|
|
5898
5919
|
rejectsThinkingDisabledAboveHighEffort: false,
|
|
5899
5920
|
rejectsThinkingDisabled: false,
|
|
5921
|
+
rejectsBudgetThinking: false,
|
|
5900
5922
|
rejectsForcedToolUse: false,
|
|
5901
5923
|
supportsBetweenToolsThinking: false,
|
|
5902
5924
|
isKnownModel: true
|
|
@@ -5908,6 +5930,7 @@ function getModelCapabilities(modelId) {
|
|
|
5908
5930
|
rejectsSamplingParameters: false,
|
|
5909
5931
|
rejectsThinkingDisabledAboveHighEffort: false,
|
|
5910
5932
|
rejectsThinkingDisabled: false,
|
|
5933
|
+
rejectsBudgetThinking: false,
|
|
5911
5934
|
rejectsForcedToolUse: false,
|
|
5912
5935
|
supportsBetweenToolsThinking: false,
|
|
5913
5936
|
isKnownModel: true
|
|
@@ -5919,6 +5942,7 @@ function getModelCapabilities(modelId) {
|
|
|
5919
5942
|
rejectsSamplingParameters: false,
|
|
5920
5943
|
rejectsThinkingDisabledAboveHighEffort: false,
|
|
5921
5944
|
rejectsThinkingDisabled: false,
|
|
5945
|
+
rejectsBudgetThinking: false,
|
|
5922
5946
|
rejectsForcedToolUse: false,
|
|
5923
5947
|
supportsBetweenToolsThinking: false,
|
|
5924
5948
|
isKnownModel: true
|
|
@@ -5930,6 +5954,7 @@ function getModelCapabilities(modelId) {
|
|
|
5930
5954
|
rejectsSamplingParameters: false,
|
|
5931
5955
|
rejectsThinkingDisabledAboveHighEffort: false,
|
|
5932
5956
|
rejectsThinkingDisabled: false,
|
|
5957
|
+
rejectsBudgetThinking: false,
|
|
5933
5958
|
rejectsForcedToolUse: false,
|
|
5934
5959
|
supportsBetweenToolsThinking: false,
|
|
5935
5960
|
isKnownModel: true
|
|
@@ -5941,6 +5966,7 @@ function getModelCapabilities(modelId) {
|
|
|
5941
5966
|
rejectsSamplingParameters: false,
|
|
5942
5967
|
rejectsThinkingDisabledAboveHighEffort: false,
|
|
5943
5968
|
rejectsThinkingDisabled: false,
|
|
5969
|
+
rejectsBudgetThinking: false,
|
|
5944
5970
|
rejectsForcedToolUse: false,
|
|
5945
5971
|
supportsBetweenToolsThinking: false,
|
|
5946
5972
|
isKnownModel: true
|
|
@@ -5952,6 +5978,7 @@ function getModelCapabilities(modelId) {
|
|
|
5952
5978
|
rejectsSamplingParameters: false,
|
|
5953
5979
|
rejectsThinkingDisabledAboveHighEffort: false,
|
|
5954
5980
|
rejectsThinkingDisabled: false,
|
|
5981
|
+
rejectsBudgetThinking: false,
|
|
5955
5982
|
rejectsForcedToolUse: false,
|
|
5956
5983
|
supportsBetweenToolsThinking: false,
|
|
5957
5984
|
isKnownModel: false
|
|
@@ -5963,6 +5990,7 @@ function getModelCapabilities(modelId) {
|
|
|
5963
5990
|
rejectsSamplingParameters: true,
|
|
5964
5991
|
rejectsThinkingDisabledAboveHighEffort: true,
|
|
5965
5992
|
rejectsThinkingDisabled: false,
|
|
5993
|
+
rejectsBudgetThinking: false,
|
|
5966
5994
|
rejectsForcedToolUse: false,
|
|
5967
5995
|
supportsBetweenToolsThinking: false,
|
|
5968
5996
|
isKnownModel: false
|
|
@@ -5974,6 +6002,7 @@ function getModelCapabilities(modelId) {
|
|
|
5974
6002
|
rejectsSamplingParameters: false,
|
|
5975
6003
|
rejectsThinkingDisabledAboveHighEffort: false,
|
|
5976
6004
|
rejectsThinkingDisabled: false,
|
|
6005
|
+
rejectsBudgetThinking: false,
|
|
5977
6006
|
rejectsForcedToolUse: false,
|
|
5978
6007
|
supportsBetweenToolsThinking: false,
|
|
5979
6008
|
isKnownModel: false
|