@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,257 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Stdlib_JSON from "@rescript/runtime/lib/es6/Stdlib_JSON.js";
4
+ import * as Stdlib_JsExn from "@rescript/runtime/lib/es6/Stdlib_JsExn.js";
5
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
6
+ import * as AnsiStyle$Reventless from "@reventlessdev/reventless-spec/src/AnsiStyle.res.mjs";
7
+ import * as Message$ReventlessCore from "../Message.res.mjs";
8
+
9
+ function cmdName(msg) {
10
+ return AnsiStyle$Reventless.bold(Message$ReventlessCore.variantNameOfJson(msg.commandJson));
11
+ }
12
+
13
+ function cmdNames(msgs) {
14
+ return `[` + msgs.map(cmdName).join(",") + `]`;
15
+ }
16
+
17
+ function cmdSummary(msg) {
18
+ return AnsiStyle$Reventless.bold(Message$ReventlessCore.variantNameOfJson(msg.commandJson)) + `(` + msg.id + `)`;
19
+ }
20
+
21
+ function cmdSummaries(msgs) {
22
+ return `[` + msgs.map(cmdSummary).join(",") + `]`;
23
+ }
24
+
25
+ function variantFields(json) {
26
+ if (typeof json !== "object" || json === null || Array.isArray(json)) {
27
+ return "";
28
+ }
29
+ let fields = Object.entries(json).filter(param => param[0] !== "TAG").map(param => param[0] + `:` + JSON.stringify(param[1])).join(",");
30
+ if (fields === "") {
31
+ return "";
32
+ } else {
33
+ return `, {` + fields + `}`;
34
+ }
35
+ }
36
+
37
+ function cmdDetail(msg) {
38
+ return AnsiStyle$Reventless.bold(Message$ReventlessCore.variantNameOfJson(msg.commandJson)) + `(` + msg.id + variantFields(msg.commandJson) + `)`;
39
+ }
40
+
41
+ function cmdDetails(msgs) {
42
+ return `[` + msgs.map(cmdDetail).join(", ") + `]`;
43
+ }
44
+
45
+ function cmdLabelOfJson(json) {
46
+ let fields = variantFields(json);
47
+ let body = fields.startsWith(", ") ? fields.slice(2, fields.length) : fields;
48
+ return AnsiStyle$Reventless.bold(Message$ReventlessCore.variantNameOfJson(json)) + `(` + body + `)`;
49
+ }
50
+
51
+ function cmdDetailNoId(msg) {
52
+ return cmdLabelOfJson(msg.commandJson);
53
+ }
54
+
55
+ function cmdFull(msg) {
56
+ let commandStr = JSON.stringify(msg.commandJson);
57
+ let metaStr = JSON.stringify(Message$ReventlessCore.encode(msg.meta, Message$ReventlessCore.metaSchema));
58
+ return `{"command":` + commandStr + `,"meta":` + metaStr + `,"id":"` + msg.id + `"}`;
59
+ }
60
+
61
+ function cmdFulls(msgs) {
62
+ return `[` + msgs.map(cmdFull).join(", ") + `]`;
63
+ }
64
+
65
+ function eventName(j) {
66
+ return AnsiStyle$Reventless.bold(Message$ReventlessCore.eventNameOfEvent$pJson(j));
67
+ }
68
+
69
+ function eventNames(events) {
70
+ return `[` + events.map(eventName).join(",") + `]`;
71
+ }
72
+
73
+ function eventSummary(j) {
74
+ let match = Message$ReventlessCore.idMetaEventOfEvent$pJson(j);
75
+ return AnsiStyle$Reventless.bold(Message$ReventlessCore.eventNameOfEvent$pJson(j)) + `(` + match[0] + `)`;
76
+ }
77
+
78
+ function eventSummaries(events) {
79
+ return `[` + events.map(eventSummary).join(",") + `]`;
80
+ }
81
+
82
+ function eventDetail(j) {
83
+ let match = Message$ReventlessCore.idMetaEventOfEvent$pJson(j);
84
+ let eventJson = Stdlib_Option.getOr(Stdlib_Option.flatMap(Stdlib_JSON.Decode.object(j), d => d["event"]), null);
85
+ return AnsiStyle$Reventless.bold(Message$ReventlessCore.eventNameOfEvent$pJson(j)) + `(` + match[0] + variantFields(eventJson) + `)`;
86
+ }
87
+
88
+ function eventDetails(events) {
89
+ return `[` + events.map(eventDetail).join(", ") + `]`;
90
+ }
91
+
92
+ function eventFull(j) {
93
+ let match = Message$ReventlessCore.idMetaEventOfEvent$pJson(j);
94
+ return `{"event":` + match[2] + `,"meta":` + match[1] + `,"id":"` + match[0] + `"}`;
95
+ }
96
+
97
+ function eventFulls(events) {
98
+ return `[` + events.map(eventFull).join(", ") + `]`;
99
+ }
100
+
101
+ function actionName(action) {
102
+ if (typeof action !== "object") {
103
+ return "Ignore";
104
+ }
105
+ switch (action.TAG) {
106
+ case "Create" :
107
+ return "Create";
108
+ case "CreateMany" :
109
+ return "CreateMany";
110
+ case "Update" :
111
+ return "Update";
112
+ case "UpdateMany" :
113
+ return "UpdateMany";
114
+ case "UpdateWithDefault" :
115
+ return "UpdateWithDefault";
116
+ case "UpdateManyWithDefault" :
117
+ return "UpdateManyWithDefault";
118
+ case "Set" :
119
+ return "Set";
120
+ case "SetMany" :
121
+ return "SetMany";
122
+ case "Delete" :
123
+ return "Delete";
124
+ case "DeleteMany" :
125
+ return "DeleteMany";
126
+ case "DeleteIf" :
127
+ return "DeleteIf";
128
+ case "DeleteManyIf" :
129
+ return "DeleteManyIf";
130
+ case "CreateMultiState" :
131
+ return "CreateMultiState";
132
+ case "UpdateMultiState" :
133
+ return "UpdateMultiState";
134
+ case "UpdateManyMultiStates" :
135
+ return "UpdateManyMultiStates";
136
+ }
137
+ }
138
+
139
+ function actionNames(actions) {
140
+ return `[` + actions.map(actionName).join(",") + `]`;
141
+ }
142
+
143
+ function actionDetail(action) {
144
+ if (typeof action !== "object") {
145
+ return "Ignore";
146
+ }
147
+ switch (action.TAG) {
148
+ case "Create" :
149
+ return `Create(` + action._0 + `)`;
150
+ case "CreateMany" :
151
+ return `CreateMany(` + action._0.length.toString() + `)`;
152
+ case "Update" :
153
+ return `Update(` + action._0 + `)`;
154
+ case "UpdateMany" :
155
+ return `UpdateMany(` + action._0.length.toString() + `)`;
156
+ case "UpdateWithDefault" :
157
+ return `UpdateWithDefault(` + action._0 + `)`;
158
+ case "UpdateManyWithDefault" :
159
+ return `UpdateManyWithDefault(` + action._0.length.toString() + `)`;
160
+ case "Set" :
161
+ return `Set(` + action._0 + `)`;
162
+ case "SetMany" :
163
+ return `SetMany(` + action._0.length.toString() + `)`;
164
+ case "Delete" :
165
+ return `Delete(` + action._0 + `)`;
166
+ case "DeleteMany" :
167
+ return `DeleteMany(` + action._0.length.toString() + `)`;
168
+ case "DeleteIf" :
169
+ return `DeleteIf(` + action._0 + `)`;
170
+ case "DeleteManyIf" :
171
+ return `DeleteManyIf(` + action._0.length.toString() + `)`;
172
+ case "CreateMultiState" :
173
+ return `CreateMultiState(` + action._0 + `)`;
174
+ case "UpdateMultiState" :
175
+ return `UpdateMultiState(` + action._0 + `)`;
176
+ case "UpdateManyMultiStates" :
177
+ return `UpdateManyMultiStates(` + action._0.length.toString() + `)`;
178
+ }
179
+ }
180
+
181
+ function actionDetails(actions) {
182
+ return `[` + actions.map(actionDetail).join(",") + `]`;
183
+ }
184
+
185
+ function fmtState(name, id, seq) {
186
+ return `state=` + name + `(` + id + `) seq=` + seq.toString();
187
+ }
188
+
189
+ function fmtExn(e) {
190
+ return `err=` + Stdlib_Option.getOr(Stdlib_Option.flatMap(Stdlib_JsExn.fromException(e), Stdlib_JsExn.message), "unknown");
191
+ }
192
+
193
+ function commandJsonsToLogMessages(cmdJsons) {
194
+ let count = cmdJsons.length.toString();
195
+ return cmdJsons.map((cmdJson, idx) => {
196
+ let idx$1 = (idx + 1 | 0).toString();
197
+ return idx$1 + `/` + count + `: ` + cmdSummary(cmdJson) + `: ` + cmdFull(cmdJson);
198
+ });
199
+ }
200
+
201
+ function event$pJsonToLogMessage(j) {
202
+ return eventSummary(j) + `: ` + eventFull(j);
203
+ }
204
+
205
+ function fmtCmds(msgs) {
206
+ return `cmds=` + msgs.length.toString() + ` [` + msgs.map(cmdName).join(",") + `]`;
207
+ }
208
+
209
+ let bold = AnsiStyle$Reventless.bold;
210
+
211
+ let commandJsonToLogMessage = cmdFull;
212
+
213
+ let fmtCmd = cmdSummary;
214
+
215
+ let fmtEventJson = eventSummary;
216
+
217
+ let fmtAction = actionName;
218
+
219
+ let fmtActions = actionNames;
220
+
221
+ export {
222
+ bold,
223
+ cmdName,
224
+ cmdNames,
225
+ cmdSummary,
226
+ cmdSummaries,
227
+ variantFields,
228
+ cmdDetail,
229
+ cmdDetails,
230
+ cmdLabelOfJson,
231
+ cmdDetailNoId,
232
+ cmdFull,
233
+ cmdFulls,
234
+ eventName,
235
+ eventNames,
236
+ eventSummary,
237
+ eventSummaries,
238
+ eventDetail,
239
+ eventDetails,
240
+ eventFull,
241
+ eventFulls,
242
+ actionName,
243
+ actionNames,
244
+ actionDetail,
245
+ actionDetails,
246
+ fmtState,
247
+ fmtExn,
248
+ commandJsonToLogMessage,
249
+ commandJsonsToLogMessages,
250
+ event$pJsonToLogMessage,
251
+ fmtCmd,
252
+ fmtCmds,
253
+ fmtEventJson,
254
+ fmtAction,
255
+ fmtActions,
256
+ }
257
+ /* Stdlib_JsExn Not a pure module */
@@ -0,0 +1,196 @@
1
+ // Unified logger for deploy-time (Pulumi Output.apply) and non-Effect runtime code.
2
+ // EffectLogger delegates to `emit` so the format is defined once here.
3
+ //
4
+ // Usage:
5
+ // let log = Logger.fromEnv() // reads LOG_LEVEL from process.env once
6
+ // log.info(~comp="MyModule", "done")
7
+ // log.debug(~comp="MyModule", ~data=json, "detail")
8
+ //
9
+ // LOG_LEVEL env var: "silent" | "debug" | "warn" | "error" | (anything else = "info")
10
+
11
+ @val external _logLevel: option<string> = "process.env.LOG_LEVEL"
12
+
13
+ // service field (3.3): explicit REVENTLESS_SERVICE override wins, else the
14
+ // Lambda function name. Read per-emit (cheap) so a platform/test can set it
15
+ // after module init. None ⇒ field omitted.
16
+ @val external _serviceOverride: option<string> = "process.env.REVENTLESS_SERVICE"
17
+ @val external _lambdaName: option<string> = "process.env.AWS_LAMBDA_FUNCTION_NAME"
18
+ let serviceName = (): option<string> =>
19
+ switch _serviceOverride {
20
+ | Some(s) => Some(s)
21
+ | None => _lambdaName
22
+ }
23
+
24
+ // detail truncation cap (3.1) — configurable; default 32 KB. CloudWatch caps a
25
+ // single record at 256 KB, so an oversized ~detail is replaced with a preview
26
+ // stub rather than risking a silent drop.
27
+ @val external _maxDetailBytes: option<string> = "process.env.REVENTLESS_LOG_MAX_DETAIL_BYTES"
28
+ let maxDetailBytes = switch _maxDetailBytes {
29
+ | Some(s) => s->Int.fromString->Option.getOr(32 * 1024)
30
+ | None => 32 * 1024
31
+ }
32
+
33
+ type logFn = (~comp: string=?, ~data: JSON.t=?, string) => unit
34
+
35
+ type t = {
36
+ debug: logFn,
37
+ info: logFn,
38
+ warn: logFn,
39
+ error: logFn,
40
+ }
41
+
42
+ type level = Debug | Info | Warn | Error
43
+
44
+ let levelToInt = l =>
45
+ switch l {
46
+ | Debug => 0
47
+ | Info => 1
48
+ | Warn => 2
49
+ | Error => 3
50
+ }
51
+
52
+ let levelLabel = l =>
53
+ switch l {
54
+ | Debug => "DEBUG"
55
+ | Info => "INFO"
56
+ | Warn => "WARN"
57
+ | Error => "ERROR"
58
+ }
59
+
60
+ // ─── Shared format + output ──────────────────────────────────────────────────
61
+ // Single definition used by Logger.t AND EffectLogger.
62
+
63
+ // ANSI codes
64
+ let red = "\x1b[31m"
65
+ let yellow = "\x1b[33m"
66
+ let cyan = "\x1b[36m"
67
+ let dim = "\x1b[90m"
68
+ let reset = "\x1b[0m"
69
+
70
+ let hms = () => {
71
+ let d = Date.make()
72
+ let h = d->Date.getHours->Int.toString->String.padStart(2, "0")
73
+ let m = d->Date.getMinutes->Int.toString->String.padStart(2, "0")
74
+ let s = d->Date.getSeconds->Int.toString->String.padStart(2, "0")
75
+ `${h}:${m}:${s}`
76
+ }
77
+
78
+ // RFC 3339 / ISO-8601 timestamp for the JSON `time` field (3.2).
79
+ let iso = () => Date.make()->Date.toISOString
80
+
81
+ // Replace an oversized detail payload with a bounded preview stub (3.1).
82
+ let truncateDetail = (d: JSON.t): JSON.t => {
83
+ let s = d->JSON.stringify
84
+ if s->String.length > maxDetailBytes {
85
+ Dict.fromArray([
86
+ ("truncated", JSON.Encode.bool(true)),
87
+ ("bytes", JSON.Encode.int(s->String.length)),
88
+ ("preview", s->String.slice(~start=0, ~end=512)->JSON.Encode.string),
89
+ ])->JSON.Encode.object
90
+ } else {
91
+ d
92
+ }
93
+ }
94
+
95
+ // Plugin-name resolution + prefix formatting live in `Reventless.LogPrefix`
96
+ // so that infra-layer log helpers (ExtensionPointMapping, ExtensionMapping)
97
+ // can share the same logic without depending on this package.
98
+ let currentPluginName = Reventless.LogPrefix.currentPluginName
99
+ let registerComponentPlugin = Reventless.LogPrefix.registerComponentPlugin
100
+ let fmtComp = Reventless.LogPrefix.fmtComp
101
+ let fmtPlainPrefix = Reventless.LogPrefix.fmtPlainPrefix
102
+ let resolvePlugin = Reventless.LogPrefix.resolvePlugin
103
+
104
+ // Central emit — all log output flows through here.
105
+ // ~detail: structured data shown only in CloudWatch (expandable on click).
106
+ // Terminal (in-memory): shows only the message line.
107
+ // JSON sink (CloudWatch/…): structured object with plugin/comp/detail fields.
108
+ // ~plugin: explicit plugin override (e.g. from Effect annotations set at the
109
+ // Lambda boundary). Falls back to LogPrefix.resolvePlugin lookup if absent.
110
+ // ~annotations: extra structured key/value pairs (e.g. correlationId, requestId)
111
+ // carried via Effect log annotations. JSON sink only; ignored in the TTY view.
112
+ let emit = (
113
+ ~level: level,
114
+ ~comp=?,
115
+ ~plugin: option<string>=?,
116
+ ~detail: option<JSON.t>=?,
117
+ ~annotations: option<dict<string>>=?,
118
+ msg: string,
119
+ ) => {
120
+ // Sink decision lives in Reventless.AnsiStyle (single source of truth, shared
121
+ // with fmtComp / AnsiStyle.bold). Non-TTY collectors (Lambda, Fargate, ECS,
122
+ // Azure, GCP, Docker, CI, piped stdout) all get JSON; a TTY stays text.
123
+ if Reventless.AnsiStyle.isJsonSink() {
124
+ // Structured JSON for any log collector. Plugin/comp/annotations are promoted
125
+ // to top-level queryable keys instead of being baked into `message`; `message`
126
+ // stays clean human text. `detail` is the expandable structured payload.
127
+ // Explicit ~plugin wins; otherwise fall back to the LogPrefix registry.
128
+ let pluginField = switch plugin {
129
+ | Some(_) as p => p
130
+ | None => resolvePlugin(~comp?, ())
131
+ }
132
+ let annotationFields =
133
+ annotations->Option.mapOr([], a =>
134
+ a->Dict.toArray->Array.map(((k, v)) => (k, JSON.Encode.string(v)))
135
+ )
136
+ let fields =
137
+ [
138
+ ("time", iso()->JSON.Encode.string),
139
+ ("level", levelLabel(level)->JSON.Encode.string),
140
+ ("message", msg->JSON.Encode.string),
141
+ ]
142
+ ->Array.concat(serviceName()->Option.mapOr([], s => [("service", JSON.Encode.string(s))]))
143
+ ->Array.concat(pluginField->Option.mapOr([], p => [("plugin", JSON.Encode.string(p))]))
144
+ ->Array.concat(comp->Option.mapOr([], c => [("comp", JSON.Encode.string(c))]))
145
+ ->Array.concat(annotationFields)
146
+ ->Array.concat(detail->Option.mapOr([], d => [("detail", truncateDetail(d))]))
147
+ Console.log(fields->Dict.fromArray->JSON.Encode.object->JSON.stringify)
148
+ } else {
149
+ // Terminal — colored, human-readable, no detail
150
+ let t = hms()
151
+ let c = fmtComp(~comp?, ())
152
+ switch level {
153
+ | Error => Console.error(`${t} ${red}E${reset} ${c}${msg}`)
154
+ | Warn => Console.warn(`${t} ${yellow}W${reset} ${c}${msg}`)
155
+ | Info => Console.log(`${t} ${cyan}I${reset} ${c}${msg}`)
156
+ | Debug => Console.log(`${t} ${dim}D${reset} ${c}${msg}`)
157
+ }
158
+ }
159
+ }
160
+
161
+ // ─── Logger.t (record-based API) ─────────────────────────────────────────────
162
+
163
+ let makeLogger = (~minLevel=Info): t => {
164
+ let shouldLog = l => levelToInt(l) >= levelToInt(minLevel)
165
+ let log = (level, ~comp=?, ~data=?, msg) =>
166
+ if shouldLog(level) {
167
+ let dataStr = data->Option.map(d => ` ${d->JSON.stringify}`)->Option.getOr("")
168
+ emit(~level, ~comp?, `${msg}${dataStr}`)
169
+ }
170
+ {
171
+ debug: (~comp=?, ~data=?, msg) => log(Debug, ~comp?, ~data?, msg),
172
+ info: (~comp=?, ~data=?, msg) => log(Info, ~comp?, ~data?, msg),
173
+ warn: (~comp=?, ~data=?, msg) => log(Warn, ~comp?, ~data?, msg),
174
+ error: (~comp=?, ~data=?, msg) => log(Error, ~comp?, ~data?, msg),
175
+ }
176
+ }
177
+
178
+ let silent: t = {
179
+ debug: (~comp as _=?, ~data as _=?, _) => (),
180
+ info: (~comp as _=?, ~data as _=?, _) => (),
181
+ warn: (~comp as _=?, ~data as _=?, _) => (),
182
+ error: (~comp as _=?, ~data as _=?, _) => (),
183
+ }
184
+
185
+ // Reads LOG_LEVEL from process.env and returns a configured logger.
186
+ // Call once at module top-level or startup — not inside hot loops.
187
+ // LOG_LEVEL=silent disables all output (used by the reventless-gwt CLI so
188
+ // framework diagnostics don't interleave with NDJSON / TAP / JUnit streams).
189
+ let fromEnv = (): t =>
190
+ switch _logLevel {
191
+ | Some("silent") => silent
192
+ | Some("debug") => makeLogger(~minLevel=Debug)
193
+ | Some("warn") => makeLogger(~minLevel=Warn)
194
+ | Some("error") => makeLogger(~minLevel=Error)
195
+ | _ => makeLogger(~minLevel=Info)
196
+ }
@@ -0,0 +1,238 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Stdlib_Int from "@rescript/runtime/lib/es6/Stdlib_Int.js";
4
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
5
+ import * as AnsiStyle$Reventless from "@reventlessdev/reventless-spec/src/AnsiStyle.res.mjs";
6
+ import * as LogPrefix$Reventless from "@reventlessdev/reventless-spec/src/LogPrefix.res.mjs";
7
+
8
+ function serviceName() {
9
+ let s = process.env.REVENTLESS_SERVICE;
10
+ if (s !== undefined) {
11
+ return s;
12
+ } else {
13
+ return process.env.AWS_LAMBDA_FUNCTION_NAME;
14
+ }
15
+ }
16
+
17
+ let s = process.env.REVENTLESS_LOG_MAX_DETAIL_BYTES;
18
+
19
+ let maxDetailBytes = s !== undefined ? Stdlib_Option.getOr(Stdlib_Int.fromString(s, undefined), 32768) : 32768;
20
+
21
+ function levelToInt(l) {
22
+ switch (l) {
23
+ case "Debug" :
24
+ return 0;
25
+ case "Info" :
26
+ return 1;
27
+ case "Warn" :
28
+ return 2;
29
+ case "Error" :
30
+ return 3;
31
+ }
32
+ }
33
+
34
+ function levelLabel(l) {
35
+ switch (l) {
36
+ case "Debug" :
37
+ return "DEBUG";
38
+ case "Info" :
39
+ return "INFO";
40
+ case "Warn" :
41
+ return "WARN";
42
+ case "Error" :
43
+ return "ERROR";
44
+ }
45
+ }
46
+
47
+ let red = "\x1b[31m";
48
+
49
+ let yellow = "\x1b[33m";
50
+
51
+ let cyan = "\x1b[36m";
52
+
53
+ let dim = "\x1b[90m";
54
+
55
+ let reset = "\x1b[0m";
56
+
57
+ function hms() {
58
+ let d = new Date();
59
+ let h = d.getHours().toString().padStart(2, "0");
60
+ let m = d.getMinutes().toString().padStart(2, "0");
61
+ let s = d.getSeconds().toString().padStart(2, "0");
62
+ return h + `:` + m + `:` + s;
63
+ }
64
+
65
+ function iso() {
66
+ return new Date().toISOString();
67
+ }
68
+
69
+ function truncateDetail(d) {
70
+ let s = JSON.stringify(d);
71
+ if (s.length > maxDetailBytes) {
72
+ return Object.fromEntries([
73
+ [
74
+ "truncated",
75
+ true
76
+ ],
77
+ [
78
+ "bytes",
79
+ s.length
80
+ ],
81
+ [
82
+ "preview",
83
+ s.slice(0, 512)
84
+ ]
85
+ ]);
86
+ } else {
87
+ return d;
88
+ }
89
+ }
90
+
91
+ function emit(level, comp, plugin, detail, annotations, msg) {
92
+ if (AnsiStyle$Reventless.isJsonSink()) {
93
+ let pluginField = plugin !== undefined ? plugin : LogPrefix$Reventless.resolvePlugin(comp, undefined);
94
+ let annotationFields = Stdlib_Option.mapOr(annotations, [], a => Object.entries(a).map(param => [
95
+ param[0],
96
+ param[1]
97
+ ]));
98
+ let fields = [
99
+ [
100
+ "time",
101
+ new Date().toISOString()
102
+ ],
103
+ [
104
+ "level",
105
+ levelLabel(level)
106
+ ],
107
+ [
108
+ "message",
109
+ msg
110
+ ]
111
+ ].concat(Stdlib_Option.mapOr(serviceName(), [], s => [[
112
+ "service",
113
+ s
114
+ ]])).concat(Stdlib_Option.mapOr(pluginField, [], p => [[
115
+ "plugin",
116
+ p
117
+ ]])).concat(Stdlib_Option.mapOr(comp, [], c => [[
118
+ "comp",
119
+ c
120
+ ]])).concat(annotationFields).concat(Stdlib_Option.mapOr(detail, [], d => [[
121
+ "detail",
122
+ truncateDetail(d)
123
+ ]]));
124
+ console.log(JSON.stringify(Object.fromEntries(fields)));
125
+ return;
126
+ }
127
+ let t = hms();
128
+ let c = LogPrefix$Reventless.fmtComp(comp, undefined);
129
+ switch (level) {
130
+ case "Debug" :
131
+ console.log(t + ` ` + dim + `D` + reset + ` ` + c + msg);
132
+ return;
133
+ case "Info" :
134
+ console.log(t + ` ` + cyan + `I` + reset + ` ` + c + msg);
135
+ return;
136
+ case "Warn" :
137
+ console.warn(t + ` ` + yellow + `W` + reset + ` ` + c + msg);
138
+ return;
139
+ case "Error" :
140
+ console.error(t + ` ` + red + `E` + reset + ` ` + c + msg);
141
+ return;
142
+ }
143
+ }
144
+
145
+ function makeLogger(minLevelOpt) {
146
+ let minLevel = minLevelOpt !== undefined ? minLevelOpt : "Info";
147
+ let shouldLog = l => levelToInt(l) >= levelToInt(minLevel);
148
+ let log = (level, comp, data, msg) => {
149
+ if (!shouldLog(level)) {
150
+ return;
151
+ }
152
+ let dataStr = Stdlib_Option.getOr(Stdlib_Option.map(data, d => ` ` + JSON.stringify(d)), "");
153
+ emit(level, comp, undefined, undefined, undefined, msg + dataStr);
154
+ };
155
+ return {
156
+ debug: (comp, data, msg) => log("Debug", comp, data, msg),
157
+ info: (comp, data, msg) => log("Info", comp, data, msg),
158
+ warn: (comp, data, msg) => log("Warn", comp, data, msg),
159
+ error: (comp, data, msg) => log("Error", comp, data, msg)
160
+ };
161
+ }
162
+
163
+ function silent_debug(param, param$1, param$2) {
164
+
165
+ }
166
+
167
+ function silent_info(param, param$1, param$2) {
168
+
169
+ }
170
+
171
+ function silent_warn(param, param$1, param$2) {
172
+
173
+ }
174
+
175
+ function silent_error(param, param$1, param$2) {
176
+
177
+ }
178
+
179
+ let silent = {
180
+ debug: silent_debug,
181
+ info: silent_info,
182
+ warn: silent_warn,
183
+ error: silent_error
184
+ };
185
+
186
+ function fromEnv() {
187
+ let match = process.env.LOG_LEVEL;
188
+ if (match === undefined) {
189
+ return makeLogger("Info");
190
+ }
191
+ switch (match) {
192
+ case "debug" :
193
+ return makeLogger("Debug");
194
+ case "error" :
195
+ return makeLogger("Error");
196
+ case "silent" :
197
+ return silent;
198
+ case "warn" :
199
+ return makeLogger("Warn");
200
+ default:
201
+ return makeLogger("Info");
202
+ }
203
+ }
204
+
205
+ let currentPluginName = LogPrefix$Reventless.currentPluginName;
206
+
207
+ let registerComponentPlugin = LogPrefix$Reventless.registerComponentPlugin;
208
+
209
+ let fmtComp = LogPrefix$Reventless.fmtComp;
210
+
211
+ let fmtPlainPrefix = LogPrefix$Reventless.fmtPlainPrefix;
212
+
213
+ let resolvePlugin = LogPrefix$Reventless.resolvePlugin;
214
+
215
+ export {
216
+ serviceName,
217
+ maxDetailBytes,
218
+ levelToInt,
219
+ levelLabel,
220
+ red,
221
+ yellow,
222
+ cyan,
223
+ dim,
224
+ reset,
225
+ hms,
226
+ iso,
227
+ truncateDetail,
228
+ currentPluginName,
229
+ registerComponentPlugin,
230
+ fmtComp,
231
+ fmtPlainPrefix,
232
+ resolvePlugin,
233
+ emit,
234
+ makeLogger,
235
+ silent,
236
+ fromEnv,
237
+ }
238
+ /* s Not a pure module */