import { DocumentObject, OutlineNode } from "@adeu/core"; import type { ProjectionBundle } from "./response-builders.js"; export declare const CONFORMANCE_DIR: string; export declare const FIXTURE_DIR: string; export declare const GOLDEN_DIR: string; /** The budget unit the spec's token ceilings are expressed in. */ export declare const approxTokens: (s: string) => number; /** Helper for constructing minimal test batch stats objects. */ export declare function createTestStats(edits?: any[], overrides?: Record): { actions_applied: number; actions_skipped: number; edits_applied: number; edits_skipped: number; edits: any[]; skipped_details: never[]; }; /** * The golden text for `case`, or null when it has not been captured. Line * endings are normalised: capture_goldens.py writes "\n", but git on Windows * may hand the file back as CRLF. */ export declare function golden(name: string): string | null; /** * Node output normalised the same way, ready to compare against a golden. * * The banner path is re-canonicalised to the POSIX placeholder the goldens * hold: the builders run `file_path` through Node's `resolve()`, which is * load-bearing on the real MCP path but rewrites `/fixtures/x.docx` to * `D:\fixtures\x.docx` on win32. Undoing the platform-specific part here keeps * the comparison byte-exact everywhere without weakening the builders. */ export declare const normalize: (s: string) => string; /** * The path string that goes into every response: a STABLE PLACEHOLDER, never a * real path. capture_goldens.py passes exactly this, so no machine-specific * absolute path is baked into a golden. */ export declare const placeholderPath: (fixture: string) => string; export declare const fixturePath: (fixture: string) => string; export interface ProjectedFixture { doc: DocumentObject; /** The projection every builder consumes: raw view, appendix excluded. */ text: string; bundle: ProjectionBundle; /** The heading map the doc-cache hands the outline and guard builders. */ outlineNodes: OutlineNode[]; commentsData: Record; /** Live change ids, as the disk MCP path collects them. */ changeIds: Set; filePath: string; } /** * Projects a fixture exactly as adeu.mcp_components.doc_cache._fill_view does * on the Python side (clean_view=false, include_appendix=false, then * paginate(body, "")), so a builder fed this bundle is fed what the server * really serves. */ export declare function projectFixture(fixture: string): Promise; //# sourceMappingURL=conformance-utils.d.ts.map