refactor(agents): unify Metis/Momus to use factory pattern

Convert static agent exports to factory functions for consistency:
- Metis: add createMetisAgent(model) factory function
- Update agentSources to use createMetisAgent, createMomusAgent

This ensures model overrides work consistently across all agents.
This commit is contained in:
YeonGyu-Kim 2026-01-09 15:31:19 +09:00
parent e9aa805c3f
commit afdc25744f
2 changed files with 20 additions and 14 deletions

View File

@ -278,16 +278,22 @@ const metisRestrictions = createAgentToolRestrictions([
"sisyphus_task", "sisyphus_task",
]) ])
export const metisAgent: AgentConfig = { const DEFAULT_MODEL = "anthropic/claude-opus-4-5"
description:
"Pre-planning consultant that analyzes requests to identify hidden intentions, ambiguities, and AI failure points.", export function createMetisAgent(model: string = DEFAULT_MODEL): AgentConfig {
mode: "subagent" as const, return {
model: "anthropic/claude-opus-4-5", description:
temperature: 0.3, "Pre-planning consultant that analyzes requests to identify hidden intentions, ambiguities, and AI failure points.",
...metisRestrictions, mode: "subagent" as const,
prompt: METIS_SYSTEM_PROMPT, model,
thinking: { type: "enabled", budgetTokens: 32000 }, temperature: 0.3,
} as AgentConfig ...metisRestrictions,
prompt: METIS_SYSTEM_PROMPT,
thinking: { type: "enabled", budgetTokens: 32000 },
} as AgentConfig
}
export const metisAgent: AgentConfig = createMetisAgent()
export const metisPromptMetadata: AgentPromptMetadata = { export const metisPromptMetadata: AgentPromptMetadata = {
category: "advisor", category: "advisor",

View File

@ -7,9 +7,9 @@ import { createExploreAgent, EXPLORE_PROMPT_METADATA } from "./explore"
import { createFrontendUiUxEngineerAgent, FRONTEND_PROMPT_METADATA } from "./frontend-ui-ux-engineer" import { createFrontendUiUxEngineerAgent, FRONTEND_PROMPT_METADATA } from "./frontend-ui-ux-engineer"
import { createDocumentWriterAgent, DOCUMENT_WRITER_PROMPT_METADATA } from "./document-writer" import { createDocumentWriterAgent, DOCUMENT_WRITER_PROMPT_METADATA } from "./document-writer"
import { createMultimodalLookerAgent, MULTIMODAL_LOOKER_PROMPT_METADATA } from "./multimodal-looker" import { createMultimodalLookerAgent, MULTIMODAL_LOOKER_PROMPT_METADATA } from "./multimodal-looker"
import { metisAgent } from "./metis" import { createMetisAgent } from "./metis"
import { createOrchestratorSisyphusAgent, orchestratorSisyphusAgent } from "./orchestrator-sisyphus" import { createOrchestratorSisyphusAgent, orchestratorSisyphusAgent } from "./orchestrator-sisyphus"
import { momusAgent } from "./momus" import { createMomusAgent } from "./momus"
import type { AvailableAgent } from "./sisyphus-prompt-builder" import type { AvailableAgent } from "./sisyphus-prompt-builder"
import { deepMerge } from "../shared" import { deepMerge } from "../shared"
import { DEFAULT_CATEGORIES } from "../tools/sisyphus-task/constants" import { DEFAULT_CATEGORIES } from "../tools/sisyphus-task/constants"
@ -25,8 +25,8 @@ const agentSources: Record<BuiltinAgentName, AgentSource> = {
"frontend-ui-ux-engineer": createFrontendUiUxEngineerAgent, "frontend-ui-ux-engineer": createFrontendUiUxEngineerAgent,
"document-writer": createDocumentWriterAgent, "document-writer": createDocumentWriterAgent,
"multimodal-looker": createMultimodalLookerAgent, "multimodal-looker": createMultimodalLookerAgent,
"Metis (Plan Consultant)": metisAgent, "Metis (Plan Consultant)": createMetisAgent,
"Momus (Plan Reviewer)": momusAgent, "Momus (Plan Reviewer)": createMomusAgent,
"orchestrator-sisyphus": orchestratorSisyphusAgent, "orchestrator-sisyphus": orchestratorSisyphusAgent,
} }