> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parmanasystems.com/llms.txt
> Use this file to discover all available pages before exploring further.

# @parmana/storage

> Package reference for @parmana/storage. For the conceptual overview and configuration, see Storage.

<Info>**\[AVAILABLE]** for `memory` and `supabase`. **Declared but unimplemented, throws at startup** for `postgres`/`sqlite`. See [Storage](/storage/overview) for providers, configuration, and what's actually stored.</Info>

## Install

```bash theme={null}
npm install @parmana/storage
```

## Key exports

| Export                                                                                                                           | Purpose                                                                                                                                                               |
| -------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `StorageFactory`                                                                                                                 | Constructs a `StorageProvider` from `StorageConfiguration.provider` (`"memory" \| "supabase" \| "postgres" \| "sqlite"`), throws for the two unimplemented providers. |
| `MemoryStorageProvider`, `MemoryBusinessTransactionRepository`, `MemoryExecutionTrustRecordRepository`, `MemoryPolicyRepository` | \[AVAILABLE]. In-process, non-persistent.                                                                                                                             |
| `SupabaseStorageProvider`, `SupabaseBusinessTransactionRepository`, `SupabaseExecutionTrustRecordRepository`                     | \[AVAILABLE] (source), not independently re-verified against a live Supabase instance in this documentation pass.                                                     |
| `StorageProvider`, `StorageBuilder`, `StorageConfiguration`                                                                      | The provider contract and its typed configuration.                                                                                                                    |
| `AppendOnlyLedger`, `LedgerEntry`, `LedgerSerializer`                                                                            | The append-only primitive repositories are built on.                                                                                                                  |
| `ExecutionRepository`, `VerificationRepository`, `CryptoProofRepository`                                                         | Additional repository interfaces.                                                                                                                                     |
| `StorageError`                                                                                                                   | Thrown on provider misconfiguration, including the retired `DATABASE_PROVIDER` variable, see [Storage](/storage/overview).                                            |

## Minimal example

```typescript theme={null}
import { MemoryStorageProvider } from "@parmana/storage";

const storage = new MemoryStorageProvider();
// or, via the factory:
// const storage = StorageFactory.create({ provider: "memory" });
```

## Next

<CardGroup cols={2}>
  <Card title="Storage" icon="database" href="/storage/overview">
    Providers, configuration, and what's actually stored, the conceptual overview.
  </Card>

  <Card title="Execution trust records" icon="file-shield" href="/concepts/execution-trust-records">
    What actually gets stored, and what's append-only versus signed.
  </Card>
</CardGroup>
