Skip to main content
[AVAILABLE] for memory and supabase. Declared but unimplemented for postgres/sqlite, see below.

Providers, precisely

StorageConfiguration.provider accepts "memory" | "supabase" | "postgres" | "sqlite" as a type, but only the first two have a real class behind them. Setting PARMANA_STORAGE=postgres or sqlite throws immediately at startup, by design (fails closed rather than silently falling back).

What’s stored

packages/storage/src/repositories/: ExecutionRepository, VerificationRepository, CryptoProofRepository, plus per-provider BusinessTransactionRepository and ExecutionTrustRecordRepository implementations, the append-only ledger backing every Execution Trust Record.

Configuration

PARMANA_STORAGE is the only variable read. An older DATABASE_PROVIDER variable existed briefly as a second, disconnected path to the same setting and is now retired: if it’s present in the environment, config loading fails at startup naming PARMANA_STORAGE as the replacement, rather than silently ignoring it. 8 tests, packages/storage/test/. See @parmana/storage for the package’s full export list if you’re consuming it directly rather than through the default server.