@reventlessdev/reventless-aws 3.0.0-alpha.167

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 (394) hide show
  1. package/CHANGELOG.md +1564 -0
  2. package/README.md +62 -0
  3. package/__mocks__/emptyModule.js +1 -0
  4. package/all-licenses.csv +565 -0
  5. package/docker-compose.dynamodb-local.yml +12 -0
  6. package/jest.setup.cjs +5 -0
  7. package/licenses-analysis.ods +0 -0
  8. package/package.json +73 -0
  9. package/rescript.json +39 -0
  10. package/reventless-licenses-analysis.xls +0 -0
  11. package/scripts/run-integration-tests.sh +43 -0
  12. package/src/Platform.res +1940 -0
  13. package/src/Platform.res.mjs +2281 -0
  14. package/src/Platform_Casts.res +106 -0
  15. package/src/Platform_Casts.res.mjs +13 -0
  16. package/src/Platform_Stack.res +153 -0
  17. package/src/Platform_Stack.res.mjs +121 -0
  18. package/src/Types.res +39 -0
  19. package/src/Types.res.mjs +21 -0
  20. package/src/adapter/AWS.res +96 -0
  21. package/src/adapter/AWS.res.mjs +186 -0
  22. package/src/adapter/AWS_Tags.res +16 -0
  23. package/src/adapter/AWS_Tags.res.mjs +48 -0
  24. package/src/adapter/Adapter_Helpers.res +19 -0
  25. package/src/adapter/Adapter_Helpers.res.mjs +37 -0
  26. package/src/adapter/Api/AppSync_EventsApi.res +172 -0
  27. package/src/adapter/Api/AppSync_EventsApi.res.mjs +96 -0
  28. package/src/adapter/Api/AppSync_Resolver_Native.res +93 -0
  29. package/src/adapter/Api/AppSync_Resolver_Native.res.mjs +67 -0
  30. package/src/adapter/Api/AppSync_Resolver_Retrying.res +653 -0
  31. package/src/adapter/Api/AppSync_Resolver_Retrying.res.mjs +462 -0
  32. package/src/adapter/Api/CommandSubscriptionResolvers_AppSync.res +29 -0
  33. package/src/adapter/Api/CommandSubscriptionResolvers_AppSync.res.mjs +15 -0
  34. package/src/adapter/Api/Platform_ComponentDefinitions_Lambda.res +238 -0
  35. package/src/adapter/Api/Platform_ComponentDefinitions_Lambda.res.mjs +179 -0
  36. package/src/adapter/Api/Platform_UIFragments_Lambda.res +229 -0
  37. package/src/adapter/Api/Platform_UIFragments_Lambda.res.mjs +245 -0
  38. package/src/adapter/Auth/Auth_Cognito.res +209 -0
  39. package/src/adapter/Auth/Auth_Cognito.res.mjs +135 -0
  40. package/src/adapter/CommandGenerator/CommandGeneratorResolvers.res +2 -0
  41. package/src/adapter/CommandGenerator/CommandGeneratorResolvers.res.mjs +12 -0
  42. package/src/adapter/CommandGenerator/CommandGeneratorResolvers_AppSync.res +251 -0
  43. package/src/adapter/CommandGenerator/CommandGeneratorResolvers_AppSync.res.mjs +126 -0
  44. package/src/adapter/CommandGenerator/CommandGeneratorResolvers_AppSync_NoOp.res +20 -0
  45. package/src/adapter/CommandGenerator/CommandGeneratorResolvers_AppSync_NoOp.res.mjs +23 -0
  46. package/src/adapter/CommandGenerator/CommandGeneratorResolvers_AppSync_Runtime.res +1 -0
  47. package/src/adapter/CommandGenerator/CommandGeneratorResolvers_AppSync_Runtime.res.mjs +11 -0
  48. package/src/adapter/CommandGenerator/InboundTranslationResolvers_AppSync.res +95 -0
  49. package/src/adapter/CommandGenerator/InboundTranslationResolvers_AppSync.res.mjs +50 -0
  50. package/src/adapter/CommandTopic/CommandTopicChannel.res +6 -0
  51. package/src/adapter/CommandTopic/CommandTopicChannel.res.mjs +21 -0
  52. package/src/adapter/CommandTopic/CommandTopicChannel_Helpers.res +196 -0
  53. package/src/adapter/CommandTopic/CommandTopicChannel_Helpers.res.mjs +145 -0
  54. package/src/adapter/CommandTopic/CommandTopicChannel_SQS.res +91 -0
  55. package/src/adapter/CommandTopic/CommandTopicChannel_SQS.res.mjs +74 -0
  56. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_Async.res +69 -0
  57. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_Async.res.mjs +62 -0
  58. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_FIFO.res +60 -0
  59. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_FIFO.res.mjs +56 -0
  60. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_Runtime.res +73 -0
  61. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_Runtime.res.mjs +65 -0
  62. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_Sync.res +88 -0
  63. package/src/adapter/CommandTopic/CommandTopicChannel_SQS_Sync.res.mjs +76 -0
  64. package/src/adapter/CommandTopic/CommandTopicRemoteChannel.res +1 -0
  65. package/src/adapter/CommandTopic/CommandTopicRemoteChannel.res.mjs +9 -0
  66. package/src/adapter/CommandTopic/CommandTopicRemoteChannel_SQS.res +7 -0
  67. package/src/adapter/CommandTopic/CommandTopicRemoteChannel_SQS.res.mjs +17 -0
  68. package/src/adapter/Counter/CounterHandler_DynamoDbStream.res +103 -0
  69. package/src/adapter/Counter/CounterHandler_DynamoDbStream.res.mjs +68 -0
  70. package/src/adapter/Counter/CounterHandler_DynamoDbStream_Runtime.res +107 -0
  71. package/src/adapter/Counter/CounterHandler_DynamoDbStream_Runtime.res.mjs +145 -0
  72. package/src/adapter/DcbEventLog/DcbEventLogStorage.res +1 -0
  73. package/src/adapter/DcbEventLog/DcbEventLogStorage.res.mjs +9 -0
  74. package/src/adapter/DcbEventLog/DcbEventLogStorage_DynamoDb.res +84 -0
  75. package/src/adapter/DcbEventLog/DcbEventLogStorage_DynamoDb.res.mjs +52 -0
  76. package/src/adapter/DcbEventLog/DcbEventLogStorage_DynamoDb_Runtime.res +1436 -0
  77. package/src/adapter/DcbEventLog/DcbEventLogStorage_DynamoDb_Runtime.res.mjs +1143 -0
  78. package/src/adapter/EventCollector/EventCollectorChannel.res +6 -0
  79. package/src/adapter/EventCollector/EventCollectorChannel.res.mjs +21 -0
  80. package/src/adapter/EventCollector/EventCollectorChannel_DynamoDbStream.res +63 -0
  81. package/src/adapter/EventCollector/EventCollectorChannel_DynamoDbStream.res.mjs +56 -0
  82. package/src/adapter/EventCollector/EventCollectorChannel_DynamoDbStream_Runtime.res +20 -0
  83. package/src/adapter/EventCollector/EventCollectorChannel_DynamoDbStream_Runtime.res.mjs +32 -0
  84. package/src/adapter/EventCollector/EventCollectorChannel_Helpers.res +266 -0
  85. package/src/adapter/EventCollector/EventCollectorChannel_Helpers.res.mjs +166 -0
  86. package/src/adapter/EventCollector/EventCollectorChannel_SQS.res +81 -0
  87. package/src/adapter/EventCollector/EventCollectorChannel_SQS.res.mjs +54 -0
  88. package/src/adapter/EventCollector/EventCollectorChannel_SQS_FIFO.res +59 -0
  89. package/src/adapter/EventCollector/EventCollectorChannel_SQS_FIFO.res.mjs +45 -0
  90. package/src/adapter/EventCollector/EventCollectorChannel_SQS_Runtime.res +91 -0
  91. package/src/adapter/EventCollector/EventCollectorChannel_SQS_Runtime.res.mjs +89 -0
  92. package/src/adapter/EventLog/EventLogStorage.res +3 -0
  93. package/src/adapter/EventLog/EventLogStorage.res.mjs +15 -0
  94. package/src/adapter/EventLog/EventLogStorage_DynamoDb.res +25 -0
  95. package/src/adapter/EventLog/EventLogStorage_DynamoDb.res.mjs +34 -0
  96. package/src/adapter/EventLog/EventLogStorage_DynamoDbStream.res +26 -0
  97. package/src/adapter/EventLog/EventLogStorage_DynamoDbStream.res.mjs +35 -0
  98. package/src/adapter/EventLog/EventLogStorage_DynamoDb_Runtime.res +121 -0
  99. package/src/adapter/EventLog/EventLogStorage_DynamoDb_Runtime.res.mjs +137 -0
  100. package/src/adapter/EventLogSubscription/EventLogSubscription_AppSync.res +265 -0
  101. package/src/adapter/EventLogSubscription/EventLogSubscription_AppSync.res.mjs +185 -0
  102. package/src/adapter/EventTopic/EventTopicPublisher.res +6 -0
  103. package/src/adapter/EventTopic/EventTopicPublisher.res.mjs +21 -0
  104. package/src/adapter/EventTopic/EventTopicPublisher_DynamoDbStream.res +25 -0
  105. package/src/adapter/EventTopic/EventTopicPublisher_DynamoDbStream.res.mjs +28 -0
  106. package/src/adapter/EventTopic/EventTopicPublisher_SNS.res +40 -0
  107. package/src/adapter/EventTopic/EventTopicPublisher_SNS.res.mjs +39 -0
  108. package/src/adapter/EventTopic/EventTopicPublisher_SNS_FIFO.res +39 -0
  109. package/src/adapter/EventTopic/EventTopicPublisher_SNS_FIFO.res.mjs +38 -0
  110. package/src/adapter/EventTopic/EventTopicPublisher_SNS_Runtime.res +5 -0
  111. package/src/adapter/EventTopic/EventTopicPublisher_SNS_Runtime.res.mjs +18 -0
  112. package/src/adapter/Mcp/MCP_Lambda.res +502 -0
  113. package/src/adapter/Mcp/MCP_Lambda.res.mjs +289 -0
  114. package/src/adapter/QueryDb/NodeResolver_AppSync.res +71 -0
  115. package/src/adapter/QueryDb/NodeResolver_AppSync.res.mjs +44 -0
  116. package/src/adapter/QueryDb/QueryDbResolvers.res +2 -0
  117. package/src/adapter/QueryDb/QueryDbResolvers.res.mjs +12 -0
  118. package/src/adapter/QueryDb/QueryDbResolvers_AppSync.res +434 -0
  119. package/src/adapter/QueryDb/QueryDbResolvers_AppSync.res.mjs +243 -0
  120. package/src/adapter/QueryDb/QueryDbResolvers_AppSync_NoOp.res +21 -0
  121. package/src/adapter/QueryDb/QueryDbResolvers_AppSync_NoOp.res.mjs +14 -0
  122. package/src/adapter/QueryDb/QueryDbResolvers_NoOp.res +21 -0
  123. package/src/adapter/QueryDb/QueryDbResolvers_NoOp.res.mjs +14 -0
  124. package/src/adapter/QueryDb/QueryDbStorage.res +5 -0
  125. package/src/adapter/QueryDb/QueryDbStorage.res.mjs +18 -0
  126. package/src/adapter/QueryDb/QueryDbStorage_DynamoDb.res +115 -0
  127. package/src/adapter/QueryDb/QueryDbStorage_DynamoDb.res.mjs +100 -0
  128. package/src/adapter/QueryDb/QueryDbStorage_DynamoDbStream.res +52 -0
  129. package/src/adapter/QueryDb/QueryDbStorage_DynamoDbStream.res.mjs +38 -0
  130. package/src/adapter/QueryDb/QueryDbStorage_DynamoDb_Runtime.res +271 -0
  131. package/src/adapter/QueryDb/QueryDbStorage_DynamoDb_Runtime.res.mjs +306 -0
  132. package/src/adapter/QueryDb/QueryInterceptor_Lambda.res +20 -0
  133. package/src/adapter/QueryDb/QueryInterceptor_Lambda.res.mjs +22 -0
  134. package/src/adapter/QueryEngine/QueryEngine.res +3 -0
  135. package/src/adapter/QueryEngine/QueryEngine.res.mjs +12 -0
  136. package/src/adapter/QueryEngine/QueryEngine_DynamoDb.res +184 -0
  137. package/src/adapter/QueryEngine/QueryEngine_DynamoDb.res.mjs +221 -0
  138. package/src/adapter/Runtime/AdminEventCollectorEntryPoint.mjs +879 -0
  139. package/src/adapter/Runtime/AggregateEntryPoint.mjs +313 -0
  140. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro.res +327 -0
  141. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro.res.mjs +239 -0
  142. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro_Async.res +331 -0
  143. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro_Async.res.mjs +240 -0
  144. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate.res +247 -0
  145. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate.res.mjs +185 -0
  146. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate_Async.res +244 -0
  147. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate_Async.res.mjs +185 -0
  148. package/src/adapter/Runtime/AggregateRuntime_Builder_Single.res +347 -0
  149. package/src/adapter/Runtime/AggregateRuntime_Builder_Single.res.mjs +244 -0
  150. package/src/adapter/Runtime/AggregateRuntime_Builder_Single_Async.res +285 -0
  151. package/src/adapter/Runtime/AggregateRuntime_Builder_Single_Async.res.mjs +212 -0
  152. package/src/adapter/Runtime/AutomationSliceEntryPoint.mjs +124 -0
  153. package/src/adapter/Runtime/AutomationSliceRuntime_Builder_Single.res +187 -0
  154. package/src/adapter/Runtime/AutomationSliceRuntime_Builder_Single.res.mjs +147 -0
  155. package/src/adapter/Runtime/CounterEntryPoint.mjs +91 -0
  156. package/src/adapter/Runtime/DcbCommandTopicEntryPoint.mjs +265 -0
  157. package/src/adapter/Runtime/EventCollectorRuntime_Builder_PerEventCollector.res +122 -0
  158. package/src/adapter/Runtime/EventCollectorRuntime_Builder_PerEventCollector.res.mjs +89 -0
  159. package/src/adapter/Runtime/EventCollectorRuntime_Builder_Single.res +193 -0
  160. package/src/adapter/Runtime/EventCollectorRuntime_Builder_Single.res.mjs +137 -0
  161. package/src/adapter/Runtime/EventMapperEntryPoint.mjs +97 -0
  162. package/src/adapter/Runtime/ExtensionPointEntryPoint.mjs +101 -0
  163. package/src/adapter/Runtime/ExtensionPointRuntime_Builder_PerExtensionPoint.res +83 -0
  164. package/src/adapter/Runtime/ExtensionPointRuntime_Builder_PerExtensionPoint.res.mjs +59 -0
  165. package/src/adapter/Runtime/HandlerFactoryHelpers.mjs +142 -0
  166. package/src/adapter/Runtime/HeartbeatEntryPoint.mjs +38 -0
  167. package/src/adapter/Runtime/PluginExtensionPointEntryPoint.mjs +137 -0
  168. package/src/adapter/Runtime/ReadModelEntryPoint.mjs +143 -0
  169. package/src/adapter/Runtime/RuntimeEnvironment.res +1 -0
  170. package/src/adapter/Runtime/RuntimeEnvironment.res.mjs +9 -0
  171. package/src/adapter/Runtime/RuntimeEnvironment_Lambda.res +254 -0
  172. package/src/adapter/Runtime/RuntimeEnvironment_Lambda.res.mjs +169 -0
  173. package/src/adapter/Runtime/SideEffectEntryPoint.mjs +81 -0
  174. package/src/adapter/Runtime/SideEffectHandlerRuntime_Builder_Single.res +178 -0
  175. package/src/adapter/Runtime/SideEffectHandlerRuntime_Builder_Single.res.mjs +129 -0
  176. package/src/adapter/Runtime/StateChangeSliceRuntime_Builder_Single.res +166 -0
  177. package/src/adapter/Runtime/StateChangeSliceRuntime_Builder_Single.res.mjs +87 -0
  178. package/src/adapter/Runtime/StateViewSliceEntryPoint.mjs +136 -0
  179. package/src/adapter/Runtime/StateViewSliceRuntime_Builder_Single.res +344 -0
  180. package/src/adapter/Runtime/StateViewSliceRuntime_Builder_Single.res.mjs +242 -0
  181. package/src/adapter/Runtime/TaskBucketEntryPoint.mjs +150 -0
  182. package/src/adapter/Runtime/TaskRuntime_Builder_PerBucket.res +123 -0
  183. package/src/adapter/Runtime/TaskRuntime_Builder_PerBucket.res.mjs +74 -0
  184. package/src/adapter/ScheduledPublisher/ScheduledPublisher.res +2 -0
  185. package/src/adapter/ScheduledPublisher/ScheduledPublisher.res.mjs +12 -0
  186. package/src/adapter/ScheduledPublisher/ScheduledPublisher_CloudWatchEvents.res +54 -0
  187. package/src/adapter/ScheduledPublisher/ScheduledPublisher_CloudWatchEvents.res.mjs +41 -0
  188. package/src/adapter/ScheduledPublisher/ScheduledPublisher_CloudWatchEvents_Runtime.res +97 -0
  189. package/src/adapter/ScheduledPublisher/ScheduledPublisher_CloudWatchEvents_Runtime.res.mjs +85 -0
  190. package/src/adapter/StateTopic/StateTopic_AppSync.res +418 -0
  191. package/src/adapter/StateTopic/StateTopic_AppSync.res.mjs +295 -0
  192. package/src/adapter/Task/TaskBucket.res +1 -0
  193. package/src/adapter/Task/TaskBucket.res.mjs +9 -0
  194. package/src/adapter/Task/TaskBucket_S3.res +157 -0
  195. package/src/adapter/Task/TaskBucket_S3.res.mjs +108 -0
  196. package/src/adapter/Task/TaskBucket_S3_Runtime.res +11 -0
  197. package/src/adapter/Task/TaskBucket_S3_Runtime.res.mjs +15 -0
  198. package/src/components/Aggregate_Builder.res +1 -0
  199. package/src/components/Aggregate_Builder.res.mjs +25 -0
  200. package/src/components/Aggregate_Builder_Micro.res +63 -0
  201. package/src/components/Aggregate_Builder_Micro.res.mjs +80 -0
  202. package/src/components/Aggregate_Builder_NoResolver.res +61 -0
  203. package/src/components/Aggregate_Builder_NoResolver.res.mjs +80 -0
  204. package/src/components/Aggregate_Builder_PerAggregate.res +57 -0
  205. package/src/components/Aggregate_Builder_PerAggregate.res.mjs +80 -0
  206. package/src/components/Aggregate_Builder_Single.res +59 -0
  207. package/src/components/Aggregate_Builder_Single.res.mjs +80 -0
  208. package/src/components/Aggregate_Builder_Single_Async.res +59 -0
  209. package/src/components/Aggregate_Builder_Single_Async.res.mjs +80 -0
  210. package/src/components/Api/AppSync_Adapter.res +500 -0
  211. package/src/components/Api/AppSync_Adapter.res.mjs +396 -0
  212. package/src/components/AutomationSlice_Builder.res +52 -0
  213. package/src/components/AutomationSlice_Builder.res.mjs +72 -0
  214. package/src/components/AutomationSlice_Builder_Bundled.res.mjs +70 -0
  215. package/src/components/Counter_Builder.res +10 -0
  216. package/src/components/Counter_Builder.res.mjs +16 -0
  217. package/src/components/DataCleaner.res +170 -0
  218. package/src/components/DataCleaner.res.mjs +2 -0
  219. package/src/components/DcbEventLog_Builder.res +8 -0
  220. package/src/components/DcbEventLog_Builder.res.mjs +14 -0
  221. package/src/components/ExtensionPoint_Builder.res +16 -0
  222. package/src/components/ExtensionPoint_Builder.res.mjs +37 -0
  223. package/src/components/ForeignReadModel_Builder.res +19 -0
  224. package/src/components/ForeignReadModel_Builder.res.mjs +48 -0
  225. package/src/components/InboundTranslationSlice_Builder.res +25 -0
  226. package/src/components/InboundTranslationSlice_Builder.res.mjs +31 -0
  227. package/src/components/OutboundTranslationSlice_Builder.res +60 -0
  228. package/src/components/OutboundTranslationSlice_Builder.res.mjs +76 -0
  229. package/src/components/OutboundTranslationSlice_Builder_Bundled.res.mjs +75 -0
  230. package/src/components/Plugin.res +29 -0
  231. package/src/components/Plugin.res.mjs +63 -0
  232. package/src/components/ReadModel_Builder.res +1 -0
  233. package/src/components/ReadModel_Builder.res.mjs +19 -0
  234. package/src/components/ReadModel_Builder_NoResolver.res +55 -0
  235. package/src/components/ReadModel_Builder_NoResolver.res.mjs +64 -0
  236. package/src/components/ReadModel_Builder_NoResolver_Stream.res +60 -0
  237. package/src/components/ReadModel_Builder_NoResolver_Stream.res.mjs +64 -0
  238. package/src/components/ReadModel_Builder_PerReadModel.res +53 -0
  239. package/src/components/ReadModel_Builder_PerReadModel.res.mjs +66 -0
  240. package/src/components/ReadModel_Builder_Single.res +52 -0
  241. package/src/components/ReadModel_Builder_Single.res.mjs +66 -0
  242. package/src/components/ReadModel_Builder_Single_Stream.res +60 -0
  243. package/src/components/ReadModel_Builder_Single_Stream.res.mjs +66 -0
  244. package/src/components/Scheduler.res +1 -0
  245. package/src/components/Scheduler.res.mjs +13 -0
  246. package/src/components/SideEffectHandler.res +1 -0
  247. package/src/components/SideEffectHandler.res.mjs +19 -0
  248. package/src/components/SideEffectHandler_PerSideEffectHandler.res +13 -0
  249. package/src/components/SideEffectHandler_PerSideEffectHandler.res.mjs +52 -0
  250. package/src/components/SideEffectHandler_Single.res +54 -0
  251. package/src/components/SideEffectHandler_Single.res.mjs +60 -0
  252. package/src/components/StateChangeSlice_Builder.res +17 -0
  253. package/src/components/StateChangeSlice_Builder.res.mjs +23 -0
  254. package/src/components/StateViewSlice_Builder.res +46 -0
  255. package/src/components/StateViewSlice_Builder.res.mjs +68 -0
  256. package/src/components/StateViewSlice_Builder_Bundled.res.mjs +69 -0
  257. package/src/components/StateViewSlice_Builder_Stream.res +50 -0
  258. package/src/components/StateViewSlice_Builder_Stream.res.mjs +68 -0
  259. package/src/components/Task_Builder.res +1 -0
  260. package/src/components/Task_Builder.res.mjs +28 -0
  261. package/src/components/Task_Builder_PerBucket.res +22 -0
  262. package/src/components/Task_Builder_PerBucket.res.mjs +63 -0
  263. package/src/components/Vpc.res +214 -0
  264. package/src/components/Vpc.res.mjs +117 -0
  265. package/src/components/Vpc.resi +22 -0
  266. package/src/errors/AppSync_Error.res +36 -0
  267. package/src/errors/AppSync_Error.res.mjs +38 -0
  268. package/src/errors/Cognito_Error.res +36 -0
  269. package/src/errors/Cognito_Error.res.mjs +38 -0
  270. package/src/errors/DynamoDb_Error.res +75 -0
  271. package/src/errors/DynamoDb_Error.res.mjs +86 -0
  272. package/src/errors/Kinesis_Error.res +36 -0
  273. package/src/errors/Kinesis_Error.res.mjs +38 -0
  274. package/src/errors/SNS_Error.res +34 -0
  275. package/src/errors/SNS_Error.res.mjs +38 -0
  276. package/src/errors/SQS_Error.res +40 -0
  277. package/src/errors/SQS_Error.res.mjs +41 -0
  278. package/src/plugin/cloner/ClonerRunner.res +1 -0
  279. package/src/plugin/cloner/ClonerRunner.res.mjs +9 -0
  280. package/src/plugin/cloner/ClonerRunner_Fargate.res +362 -0
  281. package/src/plugin/cloner/ClonerRunner_Fargate.res.mjs +246 -0
  282. package/src/plugin/cloner/ClonerRunner_Fargate_Runtime.res +42 -0
  283. package/src/plugin/cloner/ClonerRunner_Fargate_Runtime.res.mjs +45 -0
  284. package/src/plugin/heartbeat/HeartbeatRunner.res +1 -0
  285. package/src/plugin/heartbeat/HeartbeatRunner.res.mjs +9 -0
  286. package/src/plugin/heartbeat/HeartbeatRunner_CloudWatchEvents.res +96 -0
  287. package/src/plugin/heartbeat/HeartbeatRunner_CloudWatchEvents.res.mjs +69 -0
  288. package/src/plugin/runtime/PluginExtensionPointRuntime_Builder.res +115 -0
  289. package/src/plugin/runtime/PluginExtensionPointRuntime_Builder.res.mjs +88 -0
  290. package/src/plugin/runtime/PluginRuntimeOperations.res +5 -0
  291. package/src/plugin/runtime/PluginRuntimeOperations.res.mjs +14 -0
  292. package/src/plugin/runtime/PluginRuntime_Builder.res +769 -0
  293. package/src/plugin/runtime/PluginRuntime_Builder.res.mjs +464 -0
  294. package/src/plugin/runtime/Util_PluginMessage_Runtime.res +13 -0
  295. package/src/plugin/runtime/Util_PluginMessage_Runtime.res.mjs +19 -0
  296. package/src/plugin/stack/Plugin_ExtensionPoint_Builder.res +28 -0
  297. package/src/plugin/stack/Plugin_ExtensionPoint_Builder.res.mjs +67 -0
  298. package/src/plugin/stack/Plugin_Stack.res +439 -0
  299. package/src/plugin/stack/Plugin_Stack.res.mjs +263 -0
  300. package/src/util/Util.res +29 -0
  301. package/src/util/Util.res.mjs +93 -0
  302. package/src/util/Util_AppSync.res +36 -0
  303. package/src/util/Util_AppSync.res.mjs +35 -0
  304. package/src/util/Util_AppSync_Caller.res +213 -0
  305. package/src/util/Util_AppSync_Caller.res.mjs +170 -0
  306. package/src/util/Util_Bundle.res +255 -0
  307. package/src/util/Util_Bundle.res.mjs +179 -0
  308. package/src/util/Util_Cloudwatch.res +14 -0
  309. package/src/util/Util_Cloudwatch.res.mjs +19 -0
  310. package/src/util/Util_CognitoGroupUser.res +39 -0
  311. package/src/util/Util_CognitoGroupUser.res.mjs +32 -0
  312. package/src/util/Util_CognitoGroupUser_Runtime.res +65 -0
  313. package/src/util/Util_CognitoGroupUser_Runtime.res.mjs +50 -0
  314. package/src/util/Util_Cognito_Runtime.res +52 -0
  315. package/src/util/Util_Cognito_Runtime.res.mjs +35 -0
  316. package/src/util/Util_DeadLetterQueue.res +154 -0
  317. package/src/util/Util_DeadLetterQueue.res.mjs +158 -0
  318. package/src/util/Util_DynamoDb.res +210 -0
  319. package/src/util/Util_DynamoDb.res.mjs +218 -0
  320. package/src/util/Util_DynamoDbStream.res +138 -0
  321. package/src/util/Util_DynamoDbStream.res.mjs +134 -0
  322. package/src/util/Util_DynamoDbStream_Runtime.res +94 -0
  323. package/src/util/Util_DynamoDbStream_Runtime.res.mjs +131 -0
  324. package/src/util/Util_DynamoDb_Runtime.res +216 -0
  325. package/src/util/Util_DynamoDb_Runtime.res.mjs +257 -0
  326. package/src/util/Util_DynamoDb_TableManager.res +23 -0
  327. package/src/util/Util_DynamoDb_TableManager.res.mjs +35 -0
  328. package/src/util/Util_DynamoDb_TableManager.resi +3 -0
  329. package/src/util/Util_Env.res +5 -0
  330. package/src/util/Util_Env.res.mjs +2 -0
  331. package/src/util/Util_EventSourceMapping.res +49 -0
  332. package/src/util/Util_EventSourceMapping.res.mjs +32 -0
  333. package/src/util/Util_HostUiDomain.res +28 -0
  334. package/src/util/Util_HostUiDomain.res.mjs +26 -0
  335. package/src/util/Util_IAM_Role.res +14 -0
  336. package/src/util/Util_IAM_Role.res.mjs +28 -0
  337. package/src/util/Util_Kinesis_Runtime.res +20 -0
  338. package/src/util/Util_Kinesis_Runtime.res.mjs +24 -0
  339. package/src/util/Util_Lambda.res +39 -0
  340. package/src/util/Util_Lambda.res.mjs +45 -0
  341. package/src/util/Util_LocalConfig.res +119 -0
  342. package/src/util/Util_LocalConfig.res.mjs +112 -0
  343. package/src/util/Util_ResourceNaming.res +15 -0
  344. package/src/util/Util_ResourceNaming.res.mjs +26 -0
  345. package/src/util/Util_S3.res +17 -0
  346. package/src/util/Util_S3.res.mjs +30 -0
  347. package/src/util/Util_S3_Runtime.res +11 -0
  348. package/src/util/Util_S3_Runtime.res.mjs +15 -0
  349. package/src/util/Util_SNS.res +33 -0
  350. package/src/util/Util_SNS.res.mjs +50 -0
  351. package/src/util/Util_SNS_FIFO.res +21 -0
  352. package/src/util/Util_SNS_FIFO.res.mjs +27 -0
  353. package/src/util/Util_SNS_Runtime.res +33 -0
  354. package/src/util/Util_SNS_Runtime.res.mjs +27 -0
  355. package/src/util/Util_SQS.res +70 -0
  356. package/src/util/Util_SQS.res.mjs +83 -0
  357. package/src/util/Util_SQS_FIFO.res +16 -0
  358. package/src/util/Util_SQS_FIFO.res.mjs +28 -0
  359. package/src/util/Util_SQS_Runtime.res +169 -0
  360. package/src/util/Util_SQS_Runtime.res.mjs +150 -0
  361. package/src/util/Util_SesPolicy_Runtime.res +54 -0
  362. package/src/util/Util_SesPolicy_Runtime.res.mjs +55 -0
  363. package/src/util/Util_StaticBundle.res +124 -0
  364. package/src/util/Util_StaticBundle.res.mjs +132 -0
  365. package/src/util/Util_Vpc.res +22 -0
  366. package/src/util/Util_Vpc.res.mjs +27 -0
  367. package/tests/AppSync_AdapterTest.res +396 -0
  368. package/tests/AppSync_AdapterTest.res.mjs +326 -0
  369. package/tests/AppSync_Resolver_RetryingTest.res +59 -0
  370. package/tests/AppSync_Resolver_RetryingTest.res.mjs +66 -0
  371. package/tests/Auth_CognitoTest.res +203 -0
  372. package/tests/Auth_CognitoTest.res.mjs +248 -0
  373. package/tests/DcbEventLogStorage_DynamoDb_RuntimeTest.res +602 -0
  374. package/tests/DcbEventLogStorage_DynamoDb_RuntimeTest.res.mjs +742 -0
  375. package/tests/EventLogStorage_DynamoDb_RuntimeTest.res +57 -0
  376. package/tests/EventLogStorage_DynamoDb_RuntimeTest.res.mjs +68 -0
  377. package/tests/MCP_LambdaTest.res +101 -0
  378. package/tests/MCP_LambdaTest.res.mjs +56 -0
  379. package/tests/Util_HostUiDomainTest.res +90 -0
  380. package/tests/Util_HostUiDomainTest.res.mjs +50 -0
  381. package/tests/Util_SQS_RuntimeTest.res +46 -0
  382. package/tests/Util_SQS_RuntimeTest.res.mjs +45 -0
  383. package/tests/Util_StaticBundleTest.res +136 -0
  384. package/tests/Util_StaticBundleTest.res.mjs +149 -0
  385. package/tests/integration/DcbCommandTopicEntryPoint_IntegrationTest.res +101 -0
  386. package/tests/integration/DcbCommandTopicEntryPoint_IntegrationTest.res.mjs +91 -0
  387. package/tests/integration/DcbEventLogStorage_DynamoDb_IntegrationTest.res +315 -0
  388. package/tests/integration/DcbEventLogStorage_DynamoDb_IntegrationTest.res.mjs +435 -0
  389. package/tests/integration/DcbIntegrationHarness.res +102 -0
  390. package/tests/integration/DcbIntegrationHarness.res.mjs +163 -0
  391. package/tests/integration/EpTestSlice.res +28 -0
  392. package/tests/integration/EpTestSlice.res.mjs +43 -0
  393. package/tests/integration/EpTestSliceBehavior.res +18 -0
  394. package/tests/integration/EpTestSliceBehavior.res.mjs +35 -0
