/** * Skills Service * * Manages Anthropic Agent Skills lifecycle: * - Dynamic skill loading and unloading * - Atomic updates with state rollback * - Discovery engine indexing * - Tool registry management */ import type { OrchestratorContext } from '../interfaces/orchestrator-context.js'; import type { OrchestratorService } from '../interfaces/service-container.js'; /** * Skill metadata structure */ export interface SkillMetadata { name: string; description?: string; version?: string; author?: string; } /** * Loaded skill structure */ export interface LoadedSkill { metadata: SkillMetadata; prompt?: string; tools?: any[]; } /** * Skills manager interface (external dependency) */ export interface SkillsManager { loadSkill(skillDirName: string): Promise; getSkillsDirectory(): string; } /** * Discovery engine interface for skill indexing */ export interface DiscoveryEngine { indexMCPTools(mcpName: string, tools: Array<{ id: string; name: string; description: string; }>): Promise; } /** * Skills Service implementation */ export declare class SkillsService implements OrchestratorService { private context; private skillsManager; private discovery; private initialized; private stateBackup; private lockedSkills; private lockQueues; constructor(context: OrchestratorContext); /** * Initialize the service with dependencies */ initialize(): Promise; /** * Set the skills manager (injected from orchestrator) */ setSkillsManager(manager: SkillsManager): void; /** * Set the discovery engine (injected from orchestrator) */ setDiscoveryEngine(engine: DiscoveryEngine): void; /** * Add a new skill dynamically */ addSkill(skillName: string, skillPath: string): Promise; /** * Remove a skill dynamically */ removeSkill(skillName: string): Promise; /** * Update a skill dynamically */ updateSkill(skillName: string, skillPath: string): Promise; /** * Get all loaded skills */ getLoadedSkills(): Map; /** * Check if a skill is loaded */ hasSkill(skillName: string): boolean; /** * Get a specific skill */ getSkill(skillName: string): LoadedSkill | undefined; /** * Add skill to orchestrator state */ private addSkillToState; /** * Remove skill from orchestrator state */ private removeSkillFromState; /** * Index skill in discovery engine */ private indexSkill; /** * Get mutable state (for modifications) */ private getMutableState; /** * Save current state for atomic operations */ private saveState; /** * Restore previous state after failure */ private restoreState; /** * Clear state backup after success */ private clearStateBackup; /** * Acquire lock for a skill */ private acquireLock; /** * Release lock for a skill */ private releaseLock; /** * Cleanup */ cleanup(): Promise; } /** * Create a skills service instance */ export declare function createSkillsService(context: OrchestratorContext): SkillsService; //# sourceMappingURL=skills-service.d.ts.map