@reventlessdev/reventless-local 3.0.0-alpha.161 → 3.0.0-alpha.162

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 (78) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.json +10 -10
  3. package/src/Platform.res.mjs +8 -0
  4. package/src/adapter/CommandTopic/LocalCommandTopicChannel.res +1 -1
  5. package/src/adapter/CommandTopic/LocalCommandTopicChannel.res.mjs +1 -1
  6. package/src/adapter/DomainGraphQL_Server.res +17 -0
  7. package/src/adapter/DomainGraphQL_Server.res.mjs +5 -0
  8. package/src/adapter/EventCollector/LocalEventCollectorChannel.res +1 -1
  9. package/src/adapter/EventCollector/LocalEventCollectorChannel.res.mjs +2 -2
  10. package/src/adapter/EventLog/EventLogStorage_InMemory.res +1 -1
  11. package/src/adapter/EventLog/EventLogStorage_InMemory.res.mjs +1 -1
  12. package/src/adapter/EventLog/EventLogStorage_Sqlite.res +1 -1
  13. package/src/adapter/EventLog/EventLogStorage_Sqlite.res.mjs +1 -1
  14. package/src/adapter/EventLog/LocalEventLogStorage.res +1 -1
  15. package/src/adapter/EventLog/LocalEventLogStorage.res.mjs +1 -1
  16. package/src/adapter/EventTopic/LocalEventTopicPublisher.res +1 -1
  17. package/src/adapter/EventTopic/LocalEventTopicPublisher.res.mjs +1 -1
  18. package/src/adapter/QueryDb/LocalQueryDbStorage.res +2 -2
  19. package/src/adapter/QueryDb/LocalQueryDbStorage.res.mjs +2 -2
  20. package/src/adapter/QueryDb/QueryDbStorage_InMemory.res +1 -1
  21. package/src/adapter/QueryDb/QueryDbStorage_InMemory.res.mjs +1 -1
  22. package/src/adapter/QueryDb/QueryDbStorage_Sqlite.res +1 -1
  23. package/src/adapter/QueryDb/QueryDbStorage_Sqlite.res.mjs +1 -1
  24. package/src/adapter/Runtime/LocalAggregateRuntime_Builder.res +9 -1
  25. package/src/adapter/Runtime/LocalAggregateRuntime_Builder.res.mjs +5 -3
  26. package/src/adapter/Runtime/LocalEventCollectorRuntime_Builder.res +5 -1
  27. package/src/adapter/Runtime/LocalEventCollectorRuntime_Builder.res.mjs +3 -1
  28. package/src/adapter/Runtime/LocalPluginRuntime_Builder.res.mjs +2 -0
  29. package/src/adapter/Runtime/LocalRuntimeEnvironment.res +10 -0
  30. package/src/adapter/Runtime/LocalRuntimeEnvironment.res.mjs +10 -0
  31. package/src/components/Aggregate_Builder.res.mjs +4 -0
  32. package/src/components/AutomationSlice_Builder.res.mjs +2 -0
  33. package/src/components/ExtensionPoint_Builder.res.mjs +4 -0
  34. package/src/components/OutboundTranslationSlice_Builder.res.mjs +2 -0
  35. package/src/components/Plugin_Builder.res.mjs +2 -0
  36. package/src/components/ReadModel_Builder.res.mjs +4 -0
  37. package/src/components/StateViewSlice_Builder.res.mjs +2 -0
  38. package/src/components/Task_Builder.res.mjs +4 -0
  39. package/tests/adapter/BackendParityTest.res +5 -5
  40. package/tests/adapter/BackendParityTest.res.mjs +5 -5
  41. package/tests/adapter/CommandTopicChannelTest.res +4 -4
  42. package/tests/adapter/CommandTopicChannelTest.res.mjs +4 -4
  43. package/tests/adapter/EventCollectorChannelTest.res +11 -11
  44. package/tests/adapter/EventCollectorChannelTest.res.mjs +11 -11
  45. package/tests/adapter/EventLogSnapshotParityTest.res +2 -2
  46. package/tests/adapter/EventLogSnapshotParityTest.res.mjs +2 -2
  47. package/tests/adapter/EventLogStorageSqliteTest.res +11 -11
  48. package/tests/adapter/EventLogStorageSqliteTest.res.mjs +11 -11
  49. package/tests/adapter/EventTopicPublisherTest.res +4 -4
  50. package/tests/adapter/EventTopicPublisherTest.res.mjs +4 -4
  51. package/tests/adapter/LocalAuthHttpTest.res +5 -1
  52. package/tests/adapter/LocalAuthHttpTest.res.mjs +5 -5
  53. package/tests/adapter/LocalDispatchContextTest.res +83 -0
  54. package/tests/adapter/LocalDispatchContextTest.res.mjs +73 -0
  55. package/tests/adapter/ProjectionCheckpointTest.res +5 -5
  56. package/tests/adapter/ProjectionCheckpointTest.res.mjs +5 -5
  57. package/tests/adapter/QueryDbGsiTtlTest.res +12 -12
  58. package/tests/adapter/QueryDbGsiTtlTest.res.mjs +12 -12
  59. package/tests/adapter/QueryDbListPushdownParityTest.res +1 -1
  60. package/tests/adapter/QueryDbListPushdownParityTest.res.mjs +1 -1
  61. package/tests/adapter/QueryDbListResolverTest.res.mjs +1 -1
  62. package/tests/adapter/QueryDbStorageSqliteTest.res +6 -6
  63. package/tests/adapter/QueryDbStorageSqliteTest.res.mjs +6 -6
  64. package/tests/adapter/QueryDbStorageTest.res +10 -10
  65. package/tests/adapter/QueryDbStorageTest.res.mjs +10 -10
  66. package/tests/adapter/QueryEngineTest.res +8 -8
  67. package/tests/adapter/QueryEngineTest.res.mjs +8 -8
  68. package/tests/components/aggregate/AggregateTest.res +3 -3
  69. package/tests/components/aggregate/AggregateTest.res.mjs +3 -3
  70. package/tests/components/commandtopic/CommandTopicFixtures.res.mjs +1 -1
  71. package/tests/components/commandtopic/CommandTopicStreamFixtures.res.mjs +1 -1
  72. package/tests/components/eventcollector/EventCollectorFixtures.res.mjs +3 -1
  73. package/tests/components/eventlog/EventLogFixtures.res.mjs +1 -1
  74. package/tests/components/eventtopic/EventTopicFixtures.res.mjs +1 -1
  75. package/tests/components/eventtopic/EventTopicStreamFixtures.res.mjs +1 -1
  76. package/tests/components/querydb/QueryDbFixtures.res.mjs +1 -1
  77. package/tests/components/querydb/QueryDbSubIdFixtures.res.mjs +1 -1
  78. package/tests/components/sideeffecthandler/SideEffectHandlerFixtures.res.mjs +4 -0
