/** * Extraction Pipeline for Memory System * * Compiles LLM outputs into typed, validated facts (Entity, Relation, Assertion). */ import { EmbeddedDatabase } from '../embedded'; import { Entity, Relation, Assertion, ExtractionResult, ExtractionSchema } from './types'; /** * Extractor function type - user provides this to call their LLM */ export type ExtractorFunction = (text: string) => Promise<{ entities?: Array<{ name: string; entity_type: string; properties?: Record; confidence?: number; }>; relations?: Array<{ from_entity: string; relation_type: string; to_entity: string; properties?: Record; confidence?: number; }>; assertions?: Array<{ subject: string; predicate: string; object: string; confidence?: number; }>; }>; /** * Extraction Pipeline */ export declare class ExtractionPipeline { private db; private namespace; private schema?; private prefix; constructor(db: EmbeddedDatabase, namespace: string, schema?: ExtractionSchema); /** * Create pipeline from database */ static fromDatabase(db: EmbeddedDatabase, namespace: string, schema?: ExtractionSchema): ExtractionPipeline; /** * Extract entities and relations from text */ extract(text: string, extractor: ExtractorFunction): Promise; /** * Extract and immediately commit to database */ extractAndCommit(text: string, extractor: ExtractorFunction): Promise; /** * Commit extraction result to database */ commit(result: ExtractionResult): Promise; /** * Get all entities */ getEntities(): Promise; /** * Get all relations */ getRelations(): Promise; /** * Get all assertions */ getAssertions(): Promise; /** * Generate deterministic entity ID */ private generateEntityId; /** * Generate deterministic relation ID */ private generateRelationId; /** * Generate deterministic assertion ID */ private generateAssertionId; } //# sourceMappingURL=extraction.d.ts.map