Execute a single SQL statement that does not return rows. Used for INSERT, UPDATE, DELETE, and DDL statements.
The SQL statement to execute.
Optional params: unknown[]Optional positional parameters bound to ? placeholders.
Execute a single SQL query and return the first matching row.
The SQL SELECT statement.
Optional params: unknown[]Optional positional parameters bound to ? placeholders.
The first row as a plain object, or undefined if no rows match.
Optional execOptional transactionRun fn atomically. The adapter passes a transaction-scoped runner with
the same run/get/all shape; a throw inside fn rolls the whole unit
back. Optional — consumers that require atomicity (e.g.
PersonalityMutationStore.decayForAgent) must check for it and fail
with a descriptive error when absent (spec batch-1 C6).
Minimal storage adapter interface for SQLite persistence.
The registry uses this abstraction so it can work with any SQLite driver (better-sqlite3, sql.js, Drizzle raw, etc.) without taking a hard dependency. All methods are async to support both sync and async driver wrappers.