@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.
package/dist/index.mjs CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  } from "@ai-sdk/provider-utils";
13
13
 
14
14
  // src/version.ts
15
- var VERSION = true ? "3.0.127" : "0.0.0-test";
15
+ var VERSION = true ? "3.0.129" : "0.0.0-test";
16
16
 
17
17
  // src/anthropic-messages-language-model.ts
18
18
  import {
@@ -2020,7 +2020,12 @@ async function prepareTools({
2020
2020
  betas
2021
2021
  };
2022
2022
  case "none":
2023
- return { tools: void 0, toolChoice: void 0, toolWarnings, betas };
2023
+ return {
2024
+ tools: anthropicTools2,
2025
+ toolChoice: { type: "none" },
2026
+ toolWarnings,
2027
+ betas
2028
+ };
2024
2029
  case "tool":
2025
2030
  if (rejectsForcedToolUse) {
2026
2031
  toolWarnings.push({
@@ -2495,7 +2500,7 @@ async function convertToAnthropicMessagesPrompt({
2495
2500
  toolNameMapping,
2496
2501
  toolsetNames = {}
2497
2502
  }) {
2498
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
2503
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v;
2499
2504
  const betas = /* @__PURE__ */ new Set();
2500
2505
  const blocks = groupIntoBlocks(prompt);
2501
2506
  const validator = cacheControlValidator || new CacheControlValidator();
@@ -3307,6 +3312,18 @@ async function convertToAnthropicMessagesPrompt({
3307
3312
  }
3308
3313
  if (providerToolName === "tool_search_tool_regex" || providerToolName === "tool_search_tool_bm25") {
3309
3314
  const output = part.output;
3315
+ 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") {
3316
+ anthropicContent.push({
3317
+ type: "tool_search_tool_result",
3318
+ tool_use_id: part.toolCallId,
3319
+ content: {
3320
+ type: "tool_search_tool_result_error",
3321
+ error_code: (_v = (await extractErrorValue(output.value)).errorCode) != null ? _v : "unavailable"
3322
+ },
3323
+ cache_control: cacheControl
3324
+ });
3325
+ break;
3326
+ }
3310
3327
  if (output.type !== "json") {
3311
3328
  warnings.push({
3312
3329
  type: "other",
@@ -3878,6 +3895,7 @@ var AnthropicMessagesLanguageModel = class {
3878
3895
  rejectsSamplingParameters,
3879
3896
  rejectsThinkingDisabledAboveHighEffort,
3880
3897
  rejectsThinkingDisabled,
3898
+ rejectsBudgetThinking,
3881
3899
  rejectsForcedToolUse,
3882
3900
  supportsBetweenToolsThinking,
3883
3901
  isKnownModel
@@ -3995,15 +4013,16 @@ var AnthropicMessagesLanguageModel = class {
3995
4013
  details: `thinking cannot be disabled for ${this.modelId}; it always uses adaptive thinking. The thinking setting has been removed. Lower 'effort' to reduce thinking.`
3996
4014
  });
3997
4015
  anthropicOptions.thinking = void 0;
3998
- } else if (requestedType === "enabled") {
3999
- warnings.push({
4000
- type: "unsupported",
4001
- feature: "providerOptions.anthropic.thinking",
4002
- 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.`
4003
- });
4004
- anthropicOptions.thinking = { type: "adaptive" };
4005
4016
  }
4006
4017
  }
4018
+ if (rejectsBudgetThinking && (anthropicOptions == null ? void 0 : anthropicOptions.thinking) != null && "type" in anthropicOptions.thinking && anthropicOptions.thinking.type === "enabled") {
4019
+ warnings.push({
4020
+ type: "unsupported",
4021
+ feature: "providerOptions.anthropic.thinking",
4022
+ 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.`
4023
+ });
4024
+ anthropicOptions.thinking = { type: "adaptive" };
4025
+ }
4007
4026
  const thinking = anthropicOptions == null ? void 0 : anthropicOptions.thinking;
4008
4027
  const thinkingType = thinking != null && "type" in thinking ? thinking.type : void 0;
4009
4028
  if (rejectsThinkingDisabledAboveHighEffort && thinkingType === "disabled" && (anthropicOptions.effort === "xhigh" || anthropicOptions.effort === "max")) {
@@ -5882,6 +5901,7 @@ function getModelCapabilities(modelId) {
5882
5901
  rejectsSamplingParameters: true,
5883
5902
  rejectsThinkingDisabledAboveHighEffort: true,
5884
5903
  rejectsThinkingDisabled: true,
5904
+ rejectsBudgetThinking: true,
5885
5905
  rejectsForcedToolUse: true,
5886
5906
  supportsBetweenToolsThinking: true,
5887
5907
  isKnownModel: true
@@ -5893,10 +5913,23 @@ function getModelCapabilities(modelId) {
5893
5913
  rejectsSamplingParameters: true,
5894
5914
  rejectsThinkingDisabledAboveHighEffort: true,
5895
5915
  rejectsThinkingDisabled: true,
5916
+ rejectsBudgetThinking: true,
5896
5917
  rejectsForcedToolUse: true,
5897
5918
  supportsBetweenToolsThinking: false,
5898
5919
  isKnownModel: true
5899
5920
  };
5921
+ } else if (modelId.includes("claude-haiku-5-5")) {
5922
+ return {
5923
+ maxOutputTokens: 128e3,
5924
+ supportsStructuredOutput: true,
5925
+ rejectsSamplingParameters: true,
5926
+ rejectsThinkingDisabledAboveHighEffort: true,
5927
+ rejectsThinkingDisabled: false,
5928
+ rejectsBudgetThinking: true,
5929
+ rejectsForcedToolUse: false,
5930
+ supportsBetweenToolsThinking: false,
5931
+ isKnownModel: true
5932
+ };
5900
5933
  } else if (modelId.includes("claude-opus-5")) {
5901
5934
  return {
5902
5935
  maxOutputTokens: 128e3,
@@ -5904,6 +5937,7 @@ function getModelCapabilities(modelId) {
5904
5937
  rejectsSamplingParameters: true,
5905
5938
  rejectsThinkingDisabledAboveHighEffort: true,
5906
5939
  rejectsThinkingDisabled: false,
5940
+ rejectsBudgetThinking: false,
5907
5941
  rejectsForcedToolUse: false,
5908
5942
  supportsBetweenToolsThinking: false,
5909
5943
  isKnownModel: true
@@ -5915,6 +5949,7 @@ function getModelCapabilities(modelId) {
5915
5949
  rejectsSamplingParameters: true,
5916
5950
  rejectsThinkingDisabledAboveHighEffort: false,
5917
5951
  rejectsThinkingDisabled: true,
5952
+ rejectsBudgetThinking: true,
5918
5953
  rejectsForcedToolUse: true,
5919
5954
  supportsBetweenToolsThinking: false,
5920
5955
  isKnownModel: true
@@ -5926,6 +5961,7 @@ function getModelCapabilities(modelId) {
5926
5961
  rejectsSamplingParameters: true,
5927
5962
  rejectsThinkingDisabledAboveHighEffort: false,
5928
5963
  rejectsThinkingDisabled: true,
5964
+ rejectsBudgetThinking: true,
5929
5965
  rejectsForcedToolUse: false,
5930
5966
  supportsBetweenToolsThinking: false,
5931
5967
  isKnownModel: true
@@ -5937,6 +5973,7 @@ function getModelCapabilities(modelId) {
5937
5973
  rejectsSamplingParameters: true,
5938
5974
  rejectsThinkingDisabledAboveHighEffort: false,
5939
5975
  rejectsThinkingDisabled: false,
5976
+ rejectsBudgetThinking: false,
5940
5977
  rejectsForcedToolUse: false,
5941
5978
  supportsBetweenToolsThinking: false,
5942
5979
  isKnownModel: true
@@ -5948,6 +5985,7 @@ function getModelCapabilities(modelId) {
5948
5985
  rejectsSamplingParameters: false,
5949
5986
  rejectsThinkingDisabledAboveHighEffort: false,
5950
5987
  rejectsThinkingDisabled: false,
5988
+ rejectsBudgetThinking: false,
5951
5989
  rejectsForcedToolUse: false,
5952
5990
  supportsBetweenToolsThinking: false,
5953
5991
  isKnownModel: true
@@ -5959,6 +5997,7 @@ function getModelCapabilities(modelId) {
5959
5997
  rejectsSamplingParameters: false,
5960
5998
  rejectsThinkingDisabledAboveHighEffort: false,
5961
5999
  rejectsThinkingDisabled: false,
6000
+ rejectsBudgetThinking: false,
5962
6001
  rejectsForcedToolUse: false,
5963
6002
  supportsBetweenToolsThinking: false,
5964
6003
  isKnownModel: true
@@ -5970,6 +6009,7 @@ function getModelCapabilities(modelId) {
5970
6009
  rejectsSamplingParameters: false,
5971
6010
  rejectsThinkingDisabledAboveHighEffort: false,
5972
6011
  rejectsThinkingDisabled: false,
6012
+ rejectsBudgetThinking: false,
5973
6013
  rejectsForcedToolUse: false,
5974
6014
  supportsBetweenToolsThinking: false,
5975
6015
  isKnownModel: true
@@ -5981,6 +6021,7 @@ function getModelCapabilities(modelId) {
5981
6021
  rejectsSamplingParameters: false,
5982
6022
  rejectsThinkingDisabledAboveHighEffort: false,
5983
6023
  rejectsThinkingDisabled: false,
6024
+ rejectsBudgetThinking: false,
5984
6025
  rejectsForcedToolUse: false,
5985
6026
  supportsBetweenToolsThinking: false,
5986
6027
  isKnownModel: true
@@ -5992,6 +6033,7 @@ function getModelCapabilities(modelId) {
5992
6033
  rejectsSamplingParameters: false,
5993
6034
  rejectsThinkingDisabledAboveHighEffort: false,
5994
6035
  rejectsThinkingDisabled: false,
6036
+ rejectsBudgetThinking: false,
5995
6037
  rejectsForcedToolUse: false,
5996
6038
  supportsBetweenToolsThinking: false,
5997
6039
  isKnownModel: true
@@ -6003,6 +6045,7 @@ function getModelCapabilities(modelId) {
6003
6045
  rejectsSamplingParameters: false,
6004
6046
  rejectsThinkingDisabledAboveHighEffort: false,
6005
6047
  rejectsThinkingDisabled: false,
6048
+ rejectsBudgetThinking: false,
6006
6049
  rejectsForcedToolUse: false,
6007
6050
  supportsBetweenToolsThinking: false,
6008
6051
  isKnownModel: true
@@ -6014,6 +6057,7 @@ function getModelCapabilities(modelId) {
6014
6057
  rejectsSamplingParameters: false,
6015
6058
  rejectsThinkingDisabledAboveHighEffort: false,
6016
6059
  rejectsThinkingDisabled: false,
6060
+ rejectsBudgetThinking: false,
6017
6061
  rejectsForcedToolUse: false,
6018
6062
  supportsBetweenToolsThinking: false,
6019
6063
  isKnownModel: false
@@ -6025,6 +6069,7 @@ function getModelCapabilities(modelId) {
6025
6069
  rejectsSamplingParameters: true,
6026
6070
  rejectsThinkingDisabledAboveHighEffort: true,
6027
6071
  rejectsThinkingDisabled: false,
6072
+ rejectsBudgetThinking: false,
6028
6073
  rejectsForcedToolUse: false,
6029
6074
  supportsBetweenToolsThinking: false,
6030
6075
  isKnownModel: false
@@ -6036,6 +6081,7 @@ function getModelCapabilities(modelId) {
6036
6081
  rejectsSamplingParameters: false,
6037
6082
  rejectsThinkingDisabledAboveHighEffort: false,
6038
6083
  rejectsThinkingDisabled: false,
6084
+ rejectsBudgetThinking: false,
6039
6085
  rejectsForcedToolUse: false,
6040
6086
  supportsBetweenToolsThinking: false,
6041
6087
  isKnownModel: false