export { BaseAgent, AgentContext, AgentResult, backendResultToAgentResult } from "./base.js"; export { OrchestratorAgent } from "./orchestrator.js"; export { PlannerAgent } from "./planner.js"; export { ExecutorAgent } from "./executor.js"; export { VerifierAgent } from "./verifier.js"; export { ResearcherAgent } from "./researcher.js"; export { ChallengerAgent } from "./challenger.js"; export { SecurityAuditorAgent } from "./security-auditor.js"; export { DebuggerAgent } from "./debugger.js"; export { DocWriterAgent } from "./doc-writer.js"; export { DocVerifierAgent } from "./doc-verifier.js"; export { CodeReviewerAgent } from "./code-reviewer.js"; export { IdeationAgent } from "./ideation-agent.js"; export { RoadmapperAgent } from "./roadmapper.js"; export { PlanCheckerAgent } from "./plan-checker.js"; export { ProjectResearcherAgent } from "./project-researcher.js"; export { ResearchSynthesizerAgent } from "./research-synthesizer.js"; export { SolutionWriterAgent } from "./solution-writer.js"; export { PhaseResearcherAgent } from "./phase-researcher.js"; export { TesterAgent } from "./tester.js"; import { AgentName } from "../types/config.js"; import { BaseAgent as BaseAgentType } from "./base.js"; import { OrchestratorAgent } from "./orchestrator.js"; import { PlannerAgent } from "./planner.js"; import { ExecutorAgent } from "./executor.js"; import { VerifierAgent } from "./verifier.js"; import { ResearcherAgent } from "./researcher.js"; import { ChallengerAgent } from "./challenger.js"; import { SecurityAuditorAgent } from "./security-auditor.js"; import { DebuggerAgent } from "./debugger.js"; import { DocWriterAgent } from "./doc-writer.js"; import { DocVerifierAgent } from "./doc-verifier.js"; import { CodeReviewerAgent } from "./code-reviewer.js"; import { IdeationAgent } from "./ideation-agent.js"; import { RoadmapperAgent } from "./roadmapper.js"; import { PlanCheckerAgent } from "./plan-checker.js"; import { ProjectResearcherAgent } from "./project-researcher.js"; import { ResearchSynthesizerAgent } from "./research-synthesizer.js"; import { SolutionWriterAgent } from "./solution-writer.js"; import { PhaseResearcherAgent } from "./phase-researcher.js"; import { TesterAgent } from "./tester.js"; const agentRegistry: Record BaseAgentType> = { orchestrator: () => new OrchestratorAgent(), planner: () => new PlannerAgent(), executor: () => new ExecutorAgent(), verifier: () => new VerifierAgent(), researcher: () => new ResearcherAgent(), "phase-researcher": () => new PhaseResearcherAgent(), challenger: () => new ChallengerAgent(), "security-auditor": () => new SecurityAuditorAgent(), debugger: () => new DebuggerAgent(), "doc-writer": () => new DocWriterAgent(), "doc-verifier": () => new DocVerifierAgent(), "code-reviewer": () => new CodeReviewerAgent(), "ideation-agent": () => new IdeationAgent(), roadmapper: () => new RoadmapperAgent(), "plan-checker": () => new PlanCheckerAgent(), "project-researcher": () => new ProjectResearcherAgent(), "research-synthesizer": () => new ResearchSynthesizerAgent(), "solution-writer": () => new SolutionWriterAgent(), tester: () => new TesterAgent(), }; export function getAgent(name: AgentName): BaseAgentType { const factory = agentRegistry[name]; if (!factory) throw new Error(`Unknown agent: ${name}`); return factory(); } export function getAvailableAgents(): AgentName[] { return Object.keys(agentRegistry) as AgentName[]; }