import type { AgentInfo } from '../types.js';
import { generalAgent } from './general.js';
import { exploreAgent } from './explore.js';
import { codeReviewerAgent } from './code-reviewer.js';
import { buildAgent } from './build.js';
import { planAgent } from './plan.js';
import { visionAgent } from './vision.js';
import { summaryAgent } from './summary.js';

/**
 * 预设 Agent 集合
 */
export const presetAgents: Record<string, Omit<AgentInfo, 'name'>> = {
  general: generalAgent,
  explore: exploreAgent,
  'code-reviewer': codeReviewerAgent,
  build: buildAgent,
  plan: planAgent,
  vision: visionAgent,
  summary: summaryAgent,
};

/**
 * 获取所有预设 Agent 名称
 */
export function getPresetAgentNames(): string[] {
  return Object.keys(presetAgents);
}

/**
 * 检查是否为预设 Agent
 */
export function isPresetAgent(name: string): boolean {
  return name in presetAgents;
}

export { generalAgent, exploreAgent, codeReviewerAgent, buildAgent, planAgent, visionAgent, summaryAgent };
