@reventlessdev/reventless-infra 3.0.0-alpha.84 → 3.0.0-alpha.85

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
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.85 (2026-07-05)
7
+
8
+ ### Features
9
+
10
+ * **postgres:** add reventless-postgres backend + local-platform integration ([6913200](https://github.com/ReventlessDev/reventless-core/commit/69132001f9271e832a5af33416acd5b645feaf47))
11
+
12
+
6
13
  # 3.0.0-alpha.84 (2026-07-03)
7
14
 
8
15
  **Note:** Version bump only for package @reventlessdev/reventless-infra
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-infra",
3
- "version": "3.0.0-alpha.84",
3
+ "version": "3.0.0-alpha.85",
4
4
  "description": "Infrastructure types for Reventless framework",
5
5
  "license": "Apache-2.0",
6
6
  "dependencies": {
7
7
  "sury": "11.0.0-alpha.4",
8
8
  "sury-ppx": "11.0.0-alpha.2",
9
9
  "uuid": "^13.0.0",
10
- "@reventlessdev/rescript-effect": "0.1.0-alpha.24",
11
10
  "@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.14",
12
11
  "@reventlessdev/rescript-uuid": "1.1.0-alpha.13",
13
- "@reventlessdev/reventless-spec": "3.0.0-alpha.64"
12
+ "@reventlessdev/reventless-spec": "3.0.0-alpha.64",
13
+ "@reventlessdev/rescript-effect": "0.1.0-alpha.24"
14
14
  },
15
15
  "devDependencies": {
16
16
  "rescript": "^12.3.0"
@@ -59,16 +59,31 @@ type read = (
59
59
  ~after: Reventless.DcbTag.sequencePosition=?,
60
60
  ) => promise<readResult>
61
61
 
62
+ /**
63
+ Typed DCB append outcome — mirrors `EventLog.appendError`. `Conflict` is the
64
+ optimistic-concurrency sentinel (the append-condition failed: a matching event
65
+ was written since `condition.after`), which the slice callback retries by
66
+ re-reading and re-deciding. Every other failure is a `StorageFailure` carrying
67
+ its message. Replaces the former string sentinel that conflated the two — a
68
+ storage error whose text happened to contain "conflict" would have been retried
69
+ forever, and backends disagreed on the sentinel's casing so conflict metrics were
70
+ misclassified across backends.
71
+ */
72
+ type appendError =
73
+ | Conflict
74
+ | StorageFailure(string)
75
+
62
76
  /**
63
77
  Appends raw events to the DCB log with optional optimistic-concurrency checking.
64
78
 
65
- Returns `Ok(position)` on success or `Error(reason)` if the append condition
66
- was violated (i.e. the log was modified since `condition.after`).
79
+ Returns `Ok(position)` on success or `Error(Conflict)` if the append condition
80
+ was violated (i.e. the log was modified since `condition.after`), or
81
+ `Error(StorageFailure(_))` on any other failure.
67
82
  */
68
83
  type append = (
69
84
  array<rawEvent>,
70
85
  ~condition: Reventless.DcbTag.appendCondition=?,
71
- ) => promise<result<Reventless.DcbTag.sequencePosition, string>>
86
+ ) => promise<result<Reventless.DcbTag.sequencePosition, appendError>>
72
87
 
73
88
  /**
74
89
  Streams events from the DCB log matching the given query.
@@ -91,7 +106,7 @@ Use for high-throughput batch imports.
91
106
  type appendStream = (
92
107
  Stream.t<rawEvent, string, unit>,
93
108
  ~condition: Reventless.DcbTag.appendCondition=?,
94
- ) => Effect.t<result<Reventless.DcbTag.sequencePosition, string>, string, unit>
109
+ ) => Effect.t<result<Reventless.DcbTag.sequencePosition, appendError>, string, unit>
95
110
 
96
111
  /**
97
112
  Runtime operations exposed by a `DcbEventLog` component.