@reventlessdev/reventless-aws 3.0.0-alpha.386 → 3.0.0-alpha.388

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 (89) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +1 -1
  3. package/package.json +12 -12
  4. package/scripts/ProvisionIdentity.res +1 -1
  5. package/src/Platform.res +20 -13
  6. package/src/Platform.res.mjs +34 -30
  7. package/src/Platform_Stack.res +3 -3
  8. package/src/adapter/AWS_Tags.res +1 -1
  9. package/src/adapter/Auth/Auth_ActiveRolePoolAttachment.res +1 -1
  10. package/src/adapter/Auth/Auth_ActiveRoleStore_Ops.res +2 -2
  11. package/src/adapter/Auth/Auth_ActiveRoleStore_Schema.res +1 -1
  12. package/src/adapter/Auth/Auth_Cognito.res +1 -1
  13. package/src/adapter/Auth/Auth_LoginIdentifier.res +1 -1
  14. package/src/adapter/Auth/Auth_SignUpMode.res +1 -1
  15. package/src/adapter/DcbEventLog/DcbEventLogStorage_DynamoDb_Runtime.res +2 -2
  16. package/src/adapter/EventLog/EventLogBackend.res +1 -1
  17. package/src/adapter/QueryDb/PgQueryResolver_Lambda.res +2 -2
  18. package/src/adapter/Runtime/AggregateEntryPoint.mjs +6 -6
  19. package/src/adapter/Runtime/AggregateEntryPoint_Ops.res +1 -1
  20. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro.res +8 -8
  21. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro.res.mjs +7 -7
  22. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro_Async.res +8 -8
  23. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro_Async.res.mjs +7 -7
  24. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate.res +7 -7
  25. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate.res.mjs +6 -6
  26. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate_Async.res +7 -7
  27. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate_Async.res.mjs +6 -6
  28. package/src/adapter/Runtime/AggregateRuntime_Builder_Single.res +7 -7
  29. package/src/adapter/Runtime/AggregateRuntime_Builder_Single.res.mjs +6 -6
  30. package/src/adapter/Runtime/AggregateRuntime_Builder_Single_Async.res +7 -7
  31. package/src/adapter/Runtime/AggregateRuntime_Builder_Single_Async.res.mjs +6 -6
  32. package/src/adapter/Runtime/AutomationSliceEntryPoint_Ops.res +1 -1
  33. package/src/adapter/Runtime/AutomationSliceRuntime_Builder_Single.res +2 -2
  34. package/src/adapter/Runtime/DcbCommandTopicEntryPoint.mjs +7 -7
  35. package/src/adapter/Runtime/DcbCommandTopicEntryPoint_Ops.res +7 -7
  36. package/src/adapter/Runtime/DcbCommandTopicEntryPoint_Ops.res.mjs +2 -2
  37. package/src/adapter/Runtime/EventCollectorEntryPoint.mjs +1 -1
  38. package/src/adapter/Runtime/RuntimeEnvironment_Lambda.res +2 -2
  39. package/src/adapter/Runtime/RuntimeExtensionEntryPoint_Ops.res +2 -2
  40. package/src/adapter/Runtime/StateChangeSliceRuntime_Builder_Single.res +10 -10
  41. package/src/adapter/Runtime/StateChangeSliceRuntime_Builder_Single.res.mjs +3 -3
  42. package/src/adapter/StateTopic/StateTopic_AppSync.res +1 -1
  43. package/src/capability/Capability_Messaging.res +2 -2
  44. package/src/components/Aggregate_Builder_Micro.res +3 -3
  45. package/src/components/Aggregate_Builder_Micro.res.mjs +3 -3
  46. package/src/components/Aggregate_Builder_NoResolver.res +3 -3
  47. package/src/components/Aggregate_Builder_NoResolver.res.mjs +3 -3
  48. package/src/components/Aggregate_Builder_PerAggregate.res +3 -3
  49. package/src/components/Aggregate_Builder_PerAggregate.res.mjs +3 -3
  50. package/src/components/Aggregate_Builder_Single.res +3 -3
  51. package/src/components/Aggregate_Builder_Single.res.mjs +3 -3
  52. package/src/components/Aggregate_Builder_Single_Async.res +3 -3
  53. package/src/components/Aggregate_Builder_Single_Async.res.mjs +3 -3
  54. package/src/components/Api/AppSync_Adapter.res +3 -3
  55. package/src/components/Api/AppSync_SdlDecorate.res +3 -3
  56. package/src/components/SideEffectHandler_PerSideEffectHandler.res +1 -1
  57. package/src/components/StateChangeSlice_Builder.res +4 -4
  58. package/src/components/StateChangeSlice_Builder.res.mjs +4 -4
  59. package/src/plugin/runtime/PluginRuntime_Builder.res +4 -4
  60. package/src/plugin/runtime/PluginRuntime_Builder.res.mjs +3 -3
  61. package/src/plugin/stack/Plugin_Stack.res +1 -1
  62. package/src/util/Util_Bundle.res +1 -1
  63. package/src/util/Util_ShellConfig.res +7 -1
  64. package/src/util/Util_ShellConfig.res.mjs +8 -2
  65. package/tests/AppSync_AdapterTest.res +1 -1
  66. package/tests/AppSync_RetirementNarrowingTest.res +1 -1
  67. package/tests/AppSync_SdlDecorateTest.res +1 -1
  68. package/tests/Auth_LoginIdentifierTest.res +1 -1
  69. package/tests/Auth_SignUpModeTest.res +1 -1
  70. package/tests/BakeConvergenceTest.res +11 -11
  71. package/tests/BakeConvergenceTest.res.mjs +13 -13
  72. package/tests/QueryDbResolvers_AppSyncTest.res +1 -1
  73. package/tests/Upload_ClaimTest.res +1 -1
  74. package/tests/Util_AwsErrorTest.res +1 -1
  75. package/tests/Util_ShellConfigTest.res +40 -0
  76. package/tests/Util_ShellConfigTest.res.mjs +76 -21
  77. package/tests/Util_StoreLayoutTest.res +1 -1
  78. package/tests/dcbColdStartPartition.mjs +3 -3
  79. package/tests/integration/{AggTestAggregateBehavior.res → AggTestAggregateDecision.res} +2 -2
  80. package/tests/integration/{AggTestAggregateBehavior.res.mjs → AggTestAggregateDecision.res.mjs} +1 -1
  81. package/tests/integration/AggregateEntryPoint_IntegrationTest.res +3 -3
  82. package/tests/integration/AggregateEntryPoint_IntegrationTest.res.mjs +2 -2
  83. package/tests/integration/DcbCommandTopicEntryPoint_IntegrationTest.res +5 -5
  84. package/tests/integration/DcbCommandTopicEntryPoint_IntegrationTest.res.mjs +4 -4
  85. package/tests/integration/DcbEventLogStorage_DynamoDb_IntegrationTest.res +1 -1
  86. package/tests/integration/{EpCompositeSliceBehavior.res → EpCompositeSliceDecision.res} +2 -2
  87. package/tests/integration/{EpCompositeSliceBehavior.res.mjs → EpCompositeSliceDecision.res.mjs} +1 -1
  88. package/tests/integration/{EpTestSliceBehavior.res → EpTestSliceDecision.res} +2 -2
  89. package/tests/integration/{EpTestSliceBehavior.res.mjs → EpTestSliceDecision.res.mjs} +1 -1
