Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 1 addition & 57 deletions catalog/models.json
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,6 @@
},
"max_output": 32000,
"fallback": [
"kimi-k2p7-code",
"terra"
]
},
Expand Down Expand Up @@ -320,52 +319,6 @@
"terra"
]
},
{
"id": "accounts/fireworks/models/kimi-k2p7-code",
"label": "kimi-k2p7-code",
"vendor": "fireworks",
"window": 262000,
"vision": true,
"reasoning": true,
"_note": "Kimi K2.7 Code (Moonshot, Fireworks Day-0 2026-06-12): vision, 262K. TRIED as planner 2026-06-13, RETIRED \u2014 failed to synthesize a usable plan (incomplete/reasoning-soup output, same class as K2.6). Kept for reference; no role.",
"pinnable": true,
"group": "Kimi",
"desc": "Coding specialist",
"name": "Kimi K2.7 Code",
"www": {
"chat": true,
"order": 19,
"description": "Moonshot coding specialist with native vision and a 262K context window."
},
"max_output": 32000,
"fallback": [
"glm-5p2",
"terra"
]
},
{
"id": "accounts/fireworks/models/kimi-k2p6",
"label": "kimi-k2p6",
"vendor": "fireworks",
"window": 262000,
"vision": true,
"reasoning": true,
"pinnable": true,
"group": "Kimi",
"_note": "Kimi K2.6 (Moonshot, Fireworks). Added 2026-07-17 for the /model pin picker. Native vision (MoonViT), 262K. VERIFY the Fireworks id spelling + window against the account before relying on it in prod.",
"desc": "General open-weight",
"name": "Kimi K2.6",
"www": {
"chat": true,
"order": 20,
"description": "Moonshot general open-weight model with native vision and a 262K context window."
},
"max_output": 32000,
"fallback": [
"kimi-k2p7-code",
"terra"
]
},
{
"id": "accounts/fireworks/models/kimi-k3",
"label": "kimi-k3",
Expand All @@ -388,7 +341,7 @@
},
"max_output": 32000,
"fallback": [
"kimi-k2p7-code",
"glm-5p2",
"terra"
]
},
Expand Down Expand Up @@ -634,15 +587,6 @@
],
"window": 500000
},
{
"match": [
"kimi-k2p7"
],
"price_in": 0.95,
"price_out": 4.0,
"price_cache_read": 0.19,
"_note": "Kimi K2.7 real Fireworks card (LiteLLM 2026-07-27) \u2014 the glm floor overcharged kimi ~1.5x"
},
{
"match": [
"kimi"
Expand Down
9 changes: 4 additions & 5 deletions catalog/pricing_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ func TestModelPricingRealIDs(t *testing.T) {
{"grok-4.6", 2, 6},
{"accounts/fireworks/models/glm-5p2", 1.40, 4.40}, // was $0
{"accounts/fireworks/models/glm-5p1", 1.40, 4.40},
{"accounts/fireworks/models/kimi-k3", 3.00, 15.00}, // K3's own Fireworks headline card ($3/$15), NOT the kimi family rule
{"accounts/fireworks/models/kimi-k2p7-code", 0.95, 4.00}, // pinnable via /model
{"accounts/fireworks/models/kimi-k3", 3.00, 15.00}, // K3's own Fireworks headline card ($3/$15), NOT the kimi family rule
{"accounts/fireworks/models/qwen3p8-2p4t-a95b", 2.00, 6.00},
{"accounts/fireworks/models/deepseek-v4-pro-0813", 1.32, 3.96},
{"accounts/fireworks/models/deepseek-v4-flash-0731", 0.22, 0.66},
Expand Down Expand Up @@ -56,7 +55,7 @@ func TestModelPricingByLabel(t *testing.T) {
in float64
}{
{"sol", 5}, {"terra", 2}, {"luna", 0.2},
{"glm-5p2", 1.40}, {"kimi-k2p6", 0.95}, {"qwen3p8-max", 2.00},
{"glm-5p2", 1.40}, {"kimi-k3", 3.00}, {"qwen3p8-max", 2.00},
{"deepseek-v4-pro", 1.32}, {"deepseek-v4-flash", 0.22},
{"gemini-flash-lite", 0.3},
}
Expand All @@ -82,7 +81,7 @@ func TestContextWindowFireworks(t *testing.T) {
{"accounts/fireworks/models/glm-5p2", 1_000_000}, // was defaulting to 200K
{"accounts/fireworks/models/glm-5p1", 202_000},
{"accounts/fireworks/models/kimi-k3", 1_000_000}, // k3 ≠ the kimi-k2 262K case
{"accounts/fireworks/models/kimi-k2p6", 262_000},
{"accounts/fireworks/models/kimi-k3", 1_000_000},
{"accounts/fireworks/models/qwen3p8-2p4t-a95b", 262_144},
{"accounts/fireworks/models/deepseek-v4-pro-0813", 1_040_000},
{"accounts/fireworks/models/deepseek-v4-flash-0731", 1_040_000},
Expand All @@ -108,7 +107,7 @@ func TestModelPricingCacheRates(t *testing.T) {
{"claude-sonnet-5", 0.2, 2.5},
{"gpt-5.6-terra", 0.2, 2.5},
{"accounts/fireworks/models/glm-5p2", 0.14, 1.75},
{"accounts/fireworks/models/kimi-k2p6", 0.16, 1.1875},
{"accounts/fireworks/models/kimi-k3", 0.30, 3.75},
{"accounts/fireworks/models/qwen3p8-2p4t-a95b", 0.2, 2.5},
{"accounts/fireworks/models/deepseek-v4-pro-0813", 0.044, 1.32 * 1.25},
{"accounts/fireworks/models/deepseek-v4-flash-0731", 0.007, 0.275},
Expand Down
2 changes: 1 addition & 1 deletion internal/agent/runtime/loop.go
Original file line number Diff line number Diff line change
Expand Up @@ -1102,7 +1102,7 @@ func (s *Session) complete(ctx context.Context, purpose llm.Purpose, req wire.Re
if resp.Model != "" {
s.lastServedModel = resp.Model
}
// Just the model name — it already implies the backend (kimi-k2p6 = cheap lane, opus =
// Just the model name — it already implies the backend (glm-5p2 = cheap lane, opus =
// Anthropic). The cheap lane tags a short Pool label; Anthropic has none, so fall back to
// the short model id.
name := resp.Pool
Expand Down
4 changes: 2 additions & 2 deletions internal/llm/delegated_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ func TestDelegatedWorkerKeepsNormalFailureSemantics(t *testing.T) {
if _, err := worker2.Complete(context.Background(), Agent, userReq("work")); err != nil {
t.Fatalf("the declared chain must rescue a delegated worker too: %v", err)
}
if len(p2.requested) != 2 || p2.requested[1] != "kimi-k2p7-code" {
t.Fatalf("delegated fallback walk = %v, want [glm-5p2 kimi-k2p7-code]", p2.requested)
if len(p2.requested) != 2 || p2.requested[1] != "terra" {
t.Fatalf("delegated fallback walk = %v, want [glm-5p2 terra]", p2.requested)
}
}
6 changes: 3 additions & 3 deletions internal/llm/policy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -206,9 +206,9 @@ func TestFallbackWalkOnModelError(t *testing.T) {
if err != nil {
t.Fatalf("the chain must rescue the call: %v", err)
}
// glm-5p2 fails → catalog chain: kimi-k2p7-code.
if len(p.requested) != 2 || p.requested[1] != "kimi-k2p7-code" {
t.Fatalf("walk = %v, want [glm-5p2 kimi-k2p7-code]", p.requested)
// glm-5p2 fails → its declared chain: terra.
if len(p.requested) != 2 || p.requested[1] != "terra" {
t.Fatalf("walk = %v, want [glm-5p2 terra]", p.requested)
}
if !strings.HasPrefix(resp.FallbackReason, "model_error: ") {
t.Fatalf("reason = %q, want model_error: …", resp.FallbackReason)
Expand Down
2 changes: 1 addition & 1 deletion internal/provider/uniformity_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ func assertUniformWire(t *testing.T, cs *compatServer, wantAuth string) {
func TestBackendUniformity(t *testing.T) {
// ── (a) the gateway-shaped backend: hosted policy over the control plane ──
gw := &compatServer{gateway: true,
models: []string{"sol", "terra", "luna", "opus", "sonnet", "haiku", "glm-5p2", "kimi-k2p7-code", "kimi-k2p6", "kimi-k3", "gpt-oss-120b"},
models: []string{"sol", "terra", "luna", "opus", "sonnet", "haiku", "glm-5p2", "kimi-k3", "gpt-oss-120b"},
failOnce: map[string]bool{},
}
gwSrv := httptest.NewServer(gw.handler())
Expand Down
58 changes: 1 addition & 57 deletions models.json
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,6 @@
},
"max_output": 32000,
"fallback": [
"kimi-k2p7-code",
"terra"
]
},
Expand Down Expand Up @@ -320,52 +319,6 @@
"terra"
]
},
{
"id": "accounts/fireworks/models/kimi-k2p7-code",
"label": "kimi-k2p7-code",
"vendor": "fireworks",
"window": 262000,
"vision": true,
"reasoning": true,
"_note": "Kimi K2.7 Code (Moonshot, Fireworks Day-0 2026-06-12): vision, 262K. TRIED as planner 2026-06-13, RETIRED \u2014 failed to synthesize a usable plan (incomplete/reasoning-soup output, same class as K2.6). Kept for reference; no role.",
"pinnable": true,
"group": "Kimi",
"desc": "Coding specialist",
"name": "Kimi K2.7 Code",
"www": {
"chat": true,
"order": 19,
"description": "Moonshot coding specialist with native vision and a 262K context window."
},
"max_output": 32000,
"fallback": [
"glm-5p2",
"terra"
]
},
{
"id": "accounts/fireworks/models/kimi-k2p6",
"label": "kimi-k2p6",
"vendor": "fireworks",
"window": 262000,
"vision": true,
"reasoning": true,
"pinnable": true,
"group": "Kimi",
"_note": "Kimi K2.6 (Moonshot, Fireworks). Added 2026-07-17 for the /model pin picker. Native vision (MoonViT), 262K. VERIFY the Fireworks id spelling + window against the account before relying on it in prod.",
"desc": "General open-weight",
"name": "Kimi K2.6",
"www": {
"chat": true,
"order": 20,
"description": "Moonshot general open-weight model with native vision and a 262K context window."
},
"max_output": 32000,
"fallback": [
"kimi-k2p7-code",
"terra"
]
},
{
"id": "accounts/fireworks/models/kimi-k3",
"label": "kimi-k3",
Expand All @@ -388,7 +341,7 @@
},
"max_output": 32000,
"fallback": [
"kimi-k2p7-code",
"glm-5p2",
"terra"
]
},
Expand Down Expand Up @@ -634,15 +587,6 @@
],
"window": 500000
},
{
"match": [
"kimi-k2p7"
],
"price_in": 0.95,
"price_out": 4.0,
"price_cache_read": 0.19,
"_note": "Kimi K2.7 real Fireworks card (LiteLLM 2026-07-27) \u2014 the glm floor overcharged kimi ~1.5x"
},
{
"match": [
"kimi"
Expand Down
Loading