Maniac Docs
API Reference

Sqlite memory

Sqlite-backed memory adapter for local persistence.

@maniac-ai/agents


Classes

SqliteMemory

Defined in: src/memory/adapters/sqlite.ts:95

Implements

Constructors

Constructor

new SqliteMemory(options): SqliteMemory

Defined in: src/memory/adapters/sqlite.ts:103

Parameters
options

SqliteMemoryOptions

Returns

SqliteMemory

Accessors

database
Get Signature

get database(): DatabaseSync

Defined in: src/memory/adapters/sqlite.ts:132

The underlying DatabaseSync handle. Exposed so sidecar stores that want to share the same on-disk file + connection (e.g. SqliteVectorIndex) can borrow it instead of opening a second handle to the same WAL file. The borrower must construct with { database } so it does not close a handle this adapter owns; SqliteMemory.close closes the shared handle once.

Returns

DatabaseSync

Methods

setup()

setup(): Promise<void>

Defined in: src/memory/adapters/sqlite.ts:145

Create the records and sequence tables, install indexes, and apply recommended pragmas. Idempotent: every statement uses IF NOT EXISTS. Safe to call repeatedly.

Returns

Promise<void>

close()

close(): Promise<void>

Defined in: src/memory/adapters/sqlite.ts:179

Close the underlying database handle if (and only if) the adapter opened it. No-op when the handle was supplied by the caller.

Returns

Promise<void>

save()

save(record, scope): Promise<string>

Defined in: src/memory/adapters/sqlite.ts:193

Parameters
record
id

string = ...

namespace

string = ...

content

unknown = ...

metadata

Record<string, unknown> = ...

created_at

string = ...

scope
read

string[] = ...

write

string[] = ...

Returns

Promise<string>

Implementation of

Memory.save

load()

load(id, scope): Promise<{ id: string; namespace: string; content: unknown; metadata: Record<string, unknown>; created_at: string; } | null>

Defined in: src/memory/adapters/sqlite.ts:223

Parameters
id

string

scope
read

string[] = ...

write

string[] = ...

Returns

Promise<{ id: string; namespace: string; content: unknown; metadata: Record<string, unknown>; created_at: string; } | null>

Implementation of

Memory.load

search(query, scope): Promise<object[]>

Defined in: src/memory/adapters/sqlite.ts:240

Parameters
query
text?

string | null = ...

namespace?

string | null = ...

filters

Record<string, unknown> = ...

k

number = ...

scope
read

string[] = ...

write

string[] = ...

Returns

Promise<object[]>

Implementation of

Memory.search

delete()

delete(id, scope): Promise<boolean>

Defined in: src/memory/adapters/sqlite.ts:294

Parameters
id

string

scope
read

string[] = ...

write

string[] = ...

Returns

Promise<boolean>

Implementation of

Memory.delete

nextSequence()

nextSequence(namespace, key, scope): Promise<number>

Defined in: src/memory/adapters/sqlite.ts:314

Parameters
namespace

string

key

string

scope
read

string[] = ...

write

string[] = ...

Returns

Promise<number>

Implementation of

MemorySequencer.nextSequence

Interfaces

SqliteMemoryOptions

Defined in: src/memory/adapters/sqlite.ts:60

Properties

filename?

optional filename?: string

Defined in: src/memory/adapters/sqlite.ts:66

Open a database at filename and own its lifecycle. Use ":memory:" for an in-process database (handy for tests). Mutually exclusive with SqliteMemoryOptions.database.

database?

optional database?: DatabaseSync

Defined in: src/memory/adapters/sqlite.ts:72

Bring-your-own DatabaseSync handle. The adapter never closes borrowed handles. Mutually exclusive with SqliteMemoryOptions.filename.

tablePrefix?

optional tablePrefix?: string

Defined in: src/memory/adapters/sqlite.ts:77

Override the table prefix. Defaults to maniac_memory; the sequence table is always <prefix>_sequences.

applyPragmas?

optional applyPragmas?: boolean

Defined in: src/memory/adapters/sqlite.ts:84

Apply recommended pragmas (journal_mode = WAL, synchronous = NORMAL, foreign_keys = ON) inside setup(). Defaults to true. Set to false when the host application configures pragmas itself.

On this page