/** * Token-budgeted span expansion (docs/hybrid-retrieval-design.md, step 5 of * the shipping order). * * Retrieval works on chunk ids; only here — after fusion — are line windows * read from disk. Every candidate gets a compact `path:start-end [sources]` * header; snippets are added top-down until the budget runs out, so the model * always sees the full ranked list but never an unbounded dump. */ import type { FusedCandidate } from "./types.js"; export interface AssembleOptions { cwd: string; /** Approximate token budget for the whole result text. */ tokenBudget?: number; } export interface AssembledContext { text: string; /** How many candidates got an inline snippet (the rest are bare headers). */ snippetCount: number; } export declare function assembleContext(candidates: readonly FusedCandidate[], options: AssembleOptions): AssembledContext; //# sourceMappingURL=context-assembler.d.ts.map