@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.
- package/README.md +422 -0
- package/dist/catalox-inventory/catalox-execution-matrix-inventory-cli.d.ts +4 -0
- package/dist/catalox-inventory/catalox-execution-matrix-inventory-cli.d.ts.map +1 -0
- package/dist/catalox-inventory/catalox-execution-matrix-inventory-cli.js +311 -0
- package/dist/catalox-inventory/catalox-execution-matrix-inventory-cli.js.map +1 -0
- package/dist/catalox-inventory/catalox-execution-matrix-inventory.d.ts +64 -0
- package/dist/catalox-inventory/catalox-execution-matrix-inventory.d.ts.map +1 -0
- package/dist/catalox-inventory/catalox-execution-matrix-inventory.js +226 -0
- package/dist/catalox-inventory/catalox-execution-matrix-inventory.js.map +1 -0
- package/dist/catalox-inventory/catalox-xmemory-entity-count-report.d.ts +145 -0
- package/dist/catalox-inventory/catalox-xmemory-entity-count-report.d.ts.map +1 -0
- package/dist/catalox-inventory/catalox-xmemory-entity-count-report.js +477 -0
- package/dist/catalox-inventory/catalox-xmemory-entity-count-report.js.map +1 -0
- package/dist/catalox-inventory/catalox-xmemory-entity-count-report.spec.d.ts +2 -0
- package/dist/catalox-inventory/catalox-xmemory-entity-count-report.spec.d.ts.map +1 -0
- package/dist/catalox-inventory/catalox-xmemory-entity-count-report.spec.js +34 -0
- package/dist/catalox-inventory/catalox-xmemory-entity-count-report.spec.js.map +1 -0
- package/dist/cli/argv.d.ts +5 -0
- package/dist/cli/argv.d.ts.map +1 -0
- package/dist/cli/argv.js +32 -0
- package/dist/cli/argv.js.map +1 -0
- package/dist/cli/commands/health.d.ts +2 -0
- package/dist/cli/commands/health.d.ts.map +1 -0
- package/dist/cli/commands/health.js +23 -0
- package/dist/cli/commands/health.js.map +1 -0
- package/dist/cli/commands/matrix-link.d.ts +2 -0
- package/dist/cli/commands/matrix-link.d.ts.map +1 -0
- package/dist/cli/commands/matrix-link.js +56 -0
- package/dist/cli/commands/matrix-link.js.map +1 -0
- package/dist/cli/commands/matrix-read.d.ts +2 -0
- package/dist/cli/commands/matrix-read.d.ts.map +1 -0
- package/dist/cli/commands/matrix-read.js +73 -0
- package/dist/cli/commands/matrix-read.js.map +1 -0
- package/dist/cli/env.d.ts +6 -0
- package/dist/cli/env.d.ts.map +1 -0
- package/dist/cli/env.js +39 -0
- package/dist/cli/env.js.map +1 -0
- package/dist/cli/exellix-runtime-cli.d.ts +3 -0
- package/dist/cli/exellix-runtime-cli.d.ts.map +1 -0
- package/dist/cli/exellix-runtime-cli.js +55 -0
- package/dist/cli/exellix-runtime-cli.js.map +1 -0
- package/dist/cli/help.d.ts +19 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +94 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/client-toolbox/bundle.d.ts +17 -0
- package/dist/client-toolbox/bundle.d.ts.map +1 -0
- package/dist/client-toolbox/bundle.js +17 -0
- package/dist/client-toolbox/bundle.js.map +1 -0
- package/dist/client-toolbox/client-toolbox.spec.d.ts +2 -0
- package/dist/client-toolbox/client-toolbox.spec.d.ts.map +1 -0
- package/dist/client-toolbox/client-toolbox.spec.js +145 -0
- package/dist/client-toolbox/client-toolbox.spec.js.map +1 -0
- package/dist/client-toolbox/index.d.ts +4 -0
- package/dist/client-toolbox/index.d.ts.map +1 -0
- package/dist/client-toolbox/index.js +4 -0
- package/dist/client-toolbox/index.js.map +1 -0
- package/dist/client-toolbox/matrix-config.d.ts +67 -0
- package/dist/client-toolbox/matrix-config.d.ts.map +1 -0
- package/dist/client-toolbox/matrix-config.js +140 -0
- package/dist/client-toolbox/matrix-config.js.map +1 -0
- package/dist/client-toolbox/matrix-materialize.d.ts +56 -0
- package/dist/client-toolbox/matrix-materialize.d.ts.map +1 -0
- package/dist/client-toolbox/matrix-materialize.js +130 -0
- package/dist/client-toolbox/matrix-materialize.js.map +1 -0
- package/dist/dev/matrix-read-dashboard-smoke.d.ts +2 -0
- package/dist/dev/matrix-read-dashboard-smoke.d.ts.map +1 -0
- package/dist/dev/matrix-read-dashboard-smoke.js +12 -0
- package/dist/dev/matrix-read-dashboard-smoke.js.map +1 -0
- package/dist/dev/runtime-real-dev-server.d.ts +2 -0
- package/dist/dev/runtime-real-dev-server.d.ts.map +1 -0
- package/dist/dev/runtime-real-dev-server.js +90 -0
- package/dist/dev/runtime-real-dev-server.js.map +1 -0
- package/dist/execution-matrix/catalox-loader.d.ts +55 -0
- package/dist/execution-matrix/catalox-loader.d.ts.map +1 -0
- package/dist/execution-matrix/catalox-loader.js +199 -0
- package/dist/execution-matrix/catalox-loader.js.map +1 -0
- package/dist/execution-matrix/catalox-matrix-host.d.ts +20 -0
- package/dist/execution-matrix/catalox-matrix-host.d.ts.map +1 -0
- package/dist/execution-matrix/catalox-matrix-host.js +19 -0
- package/dist/execution-matrix/catalox-matrix-host.js.map +1 -0
- package/dist/execution-matrix/collections.d.ts +16 -0
- package/dist/execution-matrix/collections.d.ts.map +1 -0
- package/dist/execution-matrix/collections.js +75 -0
- package/dist/execution-matrix/collections.js.map +1 -0
- package/dist/execution-matrix/config-store.d.ts +104 -0
- package/dist/execution-matrix/config-store.d.ts.map +1 -0
- package/dist/execution-matrix/config-store.js +273 -0
- package/dist/execution-matrix/config-store.js.map +1 -0
- package/dist/execution-matrix/constants.d.ts +19 -0
- package/dist/execution-matrix/constants.d.ts.map +1 -0
- package/dist/execution-matrix/constants.js +19 -0
- package/dist/execution-matrix/constants.js.map +1 -0
- package/dist/execution-matrix/contracts.d.ts +568 -0
- package/dist/execution-matrix/contracts.d.ts.map +1 -0
- package/dist/execution-matrix/contracts.js +44 -0
- package/dist/execution-matrix/contracts.js.map +1 -0
- package/dist/execution-matrix/data-source.d.ts +43 -0
- package/dist/execution-matrix/data-source.d.ts.map +1 -0
- package/dist/execution-matrix/data-source.js +307 -0
- package/dist/execution-matrix/data-source.js.map +1 -0
- package/dist/execution-matrix/eligibility.d.ts +48 -0
- package/dist/execution-matrix/eligibility.d.ts.map +1 -0
- package/dist/execution-matrix/eligibility.js +89 -0
- package/dist/execution-matrix/eligibility.js.map +1 -0
- package/dist/execution-matrix/execution-matrix-claim-pause.d.ts +20 -0
- package/dist/execution-matrix/execution-matrix-claim-pause.d.ts.map +1 -0
- package/dist/execution-matrix/execution-matrix-claim-pause.js +18 -0
- package/dist/execution-matrix/execution-matrix-claim-pause.js.map +1 -0
- package/dist/execution-matrix/execution-matrix-claim-pause.spec.d.ts +2 -0
- package/dist/execution-matrix/execution-matrix-claim-pause.spec.d.ts.map +1 -0
- package/dist/execution-matrix/execution-matrix-claim-pause.spec.js +23 -0
- package/dist/execution-matrix/execution-matrix-claim-pause.spec.js.map +1 -0
- package/dist/execution-matrix/execution-matrix.live.spec.d.ts +2 -0
- package/dist/execution-matrix/execution-matrix.live.spec.d.ts.map +1 -0
- package/dist/execution-matrix/execution-matrix.live.spec.js +152 -0
- package/dist/execution-matrix/execution-matrix.live.spec.js.map +1 -0
- package/dist/execution-matrix/execution-matrix.live.xmemory.spec.d.ts +2 -0
- package/dist/execution-matrix/execution-matrix.live.xmemory.spec.d.ts.map +1 -0
- package/dist/execution-matrix/execution-matrix.live.xmemory.spec.js +346 -0
- package/dist/execution-matrix/execution-matrix.live.xmemory.spec.js.map +1 -0
- package/dist/execution-matrix/execution-matrix.spec.d.ts +2 -0
- package/dist/execution-matrix/execution-matrix.spec.d.ts.map +1 -0
- package/dist/execution-matrix/execution-matrix.spec.js +1786 -0
- package/dist/execution-matrix/execution-matrix.spec.js.map +1 -0
- package/dist/execution-matrix/execution-mode.d.ts +34 -0
- package/dist/execution-matrix/execution-mode.d.ts.map +1 -0
- package/dist/execution-matrix/execution-mode.js +72 -0
- package/dist/execution-matrix/execution-mode.js.map +1 -0
- package/dist/execution-matrix/factory.d.ts +72 -0
- package/dist/execution-matrix/factory.d.ts.map +1 -0
- package/dist/execution-matrix/factory.js +77 -0
- package/dist/execution-matrix/factory.js.map +1 -0
- package/dist/execution-matrix/graph-engine-datafilters-reexport.spec.d.ts +2 -0
- package/dist/execution-matrix/graph-engine-datafilters-reexport.spec.d.ts.map +1 -0
- package/dist/execution-matrix/graph-engine-datafilters-reexport.spec.js +48 -0
- package/dist/execution-matrix/graph-engine-datafilters-reexport.spec.js.map +1 -0
- package/dist/execution-matrix/graph-entry-xmemory-load.d.ts +130 -0
- package/dist/execution-matrix/graph-entry-xmemory-load.d.ts.map +1 -0
- package/dist/execution-matrix/graph-entry-xmemory-load.js +146 -0
- package/dist/execution-matrix/graph-entry-xmemory-load.js.map +1 -0
- package/dist/execution-matrix/graph-entry-xmemory-load.spec.d.ts +2 -0
- package/dist/execution-matrix/graph-entry-xmemory-load.spec.d.ts.map +1 -0
- package/dist/execution-matrix/graph-entry-xmemory-load.spec.js +66 -0
- package/dist/execution-matrix/graph-entry-xmemory-load.spec.js.map +1 -0
- package/dist/execution-matrix/graph-operational-aggregates.d.ts +47 -0
- package/dist/execution-matrix/graph-operational-aggregates.d.ts.map +1 -0
- package/dist/execution-matrix/graph-operational-aggregates.js +137 -0
- package/dist/execution-matrix/graph-operational-aggregates.js.map +1 -0
- package/dist/execution-matrix/graph-operational-lifecycle.d.ts +43 -0
- package/dist/execution-matrix/graph-operational-lifecycle.d.ts.map +1 -0
- package/dist/execution-matrix/graph-operational-lifecycle.js +88 -0
- package/dist/execution-matrix/graph-operational-lifecycle.js.map +1 -0
- package/dist/execution-matrix/graph-operational.spec.d.ts +2 -0
- package/dist/execution-matrix/graph-operational.spec.d.ts.map +1 -0
- package/dist/execution-matrix/graph-operational.spec.js +203 -0
- package/dist/execution-matrix/graph-operational.spec.js.map +1 -0
- package/dist/execution-matrix/index.d.ts +73 -0
- package/dist/execution-matrix/index.d.ts.map +1 -0
- package/dist/execution-matrix/index.js +57 -0
- package/dist/execution-matrix/index.js.map +1 -0
- package/dist/execution-matrix/live-tier-open.d.ts +6 -0
- package/dist/execution-matrix/live-tier-open.d.ts.map +1 -0
- package/dist/execution-matrix/live-tier-open.js +6 -0
- package/dist/execution-matrix/live-tier-open.js.map +1 -0
- package/dist/execution-matrix/materializer.d.ts +99 -0
- package/dist/execution-matrix/materializer.d.ts.map +1 -0
- package/dist/execution-matrix/materializer.js +210 -0
- package/dist/execution-matrix/materializer.js.map +1 -0
- package/dist/execution-matrix/matrix-activix.d.ts +24 -0
- package/dist/execution-matrix/matrix-activix.d.ts.map +1 -0
- package/dist/execution-matrix/matrix-activix.js +34 -0
- package/dist/execution-matrix/matrix-activix.js.map +1 -0
- package/dist/execution-matrix/matrix-data-tier.d.ts +55 -0
- package/dist/execution-matrix/matrix-data-tier.d.ts.map +1 -0
- package/dist/execution-matrix/matrix-data-tier.js +74 -0
- package/dist/execution-matrix/matrix-data-tier.js.map +1 -0
- package/dist/execution-matrix/matrix-execute-graph-adapter.d.ts +43 -0
- package/dist/execution-matrix/matrix-execute-graph-adapter.d.ts.map +1 -0
- package/dist/execution-matrix/matrix-execute-graph-adapter.js +62 -0
- package/dist/execution-matrix/matrix-execute-graph-adapter.js.map +1 -0
- package/dist/execution-matrix/matrix-execute-graph-adapter.spec.d.ts +2 -0
- package/dist/execution-matrix/matrix-execute-graph-adapter.spec.d.ts.map +1 -0
- package/dist/execution-matrix/matrix-execute-graph-adapter.spec.js +60 -0
- package/dist/execution-matrix/matrix-execute-graph-adapter.spec.js.map +1 -0
- package/dist/execution-matrix/matrix-logxer.d.ts +15 -0
- package/dist/execution-matrix/matrix-logxer.d.ts.map +1 -0
- package/dist/execution-matrix/matrix-logxer.js +65 -0
- package/dist/execution-matrix/matrix-logxer.js.map +1 -0
- package/dist/execution-matrix/matrix-read-tier.d.ts +41 -0
- package/dist/execution-matrix/matrix-read-tier.d.ts.map +1 -0
- package/dist/execution-matrix/matrix-read-tier.js +41 -0
- package/dist/execution-matrix/matrix-read-tier.js.map +1 -0
- package/dist/execution-matrix/memorix-entity-type-helpers.d.ts +25 -0
- package/dist/execution-matrix/memorix-entity-type-helpers.d.ts.map +1 -0
- package/dist/execution-matrix/memorix-entity-type-helpers.js +32 -0
- package/dist/execution-matrix/memorix-entity-type-helpers.js.map +1 -0
- package/dist/execution-matrix/memorix-entity-type-helpers.spec.d.ts +2 -0
- package/dist/execution-matrix/memorix-entity-type-helpers.spec.d.ts.map +1 -0
- package/dist/execution-matrix/memorix-entity-type-helpers.spec.js +83 -0
- package/dist/execution-matrix/memorix-entity-type-helpers.spec.js.map +1 -0
- package/dist/execution-matrix/memorix-inference-persister.d.ts +73 -0
- package/dist/execution-matrix/memorix-inference-persister.d.ts.map +1 -0
- package/dist/execution-matrix/memorix-inference-persister.js +126 -0
- package/dist/execution-matrix/memorix-inference-persister.js.map +1 -0
- package/dist/execution-matrix/memorix-inference-persister.spec.d.ts +2 -0
- package/dist/execution-matrix/memorix-inference-persister.spec.d.ts.map +1 -0
- package/dist/execution-matrix/memorix-inference-persister.spec.js +117 -0
- package/dist/execution-matrix/memorix-inference-persister.spec.js.map +1 -0
- package/dist/execution-matrix/memorix-matrix-entity-facet.d.ts +71 -0
- package/dist/execution-matrix/memorix-matrix-entity-facet.d.ts.map +1 -0
- package/dist/execution-matrix/memorix-matrix-entity-facet.js +91 -0
- package/dist/execution-matrix/memorix-matrix-entity-facet.js.map +1 -0
- package/dist/execution-matrix/memorix-matrix-entity-facet.spec.d.ts +2 -0
- package/dist/execution-matrix/memorix-matrix-entity-facet.spec.d.ts.map +1 -0
- package/dist/execution-matrix/memorix-matrix-entity-facet.spec.js +151 -0
- package/dist/execution-matrix/memorix-matrix-entity-facet.spec.js.map +1 -0
- package/dist/execution-matrix/memorix-runtime-tier.d.ts +153 -0
- package/dist/execution-matrix/memorix-runtime-tier.d.ts.map +1 -0
- package/dist/execution-matrix/memorix-runtime-tier.js +185 -0
- package/dist/execution-matrix/memorix-runtime-tier.js.map +1 -0
- package/dist/execution-matrix/memorix-tier-statistics.d.ts +103 -0
- package/dist/execution-matrix/memorix-tier-statistics.d.ts.map +1 -0
- package/dist/execution-matrix/memorix-tier-statistics.js +164 -0
- package/dist/execution-matrix/memorix-tier-statistics.js.map +1 -0
- package/dist/execution-matrix/memory-store.d.ts +20 -0
- package/dist/execution-matrix/memory-store.d.ts.map +1 -0
- package/dist/execution-matrix/memory-store.js +185 -0
- package/dist/execution-matrix/memory-store.js.map +1 -0
- package/dist/execution-matrix/navigator.d.ts +97 -0
- package/dist/execution-matrix/navigator.d.ts.map +1 -0
- package/dist/execution-matrix/navigator.js +119 -0
- package/dist/execution-matrix/navigator.js.map +1 -0
- package/dist/execution-matrix/orchestrator.d.ts +204 -0
- package/dist/execution-matrix/orchestrator.d.ts.map +1 -0
- package/dist/execution-matrix/orchestrator.js +656 -0
- package/dist/execution-matrix/orchestrator.js.map +1 -0
- package/dist/execution-matrix/records-eligibility.d.ts +34 -0
- package/dist/execution-matrix/records-eligibility.d.ts.map +1 -0
- package/dist/execution-matrix/records-eligibility.js +110 -0
- package/dist/execution-matrix/records-eligibility.js.map +1 -0
- package/dist/execution-matrix/records-eligibility.spec.d.ts +2 -0
- package/dist/execution-matrix/records-eligibility.spec.d.ts.map +1 -0
- package/dist/execution-matrix/records-eligibility.spec.js +154 -0
- package/dist/execution-matrix/records-eligibility.spec.js.map +1 -0
- package/dist/execution-matrix/run-loop.d.ts +140 -0
- package/dist/execution-matrix/run-loop.d.ts.map +1 -0
- package/dist/execution-matrix/run-loop.js +350 -0
- package/dist/execution-matrix/run-loop.js.map +1 -0
- package/dist/execution-matrix/runtime-connectivity-health.d.ts +128 -0
- package/dist/execution-matrix/runtime-connectivity-health.d.ts.map +1 -0
- package/dist/execution-matrix/runtime-connectivity-health.js +253 -0
- package/dist/execution-matrix/runtime-connectivity-health.js.map +1 -0
- package/dist/execution-matrix/runtime-connectivity-health.spec.d.ts +2 -0
- package/dist/execution-matrix/runtime-connectivity-health.spec.d.ts.map +1 -0
- package/dist/execution-matrix/runtime-connectivity-health.spec.js +23 -0
- package/dist/execution-matrix/runtime-connectivity-health.spec.js.map +1 -0
- package/dist/execution-matrix/runtime-objects.d.ts +16 -0
- package/dist/execution-matrix/runtime-objects.d.ts.map +1 -0
- package/dist/execution-matrix/runtime-objects.js +20 -0
- package/dist/execution-matrix/runtime-objects.js.map +1 -0
- package/dist/execution-matrix/runtime-store.d.ts +114 -0
- package/dist/execution-matrix/runtime-store.d.ts.map +1 -0
- package/dist/execution-matrix/runtime-store.js +506 -0
- package/dist/execution-matrix/runtime-store.js.map +1 -0
- package/dist/execution-matrix/snapshot-runner.d.ts +50 -0
- package/dist/execution-matrix/snapshot-runner.d.ts.map +1 -0
- package/dist/execution-matrix/snapshot-runner.js +111 -0
- package/dist/execution-matrix/snapshot-runner.js.map +1 -0
- package/dist/execution-matrix/source-resolver-factories.d.ts +31 -0
- package/dist/execution-matrix/source-resolver-factories.d.ts.map +1 -0
- package/dist/execution-matrix/source-resolver-factories.js +71 -0
- package/dist/execution-matrix/source-resolver-factories.js.map +1 -0
- package/dist/execution-matrix/source-resolver-factories.spec.d.ts +2 -0
- package/dist/execution-matrix/source-resolver-factories.spec.d.ts.map +1 -0
- package/dist/execution-matrix/source-resolver-factories.spec.js +127 -0
- package/dist/execution-matrix/source-resolver-factories.spec.js.map +1 -0
- package/dist/execution-matrix/source-resolver.d.ts +31 -0
- package/dist/execution-matrix/source-resolver.d.ts.map +1 -0
- package/dist/execution-matrix/source-resolver.js +26 -0
- package/dist/execution-matrix/source-resolver.js.map +1 -0
- package/dist/execution-matrix/status.d.ts +7 -0
- package/dist/execution-matrix/status.d.ts.map +1 -0
- package/dist/execution-matrix/status.js +33 -0
- package/dist/execution-matrix/status.js.map +1 -0
- package/dist/execution-matrix/xmemory-entity-collections.d.ts +69 -0
- package/dist/execution-matrix/xmemory-entity-collections.d.ts.map +1 -0
- package/dist/execution-matrix/xmemory-entity-collections.js +120 -0
- package/dist/execution-matrix/xmemory-entity-collections.js.map +1 -0
- package/dist/execution-matrix/xmemory-entity-collections.spec.d.ts +2 -0
- package/dist/execution-matrix/xmemory-entity-collections.spec.d.ts.map +1 -0
- package/dist/execution-matrix/xmemory-entity-collections.spec.js +112 -0
- package/dist/execution-matrix/xmemory-entity-collections.spec.js.map +1 -0
- package/dist/execution-matrix/xmemory-op-tier.d.ts +172 -0
- package/dist/execution-matrix/xmemory-op-tier.d.ts.map +1 -0
- package/dist/execution-matrix/xmemory-op-tier.js +339 -0
- package/dist/execution-matrix/xmemory-op-tier.js.map +1 -0
- package/dist/execution-matrix/xmemory-op-tier.spec.d.ts +2 -0
- package/dist/execution-matrix/xmemory-op-tier.spec.d.ts.map +1 -0
- package/dist/execution-matrix/xmemory-op-tier.spec.js +198 -0
- package/dist/execution-matrix/xmemory-op-tier.spec.js.map +1 -0
- package/dist/execution-matrix/xronox-matrix-factory.d.ts +38 -0
- package/dist/execution-matrix/xronox-matrix-factory.d.ts.map +1 -0
- package/dist/execution-matrix/xronox-matrix-factory.js +77 -0
- package/dist/execution-matrix/xronox-matrix-factory.js.map +1 -0
- package/dist/execution-matrix/xronox-store-native-driver-hooks.d.ts +15 -0
- package/dist/execution-matrix/xronox-store-native-driver-hooks.d.ts.map +1 -0
- package/dist/execution-matrix/xronox-store-native-driver-hooks.js +41 -0
- package/dist/execution-matrix/xronox-store-native-driver-hooks.js.map +1 -0
- package/dist/test-fixtures/exellix-test-matrix-ids.d.ts +16 -0
- package/dist/test-fixtures/exellix-test-matrix-ids.d.ts.map +1 -0
- package/dist/test-fixtures/exellix-test-matrix-ids.js +16 -0
- package/dist/test-fixtures/exellix-test-matrix-ids.js.map +1 -0
- package/dist/test-fixtures/seed-exellix-test-matrix-config.d.ts +26 -0
- package/dist/test-fixtures/seed-exellix-test-matrix-config.d.ts.map +1 -0
- package/dist/test-fixtures/seed-exellix-test-matrix-config.js +82 -0
- package/dist/test-fixtures/seed-exellix-test-matrix-config.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Operations / Studio: connectivity and identity payload for **`runtime-real`** style hosts.
|
|
3
|
+
* HTTP routes live in the product BFF; this module returns JSON-safe structures to serialize from
|
|
4
|
+
* `GET /api/runtime-real/health` (or `?probe=dependencies` on an existing status route).
|
|
5
|
+
*
|
|
6
|
+
* @see docs/execution-matrix-runtime.md — “Runtime-real health”
|
|
7
|
+
*/
|
|
8
|
+
import { readFileSync } from 'node:fs';
|
|
9
|
+
import path from 'node:path';
|
|
10
|
+
import { fileURLToPath } from 'node:url';
|
|
11
|
+
import { getActivixActivityPersistenceSnapshotInMongo, testActivixMongoConnection, } from '@x12i/activix';
|
|
12
|
+
import { resolveXmemoryStoreEnv } from './memorix-runtime-tier.js';
|
|
13
|
+
import { executionMatrixRowsCollectionDef, exellixMatrixConfigsCollectionDef } from './collections.js';
|
|
14
|
+
/** Suggested Studio / BFF path (Graphs Studio `vite-plugin-runtime-real-api` convention). */
|
|
15
|
+
export const EXELLIX_RUNTIME_REAL_HEALTH_PATH = '/api/runtime-real/health';
|
|
16
|
+
function errMessage(e) {
|
|
17
|
+
return e instanceof Error ? e.message : String(e);
|
|
18
|
+
}
|
|
19
|
+
function resolveBuildId(fallbackVersion, explicit) {
|
|
20
|
+
const fromEnv = (typeof process !== 'undefined' && process.env.EXELLIX_RUNTIME_BUILD_ID?.trim()) ||
|
|
21
|
+
(typeof process !== 'undefined' && process.env.GIT_SHA?.trim()) ||
|
|
22
|
+
'';
|
|
23
|
+
return (explicit && explicit.trim()) || fromEnv || fallbackVersion;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Strip credentials from a Mongo URI for operator dashboards (**host + path + protocol only**).
|
|
27
|
+
*/
|
|
28
|
+
export function redactMongoUriForDiagnostics(raw) {
|
|
29
|
+
const s = String(raw).trim();
|
|
30
|
+
if (!s)
|
|
31
|
+
return '(empty)';
|
|
32
|
+
try {
|
|
33
|
+
const u = new URL(s);
|
|
34
|
+
return `${u.protocol}//${u.host}${u.pathname === '/' ? '' : u.pathname}`;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return '(unparseable)';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
let cachedPackageJson;
|
|
41
|
+
function loadSelfPackageJson() {
|
|
42
|
+
if (cachedPackageJson)
|
|
43
|
+
return cachedPackageJson;
|
|
44
|
+
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
45
|
+
const pkgPath = path.join(here, '..', '..', 'package.json');
|
|
46
|
+
const text = readFileSync(pkgPath, 'utf8');
|
|
47
|
+
cachedPackageJson = JSON.parse(text);
|
|
48
|
+
return cachedPackageJson;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Package versions from this repo’s **`package.json`** (what support correlates with the published tarball / lockfile).
|
|
52
|
+
*/
|
|
53
|
+
export function readExellixRuntimeHealthPackageVersions() {
|
|
54
|
+
const pkg = loadSelfPackageJson();
|
|
55
|
+
const deps = pkg.dependencies ?? {};
|
|
56
|
+
const out = {
|
|
57
|
+
'@exellix/exellix-runtime': pkg.version ?? 'unknown',
|
|
58
|
+
'@exellix/graph-engine': deps['@exellix/graph-engine'],
|
|
59
|
+
};
|
|
60
|
+
for (const [k, v] of Object.entries(deps)) {
|
|
61
|
+
if (k.startsWith('@x12i/')) {
|
|
62
|
+
out[k] = v;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return out;
|
|
66
|
+
}
|
|
67
|
+
async function probeMongoDriverCountHook(col) {
|
|
68
|
+
try {
|
|
69
|
+
await col.countMatching({}, {});
|
|
70
|
+
return 'available';
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
const msg = errMessage(e);
|
|
74
|
+
if (/mongoDriverCount|countMatching requires/i.test(msg))
|
|
75
|
+
return 'unavailable';
|
|
76
|
+
throw e;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async function probeStoreRead(store, collectionName) {
|
|
80
|
+
const t0 = Date.now();
|
|
81
|
+
let connected = false;
|
|
82
|
+
try {
|
|
83
|
+
await store.init();
|
|
84
|
+
connected = store.isConnected();
|
|
85
|
+
const col = store.collection(collectionName);
|
|
86
|
+
await col.readMany({}, { limit: 1 });
|
|
87
|
+
const readProbeMs = Date.now() - t0;
|
|
88
|
+
connected = store.isConnected();
|
|
89
|
+
let mongoDriverCount = 'unavailable';
|
|
90
|
+
try {
|
|
91
|
+
mongoDriverCount = await probeMongoDriverCountHook(col);
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
mongoDriverCount = 'unavailable';
|
|
95
|
+
}
|
|
96
|
+
return { ok: true, readProbeMs, connected, mongoDriverCount };
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
return {
|
|
100
|
+
ok: false,
|
|
101
|
+
reason: errMessage(e),
|
|
102
|
+
readProbeMs: Date.now() - t0,
|
|
103
|
+
connected: (() => {
|
|
104
|
+
try {
|
|
105
|
+
return store.isConnected();
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return connected;
|
|
109
|
+
}
|
|
110
|
+
})(),
|
|
111
|
+
mongoDriverCount: 'skipped',
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Full connectivity probe for BFF **`/api/runtime-real/health`** (or **`?probe=dependencies`**).
|
|
117
|
+
*
|
|
118
|
+
* - With **no** stores passed: **`ok: true`**, **`lanes.runtime`**, **`packages`**, **`buildId`** — no graph / Catalox required.
|
|
119
|
+
* - With **`executionStore`**: top-level **`ok`** follows execution Mongo read probe (matrix persistence lane).
|
|
120
|
+
*/
|
|
121
|
+
export async function runExellixRuntimeConnectivityProbe(options = {}) {
|
|
122
|
+
const packages = readExellixRuntimeHealthPackageVersions();
|
|
123
|
+
const timestamp = new Date().toISOString();
|
|
124
|
+
const buildId = resolveBuildId(packages['@exellix/exellix-runtime'], options.buildId);
|
|
125
|
+
const lanes = {
|
|
126
|
+
runtime: {
|
|
127
|
+
ok: true,
|
|
128
|
+
...(typeof process !== 'undefined' && typeof process.uptime === 'function'
|
|
129
|
+
? { uptimeSec: Math.floor(process.uptime()) }
|
|
130
|
+
: {}),
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
let ok = true;
|
|
134
|
+
if (options.executionStore) {
|
|
135
|
+
const collection = options.executionPingCollection ?? executionMatrixRowsCollectionDef().name;
|
|
136
|
+
const probe = await probeStoreRead(options.executionStore, collection);
|
|
137
|
+
lanes.executionMongo = {
|
|
138
|
+
ok: probe.ok,
|
|
139
|
+
collection,
|
|
140
|
+
...(options.executionMongoUri ? { connectionFingerprint: redactMongoUriForDiagnostics(options.executionMongoUri) } : {}),
|
|
141
|
+
...(probe.ok
|
|
142
|
+
? { readProbeMs: probe.readProbeMs, connected: probe.connected, mongoDriverCount: probe.mongoDriverCount }
|
|
143
|
+
: { reason: probe.reason, readProbeMs: probe.readProbeMs, connected: probe.connected, mongoDriverCount: probe.mongoDriverCount }),
|
|
144
|
+
};
|
|
145
|
+
if (!probe.ok)
|
|
146
|
+
ok = false;
|
|
147
|
+
}
|
|
148
|
+
if (options.configStore) {
|
|
149
|
+
const collection = options.configPingCollection ?? exellixMatrixConfigsCollectionDef().name;
|
|
150
|
+
const probe = await probeStoreRead(options.configStore, collection);
|
|
151
|
+
lanes.configMongo = {
|
|
152
|
+
ok: probe.ok,
|
|
153
|
+
collection,
|
|
154
|
+
...(options.configMongoUri ? { connectionFingerprint: redactMongoUriForDiagnostics(options.configMongoUri) } : {}),
|
|
155
|
+
...(probe.ok
|
|
156
|
+
? { readProbeMs: probe.readProbeMs, connected: probe.connected, mongoDriverCount: probe.mongoDriverCount }
|
|
157
|
+
: { reason: probe.reason, readProbeMs: probe.readProbeMs, connected: probe.connected, mongoDriverCount: probe.mongoDriverCount }),
|
|
158
|
+
};
|
|
159
|
+
if (!probe.ok)
|
|
160
|
+
ok = false;
|
|
161
|
+
}
|
|
162
|
+
if (options.includeXmemoryEnv) {
|
|
163
|
+
try {
|
|
164
|
+
const env = resolveXmemoryStoreEnv();
|
|
165
|
+
lanes.xmemory = {
|
|
166
|
+
ok: true,
|
|
167
|
+
connectionFingerprint: redactMongoUriForDiagnostics(env.mongoUri),
|
|
168
|
+
mapsDb: env.mapsDb,
|
|
169
|
+
opDb: env.opDb,
|
|
170
|
+
thingsDb: env.thingsDb,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
catch (e) {
|
|
174
|
+
lanes.xmemory = { ok: false, reason: errMessage(e) };
|
|
175
|
+
ok = false;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
if (options.includeActivixSchedulerProbe) {
|
|
179
|
+
const collection = options.activixActivitiesCollection?.trim() ||
|
|
180
|
+
(typeof process !== 'undefined' && process.env.EXELLIX_RUNTIME_ACTIVIX_COLLECTION?.trim()) ||
|
|
181
|
+
'exellix-execution-matrix-activities';
|
|
182
|
+
const workerIdentity = options.workerIdentity?.trim() ||
|
|
183
|
+
(typeof process !== 'undefined' && process.env.MATRIX_WORKER_ID?.trim()) ||
|
|
184
|
+
(typeof process !== 'undefined' && process.env.WORKER_ID?.trim()) ||
|
|
185
|
+
(typeof process !== 'undefined' && process.env.HOSTNAME?.trim()) ||
|
|
186
|
+
undefined;
|
|
187
|
+
const ping = await testActivixMongoConnection();
|
|
188
|
+
let laneOk = ping.ok;
|
|
189
|
+
let reason;
|
|
190
|
+
if (!ping.ok) {
|
|
191
|
+
reason = 'reason' in ping ? ping.reason : 'activix mongo ping failed';
|
|
192
|
+
}
|
|
193
|
+
let visibleActivityCount;
|
|
194
|
+
let lastActivityStartTime;
|
|
195
|
+
if (laneOk) {
|
|
196
|
+
try {
|
|
197
|
+
const snap = await getActivixActivityPersistenceSnapshotInMongo(3, { collection });
|
|
198
|
+
visibleActivityCount = snap.count;
|
|
199
|
+
const st = snap.latest[0]?.startTime;
|
|
200
|
+
if (typeof st === 'string' && st)
|
|
201
|
+
lastActivityStartTime = st;
|
|
202
|
+
else if (st instanceof Date)
|
|
203
|
+
lastActivityStartTime = st.toISOString();
|
|
204
|
+
}
|
|
205
|
+
catch (e) {
|
|
206
|
+
laneOk = false;
|
|
207
|
+
reason = errMessage(e);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
lanes.scheduler = {
|
|
211
|
+
ok: laneOk,
|
|
212
|
+
mode: 'activix-mongo',
|
|
213
|
+
mongoPingOk: ping.ok,
|
|
214
|
+
collection,
|
|
215
|
+
...(visibleActivityCount !== undefined ? { visibleActivityCount } : {}),
|
|
216
|
+
...(lastActivityStartTime ? { lastActivityStartTime } : {}),
|
|
217
|
+
...(workerIdentity ? { workerIdentity } : {}),
|
|
218
|
+
...(laneOk ? {} : { reason }),
|
|
219
|
+
};
|
|
220
|
+
if (!laneOk && options.schedulerLaneCritical)
|
|
221
|
+
ok = false;
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
lanes.scheduler = {
|
|
225
|
+
ok: true,
|
|
226
|
+
mode: 'skipped',
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
return { ok, timestamp, buildId, packages, lanes };
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Minimal process liveness JSON (**no Mongo I/O**) — safe for the lightest **`GET …/health`** handler.
|
|
233
|
+
*/
|
|
234
|
+
export function buildExellixRuntimeRealLivenessPayload(options) {
|
|
235
|
+
const packages = readExellixRuntimeHealthPackageVersions();
|
|
236
|
+
const timestamp = new Date().toISOString();
|
|
237
|
+
const buildId = resolveBuildId(packages['@exellix/exellix-runtime'], options?.buildId);
|
|
238
|
+
return {
|
|
239
|
+
ok: true,
|
|
240
|
+
timestamp,
|
|
241
|
+
buildId,
|
|
242
|
+
packages,
|
|
243
|
+
lanes: {
|
|
244
|
+
runtime: {
|
|
245
|
+
ok: true,
|
|
246
|
+
...(typeof process !== 'undefined' && typeof process.uptime === 'function'
|
|
247
|
+
? { uptimeSec: Math.floor(process.uptime()) }
|
|
248
|
+
: {}),
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=runtime-connectivity-health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-connectivity-health.js","sourceRoot":"","sources":["../../src/execution-matrix/runtime-connectivity-health.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-connectivity-health.spec.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/runtime-connectivity-health.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { redactMongoUriForDiagnostics, readExellixRuntimeHealthPackageVersions } from './runtime-connectivity-health.js';
|
|
3
|
+
describe('redactMongoUriForDiagnostics', () => {
|
|
4
|
+
it('strips userinfo and keeps host + db path', () => {
|
|
5
|
+
expect(redactMongoUriForDiagnostics('mongodb://user:secret@host1.example:27017/exellix-runtime')).toBe('mongodb://host1.example:27017/exellix-runtime');
|
|
6
|
+
});
|
|
7
|
+
it('handles mongodb+srv', () => {
|
|
8
|
+
expect(redactMongoUriForDiagnostics('mongodb+srv://u:p@cluster0.abcd.mongodb.net/mydb?retryWrites=true')).toBe('mongodb+srv://cluster0.abcd.mongodb.net/mydb');
|
|
9
|
+
});
|
|
10
|
+
it('returns placeholders for empty or invalid', () => {
|
|
11
|
+
expect(redactMongoUriForDiagnostics('')).toBe('(empty)');
|
|
12
|
+
expect(redactMongoUriForDiagnostics('not-a-uri')).toBe('(unparseable)');
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
describe('readExellixRuntimeHealthPackageVersions', () => {
|
|
16
|
+
it('includes this package and @x12i deps', () => {
|
|
17
|
+
const v = readExellixRuntimeHealthPackageVersions();
|
|
18
|
+
expect(v['@exellix/exellix-runtime']).toMatch(/\d+\.\d+\.\d+|unknown/);
|
|
19
|
+
expect(v['@x12i/memorix-retrieval']).toBeDefined();
|
|
20
|
+
expect(v['@exellix/graph-engine']).toBeDefined();
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=runtime-connectivity-health.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-connectivity-health.spec.js","sourceRoot":"","sources":["../../src/execution-matrix/runtime-connectivity-health.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,uCAAuC,EAAE,MAAM,kCAAkC,CAAC;AAEzH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,4BAA4B,CAAC,2DAA2D,CAAC,CAAC,CAAC,IAAI,CACpG,+CAA+C,CAChD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,4BAA4B,CAAC,mEAAmE,CAAC,CAAC,CAAC,IAAI,CAC5G,8CAA8C,CAC/C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,GAAG,uCAAuC,EAAE,CAAC;QACpD,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACvE,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type RuntimeObjects } from '@exellix/graph-engine';
|
|
2
|
+
export type BuildExecutionMatrixRuntimeObjectsInput = {
|
|
3
|
+
/** Matrix-layer Activix (`getJobActivities`); must not replace graph-engine’s instance. */
|
|
4
|
+
matrixActivixClient?: RuntimeObjects['activixClient'];
|
|
5
|
+
/** Matrix-layer Logxer query surface (`getJobLogs`). */
|
|
6
|
+
matrixLogxerClient?: RuntimeObjects['logxerClient'];
|
|
7
|
+
/** Output of {@link buildExellixGraphRuntimeObjects} from `@exellix/graph-engine`. */
|
|
8
|
+
graphRuntimeObjects: RuntimeObjects;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Composes execution-matrix root observability with graph-engine + downstream package rows.
|
|
12
|
+
* Root clients are matrix-owned; graph-level clients are preserved under the first package entry
|
|
13
|
+
* (`@exellix/graph-engine`) without overwriting ai-tasks or other nested rows.
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildExecutionMatrixRuntimeObjects(input: BuildExecutionMatrixRuntimeObjectsInput): RuntimeObjects;
|
|
16
|
+
//# sourceMappingURL=runtime-objects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-objects.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/runtime-objects.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,uCAAuC,GAAG;IACpD,2FAA2F;IAC3F,mBAAmB,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IACtD,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IACpD,sFAAsF;IACtF,mBAAmB,EAAE,cAAc,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,uCAAuC,GAC7C,cAAc,CAYhB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EXELLIX_GRAPH_RUNTIME_PACKAGE_NAME, } from '@exellix/graph-engine';
|
|
2
|
+
/**
|
|
3
|
+
* Composes execution-matrix root observability with graph-engine + downstream package rows.
|
|
4
|
+
* Root clients are matrix-owned; graph-level clients are preserved under the first package entry
|
|
5
|
+
* (`@exellix/graph-engine`) without overwriting ai-tasks or other nested rows.
|
|
6
|
+
*/
|
|
7
|
+
export function buildExecutionMatrixRuntimeObjects(input) {
|
|
8
|
+
const graph = input.graphRuntimeObjects;
|
|
9
|
+
const graphEngineRow = {
|
|
10
|
+
name: EXELLIX_GRAPH_RUNTIME_PACKAGE_NAME,
|
|
11
|
+
activixClient: graph.activixClient,
|
|
12
|
+
logxerClient: graph.logxerClient,
|
|
13
|
+
};
|
|
14
|
+
return {
|
|
15
|
+
activixClient: input.matrixActivixClient,
|
|
16
|
+
logxerClient: input.matrixLogxerClient,
|
|
17
|
+
packagesRuntimeObjects: [graphEngineRow, ...graph.packagesRuntimeObjects],
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=runtime-objects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-objects.js","sourceRoot":"","sources":["../../src/execution-matrix/runtime-objects.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,GAGnC,MAAM,uBAAuB,CAAC;AAW/B;;;;GAIG;AACH,MAAM,UAAU,kCAAkC,CAChD,KAA8C;IAE9C,MAAM,KAAK,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACxC,MAAM,cAAc,GAA0B;QAC5C,IAAI,EAAE,kCAAkC;QACxC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAC;IACF,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,mBAAmB;QACxC,YAAY,EAAE,KAAK,CAAC,kBAAkB;QACtC,sBAAsB,EAAE,CAAC,cAAc,EAAE,GAAG,KAAK,CAAC,sBAAsB,CAAC;KAC1E,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { XronoxCollection } from '@x12i/xronox-store';
|
|
2
|
+
import type { BatchLookupSourceExecutionStatusesOptions, ClaimNextOptions, ClaimRecordOptions, ClaimResult, CountFailureRecordsOptions, ExecutionMatrixFailureRecord, ExecutionMatrixInference, ExecutionMatrixRuntimeRecord, ExecutionMatrixRuntimeStep, CountSnapshotsOptions, ExecutionMatrixSnapshotRecord, ExecutionMatrixStatus, ExecutionMatrixStatusCounts, ExecutionMatrixStepLastAttempt, FailureRecordsFilter, ListFailureRecordsOptions, ListMatrixRowsOptions, ListSnapshotsOptions, SourceExecutionStatusMap } from './contracts.js';
|
|
3
|
+
/** xronox / memory filter for matrix rows scoped by catalog and optional per-graph execution slot. */
|
|
4
|
+
export declare function buildMatrixRowReadFilter(matrixCatalogId: string, matrixRunId: string | undefined, graphId: string | undefined, status: ExecutionMatrixStatus | undefined, extra?: Record<string, unknown>): Record<string, unknown>;
|
|
5
|
+
/** xronox filter for snapshot reads (shared by {@link ExecutionMatrixRuntime.listSnapshots} / {@link ExecutionMatrixRuntime.countSnapshots}). */
|
|
6
|
+
export declare function buildSnapshotsReadFilter(opts: ListSnapshotsOptions | CountSnapshotsOptions): Record<string, unknown>;
|
|
7
|
+
/** xronox filter for failure reads (shared by count/list). */
|
|
8
|
+
export declare function buildFailureRecordsReadFilter(opts: FailureRecordsFilter): Record<string, unknown>;
|
|
9
|
+
/**
|
|
10
|
+
* Runtime persistence for execution matrix rows, failure side-channel, and snapshots.
|
|
11
|
+
* **All reads and writes go through {@link @x12i/xronox-store} collections** — this package does not
|
|
12
|
+
* accept or open a native Mongo `Db` handle. Claims use read–modify–write on the rows collection;
|
|
13
|
+
* set `serializeClaims: false` only when a single worker owns claims (unsafe under concurrent claimants).
|
|
14
|
+
*
|
|
15
|
+
* Snapshots are operational artifacts produced by `query-snapshot` data sources (see
|
|
16
|
+
* {@link ExecutionMatrixSnapshotRecord}). The collection is optional — when omitted the
|
|
17
|
+
* snapshot CRUD methods throw, which keeps existing callers (no snapshot use case) unaffected.
|
|
18
|
+
*/
|
|
19
|
+
export declare class ExecutionMatrixRuntime {
|
|
20
|
+
private readonly rows;
|
|
21
|
+
private readonly failures;
|
|
22
|
+
private readonly options;
|
|
23
|
+
private claimChain;
|
|
24
|
+
private readonly snapshots?;
|
|
25
|
+
constructor(rows: XronoxCollection<Record<string, unknown>>, failures: XronoxCollection<Record<string, unknown>>, options?: {
|
|
26
|
+
/**
|
|
27
|
+
* When true (default), serializes `claimNext` / `claimRecord` so overlapping workers do not
|
|
28
|
+
* corrupt the optimistic claim path. Set false only for single-worker deployments.
|
|
29
|
+
*/
|
|
30
|
+
serializeClaims?: boolean;
|
|
31
|
+
/** Optional snapshots collection backing query-snapshot data sources. */
|
|
32
|
+
snapshots?: XronoxCollection<Record<string, unknown>>;
|
|
33
|
+
});
|
|
34
|
+
private withClaimLock;
|
|
35
|
+
private requireSnapshots;
|
|
36
|
+
insertRuntimeRow(row: ExecutionMatrixRuntimeRecord): Promise<string>;
|
|
37
|
+
getRecord(matrixRowId: string): Promise<ExecutionMatrixRuntimeRecord | null>;
|
|
38
|
+
listRecords(opts: ListMatrixRowsOptions): Promise<ExecutionMatrixRuntimeRecord[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Batch read execution slots for many source keys across one or more matrix catalogs, then
|
|
41
|
+
* {@link rollupSourceExecutionStatuses}.
|
|
42
|
+
*
|
|
43
|
+
* Uses {@link listRecords} with `extraFilter` `{ [sourceKeyPath]: { $in: sourceKeys } }` per scope.
|
|
44
|
+
*/
|
|
45
|
+
batchLookupSourceExecutionStatuses(opts: BatchLookupSourceExecutionStatusesOptions): Promise<SourceExecutionStatusMap>;
|
|
46
|
+
getStatusCounts(matrixCatalogId: string, graphId: string, matrixRunId?: string): Promise<ExecutionMatrixStatusCounts>;
|
|
47
|
+
/**
|
|
48
|
+
* Count matrix rows matching a Mongo-style filter (same shapes as {@link listRecords} / xronox).
|
|
49
|
+
* Uses {@link XronoxCollection.countMatching} when the backing collection implements it; otherwise
|
|
50
|
+
* falls back to a capped {@link readMany} (up to `readManyFallbackCap` documents).
|
|
51
|
+
*/
|
|
52
|
+
countRowsMatching(filter: Record<string, unknown>, readManyFallbackCap?: number): Promise<number>;
|
|
53
|
+
/**
|
|
54
|
+
* Count failure audit documents for dashboards / alerts via xronox `readMany`
|
|
55
|
+
* (best-effort; cap via `readManyCap` for very large collections).
|
|
56
|
+
*
|
|
57
|
+
* Prefer this API (or {@link listFailureRecords}) over calling the failures collection's
|
|
58
|
+
* `readMany` directly so filter shapes stay aligned with runtime indexing.
|
|
59
|
+
*/
|
|
60
|
+
countFailureRecords(opts: CountFailureRecordsOptions, readManyCap?: number): Promise<number>;
|
|
61
|
+
/**
|
|
62
|
+
* List failure audit documents through the runtime (newest first by default: `createdAt: -1`).
|
|
63
|
+
*
|
|
64
|
+
* @param readManyCap Upper bound on documents read from storage (default `50_000`).
|
|
65
|
+
* Effective row limit is `min(opts.limit ?? 200, readManyCap)`.
|
|
66
|
+
*/
|
|
67
|
+
listFailureRecords(opts: ListFailureRecordsOptions, readManyCap?: number): Promise<ExecutionMatrixFailureRecord[]>;
|
|
68
|
+
/** Read one failure audit document by primary key (`failureId`). */
|
|
69
|
+
getFailureRecord(failureId: string): Promise<ExecutionMatrixFailureRecord | null>;
|
|
70
|
+
/**
|
|
71
|
+
* Latest failure for a matrix row + graph (by `createdAt`, newest first).
|
|
72
|
+
* Optional `matrixCatalogId` tightens the filter when the caller knows it.
|
|
73
|
+
*/
|
|
74
|
+
getLatestFailureRecordForRowGraph(matrixRowId: string, graphId: string, opts?: {
|
|
75
|
+
matrixCatalogId?: string;
|
|
76
|
+
}): Promise<ExecutionMatrixFailureRecord | null>;
|
|
77
|
+
claimNext(opts: ClaimNextOptions): Promise<ClaimResult>;
|
|
78
|
+
claimRecord(opts: ClaimRecordOptions): Promise<ClaimResult>;
|
|
79
|
+
private _claimNextInner;
|
|
80
|
+
private _claimRecordInner;
|
|
81
|
+
/** Persist `jobId` on the in-progress execution slot for `graphId` (immediately before `executeGraph`). */
|
|
82
|
+
setExecutionStepJobId(matrixRowId: string, graphId: string, jobId: string): Promise<void>;
|
|
83
|
+
markCompleted(matrixRowId: string, graphId: string, inference: ExecutionMatrixInference, attemptMeta?: Omit<ExecutionMatrixStepLastAttempt, 'endedAt' | 'status'>): Promise<void>;
|
|
84
|
+
markFailed(matrixRowId: string, graphId: string, reason: unknown, failureExtras?: Partial<Omit<ExecutionMatrixFailureRecord, 'failureId' | 'createdAt'>>, attemptMeta?: Omit<ExecutionMatrixStepLastAttempt, 'endedAt' | 'status'>): Promise<void>;
|
|
85
|
+
markSkipped(matrixRowId: string, graphId: string, reason: unknown): Promise<void>;
|
|
86
|
+
/** Apply condition evaluation: mark steps skipped when conditions object is not satisfied (host calls this). */
|
|
87
|
+
markStepsSkippedByPredicate(matrixRowId: string, shouldSkip: (step: ExecutionMatrixRuntimeStep) => boolean, reason: unknown): Promise<void>;
|
|
88
|
+
/** Rows whose `graphId` slot is in `not-started` (waiting to be claimed). */
|
|
89
|
+
listWaiting(opts: Omit<ListMatrixRowsOptions, 'status'>): Promise<ExecutionMatrixRuntimeRecord[]>;
|
|
90
|
+
/** Rows whose `graphId` slot is currently `in-progress`. */
|
|
91
|
+
listInProgress(opts: Omit<ListMatrixRowsOptions, 'status'>): Promise<ExecutionMatrixRuntimeRecord[]>;
|
|
92
|
+
/** Rows whose `graphId` slot has `completed`. */
|
|
93
|
+
listCompleted(opts: Omit<ListMatrixRowsOptions, 'status'>): Promise<ExecutionMatrixRuntimeRecord[]>;
|
|
94
|
+
/** Rows whose `graphId` slot has `failed`. */
|
|
95
|
+
listFailed(opts: Omit<ListMatrixRowsOptions, 'status'>): Promise<ExecutionMatrixRuntimeRecord[]>;
|
|
96
|
+
/** Rows whose `graphId` slot has been `skipped`. */
|
|
97
|
+
listSkipped(opts: Omit<ListMatrixRowsOptions, 'status'>): Promise<ExecutionMatrixRuntimeRecord[]>;
|
|
98
|
+
/** Persist a snapshot record. Throws when the snapshots collection is not configured. */
|
|
99
|
+
insertSnapshot(record: ExecutionMatrixSnapshotRecord): Promise<string>;
|
|
100
|
+
/** Read a snapshot by id. Returns `null` when missing. */
|
|
101
|
+
getSnapshot(snapshotId: string): Promise<ExecutionMatrixSnapshotRecord | null>;
|
|
102
|
+
/** List snapshots filtered by matrix / run / optional `entityType` / `extraFilter`, newest first by default. */
|
|
103
|
+
listSnapshots(opts: ListSnapshotsOptions): Promise<ExecutionMatrixSnapshotRecord[]>;
|
|
104
|
+
/**
|
|
105
|
+
* Count snapshot documents matching optional catalog / run / entity type / `extraFilter`.
|
|
106
|
+
* Implemented via capped **`readMany`** (default **50_000**) — not a precise DB count at huge scale.
|
|
107
|
+
*/
|
|
108
|
+
countSnapshots(opts: CountSnapshotsOptions, readManyCap?: number): Promise<number>;
|
|
109
|
+
}
|
|
110
|
+
export declare function createExecutionMatrixRuntime(rows: XronoxCollection<Record<string, unknown>>, failures: XronoxCollection<Record<string, unknown>>, options?: {
|
|
111
|
+
serializeClaims?: boolean;
|
|
112
|
+
snapshots?: XronoxCollection<Record<string, unknown>>;
|
|
113
|
+
}): ExecutionMatrixRuntime;
|
|
114
|
+
//# sourceMappingURL=runtime-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-store.d.ts","sourceRoot":"","sources":["../../src/execution-matrix/runtime-store.ts"],"names":[],"mappings":"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"}
|