/** * snapshotPipeline — composes `loadSnapshot` + `writeSnapshot` into a * `MemoryPipeline` ready to be mounted by `defineMemory({ type: CAUSAL })`. * * READ : LoadSnapshot — embed query → search → project → format * WRITE : WriteSnapshot — embed query → store as MemoryEntry * * The pipeline emits the same `agentfootprint.context.injected` event * (with `source: 'memory'`) as every other memory flavor, so Lens * shows Causal injections as memory chips alongside Episodic / * Semantic / Narrative without special UI. */ import type { MemoryStore } from '../store/index.js'; import type { Embedder } from '../embedding/index.js'; import type { MemoryPipeline } from '../pipeline/types.js'; import type { SnapshotProjection } from '../define.types.js'; export interface SnapshotPipelineConfig { /** Vector-capable store for the snapshots. Must implement `search()`. */ readonly store: MemoryStore; /** Embedder used for both write-side indexing and read-side query. */ readonly embedder: Embedder; /** Stable id of the embedder — prevents cross-model similarity pollution. */ readonly embedderId?: string; /** Top-k past snapshots to consider on read. Default 1. */ readonly topK?: number; /** Cosine threshold below which matches are dropped. Default 0.7. */ readonly minScore?: number; /** Slice of the snapshot to inject. Default `'decisions'`. */ readonly projection?: SnapshotProjection; /** Optional TTL for snapshots in ms. Useful for compliance windows. */ readonly ttlMs?: number; /** Optional tier tag for written snapshots. */ readonly tier?: 'hot' | 'warm' | 'cold'; } export declare function snapshotPipeline(config: SnapshotPipelineConfig): MemoryPipeline; //# sourceMappingURL=snapshotPipeline.d.ts.map