export declare const SKILL_MARKER = ".vault-skill.json"; export declare const SKILL_FILE_MAX_BYTES: number; export declare const SKILL_MAX_FILES = 512; export declare const SKILL_TOTAL_MAX_BYTES: number; /** Caminhos do manifesto de bundle (várias skills num tar): o Vault e o herdado. */ export declare const SKILL_BUNDLE_MANIFEST_PATHS: readonly string[]; export declare class SkillLocalError extends Error { code: string; constructor(code: string, message: string); } export interface LocalSkillFile { path: string; content: string; encoding: 'utf8' | 'base64'; executable: boolean; } export interface TarEntry { path: string; bytes: Buffer; mode: number; } export interface InstalledSkill { root: string; dir: string; skillId: string; versionId: string; } export declare function inspectSkillDestination(root: string, dirName: string, skillId: string): { status: 'missing' | 'managed' | 'conflict'; path: string; reason?: 'unmanaged' | 'foreign'; }; /** name/description do frontmatter; valida só o formato mínimo (o servidor valida o resto). */ export declare function frontmatter(md: string): { name: string; description: string; } | null; /** Lê uma pasta de skill para publicar; symlinks e pastas de ferramentas ficam de fora. */ export declare function readSourceDir(directory: string): LocalSkillFile[]; /** Leitor ustar mínimo: só arquivos regulares; link, dispositivo ou caminho perigoso recusa o pacote inteiro. */ export declare function readTarGz(archive: Uint8Array): TarEntry[]; export declare function installSkillArchive(input: { bytes: Uint8Array; expectedSha256: string; dirName: string; root: string; skillId: string; versionId: string; }): { path: string; }; /** Skills instaladas pelo Vault nas raízes informadas. */ export declare function installedSkills(roots: string[]): InstalledSkill[];