Skip to main content

Module sqlite

Module sqlite 

Source
Expand description

SqliteTaskStore — SQLite-backed TaskStore using [rusqlite-isle].

The Connection is confined to a dedicated OS thread by AsyncIsle; every call is a typed closure dispatched over a bounded channel. blueprint_ref / input_ctx are stored as JSON blobs (both are already serde_json::Value), so schema evolution of the caller-side selector shape never requires a migration here.

§Schema

CREATE TABLE IF NOT EXISTS tasks (
  id                 TEXT PRIMARY KEY,
  goal               TEXT NOT NULL,
  blueprint_ref_json TEXT NOT NULL,
  input_ctx_json     TEXT NOT NULL,
  status             TEXT NOT NULL,      -- JSON-encoded `TaskRecordStatus`
  created_at         INTEGER NOT NULL,
  updated_at         INTEGER NOT NULL
);
CREATE INDEX IF NOT EXISTS ix_tasks_created_at ON tasks(created_at);

Structs§

SqliteTaskStore
SQLite-backed persistent TaskStore.