Skip to main content

Class: HnswSidecar

Defined in: packages/agentos/src/cognition/memory/retrieval/store/HnswSidecar.ts:57

Memory-specific HNSW sidecar that wraps the canonical HnswIndexSidecar.

Maintains the original constructor-based API expected by Memory facade and Brain consumers, while delegating all index operations to the shared RAG implementation.

Constructors​

Constructor​

new HnswSidecar(config): HnswSidecar

Defined in: packages/agentos/src/cognition/memory/retrieval/store/HnswSidecar.ts:63

Parameters​

config​

HnswSidecarConfig

Returns​

HnswSidecar

Accessors​

isActive​

Get Signature​

get isActive(): boolean

Defined in: packages/agentos/src/cognition/memory/retrieval/store/HnswSidecar.ts:77

Whether the HNSW index is currently active and queryable.

Returns​

boolean


size​

Get Signature​

get size(): number

Defined in: packages/agentos/src/cognition/memory/retrieval/store/HnswSidecar.ts:82

Number of vectors currently indexed.

Returns​

number

Methods​

add()​

add(traceId, embedding, _totalCount): Promise<void>

Defined in: packages/agentos/src/cognition/memory/retrieval/store/HnswSidecar.ts:114

Add a vector to the index. If below threshold, does nothing. If threshold is crossed, caller should call rebuildFromData().

Parameters​

traceId​

string

The trace ID to associate with this vector.

embedding​

number[]

The embedding vector.

_totalCount​

number

Current total trace count (unused, kept for API compat).

Returns​

Promise<void>


destroy()​

destroy(): void

Defined in: packages/agentos/src/cognition/memory/retrieval/store/HnswSidecar.ts:199

Delete index files from disk and deactivate.

Returns​

void


init()​

init(): Promise<void>

Defined in: packages/agentos/src/cognition/memory/retrieval/store/HnswSidecar.ts:94

Initialize the sidecar. Loads existing index from disk if present. If hnswlib-node is not installed, silently stays inactive.

Returns​

Promise<void>


query()​

query(embedding, topK): HnswQueryResult[]

Defined in: packages/agentos/src/cognition/memory/retrieval/store/HnswSidecar.ts:126

Query the HNSW index for top-K nearest neighbors. Returns trace IDs sorted by distance (closest first).

Parameters​

embedding​

number[]

Query vector.

topK​

number

Number of results to return.

Returns​

HnswQueryResult[]

Array of { id, distance } sorted by distance ascending.


rebuildFromData()​

rebuildFromData(data): Promise<void>

Defined in: packages/agentos/src/cognition/memory/retrieval/store/HnswSidecar.ts:180

Rebuild the entire index from a set of id/embedding pairs. Called on first threshold crossing or when brain.hnsw is missing/corrupt. Filters out dimension-mismatched vectors before delegating.

Parameters​

data​

object[]

Array of { id, embedding } to index.

Returns​

Promise<void>


remove()​

remove(traceId): void

Defined in: packages/agentos/src/cognition/memory/retrieval/store/HnswSidecar.ts:168

Remove a trace from the index by marking its label as deleted. HNSW doesn't support true deletion — cleaned up on rebuild.

Parameters​

traceId​

string

The trace ID to remove.

Returns​

void


saveToDisk()​

saveToDisk(): void

Defined in: packages/agentos/src/cognition/memory/retrieval/store/HnswSidecar.ts:192

Persist index and label map to disk. Called after rebuildFromData() and periodically after adds.

Returns​

void