@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,152 @@
|
|
|
1
|
+
# Third-party licenses — @untangle-code/cli
|
|
2
|
+
|
|
3
|
+
Generated by `pnpm third-party-licenses` from this package's installed
|
|
4
|
+
production dependency tree: transitive `dependencies`, across
|
|
5
|
+
workspace edges, with no `devDependencies` included. The generator reads
|
|
6
|
+
each resolved package's `package.json` in `node_modules`; nothing is maintained by hand
|
|
7
|
+
or estimated.
|
|
8
|
+
|
|
9
|
+
Do not edit manually: `pnpm third-party-licenses --check` fails on drift,
|
|
10
|
+
and `pnpm check-publishable` rejects packages without a current file.
|
|
11
|
+
|
|
12
|
+
This file exists because `docs/BUILD_PLAN.md`, risk R6, makes
|
|
13
|
+
per-package `THIRD_PARTY_LICENSES.md` a release gate for npm publication.
|
|
14
|
+
|
|
15
|
+
Untangle itself is **AGPL-3.0-only** (see `LICENSE` and `NOTICE` in
|
|
16
|
+
this package). The packages below are third-party works; their own
|
|
17
|
+
licenses and copyright notices continue to apply unchanged. Workspace
|
|
18
|
+
packages (`@untangle-code/*`) are not listed here; they belong to the same
|
|
19
|
+
work and use the same AGPL-3.0-only license.
|
|
20
|
+
|
|
21
|
+
## Production dependencies (transitive, 66)
|
|
22
|
+
|
|
23
|
+
| Package | Version | License | Project |
|
|
24
|
+
| --- | --- | --- | --- |
|
|
25
|
+
| `@ast-grep/lang-python` | 0.0.6 | ISC | — |
|
|
26
|
+
| `@ast-grep/napi` | 0.45.3 | MIT | <https://ast-grep.github.io> |
|
|
27
|
+
| `@ast-grep/setup-lang` | 0.0.6 | ISC | — |
|
|
28
|
+
| `@babel/helper-string-parser` | 7.29.7 | MIT | <https://babel.dev/docs/en/next/babel-helper-string-parser> |
|
|
29
|
+
| `@babel/helper-validator-identifier` | 7.29.7 | MIT | <https://github.com/babel/babel> |
|
|
30
|
+
| `@babel/parser` | 7.29.9 | MIT | <https://babel.dev/docs/en/next/babel-parser> |
|
|
31
|
+
| `@babel/types` | 7.29.8 | MIT | <https://babel.dev/docs/en/next/babel-types> |
|
|
32
|
+
| `@jridgewell/sourcemap-codec` | 1.6.0 | MIT | <https://github.com/jridgewell/sourcemaps/tree/main/packages/sourcemap-codec> |
|
|
33
|
+
| `@lancedb/lancedb` | 0.30.0 | Apache-2.0 | <https://github.com/lancedb/lancedb> |
|
|
34
|
+
| `@modelcontextprotocol/core` | 2.0.0 | MIT | <https://modelcontextprotocol.io> |
|
|
35
|
+
| `@modelcontextprotocol/server` | 2.0.0 | MIT | <https://modelcontextprotocol.io> |
|
|
36
|
+
| `@nodable/entities` | 3.0.0 | MIT | <https://github.com/nodable/val-parsers> |
|
|
37
|
+
| `@swc/helpers` | 0.5.24 | Apache-2.0 | <https://swc.rs> |
|
|
38
|
+
| `@types/command-line-args` | 5.2.3 | MIT | <https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/command-line-args> |
|
|
39
|
+
| `@types/command-line-usage` | 5.0.4 | MIT | <https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/command-line-usage> |
|
|
40
|
+
| `@types/node` | 20.19.43 | MIT | <https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node> |
|
|
41
|
+
| `@vue/compiler-core` | 3.5.44 | MIT | <https://github.com/vuejs/core/tree/main/packages/compiler-core#readme> |
|
|
42
|
+
| `@vue/compiler-dom` | 3.5.44 | MIT | <https://github.com/vuejs/core/tree/main/packages/compiler-dom#readme> |
|
|
43
|
+
| `@vue/compiler-sfc` | 3.5.44 | MIT | <https://github.com/vuejs/core/tree/main/packages/compiler-sfc#readme> |
|
|
44
|
+
| `@vue/compiler-ssr` | 3.5.44 | MIT | <https://github.com/vuejs/core/tree/main/packages/compiler-ssr#readme> |
|
|
45
|
+
| `@vue/shared` | 3.5.44 | MIT | <https://github.com/vuejs/core/tree/main/packages/shared#readme> |
|
|
46
|
+
| `ansi-styles` | 4.3.0 | MIT | `chalk/ansi-styles` |
|
|
47
|
+
| `anynum` | 1.0.1 | MIT | <https://github.com/NaturalIntelligence/anynum> |
|
|
48
|
+
| `apache-arrow` | 18.1.0 | Apache-2.0 | <https://github.com/apache/arrow/blob/main/js/README.md> |
|
|
49
|
+
| `array-back` | 3.1.0 | MIT | <https://github.com/75lb/array-back> |
|
|
50
|
+
| `array-back` | 6.2.3 | MIT | <https://github.com/75lb/array-back> |
|
|
51
|
+
| `chalk` | 4.1.2 | MIT | `chalk/chalk` |
|
|
52
|
+
| `chalk-template` | 0.4.0 | MIT | `chalk/chalk-template` |
|
|
53
|
+
| `color-convert` | 2.0.1 | MIT | `Qix-/color-convert` |
|
|
54
|
+
| `color-name` | 1.1.4 | MIT | <https://github.com/colorjs/color-name> |
|
|
55
|
+
| `command-line-args` | 5.2.1 | MIT | <https://github.com/75lb/command-line-args> |
|
|
56
|
+
| `command-line-usage` | 7.0.4 | MIT | <https://github.com/75lb/command-line-usage> |
|
|
57
|
+
| `entities` | 7.0.1 | BSD-2-Clause | <https://github.com/fb55/entities> |
|
|
58
|
+
| `estree-walker` | 2.0.2 | MIT | <https://github.com/Rich-Harris/estree-walker> |
|
|
59
|
+
| `fast-xml-builder` | 1.3.1 | MIT | <https://github.com/NaturalIntelligence/fast-xml-builder> |
|
|
60
|
+
| `fast-xml-parser` | 5.11.1 | MIT | <https://github.com/NaturalIntelligence/fast-xml-parser> |
|
|
61
|
+
| `find-replace` | 3.0.0 | MIT | <https://github.com/75lb/find-replace> |
|
|
62
|
+
| `flatbuffers` | 24.12.23 | Apache-2.0 | <https://google.github.io/flatbuffers/> |
|
|
63
|
+
| `has-flag` | 4.0.0 | MIT | `sindresorhus/has-flag` |
|
|
64
|
+
| `is-unsafe` | 2.0.2 | MIT | <https://github.com/NaturalIntelligence/is-unsafe> |
|
|
65
|
+
| `json-bignum` | 0.0.3 | MIT | <https://github.com/datalanche/json-bignum> |
|
|
66
|
+
| `lodash.camelcase` | 4.3.0 | MIT | <https://lodash.com/> |
|
|
67
|
+
| `magic-string` | 0.30.21 | MIT | <https://github.com/Rich-Harris/magic-string> |
|
|
68
|
+
| `nanoid` | 3.3.20 | MIT | `ai/nanoid` |
|
|
69
|
+
| `node-addon-api` | 8.9.2 | MIT | <https://github.com/nodejs/node-addon-api> |
|
|
70
|
+
| `node-gyp-build` | 4.8.4 | MIT | <https://github.com/prebuild/node-gyp-build> |
|
|
71
|
+
| `path-expression-matcher` | 1.6.2 | MIT | <https://github.com/NaturalIntelligence/path-expression-matcher#readme> |
|
|
72
|
+
| `picocolors` | 1.1.1 | ISC | `alexeyraspopov/picocolors` |
|
|
73
|
+
| `postcss` | 8.5.31 | MIT | <https://postcss.org/> |
|
|
74
|
+
| `reflect-metadata` | 0.2.2 | Apache-2.0 | <http://rbuckton.github.io/reflect-metadata> |
|
|
75
|
+
| `smol-toml` | 1.8.0 | BSD-3-Clause | `github:squirrelchat/smol-toml` |
|
|
76
|
+
| `source-map-js` | 1.2.2 | BSD-3-Clause | <https://github.com/7rulnik/source-map-js> |
|
|
77
|
+
| `strnum` | 2.4.2 | MIT | <https://github.com/NaturalIntelligence/strnum> |
|
|
78
|
+
| `supports-color` | 7.2.0 | MIT | `chalk/supports-color` |
|
|
79
|
+
| `table-layout` | 4.1.1 | MIT | <https://github.com/75lb/table-layout> |
|
|
80
|
+
| `tree-sitter` | 0.21.1 | MIT | <http://github.com/tree-sitter/node-tree-sitter> |
|
|
81
|
+
| `tree-sitter-javascript` | 0.23.1 | MIT | <https://github.com/tree-sitter/tree-sitter-javascript> |
|
|
82
|
+
| `tree-sitter-typescript` | 0.23.2 | MIT | <https://github.com/tree-sitter/tree-sitter-typescript> |
|
|
83
|
+
| `tslib` | 2.8.1 | 0BSD | <https://www.typescriptlang.org/> |
|
|
84
|
+
| `typical` | 4.0.0 | MIT | <https://github.com/75lb/typical> |
|
|
85
|
+
| `typical` | 7.3.0 | MIT | <https://github.com/75lb/typical> |
|
|
86
|
+
| `undici-types` | 6.21.0 | MIT | <https://undici.nodejs.org> |
|
|
87
|
+
| `wordwrapjs` | 5.1.1 | MIT | <https://github.com/75lb/wordwrapjs> |
|
|
88
|
+
| `xml-naming` | 0.3.0 | MIT | <https://github.com/NaturalIntelligence/xml-naming> |
|
|
89
|
+
| `yaml` | 2.9.0 | ISC | <https://eemeli.org/yaml/> |
|
|
90
|
+
| `zod` | 4.5.4 | MIT | <https://zod.dev> |
|
|
91
|
+
|
|
92
|
+
The allowlist (MIT / Apache-2.0 / BSD / ISC / …) is checked by
|
|
93
|
+
`scripts/check-licenses.mjs` against this exact tree on every run;
|
|
94
|
+
the GPL family is excluded (architecture.md §2.4, BUILD_PLAN R6).
|
|
95
|
+
|
|
96
|
+
## Embedded tree-sitter grammars (12)
|
|
97
|
+
|
|
98
|
+
The `@ast-grep/lang-*` packages distribute third-party tree-sitter grammars:
|
|
99
|
+
their `src/parser.c` files are byte-identical to the listed grammar versions,
|
|
100
|
+
as verified by `pnpm grammar-provenance --update`
|
|
101
|
+
(field `parserMatchesGrammar`). However, their own `LICENSE` only names
|
|
102
|
+
`Copyright (c) 2025 ast-grep`; the grammar authors are not listed there.
|
|
103
|
+
Untangle therefore records their notices here.
|
|
104
|
+
|
|
105
|
+
| Language package | Dependency | Grammar | License | Copyright notice |
|
|
106
|
+
| --- | --- | --- | --- | --- |
|
|
107
|
+
| `@ast-grep/lang-bash` | optional; install separately | `tree-sitter-bash` 0.25.1 | MIT | Copyright (c) 2017 Max Brunsfeld |
|
|
108
|
+
| `@ast-grep/lang-c` | optional; install separately | `tree-sitter-c` 0.24.1 | MIT | Copyright (c) 2014 Max Brunsfeld |
|
|
109
|
+
| `@ast-grep/lang-cpp` | optional; install separately | `tree-sitter-cpp` 0.23.4 | MIT | Copyright (c) 2014 Max Brunsfeld |
|
|
110
|
+
| `@ast-grep/lang-csharp` | optional; install separately | `tree-sitter-c-sharp` 0.23.1 | MIT | Copyright (c) 2014-2023 Max Brunsfeld, Damien Guard, Amaan Qureshi, and contributors. |
|
|
111
|
+
| `@ast-grep/lang-go` | optional; install separately | `tree-sitter-go` 0.25.0 | MIT | Copyright (c) 2014 Max Brunsfeld |
|
|
112
|
+
| `@ast-grep/lang-java` | optional; install separately | `tree-sitter-java` 0.23.5 | MIT | Copyright (c) 2017 Ayman Nadeem |
|
|
113
|
+
| `@ast-grep/lang-kotlin` | optional; install separately | `tree-sitter-kotlin` 0.3.8 | MIT | Copyright (c) 2019 fwcd |
|
|
114
|
+
| `@ast-grep/lang-php` | optional; install separately | `tree-sitter-php` 0.24.2 | MIT | Copyright (c) 2017 Josh Vera, GitHub<br>Copyright (c) 2019 Max Brunsfeld, Amaan Qureshi, Christian Frøystad, Caleb White |
|
|
115
|
+
| `@ast-grep/lang-python` | Dependency | `tree-sitter-python` 0.25.0 | MIT | Copyright (c) 2016 Max Brunsfeld |
|
|
116
|
+
| `@ast-grep/lang-ruby` | optional; install separately | `tree-sitter-ruby` 0.23.1 | MIT | Copyright (c) 2016 Rob Rix |
|
|
117
|
+
| `@ast-grep/lang-rust` | optional; install separately | `tree-sitter-rust` 0.23.2 | MIT | Copyright (c) 2017 Maxim Sokolov |
|
|
118
|
+
| `@ast-grep/lang-swift` | optional; install separately | `tree-sitter-swift` 0.7.1 | MIT | Copyright (c) 2021 alex-pinkus |
|
|
119
|
+
|
|
120
|
+
**An unresolved question that Untangle cannot decide.** All language packages above
|
|
121
|
+
declare `"license": "ISC"` in `package.json`, but include an **MIT** license text.
|
|
122
|
+
Both declarations cannot apply simultaneously. Which declaration ast-grep intends
|
|
123
|
+
cannot be determined externally; this file records
|
|
124
|
+
the contradiction instead of inventing a resolution. For the embedded
|
|
125
|
+
grammars, the license is unambiguous: the table uses the license text
|
|
126
|
+
inside each grammar version's tarball rather than its
|
|
127
|
+
registry metadata's `license` field.
|
|
128
|
+
|
|
129
|
+
Packages marked *optional* are not included in an Untangle installation:
|
|
130
|
+
they are optional `peerDependencies`, which npm
|
|
131
|
+
does not install automatically. They are listed for users who
|
|
132
|
+
add them to enable the corresponding language.
|
|
133
|
+
|
|
134
|
+
## LanceDB platform-native runtime packages
|
|
135
|
+
|
|
136
|
+
The SDK declares the following native optional dependencies. Package names, pinned versions
|
|
137
|
+
and SPDX license declarations come from the published version manifests recorded with hashes
|
|
138
|
+
in `scripts/lancedb-native-provenance.json`. Every native variant actually resolved on the
|
|
139
|
+
generating platform is checked against that metadata; its dependencies are included above.
|
|
140
|
+
This table is a declaration inventory, not a claim that all seven binaries were installed or
|
|
141
|
+
inspected. The release's installed production SBOM records the actual platform selection.
|
|
142
|
+
Upstream package license files and notices continue to apply and remain distributed by npm.
|
|
143
|
+
|
|
144
|
+
| Native package | Version | Declared license | Published manifest |
|
|
145
|
+
| --- | --- | --- | --- |
|
|
146
|
+
| `@lancedb/lancedb-darwin-arm64` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-darwin-arm64/0.30.0> |
|
|
147
|
+
| `@lancedb/lancedb-linux-arm64-gnu` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-linux-arm64-gnu/0.30.0> |
|
|
148
|
+
| `@lancedb/lancedb-linux-arm64-musl` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-linux-arm64-musl/0.30.0> |
|
|
149
|
+
| `@lancedb/lancedb-linux-x64-gnu` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-linux-x64-gnu/0.30.0> |
|
|
150
|
+
| `@lancedb/lancedb-linux-x64-musl` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-linux-x64-musl/0.30.0> |
|
|
151
|
+
| `@lancedb/lancedb-win32-arm64-msvc` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-win32-arm64-msvc/0.30.0> |
|
|
152
|
+
| `@lancedb/lancedb-win32-x64-msvc` | 0.30.0 | Apache-2.0 | <https://registry.npmjs.org/%40lancedb%2Flancedb-win32-x64-msvc/0.30.0> |
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ein kleiner, abhaengigkeitsfreier Argumentparser.
|
|
3
|
+
*
|
|
4
|
+
* WARUM KEINE BIBLIOTHEK: Die Oberflaeche ist der Ort, an dem E4 am
|
|
5
|
+
* leichtesten verletzt wird — die meisten Parser ignorieren eine unbekannte
|
|
6
|
+
* Option stillschweigend oder schieben sie in die Positionsargumente. Dann
|
|
7
|
+
* tippt ein Nutzer `--explaine` und bekommt eine Ausgabe ohne Zerlegung, ohne
|
|
8
|
+
* je zu erfahren, dass seine Option nie ankam. Dieser Parser LEHNT jede
|
|
9
|
+
* unbekannte Option ab.
|
|
10
|
+
*
|
|
11
|
+
* Unterstuetzt: `--name`, `--name=wert`, `--name wert`, `-k` (Kurzform),
|
|
12
|
+
* `--no-name` (Boolesche Negation), `--` (alles danach ist Positionsargument).
|
|
13
|
+
*/
|
|
14
|
+
export type FlagKind = "boolean" | "string" | "number" | "list" | "boolean-or-number";
|
|
15
|
+
export interface FlagSpec {
|
|
16
|
+
readonly kind: FlagKind;
|
|
17
|
+
/** Einbuchstabige Kurzform ohne Bindestrich, z. B. "n". */
|
|
18
|
+
readonly alias?: string;
|
|
19
|
+
/** Was hinter der Option steht, z. B. "N" oder "MUSTER". */
|
|
20
|
+
readonly placeholder?: string;
|
|
21
|
+
/** Eine Zeile Hilfetext. */
|
|
22
|
+
readonly describe: string;
|
|
23
|
+
/** Nur zur Anzeige in `--help`. */
|
|
24
|
+
readonly defaultLabel?: string;
|
|
25
|
+
}
|
|
26
|
+
export type FlagSpecs = Readonly<Record<string, FlagSpec>>;
|
|
27
|
+
export type FlagValue = boolean | string | number | readonly string[];
|
|
28
|
+
export interface ParsedArgs {
|
|
29
|
+
readonly positionals: readonly string[];
|
|
30
|
+
readonly flags: Readonly<Record<string, FlagValue>>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Zerlegt `argv` gegen `specs`. Wirft {@link UsageError} bei allem, was nicht
|
|
34
|
+
* eindeutig ist — unbekannte Option, fehlender Wert, keine Zahl.
|
|
35
|
+
*/
|
|
36
|
+
export declare function parseArgs(argv: readonly string[], specs: FlagSpecs): ParsedArgs;
|
|
37
|
+
export declare function boolFlag(args: ParsedArgs, name: string, fallback?: boolean): boolean;
|
|
38
|
+
export declare function stringFlag(args: ParsedArgs, name: string): string | undefined;
|
|
39
|
+
export declare function numberFlag(args: ParsedArgs, name: string): number | undefined;
|
|
40
|
+
export declare function listFlag(args: ParsedArgs, name: string): string[];
|
|
41
|
+
/**
|
|
42
|
+
* Liest eine Option, deren Wert aus einer festen Menge stammen MUSS.
|
|
43
|
+
* Ein Tippfehler wird abgelehnt statt auf den Default zurueckzufallen.
|
|
44
|
+
*/
|
|
45
|
+
export declare function enumFlag<T extends string>(args: ParsedArgs, name: string, allowed: readonly T[], fallback: T): T;
|
|
46
|
+
/** Eine ganze, nicht-negative Zahl — oder eine klare Absage. */
|
|
47
|
+
export declare function integerFlag(args: ParsedArgs, name: string, fallback: number): number;
|
|
48
|
+
//# sourceMappingURL=args.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,mBAAmB,CAAC;AAEtF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE3D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;AAEtE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CACrD;AAMD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,UAAU,CAiI/E;AAID,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAGlF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG7E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG7E;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAGjE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EACvC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,QAAQ,EAAE,CAAC,GACV,CAAC,CAQH;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUpF"}
|
package/dist/cli/args.js
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ein kleiner, abhaengigkeitsfreier Argumentparser.
|
|
3
|
+
*
|
|
4
|
+
* WARUM KEINE BIBLIOTHEK: Die Oberflaeche ist der Ort, an dem E4 am
|
|
5
|
+
* leichtesten verletzt wird — die meisten Parser ignorieren eine unbekannte
|
|
6
|
+
* Option stillschweigend oder schieben sie in die Positionsargumente. Dann
|
|
7
|
+
* tippt ein Nutzer `--explaine` und bekommt eine Ausgabe ohne Zerlegung, ohne
|
|
8
|
+
* je zu erfahren, dass seine Option nie ankam. Dieser Parser LEHNT jede
|
|
9
|
+
* unbekannte Option ab.
|
|
10
|
+
*
|
|
11
|
+
* Unterstuetzt: `--name`, `--name=wert`, `--name wert`, `-k` (Kurzform),
|
|
12
|
+
* `--no-name` (Boolesche Negation), `--` (alles danach ist Positionsargument).
|
|
13
|
+
*/
|
|
14
|
+
import { UsageError } from "./exit.js";
|
|
15
|
+
function isNegatedBoolean(token) {
|
|
16
|
+
return token.startsWith("--no-");
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Zerlegt `argv` gegen `specs`. Wirft {@link UsageError} bei allem, was nicht
|
|
20
|
+
* eindeutig ist — unbekannte Option, fehlender Wert, keine Zahl.
|
|
21
|
+
*/
|
|
22
|
+
export function parseArgs(argv, specs) {
|
|
23
|
+
const byAlias = new Map();
|
|
24
|
+
for (const [name, spec] of Object.entries(specs)) {
|
|
25
|
+
if (spec.alias !== undefined)
|
|
26
|
+
byAlias.set(spec.alias, name);
|
|
27
|
+
}
|
|
28
|
+
const positionals = [];
|
|
29
|
+
const flags = {};
|
|
30
|
+
let sawTerminator = false;
|
|
31
|
+
const resolve = (token) => {
|
|
32
|
+
const bare = token.startsWith("--") ? token.slice(2) : token.slice(1);
|
|
33
|
+
const name = token.startsWith("--") ? bare : (byAlias.get(bare) ?? bare);
|
|
34
|
+
const spec = specs[name];
|
|
35
|
+
if (spec === undefined) {
|
|
36
|
+
throw new UsageError(`Unknown option "${token}".`, "See `--help` for this command's supported options.");
|
|
37
|
+
}
|
|
38
|
+
return { name, spec };
|
|
39
|
+
};
|
|
40
|
+
const assign = (name, spec, raw) => {
|
|
41
|
+
if (spec.kind === "number" || spec.kind === "boolean-or-number") {
|
|
42
|
+
const value = Number(raw);
|
|
43
|
+
if (!Number.isFinite(value)) {
|
|
44
|
+
throw new UsageError(`Option "--${name}" requires a number; received "${raw}".`, `Example: --${name}=10`);
|
|
45
|
+
}
|
|
46
|
+
flags[name] = value;
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (spec.kind === "list") {
|
|
50
|
+
const previous = flags[name];
|
|
51
|
+
const list = Array.isArray(previous) ? [...previous] : [];
|
|
52
|
+
list.push(raw);
|
|
53
|
+
flags[name] = list;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
flags[name] = raw;
|
|
57
|
+
};
|
|
58
|
+
for (let i = 0; i < argv.length; i++) {
|
|
59
|
+
const token = argv[i];
|
|
60
|
+
if (sawTerminator) {
|
|
61
|
+
positionals.push(token);
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (token === "--") {
|
|
65
|
+
sawTerminator = true;
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (token === "-" || !token.startsWith("-")) {
|
|
69
|
+
positionals.push(token);
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
// --name=wert
|
|
73
|
+
const equals = token.indexOf("=");
|
|
74
|
+
if (token.startsWith("--") && equals > 2) {
|
|
75
|
+
const head = token.slice(0, equals);
|
|
76
|
+
const raw = token.slice(equals + 1);
|
|
77
|
+
const { name, spec } = resolve(head);
|
|
78
|
+
if (spec.kind === "boolean") {
|
|
79
|
+
if (raw !== "true" && raw !== "false") {
|
|
80
|
+
throw new UsageError(`Option "--${name}" is a switch accepting only "true" or "false"; received "${raw}".`, `Use --${name} or --no-${name}.`);
|
|
81
|
+
}
|
|
82
|
+
flags[name] = raw === "true";
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (spec.kind === "boolean-or-number" && (raw === "true" || raw === "false")) {
|
|
86
|
+
flags[name] = raw === "true";
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
assign(name, spec, raw);
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
// --no-name
|
|
93
|
+
if (isNegatedBoolean(token)) {
|
|
94
|
+
const name = token.slice(5);
|
|
95
|
+
const spec = specs[name];
|
|
96
|
+
if (spec === undefined || (spec.kind !== "boolean" && spec.kind !== "boolean-or-number")) {
|
|
97
|
+
throw new UsageError(`Unknown switch "${token}".`, "See `--help` for this command's supported options.");
|
|
98
|
+
}
|
|
99
|
+
flags[name] = false;
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
const { name, spec } = resolve(token);
|
|
103
|
+
if (spec.kind === "boolean") {
|
|
104
|
+
flags[name] = true;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (spec.kind === "boolean-or-number") {
|
|
108
|
+
const next = argv[i + 1];
|
|
109
|
+
if (next !== undefined && next !== "" && Number.isFinite(Number(next))) {
|
|
110
|
+
i++;
|
|
111
|
+
assign(name, spec, next);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
flags[name] = true;
|
|
115
|
+
}
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
const next = argv[i + 1];
|
|
119
|
+
if (next === undefined ||
|
|
120
|
+
(next.startsWith("-") && next !== "-" && Number.isNaN(Number(next)))) {
|
|
121
|
+
throw new UsageError(`Option "--${name}" requires a value.`, `Use --${name}=<${spec.placeholder ?? "value"}> or --${name} <${spec.placeholder ?? "value"}>.`);
|
|
122
|
+
}
|
|
123
|
+
i++;
|
|
124
|
+
assign(name, spec, next);
|
|
125
|
+
}
|
|
126
|
+
return { positionals, flags };
|
|
127
|
+
}
|
|
128
|
+
/* --- Typisierte Leser. Sie erfinden nichts: fehlt ein Wert, kommt der Default. */
|
|
129
|
+
export function boolFlag(args, name, fallback = false) {
|
|
130
|
+
const value = args.flags[name];
|
|
131
|
+
return typeof value === "boolean" ? value : fallback;
|
|
132
|
+
}
|
|
133
|
+
export function stringFlag(args, name) {
|
|
134
|
+
const value = args.flags[name];
|
|
135
|
+
return typeof value === "string" ? value : undefined;
|
|
136
|
+
}
|
|
137
|
+
export function numberFlag(args, name) {
|
|
138
|
+
const value = args.flags[name];
|
|
139
|
+
return typeof value === "number" ? value : undefined;
|
|
140
|
+
}
|
|
141
|
+
export function listFlag(args, name) {
|
|
142
|
+
const value = args.flags[name];
|
|
143
|
+
return Array.isArray(value) ? [...value] : [];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Liest eine Option, deren Wert aus einer festen Menge stammen MUSS.
|
|
147
|
+
* Ein Tippfehler wird abgelehnt statt auf den Default zurueckzufallen.
|
|
148
|
+
*/
|
|
149
|
+
export function enumFlag(args, name, allowed, fallback) {
|
|
150
|
+
const value = stringFlag(args, name);
|
|
151
|
+
if (value === undefined)
|
|
152
|
+
return fallback;
|
|
153
|
+
if (allowed.includes(value))
|
|
154
|
+
return value;
|
|
155
|
+
throw new UsageError(`Option "--${name}" does not support value "${value}" is not supported.`, `Choose one of: ${allowed.join(", ")}.`);
|
|
156
|
+
}
|
|
157
|
+
/** Eine ganze, nicht-negative Zahl — oder eine klare Absage. */
|
|
158
|
+
export function integerFlag(args, name, fallback) {
|
|
159
|
+
const value = numberFlag(args, name);
|
|
160
|
+
if (value === undefined)
|
|
161
|
+
return fallback;
|
|
162
|
+
if (!Number.isInteger(value) || value < 0) {
|
|
163
|
+
throw new UsageError(`Option "--${name}" requires an integer >= 0; received "${String(value)}".`, `Example: --${name}=5`);
|
|
164
|
+
}
|
|
165
|
+
return value;
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Der Vertrag eines Unterbefehls und die Hilfe-Ausgabe.
|
|
3
|
+
*
|
|
4
|
+
* Die Hilfe wird AUS DER SPEZIFIKATION erzeugt, nicht danebengeschrieben.
|
|
5
|
+
* Eine handgepflegte Hilfe ist die erste Stelle, an der ein Werkzeug luegt:
|
|
6
|
+
* die Option verschwindet, der Text bleibt. Hier kann das nicht passieren —
|
|
7
|
+
* dieselbe `FlagSpecs`, die der Parser akzeptiert, erzeugt den Text.
|
|
8
|
+
*/
|
|
9
|
+
import type { FlagSpecs, ParsedArgs } from "./args.js";
|
|
10
|
+
import type { Io } from "./io.js";
|
|
11
|
+
export interface CommandContext {
|
|
12
|
+
readonly io: Io;
|
|
13
|
+
readonly cwd: string;
|
|
14
|
+
readonly env: Readonly<Record<string, string | undefined>>;
|
|
15
|
+
/** Wird bei SIGINT/SIGTERM ausgeloest; jeder Port bekommt ihn gereicht. */
|
|
16
|
+
readonly signal: AbortSignal;
|
|
17
|
+
}
|
|
18
|
+
export interface CommandSpec {
|
|
19
|
+
readonly name: string;
|
|
20
|
+
/**
|
|
21
|
+
* Das Modul, das die FAEHIGKEIT dieses Befehls enthaelt — als Spezifikator
|
|
22
|
+
* relativ zu `apps/cli/src`, genau so geschrieben, wie ihn ein Import
|
|
23
|
+
* traegt (z. B. `commands/init/index.js`).
|
|
24
|
+
*
|
|
25
|
+
* Warum eine Zeichenkette und nicht „das ergibt sich doch aus dem Import":
|
|
26
|
+
* WEIL ES SICH NICHT ERGAB. Bis WP-218 lagen zwei Module namens `init`
|
|
27
|
+
* nebeneinander — `commands/init.ts`, ein Stub ohne Erkennung, und
|
|
28
|
+
* `commands/init/index.ts`, die fertige, getestete Implementierung. Der
|
|
29
|
+
* Einstiegspunkt importierte den Stub. Alles uebersetzte, alle Tests
|
|
30
|
+
* liefen gruen, und das ausgelieferte Binaer tat etwas anderes als das,
|
|
31
|
+
* was gebaut worden war. Ein Import allein KANN diesen Fehler nicht
|
|
32
|
+
* melden, weil beide Pfade gueltig sind.
|
|
33
|
+
*
|
|
34
|
+
* Mit diesem Feld ist die Zuordnung eine BEHAUPTUNG, die sich pruefen
|
|
35
|
+
* laesst: `command-wiring.test.ts` laedt das genannte Modul und verlangt,
|
|
36
|
+
* dass der registrierte Befehl DASSELBE OBJEKT ist, das dieses Modul
|
|
37
|
+
* ausliefert — und dass kein zweites Modul im Baum einen Befehl anbietet,
|
|
38
|
+
* der nirgends registriert ist.
|
|
39
|
+
*/
|
|
40
|
+
readonly implementedBy: string;
|
|
41
|
+
/** Eine Zeile fuer die Uebersicht in `untangle --help`. */
|
|
42
|
+
readonly summary: string;
|
|
43
|
+
/** Aufrufform, z. B. `untangle query <text> [optionen]`. */
|
|
44
|
+
readonly usage: string;
|
|
45
|
+
/** Absaetze, die den Befehl EHRLICH beschreiben — auch seine Grenzen. */
|
|
46
|
+
readonly details?: readonly string[];
|
|
47
|
+
readonly flags: FlagSpecs;
|
|
48
|
+
readonly examples?: readonly string[];
|
|
49
|
+
/** Welche Exit-Codes dieser Befehl belegt, jeweils mit Bedeutung. */
|
|
50
|
+
readonly exitCodes?: readonly (readonly [number, string])[];
|
|
51
|
+
/**
|
|
52
|
+
* True, wenn der Befehl angelegt, seine Faehigkeit aber noch nicht gebaut
|
|
53
|
+
* ist (siehe `commands/unavailable.ts`).
|
|
54
|
+
*
|
|
55
|
+
* Das Merkmal steht hier und nicht in einer Liste im Einstiegspunkt, weil
|
|
56
|
+
* eine solche Liste driftet: als `watch` gebaut wurde, blieb sie stehen und
|
|
57
|
+
* behauptete weiter, es fehle. Ein Befehl traegt seinen Stand selbst.
|
|
58
|
+
*/
|
|
59
|
+
readonly notYetBuilt?: boolean;
|
|
60
|
+
}
|
|
61
|
+
export interface Command {
|
|
62
|
+
readonly spec: CommandSpec;
|
|
63
|
+
run(ctx: CommandContext, args: ParsedArgs): Promise<number>;
|
|
64
|
+
}
|
|
65
|
+
/** Rendert `--help` eines Unterbefehls. Deterministisch: Optionen codepoint-sortiert. */
|
|
66
|
+
export declare function renderCommandHelp(spec: CommandSpec): string;
|
|
67
|
+
/** Weicher Zeilenumbruch auf `width` Zeichen; bricht nie mitten im Wort. */
|
|
68
|
+
export declare function wrap(text: string, width: number): string[];
|
|
69
|
+
//# sourceMappingURL=command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3D,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,qEAAqE;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IAC5D;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7D;AAgBD,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAwC3D;AAED,4EAA4E;AAC5E,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAgB1D"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Der Vertrag eines Unterbefehls und die Hilfe-Ausgabe.
|
|
3
|
+
*
|
|
4
|
+
* Die Hilfe wird AUS DER SPEZIFIKATION erzeugt, nicht danebengeschrieben.
|
|
5
|
+
* Eine handgepflegte Hilfe ist die erste Stelle, an der ein Werkzeug luegt:
|
|
6
|
+
* die Option verschwindet, der Text bleibt. Hier kann das nicht passieren —
|
|
7
|
+
* dieselbe `FlagSpecs`, die der Parser akzeptiert, erzeugt den Text.
|
|
8
|
+
*/
|
|
9
|
+
import { compareCodepoints } from "@untangle-code/domain";
|
|
10
|
+
function padEnd(text, width) {
|
|
11
|
+
return text.length >= width ? text : text + " ".repeat(width - text.length);
|
|
12
|
+
}
|
|
13
|
+
/** Die Optionszeile einer Option, z. B. `-n, --limit=N`. */
|
|
14
|
+
function flagLabel(name, spec) {
|
|
15
|
+
const short = spec.alias === undefined ? " " : `-${spec.alias}, `;
|
|
16
|
+
const value = spec.kind === "boolean" || spec.kind === "boolean-or-number"
|
|
17
|
+
? ""
|
|
18
|
+
: `=<${spec.placeholder ?? "value"}>`;
|
|
19
|
+
return `${short}--${name}${value}`;
|
|
20
|
+
}
|
|
21
|
+
/** Rendert `--help` eines Unterbefehls. Deterministisch: Optionen codepoint-sortiert. */
|
|
22
|
+
export function renderCommandHelp(spec) {
|
|
23
|
+
const lines = [];
|
|
24
|
+
lines.push(`untangle ${spec.name} — ${spec.summary}`, "");
|
|
25
|
+
lines.push("USAGE", ` ${spec.usage}`, "");
|
|
26
|
+
if (spec.details !== undefined && spec.details.length > 0) {
|
|
27
|
+
lines.push("DESCRIPTION");
|
|
28
|
+
for (const paragraph of spec.details) {
|
|
29
|
+
for (const wrapped of wrap(paragraph, 76))
|
|
30
|
+
lines.push(` ${wrapped}`);
|
|
31
|
+
lines.push("");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const names = Object.keys(spec.flags).sort(compareCodepoints);
|
|
35
|
+
if (names.length > 0) {
|
|
36
|
+
lines.push("OPTIONS");
|
|
37
|
+
const labels = names.map((name) => flagLabel(name, spec.flags[name]));
|
|
38
|
+
const width = Math.max(...labels.map((l) => l.length));
|
|
39
|
+
for (let i = 0; i < names.length; i++) {
|
|
40
|
+
const name = names[i];
|
|
41
|
+
const flag = spec.flags[name];
|
|
42
|
+
const suffix = flag.defaultLabel === undefined ? "" : ` (default: ${flag.defaultLabel})`;
|
|
43
|
+
lines.push(` ${padEnd(labels[i], width)} ${flag.describe}${suffix}`);
|
|
44
|
+
}
|
|
45
|
+
lines.push("");
|
|
46
|
+
}
|
|
47
|
+
if (spec.examples !== undefined && spec.examples.length > 0) {
|
|
48
|
+
lines.push("EXAMPLES");
|
|
49
|
+
for (const example of spec.examples)
|
|
50
|
+
lines.push(` ${example}`);
|
|
51
|
+
lines.push("");
|
|
52
|
+
}
|
|
53
|
+
if (spec.exitCodes !== undefined && spec.exitCodes.length > 0) {
|
|
54
|
+
lines.push("EXIT-CODES");
|
|
55
|
+
for (const [code, meaning] of spec.exitCodes)
|
|
56
|
+
lines.push(` ${String(code)} ${meaning}`);
|
|
57
|
+
lines.push("");
|
|
58
|
+
}
|
|
59
|
+
return `${lines.join("\n").trimEnd()}\n`;
|
|
60
|
+
}
|
|
61
|
+
/** Weicher Zeilenumbruch auf `width` Zeichen; bricht nie mitten im Wort. */
|
|
62
|
+
export function wrap(text, width) {
|
|
63
|
+
const words = text.split(/\s+/u).filter((w) => w.length > 0);
|
|
64
|
+
const lines = [];
|
|
65
|
+
let current = "";
|
|
66
|
+
for (const word of words) {
|
|
67
|
+
if (current.length === 0) {
|
|
68
|
+
current = word;
|
|
69
|
+
}
|
|
70
|
+
else if (current.length + 1 + word.length <= width) {
|
|
71
|
+
current = `${current} ${word}`;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
lines.push(current);
|
|
75
|
+
current = word;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (current.length > 0)
|
|
79
|
+
lines.push(current);
|
|
80
|
+
return lines.length === 0 ? [""] : lines;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Eine Frist um einen Portaufruf.
|
|
3
|
+
*
|
|
4
|
+
* WARUM DIE OBERFLAECHE EINE EIGENE FRIST BRAUCHT, obwohl jeder Adapter schon
|
|
5
|
+
* eine hat: die Fristen der Adapter sind fuer den INDEXLAUF bemessen, und dort
|
|
6
|
+
* ist Durchhalten mehr wert als Tempo. Gemessen an einem ausgelasteten Ollama
|
|
7
|
+
* wiederholt die Bereitschaftsfolge des Embedding-Adapters ihren Zeitueberlauf
|
|
8
|
+
* mit Backoff und meldet den Fehlschlag erst nach ueber DREI MINUTEN. Fuer
|
|
9
|
+
* einen Menschen am Terminal, der eine Frage gestellt hat, ist das kaputt.
|
|
10
|
+
*
|
|
11
|
+
* Die Frist der Oberflaeche kuerzt nichts weg und verschweigt nichts: ein
|
|
12
|
+
* abgebrochener Aufruf ist ein FEHLSCHLAG mit eigenem, benanntem Grund — nie
|
|
13
|
+
* ein leeres Ergebnis, das wie „nichts gefunden" aussieht (BUILD_PLAN E4).
|
|
14
|
+
*/
|
|
15
|
+
/** Ergebnis eines Laufs mit Frist. `timedOut` unterscheidet Frist von Fehler. */
|
|
16
|
+
export type DeadlineOutcome<T> = {
|
|
17
|
+
readonly ok: true;
|
|
18
|
+
readonly value: T;
|
|
19
|
+
} | {
|
|
20
|
+
readonly ok: false;
|
|
21
|
+
readonly timedOut: boolean;
|
|
22
|
+
readonly error: unknown;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Fuehrt `work` mit einer eigenen Frist aus und reicht ihm dafuer ein Signal.
|
|
26
|
+
*
|
|
27
|
+
* Das Signal des Aufrufers bleibt wirksam: ein Strg-C bricht sofort ab, nicht
|
|
28
|
+
* erst nach der Frist. `work` MUSS das gereichte Signal durchreichen — sonst
|
|
29
|
+
* kehrt der Aufruf zwar zurueck, laeuft aber im Hintergrund weiter (siehe
|
|
30
|
+
* `main()` in index.ts, das den Prozess deshalb ausdruecklich beendet).
|
|
31
|
+
*/
|
|
32
|
+
export declare function withDeadline<T>(work: (signal: AbortSignal) => Promise<T>, timeoutMs: number, outerSignal: AbortSignal): Promise<DeadlineOutcome<T>>;
|
|
33
|
+
//# sourceMappingURL=deadline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deadline.d.ts","sourceRoot":"","sources":["../../src/cli/deadline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,iFAAiF;AACjF,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhF;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAuB7B"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Eine Frist um einen Portaufruf.
|
|
3
|
+
*
|
|
4
|
+
* WARUM DIE OBERFLAECHE EINE EIGENE FRIST BRAUCHT, obwohl jeder Adapter schon
|
|
5
|
+
* eine hat: die Fristen der Adapter sind fuer den INDEXLAUF bemessen, und dort
|
|
6
|
+
* ist Durchhalten mehr wert als Tempo. Gemessen an einem ausgelasteten Ollama
|
|
7
|
+
* wiederholt die Bereitschaftsfolge des Embedding-Adapters ihren Zeitueberlauf
|
|
8
|
+
* mit Backoff und meldet den Fehlschlag erst nach ueber DREI MINUTEN. Fuer
|
|
9
|
+
* einen Menschen am Terminal, der eine Frage gestellt hat, ist das kaputt.
|
|
10
|
+
*
|
|
11
|
+
* Die Frist der Oberflaeche kuerzt nichts weg und verschweigt nichts: ein
|
|
12
|
+
* abgebrochener Aufruf ist ein FEHLSCHLAG mit eigenem, benanntem Grund — nie
|
|
13
|
+
* ein leeres Ergebnis, das wie „nichts gefunden" aussieht (BUILD_PLAN E4).
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Fuehrt `work` mit einer eigenen Frist aus und reicht ihm dafuer ein Signal.
|
|
17
|
+
*
|
|
18
|
+
* Das Signal des Aufrufers bleibt wirksam: ein Strg-C bricht sofort ab, nicht
|
|
19
|
+
* erst nach der Frist. `work` MUSS das gereichte Signal durchreichen — sonst
|
|
20
|
+
* kehrt der Aufruf zwar zurueck, laeuft aber im Hintergrund weiter (siehe
|
|
21
|
+
* `main()` in index.ts, das den Prozess deshalb ausdruecklich beendet).
|
|
22
|
+
*/
|
|
23
|
+
export async function withDeadline(work, timeoutMs, outerSignal) {
|
|
24
|
+
const controller = new AbortController();
|
|
25
|
+
const onOuterAbort = () => {
|
|
26
|
+
controller.abort(outerSignal.reason);
|
|
27
|
+
};
|
|
28
|
+
if (outerSignal.aborted)
|
|
29
|
+
controller.abort(outerSignal.reason);
|
|
30
|
+
else
|
|
31
|
+
outerSignal.addEventListener("abort", onOuterAbort, { once: true });
|
|
32
|
+
let timedOut = false;
|
|
33
|
+
const timer = setTimeout(() => {
|
|
34
|
+
timedOut = true;
|
|
35
|
+
controller.abort(new Error(`Deadline of ${String(timeoutMs)}ms expired`));
|
|
36
|
+
}, timeoutMs);
|
|
37
|
+
try {
|
|
38
|
+
return { ok: true, value: await work(controller.signal) };
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
// Der Abbruch des AUFRUFERS ist kein Fristablauf — er ist ein Abbruch.
|
|
42
|
+
return { ok: false, timedOut: timedOut && !outerSignal.aborted, error };
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
clearTimeout(timer);
|
|
46
|
+
outerSignal.removeEventListener("abort", onOuterAbort);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=deadline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deadline.js","sourceRoot":"","sources":["../../src/cli/deadline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAyC,EACzC,SAAiB,EACjB,WAAwB;IAExB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,GAAS,EAAE;QAC9B,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC;IACF,IAAI,WAAW,CAAC,OAAO;QAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;;QACzD,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,QAAQ,GAAG,IAAI,CAAC;QAChB,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,eAAe,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5E,CAAC,EAAE,SAAS,CAAC,CAAC;IAEd,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uEAAuE;QACvE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC1E,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
|