feat(kiro): add claude-opus-5.5 models to registry and capabilities
This commit is contained in:
1 parent
1fd208e2b1
commit
e78b766a20
3 files changed
+90
-2
No files matched your search
@@ -83,8 +83,13 @@ export function capabilitiesFromServiceKind(kind) {
|
|||||||
* otherwise mis-match. Only declare deltas vs DEFAULT.
|
* otherwise mis-match. Only declare deltas vs DEFAULT.
|
||||||
*/
|
*/
|
||||||
export const MODEL_CAPABILITIES = {
|
export const MODEL_CAPABILITIES = {
|
||||||
// Claude Fable 5.1, Opus 5, 4.6/4.7/4.8, and Kiro Sonnet 5 have 1M context + adaptive thinking (override generic claude pattern)
|
// Claude Fable 5.1, Opus 5.5/5, 4.6/4.7/4.8, and Kiro Sonnet 5 have 1M context + adaptive thinking (override generic claude pattern)
|
||||||
"claude-fable-5-1": { vision: true, reasoning: true, search: true, thinkingFormat: "claude-adaptive", thinkingCanDisable: false, contextWindow: 1000000, maxOutput: 128000 },
|
"claude-fable-5-1": { vision: true, reasoning: true, search: true, thinkingFormat: "claude-adaptive", thinkingCanDisable: false, contextWindow: 1000000, maxOutput: 128000 },
|
||||||
|
// Claude Opus 5.5 — experimental preview on Kiro (rateMultiplier: 2.0, 1M context) (#4410)
|
||||||
|
"claude-opus-5.5": { vision: true, reasoning: true, search: true, thinkingFormat: "claude-adaptive", contextWindow: 1000000, maxOutput: 128000 },
|
||||||
|
"claude-opus-5.5-thinking": { vision: true, reasoning: true, search: true, thinkingFormat: "claude-adaptive", contextWindow: 1000000, maxOutput: 128000 },
|
||||||
|
"claude-opus-5.5-agentic": { vision: true, reasoning: true, search: true, thinkingFormat: "claude-adaptive", contextWindow: 1000000, maxOutput: 128000 },
|
||||||
|
"claude-opus-5.5-thinking-agentic": { vision: true, reasoning: true, search: true, thinkingFormat: "claude-adaptive", contextWindow: 1000000, maxOutput: 128000 },
|
||||||
"claude-opus-5": { vision: true, reasoning: true, search: true, thinkingFormat: "claude-adaptive", contextWindow: 1000000, maxOutput: 128000 },
|
"claude-opus-5": { vision: true, reasoning: true, search: true, thinkingFormat: "claude-adaptive", contextWindow: 1000000, maxOutput: 128000 },
|
||||||
"claude-opus-5-thinking": { vision: true, reasoning: true, search: true, thinkingFormat: "claude-adaptive", contextWindow: 1000000, maxOutput: 128000 },
|
"claude-opus-5-thinking": { vision: true, reasoning: true, search: true, thinkingFormat: "claude-adaptive", contextWindow: 1000000, maxOutput: 128000 },
|
||||||
"claude-opus-5-agentic": { vision: true, reasoning: true, search: true, thinkingFormat: "claude-adaptive", contextWindow: 1000000, maxOutput: 128000 },
|
"claude-opus-5-agentic": { vision: true, reasoning: true, search: true, thinkingFormat: "claude-adaptive", contextWindow: 1000000, maxOutput: 128000 },
|
||||||
|
|||||||
@@ -41,7 +41,13 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
models: [
|
models: [
|
||||||
// Opus (added per kiro.dev/changelog/models and kiro.dev/docs/models)
|
// Opus 5.5 — experimental preview, 1M context, 2x credits (#4410)
|
||||||
|
// Announced 2026-09-22; confirmed in kiro.dev session UI.
|
||||||
|
{ id: "claude-opus-5.5", name: "Claude Opus 5.5" },
|
||||||
|
{ id: "claude-opus-5.5-thinking", name: "Claude Opus 5.5 (Thinking)" },
|
||||||
|
{ id: "claude-opus-5.5-agentic", name: "Claude Opus 5.5 (Agentic)" },
|
||||||
|
{ id: "claude-opus-5.5-thinking-agentic", name: "Claude Opus 5.5 (Thinking + Agentic)" },
|
||||||
|
// Opus 5
|
||||||
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
{ id: "claude-opus-5", name: "Claude Opus 5" },
|
||||||
{ id: "claude-opus-5-thinking", name: "Claude Opus 5 (Thinking)" },
|
{ id: "claude-opus-5-thinking", name: "Claude Opus 5 (Thinking)" },
|
||||||
{ id: "claude-opus-5-agentic", name: "Claude Opus 5 (Agentic)" },
|
{ id: "claude-opus-5-agentic", name: "Claude Opus 5 (Agentic)" },
|
||||||
|
|||||||
@@ -0,0 +1,77 @@
|
|||||||
|
/**
|
||||||
|
* Tests for #4410 — Kiro registry missing claude-opus-5.5 models.
|
||||||
|
*
|
||||||
|
* Kiro added Claude Opus 5.5 as an experimental preview on 2026-09-22.
|
||||||
|
* The model was missing from open-sse/providers/registry/kiro.js and
|
||||||
|
* open-sse/providers/capabilities.js.
|
||||||
|
*
|
||||||
|
* Fix:
|
||||||
|
* - Add claude-opus-5.5 / -thinking / -agentic / -thinking-agentic to kiro.js
|
||||||
|
* - Add capability entries (vision, reasoning, search, 1M context, adaptive thinking)
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { describe, it, expect } from "vitest";
|
||||||
|
import { getCapabilitiesForModel } from "../../open-sse/providers/capabilities.js";
|
||||||
|
import fs from "fs";
|
||||||
|
import path from "path";
|
||||||
|
|
||||||
|
const kiroSrc = fs.readFileSync(
|
||||||
|
new URL("../../open-sse/providers/registry/kiro.js", import.meta.url),
|
||||||
|
"utf-8"
|
||||||
|
);
|
||||||
|
|
||||||
|
describe("Kiro registry — claude-opus-5.5 (#4410)", () => {
|
||||||
|
it("includes claude-opus-5.5 in kiro registry", () => {
|
||||||
|
expect(kiroSrc).toContain('"claude-opus-5.5"');
|
||||||
|
});
|
||||||
|
|
||||||
|
it("includes claude-opus-5.5-thinking in kiro registry", () => {
|
||||||
|
expect(kiroSrc).toContain('"claude-opus-5.5-thinking"');
|
||||||
|
});
|
||||||
|
|
||||||
|
it("includes claude-opus-5.5-agentic in kiro registry", () => {
|
||||||
|
expect(kiroSrc).toContain('"claude-opus-5.5-agentic"');
|
||||||
|
});
|
||||||
|
|
||||||
|
it("includes claude-opus-5.5-thinking-agentic in kiro registry", () => {
|
||||||
|
expect(kiroSrc).toContain('"claude-opus-5.5-thinking-agentic"');
|
||||||
|
});
|
||||||
|
|
||||||
|
it("claude-opus-5 still present (regression guard)", () => {
|
||||||
|
expect(kiroSrc).toContain('"claude-opus-5"');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("capabilities — claude-opus-5.5 (#4410)", () => {
|
||||||
|
it("claude-opus-5.5 has vision:true", () => {
|
||||||
|
const caps = getCapabilitiesForModel("kiro", "claude-opus-5.5");
|
||||||
|
expect(caps.vision).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("claude-opus-5.5 has reasoning:true", () => {
|
||||||
|
const caps = getCapabilitiesForModel("kiro", "claude-opus-5.5");
|
||||||
|
expect(caps.reasoning).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("claude-opus-5.5 has contextWindow 1M", () => {
|
||||||
|
const caps = getCapabilitiesForModel("kiro", "claude-opus-5.5");
|
||||||
|
expect(caps.contextWindow).toBe(1000000);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("claude-opus-5.5 has maxOutput 128000", () => {
|
||||||
|
const caps = getCapabilitiesForModel("kiro", "claude-opus-5.5");
|
||||||
|
expect(caps.maxOutput).toBe(128000);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("claude-opus-5.5-thinking has same capabilities", () => {
|
||||||
|
const caps = getCapabilitiesForModel("kiro", "claude-opus-5.5-thinking");
|
||||||
|
expect(caps.vision).toBe(true);
|
||||||
|
expect(caps.reasoning).toBe(true);
|
||||||
|
expect(caps.contextWindow).toBe(1000000);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("claude-opus-5 still has 1M context (regression guard)", () => {
|
||||||
|
const caps = getCapabilitiesForModel("kiro", "claude-opus-5");
|
||||||
|
expect(caps.contextWindow).toBe(1000000);
|
||||||
|
});
|
||||||
|
});
|
||||||
Reference in new issue
Block a user