@reventlessdev/reventless-core 3.0.0-alpha.164 → 3.0.0-alpha.165

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,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.165 (2026-07-13)
7
+
8
+ **Note:** Version bump only for package @reventlessdev/reventless-core
9
+
10
+
11
+
12
+
13
+
6
14
  # 3.0.0-alpha.164 (2026-07-13)
7
15
 
8
16
  **Note:** Version bump only for package @reventlessdev/reventless-core
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-core",
3
- "version": "3.0.0-alpha.164",
3
+ "version": "3.0.0-alpha.165",
4
4
  "description": "Core package for Reventless framework",
5
5
  "license": "Apache-2.0",
6
6
  "jest": {
@@ -29,16 +29,16 @@
29
29
  "sury": "11.0.0-alpha.4",
30
30
  "uuid": "^13.0.0",
31
31
  "@reventlessdev/rescript-effect": "0.1.0-alpha.27",
32
- "@reventlessdev/rescript-jest": "1.0.0-alpha.7",
33
32
  "@reventlessdev/rescript-fast-csv": "1.2.0-alpha.12",
34
33
  "@reventlessdev/rescript-hash-object": "1.2.0-alpha.11",
34
+ "@reventlessdev/rescript-jest": "1.0.0-alpha.7",
35
35
  "@reventlessdev/rescript-node-streams": "1.1.0-alpha.11",
36
36
  "@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.15",
37
+ "@reventlessdev/rescript-ssh2": "1.1.0-alpha.12",
37
38
  "@reventlessdev/rescript-uuid": "1.1.0-alpha.15",
38
39
  "@reventlessdev/reventless-infra": "3.0.0-alpha.98",
39
- "@reventlessdev/rescript-ssh2": "1.1.0-alpha.12",
40
- "@reventlessdev/reventless-interop": "3.0.0-alpha.26",
41
- "@reventlessdev/reventless-spec": "3.0.0-alpha.76"
40
+ "@reventlessdev/reventless-spec": "3.0.0-alpha.76",
41
+ "@reventlessdev/reventless-interop": "3.0.0-alpha.26"
42
42
  },
43
43
  "devDependencies": {
44
44
  "rescript": "^12.3.0",
@@ -387,20 +387,13 @@ module Make = (
387
387
  ->Array.reduce(Belt.Set.String.empty, (acc, names) => acc->Belt.Set.String.union(names))
388
388
 
389
389
  let aggregatesOutputs = addEventMappers(allEventTopics, queryEngine)
390
+ // The admin EventCollector subscribes only to the aggregate event topics
391
+ // filtered by its extension-point aggregate names. It is NOT a reader of the
392
+ // admin DcbEventLog stream: ApiFragmentRegistry is now a singleton aggregate
393
+ // (its reactive push is the ApiSchemaPush SideEffect on the aggregate event
394
+ // topic), and the remaining DcbEventLog slice (UiFragmentRegistry) is consumed
395
+ // by the AllStateViewSlices projection, not here.
390
396
  let eventTopics = aggregatesOutputs->Aggregate.filterEventTopics(aggregateNames)
391
- // 2e: also subscribe the admin EventCollector to the admin DcbEventLog's
392
- // event topic (a DynamoDB stream on AWS) so the reactive ApiFragmentRegistry
393
- // single writer receives ApiFragment* events. The EventCollector channel
394
- // already provisions the stream subscription + read IAM for stream-backed
395
- // event-topic resources. Copy the filtered dict so the shared aggregate
396
- // outputs stay untouched.
397
- let eventTopics = switch dcbResult.dcbEventLogOutputs {
398
- | Some(dcbOutputs) =>
399
- let augmented = eventTopics->Dict.copy
400
- augmented->Dict.set(name ++ "DcbEventLog", dcbOutputs.eventTopic)
401
- augmented
402
- | None => eventTopics
403
- }
404
397
 
405
398
  module EventCollectorHelper = MakeEventCollectorHelper(
406
399
  RuntimeEnvironment,
@@ -172,15 +172,6 @@ function Make(RuntimeEnvironment) {
172
172
  let aggregateNames = Stdlib_Array.reduce(extensionPointsOutputs.map(extensionPointOutputs => Belt_SetString.fromArray(extensionPointOutputs.aggregateNames)), undefined, Belt_SetString.union);
173
173
  let aggregatesOutputs = Builder_Helpers$ReventlessCore.addEventMappers(aggregateEventTopics, queryEngine);
174
174
  let eventTopics = Aggregate$ReventlessCore.filterEventTopics(aggregatesOutputs, aggregateNames);
175
- let dcbOutputs = dcbResult.dcbEventLogOutputs;
176
- let eventTopics$1;
177
- if (dcbOutputs !== undefined) {
178
- let augmented = Object.assign({}, eventTopics);
179
- augmented[name + "DcbEventLog"] = dcbOutputs.eventTopic;
180
- eventTopics$1 = augmented;
181
- } else {
182
- eventTopics$1 = eventTopics;
183
- }
184
175
  let AdminEventCollector = EventCollector_Builder$ReventlessCore.Make(RuntimeEnvironment)(EventCollectorChannel);
185
176
  let make = (name, eventTopics, opts) => {
186
177
  let eventCollector = AdminEventCollector.make(name, eventTopics, opts);
@@ -215,9 +206,9 @@ function Make(RuntimeEnvironment) {
215
206
  AdminRuntimeBuilder.forPluginEventCollector(handler, eventTopics, resources, undefined, undefined, eventCollector);
216
207
  });
217
208
  };
218
- let match$1 = make(name, eventTopics$1, opts);
209
+ let match$1 = make(name, eventTopics, opts);
219
210
  let eventCollector = match$1[0];
220
- Output$Pulumi.flatMap(Pulumi.all(match[1]), extensionPointsOutgoingJsonEventsHandlers => connect(eventCollector, eventTopics$1, extensionPointsOutputs, extensionPointsOutgoingJsonEventsHandlers));
211
+ Output$Pulumi.flatMap(Pulumi.all(match[1]), extensionPointsOutgoingJsonEventsHandlers => connect(eventCollector, eventTopics, extensionPointsOutputs, extensionPointsOutgoingJsonEventsHandlers));
221
212
  Stdlib_Option.forEach(dcbResult.dcbRuntimeSetup, dcbRuntimeSetup => dcbRuntimeSetup());
222
213
  return extensionPointsOutputs;
223
214
  });