FabricFabricHarness
EcosystemDatabases

libSQL

Run the unified Fabric store on local libSQL or a remote compatible service.

pnpm add @fabric-harness/node @libsql/client
.fabricharness/config.ts
import { createClient } from '@libsql/client';
import { libsqlPersistence } from '@fabric-harness/node';

export default function config() {
  const client = createClient({ url: 'file:.fabricharness/fabric.db' });
  return { persistence: libsqlPersistence({ client }) };
}

The adapter provides the complete bundle and uses version-fenced updates rather than relying on a long interactive transaction. That keeps the same code compatible with local libSQL and remote HTTP clients. Mutations within one persistence surface are atomic; cascade deletion spans several surface rows and is intentionally not one remote transaction. Retry deletion after transport failure, or use Postgres when cross-surface transactionality is mandatory.

For model-facing data, run fh add libsql. The managed recipe installs @libsql/client, creates a fixed-statement governed lookup tool and test, and prints its verification command. Parameterize every value, cap rows and duration, separate reads and writes, propagate tenant filters, and require approval for writes or DDL.