feat(agents): simplify GPT detection to name-based check, add hephaestus providers (venice uses gpt-5.3-codex)

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-02-26 12:13:31 +09:00
parent b7b6721796
commit 87d6b2b519
5 changed files with 25 additions and 21 deletions
+3 -3
View File
@@ -168,14 +168,14 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
expect(primary.providers[0]).toBe("opencode")
})
test("hephaestus requires openai/opencode provider (not github-copilot since gpt-5.3-codex unavailable there)", () => {
test("hephaestus supports openai, github-copilot, venice, and opencode providers", () => {
// #given - hephaestus agent requirement
const hephaestus = AGENT_MODEL_REQUIREMENTS["hephaestus"]
// #when - accessing hephaestus requirement
// #then - requiresProvider is set to openai and opencode only (github-copilot removed)
// #then - requiresProvider includes openai, github-copilot, venice, and opencode
expect(hephaestus).toBeDefined()
expect(hephaestus.requiresProvider).toEqual(["openai", "opencode"])
expect(hephaestus.requiresProvider).toEqual(["openai", "github-copilot", "venice", "opencode"])
expect(hephaestus.requiresModel).toBeUndefined()
})
+3 -2
View File
@@ -24,9 +24,10 @@ export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
},
hephaestus: {
fallbackChain: [
{ providers: ["openai", "opencode"], model: "gpt-5.3-codex", variant: "medium" },
{ providers: ["openai", "venice", "opencode"], model: "gpt-5.3-codex", variant: "medium" },
{ providers: ["github-copilot"], model: "gpt-5.2", variant: "medium" },
],
requiresProvider: ["openai", "opencode"],
requiresProvider: ["openai", "github-copilot", "venice", "opencode"],
},
oracle: {
fallbackChain: [