/** * Role Registry — resolves agent roles from config + naming convention. * * AC-22.6: Dual-source role resolution: * 1. Explicit config mapping (agentId → role) * 2. AgentId naming convention (prefix-based: pm-01 → Product, audit-01 → Auditor) * * AC-22.7: Role mappings are fully configurable via SevoConfig. */ /** Pipeline role that maps to stage requirements. */ export type PipelineRole = 'Product' | 'UX' | 'Architect' | 'Coder' | 'Auditor' | 'Any'; export interface RoleRegistryConfig { /** Explicit agentId → role mapping (highest priority). */ agentRoles?: Record; /** Additional naming convention patterns (merged with defaults). */ namingPatterns?: Array<{ pattern: string; role: PipelineRole; }>; } export declare class RoleRegistry { private readonly agentRoles; private readonly namingPatterns; constructor(config?: RoleRegistryConfig); /** * Resolve the role for a given agentId. * Priority: explicit config > naming convention > null. */ resolveRole(agentId: string): PipelineRole | null; /** * Check if an agent's role matches a required role. * 'Any' always matches. null role (unknown agent) does not match. */ matches(agentRole: PipelineRole | null, requiredRole: PipelineRole): boolean; /** * List all known agent-role assignments (config-based only). */ listExplicitRoles(): Record; } //# sourceMappingURL=role-registry.d.ts.map