@reventlessdev/reventless-postgres 3.0.0-alpha.19 → 3.0.0-alpha.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +83 -0
  3. package/lib/bs/.compiler.log +2 -2
  4. package/lib/bs/compiler-info.json +1 -1
  5. package/lib/bs/src/DcbEventLogStorage_Postgres-ReventlessPostgres.cmi +0 -0
  6. package/lib/bs/src/DcbEventLogStorage_Postgres-ReventlessPostgres.cmt +0 -0
  7. package/lib/bs/src/DcbEventLogStorage_Postgres_Ops-ReventlessPostgres.cmi +0 -0
  8. package/lib/bs/src/DcbEventLogStorage_Postgres_Ops-ReventlessPostgres.cmt +0 -0
  9. package/lib/bs/src/EventLogChangeFeed-ReventlessPostgres.cmi +0 -0
  10. package/lib/bs/src/EventLogChangeFeed-ReventlessPostgres.cmt +0 -0
  11. package/lib/bs/src/EventLogStorage_Postgres-ReventlessPostgres.cmi +0 -0
  12. package/lib/bs/src/EventLogStorage_Postgres-ReventlessPostgres.cmt +0 -0
  13. package/lib/bs/src/EventLogStorage_Postgres_Ops-ReventlessPostgres.cmi +0 -0
  14. package/lib/bs/src/EventLogStorage_Postgres_Ops-ReventlessPostgres.cmt +0 -0
  15. package/lib/bs/src/PgChangeFeed-ReventlessPostgres.cmi +0 -0
  16. package/lib/bs/src/PgChangeFeed-ReventlessPostgres.cmt +0 -0
  17. package/lib/bs/src/QueryDbStorage_Postgres-ReventlessPostgres.cmi +0 -0
  18. package/lib/bs/src/QueryDbStorage_Postgres-ReventlessPostgres.cmt +0 -0
  19. package/lib/bs/src/QueryDbStorage_Postgres_Ops-ReventlessPostgres.cmi +0 -0
  20. package/lib/bs/src/QueryDbStorage_Postgres_Ops-ReventlessPostgres.cmt +0 -0
  21. package/lib/bs/src/QueryEnginePostgres-ReventlessPostgres.cmi +0 -0
  22. package/lib/bs/src/QueryEnginePostgres-ReventlessPostgres.cmt +0 -0
  23. package/lib/bs/tests/PostgresIntegrationTest-ReventlessPostgres.cmi +0 -0
  24. package/lib/bs/tests/PostgresIntegrationTest-ReventlessPostgres.cmt +0 -0
  25. package/lib/bs/tests/QueryEnginePostgresListPageTest-ReventlessPostgres.cmi +0 -0
  26. package/lib/bs/tests/QueryEnginePostgresListPageTest-ReventlessPostgres.cmt +0 -0
  27. package/lib/ocaml/.compiler.log +2 -2
  28. package/lib/ocaml/DcbEventLogStorage_Postgres-ReventlessPostgres.cmi +0 -0
  29. package/lib/ocaml/DcbEventLogStorage_Postgres-ReventlessPostgres.cmt +0 -0
  30. package/lib/ocaml/DcbEventLogStorage_Postgres_Ops-ReventlessPostgres.cmi +0 -0
  31. package/lib/ocaml/DcbEventLogStorage_Postgres_Ops-ReventlessPostgres.cmt +0 -0
  32. package/lib/ocaml/EventLogChangeFeed-ReventlessPostgres.cmi +0 -0
  33. package/lib/ocaml/EventLogChangeFeed-ReventlessPostgres.cmt +0 -0
  34. package/lib/ocaml/EventLogStorage_Postgres-ReventlessPostgres.cmi +0 -0
  35. package/lib/ocaml/EventLogStorage_Postgres-ReventlessPostgres.cmt +0 -0
  36. package/lib/ocaml/EventLogStorage_Postgres_Ops-ReventlessPostgres.cmi +0 -0
  37. package/lib/ocaml/EventLogStorage_Postgres_Ops-ReventlessPostgres.cmt +0 -0
  38. package/lib/ocaml/PgChangeFeed-ReventlessPostgres.cmi +0 -0
  39. package/lib/ocaml/PgChangeFeed-ReventlessPostgres.cmt +0 -0
  40. package/lib/ocaml/QueryDbStorage_Postgres-ReventlessPostgres.cmi +0 -0
  41. package/lib/ocaml/QueryDbStorage_Postgres-ReventlessPostgres.cmt +0 -0
  42. package/lib/ocaml/QueryDbStorage_Postgres_Ops-ReventlessPostgres.cmi +0 -0
  43. package/lib/ocaml/QueryDbStorage_Postgres_Ops-ReventlessPostgres.cmt +0 -0
  44. package/lib/ocaml/QueryEnginePostgres-ReventlessPostgres.cmi +0 -0
  45. package/lib/ocaml/QueryEnginePostgres-ReventlessPostgres.cmt +0 -0
  46. package/package.json +8 -8
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 3.0.0-alpha.20 (2026-07-11)
7
+
8
+ **Note:** Version bump only for package @reventlessdev/reventless-postgres
9
+
10
+
11
+
12
+
13
+
6
14
  # 3.0.0-alpha.19 (2026-07-11)
