/** * Build-time payload of the standalone (Bun-compiled) binary. * * `bun build --compile` bundles code but not the files the CLI reads from disk * at runtime (`dist/templates/**`, `package.json`). The binary build * (`scripts/gen-standalone-entry.mjs`) generates an entry that registers this * payload before `src/index.ts` runs. The npm/tsc build never registers it, so * `standalonePayload()` returning non-null is also THE signal that the running * CLI is the standalone binary. */ export interface StandalonePayload { /** `package.json` version at build time. */ version: string; /** Short content hash of `templates`, keys the extraction cache dir. */ templatesHash: string; /** `src/templates` files (what `copy-templates` ships), keyed by POSIX relative path. */ templates: Record; } /** Called by the generated standalone entry (and by tests; `null` resets). */ export declare function registerStandalonePayload(p: StandalonePayload | null): void; export declare function standalonePayload(): StandalonePayload | null; /** True when running as the Bun-compiled standalone binary. */ export declare function isStandaloneBinary(): boolean; /** * Directory holding the package templates (`/*.md`, `/skills/…`). * * npm/tsc build: `dist/templates` (`src/templates` under tsx) next to this * module's parent dir. Standalone binary: the embedded templates, extracted * once per version+hash under `~/.hublaunch/cache/templates/` so every existing * disk-based reader (init's skill copy, `hula instructions`, the global Claude * Code commands) keeps working unchanged. */ export declare function templatesDir(): string; /** * Command + leading args that re-invoke this CLI. The npm build runs the * current Node binary against the entry file (`process.argv[1]`); the * standalone binary is its own entry — its `argv[1]` is a virtual * `/$bunfs/root/…` path that must not be passed back in. */ export declare function hulaInvocation(args: string[]): { command: string; args: string[]; }; //# sourceMappingURL=standalone.d.ts.map