@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,311 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* CLI: read-only Catalox inventory for execution-matrix + graphs native items.
|
|
4
|
+
*
|
|
5
|
+
* **`createCataloxFromEnv`** (from `@x12i/catalox/firebase`) already reads the usual env vars — for example
|
|
6
|
+
* **`FIREBASE_PROJECT_ID`**, **`GOOGLE_SERVICE_ACCOUNT_BASE64`** or ADC, optional **`FIRESTORE_DATABASE_ID`** /
|
|
7
|
+
* **`CATALOX_MONGO_URI`**. It does **not** load a `.env` file by itself.
|
|
8
|
+
*
|
|
9
|
+
* This entrypoint calls **`initConfig`** with **`dotenvPath: '.env'`** first so a repo `.env` (e.g.
|
|
10
|
+
* **`FIREBASE_PROJECT_ID`** plus credentials) is on **`process.env`** before Catalox runs — same
|
|
11
|
+
* convenience Vitest gives live tests. If **`FIREBASE_PROJECT_ID`** is still unset after that, we copy
|
|
12
|
+
* from **`GOOGLE_CLOUD_PROJECT`** / **`GCLOUD_PROJECT`** or from **`project_id`** inside base64 SA JSON
|
|
13
|
+
* so `initializeApp` always gets a project id when one is inferable.
|
|
14
|
+
*
|
|
15
|
+
* **XMemory entity counts (catalog-driven):** **`--namespace`** + one or more native catalog ids
|
|
16
|
+
* (**`--entity-catalog-id`**, **`--entity-catalog-ids=a,b`**, **`CATALOX_ENTITY_CATALOG_IDS`**) and **`MONGO_URI`**.
|
|
17
|
+
* Optional **`--matrix-catalog-id`** / **`EXELLIX_ENTITY_REPORT_MATRIX_CATALOG_ID`** (+ optional run id) adds execution matrix row + snapshot counts.
|
|
18
|
+
*
|
|
19
|
+
* **Tier discovery (no Catalox entity catalog):** **`--entity-discovery=scoped-data-tier`** (or env **`XMEMORY_ENTITY_DISCOVERY=scoped-data-tier`**) with **`--namespace`** + **`MONGO_URI`** only — discovers distinct entity-type buckets from scoped data via **`getXmemoryTierStatistics`** (broader default **`groupByPaths.scoped_data`** than stock tier stats), then counts surfaces (+ optional matrix). Override paths with **`--entity-discovery-group-paths`** or **`XMEMORY_ENTITY_DISCOVERY_GROUP_PATHS`** (comma-separated Mongo paths, optional **`$`** prefix). No Firebase/Catalox required for this branch.
|
|
20
|
+
*
|
|
21
|
+
* Usage:
|
|
22
|
+
* npm run catalox:inventory
|
|
23
|
+
* npm run catalox:inventory -- --entity-discovery=scoped-data-tier --namespace=production --out=reports/all-entities.json
|
|
24
|
+
* npm run catalox:inventory -- --entity-catalog-ids=cat-a,cat-b --namespace=production --matrix-catalog-id=exellix.execution-matrix.foo --out=reports/entities.json
|
|
25
|
+
* npm run catalox:inventory -- --format=markdown --out=reports/catalox-inventory.md
|
|
26
|
+
*/
|
|
27
|
+
import { Buffer } from 'node:buffer';
|
|
28
|
+
import { writeFileSync } from 'node:fs';
|
|
29
|
+
import { deleteApp } from 'firebase-admin/app';
|
|
30
|
+
import { MongoClient } from 'mongodb';
|
|
31
|
+
import { initConfig } from '@x12i/env';
|
|
32
|
+
import { createMemorixRuntimeTier } from '../execution-matrix/memorix-runtime-tier.js';
|
|
33
|
+
import { createCataloxFromEnv } from '@x12i/catalox/firebase';
|
|
34
|
+
import { openLiveMatrixFromDataTier } from '../execution-matrix/live-tier-open.js';
|
|
35
|
+
import { formatCataloxExecutionMatrixInventoryMarkdown, runCataloxExecutionMatrixInventory, } from './catalox-execution-matrix-inventory.js';
|
|
36
|
+
import { driverBackedMongoClientForXmemoryCli, formatCataloxXmemoryEntityCountMarkdown, normalizeEntityReportCatalogIds, parseTierDiscoveryGroupPathsCsv, runCataloxXmemoryEntityCountReport, runScopedDataEntityTypeDiscoveryReport, } from './catalox-xmemory-entity-count-report.js';
|
|
37
|
+
let inventoryCliArgv = process.argv;
|
|
38
|
+
function argValue(name) {
|
|
39
|
+
const prefix = `${name}=`;
|
|
40
|
+
const hit = inventoryCliArgv.find((a) => a === name || a.startsWith(prefix));
|
|
41
|
+
if (!hit)
|
|
42
|
+
return undefined;
|
|
43
|
+
if (hit === name) {
|
|
44
|
+
const i = inventoryCliArgv.indexOf(name);
|
|
45
|
+
return inventoryCliArgv[i + 1];
|
|
46
|
+
}
|
|
47
|
+
return hit.slice(prefix.length);
|
|
48
|
+
}
|
|
49
|
+
/** Collect every `--entity-catalog-id` value in argv (supports repeated flag). */
|
|
50
|
+
function allArgValues(name) {
|
|
51
|
+
const out = [];
|
|
52
|
+
const eq = `${name}=`;
|
|
53
|
+
for (let i = 0; i < inventoryCliArgv.length; i++) {
|
|
54
|
+
const a = inventoryCliArgv[i];
|
|
55
|
+
if (a === name) {
|
|
56
|
+
const v = inventoryCliArgv[i + 1];
|
|
57
|
+
if (v !== undefined && !v.startsWith('-'))
|
|
58
|
+
out.push(v);
|
|
59
|
+
}
|
|
60
|
+
else if (a.startsWith(eq)) {
|
|
61
|
+
out.push(a.slice(eq.length));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return out;
|
|
65
|
+
}
|
|
66
|
+
function resolveEntityCatalogIds() {
|
|
67
|
+
const repeated = allArgValues('--entity-catalog-id');
|
|
68
|
+
const csv = (argValue('--entity-catalog-ids') ?? '')
|
|
69
|
+
.split(',')
|
|
70
|
+
.map((s) => s.trim())
|
|
71
|
+
.filter(Boolean);
|
|
72
|
+
const fromEnv = (process.env.CATALOX_ENTITY_CATALOG_IDS ?? '')
|
|
73
|
+
.split(',')
|
|
74
|
+
.map((s) => s.trim())
|
|
75
|
+
.filter(Boolean);
|
|
76
|
+
const single = (process.env.CATALOX_ENTITY_CATALOG_ID ?? '').trim();
|
|
77
|
+
return normalizeEntityReportCatalogIds([...(single ? [single] : []), ...repeated, ...csv, ...fromEnv]);
|
|
78
|
+
}
|
|
79
|
+
function isScopedDataTierDiscovery(raw) {
|
|
80
|
+
const v = raw.trim().toLowerCase().replace(/-/g, '_');
|
|
81
|
+
return v === 'scoped_data_tier' || v === 'tier' || v === 'scoped_data';
|
|
82
|
+
}
|
|
83
|
+
/** Align with {@link createCataloxFromEnv}: it only passes `projectId` when `FIREBASE_PROJECT_ID` is set. */
|
|
84
|
+
function coerceFirebaseProjectIdFromEnv() {
|
|
85
|
+
if (String(process.env.FIREBASE_PROJECT_ID ?? '').trim())
|
|
86
|
+
return;
|
|
87
|
+
const fromGcp = String(process.env.GOOGLE_CLOUD_PROJECT ?? process.env.GCLOUD_PROJECT ?? '').trim();
|
|
88
|
+
if (fromGcp) {
|
|
89
|
+
process.env.FIREBASE_PROJECT_ID = fromGcp;
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const b64 = String(process.env.GOOGLE_SERVICE_ACCOUNT_BASE64 ?? '').trim();
|
|
93
|
+
if (!b64)
|
|
94
|
+
return;
|
|
95
|
+
try {
|
|
96
|
+
const json = JSON.parse(Buffer.from(b64, 'base64').toString('utf8'));
|
|
97
|
+
const pid = json !== null && typeof json === 'object' && 'project_id' in json && typeof json.project_id === 'string'
|
|
98
|
+
? json.project_id.trim()
|
|
99
|
+
: '';
|
|
100
|
+
if (pid)
|
|
101
|
+
process.env.FIREBASE_PROJECT_ID = pid;
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
// Invalid base64/JSON: let createCataloxFromEnv surface the real error.
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
async function runTierDiscoveryEntityReport(args) {
|
|
108
|
+
const { format, out, mongoUri, namespace, reportMatrixCatalogId, reportMatrixRunId, executionDb, discoveryGroupByPathsScopedData, } = args;
|
|
109
|
+
const driver = new MongoClient(mongoUri);
|
|
110
|
+
await driver.connect();
|
|
111
|
+
let matrixBundle;
|
|
112
|
+
if (reportMatrixCatalogId) {
|
|
113
|
+
matrixBundle = await openLiveMatrixFromDataTier({ mongoUri, executionDb });
|
|
114
|
+
}
|
|
115
|
+
const tier = await createMemorixRuntimeTier({
|
|
116
|
+
mongoUri,
|
|
117
|
+
fallbackMongoClient: driverBackedMongoClientForXmemoryCli(driver),
|
|
118
|
+
});
|
|
119
|
+
try {
|
|
120
|
+
const report = await runScopedDataEntityTypeDiscoveryReport(tier, namespace, {
|
|
121
|
+
...(matrixBundle
|
|
122
|
+
? {
|
|
123
|
+
matrix: {
|
|
124
|
+
runtime: matrixBundle.runtime,
|
|
125
|
+
matrixCatalogId: reportMatrixCatalogId,
|
|
126
|
+
matrixRunId: reportMatrixRunId,
|
|
127
|
+
mongoDb: executionDb,
|
|
128
|
+
},
|
|
129
|
+
}
|
|
130
|
+
: {}),
|
|
131
|
+
...(discoveryGroupByPathsScopedData?.length
|
|
132
|
+
? { discoveryGroupByPathsScopedData: [...discoveryGroupByPathsScopedData] }
|
|
133
|
+
: {}),
|
|
134
|
+
});
|
|
135
|
+
const enriched = { ...report };
|
|
136
|
+
let body;
|
|
137
|
+
if (format === 'markdown' || format === 'md') {
|
|
138
|
+
body = formatCataloxXmemoryEntityCountMarkdown(report);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
body = `${JSON.stringify(enriched, null, 2)}\n`;
|
|
142
|
+
}
|
|
143
|
+
if (out) {
|
|
144
|
+
writeFileSync(out, body, 'utf8');
|
|
145
|
+
console.error(`Wrote ${out}`);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
process.stdout.write(body);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
finally {
|
|
152
|
+
await tier.close();
|
|
153
|
+
if (matrixBundle) {
|
|
154
|
+
await matrixBundle.close();
|
|
155
|
+
}
|
|
156
|
+
await driver.close();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/** Run catalox inventory with optional forwarded argv (used by unified `exellix-runtime` CLI). */
|
|
160
|
+
export async function runCataloxInventoryCli(forwardArgv) {
|
|
161
|
+
const prevArgv = inventoryCliArgv;
|
|
162
|
+
if (forwardArgv) {
|
|
163
|
+
inventoryCliArgv = forwardArgv;
|
|
164
|
+
}
|
|
165
|
+
try {
|
|
166
|
+
await runCataloxInventoryCliBody();
|
|
167
|
+
}
|
|
168
|
+
finally {
|
|
169
|
+
inventoryCliArgv = prevArgv;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
async function runCataloxInventoryCliBody() {
|
|
173
|
+
initConfig({}, { dotenvPath: '.env', throwOnMissing: false });
|
|
174
|
+
const format = (argValue('--format') ?? 'json').toLowerCase();
|
|
175
|
+
const out = argValue('--out');
|
|
176
|
+
const namespace = (argValue('--namespace') ?? process.env.XMEMORY_ENTITY_REPORT_NAMESPACE ?? '').trim();
|
|
177
|
+
const mongoUri = (argValue('--mongo-uri') ?? process.env.MONGO_URI ?? '').trim();
|
|
178
|
+
const discoveryRaw = (argValue('--entity-discovery') ?? process.env.XMEMORY_ENTITY_DISCOVERY ?? '').trim();
|
|
179
|
+
const tierDiscovery = isScopedDataTierDiscovery(discoveryRaw);
|
|
180
|
+
if (discoveryRaw && !tierDiscovery) {
|
|
181
|
+
throw new Error(`catalox:inventory: unknown --entity-discovery="${discoveryRaw}" (supported: scoped-data-tier, tier, scoped-data)`);
|
|
182
|
+
}
|
|
183
|
+
if (tierDiscovery) {
|
|
184
|
+
if (!namespace) {
|
|
185
|
+
throw new Error('catalox:inventory: --entity-discovery=scoped-data-tier requires --namespace (or XMEMORY_ENTITY_REPORT_NAMESPACE)');
|
|
186
|
+
}
|
|
187
|
+
if (!mongoUri) {
|
|
188
|
+
throw new Error('catalox:inventory: tier discovery requires MONGO_URI (or --mongo-uri)');
|
|
189
|
+
}
|
|
190
|
+
const executionDb = (process.env.execution_db ?? 'exellix-runtime').trim();
|
|
191
|
+
const reportMatrixCatalogId = (argValue('--matrix-catalog-id') ??
|
|
192
|
+
process.env.EXELLIX_ENTITY_REPORT_MATRIX_CATALOG_ID ??
|
|
193
|
+
'').trim();
|
|
194
|
+
const reportMatrixRunId = (argValue('--matrix-run-id') ?? process.env.EXELLIX_ENTITY_REPORT_MATRIX_RUN_ID ?? '').trim() || undefined;
|
|
195
|
+
const discoveryPathsRaw = argValue('--entity-discovery-group-paths') ?? process.env.XMEMORY_ENTITY_DISCOVERY_GROUP_PATHS ?? '';
|
|
196
|
+
const discoveryGroupByPathsScopedData = parseTierDiscoveryGroupPathsCsv(discoveryPathsRaw);
|
|
197
|
+
await runTierDiscoveryEntityReport({
|
|
198
|
+
format,
|
|
199
|
+
out,
|
|
200
|
+
mongoUri,
|
|
201
|
+
namespace,
|
|
202
|
+
reportMatrixCatalogId,
|
|
203
|
+
reportMatrixRunId,
|
|
204
|
+
executionDb,
|
|
205
|
+
discoveryGroupByPathsScopedData,
|
|
206
|
+
});
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
coerceFirebaseProjectIdFromEnv();
|
|
210
|
+
const catalogIds = resolveEntityCatalogIds();
|
|
211
|
+
const xmemoryEntityMode = Boolean(namespace && catalogIds.length > 0);
|
|
212
|
+
if (catalogIds.length > 0 && !namespace) {
|
|
213
|
+
throw new Error('catalox:inventory: --namespace (or XMEMORY_ENTITY_REPORT_NAMESPACE) is required with entity catalog id(s)');
|
|
214
|
+
}
|
|
215
|
+
if (namespace && catalogIds.length === 0 && !tierDiscovery) {
|
|
216
|
+
throw new Error('catalox:inventory: entity catalog id(s) required with --namespace: use --entity-catalog-id, --entity-catalog-ids, and/or CATALOX_ENTITY_CATALOG_IDS — or use --entity-discovery=scoped-data-tier');
|
|
217
|
+
}
|
|
218
|
+
const { catalox, app, credentialSource, databaseId } = createCataloxFromEnv();
|
|
219
|
+
try {
|
|
220
|
+
if (xmemoryEntityMode) {
|
|
221
|
+
if (!mongoUri) {
|
|
222
|
+
throw new Error('catalox:inventory: xmemory entity mode requires MONGO_URI (or --mongo-uri)');
|
|
223
|
+
}
|
|
224
|
+
const driver = new MongoClient(mongoUri);
|
|
225
|
+
await driver.connect();
|
|
226
|
+
const executionDb = (process.env.execution_db ?? 'exellix-runtime').trim();
|
|
227
|
+
const reportMatrixCatalogId = (argValue('--matrix-catalog-id') ??
|
|
228
|
+
process.env.EXELLIX_ENTITY_REPORT_MATRIX_CATALOG_ID ??
|
|
229
|
+
'').trim();
|
|
230
|
+
const reportMatrixRunId = (argValue('--matrix-run-id') ?? process.env.EXELLIX_ENTITY_REPORT_MATRIX_RUN_ID ?? '').trim() || undefined;
|
|
231
|
+
let matrixBundle;
|
|
232
|
+
if (reportMatrixCatalogId) {
|
|
233
|
+
matrixBundle = await openLiveMatrixFromDataTier({ mongoUri, executionDb });
|
|
234
|
+
}
|
|
235
|
+
const tier = await createMemorixRuntimeTier({
|
|
236
|
+
mongoUri,
|
|
237
|
+
fallbackMongoClient: driverBackedMongoClientForXmemoryCli(driver),
|
|
238
|
+
});
|
|
239
|
+
try {
|
|
240
|
+
const report = await runCataloxXmemoryEntityCountReport(catalox, tier, catalogIds, namespace, {
|
|
241
|
+
...(matrixBundle
|
|
242
|
+
? {
|
|
243
|
+
matrix: {
|
|
244
|
+
runtime: matrixBundle.runtime,
|
|
245
|
+
matrixCatalogId: reportMatrixCatalogId,
|
|
246
|
+
matrixRunId: reportMatrixRunId,
|
|
247
|
+
mongoDb: executionDb,
|
|
248
|
+
},
|
|
249
|
+
}
|
|
250
|
+
: {}),
|
|
251
|
+
});
|
|
252
|
+
const enriched = {
|
|
253
|
+
...report,
|
|
254
|
+
firebase: { credentialSource, ...(databaseId ? { databaseId } : {}) },
|
|
255
|
+
};
|
|
256
|
+
let body;
|
|
257
|
+
if (format === 'markdown' || format === 'md') {
|
|
258
|
+
body = formatCataloxXmemoryEntityCountMarkdown(report);
|
|
259
|
+
body += `\n\n## Firebase\n\ncredentialSource: **${credentialSource}**${databaseId ? ` · databaseId: **${databaseId}**` : ''}\n`;
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
body = `${JSON.stringify(enriched, null, 2)}\n`;
|
|
263
|
+
}
|
|
264
|
+
if (out) {
|
|
265
|
+
writeFileSync(out, body, 'utf8');
|
|
266
|
+
console.error(`Wrote ${out}`);
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
process.stdout.write(body);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
finally {
|
|
273
|
+
await tier.close();
|
|
274
|
+
if (matrixBundle) {
|
|
275
|
+
await matrixBundle.close();
|
|
276
|
+
}
|
|
277
|
+
await driver.close();
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
else {
|
|
281
|
+
const report = await runCataloxExecutionMatrixInventory(catalox);
|
|
282
|
+
const enriched = {
|
|
283
|
+
...report,
|
|
284
|
+
firebase: { credentialSource, ...(databaseId ? { databaseId } : {}) },
|
|
285
|
+
};
|
|
286
|
+
let body;
|
|
287
|
+
if (format === 'markdown' || format === 'md') {
|
|
288
|
+
body = formatCataloxExecutionMatrixInventoryMarkdown(report);
|
|
289
|
+
body += `\n\n## Firebase\n\ncredentialSource: **${credentialSource}**${databaseId ? ` · databaseId: **${databaseId}**` : ''}\n`;
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
body = `${JSON.stringify(enriched, null, 2)}\n`;
|
|
293
|
+
}
|
|
294
|
+
if (out) {
|
|
295
|
+
writeFileSync(out, body, 'utf8');
|
|
296
|
+
console.error(`Wrote ${out}`);
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
process.stdout.write(body);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
finally {
|
|
304
|
+
await deleteApp(app);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
void runCataloxInventoryCli().catch((e) => {
|
|
308
|
+
console.error(e instanceof Error ? e.stack ?? e.message : e);
|
|
309
|
+
process.exitCode = 1;
|
|
310
|
+
});
|
|
311
|
+
//# sourceMappingURL=catalox-execution-matrix-inventory-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalox-execution-matrix-inventory-cli.js","sourceRoot":"","sources":["../../src/catalox-inventory/catalox-execution-matrix-inventory-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only Catalox sweep: native catalogs → items → validate **execution-matrix** and **graphs**
|
|
3
|
+
* payloads and cross-check matrix **`graphs[]`** references against loaded graph definitions.
|
|
4
|
+
*/
|
|
5
|
+
import type { Catalox, CataloxContext, CatalogSummary } from '@x12i/catalox';
|
|
6
|
+
export type CataloxInventoryItemIssue = {
|
|
7
|
+
kind: 'graph' | 'execution-matrix' | 'matrix-materialize';
|
|
8
|
+
message: string;
|
|
9
|
+
issues?: string[];
|
|
10
|
+
};
|
|
11
|
+
export type CataloxInventoryGraphRow = {
|
|
12
|
+
catalogId: string;
|
|
13
|
+
itemId: string;
|
|
14
|
+
ok: false;
|
|
15
|
+
issues: CataloxInventoryItemIssue[];
|
|
16
|
+
};
|
|
17
|
+
export type CataloxInventoryMatrixRow = {
|
|
18
|
+
catalogId: string;
|
|
19
|
+
itemId: string;
|
|
20
|
+
ok: boolean;
|
|
21
|
+
graphIds?: string[];
|
|
22
|
+
issues?: CataloxInventoryItemIssue[];
|
|
23
|
+
materializeOk?: boolean;
|
|
24
|
+
materializeError?: string;
|
|
25
|
+
};
|
|
26
|
+
export type CataloxExecutionMatrixInventoryReport = {
|
|
27
|
+
generatedAt: string;
|
|
28
|
+
context: CataloxContext;
|
|
29
|
+
catalogs: Array<{
|
|
30
|
+
catalogId: string;
|
|
31
|
+
label: string;
|
|
32
|
+
sourceMode: CatalogSummary['sourceMode'];
|
|
33
|
+
catalogType: string;
|
|
34
|
+
itemCount: number;
|
|
35
|
+
listOutcome?: string;
|
|
36
|
+
listError?: string;
|
|
37
|
+
}>;
|
|
38
|
+
summary: {
|
|
39
|
+
nativeCatalogs: number;
|
|
40
|
+
itemsListed: number;
|
|
41
|
+
graphItemsAttempted: number;
|
|
42
|
+
graphItemsOk: number;
|
|
43
|
+
graphValidationFailures: number;
|
|
44
|
+
matrixItemsAttempted: number;
|
|
45
|
+
matrixItemsOk: number;
|
|
46
|
+
matrixMaterializeOk: number;
|
|
47
|
+
matrixMaterializeFailures: number;
|
|
48
|
+
matrixPayloadFailures: number;
|
|
49
|
+
};
|
|
50
|
+
graphs: CataloxInventoryGraphRow[];
|
|
51
|
+
matrices: CataloxInventoryMatrixRow[];
|
|
52
|
+
};
|
|
53
|
+
export declare function formatCataloxExecutionMatrixInventoryMarkdown(report: CataloxExecutionMatrixInventoryReport): string;
|
|
54
|
+
export type RunCataloxExecutionMatrixInventoryOptions = {
|
|
55
|
+
context?: CataloxContext;
|
|
56
|
+
pageSize?: number;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Lists all native catalogs (super-admin), pages native items, validates **graphs** / **execution-matrix**
|
|
60
|
+
* rows using this package’s loaders, then runs {@link buildMatrixMaterializeContext} for each matrix item
|
|
61
|
+
* against the union of successfully parsed graph definitions (keyed by **`graphId`**).
|
|
62
|
+
*/
|
|
63
|
+
export declare function runCataloxExecutionMatrixInventory(catalox: Catalox, options?: RunCataloxExecutionMatrixInventoryOptions): Promise<CataloxExecutionMatrixInventoryReport>;
|
|
64
|
+
//# sourceMappingURL=catalox-execution-matrix-inventory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalox-execution-matrix-inventory.d.ts","sourceRoot":"","sources":["../../src/catalox-inventory/catalox-execution-matrix-inventory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAsB,MAAM,eAAe,CAAC;AAajG,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,OAAO,GAAG,kBAAkB,GAAG,oBAAoB,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,yBAAyB,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;QACzC,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC;QACrB,uBAAuB,EAAE,MAAM,CAAC;QAChC,oBAAoB,EAAE,MAAM,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;QACtB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,yBAAyB,EAAE,MAAM,CAAC;QAClC,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,MAAM,EAAE,wBAAwB,EAAE,CAAC;IACnC,QAAQ,EAAE,yBAAyB,EAAE,CAAC;CACvC,CAAC;AASF,wBAAgB,6CAA6C,CAAC,MAAM,EAAE,qCAAqC,GAAG,MAAM,CA2CnH;AAED,MAAM,MAAM,yCAAyC,GAAG;IACtD,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,kCAAkC,CACtD,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,yCAAyC,GAClD,OAAO,CAAC,qCAAqC,CAAC,CAyKhD"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { buildMatrixMaterializeContext } from '../execution-matrix/catalox-matrix-host.js';
|
|
2
|
+
import { ExecutionMatrixCatalogValidationError, executionMatrixPayloadFromCatalogItem, graphCatalogPayloadFromCatalogItem, isExecutionMatrixCatalogMetadata, isGraphCatalogMetadata, } from '../execution-matrix/catalox-loader.js';
|
|
3
|
+
const DEFAULT_PAGE = 200;
|
|
4
|
+
function itemToNativeLike(item) {
|
|
5
|
+
return {
|
|
6
|
+
data: item.data,
|
|
7
|
+
metadata: item.metadata,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function formatCataloxExecutionMatrixInventoryMarkdown(report) {
|
|
11
|
+
const s = report.summary;
|
|
12
|
+
const lines = [
|
|
13
|
+
'# Catalox execution-matrix inventory',
|
|
14
|
+
'',
|
|
15
|
+
`- **Generated:** ${report.generatedAt}`,
|
|
16
|
+
`- **Native catalogs:** ${s.nativeCatalogs}`,
|
|
17
|
+
`- **Items listed:** ${s.itemsListed}`,
|
|
18
|
+
`- **Graph validation failures:** ${s.graphValidationFailures}`,
|
|
19
|
+
`- **Matrix payload failures:** ${s.matrixPayloadFailures}`,
|
|
20
|
+
`- **Matrix materialize failures:** ${s.matrixMaterializeFailures}`,
|
|
21
|
+
'',
|
|
22
|
+
'## Catalogs',
|
|
23
|
+
'',
|
|
24
|
+
'| catalogId | source | type | items |',
|
|
25
|
+
'|-----------|--------|------|------:|',
|
|
26
|
+
];
|
|
27
|
+
for (const c of report.catalogs) {
|
|
28
|
+
lines.push(`| ${c.catalogId} | ${c.sourceMode} | ${c.catalogType} | ${c.itemCount} |`);
|
|
29
|
+
}
|
|
30
|
+
lines.push('', '## Graph validation failures', '');
|
|
31
|
+
const badG = report.graphs;
|
|
32
|
+
if (badG.length === 0)
|
|
33
|
+
lines.push('_(none)_');
|
|
34
|
+
else {
|
|
35
|
+
for (const r of badG) {
|
|
36
|
+
lines.push(`- **${r.catalogId}** / ${r.itemId}: ${r.issues?.map((i) => i.message).join('; ') ?? 'error'}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
lines.push('', '## Matrix validation / materialize failures', '');
|
|
40
|
+
const badM = report.matrices.filter((r) => !r.ok || r.materializeOk === false);
|
|
41
|
+
if (badM.length === 0)
|
|
42
|
+
lines.push('_(none)_');
|
|
43
|
+
else {
|
|
44
|
+
for (const r of badM) {
|
|
45
|
+
const bits = [
|
|
46
|
+
!r.ok ? 'payload invalid' : null,
|
|
47
|
+
r.materializeOk === false ? `materialize: ${r.materializeError ?? '?'}` : null,
|
|
48
|
+
]
|
|
49
|
+
.filter(Boolean)
|
|
50
|
+
.join(' · ');
|
|
51
|
+
lines.push(`- **${r.catalogId}** / ${r.itemId} (${(r.graphIds ?? []).join(', ') || '—'}): ${bits}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return lines.join('\n');
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Lists all native catalogs (super-admin), pages native items, validates **graphs** / **execution-matrix**
|
|
58
|
+
* rows using this package’s loaders, then runs {@link buildMatrixMaterializeContext} for each matrix item
|
|
59
|
+
* against the union of successfully parsed graph definitions (keyed by **`graphId`**).
|
|
60
|
+
*/
|
|
61
|
+
export async function runCataloxExecutionMatrixInventory(catalox, options) {
|
|
62
|
+
const ctx = {
|
|
63
|
+
superAdmin: true,
|
|
64
|
+
userId: 'exellix-runtime-catalox-inventory',
|
|
65
|
+
actor: { type: 'system', id: '@exellix/exellix-runtime' },
|
|
66
|
+
...options?.context,
|
|
67
|
+
};
|
|
68
|
+
const pageSize = Math.max(50, Math.min(options?.pageSize ?? DEFAULT_PAGE, 2000));
|
|
69
|
+
const catalogs = await catalox.listAllCatalogs(ctx, { includeDisabled: true, includeHidden: true });
|
|
70
|
+
const catalogRows = [];
|
|
71
|
+
const graphRows = [];
|
|
72
|
+
const matrixRows = [];
|
|
73
|
+
const graphItemsByGraphId = new Map();
|
|
74
|
+
const allMatrixItems = [];
|
|
75
|
+
let itemsListed = 0;
|
|
76
|
+
let graphItemsAttempted = 0;
|
|
77
|
+
let graphItemsOk = 0;
|
|
78
|
+
let matrixItemsAttempted = 0;
|
|
79
|
+
let matrixItemsOk = 0;
|
|
80
|
+
let matrixMaterializeOk = 0;
|
|
81
|
+
let nativeCatalogs = 0;
|
|
82
|
+
for (const cat of catalogs) {
|
|
83
|
+
if (cat.sourceMode !== 'native') {
|
|
84
|
+
catalogRows.push({
|
|
85
|
+
catalogId: cat.catalogId,
|
|
86
|
+
label: cat.label,
|
|
87
|
+
sourceMode: cat.sourceMode,
|
|
88
|
+
catalogType: cat.catalogType,
|
|
89
|
+
itemCount: 0,
|
|
90
|
+
});
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
nativeCatalogs += 1;
|
|
94
|
+
const items = [];
|
|
95
|
+
let offset = 0;
|
|
96
|
+
let listOutcome = 'ok';
|
|
97
|
+
let listError;
|
|
98
|
+
for (;;) {
|
|
99
|
+
try {
|
|
100
|
+
const page = await catalox.listCatalogItems(ctx, cat.catalogId, {
|
|
101
|
+
limit: pageSize,
|
|
102
|
+
offset,
|
|
103
|
+
scope: { superAdmin: true },
|
|
104
|
+
});
|
|
105
|
+
listOutcome = page.listOutcome;
|
|
106
|
+
if (page.listOutcome !== 'ok') {
|
|
107
|
+
listError = page.issues?.map((i) => `${i.severity ?? ''}:${JSON.stringify(i)}`).join('; ');
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
items.push(...page.items);
|
|
111
|
+
if (page.items.length < pageSize)
|
|
112
|
+
break;
|
|
113
|
+
offset += page.items.length;
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
listError = e instanceof Error ? e.message : String(e);
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
itemsListed += items.length;
|
|
121
|
+
catalogRows.push({
|
|
122
|
+
catalogId: cat.catalogId,
|
|
123
|
+
label: cat.label,
|
|
124
|
+
sourceMode: cat.sourceMode,
|
|
125
|
+
catalogType: cat.catalogType,
|
|
126
|
+
itemCount: items.length,
|
|
127
|
+
listOutcome,
|
|
128
|
+
listError,
|
|
129
|
+
});
|
|
130
|
+
for (const item of items) {
|
|
131
|
+
const meta = item.metadata;
|
|
132
|
+
if (isGraphCatalogMetadata(meta)) {
|
|
133
|
+
graphItemsAttempted += 1;
|
|
134
|
+
try {
|
|
135
|
+
const record = graphCatalogPayloadFromCatalogItem(itemToNativeLike(item));
|
|
136
|
+
graphItemsOk += 1;
|
|
137
|
+
graphItemsByGraphId.set(record.graphId, itemToNativeLike(item));
|
|
138
|
+
}
|
|
139
|
+
catch (e) {
|
|
140
|
+
const issues = e instanceof ExecutionMatrixCatalogValidationError
|
|
141
|
+
? e.issues
|
|
142
|
+
: undefined;
|
|
143
|
+
graphRows.push({
|
|
144
|
+
catalogId: cat.catalogId,
|
|
145
|
+
itemId: item.itemId,
|
|
146
|
+
ok: false,
|
|
147
|
+
issues: [
|
|
148
|
+
{
|
|
149
|
+
kind: 'graph',
|
|
150
|
+
message: e instanceof Error ? e.message : String(e),
|
|
151
|
+
issues,
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else if (isExecutionMatrixCatalogMetadata(meta)) {
|
|
158
|
+
allMatrixItems.push({ catalogId: cat.catalogId, item });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
for (const { catalogId, item } of allMatrixItems) {
|
|
163
|
+
matrixItemsAttempted += 1;
|
|
164
|
+
let graphIds;
|
|
165
|
+
let ok = false;
|
|
166
|
+
let issues;
|
|
167
|
+
let materializeOk;
|
|
168
|
+
let materializeError;
|
|
169
|
+
try {
|
|
170
|
+
const payload = executionMatrixPayloadFromCatalogItem(itemToNativeLike(item));
|
|
171
|
+
graphIds = payload.graphs;
|
|
172
|
+
ok = true;
|
|
173
|
+
matrixItemsOk += 1;
|
|
174
|
+
try {
|
|
175
|
+
buildMatrixMaterializeContext(itemToNativeLike(item), graphItemsByGraphId);
|
|
176
|
+
materializeOk = true;
|
|
177
|
+
matrixMaterializeOk += 1;
|
|
178
|
+
}
|
|
179
|
+
catch (e) {
|
|
180
|
+
materializeOk = false;
|
|
181
|
+
materializeError = e instanceof Error ? e.message : String(e);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
catch (e) {
|
|
185
|
+
const iss = e instanceof ExecutionMatrixCatalogValidationError
|
|
186
|
+
? e.issues
|
|
187
|
+
: undefined;
|
|
188
|
+
issues = [
|
|
189
|
+
{
|
|
190
|
+
kind: 'execution-matrix',
|
|
191
|
+
message: e instanceof Error ? e.message : String(e),
|
|
192
|
+
issues: iss,
|
|
193
|
+
},
|
|
194
|
+
];
|
|
195
|
+
}
|
|
196
|
+
matrixRows.push({
|
|
197
|
+
catalogId,
|
|
198
|
+
itemId: item.itemId,
|
|
199
|
+
ok,
|
|
200
|
+
graphIds,
|
|
201
|
+
issues,
|
|
202
|
+
materializeOk,
|
|
203
|
+
materializeError,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
return {
|
|
207
|
+
generatedAt: new Date().toISOString(),
|
|
208
|
+
context: ctx,
|
|
209
|
+
catalogs: catalogRows,
|
|
210
|
+
summary: {
|
|
211
|
+
nativeCatalogs,
|
|
212
|
+
itemsListed,
|
|
213
|
+
graphItemsAttempted,
|
|
214
|
+
graphItemsOk,
|
|
215
|
+
graphValidationFailures: graphRows.length,
|
|
216
|
+
matrixItemsAttempted,
|
|
217
|
+
matrixItemsOk,
|
|
218
|
+
matrixMaterializeOk,
|
|
219
|
+
matrixMaterializeFailures: matrixRows.filter((r) => r.ok && r.materializeOk === false).length,
|
|
220
|
+
matrixPayloadFailures: matrixRows.filter((r) => !r.ok).length,
|
|
221
|
+
},
|
|
222
|
+
graphs: graphRows,
|
|
223
|
+
matrices: matrixRows,
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=catalox-execution-matrix-inventory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalox-execution-matrix-inventory.js","sourceRoot":"","sources":["../../src/catalox-inventory/catalox-execution-matrix-inventory.ts"],"names":[],"mappings":"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"}
|