Skip to content

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

ts
new SemanticMemory(args): SemanticMemory;

Defined in: packages/memory/src/tiers/semantic-memory.ts:116

Parameters

ParameterType
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.rerankerReRanker
args.storeMemoryStoreAdapter
args.tracerTracer

Returns

SemanticMemory

Methods

forget()

ts
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

ParameterType
scopeSessionScope
factIdstring
reason?string

Returns

Promise&lt;void&gt;


fuse()

ts
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

ParameterType
querystring
listsreadonly readonly MemoryHit&lt;Fact&gt;[][]
options{ signal?: AbortSignal; topK?: number; }
options.signal?AbortSignal
options.topK?number

Returns

Promise<readonly MemoryHit&lt;Fact&gt;[]>


get()

ts
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

ParameterType
scopeSessionScope
factIdstring

Returns

Promise&lt;Fact | null&gt;


purge()

ts
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

ParameterType
scopeSessionScope
factIdstring
reason?string

Returns

Promise&lt;void&gt;


remember()

ts
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

ParameterType
scopeSessionScope
inputFactInput
optionsFactRememberOptions

Returns

Promise&lt;Fact&gt;


rememberWithDecision()

ts
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

ParameterType
scopeSessionScope
inputFactInput
optionsFactRememberOptions

Returns

Promise&lt;RememberOutcome&gt;

Stable


reranker()

ts
reranker(): ReRanker;

Defined in: packages/memory/src/tiers/semantic-memory.ts:140

Currently active reranker.

Returns

ReRanker


ts
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

ParameterType
scopeSessionScope
querystring
optsFactSearchOptions

Returns

Promise<readonly MemoryHit&lt;Fact&gt;[]>


setReranker()

ts
setReranker(reranker): ReRanker;

Defined in: packages/memory/src/tiers/semantic-memory.ts:133

Replace the active reranker. Returns the previous instance.

Parameters

ParameterType
rerankerReRanker

Returns

ReRanker


supersede()

ts
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

ParameterType
scopeSessionScope
oldIdstring
newInputFactInput
reason?string

Returns

Promise<{ new: Fact; old: string; }>


fuseRrf()

ts
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

ParameterTypeDefault value
listsreadonly readonly MemoryHit&lt;TRecord&gt;[][]undefined
knumber60

Returns

readonly MemoryHit&lt;TRecord&gt;[]