@untangle-code/cli 0.0.0-stage → 0.1.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/LICENSE +661 -0
- package/NOTICE +90 -0
- package/README.md +451 -2
- package/THIRD_PARTY_LICENSES.md +152 -0
- package/dist/cli/args.d.ts +48 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +167 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/command.d.ts +69 -0
- package/dist/cli/command.d.ts.map +1 -0
- package/dist/cli/command.js +82 -0
- package/dist/cli/command.js.map +1 -0
- package/dist/cli/deadline.d.ts +33 -0
- package/dist/cli/deadline.d.ts.map +1 -0
- package/dist/cli/deadline.js +49 -0
- package/dist/cli/deadline.js.map +1 -0
- package/dist/cli/embedder-deadline.d.ts +72 -0
- package/dist/cli/embedder-deadline.d.ts.map +1 -0
- package/dist/cli/embedder-deadline.js +117 -0
- package/dist/cli/embedder-deadline.js.map +1 -0
- package/dist/cli/exit.d.ts +71 -0
- package/dist/cli/exit.d.ts.map +1 -0
- package/dist/cli/exit.js +81 -0
- package/dist/cli/exit.js.map +1 -0
- package/dist/cli/graphs.d.ts +65 -0
- package/dist/cli/graphs.d.ts.map +1 -0
- package/dist/cli/graphs.js +108 -0
- package/dist/cli/graphs.js.map +1 -0
- package/dist/cli/index-freshness.d.ts +13 -0
- package/dist/cli/index-freshness.d.ts.map +1 -0
- package/dist/cli/index-freshness.js +226 -0
- package/dist/cli/index-freshness.js.map +1 -0
- package/dist/cli/index-refresh.d.ts +10 -0
- package/dist/cli/index-refresh.d.ts.map +1 -0
- package/dist/cli/index-refresh.js +76 -0
- package/dist/cli/index-refresh.js.map +1 -0
- package/dist/cli/index-state.d.ts +184 -0
- package/dist/cli/index-state.d.ts.map +1 -0
- package/dist/cli/index-state.js +852 -0
- package/dist/cli/index-state.js.map +1 -0
- package/dist/cli/io.d.ts +29 -0
- package/dist/cli/io.d.ts.map +1 -0
- package/dist/cli/io.js +42 -0
- package/dist/cli/io.js.map +1 -0
- package/dist/cli/language-support.d.ts +77 -0
- package/dist/cli/language-support.d.ts.map +1 -0
- package/dist/cli/language-support.js +152 -0
- package/dist/cli/language-support.js.map +1 -0
- package/dist/cli/renewing-lease.d.ts +26 -0
- package/dist/cli/renewing-lease.d.ts.map +1 -0
- package/dist/cli/renewing-lease.js +102 -0
- package/dist/cli/renewing-lease.js.map +1 -0
- package/dist/cli/search-graph-enrichment.d.ts +16 -0
- package/dist/cli/search-graph-enrichment.d.ts.map +1 -0
- package/dist/cli/search-graph-enrichment.js +428 -0
- package/dist/cli/search-graph-enrichment.js.map +1 -0
- package/dist/cli/system.d.ts +34 -0
- package/dist/cli/system.d.ts.map +1 -0
- package/dist/cli/system.js +89 -0
- package/dist/cli/system.js.map +1 -0
- package/dist/cli/vector-store-policy.d.ts +116 -0
- package/dist/cli/vector-store-policy.d.ts.map +1 -0
- package/dist/cli/vector-store-policy.js +160 -0
- package/dist/cli/vector-store-policy.js.map +1 -0
- package/dist/cli/version.d.ts +3 -0
- package/dist/cli/version.d.ts.map +1 -0
- package/dist/cli/version.js +3 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/cli/workspace.d.ts +105 -0
- package/dist/cli/workspace.d.ts.map +1 -0
- package/dist/cli/workspace.js +215 -0
- package/dist/cli/workspace.js.map +1 -0
- package/dist/commands/complexity.d.ts +72 -0
- package/dist/commands/complexity.d.ts.map +1 -0
- package/dist/commands/complexity.js +580 -0
- package/dist/commands/complexity.js.map +1 -0
- package/dist/commands/doctor.d.ts +66 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +764 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/doctor.languages.d.ts +37 -0
- package/dist/commands/doctor.languages.d.ts.map +1 -0
- package/dist/commands/doctor.languages.js +143 -0
- package/dist/commands/doctor.languages.js.map +1 -0
- package/dist/commands/doctor.storage.d.ts +17 -0
- package/dist/commands/doctor.storage.d.ts.map +1 -0
- package/dist/commands/doctor.storage.js +91 -0
- package/dist/commands/doctor.storage.js.map +1 -0
- package/dist/commands/extensions/add.d.ts +10 -0
- package/dist/commands/extensions/add.d.ts.map +1 -0
- package/dist/commands/extensions/add.js +213 -0
- package/dist/commands/extensions/add.js.map +1 -0
- package/dist/commands/extensions/configure.d.ts +5 -0
- package/dist/commands/extensions/configure.d.ts.map +1 -0
- package/dist/commands/extensions/configure.js +58 -0
- package/dist/commands/extensions/configure.js.map +1 -0
- package/dist/commands/extensions/container.d.ts +15 -0
- package/dist/commands/extensions/container.d.ts.map +1 -0
- package/dist/commands/extensions/container.js +135 -0
- package/dist/commands/extensions/container.js.map +1 -0
- package/dist/commands/extensions/context.d.ts +37 -0
- package/dist/commands/extensions/context.d.ts.map +1 -0
- package/dist/commands/extensions/context.js +72 -0
- package/dist/commands/extensions/context.js.map +1 -0
- package/dist/commands/extensions/enable.d.ts +6 -0
- package/dist/commands/extensions/enable.d.ts.map +1 -0
- package/dist/commands/extensions/enable.js +180 -0
- package/dist/commands/extensions/enable.js.map +1 -0
- package/dist/commands/extensions/environment.d.ts +74 -0
- package/dist/commands/extensions/environment.d.ts.map +1 -0
- package/dist/commands/extensions/environment.js +168 -0
- package/dist/commands/extensions/environment.js.map +1 -0
- package/dist/commands/extensions/feature-scan.d.ts +48 -0
- package/dist/commands/extensions/feature-scan.d.ts.map +1 -0
- package/dist/commands/extensions/feature-scan.js +156 -0
- package/dist/commands/extensions/feature-scan.js.map +1 -0
- package/dist/commands/extensions/invoke.d.ts +60 -0
- package/dist/commands/extensions/invoke.d.ts.map +1 -0
- package/dist/commands/extensions/invoke.js +275 -0
- package/dist/commands/extensions/invoke.js.map +1 -0
- package/dist/commands/extensions/list.d.ts +5 -0
- package/dist/commands/extensions/list.d.ts.map +1 -0
- package/dist/commands/extensions/list.js +125 -0
- package/dist/commands/extensions/list.js.map +1 -0
- package/dist/commands/extensions/logs.d.ts +5 -0
- package/dist/commands/extensions/logs.d.ts.map +1 -0
- package/dist/commands/extensions/logs.js +74 -0
- package/dist/commands/extensions/logs.js.map +1 -0
- package/dist/commands/extensions/provision.d.ts +36 -0
- package/dist/commands/extensions/provision.d.ts.map +1 -0
- package/dist/commands/extensions/provision.js +137 -0
- package/dist/commands/extensions/provision.js.map +1 -0
- package/dist/commands/extensions/remove.d.ts +5 -0
- package/dist/commands/extensions/remove.d.ts.map +1 -0
- package/dist/commands/extensions/remove.js +77 -0
- package/dist/commands/extensions/remove.js.map +1 -0
- package/dist/commands/extensions/render.d.ts +16 -0
- package/dist/commands/extensions/render.d.ts.map +1 -0
- package/dist/commands/extensions/render.js +25 -0
- package/dist/commands/extensions/render.js.map +1 -0
- package/dist/commands/extensions/run.d.ts +30 -0
- package/dist/commands/extensions/run.d.ts.map +1 -0
- package/dist/commands/extensions/run.js +292 -0
- package/dist/commands/extensions/run.js.map +1 -0
- package/dist/commands/extensions/secret-store.d.ts +15 -0
- package/dist/commands/extensions/secret-store.d.ts.map +1 -0
- package/dist/commands/extensions/secret-store.js +164 -0
- package/dist/commands/extensions/secret-store.js.map +1 -0
- package/dist/commands/extensions/setup.d.ts +17 -0
- package/dist/commands/extensions/setup.d.ts.map +1 -0
- package/dist/commands/extensions/setup.js +94 -0
- package/dist/commands/extensions/setup.js.map +1 -0
- package/dist/commands/extensions/source.d.ts +47 -0
- package/dist/commands/extensions/source.d.ts.map +1 -0
- package/dist/commands/extensions/source.js +142 -0
- package/dist/commands/extensions/source.js.map +1 -0
- package/dist/commands/extensions/state.d.ts +62 -0
- package/dist/commands/extensions/state.d.ts.map +1 -0
- package/dist/commands/extensions/state.js +177 -0
- package/dist/commands/extensions/state.js.map +1 -0
- package/dist/commands/extensions/status.d.ts +9 -0
- package/dist/commands/extensions/status.d.ts.map +1 -0
- package/dist/commands/extensions/status.js +239 -0
- package/dist/commands/extensions/status.js.map +1 -0
- package/dist/commands/extensions.d.ts +3 -0
- package/dist/commands/extensions.d.ts.map +1 -0
- package/dist/commands/extensions.js +223 -0
- package/dist/commands/extensions.js.map +1 -0
- package/dist/commands/flow/index.d.ts +3 -0
- package/dist/commands/flow/index.d.ts.map +1 -0
- package/dist/commands/flow/index.js +295 -0
- package/dist/commands/flow/index.js.map +1 -0
- package/dist/commands/flow/limits.d.ts +12 -0
- package/dist/commands/flow/limits.d.ts.map +1 -0
- package/dist/commands/flow/limits.js +13 -0
- package/dist/commands/flow/limits.js.map +1 -0
- package/dist/commands/flow/output.d.ts +8 -0
- package/dist/commands/flow/output.d.ts.map +1 -0
- package/dist/commands/flow/output.js +11 -0
- package/dist/commands/flow/output.js.map +1 -0
- package/dist/commands/flow/render.d.ts +51 -0
- package/dist/commands/flow/render.d.ts.map +1 -0
- package/dist/commands/flow/render.js +220 -0
- package/dist/commands/flow/render.js.map +1 -0
- package/dist/commands/flow/select.d.ts +31 -0
- package/dist/commands/flow/select.d.ts.map +1 -0
- package/dist/commands/flow/select.js +62 -0
- package/dist/commands/flow/select.js.map +1 -0
- package/dist/commands/graph/boundaries-input.d.ts +26 -0
- package/dist/commands/graph/boundaries-input.d.ts.map +1 -0
- package/dist/commands/graph/boundaries-input.js +54 -0
- package/dist/commands/graph/boundaries-input.js.map +1 -0
- package/dist/commands/graph/boundaries.d.ts +4 -0
- package/dist/commands/graph/boundaries.d.ts.map +1 -0
- package/dist/commands/graph/boundaries.js +141 -0
- package/dist/commands/graph/boundaries.js.map +1 -0
- package/dist/commands/graph/bounds.d.ts +16 -0
- package/dist/commands/graph/bounds.d.ts.map +1 -0
- package/dist/commands/graph/bounds.js +22 -0
- package/dist/commands/graph/bounds.js.map +1 -0
- package/dist/commands/graph/category-clusters.d.ts +20 -0
- package/dist/commands/graph/category-clusters.d.ts.map +1 -0
- package/dist/commands/graph/category-clusters.js +158 -0
- package/dist/commands/graph/category-clusters.js.map +1 -0
- package/dist/commands/graph/feature-3d.d.ts +22 -0
- package/dist/commands/graph/feature-3d.d.ts.map +1 -0
- package/dist/commands/graph/feature-3d.js +114 -0
- package/dist/commands/graph/feature-3d.js.map +1 -0
- package/dist/commands/graph/feature-clusters.d.ts +17 -0
- package/dist/commands/graph/feature-clusters.d.ts.map +1 -0
- package/dist/commands/graph/feature-clusters.js +94 -0
- package/dist/commands/graph/feature-clusters.js.map +1 -0
- package/dist/commands/graph/feature-html.d.ts +26 -0
- package/dist/commands/graph/feature-html.d.ts.map +1 -0
- package/dist/commands/graph/feature-html.js +314 -0
- package/dist/commands/graph/feature-html.js.map +1 -0
- package/dist/commands/graph/feature-map.d.ts +31 -0
- package/dist/commands/graph/feature-map.d.ts.map +1 -0
- package/dist/commands/graph/feature-map.js +217 -0
- package/dist/commands/graph/feature-map.js.map +1 -0
- package/dist/commands/graph/feature-model.d.ts +55 -0
- package/dist/commands/graph/feature-model.d.ts.map +1 -0
- package/dist/commands/graph/feature-model.js +167 -0
- package/dist/commands/graph/feature-model.js.map +1 -0
- package/dist/commands/graph/feature-untangle-motion.d.ts +33 -0
- package/dist/commands/graph/feature-untangle-motion.d.ts.map +1 -0
- package/dist/commands/graph/feature-untangle-motion.js +155 -0
- package/dist/commands/graph/feature-untangle-motion.js.map +1 -0
- package/dist/commands/graph/index.d.ts +3 -0
- package/dist/commands/graph/index.d.ts.map +1 -0
- package/dist/commands/graph/index.js +414 -0
- package/dist/commands/graph/index.js.map +1 -0
- package/dist/commands/graph/render.d.ts +63 -0
- package/dist/commands/graph/render.d.ts.map +1 -0
- package/dist/commands/graph/render.js +352 -0
- package/dist/commands/graph/render.js.map +1 -0
- package/dist/commands/graph/select.d.ts +34 -0
- package/dist/commands/graph/select.d.ts.map +1 -0
- package/dist/commands/graph/select.js +55 -0
- package/dist/commands/graph/select.js.map +1 -0
- package/dist/commands/index/index.d.ts +6 -0
- package/dist/commands/index/index.d.ts.map +1 -0
- package/dist/commands/index/index.js +461 -0
- package/dist/commands/index/index.js.map +1 -0
- package/dist/commands/index/render.d.ts +53 -0
- package/dist/commands/index/render.d.ts.map +1 -0
- package/dist/commands/index/render.js +205 -0
- package/dist/commands/index/render.js.map +1 -0
- package/dist/commands/index/target.d.ts +34 -0
- package/dist/commands/index/target.d.ts.map +1 -0
- package/dist/commands/index/target.js +97 -0
- package/dist/commands/index/target.js.map +1 -0
- package/dist/commands/index-watch.d.ts +30 -0
- package/dist/commands/index-watch.d.ts.map +1 -0
- package/dist/commands/index-watch.js +138 -0
- package/dist/commands/index-watch.js.map +1 -0
- package/dist/commands/init/command.d.ts +25 -0
- package/dist/commands/init/command.d.ts.map +1 -0
- package/dist/commands/init/command.js +198 -0
- package/dist/commands/init/command.js.map +1 -0
- package/dist/commands/init/config-draft.d.ts +48 -0
- package/dist/commands/init/config-draft.d.ts.map +1 -0
- package/dist/commands/init/config-draft.js +201 -0
- package/dist/commands/init/config-draft.js.map +1 -0
- package/dist/commands/init/diff.d.ts +33 -0
- package/dist/commands/init/diff.d.ts.map +1 -0
- package/dist/commands/init/diff.js +109 -0
- package/dist/commands/init/diff.js.map +1 -0
- package/dist/commands/init/http-probe.d.ts +26 -0
- package/dist/commands/init/http-probe.d.ts.map +1 -0
- package/dist/commands/init/http-probe.js +144 -0
- package/dist/commands/init/http-probe.js.map +1 -0
- package/dist/commands/init/ignore-rules.d.ts +70 -0
- package/dist/commands/init/ignore-rules.d.ts.map +1 -0
- package/dist/commands/init/ignore-rules.js +146 -0
- package/dist/commands/init/ignore-rules.js.map +1 -0
- package/dist/commands/init/index.d.ts +33 -0
- package/dist/commands/init/index.d.ts.map +1 -0
- package/dist/commands/init/index.js +32 -0
- package/dist/commands/init/index.js.map +1 -0
- package/dist/commands/init/integrations-apply.d.ts +50 -0
- package/dist/commands/init/integrations-apply.d.ts.map +1 -0
- package/dist/commands/init/integrations-apply.js +452 -0
- package/dist/commands/init/integrations-apply.js.map +1 -0
- package/dist/commands/init/integrations-plan.d.ts +68 -0
- package/dist/commands/init/integrations-plan.d.ts.map +1 -0
- package/dist/commands/init/integrations-plan.js +515 -0
- package/dist/commands/init/integrations-plan.js.map +1 -0
- package/dist/commands/init/integrations.d.ts +5 -0
- package/dist/commands/init/integrations.d.ts.map +1 -0
- package/dist/commands/init/integrations.js +4 -0
- package/dist/commands/init/integrations.js.map +1 -0
- package/dist/commands/init/languages.d.ts +55 -0
- package/dist/commands/init/languages.d.ts.map +1 -0
- package/dist/commands/init/languages.js +245 -0
- package/dist/commands/init/languages.js.map +1 -0
- package/dist/commands/init/product-context.d.ts +63 -0
- package/dist/commands/init/product-context.d.ts.map +1 -0
- package/dist/commands/init/product-context.js +390 -0
- package/dist/commands/init/product-context.js.map +1 -0
- package/dist/commands/init/render.d.ts +38 -0
- package/dist/commands/init/render.d.ts.map +1 -0
- package/dist/commands/init/render.js +501 -0
- package/dist/commands/init/render.js.map +1 -0
- package/dist/commands/init/report.d.ts +24 -0
- package/dist/commands/init/report.d.ts.map +1 -0
- package/dist/commands/init/report.js +163 -0
- package/dist/commands/init/report.js.map +1 -0
- package/dist/commands/init/run.d.ts +71 -0
- package/dist/commands/init/run.d.ts.map +1 -0
- package/dist/commands/init/run.js +253 -0
- package/dist/commands/init/run.js.map +1 -0
- package/dist/commands/init/services.d.ts +82 -0
- package/dist/commands/init/services.d.ts.map +1 -0
- package/dist/commands/init/services.js +209 -0
- package/dist/commands/init/services.js.map +1 -0
- package/dist/commands/init/storage.d.ts +8 -0
- package/dist/commands/init/storage.d.ts.map +1 -0
- package/dist/commands/init/storage.js +102 -0
- package/dist/commands/init/storage.js.map +1 -0
- package/dist/commands/init/toml.d.ts +65 -0
- package/dist/commands/init/toml.d.ts.map +1 -0
- package/dist/commands/init/toml.js +159 -0
- package/dist/commands/init/toml.js.map +1 -0
- package/dist/commands/init/topology.d.ts +54 -0
- package/dist/commands/init/topology.d.ts.map +1 -0
- package/dist/commands/init/topology.js +146 -0
- package/dist/commands/init/topology.js.map +1 -0
- package/dist/commands/init/types.d.ts +334 -0
- package/dist/commands/init/types.d.ts.map +1 -0
- package/dist/commands/init/types.js +31 -0
- package/dist/commands/init/types.js.map +1 -0
- package/dist/commands/init/wizard-terminal.d.ts +36 -0
- package/dist/commands/init/wizard-terminal.d.ts.map +1 -0
- package/dist/commands/init/wizard-terminal.js +163 -0
- package/dist/commands/init/wizard-terminal.js.map +1 -0
- package/dist/commands/init/wizard.d.ts +25 -0
- package/dist/commands/init/wizard.d.ts.map +1 -0
- package/dist/commands/init/wizard.js +358 -0
- package/dist/commands/init/wizard.js.map +1 -0
- package/dist/commands/mcp.d.ts +4 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +111 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/product-test-runner.d.ts +4 -0
- package/dist/commands/product-test-runner.d.ts.map +1 -0
- package/dist/commands/product-test-runner.js +85 -0
- package/dist/commands/product-test-runner.js.map +1 -0
- package/dist/commands/product.d.ts +16 -0
- package/dist/commands/product.d.ts.map +1 -0
- package/dist/commands/product.js +262 -0
- package/dist/commands/product.js.map +1 -0
- package/dist/commands/query.d.ts +114 -0
- package/dist/commands/query.d.ts.map +1 -0
- package/dist/commands/query.js +783 -0
- package/dist/commands/query.js.map +1 -0
- package/dist/commands/scan.d.ts +10 -0
- package/dist/commands/scan.d.ts.map +1 -0
- package/dist/commands/scan.js +302 -0
- package/dist/commands/scan.js.map +1 -0
- package/dist/commands/sdd.d.ts +24 -0
- package/dist/commands/sdd.d.ts.map +1 -0
- package/dist/commands/sdd.js +195 -0
- package/dist/commands/sdd.js.map +1 -0
- package/dist/commands/unavailable.d.ts +40 -0
- package/dist/commands/unavailable.d.ts.map +1 -0
- package/dist/commands/unavailable.js +73 -0
- package/dist/commands/unavailable.js.map +1 -0
- package/dist/commands/watch/analyze.d.ts +69 -0
- package/dist/commands/watch/analyze.d.ts.map +1 -0
- package/dist/commands/watch/analyze.js +402 -0
- package/dist/commands/watch/analyze.js.map +1 -0
- package/dist/commands/watch/cli.d.ts +8 -0
- package/dist/commands/watch/cli.d.ts.map +1 -0
- package/dist/commands/watch/cli.js +97 -0
- package/dist/commands/watch/cli.js.map +1 -0
- package/dist/commands/watch/delta.d.ts +46 -0
- package/dist/commands/watch/delta.d.ts.map +1 -0
- package/dist/commands/watch/delta.js +170 -0
- package/dist/commands/watch/delta.js.map +1 -0
- package/dist/commands/watch/events.d.ts +214 -0
- package/dist/commands/watch/events.d.ts.map +1 -0
- package/dist/commands/watch/events.js +13 -0
- package/dist/commands/watch/events.js.map +1 -0
- package/dist/commands/watch/index.d.ts +19 -0
- package/dist/commands/watch/index.d.ts.map +1 -0
- package/dist/commands/watch/index.js +15 -0
- package/dist/commands/watch/index.js.map +1 -0
- package/dist/commands/watch/options.d.ts +43 -0
- package/dist/commands/watch/options.d.ts.map +1 -0
- package/dist/commands/watch/options.js +193 -0
- package/dist/commands/watch/options.js.map +1 -0
- package/dist/commands/watch/render.d.ts +26 -0
- package/dist/commands/watch/render.d.ts.map +1 -0
- package/dist/commands/watch/render.js +175 -0
- package/dist/commands/watch/render.js.map +1 -0
- package/dist/commands/watch/run.d.ts +14 -0
- package/dist/commands/watch/run.d.ts.map +1 -0
- package/dist/commands/watch/run.js +460 -0
- package/dist/commands/watch/run.js.map +1 -0
- package/dist/commands/watch/runtime.d.ts +67 -0
- package/dist/commands/watch/runtime.d.ts.map +1 -0
- package/dist/commands/watch/runtime.js +149 -0
- package/dist/commands/watch/runtime.js.map +1 -0
- package/dist/commands/watch-command.d.ts +3 -0
- package/dist/commands/watch-command.d.ts.map +1 -0
- package/dist/commands/watch-command.js +273 -0
- package/dist/commands/watch-command.js.map +1 -0
- package/dist/entry-point.d.ts +11 -0
- package/dist/entry-point.d.ts.map +1 -0
- package/dist/entry-point.js +65 -0
- package/dist/entry-point.js.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +245 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/boundaries-schema.d.ts +262 -0
- package/dist/mcp/boundaries-schema.d.ts.map +1 -0
- package/dist/mcp/boundaries-schema.js +183 -0
- package/dist/mcp/boundaries-schema.js.map +1 -0
- package/dist/mcp/default-runtime.d.ts +16 -0
- package/dist/mcp/default-runtime.d.ts.map +1 -0
- package/dist/mcp/default-runtime.js +718 -0
- package/dist/mcp/default-runtime.js.map +1 -0
- package/dist/mcp/envelope.d.ts +13 -0
- package/dist/mcp/envelope.d.ts.map +1 -0
- package/dist/mcp/envelope.js +29 -0
- package/dist/mcp/envelope.js.map +1 -0
- package/dist/mcp/index.d.ts +8 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +8 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/output-schemas.d.ts +5928 -0
- package/dist/mcp/output-schemas.d.ts.map +1 -0
- package/dist/mcp/output-schemas.js +2814 -0
- package/dist/mcp/output-schemas.js.map +1 -0
- package/dist/mcp/path-sandbox.d.ts +35 -0
- package/dist/mcp/path-sandbox.d.ts.map +1 -0
- package/dist/mcp/path-sandbox.js +128 -0
- package/dist/mcp/path-sandbox.js.map +1 -0
- package/dist/mcp/server.d.ts +155 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +257 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/stdio.d.ts +20 -0
- package/dist/mcp/stdio.d.ts.map +1 -0
- package/dist/mcp/stdio.js +71 -0
- package/dist/mcp/stdio.js.map +1 -0
- package/dist/mcp/tools.d.ts +355 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +319 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/types.d.ts +15 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +45 -0
- package/dist/mcp/types.js.map +1 -0
- package/package.json +99 -3
- package/src/cli/args.ts +231 -0
- package/src/cli/command.ts +146 -0
- package/src/cli/deadline.ts +56 -0
- package/src/cli/embedder-deadline.ts +187 -0
- package/src/cli/exit.ts +94 -0
- package/src/cli/graphs.ts +191 -0
- package/src/cli/index-freshness.ts +303 -0
- package/src/cli/index-refresh.ts +125 -0
- package/src/cli/index-state.ts +1217 -0
- package/src/cli/io.ts +56 -0
- package/src/cli/language-support.ts +203 -0
- package/src/cli/renewing-lease.ts +121 -0
- package/src/cli/search-graph-enrichment.ts +639 -0
- package/src/cli/system.ts +94 -0
- package/src/cli/vector-store-policy.ts +213 -0
- package/src/cli/version.ts +2 -0
- package/src/cli/workspace.ts +324 -0
- package/src/commands/complexity.ts +776 -0
- package/src/commands/doctor.languages.ts +187 -0
- package/src/commands/doctor.storage.ts +124 -0
- package/src/commands/doctor.ts +946 -0
- package/src/commands/extensions/add.ts +312 -0
- package/src/commands/extensions/configure.ts +82 -0
- package/src/commands/extensions/container.ts +209 -0
- package/src/commands/extensions/context.ts +109 -0
- package/src/commands/extensions/enable.ts +237 -0
- package/src/commands/extensions/environment.ts +218 -0
- package/src/commands/extensions/feature-scan.ts +232 -0
- package/src/commands/extensions/invoke.ts +368 -0
- package/src/commands/extensions/list.ts +158 -0
- package/src/commands/extensions/logs.ts +104 -0
- package/src/commands/extensions/provision.ts +206 -0
- package/src/commands/extensions/remove.ts +110 -0
- package/src/commands/extensions/render.ts +32 -0
- package/src/commands/extensions/run.ts +386 -0
- package/src/commands/extensions/secret-store.ts +223 -0
- package/src/commands/extensions/setup.ts +140 -0
- package/src/commands/extensions/source.ts +189 -0
- package/src/commands/extensions/state.ts +252 -0
- package/src/commands/extensions/status.ts +320 -0
- package/src/commands/extensions.ts +280 -0
- package/src/commands/flow/index.ts +402 -0
- package/src/commands/flow/limits.ts +14 -0
- package/src/commands/flow/output.ts +16 -0
- package/src/commands/flow/render.ts +318 -0
- package/src/commands/flow/select.ts +101 -0
- package/src/commands/graph/boundaries-input.ts +63 -0
- package/src/commands/graph/boundaries.ts +182 -0
- package/src/commands/graph/bounds.ts +25 -0
- package/src/commands/graph/category-clusters.ts +194 -0
- package/src/commands/graph/feature-3d.ts +141 -0
- package/src/commands/graph/feature-clusters.ts +125 -0
- package/src/commands/graph/feature-html.ts +336 -0
- package/src/commands/graph/feature-map.ts +270 -0
- package/src/commands/graph/feature-model.ts +234 -0
- package/src/commands/graph/feature-untangle-motion.ts +192 -0
- package/src/commands/graph/index.ts +562 -0
- package/src/commands/graph/render.ts +503 -0
- package/src/commands/graph/select.ts +77 -0
- package/src/commands/index/index.ts +595 -0
- package/src/commands/index/render.ts +325 -0
- package/src/commands/index/target.ts +136 -0
- package/src/commands/index-watch.ts +206 -0
- package/src/commands/init/command.ts +238 -0
- package/src/commands/init/config-draft.ts +235 -0
- package/src/commands/init/diff.ts +117 -0
- package/src/commands/init/http-probe.ts +150 -0
- package/src/commands/init/ignore-rules.ts +170 -0
- package/src/commands/init/index.ts +63 -0
- package/src/commands/init/integrations-apply.ts +618 -0
- package/src/commands/init/integrations-plan.ts +634 -0
- package/src/commands/init/integrations.ts +8 -0
- package/src/commands/init/languages.ts +320 -0
- package/src/commands/init/product-context.ts +576 -0
- package/src/commands/init/render.ts +598 -0
- package/src/commands/init/report.ts +204 -0
- package/src/commands/init/run.ts +349 -0
- package/src/commands/init/services.ts +271 -0
- package/src/commands/init/storage.ts +136 -0
- package/src/commands/init/toml.ts +174 -0
- package/src/commands/init/topology.ts +192 -0
- package/src/commands/init/types.ts +366 -0
- package/src/commands/init/wizard-terminal.ts +206 -0
- package/src/commands/init/wizard.ts +450 -0
- package/src/commands/mcp.ts +123 -0
- package/src/commands/product-test-runner.ts +80 -0
- package/src/commands/product.ts +331 -0
- package/src/commands/query.ts +1032 -0
- package/src/commands/scan.ts +360 -0
- package/src/commands/sdd.ts +243 -0
- package/src/commands/unavailable.ts +92 -0
- package/src/commands/watch/README.md +160 -0
- package/src/commands/watch/analyze.ts +600 -0
- package/src/commands/watch/cli.ts +108 -0
- package/src/commands/watch/delta.ts +186 -0
- package/src/commands/watch/events.ts +235 -0
- package/src/commands/watch/index.ts +53 -0
- package/src/commands/watch/options.ts +234 -0
- package/src/commands/watch/render.ts +240 -0
- package/src/commands/watch/run.ts +553 -0
- package/src/commands/watch/runtime.ts +167 -0
- package/src/commands/watch-command.ts +294 -0
- package/src/entry-point.ts +67 -0
- package/src/index.ts +291 -0
- package/src/mcp/boundaries-schema.ts +193 -0
- package/src/mcp/default-runtime.ts +1034 -0
- package/src/mcp/envelope.ts +57 -0
- package/src/mcp/index.ts +28 -0
- package/src/mcp/output-schemas.ts +3071 -0
- package/src/mcp/path-sandbox.ts +156 -0
- package/src/mcp/server.ts +358 -0
- package/src/mcp/stdio.ts +92 -0
- package/src/mcp/tools.ts +563 -0
- package/src/mcp/types.ts +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdd.js","sourceRoot":"","sources":["../../src/commands/sdd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DER BAUPLAN fuer Befehle, deren Faehigkeit es NOCH NICHT GIBT.
|
|
3
|
+
*
|
|
4
|
+
* STAND: DIESE DATEI FUEHRT DERZEIT KEINEN BEFEHL MEHR. `watch` ist mit
|
|
5
|
+
* WP-128 hier ausgezogen, `graph` und `flow` mit WP-229 — beide lesen den
|
|
6
|
+
* Graphen jetzt wirklich zurueck (`commands/graph/`, `commands/flow/`).
|
|
7
|
+
* Geblieben ist {@link createUnavailableCommand}: der Bauplan fuer den
|
|
8
|
+
* naechsten Befehl, der angelegt, aber noch nicht gebaut ist. Er wird
|
|
9
|
+
* absichtlich NICHT geloescht — die Alternative zu einem ehrlichen
|
|
10
|
+
* Platzhalter ist erfahrungsgemaess kein fertiger Befehl, sondern ein
|
|
11
|
+
* stiller.
|
|
12
|
+
*
|
|
13
|
+
* Sie stehen in der Oberflaeche, weil ihre Abwesenheit sonst unsichtbar waere
|
|
14
|
+
* — ein Nutzer wuesste nicht, ob `untangle index` fehlt, falsch geschrieben
|
|
15
|
+
* ist oder heimlich nichts tut. BUILD_PLAN E4 verlangt genau das Gegenteil:
|
|
16
|
+
* jedes Ueberspringen bekommt einen Grund.
|
|
17
|
+
*
|
|
18
|
+
* Deshalb tut jeder dieser Befehle drei Dinge und nichts sonst:
|
|
19
|
+
* 1. er sagt, WAS fehlt — pruefbar, mit Paket- und Typnamen;
|
|
20
|
+
* 2. er sagt, was HEUTE schon geht, wenn es etwas gibt;
|
|
21
|
+
* 3. er nennt GENAU EINEN naechsten Schritt.
|
|
22
|
+
* Und er endet mit Exit-Code 3, nie mit 0 und nie mit 1.
|
|
23
|
+
*/
|
|
24
|
+
import type { FlagSpecs } from "../cli/args.js";
|
|
25
|
+
import type { Command } from "../cli/command.js";
|
|
26
|
+
interface UnavailableDefinition {
|
|
27
|
+
readonly name: string;
|
|
28
|
+
readonly summary: string;
|
|
29
|
+
readonly usage: string;
|
|
30
|
+
/** Was fehlt — die pruefbare Aussage, nicht „nicht implementiert". */
|
|
31
|
+
readonly missing: readonly string[];
|
|
32
|
+
/** Was heute schon geht; leer, wenn es nichts gibt. */
|
|
33
|
+
readonly worksToday?: readonly string[];
|
|
34
|
+
/** GENAU EIN naechster Schritt. */
|
|
35
|
+
readonly nextStep: string;
|
|
36
|
+
readonly extraFlags?: FlagSpecs;
|
|
37
|
+
}
|
|
38
|
+
export declare function createUnavailableCommand(definition: UnavailableDefinition): Command;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=unavailable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unavailable.d.ts","sourceRoot":"","sources":["../../src/commands/unavailable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAA+B,MAAM,mBAAmB,CAAC;AAc9E,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,uDAAuD;IACvD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;CACjC;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAuCnF"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DER BAUPLAN fuer Befehle, deren Faehigkeit es NOCH NICHT GIBT.
|
|
3
|
+
*
|
|
4
|
+
* STAND: DIESE DATEI FUEHRT DERZEIT KEINEN BEFEHL MEHR. `watch` ist mit
|
|
5
|
+
* WP-128 hier ausgezogen, `graph` und `flow` mit WP-229 — beide lesen den
|
|
6
|
+
* Graphen jetzt wirklich zurueck (`commands/graph/`, `commands/flow/`).
|
|
7
|
+
* Geblieben ist {@link createUnavailableCommand}: der Bauplan fuer den
|
|
8
|
+
* naechsten Befehl, der angelegt, aber noch nicht gebaut ist. Er wird
|
|
9
|
+
* absichtlich NICHT geloescht — die Alternative zu einem ehrlichen
|
|
10
|
+
* Platzhalter ist erfahrungsgemaess kein fertiger Befehl, sondern ein
|
|
11
|
+
* stiller.
|
|
12
|
+
*
|
|
13
|
+
* Sie stehen in der Oberflaeche, weil ihre Abwesenheit sonst unsichtbar waere
|
|
14
|
+
* — ein Nutzer wuesste nicht, ob `untangle index` fehlt, falsch geschrieben
|
|
15
|
+
* ist oder heimlich nichts tut. BUILD_PLAN E4 verlangt genau das Gegenteil:
|
|
16
|
+
* jedes Ueberspringen bekommt einen Grund.
|
|
17
|
+
*
|
|
18
|
+
* Deshalb tut jeder dieser Befehle drei Dinge und nichts sonst:
|
|
19
|
+
* 1. er sagt, WAS fehlt — pruefbar, mit Paket- und Typnamen;
|
|
20
|
+
* 2. er sagt, was HEUTE schon geht, wenn es etwas gibt;
|
|
21
|
+
* 3. er nennt GENAU EINEN naechsten Schritt.
|
|
22
|
+
* Und er endet mit Exit-Code 3, nie mit 0 und nie mit 1.
|
|
23
|
+
*/
|
|
24
|
+
import { wrap } from "../cli/command.js";
|
|
25
|
+
import { EXIT, UnavailableError } from "../cli/exit.js";
|
|
26
|
+
import { note } from "../cli/io.js";
|
|
27
|
+
const COMMON_FLAGS = {
|
|
28
|
+
root: {
|
|
29
|
+
kind: "string",
|
|
30
|
+
placeholder: "PATH",
|
|
31
|
+
describe: "Project directory; configuration is discovered from here.",
|
|
32
|
+
defaultLabel: "current directory",
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
export function createUnavailableCommand(definition) {
|
|
36
|
+
const spec = {
|
|
37
|
+
name: definition.name,
|
|
38
|
+
// Alle drei Platzhalter kommen aus DIESEM Modul. Das ist die Kehrseite
|
|
39
|
+
// von `implementedBy`: ein Befehl, der hierher zeigt, gibt zu, dass
|
|
40
|
+
// seine Faehigkeit noch fehlt (`notYetBuilt`) — und ein Befehl, der
|
|
41
|
+
// NICHT hierher zeigt, behauptet das Gegenteil und wird daran gemessen.
|
|
42
|
+
implementedBy: "commands/unavailable.js",
|
|
43
|
+
summary: `${definition.summary}; not available yet`,
|
|
44
|
+
usage: definition.usage,
|
|
45
|
+
details: [
|
|
46
|
+
`This command is registered, but its capability is not implemented. It performs no action and exits with code ${String(EXIT.unavailable)}; it neither reports success nor invents an operational error.`,
|
|
47
|
+
...definition.missing,
|
|
48
|
+
...(definition.worksToday ?? []),
|
|
49
|
+
],
|
|
50
|
+
flags: { ...COMMON_FLAGS, ...(definition.extraFlags ?? {}) },
|
|
51
|
+
exitCodes: [[EXIT.unavailable, "This capability is not implemented."]],
|
|
52
|
+
notYetBuilt: true,
|
|
53
|
+
};
|
|
54
|
+
return {
|
|
55
|
+
spec,
|
|
56
|
+
run(ctx) {
|
|
57
|
+
note(ctx.io, `untangle ${definition.name}: not available yet.`);
|
|
58
|
+
note(ctx.io, "");
|
|
59
|
+
for (const paragraph of definition.missing) {
|
|
60
|
+
for (const wrapped of wrap(paragraph, 76))
|
|
61
|
+
note(ctx.io, ` ${wrapped}`);
|
|
62
|
+
note(ctx.io, "");
|
|
63
|
+
}
|
|
64
|
+
for (const paragraph of definition.worksToday ?? []) {
|
|
65
|
+
for (const wrapped of wrap(paragraph, 76))
|
|
66
|
+
note(ctx.io, ` ${wrapped}`);
|
|
67
|
+
note(ctx.io, "");
|
|
68
|
+
}
|
|
69
|
+
throw new UnavailableError(`The capability behind "untangle ${definition.name}" is not implemented.`, definition.nextStep);
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=unavailable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unavailable.js","sourceRoot":"","sources":["../../src/commands/unavailable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,YAAY,GAAc;IAC9B,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,2DAA2D;QACrE,YAAY,EAAE,mBAAmB;KAClC;CACF,CAAC;AAeF,MAAM,UAAU,wBAAwB,CAAC,UAAiC;IACxE,MAAM,IAAI,GAAgB;QACxB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,uEAAuE;QACvE,oEAAoE;QACpE,oEAAoE;QACpE,wEAAwE;QACxE,aAAa,EAAE,yBAAyB;QACxC,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,qBAAqB;QACnD,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,OAAO,EAAE;YACP,gHAAgH,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,gEAAgE;YACxM,GAAG,UAAU,CAAC,OAAO;YACrB,GAAG,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;SACjC;QACD,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;QAC5D,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,qCAAqC,CAAC,CAAC;QACtE,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,GAAG,CAAC,GAAmB;YACrB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,UAAU,CAAC,IAAI,sBAAsB,CAAC,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACjB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC3C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnB,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;gBACpD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnB,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,mCAAmC,UAAU,CAAC,IAAI,uBAAuB,EACzE,UAAU,CAAC,QAAQ,CACpB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type ParseQuality, type ParserRegistry, type SkipLedgerEntryV1 } from "@untangle-code/domain";
|
|
2
|
+
import { type MetricKey, type MetricValues } from "./events.js";
|
|
3
|
+
/** Ein gemessener Scope, so wie ihn der Waechter zwischen zwei Staenden vergleicht. */
|
|
4
|
+
export interface ScopeReadingV1 {
|
|
5
|
+
/** `metrics_scope_id` (spec.md §16.10) — eindeutig INNERHALB dieser Messung. */
|
|
6
|
+
metricsScopeId: string;
|
|
7
|
+
/**
|
|
8
|
+
* Schluessel fuer den Vergleich ZWISCHEN zwei Messungen.
|
|
9
|
+
*
|
|
10
|
+
* WARUM NICHT `metricsScopeId`: `withUniqueScopeIds` bildet die eindeutige
|
|
11
|
+
* Id aus der Byte-Range des Scopes. Das ist innerhalb einer Messung genau
|
|
12
|
+
* richtig und ueber zwei Messungen hinweg unbrauchbar — schon eine
|
|
13
|
+
* eingefuegte Zeile verschiebt jede Range und damit jede Id, und der
|
|
14
|
+
* Waechter meldete dann fuer jede Aenderung "alle Scopes weg, alle Scopes
|
|
15
|
+
* neu". Der Vergleichsschluessel ist deshalb die urspruengliche
|
|
16
|
+
* Adapter-Id (qualifizierter Name plus Ordinal) plus ein Ordinal fuer den
|
|
17
|
+
* Fall, dass der Adapter dieselbe Id mehrfach vergeben hat.
|
|
18
|
+
*/
|
|
19
|
+
matchKey: string;
|
|
20
|
+
label: string;
|
|
21
|
+
kind: string;
|
|
22
|
+
line: number;
|
|
23
|
+
/** Wert je Metrik in der Lesart `"execution_unit"`; nur ausgewaehlte Scopes haben einen. */
|
|
24
|
+
values: MetricValues;
|
|
25
|
+
/** True, wenn dieser Scope in der Lesart `"execution_unit"` ein Summand ist. */
|
|
26
|
+
selected: boolean;
|
|
27
|
+
}
|
|
28
|
+
/** Das Messergebnis EINER Datei. */
|
|
29
|
+
export interface FileReadingV1 {
|
|
30
|
+
path: string;
|
|
31
|
+
languageId: string;
|
|
32
|
+
contentHash: string;
|
|
33
|
+
parseQuality: ParseQuality;
|
|
34
|
+
totals: MetricValues;
|
|
35
|
+
scopes: ScopeReadingV1[];
|
|
36
|
+
/** Anzahl der Chunks, in die der chunker die Datei zerlegt. */
|
|
37
|
+
chunkUnits: number;
|
|
38
|
+
/** Wie viele davon `symbol_fragment` sind: ein Symbol passte nicht in einen Chunk. */
|
|
39
|
+
chunkFragments: number;
|
|
40
|
+
scopeCount: number;
|
|
41
|
+
scopeIdCollisions: number;
|
|
42
|
+
nodeKindFallbacks: number;
|
|
43
|
+
/** Einschraenkungen dieser Messung im Klartext; leer heisst: keine. */
|
|
44
|
+
notes: string[];
|
|
45
|
+
}
|
|
46
|
+
export type AnalysisOutcomeV1 = {
|
|
47
|
+
ok: true;
|
|
48
|
+
reading: FileReadingV1;
|
|
49
|
+
} | {
|
|
50
|
+
ok: false;
|
|
51
|
+
entry: SkipLedgerEntryV1;
|
|
52
|
+
};
|
|
53
|
+
export interface FileAnalyzerOptions {
|
|
54
|
+
registry: ParserRegistry;
|
|
55
|
+
repoId: string;
|
|
56
|
+
refId: string;
|
|
57
|
+
workspaceId: string;
|
|
58
|
+
/** Menschenlesbares Ref-Label fuer den Chunker-Kopf (spec.md §8.6). */
|
|
59
|
+
refName: string;
|
|
60
|
+
repoLabel: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Baut den Analysator EINMAL (die Grammatiken laden faul beim ersten
|
|
64
|
+
* `parse()`) und liefert eine reine Funktion `analyze(path, content)`.
|
|
65
|
+
*/
|
|
66
|
+
export declare function createFileAnalyzer(options: FileAnalyzerOptions): (relativePath: string, content: string) => AnalysisOutcomeV1;
|
|
67
|
+
/** Die Metrik-Reihenfolge, an die sich jede Darstellung haelt. */
|
|
68
|
+
export declare const ORDERED_METRICS: readonly MetricKey[];
|
|
69
|
+
//# sourceMappingURL=analyze.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../../src/commands/watch/analyze.ts"],"names":[],"mappings":"AA6EA,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAiC,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAY/F,uFAAuF;AACvF,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;OAWG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,MAAM,EAAE,YAAY,CAAC;IACrB,gFAAgF;IAChF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEjF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,GAC3B,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,iBAAiB,CAE9D;AA6aD,kEAAkE;AAClE,eAAO,MAAM,eAAe,EAAE,SAAS,SAAS,EAAgB,CAAC"}
|
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Die Messung einer Datei — die Stelle, an der parser-registry, chunker und
|
|
3
|
+
* complexity zu EINER Messung zusammenlaufen.
|
|
4
|
+
*
|
|
5
|
+
* Der Weg einer Datei durch dieses Modul:
|
|
6
|
+
*
|
|
7
|
+
* Inhalt
|
|
8
|
+
* -> `ParserRegistry.getAdapterForPath` (parser-registry)
|
|
9
|
+
* -> `adapter.parse` / `extractChunks` / `extractSymbols` / `extractCalls`
|
|
10
|
+
* / `computeComplexity`
|
|
11
|
+
* -> `chunkFile` (chunker) .... semantische Ladung
|
|
12
|
+
* -> `withUniqueScopeIds` (complexity) .... eindeutige metrics_scope_id
|
|
13
|
+
* -> `computeStructural` / `computeCyclomatic` / `computeCognitive`
|
|
14
|
+
* -> `checkScopeTreeInvariants` + `checkAllScopeCoverage`
|
|
15
|
+
* -> `aggregateScopeTree` / `selectScopeEntries` (scope-aggregate)
|
|
16
|
+
*
|
|
17
|
+
* ## Die vier Metriken (vision.md §1b)
|
|
18
|
+
*
|
|
19
|
+
* DREI davon sind Scope-Metriken und werden ueber `metrics_scope_id`
|
|
20
|
+
* aggregiert, ohne Doppelzaehlung — die ausgewiesene Zahl ist die Lesart
|
|
21
|
+
* `"execution_unit"` aus `packages/complexity/src/scope-aggregate.ts`: jede
|
|
22
|
+
* aeusserste Ausfuehrungseinheit genau einmal, verschachtelte Closures darin
|
|
23
|
+
* enthalten.
|
|
24
|
+
*
|
|
25
|
+
* - `cognitive` — `computeCognitive` ueber die IR (`untangle-cognitive-v1`,
|
|
26
|
+
* spec.md §16.4).
|
|
27
|
+
* - `cyclomatic` — `computeCyclomatic(...).extended` (spec.md §16.3).
|
|
28
|
+
* - `structural` — `parameter_count + return_count + exit_point_count` aus
|
|
29
|
+
* `computeStructural` (spec.md §16.5). WARUM GENAU DIESE DREI: die Lesarten
|
|
30
|
+
* der Scope-Aggregation SUMMIEREN. Summierbar und ueberschneidungsfrei
|
|
31
|
+
* zerlegbar sind von den strukturellen Metriken nur die zaehlenden; `sloc`
|
|
32
|
+
* und `max_nesting` sind es nicht (`sloc` eines Elternscopes enthaelt die
|
|
33
|
+
* Zeilen seiner Kinder, `max_nesting` ist ein Maximum, keine Summe) — sie
|
|
34
|
+
* waeren als Summe entweder doppelt gezaehlt oder bedeutungslos. Die drei
|
|
35
|
+
* gewaehlten zaehlen die strukturelle Oberflaeche eines Scopes: wie viele
|
|
36
|
+
* Groessen hineingehen und wie viele Wege hinausfuehren.
|
|
37
|
+
*
|
|
38
|
+
* DIE VIERTE ist bewusst KEINE Scope-Metrik:
|
|
39
|
+
*
|
|
40
|
+
* - `semantic` — die semantische Ladung der Datei: die Summe der
|
|
41
|
+
* Token-Schaetzungen ueber alle Chunks, die der chunker fuer die Datei
|
|
42
|
+
* erzeugt (`CodeChunkDraft.tokenEstimate`, architecture.md §14.4).
|
|
43
|
+
* Sie beantwortet "wie viel Kontext muss geladen werden, um diese Datei zu
|
|
44
|
+
* verstehen" und faellt genau dann, wenn dieselbe Aussage mit weniger
|
|
45
|
+
* Bedeutungseinheiten auskommt (vision.md §1d). Sie wird ueber CHUNKS
|
|
46
|
+
* summiert, nicht ueber Scopes; deshalb traegt sie die Lesart
|
|
47
|
+
* `"file_chunks"` und niemals `"execution_unit"`.
|
|
48
|
+
*
|
|
49
|
+
* OFFEN GESAGT: spec.md §16 kennt keine Metrik "semantisch". Dies ist eine
|
|
50
|
+
* untangle-lokale Lesart mit ausgewiesener Herkunft, keine
|
|
51
|
+
* Spezifikationsmetrik — sie wird als solche benannt und nicht als §16-Wert
|
|
52
|
+
* ausgegeben.
|
|
53
|
+
*
|
|
54
|
+
* ## Warum eine Messung scheitern DARF
|
|
55
|
+
*
|
|
56
|
+
* Jeder Fehlschlag endet als `SkipLedgerEntryV1` mit Grund und Detailtext,
|
|
57
|
+
* nie als stiller `continue` (E4). Insbesondere geht eine Datei mit
|
|
58
|
+
* `parseQuality !== "complete"` NICHT in die Zahlen ein: ein beschaedigter
|
|
59
|
+
* Syntaxbaum liefert nachweislich falsche Scope-Grenzen (siehe
|
|
60
|
+
* `scripts/complexity-report.mjs`, Kopfkommentar Punkt 5). Sie erscheint
|
|
61
|
+
* stattdessen als `unanalyzed`-Ereignis im Strom.
|
|
62
|
+
*/
|
|
63
|
+
import { chunkFile } from "@untangle-code/chunker";
|
|
64
|
+
import { buildSymbolIR, checkAllScopeCoverage, checkScopeTreeInvariants, computeCognitive, computeCyclomatic, computeStructural, containsRange, selectScopeEntries, selectSymbolFacts, withUniqueScopeIds, } from "@untangle-code/complexity";
|
|
65
|
+
import { buildSkipLedgerEntry, classifyAdapterFailure, classifyTextFormat, compareCodepoints, COGNITIVE_ALGORITHM_ID, METRICS_VERSION, sha256Hex, } from "@untangle-code/domain";
|
|
66
|
+
import { METRIC_KEYS, zeroMetricValues } from "./events.js";
|
|
67
|
+
/**
|
|
68
|
+
* Scope-Arten, die eine eigene Ausfuehrungseinheit sind.
|
|
69
|
+
* `SymbolScopeFact.kind` ist ein adapterspezifischer String;
|
|
70
|
+
* `packages/complexity` kennt bewusst keine Sprach-Taxonomie, die Zuordnung
|
|
71
|
+
* trifft deshalb der Aufrufer (siehe `ScopeMetricNodeV1.executionUnit`).
|
|
72
|
+
* Identisch zu `scripts/complexity-report.mjs`, damit Waechter und Report
|
|
73
|
+
* dieselbe Zahl meinen.
|
|
74
|
+
*/
|
|
75
|
+
const EXECUTION_UNIT_KINDS = new Set(["function", "method", "constructor", "lambda"]);
|
|
76
|
+
/**
|
|
77
|
+
* Baut den Analysator EINMAL (die Grammatiken laden faul beim ersten
|
|
78
|
+
* `parse()`) und liefert eine reine Funktion `analyze(path, content)`.
|
|
79
|
+
*/
|
|
80
|
+
export function createFileAnalyzer(options) {
|
|
81
|
+
return (relativePath, content) => analyzeFile(options, relativePath, content);
|
|
82
|
+
}
|
|
83
|
+
function skip(relativePath, reason, stage, detail, recoverable) {
|
|
84
|
+
return {
|
|
85
|
+
ok: false,
|
|
86
|
+
entry: buildSkipLedgerEntry({
|
|
87
|
+
stage,
|
|
88
|
+
subjectKind: "file",
|
|
89
|
+
path: relativePath,
|
|
90
|
+
reason,
|
|
91
|
+
detail,
|
|
92
|
+
recoverable,
|
|
93
|
+
}),
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function analyzeFile(options, relativePath, content) {
|
|
97
|
+
const adapter = options.registry.getAdapterForPath(relativePath);
|
|
98
|
+
if (adapter === null) {
|
|
99
|
+
return skip(relativePath, "unsupported_language", "parse", `No language adapter is registered for "${relativePath}"; the file contributes to no ` +
|
|
100
|
+
`complexity measurement and its change produces no delta.`, false);
|
|
101
|
+
}
|
|
102
|
+
if (classifyTextFormat(relativePath) === "generated") {
|
|
103
|
+
return skip(relativePath, "generated_content", "parse", `"${relativePath}" is generated content (such as a lockfile). It contains no ` +
|
|
104
|
+
`authored statement; its change produces no delta.`, false);
|
|
105
|
+
}
|
|
106
|
+
// WP-217: Stufe `text` hat keine Scopes und keine Entscheidungspunkte. Die
|
|
107
|
+
// vier Metriken dieses Moduls (cognitive, cyclomatic, structural, semantic)
|
|
108
|
+
// sind Code-Metriken; sie auf ein Dokument anzuwenden ergaebe vier Nullen,
|
|
109
|
+
// die wie eine Messung aussehen. Der Watcher sagt deshalb, was er NICHT
|
|
110
|
+
// gerechnet hat — samt der Stelle, an der es gerechnet wird.
|
|
111
|
+
if (adapter.supportLevel === "text") {
|
|
112
|
+
const prose = classifyTextFormat(relativePath) === "prose";
|
|
113
|
+
return skip(relativePath, "no_metric_defined", "parse", prose
|
|
114
|
+
? `"${relativePath}" is prose (tier "text"). Prose metrics are defined and ` +
|
|
115
|
+
`computed by "untangle complexity --prose"; this watcher path does not compute ` +
|
|
116
|
+
`them yet. Cognitive, cyclomatic and structural metrics would show zeros ` +
|
|
117
|
+
`that could be mistaken for measurements; this note is emitted ` +
|
|
118
|
+
`instead of a delta.`
|
|
119
|
+
: `"${relativePath}" is structured configuration (tier "text"): supported ` +
|
|
120
|
+
`for chunks and search, but without control flow or section structure. ` +
|
|
121
|
+
`Neither a code metric nor a prose metric is defined for it.`, false);
|
|
122
|
+
}
|
|
123
|
+
const contentHash = sha256Hex(content);
|
|
124
|
+
const source = {
|
|
125
|
+
fileId: relativePath,
|
|
126
|
+
repoId: options.repoId,
|
|
127
|
+
refId: options.refId,
|
|
128
|
+
path: relativePath,
|
|
129
|
+
languageId: adapter.languageId,
|
|
130
|
+
content,
|
|
131
|
+
contentHash,
|
|
132
|
+
sizeBytes: Buffer.byteLength(content, "utf8"),
|
|
133
|
+
};
|
|
134
|
+
let parseResult;
|
|
135
|
+
try {
|
|
136
|
+
parseResult = adapter.parse(source);
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
// WP-216: benannter Grund statt durchgereichtem Ausnahmetext (E4).
|
|
140
|
+
const failure = classifyAdapterFailure(error, { sizeBytes: source.sizeBytes });
|
|
141
|
+
return skip(relativePath, failure.reason, "parse", `Adapter "${adapter.languageId}": ${failure.detail}`, failure.recoverable);
|
|
142
|
+
}
|
|
143
|
+
if (parseResult.ast === null) {
|
|
144
|
+
return skip(relativePath, "parse_failed", "parse", `parseQuality="${parseResult.parseQuality}" has no syntax tree; no facts can be derived.`, false);
|
|
145
|
+
}
|
|
146
|
+
if (parseResult.parseQuality !== "complete") {
|
|
147
|
+
const damagedBytes = parseResult.diagnostics.reduce((sum, diagnostic) => sum + (diagnostic.range.endByte - diagnostic.range.startByte), 0);
|
|
148
|
+
return skip(relativePath, "parse_failed", "parse", `parseQuality="${parseResult.parseQuality}": ${String(parseResult.errorNodeCount)} ` +
|
|
149
|
+
`error nodes and ${String(parseResult.missingNodeCount)} missing nodes ` +
|
|
150
|
+
`(${String(damagedBytes)} of ${String(source.sizeBytes)} bytes fall below ` +
|
|
151
|
+
`error nodes). Scope boundaries and decision points would be unreliable; ` +
|
|
152
|
+
`the file therefore contributes to no measurement rather than silently distorting deltas.`, true);
|
|
153
|
+
}
|
|
154
|
+
const ast = parseResult.ast;
|
|
155
|
+
let rawFacts;
|
|
156
|
+
let regions;
|
|
157
|
+
let symbols;
|
|
158
|
+
let rawCalls;
|
|
159
|
+
try {
|
|
160
|
+
regions = adapter.extractChunks(ast);
|
|
161
|
+
symbols = adapter.extractSymbols(ast);
|
|
162
|
+
rawCalls = adapter.extractCalls(ast);
|
|
163
|
+
rawFacts = adapter.computeComplexity(ast);
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
return skip(relativePath, "parse_failed", "parse", `The adapter for "${adapter.languageId}" failed while evaluating the syntax tree: ` +
|
|
167
|
+
`geworfen: ${messageOf(error)}`, false);
|
|
168
|
+
}
|
|
169
|
+
// --- semantische Ladung: der chunker ---------------------------------
|
|
170
|
+
let chunkResult;
|
|
171
|
+
try {
|
|
172
|
+
chunkResult = chunkFile({
|
|
173
|
+
identity: {
|
|
174
|
+
workspaceId: options.workspaceId,
|
|
175
|
+
repoId: options.repoId,
|
|
176
|
+
refId: options.refId,
|
|
177
|
+
fileId: relativePath,
|
|
178
|
+
filePath: relativePath,
|
|
179
|
+
languageId: adapter.languageId,
|
|
180
|
+
},
|
|
181
|
+
content,
|
|
182
|
+
parseResult,
|
|
183
|
+
regions,
|
|
184
|
+
symbols,
|
|
185
|
+
config: {
|
|
186
|
+
preparedText: {
|
|
187
|
+
documentPrefix: "search_document:",
|
|
188
|
+
repoLabel: options.repoLabel,
|
|
189
|
+
refName: options.refName,
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
return skip(relativePath, "parse_failed", "chunk", `The chunker failed: ${messageOf(error)}`, false);
|
|
196
|
+
}
|
|
197
|
+
const notes = parseResult.diagnostics
|
|
198
|
+
.filter((diagnostic) => diagnostic.code === "analysis_scope_limited")
|
|
199
|
+
.map((diagnostic) => diagnostic.message);
|
|
200
|
+
for (const degradation of chunkResult.degradations) {
|
|
201
|
+
notes.push(`Chunker fallback (${degradation.reason}, strategy "${degradation.strategy}"): ` +
|
|
202
|
+
degradation.detail);
|
|
203
|
+
}
|
|
204
|
+
const semantic = chunkResult.drafts.reduce((sum, draft) => sum + draft.tokenEstimate, 0);
|
|
205
|
+
const chunkFragments = chunkResult.drafts.filter((draft) => draft.chunkKind === "symbol_fragment").length;
|
|
206
|
+
// --- Scope-Metriken: complexity ---------------------------------------
|
|
207
|
+
const repaired = withUniqueScopeIds(rawFacts, rawCalls, relativePath);
|
|
208
|
+
const facts = repaired.facts;
|
|
209
|
+
const calls = repaired.calls;
|
|
210
|
+
if (repaired.collisions.length > 0) {
|
|
211
|
+
const scopes = repaired.collisions.reduce((sum, c) => sum + c.scopeCount, 0);
|
|
212
|
+
notes.push(`${String(repaired.collisions.length)} ambiguous adapter scope ID(s) across ` +
|
|
213
|
+
`${String(scopes)} scopes remapped to unique metrics_scope_id values (WP-82).`);
|
|
214
|
+
}
|
|
215
|
+
if (repaired.nodeKindsAttributedByFallback > 0) {
|
|
216
|
+
notes.push(`${String(repaired.nodeKindsAttributedByFallback)} NodeKindFact(s) without SourceRange ` +
|
|
217
|
+
`could only be assigned through a fallback; this file's structural metric ` +
|
|
218
|
+
`therefore has only approximate scope precision.`);
|
|
219
|
+
}
|
|
220
|
+
const subtreeIds = subtreeIdsOf(facts);
|
|
221
|
+
const perMetricNodes = {
|
|
222
|
+
structural: [],
|
|
223
|
+
cyclomatic: [],
|
|
224
|
+
cognitive: [],
|
|
225
|
+
};
|
|
226
|
+
const meta = new Map();
|
|
227
|
+
const matchOrdinals = new Map();
|
|
228
|
+
for (const scope of facts.symbolScopes) {
|
|
229
|
+
const id = scope.symbolScopeId;
|
|
230
|
+
const ownFacts = selectSymbolFacts(facts, id);
|
|
231
|
+
const ids = subtreeIds.get(id) ?? new Set([id]);
|
|
232
|
+
const shared = {
|
|
233
|
+
metricsScopeId: id,
|
|
234
|
+
executionUnit: EXECUTION_UNIT_KINDS.has(scope.kind),
|
|
235
|
+
sloc: Math.max(1, scope.range.endLine - scope.range.startLine + 1),
|
|
236
|
+
...(scope.parentScopeId === undefined ? {} : { parentScopeId: scope.parentScopeId }),
|
|
237
|
+
};
|
|
238
|
+
// cognitive: derselbe Calculator, einmal auf den ungefilterten Datei-Facts
|
|
239
|
+
// (der IR-Builder zieht alle Nachfahren hinein) und einmal auf den
|
|
240
|
+
// eigenen Facts des Scopes.
|
|
241
|
+
const inclusiveIr = buildSymbolIR(facts, id, { calls });
|
|
242
|
+
const ownIr = buildSymbolIR(ownFacts, id, { calls });
|
|
243
|
+
perMetricNodes.cognitive.push({
|
|
244
|
+
...shared,
|
|
245
|
+
inclusiveValue: inclusiveIr === undefined ? 0 : computeCognitive(inclusiveIr, COGNITIVE_ALGORITHM_ID).value,
|
|
246
|
+
selfValue: ownIr === undefined ? 0 : computeCognitive(ownIr, COGNITIVE_ALGORITHM_ID).value,
|
|
247
|
+
});
|
|
248
|
+
// cyclomatic: Entscheidungspunkte des Scopes UND aller Nachfahren
|
|
249
|
+
// (Byte-Containment), damit "inclusive" dasselbe bedeutet wie bei cognitive.
|
|
250
|
+
const subtreeDecisionFacts = {
|
|
251
|
+
...facts,
|
|
252
|
+
decisions: facts.decisions.filter((d) => containsRange(scope.range, d.range)),
|
|
253
|
+
};
|
|
254
|
+
perMetricNodes.cyclomatic.push({
|
|
255
|
+
...shared,
|
|
256
|
+
inclusiveValue: computeCyclomatic(subtreeDecisionFacts, scope.range.startLine, METRICS_VERSION).extended,
|
|
257
|
+
selfValue: computeCyclomatic(ownFacts, scope.range.startLine, METRICS_VERSION).extended,
|
|
258
|
+
});
|
|
259
|
+
// structural: die zaehlenden Metriken aus §16.5. `NodeKindFact`s tragen
|
|
260
|
+
// eine `symbolScopeId`, also ist die Zerlegung ueber die Scope-Ids des
|
|
261
|
+
// Teilbaums exakt: inclusive = self + Summe der Kinder, per Konstruktion.
|
|
262
|
+
const subtreeNodeKindFacts = {
|
|
263
|
+
...facts,
|
|
264
|
+
nodeKinds: facts.nodeKinds.filter((fact) => ids.has(fact.symbolScopeId)),
|
|
265
|
+
};
|
|
266
|
+
perMetricNodes.structural.push({
|
|
267
|
+
...shared,
|
|
268
|
+
inclusiveValue: structuralLoad(subtreeNodeKindFacts, content, scope.range),
|
|
269
|
+
selfValue: structuralLoad(ownFacts, content, scope.range),
|
|
270
|
+
});
|
|
271
|
+
const adapterId = repaired.originalScopeIds.get(id) ?? id;
|
|
272
|
+
const ordinal = matchOrdinals.get(adapterId) ?? 0;
|
|
273
|
+
matchOrdinals.set(adapterId, ordinal + 1);
|
|
274
|
+
meta.set(id, {
|
|
275
|
+
matchKey: `${adapterId}#${String(ordinal)}`,
|
|
276
|
+
label: scope.qualifiedName || scope.name || `(${scope.kind})`,
|
|
277
|
+
kind: scope.kind,
|
|
278
|
+
line: scope.range.startLine,
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
// --- Invarianten: erst pruefen, dann summieren ------------------------
|
|
282
|
+
const violations = [];
|
|
283
|
+
for (const metric of ["structural", "cyclomatic", "cognitive"]) {
|
|
284
|
+
const nodes = perMetricNodes[metric];
|
|
285
|
+
violations.push(...checkScopeTreeInvariants(nodes, treeOptionsFor(metric)));
|
|
286
|
+
violations.push(...checkAllScopeCoverage(nodes));
|
|
287
|
+
}
|
|
288
|
+
if (violations.length > 0) {
|
|
289
|
+
const first = violations
|
|
290
|
+
.slice()
|
|
291
|
+
.sort((a, b) => compareCodepoints(a.metricsScopeId, b.metricsScopeId))
|
|
292
|
+
.slice(0, 3)
|
|
293
|
+
.map((v) => `${v.code} @ ${v.metricsScopeId}: ${v.detail}`)
|
|
294
|
+
.join(" | ");
|
|
295
|
+
return skip(relativePath, "parse_failed", "parse", `${String(violations.length)} invariant violation(s) in the scope tree; a total ` +
|
|
296
|
+
`over an inconsistent tree would be meaningless. First: ${first}`, false);
|
|
297
|
+
}
|
|
298
|
+
const totals = { ...zeroMetricValues(), semantic };
|
|
299
|
+
const selectedValues = new Map();
|
|
300
|
+
for (const metric of ["structural", "cyclomatic", "cognitive"]) {
|
|
301
|
+
const entries = selectScopeEntries(perMetricNodes[metric], "execution_unit");
|
|
302
|
+
let sum = 0;
|
|
303
|
+
for (const entry of entries) {
|
|
304
|
+
sum += entry.value;
|
|
305
|
+
const bucket = selectedValues.get(entry.metricsScopeId) ?? { ...zeroMetricValues() };
|
|
306
|
+
bucket[metric] = entry.value;
|
|
307
|
+
selectedValues.set(entry.metricsScopeId, bucket);
|
|
308
|
+
}
|
|
309
|
+
totals[metric] = sum;
|
|
310
|
+
}
|
|
311
|
+
const scopes = [];
|
|
312
|
+
for (const [id, info] of meta) {
|
|
313
|
+
const values = selectedValues.get(id);
|
|
314
|
+
scopes.push({
|
|
315
|
+
metricsScopeId: id,
|
|
316
|
+
matchKey: info.matchKey,
|
|
317
|
+
label: info.label,
|
|
318
|
+
kind: info.kind,
|
|
319
|
+
line: info.line,
|
|
320
|
+
values: values ?? zeroMetricValues(),
|
|
321
|
+
selected: values !== undefined,
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
scopes.sort((a, b) => compareCodepoints(a.matchKey, b.matchKey));
|
|
325
|
+
return {
|
|
326
|
+
ok: true,
|
|
327
|
+
reading: {
|
|
328
|
+
path: relativePath,
|
|
329
|
+
languageId: adapter.languageId,
|
|
330
|
+
contentHash,
|
|
331
|
+
parseQuality: parseResult.parseQuality,
|
|
332
|
+
totals,
|
|
333
|
+
scopes,
|
|
334
|
+
chunkUnits: chunkResult.drafts.length,
|
|
335
|
+
chunkFragments,
|
|
336
|
+
scopeCount: facts.symbolScopes.length,
|
|
337
|
+
scopeIdCollisions: repaired.collisions.length,
|
|
338
|
+
nodeKindFallbacks: repaired.nodeKindsAttributedByFallback,
|
|
339
|
+
notes,
|
|
340
|
+
},
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* `perScopeBase` je Metrik. `computeCyclomatic` legt IMMER den
|
|
345
|
+
* `M = 1 + decision_points`-Sockel an; ohne diese Angabe meldete die
|
|
346
|
+
* Eltern/Kind-Pruefung Scheinverstoesse, sobald ein Scope mehr als ein Kind
|
|
347
|
+
* hat (siehe `ScopeTreeOptions.perScopeBase`).
|
|
348
|
+
*/
|
|
349
|
+
function treeOptionsFor(metric) {
|
|
350
|
+
return { perScopeBase: metric === "cyclomatic" ? 1 : 0 };
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Die strukturelle Last eines Scopes: `parameter_count + return_count +
|
|
354
|
+
* exit_point_count` aus `computeStructural` (spec.md §16.5) — siehe
|
|
355
|
+
* Modul-Doku fuer die Begruendung, warum genau diese drei.
|
|
356
|
+
*/
|
|
357
|
+
function structuralLoad(facts, content, range) {
|
|
358
|
+
const metrics = computeStructural(facts, content, range).metrics;
|
|
359
|
+
return ((metrics["parameter_count"] ?? 0) +
|
|
360
|
+
(metrics["return_count"] ?? 0) +
|
|
361
|
+
(metrics["exit_point_count"] ?? 0));
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Fuer jeden Scope die Menge seiner eigenen Id plus aller Nachfahren-Ids.
|
|
365
|
+
* Die Elternkette ist nach `checkScopeTreeInvariants` zyklenfrei; hier wird
|
|
366
|
+
* trotzdem gegen Zyklen abgesichert, weil diese Funktion VOR der Pruefung
|
|
367
|
+
* laeuft.
|
|
368
|
+
*/
|
|
369
|
+
function subtreeIdsOf(facts) {
|
|
370
|
+
const children = new Map();
|
|
371
|
+
const all = [];
|
|
372
|
+
for (const scope of facts.symbolScopes) {
|
|
373
|
+
all.push(scope.symbolScopeId);
|
|
374
|
+
const parent = scope.parentScopeId;
|
|
375
|
+
if (parent === undefined)
|
|
376
|
+
continue;
|
|
377
|
+
const bucket = children.get(parent) ?? [];
|
|
378
|
+
bucket.push(scope.symbolScopeId);
|
|
379
|
+
children.set(parent, bucket);
|
|
380
|
+
}
|
|
381
|
+
const result = new Map();
|
|
382
|
+
for (const id of all) {
|
|
383
|
+
const collected = new Set();
|
|
384
|
+
const stack = [id];
|
|
385
|
+
while (stack.length > 0) {
|
|
386
|
+
const current = stack.pop();
|
|
387
|
+
if (collected.has(current))
|
|
388
|
+
continue;
|
|
389
|
+
collected.add(current);
|
|
390
|
+
for (const child of children.get(current) ?? [])
|
|
391
|
+
stack.push(child);
|
|
392
|
+
}
|
|
393
|
+
result.set(id, collected);
|
|
394
|
+
}
|
|
395
|
+
return result;
|
|
396
|
+
}
|
|
397
|
+
function messageOf(error) {
|
|
398
|
+
return error instanceof Error ? error.message : String(error);
|
|
399
|
+
}
|
|
400
|
+
/** Die Metrik-Reihenfolge, an die sich jede Darstellung haelt. */
|
|
401
|
+
export const ORDERED_METRICS = METRIC_KEYS;
|
|
402
|
+
//# sourceMappingURL=analyze.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/commands/watch/analyze.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Fuehrt `untangle watch` aus und liefert den Exit-Code.
|
|
4
|
+
*
|
|
5
|
+
* 0 = sauber beendet, 1 = Betriebsfehler, 2 = Aufruffehler.
|
|
6
|
+
*/
|
|
7
|
+
export declare function runWatchCli(argv: readonly string[]): Promise<number>;
|
|
8
|
+
//# sourceMappingURL=cli.d.ts.map
|