@reventlessdev/reventless-infra 3.0.0-alpha.81

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 (73) hide show
  1. package/CHANGELOG.md +709 -0
  2. package/LICENSE +202 -0
  3. package/package.json +35 -0
  4. package/rescript.json +28 -0
  5. package/src/adapter/Adapter.res +88 -0
  6. package/src/adapter/Adapter.res.mjs +29 -0
  7. package/src/components/Aggregate.res +73 -0
  8. package/src/components/Aggregate.res.mjs +2 -0
  9. package/src/components/Api.res +124 -0
  10. package/src/components/Api.res.mjs +31 -0
  11. package/src/components/Api_Adapter.res +39 -0
  12. package/src/components/Api_Adapter.res.mjs +2 -0
  13. package/src/components/AutomationSlice.res +48 -0
  14. package/src/components/AutomationSlice.res.mjs +2 -0
  15. package/src/components/CommandGenerator.res +8 -0
  16. package/src/components/CommandGenerator.res.mjs +2 -0
  17. package/src/components/CommandTopic.res +70 -0
  18. package/src/components/CommandTopic.res.mjs +2 -0
  19. package/src/components/Component.js +56 -0
  20. package/src/components/Component.mjs +10 -0
  21. package/src/components/Component.res +90 -0
  22. package/src/components/Component.res.mjs +57 -0
  23. package/src/components/Component.resi +21 -0
  24. package/src/components/Counter.res +81 -0
  25. package/src/components/Counter.res.mjs +2 -0
  26. package/src/components/DcbEventLog.res +115 -0
  27. package/src/components/DcbEventLog.res.mjs +2 -0
  28. package/src/components/EventCollector.res +19 -0
  29. package/src/components/EventCollector.res.mjs +2 -0
  30. package/src/components/EventLog.res +24 -0
  31. package/src/components/EventLog.res.mjs +2 -0
  32. package/src/components/EventMapper.res +37 -0
  33. package/src/components/EventMapper.res.mjs +2 -0
  34. package/src/components/EventTopic.res +51 -0
  35. package/src/components/EventTopic.res.mjs +2 -0
  36. package/src/components/Extension.res +64 -0
  37. package/src/components/Extension.res.mjs +2 -0
  38. package/src/components/ExtensionPoint.res +62 -0
  39. package/src/components/ExtensionPoint.res.mjs +2 -0
  40. package/src/components/Heartbeat.res +7 -0
  41. package/src/components/Heartbeat.res.mjs +2 -0
  42. package/src/components/InboundTranslationSlice.res +41 -0
  43. package/src/components/InboundTranslationSlice.res.mjs +2 -0
  44. package/src/components/OutboundTranslationSlice.res +44 -0
  45. package/src/components/OutboundTranslationSlice.res.mjs +2 -0
  46. package/src/components/Plugin.res +84 -0
  47. package/src/components/Plugin.res.mjs +2 -0
  48. package/src/components/QueryDb.res +48 -0
  49. package/src/components/QueryDb.res.mjs +33 -0
  50. package/src/components/ReadModel.res +50 -0
  51. package/src/components/ReadModel.res.mjs +2 -0
  52. package/src/components/Scheduler.res +32 -0
  53. package/src/components/Scheduler.res.mjs +2 -0
  54. package/src/components/StateChangeSlice.res +45 -0
  55. package/src/components/StateChangeSlice.res.mjs +2 -0
  56. package/src/components/StateViewSlice.res +38 -0
  57. package/src/components/StateViewSlice.res.mjs +2 -0
  58. package/src/components/Task.res +89 -0
  59. package/src/components/Task.res.mjs +2 -0
  60. package/src/types/ExtensionMapping.res +448 -0
  61. package/src/types/ExtensionMapping.res.mjs +252 -0
  62. package/src/types/ExtensionPointMapping.res +303 -0
  63. package/src/types/ExtensionPointMapping.res.mjs +116 -0
  64. package/src/types/Message.res +3 -0
  65. package/src/types/Message.res.mjs +2 -0
  66. package/src/types/NoEventMappings.res +25 -0
  67. package/src/types/NoEventMappings.res.mjs +17 -0
  68. package/src/types/Platform.res +279 -0
  69. package/src/types/Platform.res.mjs +2 -0
  70. package/src/types/PluginExtensionPointSpec.res +43 -0
  71. package/src/types/PluginExtensionPointSpec.res.mjs +204 -0
  72. package/src/types/ResourceNaming.res +12 -0
  73. package/src/types/ResourceNaming.res.mjs +2 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,709 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ # 3.0.0-alpha.81 (2026-06-27)