7
15
 
8
16
  ### Bug Fixes
package/README.md ADDED
@@ -0,0 +1,83 @@
1
+ [![npm](https://img.shields.io/npm/v/@reventlessdev/reventless-postgres.svg?label=npm)](https://www.npmjs.com/package/@reventlessdev/reventless-postgres)
2
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
3
+ [![Docs](https://img.shields.io/badge/docs-reventless.dev-blue)](https://docs.reventless.dev)
4
+
5
+ # @reventlessdev/reventless-postgres
6
+
7
+ > ⚠️ **Alpha.** APIs and on-disk formats can change without notice between releases.
8
+ > Pin exact versions and expect breaking changes.
9
+
10
+ The **Postgres storage backend** for [Reventless](https://docs.reventless.dev) — a
11
+ spec-driven, event-sourced CQRS framework written in [ReScript](https://rescript-lang.org).
12
+ It implements the core storage adapters (classic and DCB event logs, the query
13
+ database, and change feeds) over a plain Postgres connection. It carries **no**
14
+ IaC/provider SDK dependency: it connects by connection string, so it runs against
15
+ RDS/Aurora, any managed provider, or a local container.
16
+
17
+ ## What it provides
18
+
19
+ ReScript modules, consumed by adding the package to your `rescript.json` `dependencies`:
20
+
21
+ - **`PgDriver`** — the [`node-postgres`](https://node-postgres.com) (`pg`) binding
22
+ (pool/client). Accepts a full `connectionString` or discrete fields, with SSL
23
+ and rotating-secret (password-provider) support.
24
+ - **`PgSchema`** — an idempotent schema + migration runner (`ensureSchema(pool)`),
25
+ safe to run on every startup and concurrently across processes.
26
+ - **`EventLogStorage_Postgres`** — the classic optimistic-concurrency event log
27
+ (`event_log` / `snapshot`).
28
+ - **`DcbEventLogStorage_Postgres`** — the DCB (Dynamic Consistency Boundary) event
29
+ log with a global position sequence and a concurrency-critical `dcb_append`.
30
+ - **`QueryDbStorage_Postgres`** — read-side storage over JSONB `qdb_<name>` tables.
31
+ - **`QueryEnginePostgres`** — compiles the core QueryEngine query/scan AST down to
32
+ SQL, pushing filters into the database.
33
+ - **`EventLogChangeFeed`** / **`PgChangeFeed`** — checkpointed change feeds for the
34
+ classic and DCB logs, using an `xmin`-fenced read plus `LISTEN`/`NOTIFY`
35
+ (`pg_notify`) for near-real-time wakeup. A documented public consumer surface.
36
+
37
+ The `*_Ops` modules hold the runtime-pure operations (no Pulumi import) so a
38
+ deployed handler's ESM graph stays clean; the wrapper modules add the deploy-time
39
+ adapter shape.
40
+
41
+ ## Where it fits
42
+
43
+ `reventless-postgres` is a storage **adapter** for the Reventless framework.
44
+ [`reventless-core`](https://www.npmjs.com/package/@reventlessdev/reventless-core)
45
+ is provider-agnostic; this package supplies the Postgres implementation of its
46
+ event-log, query-db, and change-feed interfaces:
47
+
48
+ - [`@reventlessdev/reventless-aws`](https://www.npmjs.com/package/@reventlessdev/reventless-aws) — AWS (DynamoDB, Lambda, SQS, SNS, S3); can delegate event logs to this package for managed Postgres
49
+ - [`@reventlessdev/reventless-postgres`](https://www.npmjs.com/package/@reventlessdev/reventless-postgres) — **this package**
50
+ - [`@reventlessdev/reventless-local`](https://www.npmjs.com/package/@reventlessdev/reventless-local) — in-memory / SQLite platform that uses this storage against a local Postgres
51
+
52
+ Because it depends only on `pg` (plus
53
+ [`reventless-core`](https://www.npmjs.com/package/@reventlessdev/reventless-core),
54
+ [`reventless-infra`](https://www.npmjs.com/package/@reventlessdev/reventless-infra),
55
+ and [`reventless-spec`](https://www.npmjs.com/package/@reventlessdev/reventless-spec)),
56
+ the platform package that embeds it owns provisioning; this package only needs a
57
+ reachable Postgres.
58
+
59
+ ## Install
60
+
61
+ ```bash
62
+ pnpm add @reventlessdev/reventless-postgres
63
+ ```
64
+
65
+ Then register it as a ReScript dependency in `rescript.json`:
66
+
67
+ ```json
68
+ {
69
+ "dependencies": ["@reventlessdev/reventless-postgres"]
70
+ }
71
+ ```
72
+
73
+ Requires ReScript `^12.3.0` (peer dependency).
74
+
75
+ ## Links
76
+
77
+ - 📚 Documentation — [docs.reventless.dev](https://docs.reventless.dev)
78
+ - 📦 Repository — [ReventlessDev/reventless-core](https://github.com/ReventlessDev/reventless-core)
79
+ - 📋 [Changelog](./CHANGELOG.md)
80
+
81
+ ## License
82
+
83
+ [Apache-2.0](https://opensource.org/licenses/Apache-2.0)
@@ -1,2 +1,2 @@
1
- #Start(1783771091623)
2
- #Done(1783771095743)
1
+ #Start(1783796788407)
2
+ #Done(1783796792950)
@@ -4,5 +4,5 @@
4
4
  "bsc_hash": "75e3a59c95cc953608fd3dd6ea6ed68141bba4414a20a52f114261b8a48385fa",
5
5
  "rescript_config_hash": "af2af60a0fa33b8249a96ff2758f36482843126dc4e07b9302842d011e0ad8c6",
6
6
  "runtime_path": "/home/runner/work/reventless-core/reventless-core/node_modules/@rescript/runtime",
7
- "generated_at": "1783771095760"
7
+ "generated_at": "1783796792956"
8
8
  }
@@ -1,2 +1,2 @@
1
- #Start(1783771091623)
2
- #Done(1783771095743)
1
+ #Start(1783796788407)
2
+ #Done(1783796792950)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-postgres",
3
- "version": "3.0.0-alpha.19",
3
+ "version": "3.0.0-alpha.20",
4
4
  "description": "Postgres storage backend for Reventless (classic + DCB event logs, query DB, change feed). Connection-string only — RDS/Aurora, any managed provider, or a local container.",
5
5
  "license": "Apache-2.0",
6
6
  "jest": {
@@ -22,18 +22,18 @@
22
22
  "dependencies": {
23
23
  "pg": "^8.13.1",
24
24
  "sury": "11.0.0-alpha.4",
25
- "@reventlessdev/rescript-effect": "0.1.0-alpha.26",
26
- "@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.14",
27
- "@reventlessdev/rescript-jest": "1.0.0-alpha.6",
28
- "@reventlessdev/reventless-core": "3.0.0-alpha.155",
29
- "@reventlessdev/reventless-spec": "3.0.0-alpha.74",
30
- "@reventlessdev/reventless-infra": "3.0.0-alpha.96"
25
+ "@reventlessdev/rescript-effect": "0.1.0-alpha.27",
26
+ "@reventlessdev/rescript-jest": "1.0.0-alpha.7",
27
+ "@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.15",
28
+ "@reventlessdev/reventless-core": "3.0.0-alpha.156",
29
+ "@reventlessdev/reventless-infra": "3.0.0-alpha.97",
30
+ "@reventlessdev/reventless-spec": "3.0.0-alpha.75"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/pg": "^8.11.10",
34
34
  "rescript": "^12.3.0",
35
35
  "sury-ppx": "11.0.0-alpha.2",
36
- "@reventlessdev/reventless-ppx": "1.0.0-alpha.52"
36
+ "@reventlessdev/reventless-ppx": "1.0.0-alpha.53"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "rescript": "^12.3.0"