import type { AddFactInput, EmbeddingProvider, TopicLinkInput, } from "../types/api"; export interface ExtractedFact { statement?: string; summary?: string | null; source?: string | null; confidence?: number | null; metadata?: AddFactInput["metadata"]; topics: TopicLinkInput[]; } export interface FactExtractor { extract(input: string): Promise; } export interface LlmTextGenerationModelInput { instruction: string; input: string; additionalInstruction?: string | undefined; } export interface LlmTextGenerationModel { generateText(prompt: LlmTextGenerationModelInput): Promise; } export interface LlmFactExtractorOptions { model: LlmTextGenerationModel; additionalInstructions?: string | undefined; } export interface IngestStatementOptions { extractor: FactExtractor; embeddingProvider?: EmbeddingProvider; duplicateThreshold?: number; spaceName?: string; }