/** * ADF Compiler — renders modular .ai/*.adf source trees to flat vendor agent-config files. * * "Babel for agent configs" — ADF is the source of truth, vendor files are build artifacts. * * Architecture: pure core with no runtime dependencies (zero-dep package constraint). * - All I/O is injected (readFile), so the module is fully testable without touching disk. * - Output is deterministic: same inputs → byte-identical output. * * Zod validation lives at the CLI boundary (adf-compile.ts), not here. */ import type { ManifestModule } from './types'; export type CompileTarget = 'claude' | 'agents' | 'cursor' | 'gemini'; export declare const COMPILE_TARGETS: CompileTarget[]; export interface CompileOptions { /** Target vendor format */ target: CompileTarget; /** Base directory for resolving module paths (e.g. '.ai') */ aiDir: string; /** Display path used in the module index entries — should be cwd-relative (e.g. '.ai'). Defaults to the last segment of aiDir. */ displayAiDir?: string; /** File reader injection — allows DI for testing without disk access */ readFile: (path: string) => string; } /** Filename on disk for each target (used by --write and --check). */ export declare const TARGET_FILENAMES: Record; /** * The exact string that marks a file as a compile artifact. * Used for overwrite-protection checks — a file lacking this string is treated * as hand-written and --force is required to overwrite. */ export declare const COMPILE_BANNER_MARKER = "GENERATED by charter adf compile"; export declare function buildBanner(style: 'html' | 'hash'): string; /** Fence name for the on-demand module index, per ADF spec §4.2. */ export declare const MODULE_INDEX_FENCE = "agents-modules"; export interface CompileResult { target: CompileTarget; output: string; defaultModules: string[]; onDemandModules: ManifestModule[]; } /** * Compile the .ai/ module tree to a flat vendor agent-config string. * * Pure function — all I/O is injected via options.readFile. * Deterministic: same inputs → byte-identical output. */ export declare function compileAdf(options: CompileOptions): CompileResult; //# sourceMappingURL=compiler.d.ts.map