@reventlessdev/reventless-core 3.0.0-alpha.134

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 (502) hide show
  1. package/CHANGELOG.md +1355 -0
  2. package/LICENSE +202 -0
  3. package/README.md +173 -0
  4. package/__mocks__/emptyModule.js +2 -0
  5. package/jest.setup.cjs +5 -0
  6. package/package.json +73 -0
  7. package/rescript.json +41 -0
  8. package/scripts/deploy.sh +6 -0
  9. package/scripts/post-deploy.sh +5 -0
  10. package/scripts/pre-deploy.sh +18 -0
  11. package/scripts/pulumi-up.sh +30 -0
  12. package/src/Behavior.res +18 -0
  13. package/src/Behavior.res.mjs +2 -0
  14. package/src/ComponentType.res +125 -0
  15. package/src/ComponentType.res.mjs +199 -0
  16. package/src/Env.res +5 -0
  17. package/src/Env.res.mjs +2 -0
  18. package/src/Mapper.res +36 -0
  19. package/src/Mapper.res.mjs +18 -0
  20. package/src/Mapper1toN.res +107 -0
  21. package/src/Mapper1toN.res.mjs +2 -0
  22. package/src/MapperNto1.res +78 -0
  23. package/src/MapperNto1.res.mjs +35 -0
  24. package/src/Message.res +353 -0
  25. package/src/Message.res.mjs +418 -0
  26. package/src/PluginRuntimeOperations.res +15 -0
  27. package/src/PluginRuntimeOperations.res.mjs +2 -0
  28. package/src/Projection.res +447 -0
  29. package/src/Projection.res.mjs +712 -0
  30. package/src/ProjectionMapper.res +44 -0
  31. package/src/ProjectionMapper.res.mjs +51 -0
  32. package/src/RequestContext.res +42 -0
  33. package/src/RequestContext.res.mjs +39 -0
  34. package/src/adapter/Adapter.res +178 -0
  35. package/src/adapter/Adapter.res.mjs +201 -0
  36. package/src/adapter/AdapterDeploytime.res +56 -0
  37. package/src/adapter/AdapterDeploytime.res.mjs +42 -0
  38. package/src/adapter/Auth/Auth_Adapter.res +42 -0
  39. package/src/adapter/Auth/Auth_Adapter.res.mjs +2 -0
  40. package/src/adapter/Runtime/AggregateRuntime_Builder.res +22 -0
  41. package/src/adapter/Runtime/AggregateRuntime_Builder.res.mjs +2 -0
  42. package/src/adapter/Runtime/AggregateRuntime_Builder_Common.res +259 -0
  43. package/src/adapter/Runtime/AggregateRuntime_Builder_Common.res.mjs +190 -0
  44. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro.res +92 -0
  45. package/src/adapter/Runtime/AggregateRuntime_Builder_Micro.res.mjs +59 -0
  46. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate.res +52 -0
  47. package/src/adapter/Runtime/AggregateRuntime_Builder_PerAggregate.res.mjs +49 -0
  48. package/src/adapter/Runtime/AggregateRuntime_Builder_Single.res +64 -0
  49. package/src/adapter/Runtime/AggregateRuntime_Builder_Single.res.mjs +59 -0
  50. package/src/adapter/Runtime/EventCollectorRuntime_Builder.res +11 -0
  51. package/src/adapter/Runtime/EventCollectorRuntime_Builder.res.mjs +2 -0
  52. package/src/adapter/Runtime/EventCollectorRuntime_Builder_PerEventCollector.res +46 -0
  53. package/src/adapter/Runtime/EventCollectorRuntime_Builder_PerEventCollector.res.mjs +40 -0
  54. package/src/adapter/Runtime/EventCollectorRuntime_Builder_Single.res +204 -0
  55. package/src/adapter/Runtime/EventCollectorRuntime_Builder_Single.res.mjs +150 -0
  56. package/src/adapter/Runtime/ExtensionPointRuntime_Builder.res +18 -0
  57. package/src/adapter/Runtime/ExtensionPointRuntime_Builder.res.mjs +2 -0
  58. package/src/adapter/Runtime/ExtensionPointRuntime_Builder_PerExtensionPoint.res +36 -0
  59. package/src/adapter/Runtime/ExtensionPointRuntime_Builder_PerExtensionPoint.res.mjs +28 -0
  60. package/src/adapter/Runtime/PluginRuntime_Builder.res +23 -0
  61. package/src/adapter/Runtime/PluginRuntime_Builder.res.mjs +2 -0
  62. package/src/adapter/Runtime/PluginRuntime_Builder_Micro.res +97 -0
  63. package/src/adapter/Runtime/PluginRuntime_Builder_Micro.res.mjs +62 -0
  64. package/src/adapter/Runtime/PluginRuntime_Builder_Single.res +89 -0
  65. package/src/adapter/Runtime/PluginRuntime_Builder_Single.res.mjs +62 -0
  66. package/src/adapter/Runtime/Runtime.res +106 -0
  67. package/src/adapter/Runtime/Runtime.res.mjs +22 -0
  68. package/src/adapter/Runtime/TaskRuntime_Builder.res +32 -0
  69. package/src/adapter/Runtime/TaskRuntime_Builder.res.mjs +2 -0
  70. package/src/adapter/Runtime/TaskRuntime_Builder_PerBucket.res +42 -0
  71. package/src/adapter/Runtime/TaskRuntime_Builder_PerBucket.res.mjs +29 -0
  72. package/src/admin/AdminApi.res +88 -0
  73. package/src/admin/AdminApi.res.mjs +89 -0
  74. package/src/admin/Admin_Callback.res +27 -0
  75. package/src/admin/Admin_Callback.res.mjs +20 -0
  76. package/src/admin/Platform_Admin.res +402 -0
  77. package/src/admin/Platform_Admin.res.mjs +250 -0
  78. package/src/admin/Platform_Admin_Structure.res +125 -0
  79. package/src/admin/Platform_Admin_Structure.res.mjs +182 -0
  80. package/src/admin/Platform_ComponentDefinitionsApi.res +160 -0
  81. package/src/admin/Platform_ComponentDefinitionsApi.res.mjs +299 -0
  82. package/src/admin/Platform_UIFragmentsApi.res +55 -0
  83. package/src/admin/Platform_UIFragmentsApi.res.mjs +124 -0
  84. package/src/admin/UIFragmentRegistryProjection.res +43 -0
  85. package/src/admin/UIFragmentRegistryProjection.res.mjs +81 -0
  86. package/src/admin/UIFragmentRegistryReadModelSpec.res +13 -0
  87. package/src/admin/UIFragmentRegistryReadModelSpec.res.mjs +40 -0
  88. package/src/components/Aggregate/Aggregate.res +96 -0
  89. package/src/components/Aggregate/Aggregate.res.mjs +82 -0
  90. package/src/components/Aggregate/Aggregate_Builder.res +175 -0
  91. package/src/components/Aggregate/Aggregate_Builder.res.mjs +119 -0
  92. package/src/components/Aggregate/Aggregate_Callback.res +273 -0
  93. package/src/components/Aggregate/Aggregate_Callback.res.mjs +208 -0
  94. package/src/components/Api/ApiAllowedStatesHelpers.res +19 -0
  95. package/src/components/Api/ApiAllowedStatesHelpers.res.mjs +16 -0
  96. package/src/components/Api/ApiNoApiHelpers.res +13 -0
  97. package/src/components/Api/ApiNoApiHelpers.res.mjs +29 -0
  98. package/src/components/Api/Api_Builder.res +40 -0
  99. package/src/components/Api/Api_Builder.res.mjs +33 -0
  100. package/src/components/Api/Api_Naming.res +92 -0
  101. package/src/components/Api/Api_Naming.res.mjs +103 -0
  102. package/src/components/Api/Api_Operations.res +13 -0
  103. package/src/components/Api/Api_Operations.res.mjs +12 -0
  104. package/src/components/Api/GraphQL_FragmentGenerator.res +612 -0
  105. package/src/components/Api/GraphQL_FragmentGenerator.res.mjs +503 -0
  106. package/src/components/Api/GraphQL_SchemaInspector.res +156 -0
  107. package/src/components/Api/GraphQL_SchemaInspector.res.mjs +123 -0
  108. package/src/components/Api/GraphQL_Stitcher.res +271 -0
  109. package/src/components/Api/GraphQL_Stitcher.res.mjs +229 -0
  110. package/src/components/Api/MCP_SchemaGenerator.res +185 -0
  111. package/src/components/Api/MCP_SchemaGenerator.res.mjs +146 -0
  112. package/src/components/Api/SchemaType.res +126 -0
  113. package/src/components/Api/SchemaType.res.mjs +143 -0
  114. package/src/components/Api/SuryToJsonSchema.res +142 -0
  115. package/src/components/Api/SuryToJsonSchema.res.mjs +210 -0
  116. package/src/components/AutomationSlice/AutomationSlice.res +39 -0
  117. package/src/components/AutomationSlice/AutomationSlice.res.mjs +24 -0
  118. package/src/components/AutomationSlice/AutomationSlice_Builder.res +207 -0
  119. package/src/components/AutomationSlice/AutomationSlice_Builder.res.mjs +123 -0
  120. package/src/components/AutomationSlice/AutomationSlice_Callback.res +212 -0
  121. package/src/components/AutomationSlice/AutomationSlice_Callback.res.mjs +189 -0
  122. package/src/components/Builder_Helpers.res +196 -0
  123. package/src/components/Builder_Helpers.res.mjs +142 -0
  124. package/src/components/Cloner.res +84 -0
  125. package/src/components/Cloner.res.mjs +88 -0
  126. package/src/components/CommandGenerator/CommandGenerator.res +54 -0
  127. package/src/components/CommandGenerator/CommandGenerator.res.mjs +15 -0
  128. package/src/components/CommandGenerator/CommandGenerator_Adapter.res +22 -0
  129. package/src/components/CommandGenerator/CommandGenerator_Adapter.res.mjs +2 -0
  130. package/src/components/CommandGenerator/CommandGenerator_Builder.res +70 -0
  131. package/src/components/CommandGenerator/CommandGenerator_Builder.res.mjs +68 -0
  132. package/src/components/CommandGenerator/CommandGenerator_Callback.res +191 -0
  133. package/src/components/CommandGenerator/CommandGenerator_Callback.res.mjs +161 -0
  134. package/src/components/CommandTopic/CommandTopic.res +79 -0
  135. package/src/components/CommandTopic/CommandTopic.res.mjs +68 -0
  136. package/src/components/CommandTopic/CommandTopic_Adapter.res +53 -0
  137. package/src/components/CommandTopic/CommandTopic_Adapter.res.mjs +2 -0
  138. package/src/components/CommandTopic/CommandTopic_Builder.res +146 -0
  139. package/src/components/CommandTopic/CommandTopic_Builder.res.mjs +127 -0
  140. package/src/components/CommandTopic/CommandTopic_Callback.res +38 -0
  141. package/src/components/CommandTopic/CommandTopic_Callback.res.mjs +49 -0
  142. package/src/components/CommandTopic/CommandTopic_Helpers.res +176 -0
  143. package/src/components/CommandTopic/CommandTopic_Helpers.res.mjs +195 -0
  144. package/src/components/CommandTopic/CommandTopic_Operations.res +40 -0
  145. package/src/components/CommandTopic/CommandTopic_Operations.res.mjs +49 -0
  146. package/src/components/Component.res +1 -0
  147. package/src/components/Component.res.mjs +34 -0
  148. package/src/components/Component.resi +1 -0
  149. package/src/components/Counter/Counter.res +47 -0
  150. package/src/components/Counter/Counter.res.mjs +55 -0
  151. package/src/components/Counter/Counter_Adapter.res +18 -0
  152. package/src/components/Counter/Counter_Adapter.res.mjs +2 -0
  153. package/src/components/Counter/Counter_Builder.res +142 -0
  154. package/src/components/Counter/Counter_Builder.res.mjs +112 -0
  155. package/src/components/Counter/Counter_Callback.res +94 -0
  156. package/src/components/Counter/Counter_Callback.res.mjs +70 -0
  157. package/src/components/Counter/Counter_Operations.res +70 -0
  158. package/src/components/Counter/Counter_Operations.res.mjs +91 -0
  159. package/src/components/Dcb/Dcb_Builder.res +971 -0
  160. package/src/components/Dcb/Dcb_Builder.res.mjs +572 -0
  161. package/src/components/DcbEventLog/DcbEventLog.res +43 -0
  162. package/src/components/DcbEventLog/DcbEventLog.res.mjs +24 -0
  163. package/src/components/DcbEventLog/DcbEventLog_Adapter.res +57 -0
  164. package/src/components/DcbEventLog/DcbEventLog_Adapter.res.mjs +2 -0
  165. package/src/components/DcbEventLog/DcbEventLog_Builder.res +72 -0
  166. package/src/components/DcbEventLog/DcbEventLog_Builder.res.mjs +67 -0
  167. package/src/components/DcbEventLog/DcbEventLog_Operations.res +160 -0
  168. package/src/components/DcbEventLog/DcbEventLog_Operations.res.mjs +121 -0
  169. package/src/components/EventCollector/EventCollector.res +34 -0
  170. package/src/components/EventCollector/EventCollector.res.mjs +9 -0
  171. package/src/components/EventCollector/EventCollector_Adapter.res +45 -0
  172. package/src/components/EventCollector/EventCollector_Adapter.res.mjs +2 -0
  173. package/src/components/EventCollector/EventCollector_Builder.res +91 -0
  174. package/src/components/EventCollector/EventCollector_Builder.res.mjs +64 -0
  175. package/src/components/EventLog/EventLog.res +27 -0
  176. package/src/components/EventLog/EventLog.res.mjs +13 -0
  177. package/src/components/EventLog/EventLog_Adapter.res +15 -0
  178. package/src/components/EventLog/EventLog_Adapter.res.mjs +2 -0
  179. package/src/components/EventLog/EventLog_Builder.res +65 -0
  180. package/src/components/EventLog/EventLog_Builder.res.mjs +57 -0
  181. package/src/components/EventLog/EventLog_Operations.res +209 -0
  182. package/src/components/EventLog/EventLog_Operations.res.mjs +202 -0
  183. package/src/components/EventLog/EventPublish_Callback.res +29 -0
  184. package/src/components/EventLog/EventPublish_Callback.res.mjs +32 -0
  185. package/src/components/EventMapper/EventMapper.res +72 -0
  186. package/src/components/EventMapper/EventMapper.res.mjs +54 -0
  187. package/src/components/EventMapper/EventMapper_Builder.res +128 -0
  188. package/src/components/EventMapper/EventMapper_Builder.res.mjs +81 -0
  189. package/src/components/EventMapper/EventMapper_Callback.res +323 -0
  190. package/src/components/EventMapper/EventMapper_Callback.res.mjs +231 -0
  191. package/src/components/EventTopic/EventTopic.res +69 -0
  192. package/src/components/EventTopic/EventTopic.res.mjs +50 -0
  193. package/src/components/EventTopic/EventTopic_Adapter.res +15 -0
  194. package/src/components/EventTopic/EventTopic_Adapter.res.mjs +2 -0
  195. package/src/components/EventTopic/EventTopic_Builder.res +53 -0
  196. package/src/components/EventTopic/EventTopic_Builder.res.mjs +46 -0
  197. package/src/components/EventTopic/EventTopic_Operations.res +37 -0
  198. package/src/components/EventTopic/EventTopic_Operations.res.mjs +39 -0
  199. package/src/components/Extension/Extension.res +32 -0
  200. package/src/components/Extension/Extension.res.mjs +9 -0
  201. package/src/components/Extension/Extension_Builder.res +82 -0
  202. package/src/components/Extension/Extension_Builder.res.mjs +57 -0
  203. package/src/components/Extension/Extension_Operations.res +203 -0
  204. package/src/components/Extension/Extension_Operations.res.mjs +154 -0
  205. package/src/components/ExtensionPoint/ExtensionPoint.res +49 -0
  206. package/src/components/ExtensionPoint/ExtensionPoint.res.mjs +25 -0
  207. package/src/components/ExtensionPoint/ExtensionPoint_Builder.res +163 -0
  208. package/src/components/ExtensionPoint/ExtensionPoint_Builder.res.mjs +113 -0
  209. package/src/components/ExtensionPoint/ExtensionPoint_Callback.res +110 -0
  210. package/src/components/ExtensionPoint/ExtensionPoint_Callback.res.mjs +76 -0
  211. package/src/components/ExtensionPoint/ExtensionPoint_Operations.res +146 -0
  212. package/src/components/ExtensionPoint/ExtensionPoint_Operations.res.mjs +122 -0
  213. package/src/components/Heartbeat/Heartbeat.res +25 -0
  214. package/src/components/Heartbeat/Heartbeat.res.mjs +9 -0
  215. package/src/components/Heartbeat/Heartbeat_Adapter.res +14 -0
  216. package/src/components/Heartbeat/Heartbeat_Adapter.res.mjs +2 -0
  217. package/src/components/Heartbeat/Heartbeat_Builder.res +43 -0
  218. package/src/components/Heartbeat/Heartbeat_Builder.res.mjs +47 -0
  219. package/src/components/Heartbeat/Heartbeat_Callback.res +32 -0
  220. package/src/components/Heartbeat/Heartbeat_Callback.res.mjs +40 -0
  221. package/src/components/InboundTranslationSlice/InboundTranslationSlice.res +34 -0
  222. package/src/components/InboundTranslationSlice/InboundTranslationSlice.res.mjs +24 -0
  223. package/src/components/InboundTranslationSlice/InboundTranslationSlice_Builder.res +98 -0
  224. package/src/components/InboundTranslationSlice/InboundTranslationSlice_Builder.res.mjs +87 -0
  225. package/src/components/InboundTranslationSlice/InboundTranslationSlice_Callback.res +191 -0
  226. package/src/components/InboundTranslationSlice/InboundTranslationSlice_Callback.res.mjs +175 -0
  227. package/src/components/OutboundTranslationSlice/OutboundTranslationSlice.res +35 -0
  228. package/src/components/OutboundTranslationSlice/OutboundTranslationSlice.res.mjs +24 -0
  229. package/src/components/OutboundTranslationSlice/OutboundTranslationSlice_Builder.res +181 -0
  230. package/src/components/OutboundTranslationSlice/OutboundTranslationSlice_Builder.res.mjs +137 -0
  231. package/src/components/OutboundTranslationSlice/OutboundTranslationSlice_Callback.res +173 -0
  232. package/src/components/OutboundTranslationSlice/OutboundTranslationSlice_Callback.res.mjs +173 -0
  233. package/src/components/QueryDb/QueryDb.res +74 -0
  234. package/src/components/QueryDb/QueryDb.res.mjs +37 -0
  235. package/src/components/QueryDb/QueryDb_Adapter.res +78 -0
  236. package/src/components/QueryDb/QueryDb_Adapter.res.mjs +17 -0
  237. package/src/components/QueryDb/QueryDb_Builder.res +76 -0
  238. package/src/components/QueryDb/QueryDb_Builder.res.mjs +53 -0
  239. package/src/components/QueryDb/QueryDb_Callback.res +18 -0
  240. package/src/components/QueryDb/QueryDb_Callback.res.mjs +21 -0
  241. package/src/components/QueryDb/QueryDb_Operations.res +116 -0
  242. package/src/components/QueryDb/QueryDb_Operations.res.mjs +165 -0
  243. package/src/components/ReadModel/ReadModel.res +42 -0
  244. package/src/components/ReadModel/ReadModel.res.mjs +27 -0
  245. package/src/components/ReadModel/ReadModel_Builder.res +155 -0
  246. package/src/components/ReadModel/ReadModel_Builder.res.mjs +101 -0
  247. package/src/components/ReadModel/ReadModel_Callback.res +48 -0
  248. package/src/components/ReadModel/ReadModel_Callback.res.mjs +48 -0
  249. package/src/components/Scheduler/Scheduler.res +13 -0
  250. package/src/components/Scheduler/Scheduler.res.mjs +9 -0
  251. package/src/components/Scheduler/Scheduler_Adapter.res +13 -0
  252. package/src/components/Scheduler/Scheduler_Adapter.res.mjs +2 -0
  253. package/src/components/Scheduler/Scheduler_Builder.res +19 -0
  254. package/src/components/Scheduler/Scheduler_Builder.res.mjs +29 -0
  255. package/src/components/SideEffectHandler/SideEffectHandler.res +30 -0
  256. package/src/components/SideEffectHandler/SideEffectHandler.res.mjs +12 -0
  257. package/src/components/SideEffectHandler/SideEffectHandler_Builder.res +117 -0
  258. package/src/components/SideEffectHandler/SideEffectHandler_Builder.res.mjs +64 -0
  259. package/src/components/SideEffectHandler/SideEffectHandler_Callback.res +116 -0
  260. package/src/components/SideEffectHandler/SideEffectHandler_Callback.res.mjs +95 -0
  261. package/src/components/StateChangeSlice/StateChangeSlice.res +38 -0
  262. package/src/components/StateChangeSlice/StateChangeSlice.res.mjs +17 -0
  263. package/src/components/StateChangeSlice/StateChangeSlice_Builder.res +91 -0
  264. package/src/components/StateChangeSlice/StateChangeSlice_Builder.res.mjs +81 -0
  265. package/src/components/StateChangeSlice/StateChangeSlice_Callback.res +412 -0
  266. package/src/components/StateChangeSlice/StateChangeSlice_Callback.res.mjs +299 -0
  267. package/src/components/StateTopic.res +91 -0
  268. package/src/components/StateTopic.res.mjs +41 -0
  269. package/src/components/StateViewSlice/StateViewSlice.res +33 -0
  270. package/src/components/StateViewSlice/StateViewSlice.res.mjs +24 -0
  271. package/src/components/StateViewSlice/StateViewSlice_Builder.res +176 -0
  272. package/src/components/StateViewSlice/StateViewSlice_Builder.res.mjs +134 -0
  273. package/src/components/StateViewSlice/StateViewSlice_Callback.res +64 -0
  274. package/src/components/StateViewSlice/StateViewSlice_Callback.res.mjs +56 -0
  275. package/src/components/Task/Task.res +81 -0
  276. package/src/components/Task/Task.res.mjs +51 -0
  277. package/src/components/Task/Task_Adapter.res +31 -0
  278. package/src/components/Task/Task_Adapter.res.mjs +2 -0
  279. package/src/components/Task/Task_Builder.res +223 -0
  280. package/src/components/Task/Task_Builder.res.mjs +115 -0
  281. package/src/plugin/api/PluginBaseFragment.res +104 -0
  282. package/src/plugin/api/PluginBaseFragment.res.mjs +64 -0
  283. package/src/plugin/component/Plugin.res +100 -0
  284. package/src/plugin/component/Plugin.res.mjs +61 -0
  285. package/src/plugin/component/Plugin_Builder.res +1017 -0
  286. package/src/plugin/component/Plugin_Builder.res.mjs +608 -0
  287. package/src/plugin/component/Plugin_BuiltHook.res +141 -0
  288. package/src/plugin/component/Plugin_BuiltHook.res.mjs +39 -0
  289. package/src/plugin/component/Plugin_Callback.res +98 -0
  290. package/src/plugin/component/Plugin_Callback.res.mjs +55 -0
  291. package/src/plugin/component/Plugin_Helpers.res +1730 -0
  292. package/src/plugin/component/Plugin_Helpers.res.mjs +1010 -0
  293. package/src/plugin/component/Plugin_ResolverError.res +27 -0
  294. package/src/plugin/component/Plugin_ResolverError.res.mjs +21 -0
  295. package/src/plugin/component/Plugin_Structure.res +570 -0
  296. package/src/plugin/component/Plugin_Structure.res.mjs +458 -0
  297. package/src/plugin/component/Plugin_SubscriptionSchema.res +103 -0
  298. package/src/plugin/component/Plugin_SubscriptionSchema.res.mjs +71 -0
  299. package/src/plugin/component/SchemaWalker.res +164 -0
  300. package/src/plugin/component/SchemaWalker.res.mjs +183 -0
  301. package/src/plugin/connect/PluginConnectExtension_Builder.res +14 -0
  302. package/src/plugin/connect/PluginConnectExtension_Builder.res.mjs +36 -0
  303. package/src/plugin/connect/PluginConnectExtension_Mapping.res +76 -0
  304. package/src/plugin/connect/PluginConnectExtension_Mapping.res.mjs +89 -0
  305. package/src/plugin/connect/PluginExtensionPoint_Builder.res +39 -0
  306. package/src/plugin/connect/PluginExtensionPoint_Builder.res.mjs +33 -0
  307. package/src/plugin/connect/PluginExtensionPoint_Plugin.res +231 -0
  308. package/src/plugin/connect/PluginExtensionPoint_Plugin.res.mjs +353 -0
  309. package/src/plugin/lifecycle/PluginBehavior.res +250 -0
  310. package/src/plugin/lifecycle/PluginBehavior.res.mjs +391 -0
  311. package/src/plugin/lifecycle/PluginSpec.res +84 -0
  312. package/src/plugin/lifecycle/PluginSpec.res.mjs +148 -0
  313. package/src/plugin/lifecycle/PluginsProjection.res +154 -0
  314. package/src/plugin/lifecycle/PluginsProjection.res.mjs +230 -0
  315. package/src/plugin/lifecycle/PluginsReadModelSpec.res +66 -0
  316. package/src/plugin/lifecycle/PluginsReadModelSpec.res.mjs +58 -0
  317. package/src/util/AWS.res +7 -0
  318. package/src/util/AWS.res.mjs +20 -0
  319. package/src/util/CSV.res +27 -0
  320. package/src/util/CSV.res.mjs +56 -0
  321. package/src/util/CommandPublisher.res +133 -0
  322. package/src/util/CommandPublisher.res.mjs +161 -0
  323. package/src/util/CsvStream.res +39 -0
  324. package/src/util/CsvStream.res.mjs +42 -0
  325. package/src/util/EffectLogger.res +178 -0
  326. package/src/util/EffectLogger.res.mjs +171 -0
  327. package/src/util/FTP.res +69 -0
  328. package/src/util/FTP.res.mjs +101 -0
  329. package/src/util/FTPHandler.res +142 -0
  330. package/src/util/FTPHandler.res.mjs +136 -0
  331. package/src/util/Hash.res +1 -0
  332. package/src/util/Hash.res.mjs +10 -0
  333. package/src/util/Interstack.res +74 -0
  334. package/src/util/Interstack.res.mjs +126 -0
  335. package/src/util/Interstack.resi +25 -0
  336. package/src/util/LogFormat.res +222 -0
  337. package/src/util/LogFormat.res.mjs +257 -0
  338. package/src/util/Logger.res +196 -0
  339. package/src/util/Logger.res.mjs +238 -0
  340. package/src/util/Lru.res +51 -0
  341. package/src/util/Lru.res.mjs +59 -0
  342. package/src/util/Lru.resi +32 -0
  343. package/src/util/Metrics.res +32 -0
  344. package/src/util/Metrics.res.mjs +42 -0
  345. package/src/util/OutputFailsafeDeploytime.res +16 -0
  346. package/src/util/OutputFailsafeDeploytime.res.mjs +20 -0
  347. package/src/util/OutputFailsafeRuntime.res +6 -0
  348. package/src/util/OutputFailsafeRuntime.res.mjs +15 -0
  349. package/src/util/OutputLogger.res +9 -0
  350. package/src/util/OutputLogger.res.mjs +19 -0
  351. package/src/util/ResourceQuery.res +14 -0
  352. package/src/util/ResourceQuery.res.mjs +17 -0
  353. package/src/util/ResourceQueryRuntime.res +17 -0
  354. package/src/util/ResourceQueryRuntime.res.mjs +18 -0
  355. package/src/util/ScheduleOps.res +124 -0
  356. package/src/util/ScheduleOps.res.mjs +132 -0
  357. package/src/util/Util.res +12 -0
  358. package/src/util/Util.res.mjs +42 -0
  359. package/src/util/Util_Adapter.res +97 -0
  360. package/src/util/Util_Adapter.res.mjs +82 -0
  361. package/src/util/Util_AdapterRuntime.res +39 -0
  362. package/src/util/Util_AdapterRuntime.res.mjs +42 -0
  363. package/src/util/Util_Array.res +2 -0
  364. package/src/util/Util_Array.res.mjs +12 -0
  365. package/src/util/Util_Error.res +16 -0
  366. package/src/util/Util_Error.res.mjs +19 -0
  367. package/src/util/Util_Promise.res +67 -0
  368. package/src/util/Util_Promise.res.mjs +105 -0
  369. package/src/util/Util_Pulumi.res +35 -0
  370. package/src/util/Util_Pulumi.res.mjs +55 -0
  371. package/src/util/Util_Pulumi.resi +21 -0
  372. package/src/util/Util_QueryDb.res +14 -0
  373. package/src/util/Util_QueryDb.res.mjs +21 -0
  374. package/src/util/Util_QueryDbRuntime.res +11 -0
  375. package/src/util/Util_QueryDbRuntime.res.mjs +19 -0
  376. package/src/util/Util_ReadModel.res +2 -0
  377. package/src/util/Util_ReadModel.res.mjs +10 -0
  378. package/src/util/Util_StackRefs.res +24 -0
  379. package/src/util/Util_StackRefs.res.mjs +39 -0
  380. package/src/util/Validation.res +75 -0
  381. package/src/util/Validation.res.mjs +181 -0
  382. package/tests/.gitkeep +0 -0
  383. package/tests/IdentityTest.res +155 -0
  384. package/tests/IdentityTest.res.mjs +174 -0
  385. package/tests/admin/Platform_ComponentDefinitionsApiTest.res +237 -0
  386. package/tests/admin/Platform_ComponentDefinitionsApiTest.res.mjs +298 -0
  387. package/tests/admin/Platform_UIFragmentsApiTest.res +96 -0
  388. package/tests/admin/Platform_UIFragmentsApiTest.res.mjs +101 -0
  389. package/tests/aggregate/AggregateCallbackTest.res +81 -0
  390. package/tests/aggregate/AggregateCallbackTest.res.mjs +140 -0
  391. package/tests/aggregate/AggregateCausationTest.res +49 -0
  392. package/tests/aggregate/AggregateCausationTest.res.mjs +44 -0
  393. package/tests/aggregate/AggregateConflictTest.res +212 -0
  394. package/tests/aggregate/AggregateConflictTest.res.mjs +363 -0
  395. package/tests/aggregate/AggregateFixtures.res +177 -0
  396. package/tests/aggregate/AggregateFixtures.res.mjs +285 -0
  397. package/tests/aggregate/AggregateRejectionTest.res +139 -0
  398. package/tests/aggregate/AggregateRejectionTest.res.mjs +163 -0
  399. package/tests/api/ApiNoApiTest.res +62 -0
  400. package/tests/api/ApiNoApiTest.res.mjs +90 -0
  401. package/tests/api/GraphQL_StitcherTest.res +107 -0
  402. package/tests/api/GraphQL_StitcherTest.res.mjs +99 -0
  403. package/tests/api/SimpleTest.res +7 -0
  404. package/tests/api/SimpleTest.res.mjs +10 -0
  405. package/tests/api/SuryToJsonSchemaTest.res +405 -0
  406. package/tests/api/SuryToJsonSchemaTest.res.mjs +623 -0
  407. package/tests/commandgenerator/CommandGeneratorCallbackTest.res +128 -0
  408. package/tests/commandgenerator/CommandGeneratorCallbackTest.res.mjs +160 -0
  409. package/tests/commandgenerator/CommandGeneratorFixtures.res +139 -0
  410. package/tests/commandgenerator/CommandGeneratorFixtures.res.mjs +197 -0
  411. package/tests/commandtopic/CommandTopicCallbackFixtures.res +87 -0
  412. package/tests/commandtopic/CommandTopicCallbackFixtures.res.mjs +152 -0
  413. package/tests/commandtopic/CommandTopicCallbackTest.res +66 -0
  414. package/tests/commandtopic/CommandTopicCallbackTest.res.mjs +106 -0
  415. package/tests/commandtopic/CommandTopicHelpersRejectionTest.res +83 -0
  416. package/tests/commandtopic/CommandTopicHelpersRejectionTest.res.mjs +109 -0
  417. package/tests/counter/CounterCallbackTest.res +83 -0
  418. package/tests/counter/CounterCallbackTest.res.mjs +140 -0
  419. package/tests/counter/CounterFixtures.res +57 -0
  420. package/tests/counter/CounterFixtures.res.mjs +67 -0
  421. package/tests/dcb/DcbDecodeTest.res +122 -0
  422. package/tests/dcb/DcbDecodeTest.res.mjs +194 -0
  423. package/tests/dcb/DcbEventLogOperationsTest.res +195 -0
  424. package/tests/dcb/DcbEventLogOperationsTest.res.mjs +268 -0
  425. package/tests/dcb/DcbFixtures.res +422 -0
  426. package/tests/dcb/DcbFixtures.res.mjs +534 -0
  427. package/tests/dcb/DcbScopeInferenceTest.res +242 -0
  428. package/tests/dcb/DcbScopeInferenceTest.res.mjs +480 -0
  429. package/tests/dcb/DcbStateChangeSliceTest.res +362 -0
  430. package/tests/dcb/DcbStateChangeSliceTest.res.mjs +546 -0
  431. package/tests/dcb/DcbTagTest.res +978 -0
  432. package/tests/dcb/DcbTagTest.res.mjs +867 -0
  433. package/tests/dcb/DcbValidationTest.res +349 -0
  434. package/tests/dcb/DcbValidationTest.res.mjs +476 -0
  435. package/tests/eventlog/EventLogFixtures.res +113 -0
  436. package/tests/eventlog/EventLogFixtures.res.mjs +166 -0
  437. package/tests/eventlog/EventLogOperationsTest.res +96 -0
  438. package/tests/eventlog/EventLogOperationsTest.res.mjs +192 -0
  439. package/tests/eventlog/EventLogRetryTest.res +121 -0
  440. package/tests/eventlog/EventLogRetryTest.res.mjs +171 -0
  441. package/tests/eventmapper/EventMapperCallbackTest.res +134 -0
  442. package/tests/eventmapper/EventMapperCallbackTest.res.mjs +141 -0
  443. package/tests/eventmapper/EventMapperFixtures.res +255 -0
  444. package/tests/eventmapper/EventMapperFixtures.res.mjs +440 -0
  445. package/tests/eventmapper/EventMapperTest.res +53 -0
  446. package/tests/eventmapper/EventMapperTest.res.mjs +83 -0
  447. package/tests/eventtopic/EventTopicFixtures.res +36 -0
  448. package/tests/eventtopic/EventTopicFixtures.res.mjs +65 -0
  449. package/tests/eventtopic/EventTopicOperationsTest.res +48 -0
  450. package/tests/eventtopic/EventTopicOperationsTest.res.mjs +71 -0
  451. package/tests/extensionpoint/ExtensionPointCallbackTest.res +84 -0
  452. package/tests/extensionpoint/ExtensionPointCallbackTest.res.mjs +94 -0
  453. package/tests/extensionpoint/ExtensionPointFixtures.res +173 -0
  454. package/tests/extensionpoint/ExtensionPointFixtures.res.mjs +205 -0
  455. package/tests/extensionpoint/ExtensionPointOperationsTest.res +261 -0
  456. package/tests/extensionpoint/ExtensionPointOperationsTest.res.mjs +304 -0
  457. package/tests/ftp/FTPTest.res +64 -0
  458. package/tests/ftp/FTPTest.res.mjs +88 -0
  459. package/tests/logger/LogFormatTest.res +348 -0
  460. package/tests/logger/LogFormatTest.res.mjs +309 -0
  461. package/tests/message/MessageTest.res +95 -0
  462. package/tests/message/MessageTest.res.mjs +93 -0
  463. package/tests/message/MetaEnvelopeTest.res +200 -0
  464. package/tests/message/MetaEnvelopeTest.res.mjs +188 -0
  465. package/tests/plugin/ManifestVisibilityTest.res +137 -0
  466. package/tests/plugin/ManifestVisibilityTest.res.mjs +205 -0
  467. package/tests/plugin/PluginSpecExperiment.res +13 -0
  468. package/tests/plugin/PluginSpecExperiment.res.mjs +31 -0
  469. package/tests/plugin/PluginStructureTest.res +298 -0
  470. package/tests/plugin/PluginStructureTest.res.mjs +388 -0
  471. package/tests/plugin/PluginVersionTest.res +34 -0
  472. package/tests/plugin/PluginVersionTest.res.mjs +30 -0
  473. package/tests/plugin/SchemaWalkerTest.res +115 -0
  474. package/tests/plugin/SchemaWalkerTest.res.mjs +160 -0
  475. package/tests/plugin/StateChangeSlice/PsPlaceOrder.res +24 -0
  476. package/tests/plugin/StateChangeSlice/PsPlaceOrder.res.mjs +62 -0
  477. package/tests/plugin/StateChangeSlice/PsShipOrder.res +29 -0
  478. package/tests/plugin/StateChangeSlice/PsShipOrder.res.mjs +69 -0
  479. package/tests/plugin/StateViewSlice/PsAnnotatedView.res +24 -0
  480. package/tests/plugin/StateViewSlice/PsAnnotatedView.res.mjs +94 -0
  481. package/tests/plugin/StateViewSlice/PsAvailableProductsView.res +18 -0
  482. package/tests/plugin/StateViewSlice/PsAvailableProductsView.res.mjs +69 -0
  483. package/tests/plugin/StateViewSlice/PsCustomersView.res +22 -0
  484. package/tests/plugin/StateViewSlice/PsCustomersView.res.mjs +69 -0
  485. package/tests/plugin/StateViewSlice/PsOrdersView.res +20 -0
  486. package/tests/plugin/StateViewSlice/PsOrdersView.res.mjs +81 -0
  487. package/tests/poc/StructuralSubtypingPoc.res +211 -0
  488. package/tests/poc/StructuralSubtypingPoc.res.mjs +61 -0
  489. package/tests/querydb/QueryDbFixtures.res +65 -0
  490. package/tests/querydb/QueryDbFixtures.res.mjs +135 -0
  491. package/tests/querydb/QueryDbOperationsTest.res +94 -0
  492. package/tests/querydb/QueryDbOperationsTest.res.mjs +168 -0
  493. package/tests/sideeffecthandler/SideEffectHandlerCallbackTest.res +56 -0
  494. package/tests/sideeffecthandler/SideEffectHandlerCallbackTest.res.mjs +77 -0
  495. package/tests/sideeffecthandler/SideEffectHandlerFixtures.res +96 -0
  496. package/tests/sideeffecthandler/SideEffectHandlerFixtures.res.mjs +139 -0
  497. package/tests/util/CsvStreamTest.res +54 -0
  498. package/tests/util/CsvStreamTest.res.mjs +51 -0
  499. package/tests/util/LruTest.res +73 -0
  500. package/tests/util/LruTest.res.mjs +105 -0
  501. package/tests/util/MetricsTest.res +36 -0
  502. package/tests/util/MetricsTest.res.mjs +53 -0
