@ai-sdk/anthropic 3.0.127 → 3.0.129

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.
@@ -2004,7 +2004,12 @@ async function prepareTools({
2004
2004
  betas
2005
2005
  };
2006
2006
  case "none":
2007
- return { tools: void 0, toolChoice: void 0, toolWarnings, betas };
2007
+ return {
2008
+ tools: anthropicTools2,
2009
+ toolChoice: { type: "none" },
2010
+ toolWarnings,
2011
+ betas
2012
+ };
2008
2013
  case "tool":
2009
2014
  if (rejectsForcedToolUse) {
2010
2015
  toolWarnings.push({
@@ -2479,7 +2484,7 @@ async function convertToAnthropicMessagesPrompt({
2479
2484
  toolNameMapping,
2480
2485
  toolsetNames = {}
2481
2486
  }) {
2482
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
2487
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v;
2483
2488
  const betas = /* @__PURE__ */ new Set();
2484
2489
  const blocks = groupIntoBlocks(prompt);
2485
2490
  const validator = cacheControlValidator || new CacheControlValidator();
@@ -3291,6 +3296,18 @@ async function convertToAnthropicMessagesPrompt({
3291
3296
  }
3292
3297
  if (providerToolName === "tool_search_tool_regex" || providerToolName === "tool_search_tool_bm25") {
3293
3298
  const output = part.output;
3299
+ if (output.type === "error-json" || output.type === "json" && output.value != null && typeof output.value === "object" && !Array.isArray(output.value) && "type" in output.value && output.value.type === "tool_search_tool_result_error") {
3300
+ anthropicContent.push({
3301
+ type: "tool_search_tool_result",
3302
+ tool_use_id: part.toolCallId,
3303
+ content: {
3304
+ type: "tool_search_tool_result_error",
3305
+ error_code: (_v = (await extractErrorValue(output.value)).errorCode) != null ? _v : "unavailable"
3306
+ },
3307
+ cache_control: cacheControl
3308
+ });
3309
+ break;
3310
+ }
3294
3311
  if (output.type !== "json") {
3295
3312
  warnings.push({
3296
3313
  type: "other",
@@ -3862,6 +3879,7 @@ var AnthropicMessagesLanguageModel = class {
3862
3879
  rejectsSamplingParameters,
3863
3880
  rejectsThinkingDisabledAboveHighEffort,
3864
3881
  rejectsThinkingDisabled,
3882
+ rejectsBudgetThinking,
3865
3883
  rejectsForcedToolUse,
3866
3884
  supportsBetweenToolsThinking,
3867
3885
  isKnownModel
@@ -3979,15 +3997,16 @@ var AnthropicMessagesLanguageModel = class {
3979
3997
  details: `thinking cannot be disabled for ${this.modelId}; it always uses adaptive thinking. The thinking setting has been removed. Lower 'effort' to reduce thinking.`
3980
3998
  });
3981
3999
  anthropicOptions.thinking = void 0;
3982
- } else if (requestedType === "enabled") {
3983
- warnings.push({
3984
- type: "unsupported",
3985
- feature: "providerOptions.anthropic.thinking",
3986
- 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.`
3987
- });
3988
- anthropicOptions.thinking = { type: "adaptive" };
3989
4000
  }
3990
4001
  }
4002
+ if (rejectsBudgetThinking && (anthropicOptions == null ? void 0 : anthropicOptions.thinking) != null && "type" in anthropicOptions.thinking && anthropicOptions.thinking.type === "enabled") {
4003
+ warnings.push({
4004
+ type: "unsupported",
4005
+ feature: "providerOptions.anthropic.thinking",
4006
+ 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.`
4007
+ });
4008
+ anthropicOptions.thinking = { type: "adaptive" };
4009
+ }
3991
4010
  const thinking = anthropicOptions == null ? void 0 : anthropicOptions.thinking;
3992
4011
  const thinkingType = thinking != null && "type" in thinking ? thinking.type : void 0;
3993
4012
  if (rejectsThinkingDisabledAboveHighEffort && thinkingType === "disabled" && (anthropicOptions.effort === "xhigh" || anthropicOptions.effort === "max")) {
@@ -5866,6 +5885,7 @@ function getModelCapabilities(modelId) {
5866
5885
  rejectsSamplingParameters: true,
5867
5886
  rejectsThinkingDisabledAboveHighEffort: true,
5868
5887
  rejectsThinkingDisabled: true,
5888
+ rejectsBudgetThinking: true,
5869
5889
  rejectsForcedToolUse: true,
5870
5890
  supportsBetweenToolsThinking: true,
5871
5891
  isKnownModel: true
@@ -5877,10 +5897,23 @@ function getModelCapabilities(modelId) {
5877
5897
  rejectsSamplingParameters: true,
5878
5898
  rejectsThinkingDisabledAboveHighEffort: true,
5879
5899
  rejectsThinkingDisabled: true,
5900
+ rejectsBudgetThinking: true,
5880
5901
  rejectsForcedToolUse: true,
5881
5902
  supportsBetweenToolsThinking: false,
5882
5903
  isKnownModel: true
5883
5904
  };
5905
+ } else if (modelId.includes("claude-haiku-5-5")) {
5906
+ return {
5907
+ maxOutputTokens: 128e3,
5908
+ supportsStructuredOutput: true,
5909
+ rejectsSamplingParameters: true,
5910
+ rejectsThinkingDisabledAboveHighEffort: true,
5911
+ rejectsThinkingDisabled: false,
5912
+ rejectsBudgetThinking: true,
5913
+ rejectsForcedToolUse: false,
5914
+ supportsBetweenToolsThinking: false,
5915
+ isKnownModel: true
5916
+ };
5884
5917
  } else if (modelId.includes("claude-opus-5")) {
5885
5918
  return {
5886
5919
  maxOutputTokens: 128e3,
@@ -5888,6 +5921,7 @@ function getModelCapabilities(modelId) {
5888
5921
  rejectsSamplingParameters: true,
5889
5922
  rejectsThinkingDisabledAboveHighEffort: true,
5890
5923
  rejectsThinkingDisabled: false,
5924
+ rejectsBudgetThinking: false,
5891
5925
  rejectsForcedToolUse: false,
5892
5926
  supportsBetweenToolsThinking: false,
5893
5927
  isKnownModel: true
@@ -5899,6 +5933,7 @@ function getModelCapabilities(modelId) {
5899
5933
  rejectsSamplingParameters: true,
5900
5934
  rejectsThinkingDisabledAboveHighEffort: false,
5901
5935
  rejectsThinkingDisabled: true,
5936
+ rejectsBudgetThinking: true,
5902
5937
  rejectsForcedToolUse: true,
5903
5938
  supportsBetweenToolsThinking: false,
5904
5939
  isKnownModel: true
@@ -5910,6 +5945,7 @@ function getModelCapabilities(modelId) {
5910
5945
  rejectsSamplingParameters: true,
5911
5946
  rejectsThinkingDisabledAboveHighEffort: false,
5912
5947
  rejectsThinkingDisabled: true,
5948
+ rejectsBudgetThinking: true,
5913
5949
  rejectsForcedToolUse: false,
5914
5950
  supportsBetweenToolsThinking: false,
5915
5951
  isKnownModel: true
@@ -5921,6 +5957,7 @@ function getModelCapabilities(modelId) {
5921
5957
  rejectsSamplingParameters: true,
5922
5958
  rejectsThinkingDisabledAboveHighEffort: false,
5923
5959
  rejectsThinkingDisabled: false,
5960
+ rejectsBudgetThinking: false,
5924
5961
  rejectsForcedToolUse: false,
5925
5962
  supportsBetweenToolsThinking: false,
5926
5963
  isKnownModel: true
@@ -5932,6 +5969,7 @@ function getModelCapabilities(modelId) {
5932
5969
  rejectsSamplingParameters: false,
5933
5970
  rejectsThinkingDisabledAboveHighEffort: false,
5934
5971
  rejectsThinkingDisabled: false,
5972
+ rejectsBudgetThinking: false,
5935
5973
  rejectsForcedToolUse: false,
5936
5974
  supportsBetweenToolsThinking: false,
5937
5975
  isKnownModel: true
@@ -5943,6 +5981,7 @@ function getModelCapabilities(modelId) {
5943
5981
  rejectsSamplingParameters: false,
5944
5982
  rejectsThinkingDisabledAboveHighEffort: false,
5945
5983
  rejectsThinkingDisabled: false,
5984
+ rejectsBudgetThinking: false,
5946
5985
  rejectsForcedToolUse: false,
5947
5986
  supportsBetweenToolsThinking: false,
5948
5987
  isKnownModel: true
@@ -5954,6 +5993,7 @@ function getModelCapabilities(modelId) {
5954
5993
  rejectsSamplingParameters: false,
5955
5994
  rejectsThinkingDisabledAboveHighEffort: false,
5956
5995
  rejectsThinkingDisabled: false,
5996
+ rejectsBudgetThinking: false,
5957
5997
  rejectsForcedToolUse: false,
5958
5998
  supportsBetweenToolsThinking: false,
5959
5999
  isKnownModel: true
@@ -5965,6 +6005,7 @@ function getModelCapabilities(modelId) {
5965
6005
  rejectsSamplingParameters: false,
5966
6006
  rejectsThinkingDisabledAboveHighEffort: false,
5967
6007
  rejectsThinkingDisabled: false,
6008
+ rejectsBudgetThinking: false,
5968
6009
  rejectsForcedToolUse: false,
5969
6010
  supportsBetweenToolsThinking: false,
5970
6011
  isKnownModel: true
@@ -5976,6 +6017,7 @@ function getModelCapabilities(modelId) {
5976
6017
  rejectsSamplingParameters: false,
5977
6018
  rejectsThinkingDisabledAboveHighEffort: false,
5978
6019
  rejectsThinkingDisabled: false,
6020
+ rejectsBudgetThinking: false,
5979
6021
  rejectsForcedToolUse: false,
5980
6022
  supportsBetweenToolsThinking: false,
5981
6023
  isKnownModel: true
@@ -5987,6 +6029,7 @@ function getModelCapabilities(modelId) {
5987
6029
  rejectsSamplingParameters: false,
5988
6030
  rejectsThinkingDisabledAboveHighEffort: false,
5989
6031
  rejectsThinkingDisabled: false,
6032
+ rejectsBudgetThinking: false,
5990
6033
  rejectsForcedToolUse: false,
5991
6034
  supportsBetweenToolsThinking: false,
5992
6035
  isKnownModel: true
@@ -5998,6 +6041,7 @@ function getModelCapabilities(modelId) {
5998
6041
  rejectsSamplingParameters: false,
5999
6042
  rejectsThinkingDisabledAboveHighEffort: false,
6000
6043
  rejectsThinkingDisabled: false,
6044
+ rejectsBudgetThinking: false,
6001
6045
  rejectsForcedToolUse: false,
6002
6046
  supportsBetweenToolsThinking: false,
6003
6047
  isKnownModel: false
@@ -6009,6 +6053,7 @@ function getModelCapabilities(modelId) {
6009
6053
  rejectsSamplingParameters: true,
6010
6054
  rejectsThinkingDisabledAboveHighEffort: true,
6011
6055
  rejectsThinkingDisabled: false,
6056
+ rejectsBudgetThinking: false,
6012
6057
  rejectsForcedToolUse: false,
6013
6058
  supportsBetweenToolsThinking: false,
6014
6059
  isKnownModel: false
@@ -6020,6 +6065,7 @@ function getModelCapabilities(modelId) {
6020
6065
  rejectsSamplingParameters: false,
6021
6066
  rejectsThinkingDisabledAboveHighEffort: false,
6022
6067
  rejectsThinkingDisabled: false,
6068
+ rejectsBudgetThinking: false,
6023
6069
  rejectsForcedToolUse: false,
6024
6070
  supportsBetweenToolsThinking: false,
6025
6071
  isKnownModel: false