@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,210 @@
1
+ import { buildExecutionSeedFromGraphEntry as engineBuildExecutionSeedFromGraphEntry, } from '@exellix/graph-engine';
2
+ import { RUNTIME_ROW_INPUT_RECORDS_KEY, RUNTIME_ROW_INPUT_SNAPSHOT_ID_KEY, RUNTIME_ROW_INPUT_SOURCE_ID_KEY, RUNTIME_ROW_INPUT_SOURCE_IDS_KEY, } from './contracts.js';
3
+ function isoNow() {
4
+ return new Date().toISOString();
5
+ }
6
+ /** Shallow-merge mapped input entries in array order (host-defined keys per entry). */
7
+ export function mergeMappedInputEntries(entries) {
8
+ const out = {};
9
+ for (const e of entries) {
10
+ Object.assign(out, e);
11
+ }
12
+ return out;
13
+ }
14
+ /**
15
+ * Order graph catalog records for a matrix: filter to `matrixGraphIds`, then sort by
16
+ * `execution.priority` ascending; ties break by first occurrence in `matrixGraphIds`.
17
+ */
18
+ export function sortGraphRecordsForMatrix(matrixGraphIds, graphRecords) {
19
+ const map = new Map(graphRecords.map((g) => [g.graphId, g]));
20
+ const missing = matrixGraphIds.filter((id) => !map.has(id));
21
+ if (missing.length) {
22
+ throw new Error(`sortGraphRecordsForMatrix: missing graph catalog records for: ${missing.map((m) => JSON.stringify(m)).join(', ')}`);
23
+ }
24
+ const orderIndex = new Map(matrixGraphIds.map((id, i) => [id, i]));
25
+ return matrixGraphIds
26
+ .map((id) => map.get(id))
27
+ .sort((a, b) => {
28
+ const d = a.execution.priority - b.execution.priority;
29
+ if (d !== 0)
30
+ return d;
31
+ return (orderIndex.get(a.graphId) ?? 0) - (orderIndex.get(b.graphId) ?? 0);
32
+ });
33
+ }
34
+ /**
35
+ * Build the graph-engine `execution` seed from `metadata.graphEntry.inputs` (value kinds only).
36
+ *
37
+ * Delegates to `@exellix/graph-engine` `buildExecutionSeedFromGraphEntry` so path handling matches
38
+ * Layer-01 (`GraphEntryValueInputSpec.path` under merged `execution`, flat `input.*` only — no `input.raw`).
39
+ * Matrix rows expose work-unit fields on {@link ExecutionMatrixRuntimeRecord.input}; at claim time the orchestrator
40
+ * sets `runtime.input = record.input` (canonical host slot). This helper optionally aligns `executionMemory` via
41
+ * `layers: [{ input: inputRow }]`. `kind: "execution"` specs are skipped — resolve prior runs in the host.
42
+ */
43
+ export function buildExecutionSeedFromGraphEntry(graphEntry, inputRow) {
44
+ const { execution } = engineBuildExecutionSeedFromGraphEntry(graphEntry, {
45
+ layers: [{ input: inputRow }],
46
+ });
47
+ return execution;
48
+ }
49
+ /**
50
+ * Turn catalog payload + concrete input rows into persisted runtime row shapes (caller inserts via {@link ExecutionMatrixRuntime}).
51
+ */
52
+ function randomRowSuffix() {
53
+ try {
54
+ return globalThis.crypto.randomUUID();
55
+ }
56
+ catch {
57
+ return `${Date.now()}_${Math.random().toString(36).slice(2, 10)}`;
58
+ }
59
+ }
60
+ export function materializeExecutionMatrixRuntimeRows(input) {
61
+ const now = isoNow();
62
+ const orderedGraphs = sortGraphRecordsForMatrix(input.payload.graphs, input.graphRecords);
63
+ const mappedByGraph = {};
64
+ for (const g of orderedGraphs) {
65
+ mappedByGraph[g.graphId] = mergeMappedInputEntries(g.mappedInput);
66
+ }
67
+ return input.inputRows.map((row, idx) => {
68
+ const matrixRowId = `row_${input.matrixItemId}_${input.matrixRunId ?? 'default'}_${idx}_${randomRowSuffix()}`;
69
+ const execution = orderedGraphs.map((g) => ({
70
+ graphId: g.graphId,
71
+ priority: g.execution.priority,
72
+ status: 'not-started',
73
+ start: null,
74
+ end: null,
75
+ lastUpdated: now,
76
+ }));
77
+ return {
78
+ matrixRowId,
79
+ matrixCatalogId: input.matrixCatalogId,
80
+ matrixItemId: input.matrixItemId,
81
+ matrixRunId: input.matrixRunId,
82
+ materializationOrder: idx,
83
+ input: {
84
+ ...input.payload.input,
85
+ ...row,
86
+ ...(input.runtimeScope ?? {}),
87
+ mappedByGraph,
88
+ },
89
+ execution,
90
+ inferences: [],
91
+ createdAt: now,
92
+ updatedAt: now,
93
+ claimVersion: 0,
94
+ };
95
+ });
96
+ }
97
+ export async function resolveInputRowsWithResolver(selector, resolver, runtimeScope) {
98
+ if (!resolver)
99
+ return [];
100
+ return resolver(selector, runtimeScope);
101
+ }
102
+ /* ----------------------------------------------------------------------------
103
+ * Batched record materialization (recordsPerRun > 1)
104
+ * --------------------------------------------------------------------------*/
105
+ /**
106
+ * Split `inputRows` into chunks of `recordsPerRun`. When `recordsPerRun <= 1` the input is
107
+ * returned as a list of singletons (one chunk per row), preserving legacy semantics.
108
+ *
109
+ * `idExtractor` is used to lift a stable `sourceId` per record when present (e.g. xmemory id).
110
+ */
111
+ export function chunkInputRowsForBatch(rows, recordsPerRun, idExtractor) {
112
+ const size = Math.max(1, Math.floor(recordsPerRun ?? 1));
113
+ const out = [];
114
+ for (let i = 0; i < rows.length; i += size) {
115
+ const slice = rows.slice(i, i + size);
116
+ const records = [...slice];
117
+ const sourceIds = idExtractor
118
+ ? records.map((r) => idExtractor(r)).filter((v) => typeof v === 'string' && v.length > 0)
119
+ : records
120
+ .map((r) => {
121
+ const v = r[RUNTIME_ROW_INPUT_SOURCE_ID_KEY];
122
+ return typeof v === 'string' && v.length > 0 ? v : undefined;
123
+ })
124
+ .filter((v) => Boolean(v));
125
+ out.push({ records, sourceIds });
126
+ }
127
+ return out;
128
+ }
129
+ /**
130
+ * Materialize runtime rows where each row carries `input.records: TRow[]` and `input.sourceIds: string[]`,
131
+ * the standardized shape produced by the `record` data-source kind with `recordsPerRun > 1`.
132
+ *
133
+ * When `recordsPerRun <= 1` this delegates to {@link materializeExecutionMatrixRuntimeRows} so callers
134
+ * always get one materializer entry point.
135
+ */
136
+ export function materializeBatchedRecordRows(input) {
137
+ const recordsPerRun = input.recordsPerRun ?? 1;
138
+ if (recordsPerRun <= 1) {
139
+ return materializeExecutionMatrixRuntimeRows({
140
+ matrixCatalogId: input.matrixCatalogId,
141
+ matrixItemId: input.matrixItemId,
142
+ matrixRunId: input.matrixRunId,
143
+ payload: input.payload,
144
+ graphRecords: input.graphRecords,
145
+ inputRows: input.inputRows,
146
+ ...(input.runtimeScope ? { runtimeScope: input.runtimeScope } : {}),
147
+ });
148
+ }
149
+ const chunks = chunkInputRowsForBatch(input.inputRows, recordsPerRun, input.sourceIdOf);
150
+ const synthetic = chunks.map((c) => ({
151
+ [RUNTIME_ROW_INPUT_RECORDS_KEY]: c.records,
152
+ [RUNTIME_ROW_INPUT_SOURCE_IDS_KEY]: c.sourceIds,
153
+ }));
154
+ return materializeExecutionMatrixRuntimeRows({
155
+ matrixCatalogId: input.matrixCatalogId,
156
+ matrixItemId: input.matrixItemId,
157
+ matrixRunId: input.matrixRunId,
158
+ payload: input.payload,
159
+ graphRecords: input.graphRecords,
160
+ inputRows: synthetic,
161
+ ...(input.runtimeScope ? { runtimeScope: input.runtimeScope } : {}),
162
+ });
163
+ }
164
+ /**
165
+ * Convert a persisted snapshot into runtime rows.
166
+ *
167
+ * Each emitted row stores `input.snapshotId` pointing back to the snapshot document so the graph
168
+ * can re-read the payload at execution time without re-running the transform.
169
+ */
170
+ export function materializeFromSnapshot(input) {
171
+ const mode = input.materialize ?? 'one-row';
172
+ if (mode === 'expand') {
173
+ if (!Array.isArray(input.snapshot.payload)) {
174
+ throw new Error(`materializeFromSnapshot: materialize='expand' requires snapshot.payload to be an array (got ${typeof input.snapshot.payload})`);
175
+ }
176
+ const expanded = input.snapshot.payload.map((entry, i) => ({
177
+ [RUNTIME_ROW_INPUT_SNAPSHOT_ID_KEY]: input.snapshot.snapshotId,
178
+ snapshotIndex: i,
179
+ ...(typeof entry === 'object' && entry !== null && !Array.isArray(entry)
180
+ ? entry
181
+ : { value: entry }),
182
+ }));
183
+ return materializeExecutionMatrixRuntimeRows({
184
+ matrixCatalogId: input.matrixCatalogId,
185
+ matrixItemId: input.matrixItemId,
186
+ matrixRunId: input.matrixRunId,
187
+ payload: input.payload,
188
+ graphRecords: input.graphRecords,
189
+ inputRows: expanded,
190
+ ...(input.runtimeScope ? { runtimeScope: input.runtimeScope } : {}),
191
+ });
192
+ }
193
+ const single = {
194
+ [RUNTIME_ROW_INPUT_SNAPSHOT_ID_KEY]: input.snapshot.snapshotId,
195
+ snapshotPayload: input.snapshot.payload,
196
+ };
197
+ if (input.snapshot.sourceIds && input.snapshot.sourceIds.length > 0) {
198
+ single[RUNTIME_ROW_INPUT_SOURCE_IDS_KEY] = [...input.snapshot.sourceIds];
199
+ }
200
+ return materializeExecutionMatrixRuntimeRows({
201
+ matrixCatalogId: input.matrixCatalogId,
202
+ matrixItemId: input.matrixItemId,
203
+ matrixRunId: input.matrixRunId,
204
+ payload: input.payload,
205
+ graphRecords: input.graphRecords,
206
+ inputRows: [single],
207
+ ...(input.runtimeScope ? { runtimeScope: input.runtimeScope } : {}),
208
+ });
209
+ }
210
+ //# sourceMappingURL=materializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"materializer.js","sourceRoot":"","sources":["../../src/execution-matrix/materializer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { Activix } from '@x12i/activix';
2
+ export type CreateExecutionMatrixActivixFromEnvOptions = {
3
+ /**
4
+ * Mongo connection URI. When omitted, uses **`process.env.MONGO_URI`** (required when **`storageMode`** is **`database`** and **`strict`** is true).
5
+ */
6
+ mongoUri?: string;
7
+ /**
8
+ * Activity collection name for this package only (must not reuse graph-engine default collection names).
9
+ * When omitted, uses **`process.env.EXELLIX_RUNTIME_ACTIVIX_COLLECTION`**, else **`exellix-execution-matrix-activities`**.
10
+ */
11
+ collection?: string;
12
+ /** When true (default), missing **`mongoUri`** in database mode throws. */
13
+ strict?: boolean;
14
+ storageMode?: 'database' | 'local' | 'automatic';
15
+ };
16
+ /**
17
+ * Creates an **`@x12i/activix`** instance owned by **`@exellix/exellix-runtime`** (separate collection from graph-engine).
18
+ *
19
+ * Environment:
20
+ * - **`EXELLIX_RUNTIME_ACTIVIX_COLLECTION`** — optional; default collection name **`exellix-execution-matrix-activities`**
21
+ * - **`MONGO_URI`** — used when **`mongoUri`** is not passed (database mode)
22
+ */
23
+ export declare function createExecutionMatrixActivixFromEnv(options?: CreateExecutionMatrixActivixFromEnvOptions): Promise<Activix>;
24
+ //# sourceMappingURL=matrix-activix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-activix.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/matrix-activix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,MAAM,0CAA0C,GAAG;IACvD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;CAClD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,mCAAmC,CACvD,OAAO,CAAC,EAAE,0CAA0C,GACnD,OAAO,CAAC,OAAO,CAAC,CA6BlB"}
@@ -0,0 +1,34 @@
1
+ import { Activix } from '@x12i/activix';
2
+ /**
3
+ * Creates an **`@x12i/activix`** instance owned by **`@exellix/exellix-runtime`** (separate collection from graph-engine).
4
+ *
5
+ * Environment:
6
+ * - **`EXELLIX_RUNTIME_ACTIVIX_COLLECTION`** — optional; default collection name **`exellix-execution-matrix-activities`**
7
+ * - **`MONGO_URI`** — used when **`mongoUri`** is not passed (database mode)
8
+ */
9
+ export async function createExecutionMatrixActivixFromEnv(options) {
10
+ const strict = options?.strict !== false;
11
+ const storageMode = options?.storageMode ?? 'database';
12
+ const mongoUri = (options?.mongoUri && String(options.mongoUri).trim()) ||
13
+ (typeof process !== 'undefined' && process.env.MONGO_URI?.trim()) ||
14
+ '';
15
+ if (storageMode === 'database' && !mongoUri && strict) {
16
+ throw new Error('createExecutionMatrixActivixFromEnv: mongoUri missing — pass options.mongoUri or set MONGO_URI');
17
+ }
18
+ const collectionName = (options?.collection && String(options.collection).trim()) ||
19
+ (typeof process !== 'undefined' && process.env.EXELLIX_RUNTIME_ACTIVIX_COLLECTION?.trim()) ||
20
+ 'exellix-execution-matrix-activities';
21
+ return Activix.create({
22
+ storageMode,
23
+ ...(mongoUri ? { mongoUri } : {}),
24
+ collection: {
25
+ name: collectionName,
26
+ indexes: [
27
+ { keys: { 'runContext.jobId': 1, startTime: 1 } },
28
+ { keys: { 'runContext.jobId': 1, 'runContext.graphId': 1, startTime: 1 } },
29
+ ],
30
+ },
31
+ diagnostics: { owner: '@exellix/exellix-runtime', component: 'execution-matrix' },
32
+ });
33
+ }
34
+ //# sourceMappingURL=matrix-activix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-activix.js","sourceRoot":"","sources":["../../src/execution-matrix/matrix-activix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAiBxC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,OAAoD;IAEpD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;IACzC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,UAAU,CAAC;IACvD,MAAM,QAAQ,GACZ,CAAC,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QACjE,EAAE,CAAC;IACL,IAAI,WAAW,KAAK,UAAU,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAClB,CAAC,OAAO,EAAE,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,IAAI,EAAE,CAAC;QAC1F,qCAAqC,CAAC;IAExC,OAAO,OAAO,CAAC,MAAM,CAAC;QACpB,WAAW;QACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,UAAU,EAAE;YACV,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;gBACjD,EAAE,IAAI,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;aAC3E;SACF;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,SAAS,EAAE,kBAAkB,EAAE;KAClF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Mongo-backed matrix persistence tier — opens rows, failures, snapshots, and config collections
3
+ * without exposing `@x12i/xronox-store` on the public import path (hosts use this factory only).
4
+ */
5
+ import type { createExecutionMatrixRuntime } from './runtime-store.js';
6
+ import { createExellixConfigStoreFromXronox, createExecutionMatrixRuntimeFromXronox } from './xronox-matrix-factory.js';
7
+ /** xronox-shaped collection handle expected by {@link createExecutionMatrixRuntime}. */
8
+ export type ExellixMatrixPersistenceCollection = Parameters<typeof createExecutionMatrixRuntime>[0];
9
+ type ExecutionMatrixXronoxBundle = Awaited<ReturnType<typeof createExecutionMatrixRuntimeFromXronox>>;
10
+ type ConfigXronoxBundle = Awaited<ReturnType<typeof createExellixConfigStoreFromXronox>>;
11
+ export type CreateExellixMatrixDataTierOptions = {
12
+ mongoUri?: string;
13
+ executionDb?: string;
14
+ configDb?: string;
15
+ executionMongoRole?: string;
16
+ configMongoRole?: string;
17
+ /** When `false`, skips native `mongodb` pass-through hooks. Default `true`. */
18
+ mongoDriverPassThrough?: boolean;
19
+ /** Passed through to underlying runtime store wiring (default `true` for workers). */
20
+ serializeClaims?: boolean;
21
+ };
22
+ export type ExellixMatrixDataTierProbe = {
23
+ executionStore: ExecutionMatrixXronoxBundle['store'];
24
+ configStore: ConfigXronoxBundle['store'];
25
+ executionMongoUri: string;
26
+ configMongoUri: string;
27
+ };
28
+ export type ExellixMatrixDataTier = {
29
+ rows: ExellixMatrixPersistenceCollection;
30
+ failures: ExellixMatrixPersistenceCollection;
31
+ snapshots: ExellixMatrixPersistenceCollection;
32
+ matrices: ExellixMatrixPersistenceCollection;
33
+ graphs: ExellixMatrixPersistenceCollection;
34
+ init?: () => Promise<void>;
35
+ close: () => Promise<void>;
36
+ executionStore?: ExecutionMatrixXronoxBundle['store'];
37
+ configStore?: ConfigXronoxBundle['store'];
38
+ executionMongoUri?: string;
39
+ configMongoUri?: string;
40
+ probe?: ExellixMatrixDataTierProbe;
41
+ };
42
+ export type ResolvedExellixMatrixDataTierOptions = CreateExellixMatrixDataTierOptions & {
43
+ mongoUri: string;
44
+ executionDb: string;
45
+ configDb: string;
46
+ };
47
+ /** Merges caller options with `MONGO_URI`, `execution_db`, and `config_db`. */
48
+ export declare function resolveExellixMatrixDataTierOptions(overrides?: CreateExellixMatrixDataTierOptions, env?: NodeJS.ProcessEnv): ResolvedExellixMatrixDataTierOptions;
49
+ /**
50
+ * Opens Mongo-backed persistence for execution-matrix operational data and config collections.
51
+ * Databases (defaults): `exellix-runtime` (rows, failures, snapshots), `exellix` (matrix/graph configs).
52
+ */
53
+ export declare function createExellixMatrixDataTier(options?: CreateExellixMatrixDataTierOptions): Promise<ExellixMatrixDataTier>;
54
+ export {};
55
+ //# sourceMappingURL=matrix-data-tier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-data-tier.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/matrix-data-tier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAQvE,OAAO,EACL,kCAAkC,EAClC,sCAAsC,EACvC,MAAM,4BAA4B,CAAC;AAKpC,wFAAwF;AACxF,MAAM,MAAM,kCAAkC,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpG,KAAK,2BAA2B,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,sCAAsC,CAAC,CAAC,CAAC;AACtG,KAAK,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kCAAkC,CAAC,CAAC,CAAC;AAEzF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sFAAsF;IACtF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,cAAc,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACrD,WAAW,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,kCAAkC,CAAC;IACzC,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,SAAS,EAAE,kCAAkC,CAAC;IAC9C,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,MAAM,EAAE,kCAAkC,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,cAAc,CAAC,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACtD,WAAW,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,0BAA0B,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG,kCAAkC,GAAG;IACtF,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,mCAAmC,CACjD,SAAS,GAAE,kCAAuC,EAClD,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,oCAAoC,CAWtC;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,GAAE,kCAAuC,GAC/C,OAAO,CAAC,qBAAqB,CAAC,CAwDhC"}
@@ -0,0 +1,74 @@
1
+ import { exellixGraphConfigsCollectionDef, exellixMatrixConfigsCollectionDef, executionMatrixFailuresCollectionDef, executionMatrixRowsCollectionDef, executionMatrixSnapshotsCollectionDef, } from './collections.js';
2
+ import { createExellixConfigStoreFromXronox, createExecutionMatrixRuntimeFromXronox, } from './xronox-matrix-factory.js';
3
+ const DEFAULT_EXECUTION_DB = 'exellix-runtime';
4
+ const DEFAULT_CONFIG_DB = 'exellix';
5
+ /** Merges caller options with `MONGO_URI`, `execution_db`, and `config_db`. */
6
+ export function resolveExellixMatrixDataTierOptions(overrides = {}, env = process.env) {
7
+ const mongoUri = (overrides.mongoUri ?? env.MONGO_URI?.trim() ?? '').trim();
8
+ if (!mongoUri) {
9
+ throw new Error('createExellixMatrixDataTier: mongoUri missing — set MONGO_URI or pass options.mongoUri');
10
+ }
11
+ return {
12
+ ...overrides,
13
+ mongoUri,
14
+ executionDb: overrides.executionDb ?? (env.execution_db?.trim() || DEFAULT_EXECUTION_DB),
15
+ configDb: overrides.configDb ?? (env.config_db?.trim() || DEFAULT_CONFIG_DB),
16
+ };
17
+ }
18
+ /**
19
+ * Opens Mongo-backed persistence for execution-matrix operational data and config collections.
20
+ * Databases (defaults): `exellix-runtime` (rows, failures, snapshots), `exellix` (matrix/graph configs).
21
+ */
22
+ export async function createExellixMatrixDataTier(options = {}) {
23
+ const resolved = resolveExellixMatrixDataTierOptions(options);
24
+ const passThrough = resolved.mongoDriverPassThrough !== false;
25
+ const exec = await createExecutionMatrixRuntimeFromXronox({
26
+ mongoUri: resolved.mongoUri,
27
+ mongoDb: resolved.executionDb,
28
+ mongoRole: resolved.executionMongoRole,
29
+ mongoDriverPassThrough: passThrough,
30
+ serializeClaims: resolved.serializeClaims ?? true,
31
+ });
32
+ const cfg = await createExellixConfigStoreFromXronox({
33
+ mongoUri: resolved.mongoUri,
34
+ mongoDb: resolved.configDb,
35
+ mongoRole: resolved.configMongoRole,
36
+ mongoDriverPassThrough: passThrough,
37
+ });
38
+ const rows = exec.store.collection(executionMatrixRowsCollectionDef().name);
39
+ const failures = exec.store.collection(executionMatrixFailuresCollectionDef().name);
40
+ const snapshots = exec.store.collection(executionMatrixSnapshotsCollectionDef().name);
41
+ const matrices = cfg.store.collection(exellixMatrixConfigsCollectionDef().name);
42
+ const graphs = cfg.store.collection(exellixGraphConfigsCollectionDef().name);
43
+ let closed = false;
44
+ const close = async () => {
45
+ if (closed)
46
+ return;
47
+ closed = true;
48
+ await exec.store.close().catch(() => undefined);
49
+ await cfg.store.close().catch(() => undefined);
50
+ await exec.closeMongoDriverPassThrough?.().catch(() => undefined);
51
+ await cfg.closeMongoDriverPassThrough?.().catch(() => undefined);
52
+ };
53
+ const probe = {
54
+ executionStore: exec.store,
55
+ configStore: cfg.store,
56
+ executionMongoUri: resolved.mongoUri,
57
+ configMongoUri: resolved.mongoUri,
58
+ };
59
+ return {
60
+ rows,
61
+ failures,
62
+ snapshots,
63
+ matrices,
64
+ graphs,
65
+ init: async () => undefined,
66
+ close,
67
+ executionStore: exec.store,
68
+ configStore: cfg.store,
69
+ executionMongoUri: resolved.mongoUri,
70
+ configMongoUri: resolved.mongoUri,
71
+ probe,
72
+ };
73
+ }
74
+ //# sourceMappingURL=matrix-data-tier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-data-tier.js","sourceRoot":"","sources":["../../src/execution-matrix/matrix-data-tier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { ExecuteGraphInput, GraphModelObject } from '@exellix/graph-engine';
2
+ import type { MatrixGraphExecuteOverrides } from './contracts.js';
3
+ import { type MatrixGraphExecutor } from './orchestrator.js';
4
+ /**
5
+ * Payload the matrix orchestrator passes to {@link ProcessMatrixClaimDeps.executeGraph}
6
+ * (`executeMatrixGraphForClaim`). Alias for {@link ExecuteGraphInput} — use this name in host
7
+ * code to distinguish orchestrator-forwards from ad-hoc graph-engine invokes.
8
+ */
9
+ export type OrchestratorExecuteGraphInput = ExecuteGraphInput;
10
+ export type MatrixExecuteGraphAdapterContext = {
11
+ graphId: string;
12
+ jobId: string;
13
+ /** Present when the orchestrator/default job or host resolver exposes the matrix row id. */
14
+ matrixRowId?: string;
15
+ input: OrchestratorExecuteGraphInput;
16
+ };
17
+ export type MatrixExecuteGraphAdapterOptions = {
18
+ /** Typically `createExellixGraphRuntime(opts).executeGraph.bind(runtime)`. */
19
+ executeGraph: MatrixGraphExecutor;
20
+ /**
21
+ * Optional live graph model (e.g. from an in-memory loader). Applied after the inbound model
22
+ * so hosts can rehydrate the canonical model object immediately before execution.
23
+ */
24
+ resolveGraphModel?: (ctx: MatrixExecuteGraphAdapterContext) => GraphModelObject | undefined | Promise<GraphModelObject | undefined>;
25
+ /**
26
+ * Extract matrix row id when it is not present on `runtime.job`. The default matrix job
27
+ * envelope includes `matrixRowId`; this hook supports custom executors or older hosts.
28
+ */
29
+ resolveMatrixRowId?: (input: OrchestratorExecuteGraphInput) => string | undefined;
30
+ /** Base runtime overrides merged under orchestrator-supplied runtime fields (see package docs for precedence). */
31
+ defaults?: MatrixGraphExecuteOverrides;
32
+ };
33
+ /**
34
+ * Wraps a graph-engine executor so hosts can layer runtime defaults and optionally re-resolve
35
+ * the live `GraphModelObject` without fighting orchestrator-owned runtime keys (`jobId`,
36
+ * `job`, active `input`, seeded `executionMemory`).
37
+ *
38
+ * Merge rules for everything else match {@link mergeMatrixGraphExecuteOverrides}:
39
+ * runtime fields from the inbound call win over {@link MatrixExecuteGraphAdapterOptions.defaults}.
40
+ * When {@link resolveGraphModel} returns a model, it replaces the inbound model.
41
+ */
42
+ export declare function createMatrixExecuteGraphAdapter(options: MatrixExecuteGraphAdapterOptions): MatrixGraphExecutor;
43
+ //# sourceMappingURL=matrix-execute-graph-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-execute-graph-adapter.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/matrix-execute-graph-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAsB,gBAAgB,EAAsB,MAAM,uBAAuB,CAAC;AACzH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAE3B;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;AAE9D,MAAM,MAAM,gCAAgC,GAAG;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,6BAA6B,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,8EAA8E;IAC9E,YAAY,EAAE,mBAAmB,CAAC;IAClC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAClB,GAAG,EAAE,gCAAgC,KAClC,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAC1E;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,MAAM,GAAG,SAAS,CAAC;IAClF,kHAAkH;IAClH,QAAQ,CAAC,EAAE,2BAA2B,CAAC;CACxC,CAAC;AAkBF;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gCAAgC,GACxC,mBAAmB,CA2CrB"}
@@ -0,0 +1,62 @@
1
+ import { mergeMatrixGraphExecuteOverrides, sanitizeMatrixGraphExecuteOverrides, } from './orchestrator.js';
2
+ function stripOrchestratorRuntimeCoreKeys(runtime) {
3
+ const rest = { ...runtime };
4
+ delete rest.jobId;
5
+ delete rest.job;
6
+ delete rest.input;
7
+ delete rest.executionMemory;
8
+ return rest;
9
+ }
10
+ function matrixRowIdFromJob(job) {
11
+ if (!job || typeof job !== 'object')
12
+ return undefined;
13
+ const j = job;
14
+ const v = j.matrixRowId ?? j.matrix_row_id;
15
+ return typeof v === 'string' && v.length > 0 ? v : undefined;
16
+ }
17
+ /**
18
+ * Wraps a graph-engine executor so hosts can layer runtime defaults and optionally re-resolve
19
+ * the live `GraphModelObject` without fighting orchestrator-owned runtime keys (`jobId`,
20
+ * `job`, active `input`, seeded `executionMemory`).
21
+ *
22
+ * Merge rules for everything else match {@link mergeMatrixGraphExecuteOverrides}:
23
+ * runtime fields from the inbound call win over {@link MatrixExecuteGraphAdapterOptions.defaults}.
24
+ * When {@link resolveGraphModel} returns a model, it replaces the inbound model.
25
+ */
26
+ export function createMatrixExecuteGraphAdapter(options) {
27
+ const run = options.executeGraph;
28
+ return async (input) => {
29
+ const jobId = typeof input.runtime.jobId === 'string' && input.runtime.jobId.length > 0 ? input.runtime.jobId : undefined;
30
+ if (!jobId) {
31
+ throw new Error('createMatrixExecuteGraphAdapter: inbound ExecuteGraphInput.runtime.jobId is required');
32
+ }
33
+ const graphId = typeof input.model.id === 'string' && input.model.id.length > 0 ? input.model.id : undefined;
34
+ if (!graphId) {
35
+ throw new Error('createMatrixExecuteGraphAdapter: inbound ExecuteGraphInput.model.id is required');
36
+ }
37
+ const matrixRowId = options.resolveMatrixRowId?.(input) ?? matrixRowIdFromJob(input.runtime.job);
38
+ const fromCall = stripOrchestratorRuntimeCoreKeys(input.runtime);
39
+ const merged = sanitizeMatrixGraphExecuteOverrides(mergeMatrixGraphExecuteOverrides(options.defaults, fromCall));
40
+ const resolvedModel = await options.resolveGraphModel?.({
41
+ graphId,
42
+ jobId,
43
+ ...(matrixRowId !== undefined ? { matrixRowId } : {}),
44
+ input,
45
+ });
46
+ if (resolvedModel && resolvedModel.id !== graphId) {
47
+ throw new Error(`createMatrixExecuteGraphAdapter: resolved graph model id '${resolvedModel.id}' does not match inbound model id '${graphId}'`);
48
+ }
49
+ const next = {
50
+ model: resolvedModel ?? input.model,
51
+ runtime: {
52
+ jobId: input.runtime.jobId,
53
+ job: input.runtime.job,
54
+ ...(input.runtime.input !== undefined ? { input: input.runtime.input } : {}),
55
+ ...(input.runtime.executionMemory !== undefined ? { executionMemory: input.runtime.executionMemory } : {}),
56
+ ...(merged ?? {}),
57
+ },
58
+ };
59
+ return run(next);
60
+ };
61
+ }
62
+ //# sourceMappingURL=matrix-execute-graph-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-execute-graph-adapter.js","sourceRoot":"","sources":["../../src/execution-matrix/matrix-execute-graph-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=matrix-execute-graph-adapter.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-execute-graph-adapter.spec.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/matrix-execute-graph-adapter.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { createMatrixExecuteGraphAdapter } from './matrix-execute-graph-adapter.js';
3
+ function mockExecuteGraphSuccess(finalOutput = {}) {
4
+ return {
5
+ status: 'completed',
6
+ jobId: 'mock-job',
7
+ taskId: 'mock-task-id',
8
+ graphId: 'G',
9
+ outputsByNodeId: {},
10
+ engineSnapshot: {},
11
+ finalOutput,
12
+ };
13
+ }
14
+ describe('createMatrixExecuteGraphAdapter', () => {
15
+ it('forwards orchestrator runtime core keys and applies resolveGraphModel last', async () => {
16
+ const inner = vi.fn().mockResolvedValue(mockExecuteGraphSuccess());
17
+ const graphModel = { id: 'G', response: { shape: { type: 'literal', value: {} } }, nodes: [], version: 'live' };
18
+ const adapter = createMatrixExecuteGraphAdapter({
19
+ executeGraph: inner,
20
+ defaults: { failFast: false },
21
+ resolveGraphModel: async () => graphModel,
22
+ });
23
+ const input = {
24
+ model: { id: 'G', response: { shape: { type: 'literal', value: {} } }, nodes: [] },
25
+ runtime: {
26
+ jobId: 'job-1',
27
+ job: { matrixRowId: 'row-1' },
28
+ executionMemory: { input: { raw: 1 } },
29
+ failFast: true,
30
+ },
31
+ };
32
+ await adapter(input);
33
+ expect(inner).toHaveBeenCalledTimes(1);
34
+ const call = inner.mock.calls[0][0];
35
+ expect(call.model).toBe(graphModel);
36
+ expect(call.runtime.jobId).toBe('job-1');
37
+ expect(call.runtime.executionMemory).toEqual(input.runtime.executionMemory);
38
+ expect(call.runtime.failFast).toBe(true);
39
+ });
40
+ it('defaults lose to orchestrator-carried extras on merge', async () => {
41
+ const inner = vi.fn().mockResolvedValue(mockExecuteGraphSuccess());
42
+ const adapter = createMatrixExecuteGraphAdapter({
43
+ executeGraph: inner,
44
+ defaults: { maxRunLogEntries: 1 },
45
+ });
46
+ const input = {
47
+ model: { id: 'G', response: { shape: { type: 'literal', value: {} } }, nodes: [] },
48
+ runtime: {
49
+ jobId: 'job-1',
50
+ job: {},
51
+ executionMemory: {},
52
+ maxRunLogEntries: 99,
53
+ },
54
+ };
55
+ await adapter(input);
56
+ const call = inner.mock.calls[0][0];
57
+ expect(call.runtime.maxRunLogEntries).toBe(99);
58
+ });
59
+ });
60
+ //# sourceMappingURL=matrix-execute-graph-adapter.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix-execute-graph-adapter.spec.js","sourceRoot":"","sources":["../../src/execution-matrix/matrix-execute-graph-adapter.spec.ts"],"names":[],"mappings":"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"}