import type { ContextPack, TaskContract } from "@claudexor/schema"; import { type AtlasOptions } from "./atlas.js"; export interface ContextPackOptions extends AtlasOptions { /** Fail closed if explicitly-requested mandatory files are missing/unreadable. Default true. */ failOnMissingMandatory?: boolean; } export declare const DEFAULT_MANDATORY_CONTEXT: string[]; /** * Uniform fail-closed preflight for EXPLICITLY-configured mandatory context. * Called by every canonical run mode (ask/plan/agent) so a versioned * `mandatory_files` contract is honored identically — not just by the modes that * happen to build a ContextPack (the bug where one route failed but another * silently passed the same repo). A no-op when the list is empty (the default, * since `claudexor init` no longer seeds it), so fresh repos are never gated. * Read-only: only checks file readability, never mutates. */ export declare function assertMandatoryContext(repoRoot: string, mandatoryFiles: readonly string[]): void; /** * Build a deterministic, hashable ContextPack. Every tracked path is accounted * for via the Scope Atlas; omissions are explicit. Fails closed when caller- * specified mandatory files cannot be read (BIBLE P6: no silent truncation). */ export declare function buildContextPack(repoRoot: string, contract: TaskContract, opts?: ContextPackOptions): Promise; //# sourceMappingURL=contextpack.d.ts.map