@exellix/exellix-runtime 3.5.1

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 (318) hide show
  1. package/README.md +422 -0
  2. package/dist/catalox-inventory/catalox-execution-matrix-inventory-cli.d.ts +4 -0
  3. package/dist/catalox-inventory/catalox-execution-matrix-inventory-cli.d.ts.map +1 -0
  4. package/dist/catalox-inventory/catalox-execution-matrix-inventory-cli.js +311 -0
  5. package/dist/catalox-inventory/catalox-execution-matrix-inventory-cli.js.map +1 -0
  6. package/dist/catalox-inventory/catalox-execution-matrix-inventory.d.ts +64 -0
  7. package/dist/catalox-inventory/catalox-execution-matrix-inventory.d.ts.map +1 -0
  8. package/dist/catalox-inventory/catalox-execution-matrix-inventory.js +226 -0
  9. package/dist/catalox-inventory/catalox-execution-matrix-inventory.js.map +1 -0
  10. package/dist/catalox-inventory/catalox-xmemory-entity-count-report.d.ts +145 -0
  11. package/dist/catalox-inventory/catalox-xmemory-entity-count-report.d.ts.map +1 -0
  12. package/dist/catalox-inventory/catalox-xmemory-entity-count-report.js +477 -0
  13. package/dist/catalox-inventory/catalox-xmemory-entity-count-report.js.map +1 -0
  14. package/dist/catalox-inventory/catalox-xmemory-entity-count-report.spec.d.ts +2 -0
  15. package/dist/catalox-inventory/catalox-xmemory-entity-count-report.spec.d.ts.map +1 -0
  16. package/dist/catalox-inventory/catalox-xmemory-entity-count-report.spec.js +34 -0
  17. package/dist/catalox-inventory/catalox-xmemory-entity-count-report.spec.js.map +1 -0
  18. package/dist/cli/argv.d.ts +5 -0
  19. package/dist/cli/argv.d.ts.map +1 -0
  20. package/dist/cli/argv.js +32 -0
  21. package/dist/cli/argv.js.map +1 -0
  22. package/dist/cli/commands/health.d.ts +2 -0
  23. package/dist/cli/commands/health.d.ts.map +1 -0
  24. package/dist/cli/commands/health.js +23 -0
  25. package/dist/cli/commands/health.js.map +1 -0
  26. package/dist/cli/commands/matrix-link.d.ts +2 -0
  27. package/dist/cli/commands/matrix-link.d.ts.map +1 -0
  28. package/dist/cli/commands/matrix-link.js +56 -0
  29. package/dist/cli/commands/matrix-link.js.map +1 -0
  30. package/dist/cli/commands/matrix-read.d.ts +2 -0
  31. package/dist/cli/commands/matrix-read.d.ts.map +1 -0
  32. package/dist/cli/commands/matrix-read.js +73 -0
  33. package/dist/cli/commands/matrix-read.js.map +1 -0
  34. package/dist/cli/env.d.ts +6 -0
  35. package/dist/cli/env.d.ts.map +1 -0
  36. package/dist/cli/env.js +39 -0
  37. package/dist/cli/env.js.map +1 -0
  38. package/dist/cli/exellix-runtime-cli.d.ts +3 -0
  39. package/dist/cli/exellix-runtime-cli.d.ts.map +1 -0
  40. package/dist/cli/exellix-runtime-cli.js +55 -0
  41. package/dist/cli/exellix-runtime-cli.js.map +1 -0
  42. package/dist/cli/help.d.ts +19 -0
  43. package/dist/cli/help.d.ts.map +1 -0
  44. package/dist/cli/help.js +94 -0
  45. package/dist/cli/help.js.map +1 -0
  46. package/dist/client-toolbox/bundle.d.ts +17 -0
  47. package/dist/client-toolbox/bundle.d.ts.map +1 -0
  48. package/dist/client-toolbox/bundle.js +17 -0
  49. package/dist/client-toolbox/bundle.js.map +1 -0
  50. package/dist/client-toolbox/client-toolbox.spec.d.ts +2 -0
  51. package/dist/client-toolbox/client-toolbox.spec.d.ts.map +1 -0
  52. package/dist/client-toolbox/client-toolbox.spec.js +145 -0
  53. package/dist/client-toolbox/client-toolbox.spec.js.map +1 -0
  54. package/dist/client-toolbox/index.d.ts +4 -0
  55. package/dist/client-toolbox/index.d.ts.map +1 -0
  56. package/dist/client-toolbox/index.js +4 -0
  57. package/dist/client-toolbox/index.js.map +1 -0
  58. package/dist/client-toolbox/matrix-config.d.ts +67 -0
  59. package/dist/client-toolbox/matrix-config.d.ts.map +1 -0
  60. package/dist/client-toolbox/matrix-config.js +140 -0
  61. package/dist/client-toolbox/matrix-config.js.map +1 -0
  62. package/dist/client-toolbox/matrix-materialize.d.ts +56 -0
  63. package/dist/client-toolbox/matrix-materialize.d.ts.map +1 -0
  64. package/dist/client-toolbox/matrix-materialize.js +130 -0
  65. package/dist/client-toolbox/matrix-materialize.js.map +1 -0
  66. package/dist/dev/matrix-read-dashboard-smoke.d.ts +2 -0
  67. package/dist/dev/matrix-read-dashboard-smoke.d.ts.map +1 -0
  68. package/dist/dev/matrix-read-dashboard-smoke.js +12 -0
  69. package/dist/dev/matrix-read-dashboard-smoke.js.map +1 -0
  70. package/dist/dev/runtime-real-dev-server.d.ts +2 -0
  71. package/dist/dev/runtime-real-dev-server.d.ts.map +1 -0
  72. package/dist/dev/runtime-real-dev-server.js +90 -0
  73. package/dist/dev/runtime-real-dev-server.js.map +1 -0
  74. package/dist/execution-matrix/catalox-loader.d.ts +55 -0
  75. package/dist/execution-matrix/catalox-loader.d.ts.map +1 -0
  76. package/dist/execution-matrix/catalox-loader.js +199 -0
  77. package/dist/execution-matrix/catalox-loader.js.map +1 -0
  78. package/dist/execution-matrix/catalox-matrix-host.d.ts +20 -0
  79. package/dist/execution-matrix/catalox-matrix-host.d.ts.map +1 -0
  80. package/dist/execution-matrix/catalox-matrix-host.js +19 -0
  81. package/dist/execution-matrix/catalox-matrix-host.js.map +1 -0
  82. package/dist/execution-matrix/collections.d.ts +16 -0
  83. package/dist/execution-matrix/collections.d.ts.map +1 -0
  84. package/dist/execution-matrix/collections.js +75 -0
  85. package/dist/execution-matrix/collections.js.map +1 -0
  86. package/dist/execution-matrix/config-store.d.ts +104 -0
  87. package/dist/execution-matrix/config-store.d.ts.map +1 -0
  88. package/dist/execution-matrix/config-store.js +273 -0
  89. package/dist/execution-matrix/config-store.js.map +1 -0
  90. package/dist/execution-matrix/constants.d.ts +19 -0
  91. package/dist/execution-matrix/constants.d.ts.map +1 -0
  92. package/dist/execution-matrix/constants.js +19 -0
  93. package/dist/execution-matrix/constants.js.map +1 -0
  94. package/dist/execution-matrix/contracts.d.ts +568 -0
  95. package/dist/execution-matrix/contracts.d.ts.map +1 -0
  96. package/dist/execution-matrix/contracts.js +44 -0
  97. package/dist/execution-matrix/contracts.js.map +1 -0
  98. package/dist/execution-matrix/data-source.d.ts +43 -0
  99. package/dist/execution-matrix/data-source.d.ts.map +1 -0
  100. package/dist/execution-matrix/data-source.js +307 -0
  101. package/dist/execution-matrix/data-source.js.map +1 -0
  102. package/dist/execution-matrix/eligibility.d.ts +48 -0
  103. package/dist/execution-matrix/eligibility.d.ts.map +1 -0
  104. package/dist/execution-matrix/eligibility.js +89 -0
  105. package/dist/execution-matrix/eligibility.js.map +1 -0
  106. package/dist/execution-matrix/execution-matrix-claim-pause.d.ts +20 -0
  107. package/dist/execution-matrix/execution-matrix-claim-pause.d.ts.map +1 -0
  108. package/dist/execution-matrix/execution-matrix-claim-pause.js +18 -0
  109. package/dist/execution-matrix/execution-matrix-claim-pause.js.map +1 -0
  110. package/dist/execution-matrix/execution-matrix-claim-pause.spec.d.ts +2 -0
  111. package/dist/execution-matrix/execution-matrix-claim-pause.spec.d.ts.map +1 -0
  112. package/dist/execution-matrix/execution-matrix-claim-pause.spec.js +23 -0
  113. package/dist/execution-matrix/execution-matrix-claim-pause.spec.js.map +1 -0
  114. package/dist/execution-matrix/execution-matrix.live.spec.d.ts +2 -0
  115. package/dist/execution-matrix/execution-matrix.live.spec.d.ts.map +1 -0
  116. package/dist/execution-matrix/execution-matrix.live.spec.js +152 -0
  117. package/dist/execution-matrix/execution-matrix.live.spec.js.map +1 -0
  118. package/dist/execution-matrix/execution-matrix.live.xmemory.spec.d.ts +2 -0
  119. package/dist/execution-matrix/execution-matrix.live.xmemory.spec.d.ts.map +1 -0
  120. package/dist/execution-matrix/execution-matrix.live.xmemory.spec.js +346 -0
  121. package/dist/execution-matrix/execution-matrix.live.xmemory.spec.js.map +1 -0
  122. package/dist/execution-matrix/execution-matrix.spec.d.ts +2 -0
  123. package/dist/execution-matrix/execution-matrix.spec.d.ts.map +1 -0
  124. package/dist/execution-matrix/execution-matrix.spec.js +1786 -0
  125. package/dist/execution-matrix/execution-matrix.spec.js.map +1 -0
  126. package/dist/execution-matrix/execution-mode.d.ts +34 -0
  127. package/dist/execution-matrix/execution-mode.d.ts.map +1 -0
  128. package/dist/execution-matrix/execution-mode.js +72 -0
  129. package/dist/execution-matrix/execution-mode.js.map +1 -0
  130. package/dist/execution-matrix/factory.d.ts +72 -0
  131. package/dist/execution-matrix/factory.d.ts.map +1 -0
  132. package/dist/execution-matrix/factory.js +77 -0
  133. package/dist/execution-matrix/factory.js.map +1 -0
  134. package/dist/execution-matrix/graph-engine-datafilters-reexport.spec.d.ts +2 -0
  135. package/dist/execution-matrix/graph-engine-datafilters-reexport.spec.d.ts.map +1 -0
  136. package/dist/execution-matrix/graph-engine-datafilters-reexport.spec.js +48 -0
  137. package/dist/execution-matrix/graph-engine-datafilters-reexport.spec.js.map +1 -0
  138. package/dist/execution-matrix/graph-entry-xmemory-load.d.ts +130 -0
  139. package/dist/execution-matrix/graph-entry-xmemory-load.d.ts.map +1 -0
  140. package/dist/execution-matrix/graph-entry-xmemory-load.js +146 -0
  141. package/dist/execution-matrix/graph-entry-xmemory-load.js.map +1 -0
  142. package/dist/execution-matrix/graph-entry-xmemory-load.spec.d.ts +2 -0
  143. package/dist/execution-matrix/graph-entry-xmemory-load.spec.d.ts.map +1 -0
  144. package/dist/execution-matrix/graph-entry-xmemory-load.spec.js +66 -0
  145. package/dist/execution-matrix/graph-entry-xmemory-load.spec.js.map +1 -0
  146. package/dist/execution-matrix/graph-operational-aggregates.d.ts +47 -0
  147. package/dist/execution-matrix/graph-operational-aggregates.d.ts.map +1 -0
  148. package/dist/execution-matrix/graph-operational-aggregates.js +137 -0
  149. package/dist/execution-matrix/graph-operational-aggregates.js.map +1 -0
  150. package/dist/execution-matrix/graph-operational-lifecycle.d.ts +43 -0
  151. package/dist/execution-matrix/graph-operational-lifecycle.d.ts.map +1 -0
  152. package/dist/execution-matrix/graph-operational-lifecycle.js +88 -0
  153. package/dist/execution-matrix/graph-operational-lifecycle.js.map +1 -0
  154. package/dist/execution-matrix/graph-operational.spec.d.ts +2 -0
  155. package/dist/execution-matrix/graph-operational.spec.d.ts.map +1 -0
  156. package/dist/execution-matrix/graph-operational.spec.js +203 -0
  157. package/dist/execution-matrix/graph-operational.spec.js.map +1 -0
  158. package/dist/execution-matrix/index.d.ts +73 -0
  159. package/dist/execution-matrix/index.d.ts.map +1 -0
  160. package/dist/execution-matrix/index.js +57 -0
  161. package/dist/execution-matrix/index.js.map +1 -0
  162. package/dist/execution-matrix/live-tier-open.d.ts +6 -0
  163. package/dist/execution-matrix/live-tier-open.d.ts.map +1 -0
  164. package/dist/execution-matrix/live-tier-open.js +6 -0
  165. package/dist/execution-matrix/live-tier-open.js.map +1 -0
  166. package/dist/execution-matrix/materializer.d.ts +99 -0
  167. package/dist/execution-matrix/materializer.d.ts.map +1 -0
  168. package/dist/execution-matrix/materializer.js +210 -0
  169. package/dist/execution-matrix/materializer.js.map +1 -0
  170. package/dist/execution-matrix/matrix-activix.d.ts +24 -0
  171. package/dist/execution-matrix/matrix-activix.d.ts.map +1 -0
  172. package/dist/execution-matrix/matrix-activix.js +34 -0
  173. package/dist/execution-matrix/matrix-activix.js.map +1 -0
  174. package/dist/execution-matrix/matrix-data-tier.d.ts +55 -0
  175. package/dist/execution-matrix/matrix-data-tier.d.ts.map +1 -0
  176. package/dist/execution-matrix/matrix-data-tier.js +74 -0
  177. package/dist/execution-matrix/matrix-data-tier.js.map +1 -0
  178. package/dist/execution-matrix/matrix-execute-graph-adapter.d.ts +43 -0
  179. package/dist/execution-matrix/matrix-execute-graph-adapter.d.ts.map +1 -0
  180. package/dist/execution-matrix/matrix-execute-graph-adapter.js +62 -0
  181. package/dist/execution-matrix/matrix-execute-graph-adapter.js.map +1 -0
  182. package/dist/execution-matrix/matrix-execute-graph-adapter.spec.d.ts +2 -0
  183. package/dist/execution-matrix/matrix-execute-graph-adapter.spec.d.ts.map +1 -0
  184. package/dist/execution-matrix/matrix-execute-graph-adapter.spec.js +60 -0
  185. package/dist/execution-matrix/matrix-execute-graph-adapter.spec.js.map +1 -0
  186. package/dist/execution-matrix/matrix-logxer.d.ts +15 -0
  187. package/dist/execution-matrix/matrix-logxer.d.ts.map +1 -0
  188. package/dist/execution-matrix/matrix-logxer.js +65 -0
  189. package/dist/execution-matrix/matrix-logxer.js.map +1 -0
  190. package/dist/execution-matrix/matrix-read-tier.d.ts +41 -0
  191. package/dist/execution-matrix/matrix-read-tier.d.ts.map +1 -0
  192. package/dist/execution-matrix/matrix-read-tier.js +41 -0
  193. package/dist/execution-matrix/matrix-read-tier.js.map +1 -0
  194. package/dist/execution-matrix/memorix-entity-type-helpers.d.ts +25 -0
  195. package/dist/execution-matrix/memorix-entity-type-helpers.d.ts.map +1 -0
  196. package/dist/execution-matrix/memorix-entity-type-helpers.js +32 -0
  197. package/dist/execution-matrix/memorix-entity-type-helpers.js.map +1 -0
  198. package/dist/execution-matrix/memorix-entity-type-helpers.spec.d.ts +2 -0
  199. package/dist/execution-matrix/memorix-entity-type-helpers.spec.d.ts.map +1 -0
  200. package/dist/execution-matrix/memorix-entity-type-helpers.spec.js +83 -0
  201. package/dist/execution-matrix/memorix-entity-type-helpers.spec.js.map +1 -0
  202. package/dist/execution-matrix/memorix-inference-persister.d.ts +73 -0
  203. package/dist/execution-matrix/memorix-inference-persister.d.ts.map +1 -0
  204. package/dist/execution-matrix/memorix-inference-persister.js +126 -0
  205. package/dist/execution-matrix/memorix-inference-persister.js.map +1 -0
  206. package/dist/execution-matrix/memorix-inference-persister.spec.d.ts +2 -0
  207. package/dist/execution-matrix/memorix-inference-persister.spec.d.ts.map +1 -0
  208. package/dist/execution-matrix/memorix-inference-persister.spec.js +117 -0
  209. package/dist/execution-matrix/memorix-inference-persister.spec.js.map +1 -0
  210. package/dist/execution-matrix/memorix-matrix-entity-facet.d.ts +71 -0
  211. package/dist/execution-matrix/memorix-matrix-entity-facet.d.ts.map +1 -0
  212. package/dist/execution-matrix/memorix-matrix-entity-facet.js +91 -0
  213. package/dist/execution-matrix/memorix-matrix-entity-facet.js.map +1 -0
  214. package/dist/execution-matrix/memorix-matrix-entity-facet.spec.d.ts +2 -0
  215. package/dist/execution-matrix/memorix-matrix-entity-facet.spec.d.ts.map +1 -0
  216. package/dist/execution-matrix/memorix-matrix-entity-facet.spec.js +151 -0
  217. package/dist/execution-matrix/memorix-matrix-entity-facet.spec.js.map +1 -0
  218. package/dist/execution-matrix/memorix-runtime-tier.d.ts +153 -0
  219. package/dist/execution-matrix/memorix-runtime-tier.d.ts.map +1 -0
  220. package/dist/execution-matrix/memorix-runtime-tier.js +185 -0
  221. package/dist/execution-matrix/memorix-runtime-tier.js.map +1 -0
  222. package/dist/execution-matrix/memorix-tier-statistics.d.ts +103 -0
  223. package/dist/execution-matrix/memorix-tier-statistics.d.ts.map +1 -0
  224. package/dist/execution-matrix/memorix-tier-statistics.js +164 -0
  225. package/dist/execution-matrix/memorix-tier-statistics.js.map +1 -0
  226. package/dist/execution-matrix/memory-store.d.ts +20 -0
  227. package/dist/execution-matrix/memory-store.d.ts.map +1 -0
  228. package/dist/execution-matrix/memory-store.js +185 -0
  229. package/dist/execution-matrix/memory-store.js.map +1 -0
  230. package/dist/execution-matrix/navigator.d.ts +97 -0
  231. package/dist/execution-matrix/navigator.d.ts.map +1 -0
  232. package/dist/execution-matrix/navigator.js +119 -0
  233. package/dist/execution-matrix/navigator.js.map +1 -0
  234. package/dist/execution-matrix/orchestrator.d.ts +204 -0
  235. package/dist/execution-matrix/orchestrator.d.ts.map +1 -0
  236. package/dist/execution-matrix/orchestrator.js +656 -0
  237. package/dist/execution-matrix/orchestrator.js.map +1 -0
  238. package/dist/execution-matrix/records-eligibility.d.ts +34 -0
  239. package/dist/execution-matrix/records-eligibility.d.ts.map +1 -0
  240. package/dist/execution-matrix/records-eligibility.js +110 -0
  241. package/dist/execution-matrix/records-eligibility.js.map +1 -0
  242. package/dist/execution-matrix/records-eligibility.spec.d.ts +2 -0
  243. package/dist/execution-matrix/records-eligibility.spec.d.ts.map +1 -0
  244. package/dist/execution-matrix/records-eligibility.spec.js +154 -0
  245. package/dist/execution-matrix/records-eligibility.spec.js.map +1 -0
  246. package/dist/execution-matrix/run-loop.d.ts +140 -0
  247. package/dist/execution-matrix/run-loop.d.ts.map +1 -0
  248. package/dist/execution-matrix/run-loop.js +350 -0
  249. package/dist/execution-matrix/run-loop.js.map +1 -0
  250. package/dist/execution-matrix/runtime-connectivity-health.d.ts +128 -0
  251. package/dist/execution-matrix/runtime-connectivity-health.d.ts.map +1 -0
  252. package/dist/execution-matrix/runtime-connectivity-health.js +253 -0
  253. package/dist/execution-matrix/runtime-connectivity-health.js.map +1 -0
  254. package/dist/execution-matrix/runtime-connectivity-health.spec.d.ts +2 -0
  255. package/dist/execution-matrix/runtime-connectivity-health.spec.d.ts.map +1 -0
  256. package/dist/execution-matrix/runtime-connectivity-health.spec.js +23 -0
  257. package/dist/execution-matrix/runtime-connectivity-health.spec.js.map +1 -0
  258. package/dist/execution-matrix/runtime-objects.d.ts +16 -0
  259. package/dist/execution-matrix/runtime-objects.d.ts.map +1 -0
  260. package/dist/execution-matrix/runtime-objects.js +20 -0
  261. package/dist/execution-matrix/runtime-objects.js.map +1 -0
  262. package/dist/execution-matrix/runtime-store.d.ts +114 -0
  263. package/dist/execution-matrix/runtime-store.d.ts.map +1 -0
  264. package/dist/execution-matrix/runtime-store.js +506 -0
  265. package/dist/execution-matrix/runtime-store.js.map +1 -0
  266. package/dist/execution-matrix/snapshot-runner.d.ts +50 -0
  267. package/dist/execution-matrix/snapshot-runner.d.ts.map +1 -0
  268. package/dist/execution-matrix/snapshot-runner.js +111 -0
  269. package/dist/execution-matrix/snapshot-runner.js.map +1 -0
  270. package/dist/execution-matrix/source-resolver-factories.d.ts +31 -0
  271. package/dist/execution-matrix/source-resolver-factories.d.ts.map +1 -0
  272. package/dist/execution-matrix/source-resolver-factories.js +71 -0
  273. package/dist/execution-matrix/source-resolver-factories.js.map +1 -0
  274. package/dist/execution-matrix/source-resolver-factories.spec.d.ts +2 -0
  275. package/dist/execution-matrix/source-resolver-factories.spec.d.ts.map +1 -0
  276. package/dist/execution-matrix/source-resolver-factories.spec.js +127 -0
  277. package/dist/execution-matrix/source-resolver-factories.spec.js.map +1 -0
  278. package/dist/execution-matrix/source-resolver.d.ts +31 -0
  279. package/dist/execution-matrix/source-resolver.d.ts.map +1 -0
  280. package/dist/execution-matrix/source-resolver.js +26 -0
  281. package/dist/execution-matrix/source-resolver.js.map +1 -0
  282. package/dist/execution-matrix/status.d.ts +7 -0
  283. package/dist/execution-matrix/status.d.ts.map +1 -0
  284. package/dist/execution-matrix/status.js +33 -0
  285. package/dist/execution-matrix/status.js.map +1 -0
  286. package/dist/execution-matrix/xmemory-entity-collections.d.ts +69 -0
  287. package/dist/execution-matrix/xmemory-entity-collections.d.ts.map +1 -0
  288. package/dist/execution-matrix/xmemory-entity-collections.js +120 -0
  289. package/dist/execution-matrix/xmemory-entity-collections.js.map +1 -0
  290. package/dist/execution-matrix/xmemory-entity-collections.spec.d.ts +2 -0
  291. package/dist/execution-matrix/xmemory-entity-collections.spec.d.ts.map +1 -0
  292. package/dist/execution-matrix/xmemory-entity-collections.spec.js +112 -0
  293. package/dist/execution-matrix/xmemory-entity-collections.spec.js.map +1 -0
  294. package/dist/execution-matrix/xmemory-op-tier.d.ts +172 -0
  295. package/dist/execution-matrix/xmemory-op-tier.d.ts.map +1 -0
  296. package/dist/execution-matrix/xmemory-op-tier.js +339 -0
  297. package/dist/execution-matrix/xmemory-op-tier.js.map +1 -0
  298. package/dist/execution-matrix/xmemory-op-tier.spec.d.ts +2 -0
  299. package/dist/execution-matrix/xmemory-op-tier.spec.d.ts.map +1 -0
  300. package/dist/execution-matrix/xmemory-op-tier.spec.js +198 -0
  301. package/dist/execution-matrix/xmemory-op-tier.spec.js.map +1 -0
  302. package/dist/execution-matrix/xronox-matrix-factory.d.ts +38 -0
  303. package/dist/execution-matrix/xronox-matrix-factory.d.ts.map +1 -0
  304. package/dist/execution-matrix/xronox-matrix-factory.js +77 -0
  305. package/dist/execution-matrix/xronox-matrix-factory.js.map +1 -0
  306. package/dist/execution-matrix/xronox-store-native-driver-hooks.d.ts +15 -0
  307. package/dist/execution-matrix/xronox-store-native-driver-hooks.d.ts.map +1 -0
  308. package/dist/execution-matrix/xronox-store-native-driver-hooks.js +41 -0
  309. package/dist/execution-matrix/xronox-store-native-driver-hooks.js.map +1 -0
  310. package/dist/test-fixtures/exellix-test-matrix-ids.d.ts +16 -0
  311. package/dist/test-fixtures/exellix-test-matrix-ids.d.ts.map +1 -0
  312. package/dist/test-fixtures/exellix-test-matrix-ids.js +16 -0
  313. package/dist/test-fixtures/exellix-test-matrix-ids.js.map +1 -0
  314. package/dist/test-fixtures/seed-exellix-test-matrix-config.d.ts +26 -0
  315. package/dist/test-fixtures/seed-exellix-test-matrix-config.d.ts.map +1 -0
  316. package/dist/test-fixtures/seed-exellix-test-matrix-config.js +82 -0
  317. package/dist/test-fixtures/seed-exellix-test-matrix-config.js.map +1 -0
  318. package/package.json +67 -0
