New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@zensation/adapter-sqlite

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@zensation/adapter-sqlite

SQLite storage adapter for ZenBrain memory system. Zero-config, file-based, perfect for development and single-user deployments.

latest
Source
npmnpm
Version
0.2.5
Version published
Weekly downloads
234
457.14%
Maintainers
1
Weekly downloads
 
Created
Source

@zensation/adapter-sqlite

Zero-config SQLite storage adapter for ZenBrain. No database server needed.

Quick Start

npm install @zensation/core @zensation/adapter-sqlite

This package is ESM. require() loads it on Node 22.12 and later; on Node 22.0–22.11, use import.

import { SemanticMemory } from '@zensation/core';
import { SqliteAdapter } from '@zensation/adapter-sqlite';

// File-based (persistent)
const storage = new SqliteAdapter({ filename: './my-memory.db' });

// Or in-memory (testing)
import { createMemoryAdapter } from '@zensation/adapter-sqlite';
const testStorage = createMemoryAdapter();

const memory = new SemanticMemory({ storage });
await memory.storeFact('FSRS outperforms SM-2 by 30%', 'research');

When to Use

Use CaseAdapter
Development / prototypingSQLite
Single-user desktop appSQLite
Unit testsSQLite (:memory:)
Multi-user productionPostgreSQL
Vector similarity searchPostgreSQL (pgvector)

Limitations

  • Similarity search is a full scan per query: embeddings are stored as JSON arrays and compared by a cosine-distance function, with no ANN index. Fine for development and single-user data volumes; use PostgreSQL with pgvector for large stores.
  • Without an embedding provider, recall ranks by wording, not meaning: synonyms need one.
  • Single-writer concurrency (WAL mode helps with reads)

Schema

The adapter creates these tables on first open (CREATE TABLE IF NOT EXISTS) and records the schema version in PRAGMA user_version (exported as SCHEMA_VERSION, currently 1).

LayerTableColumns
Episodicepisodic_memoriesid, content, context, embedding (JSON array), emotional_weight, metadata (JSON), created_at
Semanticlearned_factsid, content, confidence, source, embedding, access_count, fsrs_difficulty, fsrs_stability, fsrs_next_review, created_at, last_accessed
Proceduralprocedural_memoriesid, trigger, steps (JSON), tools (JSON), outcome, embedding, success_rate, execution_count, created_at
Corecore_memory_blocksid, label (one block per label), content, pinned (1 or 0), updated_at
Cross-contextcross_context_linksid, entity_a, entity_b (one link per pair), created_at
—knowledge_entitiesid, name, type, embedding, created_at

Working and short-term memory live in the process and have no table. Episodes carry emotional_weight; confidence is a column of facts only.

Timestamps are text in one format: ISO 8601, UTC, milliseconds, Z (2026-09-28T21:25:17.000Z), so text order is time order and every value parses as UTC. Code that writes these tables directly should use the same format — in SQL, strftime('%Y-%m-%dT%H:%M:%fZ','now').

Schema versionChange
1One timestamp format. A file written by an earlier version is rewritten once when it is opened; text SQLite cannot read as a time is left as it was.

Configuration

const storage = new SqliteAdapter({
  filename: './data/memory.db', // default: './zenbrain.db'
  walMode: true,                // default: true (better read concurrency)
  logger: console,              // optional
});

License

Apache 2.0

About ZenBrain

ZenBrain is a seven-layer, neuroscience-derived memory architecture for LLM agents, built as zero-dependency TypeScript and published under Apache-2.0. The benchmark results, and the configuration they were measured in, are reported in the paper; the reproduction packages are on Zenodo.

Works out of the box without an embedding provider — lexical ranking, zero dependencies. The paper's measurements used nomic-embed-text as the embedding provider.

License: Apache-2.0

Keywords

zenbrain

FAQs

Package last updated on 01 Oct 2026

Related posts