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