mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 04:12:10 +03:00
feat(kiro): register GPT-5.6 Sol/Terra/Luna model family (#7209)
* feat(kiro): register GPT-5.6 Sol/Terra/Luna model family Kiro announced its first OpenAI-family models on 2026-07-14 (kiro.dev/changelog/models): GPT-5.6 Sol (flagship), Terra (balanced mid-tier) and Luna (fastest/cheapest), all sharing a 272k context window. Registers the three base model ids in the kiro provider registry with contextLength/maxOutputTokens so getResolvedModelCapabilities() resolves the real 272k window instead of falling back to the generic default. OmniRoute derives the thinking/agentic synthetic variants and per-account rate multipliers dynamically at discovery time (open-sse/services/kiroModels.ts), so only the three base entries need static registration here. Co-authored-by: Edison42 <gn00742754@gmail.com> Inspired-by: https://github.com/decolua/9router/pull/2596 * chore(changelog): fragment for #7209 * fix(kiro): add GPT-5.6 Sol/Terra/Luna pricing rows The registry additions in this PR exposed three new Kiro model ids without matching pricing rows, tripping the catalog invariant that every Kiro registry model must resolve a non-zero pricing row (tests/unit/catalog-updates-v3x.test.ts) — the models would have billed at $0.00. Reuses the shared GPT_5_6_{SOL,TERRA,LUNA}_PRICING tiers already used by the codex and openai aliases. --------- Co-authored-by: Edison42 <gn00742754@gmail.com>
This commit is contained in:
committed by
GitHub
parent
205361a850
commit
2dc4a92be7
1
changelog.d/features/7209-kiro-gpt56-family.md
Normal file
1
changelog.d/features/7209-kiro-gpt56-family.md
Normal file
@@ -0,0 +1 @@
|
||||
- **feat(kiro):** register the GPT-5.6 Sol/Terra/Luna model family (272k context window). (thanks @SemonCat)
|
||||
@@ -46,5 +46,26 @@ export const kiroProvider: RegistryEntry = {
|
||||
{ id: "minimax-m2.1", name: "MiniMax M2.1" },
|
||||
{ id: "glm-5", name: "GLM-5" },
|
||||
{ id: "qwen3-coder-next", name: "Qwen3 Coder Next" },
|
||||
// Kiro's first OpenAI-family models (kiro.dev/changelog/models, 2026-07-14):
|
||||
// three tiers — Sol (flagship), Terra (balanced mid-tier), Luna (fastest/
|
||||
// cheapest) — all sharing the announced 272k context window.
|
||||
{
|
||||
id: "gpt-5.6-sol",
|
||||
name: "GPT-5.6 Sol",
|
||||
contextLength: 272000,
|
||||
maxOutputTokens: 128000,
|
||||
},
|
||||
{
|
||||
id: "gpt-5.6-terra",
|
||||
name: "GPT-5.6 Terra",
|
||||
contextLength: 272000,
|
||||
maxOutputTokens: 128000,
|
||||
},
|
||||
{
|
||||
id: "gpt-5.6-luna",
|
||||
name: "GPT-5.6 Luna",
|
||||
contextLength: 272000,
|
||||
maxOutputTokens: 128000,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
@@ -592,5 +592,10 @@ export const DEFAULT_PRICING_OAUTH = {
|
||||
reasoning: 15.0,
|
||||
cache_creation: 3.0,
|
||||
},
|
||||
// Kiro's GPT-5.6 family (kiro.dev/changelog/models, 2026-07-14) — same
|
||||
// per-tier rates the codex/openai aliases already bill at.
|
||||
"gpt-5.6-sol": GPT_5_6_SOL_PRICING,
|
||||
"gpt-5.6-terra": GPT_5_6_TERRA_PRICING,
|
||||
"gpt-5.6-luna": GPT_5_6_LUNA_PRICING,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -29,6 +29,11 @@ const REAL_KIRO_IDS = [
|
||||
"minimax-m2.5", // proven 200
|
||||
"minimax-m2.1", // proven 200
|
||||
"qwen3-coder-next", // proven 200
|
||||
// Kiro's first OpenAI-family models, per kiro.dev/changelog/models
|
||||
// (2026-07-14) — not yet independently live-VPS-verified like the ids above.
|
||||
"gpt-5.6-sol",
|
||||
"gpt-5.6-terra",
|
||||
"gpt-5.6-luna",
|
||||
];
|
||||
|
||||
test("kiro registry exposes no fabricated model ids", () => {
|
||||
|
||||
39
tests/unit/kiro-gpt56-family-registration.test.ts
Normal file
39
tests/unit/kiro-gpt56-family-registration.test.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import test from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
|
||||
import { REGISTRY } from "@omniroute/open-sse/config/providers/index.ts";
|
||||
|
||||
const { getResolvedModelCapabilities } = await import("../../src/lib/modelCapabilities.ts");
|
||||
|
||||
// Kiro's first OpenAI-family models, announced 2026-07-14
|
||||
// (kiro.dev/changelog/models): GPT-5.6 Sol / Terra / Luna, all sharing a
|
||||
// 272k context window and a 128k max-output budget on the Kiro backend.
|
||||
const GPT_5_6_KIRO_MODELS = ["gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna"] as const;
|
||||
|
||||
test("kiro registry exposes the GPT-5.6 Sol/Terra/Luna model ids", () => {
|
||||
const ids = new Set((REGISTRY.kiro?.models || []).map((m) => m.id));
|
||||
for (const id of GPT_5_6_KIRO_MODELS) {
|
||||
assert.ok(ids.has(id), `kiro registry must expose "${id}"`);
|
||||
}
|
||||
});
|
||||
|
||||
test("kiro GPT-5.6 models resolve the announced 272k context window", () => {
|
||||
for (const model of GPT_5_6_KIRO_MODELS) {
|
||||
const caps = getResolvedModelCapabilities({ provider: "kiro", model });
|
||||
assert.equal(caps.contextWindow, 272000, `${model} must resolve a 272k context window`);
|
||||
}
|
||||
});
|
||||
|
||||
test("kiro GPT-5.6 models resolve a 128k max output budget", () => {
|
||||
for (const model of GPT_5_6_KIRO_MODELS) {
|
||||
const caps = getResolvedModelCapabilities({ provider: "kiro", model });
|
||||
assert.equal(caps.maxOutputTokens, 128000, `${model} must resolve a 128k max output`);
|
||||
}
|
||||
});
|
||||
|
||||
test("kiro GPT-5.6 models resolve through the 'kr' provider alias too", () => {
|
||||
for (const model of GPT_5_6_KIRO_MODELS) {
|
||||
const caps = getResolvedModelCapabilities({ provider: "kr", model });
|
||||
assert.equal(caps.contextWindow, 272000, `${model} must resolve via the 'kr' alias`);
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user