From c1fab24b461fa830ff013cd17e1e44612d4cf456 Mon Sep 17 00:00:00 2001 From: ismeth Date: Thu, 12 Feb 2026 14:13:04 +0100 Subject: [PATCH] feat(04-01): register Athena in builtin agent resolution maps - add Athena factory and prompt metadata to builtin agent sources - define Athena fallback chain in AGENT_MODEL_REQUIREMENTS for primary resolution --- src/agents/builtin-agents.ts | 3 +++ src/shared/model-requirements.ts | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/agents/builtin-agents.ts b/src/agents/builtin-agents.ts index fa2cf8385..43c9b1f30 100644 --- a/src/agents/builtin-agents.ts +++ b/src/agents/builtin-agents.ts @@ -12,6 +12,7 @@ import { createMetisAgent, metisPromptMetadata } from "./metis" import { createAtlasAgent, atlasPromptMetadata } from "./atlas" import { createMomusAgent, momusPromptMetadata } from "./momus" import { createHephaestusAgent } from "./hephaestus" +import { createAthenaAgent, ATHENA_PROMPT_METADATA } from "./athena/agent" import type { AvailableCategory } from "./dynamic-agent-prompt-builder" import { fetchAvailableModels, @@ -38,6 +39,7 @@ const agentSources: Partial> = { "multimodal-looker": createMultimodalLookerAgent, metis: createMetisAgent, momus: createMomusAgent, + athena: createAthenaAgent, // Note: Atlas is handled specially in createBuiltinAgents() // because it needs OrchestratorContext, not just a model string atlas: createAtlasAgent as AgentFactory, @@ -54,6 +56,7 @@ const agentMetadata: Partial> = { "multimodal-looker": MULTIMODAL_LOOKER_PROMPT_METADATA, metis: metisPromptMetadata, momus: momusPromptMetadata, + athena: ATHENA_PROMPT_METADATA, atlas: atlasPromptMetadata, } diff --git a/src/shared/model-requirements.ts b/src/shared/model-requirements.ts index d382fb4ed..50497059c 100644 --- a/src/shared/model-requirements.ts +++ b/src/shared/model-requirements.ts @@ -89,6 +89,17 @@ export const AGENT_MODEL_REQUIREMENTS: Record = { { providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2" }, ], }, + athena: { + fallbackChain: [ + { providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-6", variant: "max" }, + { providers: ["kimi-for-coding"], model: "k2p5" }, + { providers: ["opencode"], model: "kimi-k2.5-free" }, + { providers: ["zai-coding-plan"], model: "glm-4.7" }, + { providers: ["opencode"], model: "glm-4.7-free" }, + { providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2", variant: "high" }, + { providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro", variant: "high" }, + ], + }, } export const CATEGORY_MODEL_REQUIREMENTS: Record = {