Graphorin API reference v0.1.0
Graphorin API reference / @graphorin/memory / / SemanticMemory
Class: SemanticMemory
Defined in: packages/memory/src/tiers/semantic-memory.ts:108
SemanticMemory — long-term factual store. Hybrid (vector + FTS5) search merges the two ranked lists through the configured ReRanker (default RRFReranker with k = 60).
Phase 10a wrote facts straight through with MD5 deduplication; Phase 10b routes every remember(...) call through the multi-stage conflict resolution pipeline (DEC-117 / ADR-018 ext / RB-02). The pipeline can be disabled per-call (pipeline: 'off') or per-Memory instance (createMemory({ conflictPipeline: { mode: 'off' } })).
Stable
Constructors
Constructor
new SemanticMemory(args): SemanticMemory;Defined in: packages/memory/src/tiers/semantic-memory.ts:116
Parameters
| Parameter | Type |
|---|---|
args | { conflictPipeline?: ConflictPipeline; embedder: | EmbedderProvider | null; embedderIdProvider: () => string | null; reranker: ReRanker; store: MemoryStoreAdapter; tracer: Tracer; } |
args.conflictPipeline? | ConflictPipeline |
args.embedder | | EmbedderProvider | null |
args.embedderIdProvider | () => string | null |
args.reranker | ReRanker |
args.store | MemoryStoreAdapter |
args.tracer | Tracer |
Returns
SemanticMemory
Methods
forget()
forget(
scope,
factId,
reason?): Promise<void>;Defined in: packages/memory/src/tiers/semantic-memory.ts:351
Soft-delete a fact (kept for replay; never hard-deleted).
Parameters
| Parameter | Type |
|---|---|
scope | SessionScope |
factId | string |
reason? | string |
Returns
Promise<void>
fuse()
fuse(
query,
lists,
options?): Promise<readonly MemoryHit<Fact>[]>;Defined in: packages/memory/src/tiers/semantic-memory.ts:389
Fuse multiple ranked lists outside of a search() call.
Parameters
| Parameter | Type |
|---|---|
query | string |
lists | readonly readonly MemoryHit<Fact>[][] |
options | { signal?: AbortSignal; topK?: number; } |
options.signal? | AbortSignal |
options.topK? | number |
Returns
Promise<readonly MemoryHit<Fact>[]>
get()
get(scope, factId): Promise<Fact | null>;Defined in: packages/memory/src/tiers/semantic-memory.ts:301
Lookup a single fact by id. Returns null for soft-deleted / missing.
Parameters
| Parameter | Type |
|---|---|
scope | SessionScope |
factId | string |
Returns
Promise<Fact | null>
purge()
purge(
scope,
factId,
reason?): Promise<void>;Defined in: packages/memory/src/tiers/semantic-memory.ts:370
Hard-delete a fact (GDPR path). Distinct from forget: the record is removed from storage entirely instead of soft-archived. Requires a storage adapter that implements SemanticMemoryStoreExt.purge(...) — the default @graphorin/store-sqlite adapter wires this through.
Parameters
| Parameter | Type |
|---|---|
scope | SessionScope |
factId | string |
reason? | string |
Returns
Promise<void>
remember()
remember(
scope,
input,
options?): Promise<Fact>;Defined in: packages/memory/src/tiers/semantic-memory.ts:151
Persist a fact. Returns the stored record. Phase 10b routes every call through the multi-stage conflict resolution pipeline; the legacy straight-through path is reachable per-call via { pipeline: 'off' } (operators may disable the pipeline globally via createMemory({ conflictPipeline: { mode: 'off' } })).
Parameters
| Parameter | Type |
|---|---|
scope | SessionScope |
input | FactInput |
options | FactRememberOptions |
Returns
Promise<Fact>
rememberWithDecision()
rememberWithDecision(
scope,
input,
options?): Promise<RememberOutcome>;Defined in: packages/memory/src/tiers/semantic-memory.ts:167
Like remember but returns the pipeline decision alongside the stored fact. Useful for callers that need to distinguish silent dedups (decision.kind === 'dedup') from fresh inserts.
Parameters
| Parameter | Type |
|---|---|
scope | SessionScope |
input | FactInput |
options | FactRememberOptions |
Returns
Promise<RememberOutcome>
Stable
reranker()
reranker(): ReRanker;Defined in: packages/memory/src/tiers/semantic-memory.ts:140
Currently active reranker.
Returns
search()
search(
scope,
query,
opts?): Promise<readonly MemoryHit<Fact>[]>;Defined in: packages/memory/src/tiers/semantic-memory.ts:262
Hybrid (vector + FTS5) search merged through the configured reranker.
Parameters
| Parameter | Type |
|---|---|
scope | SessionScope |
query | string |
opts | FactSearchOptions |
Returns
Promise<readonly MemoryHit<Fact>[]>
setReranker()
setReranker(reranker): ReRanker;Defined in: packages/memory/src/tiers/semantic-memory.ts:133
Replace the active reranker. Returns the previous instance.
Parameters
| Parameter | Type |
|---|---|
reranker | ReRanker |
Returns
supersede()
supersede(
scope,
oldId,
newInput,
reason?): Promise<{
new: Fact;
old: string;
}>;Defined in: packages/memory/src/tiers/semantic-memory.ts:322
Mark oldId superseded by a new fact. Returns the new record.
Parameters
| Parameter | Type |
|---|---|
scope | SessionScope |
oldId | string |
newInput | FactInput |
reason? | string |
Returns
Promise<{ new: Fact; old: string; }>
fuseRrf()
static fuseRrf<TRecord>(lists, k?): readonly MemoryHit<TRecord>[];Defined in: packages/memory/src/tiers/semantic-memory.ts:398
Pure-fusion helper — exposed for callers that already collected results.
Type Parameters
| Type Parameter |
|---|
TRecord extends Fact |
Parameters
| Parameter | Type | Default value |
|---|---|---|
lists | readonly readonly MemoryHit<TRecord>[][] | undefined |
k | number | 60 |
Returns
readonly MemoryHit<TRecord>[]