/** * pi-loom: Dream Engine * * Offline insight generation from stored memories: * Step 1: Low-cost multi-round weighted sampling * Step 2: Conflict-driven sampling * Step 3: Shuffle & non-causal combination * Step 4: LLM-driven insight generation → Pattern Memory Bank */ import type { ExtensionContext } from "@earendil-works/pi-coding-agent"; import type { LoomStore, MemRow, VisibilityFilter } from "./store.js"; export interface DreamConfig { samplerRoundCount: number; samplerRounds: number; conflictPairs: number; modelProvider?: string; modelId?: string; /** Filter sampling to a specific ESR entity. */ entityId?: string; /** Visibility boundary. Defaults to project/shared, excluding private. */ visibility?: VisibilityFilter; } export declare const DEFAULT_DREAM_CONFIG: DreamConfig; export interface DreamResult { steps: number; sampled_count: number; insight_count: number; insights: MemRow[]; /** Auto-detected entity edges from Dream insights. */ suggested_edges: number; profiles_generated?: number; } /** * Run the full Dream Engine pipeline. */ export declare function runDreamEngine(store: LoomStore, ctx: ExtensionContext | null, config?: DreamConfig): Promise;