@ai-sdk/anthropic 2.0.79 → 2.0.80

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @ai-sdk/anthropic
2
2
 
3
+ ## 2.0.80
4
+
5
+ ### Patch Changes
6
+
7
+ - 0e2aaaa: feat(provider/anthropic): add support for `claude-opus-4-8`
8
+
3
9
  ## 2.0.79
4
10
 
5
11
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -126,7 +126,7 @@ interface AnthropicMessageMetadata {
126
126
  } | null;
127
127
  }
128
128
 
129
- type AnthropicMessagesModelId = 'claude-3-5-haiku-20241022' | 'claude-3-5-haiku-latest' | 'claude-3-7-sonnet-20250219' | 'claude-3-7-sonnet-latest' | 'claude-3-haiku-20240307' | 'claude-haiku-4-5-20251001' | 'claude-haiku-4-5' | 'claude-opus-4-0' | 'claude-opus-4-1-20250805' | 'claude-opus-4-1' | 'claude-opus-4-20250514' | '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' | (string & {});
129
+ type AnthropicMessagesModelId = 'claude-3-5-haiku-20241022' | 'claude-3-5-haiku-latest' | 'claude-3-7-sonnet-20250219' | 'claude-3-7-sonnet-latest' | 'claude-3-haiku-20240307' | 'claude-haiku-4-5-20251001' | 'claude-haiku-4-5' | 'claude-opus-4-0' | 'claude-opus-4-1-20250805' | 'claude-opus-4-1' | 'claude-opus-4-20250514' | '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' | (string & {});
130
130
  declare const anthropicProviderOptions: z.ZodObject<{
131
131
  sendReasoning: z.ZodOptional<z.ZodBoolean>;
132
132
  structuredOutputMode: z.ZodOptional<z.ZodEnum<{
package/dist/index.d.ts CHANGED
@@ -126,7 +126,7 @@ interface AnthropicMessageMetadata {
126
126
  } | null;
127
127
  }
128
128
 
129
- type AnthropicMessagesModelId = 'claude-3-5-haiku-20241022' | 'claude-3-5-haiku-latest' | 'claude-3-7-sonnet-20250219' | 'claude-3-7-sonnet-latest' | 'claude-3-haiku-20240307' | 'claude-haiku-4-5-20251001' | 'claude-haiku-4-5' | 'claude-opus-4-0' | 'claude-opus-4-1-20250805' | 'claude-opus-4-1' | 'claude-opus-4-20250514' | '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' | (string & {});
129
+ type AnthropicMessagesModelId = 'claude-3-5-haiku-20241022' | 'claude-3-5-haiku-latest' | 'claude-3-7-sonnet-20250219' | 'claude-3-7-sonnet-latest' | 'claude-3-haiku-20240307' | 'claude-haiku-4-5-20251001' | 'claude-haiku-4-5' | 'claude-opus-4-0' | 'claude-opus-4-1-20250805' | 'claude-opus-4-1' | 'claude-opus-4-20250514' | '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' | (string & {});
130
130
  declare const anthropicProviderOptions: z.ZodObject<{
131
131
  sendReasoning: z.ZodOptional<z.ZodBoolean>;
132
132
  structuredOutputMode: z.ZodOptional<z.ZodEnum<{
package/dist/index.js CHANGED
@@ -31,7 +31,7 @@ var import_provider4 = require("@ai-sdk/provider");
31
31
  var import_provider_utils20 = require("@ai-sdk/provider-utils");
32
32
 
33
33
  // src/version.ts
34
- var VERSION = true ? "2.0.79" : "0.0.0-test";
34
+ var VERSION = true ? "2.0.80" : "0.0.0-test";
35
35
 
36
36
  // src/anthropic-messages-language-model.ts
37
37
  var import_provider3 = require("@ai-sdk/provider");
@@ -1408,19 +1408,20 @@ async function convertToAnthropicMessagesPrompt({
1408
1408
  const type = block.type;
1409
1409
  switch (type) {
1410
1410
  case "system": {
1411
- if (system != null) {
1412
- throw new import_provider2.UnsupportedFunctionalityError({
1413
- functionality: "Multiple system messages that are separated by user/assistant messages"
1414
- });
1415
- }
1416
- system = block.messages.map(({ content, providerOptions }) => ({
1411
+ const content = block.messages.map(({ content: content2, providerOptions }) => ({
1417
1412
  type: "text",
1418
- text: content,
1413
+ text: content2,
1419
1414
  cache_control: validator.getCacheControl(providerOptions, {
1420
1415
  type: "system message",
1421
1416
  canCache: true
1422
1417
  })
1423
1418
  }));
1419
+ if (system == null) {
1420
+ system = content;
1421
+ } else {
1422
+ messages.push({ role: "system", content });
1423
+ betas.add("mid-conversation-system-2026-04-07");
1424
+ }
1424
1425
  break;
1425
1426
  }
1426
1427
  case "user": {
@@ -3443,7 +3444,7 @@ var AnthropicMessagesLanguageModel = class {
3443
3444
  }
3444
3445
  };
3445
3446
  function getModelCapabilities(modelId) {
3446
- if (modelId.includes("claude-opus-4-7")) {
3447
+ if (modelId.includes("claude-opus-4-8") || modelId.includes("claude-opus-4-7")) {
3447
3448
  return {
3448
3449
  maxOutputTokens: 128e3,
3449
3450
  supportsStructuredOutput: true,