mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-11-05 23:37:25 +00:00
* 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 |
||
|---|---|---|
| .. | ||
| scripts | ||
| src | ||
| test | ||
| CHANGELOG.md | ||
| package.json | ||
| README.md | ||
| tsconfig.build.json | ||
| vitest.config.ts | ||
@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.