@@ -0,0 +1,18 @@
1
+ module type T = {
2
+ type context
3
+ type runtimeParts
4
+ module CommandTopicChannel: CommandTopic_Adapter.Channel
5
+
6
+ let forCommandTopic: (
7
+ ~handler: Pulumi.Output.t<
8
+ Runtime.effectHandler<CommandTopicChannel.callbackEvent, context, unit, string>,
9
+ >,
10
+ ~connect: Runtime.connect<runtimeParts>,
11
+ ~memorySize: int=?,
12
+ ~timeout: int=?,
13
+ ~specModulePath: string,
14
+ ~mappingsModulePath: string,
15
+ ~publishToAggregatesQueueUrls: dict<Pulumi.Output.t<string>>,
16
+ CommandTopic.component<'op>,
17
+ ) => unit
18
+ }
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,36 @@
1
+ module Make = (
2
+ RuntimeEnvironment: Runtime.Environment,
3
+ CommandTopicChannel: CommandTopic_Adapter.Channel,
4
+ ): (
5
+ ExtensionPointRuntime_Builder.T
6
+ with type context = RuntimeEnvironment.context
7
+ and type runtimeParts = RuntimeEnvironment.parts
8
+ and module CommandTopicChannel = CommandTopicChannel
9
+ ) => {
10
+ type context = RuntimeEnvironment.context
11
+ type runtimeParts = RuntimeEnvironment.parts
12
+ module CommandTopicChannel = CommandTopicChannel
13
+
14
+ let forCommandTopic = (
15
+ ~handler,
16
+ ~connect,
17
+ ~memorySize=1024,
18
+ ~timeout=30,
19
+ ~specModulePath as _,
20
+ ~mappingsModulePath as _,
21
+ ~publishToAggregatesQueueUrls as _,
22
+ commandTopic,
23
+ ) => {
24
+ let resource = commandTopic->Component.toPulumiResource
25
+ let runtime = RuntimeEnvironment.make(
26
+ ~name=resource.name->ComponentType.nameOpt(CommandTopic.componentType),
27
+ ~handler=handler->Pulumi.Output.apply(handler =>
28
+ handler->RuntimeEnvironment.asEffectHandler->Runtime.runEffectHandler
29
+ ),
30
+ ~memorySize,
31
+ ~timeout,
32
+ ~opts={Pulumi.ComponentResource.parent: resource},
33
+ )
34
+ connect(~runtime)
35
+ }
36
+ }
@@ -0,0 +1,28 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Runtime$ReventlessCore from "./Runtime.res.mjs";
4
+ import * as Component$ReventlessCore from "../../components/Component.res.mjs";
5
+ import * as CommandTopic$ReventlessCore from "../../components/CommandTopic/CommandTopic.res.mjs";
6
+ import * as ComponentType$ReventlessCore from "../../ComponentType.res.mjs";
7
+
8
+ function Make(RuntimeEnvironment) {
9
+ return CommandTopicChannel => {
10
+ let forCommandTopic = (handler, connect, memorySizeOpt, timeoutOpt, param, param$1, param$2, commandTopic) => {
11
+ let memorySize = memorySizeOpt !== undefined ? memorySizeOpt : 1024;
12
+ let timeout = timeoutOpt !== undefined ? timeoutOpt : 30;
13
+ let resource = Component$ReventlessCore.toPulumiResource(commandTopic);
14
+ return connect(RuntimeEnvironment.make(ComponentType$ReventlessCore.nameOpt(resource.__name, CommandTopic$ReventlessCore.componentType), handler.apply(handler => Runtime$ReventlessCore.runEffectHandler(RuntimeEnvironment.asEffectHandler(handler))), memorySize, timeout, {
15
+ parent: resource
16
+ }));
17
+ };
18
+ return {
19
+ CommandTopicChannel: CommandTopicChannel,
20
+ forCommandTopic: forCommandTopic
21
+ };
22
+ };
23
+ }
24
+
25
+ export {
26
+ Make,
27
+ }
28
+ /* Runtime-ReventlessCore Not a pure module */
@@ -0,0 +1,23 @@
1
+ module type T = {
2
+ type context
3
+ type runtimeParts
4
+ module EventCollectorChannel: EventCollector_Adapter.Channel
5
+
6
+ let registerPluginName: string => unit
7
+ let forPluginEventCollector: Runtime.forEventCollector<
8
+ Runtime.effectHandler<EventCollectorChannel.callbackEvent, context, unit, string>,
9
+ EventCollector.component,
10
+ >
11
+ let forPluginHeartbeat: Runtime.forComponent<
12
+ Runtime.eventHandler<unit, context, unit>,
13
+ runtimeParts,
14
+ Heartbeat.component,
15
+ >
16
+ let forDcbCommandTopic: Runtime.forComponent<
17
+ Runtime.effectHandler<'callbackEvent, context, unit, string>,
18
+ runtimeParts,
19
+ CommandTopic.component<'op>,
20
+ >
21
+ // let forDeadLetterQueue: Runtime.forComponent<'h, runtimeParts, Plugin.component>
22
+ let finish: unit => unit
23
+ }
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,97 @@
1
+ module Make = (
2
+ RuntimeEnvironment: Runtime.Environment,
3
+ EventCollectorChannel: EventCollector_Adapter.Channel
4
+ with type runtimeParts = RuntimeEnvironment.parts,
5
+ ): (
6
+ PluginRuntime_Builder.T
7
+ with type context = RuntimeEnvironment.context
8
+ and type runtimeParts = RuntimeEnvironment.parts
9
+ and module EventCollectorChannel = EventCollectorChannel
10
+ ) => {
11
+ type context = RuntimeEnvironment.context
12
+ type runtimeParts = RuntimeEnvironment.parts
13
+ module EventCollectorChannel = EventCollectorChannel
14
+
15
+ let forPluginEventCollector = (
16
+ ~handler,
17
+ ~eventTopics: EventTopic.allOutputs,
18
+ ~resources: array<ReventlessInfra.Adapter.resource>,
19
+ ~memorySize=1024,
20
+ ~timeout=30,
21
+ eventCollector,
22
+ ) => {
23
+ let resource = eventCollector->Component.toPulumiResource
24
+ let name = resource.name->ComponentType.nameOpt(EventCollector.componentType)
25
+ let opts = {Pulumi.ComponentResource.parent: resource}
26
+ let runtime = RuntimeEnvironment.make(
27
+ ~name,
28
+ ~handler=handler->Pulumi.Output.apply(handler =>
29
+ handler->RuntimeEnvironment.asEffectHandler->Runtime.runEffectHandler
30
+ ),
31
+ ~memorySize,
32
+ ~timeout,
33
+ ~opts={Pulumi.ComponentResource.parent: resource},
34
+ )
35
+ let _connectResources = EventCollectorChannel.connect(
36
+ ~name,
37
+ ~channelSpecs=[
38
+ {channel: eventCollector->EventCollector_Adapter.channel, eventTopics, resources},
39
+ ],
40
+ ~runtime,
41
+ ~opts,
42
+ )
43
+ }
44
+
45
+ let forPluginHeartbeat = (
46
+ ~handler: Pulumi.Output.t<(unit, RuntimeEnvironment.context) => promise<'a>>,
47
+ ~connect,
48
+ ~memorySize=1024,
49
+ ~timeout=30,
50
+ heartbeat,
51
+ ) => {
52
+ let resource = heartbeat->Component.toPulumiResource
53
+ let runtime = RuntimeEnvironment.make(
54
+ ~name=resource.name->ComponentType.nameOpt(Heartbeat.componentType),
55
+ ~handler=handler->Pulumi.Output.apply(handler => handler->RuntimeEnvironment.asEventHandler),
56
+ ~memorySize,
57
+ ~timeout,
58
+ ~opts={Pulumi.ComponentResource.parent: resource},
59
+ )
60
+ connect(~runtime)
61
+ }
62
+
63
+ let registerPluginName = (_: string) => ()
64
+
65
+ let forDcbCommandTopic = (
66
+ ~handler,
67
+ ~connect,
68
+ ~memorySize=1024,
69
+ ~timeout=30,
70
+ dcbCommandTopic,
71
+ ) => {
72
+ let resource = dcbCommandTopic->Component.toPulumiResource
73
+ let runtime = RuntimeEnvironment.make(
74
+ ~name=resource.name->ComponentType.nameOpt(CommandTopic.componentType),
75
+ ~handler=handler->Pulumi.Output.apply(handler =>
76
+ handler->RuntimeEnvironment.asEffectHandler->Runtime.runEffectHandler
77
+ ),
78
+ ~memorySize,
79
+ ~timeout,
80
+ ~opts={Pulumi.ComponentResource.parent: resource},
81
+ )
82
+ connect(~runtime)
83
+ }
84
+
85
+ // let forDeadLetterQueue = (~handler, ~memorySize=1024, ~timeout=30, plugin) => {
86
+ // let resource = plugin->Component.toPulumiResource
87
+ // RuntimeEnvironment.make(
88
+ // ~name=resource.name->Option.getOr("DeadLetterQueue"),
89
+ // ~handler,
90
+ // ~memorySize,
91
+ // ~timeout,
92
+ // ~opts={Pulumi.ComponentResource.parent: resource},
93
+ // )
94
+ // }
95
+
96
+ let finish = () => ()
97
+ }
@@ -0,0 +1,62 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Runtime$ReventlessCore from "./Runtime.res.mjs";
4
+ import * as Component$ReventlessCore from "../../components/Component.res.mjs";
5
+ import * as Heartbeat$ReventlessCore from "../../components/Heartbeat/Heartbeat.res.mjs";
6
+ import * as CommandTopic$ReventlessCore from "../../components/CommandTopic/CommandTopic.res.mjs";
7
+ import * as ComponentType$ReventlessCore from "../../ComponentType.res.mjs";
8
+ import * as EventCollector$ReventlessCore from "../../components/EventCollector/EventCollector.res.mjs";
9
+
10
+ function Make(RuntimeEnvironment) {
11
+ return EventCollectorChannel => {
12
+ let forPluginEventCollector = (handler, eventTopics, resources, memorySizeOpt, timeoutOpt, eventCollector) => {
13
+ let memorySize = memorySizeOpt !== undefined ? memorySizeOpt : 1024;
14
+ let timeout = timeoutOpt !== undefined ? timeoutOpt : 30;
15
+ let resource = Component$ReventlessCore.toPulumiResource(eventCollector);
16
+ let name = ComponentType$ReventlessCore.nameOpt(resource.__name, EventCollector$ReventlessCore.componentType);
17
+ let opts_parent = resource;
18
+ let opts = {
19
+ parent: opts_parent
20
+ };
21
+ let runtime = RuntimeEnvironment.make(name, handler.apply(handler => Runtime$ReventlessCore.runEffectHandler(RuntimeEnvironment.asEffectHandler(handler))), memorySize, timeout, {
22
+ parent: resource
23
+ });
24
+ EventCollectorChannel.connect(name, [{
25
+ channel: eventCollector.channel,
26
+ eventTopics: eventTopics,
27
+ resources: resources
28
+ }], runtime, opts);
29
+ };
30
+ let forPluginHeartbeat = (handler, connect, memorySizeOpt, timeoutOpt, heartbeat) => {
31
+ let memorySize = memorySizeOpt !== undefined ? memorySizeOpt : 1024;
32
+ let timeout = timeoutOpt !== undefined ? timeoutOpt : 30;
33
+ let resource = Component$ReventlessCore.toPulumiResource(heartbeat);
34
+ return connect(RuntimeEnvironment.make(ComponentType$ReventlessCore.nameOpt(resource.__name, Heartbeat$ReventlessCore.componentType), handler.apply(handler => RuntimeEnvironment.asEventHandler(handler)), memorySize, timeout, {
35
+ parent: resource
36
+ }));
37
+ };
38
+ let registerPluginName = param => {};
39
+ let forDcbCommandTopic = (handler, connect, memorySizeOpt, timeoutOpt, dcbCommandTopic) => {
40
+ let memorySize = memorySizeOpt !== undefined ? memorySizeOpt : 1024;
41
+ let timeout = timeoutOpt !== undefined ? timeoutOpt : 30;
42
+ let resource = Component$ReventlessCore.toPulumiResource(dcbCommandTopic);
43
+ return connect(RuntimeEnvironment.make(ComponentType$ReventlessCore.nameOpt(resource.__name, CommandTopic$ReventlessCore.componentType), handler.apply(handler => Runtime$ReventlessCore.runEffectHandler(RuntimeEnvironment.asEffectHandler(handler))), memorySize, timeout, {
44
+ parent: resource
45
+ }));
46
+ };
47
+ let finish = () => {};
48
+ return {
49
+ EventCollectorChannel: EventCollectorChannel,
50
+ registerPluginName: registerPluginName,
51
+ forPluginEventCollector: forPluginEventCollector,
52
+ forPluginHeartbeat: forPluginHeartbeat,
53
+ forDcbCommandTopic: forDcbCommandTopic,
54
+ finish: finish
55
+ };
56
+ };
57
+ }
58
+
59
+ export {
60
+ Make,
61
+ }
62
+ /* Runtime-ReventlessCore Not a pure module */
@@ -0,0 +1,89 @@
1
+ module Make = (
2
+ RuntimeEnvironment: Runtime.Environment,
3
+ EventCollectorChannel: EventCollector_Adapter.Channel
4
+ with type runtimeParts = RuntimeEnvironment.parts,
5
+ ): (
6
+ PluginRuntime_Builder.T
7
+ with type context = RuntimeEnvironment.context
8
+ and type runtimeParts = RuntimeEnvironment.parts
9
+ and module EventCollectorChannel = EventCollectorChannel
10
+ ) => {
11
+ type context = RuntimeEnvironment.context
12
+ type runtimeParts = RuntimeEnvironment.parts
13
+ module EventCollectorChannel = EventCollectorChannel
14
+
15
+ let forPluginEventCollector = (
16
+ ~handler,
17
+ ~eventTopics: EventTopic.allOutputs,
18
+ ~resources: array<ReventlessInfra.Adapter.resource>,
19
+ ~memorySize=1024,
20
+ ~timeout=30,
21
+ eventCollector,
22
+ ) => {
23
+ let resource = eventCollector->Component.toPulumiResource
24
+ let name = resource.name->ComponentType.nameOpt(EventCollector.componentType)
25
+ let opts = {Pulumi.ComponentResource.parent: resource}
26
+ let runtime = RuntimeEnvironment.make(
27
+ ~name,
28
+ ~handler=handler->Pulumi.Output.apply(handler =>
29
+ handler->RuntimeEnvironment.asEffectHandler->Runtime.runEffectHandler
30
+ ),
31
+ ~memorySize,
32
+ ~timeout,
33
+ ~opts={Pulumi.ComponentResource.parent: resource},
34
+ )
35
+ let _connectResources = EventCollectorChannel.connect(
36
+ ~name,
37
+ ~channelSpecs=[
38
+ {channel: eventCollector->EventCollector_Adapter.channel, eventTopics, resources},
39
+ ],
40
+ ~runtime,
41
+ ~opts,
42
+ )
43
+ }
44
+
45
+ let forPluginHeartbeat = (
46
+ ~handler: Pulumi.Output.t<(unit, RuntimeEnvironment.context) => promise<'a>>,
47
+ ~connect,
48
+ ~memorySize=1024,
49
+ ~timeout=30,
50
+ heartbeat,
51
+ ) => {
52
+ let resource = heartbeat->Component.toPulumiResource
53
+ let runtime = RuntimeEnvironment.make(
54
+ ~name=resource.name->ComponentType.nameOpt(Heartbeat.componentType),
55
+ ~handler=handler->Pulumi.Output.apply(handler => handler->RuntimeEnvironment.asEventHandler),
56
+ ~memorySize,
57
+ ~timeout,
58
+ ~opts={Pulumi.ComponentResource.parent: resource},
59
+ )
60
+ connect(~runtime)
61
+ }
62
+
63
+ let registerPluginName = (_: string) => ()
64
+
65
+ let forDcbCommandTopic = (
66
+ ~handler,
67
+ ~connect,
68
+ ~memorySize=1024,
69
+ ~timeout=30,
70
+ dcbCommandTopic,
71
+ ) => {
72
+ let resource = dcbCommandTopic->Component.toPulumiResource
73
+ let runtime = RuntimeEnvironment.make(
74
+ ~name=resource.name->ComponentType.nameOpt(CommandTopic.componentType),
75
+ ~handler=handler->Pulumi.Output.apply(handler =>
76
+ handler->RuntimeEnvironment.asEffectHandler->Runtime.runEffectHandler
77
+ ),
78
+ ~memorySize,
79
+ ~timeout,
80
+ ~opts={Pulumi.ComponentResource.parent: resource},
81
+ )
82
+ connect(~runtime)
83
+ }
84
+
85
+ // let forDeadLetterQueue = (~handler, ~memorySize=1024, ~timeout=30, plugin) => {
86
+ // }
87
+
88
+ let finish = () => ()
89
+ }
@@ -0,0 +1,62 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Runtime$ReventlessCore from "./Runtime.res.mjs";
4
+ import * as Component$ReventlessCore from "../../components/Component.res.mjs";
5
+ import * as Heartbeat$ReventlessCore from "../../components/Heartbeat/Heartbeat.res.mjs";
6
+ import * as CommandTopic$ReventlessCore from "../../components/CommandTopic/CommandTopic.res.mjs";
7
+ import * as ComponentType$ReventlessCore from "../../ComponentType.res.mjs";
8
+ import * as EventCollector$ReventlessCore from "../../components/EventCollector/EventCollector.res.mjs";
9
+
10
+ function Make(RuntimeEnvironment) {
11
+ return EventCollectorChannel => {
12
+ let forPluginEventCollector = (handler, eventTopics, resources, memorySizeOpt, timeoutOpt, eventCollector) => {
13
+ let memorySize = memorySizeOpt !== undefined ? memorySizeOpt : 1024;
14
+ let timeout = timeoutOpt !== undefined ? timeoutOpt : 30;
15
+ let resource = Component$ReventlessCore.toPulumiResource(eventCollector);
16
+ let name = ComponentType$ReventlessCore.nameOpt(resource.__name, EventCollector$ReventlessCore.componentType);
17
+ let opts_parent = resource;
18
+ let opts = {
19
+ parent: opts_parent
20
+ };
21
+ let runtime = RuntimeEnvironment.make(name, handler.apply(handler => Runtime$ReventlessCore.runEffectHandler(RuntimeEnvironment.asEffectHandler(handler))), memorySize, timeout, {
22
+ parent: resource
23
+ });
24
+ EventCollectorChannel.connect(name, [{
25
+ channel: eventCollector.channel,
26
+ eventTopics: eventTopics,
27
+ resources: resources
28
+ }], runtime, opts);
29
+ };
30
+ let forPluginHeartbeat = (handler, connect, memorySizeOpt, timeoutOpt, heartbeat) => {
31
+ let memorySize = memorySizeOpt !== undefined ? memorySizeOpt : 1024;
32
+ let timeout = timeoutOpt !== undefined ? timeoutOpt : 30;
33
+ let resource = Component$ReventlessCore.toPulumiResource(heartbeat);
34
+ return connect(RuntimeEnvironment.make(ComponentType$ReventlessCore.nameOpt(resource.__name, Heartbeat$ReventlessCore.componentType), handler.apply(handler => RuntimeEnvironment.asEventHandler(handler)), memorySize, timeout, {
35
+ parent: resource
36
+ }));
37
+ };
38
+ let registerPluginName = param => {};
39
+ let forDcbCommandTopic = (handler, connect, memorySizeOpt, timeoutOpt, dcbCommandTopic) => {
40
+ let memorySize = memorySizeOpt !== undefined ? memorySizeOpt : 1024;
41
+ let timeout = timeoutOpt !== undefined ? timeoutOpt : 30;
42
+ let resource = Component$ReventlessCore.toPulumiResource(dcbCommandTopic);
43
+ return connect(RuntimeEnvironment.make(ComponentType$ReventlessCore.nameOpt(resource.__name, CommandTopic$ReventlessCore.componentType), handler.apply(handler => Runtime$ReventlessCore.runEffectHandler(RuntimeEnvironment.asEffectHandler(handler))), memorySize, timeout, {
44
+ parent: resource
45
+ }));
46
+ };
47
+ let finish = () => {};
48
+ return {
49
+ EventCollectorChannel: EventCollectorChannel,
50
+ registerPluginName: registerPluginName,
51
+ forPluginEventCollector: forPluginEventCollector,
52
+ forPluginHeartbeat: forPluginHeartbeat,
53
+ forDcbCommandTopic: forDcbCommandTopic,
54
+ finish: finish
55
+ };
56
+ };
57
+ }
58
+
59
+ export {
60
+ Make,
61
+ }
62
+ /* Runtime-ReventlessCore Not a pure module */
@@ -0,0 +1,106 @@
1
+ type eventHandler<'event, 'context, 'result> = ('event, 'context) => promise<'result>
2
+ type effectHandler<'event, 'context, 'result, 'error> = (
3
+ 'event,
4
+ 'context,
5
+ ) => Effect.t<'result, 'error, unit>
6
+
7
+ // Convert an effectHandler to an eventHandler by providing Logger, RequestContext, and running as promise.
8
+ // Used at handler dispatch points (runtime builders) where Effect.runPromise is called.
9
+ let runEffectHandler = (handler: effectHandler<'event, 'context, 'result, 'error>): eventHandler<
10
+ 'event,
11
+ 'context,
12
+ 'result,
13
+ > =>
14
+ (event, ctx) =>
15
+ handler(event, ctx)
16
+ ->Effect.provideService(RequestContext.tag, RequestContext.test())
17
+ ->Effect.runPromise
18
+
19
+ type environment<'parts> = {
20
+ parts: 'parts,
21
+ resources: array<ReventlessInfra.Adapter.resource>,
22
+ }
23
+
24
+ type environmentMaker<'event, 'context, 'result, 'parts> = (
25
+ ~name: string,
26
+ ~handler: Pulumi.Output.t<eventHandler<'event, 'context, 'result>>,
27
+ ~memorySize: int=?,
28
+ ~timeout: int=?,
29
+ ~opts: Pulumi.ComponentResource.options=?,
30
+ ) => environment<'parts>
31
+
32
+ module type Environment = {
33
+ type event
34
+ type context
35
+ type parts
36
+ let make: environmentMaker<event, context, 'result, parts>
37
+ let groupBySource: event => dict<event>
38
+ let extractCorrelationId: event => option<string>
39
+ let asEventHandler: 'a => eventHandler<event, context, 'result>
40
+ let asEffectHandler: 'a => effectHandler<event, context, 'result, 'error>
41
+ }
42
+
43
+ type connect<'parts> = (~runtime: environment<'parts>) => unit
44
+
45
+ type forComponent<'handler, 'parts, 'component> = (
46
+ ~handler: Pulumi.Output.t<'handler>,
47
+ ~connect: connect<'parts>,
48
+ ~memorySize: int=?,
49
+ ~timeout: int=?,
50
+ 'component,
51
+ ) => unit
52
+
53
+ type forComponentNamed<'handler, 'parts, 'component> = (
54
+ ~handler: Pulumi.Output.t<'handler>,
55
+ ~connect: connect<'parts>,
56
+ ~memorySize: int=?,
57
+ ~timeout: int=?,
58
+ ~name: string,
59
+ 'component,
60
+ ) => unit
61
+
62
+ type forEventCollector<'handler, 'component> = (
63
+ ~handler: Pulumi.Output.t<'handler>,
64
+ ~eventTopics: EventTopic.allOutputs,
65
+ ~resources: array<ReventlessInfra.Adapter.resource>,
66
+ ~memorySize: int=?,
67
+ ~timeout: int=?,
68
+ 'component,
69
+ ) => unit
70
+
71
+ // commandHandlerConfig — per-Lambda tuning for the four command-handler Lambdas:
72
+ // AllAggregatesCmdHandler (sync), AllAggregatesAsyncCmdHandler,
73
+ // <Plugin>DcbCmdHandler (sync), <Plugin>DcbAsyncCmdHandler. Every field is
74
+ // optional; the framework fills
75
+ // unset fields from CommandHandlerDefaults below. Transport-neutral: the
76
+ // AWS platform maps fields to Lambda/SQS/CloudWatch primitives; the
77
+ // in-memory platform honors envVars and ignores the rest.
78
+ type commandHandlerConfig = {
79
+ memorySize?: int,
80
+ timeout?: int,
81
+ reservedConcurrency?: int,
82
+ sqsBatchSize?: int,
83
+ ephemeralStorageMb?: int,
84
+ logRetentionDays?: int,
85
+ envVars?: dict<string>,
86
+ }
87
+
88
+ type commandHandlerConfigFlavors = {
89
+ sync?: commandHandlerConfig,
90
+ async?: commandHandlerConfig,
91
+ }
92
+
93
+ type commandHandlerConfigs = {
94
+ aggregates?: commandHandlerConfigFlavors,
95
+ stateChanges?: commandHandlerConfigFlavors,
96
+ }
97
+
98
+ // Framework defaults applied when commandHandlerConfig fields are omitted.
99
+ // Single source of truth — readable and composable by app developers.
100
+ module CommandHandlerDefaults = {
101
+ let memorySize = 1024
102
+ let timeout = 30
103
+ let sqsBatchSize = 10
104
+ let ephemeralStorageMb = 512
105
+ let logRetentionDays = 7
106
+ }
@@ -0,0 +1,22 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Effect from "effect/Effect";
4
+ import * as RequestContext$ReventlessCore from "../../RequestContext.res.mjs";
5
+
6
+ function runEffectHandler(handler) {
7
+ return (event, ctx) => Effect.runPromise(Effect.provideService(handler(event, ctx), RequestContext$ReventlessCore.tag, RequestContext$ReventlessCore.test(undefined, undefined, undefined)));
8
+ }
9
+
10
+ let CommandHandlerDefaults = {
11
+ memorySize: 1024,
12
+ timeout: 30,
13
+ sqsBatchSize: 10,
14
+ ephemeralStorageMb: 512,
15
+ logRetentionDays: 7
16
+ };
17
+
18
+ export {
19
+ runEffectHandler,
20
+ CommandHandlerDefaults,
21
+ }
22
+ /* effect/Effect Not a pure module */
@@ -0,0 +1,32 @@
1
+ // Configuration the bundled Task runtime needs to dispatch CreateSchedule /
2
+ // DeleteSchedule actions to the underlying scheduler service. None on
3
+ // adapters without a real scheduler (in-memory) or on Tasks without a
4
+ // side-effect handler — those Tasks can't schedule anything.
5
+ type schedulerConfig = {
6
+ /** URN identifying the principal/role the scheduler invokes targets as. */
7
+ schedulerRoleUrn: Pulumi.Output.t<string>,
8
+ /** URN of the channel resource the schedule will deliver events to (the
9
+ side-effect handler's collector channel). */
10
+ targetUrn: Pulumi.Output.t<string>,
11
+ /** Logical name of the target resource — used as the schedule target's id. */
12
+ targetName: Pulumi.Output.t<string>,
13
+ }
14
+
15
+ module type T = {
16
+ type context
17
+ type callbackEvent
18
+ type runtimeParts
19
+
20
+ let forBucketCallback: (
21
+ ~handler: Pulumi.Output.t<Runtime.eventHandler<callbackEvent, context, unit>>,
22
+ ~connect: Runtime.connect<runtimeParts>,
23
+ ~memorySize: int=?,
24
+ ~timeout: int=?,
25
+ ~name: string,
26
+ ~callbackModulePath: string,
27
+ ~publishToAggregatesQueueUrls: dict<Pulumi.Output.t<string>>,
28
+ ~schedulerConfig: option<schedulerConfig>,
29
+ Task.component,
30
+ ) => unit
31
+ let finish: unit => unit
32
+ }
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,42 @@
1
+ module Make = (
2
+ RuntimeEnvironment: Runtime.Environment,
3
+ TaskBucket: Task_Adapter.Bucket
4
+ with type runtimeParts = RuntimeEnvironment.parts
5
+ and type context = RuntimeEnvironment.context,
6
+ ): (
7
+ TaskRuntime_Builder.T
8
+ with type context = RuntimeEnvironment.context
9
+ and type runtimeParts = RuntimeEnvironment.parts
10
+ and type callbackEvent = TaskBucket.callbackEvent
11
+ ) => {
12
+ type context = RuntimeEnvironment.context
13
+ type runtimeParts = RuntimeEnvironment.parts
14
+ type callbackEvent = TaskBucket.callbackEvent
15
+
16
+ let forBucketCallback = (
17
+ ~handler,
18
+ ~connect,
19
+ ~memorySize=1024,
20
+ ~timeout=30,
21
+ ~name,
22
+ ~callbackModulePath as _,
23
+ ~publishToAggregatesQueueUrls as _,
24
+ ~schedulerConfig as _,
25
+ task: Task.component,
26
+ ) => {
27
+ let resource = task->Component.toPulumiResource
28
+ // `name` is the PascalCase bucket stem; give the side-effect handler the
29
+ // SideEffectHandler kind (matches the AWS TaskRuntime builder).
30
+ let name = resource.name->Option.getOr("UnnamedTask") ++ name ++ "SideEffectHandler"
31
+ let runtime = RuntimeEnvironment.make(
32
+ ~name,
33
+ ~handler=handler->Pulumi.Output.apply(handler => handler->RuntimeEnvironment.asEventHandler),
34
+ ~memorySize,
35
+ ~timeout,
36
+ ~opts={Pulumi.ComponentResource.parent: resource},
37
+ )
38
+ let _connectResources = connect(~runtime)
39
+ }
40
+
41
+ let finish = () => ()
42
+ }
@@ -0,0 +1,29 @@
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 Component$ReventlessCore from "../../components/Component.res.mjs";
5
+
6
+ function Make(RuntimeEnvironment) {
7
+ return TaskBucket => {
8
+ let forBucketCallback = (handler, connect, memorySizeOpt, timeoutOpt, name, param, param$1, param$2, task) => {
9
+ let memorySize = memorySizeOpt !== undefined ? memorySizeOpt : 1024;
10
+ let timeout = timeoutOpt !== undefined ? timeoutOpt : 30;
11
+ let resource = Component$ReventlessCore.toPulumiResource(task);
12
+ let name$1 = Stdlib_Option.getOr(resource.__name, "UnnamedTask") + name + "SideEffectHandler";
13
+ let runtime = RuntimeEnvironment.make(name$1, handler.apply(handler => RuntimeEnvironment.asEventHandler(handler)), memorySize, timeout, {
14
+ parent: resource
15
+ });
16
+ connect(runtime);
17
+ };
18
+ let finish = () => {};
19
+ return {
20
+ forBucketCallback: forBucketCallback,
21
+ finish: finish
22
+ };
23
+ };
24
+ }
25
+
26
+ export {
27
+ Make,
28
+ }
29
+ /* Component-ReventlessCore Not a pure module */