import type { SessionRecord } from "./sessions.js"; import type { SourceWithContent } from "./synthesize.js"; export interface SourceRef { url: string; title: string; } export type LineKind = "same" | "add" | "del"; export interface DiffLine { kind: LineKind; text: string; } export interface SessionSide { id: string; question: string; createdAt: number; model: string; sourceCount: number; rounds: number; costUsd: number; } export interface SessionDiff { a: SessionSide; b: SessionSide; sources: { added: SourceRef[]; removed: SourceRef[]; shared: SourceRef[]; }; answer: { lines: DiffLine[]; added: number; removed: number; unchanged: number; }; } export declare function diffSessions(a: SessionRecord, b: SessionRecord): SessionDiff; export declare function diffSources(a: SourceWithContent[], b: SourceWithContent[]): SessionDiff["sources"]; export declare function diffLines(a: string[], b: string[]): SessionDiff["answer"]; export interface RenderDiffOptions { color?: boolean; context?: number; } export declare function renderDiffText(diff: SessionDiff, opts?: RenderDiffOptions): string; export declare const DIFF_NARRATE_SYSTEM = "You compare two research answers to the same (or a closely related) question, produced at different times. Summarize what substantively changed between the OLDER answer (A) and the NEWER answer (B).\n\nRules:\n- Focus on changes in facts, conclusions, numbers, and recommendations \u2014 not wording.\n- Lead with the single most important change.\n- Call out new claims in B, claims dropped from A, and any reversals.\n- If the two answers are materially the same, say so in one sentence.\n- Be concise: a short paragraph or a few bullets. No preamble."; export declare function buildDiffNarrateUser(a: SessionRecord, b: SessionRecord): string; //# sourceMappingURL=diff.d.ts.map