@@ -1,7 +1,7 @@
1
1
  // Integration regression guard for the Aggregate Lambda entry point.
2
2
  //
3
3
  // Drives the real `AggregateEntryPoint.mjs` against a DynamoDB Local EventLog
4
- // table, with a test loader supplying a tiny `AggTestAggregate` spec/behavior
4
+ // table, with a test loader supplying a tiny `AggTestAggregate` spec/decision
5
5
  // pair in place of the production Lambda's `/var/task/node_modules` dynamic
6
6
  // import. Covers the same regression class as the DCB entry-point test: the
7
7
  // shell wires the compiled EventLog/Aggregate/CommandTopic functors and the
@@ -38,14 +38,14 @@ let runOneAppSyncEvent: (string, JSON.t) => promise<JSON.t> = %raw(`
38
38
 
39
39
  const loadModule = async (specifier) => {
40
40
  if (specifier === "agg-test://spec") return await import("./AggTestAggregate.res.mjs");
41
- if (specifier === "agg-test://behavior") return await import("./AggTestAggregateBehavior.res.mjs");
41
+ if (specifier === "agg-test://decision") return await import("./AggTestAggregateDecision.res.mjs");
42
42
  throw new Error("unknown test specifier: " + specifier);
43
43
  };
44
44
 
45
45
  const config = {
46
46
  handlers: [{
47
47
  specModule: "agg-test://spec",
48
- behaviorModule: "agg-test://behavior",
48
+ decisionModule: "agg-test://decision",
49
49
  eventLogTable: tableName,
50
50
  queueUrl: "https://sqs.eu-west-1.amazonaws.com/000000000000/agg-test-queue",
51
51
  queueArn: "arn:aws:sqs:eu-west-1:000000000000:agg-test-queue",
@@ -17,14 +17,14 @@ let runOneAppSyncEvent = (async (tableName, event) => {
17
17
 
18
18
  const loadModule = async (specifier) => {
19
19
  if (specifier === "agg-test://spec") return await import("./AggTestAggregate.res.mjs");
20
- if (specifier === "agg-test://behavior") return await import("./AggTestAggregateBehavior.res.mjs");
20
+ if (specifier === "agg-test://decision") return await import("./AggTestAggregateDecision.res.mjs");
21
21
  throw new Error("unknown test specifier: " + specifier);
22
22
  };
23
23
 
24
24
  const config = {
25
25
  handlers: [{
26
26
  specModule: "agg-test://spec",
27
- behaviorModule: "agg-test://behavior",
27
+ decisionModule: "agg-test://decision",
28
28
  eventLogTable: tableName,
29
29
  queueUrl: "https://sqs.eu-west-1.amazonaws.com/000000000000/agg-test-queue",
30
30
  queueArn: "arn:aws:sqs:eu-west-1:000000000000:agg-test-queue",
@@ -1,7 +1,7 @@
1
1
  // Integration regression guard for the DCB CommandTopic Lambda entry point.
2
2
  //
3
3
  // Drives the real `DcbCommandTopicEntryPoint.mjs` against a DynamoDB Local
4
- // table, with a test loader supplying a tiny `EpTestSlice` spec/behavior pair
4
+ // table, with a test loader supplying a tiny `EpTestSlice` spec/decision pair
5
5
  // in place of the production Lambda's `/var/task/node_modules` dynamic import.
6
6
  // Covers the regression class behind the 2026-06-21 incident: the entry point
7
7
  // was passing the wrong number of positional args to ReScript-compiled
@@ -39,14 +39,14 @@ let runOneAppSyncEvent: (string, JSON.t) => promise<JSON.t> = %raw(`
39
39
 
40
40
  const loadModule = async (specifier) => {
41
41
  if (specifier === "ep-test://spec") return await import("./EpTestSlice.res.mjs");
42
- if (specifier === "ep-test://behavior") return await import("./EpTestSliceBehavior.res.mjs");
42
+ if (specifier === "ep-test://decision") return await import("./EpTestSliceDecision.res.mjs");
43
43
  throw new Error("unknown test specifier: " + specifier);
44
44
  };
45
45
 
46
46
  const config = {
47
47
  pluginName: "EpTestPlugin",
48
48
  dcbEventLogTableName: tableName,
49
- stateChangeSliceModules: [{ spec: "ep-test://spec", behavior: "ep-test://behavior" }],
49
+ stateChangeSliceModules: [{ spec: "ep-test://spec", decision: "ep-test://decision" }],
50
50
  queueUrl: "https://sqs.eu-west-1.amazonaws.com/000000000000/ep-test-queue",
51
51
  };
52
52
 
@@ -78,14 +78,14 @@ let runOneCompositeEvent: (string, JSON.t) => promise<JSON.t> = %raw(`
78
78
 
79
79
  const loadModule = async (specifier) => {
80
80
  if (specifier === "ep-composite://spec") return await import("./EpCompositeSlice.res.mjs");
81
- if (specifier === "ep-composite://behavior") return await import("./EpCompositeSliceBehavior.res.mjs");
81
+ if (specifier === "ep-composite://decision") return await import("./EpCompositeSliceDecision.res.mjs");
82
82
  throw new Error("unknown test specifier: " + specifier);
83
83
  };
84
84
 
85
85
  const config = {
86
86
  pluginName: "EpCompositePlugin",
87
87
  dcbEventLogTableName: tableName,
88
- stateChangeSliceModules: [{ spec: "ep-composite://spec", behavior: "ep-composite://behavior" }],
88
+ stateChangeSliceModules: [{ spec: "ep-composite://spec", decision: "ep-composite://decision" }],
89
89
  queueUrl: "https://sqs.eu-west-1.amazonaws.com/000000000000/ep-composite-queue",
90
90
  };
91
91
 
@@ -19,14 +19,14 @@ let runOneAppSyncEvent = (async (tableName, event) => {
19
19
 
20
20
  const loadModule = async (specifier) => {
21
21
  if (specifier === "ep-test://spec") return await import("./EpTestSlice.res.mjs");
22
- if (specifier === "ep-test://behavior") return await import("./EpTestSliceBehavior.res.mjs");
22
+ if (specifier === "ep-test://decision") return await import("./EpTestSliceDecision.res.mjs");
23
23
  throw new Error("unknown test specifier: " + specifier);
24
24
  };
25
25
 
26
26
  const config = {
27
27
  pluginName: "EpTestPlugin",
28
28
  dcbEventLogTableName: tableName,
29
- stateChangeSliceModules: [{ spec: "ep-test://spec", behavior: "ep-test://behavior" }],
29
+ stateChangeSliceModules: [{ spec: "ep-test://spec", decision: "ep-test://decision" }],
30
30
  queueUrl: "https://sqs.eu-west-1.amazonaws.com/000000000000/ep-test-queue",
31
31
  };
32
32
 
@@ -52,14 +52,14 @@ let runOneCompositeEvent = (async (tableName, event) => {
52
52
 
53
53
  const loadModule = async (specifier) => {
54
54
  if (specifier === "ep-composite://spec") return await import("./EpCompositeSlice.res.mjs");
55
- if (specifier === "ep-composite://behavior") return await import("./EpCompositeSliceBehavior.res.mjs");
55
+ if (specifier === "ep-composite://decision") return await import("./EpCompositeSliceDecision.res.mjs");
56
56
  throw new Error("unknown test specifier: " + specifier);
57
57
  };
58
58
 
59
59
  const config = {
60
60
  pluginName: "EpCompositePlugin",
61
61
  dcbEventLogTableName: tableName,
62
- stateChangeSliceModules: [{ spec: "ep-composite://spec", behavior: "ep-composite://behavior" }],
62
+ stateChangeSliceModules: [{ spec: "ep-composite://spec", decision: "ep-composite://decision" }],
63
63
  queueUrl: "https://sqs.eu-west-1.amazonaws.com/000000000000/ep-composite-queue",
64
64
  };
65
65
 
@@ -12,7 +12,7 @@
12
12
  //
13
13
  // The unit suite (`DcbEventLogStorage_DynamoDb_RuntimeTest.res`) asserts the
14
14
  // *shape* of the built `TransactWriteItems`. This suite asserts DynamoDB's
15
- // *behaviour* — that the `ConditionExpression`s interpret as we expect — which
15
+ // *behavior* — that the `ConditionExpression`s interpret as we expect — which
16
16
  // is the only thing that proves the fence-scope model (Issue 1 fix) and the
17
17
  // optimistic-concurrency guarantees end-to-end. See
18
18
  // `docs/analysis/dcb-consistency-check-issues.md` and
@@ -1,4 +1,4 @@
1
- // Behavior pair for `EpCompositeSlice`. Append-on-empty / reject-on-seen, per
1
+ // Decision pair for `EpCompositeSlice`. Append-on-empty / reject-on-seen, per
2
2
  // composite entity: the decision read is scoped to one `{environment,
3
3
  // resourceName}` composite, so a fresh resource sees `Absent` and appends, while
4
4
  // a duplicate of the same composite key sees `Added` and is rejected.
@@ -32,4 +32,4 @@ let decide = (state, command: EpCompositeSlice.command): result<
32
32
  | (Absent, TouchResource(_)) => Error(NotFound)
33
33
  }
34
34
 
35
- let moduleUrl = "ep-test://EpCompositeSliceBehavior"
35
+ let moduleUrl = "ep-test://EpCompositeSliceDecision"
@@ -41,7 +41,7 @@ function decide(state, command) {
41
41
 
42
42
  let initialState = "Absent";
43
43
 
44
- let moduleUrl = "ep-test://EpCompositeSliceBehavior";
44
+ let moduleUrl = "ep-test://EpCompositeSliceDecision";
45
45
 
46
46
  export {
47
47
  initialState,
@@ -1,4 +1,4 @@
1
- // Behavior pair for `EpTestSlice`. Append-on-empty / reject-on-seen.
1
+ // Decision pair for `EpTestSlice`. Append-on-empty / reject-on-seen.
2
2
 
3
3
  type state = bool
4
4
 
@@ -15,4 +15,4 @@ let decide = (state, command: EpTestSlice.command): result<
15
15
  | (false, AddWidget({widgetId})) => Ok([WidgetAdded({widgetId: widgetId})])
16
16
  }
17
17
 
18
- let moduleUrl = "ep-test://EpTestSliceBehavior"
18
+ let moduleUrl = "ep-test://EpTestSliceDecision"
@@ -24,7 +24,7 @@ function decide(state, command) {
24
24
 
25
25
  let initialState = false;
26
26
 
27
- let moduleUrl = "ep-test://EpTestSliceBehavior";
27
+ let moduleUrl = "ep-test://EpTestSliceDecision";
28
28
 
29
29
  export {
30
30
  initialState,