import { DEFAULT_FRONT_AGENTS, DEFAULT_BACK_AGENTS, DEFAULT_FULLSTACK_AGENTS, DEFAULT_DOC_AGENTS, } from '../../../../modules/review-execution/entities/progress/agentDefinition.type.js';
export const REVIEW_FOCUS_VALUES = ['front', 'back', 'fullstack', 'doc'];
export function isReviewFocus(value) {
    if (typeof value !== 'string') {
        return false;
    }
    return REVIEW_FOCUS_VALUES.includes(value);
}
export function reviewSkillForFocus(focus) {
    return `review-${focus}`;
}
const FOCUS_TO_AGENTS = {
    front: DEFAULT_FRONT_AGENTS,
    back: DEFAULT_BACK_AGENTS,
    fullstack: DEFAULT_FULLSTACK_AGENTS,
    doc: DEFAULT_DOC_AGENTS,
};
export function defaultAgentsForFocus(focus) {
    return FOCUS_TO_AGENTS[focus];
}
export function dedupAgents(agents) {
    const seen = new Map();
    for (const agent of agents) {
        if (!seen.has(agent.name)) {
            seen.set(agent.name, agent);
        }
    }
    return [...seen.values()];
}
//# sourceMappingURL=reviewFocus.type.js.map