import type { AgentConfig, AgentScope } from "./agents.js"; export function mergeAgentsForScope( scope: AgentScope, userAgents: AgentConfig[], projectAgents: AgentConfig[], builtinAgents: AgentConfig[] = [], ): AgentConfig[] { const agentMap = new Map(); for (const agent of builtinAgents) { agentMap.set(agent.name, agent); } if (scope === "both") { for (const agent of userAgents) { agentMap.set(agent.name, agent); } for (const agent of projectAgents) { agentMap.set(agent.name, agent); } } else if (scope === "user") { for (const agent of userAgents) { agentMap.set(agent.name, agent); } } else { for (const agent of projectAgents) { agentMap.set(agent.name, agent); } } return [...agentMap.values()]; }