Interface RememberOptions

Options for storing a new memory trace via Memory.remember().

interface RememberOptions {
    type?: string;
    scope?: string;
    scopeId?: string;
    tags?: string[];
    entities?: string[];
    importance?: number;
    id?: string;
    metadata?: Record<string, unknown>;
}

Properties

type?: string

Tulving memory type.

Example

'episodic' | 'semantic' | 'procedural' | 'prospective'
scope?: string

Visibility scope of the trace.

Example

'thread' | 'user' | 'persona' | 'organization'
scopeId?: string

Identifier for the scope (e.g. thread ID, user ID). The trace is filed under it, in the scope_id column and in its metadata, and a trace of the same text, type and scope counts as its duplicate only under the same scope id. A call that names none files the trace under '', whatever its scope.

tags?: string[]

Free-form tags for filtering and retrieval.

Example

['project:alpha', 'decision']
entities?: string[]

Named entities extracted from or associated with this trace.

Example

['Alice', 'GPT-4o', 'Q3 roadmap']
importance?: number

Manually supplied importance score (0–1). When omitted the encoding engine derives one automatically.

id?: string

The new trace's id, when the caller names it before the write: a write the learning ledger records names its new traces in its pending row first. A text the scope already holds is not stored again, and the trace that holds it is returned under its own id.

metadata?: Record<string, unknown>

Extra keys for the trace's stored metadata, merged under the keys the facade sets itself (scopeId, content_hash, entities, decay), which win. The rolling-summary sink records contributorIds here, and a memory write on a turn with no learner records turnUserId (MemoryTrace.turnUserId).