Merge pull request #3036 from SutraHsing/codex/2941-claude-sonnet-model-id
fix(config): use canonical Anthropic default model ID
This commit is contained in:
commit
db13367404
3 changed files with 39 additions and 1 deletions
|
|
@ -907,6 +907,29 @@ func TestDefaultConfig_WorkspacePath(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestDefaultConfig_AnthropicModelsUseClaudeAPIIDs verifies that first-party
|
||||||
|
// Anthropic defaults use Claude API model IDs, not dotted display names or
|
||||||
|
// Bedrock-style provider prefixes. See:
|
||||||
|
// https://platform.claude.com/docs/en/about-claude/models/model-ids-and-versions
|
||||||
|
func TestDefaultConfig_AnthropicModelsUseClaudeAPIIDs(t *testing.T) {
|
||||||
|
cfg := DefaultConfig()
|
||||||
|
|
||||||
|
checked := 0
|
||||||
|
for _, model := range cfg.ModelList {
|
||||||
|
if model.Provider != "anthropic" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
checked++
|
||||||
|
if strings.Contains(model.Model, ".") {
|
||||||
|
t.Fatalf("Anthropic default model %q uses dotted ID %q", model.ModelName, model.Model)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if checked == 0 {
|
||||||
|
t.Fatal("DefaultConfig() missing Anthropic models")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TestDefaultConfig_MaxTokens verifies max tokens has default value
|
// TestDefaultConfig_MaxTokens verifies max tokens has default value
|
||||||
func TestDefaultConfig_MaxTokens(t *testing.T) {
|
func TestDefaultConfig_MaxTokens(t *testing.T) {
|
||||||
cfg := DefaultConfig()
|
cfg := DefaultConfig()
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ func DefaultConfig() *Config {
|
||||||
{
|
{
|
||||||
ModelName: "claude-sonnet-4.6",
|
ModelName: "claude-sonnet-4.6",
|
||||||
Provider: "anthropic",
|
Provider: "anthropic",
|
||||||
Model: "claude-sonnet-4.6",
|
Model: "claude-sonnet-4-6",
|
||||||
APIBase: "https://api.anthropic.com/v1",
|
APIBase: "https://api.anthropic.com/v1",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1081,6 +1081,21 @@ func TestModelProviderOptions(t *testing.T) {
|
||||||
} else if option.DefaultAPIBase != "https://api.anthropic.com/v1" {
|
} else if option.DefaultAPIBase != "https://api.anthropic.com/v1" {
|
||||||
t.Fatalf("anthropic default_api_base = %q, want %q", option.DefaultAPIBase, "https://api.anthropic.com/v1")
|
t.Fatalf("anthropic default_api_base = %q, want %q", option.DefaultAPIBase, "https://api.anthropic.com/v1")
|
||||||
}
|
}
|
||||||
|
// First-party Claude API model IDs use hyphenated formats such as
|
||||||
|
// claude-{name}-{major}-{minor} or claude-{name}-{major}-{minor}-{YYYYMMDD};
|
||||||
|
// dotted provider prefixes are for platform-specific IDs such as Bedrock.
|
||||||
|
// https://platform.claude.com/docs/en/about-claude/models/model-ids-and-versions
|
||||||
|
for _, provider := range []string{"anthropic", "anthropic-messages"} {
|
||||||
|
option, ok := seen[provider]
|
||||||
|
if !ok {
|
||||||
|
t.Fatalf("%s option missing", provider)
|
||||||
|
}
|
||||||
|
for _, model := range option.CommonModels {
|
||||||
|
if strings.Contains(model, ".") {
|
||||||
|
t.Fatalf("%s common_model %q uses dotted ID", provider, model)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if _, ok := seen["azure"]; !ok {
|
if _, ok := seen["azure"]; !ok {
|
||||||
t.Fatal("azure option missing")
|
t.Fatal("azure option missing")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue