/** * Two-pass LLM extraction of team knowledge from conversation transcripts. * * Pass 1 (Gate check): "Does this conversation contain explicit corrections * or stated preferences?" — cheap, avoids expensive extraction for irrelevant chats. * * Pass 2 (Structured extraction): Extracts category + statement + evidence_quote * + confidence + scope per insight. * * Critical guard: evidence_quote must appear as a substring in the raw transcript. * If it doesn't, the insight is discarded (hallucination protection). */ import type { LLMProvider } from "../llm/provider.js"; import type { Transcript } from "./parser.js"; export type InsightCategory = "coding_rule" | "anti_pattern" | "architecture_decision" | "domain_knowledge" | "team_preference" | "gotcha"; export interface ExtractedInsight { category: InsightCategory; statement: string; evidence_quote: string; confidence: number; scope: "repo" | "workspace" | "global"; } /** * Extracts insights from a conversation transcript using a two-pass LLM approach. * Returns an empty array if the gate check fails or no valid insights are found. */ export declare function extractInsights(transcript: Transcript, llm: LLMProvider): Promise; //# sourceMappingURL=extractor.d.ts.map