@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,250 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Stdlib_Array from "@rescript/runtime/lib/es6/Stdlib_Array.js";
4
+ import * as Output$Pulumi from "@reventlessdev/rescript-pulumi-pulumi/src/Output.res.mjs";
5
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
6
+ import * as Pulumi from "@pulumi/pulumi";
7
+ import * as Belt_SetString from "@rescript/runtime/lib/es6/Belt_SetString.js";
8
+ import * as Cloner$ReventlessCore from "../components/Cloner.res.mjs";
9
+ import * as AdminApi$ReventlessCore from "./AdminApi.res.mjs";
10
+ import * as Aggregate$ReventlessCore from "../components/Aggregate/Aggregate.res.mjs";
11
+ import * as Component$ReventlessCore from "../components/Component.res.mjs";
12
+ import * as ReadModel$ReventlessCore from "../components/ReadModel/ReadModel.res.mjs";
13
+ import * as Dcb_Builder$ReventlessCore from "../components/Dcb/Dcb_Builder.res.mjs";
14
+ import * as Admin_Callback$ReventlessCore from "./Admin_Callback.res.mjs";
15
+ import * as Plugin_Helpers$ReventlessCore from "../plugin/component/Plugin_Helpers.res.mjs";
16
+ import * as Builder_Helpers$ReventlessCore from "../components/Builder_Helpers.res.mjs";
17
+ import * as GraphQL_Stitcher$ReventlessCore from "../components/Api/GraphQL_Stitcher.res.mjs";
18
+ import * as Plugin_Structure$ReventlessCore from "../plugin/component/Plugin_Structure.res.mjs";
19
+ import * as EventCollector_Builder$ReventlessCore from "../components/EventCollector/EventCollector_Builder.res.mjs";
20
+ import * as GraphQL_FragmentGenerator$ReventlessCore from "../components/Api/GraphQL_FragmentGenerator.res.mjs";
21
+
22
+ function Make(RuntimeEnvironment) {
23
+ return EventCollectorChannel => (QueryEngineAdapter => (ClonerRunner => (AdminRuntimeBuilder => (DcbEventLogStorage => (DcbEventTopicPublisher => (DcbCommandTopicChannel => (DcbCommandTopicChannelAsync => (Config => {
24
+ let MakeEventCollectorHelper = RE => (ECC => (RB => {
25
+ let AdminEventCollector = EventCollector_Builder$ReventlessCore.Make(RE)(ECC);
26
+ let make = (name, eventTopics, opts) => {
27
+ let eventCollector = AdminEventCollector.make(name, eventTopics, opts);
28
+ let eventCollectorOutputs = Component$ReventlessCore.outputs(eventCollector);
29
+ return [
30
+ eventCollector,
31
+ eventCollectorOutputs
32
+ ];
33
+ };
34
+ let connect = (eventCollector, eventTopics, extensionPointsOutputs, extensionPointsOutgoingJsonEventsHandlers) => {
35
+ let resources = Pulumi.all(extensionPointsOutputs.map(extensionPoint => extensionPoint.eventTopic)).apply(eventTopics => eventTopics.map(eventTopic => eventTopic.resources).flat());
36
+ return resources.apply(resources => {
37
+ let fakePluginDefinition = {
38
+ id: "Admin@INTERNAL",
39
+ name: "Admin",
40
+ version: "INTERNAL",
41
+ extensionPoints: [],
42
+ extensions: [],
43
+ eventCollector: "NOT-SET",
44
+ extensionProtocols: [],
45
+ apiSchemaFragment: undefined,
46
+ apiTarget: undefined,
47
+ uiFragments: undefined,
48
+ structure: undefined,
49
+ dcbEventLog: undefined
50
+ };
51
+ let Callback = Admin_Callback$ReventlessCore.Make({
52
+ pluginDefinition: fakePluginDefinition,
53
+ outgoingExtensionPointJsonEventsHandlers: extensionPointsOutgoingJsonEventsHandlers
54
+ });
55
+ let handler = AdminEventCollector.makeHandler(eventCollector, Callback.handleJsonEvents);
56
+ RB.forPluginEventCollector(handler, eventTopics, resources, undefined, undefined, eventCollector);
57
+ });
58
+ };
59
+ return {
60
+ AdminEventCollector: AdminEventCollector,
61
+ make: make,
62
+ connect: connect
63
+ };
64
+ }));
65
+ let construct = (param, extensionPoints, aggregates, readModels, scheduler, resourceNaming, api, apiRole, stateChangeSlices, stateViewSlices, automationSlices, outboundTranslationSlices, inboundTranslationSlices) => {
66
+ let name = "Admin";
67
+ let opts = {};
68
+ let DcbBuilder = Dcb_Builder$ReventlessCore.Make(DcbEventLogStorage)(DcbEventTopicPublisher)(DcbCommandTopicChannel)(DcbCommandTopicChannelAsync)(AdminRuntimeBuilder)({
69
+ hooks: Config.hooks
70
+ });
71
+ let aggregatesWithoutEventMappers = Builder_Helpers$ReventlessCore.createAggregatesWithoutEventMappers(aggregates, api, opts);
72
+ let aggregateEventTopics = Aggregate$ReventlessCore.allEventTopics(aggregatesWithoutEventMappers);
73
+ Plugin_Helpers$ReventlessCore.registerAdminAggregateMutations(aggregates, Config.hooks);
74
+ let dcbResult = DcbBuilder.construct(name, name, undefined, undefined, aggregateEventTopics, stateChangeSlices, stateViewSlices, automationSlices, outboundTranslationSlices, inboundTranslationSlices, undefined, opts);
75
+ let adminMutationEntries = AdminApi$ReventlessCore.mutationEntries(Config.cloner);
76
+ let allMutationEntries = adminMutationEntries.concat(dcbResult.mutationEntries);
77
+ let allQueryEntries = AdminApi$ReventlessCore.queryEntries.concat(dcbResult.queryEntries);
78
+ let adminFragment = GraphQL_FragmentGenerator$ReventlessCore.generate(allMutationEntries, allQueryEntries);
79
+ if (dcbResult.mutationEntries.length !== 0 || dcbResult.queryEntries.length !== 0) {
80
+ let registerTypes = Config.hooks.schemaTypeRegistrationHook;
81
+ if (registerTypes !== undefined) {
82
+ let parts = GraphQL_Stitcher$ReventlessCore.decode(adminFragment);
83
+ registerTypes(parts.types);
84
+ }
85
+ let registerMcp = Config.hooks.mcpSchemaRegistrationHook;
86
+ if (registerMcp !== undefined) {
87
+ registerMcp({
88
+ pluginName: "Admin",
89
+ mutationEntries: allMutationEntries,
90
+ queryEntries: allQueryEntries,
91
+ eventLogEntries: dcbResult.eventLogEntries,
92
+ subscriptionFields: GraphQL_Stitcher$ReventlessCore.decode(adminFragment).subscriptions
93
+ });
94
+ }
95
+ }
96
+ let dcbOutputs = dcbResult.dcbEventLogOutputs;
97
+ if (dcbOutputs !== undefined) {
98
+ aggregateEventTopics[name + "DcbEventLog"] = dcbOutputs.eventTopic;
99
+ }
100
+ AdminApi$ReventlessCore.queryEntries.forEach(entry => {
101
+ let prefix = "Platform_";
102
+ let entityName = entry.returnTypeName.startsWith(prefix) ? entry.returnTypeName.slice(prefix.length, entry.returnTypeName.length) : entry.returnTypeName;
103
+ let registryKey = Stdlib_Option.getOr(entry.specName, entityName);
104
+ let match = Plugin_Structure$ReventlessCore.labelFieldsFromStateSchema(entityName, entry.stateSchema);
105
+ let qn_singleFieldName = entry.singleFieldName;
106
+ let qn_listFieldName = entry.listFieldName;
107
+ let qn_returnTypeName = entry.returnTypeName;
108
+ let qn_pluralTypeName = entry.listFieldName;
109
+ let qn_connectionFilterTypeName = entry.returnTypeName + "Filter";
110
+ let qn_labelField = match[0];
111
+ let qn_includeIdParam = Stdlib_Option.getOr(entry.includeIdParam, true);
112
+ let qn_connectionSpec = Stdlib_Option.getOr(entry.connectionSpec, true);
113
+ let qn = {
114
+ singleFieldName: qn_singleFieldName,
115
+ listFieldName: qn_listFieldName,
116
+ returnTypeName: qn_returnTypeName,
117
+ pluralTypeName: qn_pluralTypeName,
118
+ connectionFilterTypeName: qn_connectionFilterTypeName,
119
+ labelField: qn_labelField,
120
+ includeIdParam: qn_includeIdParam,
121
+ connectionSpec: qn_connectionSpec
122
+ };
123
+ Plugin_Helpers$ReventlessCore.queryFieldNamesRegistry[registryKey] = qn;
124
+ Plugin_Helpers$ReventlessCore.stateSchemaRegistry[registryKey] = entry.stateSchema;
125
+ });
126
+ let readModelsOutputs = Builder_Helpers$ReventlessCore.createReadModels(readModels, api, apiRole, aggregateEventTopics, opts);
127
+ let allQueryDbs = ReadModel$ReventlessCore.allQueryDbs(readModelsOutputs);
128
+ Object.entries(dcbResult.stateViewSlicesOutputs).forEach(param => {
129
+ allQueryDbs[param[0]] = param[1].queryDb;
130
+ });
131
+ Object.entries(dcbResult.inboundTranslationSlicesOutputs).forEach(param => {
132
+ allQueryDbs[param[0]] = param[1].queryDb;
133
+ });
134
+ let eventLogEntriesFromAggregates = aggregates.map(M => ({
135
+ busKey: M.Spec.name + "AggrEventLog",
136
+ displayName: M.Spec.name,
137
+ eventSchema: M.Spec.eventSchema
138
+ }));
139
+ let eventLogEntries = eventLogEntriesFromAggregates.concat(dcbResult.eventLogEntries);
140
+ Stdlib_Option.forEach(Config.hooks.subscriptionInfraHook, hook => hook({
141
+ allQueryDbs: allQueryDbs,
142
+ allEventTopics: aggregateEventTopics,
143
+ eventLogEntries: eventLogEntries,
144
+ opts: opts
145
+ }));
146
+ let queryEngine = QueryEngineAdapter.make(allQueryDbs);
147
+ let resourceNames = Object.values(readModelsOutputs).flatMap(rm => rm.queryDb.resources.map(r => r.name));
148
+ let dataSourceNames = Object.values(readModelsOutputs).map(rm => rm.queryDb.dataSourceName);
149
+ let adminBarrier = Pulumi.all(resourceNames.concat(dataSourceNames)).apply(param => {});
150
+ let push = Config.hooks.preAdminResolversSchemaHook;
151
+ let adminSchemaPushed = push !== undefined ? push(adminBarrier) : Pulumi.output();
152
+ adminSchemaPushed.apply(() => Builder_Helpers$ReventlessCore.createResolvers(allQueryDbs));
153
+ let extensionPointsOutputs = Pulumi.all([
154
+ Pulumi.all(Builder_Helpers$ReventlessCore.aggregateResources),
155
+ Pulumi.all(Builder_Helpers$ReventlessCore.publishToAggregates),
156
+ queryEngine,
157
+ scheduler
158
+ ]).apply(param => {
159
+ let queryEngine = param[2];
160
+ Builder_Helpers$ReventlessCore.addEventMappers(aggregateEventTopics, queryEngine);
161
+ let match = Builder_Helpers$ReventlessCore.createExtensionPoints(extensionPoints, param[0], param[1], param[3], queryEngine, resourceNaming, opts);
162
+ let extensionPointsOutputs = match[0];
163
+ let aggregateNames = Stdlib_Array.reduce(extensionPointsOutputs.map(extensionPointOutputs => Belt_SetString.fromArray(extensionPointOutputs.aggregateNames)), undefined, Belt_SetString.union);
164
+ let aggregatesOutputs = Builder_Helpers$ReventlessCore.addEventMappers(aggregateEventTopics, queryEngine);
165
+ let eventTopics = Aggregate$ReventlessCore.filterEventTopics(aggregatesOutputs, aggregateNames);
166
+ let AdminEventCollector = EventCollector_Builder$ReventlessCore.Make(RuntimeEnvironment)(EventCollectorChannel);
167
+ let make = (name, eventTopics, opts) => {
168
+ let eventCollector = AdminEventCollector.make(name, eventTopics, opts);
169
+ let eventCollectorOutputs = Component$ReventlessCore.outputs(eventCollector);
170
+ return [
171
+ eventCollector,
172
+ eventCollectorOutputs
173
+ ];
174
+ };
175
+ let connect = (eventCollector, eventTopics, extensionPointsOutputs, extensionPointsOutgoingJsonEventsHandlers) => {
176
+ let resources = Pulumi.all(extensionPointsOutputs.map(extensionPoint => extensionPoint.eventTopic)).apply(eventTopics => eventTopics.map(eventTopic => eventTopic.resources).flat());
177
+ return resources.apply(resources => {
178
+ let fakePluginDefinition = {
179
+ id: "Admin@INTERNAL",
180
+ name: "Admin",
181
+ version: "INTERNAL",
182
+ extensionPoints: [],
183
+ extensions: [],
184
+ eventCollector: "NOT-SET",
185
+ extensionProtocols: [],
186
+ apiSchemaFragment: undefined,
187
+ apiTarget: undefined,
188
+ uiFragments: undefined,
189
+ structure: undefined,
190
+ dcbEventLog: undefined
191
+ };
192
+ let Callback = Admin_Callback$ReventlessCore.Make({
193
+ pluginDefinition: fakePluginDefinition,
194
+ outgoingExtensionPointJsonEventsHandlers: extensionPointsOutgoingJsonEventsHandlers
195
+ });
196
+ let handler = AdminEventCollector.makeHandler(eventCollector, Callback.handleJsonEvents);
197
+ AdminRuntimeBuilder.forPluginEventCollector(handler, eventTopics, resources, undefined, undefined, eventCollector);
198
+ });
199
+ };
200
+ let match$1 = make(name, eventTopics, opts);
201
+ let eventCollector = match$1[0];
202
+ Output$Pulumi.flatMap(Pulumi.all(match[1]), extensionPointsOutgoingJsonEventsHandlers => connect(eventCollector, eventTopics, extensionPointsOutputs, extensionPointsOutgoingJsonEventsHandlers));
203
+ Stdlib_Option.forEach(dcbResult.dcbRuntimeSetup, dcbRuntimeSetup => dcbRuntimeSetup());
204
+ return extensionPointsOutputs;
205
+ });
206
+ if (Config.cloner) {
207
+ let Cloner = Cloner$ReventlessCore.Make(ClonerRunner);
208
+ Cloner.make(api, opts);
209
+ }
210
+ return {
211
+ adminFragment: adminFragment,
212
+ dcbMutationEntries: dcbResult.mutationEntries,
213
+ dcbQueryEntries: dcbResult.queryEntries,
214
+ dcbEventLogEntries: dcbResult.eventLogEntries,
215
+ extensionPointsOutputs: extensionPointsOutputs,
216
+ aggregatesOutputs: aggregatesWithoutEventMappers,
217
+ readModelsOutputs: readModelsOutputs,
218
+ dcbEventLogOutputs: dcbResult.dcbEventLogOutputs,
219
+ stateChangeSlicesOutputs: dcbResult.stateChangeSlicesOutputs,
220
+ stateViewSlicesOutputs: dcbResult.stateViewSlicesOutputs,
221
+ automationSlicesOutputs: dcbResult.automationSlicesOutputs,
222
+ outboundTranslationSlicesOutputs: dcbResult.outboundTranslationSlicesOutputs,
223
+ inboundTranslationSlicesOutputs: dcbResult.inboundTranslationSlicesOutputs
224
+ };
225
+ };
226
+ return {
227
+ addEventMapperFns: Builder_Helpers$ReventlessCore.addEventMapperFns,
228
+ aggregateResources: Builder_Helpers$ReventlessCore.aggregateResources,
229
+ publishToAggregates: Builder_Helpers$ReventlessCore.publishToAggregates,
230
+ aggregateFinishFns: Builder_Helpers$ReventlessCore.aggregateFinishFns,
231
+ createAggregatesWithoutEventMappers: Builder_Helpers$ReventlessCore.createAggregatesWithoutEventMappers,
232
+ finishAggregates: Builder_Helpers$ReventlessCore.finishAggregates,
233
+ addEventMappers: Builder_Helpers$ReventlessCore.addEventMappers,
234
+ readModelNamesForSourceName: Builder_Helpers$ReventlessCore.readModelNamesForSourceName,
235
+ publishToReadModels: Builder_Helpers$ReventlessCore.publishToReadModels,
236
+ finishReadModels: Builder_Helpers$ReventlessCore.finishReadModels,
237
+ extractReadModelsOutputs: Builder_Helpers$ReventlessCore.extractReadModelsOutputs,
238
+ createReadModels: Builder_Helpers$ReventlessCore.createReadModels,
239
+ createExtensionPoints: Builder_Helpers$ReventlessCore.createExtensionPoints,
240
+ createResolvers: Builder_Helpers$ReventlessCore.createResolvers,
241
+ MakeEventCollectorHelper: MakeEventCollectorHelper,
242
+ construct: construct
243
+ };
244
+ }))))))));
245
+ }
246
+
247
+ export {
248
+ Make,
249
+ }
250
+ /* Output-Pulumi Not a pure module */
@@ -0,0 +1,125 @@
1
+ // Synthetic pluginStructure for the built-in Platform_Admin plugin.
2
+ //
3
+ // The admin's Plugin aggregate + Plugin read model are
4
+ // wired into the GraphQL schema via PluginBaseFragment, not through the
5
+ // regular ~aggregates / ~readModels arrays passed to Admin.construct. As a
6
+ // result, Plugin_Structure.make never sees them, and the in-memory Platform
7
+ // never seeds them into pluginStructuresStore — so the host shell's Auto UI
8
+ // has no metadata for the admin plugin and renders nothing for it.
9
+ //
10
+ // This module produces an equivalent structure by hand using the same field
11
+ // naming conventions (Api_Naming.adminField) and the mutation arg schemas
12
+ // from PluginBaseFragment.
13
+
14
+ open Reventless.Plugin
15
+
16
+ let pluginId = "Platform"
17
+
18
+ let pluginName = pluginId
19
+
20
+ let encodeSchema = (schema: S.t<unknown>): string =>
21
+ schema->SuryToJsonSchema.deriveObjectSchema->JSON.stringify
22
+
23
+ // Strip the named fields from a derived JSON schema's `properties` map and
24
+ // `required` list. Used so Plugin read model metadata announced via
25
+ // `Platform_ComponentDefinitions` matches the SDL — fields excluded from the GraphQL
26
+ // schema in `PluginBaseFragment` must also disappear from the schema string
27
+ // AutoUI consumes, or list-view queries will reference non-existent fields.
28
+ let encodeSchemaExcluding = (schema: S.t<unknown>, ~excludeFields: array<string>): string => {
29
+ let derived = schema->SuryToJsonSchema.deriveObjectSchema
30
+ switch derived->JSON.Decode.object {
31
+ | None => derived->JSON.stringify
32
+ | Some(obj) =>
33
+ switch obj->Dict.get("properties")->Option.flatMap(JSON.Decode.object) {
34
+ | None => derived->JSON.stringify
35
+ | Some(props) =>
36
+ excludeFields->Array.forEach(f => props->Dict.delete(f))
37
+ obj->Dict.set("properties", props->JSON.Encode.object)
38
+ switch obj->Dict.get("required")->Option.flatMap(JSON.Decode.array) {
39
+ | None => ()
40
+ | Some(req) =>
41
+ let filtered =
42
+ req
43
+ ->Array.filterMap(JSON.Decode.string)
44
+ ->Array.filter(name => !(excludeFields->Array.includes(name)))
45
+ ->Array.map(JSON.Encode.string)
46
+ ->JSON.Encode.array
47
+ obj->Dict.set("required", filtered)
48
+ }
49
+ obj->JSON.Encode.object->JSON.stringify
50
+ }
51
+ }
52
+ }
53
+
54
+ // Args schema for the synthetic Auto UI metadata. Activate/Deactivate are payload-less
55
+ // `PluginSpec.command` variants on the wire — the auto-resolver flow injects `id: ID!`.
56
+ // Keep a local schema here so Auto UI's command-form metadata stays accurate.
57
+ @schema
58
+ type idArgs = {id: @s.matches(Reventless.DcbTag.string) string}
59
+
60
+ // `aggregateIdField: Some("id")` pre-fills the form's `id` input from the
61
+ // selected list row. The auto-codegen path would emit this for any
62
+ // Instance-level command whose schema has a DCB-tagged id field; the
63
+ // hand-rolled definitions below have to mirror that.
64
+
65
+ // `allowedStates` mirrors the PluginBehavior accept/reject branches: Activate
66
+ // is meaningful only on Inactive plugins; Deactivate is meaningful on
67
+ // Connected or Disconnected ones. Strings here must match the variant
68
+ // constructor names that PluginsReadModelSpec.status serialises to.
69
+ let activateCommand: commandDef = {
70
+ name: "Activate",
71
+ schema: idArgsSchema->S.castToUnknown->encodeSchema,
72
+ level: Instance,
73
+ aggregateIdField: Some("id"),
74
+ mutationField: Api_Naming.adminField(~name="Plugin_Activate"),
75
+ references: [],
76
+ allowedStates: Some(["Inactive"]),
77
+ apiExposed: Some(true),
78
+ }
79
+
80
+ let deactivateCommand: commandDef = {
81
+ name: "Deactivate",
82
+ schema: idArgsSchema->S.castToUnknown->encodeSchema,
83
+ level: Instance,
84
+ aggregateIdField: Some("id"),
85
+ mutationField: Api_Naming.adminField(~name="Plugin_Deactivate"),
86
+ references: [],
87
+ allowedStates: Some(["Connected", "Disconnected"]),
88
+ apiExposed: Some(true),
89
+ }
90
+
91
+ let pluginAggregate: writableDef = {
92
+ name: "Plugin",
93
+ commands: [activateCommand, deactivateCommand],
94
+ producedEventTypes: [],
95
+ consumedEventTypes: [],
96
+ linkedViews: ["Plugins"],
97
+ consistencyRead: None,
98
+ events: [],
99
+ }
100
+
101
+ let pluginReadModel: queryableDef = {
102
+ name: "Plugins",
103
+ queryField: Api_Naming.adminField(~name="Plugins"),
104
+ schema: PluginsReadModelSpec.stateSchema
105
+ ->S.castToUnknown
106
+ ->encodeSchemaExcluding(~excludeFields=PluginBaseFragment.pluginUIOnlyExcludeFields),
107
+ consumedEventTypes: [],
108
+ linkedWriteSide: ["Plugin"],
109
+ labelField: "name",
110
+ searchableFields: ["name"],
111
+ statusField: Some("status"),
112
+ visibility: None,
113
+ }
114
+
115
+ let structure: pluginStructure = {
116
+ readModels: [pluginReadModel],
117
+ stateViewSlices: [],
118
+ stateChangeSlices: [],
119
+ aggregates: [pluginAggregate],
120
+ automationSlices: [],
121
+ outboundTranslationSlices: [],
122
+ inboundTranslationSlices: [],
123
+ extensions: [],
124
+ extensionPoints: None,
125
+ }
@@ -0,0 +1,182 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as S from "sury/src/S.res.mjs";
4
+ import * as Stdlib_Dict from "@rescript/runtime/lib/es6/Stdlib_Dict.js";
5
+ import * as Stdlib_JSON from "@rescript/runtime/lib/es6/Stdlib_JSON.js";
6
+ import * as Stdlib_Array from "@rescript/runtime/lib/es6/Stdlib_Array.js";
7
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
8
+ import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
9
+ import * as Api_Naming$ReventlessCore from "../components/Api/Api_Naming.res.mjs";
10
+ import * as SuryToJsonSchema$ReventlessCore from "../components/Api/SuryToJsonSchema.res.mjs";
11
+ import * as PluginBaseFragment$ReventlessCore from "../plugin/api/PluginBaseFragment.res.mjs";
12
+ import * as PluginsReadModelSpec$ReventlessCore from "../plugin/lifecycle/PluginsReadModelSpec.res.mjs";
13
+
14
+ let pluginId = "Platform";
15
+
16
+ function encodeSchema(schema) {
17
+ return JSON.stringify(SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema));
18
+ }
19
+
20
+ function encodeSchemaExcluding(schema, excludeFields) {
21
+ let derived = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
22
+ let obj = Stdlib_JSON.Decode.object(derived);
23
+ if (obj === undefined) {
24
+ return JSON.stringify(derived);
25
+ }
26
+ let props = Stdlib_Option.flatMap(obj["properties"], Stdlib_JSON.Decode.object);
27
+ if (props === undefined) {
28
+ return JSON.stringify(derived);
29
+ }
30
+ excludeFields.forEach(f => Stdlib_Dict.$$delete(props, f));
31
+ obj["properties"] = props;
32
+ let req = Stdlib_Option.flatMap(obj["required"], Stdlib_JSON.Decode.array);
33
+ if (req !== undefined) {
34
+ let filtered = Stdlib_Array.filterMap(req, Stdlib_JSON.Decode.string).filter(name => !excludeFields.includes(name)).map(prim => prim);
35
+ obj["required"] = filtered;
36
+ }
37
+ return JSON.stringify(obj);
38
+ }
39
+
40
+ let idArgsSchema = S.schema(s => ({
41
+ id: s.m(DcbTag$Reventless.string)
42
+ }));
43
+
44
+ let activateCommand_schema = encodeSchema(idArgsSchema);
45
+
46
+ let activateCommand_aggregateIdField = "id";
47
+
48
+ let activateCommand_mutationField = Api_Naming$ReventlessCore.adminField("Plugin_Activate");
49
+
50
+ let activateCommand_references = [];
51
+
52
+ let activateCommand_allowedStates = ["Inactive"];
53
+
54
+ let activateCommand_apiExposed = true;
55
+
56
+ let activateCommand = {
57
+ name: "Activate",
58
+ schema: activateCommand_schema,
59
+ level: "Instance",
60
+ aggregateIdField: activateCommand_aggregateIdField,
61
+ mutationField: activateCommand_mutationField,
62
+ references: activateCommand_references,
63
+ allowedStates: activateCommand_allowedStates,
64
+ apiExposed: activateCommand_apiExposed
65
+ };
66
+
67
+ let deactivateCommand_schema = encodeSchema(idArgsSchema);
68
+
69
+ let deactivateCommand_aggregateIdField = "id";
70
+
71
+ let deactivateCommand_mutationField = Api_Naming$ReventlessCore.adminField("Plugin_Deactivate");
72
+
73
+ let deactivateCommand_references = [];
74
+
75
+ let deactivateCommand_allowedStates = [
76
+ "Connected",
77
+ "Disconnected"
78
+ ];
79
+
80
+ let deactivateCommand_apiExposed = true;
81
+
82
+ let deactivateCommand = {
83
+ name: "Deactivate",
84
+ schema: deactivateCommand_schema,
85
+ level: "Instance",
86
+ aggregateIdField: deactivateCommand_aggregateIdField,
87
+ mutationField: deactivateCommand_mutationField,
88
+ references: deactivateCommand_references,
89
+ allowedStates: deactivateCommand_allowedStates,
90
+ apiExposed: deactivateCommand_apiExposed
91
+ };
92
+
93
+ let pluginAggregate_commands = [
94
+ activateCommand,
95
+ deactivateCommand
96
+ ];
97
+
98
+ let pluginAggregate_producedEventTypes = [];
99
+
100
+ let pluginAggregate_consumedEventTypes = [];
101
+
102
+ let pluginAggregate_linkedViews = ["Plugins"];
103
+
104
+ let pluginAggregate_events = [];
105
+
106
+ let pluginAggregate = {
107
+ name: "Plugin",
108
+ commands: pluginAggregate_commands,
109
+ producedEventTypes: pluginAggregate_producedEventTypes,
110
+ consumedEventTypes: pluginAggregate_consumedEventTypes,
111
+ linkedViews: pluginAggregate_linkedViews,
112
+ consistencyRead: undefined,
113
+ events: pluginAggregate_events
114
+ };
115
+
116
+ let pluginReadModel_queryField = Api_Naming$ReventlessCore.adminField("Plugins");
117
+
118
+ let pluginReadModel_schema = encodeSchemaExcluding(PluginsReadModelSpec$ReventlessCore.stateSchema, PluginBaseFragment$ReventlessCore.pluginUIOnlyExcludeFields);
119
+
120
+ let pluginReadModel_consumedEventTypes = [];
121
+
122
+ let pluginReadModel_linkedWriteSide = ["Plugin"];
123
+
124
+ let pluginReadModel_searchableFields = ["name"];
125
+
126
+ let pluginReadModel_statusField = "status";
127
+
128
+ let pluginReadModel = {
129
+ name: "Plugins",
130
+ queryField: pluginReadModel_queryField,
131
+ schema: pluginReadModel_schema,
132
+ consumedEventTypes: pluginReadModel_consumedEventTypes,
133
+ linkedWriteSide: pluginReadModel_linkedWriteSide,
134
+ labelField: "name",
135
+ searchableFields: pluginReadModel_searchableFields,
136
+ statusField: pluginReadModel_statusField,
137
+ visibility: undefined
138
+ };
139
+
140
+ let structure_readModels = [pluginReadModel];
141
+
142
+ let structure_stateViewSlices = [];
143
+
144
+ let structure_stateChangeSlices = [];
145
+
146
+ let structure_aggregates = [pluginAggregate];
147
+
148
+ let structure_automationSlices = [];
149
+
150
+ let structure_outboundTranslationSlices = [];
151
+
152
+ let structure_inboundTranslationSlices = [];
153
+
154
+ let structure_extensions = [];
155
+
156
+ let structure = {
157
+ readModels: structure_readModels,
158
+ stateViewSlices: structure_stateViewSlices,
159
+ stateChangeSlices: structure_stateChangeSlices,
160
+ aggregates: structure_aggregates,
161
+ automationSlices: structure_automationSlices,
162
+ outboundTranslationSlices: structure_outboundTranslationSlices,
163
+ inboundTranslationSlices: structure_inboundTranslationSlices,
164
+ extensions: structure_extensions,
165
+ extensionPoints: undefined
166
+ };
167
+
168
+ let pluginName = pluginId;
169
+
170
+ export {
171
+ pluginId,
172
+ pluginName,
173
+ encodeSchema,
174
+ encodeSchemaExcluding,
175
+ idArgsSchema,
176
+ activateCommand,
177
+ deactivateCommand,
178
+ pluginAggregate,
179
+ pluginReadModel,
180
+ structure,
181
+ }
182
+ /* idArgsSchema Not a pure module */