Commits
- bin/ingest.ts: runtime-configurable entrypoint supporting postgres and sqlite adapters
- Dockerfile: Node 22 alpine image with pnpm, runs via tsx
- Config, database URL, and Jetstream URL provided via env vars and volume mounts
Add examples/postgres/ as a self-contained example parallel to the
Cloudflare Workers example. Includes Docker Compose (port 5433 to
avoid conflicts), user discovery/backfill, persistent Jetstream
ingestion, and an HTTP server for the XRPC API.
Also documents runPersistent() in the main README.
Add runPersistent() for long-lived Jetstream ingestion that batches
events and flushes periodically. Handles reconnection, graceful
shutdown via AbortSignal, and cursor persistence across restarts.
Includes unit tests.
Introduce a dialect layer that abstracts SQL differences between SQLite
and PostgreSQL (JSON access, full-text search, type mappings). Add a
PostgreSQL adapter using pg with JSONB storage, tsvector FTS, and BIGINT
timestamps.
Includes unit tests for the dialect layer, PostgreSQL adapter tests,
and a full e2e test suite that runs against a real PostgreSQL instance
(skipped when TEST_DATABASE_URL is not set).
Introduce a dialect layer that abstracts SQL differences between SQLite
and PostgreSQL (JSON access, full-text search, type mappings). Add a
PostgreSQL adapter using pg with JSONB storage, tsvector FTS, and BIGINT
timestamps.
Includes unit tests for the dialect layer, PostgreSQL adapter tests,
and a full e2e test suite that runs against a real PostgreSQL instance
(skipped when TEST_DATABASE_URL is not set).