pi-mono/packages/session-backends/sqlite-node
Vegard Stikbakke 591f22a618
feat(agent): add indexed harness recovery queries (#7646)
Implements R0 of the harness v2 plan, which adds RecordQuery.operationKind filtering and adds Session.findOpenOperations() for recovery purposes. The in-memory implementation keeps the open-operation projections in memory. SQLite implementation adds an index idx_records_session_lane_run_id_type.
2026-08-05 10:41:44 +02:00
..
scripts chore: rename storage package to session-backends 2026-08-05 09:28:44 +02:00
src feat(agent): add indexed harness recovery queries (#7646) 2026-08-05 10:41:44 +02:00
test feat(agent): add indexed harness recovery queries (#7646) 2026-08-05 10:41:44 +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 chore: rename storage package to session-backends 2026-08-05 09:28:44 +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.