7
+
8
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
9
+
10
+
11
+
12
+
13
+
14
+ # 3.0.0-alpha.80 (2026-06-22)
15
+
16
+ ### Features
17
+
18
+ * **structure:** mark API-exposed commands for the event-graph badge ([8cd6faa](https://github.com/ReventlessDev/reventless-core/commit/8cd6faa0a66c6cf1b4b5eea26df6f70c540b67a4))
19
+
20
+
21
+ # 3.0.0-alpha.79 (2026-06-21)
22
+
23
+ ### Features
24
+
25
+ * **dcb:** cross-partition secondary-tag reads (Phase 7) ([9e1f8b3](https://github.com/ReventlessDev/reventless-core/commit/9e1f8b3595004b92148dd053aae380078baa42a3))
26
+
27
+
28
+ # 3.0.0-alpha.78 (2026-06-21)
29
+
30
+ ### Features
31
+
32
+ * **dcb:** eventual-first, strong-on-retry decision reads ([b920a66](https://github.com/ReventlessDev/reventless-core/commit/b920a663c1dbb3a13cb8bd27ecbfe0cfd8ec5d65))
33
+
34
+
35
+ # 3.0.0-alpha.77 (2026-06-21)
36
+
37
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
38
+
39
+
40
+
41
+
42
+
43
+ # 3.0.0-alpha.76 (2026-06-20)
44
+
45
+ ### Features
46
+
47
+ * **dcb:** narrow query clauses to types that can carry each tag (Issue 14) ([6bceae6](https://github.com/ReventlessDev/reventless-core/commit/6bceae675b91154b5a1abf73a6aaca56533cbbe8))
48
+
49
+
50
+ # 3.0.0-alpha.75 (2026-06-20)
51
+
52
+ ### Bug Fixes
53
+
54
+ * **packaging:** publish rescript packages source-only via .npmignore ([e831c37](https://github.com/ReventlessDev/reventless-core/commit/e831c372b6347d997da1e876c12b6770414f5f41))
55
+
56
+
57
+ # 3.0.0-alpha.74 (2026-06-20)
58
+
59
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
60
+
61
+
62
+
63
+
64
+
65
+ # 3.0.0-alpha.73 (2026-06-18)
66
+
67
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
68
+
69
+
70
+
71
+
72
+
73
+ # 3.0.0-alpha.72 (2026-06-17)
74
+
75
+ * feat!: rename Call directive to HandleDirective for naming consistency ([3fdf84a](https://github.com/ReventlessDev/reventless-core/commit/3fdf84a503b8ee9b07d0774e34c911f5d90d45d0))
76
+ * feat!: harmonize plugin make() across aggregate/DCB/hybrid; AutoUI default-on ([6f3b95e](https://github.com/ReventlessDev/reventless-core/commit/6f3b95e6aa8a136c6e837346c41a3a4dff0f9405))
77
+ ### Features
78
+
79
+ * **core:** carry emitted-event field schemas in pluginStructure (Phase 6.3) ([693d452](https://github.com/ReventlessDev/reventless-core/commit/693d4529ee4c66a2a4a4b0d4d7efb104cf94bcab))
80
+
81
+ ### BREAKING CHANGES
82
+
83
+ * out-of-tree plugins emitting Call(handler, msg) from
84
+ commandAction / eventAction / incomingCommandAction / outgoingCommandAction
85
+ must rename to HandleDirective(handler, directive). The callHandler<'msg>
86
+ type alias is now directiveHandler<'directive>.
87
+
88
+ Plan: docs/plans/done/directive-naming-consistency.md
89
+ * makeAutoUIManifest signature dropped ~aggregates and
90
+ ~readModels; replaced with ~pluginStructure. Hand-written Plugin.res files
91
+ that pass ~uiBundleUrl to plugin.make must drop the arg and rely on the
92
+ generator-emitted env var read.
93
+
94
+
95
+
96
+ # 3.0.0-alpha.71 (2026-06-12)
97
+
98
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
99
+
100
+
101
+
102
+
103
+
104
+ # 3.0.0-alpha.70 (2026-06-10)
105
+
106
+ ### Features
107
+
108
+ * **reventless-core:** extension-point source events in pluginStructure ([9c47a0e](https://github.com/ReventlessDev/reventless-core/commit/9c47a0ea9a1643ac12fbe8dc1c43244e580de024))
109
+
110
+
111
+ # 3.0.0-alpha.69 (2026-06-08)
112
+
113
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
114
+
115
+
116
+
117
+
118
+
119
+ # 3.0.0-alpha.68 (2026-06-08)
120
+
121
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
122
+
123
+
124
+
125
+
126
+
127
+ # 3.0.0-alpha.67 (2026-06-08)
128
+
129
+ ### Features
130
+
131
+ * **reventless-core:** extension-point source events in pluginStructure ([1e1d925](https://github.com/ReventlessDev/reventless-core/commit/1e1d9258b5a228b9fdfa003348a5367281573b3c))
132
+
133
+
134
+ # 3.0.0-alpha.66 (2026-06-06)
135
+
136
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
137
+
138
+
139
+
140
+
141
+
142
+ # 3.0.0-alpha.65 (2026-06-04)
143
+
144
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
145
+
146
+
147
+
148
+
149
+
150
+ # 3.0.0-alpha.64 (2026-05-27)
151
+
152
+ ### Bug Fixes
153
+
154
+ * **framework:** wire plugin ExtensionPoints into EventCollector runtime context ([2ce8dff](https://github.com/ReventlessDev/reventless-core/commit/2ce8dff426b576811a28c012934d77ecba8a33c0))
155
+
156
+
157
+ # 3.0.0-alpha.63 (2026-05-25)
158
+
159
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
160
+
161
+
162
+
163
+
164
+
165
+ # 3.0.0-alpha.62 (2026-05-25)
166
+
167
+ ### Features
168
+
169
+ * **readmodel:** add ReadModelStream variant for live-updating read models ([3d816fb](https://github.com/ReventlessDev/reventless-core/commit/3d816fb50e0e66693ae4a0a626f4d5b4e496c3b1))
170
+
171
+
172
+ # 3.0.0-alpha.61 (2026-05-21)
173
+
174
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
175
+
176
+
177
+
178
+
179
+
180
+ # 3.0.0-alpha.60 (2026-05-21)
181
+
182
+ ### Bug Fixes
183
+
184
+ * **admin:** register admin queryFieldNames under read-model Spec.name ([f5c10f8](https://github.com/ReventlessDev/reventless-core/commit/f5c10f80068e45329533547203f5417029ea48b7))
185
+
186
+
187
+ # 3.0.0-alpha.59 (2026-05-21)
188
+
189
+ ### Bug Fixes
190
+
191
+ * **admin:** close AppSync schema-push vs CreateDataSource race in admin barrier ([46b61f9](https://github.com/ReventlessDev/reventless-core/commit/46b61f9136fcc70c52cf18220a5b5945202631ce))
192
+ * feat(admin)!: replace direct DynamoDB retire write with Retire/Retired event flow ([7f5f018](https://github.com/ReventlessDev/reventless-core/commit/7f5f018e714e247331d143c304c0d671c2ac7c84))
193
+
194
+ ### BREAKING CHANGES
195
+
196
+ * Platform.deployPlugin no longer accepts ~version. Generated
197
+ Main.res files are regenerated; any direct caller must drop the arg.
198
+
199
+
200
+
201
+ # 3.0.0-alpha.58 (2026-05-20)
202
+
203
+ ### Features
204
+
205
+ * **plugin:** wire dcbEventLog into pluginDefinition for cross-plugin DCB routing (Phase 4) ([07b78f3](https://github.com/ReventlessDev/reventless-core/commit/07b78f359f8f039992ec0ce7922085b165695537))
206
+
207
+
208
+ # 3.0.0-alpha.57 (2026-05-19)
209
+
210
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
211
+
212
+
213
+
214
+
215
+
216
+ # 3.0.0-alpha.56 (2026-05-18)
217
+
218
+ ### Bug Fixes
219
+
220
+ * **spec:** restore payload-less filter in extractVariantNames; route acceptedTags through extractAllVariantNames ([208f644](https://github.com/ReventlessDev/reventless-core/commit/208f644cc0e21cb7c2ad3cf7bf43b5e7a99732f7))
221
+ ### Features
222
+
223
+ * **plugin:** wire end-to-end user-extension dispatch through plugin EventCollectors ([f616abe](https://github.com/ReventlessDev/reventless-core/commit/f616abe169289f836f8e538b5419cb82cda886d7))
224
+
225
+
226
+ # 3.0.0-alpha.55 (2026-05-17)
227
+
228
+ ### Bug Fixes
229
+
230
+ * **deps:** pin sury-ppx to 11.0.0-alpha.2 to prevent prerelease drift ([c9d05fe](https://github.com/ReventlessDev/reventless-core/commit/c9d05fe5118a9c0442ca3e071f2606b3a139fc81))
231
+
232
+
233
+ # 3.0.0-alpha.54 (2026-05-17)
234
+
235
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
236
+
237
+
238
+
239
+
240
+
241
+ # 3.0.0-alpha.53 (2026-05-17)
242
+
243
+ ### Bug Fixes
244
+
245
+ * **deps:** pin sury to 11.0.0-alpha.4 to unblock Lambda Layer deploys ([643d925](https://github.com/ReventlessDev/reventless-core/commit/643d92527fa9d092da9bef8547591e39a4c609dd))
246
+
247
+
248
+ # 3.0.0-alpha.52 (2026-05-16)
249
+
250
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
251
+
252
+
253
+
254
+
255
+
256
+ # 3.0.0-alpha.51 (2026-05-16)
257
+
258
+ ### Features
259
+
260
+ * **ppx:** [@status](https://github.com/status) field annotation + [@allowed](https://github.com/allowed)States command annotation ([15f0478](https://github.com/ReventlessDev/reventless-core/commit/15f0478209dbb4e5d385332cf8cf320c694ac1c1))
261
+ * **spec:** allowedStates + statusField metadata for AutoUI command filtering ([b5d138b](https://github.com/ReventlessDev/reventless-core/commit/b5d138bb706515f7c6ba5daf7f4ef481cc35d024))
262
+
263
+
264
+ # 3.0.0-alpha.50 (2026-05-14)
265
+
266
+ ### Features
267
+
268
+ * **auth:** Stage E2 — lift spec-level Authorization.permission into [@aws](https://github.com/aws)_auth ([5f10fc9](https://github.com/ReventlessDev/reventless-core/commit/5f10fc94f501ad6e6f0d677f754acc3761281ab3))
269
+ * **platform-aws:** host the static host-shell SPA on the platform CDN ([529ae4f](https://github.com/ReventlessDev/reventless-core/commit/529ae4f4b54675d43f22bb6180186e88d240b744))
270
+ * **ppx:** inline-spec walk + Spec module types require authorization ([7db9ec0](https://github.com/ReventlessDev/reventless-core/commit/7db9ec0f186578ce0088973dba22da9257be6a61))
271
+
272
+
273
+ # 3.0.0-alpha.49 (2026-05-13)
274
+
275
+ * feat(spec)!: standardise event/command envelope (StoredEvent, optional meta, position, persisted DCB meta, causation) ([7ef3176](https://github.com/ReventlessDev/reventless-core/commit/7ef3176c6330810c817f43a52b881b5a0efee30e))
276
+
277
+ ### BREAKING CHANGES
278
+
279
+ * meta.ip / meta.user go from required `string` to optional
280
+ record fields (`?: string`). Code that did `meta.user == "unknown"` to
281
+ detect system messages must check for field absence. Storage tables built
282
+ before this change are not migrated (greenfield — recreate the EventLog /
283
+ DcbEventLog tables; DynamoDB range key renamed from `seq` to `position`,
284
+ SQLite dcb_event gains meta and recorded_at columns).
285
+
286
+
287
+
288
+ # 3.0.0-alpha.48 (2026-05-05)
289
+
290
+ ### Features
291
+
292
+ * **extension:** add PublishStateChangeSliceCommand for slice delegates ([0500b79](https://github.com/ReventlessDev/reventless-core/commit/0500b79d80632611e52ff0565e3e04472330a51e))
293
+
294
+
295
+ # 3.0.0-alpha.47 (2026-05-04)
296
+
297
+ ### Bug Fixes
298
+
299
+ * **aws:** drop empty Config functor args; thread per-spec metadata as direct params ([17837a3](https://github.com/ReventlessDev/reventless-core/commit/17837a3fde52581a06516c69c80e6a1ea5689d9a))
300
+
301
+
302
+ # 3.0.0-alpha.46 (2026-05-03)
303
+
304
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
305
+
306
+
307
+
308
+
309
+
310
+ # 3.0.0-alpha.45 (2026-05-03)
311
+
312
+ * feat(ppx)!: add @@reventless.mappings/extension/task; collapse AutomationSlice.Make to 2 args ([c0268ac](https://github.com/ReventlessDev/reventless-core/commit/c0268ac42c1c887fe25467af61b412ab2e27a5a7))
313
+ ### Features
314
+
315
+ * **logger:** prefix plugin-component logs with stable-color [PluginName] bracket ([ed61eaf](https://github.com/ReventlessDev/reventless-core/commit/ed61eaf5cf84d8b8925c148050a2c51ddb65226a))
316
+
317
+ ### BREAKING CHANGES
318
+
319
+ * Platform.AutomationSlice.Make is now 2-arg (Spec, Automation).
320
+ External callers must either rerun generate-plugin or merge their _Mappings
321
+ contents into _Automation (or add the same two-line bridge).
322
+
323
+ Verified: zero warnings, 1174/1175 tests pass — the single failing test
324
+ (OrderingE2ETest "after syncing missing product, PlaceOrder succeeds") was
325
+ confirmed pre-existing on alpha (the known testPromise concurrency race).
326
+
327
+
328
+
329
+ # 3.0.0-alpha.44 (2026-04-28)
330
+
331
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
332
+
333
+
334
+
335
+
336
+
337
+ # 3.0.0-alpha.43 (2026-04-27)
338
+
339
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
340
+
341
+
342
+
343
+
344
+
345
+ # 3.0.0-alpha.42 (2026-04-26)
346
+
347
+ * feat!: mixed-source AutomationSlice — Plan 04 ([fae3fbf](https://github.com/ReventlessDev/reventless-core/commit/fae3fbf93b12ecf62d0883fe7335ed73c6f52d67))
348
+ ### Features
349
+
350
+ * **core:** convert slice builders to two-arg (Spec, Impl) form — Phase 2 of Spec-First series ([4c994f3](https://github.com/ReventlessDev/reventless-core/commit/4c994f3d62003da26f5fc6a5b2a9fc9264dc241e))
351
+ * **spec:** split slice spec module types — Phase 1 of Spec-First series ([d3b1493](https://github.com/ReventlessDev/reventless-core/commit/d3b149300d09dbac45a5e316343cd79fe2a769e6))
352
+
353
+ ### BREAKING CHANGES
354
+
355
+ * AutomationSlice.Spec drops consumedEvent;
356
+ AutomationSlice_Builder.Make takes Mappings as 3rd arg; make signature
357
+ swaps ~dcbEventLog for ~allEventTopics + ~context; Plugin_Builder.Spec
358
+ gains platformName. Existing slices need a sibling _Mappings.res file
359
+ and updated Plugin.res (regenerate via prebuild hook).
360
+
361
+ Tests: 362/362 pass. Build clean, zero warnings.
362
+
363
+ Plan: docs/plans/done/mixed-source-automationslice.md
364
+ Guide: docs/guides/mixed-source-automationslice.md
365
+
366
+
367
+
368
+ # 3.0.0-alpha.41 (2026-04-24)
369
+
370
+ ### Bug Fixes
371
+
372
+ * **infra:** declare uuid as direct dependency ([0bbe589](https://github.com/ReventlessDev/reventless-core/commit/0bbe5892d6772e2993b976cfa32d9803d568f739))
373
+
374
+
375
+ # 3.0.0-alpha.40 (2026-04-22)
376
+
377
+ ### Bug Fixes
378
+
379
+ * **infra:** harmonize extension and extension-point logging ([ba01793](https://github.com/ReventlessDev/reventless-core/commit/ba0179311c4a5ac66dfa960ed819b1c70492549f))
380
+ ### Features
381
+
382
+ * add [@ref](https://github.com/ref) ppx annotation for explicit cross-entity field references ([079c732](https://github.com/ReventlessDev/reventless-core/commit/079c732e81b481e9b2836ea755e1610b13f828fc))
383
+ * **build:** migrate from npm to pnpm (hoisted layout) ([1de8b77](https://github.com/ReventlessDev/reventless-core/commit/1de8b7753b8f45c63ea3c8d9f64de2f27febd029))
384
+ * expose sourceNames on ReadModel.T for aggregate-to-read-model linking ([379f344](https://github.com/ReventlessDev/reventless-core/commit/379f3445cfd5d18b5d439dd9c6f3bd7d86bdc3d5))
385
+ * **logs:** bold event and command names in log output ([3b09f41](https://github.com/ReventlessDev/reventless-core/commit/3b09f41299bc1f851e15cfb7b8c4a8433f499c7d))
386
+ * **spec:** add Message.variantNameOfJson helper ([a9efb5f](https://github.com/ReventlessDev/reventless-core/commit/a9efb5f1d3ac6180ea8e04dc3c1c2f183d15a984))
387
+
388
+
389
+ # 3.0.0-alpha.39 (2026-04-20)
390
+
391
+ ### Features
392
+
393
+ * add automationSlices, translation slices, and extensions to pluginStructure ([631e2f3](https://github.com/ReventlessDev/reventless-core/commit/631e2f3636f0a422e58712f70106c0df8effc1e9))
394
+ * enrich MCP tool descriptions with linkedViews and consistencyRead from pluginStructure ([221aad4](https://github.com/ReventlessDev/reventless-core/commit/221aad40ae096d01a066d955be397bb29fc18c59))
395
+ * Platform_EventGraph StateViewSlice aggregating cross-plugin event graph ([718f0be](https://github.com/ReventlessDev/reventless-core/commit/718f0bed258da62c4ff5f2ab188e2d43b85e91b6))
396
+
397
+
398
+ # 3.0.0-alpha.38 (2026-04-19)
399
+
400
+ ### Dependency Updates
401
+
402
+ * **@reventlessdev/reventless-spec** updated to `^3.0.0-alpha.29`
403
+
404
+
405
+ # 3.0.0-alpha.37 (2026-04-18)
406
+
407
+ ### Features
408
+
409
+ * **core:** AutoUI definition — makeAutoUIDefinition, Platform_UIDefinitions query, generator support ([513ca53](https://github.com/ReventlessDev/reventless-core/commit/513ca5399b0b6e5ae6a982fd15693de2ea208b8d))
410
+ * **core:** uiFragments manifest — Phase 1 implementation with generic types ([1e73f62](https://github.com/ReventlessDev/reventless-core/commit/1e73f623984118081d2b985c48521812e4f8417e))
411
+
412
+
413
+ # 3.0.0-alpha.36 (2026-04-18)
414
+
415
+ ### Features
416
+
417
+ * **aws:** enable Source B state-change subscriptions (DynamoDB Stream → AppSync Events) ([960b203](https://github.com/ReventlessDev/reventless-core/commit/960b2035d843c2b97cf2014b05fb1a4f132e9984))
418
+
419
+
420
+ # 3.0.0-alpha.35 (2026-04-15)
421
+
422
+ ### Bug Fixes
423
+
424
+ * **schema:** make pluginDefinition.apiTarget JSON-safe for union variant payloads ([556457f](https://github.com/ReventlessDev/reventless-core/commit/556457fd2f09f3ae572fc18aefb3262d80582524))
425
+
426
+
427
+ # 3.0.0-alpha.34 (2026-04-15)
428
+
429
+ ### Dependency Updates
430
+
431
+ * **@reventlessdev/reventless-spec** updated to `^3.0.0-alpha.26`
432
+
433
+
434
+ # 3.0.0-alpha.33 (2026-04-15)
435
+
436
+ ### Features
437
+
438
+ * zero-touch plugin assembly — generate Plugin.res from folder structure ([73ea654](https://github.com/ReventlessDev/reventless-core/commit/73ea654ab9a73f15ea7e18631e8194bfe0f4580f))
439
+
440
+
441
+ # 3.0.0-alpha.32 (2026-04-13)
442
+
443
+ ### Features
444
+
445
+ * **api:** generate By{Index} query fields in SDL for GSI resolvers ([46681b3](https://github.com/ReventlessDev/reventless-core/commit/46681b3ecf2877a1cb6b8459547e014cba0c1f41))
446
+
447
+
448
+ # 3.0.0-alpha.31 (2026-04-12)
449
+
450
+ ### Features
451
+
452
+ * **platform:** MakeAsync opt-in for aggregates and DCB slices ([6970d88](https://github.com/ReventlessDev/reventless-core/commit/6970d889fa05e738dbda5d8e450a1dcf927b23b7))
453
+ * **platform:** symmetric domain/platform server architecture (Phase 6) ([4bbc88d](https://github.com/ReventlessDev/reventless-core/commit/4bbc88d2dac3b0d3a6099008f3814d6aedf03e29))
454
+
455
+
456
+ # 3.0.0-alpha.30 (2026-04-11)
457
+
458
+ ### Features
459
+
460
+ * **platform:** add apiTarget routing for deployPlugin (Phase 4a-4d) ([b9b2d75](https://github.com/ReventlessDev/reventless-core/commit/b9b2d754c2fb61854fc5bca8761a0d0acfb89009))
461
+
462
+
463
+ # 3.0.0-alpha.29 (2026-04-09)
464
+
465
+ ### Features
466
+
467
+ * **ppx:** implement [@no](https://github.com/no)Api to exclude commands from GraphQL/MCP exposure ([079b686](https://github.com/ReventlessDev/reventless-core/commit/079b68693976a53f8094f1233ebf8b67a86a65c0))
468
+
469
+
470
+ # 3.0.0-alpha.28 (2026-04-07)
471
+
472
+ ### Dependency Updates
473
+
474
+ * **@reventlessdev/reventless-spec** updated to `^3.0.0-alpha.23`
475
+
476
+
477
+ # 3.0.0-alpha.27 (2026-04-07)
478
+
479
+ ### Features
480
+
481
+ * **ppx+querydb:** annotation-driven key design and sort key queries ([dee6de8](https://github.com/ReventlessDev/reventless-core/commit/dee6de84c2d2de5431d064f18ac7132bc8c23110))
482
+
483
+
484
+ # 3.0.0-alpha.26 (2026-04-07)
485
+
486
+ ### Dependency Updates
487
+
488
+ * **@reventlessdev/reventless-spec** updated to `^3.0.0-alpha.21`
489
+
490
+
491
+ # 3.0.0-alpha.25 (2026-04-06)
492
+
493
+ ### Bug Fixes
494
+
495
+ * add package-specs to all rescript.json to prevent CJS .js output ([780f1e0](https://github.com/ReventlessDev/reventless-core/commit/780f1e035173b73b17b78466ad01fb69c7cca350))
496
+
497
+
498
+ # 3.0.0-alpha.24 (2026-04-06)
499
+
500
+ ### Dependency Updates
501
+
502
+ * **@reventlessdev/reventless-spec** updated to `^3.0.0-alpha.19`
503
+
504
+
505
+ # 3.0.0-alpha.23 (2026-04-04)
506
+
507
+ * feat!: add reventless-ppx with @@reventless.spec, @@reventless.behavior, @@reventless.dcbTags ([cb203ec](https://github.com/ReventlessDev/reventless-core/commit/cb203ece5ea3a1b92ba7d1a57d9e12bb6c4c2487))
508
+ * feat!: Extension Blueprint pattern with auto-merge and plugin naming ([0856d4d](https://github.com/ReventlessDev/reventless-core/commit/0856d4d2a23b8d5175fd091f90110d4c44927191))
509
+ ### Features
510
+
511
+ * add Relay server compliance to GraphQL API ([bd9245d](https://github.com/ReventlessDev/reventless-core/commit/bd9245da87023247643c5fa37cee21b0cde0f61e))
512
+
513
+ ### BREAKING CHANGES
514
+
515
+ * Example spec files no longer export manual moduleUrl/name/Id
516
+ declarations — these are now PPX-generated. Downstream code referencing these
517
+ exports is unaffected (same values, different source).
518
+ * Platform.Extension.Make returns Extension.Blueprint
519
+ instead of Extension.T. Plugin.make ~extensions param type changes
520
+ accordingly. Make2/Make3/MakeMulti removed from Platform.T.
521
+
522
+
523
+
524
+ # 3.0.0-alpha.22 (2026-04-03)
525
+
526
+ * feat!: support multi-command returns in InboundTranslationSlice ([eaac621](https://github.com/ReventlessDev/reventless-core/commit/eaac6213829b876db508b6a98db081ee40dc3e95))
527
+
528
+ ### BREAKING CHANGES
529
+
530
+ * All `translate` implementations must wrap returns in arrays.
531
+
532
+
533
+
534
+ # 3.0.0-alpha.21 (2026-04-02)
535
+
536
+ ### Features
537
+
538
+ * add tags field to resource and resolvedResource records ([18911e6](https://github.com/ReventlessDev/reventless-core/commit/18911e66aa94e60d4a9b72ba1d1ca84dd3fb1a9f))
539
+
540
+
541
+ # 3.0.0-alpha.20 (2026-04-02)
542
+
543
+ * feat!: add deploy lifecycle hooks, enrich resource metadata, and add Adapter.make factory ([0a171f4](https://github.com/ReventlessDev/reventless-core/commit/0a171f4b8aec0ee47fd7ee5069adf5d5b194548e))
544
+
545
+ ### BREAKING CHANGES
546
+
547
+ * Adapter.resource.info replaced with resourceInfo variant type.
548
+ Service field values now prefixed with provider namespace (e.g. "aws:DynamoDb").
549
+ New required fields on resource/resolvedResource: role, region, resourceType, configuration.
550
+
551
+
552
+
553
+ # 3.0.0-alpha.19 (2026-03-31)
554
+
555
+ ### Features
556
+
557
+ * return Plugin.outputs from deployPlugin ([22e59f7](https://github.com/ReventlessDev/reventless-core/commit/22e59f730c5c87dd0e3e8d4cf225d401298759f8))
558
+
559
+
560
+ # [3.0.0-alpha.18](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.17...@reventlessdev/reventless-infra@3.0.0-alpha.18) (2026-03-30)
561
+
562
+ ### Features
563
+
564
+ * unified logging with structured output, colored levels, and CloudWatch detail ([7754cf1](https://github.com/ReventlessDev/reventless-core/commit/7754cf11037b17fce01ab65c2c906d9faf7ac4b6))
565
+
566
+
567
+ # [3.0.0-alpha.17](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.15...@reventlessdev/reventless-infra@3.0.0-alpha.17) (2026-03-28)
568
+
569
+ * feat!: flatten DcbSpec module type into direct Plugin.make parameters ([1c0bc57](https://github.com/ReventlessDev/reventless-core/commit/1c0bc576fcd88b92510900c16f5f117e864d9d7f))
570
+
571
+ ### BREAKING CHANGES
572
+
573
+ * Plugin.make no longer accepts ~dcbSpec=module(DcbSpec).
574
+ Pass slice arrays directly instead. Empty arrays can be omitted.
575
+
576
+
577
+
578
+ # [3.0.0-alpha.16](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.15...@reventlessdev/reventless-infra@3.0.0-alpha.16) (2026-03-27)
579
+
580
+ * feat!: flatten DcbSpec module type into direct Plugin.make parameters ([1c0bc57](https://github.com/ReventlessDev/reventless-core/commit/1c0bc576fcd88b92510900c16f5f117e864d9d7f))
581
+
582
+ ### BREAKING CHANGES
583
+
584
+ * Plugin.make no longer accepts ~dcbSpec=module(DcbSpec).
585
+ Pass slice arrays directly instead. Empty arrays can be omitted.
586
+
587
+
588
+
589
+ # [3.0.0-alpha.15](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.12...@reventlessdev/reventless-infra@3.0.0-alpha.15) (2026-03-27)
590
+
591
+ * feat!: decouple DCB slices from shared event log union type ([2a40e8d](https://github.com/ReventlessDev/reventless-core/commit/2a40e8dd9babfb88440fcaccde6fb667b60e0ba9))
592
+
593
+ ### BREAKING CHANGES
594
+
595
+ * All DCB slice specs must use `producedEvent`/`consumedEvent`
596
+ instead of `module DcbEventLogSpec`. Plugin `DcbSpec` no longer has `type event`
597
+ or `with type dcbEvent` constraints.
598
+
599
+
600
+
601
+ # [3.0.0-alpha.14](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.12...@reventlessdev/reventless-infra@3.0.0-alpha.14) (2026-03-26)
602
+
603
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
604
+
605
+
606
+
607
+
608
+
609
+ # [3.0.0-alpha.13](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.12...@reventlessdev/reventless-infra@3.0.0-alpha.13) (2026-03-26)
610
+
611
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
612
+
613
+
614
+
615
+
616
+
617
+ # [3.0.0-alpha.12](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.11...@reventlessdev/reventless-infra@3.0.0-alpha.12) (2026-03-23)
618
+
619
+ **Note:** Version bump only for package @reventlessdev/reventless-infra
620
+
621
+ # [3.0.0-alpha.11](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.10...@reventlessdev/reventless-infra@3.0.0-alpha.11) (2026-03-22)
622
+
623
+ * feat(reventless-aws)!: replace esbuild pipeline with compiled ReScript entry points ([6cb3133](https://github.com/ReventlessDev/reventless-core/commit/6cb313323c73a078d0922fa6b977466f61de74ea))
624
+
625
+ ### BREAKING CHANGES
626
+
627
+ * esbuild removed from dependencies, `makeBundled` and
628
+ `makeBundledFromEntryPoint` removed from RuntimeEnvironment_Lambda,
629
+ `BundledEnvironment` module type removed from Runtime.
630
+ # [3.0.0-alpha.10](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.9...@reventlessdev/reventless-infra@3.0.0-alpha.10) (2026-03-20)
631
+
632
+ ### Features
633
+
634
+ * **aws:** expose api/apiRole in Platform.T and remove unused MakeBundled modules ([a3be4cc](https://github.com/ReventlessDev/reventless-core/commit/a3be4cc5dc6041fb70c8e44a9e48f0a4f730242a))
635
+ * **aws:** replace CallbackFunction with bundled Lambda handlers ([6f6200b](https://github.com/ReventlessDev/reventless-core/commit/6f6200b0796e5f414493f50fd2f13dd6c7871ef4))
636
+ # [3.0.0-alpha.9](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.8...@reventlessdev/reventless-infra@3.0.0-alpha.9) (2026-03-17)
637
+
638
+ ### Bug Fixes
639
+
640
+ * add @aws-sdk/client-appsync dep and fix ESM Component import ([aec0dcd](https://github.com/ReventlessDev/reventless-core/commit/aec0dcd73787ed9d988223c72ffd82d423f834a5))
641
+ ### Features
642
+
643
+ * **reventless-aws:** implement per-plugin deployment with runtime schema stitching ([f16714c](https://github.com/ReventlessDev/reventless-core/commit/f16714c5d2b3ad869863ac30dc55ef3e1570bf4f))
644
+ # [3.0.0-alpha.8](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.7...@reventlessdev/reventless-infra@3.0.0-alpha.8) (2026-03-16)
645
+
646
+ * feat!: auto-detect plugin version from package.json via V8 stack trace ([e172673](https://github.com/ReventlessDev/reventless-core/commit/e17267390c197fa34052cef8325c579bb781419f))
647
+ * feat!: replace Core component with Platform_Admin, rename schema prefix Core_ → Admin_ ([940263d](https://github.com/ReventlessDev/reventless-core/commit/940263d8b39e28f4c874af3b0335ae81444928c4))
648
+ ### Features
649
+
650
+ * differentiate ReadModel and StateViewSlice GraphQL query schemas ([62f6130](https://github.com/ReventlessDev/reventless-core/commit/62f6130d2ee34d65fe3eab1395d55c77c0309ddb))
651
+ * internalize scheduler, Core, and setup in Platform.makePlatform ([ce3e1b6](https://github.com/ReventlessDev/reventless-core/commit/ce3e1b60e8ffdbab1a6b5cd08d73f5e907726481))
652
+
653
+ ### BREAKING CHANGES
654
+
655
+ * Plugin.make no longer accepts ~version.
656
+
657
+ * GraphQL/MCP field names change from Core_ to Admin_
658
+ prefix (e.g. Core_Plugin → Admin_Plugin). makePlatform no longer accepts
659
+ ~extensionPoints, ~aggregates, ~readModels, ~dcbSpec parameters.
660
+ # [3.0.0-alpha.7](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.6...@reventlessdev/reventless-infra@3.0.0-alpha.7) (2026-03-14)
661
+
662
+ ### Bug Fixes
663
+
664
+ * eliminate Obj.magic from Platform DcbSpec boundaries ([135888b](https://github.com/ReventlessDev/reventless-core/commit/135888b226727d7ed8cc1e364e242b12071e107a))
665
+ ### Features
666
+
667
+ * add optional DCB spec support to Core module and consolidate builder helpers ([06a5e6f](https://github.com/ReventlessDev/reventless-core/commit/06a5e6f2eeadbabd20fb7197318d760b91c34925))
668
+ # [3.0.0-alpha.6](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.5...@reventlessdev/reventless-infra@3.0.0-alpha.6) (2026-03-12)
669
+
670
+ ### Features
671
+
672
+ * capitalize and prefix Core_ on GraphQL/MCP queries and mutations ([769420b](https://github.com/ReventlessDev/reventless-core/commit/769420b47ce35aba46d248d1529f7c72c7df9c0e))
673
+ * unify schema generation pipeline across GraphQL and MCP protocols ([84e05ae](https://github.com/ReventlessDev/reventless-core/commit/84e05aeca8c13000040d1230502b07350ab5daeb))
674
+ # [3.0.0-alpha.5](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.4...@reventlessdev/reventless-infra@3.0.0-alpha.5) (2026-03-12)
675
+
676
+ ### Features
677
+
678
+ * **deps:** upgrade rescript to 12.2 and migrate Belt usages to stdlib ([eaa96ea](https://github.com/ReventlessDev/reventless-core/commit/eaa96ea61ca40d61573fb5fe2002a1f73d43ce3e))
679
+ # [3.0.0-alpha.4](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.2...@reventlessdev/reventless-infra@3.0.0-alpha.4) (2026-03-08)
680
+
681
+ ### Bug Fixes
682
+
683
+ * remove 26 Obj.magic usages, improve type safety across codebase ([ebb8925](https://github.com/ReventlessDev/reventless-core/commit/ebb8925b760a0f070b1aaf3ef2d4bf3fdc7282a3))
684
+ ### Features
685
+
686
+ * add AutomationSlice component (TODO list pattern) ([4642688](https://github.com/ReventlessDev/reventless-core/commit/46426884727aff74db33b9289feca9878b0e3ed9))
687
+ * add MCP event history resources and fix QueryDb/MCP resource bugs ([3197d4f](https://github.com/ReventlessDev/reventless-core/commit/3197d4fb52a7b20bc68cd3088d9d6fac21a41f6f))
688
+ * add MCP server layer for AI-native access to Reventless ([4b288bc](https://github.com/ReventlessDev/reventless-core/commit/4b288bce2fc17c28c32c6778028becb0cde4c544))
689
+ * add TranslationSlice components with docs and webhook backlog plan ([7362a8f](https://github.com/ReventlessDev/reventless-core/commit/7362a8f26bca2eaad9d99488ec597c426635659d))
690
+ # [3.0.0-alpha.3](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.2...@reventlessdev/reventless-infra@3.0.0-alpha.3) (2026-03-08)
691
+
692
+ ### Bug Fixes
693
+
694
+ * remove 26 Obj.magic usages, improve type safety across codebase ([ebb8925](https://github.com/ReventlessDev/reventless-core/commit/ebb8925b760a0f070b1aaf3ef2d4bf3fdc7282a3))
695
+ ### Features
696
+
697
+ * add AutomationSlice component (TODO list pattern) ([4642688](https://github.com/ReventlessDev/reventless-core/commit/46426884727aff74db33b9289feca9878b0e3ed9))
698
+ * add MCP event history resources and fix QueryDb/MCP resource bugs ([3197d4f](https://github.com/ReventlessDev/reventless-core/commit/3197d4fb52a7b20bc68cd3088d9d6fac21a41f6f))
699
+ * add MCP server layer for AI-native access to Reventless ([4b288bc](https://github.com/ReventlessDev/reventless-core/commit/4b288bce2fc17c28c32c6778028becb0cde4c544))
700
+ * add TranslationSlice components with docs and webhook backlog plan ([7362a8f](https://github.com/ReventlessDev/reventless-core/commit/7362a8f26bca2eaad9d99488ec597c426635659d))
701
+ # [3.0.0-alpha.2](https://github.com/ReventlessDev/reventless-core/compare/@reventlessdev/reventless-infra@3.0.0-alpha.1...@reventlessdev/reventless-infra@3.0.0-alpha.2) (2026-03-03)
702
+
703
+ ### Features
704
+
705
+ * **api:** implement Api component with GraphQL fragment generation and schema stitching ([c882d3a](https://github.com/ReventlessDev/reventless-core/commit/c882d3aae8722cf6cbe9b4fbf9518d9f434ce06a))
706
+ * **platform:** expose Plugin, Core, makeScheduler, makePlatform via Platform.T ([0df4bf3](https://github.com/ReventlessDev/reventless-core/commit/0df4bf333ea4f9c0e51e96df1ad0da4ab471ffe8))
707
+ # 3.0.0-alpha.1 (2026-03-02)
708
+
709
+ **Note:** Version bump only for package @reventlessdev/reventless-infra