/** * ollama_code_citation — Deep tier. * * Answer a code question with per-claim citations (file + line range). The * big difference from ollama_research is the CITATION GEOMETRY: every * factual claim in the answer is anchored to a concrete line range, not * just a file path. * * Validation: * - Every returned citation must point at a file in source_paths. * Out-of-scope citations are STRIPPED server-side and a warning is * added (same posture as ollama_research). * - start_line / end_line must be within the loaded file's line count; * out-of-range citations are stripped. * - If the model couldn't anchor a fragment, it goes into * uncited_fragments — the answer still lands but the operator can see * what wasn't grounded. */ import { z } from "zod"; import type { Envelope } from "../envelope.js"; import type { RunContext } from "../runContext.js"; export declare const codeCitationSchema: z.ZodObject<{ question: z.ZodString; source_paths: z.ZodType>; per_file_max_chars: z.ZodOptional; model: z.ZodOptional; }, z.core.$strip>; export type CodeCitationInput = z.infer; export interface CodeCitation { claim_fragment: string; file: string; start_line: number; end_line: number; excerpt: string; } export interface CodeCitationResult { answer: string; citations: CodeCitation[]; uncited_fragments: string[]; weak: boolean; } export declare function handleCodeCitation(input: CodeCitationInput, ctx: RunContext): Promise>; //# sourceMappingURL=codeCitation.d.ts.map