feat(opencode-go): upgrade glm-5 → glm-5.1 and kimi-k2.5 → kimi-k2.6 in fallback chains
This commit is contained in:
committed by
YeonGyu-Kim
parent
0727d9a1a3
commit
6cd40df4cb
@@ -4138,7 +4138,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"atlas": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.5",
|
||||
@@ -4189,7 +4189,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "high",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5",
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-opus-4.7",
|
||||
@@ -4206,7 +4206,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "high",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5",
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.5",
|
||||
@@ -4215,7 +4215,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"multimodal-looker": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-4.6v",
|
||||
@@ -4238,7 +4238,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "max",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5",
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.5",
|
||||
@@ -4251,7 +4251,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "high",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5",
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
@@ -4262,6 +4262,9 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
},
|
||||
"sisyphus": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
},
|
||||
@@ -4279,7 +4282,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"sisyphus-junior": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.5",
|
||||
@@ -4348,7 +4351,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "max",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5",
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.5",
|
||||
@@ -4361,7 +4364,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "medium",
|
||||
},
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3-flash",
|
||||
@@ -4379,7 +4382,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "medium",
|
||||
},
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3-flash",
|
||||
@@ -4399,6 +4402,9 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"model": "vercel/anthropic/claude-opus-4.7",
|
||||
"variant": "max",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
],
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
@@ -4406,7 +4412,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"writing": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/anthropic/claude-sonnet-4.6",
|
||||
@@ -4428,7 +4434,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"atlas": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.5",
|
||||
@@ -4479,7 +4485,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "high",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5",
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-opus-4.7",
|
||||
@@ -4496,7 +4502,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "high",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5",
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.5",
|
||||
@@ -4505,7 +4511,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"multimodal-looker": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-4.6v",
|
||||
@@ -4528,7 +4534,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "max",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5",
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.5",
|
||||
@@ -4541,7 +4547,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "high",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5",
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
@@ -4552,6 +4558,9 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
},
|
||||
"sisyphus": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
},
|
||||
@@ -4569,7 +4578,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"sisyphus-junior": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.5",
|
||||
@@ -4638,7 +4647,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "max",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5",
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.5",
|
||||
@@ -4653,6 +4662,9 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
{
|
||||
"model": "vercel/zai/glm-5",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
},
|
||||
@@ -4667,7 +4679,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"variant": "medium",
|
||||
},
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3-flash",
|
||||
@@ -4687,6 +4699,9 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"model": "vercel/anthropic/claude-opus-4.7",
|
||||
"variant": "max",
|
||||
},
|
||||
{
|
||||
"model": "vercel/zai/glm-5.1",
|
||||
},
|
||||
],
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
@@ -4694,7 +4709,7 @@ exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strin
|
||||
"writing": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/moonshotai/kimi-k2.5",
|
||||
"model": "vercel/moonshotai/kimi-k2.6",
|
||||
},
|
||||
{
|
||||
"model": "vercel/anthropic/claude-sonnet-4.6",
|
||||
|
||||
@@ -54,7 +54,7 @@ describe("detectCurrentConfig - single package detection", () => {
|
||||
it("detects OpenCode Go from the existing omo config", () => {
|
||||
// given
|
||||
writeFileSync(testConfigPath, JSON.stringify({ plugin: ["oh-my-opencode"] }, null, 2) + "\n", "utf-8")
|
||||
writeFileSync(testOmoConfigPath, JSON.stringify({ agents: { atlas: { model: "opencode-go/kimi-k2.5" } } }, null, 2) + "\n", "utf-8")
|
||||
writeFileSync(testOmoConfigPath, JSON.stringify({ agents: { atlas: { model: "opencode-go/kimi-k2.6" } } }, null, 2) + "\n", "utf-8")
|
||||
|
||||
// when
|
||||
const result = detectCurrentConfig()
|
||||
|
||||
@@ -31,13 +31,13 @@ describe("model-resolution-config", () => {
|
||||
process.env.OPENCODE_CONFIG_DIR = testConfigDir
|
||||
writeFileSync(
|
||||
join(testConfigDir, "oh-my-openagent.json"),
|
||||
JSON.stringify({ agents: { atlas: { model: "opencode-go/kimi-k2.5" } } }, null, 2) + "\n",
|
||||
JSON.stringify({ agents: { atlas: { model: "opencode-go/kimi-k2.6" } } }, null, 2) + "\n",
|
||||
"utf-8",
|
||||
)
|
||||
|
||||
const config = loadOmoConfig()
|
||||
|
||||
expect(config?.agents?.atlas?.model).toBe("opencode-go/kimi-k2.5")
|
||||
expect(config?.agents?.atlas?.model).toBe("opencode-go/kimi-k2.6")
|
||||
} finally {
|
||||
rmSync(testConfigDir, { recursive: true, force: true })
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ describe("model fallback hook", () => {
|
||||
|
||||
expect(secondOutput.message["model"]).toEqual({
|
||||
providerID: "opencode-go",
|
||||
modelID: "kimi-k2.5",
|
||||
modelID: "kimi-k2.6",
|
||||
})
|
||||
expect(secondOutput.message["variant"]).toBeUndefined()
|
||||
})
|
||||
|
||||
@@ -103,12 +103,12 @@ describe("buildPrometheusAgentConfig", () => {
|
||||
expect(result).toBeDefined();
|
||||
});
|
||||
|
||||
test("accepts glm-5 from fallback chain", async () => {
|
||||
test("accepts glm-5.1 from fallback chain", async () => {
|
||||
const result = await buildPrometheusAgentConfig({
|
||||
configAgentPlan: undefined,
|
||||
pluginPrometheusOverride: undefined,
|
||||
userCategories: undefined,
|
||||
currentModel: "opencode-go/glm-5",
|
||||
currentModel: "opencode-go/glm-5.1",
|
||||
});
|
||||
expect(result).toBeDefined();
|
||||
});
|
||||
|
||||
@@ -222,7 +222,7 @@ describe("createEventHandler - model fallback", () => {
|
||||
expect(promptCalls).toEqual([sessionID])
|
||||
expect(output.message["model"]).toMatchObject({
|
||||
providerID: "opencode-go",
|
||||
modelID: "kimi-k2.5",
|
||||
modelID: "kimi-k2.6",
|
||||
})
|
||||
expect(output.message["variant"]).toBeUndefined()
|
||||
})
|
||||
@@ -549,14 +549,14 @@ describe("createEventHandler - model fallback", () => {
|
||||
//#then - first fallback entry applied (no-op skip: claude-opus-4-7 matches current model after normalization)
|
||||
expect(first.message["model"]).toMatchObject({
|
||||
providerID: "opencode-go",
|
||||
modelID: "kimi-k2.5",
|
||||
modelID: "kimi-k2.6",
|
||||
})
|
||||
expect(first.message["variant"]).toBeUndefined()
|
||||
|
||||
//#when - second retry cycle
|
||||
const second = await triggerRetryCycle()
|
||||
|
||||
//#then - second fallback entry applied (chain advanced past opencode-go/kimi-k2.5)
|
||||
//#then - second fallback entry applied (chain advanced past opencode-go/kimi-k2.6)
|
||||
expect(second.message["model"]).toMatchObject({
|
||||
providerID: "kimi-for-coding",
|
||||
modelID: "k2p5",
|
||||
|
||||
@@ -41,7 +41,7 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
|
||||
|
||||
const second = sisyphus.fallbackChain[1]
|
||||
expect(second.providers).toEqual(["opencode-go", "vercel"])
|
||||
expect(second.model).toBe("kimi-k2.5")
|
||||
expect(second.model).toBe("kimi-k2.6")
|
||||
|
||||
const third = sisyphus.fallbackChain[2]
|
||||
expect(third.providers).toEqual(["kimi-for-coding"])
|
||||
@@ -138,7 +138,7 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
|
||||
const multimodalLooker = AGENT_MODEL_REQUIREMENTS["multimodal-looker"]
|
||||
|
||||
// when - accessing multimodal-looker requirement
|
||||
// then - fallbackChain: gpt-5.5 -> opencode-go/kimi-k2.5 -> glm-4.6v -> gpt-5-nano
|
||||
// then - fallbackChain: gpt-5.5 -> opencode-go/kimi-k2.6 -> glm-4.6v -> gpt-5-nano
|
||||
expect(multimodalLooker).toBeDefined()
|
||||
expect(multimodalLooker.fallbackChain).toBeArray()
|
||||
expect(multimodalLooker.fallbackChain).toHaveLength(4)
|
||||
@@ -150,7 +150,7 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
|
||||
|
||||
const secondary = multimodalLooker.fallbackChain[1]
|
||||
expect(secondary.providers).toEqual(["opencode-go", "vercel"])
|
||||
expect(secondary.model).toBe("kimi-k2.5")
|
||||
expect(secondary.model).toBe("kimi-k2.6")
|
||||
|
||||
const tertiary = multimodalLooker.fallbackChain[2]
|
||||
expect(tertiary.model).toBe("glm-4.6v")
|
||||
@@ -230,7 +230,7 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
|
||||
expect(primary.providers[0]).toBe("anthropic")
|
||||
|
||||
const secondary = atlas.fallbackChain[1]
|
||||
expect(secondary.model).toBe("kimi-k2.5")
|
||||
expect(secondary.model).toBe("kimi-k2.6")
|
||||
expect(secondary.providers[0]).toBe("opencode-go")
|
||||
|
||||
const tertiary = atlas.fallbackChain[2]
|
||||
@@ -353,7 +353,7 @@ describe("CATEGORY_MODEL_REQUIREMENTS", () => {
|
||||
const visualEngineering = CATEGORY_MODEL_REQUIREMENTS["visual-engineering"]
|
||||
|
||||
// when - accessing visual-engineering requirement
|
||||
// then - fallbackChain: gemini-3.1-pro(high) → glm-5 → opus-4-6(max) → opencode-go/glm-5 → k2p5
|
||||
// then - fallbackChain: gemini-3.1-pro(high) → glm-5 → opus-4-6(max) → opencode-go/glm-5.1 → k2p5
|
||||
expect(visualEngineering).toBeDefined()
|
||||
expect(visualEngineering.fallbackChain).toBeArray()
|
||||
expect(visualEngineering.fallbackChain).toHaveLength(5)
|
||||
@@ -373,7 +373,7 @@ describe("CATEGORY_MODEL_REQUIREMENTS", () => {
|
||||
|
||||
const fourth = visualEngineering.fallbackChain[3]
|
||||
expect(fourth.providers[0]).toBe("opencode-go")
|
||||
expect(fourth.model).toBe("glm-5")
|
||||
expect(fourth.model).toBe("glm-5.1")
|
||||
|
||||
const fifth = visualEngineering.fallbackChain[4]
|
||||
expect(fifth.providers[0]).toBe("kimi-for-coding")
|
||||
@@ -466,7 +466,7 @@ describe("CATEGORY_MODEL_REQUIREMENTS", () => {
|
||||
expect(primary.providers[0]).toBe("google")
|
||||
|
||||
const second = writing.fallbackChain[1]
|
||||
expect(second.model).toBe("kimi-k2.5")
|
||||
expect(second.model).toBe("kimi-k2.6")
|
||||
expect(second.providers[0]).toBe("opencode-go")
|
||||
|
||||
const third = writing.fallbackChain[2]
|
||||
|
||||
@@ -25,7 +25,7 @@ export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
model: "claude-opus-4-7",
|
||||
variant: "max",
|
||||
},
|
||||
{ providers: ["opencode-go", "vercel"], model: "kimi-k2.5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
|
||||
{ providers: ["kimi-for-coding"], model: "k2p5" },
|
||||
{
|
||||
providers: [
|
||||
@@ -72,7 +72,7 @@ export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
model: "claude-opus-4-7",
|
||||
variant: "max",
|
||||
},
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5.1" },
|
||||
],
|
||||
},
|
||||
librarian: {
|
||||
@@ -98,7 +98,7 @@ export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
"multimodal-looker": {
|
||||
fallbackChain: [
|
||||
{ providers: ["openai", "opencode", "vercel"], model: "gpt-5.5", variant: "medium" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "kimi-k2.5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
|
||||
{ providers: ["zai-coding-plan", "vercel"], model: "glm-4.6v" },
|
||||
{ providers: ["openai", "github-copilot", "opencode", "vercel"], model: "gpt-5-nano" },
|
||||
],
|
||||
@@ -115,7 +115,7 @@ export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
model: "gpt-5.5",
|
||||
variant: "high",
|
||||
},
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5.1" },
|
||||
{
|
||||
providers: ["google", "github-copilot", "opencode", "vercel"],
|
||||
model: "gemini-3.1-pro",
|
||||
@@ -134,7 +134,7 @@ export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
model: "gpt-5.5",
|
||||
variant: "high",
|
||||
},
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5.1" },
|
||||
{ providers: ["kimi-for-coding"], model: "k2p5" },
|
||||
],
|
||||
},
|
||||
@@ -155,13 +155,13 @@ export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
model: "gemini-3.1-pro",
|
||||
variant: "high",
|
||||
},
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5.1" },
|
||||
],
|
||||
},
|
||||
atlas: {
|
||||
fallbackChain: [
|
||||
{ providers: ["anthropic", "github-copilot", "opencode", "vercel"], model: "claude-sonnet-4-6" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "kimi-k2.5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
|
||||
{
|
||||
providers: ["openai", "github-copilot", "opencode", "vercel"],
|
||||
model: "gpt-5.5",
|
||||
@@ -173,7 +173,7 @@ export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
"sisyphus-junior": {
|
||||
fallbackChain: [
|
||||
{ providers: ["anthropic", "github-copilot", "opencode", "vercel"], model: "claude-sonnet-4-6" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "kimi-k2.5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
|
||||
{
|
||||
providers: ["openai", "github-copilot", "opencode", "vercel"],
|
||||
model: "gpt-5.5",
|
||||
@@ -199,7 +199,7 @@ export const CATEGORY_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
model: "claude-opus-4-7",
|
||||
variant: "max",
|
||||
},
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5.1" },
|
||||
{ providers: ["kimi-for-coding"], model: "k2p5" },
|
||||
],
|
||||
},
|
||||
@@ -220,7 +220,7 @@ export const CATEGORY_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
model: "claude-opus-4-7",
|
||||
variant: "max",
|
||||
},
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5.1" },
|
||||
],
|
||||
},
|
||||
deep: {
|
||||
@@ -286,7 +286,7 @@ export const CATEGORY_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
model: "gpt-5.3-codex",
|
||||
variant: "medium",
|
||||
},
|
||||
{ providers: ["opencode-go", "vercel"], model: "kimi-k2.5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
|
||||
{
|
||||
providers: ["google", "github-copilot", "opencode", "vercel"],
|
||||
model: "gemini-3-flash",
|
||||
@@ -308,7 +308,7 @@ export const CATEGORY_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
},
|
||||
{ providers: ["zai-coding-plan", "opencode", "vercel"], model: "glm-5" },
|
||||
{ providers: ["kimi-for-coding"], model: "k2p5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "glm-5.1" },
|
||||
{ providers: ["opencode", "vercel"], model: "kimi-k2.5" },
|
||||
{
|
||||
providers: [
|
||||
@@ -330,7 +330,7 @@ export const CATEGORY_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
providers: ["google", "github-copilot", "opencode", "vercel"],
|
||||
model: "gemini-3-flash",
|
||||
},
|
||||
{ providers: ["opencode-go", "vercel"], model: "kimi-k2.5" },
|
||||
{ providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
|
||||
{
|
||||
providers: ["anthropic", "github-copilot", "opencode", "vercel"],
|
||||
model: "claude-sonnet-4-6",
|
||||
|
||||
@@ -272,7 +272,7 @@ describe("executeSyncTask - cleanup on error paths", () => {
|
||||
}
|
||||
const fallbackChain = [
|
||||
{ providers: ["anthropic"], model: "claude-opus-4-7", variant: "max" },
|
||||
{ providers: ["opencode-go"], model: "kimi-k2.5" },
|
||||
{ providers: ["opencode-go"], model: "kimi-k2.6" },
|
||||
]
|
||||
|
||||
//#when
|
||||
@@ -282,10 +282,10 @@ describe("executeSyncTask - cleanup on error paths", () => {
|
||||
|
||||
//#then
|
||||
expect(result).toContain("Task completed")
|
||||
expect(result).toContain("Model: opencode-go/kimi-k2.5")
|
||||
expect(result).toContain("Model: opencode-go/kimi-k2.6")
|
||||
expect(attemptedModels).toEqual([
|
||||
{ providerID: "anthropic", modelID: "claude-opus-4-7", variant: "max" },
|
||||
{ providerID: "opencode-go", modelID: "kimi-k2.5", variant: undefined },
|
||||
{ providerID: "opencode-go", modelID: "kimi-k2.6", variant: undefined },
|
||||
])
|
||||
})
|
||||
|
||||
@@ -339,7 +339,7 @@ describe("executeSyncTask - cleanup on error paths", () => {
|
||||
}
|
||||
const fallbackChain = [
|
||||
{ providers: ["anthropic"], model: "claude-opus-4-7", variant: "max" },
|
||||
{ providers: ["opencode-go"], model: "kimi-k2.5" },
|
||||
{ providers: ["opencode-go"], model: "kimi-k2.6" },
|
||||
{ providers: ["openai"], model: "gpt-5.4", variant: "medium" },
|
||||
]
|
||||
|
||||
@@ -352,7 +352,7 @@ describe("executeSyncTask - cleanup on error paths", () => {
|
||||
expect(result).toBe("Final failure")
|
||||
expect(attemptedModels).toEqual([
|
||||
{ providerID: "anthropic", modelID: "claude-opus-4-7", variant: "max" },
|
||||
{ providerID: "opencode-go", modelID: "kimi-k2.5", variant: undefined },
|
||||
{ providerID: "opencode-go", modelID: "kimi-k2.6", variant: undefined },
|
||||
{ providerID: "openai", modelID: "gpt-5.4", variant: "medium" },
|
||||
])
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user