@ai-sdk/anthropic 3.0.0-beta.25 → 3.0.0-beta.27

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.
@@ -1642,8 +1642,7 @@ var AnthropicMessagesLanguageModel = class {
1642
1642
  }
1643
1643
  async getArgs({
1644
1644
  prompt,
1645
- maxOutputTokens = 4096,
1646
- // 4096: max model output tokens TODO update default in v5
1645
+ maxOutputTokens,
1647
1646
  temperature,
1648
1647
  topP,
1649
1648
  topK,
@@ -1709,11 +1708,13 @@ var AnthropicMessagesLanguageModel = class {
1709
1708
  });
1710
1709
  const isThinking = ((_b = anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : _b.type) === "enabled";
1711
1710
  const thinkingBudget = (_c = anthropicOptions == null ? void 0 : anthropicOptions.thinking) == null ? void 0 : _c.budgetTokens;
1711
+ const maxOutputTokensForModel = getMaxOutputTokensForModel(this.modelId);
1712
+ const maxTokens = maxOutputTokens != null ? maxOutputTokens : maxOutputTokensForModel;
1712
1713
  const baseArgs = {
1713
1714
  // model id:
1714
1715
  model: this.modelId,
1715
1716
  // standardized settings:
1716
- max_tokens: maxOutputTokens,
1717
+ max_tokens: maxTokens,
1717
1718
  temperature,
1718
1719
  top_k: topK,
1719
1720
  top_p: topP,
@@ -1756,7 +1757,17 @@ var AnthropicMessagesLanguageModel = class {
1756
1757
  details: "topP is not supported when thinking is enabled"
1757
1758
  });
1758
1759
  }
1759
- baseArgs.max_tokens = maxOutputTokens + thinkingBudget;
1760
+ baseArgs.max_tokens = maxTokens + thinkingBudget;
1761
+ }
1762
+ if (baseArgs.max_tokens > maxOutputTokensForModel) {
1763
+ if (maxOutputTokens != null) {
1764
+ warnings.push({
1765
+ type: "unsupported-setting",
1766
+ setting: "maxOutputTokens",
1767
+ details: `${maxTokens} (maxOutputTokens + thinkingBudget) is greater than ${this.modelId} ${maxOutputTokensForModel} max output tokens. The max output tokens have been limited to ${maxOutputTokensForModel}.`
1768
+ });
1769
+ }
1770
+ baseArgs.max_tokens = maxOutputTokensForModel;
1760
1771
  }
1761
1772
  const {
1762
1773
  tools: anthropicTools2,
@@ -2536,6 +2547,17 @@ var AnthropicMessagesLanguageModel = class {
2536
2547
  };
2537
2548
  }
2538
2549
  };
2550
+ function getMaxOutputTokensForModel(modelId) {
2551
+ if (modelId.includes("claude-sonnet-4-") || modelId.includes("claude-3-7-sonnet") || modelId.includes("claude-haiku-4-5")) {
2552
+ return 64e3;
2553
+ } else if (modelId.includes("claude-opus-4-")) {
2554
+ return 32e3;
2555
+ } else if (modelId.includes("claude-3-5-haiku")) {
2556
+ return 8192;
2557
+ } else {
2558
+ return 4096;
2559
+ }
2560
+ }
2539
2561
 
2540
2562
  // src/tool/bash_20241022.ts
2541
2563
  import {