@@ -12,7 +12,7 @@ describe("QueryDbStorage_InMemory", () => {
12
12
  testPromise("save stores state; loadStream retrieves it by id", async () => {
13
13
  module TestBus = LocalBus.Make()
14
14
  module Storage = LocalQueryDbStorage.Make(TestBus)
15
- let s = Storage.make(~name="rm1", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
15
+ let s = Storage.make(~name="rm1", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
16
16
  let ops = await s.operations->TestRunner.resolve
17
17
  let _ = await ops.save("id1", JSON.Encode.string("value1"), ReventlessCore.QueryDb.Any, None)
18
18
  let items =
@@ -27,7 +27,7 @@ describe("QueryDbStorage_InMemory", () => {
27
27
  testPromise("loadStream returns empty for unknown id", async () => {
28
28
  module TestBus = LocalBus.Make()
29
29
  module Storage = LocalQueryDbStorage.Make(TestBus)
30
- let s = Storage.make(~name="rm2", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
30
+ let s = Storage.make(~name="rm2", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
31
31
  let ops = await s.operations->TestRunner.resolve
32
32
  let items =
33
33
  await ops.loadStream("unknown")
@@ -40,7 +40,7 @@ describe("QueryDbStorage_InMemory", () => {
40
40
  testPromise("save overwrites previous state for same id", async () => {
41
41
  module TestBus = LocalBus.Make()
42
42
  module Storage = LocalQueryDbStorage.Make(TestBus)
43
- let s = Storage.make(~name="rm3", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
43
+ let s = Storage.make(~name="rm3", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
44
44
  let ops = await s.operations->TestRunner.resolve
45
45
  let _ = await ops.save("id1", JSON.Encode.string("old"), ReventlessCore.QueryDb.Any, None)
46
46
  let _ = await ops.save("id1", JSON.Encode.string("new"), ReventlessCore.QueryDb.Any, None)
@@ -56,7 +56,7 @@ describe("QueryDbStorage_InMemory", () => {
56
56
  testPromise("load delegates to loadStream (backward-compat)", async () => {
57
57
  module TestBus = LocalBus.Make()
58
58
  module Storage = LocalQueryDbStorage.Make(TestBus)
59
- let s = Storage.make(~name="load-compat", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
59
+ let s = Storage.make(~name="load-compat", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
60
60
  let ops = await s.operations->TestRunner.resolve
61
61
  let _ = await ops.save("compat-id", JSON.Encode.string("compat-val"), ReventlessCore.QueryDb.Any, None)
62
62
  let streamed = await ops.loadStream("compat-id")->Stream.runCollect->Effect.runPromise
@@ -69,7 +69,7 @@ describe("QueryDbStorage_InMemory", () => {
69
69
  testPromise("stores multiple items; loadStream retrieves each by id", async () => {
70
70
  module TestBus = LocalBus.Make()
71
71
  module Storage = LocalQueryDbStorage.Make(TestBus)
72
- let s = Storage.make(~name="rm4", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
72
+ let s = Storage.make(~name="rm4", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
73
73
  let ops = await s.operations->TestRunner.resolve
74
74
  let _ = await ops.saveBatch([
75
75
  ("a", JSON.Encode.string("val-a"), None),
@@ -94,7 +94,7 @@ describe("QueryDbStorage_InMemory", () => {
94
94
  testPromise("returns the increment value (no real counting semantics)", async () => {
95
95
  module TestBus = LocalBus.Make()
96
96
  module Storage = LocalQueryDbStorage.Make(TestBus)
97
- let s = Storage.make(~name="rm5", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
97
+ let s = Storage.make(~name="rm5", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
98
98
  let ops = await s.operations->TestRunner.resolve
99
99
  let result = await ops.count("id1", "field", 5)
100
100
  expect(result)->toEqual(Ok(5))
@@ -105,7 +105,7 @@ describe("QueryDbStorage_InMemory", () => {
105
105
  testPromise("removes item; loadStream returns empty", async () => {
106
106
  module TestBus = LocalBus.Make()
107
107
  module Storage = LocalQueryDbStorage.Make(TestBus)
108
- let s = Storage.make(~name="rm6", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
108
+ let s = Storage.make(~name="rm6", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
109
109
  let ops = await s.operations->TestRunner.resolve
110
110
  let _ = await ops.save("del-id", JSON.Encode.string("v"), ReventlessCore.QueryDb.Any, None)
111
111
  let _ = await ops.delete("del-id", None)
@@ -120,7 +120,7 @@ describe("QueryDbStorage_InMemory", () => {
120
120
  testPromise("deleteBatch removes multiple items", async () => {
121
121
  module TestBus = LocalBus.Make()
122
122
  module Storage = LocalQueryDbStorage.Make(TestBus)
123
- let s = Storage.make(~name="rm7", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
123
+ let s = Storage.make(~name="rm7", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
124
124
  let ops = await s.operations->TestRunner.resolve
125
125
  let _ = await ops.saveBatch([
126
126
  ("x", JSON.Encode.string("vx"), None),
@@ -146,7 +146,7 @@ describe("QueryDbStorage_InMemory", () => {
146
146
  testPromise("after save, scan function returns all stored items", async () => {
147
147
  module TestBus = LocalBus.Make()
148
148
  module Storage = LocalQueryDbStorage.Make(TestBus)
149
- let s = Storage.make(~name="scan-rm", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
149
+ let s = Storage.make(~name="scan-rm", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
150
150
  let ops = await s.operations->TestRunner.resolve
151
151
  let _ = await ops.save("s1", JSON.Encode.string("item1"), ReventlessCore.QueryDb.Any, None)
152
152
  let _ = await ops.save("s2", JSON.Encode.string("item2"), ReventlessCore.QueryDb.Any, None)
@@ -158,7 +158,7 @@ describe("QueryDbStorage_InMemory", () => {
158
158
  testPromise("after delete, scan function excludes deleted item", async () => {
159
159
  module TestBus = LocalBus.Make()
160
160
  module Storage = LocalQueryDbStorage.Make(TestBus)
161
- let s = Storage.make(~name="scan-rm2", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
161
+ let s = Storage.make(~name="scan-rm2", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
162
162
  let ops = await s.operations->TestRunner.resolve
163
163
  let _ = await ops.save("keep", JSON.Encode.string("keep"), ReventlessCore.QueryDb.Any, None)
164
164
  let _ = await ops.save("gone", JSON.Encode.string("gone"), ReventlessCore.QueryDb.Any, None)
@@ -16,7 +16,7 @@ globalThis.describe("QueryDbStorage_InMemory", () => {
16
16
  globalThis.test("save stores state; loadStream retrieves it by id", async () => {
17
17
  let TestBus = LocalBus$ReventlessLocal.Make({});
18
18
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
19
- let s = Storage.make("rm1", [], undefined, undefined, undefined, undefined, opts);
19
+ let s = Storage.make("rm1", [], undefined, undefined, undefined, undefined, undefined, opts);
20
20
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
21
21
  await ops.save("id1", "value1", "Any", undefined);
22
22
  let items = await Effect.runPromise(Effect.catchAll(Stream.runCollect(ops.loadStream("id1")), param => Effect.succeed([])));
@@ -26,7 +26,7 @@ globalThis.describe("QueryDbStorage_InMemory", () => {
26
26
  globalThis.test("loadStream returns empty for unknown id", async () => {
27
27
  let TestBus = LocalBus$ReventlessLocal.Make({});
28
28
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
29
- let s = Storage.make("rm2", [], undefined, undefined, undefined, undefined, opts);
29
+ let s = Storage.make("rm2", [], undefined, undefined, undefined, undefined, undefined, opts);
30
30
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
31
31
  let items = await Effect.runPromise(Effect.catchAll(Stream.runCollect(ops.loadStream("unknown")), param => Effect.succeed([])));
32
32
  globalThis.expect(items.length).toBe(0);
@@ -34,7 +34,7 @@ globalThis.describe("QueryDbStorage_InMemory", () => {
34
34
  globalThis.test("save overwrites previous state for same id", async () => {
35
35
  let TestBus = LocalBus$ReventlessLocal.Make({});
36
36
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
37
- let s = Storage.make("rm3", [], undefined, undefined, undefined, undefined, opts);
37
+ let s = Storage.make("rm3", [], undefined, undefined, undefined, undefined, undefined, opts);
38
38
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
39
39
  await ops.save("id1", "old", "Any", undefined);
40
40
  await ops.save("id1", "new", "Any", undefined);
@@ -45,7 +45,7 @@ globalThis.describe("QueryDbStorage_InMemory", () => {
45
45
  globalThis.test("load delegates to loadStream (backward-compat)", async () => {
46
46
  let TestBus = LocalBus$ReventlessLocal.Make({});
47
47
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
48
- let s = Storage.make("load-compat", [], undefined, undefined, undefined, undefined, opts);
48
+ let s = Storage.make("load-compat", [], undefined, undefined, undefined, undefined, undefined, opts);
49
49
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
50
50
  await ops.save("compat-id", "compat-val", "Any", undefined);
51
51
  let streamed = await Effect.runPromise(Stream.runCollect(ops.loadStream("compat-id")));
@@ -60,7 +60,7 @@ globalThis.describe("QueryDbStorage_InMemory", () => {
60
60
  globalThis.test("stores multiple items; loadStream retrieves each by id", async () => {
61
61
  let TestBus = LocalBus$ReventlessLocal.Make({});
62
62
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
63
- let s = Storage.make("rm4", [], undefined, undefined, undefined, undefined, opts);
63
+ let s = Storage.make("rm4", [], undefined, undefined, undefined, undefined, undefined, opts);
64
64
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
65
65
  await ops.saveBatch([
66
66
  [
@@ -84,7 +84,7 @@ globalThis.describe("QueryDbStorage_InMemory", () => {
84
84
  globalThis.test("returns the increment value (no real counting semantics)", async () => {
85
85
  let TestBus = LocalBus$ReventlessLocal.Make({});
86
86
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
87
- let s = Storage.make("rm5", [], undefined, undefined, undefined, undefined, opts);
87
+ let s = Storage.make("rm5", [], undefined, undefined, undefined, undefined, undefined, opts);
88
88
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
89
89
  let result = await ops.count("id1", "field", 5);
90
90
  globalThis.expect(result).toEqual({
@@ -97,7 +97,7 @@ globalThis.describe("QueryDbStorage_InMemory", () => {
97
97
  globalThis.test("removes item; loadStream returns empty", async () => {
98
98
  let TestBus = LocalBus$ReventlessLocal.Make({});
99
99
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
100
- let s = Storage.make("rm6", [], undefined, undefined, undefined, undefined, opts);
100
+ let s = Storage.make("rm6", [], undefined, undefined, undefined, undefined, undefined, opts);
101
101
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
102
102
  await ops.save("del-id", "v", "Any", undefined);
103
103
  await ops.delete("del-id", undefined);
@@ -107,7 +107,7 @@ globalThis.describe("QueryDbStorage_InMemory", () => {
107
107
  globalThis.test("deleteBatch removes multiple items", async () => {
108
108
  let TestBus = LocalBus$ReventlessLocal.Make({});
109
109
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
110
- let s = Storage.make("rm7", [], undefined, undefined, undefined, undefined, opts);
110
+ let s = Storage.make("rm7", [], undefined, undefined, undefined, undefined, undefined, opts);
111
111
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
112
112
  await ops.saveBatch([
113
113
  [
@@ -141,7 +141,7 @@ globalThis.describe("QueryDbStorage_InMemory", () => {
141
141
  globalThis.test("after save, scan function returns all stored items", async () => {
142
142
  let TestBus = LocalBus$ReventlessLocal.Make({});
143
143
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
144
- let s = Storage.make("scan-rm", [], undefined, undefined, undefined, undefined, opts);
144
+ let s = Storage.make("scan-rm", [], undefined, undefined, undefined, undefined, undefined, opts);
145
145
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
146
146
  await ops.save("s1", "item1", "Any", undefined);
147
147
  await ops.save("s2", "item2", "Any", undefined);
@@ -152,7 +152,7 @@ globalThis.describe("QueryDbStorage_InMemory", () => {
152
152
  globalThis.test("after delete, scan function excludes deleted item", async () => {
153
153
  let TestBus = LocalBus$ReventlessLocal.Make({});
154
154
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
155
- let s = Storage.make("scan-rm2", [], undefined, undefined, undefined, undefined, opts);
155
+ let s = Storage.make("scan-rm2", [], undefined, undefined, undefined, undefined, undefined, opts);
156
156
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
157
157
  await ops.save("keep", "keep", "Any", undefined);
158
158
  await ops.save("gone", "gone", "Any", undefined);
@@ -13,7 +13,7 @@ describe("LocalQueryEngine", () => {
13
13
  module TestBus = LocalBus.Make()
14
14
  module Storage = LocalQueryDbStorage.Make(TestBus)
15
15
  module QE = LocalQueryEngine.Make(TestBus)
16
- let s = Storage.make(~name="users", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
16
+ let s = Storage.make(~name="users", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
17
17
  let ops = await s.operations->TestRunner.resolve
18
18
  let _ = await ops.save("user-1", JSON.Encode.string("Alice"), ReventlessCore.QueryDb.Any, None)
19
19
  let engine = await QE.make(Dict.make())->TestRunner.resolve
@@ -29,7 +29,7 @@ describe("LocalQueryEngine", () => {
29
29
  module TestBus = LocalBus.Make()
30
30
  module Storage = LocalQueryDbStorage.Make(TestBus)
31
31
  module QE = LocalQueryEngine.Make(TestBus)
32
- let s = Storage.make(~name="products", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
32
+ let s = Storage.make(~name="products", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
33
33
  let ops = await s.operations->TestRunner.resolve
34
34
  let _ =
35
35
  await ops.save("prod-key", JSON.Encode.string("Widget"), ReventlessCore.QueryDb.Any, None)
@@ -58,7 +58,7 @@ describe("LocalQueryEngine", () => {
58
58
  module TestBus = LocalBus.Make()
59
59
  module Storage = LocalQueryDbStorage.Make(TestBus)
60
60
  module QE = LocalQueryEngine.Make(TestBus)
61
- let s = Storage.make(~name="counters", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
61
+ let s = Storage.make(~name="counters", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
62
62
  let ops = await s.operations->TestRunner.resolve
63
63
  let _ = await ops.save("42", JSON.Encode.int(100), ReventlessCore.QueryDb.Any, None)
64
64
  let engine = await QE.make(Dict.make())->TestRunner.resolve
@@ -75,7 +75,7 @@ describe("LocalQueryEngine", () => {
75
75
  module TestBus = LocalBus.Make()
76
76
  module Storage = LocalQueryDbStorage.Make(TestBus)
77
77
  module QE = LocalQueryEngine.Make(TestBus)
78
- let s = Storage.make(~name="orders", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
78
+ let s = Storage.make(~name="orders", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
79
79
  let ops = await s.operations->TestRunner.resolve
80
80
  let _ = await ops.save("o1", JSON.Encode.string("order1"), ReventlessCore.QueryDb.Any, None)
81
81
  let _ = await ops.save("o2", JSON.Encode.string("order2"), ReventlessCore.QueryDb.Any, None)
@@ -98,7 +98,7 @@ describe("LocalQueryEngine", () => {
98
98
  module TestBus = LocalBus.Make()
99
99
  module Storage = LocalQueryDbStorage.Make(TestBus)
100
100
  module QE = LocalQueryEngine.Make(TestBus)
101
- let s = Storage.make(~name="items", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
101
+ let s = Storage.make(~name="items", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
102
102
  let ops = await s.operations->TestRunner.resolve
103
103
  let _ = await ops.save("k1", JSON.Encode.string("a"), ReventlessCore.QueryDb.Any, None)
104
104
  let _ = await ops.save("k2", JSON.Encode.string("b"), ReventlessCore.QueryDb.Any, None)
@@ -114,7 +114,7 @@ describe("LocalQueryEngine", () => {
114
114
  module TestBus = LocalBus.Make()
115
115
  module Storage = LocalQueryDbStorage.Make(TestBus)
116
116
  module QE = LocalQueryEngine.Make(TestBus)
117
- let s = Storage.make(~name="things", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
117
+ let s = Storage.make(~name="things", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
118
118
  let ops = await s.operations->TestRunner.resolve
119
119
  let _ = await ops.save("t1", JSON.Encode.string("x"), ReventlessCore.QueryDb.Any, None)
120
120
  let _ = await ops.save("t2", JSON.Encode.string("y"), ReventlessCore.QueryDb.Any, None)
@@ -127,7 +127,7 @@ describe("LocalQueryEngine", () => {
127
127
  module TestBus = LocalBus.Make()
128
128
  module Storage = LocalQueryDbStorage.Make(TestBus)
129
129
  module QE = LocalQueryEngine.Make(TestBus)
130
- let s = Storage.make(~name="stuff", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
130
+ let s = Storage.make(~name="stuff", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
131
131
  let ops = await s.operations->TestRunner.resolve
132
132
  let _ = await ops.save("s1", JSON.Encode.string("z"), ReventlessCore.QueryDb.Any, None)
133
133
  let engine = await QE.make(Dict.make())->TestRunner.resolve
@@ -139,7 +139,7 @@ describe("LocalQueryEngine", () => {
139
139
  module TestBus = LocalBus.Make()
140
140
  module Storage = LocalQueryDbStorage.Make(TestBus)
141
141
  module QE = LocalQueryEngine.Make(TestBus)
142
- let s = Storage.make(~name="widgets", ~indexes=[], ~api=(), ~apiRole=(), ~opts)
142
+ let s = Storage.make(~name="widgets", ~indexes=[], ~api=(), ~apiRole=(), ~owner=None, ~opts)
143
143
  let ops = await s.operations->TestRunner.resolve
144
144
  let _ = await ops.save("w1", JSON.Encode.string("p"), ReventlessCore.QueryDb.Any, None)
145
145
  let _ = await ops.save("w2", JSON.Encode.string("q"), ReventlessCore.QueryDb.Any, None)
@@ -15,7 +15,7 @@ globalThis.describe("LocalQueryEngine", () => {
15
15
  let TestBus = LocalBus$ReventlessLocal.Make({});
16
16
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
17
17
  let QE = LocalQueryEngine$ReventlessLocal.Make(TestBus);
18
- let s = Storage.make("users", [], undefined, undefined, undefined, undefined, opts);
18
+ let s = Storage.make("users", [], undefined, undefined, undefined, undefined, undefined, opts);
19
19
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
20
20
  await ops.save("user-1", "Alice", "Any", undefined);
21
21
  let engine = await TestRunner$ReventlessLocal.resolve(QE.make({}));
@@ -30,7 +30,7 @@ globalThis.describe("LocalQueryEngine", () => {
30
30
  let TestBus = LocalBus$ReventlessLocal.Make({});
31
31
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
32
32
  let QE = LocalQueryEngine$ReventlessLocal.Make(TestBus);
33
- let s = Storage.make("products", [], undefined, undefined, undefined, undefined, opts);
33
+ let s = Storage.make("products", [], undefined, undefined, undefined, undefined, undefined, opts);
34
34
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
35
35
  await ops.save("prod-key", "Widget", "Any", undefined);
36
36
  let engine = await TestRunner$ReventlessLocal.resolve(QE.make({}));
@@ -55,7 +55,7 @@ globalThis.describe("LocalQueryEngine", () => {
55
55
  let TestBus = LocalBus$ReventlessLocal.Make({});
56
56
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
57
57
  let QE = LocalQueryEngine$ReventlessLocal.Make(TestBus);
58
- let s = Storage.make("counters", [], undefined, undefined, undefined, undefined, opts);
58
+ let s = Storage.make("counters", [], undefined, undefined, undefined, undefined, undefined, opts);
59
59
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
60
60
  await ops.save("42", 100, "Any", undefined);
61
61
  let engine = await TestRunner$ReventlessLocal.resolve(QE.make({}));
@@ -71,7 +71,7 @@ globalThis.describe("LocalQueryEngine", () => {
71
71
  let TestBus = LocalBus$ReventlessLocal.Make({});
72
72
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
73
73
  let QE = LocalQueryEngine$ReventlessLocal.Make(TestBus);
74
- let s = Storage.make("orders", [], undefined, undefined, undefined, undefined, opts);
74
+ let s = Storage.make("orders", [], undefined, undefined, undefined, undefined, undefined, opts);
75
75
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
76
76
  await ops.save("o1", "order1", "Any", undefined);
77
77
  await ops.save("o2", "order2", "Any", undefined);
@@ -92,7 +92,7 @@ globalThis.describe("LocalQueryEngine", () => {
92
92
  let TestBus = LocalBus$ReventlessLocal.Make({});
93
93
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
94
94
  let QE = LocalQueryEngine$ReventlessLocal.Make(TestBus);
95
- let s = Storage.make("items", [], undefined, undefined, undefined, undefined, opts);
95
+ let s = Storage.make("items", [], undefined, undefined, undefined, undefined, undefined, opts);
96
96
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
97
97
  await ops.save("k1", "a", "Any", undefined);
98
98
  await ops.save("k2", "b", "Any", undefined);
@@ -107,7 +107,7 @@ globalThis.describe("LocalQueryEngine", () => {
107
107
  let TestBus = LocalBus$ReventlessLocal.Make({});
108
108
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
109
109
  let QE = LocalQueryEngine$ReventlessLocal.Make(TestBus);
110
- let s = Storage.make("things", [], undefined, undefined, undefined, undefined, opts);
110
+ let s = Storage.make("things", [], undefined, undefined, undefined, undefined, undefined, opts);
111
111
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
112
112
  await ops.save("t1", "x", "Any", undefined);
113
113
  await ops.save("t2", "y", "Any", undefined);
@@ -119,7 +119,7 @@ globalThis.describe("LocalQueryEngine", () => {
119
119
  let TestBus = LocalBus$ReventlessLocal.Make({});
120
120
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
121
121
  let QE = LocalQueryEngine$ReventlessLocal.Make(TestBus);
122
- let s = Storage.make("stuff", [], undefined, undefined, undefined, undefined, opts);
122
+ let s = Storage.make("stuff", [], undefined, undefined, undefined, undefined, undefined, opts);
123
123
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
124
124
  await ops.save("s1", "z", "Any", undefined);
125
125
  let engine = await TestRunner$ReventlessLocal.resolve(QE.make({}));
@@ -130,7 +130,7 @@ globalThis.describe("LocalQueryEngine", () => {
130
130
  let TestBus = LocalBus$ReventlessLocal.Make({});
131
131
  let Storage = LocalQueryDbStorage$ReventlessLocal.Make(TestBus);
132
132
  let QE = LocalQueryEngine$ReventlessLocal.Make(TestBus);
133
- let s = Storage.make("widgets", [], undefined, undefined, undefined, undefined, opts);
133
+ let s = Storage.make("widgets", [], undefined, undefined, undefined, undefined, undefined, opts);
134
134
  let ops = await TestRunner$ReventlessLocal.resolve(s.operations);
135
135
  await ops.save("w1", "p", "Any", undefined);
136
136
  await ops.save("w2", "q", "Any", undefined);
@@ -47,7 +47,7 @@ describe("LocalBus", () => {
47
47
  describe("EventLogStorage_InMemory", () => {
48
48
  testPromise("append stores events and replay returns them", async () => {
49
49
  let opts: Pulumi.CustomResourceOptions.t = {}
50
- let storage = EventLogStorage_InMemory.make(~name="test-log", ~opts)
50
+ let storage = EventLogStorage_InMemory.make(~name="test-log", ~owner=None, ~opts)
51
51
  let ops = await storage.operations->TestRunner.resolve
52
52
  let _ = await ops.append(0, "agg-1", [JSON.Encode.string("e1"), JSON.Encode.string("e2")])
53
53
  let events = await ops.replay("agg-1")
@@ -56,7 +56,7 @@ describe("EventLogStorage_InMemory", () => {
56
56
 
57
57
  testPromise("replay returns empty array for unknown aggregate id", async () => {
58
58
  let opts: Pulumi.CustomResourceOptions.t = {}
59
- let storage = EventLogStorage_InMemory.make(~name="test-log-2", ~opts)
59
+ let storage = EventLogStorage_InMemory.make(~name="test-log-2", ~owner=None, ~opts)
60
60
  let ops = await storage.operations->TestRunner.resolve
61
61
  let events = await ops.replay("unknown-id")
62
62
  expect(events->Array.length)->toBe(0)
@@ -64,7 +64,7 @@ describe("EventLogStorage_InMemory", () => {
64
64
 
65
65
  testPromise("multiple appends accumulate events", async () => {
66
66
  let opts: Pulumi.CustomResourceOptions.t = {}
67
- let storage = EventLogStorage_InMemory.make(~name="test-log-3", ~opts)
67
+ let storage = EventLogStorage_InMemory.make(~name="test-log-3", ~owner=None, ~opts)
68
68
  let ops = await storage.operations->TestRunner.resolve
69
69
  let _ = await ops.append(0, "agg-2", [JSON.Encode.string("e1")])
70
70
  let _ = await ops.append(1, "agg-2", [JSON.Encode.string("e2"), JSON.Encode.string("e3")])
@@ -50,7 +50,7 @@ globalThis.describe("LocalBus", () => {
50
50
 
51
51
  globalThis.describe("EventLogStorage_InMemory", () => {
52
52
  globalThis.test("append stores events and replay returns them", async () => {
53
- let storage = EventLogStorage_InMemory$ReventlessLocal.make("test-log", {});
53
+ let storage = EventLogStorage_InMemory$ReventlessLocal.make("test-log", undefined, {});
54
54
  let ops = await TestRunner$ReventlessLocal.resolve(storage.operations);
55
55
  await ops.append(0, "agg-1", [
56
56
  "e1",
@@ -60,13 +60,13 @@ globalThis.describe("EventLogStorage_InMemory", () => {
60
60
  globalThis.expect(events.length).toBe(2);
61
61
  });
62
62
  globalThis.test("replay returns empty array for unknown aggregate id", async () => {
63
- let storage = EventLogStorage_InMemory$ReventlessLocal.make("test-log-2", {});
63
+ let storage = EventLogStorage_InMemory$ReventlessLocal.make("test-log-2", undefined, {});
64
64
  let ops = await TestRunner$ReventlessLocal.resolve(storage.operations);
65
65
  let events = await ops.replay("unknown-id");
66
66
  globalThis.expect(events.length).toBe(0);
67
67
  });
68
68
  globalThis.test("multiple appends accumulate events", async () => {
69
- let storage = EventLogStorage_InMemory$ReventlessLocal.make("test-log-3", {});
69
+ let storage = EventLogStorage_InMemory$ReventlessLocal.make("test-log-3", undefined, {});
70
70
  let ops = await TestRunner$ReventlessLocal.resolve(storage.operations);
71
71
  await ops.append(0, "agg-2", ["e1"]);
72
72
  await ops.append(1, "agg-2", [
@@ -57,7 +57,7 @@ let CommandTopicMaker = CommandTopic_Builder$ReventlessCore.Make({
57
57
  make: $$let.make
58
58
  });
59
59
 
60
- let cmdTopic = CommandTopicMaker.make("TestCommandTopic", undefined);
60
+ let cmdTopic = CommandTopicMaker.make("TestCommandTopic", undefined, undefined);
61
61
 
62
62
  export {
63
63
  ItemSpec,
@@ -59,7 +59,7 @@ let StreamCmdTopicMaker = CommandTopic_Builder$ReventlessCore.Make({
59
59
  make: $$let.make
60
60
  });
61
61
 
62
- let cmdTopic = StreamCmdTopicMaker.make("StreamCmdTopic", undefined);
62
+ let cmdTopic = StreamCmdTopicMaker.make("StreamCmdTopic", undefined, undefined);
63
63
 
64
64
  let captured = {
65
65
  contents: []
@@ -32,11 +32,13 @@ let EventCollectorMaker = EventCollector_Builder$ReventlessCore.Make({
32
32
  groupBySource: LocalRuntimeEnvironment$ReventlessLocal.groupBySource,
33
33
  extractCorrelationId: LocalRuntimeEnvironment$ReventlessLocal.extractCorrelationId,
34
34
  extractCausationId: LocalRuntimeEnvironment$ReventlessLocal.extractCausationId,
35
+ extractSentTimestamp: LocalRuntimeEnvironment$ReventlessLocal.extractSentTimestamp,
36
+ extractRetryCount: LocalRuntimeEnvironment$ReventlessLocal.extractRetryCount,
35
37
  asEventHandler: prim => prim,
36
38
  asEffectHandler: prim => prim
37
39
  })(LocalEventCollectorChannel$ReventlessLocal.Make(Bus));
38
40
 
39
- let eventCollector = EventCollectorMaker.make("TestEC", allEventTopics, {});
41
+ let eventCollector = EventCollectorMaker.make("TestEC", allEventTopics, undefined, {});
40
42
 
41
43
  export {
42
44
  Bus,
@@ -54,7 +54,7 @@ let EventLogMaker = EventLog_Builder$ReventlessCore.Make({
54
54
  make: EventLogStorage_InMemory$ReventlessLocal.make
55
55
  })(LocalEventTopicPublisher$ReventlessLocal.Make(Bus));
56
56
 
57
- let eventLog = EventLogMaker.make("TestItemEventLog", undefined);
57
+ let eventLog = EventLogMaker.make("TestItemEventLog", undefined, undefined);
58
58
 
59
59
  function makeEvent$p(id, event) {
60
60
  return {
@@ -51,7 +51,7 @@ let EventTopicMaker = EventTopic_Builder$ReventlessCore.Make({
51
51
  eventSchema: eventSchema
52
52
  })(LocalEventTopicPublisher$ReventlessLocal.Make(Bus));
53
53
 
54
- let eventTopic = EventTopicMaker.make("TestItemEventTopic", [], undefined);
54
+ let eventTopic = EventTopicMaker.make("TestItemEventTopic", [], undefined, undefined);
55
55
 
56
56
  function makeEvent$p(id, event) {
57
57
  return {
@@ -50,7 +50,7 @@ let StreamEvtTopicMaker = EventTopic_Builder$ReventlessCore.Make({
50
50
  eventSchema: eventSchema
51
51
  })(LocalEventTopicPublisher$ReventlessLocal.Make(StreamEvtBus));
52
52
 
53
- let evtTopic = StreamEvtTopicMaker.make("StreamEvtTopic", [], undefined);
53
+ let evtTopic = StreamEvtTopicMaker.make("StreamEvtTopic", [], undefined, undefined);
54
54
 
55
55
  export {
56
56
  ItemStreamSpec,
@@ -60,7 +60,7 @@ let QueryDbMaker = QueryDb_Builder$ReventlessCore.Make({
60
60
  make: QDbStorage.make
61
61
  })(QDbResolvers);
62
62
 
63
- let queryDb = QueryDbMaker.make(undefined, undefined, undefined, undefined);
63
+ let queryDb = QueryDbMaker.make(undefined, undefined, undefined, undefined, undefined);
64
64
 
65
65
  export {
66
66
  ItemQueryDbSpec,
@@ -67,7 +67,7 @@ let MetricQueryDbMaker = QueryDb_Builder$ReventlessCore.Make({
67
67
  make: QDbStorage.make
68
68
  })(QDbResolvers);
69
69
 
70
- let metricQueryDb = MetricQueryDbMaker.make(undefined, undefined, undefined, undefined);
70
+ let metricQueryDb = MetricQueryDbMaker.make(undefined, undefined, undefined, undefined, undefined);
71
71
 
72
72
  export {
73
73
  MetricSpec,
@@ -59,6 +59,8 @@ let SpecificEventCollector = EventCollector_Builder$ReventlessCore.Make({
59
59
  groupBySource: LocalRuntimeEnvironment$ReventlessLocal.groupBySource,
60
60
  extractCorrelationId: LocalRuntimeEnvironment$ReventlessLocal.extractCorrelationId,
61
61
  extractCausationId: LocalRuntimeEnvironment$ReventlessLocal.extractCausationId,
62
+ extractSentTimestamp: LocalRuntimeEnvironment$ReventlessLocal.extractSentTimestamp,
63
+ extractRetryCount: LocalRuntimeEnvironment$ReventlessLocal.extractRetryCount,
62
64
  asEventHandler: prim => prim,
63
65
  asEffectHandler: prim => prim
64
66
  })(EventCollectorCh);
@@ -70,6 +72,8 @@ let SEHBuilder = SideEffectHandler_Builder$ReventlessCore.Make({
70
72
  groupBySource: LocalRuntimeEnvironment$ReventlessLocal.groupBySource,
71
73
  extractCorrelationId: LocalRuntimeEnvironment$ReventlessLocal.extractCorrelationId,
72
74
  extractCausationId: LocalRuntimeEnvironment$ReventlessLocal.extractCausationId,
75
+ extractSentTimestamp: LocalRuntimeEnvironment$ReventlessLocal.extractSentTimestamp,
76
+ extractRetryCount: LocalRuntimeEnvironment$ReventlessLocal.extractRetryCount,
73
77
  asEventHandler: prim => prim,
74
78
  asEffectHandler: prim => prim
75
79
  })(EventCollectorCh)(SpecificEventCollector)(ECRTBuilder);