@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":"cli.d.ts","sourceRoot":"","sources":["../../../src/commands/watch/cli.ts"],"names":[],"mappings":";AAoBA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAkE1E"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Der ausfuehrbare Einstiegspunkt des Waechters.
|
|
4
|
+
*
|
|
5
|
+
* Er liegt bewusst INNERHALB von `src/commands/watch/`: das Kommando bringt
|
|
6
|
+
* seine eigene Verdrahtung mit (Uhr, Zufall, Signale, Standardausgabe) und
|
|
7
|
+
* haengt an keiner Datei ausserhalb dieses Verzeichnisses. Damit ist der
|
|
8
|
+
* Waechter fuer sich allein baubar und vorfuehrbar, waehrend der uebrige
|
|
9
|
+
* CLI-Rahmen (WP-124) noch entsteht.
|
|
10
|
+
*
|
|
11
|
+
* Zwei Aufrufwege, beide gleichwertig:
|
|
12
|
+
* node dist/index.js watch [OPTIONEN] (ueber den CLI-Rahmen)
|
|
13
|
+
* node dist/commands/watch/cli.js [OPTIONEN] (direkt)
|
|
14
|
+
*/
|
|
15
|
+
import { hostname } from "node:os";
|
|
16
|
+
import { parseWatchArgs, WATCH_USAGE } from "./options.js";
|
|
17
|
+
import { runWatch } from "./run.js";
|
|
18
|
+
import { CryptoRandom, SystemClock } from "./runtime.js";
|
|
19
|
+
/**
|
|
20
|
+
* Fuehrt `untangle watch` aus und liefert den Exit-Code.
|
|
21
|
+
*
|
|
22
|
+
* 0 = sauber beendet, 1 = Betriebsfehler, 2 = Aufruffehler.
|
|
23
|
+
*/
|
|
24
|
+
export async function runWatchCli(argv) {
|
|
25
|
+
// The opt-in index mode needs the full composition root. A URL import keeps
|
|
26
|
+
// build:watch's original complexity-only dependency graph independent.
|
|
27
|
+
if (argv.some((arg) => ["--index", "--no-index", "--repo", "--ref", "--embedder"].includes(arg.split("=")[0] ?? ""))) {
|
|
28
|
+
const runtime = (await import(new URL("../../index.js", import.meta.url).href));
|
|
29
|
+
const controller = new AbortController();
|
|
30
|
+
const abort = () => controller.abort();
|
|
31
|
+
process.on("SIGINT", abort);
|
|
32
|
+
process.on("SIGTERM", abort);
|
|
33
|
+
try {
|
|
34
|
+
return await runtime.run(["watch", ...argv], { signal: controller.signal });
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
process.off("SIGINT", abort);
|
|
38
|
+
process.off("SIGTERM", abort);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const parsed = parseWatchArgs(argv, {
|
|
42
|
+
cwd: process.cwd(),
|
|
43
|
+
isTty: process.stdout.isTTY === true,
|
|
44
|
+
noColorEnv: process.env["NO_COLOR"],
|
|
45
|
+
});
|
|
46
|
+
if (!parsed.ok) {
|
|
47
|
+
process.stderr.write(`untangle watch: ${parsed.message}\n\n${WATCH_USAGE}\n`);
|
|
48
|
+
return 2;
|
|
49
|
+
}
|
|
50
|
+
if (parsed.options.help) {
|
|
51
|
+
process.stdout.write(`${WATCH_USAGE}\n`);
|
|
52
|
+
return 0;
|
|
53
|
+
}
|
|
54
|
+
return runWatch(parsed.options, {
|
|
55
|
+
clock: new SystemClock(),
|
|
56
|
+
random: new CryptoRandom(),
|
|
57
|
+
stdout: (chunk) => {
|
|
58
|
+
process.stdout.write(chunk);
|
|
59
|
+
},
|
|
60
|
+
stderr: (chunk) => {
|
|
61
|
+
process.stderr.write(chunk);
|
|
62
|
+
},
|
|
63
|
+
host: hostname(),
|
|
64
|
+
/**
|
|
65
|
+
* SIGINT/SIGTERM. Die Abmeldung wird zurueckgegeben, damit `runWatch`
|
|
66
|
+
* den Griff loesen kann, sobald der Abbau laeuft: ein ZWEITES Strg-C
|
|
67
|
+
* soll dann wieder die Vorgabewirkung haben und hart beenden, statt in
|
|
68
|
+
* einem Waechter zu haengen, der gerade aufraeumt.
|
|
69
|
+
*/
|
|
70
|
+
installSignalHandler: (handler) => {
|
|
71
|
+
const signals = ["SIGINT", "SIGTERM"];
|
|
72
|
+
const listeners = signals.map((signal) => {
|
|
73
|
+
const listener = () => {
|
|
74
|
+
handler(signal);
|
|
75
|
+
};
|
|
76
|
+
process.on(signal, listener);
|
|
77
|
+
return { signal, listener };
|
|
78
|
+
});
|
|
79
|
+
return () => {
|
|
80
|
+
for (const { signal, listener } of listeners)
|
|
81
|
+
process.off(signal, listener);
|
|
82
|
+
};
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
const isDirectInvocation = process.argv[1] !== undefined && process.argv[1].endsWith("commands/watch/cli.js");
|
|
87
|
+
if (isDirectInvocation) {
|
|
88
|
+
runWatchCli(process.argv.slice(2))
|
|
89
|
+
.then((code) => {
|
|
90
|
+
process.exitCode = code;
|
|
91
|
+
})
|
|
92
|
+
.catch((error) => {
|
|
93
|
+
process.stderr.write(`untangle watch: ${error instanceof Error ? (error.stack ?? error.message) : String(error)}\n`);
|
|
94
|
+
process.exitCode = 1;
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/commands/watch/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { FileReadingV1 } from "./analyze.js";
|
|
2
|
+
import { type ComplexityDirection, type MetricDeltaV1, type MetricKey, type MetricValues, type ScopeDeltaV1 } from "./events.js";
|
|
3
|
+
/** Kleiner ist einfacher: negatives Delta = abgebaut. */
|
|
4
|
+
export declare function directionOf(delta: number): ComplexityDirection;
|
|
5
|
+
/** Die Lesart, in der ein Metrikwert entstanden ist (siehe `analyze.ts`). */
|
|
6
|
+
export declare function readingOf(metric: MetricKey): "execution_unit" | "file_chunks";
|
|
7
|
+
/**
|
|
8
|
+
* Deltas je Metrik zwischen zwei Messungen derselben Datei. `previous` fehlt
|
|
9
|
+
* bei einer neu hinzugekommenen Datei, `current` bei einer geloeschten — in
|
|
10
|
+
* beiden Faellen wird die fehlende Seite als 0 gelesen, damit das Delta die
|
|
11
|
+
* tatsaechliche Wirkung auf die Gesamtlage beschreibt.
|
|
12
|
+
*/
|
|
13
|
+
export declare function metricDeltas(previous: FileReadingV1 | undefined, current: FileReadingV1 | undefined): MetricDeltaV1[];
|
|
14
|
+
/**
|
|
15
|
+
* Deltas je Scope, ueber `metrics_scope_id` aggregiert und ueber den
|
|
16
|
+
* stabilen `matchKey` zwischen den Staenden zugeordnet (siehe
|
|
17
|
+
* `ScopeReadingV1.matchKey`: die eindeutige `metrics_scope_id` ist
|
|
18
|
+
* byte-range-basiert und ueber zwei Staende hinweg absichtlich nicht stabil).
|
|
19
|
+
*
|
|
20
|
+
* Nur Scopes, die in der Lesart `"execution_unit"` ein Summand sind, kommen
|
|
21
|
+
* vor — sonst zaehlte dieselbe Aenderung zweimal, einmal an der Closure und
|
|
22
|
+
* einmal an ihrer umschliessenden Funktion.
|
|
23
|
+
*
|
|
24
|
+
* Sortierung: Betrag absteigend, bei Gleichstand Metrik-Reihenfolge, dann
|
|
25
|
+
* Codepoint-Ordnung des Labels. Nie `localeCompare`.
|
|
26
|
+
*/
|
|
27
|
+
export declare function scopeDeltas(previous: FileReadingV1 | undefined, current: FileReadingV1 | undefined, limit: number): ScopeDeltaV1[];
|
|
28
|
+
/**
|
|
29
|
+
* Gesamtrichtung einer Aenderung ueber alle vier Metriken.
|
|
30
|
+
*
|
|
31
|
+
* ENTSCHEIDUNG: gezaehlt werden die Metriken, nicht die Betraege — die vier
|
|
32
|
+
* Metriken haben keine gemeinsame Einheit (ein semantisches Delta von 240
|
|
33
|
+
* geschaetzten Tokens ist nicht mit 13 kognitiven Punkten verrechenbar), eine
|
|
34
|
+
* Summe ueber sie waere eine erfundene Zahl. Ueberwiegt keine Richtung, ist
|
|
35
|
+
* das Urteil `"unveraendert"` — das ist ehrlicher als eine Scheinpraezision.
|
|
36
|
+
*/
|
|
37
|
+
export declare function verdictOf(deltas: readonly MetricDeltaV1[]): ComplexityDirection;
|
|
38
|
+
/**
|
|
39
|
+
* Gesamtrichtung einer Netto-Bilanz. Zaehlt wie `verdictOf` die Metriken,
|
|
40
|
+
* nicht die Betraege — aus demselben Grund: die vier haben keine gemeinsame
|
|
41
|
+
* Einheit.
|
|
42
|
+
*/
|
|
43
|
+
export declare function netDirectionOf(net: MetricValues): ComplexityDirection;
|
|
44
|
+
/** Addiert Metrikwerte (fuer die Netto-Bilanz der Sitzung). */
|
|
45
|
+
export declare function addMetricValues(base: MetricValues, deltas: readonly MetricDeltaV1[]): MetricValues;
|
|
46
|
+
//# sourceMappingURL=delta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../../src/commands/watch/delta.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,cAAc,CAAC;AAClE,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAI9D;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,OAAO,EAAE,aAAa,GAAG,SAAS,GACjC,aAAa,EAAE,CAcjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,KAAK,EAAE,MAAM,GACZ,YAAY,EAAE,CAuChB;AAYD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,mBAAmB,CAU/E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,mBAAmB,CAUrE;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAC7B,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,SAAS,aAAa,EAAE,GAC/B,YAAY,CAId"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deltas mit RICHTUNG — der eigentliche Zweck des Waechters.
|
|
3
|
+
*
|
|
4
|
+
* vision.md §1b: eine Aenderung, die Komplexitaet senkt, wird als
|
|
5
|
+
* Verbesserung AUSGEWIESEN und nicht nur stillschweigend hingenommen; eine
|
|
6
|
+
* Verschlechterung wird mit ihrer Beitragsstelle benannt. Eine nackte Zahl
|
|
7
|
+
* leistet weder das eine noch das andere.
|
|
8
|
+
*
|
|
9
|
+
* Fuer alle vier Metriken gilt dieselbe Leserichtung: kleiner ist einfacher.
|
|
10
|
+
* Ein negatives Delta heisst deshalb `"abgebaut"`, ein positives
|
|
11
|
+
* `"aufgebaut"`.
|
|
12
|
+
*
|
|
13
|
+
* ## Was diese Datei NICHT behauptet
|
|
14
|
+
*
|
|
15
|
+
* vision.md §1b macht die Qualitaetsaussage von drei Bedingungen abhaengig
|
|
16
|
+
* (unveraenderte oeffentliche Symboloberflaeche, unveraenderte Testergebnisse,
|
|
17
|
+
* keine neuen Abhaengigkeitskanten). Der Waechter misst hier NUR die
|
|
18
|
+
* Komplexitaet. `"abgebaut"` heisst also "die Komplexitaet ist gefallen" und
|
|
19
|
+
* ausdruecklich NICHT "die Aenderung war eine Verbesserung" — das waere ein
|
|
20
|
+
* Beweis, den eine statische Messung nicht fuehren kann.
|
|
21
|
+
*/
|
|
22
|
+
import { compareCodepoints } from "@untangle-code/domain";
|
|
23
|
+
import { METRIC_KEYS, zeroMetricValues, } from "./events.js";
|
|
24
|
+
/** Kleiner ist einfacher: negatives Delta = abgebaut. */
|
|
25
|
+
export function directionOf(delta) {
|
|
26
|
+
if (delta < 0)
|
|
27
|
+
return "abgebaut";
|
|
28
|
+
if (delta > 0)
|
|
29
|
+
return "aufgebaut";
|
|
30
|
+
return "unveraendert";
|
|
31
|
+
}
|
|
32
|
+
/** Die Lesart, in der ein Metrikwert entstanden ist (siehe `analyze.ts`). */
|
|
33
|
+
export function readingOf(metric) {
|
|
34
|
+
return metric === "semantic" ? "file_chunks" : "execution_unit";
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Deltas je Metrik zwischen zwei Messungen derselben Datei. `previous` fehlt
|
|
38
|
+
* bei einer neu hinzugekommenen Datei, `current` bei einer geloeschten — in
|
|
39
|
+
* beiden Faellen wird die fehlende Seite als 0 gelesen, damit das Delta die
|
|
40
|
+
* tatsaechliche Wirkung auf die Gesamtlage beschreibt.
|
|
41
|
+
*/
|
|
42
|
+
export function metricDeltas(previous, current) {
|
|
43
|
+
return METRIC_KEYS.map((metric) => {
|
|
44
|
+
const before = previous === undefined ? null : previous.totals[metric];
|
|
45
|
+
const after = current === undefined ? null : current.totals[metric];
|
|
46
|
+
const delta = (after ?? 0) - (before ?? 0);
|
|
47
|
+
return {
|
|
48
|
+
metric,
|
|
49
|
+
reading: readingOf(metric),
|
|
50
|
+
previous: before,
|
|
51
|
+
current: after,
|
|
52
|
+
delta,
|
|
53
|
+
direction: directionOf(delta),
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Deltas je Scope, ueber `metrics_scope_id` aggregiert und ueber den
|
|
59
|
+
* stabilen `matchKey` zwischen den Staenden zugeordnet (siehe
|
|
60
|
+
* `ScopeReadingV1.matchKey`: die eindeutige `metrics_scope_id` ist
|
|
61
|
+
* byte-range-basiert und ueber zwei Staende hinweg absichtlich nicht stabil).
|
|
62
|
+
*
|
|
63
|
+
* Nur Scopes, die in der Lesart `"execution_unit"` ein Summand sind, kommen
|
|
64
|
+
* vor — sonst zaehlte dieselbe Aenderung zweimal, einmal an der Closure und
|
|
65
|
+
* einmal an ihrer umschliessenden Funktion.
|
|
66
|
+
*
|
|
67
|
+
* Sortierung: Betrag absteigend, bei Gleichstand Metrik-Reihenfolge, dann
|
|
68
|
+
* Codepoint-Ordnung des Labels. Nie `localeCompare`.
|
|
69
|
+
*/
|
|
70
|
+
export function scopeDeltas(previous, current, limit) {
|
|
71
|
+
const before = indexSelected(previous);
|
|
72
|
+
const after = indexSelected(current);
|
|
73
|
+
const keys = new Set([...before.keys(), ...after.keys()]);
|
|
74
|
+
const deltas = [];
|
|
75
|
+
for (const key of keys) {
|
|
76
|
+
const from = before.get(key);
|
|
77
|
+
const to = after.get(key);
|
|
78
|
+
for (const metric of METRIC_KEYS) {
|
|
79
|
+
if (metric === "semantic")
|
|
80
|
+
continue; // semantische Ladung ist keine Scope-Groesse
|
|
81
|
+
const previousValue = from === undefined ? null : from.values[metric];
|
|
82
|
+
const currentValue = to === undefined ? null : to.values[metric];
|
|
83
|
+
const delta = (currentValue ?? 0) - (previousValue ?? 0);
|
|
84
|
+
if (delta === 0)
|
|
85
|
+
continue;
|
|
86
|
+
const anchor = to ?? from;
|
|
87
|
+
if (anchor === undefined)
|
|
88
|
+
continue;
|
|
89
|
+
deltas.push({
|
|
90
|
+
metricsScopeId: anchor.metricsScopeId,
|
|
91
|
+
label: anchor.label,
|
|
92
|
+
kind: anchor.kind,
|
|
93
|
+
line: anchor.line,
|
|
94
|
+
metric,
|
|
95
|
+
previous: previousValue,
|
|
96
|
+
current: currentValue,
|
|
97
|
+
delta,
|
|
98
|
+
direction: directionOf(delta),
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
deltas.sort((a, b) => Math.abs(b.delta) - Math.abs(a.delta) ||
|
|
103
|
+
METRIC_KEYS.indexOf(a.metric) - METRIC_KEYS.indexOf(b.metric) ||
|
|
104
|
+
compareCodepoints(a.label, b.label) ||
|
|
105
|
+
a.line - b.line);
|
|
106
|
+
return deltas.slice(0, limit);
|
|
107
|
+
}
|
|
108
|
+
function indexSelected(reading) {
|
|
109
|
+
const map = new Map();
|
|
110
|
+
if (reading === undefined)
|
|
111
|
+
return map;
|
|
112
|
+
for (const scope of reading.scopes) {
|
|
113
|
+
if (!scope.selected)
|
|
114
|
+
continue;
|
|
115
|
+
map.set(scope.matchKey, scope);
|
|
116
|
+
}
|
|
117
|
+
return map;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Gesamtrichtung einer Aenderung ueber alle vier Metriken.
|
|
121
|
+
*
|
|
122
|
+
* ENTSCHEIDUNG: gezaehlt werden die Metriken, nicht die Betraege — die vier
|
|
123
|
+
* Metriken haben keine gemeinsame Einheit (ein semantisches Delta von 240
|
|
124
|
+
* geschaetzten Tokens ist nicht mit 13 kognitiven Punkten verrechenbar), eine
|
|
125
|
+
* Summe ueber sie waere eine erfundene Zahl. Ueberwiegt keine Richtung, ist
|
|
126
|
+
* das Urteil `"unveraendert"` — das ist ehrlicher als eine Scheinpraezision.
|
|
127
|
+
*/
|
|
128
|
+
export function verdictOf(deltas) {
|
|
129
|
+
let down = 0;
|
|
130
|
+
let up = 0;
|
|
131
|
+
for (const delta of deltas) {
|
|
132
|
+
if (delta.direction === "abgebaut")
|
|
133
|
+
down++;
|
|
134
|
+
if (delta.direction === "aufgebaut")
|
|
135
|
+
up++;
|
|
136
|
+
}
|
|
137
|
+
if (down > up)
|
|
138
|
+
return "abgebaut";
|
|
139
|
+
if (up > down)
|
|
140
|
+
return "aufgebaut";
|
|
141
|
+
return "unveraendert";
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Gesamtrichtung einer Netto-Bilanz. Zaehlt wie `verdictOf` die Metriken,
|
|
145
|
+
* nicht die Betraege — aus demselben Grund: die vier haben keine gemeinsame
|
|
146
|
+
* Einheit.
|
|
147
|
+
*/
|
|
148
|
+
export function netDirectionOf(net) {
|
|
149
|
+
let down = 0;
|
|
150
|
+
let up = 0;
|
|
151
|
+
for (const metric of METRIC_KEYS) {
|
|
152
|
+
if (net[metric] < 0)
|
|
153
|
+
down++;
|
|
154
|
+
if (net[metric] > 0)
|
|
155
|
+
up++;
|
|
156
|
+
}
|
|
157
|
+
if (down > up)
|
|
158
|
+
return "abgebaut";
|
|
159
|
+
if (up > down)
|
|
160
|
+
return "aufgebaut";
|
|
161
|
+
return "unveraendert";
|
|
162
|
+
}
|
|
163
|
+
/** Addiert Metrikwerte (fuer die Netto-Bilanz der Sitzung). */
|
|
164
|
+
export function addMetricValues(base, deltas) {
|
|
165
|
+
const next = { ...zeroMetricValues(), ...base };
|
|
166
|
+
for (const delta of deltas)
|
|
167
|
+
next[delta.metric] += delta.delta;
|
|
168
|
+
return next;
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=delta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../../src/commands/watch/delta.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Die Ereignisse des Komplexitaetswaechters — der Strom, den `untangle watch`
|
|
3
|
+
* ausgibt (vision.md §1b "Ratsche", §1d "Auffindbarkeit ist selbst ein
|
|
4
|
+
* Qualitaetssignal").
|
|
5
|
+
*
|
|
6
|
+
* Diese Datei fixiert die FORM des Stroms; `render.ts` fixiert nur seine
|
|
7
|
+
* Darstellung. Beide Ausgabewege (Text, JSON) speisen sich aus denselben
|
|
8
|
+
* Werten, damit die maschinenlesbare Ausgabe nie etwas anderes behauptet als
|
|
9
|
+
* die lesbare.
|
|
10
|
+
*
|
|
11
|
+
* ENTSCHEIDUNG (E4 an der Oberflaeche): `WatchUnanalyzedEventV1` ist ein
|
|
12
|
+
* ERSTKLASSIGES Stromereignis, kein Log-Rauschen. Eine Datei, die der
|
|
13
|
+
* Waechter nicht messen konnte, MUSS im selben Strom auftauchen wie eine, die
|
|
14
|
+
* er messen konnte — sonst liest der Nutzer aus dem Schweigen "nichts
|
|
15
|
+
* passiert", und genau das waere schlimmer als kein Waechter.
|
|
16
|
+
*/
|
|
17
|
+
import type { SkipLedgerEntryV1 } from "@untangle-code/domain";
|
|
18
|
+
/**
|
|
19
|
+
* Die vier Metriken des Waechters (vision.md §1b: "strukturell, semantisch,
|
|
20
|
+
* cyclomatic, cognitive").
|
|
21
|
+
*
|
|
22
|
+
* Reihenfolge ist normativ: sie ist die Ausgabereihenfolge in JEDER
|
|
23
|
+
* Darstellung, damit zwei Laeufe zeilenweise vergleichbar bleiben.
|
|
24
|
+
*/
|
|
25
|
+
export declare const METRIC_KEYS: readonly ["structural", "semantic", "cyclomatic", "cognitive"];
|
|
26
|
+
export type MetricKey = (typeof METRIC_KEYS)[number];
|
|
27
|
+
/** Metrikwerte einer Messung, immer vollstaendig — kein Feld fehlt je. */
|
|
28
|
+
export type MetricValues = Readonly<Record<MetricKey, number>>;
|
|
29
|
+
/**
|
|
30
|
+
* Die Richtung einer Aenderung. Fuer ALLE vier Metriken gilt: kleiner ist
|
|
31
|
+
* einfacher, also bedeutet ein negatives Delta abgebaute Komplexitaet. Eine
|
|
32
|
+
* nackte Zahl hilft niemandem — die Richtung ist der Teil, der die Aussage
|
|
33
|
+
* traegt.
|
|
34
|
+
*/
|
|
35
|
+
export type ComplexityDirection = "abgebaut" | "aufgebaut" | "unveraendert";
|
|
36
|
+
/**
|
|
37
|
+
* Welche Lesart einer Scope-Summe hinter einem Metrikwert steht
|
|
38
|
+
* (`packages/complexity/src/scope-aggregate.ts`). Eine Zahl ohne Lesart waere
|
|
39
|
+
* bedeutungslos, deshalb reist sie mit.
|
|
40
|
+
*
|
|
41
|
+
* - `"execution_unit"` — Summe ueber die aeussersten Ausfuehrungseinheiten,
|
|
42
|
+
* jede genau einmal, verschachtelte Closures darin enthalten. Die Vorgabe
|
|
43
|
+
* fuer strukturell/cyclomatic/cognitive.
|
|
44
|
+
* - `"file_chunks"` — die semantische Ladung wird nicht ueber Scopes
|
|
45
|
+
* summiert, sondern ueber die Chunks der Datei (siehe `analyze.ts`).
|
|
46
|
+
*/
|
|
47
|
+
export type MetricReadingKind = "execution_unit" | "file_chunks";
|
|
48
|
+
/** Ein Delta EINER Metrik, mit Richtung. */
|
|
49
|
+
export interface MetricDeltaV1 {
|
|
50
|
+
metric: MetricKey;
|
|
51
|
+
reading: MetricReadingKind;
|
|
52
|
+
/** Wert vor der Aenderung; `null` bei einer neu hinzugekommenen Datei. */
|
|
53
|
+
previous: number | null;
|
|
54
|
+
/** Wert nach der Aenderung; `null` bei einer geloeschten Datei. */
|
|
55
|
+
current: number | null;
|
|
56
|
+
/** `current - previous`, mit fehlender Seite als 0 gelesen. */
|
|
57
|
+
delta: number;
|
|
58
|
+
direction: ComplexityDirection;
|
|
59
|
+
}
|
|
60
|
+
/** Ein Delta EINES Scopes — die Stelle, an der der Preis entsteht. */
|
|
61
|
+
export interface ScopeDeltaV1 {
|
|
62
|
+
/** `metrics_scope_id` nach spec.md §16.10. */
|
|
63
|
+
metricsScopeId: string;
|
|
64
|
+
/** Qualifizierter Name des Scopes, wie ihn der Sprachadapter meldet. */
|
|
65
|
+
label: string;
|
|
66
|
+
kind: string;
|
|
67
|
+
/** Erste Zeile des Scopes NACH der Aenderung, sonst davor. */
|
|
68
|
+
line: number;
|
|
69
|
+
metric: MetricKey;
|
|
70
|
+
previous: number | null;
|
|
71
|
+
current: number | null;
|
|
72
|
+
delta: number;
|
|
73
|
+
direction: ComplexityDirection;
|
|
74
|
+
}
|
|
75
|
+
/** Der Waechter hat den Lock erworben und die Grundmessung begonnen. */
|
|
76
|
+
export interface WatchStartedEventV1 {
|
|
77
|
+
kind: "started";
|
|
78
|
+
sequence: number;
|
|
79
|
+
at: string;
|
|
80
|
+
root: string;
|
|
81
|
+
repoId: string;
|
|
82
|
+
refId: string;
|
|
83
|
+
lockKey: string;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Die Grundmessung ist fertig: ab hier sind alle Deltas gegen einen bekannten
|
|
87
|
+
* Stand gemessen und nicht gegen Nichts.
|
|
88
|
+
*/
|
|
89
|
+
export interface WatchBaselineEventV1 {
|
|
90
|
+
kind: "baseline";
|
|
91
|
+
sequence: number;
|
|
92
|
+
at: string;
|
|
93
|
+
filesAnalyzed: number;
|
|
94
|
+
/** Wie viele Dateien mit Grund im Ledger stehen (E4). */
|
|
95
|
+
filesUnanalyzed: number;
|
|
96
|
+
/**
|
|
97
|
+
* Wie viele Pfade der Scanner ueber Ignorierregeln ausgeschlossen hat
|
|
98
|
+
* (`.gitignore`, Vorgabeausschluesse, Konfiguration).
|
|
99
|
+
*
|
|
100
|
+
* WARUM NUR EINE ZAHL UND KEIN EREIGNIS JE PFAD: das sind auf einem
|
|
101
|
+
* gewoehnlichen Repository zehntausende Pfade (`node_modules/`, `dist/`),
|
|
102
|
+
* und ein Strom, der davon ueberflutet wird, verbirgt genau das, was E4
|
|
103
|
+
* sichtbar machen will. Ausgeschlossen-nach-Regel ist zudem eine
|
|
104
|
+
* Konfigurationsentscheidung des Nutzers, kein Analysefehlschlag. Jeder
|
|
105
|
+
* Ausschluss, der NICHT auf einer Regel beruht — binaerer Inhalt,
|
|
106
|
+
* Groessengrenze, unlesbar — bekommt sein eigenes `unanalyzed`-Ereignis.
|
|
107
|
+
*/
|
|
108
|
+
filesExcludedByRules: number;
|
|
109
|
+
totals: MetricValues;
|
|
110
|
+
/** Summe der Scopes, die in die drei Scope-Metriken eingehen. */
|
|
111
|
+
scopeCount: number;
|
|
112
|
+
/**
|
|
113
|
+
* Wie viele Scope-Ids der Sprachadapter innerhalb einer Datei doppelt
|
|
114
|
+
* vergeben hat und `withUniqueScopeIds` reparieren musste (WP-82). `> 0`
|
|
115
|
+
* ist kein Fehler, aber eine Einschraenkung, die sichtbar bleiben muss.
|
|
116
|
+
*/
|
|
117
|
+
scopeIdCollisions: number;
|
|
118
|
+
/**
|
|
119
|
+
* Wie viele `NodeKindFact`s nur ueber den Ersatzweg zugeordnet werden
|
|
120
|
+
* konnten (sie tragen keine `SourceRange`). Betrifft ausschliesslich die
|
|
121
|
+
* strukturelle Metrik.
|
|
122
|
+
*/
|
|
123
|
+
nodeKindFallbacks: number;
|
|
124
|
+
durationMs: number;
|
|
125
|
+
}
|
|
126
|
+
/** Eine Aenderung an einer Datei, mit Deltas je Metrik und je Scope. */
|
|
127
|
+
export interface WatchChangeEventV1 {
|
|
128
|
+
kind: "change";
|
|
129
|
+
sequence: number;
|
|
130
|
+
at: string;
|
|
131
|
+
changeKind: "added" | "modified" | "deleted";
|
|
132
|
+
/** "/"-normalisierter, repo-relativer Pfad. */
|
|
133
|
+
path: string;
|
|
134
|
+
languageId: string | null;
|
|
135
|
+
contentHash: string | null;
|
|
136
|
+
metrics: MetricDeltaV1[];
|
|
137
|
+
/**
|
|
138
|
+
* Die Scopes, deren Wert sich geaendert hat — nach Betrag absteigend,
|
|
139
|
+
* bei Gleichstand nach Scope-Id (Codepoint-Ordnung).
|
|
140
|
+
*/
|
|
141
|
+
scopes: ScopeDeltaV1[];
|
|
142
|
+
/** Gesamtrichtung ueber alle vier Metriken (siehe `delta.ts`). */
|
|
143
|
+
verdict: ComplexityDirection;
|
|
144
|
+
/**
|
|
145
|
+
* Einschraenkungen dieser einen Messung im Klartext (Parse-Qualitaet,
|
|
146
|
+
* Chunker-Abstufung, Scope-Id-Kollisionen). Leer heisst: keine.
|
|
147
|
+
*/
|
|
148
|
+
notes: string[];
|
|
149
|
+
analysisMs: number;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* E4 an der Oberflaeche: eine Datei, die NICHT analysiert werden konnte,
|
|
153
|
+
* erscheint im Strom als solche — mit Grund, Detailtext und der Angabe, ob
|
|
154
|
+
* ein spaeterer Versuch Aussicht auf Erfolg hat.
|
|
155
|
+
*/
|
|
156
|
+
export interface WatchUnanalyzedEventV1 {
|
|
157
|
+
kind: "unanalyzed";
|
|
158
|
+
sequence: number;
|
|
159
|
+
at: string;
|
|
160
|
+
/** Woher die Datei kam: Grundmessung oder eine laufende Aenderung. */
|
|
161
|
+
origin: "baseline" | "change";
|
|
162
|
+
entry: SkipLedgerEntryV1;
|
|
163
|
+
}
|
|
164
|
+
/** Zustandswechsel des Watchers (`starting` → `running` → `degraded` → `stopped`). */
|
|
165
|
+
export interface WatchStatusEventV1 {
|
|
166
|
+
kind: "status";
|
|
167
|
+
sequence: number;
|
|
168
|
+
at: string;
|
|
169
|
+
status: "starting" | "running" | "degraded" | "stopped";
|
|
170
|
+
/** Fehlertext, wenn der Wechsel durch einen Fehler ausgeloest wurde. */
|
|
171
|
+
detail: string | null;
|
|
172
|
+
}
|
|
173
|
+
/** Der Waechter hat sauber beendet: Strom geschlossen, Lock freigegeben. */
|
|
174
|
+
export interface WatchStoppedEventV1 {
|
|
175
|
+
kind: "stopped";
|
|
176
|
+
sequence: number;
|
|
177
|
+
at: string;
|
|
178
|
+
/**
|
|
179
|
+
* `"signal"` = SIGINT/SIGTERM, `"limit"` = `--exit-after` erreicht,
|
|
180
|
+
* `"baseline"` = `--baseline-only`, `"error"` = Abbruch.
|
|
181
|
+
*/
|
|
182
|
+
reason: "signal" | "limit" | "baseline" | "error";
|
|
183
|
+
signal: string | null;
|
|
184
|
+
changesObserved: number;
|
|
185
|
+
filesUnanalyzed: number;
|
|
186
|
+
/** Netto-Delta der Sitzung je Metrik: was diese Sitzung insgesamt bewirkt hat. */
|
|
187
|
+
net: MetricValues;
|
|
188
|
+
netDirection: ComplexityDirection;
|
|
189
|
+
/** Rueckstau-Kennzahlen der `BoundedQueue` (architecture.md §13.2). */
|
|
190
|
+
queue: {
|
|
191
|
+
maxDepthObserved: number;
|
|
192
|
+
maxBytesObserved: number;
|
|
193
|
+
overBudgetAdmissions: number;
|
|
194
|
+
};
|
|
195
|
+
lockReleased: boolean;
|
|
196
|
+
durationMs: number;
|
|
197
|
+
}
|
|
198
|
+
export type WatchStreamEventV1 = WatchStartedEventV1 | WatchBaselineEventV1 | WatchChangeEventV1 | WatchUnanalyzedEventV1 | WatchStatusEventV1 | WatchStoppedEventV1;
|
|
199
|
+
/** Nullwerte fuer alle vier Metriken — nie `{}` weiterreichen. */
|
|
200
|
+
export declare function zeroMetricValues(): MetricValues;
|
|
201
|
+
/**
|
|
202
|
+
* Ein Ereignis OHNE Umschlag (`sequence`, `at`) — die Form, in der der
|
|
203
|
+
* Waechter ein Ereignis meldet; den Umschlag setzt `runWatch` an genau einer
|
|
204
|
+
* Stelle, damit die laufende Nummer luecken- und sprungfrei bleibt.
|
|
205
|
+
*
|
|
206
|
+
* Die Verteilung ueber die Vereinigung (`T extends unknown ? ... : never`)
|
|
207
|
+
* ist notwendig: ein `Omit` DIREKT auf der Vereinigung behielte nur die
|
|
208
|
+
* gemeinsamen Felder aller Varianten uebrig und verwuerfe genau die Felder,
|
|
209
|
+
* um die es geht.
|
|
210
|
+
*/
|
|
211
|
+
type WithoutEnvelope<T> = T extends unknown ? Omit<T, "sequence" | "at"> : never;
|
|
212
|
+
export type WatchStreamEventDraftV1 = WithoutEnvelope<WatchStreamEventV1>;
|
|
213
|
+
export {};
|
|
214
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/commands/watch/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Die vier Metriken des Waechters (vision.md §1b: "strukturell, semantisch,
|
|
3
|
+
* cyclomatic, cognitive").
|
|
4
|
+
*
|
|
5
|
+
* Reihenfolge ist normativ: sie ist die Ausgabereihenfolge in JEDER
|
|
6
|
+
* Darstellung, damit zwei Laeufe zeilenweise vergleichbar bleiben.
|
|
7
|
+
*/
|
|
8
|
+
export const METRIC_KEYS = ["structural", "semantic", "cyclomatic", "cognitive"];
|
|
9
|
+
/** Nullwerte fuer alle vier Metriken — nie `{}` weiterreichen. */
|
|
10
|
+
export function zeroMetricValues() {
|
|
11
|
+
return { structural: 0, semantic: 0, cyclomatic: 0, cognitive: 0 };
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/commands/watch/events.ts"],"names":[],"mappings":"AAkBA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAU,CAAC;AAiM1F,kEAAkE;AAClE,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `untangle watch` — der Komplexitaetswaechter (vision.md §1b, §1d).
|
|
3
|
+
*
|
|
4
|
+
* Dies ist die EINZIGE oeffentliche Schnittstelle des Kommandos; `main.ts`
|
|
5
|
+
* und die Tests importieren nur von hier.
|
|
6
|
+
*/
|
|
7
|
+
export { createFileAnalyzer, ORDERED_METRICS } from "./analyze.js";
|
|
8
|
+
export type { AnalysisOutcomeV1, FileAnalyzerOptions, FileReadingV1, ScopeReadingV1, } from "./analyze.js";
|
|
9
|
+
export { addMetricValues, directionOf, metricDeltas, netDirectionOf, readingOf, scopeDeltas, verdictOf, } from "./delta.js";
|
|
10
|
+
export { METRIC_KEYS, zeroMetricValues } from "./events.js";
|
|
11
|
+
export type { ComplexityDirection, MetricDeltaV1, MetricKey, MetricReadingKind, MetricValues, ScopeDeltaV1, WatchBaselineEventV1, WatchChangeEventV1, WatchStartedEventV1, WatchStatusEventV1, WatchStoppedEventV1, WatchStreamEventDraftV1, WatchStreamEventV1, WatchUnanalyzedEventV1, } from "./events.js";
|
|
12
|
+
export { parseWatchArgs, WATCH_USAGE } from "./options.js";
|
|
13
|
+
export type { ParseWatchArgsEnv, WatchOptionsV1 } from "./options.js";
|
|
14
|
+
export { formatNumber, formatSigned, renderJson, renderText } from "./render.js";
|
|
15
|
+
export { runWatch } from "./run.js";
|
|
16
|
+
export type { RunWatchDeps } from "./run.js";
|
|
17
|
+
export { createIgnorePredicate, createStreamSink, CryptoRandom, STATE_DIR_NAME, stripAnsi, SystemClock, } from "./runtime.js";
|
|
18
|
+
export { runWatchCli } from "./cli.js";
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/watch/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACnE,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,eAAe,EACf,WAAW,EACX,YAAY,EACZ,cAAc,EACd,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `untangle watch` — der Komplexitaetswaechter (vision.md §1b, §1d).
|
|
3
|
+
*
|
|
4
|
+
* Dies ist die EINZIGE oeffentliche Schnittstelle des Kommandos; `main.ts`
|
|
5
|
+
* und die Tests importieren nur von hier.
|
|
6
|
+
*/
|
|
7
|
+
export { createFileAnalyzer, ORDERED_METRICS } from "./analyze.js";
|
|
8
|
+
export { addMetricValues, directionOf, metricDeltas, netDirectionOf, readingOf, scopeDeltas, verdictOf, } from "./delta.js";
|
|
9
|
+
export { METRIC_KEYS, zeroMetricValues } from "./events.js";
|
|
10
|
+
export { parseWatchArgs, WATCH_USAGE } from "./options.js";
|
|
11
|
+
export { formatNumber, formatSigned, renderJson, renderText } from "./render.js";
|
|
12
|
+
export { runWatch } from "./run.js";
|
|
13
|
+
export { createIgnorePredicate, createStreamSink, CryptoRandom, STATE_DIR_NAME, stripAnsi, SystemClock, } from "./runtime.js";
|
|
14
|
+
export { runWatchCli } from "./cli.js";
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/watch/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAOnE,OAAO,EACL,eAAe,EACf,WAAW,EACX,YAAY,EACZ,cAAc,EACd,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAiB5D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|