/** One Nitro `serverAssets` entry. */ export interface SkillServerAssetDirectory { readonly baseName: string; readonly dir: string; } /** * Stages the root agent's materialized `skills/` tree as Nitro server assets * for a production build, and returns the `serverAssets` entries to register. * * The listing and bytes come from {@link createDiskSkillFileSource}, the same * source dev reads, so both modes agree on which files exist. * * Nitro picks how to inline a server asset from its file name: text MIME * types become UTF-8 strings, which loses bytes that are not valid UTF-8, * unstorage decodes any string starting with `base64:`, and an empty string * is dropped by Nitro's `r.default || r`. So each shipped file is written as * `/files/.bin`, which Nitro always inlines as a * `Uint8Array`. Identical files share one asset. Real paths, sizes, and * digests go into an eve-owned index registered as its own server asset. * Files over {@link MAX_SKILL_FILE_BYTES} are indexed by size only, and * directories are indexed so empty ones survive the build. */ export declare function prepareSkillServerAssets(input: { /** Build-owned directory the staged assets and the index are written to. */ readonly stagingDirectory: string; readonly skills: readonly string[]; /** The materialized `skills/` directory of the root agent's workspace resources. */ readonly skillsRoot: string; }): Promise;