/** * Agent loader - loads agent definitions from markdown files */ import type { AgentDefinition } from '../types/agent.types.js'; export declare class AgentLoader { private agentsDir; private cache; private pluginDirs; constructor(agentsDir?: string); /** * Register an additional agent directory contributed by a plugin. * Plugin agents are available as fallbacks when the primary directory lacks the role. */ registerPluginDir(dir: string): void; /** * Load a specific agent by role */ loadAgent(role: string): Promise; /** * Resolve the file path for an agent role, checking plugin dirs if not in the primary dir. */ private resolveAgentPath; /** * Load all agents */ loadAllAgents(): Promise>; /** * List available agent roles from primary and plugin directories. */ listAgents(): Promise; /** * Check if an agent exists */ agentExists(role: string): Promise; /** * Get agent expertise areas */ getAgentExpertise(role: string): Promise; /** * Find agents by capability */ findAgentsByCapability(capability: keyof AgentDefinition['capabilities']): Promise; /** * Clear cache */ clearCache(): void; /** * Get cache size */ getCacheSize(): number; /** * Inject a pre-loaded agent into the cache * Used by dry-run cache to speed up subsequent execution */ injectCachedAgent(role: string, agentData: { content: string; decision_making?: { escalation_criteria?: string[]; }; }): void; /** * Export cache contents for session storage * Returns minimal data needed for cache restoration */ exportCache(): Record; } //# sourceMappingURL=agent-loader.d.ts.map