@paraharness/sqlite
WAL-mode SQLite runtime drivers and declarative sqlite.* builders for Paraharness. This package provides single-node durable persistence for LedgerStore, Copy-on-Write TopologyStore, LessonStore, and relational global rules sources backed by better-sqlite3.
Installation
With npm:
bash
npm install @paraharness/sqlite @paraharness/core zodWith yarn:
bash
yarn add @paraharness/sqlite @paraharness/core zodWith pnpm:
bash
pnpm add @paraharness/sqlite @paraharness/core zodUsage
ts
import { P, z } from '@paraharness/core';
import { createExecutorRegistry } from '@paraharness/core/runtime';
import { sqlite, sqliteExecutors } from '@paraharness/sqlite';
const TaskInput = z.object({
id: z.string(),
prompt: z.string(),
});
const ledger = sqlite
.ledger('.harness/state.sqlite')
.compactWhen(($c) =>
$c
.onTerminalExit(['done', 'cancelled'], { afterGracePeriodHours: 24 })
.retainFailedRunsForDays(14),
);
const repoTopology = P.topology('repo-topology')
.store(sqlite.topologyStore('.harness/state.sqlite'))
.partitions({
db: {},
api: { dependsOn: ['db'] },
});
const repoLessons = P.lessons('repo-lessons')
.store(sqlite.lessonStore('.harness/state.sqlite'))
.queryFrom(TaskInput, (item) => item.prompt);
const registry = createExecutorRegistry(sqliteExecutors);Documentation
See the @paraharness/sqlite API Reference for full type and builder specifications.
License
MIT © Tornike Tsomaia