/** * Skill Lock File Module * Tracks installed skills for check/update/remove operations */ /** * Source type for installed skills */ export type SourceType = 'database' | 'github' | 'gitlab' | 'bitbucket' | 'npm' | 'private-git' | 'local'; /** * Lock entry for a single installed skill */ export interface LockEntry { /** Skill name */ name: string; /** Scoped name like @author/skillname */ scopedName: string; /** Source URL or path */ source: string; /** Type of source */ sourceType: SourceType; /** Version (commit SHA for git sources) */ version?: string; /** Installation timestamp (ISO 8601) */ installedAt: string; /** Last update timestamp (ISO 8601) */ updatedAt?: string; /** List of agents this skill is installed to */ agents: string[]; /** Path to the canonical copy */ canonicalPath: string; /** Whether this is a global or project installation */ isGlobal: boolean; /** Project directory (for project installations) */ projectDir?: string; } /** * Full lock file structure */ export interface SkillsLock { /** Lock file format version */ version: '1'; /** Map of skill name to lock entry */ skills: Record; } /** * Get the lock file path */ export declare function getLockFilePath(): string; /** * Read the lock file (returns empty lock if doesn't exist) */ export declare function readLock(): Promise; /** * Write the lock file */ export declare function writeLock(lock: SkillsLock): Promise; /** * Add or update a skill in the lock file */ export declare function addSkillToLock(entry: LockEntry): Promise; /** * Remove a skill from the lock file */ export declare function removeSkillFromLock(skillName: string): Promise; /** * Get a skill entry from the lock file */ export declare function getSkillFromLock(skillName: string): Promise; /** * Options for listing installed skills */ export interface ListOptions { /** Filter to global installations only */ global?: boolean; /** Filter to specific agent */ agent?: string; /** Filter to specific project directory */ projectDir?: string; } /** * List all installed skills, optionally filtered */ export declare function listInstalledSkills(options?: ListOptions): Promise; /** * Check if a skill is installed */ export declare function isSkillInstalled(skillName: string): Promise; /** * Get installed skill count */ export declare function getInstalledSkillCount(): Promise; /** * Update a skill's version in the lock file */ export declare function updateSkillVersion(skillName: string, version: string): Promise; /** * Update agents for an installed skill */ export declare function updateSkillAgents(skillName: string, agents: string[]): Promise; /** * Create a lock entry for a newly installed skill */ export declare function createLockEntry(options: { name: string; scopedName: string; source: string; sourceType: SourceType; version?: string; agents: string[]; canonicalPath: string; isGlobal: boolean; projectDir?: string; }): LockEntry; //# sourceMappingURL=skill-lock.d.ts.map