@reventlessdev/reventless-local 3.0.0-alpha.291 → 3.0.0-alpha.292

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 (42) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.json +12 -12
  3. package/src/Platform.res +13 -13
  4. package/src/Platform.res.mjs +44 -44
  5. package/src/UiHints.res +1 -1
  6. package/src/adapter/Auth/LocalAuth.res +2 -2
  7. package/src/adapter/Backend.res +2 -2
  8. package/src/adapter/LocalBus.res +1 -1
  9. package/src/adapter/LocalUploadResolvers.res +1 -1
  10. package/src/components/Aggregate_Builder.res +2 -2
  11. package/src/components/Aggregate_Builder.res.mjs +4 -4
  12. package/src/components/DcbEventLog_Builder.res +1 -1
  13. package/src/components/StateChangeSlice_Builder.res +3 -3
  14. package/src/components/StateChangeSlice_Builder.res.mjs +3 -3
  15. package/src/reset/LocalSeedReset.res +1 -1
  16. package/tests/adapter/BackendParityTest.res +1 -1
  17. package/tests/adapter/EventHistoryResolverTest.res +2 -2
  18. package/tests/adapter/GraphQL_SchemaInspectorTest.res +1 -1
  19. package/tests/adapter/LocalAuthLoginTest.res +1 -1
  20. package/tests/adapter/QueryDbListResolverTest.res +1 -1
  21. package/tests/adapter/QueryDbResolvedFieldsTest.res +1 -1
  22. package/tests/components/aggregate/AggregateFixtures.res +6 -6
  23. package/tests/components/aggregate/AggregateFixtures.res.mjs +3 -3
  24. package/tests/components/aggregate/AggregateSelfMappingFixtures.res +2 -2
  25. package/tests/components/aggregate/AggregateSelfMappingFixtures.res.mjs +3 -3
  26. package/tests/components/automationslice/AutomationSliceSelfDeadlockFixtures.res +4 -4
  27. package/tests/components/automationslice/AutomationSliceSelfDeadlockFixtures.res.mjs +4 -4
  28. package/tests/components/commandgenerator/CommandGeneratorFixtures.res +3 -3
  29. package/tests/components/commandgenerator/CommandGeneratorFixtures.res.mjs +4 -4
  30. package/tests/components/dcb/DcbCrossPartitionFixtures.res +2 -2
  31. package/tests/components/dcb/DcbCrossPartitionFixtures.res.mjs +2 -2
  32. package/tests/components/dcb/DcbFixtures.res +2 -2
  33. package/tests/components/dcb/DcbFixtures.res.mjs +2 -2
  34. package/tests/components/outboundtranslationslice/OutboundTranslationSliceFixtures.res +1 -1
  35. package/tests/components/outboundtranslationslice/OutboundTranslationSlicePlatformFixtures.res +2 -2
  36. package/tests/components/outboundtranslationslice/OutboundTranslationSlicePlatformFixtures.res.mjs +2 -2
  37. package/tests/components/readmodel/DcbReadModelE2EFixtures.res +2 -2
  38. package/tests/components/readmodel/DcbReadModelE2EFixtures.res.mjs +2 -2
  39. package/tests/plugin/{PluginBehavior_GWT.res → PluginDecision_GWT.res} +2 -2
  40. package/tests/plugin/{PluginBehavior_GWT.res.mjs → PluginDecision_GWT.res.mjs} +8 -8
  41. package/tests/plugin/UiFragmentRegistry_GWT.res +1 -1
  42. package/tests/plugin/UiFragmentRegistry_GWT.res.mjs +5 -5
