/** * Select useful extracted claims for durable recall. Exact repeated claim sets * are suppressed when already stored; archived claims are not reactivated. * This deterministic filter does not verify truth or reconcile paraphrases. */ import type { MemoryStore } from '../types/memory/index.js'; import type { PromoteMemory } from '../types/session/memory-promotion.js'; /** * Tag every record this promoter writes, so a host can find or prune them. * Also its `metadata.source`, which keeps the record out of a Markdown * store's generated index: a record written after every turn is not one * anybody chose to load into every prompt. */ export declare const SESSION_MEMORY_TAG = "session-memory"; export interface MemoryPromoterOptions { /** Where records go. The same store `save_memory` writes through. */ readonly store: MemoryStore; /** * Extra tags on every record, beyond {@link SESSION_MEMORY_TAG}. * * A host running several agents against one store uses this to tell whose * memory is whose; without it a later search cannot. */ readonly tags?: readonly string[]; /** * Cap on entries rendered per category. Defaults to 20. * * The extractor already caps its lists, and this is the second cap for * the same reason the first exists: a record nobody will read is a record * that costs context every time it is retrieved. */ readonly maxPerCategory?: number; } /** * Build a promoter that writes one record per turn that learned something. * * Never throws out to the runtime — but it does not swallow either: the * runtime already catches and logs a promoter's failure at settle, and * catching here as well would hide a broken store from the one place that * reports it. */ export declare function createMemoryPromoter(options: MemoryPromoterOptions): PromoteMemory; //# sourceMappingURL=memory-promoter.d.ts.map