74 lines
3.5 KiB
TypeScript
74 lines
3.5 KiB
TypeScript
export { BaseAgent, AgentContext, AgentResult, backendResultToAgentResult } from "./base.js";
|
|
export { OrchestratorAgent } from "./orchestrator.js";
|
|
export { PlannerAgent, PlannerResult } from "./planner.js";
|
|
export { ExecutorAgent, ExecutorResult } from "./executor.js";
|
|
export { VerifierAgent, VerifierResult } from "./verifier.js";
|
|
export { ResearcherAgent, ResearcherResult } 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, TesterResult } 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<AgentName, () => 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[];
|
|
} |