@reventlessdev/reventless-local 3.0.0-alpha.113

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 (334) hide show
  1. package/CHANGELOG.md +1197 -0
  2. package/LICENSE +202 -0
  3. package/__mocks__/emptyModule.js +2 -0
  4. package/__mocks__/nodeSqlite.mjs +6 -0
  5. package/package.json +67 -0
  6. package/rescript.json +39 -0
  7. package/src/Platform.res +2162 -0
  8. package/src/Platform.res.mjs +3389 -0
  9. package/src/adapter/Api/LocalGraphQL_Adapter.res +29 -0
  10. package/src/adapter/Api/LocalGraphQL_Adapter.res.mjs +26 -0
  11. package/src/adapter/Api/LocalGraphQL_SubscriptionResolvers.res +146 -0
  12. package/src/adapter/Api/LocalGraphQL_SubscriptionResolvers.res.mjs +88 -0
  13. package/src/adapter/Auth/Auth_GraphqlContext.res +83 -0
  14. package/src/adapter/Auth/Auth_GraphqlContext.res.mjs +76 -0
  15. package/src/adapter/Auth/LocalAuth.res +239 -0
  16. package/src/adapter/Auth/LocalAuth.res.mjs +247 -0
  17. package/src/adapter/Auth/UserStore.res +134 -0
  18. package/src/adapter/Auth/UserStore.res.mjs +146 -0
  19. package/src/adapter/Backend.res +46 -0
  20. package/src/adapter/Backend.res.mjs +66 -0
  21. package/src/adapter/BackendState.res +34 -0
  22. package/src/adapter/BackendState.res.mjs +42 -0
  23. package/src/adapter/Cloner/LocalClonerRunner.res +13 -0
  24. package/src/adapter/Cloner/LocalClonerRunner.res.mjs +12 -0
  25. package/src/adapter/CommandGenerator/CommandGeneratorResolvers_GraphQL.res +329 -0
  26. package/src/adapter/CommandGenerator/CommandGeneratorResolvers_GraphQL.res.mjs +301 -0
  27. package/src/adapter/CommandGenerator/InboundTranslationResolvers_GraphQL.res +76 -0
  28. package/src/adapter/CommandGenerator/InboundTranslationResolvers_GraphQL.res.mjs +57 -0
  29. package/src/adapter/CommandGenerator/LocalCommandGeneratorResolvers.res +19 -0
  30. package/src/adapter/CommandGenerator/LocalCommandGeneratorResolvers.res.mjs +19 -0
  31. package/src/adapter/CommandTopic/LocalCommandTopicChannel.res +104 -0
  32. package/src/adapter/CommandTopic/LocalCommandTopicChannel.res.mjs +82 -0
  33. package/src/adapter/CommandTopic/LocalCommandTopicRemoteChannel.res +32 -0
  34. package/src/adapter/CommandTopic/LocalCommandTopicRemoteChannel.res.mjs +38 -0
  35. package/src/adapter/Counter/LocalCounterHandler.res +42 -0
  36. package/src/adapter/Counter/LocalCounterHandler.res.mjs +45 -0
  37. package/src/adapter/DcbEventLog/DcbEventLogStorage_InMemory.res +131 -0
  38. package/src/adapter/DcbEventLog/DcbEventLogStorage_InMemory.res.mjs +140 -0
  39. package/src/adapter/DcbEventLog/DcbEventLogStorage_Sqlite.res +334 -0
  40. package/src/adapter/DcbEventLog/DcbEventLogStorage_Sqlite.res.mjs +299 -0
  41. package/src/adapter/DomainGraphQL_Server.res +565 -0
  42. package/src/adapter/DomainGraphQL_Server.res.mjs +576 -0
  43. package/src/adapter/DomainMCP_Server.res +369 -0
  44. package/src/adapter/DomainMCP_Server.res.mjs +358 -0
  45. package/src/adapter/EventCollector/LocalEventCollectorChannel.res +87 -0
  46. package/src/adapter/EventCollector/LocalEventCollectorChannel.res.mjs +45 -0
  47. package/src/adapter/EventLog/EventLogStorage_InMemory.res +105 -0
  48. package/src/adapter/EventLog/EventLogStorage_InMemory.res.mjs +117 -0
  49. package/src/adapter/EventLog/EventLogStorage_Sqlite.res +145 -0
  50. package/src/adapter/EventLog/EventLogStorage_Sqlite.res.mjs +155 -0
  51. package/src/adapter/EventTopic/LocalEventTopicPublisher.res +36 -0
  52. package/src/adapter/EventTopic/LocalEventTopicPublisher.res.mjs +31 -0
  53. package/src/adapter/GraphQL_Server.res +6 -0
  54. package/src/adapter/GraphQL_Server.res.mjs +154 -0
  55. package/src/adapter/GraphQL_ServerInstance.res +310 -0
  56. package/src/adapter/GraphQL_ServerInstance.res.mjs +257 -0
  57. package/src/adapter/Heartbeat/LocalHeartbeatRunner.res +57 -0
  58. package/src/adapter/Heartbeat/LocalHeartbeatRunner.res.mjs +34 -0
  59. package/src/adapter/LocalBus.res +498 -0
  60. package/src/adapter/LocalBus.res.mjs +1011 -0
  61. package/src/adapter/LocalPluginSpec.res +16 -0
  62. package/src/adapter/LocalPluginSpec.res.mjs +33 -0
  63. package/src/adapter/LocalSideEffectHandler.res +44 -0
  64. package/src/adapter/LocalSideEffectHandler.res.mjs +34 -0
  65. package/src/adapter/MCP_Server.res +4 -0
  66. package/src/adapter/MCP_Server.res.mjs +67 -0
  67. package/src/adapter/MCP_ServerInstance.res +362 -0
  68. package/src/adapter/MCP_ServerInstance.res.mjs +313 -0
  69. package/src/adapter/PlatformGraphQL_Server.res +75 -0
  70. package/src/adapter/PlatformGraphQL_Server.res.mjs +84 -0
  71. package/src/adapter/PlatformMCP_Server.res +23 -0
  72. package/src/adapter/PlatformMCP_Server.res.mjs +46 -0
  73. package/src/adapter/QueryDb/QueryDbResolvers_GraphQL.res +793 -0
  74. package/src/adapter/QueryDb/QueryDbResolvers_GraphQL.res.mjs +569 -0
  75. package/src/adapter/QueryDb/QueryDbStorage_InMemory.res +242 -0
  76. package/src/adapter/QueryDb/QueryDbStorage_InMemory.res.mjs +241 -0
  77. package/src/adapter/QueryDb/QueryDbStorage_Sqlite.res +339 -0
  78. package/src/adapter/QueryDb/QueryDbStorage_Sqlite.res.mjs +318 -0
  79. package/src/adapter/QueryDb/SortKey_Filter.res +48 -0
  80. package/src/adapter/QueryDb/SortKey_Filter.res.mjs +46 -0
  81. package/src/adapter/QueryEngine/LocalQueryEngine.res +57 -0
  82. package/src/adapter/QueryEngine/LocalQueryEngine.res.mjs +56 -0
  83. package/src/adapter/Runtime/LocalAggregateRuntime_Builder.res +91 -0
  84. package/src/adapter/Runtime/LocalAggregateRuntime_Builder.res.mjs +50 -0
  85. package/src/adapter/Runtime/LocalEventCollectorRuntime_Builder.res +47 -0
  86. package/src/adapter/Runtime/LocalEventCollectorRuntime_Builder.res.mjs +37 -0
  87. package/src/adapter/Runtime/LocalPluginRuntime_Builder.res +11 -0
  88. package/src/adapter/Runtime/LocalPluginRuntime_Builder.res.mjs +30 -0
  89. package/src/adapter/Runtime/LocalRuntimeEnvironment.res +54 -0
  90. package/src/adapter/Runtime/LocalRuntimeEnvironment.res.mjs +40 -0
  91. package/src/adapter/Scheduler/LocalScheduledPublisher.res +102 -0
  92. package/src/adapter/Scheduler/LocalScheduledPublisher.res.mjs +84 -0
  93. package/src/adapter/SqliteDriver.res +52 -0
  94. package/src/adapter/SqliteDriver.res.mjs +76 -0
  95. package/src/adapter/SqliteDriver.resi +31 -0
  96. package/src/adapter/Task/LocalTaskBucket.res +75 -0
  97. package/src/adapter/Task/LocalTaskBucket.res.mjs +48 -0
  98. package/src/adapter/Task/TaskBucket_Sqlite.res +47 -0
  99. package/src/adapter/Task/TaskBucket_Sqlite.res.mjs +40 -0
  100. package/src/components/Aggregate_Builder.res +55 -0
  101. package/src/components/Aggregate_Builder.res.mjs +140 -0
  102. package/src/components/AutomationSlice_Builder.res +41 -0
  103. package/src/components/AutomationSlice_Builder.res.mjs +57 -0
  104. package/src/components/Counter_Builder.res +14 -0
  105. package/src/components/Counter_Builder.res.mjs +32 -0
  106. package/src/components/DcbEventLog_Builder.res +18 -0
  107. package/src/components/DcbEventLog_Builder.res.mjs +24 -0
  108. package/src/components/ExtensionPoint_Builder.res +25 -0
  109. package/src/components/ExtensionPoint_Builder.res.mjs +44 -0
  110. package/src/components/InboundTranslationSlice_Builder.res +34 -0
  111. package/src/components/InboundTranslationSlice_Builder.res.mjs +45 -0
  112. package/src/components/OutboundTranslationSlice_Builder.res +43 -0
  113. package/src/components/OutboundTranslationSlice_Builder.res.mjs +59 -0
  114. package/src/components/Plugin_Builder.res +37 -0
  115. package/src/components/Plugin_Builder.res.mjs +67 -0
  116. package/src/components/ReadModel_Builder.res +47 -0
  117. package/src/components/ReadModel_Builder.res.mjs +54 -0
  118. package/src/components/StateChangeSlice_Builder.res +19 -0
  119. package/src/components/StateChangeSlice_Builder.res.mjs +21 -0
  120. package/src/components/StateViewSlice_Builder.res +42 -0
  121. package/src/components/StateViewSlice_Builder.res.mjs +58 -0
  122. package/src/components/Task_Builder.res +28 -0
  123. package/src/components/Task_Builder.res.mjs +41 -0
  124. package/src/reexport/CommandTopic.res +3 -0
  125. package/src/reexport/CommandTopic.res.mjs +55 -0
  126. package/src/test/Mocks/MockDcbEventLogStorage.res +136 -0
  127. package/src/test/Mocks/MockDcbEventLogStorage.res.mjs +146 -0
  128. package/src/test/Mocks/MockEventLogStorage.res +57 -0
  129. package/src/test/Mocks/MockEventLogStorage.res.mjs +65 -0
  130. package/src/test/Mocks/MockPublisher.res +29 -0
  131. package/src/test/Mocks/MockPublisher.res.mjs +28 -0
  132. package/src/test/Mocks/MockQueryDbStorage.res +104 -0
  133. package/src/test/Mocks/MockQueryDbStorage.res.mjs +136 -0
  134. package/src/test/TestRunner.res +96 -0
  135. package/src/test/TestRunner.res.mjs +71 -0
  136. package/tests/SplitApiFixtures.res +84 -0
  137. package/tests/SplitApiFixtures.res.mjs +88 -0
  138. package/tests/SplitApiTest.res +102 -0
  139. package/tests/SplitApiTest.res.mjs +82 -0
  140. package/tests/TestFixtures.res +54 -0
  141. package/tests/TestFixtures.res.mjs +65 -0
  142. package/tests/adapter/BackendParityTest.res +94 -0
  143. package/tests/adapter/BackendParityTest.res.mjs +96 -0
  144. package/tests/adapter/CollectNEventsTest.res +82 -0
  145. package/tests/adapter/CollectNEventsTest.res.mjs +83 -0
  146. package/tests/adapter/CommandAuthorizationTest.res +200 -0
  147. package/tests/adapter/CommandAuthorizationTest.res.mjs +190 -0
  148. package/tests/adapter/CommandTopicChannelTest.res +174 -0
  149. package/tests/adapter/CommandTopicChannelTest.res.mjs +170 -0
  150. package/tests/adapter/CounterHandlerTest.res +113 -0
  151. package/tests/adapter/CounterHandlerTest.res.mjs +96 -0
  152. package/tests/adapter/DcbEventLogStorageSqliteTest.res +157 -0
  153. package/tests/adapter/DcbEventLogStorageSqliteTest.res.mjs +165 -0
  154. package/tests/adapter/DcbEventLogStorageTest.res +187 -0
  155. package/tests/adapter/DcbEventLogStorageTest.res.mjs +195 -0
  156. package/tests/adapter/EventCollectorChannelTest.res +166 -0
  157. package/tests/adapter/EventCollectorChannelTest.res.mjs +178 -0
  158. package/tests/adapter/EventLogStorageSqliteTest.res +105 -0
  159. package/tests/adapter/EventLogStorageSqliteTest.res.mjs +116 -0
  160. package/tests/adapter/EventTapTest.res +102 -0
  161. package/tests/adapter/EventTapTest.res.mjs +94 -0
  162. package/tests/adapter/EventTopicPublisherTest.res +76 -0
  163. package/tests/adapter/EventTopicPublisherTest.res.mjs +86 -0
  164. package/tests/adapter/GraphQL_SchemaInspectorTest.res +763 -0
  165. package/tests/adapter/GraphQL_SchemaInspectorTest.res.mjs +578 -0
  166. package/tests/adapter/GraphQL_SubscriptionResolversTest.res +161 -0
  167. package/tests/adapter/GraphQL_SubscriptionResolversTest.res.mjs +134 -0
  168. package/tests/adapter/HeartbeatRunnerTest.res +136 -0
  169. package/tests/adapter/HeartbeatRunnerTest.res.mjs +96 -0
  170. package/tests/adapter/LocalAuthHttpTest.res +224 -0
  171. package/tests/adapter/LocalAuthHttpTest.res.mjs +237 -0
  172. package/tests/adapter/LocalAuthLoginTest.res +180 -0
  173. package/tests/adapter/LocalAuthLoginTest.res.mjs +207 -0
  174. package/tests/adapter/LocalAuthTest.res +106 -0
  175. package/tests/adapter/LocalAuthTest.res.mjs +145 -0
  176. package/tests/adapter/LocalAuthUserStoreTest.res +172 -0
  177. package/tests/adapter/LocalAuthUserStoreTest.res.mjs +208 -0
  178. package/tests/adapter/LocalBusBoundedTest.res +157 -0
  179. package/tests/adapter/LocalBusBoundedTest.res.mjs +168 -0
  180. package/tests/adapter/LocalBusPubSubTest.res +81 -0
  181. package/tests/adapter/LocalBusPubSubTest.res.mjs +81 -0
  182. package/tests/adapter/QueryDbGsiTtlTest.res +268 -0
  183. package/tests/adapter/QueryDbGsiTtlTest.res.mjs +209 -0
  184. package/tests/adapter/QueryDbListResolverTest.res +361 -0
  185. package/tests/adapter/QueryDbListResolverTest.res.mjs +426 -0
  186. package/tests/adapter/QueryDbStorageSqliteTest.res +159 -0
  187. package/tests/adapter/QueryDbStorageSqliteTest.res.mjs +126 -0
  188. package/tests/adapter/QueryDbStorageTest.res +171 -0
  189. package/tests/adapter/QueryDbStorageTest.res.mjs +170 -0
  190. package/tests/adapter/QueryEngineTest.res +152 -0
  191. package/tests/adapter/QueryEngineTest.res.mjs +148 -0
  192. package/tests/adapter/ScheduledPublisherTest.res +199 -0
  193. package/tests/adapter/ScheduledPublisherTest.res.mjs +203 -0
  194. package/tests/adapter/SortKey_FilterTest.res +103 -0
  195. package/tests/adapter/SortKey_FilterTest.res.mjs +135 -0
  196. package/tests/adapter/SqliteDriverTest.res +86 -0
  197. package/tests/adapter/SqliteDriverTest.res.mjs +101 -0
  198. package/tests/adapter/TaskBucketSqliteTest.res +44 -0
  199. package/tests/adapter/TaskBucketSqliteTest.res.mjs +40 -0
  200. package/tests/adapter/TaskBucketTest.res +106 -0
  201. package/tests/adapter/TaskBucketTest.res.mjs +118 -0
  202. package/tests/components/aggregate/AggregateFixtures.res +78 -0
  203. package/tests/components/aggregate/AggregateFixtures.res.mjs +109 -0
  204. package/tests/components/aggregate/AggregateTest.res +129 -0
  205. package/tests/components/aggregate/AggregateTest.res.mjs +129 -0
  206. package/tests/components/automationslice/AutomationSliceCallbackTest.res +212 -0
  207. package/tests/components/automationslice/AutomationSliceCallbackTest.res.mjs +233 -0
  208. package/tests/components/automationslice/AutomationSliceFixtures.res +189 -0
  209. package/tests/components/automationslice/AutomationSliceFixtures.res.mjs +276 -0
  210. package/tests/components/automationslice/AutomationSliceSelfDeadlockFixtures.res +289 -0
  211. package/tests/components/automationslice/AutomationSliceSelfDeadlockFixtures.res.mjs +453 -0
  212. package/tests/components/automationslice/AutomationSliceSelfDeadlockTest.res +47 -0
  213. package/tests/components/automationslice/AutomationSliceSelfDeadlockTest.res.mjs +31 -0
  214. package/tests/components/automationslice/MixedSourceAutomationSliceFixtures.res +213 -0
  215. package/tests/components/automationslice/MixedSourceAutomationSliceFixtures.res.mjs +268 -0
  216. package/tests/components/automationslice/MixedSourceAutomationSliceTest.res +118 -0
  217. package/tests/components/automationslice/MixedSourceAutomationSliceTest.res.mjs +99 -0
  218. package/tests/components/commandgenerator/CommandGeneratorFixtures.res +73 -0
  219. package/tests/components/commandgenerator/CommandGeneratorFixtures.res.mjs +109 -0
  220. package/tests/components/commandgenerator/CommandGeneratorTest.res +43 -0
  221. package/tests/components/commandgenerator/CommandGeneratorTest.res.mjs +46 -0
  222. package/tests/components/commandtopic/CommandTopicFixtures.res +37 -0
  223. package/tests/components/commandtopic/CommandTopicFixtures.res.mjs +68 -0
  224. package/tests/components/commandtopic/CommandTopicStreamFixtures.res +43 -0
  225. package/tests/components/commandtopic/CommandTopicStreamFixtures.res.mjs +91 -0
  226. package/tests/components/commandtopic/CommandTopicStreamTest.res +30 -0
  227. package/tests/components/commandtopic/CommandTopicStreamTest.res.mjs +35 -0
  228. package/tests/components/commandtopic/CommandTopicTest.res +55 -0
  229. package/tests/components/commandtopic/CommandTopicTest.res.mjs +62 -0
  230. package/tests/components/counter/CounterFixtures.res +42 -0
  231. package/tests/components/counter/CounterFixtures.res.mjs +34 -0
  232. package/tests/components/counter/CounterTest.res +46 -0
  233. package/tests/components/counter/CounterTest.res.mjs +61 -0
  234. package/tests/components/dcb/DcbCrossPartitionFixtures.res +170 -0
  235. package/tests/components/dcb/DcbCrossPartitionFixtures.res.mjs +276 -0
  236. package/tests/components/dcb/DcbCrossPartitionReadTest.res +68 -0
  237. package/tests/components/dcb/DcbCrossPartitionReadTest.res.mjs +78 -0
  238. package/tests/components/dcb/DcbEventLogAppendStreamTest.res +72 -0
  239. package/tests/components/dcb/DcbEventLogAppendStreamTest.res.mjs +82 -0
  240. package/tests/components/dcb/DcbEventLogStreamTest.res +103 -0
  241. package/tests/components/dcb/DcbEventLogStreamTest.res.mjs +91 -0
  242. package/tests/components/dcb/DcbFixtures.res +145 -0
  243. package/tests/components/dcb/DcbFixtures.res.mjs +221 -0
  244. package/tests/components/dcb/DcbTest.res +55 -0
  245. package/tests/components/dcb/DcbTest.res.mjs +55 -0
  246. package/tests/components/eventcollector/EventCollectorFixtures.res +42 -0
  247. package/tests/components/eventcollector/EventCollectorFixtures.res.mjs +49 -0
  248. package/tests/components/eventcollector/EventCollectorTest.res +37 -0
  249. package/tests/components/eventcollector/EventCollectorTest.res.mjs +36 -0
  250. package/tests/components/eventlog/EventLogAppendStreamTest.res +93 -0
  251. package/tests/components/eventlog/EventLogAppendStreamTest.res.mjs +113 -0
  252. package/tests/components/eventlog/EventLogConflictTest.res +86 -0
  253. package/tests/components/eventlog/EventLogConflictTest.res.mjs +81 -0
  254. package/tests/components/eventlog/EventLogFixtures.res +52 -0
  255. package/tests/components/eventlog/EventLogFixtures.res.mjs +80 -0
  256. package/tests/components/eventlog/EventLogStreamTest.res +98 -0
  257. package/tests/components/eventlog/EventLogStreamTest.res.mjs +142 -0
  258. package/tests/components/eventlog/EventLogTest.res +53 -0
  259. package/tests/components/eventlog/EventLogTest.res.mjs +74 -0
  260. package/tests/components/eventtopic/EventTopicFixtures.res +47 -0
  261. package/tests/components/eventtopic/EventTopicFixtures.res.mjs +77 -0
  262. package/tests/components/eventtopic/EventTopicStreamFixtures.res +27 -0
  263. package/tests/components/eventtopic/EventTopicStreamFixtures.res.mjs +62 -0
  264. package/tests/components/eventtopic/EventTopicStreamTest.res +35 -0
  265. package/tests/components/eventtopic/EventTopicStreamTest.res.mjs +44 -0
  266. package/tests/components/eventtopic/EventTopicTest.res +35 -0
  267. package/tests/components/eventtopic/EventTopicTest.res.mjs +43 -0
  268. package/tests/components/extensionpoint/ExtensionPointFixtures.res +145 -0
  269. package/tests/components/extensionpoint/ExtensionPointFixtures.res.mjs +188 -0
  270. package/tests/components/extensionpoint/ExtensionPointTest.res +62 -0
  271. package/tests/components/extensionpoint/ExtensionPointTest.res.mjs +55 -0
  272. package/tests/components/heartbeat/HeartbeatFixtures.res +48 -0
  273. package/tests/components/heartbeat/HeartbeatFixtures.res.mjs +46 -0
  274. package/tests/components/heartbeat/HeartbeatTest.res +67 -0
  275. package/tests/components/heartbeat/HeartbeatTest.res.mjs +65 -0
  276. package/tests/components/inboundtranslationslice/InboundTranslationSliceCallbackTest.res +241 -0
  277. package/tests/components/inboundtranslationslice/InboundTranslationSliceCallbackTest.res.mjs +239 -0
  278. package/tests/components/inboundtranslationslice/InboundTranslationSliceFixtures.res +36 -0
  279. package/tests/components/inboundtranslationslice/InboundTranslationSliceFixtures.res.mjs +73 -0
  280. package/tests/components/outboundtranslationslice/OutboundTranslationSliceCallbackTest.res +191 -0
  281. package/tests/components/outboundtranslationslice/OutboundTranslationSliceCallbackTest.res.mjs +297 -0
  282. package/tests/components/outboundtranslationslice/OutboundTranslationSliceFixtures.res +78 -0
  283. package/tests/components/outboundtranslationslice/OutboundTranslationSliceFixtures.res.mjs +137 -0
  284. package/tests/components/querydb/QueryDbFixtures.res +39 -0
  285. package/tests/components/querydb/QueryDbFixtures.res.mjs +73 -0
  286. package/tests/components/querydb/QueryDbSubIdFixtures.res +44 -0
  287. package/tests/components/querydb/QueryDbSubIdFixtures.res.mjs +80 -0
  288. package/tests/components/querydb/QueryDbSubIdTest.res +104 -0
  289. package/tests/components/querydb/QueryDbSubIdTest.res.mjs +104 -0
  290. package/tests/components/querydb/QueryDbTest.res +81 -0
  291. package/tests/components/querydb/QueryDbTest.res.mjs +126 -0
  292. package/tests/components/readmodel/DcbReadModelE2EFixtures.res +215 -0
  293. package/tests/components/readmodel/DcbReadModelE2EFixtures.res.mjs +308 -0
  294. package/tests/components/readmodel/DcbReadModelE2ETest.res +45 -0
  295. package/tests/components/readmodel/DcbReadModelE2ETest.res.mjs +37 -0
  296. package/tests/components/readmodel/DcbReadModelTypoFailFastTest.res +88 -0
  297. package/tests/components/readmodel/DcbReadModelTypoFailFastTest.res.mjs +152 -0
  298. package/tests/components/readmodel/MixedSourceReadModelFixtures.res +181 -0
  299. package/tests/components/readmodel/MixedSourceReadModelFixtures.res.mjs +277 -0
  300. package/tests/components/readmodel/MixedSourceReadModelTest.res +61 -0
  301. package/tests/components/readmodel/MixedSourceReadModelTest.res.mjs +68 -0
  302. package/tests/components/readmodel/ReadModelFixtures.res +138 -0
  303. package/tests/components/readmodel/ReadModelFixtures.res.mjs +169 -0
  304. package/tests/components/readmodel/ReadModelTest.res +46 -0
  305. package/tests/components/readmodel/ReadModelTest.res.mjs +36 -0
  306. package/tests/components/scheduler/SchedulerFixtures.res +59 -0
  307. package/tests/components/scheduler/SchedulerFixtures.res.mjs +63 -0
  308. package/tests/components/scheduler/SchedulerTest.res +76 -0
  309. package/tests/components/scheduler/SchedulerTest.res.mjs +86 -0
  310. package/tests/components/sideeffecthandler/SideEffectHandlerFixtures.res +133 -0
  311. package/tests/components/sideeffecthandler/SideEffectHandlerFixtures.res.mjs +149 -0
  312. package/tests/components/sideeffecthandler/SideEffectHandlerTest.res +39 -0
  313. package/tests/components/sideeffecthandler/SideEffectHandlerTest.res.mjs +28 -0
  314. package/tests/components/stateviewslice/StateViewSliceFixtures.res +117 -0
  315. package/tests/components/stateviewslice/StateViewSliceFixtures.res.mjs +188 -0
  316. package/tests/components/stateviewslice/StateViewSliceSubIdFixtures.res +117 -0
  317. package/tests/components/stateviewslice/StateViewSliceSubIdFixtures.res.mjs +183 -0
  318. package/tests/components/stateviewslice/StateViewSliceSubIdTest.res +78 -0
  319. package/tests/components/stateviewslice/StateViewSliceSubIdTest.res.mjs +107 -0
  320. package/tests/components/stateviewslice/StateViewSliceTest.res +59 -0
  321. package/tests/components/stateviewslice/StateViewSliceTest.res.mjs +72 -0
  322. package/tests/components/task/TaskFixtures.res +87 -0
  323. package/tests/components/task/TaskFixtures.res.mjs +82 -0
  324. package/tests/components/task/TaskTest.res +98 -0
  325. package/tests/components/task/TaskTest.res.mjs +46 -0
  326. package/tests/plugin/PluginBehavior_GWT.res +146 -0
  327. package/tests/plugin/PluginBehavior_GWT.res.mjs +281 -0
  328. package/tests/plugin/Plugin_Fixtures.res +61 -0
  329. package/tests/plugin/Plugin_Fixtures.res.mjs +105 -0
  330. package/tests/plugin/PluginsProjection_GWT.res +95 -0
  331. package/tests/plugin/PluginsProjection_GWT.res.mjs +120 -0
  332. package/tests/plugin/UIFragmentRegistryProjection_GWT.res +72 -0
  333. package/tests/plugin/UIFragmentRegistryProjection_GWT.res.mjs +117 -0
  334. package/tests/setup/sqliteGlobal.cjs +12 -0
