@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
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
4
+ import * as Pulumi from "@pulumi/pulumi";
5
+ import * as AppSync_Adapter$ReventlessAws from "./Api/AppSync_Adapter.res.mjs";
6
+ import * as Plugin_Builder$ReventlessCore from "@reventlessdev/reventless-core/src/plugin/component/Plugin_Builder.res.mjs";
7
+ import * as Util_ResourceNaming$ReventlessAws from "../util/Util_ResourceNaming.res.mjs";
8
+ import * as QueryEngine_DynamoDb$ReventlessAws from "../adapter/QueryEngine/QueryEngine_DynamoDb.res.mjs";
9
+ import * as PluginRuntime_Builder$ReventlessAws from "../plugin/runtime/PluginRuntime_Builder.res.mjs";
10
+ import * as PluginRuntimeOperations$ReventlessAws from "../plugin/runtime/PluginRuntimeOperations.res.mjs";
11
+ import * as EventCollectorChannel_SQS$ReventlessAws from "../adapter/EventCollector/EventCollectorChannel_SQS.res.mjs";
12
+ import * as RuntimeEnvironment_Lambda$ReventlessAws from "../adapter/Runtime/RuntimeEnvironment_Lambda.res.mjs";
13
+ import * as DcbEventLogStorage_DynamoDb$ReventlessAws from "../adapter/DcbEventLog/DcbEventLogStorage_DynamoDb.res.mjs";
14
+ import * as CommandTopicChannel_SQS_Sync$ReventlessAws from "../adapter/CommandTopic/CommandTopicChannel_SQS_Sync.res.mjs";
15
+ import * as CommandTopicChannel_SQS_Async$ReventlessAws from "../adapter/CommandTopic/CommandTopicChannel_SQS_Async.res.mjs";
16
+ import * as CommandTopicRemoteChannel_SQS$ReventlessAws from "../adapter/CommandTopic/CommandTopicRemoteChannel_SQS.res.mjs";
17
+ import * as HeartbeatRunner_CloudWatchEvents$ReventlessAws from "../plugin/heartbeat/HeartbeatRunner_CloudWatchEvents.res.mjs";
18
+ import * as EventTopicPublisher_DynamoDbStream$ReventlessAws from "../adapter/EventTopic/EventTopicPublisher_DynamoDbStream.res.mjs";
19
+
20
+ function Make(HooksConfig) {
21
+ let environment = Stdlib_Option.getOr(process.env.Environment, "unknown");
22
+ let platformName = Pulumi.getProject();
23
+ return Plugin_Builder$ReventlessCore.Make({
24
+ runtimeOps: PluginRuntimeOperations$ReventlessAws.operations,
25
+ resourceNaming: Util_ResourceNaming$ReventlessAws.operations,
26
+ environment: environment,
27
+ platformName: platformName,
28
+ hooks: HooksConfig.hooks
29
+ })({})({
30
+ makeApiResource: AppSync_Adapter$ReventlessAws.makeApiResource,
31
+ generateFragment: AppSync_Adapter$ReventlessAws.generateFragment,
32
+ updateSchema: AppSync_Adapter$ReventlessAws.updateSchema
33
+ })({
34
+ make: RuntimeEnvironment_Lambda$ReventlessAws.make,
35
+ groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
36
+ extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
37
+ asEventHandler: prim => prim,
38
+ asEffectHandler: prim => prim
39
+ })({
40
+ make: EventCollectorChannel_SQS$ReventlessAws.make,
41
+ connect: EventCollectorChannel_SQS$ReventlessAws.connect
42
+ })({
43
+ make: QueryEngine_DynamoDb$ReventlessAws.make
44
+ })(CommandTopicRemoteChannel_SQS$ReventlessAws)(HeartbeatRunner_CloudWatchEvents$ReventlessAws)(PluginRuntime_Builder$ReventlessAws.Make({
45
+ make: EventCollectorChannel_SQS$ReventlessAws.make,
46
+ connect: EventCollectorChannel_SQS$ReventlessAws.connect
47
+ }))(DcbEventLogStorage_DynamoDb$ReventlessAws)(EventTopicPublisher_DynamoDbStream$ReventlessAws)({
48
+ make: CommandTopicChannel_SQS_Sync$ReventlessAws.make
49
+ })({
50
+ make: CommandTopicChannel_SQS_Async$ReventlessAws.make
51
+ });
52
+ }
53
+
54
+ let EventCollectorChannel;
55
+
56
+ let RuntimeEnvironment;
57
+
58
+ export {
59
+ EventCollectorChannel,
60
+ RuntimeEnvironment,
61
+ Make,
62
+ }
63
+ /* @pulumi/pulumi Not a pure module */
@@ -0,0 +1 @@
1
+ include ReadModel_Builder_Single
@@ -0,0 +1,19 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as ReadModel_Builder_Single$ReventlessAws from "./ReadModel_Builder_Single.res.mjs";
4
+
5
+ let EventCollectorChannel = ReadModel_Builder_Single$ReventlessAws.EventCollectorChannel;
6
+
7
+ let RuntimeEnvironment = ReadModel_Builder_Single$ReventlessAws.RuntimeEnvironment;
8
+
9
+ let EventCollectorRuntimeBuilder = ReadModel_Builder_Single$ReventlessAws.EventCollectorRuntimeBuilder;
10
+
11
+ let Make = ReadModel_Builder_Single$ReventlessAws.Make;
12
+
13
+ export {
14
+ EventCollectorChannel,
15
+ RuntimeEnvironment,
16
+ EventCollectorRuntimeBuilder,
17
+ Make,
18
+ }
19
+ /* ReadModel_Builder_Single-ReventlessAws Not a pure module */
@@ -0,0 +1,55 @@
1
+ // ReadModel builder that creates the QueryDb DynamoDB table and EventCollector
2
+ // but NO AppSync resolvers. Used for admin-internal read models (e.g. Plugin)
3
+ // that are accessed only via queryEngine at runtime, not through GraphQL API.
4
+
5
+ module EventCollectorChannel = EventCollectorChannel.DynamoDbStream
6
+ module RuntimeEnvironment = RuntimeEnvironment.Lambda
7
+ module EventCollectorRuntimeBuilder = EventCollectorRuntime_Builder_Single
8
+
9
+ module Make = (
10
+ Spec: Reventless.ReadModel.Spec,
11
+ Mappings: Reventless.Projection.Mappings with module Target := Spec,
12
+ ): (
13
+ ReventlessInfra.ReadModel.T
14
+ with module Spec = Spec
15
+ and type api = Types.AppSync.api
16
+ and type role = Types.AppSync.role
17
+ ) => {
18
+ module Inner = ReventlessCore.ReadModel_Builder.Make(
19
+ Spec,
20
+ Mappings,
21
+ RuntimeEnvironment,
22
+ QueryDbStorage.DynamoDb,
23
+ QueryDbResolvers_AppSync_NoOp,
24
+ EventCollectorChannel,
25
+ EventCollectorRuntimeBuilder,
26
+ )
27
+
28
+ module Spec = Inner.Spec
29
+ module EventCollectorRuntimeBuilder = EventCollectorRuntimeBuilder
30
+
31
+ type api = Inner.api
32
+ type role = Inner.role
33
+ type component = Inner.component
34
+ let make = (~api, ~apiRole, ~allEventTopics, ~opts=?): component => {
35
+ let readModel = Inner.make(~api, ~apiRole, ~allEventTopics, ~opts?)
36
+
37
+ let queryDbOutputs = (readModel->Inner.outputs).queryDb
38
+ let tableResource = queryDbOutputs.resources->Array.getUnsafe(0)
39
+ let queryDbTableName = tableResource.name
40
+
41
+ EventCollectorRuntimeBuilder.registerReadModel(
42
+ ~readModelName=Spec.name,
43
+ ~specModulePath=Util_Bundle.getModuleSpecifier(Spec.moduleUrl),
44
+ ~mappingsModulePath=Util_Bundle.getModuleSpecifier(Mappings.moduleUrl),
45
+ ~queryDbTableName,
46
+ )
47
+
48
+ readModel
49
+ }
50
+
51
+ let sourceNames = Inner.sourceNames
52
+ let outputs = Inner.outputs
53
+ let operations = Inner.operations
54
+ let finish = () => EventCollectorRuntimeBuilder.finish()
55
+ }
@@ -0,0 +1,64 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Util_Bundle$ReventlessAws from "../util/Util_Bundle.res.mjs";
4
+ import * as ReadModel_Builder$ReventlessCore from "@reventlessdev/reventless-core/src/components/ReadModel/ReadModel_Builder.res.mjs";
5
+ import * as QueryDbStorage_DynamoDb$ReventlessAws from "../adapter/QueryDb/QueryDbStorage_DynamoDb.res.mjs";
6
+ import * as RuntimeEnvironment_Lambda$ReventlessAws from "../adapter/Runtime/RuntimeEnvironment_Lambda.res.mjs";
7
+ import * as QueryDbResolvers_AppSync_NoOp$ReventlessAws from "../adapter/QueryDb/QueryDbResolvers_AppSync_NoOp.res.mjs";
8
+ import * as EventCollectorChannel_DynamoDbStream$ReventlessAws from "../adapter/EventCollector/EventCollectorChannel_DynamoDbStream.res.mjs";
9
+ import * as EventCollectorRuntime_Builder_Single$ReventlessAws from "../adapter/Runtime/EventCollectorRuntime_Builder_Single.res.mjs";
10
+
11
+ function Make(Spec) {
12
+ return Mappings => {
13
+ let Inner = ReadModel_Builder$ReventlessCore.Make(Spec)(Mappings)({
14
+ make: RuntimeEnvironment_Lambda$ReventlessAws.make,
15
+ groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
16
+ extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
17
+ asEventHandler: prim => prim,
18
+ asEffectHandler: prim => prim
19
+ })({
20
+ make: QueryDbStorage_DynamoDb$ReventlessAws.make
21
+ })(QueryDbResolvers_AppSync_NoOp$ReventlessAws)({
22
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
23
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
24
+ })({
25
+ EventCollectorChannel: {
26
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
27
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
28
+ },
29
+ forEventCollector: EventCollectorRuntime_Builder_Single$ReventlessAws.forEventCollector,
30
+ finish: EventCollectorRuntime_Builder_Single$ReventlessAws.finish
31
+ });
32
+ let make = (api, apiRole, allEventTopics, opts) => {
33
+ let readModel = Inner.make(api, apiRole, allEventTopics, opts);
34
+ let queryDbOutputs = Inner.outputs(readModel).queryDb;
35
+ let tableResource = queryDbOutputs.resources[0];
36
+ let queryDbTableName = tableResource.name;
37
+ EventCollectorRuntime_Builder_Single$ReventlessAws.registerReadModel(Inner.Spec.name, Util_Bundle$ReventlessAws.getModuleSpecifier(Inner.Spec.moduleUrl), Util_Bundle$ReventlessAws.getModuleSpecifier(Mappings.moduleUrl), queryDbTableName);
38
+ return readModel;
39
+ };
40
+ let finish = () => EventCollectorRuntime_Builder_Single$ReventlessAws.finish();
41
+ return {
42
+ Spec: Inner.Spec,
43
+ sourceNames: Inner.sourceNames,
44
+ make: make,
45
+ outputs: Inner.outputs,
46
+ operations: Inner.operations,
47
+ finish: finish
48
+ };
49
+ };
50
+ }
51
+
52
+ let EventCollectorChannel;
53
+
54
+ let RuntimeEnvironment;
55
+
56
+ let EventCollectorRuntimeBuilder;
57
+
58
+ export {
59
+ EventCollectorChannel,
60
+ RuntimeEnvironment,
61
+ EventCollectorRuntimeBuilder,
62
+ Make,
63
+ }
64
+ /* Util_Bundle-ReventlessAws Not a pure module */
@@ -0,0 +1,60 @@
1
+ // ReadModel builder that creates the QueryDb DynamoDB table (stream-enabled)
2
+ // and EventCollector but NO AppSync resolvers. Used for admin-internal read
3
+ // models whose GraphQL field is served by a custom Lambda (e.g.
4
+ // `Platform_UIFragments` → `Platform_UIFragments_Lambda`) yet still need to
5
+ // participate in Source B (AppSync Events) live updates via the shared
6
+ // StateTopic Lambda. The stream storage maker registers the read model in
7
+ // `QueryDbStorage_DynamoDbStream.streamRegistry` on make, which is how
8
+ // `subscriptionInfraHook` knows to create / register the stream entry.
9
+
10
+ module EventCollectorChannel = EventCollectorChannel.DynamoDbStream
11
+ module RuntimeEnvironment = RuntimeEnvironment.Lambda
12
+ module EventCollectorRuntimeBuilder = EventCollectorRuntime_Builder_Single
13
+
14
+ module Make = (
15
+ Spec: Reventless.ReadModel.Spec,
16
+ Mappings: Reventless.Projection.Mappings with module Target := Spec,
17
+ ): (
18
+ ReventlessInfra.ReadModel.T
19
+ with module Spec = Spec
20
+ and type api = Types.AppSync.api
21
+ and type role = Types.AppSync.role
22
+ ) => {
23
+ module Inner = ReventlessCore.ReadModel_Builder.Make(
24
+ Spec,
25
+ Mappings,
26
+ RuntimeEnvironment,
27
+ QueryDbStorage_DynamoDbStream,
28
+ QueryDbResolvers_AppSync_NoOp,
29
+ EventCollectorChannel,
30
+ EventCollectorRuntimeBuilder,
31
+ )
32
+
33
+ module Spec = Inner.Spec
34
+ module EventCollectorRuntimeBuilder = EventCollectorRuntimeBuilder
35
+
36
+ type api = Inner.api
37
+ type role = Inner.role
38
+ type component = Inner.component
39
+ let make = (~api, ~apiRole, ~allEventTopics, ~opts=?): component => {
40
+ let readModel = Inner.make(~api, ~apiRole, ~allEventTopics, ~opts?)
41
+
42
+ let queryDbOutputs = (readModel->Inner.outputs).queryDb
43
+ let tableResource = queryDbOutputs.resources->Array.getUnsafe(0)
44
+ let queryDbTableName = tableResource.name
45
+
46
+ EventCollectorRuntimeBuilder.registerReadModel(
47
+ ~readModelName=Spec.name,
48
+ ~specModulePath=Util_Bundle.getModuleSpecifier(Spec.moduleUrl),
49
+ ~mappingsModulePath=Util_Bundle.getModuleSpecifier(Mappings.moduleUrl),
50
+ ~queryDbTableName,
51
+ )
52
+
53
+ readModel
54
+ }
55
+
56
+ let sourceNames = Inner.sourceNames
57
+ let outputs = Inner.outputs
58
+ let operations = Inner.operations
59
+ let finish = () => EventCollectorRuntimeBuilder.finish()
60
+ }
@@ -0,0 +1,64 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Util_Bundle$ReventlessAws from "../util/Util_Bundle.res.mjs";
4
+ import * as ReadModel_Builder$ReventlessCore from "@reventlessdev/reventless-core/src/components/ReadModel/ReadModel_Builder.res.mjs";
5
+ import * as RuntimeEnvironment_Lambda$ReventlessAws from "../adapter/Runtime/RuntimeEnvironment_Lambda.res.mjs";
6
+ import * as QueryDbResolvers_AppSync_NoOp$ReventlessAws from "../adapter/QueryDb/QueryDbResolvers_AppSync_NoOp.res.mjs";
7
+ import * as QueryDbStorage_DynamoDbStream$ReventlessAws from "../adapter/QueryDb/QueryDbStorage_DynamoDbStream.res.mjs";
8
+ import * as EventCollectorChannel_DynamoDbStream$ReventlessAws from "../adapter/EventCollector/EventCollectorChannel_DynamoDbStream.res.mjs";
9
+ import * as EventCollectorRuntime_Builder_Single$ReventlessAws from "../adapter/Runtime/EventCollectorRuntime_Builder_Single.res.mjs";
10
+
11
+ function Make(Spec) {
12
+ return Mappings => {
13
+ let Inner = ReadModel_Builder$ReventlessCore.Make(Spec)(Mappings)({
14
+ make: RuntimeEnvironment_Lambda$ReventlessAws.make,
15
+ groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
16
+ extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
17
+ asEventHandler: prim => prim,
18
+ asEffectHandler: prim => prim
19
+ })({
20
+ make: QueryDbStorage_DynamoDbStream$ReventlessAws.make
21
+ })(QueryDbResolvers_AppSync_NoOp$ReventlessAws)({
22
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
23
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
24
+ })({
25
+ EventCollectorChannel: {
26
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
27
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
28
+ },
29
+ forEventCollector: EventCollectorRuntime_Builder_Single$ReventlessAws.forEventCollector,
30
+ finish: EventCollectorRuntime_Builder_Single$ReventlessAws.finish
31
+ });
32
+ let make = (api, apiRole, allEventTopics, opts) => {
33
+ let readModel = Inner.make(api, apiRole, allEventTopics, opts);
34
+ let queryDbOutputs = Inner.outputs(readModel).queryDb;
35
+ let tableResource = queryDbOutputs.resources[0];
36
+ let queryDbTableName = tableResource.name;
37
+ EventCollectorRuntime_Builder_Single$ReventlessAws.registerReadModel(Inner.Spec.name, Util_Bundle$ReventlessAws.getModuleSpecifier(Inner.Spec.moduleUrl), Util_Bundle$ReventlessAws.getModuleSpecifier(Mappings.moduleUrl), queryDbTableName);
38
+ return readModel;
39
+ };
40
+ let finish = () => EventCollectorRuntime_Builder_Single$ReventlessAws.finish();
41
+ return {
42
+ Spec: Inner.Spec,
43
+ sourceNames: Inner.sourceNames,
44
+ make: make,
45
+ outputs: Inner.outputs,
46
+ operations: Inner.operations,
47
+ finish: finish
48
+ };
49
+ };
50
+ }
51
+
52
+ let EventCollectorChannel;
53
+
54
+ let RuntimeEnvironment;
55
+
56
+ let EventCollectorRuntimeBuilder;
57
+
58
+ export {
59
+ EventCollectorChannel,
60
+ RuntimeEnvironment,
61
+ EventCollectorRuntimeBuilder,
62
+ Make,
63
+ }
64
+ /* Util_Bundle-ReventlessAws Not a pure module */
@@ -0,0 +1,53 @@
1
+ module EventCollectorChannel = EventCollectorChannel.DynamoDbStream
2
+ module RuntimeEnvironment = RuntimeEnvironment.Lambda
3
+
4
+ module EventCollectorRuntimeBuilder = EventCollectorRuntime_Builder_PerEventCollector
5
+
6
+ module Make = (
7
+ Spec: Reventless.ReadModel.Spec,
8
+ Mappings: Reventless.Projection.Mappings with module Target := Spec,
9
+ ): (
10
+ ReventlessInfra.ReadModel.T
11
+ with module Spec = Spec
12
+ and type api = Types.AppSync.api
13
+ and type role = Types.AppSync.role
14
+ ) => {
15
+ module Inner = ReventlessCore.ReadModel_Builder.Make(
16
+ Spec,
17
+ Mappings,
18
+ RuntimeEnvironment,
19
+ QueryDbStorage.DynamoDb,
20
+ QueryDbResolvers.AppSync,
21
+ EventCollectorChannel,
22
+ EventCollectorRuntimeBuilder,
23
+ )
24
+
25
+ module Spec = Inner.Spec
26
+ module EventCollectorRuntimeBuilder = EventCollectorRuntimeBuilder
27
+
28
+ type api = Inner.api
29
+ type role = Inner.role
30
+ type component = Inner.component
31
+
32
+ let make = (~api, ~apiRole, ~allEventTopics, ~opts=?): component => {
33
+ let readModel = Inner.make(~api, ~apiRole, ~allEventTopics, ~opts?)
34
+
35
+ let queryDbOutputs = (readModel->Inner.outputs).queryDb
36
+ let tableResource = queryDbOutputs.resources->Array.getUnsafe(0)
37
+ let queryDbTableName = tableResource.name
38
+
39
+ EventCollectorRuntimeBuilder.registerReadModel(
40
+ ~readModelName=Spec.name,
41
+ ~specModulePath=Util_Bundle.getModuleSpecifier(Spec.moduleUrl),
42
+ ~mappingsModulePath=Util_Bundle.getModuleSpecifier(Mappings.moduleUrl),
43
+ ~queryDbTableName,
44
+ )
45
+
46
+ readModel
47
+ }
48
+
49
+ let sourceNames = Inner.sourceNames
50
+ let outputs = Inner.outputs
51
+ let operations = Inner.operations
52
+ let finish = () => EventCollectorRuntimeBuilder.finish()
53
+ }
@@ -0,0 +1,66 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Util_Bundle$ReventlessAws from "../util/Util_Bundle.res.mjs";
4
+ import * as ReadModel_Builder$ReventlessCore from "@reventlessdev/reventless-core/src/components/ReadModel/ReadModel_Builder.res.mjs";
5
+ import * as QueryDbStorage_DynamoDb$ReventlessAws from "../adapter/QueryDb/QueryDbStorage_DynamoDb.res.mjs";
6
+ import * as QueryDbResolvers_AppSync$ReventlessAws from "../adapter/QueryDb/QueryDbResolvers_AppSync.res.mjs";
7
+ import * as RuntimeEnvironment_Lambda$ReventlessAws from "../adapter/Runtime/RuntimeEnvironment_Lambda.res.mjs";
8
+ import * as EventCollectorChannel_DynamoDbStream$ReventlessAws from "../adapter/EventCollector/EventCollectorChannel_DynamoDbStream.res.mjs";
9
+ import * as EventCollectorRuntime_Builder_PerEventCollector$ReventlessAws from "../adapter/Runtime/EventCollectorRuntime_Builder_PerEventCollector.res.mjs";
10
+
11
+ function Make(Spec) {
12
+ return Mappings => {
13
+ let Inner = ReadModel_Builder$ReventlessCore.Make(Spec)(Mappings)({
14
+ make: RuntimeEnvironment_Lambda$ReventlessAws.make,
15
+ groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
16
+ extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
17
+ asEventHandler: prim => prim,
18
+ asEffectHandler: prim => prim
19
+ })({
20
+ make: QueryDbStorage_DynamoDb$ReventlessAws.make
21
+ })({
22
+ make: QueryDbResolvers_AppSync$ReventlessAws.make
23
+ })({
24
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
25
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
26
+ })({
27
+ EventCollectorChannel: {
28
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
29
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
30
+ },
31
+ forEventCollector: EventCollectorRuntime_Builder_PerEventCollector$ReventlessAws.forEventCollector,
32
+ finish: EventCollectorRuntime_Builder_PerEventCollector$ReventlessAws.finish
33
+ });
34
+ let make = (api, apiRole, allEventTopics, opts) => {
35
+ let readModel = Inner.make(api, apiRole, allEventTopics, opts);
36
+ let queryDbOutputs = Inner.outputs(readModel).queryDb;
37
+ let tableResource = queryDbOutputs.resources[0];
38
+ let queryDbTableName = tableResource.name;
39
+ EventCollectorRuntime_Builder_PerEventCollector$ReventlessAws.registerReadModel(Inner.Spec.name, Util_Bundle$ReventlessAws.getModuleSpecifier(Inner.Spec.moduleUrl), Util_Bundle$ReventlessAws.getModuleSpecifier(Mappings.moduleUrl), queryDbTableName);
40
+ return readModel;
41
+ };
42
+ let finish = () => EventCollectorRuntime_Builder_PerEventCollector$ReventlessAws.finish();
43
+ return {
44
+ Spec: Inner.Spec,
45
+ sourceNames: Inner.sourceNames,
46
+ make: make,
47
+ outputs: Inner.outputs,
48
+ operations: Inner.operations,
49
+ finish: finish
50
+ };
51
+ };
52
+ }
53
+
54
+ let EventCollectorChannel;
55
+
56
+ let RuntimeEnvironment;
57
+
58
+ let EventCollectorRuntimeBuilder;
59
+
60
+ export {
61
+ EventCollectorChannel,
62
+ RuntimeEnvironment,
63
+ EventCollectorRuntimeBuilder,
64
+ Make,
65
+ }
66
+ /* Util_Bundle-ReventlessAws Not a pure module */
@@ -0,0 +1,52 @@
1
+ module EventCollectorChannel = EventCollectorChannel.DynamoDbStream
2
+ module RuntimeEnvironment = RuntimeEnvironment.Lambda
3
+
4
+ module EventCollectorRuntimeBuilder = EventCollectorRuntime_Builder_Single
5
+
6
+ module Make = (
7
+ Spec: Reventless.ReadModel.Spec,
8
+ Mappings: Reventless.Projection.Mappings with module Target := Spec,
9
+ ): (
10
+ ReventlessInfra.ReadModel.T
11
+ with module Spec = Spec
12
+ and type api = Types.AppSync.api
13
+ and type role = Types.AppSync.role
14
+ ) => {
15
+ module Inner = ReventlessCore.ReadModel_Builder.Make(
16
+ Spec,
17
+ Mappings,
18
+ RuntimeEnvironment,
19
+ QueryDbStorage.DynamoDb,
20
+ QueryDbResolvers.AppSync,
21
+ EventCollectorChannel,
22
+ EventCollectorRuntimeBuilder,
23
+ )
24
+
25
+ module Spec = Inner.Spec
26
+ module EventCollectorRuntimeBuilder = EventCollectorRuntimeBuilder
27
+
28
+ type api = Inner.api
29
+ type role = Inner.role
30
+ type component = Inner.component
31
+ let make = (~api, ~apiRole, ~allEventTopics, ~opts=?): component => {
32
+ let readModel = Inner.make(~api, ~apiRole, ~allEventTopics, ~opts?)
33
+
34
+ let queryDbOutputs = (readModel->Inner.outputs).queryDb
35
+ let tableResource = queryDbOutputs.resources->Array.getUnsafe(0)
36
+ let queryDbTableName = tableResource.name
37
+
38
+ EventCollectorRuntimeBuilder.registerReadModel(
39
+ ~readModelName=Spec.name,
40
+ ~specModulePath=Util_Bundle.getModuleSpecifier(Spec.moduleUrl),
41
+ ~mappingsModulePath=Util_Bundle.getModuleSpecifier(Mappings.moduleUrl),
42
+ ~queryDbTableName,
43
+ )
44
+
45
+ readModel
46
+ }
47
+
48
+ let sourceNames = Inner.sourceNames
49
+ let outputs = Inner.outputs
50
+ let operations = Inner.operations
51
+ let finish = () => EventCollectorRuntimeBuilder.finish()
52
+ }
@@ -0,0 +1,66 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Util_Bundle$ReventlessAws from "../util/Util_Bundle.res.mjs";
4
+ import * as ReadModel_Builder$ReventlessCore from "@reventlessdev/reventless-core/src/components/ReadModel/ReadModel_Builder.res.mjs";
5
+ import * as QueryDbStorage_DynamoDb$ReventlessAws from "../adapter/QueryDb/QueryDbStorage_DynamoDb.res.mjs";
6
+ import * as QueryDbResolvers_AppSync$ReventlessAws from "../adapter/QueryDb/QueryDbResolvers_AppSync.res.mjs";
7
+ import * as RuntimeEnvironment_Lambda$ReventlessAws from "../adapter/Runtime/RuntimeEnvironment_Lambda.res.mjs";
8
+ import * as EventCollectorChannel_DynamoDbStream$ReventlessAws from "../adapter/EventCollector/EventCollectorChannel_DynamoDbStream.res.mjs";
9
+ import * as EventCollectorRuntime_Builder_Single$ReventlessAws from "../adapter/Runtime/EventCollectorRuntime_Builder_Single.res.mjs";
10
+
11
+ function Make(Spec) {
12
+ return Mappings => {
13
+ let Inner = ReadModel_Builder$ReventlessCore.Make(Spec)(Mappings)({
14
+ make: RuntimeEnvironment_Lambda$ReventlessAws.make,
15
+ groupBySource: RuntimeEnvironment_Lambda$ReventlessAws.groupBySource,
16
+ extractCorrelationId: RuntimeEnvironment_Lambda$ReventlessAws.extractCorrelationId,
17
+ asEventHandler: prim => prim,
18
+ asEffectHandler: prim => prim
19
+ })({
20
+ make: QueryDbStorage_DynamoDb$ReventlessAws.make
21
+ })({
22
+ make: QueryDbResolvers_AppSync$ReventlessAws.make
23
+ })({
24
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
25
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
26
+ })({
27
+ EventCollectorChannel: {
28
+ make: EventCollectorChannel_DynamoDbStream$ReventlessAws.make,
29
+ connect: EventCollectorChannel_DynamoDbStream$ReventlessAws.connect
30
+ },
31
+ forEventCollector: EventCollectorRuntime_Builder_Single$ReventlessAws.forEventCollector,
32
+ finish: EventCollectorRuntime_Builder_Single$ReventlessAws.finish
33
+ });
34
+ let make = (api, apiRole, allEventTopics, opts) => {
35
+ let readModel = Inner.make(api, apiRole, allEventTopics, opts);
36
+ let queryDbOutputs = Inner.outputs(readModel).queryDb;
37
+ let tableResource = queryDbOutputs.resources[0];
38
+ let queryDbTableName = tableResource.name;
39
+ EventCollectorRuntime_Builder_Single$ReventlessAws.registerReadModel(Inner.Spec.name, Util_Bundle$ReventlessAws.getModuleSpecifier(Inner.Spec.moduleUrl), Util_Bundle$ReventlessAws.getModuleSpecifier(Mappings.moduleUrl), queryDbTableName);
40
+ return readModel;
41
+ };
42
+ let finish = () => EventCollectorRuntime_Builder_Single$ReventlessAws.finish();
43
+ return {
44
+ Spec: Inner.Spec,
45
+ sourceNames: Inner.sourceNames,
46
+ make: make,
47
+ outputs: Inner.outputs,
48
+ operations: Inner.operations,
49
+ finish: finish
50
+ };
51
+ };
52
+ }
53
+
54
+ let EventCollectorChannel;
55
+
56
+ let RuntimeEnvironment;
57
+
58
+ let EventCollectorRuntimeBuilder;
59
+
60
+ export {
61
+ EventCollectorChannel,
62
+ RuntimeEnvironment,
63
+ EventCollectorRuntimeBuilder,
64
+ Make,
65
+ }
66
+ /* Util_Bundle-ReventlessAws Not a pure module */
@@ -0,0 +1,60 @@
1
+ // ReadModel_Builder_Single_Stream (AWS)
2
+ // Like ReadModel_Builder_Single but uses QueryDbStorage_DynamoDbStream so the
3
+ // QueryDb table has a DynamoDB Stream enabled. The platform's subscriptionInfraHook
4
+ // then wires a StateTopic_AppSync Lambda that pushes row changes to the AppSync
5
+ // Events API (Source B subscriptions / AutoUI live updates). The stream storage
6
+ // maker registers the read model in QueryDbStorage_DynamoDbStream.streamRegistry
7
+ // on make, which is how subscriptionInfraHook knows to create the Lambda.
8
+
9
+ module EventCollectorChannel = EventCollectorChannel.DynamoDbStream
10
+ module RuntimeEnvironment = RuntimeEnvironment.Lambda
11
+
12
+ module EventCollectorRuntimeBuilder = EventCollectorRuntime_Builder_Single
13
+
14
+ module Make = (
15
+ Spec: Reventless.ReadModel.Spec,
16
+ Mappings: Reventless.Projection.Mappings with module Target := Spec,
17
+ ): (
18
+ ReventlessInfra.ReadModel.T
19
+ with module Spec = Spec
20
+ and type api = Types.AppSync.api
21
+ and type role = Types.AppSync.role
22
+ ) => {
23
+ module Inner = ReventlessCore.ReadModel_Builder.Make(
24
+ Spec,
25
+ Mappings,
26
+ RuntimeEnvironment,
27
+ QueryDbStorage_DynamoDbStream,
28
+ QueryDbResolvers.AppSync,
29
+ EventCollectorChannel,
30
+ EventCollectorRuntimeBuilder,
31
+ )
32
+
33
+ module Spec = Inner.Spec
34
+ module EventCollectorRuntimeBuilder = EventCollectorRuntimeBuilder
35
+
36
+ type api = Inner.api
37
+ type role = Inner.role
38
+ type component = Inner.component
39
+ let make = (~api, ~apiRole, ~allEventTopics, ~opts=?): component => {
40
+ let readModel = Inner.make(~api, ~apiRole, ~allEventTopics, ~opts?)
41
+
42
+ let queryDbOutputs = (readModel->Inner.outputs).queryDb
43
+ let tableResource = queryDbOutputs.resources->Array.getUnsafe(0)
44
+ let queryDbTableName = tableResource.name
45
+
46
+ EventCollectorRuntimeBuilder.registerReadModel(
47
+ ~readModelName=Spec.name,
48
+ ~specModulePath=Util_Bundle.getModuleSpecifier(Spec.moduleUrl),
49
+ ~mappingsModulePath=Util_Bundle.getModuleSpecifier(Mappings.moduleUrl),
50
+ ~queryDbTableName,
51
+ )
52
+
53
+ readModel
54
+ }
55
+
56
+ let sourceNames = Inner.sourceNames
57
+ let outputs = Inner.outputs
58
+ let operations = Inner.operations
59
+ let finish = () => EventCollectorRuntimeBuilder.finish()
60
+ }