diff --git a/workspace-server/internal/providers/gen/registry_gen.go b/workspace-server/internal/providers/gen/registry_gen.go index 9750cd3f3..afe558847 100644 --- a/workspace-server/internal/providers/gen/registry_gen.go +++ b/workspace-server/internal/providers/gen/registry_gen.go @@ -16,7 +16,7 @@ const SchemaVersion = 1 // Fingerprint is a stable content hash of the generated projection (schema // version + provider catalog + runtime native sets). It changes iff the // registry DATA changes (comment-only YAML edits do not churn it). -const Fingerprint = "acb3798aa8ec3cec" +const Fingerprint = "dd8a39fb5426368c" // GenProvider is the generated projection of one provider catalog entry — // the subset a downstream consumer needs to derive + display a provider. @@ -83,10 +83,10 @@ var Providers = []GenProvider{ var Runtimes = map[string][]GenRuntimeRef{ "claude-code": { {Name: "anthropic-oauth", Models: []string{"sonnet", "opus", "haiku", "anthropic:sonnet", "anthropic:opus", "anthropic:haiku"}}, - {Name: "anthropic-api", Models: []string{"claude-sonnet-4-6", "claude-opus-4-7", "claude-haiku-4-5", "claude-sonnet-4-5", "anthropic:claude-sonnet-4-6", "anthropic:claude-opus-4-7", "anthropic:claude-haiku-4-5", "anthropic:claude-sonnet-4-5"}}, + {Name: "anthropic-api", Models: []string{"claude-fable-5", "claude-sonnet-4-6", "claude-opus-4-7", "claude-haiku-4-5", "claude-sonnet-4-5", "anthropic:claude-fable-5", "anthropic:claude-sonnet-4-6", "anthropic:claude-opus-4-7", "anthropic:claude-haiku-4-5", "anthropic:claude-sonnet-4-5"}}, {Name: "kimi-coding", Models: []string{"kimi-for-coding", "kimi-k2.5", "kimi-k2"}}, {Name: "minimax", Models: []string{"MiniMax-M2", "MiniMax-M2.7", "MiniMax-M2.7-highspeed", "MiniMax-M3"}}, - {Name: "platform", Models: []string{"anthropic/claude-opus-4-7", "anthropic/claude-sonnet-4-6", "moonshot/kimi-k2.6", "moonshot/kimi-k2.5", "minimax/MiniMax-M2.7", "minimax/MiniMax-M2.7-highspeed", "minimax/MiniMax-M3"}}, + {Name: "platform", Models: []string{"anthropic/claude-fable-5", "anthropic/claude-opus-4-7", "anthropic/claude-sonnet-4-6", "moonshot/kimi-k2.6", "moonshot/kimi-k2.5", "minimax/MiniMax-M2.7", "minimax/MiniMax-M2.7-highspeed", "minimax/MiniMax-M3"}}, {Name: "zai", Models: []string{}}, {Name: "deepseek", Models: []string{}}, {Name: "xiaomi-mimo", Models: []string{}}, diff --git a/workspace-server/internal/providers/providers.yaml b/workspace-server/internal/providers/providers.yaml index 91320498d..74b9dd9e8 100644 --- a/workspace-server/internal/providers/providers.yaml +++ b/workspace-server/internal/providers/providers.yaml @@ -847,10 +847,12 @@ runtimes: # BYOK selection spelling used across the create/test corpus # (internal#718 P4 PR-1). Both forms route to anthropic-api. models: + - claude-fable-5 - claude-sonnet-4-6 - claude-opus-4-7 - claude-haiku-4-5 - claude-sonnet-4-5 + - anthropic:claude-fable-5 - anthropic:claude-sonnet-4-6 - anthropic:claude-opus-4-7 - anthropic:claude-haiku-4-5 @@ -883,6 +885,7 @@ runtimes: # template can offer no platform model absent from this set. - name: platform models: + - anthropic/claude-fable-5 - anthropic/claude-opus-4-7 - anthropic/claude-sonnet-4-6 - moonshot/kimi-k2.6 diff --git a/workspace-server/internal/providers/runtimes_test.go b/workspace-server/internal/providers/runtimes_test.go index d31897e63..89045924f 100644 --- a/workspace-server/internal/providers/runtimes_test.go +++ b/workspace-server/internal/providers/runtimes_test.go @@ -112,11 +112,11 @@ func TestModelsForRuntime_ExactModelIDs(t *testing.T) { "sonnet", "opus", "haiku", "anthropic:sonnet", "anthropic:opus", "anthropic:haiku", // anthropic API versioned (bare + legacy colon-namespaced BYOK) - "claude-sonnet-4-6", "claude-opus-4-7", "claude-haiku-4-5", "claude-sonnet-4-5", - "anthropic:claude-sonnet-4-6", "anthropic:claude-opus-4-7", + "claude-fable-5", "claude-sonnet-4-6", "claude-opus-4-7", "claude-haiku-4-5", "claude-sonnet-4-5", + "anthropic:claude-fable-5", "anthropic:claude-sonnet-4-6", "anthropic:claude-opus-4-7", "anthropic:claude-haiku-4-5", "anthropic:claude-sonnet-4-5", // anthropic via platform proxy (namespaced) - "anthropic/claude-opus-4-7", "anthropic/claude-sonnet-4-6", + "anthropic/claude-fable-5", "anthropic/claude-opus-4-7", "anthropic/claude-sonnet-4-6", // kimi (kimi-coding gateway, bare form only — colon-forms removed // because claude-code's adapter cannot strip the moonshot: prefix; // openclaw retains them natively, cp#521). diff --git a/workspace-server/internal/providers/sync_canonical_test.go b/workspace-server/internal/providers/sync_canonical_test.go index b8dfc1542..3cb8348da 100644 --- a/workspace-server/internal/providers/sync_canonical_test.go +++ b/workspace-server/internal/providers/sync_canonical_test.go @@ -29,7 +29,7 @@ import ( // canonicalProvidersYAMLSHA256 is the sha256 of the canonical providers.yaml as // synced from molecule-controlplane. Bumped deliberately on each re-sync (see // file doc). Cross-checked live by the sync-providers-yaml CI workflow. -const canonicalProvidersYAMLSHA256 = "ab51d3faa21348696bf53cffe241ac07d0762c4074207264efe4f58f7591c4dc" +const canonicalProvidersYAMLSHA256 = "de2b7b5f1abee01d01d3e749868fa8b39028891a51ec07cff4c7770f48153383" func TestSyncedYAMLMatchesCanonicalSHA(t *testing.T) { sum := sha256.Sum256(embeddedYAML)