feat(kiro): add GPT-5.6 model family (#2596)
Add GPT-5.6 Sol/Terra/Luna and their synthetic thinking/agentic/ thinking-agentic variants to the Kiro static catalog with the observed 272k context window and credit multipliers (2.4/1.2/0.6), register MITM mapping slots for the new base ids, and override runtime capabilities so the GPT-5.6 family reports the 272k window instead of the generic GPT-5 profile.
This commit is contained in:
@@ -25,6 +25,13 @@ describe("Kiro MITM model slots", () => {
|
||||
expect(simpleTask).toBeTruthy();
|
||||
expect(simpleTask.alias).toBe("simple-task");
|
||||
});
|
||||
|
||||
it("offers mappable slots for GPT-5.6 family models", () => {
|
||||
const models = new Map(kiro.defaultModels.map((m) => [m.id, m]));
|
||||
expect(models.get("gpt-5.6-sol")).toMatchObject({ alias: "gpt-5.6-sol", contextLength: 272000, rateMultiplier: 2.4 });
|
||||
expect(models.get("gpt-5.6-terra")).toMatchObject({ alias: "gpt-5.6-terra", contextLength: 272000, rateMultiplier: 1.2 });
|
||||
expect(models.get("gpt-5.6-luna")).toMatchObject({ alias: "gpt-5.6-luna", contextLength: 272000, rateMultiplier: 0.6 });
|
||||
});
|
||||
});
|
||||
|
||||
describe("Kiro static provider models", () => {
|
||||
@@ -37,4 +44,47 @@ describe("Kiro static provider models", () => {
|
||||
"claude-sonnet-5-thinking-agentic",
|
||||
]));
|
||||
});
|
||||
|
||||
it("includes GPT-5.6 family and synthetic Kiro variants", () => {
|
||||
const models = new Map((PROVIDER_MODELS.kr || []).map((model) => [model.id, model]));
|
||||
const ids = [...models.keys()];
|
||||
expect(ids).toEqual(expect.arrayContaining([
|
||||
"gpt-5.6-sol",
|
||||
"gpt-5.6-sol-thinking",
|
||||
"gpt-5.6-sol-agentic",
|
||||
"gpt-5.6-sol-thinking-agentic",
|
||||
"gpt-5.6-terra",
|
||||
"gpt-5.6-terra-thinking",
|
||||
"gpt-5.6-terra-agentic",
|
||||
"gpt-5.6-terra-thinking-agentic",
|
||||
"gpt-5.6-luna",
|
||||
"gpt-5.6-luna-thinking",
|
||||
"gpt-5.6-luna-agentic",
|
||||
"gpt-5.6-luna-thinking-agentic",
|
||||
]));
|
||||
|
||||
for (const [id, rateMultiplier] of [
|
||||
["gpt-5.6-sol", 2.4],
|
||||
["gpt-5.6-sol-thinking", 2.4],
|
||||
["gpt-5.6-sol-agentic", 2.4],
|
||||
["gpt-5.6-sol-thinking-agentic", 2.4],
|
||||
["gpt-5.6-terra", 1.2],
|
||||
["gpt-5.6-terra-thinking", 1.2],
|
||||
["gpt-5.6-terra-agentic", 1.2],
|
||||
["gpt-5.6-terra-thinking-agentic", 1.2],
|
||||
["gpt-5.6-luna", 0.6],
|
||||
["gpt-5.6-luna-thinking", 0.6],
|
||||
["gpt-5.6-luna-agentic", 0.6],
|
||||
["gpt-5.6-luna-thinking-agentic", 0.6],
|
||||
]) {
|
||||
const model = models.get(id);
|
||||
const upstreamModelId = id.replace(/-(thinking-agentic|thinking|agentic)$/, "");
|
||||
expect(model).toMatchObject({
|
||||
contextLength: 272000,
|
||||
rateMultiplier,
|
||||
upstreamModelId,
|
||||
});
|
||||
expect(model.description).toContain("272k context window");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user