@@ -0,0 +1,15 @@
1
+ import { type Logxer } from '@x12i/logxer';
2
+ import type { LogxerQueryableClient } from '@exellix/graph-engine';
3
+ /**
4
+ * Package-scoped Logxer: levels from **`EXELLIX_RUNTIME_LOGS_LEVEL`** (canonical) or legacy **`EXELLIX_RUNTIME_LOG_LEVEL`**.
5
+ * Enables in-process **`getJobLogs`** for playground-style observability (see `@x12i/logxer` docs/package-usage.md).
6
+ * For Mongo query logs, set **`MONGO_URI`** (and often **`logxer_mongo_db_logs_level=info`**, default DB level is warn).
7
+ */
8
+ export declare function createExecutionMatrixLogxer(): Logxer;
9
+ /** Shared default instance for orchestration when the host does not inject **`matrixLogxer`** on claim deps. */
10
+ export declare function getExecutionMatrixLogxer(): Logxer;
11
+ /**
12
+ * Adapts `@x12i/logxer` **`getJobLogs`** results to the minimal **`LogxerQueryableClient`** shape used by graph-engine types.
13
+ */
14
+ export declare function createMatrixLogxerQueryableClient(logxer: Logxer): LogxerQueryableClient;
15
+ //# sourceMappingURL=matrix-logxer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-logxer.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/matrix-logxer.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,MAAM,EAAyB,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAiB,MAAM,uBAAuB,CAAC;AAelF;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CASpD;AAED,gHAAgH;AAChH,wBAAgB,wBAAwB,IAAI,MAAM,CAGjD;AAkBD;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAevF"}
@@ -0,0 +1,65 @@
1
+ import { initConfig } from '@x12i/env';
2
+ import { createLogxer } from '@x12i/logxer';
3
+ const PACKAGE_NAME = '@exellix/exellix-runtime';
4
+ const ENV_PREFIX = 'EXELLIX_RUNTIME';
5
+ let defaultLogxer;
6
+ let dotenvAppliedForLogxer = false;
7
+ function ensureProcessEnvFromDotenvBeforeLogxer() {
8
+ if (dotenvAppliedForLogxer)
9
+ return;
10
+ dotenvAppliedForLogxer = true;
11
+ // Logxer reads MONGO_URI etc. from process.env at construction; load .env first (CLI: `x12i-env run --env-file .env -- ...`).
12
+ initConfig({}, { dotenvPath: '.env', throwOnMissing: false });
13
+ }
14
+ /**
15
+ * Package-scoped Logxer: levels from **`EXELLIX_RUNTIME_LOGS_LEVEL`** (canonical) or legacy **`EXELLIX_RUNTIME_LOG_LEVEL`**.
16
+ * Enables in-process **`getJobLogs`** for playground-style observability (see `@x12i/logxer` docs/package-usage.md).
17
+ * For Mongo query logs, set **`MONGO_URI`** (and often **`logxer_mongo_db_logs_level=info`**, default DB level is warn).
18
+ */
19
+ export function createExecutionMatrixLogxer() {
20
+ ensureProcessEnvFromDotenvBeforeLogxer();
21
+ return createLogxer({ packageName: PACKAGE_NAME, envPrefix: ENV_PREFIX, debugNamespace: 'exellix-runtime' }, {
22
+ queryStore: { enabled: true },
23
+ queryCache: { enabled: true },
24
+ });
25
+ }
26
+ /** Shared default instance for orchestration when the host does not inject **`matrixLogxer`** on claim deps. */
27
+ export function getExecutionMatrixLogxer() {
28
+ if (!defaultLogxer)
29
+ defaultLogxer = createExecutionMatrixLogxer();
30
+ return defaultLogxer;
31
+ }
32
+ const QUERY_LEVELS = new Set(['debug', 'info', 'warn', 'error']);
33
+ function mapEnvelopeToLogxerLine(line) {
34
+ const lv = String(line.level || '').toLowerCase();
35
+ const level = QUERY_LEVELS.has(lv) ? lv : undefined;
36
+ return {
37
+ ts: line.timestamp,
38
+ level,
39
+ scope: line.source,
40
+ packageName: line.package,
41
+ nodeId: line.nodeId,
42
+ message: line.message,
43
+ data: line.data,
44
+ };
45
+ }
46
+ /**
47
+ * Adapts `@x12i/logxer` **`getJobLogs`** results to the minimal **`LogxerQueryableClient`** shape used by graph-engine types.
48
+ */
49
+ export function createMatrixLogxerQueryableClient(logxer) {
50
+ return {
51
+ async getJobLogs(input) {
52
+ const res = await logxer.getJobLogs({
53
+ jobId: input.jobId,
54
+ graphId: input.graphId,
55
+ nodeId: input.nodeId,
56
+ limit: input.limit,
57
+ });
58
+ return {
59
+ jobId: res.jobId,
60
+ lines: res.lines.map(mapEnvelopeToLogxerLine),
61
+ };
62
+ },
63
+ };
64
+ }
65
+ //# sourceMappingURL=matrix-logxer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-logxer.js","sourceRoot":"","sources":["../../src/execution-matrix/matrix-logxer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAsC,MAAM,cAAc,CAAC;AAGhF,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAChD,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAErC,IAAI,aAAiC,CAAC;AACtC,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC,SAAS,sCAAsC;IAC7C,IAAI,sBAAsB;QAAE,OAAO;IACnC,sBAAsB,GAAG,IAAI,CAAC;IAC9B,8HAA8H;IAC9H,UAAU,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B;IACzC,sCAAsC,EAAE,CAAC;IACzC,OAAO,YAAY,CACjB,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,EACvF;QACE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7B,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KAC9B,CACF,CAAC;AACJ,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,wBAAwB;IACtC,IAAI,CAAC,aAAa;QAAE,aAAa,GAAG,2BAA2B,EAAE,CAAC;IAClE,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEjE,SAAS,uBAAuB,CAAC,IAAsB;IACrD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,EAA6B,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,SAAS;QAClB,KAAK;QACL,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,WAAW,EAAE,IAAI,CAAC,OAAO;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAAC,MAAc;IAC9D,OAAO;QACL,KAAK,CAAC,UAAU,CAAC,KAAK;YACpB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;gBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;YACH,OAAO;gBACL,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC;aAC9C,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Read-only matrix tier: opens Mongo via {@link createExellixMatrixDataTier} and exposes dashboard helpers.
3
+ * Replaces the former `@exellix/exellix-matrix-read` package for in-process / BFF use.
4
+ */
5
+ import type { MemorixRuntimeTier, XmemoryDataTier } from './memorix-runtime-tier.js';
6
+ import { type ExellixConfigStore } from './config-store.js';
7
+ import { type FetchGraphOperationalDashboardSliceQuery, type GraphOperationalDashboardSlice } from './graph-operational-aggregates.js';
8
+ import { type FetchMemorixMatrixEntityFacetQuery, type MemorixMatrixEntityFacetResult } from './memorix-matrix-entity-facet.js';
9
+ import { type CreateExellixMatrixDataTierOptions, type ExellixMatrixDataTier } from './matrix-data-tier.js';
10
+ import { type ExecutionMatrixMultiGraphRowView, type FetchExecutionMatrixMultiGraphOverviewQuery, type FetchSourceJoinViewQuery, type NavigatorPage } from './navigator.js';
11
+ import { type ExecutionMatrixRuntime } from './runtime-store.js';
12
+ import type { ExecutionMatrixFailureRecord, ListFailureRecordsOptions, ListMatrixRowsOptions } from './contracts.js';
13
+ import type { MatrixSourceResolver } from './source-resolver.js';
14
+ import type { SourceJoinView } from './navigator.js';
15
+ export type OpenMatrixReadTierOptions = CreateExellixMatrixDataTierOptions & {
16
+ memorixTier?: MemorixRuntimeTier | XmemoryDataTier;
17
+ };
18
+ export type MatrixReadTier = {
19
+ readonly runtime: ExecutionMatrixRuntime;
20
+ readonly configStore: ExellixConfigStore;
21
+ readonly memorixTier?: XmemoryDataTier;
22
+ graphDashboard: (query: FetchGraphOperationalDashboardSliceQuery) => Promise<GraphOperationalDashboardSlice>;
23
+ navigatorPage: (query: ListMatrixRowsOptions & {
24
+ graphId?: string;
25
+ includeFailureCount?: boolean;
26
+ }) => Promise<NavigatorPage>;
27
+ sourceJoinView: (query: FetchSourceJoinViewQuery, opts?: {
28
+ sourceResolver?: MatrixSourceResolver;
29
+ }) => Promise<SourceJoinView>;
30
+ multiGraphOverview: (query: FetchExecutionMatrixMultiGraphOverviewQuery) => Promise<ExecutionMatrixMultiGraphRowView[]>;
31
+ entityFacet: (query: FetchMemorixMatrixEntityFacetQuery) => Promise<MemorixMatrixEntityFacetResult>;
32
+ listFailureRecords: (opts: ListFailureRecordsOptions, readManyCap?: number) => Promise<ExecutionMatrixFailureRecord[]>;
33
+ getFailureRecord: (failureId: string) => Promise<ExecutionMatrixFailureRecord | null>;
34
+ getLatestFailureRecordForRowGraph: (matrixRowId: string, graphId: string, opts?: {
35
+ matrixCatalogId?: string;
36
+ }) => Promise<ExecutionMatrixFailureRecord | null>;
37
+ close: () => Promise<void>;
38
+ };
39
+ export declare function openMatrixReadTier(options?: OpenMatrixReadTierOptions): Promise<MatrixReadTier>;
40
+ export declare function createMatrixReadTierFromDataTier(dataTier: ExellixMatrixDataTier, memorixTier?: XmemoryDataTier): Promise<MatrixReadTier>;
41
+ //# sourceMappingURL=matrix-read-tier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-read-tier.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/matrix-read-tier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAEL,KAAK,wCAAwC,EAC7C,KAAK,8BAA8B,EACpC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAiC,KAAK,kCAAkC,EAAE,KAAK,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAC/J,OAAO,EAEL,KAAK,kCAAkC,EACvC,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,KAAK,gCAAgC,EACrC,KAAK,2CAA2C,EAChD,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAgC,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,KAAK,EACV,4BAA4B,EAC5B,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,yBAAyB,GAAG,kCAAkC,GAAG;IAC3E,WAAW,CAAC,EAAE,kBAAkB,GAAG,eAAe,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IACvC,cAAc,EAAE,CAAC,KAAK,EAAE,wCAAwC,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC7G,aAAa,EAAE,CACb,KAAK,EAAE,qBAAqB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,KAC/E,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5B,cAAc,EAAE,CACd,KAAK,EAAE,wBAAwB,EAC/B,IAAI,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,oBAAoB,CAAA;KAAE,KAC7C,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,kBAAkB,EAAE,CAClB,KAAK,EAAE,2CAA2C,KAC/C,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAAC;IACjD,WAAW,EAAE,CAAC,KAAK,EAAE,kCAAkC,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACpG,kBAAkB,EAAE,CAClB,IAAI,EAAE,yBAAyB,EAC/B,WAAW,CAAC,EAAE,MAAM,KACjB,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC7C,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;IACtF,iCAAiC,EAAE,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,KAChC,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;IAClD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,cAAc,CAAC,CAIzG;AAED,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,qBAAqB,EAC/B,WAAW,CAAC,EAAE,eAAe,GAC5B,OAAO,CAAC,cAAc,CAAC,CAqCzB"}
@@ -0,0 +1,41 @@
1
+ import { createExellixConfigStore } from './config-store.js';
2
+ import { fetchGraphOperationalDashboardSlice, } from './graph-operational-aggregates.js';
3
+ import { fetchMemorixMatrixEntityFacet } from './memorix-matrix-entity-facet.js';
4
+ import { createExellixMatrixDataTier, } from './matrix-data-tier.js';
5
+ import { fetchExecutionMatrixMultiGraphOverview, fetchExecutionMatrixNavigatorPage, fetchSourceJoinView, } from './navigator.js';
6
+ import { createExecutionMatrixRuntime } from './runtime-store.js';
7
+ export async function openMatrixReadTier(options = {}) {
8
+ const { memorixTier, ...dataTierOptions } = options;
9
+ const dataTier = await createExellixMatrixDataTier(dataTierOptions);
10
+ return createMatrixReadTierFromDataTier(dataTier, memorixTier);
11
+ }
12
+ export async function createMatrixReadTierFromDataTier(dataTier, memorixTier) {
13
+ const runtime = createExecutionMatrixRuntime(dataTier.rows, dataTier.failures, {
14
+ snapshots: dataTier.snapshots,
15
+ serializeClaims: true,
16
+ });
17
+ const configStore = createExellixConfigStore({
18
+ matrices: dataTier.matrices,
19
+ graphs: dataTier.graphs,
20
+ });
21
+ return {
22
+ runtime,
23
+ configStore,
24
+ memorixTier,
25
+ graphDashboard: (query) => fetchGraphOperationalDashboardSlice({ runtime, loadGraphConfig: (graphId) => configStore.graphs.get(graphId) }, query),
26
+ navigatorPage: (query) => fetchExecutionMatrixNavigatorPage(runtime, query),
27
+ sourceJoinView: (query, opts) => fetchSourceJoinView({ runtime, sourceResolver: opts?.sourceResolver }, query),
28
+ multiGraphOverview: (query) => fetchExecutionMatrixMultiGraphOverview(runtime, query),
29
+ entityFacet: (query) => {
30
+ if (!memorixTier) {
31
+ throw new Error('entityFacet requires memorixTier — pass memorixTier to openMatrixReadTier (e.g. createMemorixRuntimeTier() / createXmemoryDataTier())');
32
+ }
33
+ return fetchMemorixMatrixEntityFacet({ tier: memorixTier, runtime }, query);
34
+ },
35
+ listFailureRecords: (opts, readManyCap) => runtime.listFailureRecords(opts, readManyCap),
36
+ getFailureRecord: (failureId) => runtime.getFailureRecord(failureId),
37
+ getLatestFailureRecordForRowGraph: (matrixRowId, graphId, opts) => runtime.getLatestFailureRecordForRowGraph(matrixRowId, graphId, opts),
38
+ close: () => dataTier.close(),
39
+ };
40
+ }
41
+ //# sourceMappingURL=matrix-read-tier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-read-tier.js","sourceRoot":"","sources":["../../src/execution-matrix/matrix-read-tier.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAA2B,MAAM,mBAAmB,CAAC;AACtF,OAAO,EACL,mCAAmC,GAGpC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,6BAA6B,EAAgF,MAAM,kCAAkC,CAAC;AAC/J,OAAO,EACL,2BAA2B,GAG5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sCAAsC,EACtC,iCAAiC,EACjC,mBAAmB,GAKpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAA+B,MAAM,oBAAoB,CAAC;AA0C/F,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAqC,EAAE;IAC9E,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,eAAe,CAAC,CAAC;IACpE,OAAO,gCAAgC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,QAA+B,EAC/B,WAA6B;IAE7B,MAAM,OAAO,GAAG,4BAA4B,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE;QAC7E,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,wBAAwB,CAAC;QAC3C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,WAAW;QACX,WAAW;QACX,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CACxB,mCAAmC,CACjC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAC1E,KAAK,CACN;QACH,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iCAAiC,CAAC,OAAO,EAAE,KAAK,CAAC;QAC3E,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAC9B,mBAAmB,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC;QAC/E,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,sCAAsC,CAAC,OAAO,EAAE,KAAK,CAAC;QACrF,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,uIAAuI,CACxI,CAAC;YACJ,CAAC;YACD,OAAO,6BAA6B,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9E,CAAC;QACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC;QACxF,gBAAgB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC;QACpE,iCAAiC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAChE,OAAO,CAAC,iCAAiC,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC;QACvE,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE;KAC9B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Pure helpers for Memorix tier statistics keyed by entity type and execution-matrix row filters.
3
+ */
4
+ import type { MemorixTierStatistics } from './memorix-tier-statistics.js';
5
+ /** Per-bucket document counts for a single entity-type key from {@link getXmemoryTierStatistics}. */
6
+ export type TierEntityTypeSectionCounts = {
7
+ things: number;
8
+ scopedViews: number;
9
+ scopedData: number;
10
+ memorixSnapshots: number;
11
+ };
12
+ /**
13
+ * Reads **`docCount`** for **`entityType`** from each surface’s paginated **`entityTypes`** page
14
+ * (`@x12i/xmemory-store` ≥ 2.9). If that type is not on the current page (see **`entityTypesSkip`** /
15
+ * **`entityTypesLimit`** on statistics options), the count is **`0`** — raise **`entityTypesLimit`** or pass
16
+ * **`entityTypesSkip`** when you need rare types.
17
+ */
18
+ export declare function pickTierEntityTypeSectionCounts(stats: MemorixTierStatistics, entityType: string): TierEntityTypeSectionCounts;
19
+ /**
20
+ * Extra filter for {@link ExecutionMatrixRuntime.listRecords} to narrow rows by entity discriminator.
21
+ * Hosts should set **`input.entityType`** or **`input.memorixEntityType`** during materialization when
22
+ * dashboards partition by Memorix entity type.
23
+ */
24
+ export declare function buildMatrixRowEntityTypeExtraFilter(entityType: string): Record<string, unknown>;
25
+ //# sourceMappingURL=memorix-entity-type-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memorix-entity-type-helpers.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/memorix-entity-type-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAgC,MAAM,8BAA8B,CAAC;AAExG,qGAAqG;AACrG,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAOF;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,qBAAqB,EAC5B,UAAU,EAAE,MAAM,GACjB,2BAA2B,CAO7B;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAI/F"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Pure helpers for Memorix tier statistics keyed by entity type and execution-matrix row filters.
3
+ */
4
+ function docCountForEntityType(section, entityType) {
5
+ const hit = section.entityTypes.find((e) => e.typeKey === entityType);
6
+ return hit?.docCount ?? 0;
7
+ }
8
+ /**
9
+ * Reads **`docCount`** for **`entityType`** from each surface’s paginated **`entityTypes`** page
10
+ * (`@x12i/xmemory-store` ≥ 2.9). If that type is not on the current page (see **`entityTypesSkip`** /
11
+ * **`entityTypesLimit`** on statistics options), the count is **`0`** — raise **`entityTypesLimit`** or pass
12
+ * **`entityTypesSkip`** when you need rare types.
13
+ */
14
+ export function pickTierEntityTypeSectionCounts(stats, entityType) {
15
+ return {
16
+ things: docCountForEntityType(stats.things, entityType),
17
+ scopedViews: docCountForEntityType(stats.scopedViews, entityType),
18
+ scopedData: docCountForEntityType(stats.scopedData, entityType),
19
+ memorixSnapshots: docCountForEntityType(stats.snapshots, entityType),
20
+ };
21
+ }
22
+ /**
23
+ * Extra filter for {@link ExecutionMatrixRuntime.listRecords} to narrow rows by entity discriminator.
24
+ * Hosts should set **`input.entityType`** or **`input.memorixEntityType`** during materialization when
25
+ * dashboards partition by Memorix entity type.
26
+ */
27
+ export function buildMatrixRowEntityTypeExtraFilter(entityType) {
28
+ return {
29
+ $or: [{ 'input.entityType': entityType }, { 'input.memorixEntityType': entityType }],
30
+ };
31
+ }
32
+ //# sourceMappingURL=memorix-entity-type-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memorix-entity-type-helpers.js","sourceRoot":"","sources":["../../src/execution-matrix/memorix-entity-type-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,SAAS,qBAAqB,CAAC,OAAqC,EAAE,UAAkB;IACtF,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;IACtE,OAAO,GAAG,EAAE,QAAQ,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,KAA4B,EAC5B,UAAkB;IAElB,OAAO;QACL,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC;QACvD,WAAW,EAAE,qBAAqB,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC;QACjE,UAAU,EAAE,qBAAqB,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC;QAC/D,gBAAgB,EAAE,qBAAqB,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC;KACrE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mCAAmC,CAAC,UAAkB;IACpE,OAAO;QACL,GAAG,EAAE,CAAC,EAAE,kBAAkB,EAAE,UAAU,EAAE,EAAE,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;KACrF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=memorix-entity-type-helpers.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memorix-entity-type-helpers.spec.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/memorix-entity-type-helpers.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,83 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { DEFAULT_ENTITY_TYPES_LIMIT, DEFAULT_ENTITY_TYPES_SKIP, TIER_STATS_MISSING_TYPE, } from './memorix-tier-statistics.js';
3
+ import { buildMatrixRowEntityTypeExtraFilter, pickTierEntityTypeSectionCounts } from './memorix-entity-type-helpers.js';
4
+ function emptySection(overrides) {
5
+ return {
6
+ matchedDocTotal: 0,
7
+ entityTypesTotal: 0,
8
+ entityTypesSkip: DEFAULT_ENTITY_TYPES_SKIP,
9
+ entityTypesLimit: DEFAULT_ENTITY_TYPES_LIMIT,
10
+ entityTypesHasMore: false,
11
+ entityTypes: [],
12
+ ...overrides,
13
+ };
14
+ }
15
+ function mockStats(overrides) {
16
+ const skip = DEFAULT_ENTITY_TYPES_SKIP;
17
+ const limit = DEFAULT_ENTITY_TYPES_LIMIT;
18
+ return {
19
+ generatedAt: '2026-01-01T00:00:00.000Z',
20
+ presetEffectiveAt: '2026-01-01T00:00:00.000Z',
21
+ ttlMsUsed: 3600000,
22
+ appliedScope: { namespace: 'test-ns' },
23
+ entityTypesSkip: skip,
24
+ entityTypesLimit: limit,
25
+ things: emptySection(),
26
+ scopedViews: emptySection(),
27
+ scopedData: emptySection(),
28
+ snapshots: emptySection(),
29
+ ...overrides,
30
+ fromCache: overrides.fromCache ?? false,
31
+ };
32
+ }
33
+ describe('pickTierEntityTypeSectionCounts', () => {
34
+ it('reads entityTypes buckets per section', () => {
35
+ const stats = mockStats({
36
+ things: emptySection({
37
+ matchedDocTotal: 5,
38
+ entityTypes: [{ typeKey: 'Alpha', docCount: 2 }],
39
+ }),
40
+ scopedViews: emptySection({
41
+ matchedDocTotal: 1,
42
+ entityTypes: [{ typeKey: 'Alpha', docCount: 1 }],
43
+ }),
44
+ scopedData: emptySection({
45
+ matchedDocTotal: 10,
46
+ entityTypes: [{ typeKey: 'Beta', docCount: 10 }],
47
+ }),
48
+ snapshots: emptySection({
49
+ matchedDocTotal: 3,
50
+ entityTypes: [{ typeKey: TIER_STATS_MISSING_TYPE, docCount: 3 }],
51
+ }),
52
+ });
53
+ expect(pickTierEntityTypeSectionCounts(stats, 'Alpha')).toEqual({
54
+ things: 2,
55
+ scopedViews: 1,
56
+ scopedData: 0,
57
+ memorixSnapshots: 0,
58
+ });
59
+ expect(pickTierEntityTypeSectionCounts(stats, 'Beta')).toEqual({
60
+ things: 0,
61
+ scopedViews: 0,
62
+ scopedData: 10,
63
+ memorixSnapshots: 0,
64
+ });
65
+ });
66
+ it('returns zeros for unknown entity key', () => {
67
+ const stats = mockStats({});
68
+ expect(pickTierEntityTypeSectionCounts(stats, 'Nope')).toEqual({
69
+ things: 0,
70
+ scopedViews: 0,
71
+ scopedData: 0,
72
+ memorixSnapshots: 0,
73
+ });
74
+ });
75
+ });
76
+ describe('buildMatrixRowEntityTypeExtraFilter', () => {
77
+ it('matches input.entityType or input.memorixEntityType', () => {
78
+ expect(buildMatrixRowEntityTypeExtraFilter('cat-1')).toEqual({
79
+ $or: [{ 'input.entityType': 'cat-1' }, { 'input.memorixEntityType': 'cat-1' }],
80
+ });
81
+ });
82
+ });
83
+ //# sourceMappingURL=memorix-entity-type-helpers.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memorix-entity-type-helpers.spec.js","sourceRoot":"","sources":["../../src/execution-matrix/memorix-entity-type-helpers.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { XronoxStore, type CollectionDefinition, type XronoxCollection } from '@x12i/xronox-store';
2
+ export declare const DEFAULT_MEMORIX_DB: "memorix";
3
+ export declare const MEMORIX_INFERENCE_COLLECTION_POSTFIX: "-infernces";
4
+ export declare const MEMORIX_INFERENCE_RECORD_PK: "_id";
5
+ export type MemorixRecordForGraphInput = {
6
+ itemId: unknown;
7
+ graphInput: Record<string, unknown>;
8
+ };
9
+ export type MemorixInferencePersistMetadata = {
10
+ /** Source entity name. Output collection is `${entityName}-infernces`. */
11
+ entityName: string;
12
+ graphId?: string;
13
+ matrixCatalogId?: string;
14
+ matrixRunId?: string;
15
+ matrixRowId?: string;
16
+ jobId?: string;
17
+ sourceId?: string;
18
+ sourceIds?: string[];
19
+ [key: string]: unknown;
20
+ };
21
+ export type MemorixInferenceRecordMetadata = MemorixInferencePersistMetadata & {
22
+ entityName: string;
23
+ collectionName: string;
24
+ persistedAt: string;
25
+ outputWasArray: boolean;
26
+ outputIndex?: number;
27
+ outputCount?: number;
28
+ };
29
+ export type MemorixInferenceRecord = {
30
+ _itemId: unknown;
31
+ infernces: unknown;
32
+ metadata: MemorixInferenceRecordMetadata;
33
+ };
34
+ export type PersistMemorixInferenceInput = {
35
+ itemId: unknown;
36
+ inference: unknown;
37
+ metadata: MemorixInferencePersistMetadata;
38
+ };
39
+ export type MemorixInferencePersistResult = {
40
+ collectionName: string;
41
+ insertedId: string;
42
+ record: MemorixInferenceRecord;
43
+ };
44
+ export type MemorixInferenceCollectionResolver = (collectionName: string, metadata: MemorixInferencePersistMetadata) => XronoxCollection<Record<string, unknown>>;
45
+ export type CreateMemorixInferencePersisterFromXronoxOptions = {
46
+ /** Mongo connection URI. When omitted, uses `process.env.MONGO_URI`. */
47
+ mongoUri?: string;
48
+ /** Memorix database name. When omitted, uses `process.env.MEMORIX_DB`, else `memorix`. */
49
+ mongoDb?: string;
50
+ /** Optional store role. When omitted, uses `process.env.MEMORIX_MONGO_ROLE`, then `process.env.MONGO_ROLE`, then `memorix`. */
51
+ mongoRole?: string;
52
+ /**
53
+ * Entity names to pre-register with xronox on store init. The persister still resolves the
54
+ * target collection from each call's `metadata.entityName`.
55
+ */
56
+ entityNames?: string[];
57
+ };
58
+ export declare function resolveMemorixDbName(mongoDb?: string): string;
59
+ export declare function buildMemorixInferenceCollectionName(entityName: string): string;
60
+ export declare function memorixInferenceCollectionDef(entityName: string): CollectionDefinition;
61
+ export declare function prepareMemorixRecordForGraph(record: Record<string, unknown>): MemorixRecordForGraphInput;
62
+ export declare class MemorixInferencePersister {
63
+ private readonly resolveCollection;
64
+ constructor(resolveCollection: MemorixInferenceCollectionResolver);
65
+ persistInference(input: PersistMemorixInferenceInput): Promise<MemorixInferencePersistResult>;
66
+ persistInferences(input: PersistMemorixInferenceInput): Promise<MemorixInferencePersistResult[]>;
67
+ }
68
+ export declare function createMemorixInferencePersister(resolveCollection: MemorixInferenceCollectionResolver): MemorixInferencePersister;
69
+ export declare function createMemorixInferencePersisterFromXronox(options?: CreateMemorixInferencePersisterFromXronoxOptions): Promise<{
70
+ store: XronoxStore;
71
+ persister: MemorixInferencePersister;
72
+ }>;
73
+ //# sourceMappingURL=memorix-inference-persister.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memorix-inference-persister.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/memorix-inference-persister.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEnG,eAAO,MAAM,kBAAkB,EAAG,SAAkB,CAAC;AACrD,eAAO,MAAM,oCAAoC,EAAG,YAAqB,CAAC;AAC1E,eAAO,MAAM,2BAA2B,EAAG,KAAc,CAAC;AAE1D,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,+BAA+B,GAAG;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,8BAA8B,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,+BAA+B,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,CAC/C,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,+BAA+B,KACtC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,gDAAgD,GAAG;IAC7D,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+HAA+H;IAC/H,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AA+BF,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED,wBAAgB,mCAAmC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAUtF;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,0BAA0B,CAQxG;AA4BD,qBAAa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,kCAAkC;IAE5E,gBAAgB,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAO7F,iBAAiB,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,EAAE,CAAC;CAiBvG;AAED,wBAAgB,+BAA+B,CAC7C,iBAAiB,EAAE,kCAAkC,GACpD,yBAAyB,CAE3B;AAED,wBAAsB,yCAAyC,CAC7D,OAAO,GAAE,gDAAqD,GAC7D,OAAO,CAAC;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,yBAAyB,CAAA;CAAE,CAAC,CAkBvE"}
@@ -0,0 +1,126 @@
1
+ import { XronoxStore } from '@x12i/xronox-store';
2
+ export const DEFAULT_MEMORIX_DB = 'memorix';
3
+ export const MEMORIX_INFERENCE_COLLECTION_POSTFIX = '-infernces';
4
+ export const MEMORIX_INFERENCE_RECORD_PK = '_id';
5
+ function isoNow() {
6
+ return new Date().toISOString();
7
+ }
8
+ function assertRecord(value, name) {
9
+ if (value === null || value === undefined || typeof value !== 'object' || Array.isArray(value)) {
10
+ throw new Error(`${name}: expected a record object`);
11
+ }
12
+ }
13
+ function normalizeEntityName(entityName) {
14
+ const normalized = entityName.trim();
15
+ if (normalized.length === 0) {
16
+ throw new Error('Memorix inference persister: metadata.entityName is required');
17
+ }
18
+ if (!/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(normalized)) {
19
+ throw new Error(`Memorix inference persister: unsafe entityName '${entityName}' (allowed: letters, numbers, underscore, hyphen)`);
20
+ }
21
+ return normalized;
22
+ }
23
+ function assertItemId(itemId) {
24
+ if (itemId === undefined || itemId === null || itemId === '') {
25
+ throw new Error('Memorix inference persister: source record _id / itemId is required');
26
+ }
27
+ }
28
+ export function resolveMemorixDbName(mongoDb) {
29
+ const resolved = (mongoDb ?? process.env.MEMORIX_DB ?? DEFAULT_MEMORIX_DB).trim();
30
+ if (resolved.length === 0) {
31
+ throw new Error('resolveMemorixDbName: mongoDb resolved to an empty database name');
32
+ }
33
+ return resolved;
34
+ }
35
+ export function buildMemorixInferenceCollectionName(entityName) {
36
+ return `${normalizeEntityName(entityName)}${MEMORIX_INFERENCE_COLLECTION_POSTFIX}`;
37
+ }
38
+ export function memorixInferenceCollectionDef(entityName) {
39
+ return {
40
+ name: buildMemorixInferenceCollectionName(entityName),
41
+ primaryKey: MEMORIX_INFERENCE_RECORD_PK,
42
+ indexes: [
43
+ { keys: { _itemId: 1, 'metadata.persistedAt': -1 } },
44
+ { keys: { 'metadata.entityName': 1, 'metadata.persistedAt': -1 } },
45
+ { keys: { 'metadata.graphId': 1, 'metadata.persistedAt': -1 } },
46
+ ],
47
+ };
48
+ }
49
+ export function prepareMemorixRecordForGraph(record) {
50
+ assertRecord(record, 'prepareMemorixRecordForGraph');
51
+ if (!Object.prototype.hasOwnProperty.call(record, '_id')) {
52
+ throw new Error('prepareMemorixRecordForGraph: source record is missing required _id');
53
+ }
54
+ const { _id: itemId, ...graphInput } = record;
55
+ assertItemId(itemId);
56
+ return { itemId, graphInput };
57
+ }
58
+ function buildMemorixInferenceRecord(input, context) {
59
+ assertItemId(input.itemId);
60
+ const entityName = normalizeEntityName(input.metadata.entityName);
61
+ const collectionName = buildMemorixInferenceCollectionName(entityName);
62
+ const metadata = {
63
+ ...input.metadata,
64
+ entityName,
65
+ collectionName,
66
+ persistedAt: isoNow(),
67
+ outputWasArray: context?.outputWasArray === true,
68
+ ...(context?.outputIndex !== undefined ? { outputIndex: context.outputIndex } : {}),
69
+ ...(context?.outputCount !== undefined ? { outputCount: context.outputCount } : {}),
70
+ };
71
+ return {
72
+ collectionName,
73
+ record: {
74
+ _itemId: input.itemId,
75
+ infernces: input.inference,
76
+ metadata,
77
+ },
78
+ };
79
+ }
80
+ export class MemorixInferencePersister {
81
+ resolveCollection;
82
+ constructor(resolveCollection) {
83
+ this.resolveCollection = resolveCollection;
84
+ }
85
+ async persistInference(input) {
86
+ const { collectionName, record } = buildMemorixInferenceRecord(input);
87
+ const collection = this.resolveCollection(collectionName, input.metadata);
88
+ const insertedId = await collection.insert(record);
89
+ return { collectionName, insertedId: String(insertedId), record };
90
+ }
91
+ async persistInferences(input) {
92
+ if (!Array.isArray(input.inference)) {
93
+ return [await this.persistInference(input)];
94
+ }
95
+ const outputCount = input.inference.length;
96
+ const out = [];
97
+ for (let outputIndex = 0; outputIndex < input.inference.length; outputIndex += 1) {
98
+ const { collectionName, record } = buildMemorixInferenceRecord({ ...input, inference: input.inference[outputIndex] }, { outputWasArray: true, outputIndex, outputCount });
99
+ const collection = this.resolveCollection(collectionName, input.metadata);
100
+ const insertedId = await collection.insert(record);
101
+ out.push({ collectionName, insertedId: String(insertedId), record });
102
+ }
103
+ return out;
104
+ }
105
+ }
106
+ export function createMemorixInferencePersister(resolveCollection) {
107
+ return new MemorixInferencePersister(resolveCollection);
108
+ }
109
+ export async function createMemorixInferencePersisterFromXronox(options = {}) {
110
+ const mongoUri = options.mongoUri ?? process.env.MONGO_URI;
111
+ const mongoDb = resolveMemorixDbName(options.mongoDb);
112
+ const mongoRole = options.mongoRole ?? process.env.MEMORIX_MONGO_ROLE ?? process.env.MONGO_ROLE ?? 'memorix';
113
+ if (!mongoUri || !String(mongoUri).trim()) {
114
+ throw new Error('createMemorixInferencePersisterFromXronox: mongoUri missing — set MONGO_URI (ERC / env) or pass options.mongoUri');
115
+ }
116
+ const store = new XronoxStore({
117
+ mongoUri,
118
+ mongoDb,
119
+ mongoRole,
120
+ collections: (options.entityNames ?? []).map((entityName) => memorixInferenceCollectionDef(entityName)),
121
+ });
122
+ await store.init();
123
+ const persister = createMemorixInferencePersister((collectionName) => store.collection(collectionName));
124
+ return { store, persister };
125
+ }
126
+ //# sourceMappingURL=memorix-inference-persister.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memorix-inference-persister.js","sourceRoot":"","sources":["../../src/execution-matrix/memorix-inference-persister.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=memorix-inference-persister.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memorix-inference-persister.spec.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/memorix-inference-persister.spec.ts"],"names":[],"mappings":""}