@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,185 @@
1
+ import { MATRIX_ROW_PK } from './constants.js';
2
+ function isoNow() {
3
+ return new Date().toISOString();
4
+ }
5
+ function randomId() {
6
+ try {
7
+ return globalThis.crypto.randomUUID();
8
+ }
9
+ catch {
10
+ return `id_${Math.random().toString(36).slice(2)}`;
11
+ }
12
+ }
13
+ function getAtPath(obj, path) {
14
+ const parts = path.split('.');
15
+ let cur = obj;
16
+ for (const p of parts) {
17
+ if (cur === null || cur === undefined || typeof cur !== 'object')
18
+ return undefined;
19
+ cur = cur[p];
20
+ }
21
+ return cur;
22
+ }
23
+ function matchesArrayElemMatch(doc, arrayField, em) {
24
+ const arr = doc[arrayField];
25
+ if (!Array.isArray(arr))
26
+ return false;
27
+ return arr.some((entry) => {
28
+ if (!entry || typeof entry !== 'object')
29
+ return false;
30
+ const e = entry;
31
+ for (const [k, v] of Object.entries(em)) {
32
+ if (e[k] !== v) {
33
+ if (v && typeof v === 'object' && !Array.isArray(v) && '$in' in v) {
34
+ const inside = v.$in;
35
+ if (!inside.includes(e[k]))
36
+ return false;
37
+ }
38
+ else
39
+ return false;
40
+ }
41
+ }
42
+ return true;
43
+ });
44
+ }
45
+ function matchesElemMatch(doc, em) {
46
+ return matchesArrayElemMatch(doc, 'execution', em);
47
+ }
48
+ function matchesInferenceElemMatch(doc, em) {
49
+ return matchesArrayElemMatch(doc, 'inferences', em);
50
+ }
51
+ function matchesScalarPredicate(actual, pred) {
52
+ if ('$in' in pred && Array.isArray(pred.$in)) {
53
+ if (!pred.$in.includes(actual))
54
+ return false;
55
+ }
56
+ if ('$gte' in pred) {
57
+ const bound = pred.$gte;
58
+ if (typeof actual === 'string' && typeof bound === 'string' && actual < bound)
59
+ return false;
60
+ }
61
+ if ('$lte' in pred) {
62
+ const bound = pred.$lte;
63
+ if (typeof actual === 'string' && typeof bound === 'string' && actual > bound)
64
+ return false;
65
+ }
66
+ return true;
67
+ }
68
+ function fieldMatches(doc, key, val) {
69
+ const actual = getAtPath(doc, key);
70
+ if (val !== undefined && val !== null && typeof val === 'object' && !Array.isArray(val)) {
71
+ const obj = val;
72
+ if ('$elemMatch' in obj && key === 'execution') {
73
+ return matchesElemMatch(doc, obj.$elemMatch);
74
+ }
75
+ if ('$elemMatch' in obj && key === 'inferences') {
76
+ return matchesInferenceElemMatch(doc, obj.$elemMatch);
77
+ }
78
+ if ('$in' in obj || '$gte' in obj || '$lte' in obj) {
79
+ return matchesScalarPredicate(actual, obj);
80
+ }
81
+ }
82
+ return actual === val;
83
+ }
84
+ function docMatchesFilter(doc, filter) {
85
+ const orClause = filter.$or;
86
+ if (orClause !== undefined && Array.isArray(orClause)) {
87
+ return orClause.every((x) => x && typeof x === 'object')
88
+ ? orClause.some((sub) => docMatchesFilter(doc, sub))
89
+ : false;
90
+ }
91
+ const andClause = filter.$and;
92
+ if (andClause !== undefined && Array.isArray(andClause)) {
93
+ return andClause.every((x) => x && typeof x === 'object')
94
+ ? andClause.every((sub) => docMatchesFilter(doc, sub))
95
+ : false;
96
+ }
97
+ for (const [key, val] of Object.entries(filter)) {
98
+ if (key === '$or' || key === '$and')
99
+ continue;
100
+ if (key === 'execution' && val && typeof val === 'object' && !Array.isArray(val)) {
101
+ const maybe = val;
102
+ if ('$elemMatch' in maybe && maybe.$elemMatch && typeof maybe.$elemMatch === 'object') {
103
+ if (!matchesElemMatch(doc, maybe.$elemMatch))
104
+ return false;
105
+ continue;
106
+ }
107
+ }
108
+ if (key === 'inferences' && val && typeof val === 'object' && !Array.isArray(val)) {
109
+ const maybe = val;
110
+ if ('$elemMatch' in maybe && maybe.$elemMatch && typeof maybe.$elemMatch === 'object') {
111
+ if (!matchesInferenceElemMatch(doc, maybe.$elemMatch))
112
+ return false;
113
+ continue;
114
+ }
115
+ }
116
+ if (val !== undefined && !fieldMatches(doc, key, val))
117
+ return false;
118
+ }
119
+ return true;
120
+ }
121
+ export class MemoryMatrixCollection {
122
+ pk;
123
+ docs = new Map();
124
+ constructor(pk = MATRIX_ROW_PK) {
125
+ this.pk = pk;
126
+ }
127
+ async insert(doc) {
128
+ const key = doc[this.pk] || randomId();
129
+ const now = isoNow();
130
+ const full = {
131
+ ...doc,
132
+ [this.pk]: key,
133
+ createdAt: doc.createdAt ?? now,
134
+ updatedAt: doc.updatedAt ?? now,
135
+ };
136
+ this.docs.set(key, full);
137
+ return key;
138
+ }
139
+ async getByKey(keyValue) {
140
+ const d = this.docs.get(keyValue);
141
+ return d ? { ...d } : null;
142
+ }
143
+ async readMany(filter, options) {
144
+ let rows = [...this.docs.values()].filter((d) => docMatchesFilter(d, filter));
145
+ const sort = options?.sort;
146
+ if (sort) {
147
+ rows = rows.sort((a, b) => {
148
+ for (const [field, dir] of Object.entries(sort)) {
149
+ const av = getAtPath(a, field);
150
+ const bv = getAtPath(b, field);
151
+ if (av === bv)
152
+ continue;
153
+ if (av == null)
154
+ return dir === 1 ? 1 : -1;
155
+ if (bv == null)
156
+ return dir === 1 ? -1 : 1;
157
+ const cmp = av < bv ? -1 : av > bv ? 1 : 0;
158
+ if (cmp !== 0)
159
+ return dir === 1 ? cmp : -cmp;
160
+ }
161
+ return 0;
162
+ });
163
+ }
164
+ const skip = options?.skip ?? 0;
165
+ const limit = options?.limit ?? 200;
166
+ return rows.slice(skip, skip + limit).map((d) => ({ ...d }));
167
+ }
168
+ async countMatching(filter) {
169
+ return [...this.docs.values()].filter((d) => docMatchesFilter(d, filter)).length;
170
+ }
171
+ async update(keyValue, doc) {
172
+ const prev = this.docs.get(keyValue) ?? {};
173
+ const merged = {
174
+ ...prev,
175
+ ...doc,
176
+ [this.pk]: keyValue,
177
+ updatedAt: isoNow(),
178
+ };
179
+ this.docs.set(keyValue, merged);
180
+ }
181
+ asCollection() {
182
+ return this;
183
+ }
184
+ }
185
+ //# sourceMappingURL=memory-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/execution-matrix/memory-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ import type { ExecutionMatrixRuntime } from './runtime-store.js';
2
+ import type { ExecutionMatrixInference, ExecutionMatrixRuntimeRecord, ExecutionMatrixStatus, ExecutionMatrixStatusCounts, ExecutionMatrixStepLastAttempt, ListMatrixRowsOptions } from './contracts.js';
3
+ import { type MatrixSourceResolver } from './source-resolver.js';
4
+ export type NavigatorPage = {
5
+ rows: Awaited<ReturnType<ExecutionMatrixRuntime['listRecords']>>;
6
+ /** Present when `graphId` is supplied in the query. */
7
+ statusCounts: ExecutionMatrixStatusCounts | null;
8
+ /**
9
+ * Failure audit count for the same filter dimensions when `includeFailureCount` is true.
10
+ * Uses {@link ExecutionMatrixRuntime.countFailureRecords} (xronox `readMany` with a cap).
11
+ */
12
+ failureCount?: number;
13
+ };
14
+ /**
15
+ * Data-tier helper for readonly grids: list rows and optional per-graph status histogram.
16
+ */
17
+ export declare function fetchExecutionMatrixNavigatorPage(runtime: ExecutionMatrixRuntime, query: ListMatrixRowsOptions & {
18
+ graphId?: string;
19
+ includeFailureCount?: boolean;
20
+ }): Promise<NavigatorPage>;
21
+ export type SourceJoinView = {
22
+ /** Source ids present upstream but not yet represented by any matrix row. */
23
+ waitingInSource: string[];
24
+ /** Matrix rows whose `graphId` slot is still `not-started`. */
25
+ waitingInMatrix: ExecutionMatrixRuntimeRecord[];
26
+ inProgress: ExecutionMatrixRuntimeRecord[];
27
+ processed: ExecutionMatrixRuntimeRecord[];
28
+ failed: ExecutionMatrixRuntimeRecord[];
29
+ skipped: ExecutionMatrixRuntimeRecord[];
30
+ };
31
+ export type FetchSourceJoinViewQuery = {
32
+ matrixCatalogId: string;
33
+ matrixRunId?: string;
34
+ graphId: string;
35
+ selection?: Record<string, unknown>;
36
+ runtimeScope?: Record<string, unknown>;
37
+ /** Cap per status bucket; defaults to 200 (mirrors `listRecords` default). */
38
+ limit?: number;
39
+ };
40
+ /**
41
+ * Compose a single readout for "waiting in source / waiting in matrix / in-progress / processed / failed / skipped".
42
+ *
43
+ * - When `sourceResolver` is supplied, computes `waitingInSource` via
44
+ * {@link diffSourceIdsAgainstMatrix} between the resolver's `listSourceIds` and the
45
+ * `input.sourceId` / `input.sourceIds` values present on the matrix's known rows.
46
+ * - When `sourceResolver` is omitted, `waitingInSource` is `[]` and the rest is computed
47
+ * from the matrix only. For **`record`** / **`query-snapshot`** configs, optional factories
48
+ * {@link createMatrixSourceResolverFromEffectiveConfig} / {@link createMatrixSourceResolverFromRecordLikeDataSource}
49
+ * (`source-resolver-factories.js`) wire xronox collections using `payload.dataSource.collectionRef`.
50
+ * See `docs/platform-requests/upstream-studio-matrix-bff-response.md` (FR-003) for supported kinds and BFF examples.
51
+ */
52
+ export declare function fetchSourceJoinView(deps: {
53
+ runtime: ExecutionMatrixRuntime;
54
+ sourceResolver?: MatrixSourceResolver;
55
+ }, q: FetchSourceJoinViewQuery): Promise<SourceJoinView>;
56
+ /**
57
+ * One runtime row flattened for dashboards that need **one row × many graphs**:
58
+ * each catalog graph appears as a `slot` with status, job correlation, timestamps,
59
+ * optional `lastAttempt`, and the successful inference row for that graph when present.
60
+ */
61
+ export type ExecutionMatrixGraphSlotView = {
62
+ graphId: string;
63
+ priority: number;
64
+ status: ExecutionMatrixStatus;
65
+ jobId?: string;
66
+ start?: string | null;
67
+ end?: string | null;
68
+ lastAttempt?: ExecutionMatrixStepLastAttempt;
69
+ /** Latest successful inference for this `graphId` on the row (matrix may run several graphs per unit of work). */
70
+ inference?: ExecutionMatrixInference;
71
+ };
72
+ export type ExecutionMatrixMultiGraphRowView = {
73
+ matrixRowId: string;
74
+ matrixCatalogId: string;
75
+ matrixItemId: string;
76
+ matrixRunId?: string;
77
+ materializationOrder?: number;
78
+ input: Record<string, unknown>;
79
+ /** Ordered slots — mirrors `record.execution[]` from materialization (sorted by priority ascending). */
80
+ slots: ExecutionMatrixGraphSlotView[];
81
+ };
82
+ export type FetchExecutionMatrixMultiGraphOverviewQuery = {
83
+ matrixCatalogId: string;
84
+ matrixRunId?: string;
85
+ limit?: number;
86
+ skip?: number;
87
+ sort?: Record<string, 1 | -1>;
88
+ };
89
+ /**
90
+ * Read matrix rows and expose **per-graph execution state** in one structure.
91
+ *
92
+ * Use this when building tabs or grids over “which graphs ran / which are pending” for the same
93
+ * materialized input row. Lower-level access remains {@link ExecutionMatrixRuntime.listRecords},
94
+ * {@link ExecutionMatrixRuntime.listWaiting}, {@link fetchExecutionMatrixNavigatorPage}, etc.
95
+ */
96
+ export declare function fetchExecutionMatrixMultiGraphOverview(runtime: ExecutionMatrixRuntime, q: FetchExecutionMatrixMultiGraphOverviewQuery): Promise<ExecutionMatrixMultiGraphRowView[]>;
97
+ //# sourceMappingURL=navigator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/navigator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import { RUNTIME_ROW_INPUT_SOURCE_ID_KEY, RUNTIME_ROW_INPUT_SOURCE_IDS_KEY } from './contracts.js';
2
+ import { diffSourceIdsAgainstMatrix } from './source-resolver.js';
3
+ /**
4
+ * Data-tier helper for readonly grids: list rows and optional per-graph status histogram.
5
+ */
6
+ export async function fetchExecutionMatrixNavigatorPage(runtime, query) {
7
+ const [rows, statusCounts, failureCount] = await Promise.all([
8
+ runtime.listRecords(query),
9
+ query.graphId
10
+ ? runtime.getStatusCounts(query.matrixCatalogId, query.graphId, query.matrixRunId)
11
+ : Promise.resolve(null),
12
+ query.includeFailureCount
13
+ ? runtime.countFailureRecords({
14
+ matrixCatalogId: query.matrixCatalogId,
15
+ matrixRunId: query.matrixRunId,
16
+ graphId: query.graphId,
17
+ })
18
+ : Promise.resolve(undefined),
19
+ ]);
20
+ return { rows, statusCounts, ...(failureCount !== undefined ? { failureCount } : {}) };
21
+ }
22
+ /**
23
+ * Compose a single readout for "waiting in source / waiting in matrix / in-progress / processed / failed / skipped".
24
+ *
25
+ * - When `sourceResolver` is supplied, computes `waitingInSource` via
26
+ * {@link diffSourceIdsAgainstMatrix} between the resolver's `listSourceIds` and the
27
+ * `input.sourceId` / `input.sourceIds` values present on the matrix's known rows.
28
+ * - When `sourceResolver` is omitted, `waitingInSource` is `[]` and the rest is computed
29
+ * from the matrix only. For **`record`** / **`query-snapshot`** configs, optional factories
30
+ * {@link createMatrixSourceResolverFromEffectiveConfig} / {@link createMatrixSourceResolverFromRecordLikeDataSource}
31
+ * (`source-resolver-factories.js`) wire xronox collections using `payload.dataSource.collectionRef`.
32
+ * See `docs/platform-requests/upstream-studio-matrix-bff-response.md` (FR-003) for supported kinds and BFF examples.
33
+ */
34
+ export async function fetchSourceJoinView(deps, q) {
35
+ const baseQuery = {
36
+ matrixCatalogId: q.matrixCatalogId,
37
+ ...(q.matrixRunId !== undefined ? { matrixRunId: q.matrixRunId } : {}),
38
+ graphId: q.graphId,
39
+ limit: q.limit ?? 200,
40
+ };
41
+ const [waitingInMatrix, inProgress, processed, failed, skipped] = await Promise.all([
42
+ deps.runtime.listWaiting(baseQuery),
43
+ deps.runtime.listInProgress(baseQuery),
44
+ deps.runtime.listCompleted(baseQuery),
45
+ deps.runtime.listFailed(baseQuery),
46
+ deps.runtime.listSkipped(baseQuery),
47
+ ]);
48
+ let waitingInSource = [];
49
+ if (deps.sourceResolver) {
50
+ const sourceIds = await deps.sourceResolver.listSourceIds(q.selection, q.runtimeScope);
51
+ const matrixSourceIds = collectMatrixSourceIds([
52
+ ...waitingInMatrix,
53
+ ...inProgress,
54
+ ...processed,
55
+ ...failed,
56
+ ...skipped,
57
+ ]);
58
+ waitingInSource = diffSourceIdsAgainstMatrix(sourceIds, matrixSourceIds);
59
+ }
60
+ return { waitingInSource, waitingInMatrix, inProgress, processed, failed, skipped };
61
+ }
62
+ /** Extract every `input.sourceId` (string) and every entry in `input.sourceIds` (string[]). */
63
+ function collectMatrixSourceIds(rows) {
64
+ const out = new Set();
65
+ for (const r of rows) {
66
+ const single = r.input[RUNTIME_ROW_INPUT_SOURCE_ID_KEY];
67
+ if (typeof single === 'string' && single.length > 0)
68
+ out.add(single);
69
+ const many = r.input[RUNTIME_ROW_INPUT_SOURCE_IDS_KEY];
70
+ if (Array.isArray(many)) {
71
+ for (const v of many)
72
+ if (typeof v === 'string' && v.length > 0)
73
+ out.add(v);
74
+ }
75
+ }
76
+ return [...out];
77
+ }
78
+ function slotFromStep(step, inferences) {
79
+ const matches = inferences.filter((i) => i.graphId === step.graphId);
80
+ const inference = matches.length > 0 ? matches[matches.length - 1] : undefined;
81
+ return {
82
+ graphId: step.graphId,
83
+ priority: step.priority,
84
+ status: step.status,
85
+ ...(step.jobId !== undefined ? { jobId: step.jobId } : {}),
86
+ ...(step.start !== undefined ? { start: step.start } : {}),
87
+ ...(step.end !== undefined ? { end: step.end } : {}),
88
+ ...(step.lastAttempt !== undefined ? { lastAttempt: step.lastAttempt } : {}),
89
+ ...(inference !== undefined ? { inference } : {}),
90
+ };
91
+ }
92
+ /**
93
+ * Read matrix rows and expose **per-graph execution state** in one structure.
94
+ *
95
+ * Use this when building tabs or grids over “which graphs ran / which are pending” for the same
96
+ * materialized input row. Lower-level access remains {@link ExecutionMatrixRuntime.listRecords},
97
+ * {@link ExecutionMatrixRuntime.listWaiting}, {@link fetchExecutionMatrixNavigatorPage}, etc.
98
+ */
99
+ export async function fetchExecutionMatrixMultiGraphOverview(runtime, q) {
100
+ const rows = await runtime.listRecords({
101
+ matrixCatalogId: q.matrixCatalogId,
102
+ ...(q.matrixRunId !== undefined ? { matrixRunId: q.matrixRunId } : {}),
103
+ limit: q.limit ?? 200,
104
+ ...(q.skip !== undefined ? { skip: q.skip } : {}),
105
+ ...(q.sort !== undefined ? { sort: q.sort } : {}),
106
+ });
107
+ return rows.map((r) => ({
108
+ matrixRowId: r.matrixRowId,
109
+ matrixCatalogId: r.matrixCatalogId,
110
+ matrixItemId: r.matrixItemId,
111
+ ...(r.matrixRunId !== undefined ? { matrixRunId: r.matrixRunId } : {}),
112
+ ...(r.materializationOrder !== undefined ? { materializationOrder: r.materializationOrder } : {}),
113
+ input: r.input,
114
+ slots: [...r.execution]
115
+ .sort((a, b) => a.priority - b.priority)
116
+ .map((step) => slotFromStep(step, r.inferences)),
117
+ }));
118
+ }
119
+ //# sourceMappingURL=navigator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator.js","sourceRoot":"","sources":["../../src/execution-matrix/navigator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,204 @@
1
+ import type { Activix } from '@x12i/activix';
2
+ import type { Logxer } from '@x12i/logxer';
3
+ import { type ExecuteGraphInput, type ExecuteGraphResult, type GraphEntryContract, type GraphModelObject, type RuntimeObjects } from '@exellix/graph-engine';
4
+ import type { ClaimNextAcrossGraphsOptions, ClaimNextOptions, ClaimRecordOptions, ClaimResult, GraphConfigRecord, MatrixGraphExecuteOverrides, ProcessMatrixGraphBatchOptions } from './contracts.js';
5
+ import type { ExecutionMatrixRuntime } from './runtime-store.js';
6
+ export type MatrixGraphExecutor = (input: ExecuteGraphInput) => Promise<ExecuteGraphResult>;
7
+ export type MatrixGraphEntryResolver = (ctx: {
8
+ graphId: string;
9
+ matrixRowId: string;
10
+ }) => GraphEntryContract | undefined;
11
+ export type MatrixGraphModelResolver = (ctx: {
12
+ graphId: string;
13
+ matrixRowId: string;
14
+ matrixCatalogId: string;
15
+ matrixRunId?: string;
16
+ }) => GraphModelObject | undefined | Promise<GraphModelObject | undefined>;
17
+ export type ProcessMatrixClaimDeps = {
18
+ runtime: ExecutionMatrixRuntime;
19
+ /**
20
+ * Graph execution. Typically injected from `createExellixGraphRuntime().executeGraph`
21
+ * (the single canonical executor in `@exellix/graph-engine` 5.x). Both autonomous and
22
+ * runtime-mode (`debugMode: true`) calls go through this same executor: when `runtime.debugMode`
23
+ * is set on {@link ExecuteGraphInput}, graph-engine populates {@link ExecuteGraphResult.debug}.
24
+ *
25
+ * The orchestrator builds the full {@link ExecuteGraphInput} in {@link executeMatrixGraphForClaim}
26
+ * (`model`, plus `runtime.jobId`, `runtime.job`, active `runtime.input`, seeded
27
+ * `runtime.executionMemory`, optional `runtimeObjects` / `debugMode`, plus merged runtime overrides).
28
+ * Hosts that need a live graph model or stable defaults should wrap the executor with
29
+ * {@link createMatrixExecuteGraphAdapter} (`matrix-execute-graph-adapter.js`) instead of re-merging spreads by hand.
30
+ * Payload shape: {@link OrchestratorExecuteGraphInput} (= {@link ExecuteGraphInput}). See
31
+ * `docs/platform-requests/upstream-studio-matrix-bff-response.md` (FR-002) and
32
+ * `docs/execution-matrix-runtime.md` for the field-precedence table.
33
+ */
34
+ executeGraph: MatrixGraphExecutor;
35
+ /**
36
+ * Static graph model used for single-graph workers. For multi-graph workers, prefer
37
+ * {@link ProcessMatrixClaimDeps.resolveGraphModel}.
38
+ */
39
+ graphModel?: GraphModelObject;
40
+ /**
41
+ * Resolve the canonical static graph model for the claimed graph. Required unless
42
+ * {@link ProcessMatrixClaimDeps.graphModel} is set for a single-graph worker.
43
+ */
44
+ resolveGraphModel?: MatrixGraphModelResolver;
45
+ /**
46
+ * Optional hook for resolving a job id in autonomous mode.
47
+ * When omitted, the orchestrator generates a stable jobId from the claimed row/graph context.
48
+ */
49
+ resolveJobId?: (ctx: {
50
+ matrixRowId: string;
51
+ graphId: string;
52
+ matrixCatalogId: string;
53
+ matrixRunId?: string;
54
+ }) => string;
55
+ resolveGraphEntry?: MatrixGraphEntryResolver;
56
+ /**
57
+ * Optional extra fields merged onto the graph-engine `runtime.job` object. The orchestrator
58
+ * supplies stable matrix identity plus `agentId` / `jobTypeId` defaults; root **`id`** / **`jobId`**
59
+ * are protected and always match the top-level `runtime.jobId`.
60
+ */
61
+ buildJob?: (ctx: {
62
+ matrixRowId: string;
63
+ graphId: string;
64
+ jobId: string;
65
+ matrixCatalogId: string;
66
+ matrixRunId?: string;
67
+ }) => Record<string, unknown>;
68
+ /**
69
+ * Shallow-merged into every claim `extraFilter` after per-call `extraFilter` (same keys **here win**).
70
+ * Pass the same object as `MaterializeRowsInput.runtimeScope` and as the third argument to
71
+ * `resolveInputRowsWithResolver` so xmemory and Mongo claims stay aligned.
72
+ */
73
+ runtimeScope?: Record<string, unknown>;
74
+ /**
75
+ * Composed observability root (matrix + graph-engine subtree). Forwarded to **`executeGraph`**;
76
+ * **`lastJobId`** is set from the job id when present.
77
+ */
78
+ runtimeObjects?: RuntimeObjects;
79
+ /** Optional matrix-owned Activix for boundary activities around each graph run. */
80
+ matrixActivix?: Activix;
81
+ /** When set, used for matrix diagnostics; otherwise a package default Logxer is used. */
82
+ matrixLogxer?: Logxer;
83
+ /**
84
+ * Orchestrator-level defaults merged into `GraphExecutionRequest.runtime` for every graph run.
85
+ * Shape: {@link MatrixGraphExecuteOverrides} (optional `GraphRuntimeObject` fields except
86
+ * matrix-owned identity/input/execution memory).
87
+ * Per-call `executeOverrides` on claim/batch options are merged on top (see {@link mergeMatrixGraphExecuteOverrides}).
88
+ * Omit both to add no override keys beyond `jobId` / `job` / `input` / `executionMemory`.
89
+ */
90
+ executeOverrides?: MatrixGraphExecuteOverrides;
91
+ /**
92
+ * When set, invoked **before each new claim** in {@link processMatrixGraphBatch} / {@link processNextMatrixClaim} /
93
+ * {@link processMatrixClaimForRow}. Return **`false`** to stop claiming further work (e.g. operator pause or graph
94
+ * operational state flip). The check runs **after** any in-flight **`executeGraph`** from the previous iteration
95
+ * has finished, so the row already marked **`in-progress`** is never abandoned mid-run.
96
+ */
97
+ shouldClaimNext?: () => boolean | Promise<boolean>;
98
+ /**
99
+ * When set, the orchestrator refuses to claim rows for graphs that fail {@link assertGraphSchedulable}
100
+ * (e.g. `Draft` / `Archived` publication or `NotOperational` state). Missing config is ignored unless
101
+ * {@link ProcessMatrixClaimDeps.graphSchedulabilityRequireConfig} is true.
102
+ */
103
+ resolveGraphSchedulability?: (graphId: string) => Promise<GraphConfigRecord | null>;
104
+ /** When true and {@link resolveGraphSchedulability} returns null, claims throw {@link GraphNotSchedulableError}. */
105
+ graphSchedulabilityRequireConfig?: boolean;
106
+ };
107
+ export type ProcessMatrixOutcome = {
108
+ ok: true;
109
+ graphResult: ExecuteGraphResult;
110
+ jobId: string;
111
+ } | {
112
+ ok: false;
113
+ reason: 'executor_threw';
114
+ error: unknown;
115
+ matrixRowId: string;
116
+ graphId: string;
117
+ jobId: string;
118
+ };
119
+ /** Merge per-call `extraFilter` with deps `runtimeScope`; `runtimeScope` wins on duplicate keys. */
120
+ export declare function mergeClaimExtraFilter(claimExtra?: Record<string, unknown>, runtimeScope?: Record<string, unknown>): Record<string, unknown> | undefined;
121
+ /**
122
+ * Merge matrix → graph-engine runtime overrides before building `GraphExecutionRequest.runtime`.
123
+ *
124
+ * Precedence:
125
+ * - Per-call (`callLevel`) wins over deps-level (`depsLevel`).
126
+ * - **Record fields** (`modelConfig`, `aliasConfig`, `llmCall`, `runTaskIdentity`,
127
+ * `runTaskDiagnostics`, `variables`, `initialVariables`, `playgroundMeta`):
128
+ * `{ ...depsLevel, ...callLevel }` per field.
129
+ * - **`nodes`**: node ids shallow-merge; per-node `aliasConfig` and `modelConfig` shallow-merge.
130
+ * - **`skillKeyResolution`**: top-level keys prefer call when set; `aliases` shallow-merge.
131
+ * - **Scalars** (`runTaskExecutionMode`, `runLogMode`, `maxRunLogEntries`, `maxRunLogDataJsonChars`,
132
+ * `mode`, `goalNodeId`, `dimension`, `failFast`, `nodeTimeoutMs`,
133
+ * `clearSynthesizedContextPerNode`, `debugMode`): per-call wins when `!== undefined`; otherwise deps.
134
+ * - **Replace blobs / arrays / handles** (`jobMemory`, `taskMemory`, `outputsMemory`, `initialState`,
135
+ * `executionPipeline`, `runtimeObjects`, `playgroundReporter`, `eventEmitter`, `stepRetryPolicy`):
136
+ * per-call wins when `!== undefined`; otherwise deps.
137
+ * - When the merged object would be empty, returns `undefined` (no extra keys on the executor call).
138
+ */
139
+ export declare function mergeMatrixGraphExecuteOverrides(depsLevel?: MatrixGraphExecuteOverrides, callLevel?: MatrixGraphExecuteOverrides): MatrixGraphExecuteOverrides | undefined;
140
+ /**
141
+ * Removes {@link BLOCKED_EXECUTE_OVERRIDE_KEYS} from merged overrides so matrix correlation ids cannot be
142
+ * overridden via {@link MatrixGraphExecuteOverrides} (defense in depth for casts / dynamic payloads).
143
+ */
144
+ export declare function sanitizeMatrixGraphExecuteOverrides(o?: MatrixGraphExecuteOverrides): MatrixGraphExecuteOverrides | undefined;
145
+ /**
146
+ * Try {@link ExecutionMatrixRuntime.claimNext} for each `graphId` in order until one succeeds.
147
+ * Use for "execute next" across a matrix when multiple graphs share the same runtime rows.
148
+ */
149
+ export declare function claimNextAcrossGraphs(runtime: ExecutionMatrixRuntime, opts: ClaimNextAcrossGraphsOptions & {
150
+ graphIds: string[];
151
+ }, runtimeScope?: Record<string, unknown>): Promise<ClaimResult>;
152
+ /**
153
+ * Run graph-engine for an already-claimed slot (updates row status / inferences / failures).
154
+ *
155
+ * `runtime.executeOverrides` (per-call) is shallow-merged over `deps.executeOverrides`
156
+ * (orchestrator-level default) by {@link mergeMatrixGraphExecuteOverrides} and the result
157
+ * is merged into the single `executeGraph` call. When neither is set, no extra runtime
158
+ * override fields are added.
159
+ *
160
+ * Forwards graph-engine {@link ExecuteGraphInput}: `{ model, runtime }`, where `runtime` contains
161
+ * `jobId`, `job`, active row `input`, seeded `executionMemory`, optional `runtimeObjects`, plus merged
162
+ * overrides (`jobMemory`, `taskMemory`, `variables`, …). When `debugMode` is requested, it is forwarded as
163
+ * `runtime.debugMode` (graph-engine populates `ExecuteGraphResult.debug` only when it is true). Does not
164
+ * assemble ai-tasks run-task wire payloads —
165
+ * graph-engine owns that translation.
166
+ */
167
+ export declare function executeMatrixGraphForClaim(deps: ProcessMatrixClaimDeps, claim: Extract<ClaimResult, {
168
+ ok: true;
169
+ }>, runtime?: {
170
+ jobId?: string;
171
+ debugMode?: boolean;
172
+ executeOverrides?: MatrixGraphExecuteOverrides;
173
+ }): Promise<ProcessMatrixOutcome>;
174
+ /**
175
+ * Claim the next eligible row for `graphId`, run the graph, persist completion or failure.
176
+ */
177
+ export declare function processNextMatrixClaim(deps: ProcessMatrixClaimDeps, claimOpts: ClaimNextOptions): Promise<ClaimResult | ProcessMatrixOutcome>;
178
+ /**
179
+ * Claim a specific row for `graphId`, run the graph, persist completion or failure.
180
+ */
181
+ export declare function processMatrixClaimForRow(deps: ProcessMatrixClaimDeps, claimOpts: ClaimRecordOptions): Promise<ClaimResult | ProcessMatrixOutcome>;
182
+ /**
183
+ * Execute up to `limit` graph runs (claim + execute). When `graphId` is set, only that graph is claimed;
184
+ * otherwise {@link claimNextAcrossGraphs} is used with `graphIds` (required in that mode).
185
+ *
186
+ * - **Execute next one**: `limit: 1`, omit `graphId`, pass `graphIds` in priority order.
187
+ * - **Execute specific graph**: set `graphId` (same as repeated {@link processNextMatrixClaim} up to `limit`).
188
+ * - **Execute all**: omit `limit` or set a high `maxIterations`.
189
+ *
190
+ * When {@link ProcessMatrixClaimDeps.shouldClaimNext} returns **`false`** at the start of an iteration,
191
+ * the loop exits without claiming; any **`executeGraph`** from the prior iteration has already completed.
192
+ */
193
+ export declare function processMatrixGraphBatch(deps: ProcessMatrixClaimDeps, opts: ProcessMatrixGraphBatchOptions & {
194
+ graphIds?: string[];
195
+ }): Promise<Array<ClaimResult | ProcessMatrixOutcome>>;
196
+ /** Convenience: run at most one eligible graph across `graphIds` (execute-next-one). */
197
+ export declare function processNextMatrixGraphExecution(deps: ProcessMatrixClaimDeps, opts: Omit<ProcessMatrixGraphBatchOptions, 'limit'> & {
198
+ graphIds: string[];
199
+ }): Promise<Array<ClaimResult | ProcessMatrixOutcome>>;
200
+ /** Convenience: run until no eligible claims remain (execute-all). */
201
+ export declare function processAllMatrixGraphExecutions(deps: ProcessMatrixClaimDeps, opts: ProcessMatrixGraphBatchOptions & {
202
+ graphIds?: string[];
203
+ }): Promise<Array<ClaimResult | ProcessMatrixOutcome>>;
204
+ //# sourceMappingURL=orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/orchestrator.ts"],"names":[],"mappings":"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"}