/** * Profile metadata types and utilities */ /** * Profile metadata from nori.json (unified manifest format) * * nori.json is the primary source of profile metadata. * Falls back to profile.json for backward compatibility with legacy profiles. */ export type ProfileMetadata = { /** Name of the profile */ name: string; /** Semantic version (e.g., "1.0.0") */ version?: string; /** Human-readable description */ description?: string; /** Skill dependencies (skill name -> version range) */ dependencies?: { skills?: Record; }; }; /** * Read and parse profile metadata from a profile directory * * Reads from nori.json first, falls back to profile.json for backward compatibility. * * @param args - Function arguments * @param args.profileDir - Path to profile directory * * @returns Parsed profile metadata */ export declare const readProfileMetadata: (args: { profileDir: string; }) => Promise; /** * Write profile metadata to nori.json in a profile directory * * @param args - Function arguments * @param args.profileDir - Path to profile directory * @param args.metadata - Profile metadata to write */ export declare const writeProfileMetadata: (args: { profileDir: string; metadata: ProfileMetadata; }) => Promise; /** * Add or update a skill dependency in a profile's nori.json * * If nori.json does not exist, creates a basic one using the profile directory * name as the profile name. * * @param args - Function arguments * @param args.profileDir - Path to profile directory * @param args.skillName - Name of the skill to add * @param args.version - Version string (e.g., "*", "^1.0.0", "1.2.3") */ export declare const addSkillToNoriJson: (args: { profileDir: string; skillName: string; version: string; }) => Promise; //# sourceMappingURL=metadata.d.ts.map