@reventlessdev/reventless-core 3.0.0-alpha.143 → 3.0.0-alpha.144
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.144 (2026-07-07)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **reventless-aws:** thread inferred DCB scope into the deployed command handler ([4d8327f](https://github.com/ReventlessDev/reventless-core/commit/4d8327fad8659a1cde8c36098c72392737437af1))
|
|
11
|
+
|
|
12
|
+
|
|
6
13
|
# 3.0.0-alpha.143 (2026-07-06)
|
|
7
14
|
|
|
8
15
|
### Features
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reventlessdev/reventless-core",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.144",
|
|
4
4
|
"description": "Core package for Reventless framework",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"jest": {
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
"@reventlessdev/rescript-effect": "0.1.0-alpha.25",
|
|
32
32
|
"@reventlessdev/rescript-fast-csv": "1.2.0-alpha.11",
|
|
33
33
|
"@reventlessdev/rescript-hash-object": "1.2.0-alpha.10",
|
|
34
|
-
"@reventlessdev/rescript-node-streams": "1.1.0-alpha.10",
|
|
35
34
|
"@reventlessdev/rescript-jest": "1.0.0-alpha.6",
|
|
35
|
+
"@reventlessdev/rescript-node-streams": "1.1.0-alpha.10",
|
|
36
36
|
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.14",
|
|
37
|
-
"@reventlessdev/reventless-infra": "3.0.0-alpha.89",
|
|
38
|
-
"@reventlessdev/reventless-spec": "3.0.0-alpha.67",
|
|
39
|
-
"@reventlessdev/reventless-interop": "3.0.0-alpha.24",
|
|
40
37
|
"@reventlessdev/rescript-uuid": "1.1.0-alpha.14",
|
|
41
|
-
"@reventlessdev/
|
|
38
|
+
"@reventlessdev/reventless-infra": "3.0.0-alpha.90",
|
|
39
|
+
"@reventlessdev/reventless-interop": "3.0.0-alpha.24",
|
|
40
|
+
"@reventlessdev/rescript-ssh2": "1.1.0-alpha.11",
|
|
41
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.68"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"rescript": "^12.3.0",
|
|
@@ -289,11 +289,21 @@ module Make = (
|
|
|
289
289
|
|
|
290
290
|
// All-or-nothing: thread the derived scope only when every slice resolved.
|
|
291
291
|
// An ambiguous boundary keeps the annotated values (no partial inference).
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
292
|
+
// Both this builder and the deployed command-handler entry point
|
|
293
|
+
// (DcbCommandTopicEntryPoint.mjs) route through `DcbTag.deriveEffectiveScope`
|
|
294
|
+
// so the runtime decision query cannot drift from this scope — see
|
|
295
|
+
// docs/analysis/dcb-runtime-scope-annotation-drift.md.
|
|
296
|
+
let {
|
|
297
|
+
crossPartitionTagKeys: effectiveCrossPartitionTagKeys,
|
|
298
|
+
tagKeysByEventType: effectiveTagKeysByEventType,
|
|
299
|
+
} = Reventless.DcbTag.deriveEffectiveScope(
|
|
300
|
+
stateChangeSlices->Array.map((module(Sc: StateChangeSlice.T)) => {
|
|
301
|
+
Reventless.DcbTag.name: Sc.Spec.name,
|
|
302
|
+
commandSchema: Sc.Spec.commandSchema->S.castToUnknown,
|
|
303
|
+
consumedEventSchema: Sc.Spec.consumedEventSchema->S.castToUnknown,
|
|
304
|
+
eventSchema: Sc.Spec.eventSchema->S.castToUnknown,
|
|
305
|
+
}),
|
|
306
|
+
)
|
|
297
307
|
|
|
298
308
|
module DcbEventLog = DcbEventLog_Builder.Make(
|
|
299
309
|
DcbEventLogStorage,
|
|
@@ -167,9 +167,14 @@ function Make(DcbEventLogStorage) {
|
|
|
167
167
|
let scopeIssues = DcbValidation$Reventless.validateScopeVsInference(scopeAnnotations, inferred);
|
|
168
168
|
scopeIssues.contradictions.forEach(e => log.warn("Dcb_Builder", undefined, `DCB scope contradiction (` + e.sliceName + `): ` + e.message));
|
|
169
169
|
scopeIssues.redundancies.forEach(e => log.info("Dcb_Builder", undefined, `DCB scope (` + e.sliceName + `): ` + e.message));
|
|
170
|
-
let
|
|
171
|
-
|
|
172
|
-
|
|
170
|
+
let match = DcbTag$Reventless.deriveEffectiveScope(stateChangeSlices.map(Sc => ({
|
|
171
|
+
name: Sc.Spec.name,
|
|
172
|
+
commandSchema: Sc.Spec.commandSchema,
|
|
173
|
+
consumedEventSchema: Sc.Spec.consumedEventSchema,
|
|
174
|
+
eventSchema: Sc.Spec.eventSchema
|
|
175
|
+
})));
|
|
176
|
+
let effectiveTagKeysByEventType = match.tagKeysByEventType;
|
|
177
|
+
let effectiveCrossPartitionTagKeys = match.crossPartitionTagKeys;
|
|
173
178
|
let DcbEventLog = DcbEventLog_Builder$ReventlessCore.Make(DcbEventLogStorage)(DcbEventTopicPublisher);
|
|
174
179
|
let dcbEventLog = DcbEventLog.make(name, indexes$1, partitionTag, effectiveCrossPartitionTagKeys, opts);
|
|
175
180
|
Stdlib_Option.forEach(HooksConfig.hooks.onDcbEventLogCreated, hook => hook(dcbEventLog));
|