@@ -0,0 +1,313 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as S from "sury/src/S.res.mjs";
4
+ import * as Http from "http";
5
+ import * as Stdlib_JsExn from "@rescript/runtime/lib/es6/Stdlib_JsExn.js";
6
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
7
+ import * as McpSdk_Helpers from "@reventlessdev/rescript-mcp-sdk/src/McpSdk_Helpers.res.mjs";
8
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
9
+ import * as Identity$Reventless from "@reventlessdev/reventless-spec/src/types/Identity.res.mjs";
10
+ import * as Primitive_exceptions from "@rescript/runtime/lib/es6/Primitive_exceptions.js";
11
+ import * as Logger$ReventlessCore from "@reventlessdev/reventless-core/src/util/Logger.res.mjs";
12
+ import * as MCP_SchemaGenerator$ReventlessCore from "@reventlessdev/reventless-core/src/components/Api/MCP_SchemaGenerator.res.mjs";
13
+ import * as IndexJs from "@modelcontextprotocol/sdk/server/index.js";
14
+ import * as StreamableHttpJs from "@modelcontextprotocol/sdk/server/streamableHttp.js";
15
+
16
+ let log = Logger$ReventlessCore.fromEnv();
17
+
18
+ let debug = Stdlib_Option.isSome(process.env["MCP_DEBUG"]);
19
+
20
+ function make(labelOpt) {
21
+ let label = labelOpt !== undefined ? labelOpt : "MCP";
22
+ let tools = {
23
+ contents: {}
24
+ };
25
+ let resources = {
26
+ contents: {}
27
+ };
28
+ let resourceTemplates = {
29
+ contents: {}
30
+ };
31
+ let activeServer = {
32
+ contents: undefined
33
+ };
34
+ let registerTool = (name, definition, handler) => {
35
+ tools.contents[name] = {
36
+ definition: definition,
37
+ handler: handler
38
+ };
39
+ };
40
+ let registerResource = (name, definition, handler) => {
41
+ resources.contents[name] = {
42
+ definition: definition,
43
+ handler: handler
44
+ };
45
+ };
46
+ let registerResourceTemplate = (name, definition, handler) => {
47
+ resourceTemplates.contents[name] = {
48
+ definition: definition,
49
+ handler: handler
50
+ };
51
+ };
52
+ let registerToolsFromEntries = (pluginName, mutationEntries, commandHandler) => {
53
+ let toolDefs = MCP_SchemaGenerator$ReventlessCore.generateTools(pluginName, mutationEntries);
54
+ toolDefs.forEach(def => {
55
+ let handler = async (args, identity) => {
56
+ try {
57
+ return McpSdk_Helpers.toolResult(await commandHandler(def.name, args, identity));
58
+ } catch (raw_exn) {
59
+ let exn = Primitive_exceptions.internalToException(raw_exn);
60
+ return McpSdk_Helpers.toolError(Stdlib_Option.getOr(Stdlib_Option.flatMap(Stdlib_JsExn.fromException(exn), Stdlib_JsExn.message), "Command failed"));
61
+ }
62
+ };
63
+ registerTool(def.name, def, handler);
64
+ });
65
+ };
66
+ let registerResourcesFromEntries = (pluginName, queryEntries, queryHandler) => {
67
+ let resourceDefs = MCP_SchemaGenerator$ReventlessCore.generateResources(pluginName, queryEntries);
68
+ resourceDefs.forEach(def => {
69
+ let handler = async uri => {
70
+ let result = await queryHandler(def.name, uri);
71
+ return {
72
+ contents: [{
73
+ uri: uri,
74
+ text: JSON.stringify(result)
75
+ }]
76
+ };
77
+ };
78
+ if (def.uriTemplate.includes("{")) {
79
+ return registerResourceTemplate(def.name, def, handler);
80
+ } else {
81
+ return registerResource(def.name, def, handler);
82
+ }
83
+ });
84
+ };
85
+ let registerEventHistoryResourcesFromEntries = (pluginName, eventLogEntries, eventLogHandler) => {
86
+ let resourceDefs = MCP_SchemaGenerator$ReventlessCore.generateEventHistoryResources(pluginName, eventLogEntries);
87
+ resourceDefs.forEach(def => {
88
+ let handler = async uri => {
89
+ let result = await eventLogHandler(def.name, uri);
90
+ return {
91
+ contents: [{
92
+ uri: uri,
93
+ text: JSON.stringify(result)
94
+ }]
95
+ };
96
+ };
97
+ registerResourceTemplate(def.name, def, handler);
98
+ });
99
+ };
100
+ let extractIdentity = req => {
101
+ try {
102
+ let headers = req.headers;
103
+ let json = headers["x-identity"];
104
+ if (json !== undefined) {
105
+ return S.parseOrThrow(JSON.parse(json), Identity$Reventless.schema);
106
+ } else {
107
+ return Identity$Reventless.anonymous;
108
+ }
109
+ } catch (exn) {
110
+ return Identity$Reventless.anonymous;
111
+ }
112
+ };
113
+ let createServerInstance = identity => {
114
+ let server = new IndexJs.Server({
115
+ name: `reventless-` + label.toLowerCase(),
116
+ version: "1.0.0"
117
+ }, {
118
+ capabilities: {
119
+ tools: {
120
+ _placeholder: false
121
+ },
122
+ resources: {
123
+ _placeholder: false
124
+ }
125
+ }
126
+ });
127
+ McpSdk_Helpers.onListTools(server, async () => {
128
+ let toolDefs = Object.values(tools.contents).map(param => {
129
+ let definition = param.definition;
130
+ return {
131
+ name: definition.name,
132
+ description: definition.description,
133
+ inputSchema: definition.inputSchema
134
+ };
135
+ });
136
+ return {
137
+ tools: toolDefs
138
+ };
139
+ });
140
+ McpSdk_Helpers.onCallTool(server, async req => {
141
+ let toolName = req.params.name;
142
+ let args = Stdlib_Option.getOr(req.params.arguments, null);
143
+ if (debug) {
144
+ log.info(label, undefined, `tools/call: ` + toolName);
145
+ }
146
+ let match = tools.contents[toolName];
147
+ if (match !== undefined) {
148
+ return await match.handler(args, identity);
149
+ } else {
150
+ return McpSdk_Helpers.toolError(`Unknown tool: ` + toolName);
151
+ }
152
+ });
153
+ McpSdk_Helpers.onListResources(server, async () => {
154
+ let resourceDefs = Object.values(resources.contents).map(param => {
155
+ let definition = param.definition;
156
+ return {
157
+ uri: definition.uriTemplate,
158
+ name: definition.name,
159
+ description: definition.description,
160
+ mimeType: definition.mimeType
161
+ };
162
+ });
163
+ return {
164
+ resources: resourceDefs
165
+ };
166
+ });
167
+ McpSdk_Helpers.onListResourceTemplates(server, async () => {
168
+ let templateDefs = Object.values(resourceTemplates.contents).map(param => {
169
+ let definition = param.definition;
170
+ return {
171
+ uriTemplate: definition.uriTemplate,
172
+ name: definition.name,
173
+ description: definition.description,
174
+ mimeType: definition.mimeType
175
+ };
176
+ });
177
+ return {
178
+ resourceTemplates: templateDefs
179
+ };
180
+ });
181
+ McpSdk_Helpers.onReadResource(server, async req => {
182
+ let uri = req.params.uri;
183
+ if (debug) {
184
+ log.info(label, undefined, `resources/read: ` + uri);
185
+ }
186
+ let matchedResource = Object.values(resources.contents).find(param => uri.includes(param.definition.name));
187
+ if (matchedResource !== undefined) {
188
+ if (debug) {
189
+ log.debug(label, undefined, `matched resource: ` + matchedResource.definition.name);
190
+ }
191
+ return await matchedResource.handler(uri);
192
+ }
193
+ let matchedTemplate = Object.values(resourceTemplates.contents).find(param => uri.includes(param.definition.name));
194
+ if (matchedTemplate !== undefined) {
195
+ if (debug) {
196
+ log.debug(label, undefined, `matched template: ` + matchedTemplate.definition.name);
197
+ }
198
+ return await matchedTemplate.handler(uri);
199
+ } else {
200
+ return {
201
+ contents: [{
202
+ uri: uri,
203
+ text: `{"error": "Resource not found: ` + uri + `"}`
204
+ }]
205
+ };
206
+ }
207
+ });
208
+ return server;
209
+ };
210
+ let start = (portOpt, param) => {
211
+ let port = portOpt !== undefined ? portOpt : 3001;
212
+ let httpServer = Http.createServer((req, res) => {
213
+ (async () => {
214
+ let reqMethod = req.method;
215
+ let reqUrl = req.url;
216
+ res.setHeader("Access-Control-Allow-Origin", "*");
217
+ res.setHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, OPTIONS");
218
+ res.setHeader("Access-Control-Allow-Headers", "Content-Type");
219
+ if (reqUrl === "/mcp" || reqUrl.startsWith("/mcp?")) {
220
+ switch (reqMethod) {
221
+ case "DELETE" :
222
+ res.statusCode = 200;
223
+ res.end();
224
+ return;
225
+ case "GET" :
226
+ res.setHeader("Content-Type", "text/plain");
227
+ res.end(label + ` server running`);
228
+ return;
229
+ case "OPTIONS" :
230
+ res.statusCode = 204;
231
+ res.end();
232
+ return;
233
+ case "POST" :
234
+ let body = await McpSdk_Helpers.parseJsonBody(req);
235
+ let identity = extractIdentity(req);
236
+ let server = createServerInstance(identity);
237
+ let transport = new StreamableHttpJs.StreamableHTTPServerTransport({
238
+ enableJsonResponse: true
239
+ });
240
+ await server.connect(transport);
241
+ await transport.handleRequest(req, res, body);
242
+ return;
243
+ default:
244
+ res.statusCode = 405;
245
+ res.end("Method not allowed");
246
+ return;
247
+ }
248
+ } else {
249
+ res.statusCode = 404;
250
+ res.end("Not found");
251
+ return;
252
+ }
253
+ })();
254
+ });
255
+ httpServer.listen(port, () => log.info(label, undefined, `listening on http://localhost:` + port.toString() + `/mcp`));
256
+ activeServer.contents = Primitive_option.some(httpServer);
257
+ };
258
+ let stop = () => {
259
+ let server = activeServer.contents;
260
+ if (server !== undefined) {
261
+ Primitive_option.valFromOption(server).close(() => {});
262
+ activeServer.contents = undefined;
263
+ return;
264
+ }
265
+ };
266
+ let reset = () => {
267
+ tools.contents = {};
268
+ resources.contents = {};
269
+ resourceTemplates.contents = {};
270
+ };
271
+ let diagnostics = () => {
272
+ let toolNames = Object.keys(tools.contents);
273
+ let resourceNames = Object.keys(resources.contents).concat(Object.keys(resourceTemplates.contents));
274
+ return {
275
+ registeredTools: toolNames,
276
+ registeredResources: resourceNames,
277
+ toolCount: toolNames.length,
278
+ resourceCount: resourceNames.length,
279
+ serverRunning: Stdlib_Option.isSome(activeServer.contents)
280
+ };
281
+ };
282
+ let printDiagnostics = () => {
283
+ let d = diagnostics();
284
+ log.info(label, undefined, "diagnostics");
285
+ log.info(label, undefined, ` tools (` + d.toolCount.toString() + `):`);
286
+ d.registeredTools.forEach(t => log.info(label, undefined, ` - ` + t));
287
+ log.info(label, undefined, ` resources (` + d.resourceCount.toString() + `):`);
288
+ d.registeredResources.forEach(r => log.info(label, undefined, ` - ` + r));
289
+ log.info(label, undefined, ` server running: ` + (
290
+ d.serverRunning ? "yes" : "no"
291
+ ));
292
+ };
293
+ return {
294
+ registerTool: registerTool,
295
+ registerResource: registerResource,
296
+ registerResourceTemplate: registerResourceTemplate,
297
+ registerToolsFromEntries: registerToolsFromEntries,
298
+ registerResourcesFromEntries: registerResourcesFromEntries,
299
+ registerEventHistoryResourcesFromEntries: registerEventHistoryResourcesFromEntries,
300
+ start: start,
301
+ stop: stop,
302
+ reset: reset,
303
+ diagnostics: diagnostics,
304
+ printDiagnostics: printDiagnostics
305
+ };
306
+ }
307
+
308
+ export {
309
+ log,
310
+ debug,
311
+ make,
312
+ }
313
+ /* log Not a pure module */
@@ -0,0 +1,75 @@
1
+ // Platform (admin-facing) in-memory GraphQL server — singleton.
2
+ // Serves admin/core operations on a separate port in split mode (port 4001).
3
+ //
4
+ // Uses the same GraphQL_ServerInstance factory as the generic instance,
5
+ // but is exposed as a named singleton so Platform.res can reference it
6
+ // directly (mirroring the AWS PlatformAPI resource pattern).
7
+ //
8
+ // Does NOT include Relay-specific features (encodeGlobalId, node resolver)
9
+ // since admin queries are not Relay-paginated.
10
+ //
11
+ // Authorization: every query AND mutation resolver registered here is
12
+ // wrapped with `Auth_GraphqlContext.requireGroup(~group="Admin")` so
13
+ // non-Admin identities raise an `UNAUTHORIZED` GraphQLError before the
14
+ // underlying resolver runs. Mirrors AppSync's
15
+ // `@aws_auth(cognito_groups: ["Admin"])` directive that gates Platform_*
16
+ // fields in the AWS adapter.
17
+ //
18
+ // Mutations are wrapped (in addition to their per-command
19
+ // `commandAuthorization` rule inside `CommandGeneratorResolvers_GraphQL.register`)
20
+ // because the per-command rule defaults to `AllowAuthenticated` and the
21
+ // in-memory adapter falls back to `defaultUser` on missing-bearer requests
22
+ // — without the wrapper, anonymous callers could trigger admin mutations
23
+ // (Plugin_Activate / _Deactivate, etc.) just by hitting the platform port.
24
+
25
+ let instance: GraphQL_ServerInstance.t = GraphQL_ServerInstance.make(~label="GraphQL:Platform")
26
+
27
+ // Wrap a resolver dict so every value enforces the Admin group. Keys are
28
+ // preserved; resolvers fall through to the underlying instance once the
29
+ // group check passes.
30
+ let wrapAdmin = (
31
+ resolvers: dict<GraphQL_ServerInstance.resolverFn>,
32
+ ): dict<GraphQL_ServerInstance.resolverFn> => {
33
+ let wrapped = Dict.make()
34
+ resolvers->Dict.toArray->Array.forEach(((k, v)) =>
35
+ wrapped->Dict.set(k, Auth_GraphqlContext.requireGroup(~group="Admin", v))
36
+ )
37
+ wrapped
38
+ }
39
+
40
+ let registerMutations = (~sdlFields, ~resolvers) =>
41
+ instance.registerMutations(~sdlFields, ~resolvers=wrapAdmin(resolvers))
42
+ let registerQueries = (~sdlFields, ~resolvers) =>
43
+ instance.registerQueries(~sdlFields, ~resolvers=wrapAdmin(resolvers))
44
+ let registerSubscriptions = instance.registerSubscriptions
45
+ let registerTypes = instance.registerTypes
46
+ let getMutationResolver = instance.getMutationResolver
47
+ let getQueryResolver = instance.getQueryResolver
48
+ let start = instance.start
49
+ let stop = instance.stop
50
+ let reset = instance.reset
51
+ let buildSdl = instance.buildSdl
52
+ let getFullSdl = instance.getFullSdl
53
+ let getSchema = instance.getSchema
54
+ let diagnostics = instance.diagnostics
55
+ let printDiagnostics = instance.printDiagnostics
56
+
57
+ // Expose as GraphQL_ServerInstance.t for resolveTargetGraphQL() in Platform.res.
58
+ // `registerQueries` is the wrapped version so admin auth fires regardless of
59
+ // whether callers reach the singleton directly or through `asInterface`.
60
+ let asInterface: GraphQL_ServerInstance.t = {
61
+ registerMutations,
62
+ registerQueries,
63
+ registerSubscriptions,
64
+ registerTypes,
65
+ getMutationResolver,
66
+ getQueryResolver,
67
+ start,
68
+ stop,
69
+ reset,
70
+ buildSdl,
71
+ getFullSdl,
72
+ getSchema,
73
+ diagnostics,
74
+ printDiagnostics,
75
+ }
@@ -0,0 +1,84 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Auth_GraphqlContext$ReventlessLocal from "./Auth/Auth_GraphqlContext.res.mjs";
4
+ import * as GraphQL_ServerInstance$ReventlessLocal from "./GraphQL_ServerInstance.res.mjs";
5
+
6
+ let instance = GraphQL_ServerInstance$ReventlessLocal.make("GraphQL:Platform");
7
+
8
+ function wrapAdmin(resolvers) {
9
+ let wrapped = {};
10
+ Object.entries(resolvers).forEach(param => {
11
+ wrapped[param[0]] = Auth_GraphqlContext$ReventlessLocal.requireGroup("Admin", param[1]);
12
+ });
13
+ return wrapped;
14
+ }
15
+
16
+ function registerMutations(sdlFields, resolvers) {
17
+ instance.registerMutations(sdlFields, wrapAdmin(resolvers));
18
+ }
19
+
20
+ function registerQueries(sdlFields, resolvers) {
21
+ instance.registerQueries(sdlFields, wrapAdmin(resolvers));
22
+ }
23
+
24
+ let registerSubscriptions = instance.registerSubscriptions;
25
+
26
+ let registerTypes = instance.registerTypes;
27
+
28
+ let getMutationResolver = instance.getMutationResolver;
29
+
30
+ let getQueryResolver = instance.getQueryResolver;
31
+
32
+ let start = instance.start;
33
+
34
+ let stop = instance.stop;
35
+
36
+ let reset = instance.reset;
37
+
38
+ let buildSdl = instance.buildSdl;
39
+
40
+ let getFullSdl = instance.getFullSdl;
41
+
42
+ let getSchema = instance.getSchema;
43
+
44
+ let diagnostics = instance.diagnostics;
45
+
46
+ let printDiagnostics = instance.printDiagnostics;
47
+
48
+ let asInterface = {
49
+ registerMutations: registerMutations,
50
+ registerQueries: registerQueries,
51
+ registerSubscriptions: registerSubscriptions,
52
+ registerTypes: registerTypes,
53
+ getMutationResolver: getMutationResolver,
54
+ getQueryResolver: getQueryResolver,
55
+ start: start,
56
+ stop: stop,
57
+ reset: reset,
58
+ buildSdl: buildSdl,
59
+ getFullSdl: getFullSdl,
60
+ getSchema: getSchema,
61
+ diagnostics: diagnostics,
62
+ printDiagnostics: printDiagnostics
63
+ };
64
+
65
+ export {
66
+ instance,
67
+ wrapAdmin,
68
+ registerMutations,
69
+ registerQueries,
70
+ registerSubscriptions,
71
+ registerTypes,
72
+ getMutationResolver,
73
+ getQueryResolver,
74
+ start,
75
+ stop,
76
+ reset,
77
+ buildSdl,
78
+ getFullSdl,
79
+ getSchema,
80
+ diagnostics,
81
+ printDiagnostics,
82
+ asInterface,
83
+ }
84
+ /* instance Not a pure module */
@@ -0,0 +1,23 @@
1
+ // Platform (admin-facing) in-memory MCP server — singleton.
2
+ // Serves admin/core operations on a separate port in split mode (port 3002).
3
+ //
4
+ // Uses the MCP_ServerInstance factory with a "MCP:Platform" label so log
5
+ // output is distinguishable from the domain MCP server.
6
+
7
+ let instance: MCP_ServerInstance.t = MCP_ServerInstance.make(~label="MCP:Platform")
8
+
9
+ // Re-export all instance functions for module-style access.
10
+ let registerTool = instance.registerTool
11
+ let registerResource = instance.registerResource
12
+ let registerResourceTemplate = instance.registerResourceTemplate
13
+ let registerToolsFromEntries = instance.registerToolsFromEntries
14
+ let registerResourcesFromEntries = instance.registerResourcesFromEntries
15
+ let registerEventHistoryResourcesFromEntries = instance.registerEventHistoryResourcesFromEntries
16
+ let start = instance.start
17
+ let stop = instance.stop
18
+ let reset = instance.reset
19
+ let diagnostics = instance.diagnostics
20
+ let printDiagnostics = instance.printDiagnostics
21
+
22
+ // Expose as MCP_ServerInstance.t for resolveTargetMCP() in Platform.res.
23
+ let asInterface: MCP_ServerInstance.t = instance
@@ -0,0 +1,46 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as MCP_ServerInstance$ReventlessLocal from "./MCP_ServerInstance.res.mjs";
4
+
5
+ let instance = MCP_ServerInstance$ReventlessLocal.make("MCP:Platform");
6
+
7
+ let registerTool = instance.registerTool;
8
+
9
+ let registerResource = instance.registerResource;
10
+
11
+ let registerResourceTemplate = instance.registerResourceTemplate;
12
+
13
+ let registerToolsFromEntries = instance.registerToolsFromEntries;
14
+
15
+ let registerResourcesFromEntries = instance.registerResourcesFromEntries;
16
+
17
+ let registerEventHistoryResourcesFromEntries = instance.registerEventHistoryResourcesFromEntries;
18
+
19
+ let start = instance.start;
20
+
21
+ let stop = instance.stop;
22
+
23
+ let reset = instance.reset;
24
+
25
+ let diagnostics = instance.diagnostics;
26
+
27
+ let printDiagnostics = instance.printDiagnostics;
28
+
29
+ let asInterface = instance;
30
+
31
+ export {
32
+ instance,
33
+ registerTool,
34
+ registerResource,
35
+ registerResourceTemplate,
36
+ registerToolsFromEntries,
37
+ registerResourcesFromEntries,
38
+ registerEventHistoryResourcesFromEntries,
39
+ start,
40
+ stop,
41
+ reset,
42
+ diagnostics,
43
+ printDiagnostics,
44
+ asInterface,
45
+ }
46
+ /* instance Not a pure module */