pi-mono/packages/session-backends/sqlite-node
Cristina Poncela Cubeiro 77f4840320
chore: qa2 tests (#7706)
* 1. rejects corrupt parent chains in array-backed readers

* 2. does not decode SQLite branch entries outside query bounds

* 3. validates SQLite entries before filtering and limiting branch results

* 4. does not validate SQLite ancestors beyond newest-first stop bounds

* 5. rejects repository operations and session writes after disposal

* 6. supports lexical ownership with await using

* 7. uses listing as a barrier between accepted session operations

* 8. waits for every accepted session operation during disposal

* 9. waits for accepted appends before disposal and rejects later writes

* 10. repository disposal closes its owned storage

* 11. stops branch traversal at retained-tail compaction

* docs: mark QA2 done
2026-08-06 11:24:09 +02:00
..
scripts chore: rename storage package to session-backends 2026-08-05 09:28:44 +02:00
src fix: project open operation id to lanes (#7654) 2026-08-05 16:57:41 +02:00
test chore: qa2 tests (#7706) 2026-08-06 11:24:09 +02:00
CHANGELOG.md chore: rename storage package to session-backends 2026-08-05 09:28:44 +02:00
package.json chore: rename storage package to session-backends 2026-08-05 09:28:44 +02:00
README.md chore: rename storage package to session-backends 2026-08-05 09:28:44 +02:00
tsconfig.build.json chore: rename storage package to session-backends 2026-08-05 09:28:44 +02:00
vitest.config.ts feat: extract telemetry package 2026-08-05 23:23:12 +02:00

@earendil-works/pi-session-backend-sqlite-node

Node sqlite session backend for @earendil-works/pi-agent-core sessions. Provides the node:sqlite adapter (SqliteDatabase implementation), SQLite session repository, migrations, materialized views, and optional FTS search.

await using repository = new SqliteSessionRepository(options);
const search = createSqliteSessionSearch(options);
const session = await repository.create({ cwd });
const hits = await search.search({ text: "needle" });

The repository lazily owns one shared database connection. Search is an independent, query-only projection over the same canonical database.