package/CHANGELOG.md CHANGED
@@ -3,6 +3,20 @@
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.292 (2026-10-21)
7
+
8
+ * feat!: the write-side logic module is called the decision, and a codemod moves an app over ([cb573ff](https://github.com/ReventlessDev/reventless-core/commit/cb573ff5b928c7d7f3e75988dfaa65066f8c95eb))
9
+
10
+ ### BREAKING CHANGES
11
+
12
+ * <Spec>_Behavior.res, @@reventless.behavior,
13
+ Reventless.Behavior.T, StateChangeSlice.Behavior, Behavior_GWT and
14
+ thenRefused no longer exist. Run `npx reventless-rename-to-decision` at an
15
+ app's root, then rebuild; comments are not rewritten. The PPX must be the
16
+ matching release.
17
+
18
+
19
+
6
20
  # 3.0.0-alpha.291 (2026-10-19)
7
21
 
8
22
  ### Features
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-local",
3
- "version": "3.0.0-alpha.291",
3
+ "version": "3.0.0-alpha.292",
4
4
  "description": "Local platform for Reventless (in-memory or SQLite backend, for development and testing without AWS)",
5
5
  "license": "Apache-2.0",
6
6
  "bin": {
@@ -34,19 +34,19 @@
34
34
  "graphql-yoga": "^5.21.0",
35
35
  "sury": "11.0.0",
36
36
  "ws": "^8.18.0",
37
- "@reventlessdev/rescript-jest": "1.0.0-alpha.12",
38
- "@reventlessdev/rescript-effect": "1.0.0-alpha.0",
37
+ "@reventlessdev/rescript-graphql-yoga": "1.0.0-alpha.29",
38
+ "@reventlessdev/rescript-jest": "1.0.0-alpha.13",
39
+ "@reventlessdev/rescript-effect": "1.0.0-alpha.1",
40
+ "@reventlessdev/rescript-node": "2.0.0-alpha.23",
39
41
  "@reventlessdev/rescript-mcp-sdk": "1.0.0-alpha.23",
40
- "@reventlessdev/rescript-node": "2.0.0-alpha.22",
41
42
  "@reventlessdev/rescript-pulumi-pulumi": "3.0.0-alpha.0",
42
- "@reventlessdev/rescript-graphql-yoga": "1.0.0-alpha.29",
43
- "@reventlessdev/reventless-graphql-server": "1.0.0-alpha.148",
44
- "@reventlessdev/reventless-gwt": "1.0.0-alpha.248",
45
- "@reventlessdev/reventless-postgres": "3.0.0-alpha.164",
46
- "@reventlessdev/reventless-infra": "3.0.0-alpha.197",
47
- "@reventlessdev/reventless-spec": "3.0.0-alpha.169",
48
- "@reventlessdev/reventless-core": "3.0.0-alpha.300",
49
- "@reventlessdev/reventless-seed": "1.0.0-alpha.34"
43
+ "@reventlessdev/reventless-core": "3.0.0-alpha.301",
44
+ "@reventlessdev/reventless-gwt": "1.0.0-alpha.249",
45
+ "@reventlessdev/reventless-infra": "3.0.0-alpha.198",
46
+ "@reventlessdev/reventless-graphql-server": "1.0.0-alpha.149",
47
+ "@reventlessdev/reventless-postgres": "3.0.0-alpha.165",
48
+ "@reventlessdev/reventless-seed": "1.0.0-alpha.35",
49
+ "@reventlessdev/reventless-spec": "3.0.0-alpha.170"
50
50
  },
51
51
  "devDependencies": {
52
52
  "rescript": "12.3.1",
package/src/Platform.res CHANGED
@@ -585,21 +585,21 @@ module MakeWithConfig = (
585
585
  module Aggregate = {
586
586
  module Make = (
587
587
  Spec: Reventless.Aggregate.Spec,
588
- Behavior: Reventless.Behavior.T with module Spec := Spec,
588
+ Decision: Reventless.Decision.T with module Spec := Spec,
589
589
  EventMappings: ReventlessInfra.EventMapper.Mappings with module Target := Spec,
590
590
  ): (ReventlessInfra.Aggregate.T with type api = unit) => AggregateMaker.Make(
591
591
  Spec,
592
- Behavior,
592
+ Decision,
593
593
  EventMappings,
594
594
  )
595
595
  /** Async variant — in-memory uses the same channel (no FIFO distinction). */
596
596
  module MakeAsync = (
597
597
  Spec: Reventless.Aggregate.Spec,
598
- Behavior: Reventless.Behavior.T with module Spec := Spec,
598
+ Decision: Reventless.Decision.T with module Spec := Spec,
599
599
  EventMappings: ReventlessInfra.EventMapper.Mappings with module Target := Spec,
600
600
  ): (ReventlessInfra.Aggregate.T with type api = unit) => AggregateMaker.Make(
601
601
  Spec,
602
- Behavior,
602
+ Decision,
603
603
  EventMappings,
604
604
  )
605
605
  }
@@ -717,16 +717,16 @@ module MakeWithConfig = (
717
717
  module StateChangeSlice = {
718
718
  module Make = (
719
719
  Spec: Reventless.StateChangeSlice.Spec,
720
- Behavior: Reventless.StateChangeSlice.Behavior with module Spec := Spec,
720
+ Decision: Reventless.StateChangeSlice.Decision with module Spec := Spec,
721
721
  ): (
722
722
  ReventlessInfra.StateChangeSlice.T with module Spec = Spec
723
- ) => StateChangeSlice_Builder.Make(Spec, Behavior)
723
+ ) => StateChangeSlice_Builder.Make(Spec, Decision)
724
724
  /** Async variant — in-memory uses the same channel (no FIFO distinction). */
725
725
  module MakeAsync = (
726
726
  Spec: Reventless.StateChangeSlice.Spec,
727
- Behavior: Reventless.StateChangeSlice.Behavior with module Spec := Spec,
727
+ Decision: Reventless.StateChangeSlice.Decision with module Spec := Spec,
728
728
  ): (ReventlessInfra.StateChangeSlice.T with module Spec = Spec) => {
729
- include StateChangeSlice_Builder.Make(Spec, Behavior)
729
+ include StateChangeSlice_Builder.Make(Spec, Decision)
730
730
  let isAsync = true
731
731
  }
732
732
  }
@@ -746,7 +746,7 @@ module MakeWithConfig = (
746
746
  // Built once and passed into Admin.construct below.
747
747
  module UiFragmentRegistrySlice = StateChangeSlice.Make(
748
748
  ReventlessCore.UiFragmentRegistry,
749
- ReventlessCore.UiFragmentRegistry_Behavior,
749
+ ReventlessCore.UiFragmentRegistry_Decision,
750
750
  )
751
751
  module UiFragmentsViewSlice = StateViewSlice.Make(
752
752
  ReventlessCore.UiFragments,
@@ -822,7 +822,7 @@ module MakeWithConfig = (
822
822
  module LocalPluginAggregate: ReventlessInfra.Aggregate.T
823
823
  with type api = unit = AggregateMaker.Make(
824
824
  ReventlessCore.PluginSpec,
825
- ReventlessCore.PluginBehavior,
825
+ ReventlessCore.PluginDecision,
826
826
  ReventlessInfra.NoEventMappings.Make(ReventlessCore.PluginSpec),
827
827
  )
828
828
 
@@ -879,7 +879,7 @@ module MakeWithConfig = (
879
879
  // Per-session server ports for the VS Code local platform runner (features
880
880
  // plan Phase 9). The runner spawns one platform child per app folder; default
881
881
  // ports (4000/4001/3001/3002) collide when several run, so each is overridable
882
- // via env. Defaults preserve today's behaviour for all non-runner callers.
882
+ // via env. Defaults preserve today's behavior for all non-runner callers.
883
883
  let resolvePort = (key, fallback) =>
884
884
  NodeProcess.env->Dict.get(key)->Option.flatMap(v => Int.fromString(v))->Option.getOr(fallback)
885
885
  let domainPort = resolvePort("REVENTLESS_DOMAIN_PORT", 4000)
@@ -2196,7 +2196,7 @@ module MakeWithConfig = (
2196
2196
  // own explicit `Platform_UIFragments` flat-array resolver registered
2197
2197
  // above; it isn't exposed as an MCP resource because the auto-generated
2198
2198
  // single/list field shape was removed when the auto-generated query
2199
- // entry was dropped in favour of that explicit field.
2199
+ // entry was dropped in favor of that explicit field.
2200
2200
  let adminFieldToQueryDb = Dict.fromArray([
2201
2201
  (singleQueryField, pluginQueryDbName),
2202
2202
  (listQueryField, pluginQueryDbName),
@@ -2475,7 +2475,7 @@ module MakeWithConfig = (
2475
2475
  | Platform => None
2476
2476
  }
2477
2477
 
2478
- // Each plugin creates its own scheduler (mirrors AWS behaviour).
2478
+ // Each plugin creates its own scheduler (mirrors AWS behavior).
2479
2479
  let scheduler = makeScheduler()
2480
2480
  hooks.scheduler := Some(scheduler)
2481
2481
  hooks.api := Some({val: ()->Obj.magic})
@@ -41,7 +41,7 @@ import * as BakedManifest$ReventlessLocal from "./BakedManifest.res.mjs";
41
41
  import * as HostShellDist$ReventlessLocal from "./HostShellDist.res.mjs";
42
42
  import * as LocalEventTap$ReventlessLocal from "./adapter/LocalEventTap.res.mjs";
43
43
  import * as Platform_Admin$ReventlessCore from "@reventlessdev/reventless-core/src/admin/Platform_Admin.res.mjs";
44
- import * as PluginBehavior$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/lifecycle/PluginBehavior.res.mjs";
44
+ import * as PluginDecision$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/lifecycle/PluginDecision.res.mjs";
45
45
  import * as Plugin_Helpers$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/component/Plugin_Helpers.res.mjs";
46
46
  import * as Plugin_Builder$ReventlessLocal from "./components/Plugin_Builder.res.mjs";
47
47
  import * as Counter_Builder$ReventlessLocal from "./components/Counter_Builder.res.mjs";
@@ -97,7 +97,7 @@ import * as StateChangeSlice_Builder$ReventlessLocal from "./components/StateCha
97
97
  import * as DcbEventLogStorage_Sqlite$ReventlessLocal from "./adapter/DcbEventLog/DcbEventLogStorage_Sqlite.res.mjs";
98
98
  import * as LocalEventCollectorChannel$ReventlessLocal from "./adapter/EventCollector/LocalEventCollectorChannel.res.mjs";
99
99
  import * as PluginRuntime_Builder_Micro$ReventlessCore from "@reventlessdev/reventless-core/src/adapter/Runtime/PluginRuntime_Builder_Micro.res.mjs";
100
- import * as UiFragmentRegistry_Behavior$ReventlessCore from "@reventlessdev/reventless-core/src/admin/UiFragmentRegistry/StateChange/UiFragmentRegistry_Behavior.res.mjs";
100
+ import * as UiFragmentRegistry_Decision$ReventlessCore from "@reventlessdev/reventless-core/src/admin/UiFragmentRegistry/StateChange/UiFragmentRegistry_Decision.res.mjs";
101
101
  import * as Platform_PluginStructuresApi$ReventlessCore from "@reventlessdev/reventless-core/src/admin/Platform_PluginStructuresApi.res.mjs";
102
102
  import * as EventHistoryResolvers_GraphQL$ReventlessLocal from "./adapter/EventHistory/EventHistoryResolvers_GraphQL.res.mjs";
103
103
  import * as InboundTranslationSlice_Builder$ReventlessLocal from "./components/InboundTranslationSlice_Builder.res.mjs";
@@ -489,8 +489,8 @@ function MakeWithConfig(Config) {
489
489
  let AutomationSliceMaker = AutomationSlice_Builder$ReventlessLocal.Make(Bus);
490
490
  let OutboundTranslationSliceMaker = OutboundTranslationSlice_Builder$ReventlessLocal.Make(Bus);
491
491
  let InboundTranslationSliceMaker = InboundTranslationSlice_Builder$ReventlessLocal.Make(Bus);
492
- let Make = Spec => (Behavior => (EventMappings => {
493
- let $$let = AggregateMaker.Make(Spec)(Behavior)(EventMappings);
492
+ let Make = Spec => (Decision => (EventMappings => {
493
+ let $$let = AggregateMaker.Make(Spec)(Decision)(EventMappings);
494
494
  return {
495
495
  Spec: $$let.Spec,
496
496
  make: $$let.make,
@@ -499,8 +499,8 @@ function MakeWithConfig(Config) {
499
499
  finish: $$let.finish
500
500
  };
501
501
  }));
502
- let MakeAsync = Spec => (Behavior => (EventMappings => {
503
- let $$let = AggregateMaker.Make(Spec)(Behavior)(EventMappings);
502
+ let MakeAsync = Spec => (Decision => (EventMappings => {
503
+ let $$let = AggregateMaker.Make(Spec)(Decision)(EventMappings);
504
504
  return {
505
505
  Spec: $$let.Spec,
506
506
  make: $$let.make,
@@ -610,20 +610,20 @@ function MakeWithConfig(Config) {
610
610
  Make: Make$5
611
611
  };
612
612
  let Counter = Counter_Builder$ReventlessLocal.Make(Bus);
613
- let Make$6 = Spec => (Behavior => {
614
- let $$let = StateChangeSlice_Builder$ReventlessLocal.Make(Spec)(Behavior);
613
+ let Make$6 = Spec => (Decision => {
614
+ let $$let = StateChangeSlice_Builder$ReventlessLocal.Make(Spec)(Decision);
615
615
  return {
616
616
  Spec: $$let.Spec,
617
- Behavior: $$let.Behavior,
617
+ Decision: $$let.Decision,
618
618
  isAsync: $$let.isAsync,
619
619
  make: $$let.make
620
620
  };
621
621
  });
622
- let MakeAsync$1 = Spec => (Behavior => {
623
- let include = StateChangeSlice_Builder$ReventlessLocal.Make(Spec)(Behavior);
622
+ let MakeAsync$1 = Spec => (Decision => {
623
+ let include = StateChangeSlice_Builder$ReventlessLocal.Make(Spec)(Decision);
624
624
  return {
625
625
  Spec: include.Spec,
626
- Behavior: include.Behavior,
626
+ Decision: include.Decision,
627
627
  isAsync: true,
628
628
  make: include.make
629
629
  };
@@ -655,20 +655,20 @@ function MakeWithConfig(Config) {
655
655
  traits: UiFragmentRegistry$ReventlessCore.traits,
656
656
  readConsistency: UiFragmentRegistry$ReventlessCore.readConsistency
657
657
  };
658
- let Behavior = {
658
+ let Decision = {
659
659
  initialState: undefined,
660
- evolve: UiFragmentRegistry_Behavior$ReventlessCore.evolve,
661
- decide: UiFragmentRegistry_Behavior$ReventlessCore.decide,
662
- moduleUrl: UiFragmentRegistry_Behavior$ReventlessCore.moduleUrl
660
+ evolve: UiFragmentRegistry_Decision$ReventlessCore.evolve,
661
+ decide: UiFragmentRegistry_Decision$ReventlessCore.decide,
662
+ moduleUrl: UiFragmentRegistry_Decision$ReventlessCore.moduleUrl
663
663
  };
664
- let $$let = StateChangeSlice_Builder$ReventlessLocal.Make(Spec)(Behavior);
664
+ let $$let = StateChangeSlice_Builder$ReventlessLocal.Make(Spec)(Decision);
665
665
  let UiFragmentRegistrySlice_Spec = $$let.Spec;
666
- let UiFragmentRegistrySlice_Behavior = $$let.Behavior;
666
+ let UiFragmentRegistrySlice_Decision = $$let.Decision;
667
667
  let UiFragmentRegistrySlice_isAsync = $$let.isAsync;
668
668
  let UiFragmentRegistrySlice_make = $$let.make;
669
669
  let UiFragmentRegistrySlice = {
670
670
  Spec: UiFragmentRegistrySlice_Spec,
671
- Behavior: UiFragmentRegistrySlice_Behavior,
671
+ Decision: UiFragmentRegistrySlice_Decision,
672
672
  isAsync: UiFragmentRegistrySlice_isAsync,
673
673
  make: UiFragmentRegistrySlice_make
674
674
  };
@@ -766,11 +766,11 @@ function MakeWithConfig(Config) {
766
766
  commandTransition: PluginSpec$ReventlessCore.commandTransition,
767
767
  traits: PluginSpec$ReventlessCore.traits
768
768
  })({
769
- initialState: PluginBehavior$ReventlessCore.initialState,
770
- evolve: PluginBehavior$ReventlessCore.evolve,
771
- decide: PluginBehavior$ReventlessCore.decide,
769
+ initialState: PluginDecision$ReventlessCore.initialState,
770
+ evolve: PluginDecision$ReventlessCore.evolve,
771
+ decide: PluginDecision$ReventlessCore.decide,
772
772
  snapshot: undefined,
773
- moduleUrl: PluginBehavior$ReventlessCore.moduleUrl
773
+ moduleUrl: PluginDecision$ReventlessCore.moduleUrl
774
774
  })(NoEventMappings$ReventlessInfra.Make({
775
775
  name: PluginSpec$ReventlessCore.name,
776
776
  Id: Id$Reventless.$$String,
@@ -2250,8 +2250,8 @@ function Make($star) {
2250
2250
  let AutomationSliceMaker = AutomationSlice_Builder$ReventlessLocal.Make(Bus);
2251
2251
  let OutboundTranslationSliceMaker = OutboundTranslationSlice_Builder$ReventlessLocal.Make(Bus);
2252
2252
  let InboundTranslationSliceMaker = InboundTranslationSlice_Builder$ReventlessLocal.Make(Bus);
2253
- let Make$1 = Spec => (Behavior => (EventMappings => {
2254
- let $$let = AggregateMaker.Make(Spec)(Behavior)(EventMappings);
2253
+ let Make$1 = Spec => (Decision => (EventMappings => {
2254
+ let $$let = AggregateMaker.Make(Spec)(Decision)(EventMappings);
2255
2255
  return {
2256
2256
  Spec: $$let.Spec,
2257
2257
  make: $$let.make,
@@ -2260,8 +2260,8 @@ function Make($star) {
2260
2260
  finish: $$let.finish
2261
2261
  };
2262
2262
  }));
2263
- let MakeAsync = Spec => (Behavior => (EventMappings => {
2264
- let $$let = AggregateMaker.Make(Spec)(Behavior)(EventMappings);
2263
+ let MakeAsync = Spec => (Decision => (EventMappings => {
2264
+ let $$let = AggregateMaker.Make(Spec)(Decision)(EventMappings);
2265
2265
  return {
2266
2266
  Spec: $$let.Spec,
2267
2267
  make: $$let.make,
@@ -2371,20 +2371,20 @@ function Make($star) {
2371
2371
  Make: Make$6
2372
2372
  };
2373
2373
  let Counter = Counter_Builder$ReventlessLocal.Make(Bus);
2374
- let Make$7 = Spec => (Behavior => {
2375
- let $$let = StateChangeSlice_Builder$ReventlessLocal.Make(Spec)(Behavior);
2374
+ let Make$7 = Spec => (Decision => {
2375
+ let $$let = StateChangeSlice_Builder$ReventlessLocal.Make(Spec)(Decision);
2376
2376
  return {
2377
2377
  Spec: $$let.Spec,
2378
- Behavior: $$let.Behavior,
2378
+ Decision: $$let.Decision,
2379
2379
  isAsync: $$let.isAsync,
2380
2380
  make: $$let.make
2381
2381
  };
2382
2382
  });
2383
- let MakeAsync$1 = Spec => (Behavior => {
2384
- let include = StateChangeSlice_Builder$ReventlessLocal.Make(Spec)(Behavior);
2383
+ let MakeAsync$1 = Spec => (Decision => {
2384
+ let include = StateChangeSlice_Builder$ReventlessLocal.Make(Spec)(Decision);
2385
2385
  return {
2386
2386
  Spec: include.Spec,
2387
- Behavior: include.Behavior,
2387
+ Decision: include.Decision,
2388
2388
  isAsync: true,
2389
2389
  make: include.make
2390
2390
  };
@@ -2416,20 +2416,20 @@ function Make($star) {
2416
2416
  traits: UiFragmentRegistry$ReventlessCore.traits,
2417
2417
  readConsistency: UiFragmentRegistry$ReventlessCore.readConsistency
2418
2418
  };
2419
- let Behavior = {
2419
+ let Decision = {
2420
2420
  initialState: undefined,
2421
- evolve: UiFragmentRegistry_Behavior$ReventlessCore.evolve,
2422
- decide: UiFragmentRegistry_Behavior$ReventlessCore.decide,
2423
- moduleUrl: UiFragmentRegistry_Behavior$ReventlessCore.moduleUrl
2421
+ evolve: UiFragmentRegistry_Decision$ReventlessCore.evolve,
2422
+ decide: UiFragmentRegistry_Decision$ReventlessCore.decide,
2423
+ moduleUrl: UiFragmentRegistry_Decision$ReventlessCore.moduleUrl
2424
2424
  };
2425
- let $$let = StateChangeSlice_Builder$ReventlessLocal.Make(Spec)(Behavior);
2425
+ let $$let = StateChangeSlice_Builder$ReventlessLocal.Make(Spec)(Decision);
2426
2426
  let UiFragmentRegistrySlice_Spec = $$let.Spec;
2427
- let UiFragmentRegistrySlice_Behavior = $$let.Behavior;
2427
+ let UiFragmentRegistrySlice_Decision = $$let.Decision;
2428
2428
  let UiFragmentRegistrySlice_isAsync = $$let.isAsync;
2429
2429
  let UiFragmentRegistrySlice_make = $$let.make;
2430
2430
  let UiFragmentRegistrySlice = {
2431
2431
  Spec: UiFragmentRegistrySlice_Spec,
2432
- Behavior: UiFragmentRegistrySlice_Behavior,
2432
+ Decision: UiFragmentRegistrySlice_Decision,
2433
2433
  isAsync: UiFragmentRegistrySlice_isAsync,
2434
2434
  make: UiFragmentRegistrySlice_make
2435
2435
  };
@@ -2527,11 +2527,11 @@ function Make($star) {
2527
2527
  commandTransition: PluginSpec$ReventlessCore.commandTransition,
2528
2528
  traits: PluginSpec$ReventlessCore.traits
2529
2529
  })({
2530
- initialState: PluginBehavior$ReventlessCore.initialState,
2531
- evolve: PluginBehavior$ReventlessCore.evolve,
2532
- decide: PluginBehavior$ReventlessCore.decide,
2530
+ initialState: PluginDecision$ReventlessCore.initialState,
2531
+ evolve: PluginDecision$ReventlessCore.evolve,
2532
+ decide: PluginDecision$ReventlessCore.decide,
2533
2533
  snapshot: undefined,
2534
- moduleUrl: PluginBehavior$ReventlessCore.moduleUrl
2534
+ moduleUrl: PluginDecision$ReventlessCore.moduleUrl
2535
2535
  })(NoEventMappings$ReventlessInfra.Make({
2536
2536
  name: PluginSpec$ReventlessCore.name,
2537
2537
  Id: Id$Reventless.$$String,
package/src/UiHints.res CHANGED
@@ -12,7 +12,7 @@
12
12
  // withdrawn declaration leaves yesterday's hints in place with nothing in the
13
13
  // diff to explain them. Unlike `ShellConfig` there is no merge — AWS writes the
14
14
  // declared file verbatim, and layering a deployment's hints over the shell
15
- // package's demonstration hints would invent a third behaviour neither platform
15
+ // package's demonstration hints would invent a third behavior neither platform
16
16
  // has.
17
17
 
18
18
  let log = ReventlessCore.Logger.fromEnv()
@@ -113,7 +113,7 @@ module Login = {
113
113
  // every ReScript rebuild, so a per-process secret logs the developer out
114
114
  // several times an hour, mid-task, with a "reconnecting" spinner as the
115
115
  // only explanation.
116
- // 3. A random 32 bytes, per process — today's behaviour, kept for the run
116
+ // 3. A random 32 bytes, per process — today's behavior, kept for the run
117
117
  // that has no `.reventless/` to write to.
118
118
  //
119
119
  // The directory is used but never created. Its presence is what distinguishes
@@ -389,7 +389,7 @@ let authenticate = async (ctx: ReventlessCore.Auth_Adapter.requestContext): Iden
389
389
  | None =>
390
390
  // No headers: in-memory mode defaults to defaultUser so local dev
391
391
  // against an AllowAuthenticated-defaulted backend "just works" without
392
- // setting headers. Anonymous behaviour is reachable only by building
392
+ // setting headers. Anonymous behavior is reachable only by building
393
393
  // an Identity.anonymous explicitly in code.
394
394
  Authenticated(defaultUser)
395
395
  | Some(g) =>
@@ -1,6 +1,6 @@
1
1
  // Selects which storage backend the in-memory Platform uses.
2
2
  //
3
- // Memory — pure in-memory dicts/refs, current default behaviour, wiped on restart.
3
+ // Memory — pure in-memory dicts/refs, current default behavior, wiped on restart.
4
4
  // Sqlite — opt-in on-disk SQLite file via SqliteDriver. Survives process restart.
5
5
  // resetOnStart=true wipes the file when the Platform is constructed.
6
6
 
@@ -41,7 +41,7 @@ let removeFileIfExists = (path: string) =>
41
41
  | _ => ()
42
42
  }
43
43
 
44
- // Parses REVENTLESS_LOCAL_BACKEND. Recognised forms:
44
+ // Parses REVENTLESS_LOCAL_BACKEND. Recognized forms:
45
45
  // sqlite:./local.db — Sqlite backend, no reset on start
46
46
  // sqlite:./local.db?reset — Sqlite backend, wipes file at Platform.Make time
47
47
  // memory — explicit Memory selector
@@ -117,7 +117,7 @@ module type T = {
117
117
  let registerQueryDbScan: (string, unit => array<JSON.t>) => unit
118
118
  let getQueryDbScan: string => option<unit => array<JSON.t>>
119
119
  // Stream variant: lazily creates a Stream from current storage contents.
120
- // Used by LocalQueryEngine to honour ~limit via Stream.take without loading all items.
120
+ // Used by LocalQueryEngine to honor ~limit via Stream.take without loading all items.
121
121
  let registerQueryDbStream: (string, unit => Stream.t<JSON.t, string, unit>) => unit
122
122
  let getQueryDbStream: string => option<unit => Stream.t<JSON.t, string, unit>>
123
123
  // Indexed equality lookup: (field, value) → matching items. The SQLite backend
@@ -1,6 +1,6 @@
1
1
  // Local upload resolver logic (route B), backed by `LocalObjectStore`. Shared by the
2
2
  // dev platform (`Platform.res` registers these on the domain server) and
3
- // `ServedBucketHttpTest`, so the mint/release behaviour has one definition.
3
+ // `ServedBucketHttpTest`, so the mint/release behavior has one definition.
4
4
  //
5
5
  // The dev store has no identities and no clock, so release enforces only the *shape*
6
6
  // of the rule (key under a served prefix), not the identity/age conditions AWS applies
@@ -28,12 +28,12 @@ module MakeWithHooks = (
28
28
 
29
29
  module Make = (
30
30
  Spec: Reventless.Aggregate.Spec,
31
- Behavior: Reventless.Behavior.T with module Spec := Spec,
31
+ Decision: Reventless.Decision.T with module Spec := Spec,
32
32
  EventMappings: ReventlessInfra.EventMapper.Mappings with module Target := Spec,
33
33
  ) => {
34
34
  include ReventlessCore.Aggregate_Builder.Make(
35
35
  Spec,
36
- Behavior,
36
+ Decision,
37
37
  EventMappings,
38
38
  RuntimeEnvironment,
39
39
  CommandGeneratorResolvers_GraphQL,
@@ -56,8 +56,8 @@ function MakeWithHooks(Bus) {
56
56
  let AggregateRuntimeBuilder = LocalAggregateRuntime_Builder$ReventlessLocal.Make(Bus)({
57
57
  make: CommandTopicChannel.make
58
58
  })(EventCollectorChannel);
59
- let Make = Spec => (Behavior => (EventMappings => {
60
- let include = Aggregate_Builder$ReventlessCore.Make(Spec)(Behavior)({
59
+ let Make = Spec => (Decision => (EventMappings => {
60
+ let include = Aggregate_Builder$ReventlessCore.Make(Spec)(Decision)({
61
61
  mappings: EventMappings.mappings,
62
62
  counter: EventMappings.counter
63
63
  })({
@@ -105,8 +105,8 @@ function Make(Bus) {
105
105
  let AggregateRuntimeBuilder = LocalAggregateRuntime_Builder$ReventlessLocal.Make(Bus)({
106
106
  make: CommandTopicChannel.make
107
107
  })(EventCollectorChannel);
108
- let Make$1 = Spec => (Behavior => (EventMappings => {
109
- let include = Aggregate_Builder$ReventlessCore.Make(Spec)(Behavior)({
108
+ let Make$1 = Spec => (Decision => (EventMappings => {
109
+ let include = Aggregate_Builder$ReventlessCore.Make(Spec)(Decision)({
110
110
  mappings: EventMappings.mappings,
111
111
  counter: EventMappings.counter
112
112
  })({
@@ -4,7 +4,7 @@ module Make = (Bus: LocalBus.T) => {
4
4
  module EventTopicPublisher = LocalEventTopicPublisher.Make(Bus)
5
5
 
6
6
  // Use the backend-aware storage functor (as Platform does), not the plain
7
- // module: the functor consults BackendState so a standalone DCB log honours
7
+ // module: the functor consults BackendState so a standalone DCB log honors
8
8
  // REVENTLESS_LOCAL_BACKEND=sqlite, and it registers the read with the Bus so
9
9
  // `Bus.getDcbEventLogRead` can see it. The plain module did neither — the log
10
10
  // silently stayed in memory under SQLite and was invisible to bus readers.
@@ -2,11 +2,11 @@
2
2
 
3
3
  module Make = (
4
4
  Spec: Reventless.StateChangeSlice.Spec,
5
- Behavior: Reventless.StateChangeSlice.Behavior with module Spec := Spec,
5
+ Decision: Reventless.StateChangeSlice.Decision with module Spec := Spec,
6
6
  ) => {
7
- module Inner = ReventlessCore.StateChangeSlice_Builder.Make(Spec, Behavior)
7
+ module Inner = ReventlessCore.StateChangeSlice_Builder.Make(Spec, Decision)
8
8
  module Spec = Spec
9
- module Behavior = Behavior
9
+ module Decision = Decision
10
10
  let isAsync = Inner.isAsync
11
11
  type component = Inner.component
12
12
  let make: (
@@ -3,12 +3,12 @@
3
3
  import * as StateChangeSlice_Builder$ReventlessCore from "@reventlessdev/reventless-core/src/components/StateChangeSlice/StateChangeSlice_Builder.res.mjs";
4
4
 
5
5
  function Make(Spec) {
6
- return Behavior => {
7
- let Inner = StateChangeSlice_Builder$ReventlessCore.Make(Spec)(Behavior);
6
+ return Decision => {
7
+ let Inner = StateChangeSlice_Builder$ReventlessCore.Make(Spec)(Decision);
8
8
  return {
9
9
  Inner: Inner,
10
10
  Spec: Spec,
11
- Behavior: Behavior,
11
+ Decision: Decision,
12
12
  isAsync: Inner.isAsync,
13
13
  make: Inner.make
14
14
  };
@@ -552,7 +552,7 @@ let run = (~dbPath: option<string>=?): unit => {
552
552
  Console.log("Nothing to do.")
553
553
  } else {
554
554
  // Set at all ⇒ it is the answer, affirmative or not. Falling through to
555
- // the prompt on an unrecognised value would ask for a TTY the runs this
555
+ // the prompt on an unrecognized value would ask for a TTY the runs this
556
556
  // variable exists for do not have, so `SEED_RESET_CONFIRM=no` would
557
557
  // throw where it plainly means "don't". Both arms read the reply
558
558
  // through one predicate, which is what keeps the typed `y` and the
@@ -1,4 +1,4 @@
1
- // Behavioural parity between Memory, Sqlite, and Postgres backends at the adapter
1
+ // Behavioral parity between Memory, Sqlite, and Postgres backends at the adapter
2
2
  // layer. Each test runs the same scenario against every BackendState setting.
3
3
  //
4
4
  // The Postgres arm is exercised only when PG_URL is set (so the default test run
@@ -1,6 +1,6 @@
1
- // Behavioural tests for the event-history query resolver's pure core —
1
+ // Behavioral tests for the event-history query resolver's pure core —
2
2
  // position ordering, filtering, and keyset pagination. That is where the
3
- // behaviour lives; the Bus fork around them is two registry lookups.
3
+ // behavior lives; the Bus fork around them is two registry lookups.
4
4
 
5
5
  @@warning("-44")
6
6
 
@@ -755,7 +755,7 @@ describe("GraphQL_SchemaInspector", () => {
755
755
  // Per-field eq inputs derived from @id and @index
756
756
  expect(sdl->String.includes("input IndexedProductFilter"))->toBe(true)
757
757
  expect(sdl->String.includes("productIdEq: ID"))->toBe(true)
758
- // ownerId is detected as an entity reference → ID (matches SchemaType.fromSury behaviour)
758
+ // ownerId is detected as an entity reference → ID (matches SchemaType.fromSury behavior)
759
759
  expect(sdl->String.includes("ownerIdEq: ID"))->toBe(true)
760
760
  // OrderField enum lists the same fields
761
761
  expect(sdl->String.includes("enum IndexedProductOrderField"))->toBe(true)
@@ -418,7 +418,7 @@ describe("the conformance table, minted locally", () => {
418
418
  )
419
419
  switch (minted, expected) {
420
420
  | (Ok(token), Some(groups)) => expect(decodeOrThrow(token).groups)->toEqual(groups)
421
- // `None` means refused — not honoured, not ignored, and not reduced to the
421
+ // `None` means refused — not honored, not ignored, and not reduced to the
422
422
  // empty set. A token minted here at all would be the vulnerability.
423
423
  | (Ok(_), None) => JsError.throwWithMessage("expected the request to be refused")
424
424
  | (Error(msg), Some(_)) => JsError.throwWithMessage("expected a token, got: " ++ msg)
@@ -1,4 +1,4 @@
1
- // Behavioural tests for the in-memory connection list resolver
1
+ // Behavioral tests for the in-memory connection list resolver
2
2
  // (QueryDbResolvers_GraphQL). Phase 1.5 — keyset pagination on top of the
3
3
  // Phase 1 filter / sort wiring.
4
4
 
@@ -1,4 +1,4 @@
1
- // Behavioural tests for the in-memory cross-table field resolvers
1
+ // Behavioral tests for the in-memory cross-table field resolvers
2
2
  // (`@resolves` / `@resolvesMany`). An Orders view carries a foreign `productId`
3
3
  // and a `productIds` array; both follow into a Products view's rows.
4
4
  //
@@ -1,5 +1,5 @@
1
1
  // E2E test fixtures for the Aggregate E2E test.
2
- // Contains specs, behavior, bus setup, and shared test data.
2
+ // Contains specs, decision, bus setup, and shared test data.
3
3
 
4
4
  // ─────────────────────────────────────────────────────────────
5
5
  // Simple Item aggregate spec
@@ -22,16 +22,16 @@ module ItemSpec = {
22
22
  }
23
23
 
24
24
  // ─────────────────────────────────────────────────────────────
25
- // Item behavior: CreateItem → ItemCreated
25
+ // Item decision: CreateItem → ItemCreated
26
26
  // ─────────────────────────────────────────────────────────────
27
27
 
28
- module ItemBehavior: ReventlessCore.Behavior.T with module Spec := ItemSpec = {
28
+ module ItemDecision: ReventlessCore.Decision.T with module Spec := ItemSpec = {
29
29
  type state = bool // true = item exists
30
30
 
31
31
  let initialState = false
32
32
 
33
- // Hand-written behavior (no @@reventless.behavior PPX) — satisfy the
34
- // Behavior.T snapshot field manually.
33
+ // Hand-written decision (no @@reventless.decision PPX) — satisfy the
34
+ // Decision.T snapshot field manually.
35
35
  let snapshot = None
36
36
 
37
37
  let moduleUrl: string = %raw(`import.meta.url`)
@@ -75,7 +75,7 @@ let _ = TestRunner.setup()
75
75
  module ItemAggregateMaker = Aggregate_Builder.Make(Bus)
76
76
  module ItemAgg = ItemAggregateMaker.Make(
77
77
  ItemSpec,
78
- ItemBehavior,
78
+ ItemDecision,
79
79
  ReventlessInfra.NoEventMappings.Make(ItemSpec),
80
80
  )
81
81
 
@@ -68,7 +68,7 @@ function decide(state, command) {
68
68
  }
69
69
  }
70
70
 
71
- let ItemBehavior = {
71
+ let ItemDecision = {
72
72
  initialState: false,
73
73
  evolve: evolve,
74
74
  decide: decide,
@@ -100,7 +100,7 @@ let ItemAgg = ItemAggregateMaker.Make({
100
100
  authorizationOf: authorizationOf,
101
101
  commandTransition: commandTransition,
102
102
  traits: traits
103
- })(ItemBehavior)(NoEventMappings$ReventlessInfra.Make({
103
+ })(ItemDecision)(NoEventMappings$ReventlessInfra.Make({
104
104
  name: name,
105
105
  Id: Id$Reventless.$$String,
106
106
  commandSchema: commandSchema
@@ -110,7 +110,7 @@ let agg = ItemAgg.make(undefined, undefined, undefined);
110
110
 
111
111
  export {
112
112
  ItemSpec,
113
- ItemBehavior,
113
+ ItemDecision,
114
114
  Bus,
115
115
  capturedEventCount,
116
116
  ItemAggregateMaker,
@@ -22,7 +22,7 @@ module ShipmentSpec = {
22
22
  let moduleUrl: string = %raw(`import.meta.url`)
23
23
  }
24
24
 
25
- module ShipmentBehavior: ReventlessCore.Behavior.T with module Spec := ShipmentSpec = {
25
+ module ShipmentDecision: ReventlessCore.Decision.T with module Spec := ShipmentSpec = {
26
26
  type state = int // events seen
27
27
 
28
28
  let initialState = 0
@@ -68,7 +68,7 @@ let _ = Bus.subscribeToEvents("TestShipmentAggrEventTopic", async (_, _, _) => {
68
68
  let _ = TestRunner.setup()
69
69
 
70
70
  module ShipmentAggregateMaker = Aggregate_Builder.Make(Bus)
71
- module ShipmentAgg = ShipmentAggregateMaker.Make(ShipmentSpec, ShipmentBehavior, ShipmentMappings)
71
+ module ShipmentAgg = ShipmentAggregateMaker.Make(ShipmentSpec, ShipmentDecision, ShipmentMappings)
72
72
 
73
73
  let agg = ShipmentAgg.make(~api=())
74
74
 
@@ -84,7 +84,7 @@ function decide(state, command) {
84
84
  }
85
85
  }
86
86
 
87
- let ShipmentBehavior = {
87
+ let ShipmentDecision = {
88
88
  initialState: 0,
89
89
  evolve: evolve,
90
90
  decide: decide,
@@ -158,7 +158,7 @@ let ShipmentAgg = ShipmentAggregateMaker.Make({
158
158
  authorizationOf: authorizationOf,
159
159
  commandTransition: commandTransition,
160
160
  traits: traits
161
- })(ShipmentBehavior)({
161
+ })(ShipmentDecision)({
162
162
  moduleUrl: moduleUrl$2,
163
163
  mappings: mappings,
164
164
  counter: undefined
@@ -191,7 +191,7 @@ async function withTimeout(p, ms) {
191
191
 
192
192
  export {
193
193
  ShipmentSpec,
194
- ShipmentBehavior,
194
+ ShipmentDecision,
195
195
  ShipmentMappings,
196
196
  Bus,
197
197
  publishedEvents,
@@ -43,7 +43,7 @@ module PlaceSpec = {
43
43
  let commandSchema = commandSchema
44
44
  }
45
45
 
46
- module PlaceBehavior = {
46
+ module PlaceDecision = {
47
47
  module Spec = PlaceSpec
48
48
  let moduleUrl: string = %raw(`import.meta.url`)
49
49
 
@@ -86,7 +86,7 @@ module ShipSpec = {
86
86
  let commandSchema = commandSchema
87
87
  }
88
88
 
89
- module ShipBehavior = {
89
+ module ShipDecision = {
90
90
  module Spec = ShipSpec
91
91
  let moduleUrl: string = %raw(`import.meta.url`)
92
92
 
@@ -234,10 +234,10 @@ let publishJsonsOutput = publishJsons->Pulumi.Output.make
234
234
  // Wire StateChangeSlices to the DcbEventLog + AutomationSlice to the topic
235
235
  // ─────────────────────────────────────────────────────────────
236
236
 
237
- module PlaceMaker = StateChangeSlice_Builder.Make(PlaceSpec, PlaceBehavior)
237
+ module PlaceMaker = StateChangeSlice_Builder.Make(PlaceSpec, PlaceDecision)
238
238
  let _placeSlice = PlaceMaker.make(~dcbEventLog, ~publishJsons=publishJsonsOutput)
239
239
 
240
- module ShipMaker = StateChangeSlice_Builder.Make(ShipSpec, ShipBehavior)
240
+ module ShipMaker = StateChangeSlice_Builder.Make(ShipSpec, ShipDecision)
241
241
  let _shipSlice = ShipMaker.make(~dcbEventLog, ~publishJsons=publishJsonsOutput)
242
242
 
243
243
  let dcbTopicOutputs: ReventlessInfra.EventTopic.outputs = (
@@ -84,7 +84,7 @@ function decide(state, command) {
84
84
  }
85
85
  }
86
86
 
87
- let PlaceBehavior = {
87
+ let PlaceDecision = {
88
88
  Spec: undefined,
89
89
  moduleUrl: moduleUrl$1,
90
90
  initialState: false,
@@ -185,7 +185,7 @@ function decide$1(state, command) {
185
185
  }
186
186
  }
187
187
 
188
- let ShipBehavior = {
188
+ let ShipDecision = {
189
189
  Spec: undefined,
190
190
  moduleUrl: moduleUrl$3,
191
191
  initialState: initialState,
@@ -461,9 +461,9 @@ async function readEventTypes(orderId) {
461
461
 
462
462
  export {
463
463
  PlaceSpec,
464
- PlaceBehavior,
464
+ PlaceDecision,
465
465
  ShipSpec,
466
- ShipBehavior,
466
+ ShipDecision,
467
467
  DcbSource,
468
468
  AutoShipSpec,
469
469
  FromDcb,
@@ -5,7 +5,7 @@
5
5
  let _ = TestRunner.setup()
6
6
 
7
7
  // ─────────────────────────────────────────────────────────────
8
- // Aggregate spec (matches the Behavior used in CommandGenerator_Builder.Make)
8
+ // Aggregate spec (matches the Decision used in CommandGenerator_Builder.Make)
9
9
  // ─────────────────────────────────────────────────────────────
10
10
 
11
11
  module CGSpec = {
@@ -25,10 +25,10 @@ module CGSpec = {
25
25
  }
26
26
 
27
27
  // ─────────────────────────────────────────────────────────────
28
- // Behavior
28
+ // Decision
29
29
  // ─────────────────────────────────────────────────────────────
30
30
 
31
- module CGBehavior = {
31
+ module CGDecision = {
32
32
  module Spec = CGSpec
33
33
  type state = {name: string}
34
34
 
@@ -64,14 +64,14 @@ function decide(_state, command) {
64
64
  };
65
65
  }
66
66
 
67
- let CGBehavior_initialState = {
67
+ let CGDecision_initialState = {
68
68
  name: ""
69
69
  };
70
70
 
71
- let CGBehavior = {
71
+ let CGDecision = {
72
72
  Spec: undefined,
73
73
  moduleUrl: moduleUrl$1,
74
- initialState: CGBehavior_initialState,
74
+ initialState: CGDecision_initialState,
75
75
  evolve: evolve,
76
76
  decide: decide
77
77
  };
@@ -108,7 +108,7 @@ function resetMocks() {
108
108
 
109
109
  export {
110
110
  CGSpec,
111
- CGBehavior,
111
+ CGDecision,
112
112
  CGMaker,
113
113
  capturedCmds,
114
114
  mockPublish,
@@ -56,7 +56,7 @@ module AddProductSpec = {
56
56
  let commandSchema = commandSchema
57
57
  }
58
58
 
59
- module AddProductBehavior = {
59
+ module AddProductDecision = {
60
60
  module Spec = AddProductSpec
61
61
  let moduleUrl: string = %raw(`import.meta.url`)
62
62
 
@@ -107,7 +107,7 @@ let eventLog = CatalogLogMaker.make(
107
107
  )
108
108
 
109
109
  // ─── StateChangeSlice, threaded with the INFERRED scope ───
110
- module AddProductMaker = StateChangeSlice_Builder.Make(AddProductSpec, AddProductBehavior)
110
+ module AddProductMaker = StateChangeSlice_Builder.Make(AddProductSpec, AddProductDecision)
111
111
 
112
112
  let publishJsons: ReventlessInfra.CommandTopic.publishJsons = async cmdJsons => {
113
113
  let _ = await cmdJsons
@@ -141,7 +141,7 @@ function decide(state, command) {
141
141
  }
142
142
  }
143
143
 
144
- let AddProductBehavior = {
144
+ let AddProductDecision = {
145
145
  Spec: undefined,
146
146
  moduleUrl: moduleUrl$1,
147
147
  initialState: initialState,
@@ -269,7 +269,7 @@ function addProductJson(productId, categoryId, name) {
269
269
  export {
270
270
  CatalogLog,
271
271
  AddProductSpec,
272
- AddProductBehavior,
272
+ AddProductDecision,
273
273
  Bus,
274
274
  capturedEventCount,
275
275
  CatalogLogMaker,
@@ -36,7 +36,7 @@ module AddItemSpec = {
36
36
  let commandSchema = commandSchema // auto-generated by @schema
37
37
  }
38
38
 
39
- module AddItemBehavior = {
39
+ module AddItemDecision = {
40
40
  module Spec = AddItemSpec
41
41
  let moduleUrl: string = %raw(`import.meta.url`)
42
42
 
@@ -87,7 +87,7 @@ let eventLog = ItemEventLogMaker.make(
87
87
  // Build StateChangeSlice
88
88
  // ─────────────────────────────────────────────────────────────
89
89
 
90
- module AddItemMaker = StateChangeSlice_Builder.Make(AddItemSpec, AddItemBehavior)
90
+ module AddItemMaker = StateChangeSlice_Builder.Make(AddItemSpec, AddItemDecision)
91
91
 
92
92
  // publishJsons routing — dispatches each command to its registered handler.
93
93
  let publishJsons: ReventlessInfra.CommandTopic.publishJsons = async cmdJsons => {
@@ -93,7 +93,7 @@ function decide(state, command) {
93
93
  }
94
94
  }
95
95
 
96
- let AddItemBehavior = {
96
+ let AddItemDecision = {
97
97
  Spec: undefined,
98
98
  moduleUrl: moduleUrl$1,
99
99
  initialState: false,
@@ -213,7 +213,7 @@ function addItemJson(id, name) {
213
213
  export {
214
214
  ItemEventLog,
215
215
  AddItemSpec,
216
- AddItemBehavior,
216
+ AddItemDecision,
217
217
  Bus,
218
218
  capturedEventCount,
219
219
  ItemEventLogMaker,
@@ -72,7 +72,7 @@ module ProcessPaymentSpec = {
72
72
  (string, outboundItem) => promise<result<option<(string, inboundCommand)>, string>>,
73
73
  > = ref(async (id, _item) => Ok(Some((id, ConfirmPayment({orderId: id})))))
74
74
 
75
- // The mock stays two-arg: a test that wants to vary behaviour varies it on
75
+ // The mock stays two-arg: a test that wants to vary behavior varies it on
76
76
  // the item, and threading capabilities into every fixture would make each
77
77
  // one restate a type it does not use.
78
78
  let translate = (id, item, ~capabilities as _) => translateFn.contents(id, item)
@@ -39,7 +39,7 @@ module PlaceSpec = {
39
39
  let commandSchema = commandSchema
40
40
  }
41
41
 
42
- module PlaceBehavior = {
42
+ module PlaceDecision = {
43
43
  module Spec = PlaceSpec
44
44
  let moduleUrl: string = %raw(`import.meta.url`)
45
45
 
@@ -172,7 +172,7 @@ let publishJsonsOutput = publishJsons->Pulumi.Output.make
172
172
  // Wire the StateChangeSlice + the OutboundTranslationSlice
173
173
  // ─────────────────────────────────────────────────────────────
174
174
 
175
- module PlaceMaker = StateChangeSlice_Builder.Make(PlaceSpec, PlaceBehavior)
175
+ module PlaceMaker = StateChangeSlice_Builder.Make(PlaceSpec, PlaceDecision)
176
176
  let _placeSlice = PlaceMaker.make(~dcbEventLog, ~publishJsons=publishJsonsOutput)
177
177
 
178
178
  let dcbTopicOutputs: ReventlessInfra.EventTopic.outputs = (
@@ -85,7 +85,7 @@ function decide(state, command) {
85
85
  }
86
86
  }
87
87
 
88
- let PlaceBehavior = {
88
+ let PlaceDecision = {
89
89
  Spec: undefined,
90
90
  moduleUrl: moduleUrl$1,
91
91
  initialState: false,
@@ -274,7 +274,7 @@ async function flush() {
274
274
 
275
275
  export {
276
276
  PlaceSpec,
277
- PlaceBehavior,
277
+ PlaceDecision,
278
278
  SendConfirmSpec,
279
279
  collectCalls,
280
280
  externalCalls,
@@ -35,7 +35,7 @@ module AddProductSpec = {
35
35
  let commandSchema = commandSchema
36
36
  }
37
37
 
38
- module AddProductBehavior = {
38
+ module AddProductDecision = {
39
39
  module Spec = AddProductSpec
40
40
  let moduleUrl: string = %raw(`import.meta.url`)
41
41
 
@@ -130,7 +130,7 @@ let dcbEventLog = DcbLogMaker.make(
130
130
  ~partitionTag=Reventless.DcbTag.Simple({key: "productId"}),
131
131
  )
132
132
 
133
- module AddProductMaker = StateChangeSlice_Builder.Make(AddProductSpec, AddProductBehavior)
133
+ module AddProductMaker = StateChangeSlice_Builder.Make(AddProductSpec, AddProductDecision)
134
134
 
135
135
  let publishJsons: ReventlessInfra.CommandTopic.publishJsons = async cmdJsons => {
136
136
  let _ = await cmdJsons
@@ -89,7 +89,7 @@ function decide(state, command) {
89
89
  }
90
90
  }
91
91
 
92
- let AddProductBehavior = {
92
+ let AddProductDecision = {
93
93
  Spec: undefined,
94
94
  moduleUrl: moduleUrl$1,
95
95
  initialState: false,
@@ -294,7 +294,7 @@ async function loadState(productId) {
294
294
 
295
295
  export {
296
296
  AddProductSpec,
297
- AddProductBehavior,
297
+ AddProductDecision,
298
298
  ProductCatalogDcbSource,
299
299
  ProductsReadModelSpec,
300
300
  ProductsFromDcb,
@@ -1,7 +1,7 @@
1
1
  open ReventlessCore
2
2
  open PluginSpec
3
3
  open Plugin_Fixtures
4
- module PluginTest = ReventlessGwt.Behavior_GWT.MakeFromAggregate(PluginSpec, PluginBehavior)
4
+ module PluginTest = ReventlessGwt.Decision_GWT.MakeFromAggregate(PluginSpec, PluginDecision)
5
5
  open PluginTest
6
6
 
7
7
  // Name-keyed lifecycle aggregate. Commands carry the version; the aggregate
@@ -15,7 +15,7 @@ let supersededV1ByV2 = VersionSuperseded({
15
15
  newDefinition: pluginDefinitionV2,
16
16
  })
17
17
 
18
- describe("PluginBehavior:", () => {
18
+ describe("PluginDecision:", () => {
19
19
  // ── Detection → connect handshake ──────────────────────────────────────────
20
20
  test("Heartbeat for an unknown version triggers detection", () =>
21
21
  givenEvents([])->whenCmd(Heartbeat("1"))->thenEvents([VersionDetected("1")])
@@ -1,11 +1,11 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
3
  import * as PluginSpec$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/lifecycle/PluginSpec.res.mjs";
4
- import * as Behavior_GWT$ReventlessGwt from "@reventlessdev/reventless-gwt/src/Behavior_GWT.res.mjs";
5
- import * as PluginBehavior$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/lifecycle/PluginBehavior.res.mjs";
4
+ import * as Decision_GWT$ReventlessGwt from "@reventlessdev/reventless-gwt/src/Decision_GWT.res.mjs";
5
+ import * as PluginDecision$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/lifecycle/PluginDecision.res.mjs";
6
6
  import * as Plugin_Fixtures$ReventlessLocal from "./Plugin_Fixtures.res.mjs";
7
7
 
8
- let PluginTest = Behavior_GWT$ReventlessGwt.MakeFromAggregate({
8
+ let PluginTest = Decision_GWT$ReventlessGwt.MakeFromAggregate({
9
9
  name: PluginSpec$ReventlessCore.name,
10
10
  commandSchema: PluginSpec$ReventlessCore.commandSchema,
11
11
  eventSchema: PluginSpec$ReventlessCore.eventSchema,
@@ -19,11 +19,11 @@ let PluginTest = Behavior_GWT$ReventlessGwt.MakeFromAggregate({
19
19
  errorSchema: PluginSpec$ReventlessCore.errorSchema,
20
20
  authorizationOf: PluginSpec$ReventlessCore.authorizationOf
21
21
  },
22
- initialState: PluginBehavior$ReventlessCore.initialState,
23
- evolve: PluginBehavior$ReventlessCore.evolve,
24
- decide: PluginBehavior$ReventlessCore.decide,
22
+ initialState: PluginDecision$ReventlessCore.initialState,
23
+ evolve: PluginDecision$ReventlessCore.evolve,
24
+ decide: PluginDecision$ReventlessCore.decide,
25
25
  snapshot: undefined,
26
- moduleUrl: PluginBehavior$ReventlessCore.moduleUrl
26
+ moduleUrl: PluginDecision$ReventlessCore.moduleUrl
27
27
  });
28
28
 
29
29
  let supersededV1ByV2 = {
@@ -36,7 +36,7 @@ let supersededV1ByV2 = {
36
36
  }
37
37
  };
38
38
 
39
- PluginTest.describe("PluginBehavior:", () => {
39
+ PluginTest.describe("PluginDecision:", () => {
40
40
  PluginTest.test("Heartbeat for an unknown version triggers detection", () => PluginTest.thenEvents(PluginTest.whenCmd(PluginTest.givenEvents([]), {
41
41
  TAG: "Heartbeat",
42
42
  _0: "1"
@@ -3,7 +3,7 @@
3
3
  open ReventlessCore
4
4
  open Plugin_Fixtures
5
5
 
6
- module Test = ReventlessGwt.Behavior_GWT.Make(UiFragmentRegistry, UiFragmentRegistry_Behavior)
6
+ module Test = ReventlessGwt.Decision_GWT.Make(UiFragmentRegistry, UiFragmentRegistry_Decision)
7
7
  open Test
8
8
  open UiFragmentRegistry
9
9
 
@@ -1,11 +1,11 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Behavior_GWT$ReventlessGwt from "@reventlessdev/reventless-gwt/src/Behavior_GWT.res.mjs";
3
+ import * as Decision_GWT$ReventlessGwt from "@reventlessdev/reventless-gwt/src/Decision_GWT.res.mjs";
4
4
  import * as Plugin_Fixtures$ReventlessLocal from "./Plugin_Fixtures.res.mjs";
5
5
  import * as UiFragmentRegistry$ReventlessCore from "@reventlessdev/reventless-core/src/admin/UiFragmentRegistry/StateChange/UiFragmentRegistry.res.mjs";
6
- import * as UiFragmentRegistry_Behavior$ReventlessCore from "@reventlessdev/reventless-core/src/admin/UiFragmentRegistry/StateChange/UiFragmentRegistry_Behavior.res.mjs";
6
+ import * as UiFragmentRegistry_Decision$ReventlessCore from "@reventlessdev/reventless-core/src/admin/UiFragmentRegistry/StateChange/UiFragmentRegistry_Decision.res.mjs";
7
7
 
8
- let Test = Behavior_GWT$ReventlessGwt.Make({
8
+ let Test = Decision_GWT$ReventlessGwt.Make({
9
9
  name: UiFragmentRegistry$ReventlessCore.name,
10
10
  consumedEventSchema: UiFragmentRegistry$ReventlessCore.consumedEventSchema,
11
11
  commandSchema: UiFragmentRegistry$ReventlessCore.commandSchema,
@@ -14,8 +14,8 @@ let Test = Behavior_GWT$ReventlessGwt.Make({
14
14
  authorizationOf: UiFragmentRegistry$ReventlessCore.authorizationOf
15
15
  })({
16
16
  initialState: undefined,
17
- evolve: UiFragmentRegistry_Behavior$ReventlessCore.evolve,
18
- decide: UiFragmentRegistry_Behavior$ReventlessCore.decide
17
+ evolve: UiFragmentRegistry_Decision$ReventlessCore.evolve,
18
+ decide: UiFragmentRegistry_Decision$ReventlessCore.decide
19
19
  });
20
20
 
21
21
  let manifest2_panels = [];