/** * Agent Selection Utility for Fortress Framework * * Manages intelligent agent selection based on project type, industry, * and scale. Always installs 8 core agents and recommends additional * agents for specific use cases. */ import { ProjectType } from '../types/fortress-types'; /** * Result of agent selection process */ export interface AgentSelectionResult { /** Core agents that are always installed */ readonly core: string[]; /** Recommended agents based on project context */ readonly recommended: string[]; /** All available agents */ readonly all: string[]; } /** * Agent metadata for UI display */ export interface AgentMetadata { readonly name: string; readonly description: string; readonly category: 'core' | 'development' | 'architecture' | 'quality' | 'specialized'; readonly applicableProjectTypes: ProjectType[]; } /** * Agent selection engine */ export declare class AgentSelector { /** * Core agents that are always installed in every project */ private static readonly CORE_AGENTS; /** * Additional agents available for selection */ private static readonly SELECTABLE_AGENTS; /** * Agent descriptions for UI display */ private static readonly AGENT_DESCRIPTIONS; /** * Compliance requirements by industry */ private static readonly COMPLIANCE_INDUSTRIES; /** * Returns core agents that are always installed */ static getCoreAgents(): string[]; /** * Returns all selectable agents */ static getSelectableAgents(): string[]; /** * Returns all available agents (core + selectable) */ static getAllAgents(): string[]; /** * Get recommended agents based on project type and industry * * @param projectType - Type of project being created * @param industry - Industry domain * @returns Array of recommended agent names */ static getRecommendedAgents(projectType: string, industry: string): string[]; /** * Get agent description for UI display * * @param agentName - Name of the agent * @returns Human-readable description */ static getAgentDescription(agentName: string): string; /** * Get agent metadata for detailed display * * @param agentName - Name of the agent * @returns Complete agent metadata */ static getAgentMetadata(agentName: string): AgentMetadata | null; /** * Determine which project types an agent is most applicable to */ private static getApplicableProjectTypes; /** * Validate that selected agents exist * * @param selectedAgents - Agent names to validate * @returns Validation result with missing agents */ static validateAgentSelection(selectedAgents: string[]): { valid: boolean; missing: string[]; }; /** * Get complete selection result for UI * * @param projectType - Project type * @param industry - Industry domain * @returns Complete agent selection result */ static getAgentSelectionResult(projectType: string, industry: string): AgentSelectionResult; } //# sourceMappingURL=agent-selector.d.ts.map