Skip to content

MemoryStoreConfig

Defined in: src/memory/types.ts:60

Declarative properties shared by every memory store and its config.

This is the single source of truth for a store’s identity and behavior knobs. Both the runtime MemoryStore interface and concrete store configs extend it, so these fields are declared once. Concrete stores add their own backend-specific config fields on top.

readonly name: string;

Defined in: src/memory/types.ts:62

Identifier for this store, used to target specific stores in search/add tools. Must be unique.


readonly optional description?: string;

Defined in: src/memory/types.ts:64

Human-readable description of what this store contains. Included in tool descriptions.


readonly optional maxSearchResults?: number;

Defined in: src/memory/types.ts:69

Default maximum number of results this store returns per search, used when a caller does not pass a per-call maxSearchResults.


readonly optional writable?: boolean;

Defined in: src/memory/types.ts:76

Whether this store accepts writes. Optional at config time (caller intent, defaults to false); concrete stores resolve it to a definite boolean on the MemoryStore interface.

false

readonly optional extraction?: boolean | ExtractionConfig;

Defined in: src/memory/types.ts:89

Automatic-extraction config for this writable store, as a boolean | config shorthand. true enables it with defaults; an ExtractionConfig defaults any unset field; false/omitted is off.

The defaults run every 5 turns, and the extraction method depends on the store’s write methods. A store implementing addMessages uses server-side extraction: the manager hands it the raw messages and the backend extracts them, with no model call. A store implementing only add uses a ModelExtractor for client-side extraction: it calls the agent’s model to distill facts and stores each one via add.

false