/** * Conversation-Aware Extraction for the ingestion engine. * * Specialized extraction logic for chat/conversation content. * Different from document extraction: * - Tracks speaker attribution * - Extracts decisions, action items, preferences * - Filters out greetings, casual banter, meta-conversation * - Understands conversational context (agreements, disagreements) * * Uses an LlmProvider for extraction with a conversation-specific prompt. */ import type { LlmProvider } from "../types"; import type { ChunkResult, ExtractionResult } from "./types"; import type { ExtractionOptions } from "./extractor"; /** @deprecated Use ExtractionOptions instead */ export type ChatExtractorConfig = ExtractionOptions; export declare const DEFAULT_CHAT_EXTRACTOR_CONFIG: ExtractionOptions; /** * Extract knowledge from a conversation chunk using an LLM. * * This is the conversation-specific equivalent of the document extractor. * It uses a prompt tailored for conversational content with speaker attribution. */ export declare function extractFromConversation(chunk: ChunkResult, channelName: string | null, participants: string[], provider: LlmProvider, opts?: ExtractionOptions): Promise; /** * Extract knowledge from all conversation chunks. */ export declare function extractFromConversations(chunks: readonly ChunkResult[], channelName: string | null, participants: string[], provider: LlmProvider, onChunkDone?: (chunkIndex: number, itemCount: number) => void, opts?: ExtractionOptions): Promise; /** * Extract participants from a conversation chunk text. * Looks for patterns like "[timestamp] Name: message" */ export declare function extractParticipants(chunkText: string): string[]; //# sourceMappingURL=chat-extractor.d.ts.map