@@ -0,0 +1,63 @@
1
+ module CommandGeneratorResolvers = CommandGeneratorResolvers.AppSync
2
+ module CommandTopicChannel = CommandTopicChannel.SQS_Sync
3
+ module EventCollectorChannel = EventCollectorChannel.DynamoDbStream
4
+ module RuntimeEnvironment = RuntimeEnvironment.Lambda
5
+
6
+ module AggregateRuntimeBuilder = AggregateRuntime_Builder_Micro
7
+
8
+ module type MappingsConfig = {
9
+ let mappingsModulePath: option<string>
10
+ }
11
+
12
+ module Make = (
13
+ Spec: Reventless.Aggregate.Spec,
14
+ Behavior: Reventless.Behavior.T with module Spec := Spec,
15
+ EventMappings: ReventlessInfra.EventMapper.Mappings with module Target := Spec,
16
+ MappingsConfig: MappingsConfig,
17
+ ): (
18
+ ReventlessInfra.Aggregate.T
19
+ with type api = CommandGeneratorResolvers.api
20
+ and type component = ReventlessCore.Aggregate.component
21
+ ) => {
22
+ module Inner = ReventlessCore.Aggregate_Builder.Make(
23
+ Spec,
24
+ Behavior,
25
+ EventMappings,
26
+ RuntimeEnvironment,
27
+ CommandGeneratorResolvers,
28
+ CommandTopicChannel,
29
+ EventLogStorage.DynamoDbStream,
30
+ EventTopicPublisher.DynamoDbStream,
31
+ EventCollectorChannel,
32
+ AggregateRuntimeBuilder,
33
+ ReventlessCore.Plugin_Helpers.NoopHooksConfig,
34
+ )
35
+
36
+ module Spec = Spec
37
+ module AggregateRuntimeBuilder = AggregateRuntimeBuilder
38
+
39
+ type api = Inner.api
40
+ type component = Inner.component
41
+
42
+ let make = (~api, ~opts=?): component => {
43
+ let aggregate = Inner.make(~api, ~opts?)
44
+
45
+ let eventLogOutputs = (aggregate->Inner.outputs).eventLog
46
+ let tableResource = eventLogOutputs.resources->Array.getUnsafe(0)
47
+ let eventLogTableName = tableResource.name
48
+
49
+ AggregateRuntimeBuilder.registerAggregate(
50
+ ~aggregateName=Spec.name,
51
+ ~specModulePath=Util_Bundle.getModuleSpecifier(Spec.moduleUrl),
52
+ ~behaviorModulePath=Util_Bundle.getModuleSpecifier(Behavior.moduleUrl),
53
+ ~eventLogTableName,
54
+ ~mappingsModulePath=?MappingsConfig.mappingsModulePath,
55
+ )
56
+
57
+ aggregate
58
+ }
59
+
60
+ let outputs = Inner.outputs
61
+ let operations = Inner.operations
62
+ let finish = () => AggregateRuntimeBuilder.finish()
63
+ }
@@ -0,0 +1,80 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Util_Bundle$ReventlessAws from "../util/Util_Bundle.res.mjs";
4
+ import * as Plugin_Helpers$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/component/Plugin_Helpers.res.mjs";
5
+ import * as Aggregate_Builder$ReventlessCore from "@reventlessdev/reventless-core/src/components/Aggregate/Aggregate_Builder.res.mjs";
6
+ import * as RuntimeEnvironment_Lambda$ReventlessAws from "../adapter/Runtime/RuntimeEnvironment_Lambda.res.mjs";
7
+ import * as CommandTopicChannel_SQS_Sync$ReventlessAws from "../adapter/CommandTopic/CommandTopicChannel_SQS_Sync.res.mjs";
8
+ import * as AggregateRuntime_Builder_Micro$ReventlessAws from "../adapter/Runtime/AggregateRuntime_Builder_Micro.res.mjs";
9
+ import * as EventLogStorage_DynamoDbStream$ReventlessAws from "../adapter/EventLog/EventLogStorage_DynamoDbStream.res.mjs";
10
+ import * as CommandGeneratorResolvers_AppSync$ReventlessAws from "../adapter/CommandGenerator/CommandGeneratorResolvers_AppSync.res.mjs";
11
+ import * as EventTopicPublisher_DynamoDbStream$ReventlessAws from "../adapter/EventTopic/EventTopicPublisher_DynamoDbStream.res.mjs";
12
+ import * as EventCollectorChannel_DynamoDbStream$ReventlessAws from "../adapter/EventCollector/EventCollectorChannel_DynamoDbStream.res.mjs";
13
+
14
+ function Make(Spec) {
15
+ return Behavior => (EventMappings => (MappingsConfig => {
16
+ let Inner = Aggregate_Builder$ReventlessCore.Make(Spec)(Behavior)({
17
+ mappings: EventMappings.mappings,
18
+ counter: EventMappings.counter
19
+ })({
20
+ make: RuntimeEnvironment_Lambda$ReventlessAws.make,
21
+ groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
22
+ extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
23
+ asEventHandler: prim => prim,
24
+ asEffectHandler: prim => prim
25
+ })(CommandGeneratorResolvers_AppSync$ReventlessAws)({
26
+ make: CommandTopicChannel_SQS_Sync$ReventlessAws.make
27
+ })(EventLogStorage_DynamoDbStream$ReventlessAws)(EventTopicPublisher_DynamoDbStream$ReventlessAws)({
28
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
29
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
30
+ })({
31
+ CommandTopicChannel: {
32
+ make: CommandTopicChannel_SQS_Sync$ReventlessAws.make
33
+ },
34
+ EventCollectorChannel: {
35
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
36
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
37
+ },
38
+ forCommandGenerator: AggregateRuntime_Builder_Micro$ReventlessAws.forCommandGenerator,
39
+ forCommandTopic: AggregateRuntime_Builder_Micro$ReventlessAws.forCommandTopic,
40
+ forEventCollector: AggregateRuntime_Builder_Micro$ReventlessAws.forEventCollector,
41
+ finish: AggregateRuntime_Builder_Micro$ReventlessAws.finish
42
+ })(Plugin_Helpers$ReventlessCore.NoopHooksConfig);
43
+ let make = (api, opts) => {
44
+ let aggregate = Inner.make(api, opts);
45
+ let eventLogOutputs = Inner.outputs(aggregate).eventLog;
46
+ let tableResource = eventLogOutputs.resources[0];
47
+ let eventLogTableName = tableResource.name;
48
+ AggregateRuntime_Builder_Micro$ReventlessAws.registerAggregate(Spec.name, Util_Bundle$ReventlessAws.getModuleSpecifier(Spec.moduleUrl), Util_Bundle$ReventlessAws.getModuleSpecifier(Behavior.moduleUrl), eventLogTableName, MappingsConfig.mappingsModulePath);
49
+ return aggregate;
50
+ };
51
+ let finish = () => AggregateRuntime_Builder_Micro$ReventlessAws.finish();
52
+ return {
53
+ Spec: Spec,
54
+ make: make,
55
+ outputs: Inner.outputs,
56
+ operations: Inner.operations,
57
+ finish: finish
58
+ };
59
+ }));
60
+ }
61
+
62
+ let CommandGeneratorResolvers;
63
+
64
+ let CommandTopicChannel;
65
+
66
+ let EventCollectorChannel;
67
+
68
+ let RuntimeEnvironment;
69
+
70
+ let AggregateRuntimeBuilder;
71
+
72
+ export {
73
+ CommandGeneratorResolvers,
74
+ CommandTopicChannel,
75
+ EventCollectorChannel,
76
+ RuntimeEnvironment,
77
+ AggregateRuntimeBuilder,
78
+ Make,
79
+ }
80
+ /* Util_Bundle-ReventlessAws Not a pure module */
@@ -0,0 +1,61 @@
1
+ // Aggregate builder that creates the full aggregate infrastructure (EventLog,
2
+ // CommandTopic, EventTopic) but NO AppSync mutation resolvers. Used for
3
+ // admin-internal aggregates (e.g. Plugin) whose commands arrive via the
4
+ // ExtensionPoint, not through GraphQL mutations.
5
+
6
+ module CommandGeneratorResolvers = CommandGeneratorResolvers_AppSync_NoOp
7
+ module CommandTopicChannel = CommandTopicChannel.SQS_Sync
8
+ module EventCollectorChannel = EventCollectorChannel.DynamoDbStream
9
+ module RuntimeEnvironment = RuntimeEnvironment.Lambda
10
+ module AggregateRuntimeBuilder = AggregateRuntime_Builder_Single
11
+
12
+ module Make = (
13
+ Spec: Reventless.Aggregate.Spec,
14
+ Behavior: Reventless.Behavior.T with module Spec := Spec,
15
+ EventMappings: ReventlessInfra.EventMapper.Mappings with module Target := Spec,
16
+ ): (
17
+ ReventlessInfra.Aggregate.T
18
+ with type api = CommandGeneratorResolvers.api
19
+ and type component = ReventlessCore.Aggregate.component
20
+ ) => {
21
+ module Inner = ReventlessCore.Aggregate_Builder.Make(
22
+ Spec,
23
+ Behavior,
24
+ EventMappings,
25
+ RuntimeEnvironment,
26
+ CommandGeneratorResolvers,
27
+ CommandTopicChannel,
28
+ EventLogStorage.DynamoDbStream,
29
+ EventTopicPublisher.DynamoDbStream,
30
+ EventCollectorChannel,
31
+ AggregateRuntimeBuilder,
32
+ ReventlessCore.Plugin_Helpers.NoopHooksConfig,
33
+ )
34
+
35
+ module Spec = Spec
36
+ module AggregateRuntimeBuilder = AggregateRuntimeBuilder
37
+
38
+ type api = Inner.api
39
+ type component = Inner.component
40
+
41
+ let make = (~api, ~opts=?): component => {
42
+ let aggregate = Inner.make(~api, ~opts?)
43
+
44
+ let eventLogOutputs = (aggregate->Inner.outputs).eventLog
45
+ let tableResource = eventLogOutputs.resources->Array.getUnsafe(0)
46
+ let eventLogTableName = tableResource.name
47
+
48
+ AggregateRuntimeBuilder.registerAggregate(
49
+ ~aggregateName=Spec.name,
50
+ ~specModulePath=Util_Bundle.getModuleSpecifier(Spec.moduleUrl),
51
+ ~behaviorModulePath=Util_Bundle.getModuleSpecifier(Behavior.moduleUrl),
52
+ ~eventLogTableName,
53
+ )
54
+
55
+ aggregate
56
+ }
57
+
58
+ let outputs = Inner.outputs
59
+ let operations = Inner.operations
60
+ let finish = () => AggregateRuntimeBuilder.finish()
61
+ }
@@ -0,0 +1,80 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Util_Bundle$ReventlessAws from "../util/Util_Bundle.res.mjs";
4
+ import * as Plugin_Helpers$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/component/Plugin_Helpers.res.mjs";
5
+ import * as Aggregate_Builder$ReventlessCore from "@reventlessdev/reventless-core/src/components/Aggregate/Aggregate_Builder.res.mjs";
6
+ import * as RuntimeEnvironment_Lambda$ReventlessAws from "../adapter/Runtime/RuntimeEnvironment_Lambda.res.mjs";
7
+ import * as CommandTopicChannel_SQS_Sync$ReventlessAws from "../adapter/CommandTopic/CommandTopicChannel_SQS_Sync.res.mjs";
8
+ import * as EventLogStorage_DynamoDbStream$ReventlessAws from "../adapter/EventLog/EventLogStorage_DynamoDbStream.res.mjs";
9
+ import * as AggregateRuntime_Builder_Single$ReventlessAws from "../adapter/Runtime/AggregateRuntime_Builder_Single.res.mjs";
10
+ import * as EventTopicPublisher_DynamoDbStream$ReventlessAws from "../adapter/EventTopic/EventTopicPublisher_DynamoDbStream.res.mjs";
11
+ import * as EventCollectorChannel_DynamoDbStream$ReventlessAws from "../adapter/EventCollector/EventCollectorChannel_DynamoDbStream.res.mjs";
12
+ import * as CommandGeneratorResolvers_AppSync_NoOp$ReventlessAws from "../adapter/CommandGenerator/CommandGeneratorResolvers_AppSync_NoOp.res.mjs";
13
+
14
+ function Make(Spec) {
15
+ return Behavior => (EventMappings => {
16
+ let Inner = Aggregate_Builder$ReventlessCore.Make(Spec)(Behavior)({
17
+ mappings: EventMappings.mappings,
18
+ counter: EventMappings.counter
19
+ })({
20
+ make: RuntimeEnvironment_Lambda$ReventlessAws.make,
21
+ groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
22
+ extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
23
+ asEventHandler: prim => prim,
24
+ asEffectHandler: prim => prim
25
+ })(CommandGeneratorResolvers_AppSync_NoOp$ReventlessAws)({
26
+ make: CommandTopicChannel_SQS_Sync$ReventlessAws.make
27
+ })(EventLogStorage_DynamoDbStream$ReventlessAws)(EventTopicPublisher_DynamoDbStream$ReventlessAws)({
28
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
29
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
30
+ })({
31
+ CommandTopicChannel: {
32
+ make: CommandTopicChannel_SQS_Sync$ReventlessAws.make
33
+ },
34
+ EventCollectorChannel: {
35
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
36
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
37
+ },
38
+ forCommandGenerator: AggregateRuntime_Builder_Single$ReventlessAws.forCommandGenerator,
39
+ forCommandTopic: AggregateRuntime_Builder_Single$ReventlessAws.forCommandTopic,
40
+ forEventCollector: AggregateRuntime_Builder_Single$ReventlessAws.forEventCollector,
41
+ finish: AggregateRuntime_Builder_Single$ReventlessAws.finish
42
+ })(Plugin_Helpers$ReventlessCore.NoopHooksConfig);
43
+ let make = (api, opts) => {
44
+ let aggregate = Inner.make(api, opts);
45
+ let eventLogOutputs = Inner.outputs(aggregate).eventLog;
46
+ let tableResource = eventLogOutputs.resources[0];
47
+ let eventLogTableName = tableResource.name;
48
+ AggregateRuntime_Builder_Single$ReventlessAws.registerAggregate(Spec.name, Util_Bundle$ReventlessAws.getModuleSpecifier(Spec.moduleUrl), Util_Bundle$ReventlessAws.getModuleSpecifier(Behavior.moduleUrl), eventLogTableName);
49
+ return aggregate;
50
+ };
51
+ let finish = () => AggregateRuntime_Builder_Single$ReventlessAws.finish();
52
+ return {
53
+ Spec: Spec,
54
+ make: make,
55
+ outputs: Inner.outputs,
56
+ operations: Inner.operations,
57
+ finish: finish
58
+ };
59
+ });
60
+ }
61
+
62
+ let CommandGeneratorResolvers;
63
+
64
+ let CommandTopicChannel;
65
+
66
+ let EventCollectorChannel;
67
+
68
+ let RuntimeEnvironment;
69
+
70
+ let AggregateRuntimeBuilder;
71
+
72
+ export {
73
+ CommandGeneratorResolvers,
74
+ CommandTopicChannel,
75
+ EventCollectorChannel,
76
+ RuntimeEnvironment,
77
+ AggregateRuntimeBuilder,
78
+ Make,
79
+ }
80
+ /* Util_Bundle-ReventlessAws Not a pure module */
@@ -0,0 +1,57 @@
1
+ module CommandGeneratorResolvers = CommandGeneratorResolvers.AppSync
2
+ module CommandTopicChannel = CommandTopicChannel.SQS_Sync
3
+ module EventCollectorChannel = EventCollectorChannel.DynamoDbStream
4
+ module RuntimeEnvironment = RuntimeEnvironment.Lambda
5
+
6
+ module AggregateRuntimeBuilder = AggregateRuntime_Builder_PerAggregate
7
+
8
+ module Make = (
9
+ Spec: Reventless.Aggregate.Spec,
10
+ Behavior: Reventless.Behavior.T with module Spec := Spec,
11
+ EventMappings: ReventlessInfra.EventMapper.Mappings with module Target := Spec,
12
+ ): (
13
+ ReventlessInfra.Aggregate.T
14
+ with type api = CommandGeneratorResolvers.api
15
+ and type component = ReventlessCore.Aggregate.component
16
+ ) => {
17
+ module Inner = ReventlessCore.Aggregate_Builder.Make(
18
+ Spec,
19
+ Behavior,
20
+ EventMappings,
21
+ RuntimeEnvironment,
22
+ CommandGeneratorResolvers,
23
+ CommandTopicChannel,
24
+ EventLogStorage.DynamoDbStream,
25
+ EventTopicPublisher.DynamoDbStream,
26
+ EventCollectorChannel,
27
+ AggregateRuntimeBuilder,
28
+ ReventlessCore.Plugin_Helpers.NoopHooksConfig,
29
+ )
30
+
31
+ module Spec = Spec
32
+ module AggregateRuntimeBuilder = AggregateRuntimeBuilder
33
+
34
+ type api = Inner.api
35
+ type component = Inner.component
36
+
37
+ let make = (~api, ~opts=?): component => {
38
+ let aggregate = Inner.make(~api, ~opts?)
39
+
40
+ let eventLogOutputs = (aggregate->Inner.outputs).eventLog
41
+ let tableResource = eventLogOutputs.resources->Array.getUnsafe(0)
42
+ let eventLogTableName = tableResource.name
43
+
44
+ AggregateRuntimeBuilder.registerAggregate(
45
+ ~aggregateName=Spec.name,
46
+ ~specModulePath=Util_Bundle.getModuleSpecifier(Spec.moduleUrl),
47
+ ~behaviorModulePath=Util_Bundle.getModuleSpecifier(Behavior.moduleUrl),
48
+ ~eventLogTableName,
49
+ )
50
+
51
+ aggregate
52
+ }
53
+
54
+ let outputs = Inner.outputs
55
+ let operations = Inner.operations
56
+ let finish = () => AggregateRuntimeBuilder.finish()
57
+ }
@@ -0,0 +1,80 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Util_Bundle$ReventlessAws from "../util/Util_Bundle.res.mjs";
4
+ import * as Plugin_Helpers$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/component/Plugin_Helpers.res.mjs";
5
+ import * as Aggregate_Builder$ReventlessCore from "@reventlessdev/reventless-core/src/components/Aggregate/Aggregate_Builder.res.mjs";
6
+ import * as RuntimeEnvironment_Lambda$ReventlessAws from "../adapter/Runtime/RuntimeEnvironment_Lambda.res.mjs";
7
+ import * as CommandTopicChannel_SQS_Sync$ReventlessAws from "../adapter/CommandTopic/CommandTopicChannel_SQS_Sync.res.mjs";
8
+ import * as EventLogStorage_DynamoDbStream$ReventlessAws from "../adapter/EventLog/EventLogStorage_DynamoDbStream.res.mjs";
9
+ import * as CommandGeneratorResolvers_AppSync$ReventlessAws from "../adapter/CommandGenerator/CommandGeneratorResolvers_AppSync.res.mjs";
10
+ import * as EventTopicPublisher_DynamoDbStream$ReventlessAws from "../adapter/EventTopic/EventTopicPublisher_DynamoDbStream.res.mjs";
11
+ import * as EventCollectorChannel_DynamoDbStream$ReventlessAws from "../adapter/EventCollector/EventCollectorChannel_DynamoDbStream.res.mjs";
12
+ import * as AggregateRuntime_Builder_PerAggregate$ReventlessAws from "../adapter/Runtime/AggregateRuntime_Builder_PerAggregate.res.mjs";
13
+
14
+ function Make(Spec) {
15
+ return Behavior => (EventMappings => {
16
+ let Inner = Aggregate_Builder$ReventlessCore.Make(Spec)(Behavior)({
17
+ mappings: EventMappings.mappings,
18
+ counter: EventMappings.counter
19
+ })({
20
+ make: RuntimeEnvironment_Lambda$ReventlessAws.make,
21
+ groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
22
+ extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
23
+ asEventHandler: prim => prim,
24
+ asEffectHandler: prim => prim
25
+ })(CommandGeneratorResolvers_AppSync$ReventlessAws)({
26
+ make: CommandTopicChannel_SQS_Sync$ReventlessAws.make
27
+ })(EventLogStorage_DynamoDbStream$ReventlessAws)(EventTopicPublisher_DynamoDbStream$ReventlessAws)({
28
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
29
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
30
+ })({
31
+ CommandTopicChannel: {
32
+ make: CommandTopicChannel_SQS_Sync$ReventlessAws.make
33
+ },
34
+ EventCollectorChannel: {
35
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
36
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
37
+ },
38
+ forCommandGenerator: AggregateRuntime_Builder_PerAggregate$ReventlessAws.forCommandGenerator,
39
+ forCommandTopic: AggregateRuntime_Builder_PerAggregate$ReventlessAws.forCommandTopic,
40
+ forEventCollector: AggregateRuntime_Builder_PerAggregate$ReventlessAws.forEventCollector,
41
+ finish: AggregateRuntime_Builder_PerAggregate$ReventlessAws.finish
42
+ })(Plugin_Helpers$ReventlessCore.NoopHooksConfig);
43
+ let make = (api, opts) => {
44
+ let aggregate = Inner.make(api, opts);
45
+ let eventLogOutputs = Inner.outputs(aggregate).eventLog;
46
+ let tableResource = eventLogOutputs.resources[0];
47
+ let eventLogTableName = tableResource.name;
48
+ AggregateRuntime_Builder_PerAggregate$ReventlessAws.registerAggregate(Spec.name, Util_Bundle$ReventlessAws.getModuleSpecifier(Spec.moduleUrl), Util_Bundle$ReventlessAws.getModuleSpecifier(Behavior.moduleUrl), eventLogTableName);
49
+ return aggregate;
50
+ };
51
+ let finish = () => AggregateRuntime_Builder_PerAggregate$ReventlessAws.finish();
52
+ return {
53
+ Spec: Spec,
54
+ make: make,
55
+ outputs: Inner.outputs,
56
+ operations: Inner.operations,
57
+ finish: finish
58
+ };
59
+ });
60
+ }
61
+
62
+ let CommandGeneratorResolvers;
63
+
64
+ let CommandTopicChannel;
65
+
66
+ let EventCollectorChannel;
67
+
68
+ let RuntimeEnvironment;
69
+
70
+ let AggregateRuntimeBuilder;
71
+
72
+ export {
73
+ CommandGeneratorResolvers,
74
+ CommandTopicChannel,
75
+ EventCollectorChannel,
76
+ RuntimeEnvironment,
77
+ AggregateRuntimeBuilder,
78
+ Make,
79
+ }
80
+ /* Util_Bundle-ReventlessAws Not a pure module */
@@ -0,0 +1,59 @@
1
+ module CommandGeneratorResolvers = CommandGeneratorResolvers.AppSync
2
+ module CommandTopicChannel = CommandTopicChannel.SQS_Sync
3
+ module EventCollectorChannel = EventCollectorChannel.DynamoDbStream
4
+ module RuntimeEnvironment = RuntimeEnvironment.Lambda
5
+
6
+ module AggregateRuntimeBuilder = AggregateRuntime_Builder_Single
7
+
8
+ module Make = (
9
+ Spec: Reventless.Aggregate.Spec,
10
+ Behavior: Reventless.Behavior.T with module Spec := Spec,
11
+ EventMappings: ReventlessInfra.EventMapper.Mappings with module Target := Spec,
12
+ ): (
13
+ ReventlessInfra.Aggregate.T
14
+ with type api = CommandGeneratorResolvers.api
15
+ and type component = ReventlessCore.Aggregate.component
16
+ ) => {
17
+ module Inner = ReventlessCore.Aggregate_Builder.Make(
18
+ Spec,
19
+ Behavior,
20
+ EventMappings,
21
+ RuntimeEnvironment,
22
+ CommandGeneratorResolvers,
23
+ CommandTopicChannel,
24
+ EventLogStorage.DynamoDbStream,
25
+ EventTopicPublisher.DynamoDbStream,
26
+ EventCollectorChannel,
27
+ AggregateRuntimeBuilder,
28
+ ReventlessCore.Plugin_Helpers.NoopHooksConfig,
29
+ )
30
+
31
+ module Spec = Spec
32
+ module AggregateRuntimeBuilder = AggregateRuntimeBuilder
33
+
34
+ type api = Inner.api
35
+ type component = Inner.component
36
+
37
+ let make = (~api, ~opts=?): component => {
38
+ let aggregate = Inner.make(~api, ~opts?)
39
+
40
+ // Extract the event log table name from the aggregate's outputs.
41
+ // EventLog.outputs.resources[0] is the DynamoDB table resource.
42
+ let eventLogOutputs = (aggregate->Inner.outputs).eventLog
43
+ let tableResource = eventLogOutputs.resources->Array.getUnsafe(0)
44
+ let eventLogTableName = tableResource.name
45
+
46
+ AggregateRuntimeBuilder.registerAggregate(
47
+ ~aggregateName=Spec.name,
48
+ ~specModulePath=Util_Bundle.getModuleSpecifier(Spec.moduleUrl),
49
+ ~behaviorModulePath=Util_Bundle.getModuleSpecifier(Behavior.moduleUrl),
50
+ ~eventLogTableName,
51
+ )
52
+
53
+ aggregate
54
+ }
55
+
56
+ let outputs = Inner.outputs
57
+ let operations = Inner.operations
58
+ let finish = () => AggregateRuntimeBuilder.finish()
59
+ }
@@ -0,0 +1,80 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Util_Bundle$ReventlessAws from "../util/Util_Bundle.res.mjs";
4
+ import * as Plugin_Helpers$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/component/Plugin_Helpers.res.mjs";
5
+ import * as Aggregate_Builder$ReventlessCore from "@reventlessdev/reventless-core/src/components/Aggregate/Aggregate_Builder.res.mjs";
6
+ import * as RuntimeEnvironment_Lambda$ReventlessAws from "../adapter/Runtime/RuntimeEnvironment_Lambda.res.mjs";
7
+ import * as CommandTopicChannel_SQS_Sync$ReventlessAws from "../adapter/CommandTopic/CommandTopicChannel_SQS_Sync.res.mjs";
8
+ import * as EventLogStorage_DynamoDbStream$ReventlessAws from "../adapter/EventLog/EventLogStorage_DynamoDbStream.res.mjs";
9
+ import * as AggregateRuntime_Builder_Single$ReventlessAws from "../adapter/Runtime/AggregateRuntime_Builder_Single.res.mjs";
10
+ import * as CommandGeneratorResolvers_AppSync$ReventlessAws from "../adapter/CommandGenerator/CommandGeneratorResolvers_AppSync.res.mjs";
11
+ import * as EventTopicPublisher_DynamoDbStream$ReventlessAws from "../adapter/EventTopic/EventTopicPublisher_DynamoDbStream.res.mjs";
12
+ import * as EventCollectorChannel_DynamoDbStream$ReventlessAws from "../adapter/EventCollector/EventCollectorChannel_DynamoDbStream.res.mjs";
13
+
14
+ function Make(Spec) {
15
+ return Behavior => (EventMappings => {
16
+ let Inner = Aggregate_Builder$ReventlessCore.Make(Spec)(Behavior)({
17
+ mappings: EventMappings.mappings,
18
+ counter: EventMappings.counter
19
+ })({
20
+ make: RuntimeEnvironment_Lambda$ReventlessAws.make,
21
+ groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
22
+ extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
23
+ asEventHandler: prim => prim,
24
+ asEffectHandler: prim => prim
25
+ })(CommandGeneratorResolvers_AppSync$ReventlessAws)({
26
+ make: CommandTopicChannel_SQS_Sync$ReventlessAws.make
27
+ })(EventLogStorage_DynamoDbStream$ReventlessAws)(EventTopicPublisher_DynamoDbStream$ReventlessAws)({
28
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
29
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
30
+ })({
31
+ CommandTopicChannel: {
32
+ make: CommandTopicChannel_SQS_Sync$ReventlessAws.make
33
+ },
34
+ EventCollectorChannel: {
35
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
36
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
37
+ },
38
+ forCommandGenerator: AggregateRuntime_Builder_Single$ReventlessAws.forCommandGenerator,
39
+ forCommandTopic: AggregateRuntime_Builder_Single$ReventlessAws.forCommandTopic,
40
+ forEventCollector: AggregateRuntime_Builder_Single$ReventlessAws.forEventCollector,
41
+ finish: AggregateRuntime_Builder_Single$ReventlessAws.finish
42
+ })(Plugin_Helpers$ReventlessCore.NoopHooksConfig);
43
+ let make = (api, opts) => {
44
+ let aggregate = Inner.make(api, opts);
45
+ let eventLogOutputs = Inner.outputs(aggregate).eventLog;
46
+ let tableResource = eventLogOutputs.resources[0];
47
+ let eventLogTableName = tableResource.name;
48
+ AggregateRuntime_Builder_Single$ReventlessAws.registerAggregate(Spec.name, Util_Bundle$ReventlessAws.getModuleSpecifier(Spec.moduleUrl), Util_Bundle$ReventlessAws.getModuleSpecifier(Behavior.moduleUrl), eventLogTableName);
49
+ return aggregate;
50
+ };
51
+ let finish = () => AggregateRuntime_Builder_Single$ReventlessAws.finish();
52
+ return {
53
+ Spec: Spec,
54
+ make: make,
55
+ outputs: Inner.outputs,
56
+ operations: Inner.operations,
57
+ finish: finish
58
+ };
59
+ });
60
+ }
61
+
62
+ let CommandGeneratorResolvers;
63
+
64
+ let CommandTopicChannel;
65
+
66
+ let EventCollectorChannel;
67
+
68
+ let RuntimeEnvironment;
69
+
70
+ let AggregateRuntimeBuilder;
71
+
72
+ export {
73
+ CommandGeneratorResolvers,
74
+ CommandTopicChannel,
75
+ EventCollectorChannel,
76
+ RuntimeEnvironment,
77
+ AggregateRuntimeBuilder,
78
+ Make,
79
+ }
80
+ /* Util_Bundle-ReventlessAws Not a pure module */
@@ -0,0 +1,59 @@
1
+ module CommandGeneratorResolvers = CommandGeneratorResolvers.AppSync
2
+ module CommandTopicChannel = CommandTopicChannel.SQS_Async
3
+ module EventCollectorChannel = EventCollectorChannel.DynamoDbStream
4
+ module RuntimeEnvironment = RuntimeEnvironment.Lambda
5
+
6
+ module AggregateRuntimeBuilder = AggregateRuntime_Builder_Single_Async
7
+
8
+ module Make = (
9
+ Spec: Reventless.Aggregate.Spec,
10
+ Behavior: Reventless.Behavior.T with module Spec := Spec,
11
+ EventMappings: ReventlessInfra.EventMapper.Mappings with module Target := Spec,
12
+ ): (
13
+ ReventlessInfra.Aggregate.T
14
+ with type api = CommandGeneratorResolvers.api
15
+ and type component = ReventlessCore.Aggregate.component
16
+ ) => {
17
+ module Inner = ReventlessCore.Aggregate_Builder.Make(
18
+ Spec,
19
+ Behavior,
20
+ EventMappings,
21
+ RuntimeEnvironment,
22
+ CommandGeneratorResolvers,
23
+ CommandTopicChannel,
24
+ EventLogStorage.DynamoDbStream,
25
+ EventTopicPublisher.DynamoDbStream,
26
+ EventCollectorChannel,
27
+ AggregateRuntimeBuilder,
28
+ ReventlessCore.Plugin_Helpers.NoopHooksConfig,
29
+ )
30
+
31
+ module Spec = Spec
32
+ module AggregateRuntimeBuilder = AggregateRuntimeBuilder
33
+
34
+ type api = Inner.api
35
+ type component = Inner.component
36
+
37
+ let make = (~api, ~opts=?): component => {
38
+ let aggregate = Inner.make(~api, ~opts?)
39
+
40
+ // Extract the event log table name from the aggregate's outputs.
41
+ // EventLog.outputs.resources[0] is the DynamoDB table resource.
42
+ let eventLogOutputs = (aggregate->Inner.outputs).eventLog
43
+ let tableResource = eventLogOutputs.resources->Array.getUnsafe(0)
44
+ let eventLogTableName = tableResource.name
45
+
46
+ AggregateRuntimeBuilder.registerAggregate(
47
+ ~aggregateName=Spec.name,
48
+ ~specModulePath=Util_Bundle.getModuleSpecifier(Spec.moduleUrl),
49
+ ~behaviorModulePath=Util_Bundle.getModuleSpecifier(Behavior.moduleUrl),
50
+ ~eventLogTableName,
51
+ )
52
+
53
+ aggregate
54
+ }
55
+
56
+ let outputs = Inner.outputs
57
+ let operations = Inner.operations
58
+ let finish = () => AggregateRuntimeBuilder.finish()
59
+ }