Skip to main content

Class: HnswSidecar

Defined in: packages/agentos/src/memory/store/HnswSidecar.ts:55

Constructors

Constructor

new HnswSidecar(config): HnswSidecar

Defined in: packages/agentos/src/memory/store/HnswSidecar.ts:70

Parameters

config

HnswSidecarConfig

Returns

HnswSidecar

Accessors

isActive

Get Signature

get isActive(): boolean

Defined in: packages/agentos/src/memory/store/HnswSidecar.ts:83

Whether the HNSW index is currently active and queryable.

Returns

boolean


size

Get Signature

get size(): number

Defined in: packages/agentos/src/memory/store/HnswSidecar.ts:88

Number of vectors currently indexed.

Returns

number

Methods

add()

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

Defined in: packages/agentos/src/memory/store/HnswSidecar.ts:122

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 (to check threshold).

Returns

Promise<void>


destroy()

destroy(): void

Defined in: packages/agentos/src/memory/store/HnswSidecar.ts:237

Delete index files from disk and deactivate.

Returns

void


init()

init(): Promise<void>

Defined in: packages/agentos/src/memory/store/HnswSidecar.ts:100

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/memory/store/HnswSidecar.ts:151

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/memory/store/HnswSidecar.ts:197

Rebuild the entire index from a set of id/embedding pairs. Called on first threshold crossing or when brain.hnsw is missing/corrupt.

Parameters

data

object[]

Array of { id, embedding } to index.

Returns

Promise<void>


remove()

remove(traceId): void

Defined in: packages/agentos/src/memory/store/HnswSidecar.ts:178

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/memory/store/HnswSidecar.ts:230

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

Returns

void