Platform Support
AgentOS integrates with the SQL Storage Adapter as its primary persistence interface. This enables a single codebase to run across Cloud (PostgreSQL), Desktop (Electron with better-sqlite3), Mobile (Capacitor SQLite), and Browser/Edge (sql.js fallback).
- Storage adapter overview:
packages/sql-storage-adapter/README.md. - Storage adapter internals:
packages/sql-storage-adapter/ARCHITECTURE.md. - Platform strategy:
PLATFORM_STRATEGY.md.
Defaults
- SaaS (Cloud): prefer PostgreSQL via
DATABASE_URL—postgresAdapter. - Desktop: prefer
betterSqliteAdapter, fallback tosqlJsAdapter. - Mobile: prefer
capacitorSqliteAdapter. - Browser:
sqlJsAdapteronly, withindexedDbAdapterexport/import for persistence.
AgentOS Usage
- Use
createDatabase()from@framers/sql-storage-adapterin AgentOS services. Returns a uniformStorageAdapterregardless of backend. - Branch optional features by adapter capabilities (
AdapterCapabilities): JSON / arrays / streaming only when supported. - Degrade gracefully (hide orgs/billing where unsupported, provide export/import when no cloud backup).
Source files
| Surface | Repo | Path |
|---|---|---|
createDatabase() | framerslab/sql-storage-adapter | src/core/database.ts |
StorageAdapter contract | framerslab/sql-storage-adapter | src/core/contracts/index.ts |
postgresAdapter | framerslab/sql-storage-adapter | src/adapters/postgresAdapter.ts |
betterSqliteAdapter | framerslab/sql-storage-adapter | src/adapters/betterSqliteAdapter.ts |
sqlJsAdapter | framerslab/sql-storage-adapter | src/adapters/sqlJsAdapter.ts |
capacitorSqliteAdapter | framerslab/sql-storage-adapter | src/adapters/capacitorSqliteAdapter.ts |
indexedDbAdapter | framerslab/sql-storage-adapter | src/adapters/indexedDbAdapter.ts |
supabase adapter | framerslab/sql-storage-adapter | src/adapters/supabase.ts |
| Adapter tree (all backends) | framerslab/sql-storage-adapter | src/adapters/ |