From b8598595484739027bdd83cd8cdfe122ad3cb9cf Mon Sep 17 00:00:00 2001
From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com>
Date: Mon, 14 Jul 2025 23:20:02 -0500
Subject: [PATCH] feat: add missing model constants
---
src/AnthropicClient/Models/AnthropicModels.cs | 30 ++++++++++
.../Unit/Models/AnthropicModelsTests.cs | 60 +++++++++++++++++++
2 files changed, 90 insertions(+)
diff --git a/src/AnthropicClient/Models/AnthropicModels.cs b/src/AnthropicClient/Models/AnthropicModels.cs
index 158a5a9..c9b7bb0 100644
--- a/src/AnthropicClient/Models/AnthropicModels.cs
+++ b/src/AnthropicClient/Models/AnthropicModels.cs
@@ -20,6 +20,16 @@ public static class AnthropicModels
///
public const string Claude3OpusLatest = "claude-3-opus-latest";
+ ///
+ /// The Claude 4 Opus model.
+ ///
+ public const string ClaudeOpus420250514 = "claude-opus-4-20250514";
+
+ ///
+ /// The Claude 4 Opus model.
+ ///
+ public const string ClaudeOpus40 = "claude-opus-4-0";
+
///
/// The Claude 3 Sonnet model.
///
@@ -50,6 +60,26 @@ public static class AnthropicModels
///
public const string Claude35SonnetLatest = "claude-3-5-sonnet-latest";
+ ///
+ /// The Claude 3 Sonnet model
+ ///
+ public const string Claude37Sonnet20250219 = "claude-3-7-sonnet-20250219";
+
+ ///
+ /// The Claude 3 Sonnet model
+ ///
+ public const string Claude37SonnetLatest = "claude-3-7-sonnet-latest";
+
+ ///
+ /// The Claude 4 Sonnet model.
+ ///
+ public const string ClaudeSonnet420250514 = "claude-sonnet-4-20250514";
+
+ ///
+ /// The Claude 4 Sonnet model.
+ ///
+ public const string ClaudeSonnet40 = "claude-sonnet-4-0";
+
///
/// The Claude 3 Haiku model.
///
diff --git a/tests/AnthropicClient.Tests/Unit/Models/AnthropicModelsTests.cs b/tests/AnthropicClient.Tests/Unit/Models/AnthropicModelsTests.cs
index 3b2343a..d9eac11 100644
--- a/tests/AnthropicClient.Tests/Unit/Models/AnthropicModelsTests.cs
+++ b/tests/AnthropicClient.Tests/Unit/Models/AnthropicModelsTests.cs
@@ -131,4 +131,64 @@ public class AnthropicModelsTests
actual.Should().Be(expected);
}
+
+ [Fact]
+ public void Claude37Sonnet20250219_WhenCalled_ItShouldReturnExpectedValue()
+ {
+ var expected = "claude-3-7-sonnet-20250219";
+
+ var actual = AnthropicModels.Claude37Sonnet20250219;
+
+ actual.Should().Be(expected);
+ }
+
+ [Fact]
+ public void Claude37SonnetLatest_WhenCalled_ItShouldReturnExpectedValue()
+ {
+ var expected = "claude-3-7-sonnet-latest";
+
+ var actual = AnthropicModels.Claude37SonnetLatest;
+
+ actual.Should().Be(expected);
+ }
+
+ [Fact]
+ public void ClaudeSonnet420250514_WhenCalled_ItShouldReturnExpectedValue()
+ {
+ var expected = "claude-sonnet-4-20250514";
+
+ var actual = AnthropicModels.ClaudeSonnet420250514;
+
+ actual.Should().Be(expected);
+ }
+
+ [Fact]
+ public void ClaudeSonnet40_WhenCalled_ItShouldReturnExpectedValue()
+ {
+ var expected = "claude-sonnet-4-0";
+
+ var actual = AnthropicModels.ClaudeSonnet40;
+
+ actual.Should().Be(expected);
+ }
+
+ [Fact]
+ public void ClaudeOpus420250514_WhenCalled_ItShouldReturnExpectedValue()
+ {
+ var expected = "claude-opus-4-20250514";
+
+ var actual = AnthropicModels.ClaudeOpus420250514;
+
+ actual.Should().Be(expected);
+ }
+
+ [Fact]
+ public void ClaudeOpus40_WhenCalled_ItShouldReturnExpectedValue()
+ {
+ var expected = "claude-opus-4-0";
+
+ var actual = AnthropicModels.ClaudeOpus40;
+
+ actual.Should().Be(expected);
+ }
}
\ No newline at end of file