@automaton-labs/aib 0.0.7 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -578
- package/config/agent-dx-policy.default.json +31 -0
- package/config/control-plane-client.default.json +3 -0
- package/dist/agent-dx/agent-dx.js +805 -0
- package/dist/agent-dx/presentation.js +32 -0
- package/dist/alias-advisor/analyze.js +982 -0
- package/dist/alias-advisor/exact-text-cost.js +74 -0
- package/dist/alias-advisor/lexical.js +240 -0
- package/dist/alias-advisor/model.js +2 -0
- package/dist/alias-advisor/path-identity.js +49 -0
- package/dist/alias-advisor/ranking.js +171 -0
- package/dist/alias-advisor/token-estimator.js +85 -0
- package/dist/bin/aib.js +5 -1
- package/dist/bin/cli.js +811 -4
- package/dist/commands/add-missing-imports-preview-cache.js +99 -2
- package/dist/commands/add-missing-imports.js +241 -2
- package/dist/commands/apply-module-plan.js +1319 -3
- package/dist/commands/background-command.js +378 -2
- package/dist/commands/captured-input.js +74 -1
- package/dist/commands/config-command.js +314 -2
- package/dist/commands/config-output.js +357 -10
- package/dist/commands/control-plane-command.js +183 -1
- package/dist/commands/declaration-command.js +1209 -7
- package/dist/commands/declaration-execution-cache.js +79 -1
- package/dist/commands/declaration-format.js +221 -1
- package/dist/commands/declaration-preview-cache.js +114 -2
- package/dist/commands/diagnostics-command.js +70 -3
- package/dist/commands/doctor.js +137 -3
- package/dist/commands/execution-command.js +117 -1
- package/dist/commands/exports-star-collapse-command.js +178 -0
- package/dist/commands/exports-star-command.js +252 -0
- package/dist/commands/exports-star-preview-cache.js +84 -0
- package/dist/commands/feedback-command.js +176 -3
- package/dist/commands/file-move-to-dir-execution-cache.js +92 -1
- package/dist/commands/file-move-to-dir-preview-cache.js +125 -2
- package/dist/commands/file-move-to-dir-worker.js +54 -0
- package/dist/commands/file-move-to-dir.js +1073 -5
- package/dist/commands/file-mutation-runtime.js +102 -1
- package/dist/commands/file-mutation-worker-apply.js +180 -0
- package/dist/commands/file-refactor-batch-execution-cache.js +90 -1
- package/dist/commands/file-refactor-batch-preview-cache.js +125 -2
- package/dist/commands/file-refactor-batch-worker.js +54 -0
- package/dist/commands/file-refactor-batch.js +1154 -5
- package/dist/commands/file-rename-execution-cache.js +92 -1
- package/dist/commands/file-rename-preview-cache.js +125 -2
- package/dist/commands/file-rename-worker.js +54 -0
- package/dist/commands/file-rename.js +1053 -5
- package/dist/commands/file-text-edit-executor.js +205 -0
- package/dist/commands/find-importers.js +52 -1
- package/dist/commands/find-unused-imports.js +55 -1
- package/dist/commands/generate-docs-command.js +244 -6
- package/dist/commands/help-command.js +460 -7
- package/dist/commands/import-specifier-policy.js +391 -0
- package/dist/commands/imports-command.js +68 -1
- package/dist/commands/imports-rebase.js +1138 -0
- package/dist/commands/init-skill-usage.js +92 -3
- package/dist/commands/init-workspace.js +30 -1
- package/dist/commands/inspect-alias-candidates.js +413 -0
- package/dist/commands/inspect-cycles.js +811 -5
- package/dist/commands/inspect-direct-usages.js +98 -0
- package/dist/commands/inspect-duplicates-format.js +229 -0
- package/dist/commands/inspect-format-primitives.js +127 -0
- package/dist/commands/inspect-format.js +1590 -18
- package/dist/commands/inspect-graph.js +1553 -9
- package/dist/commands/inspect-imports.js +339 -2
- package/dist/commands/inspect-mixed-format.js +524 -0
- package/dist/commands/inspect-module-plan-format.js +216 -0
- package/dist/commands/inspect-module-plan-serialization.js +402 -0
- package/dist/commands/inspect-reference-path-format.js +157 -0
- package/dist/commands/inspect-request-values.js +599 -0
- package/dist/commands/inspect-selector-kind.js +21 -0
- package/dist/commands/inspect-selector.js +50 -0
- package/dist/commands/inspect-symbol-format.js +90 -0
- package/dist/commands/inspect-topology.js +435 -0
- package/dist/commands/inspect-tree.js +827 -5
- package/dist/commands/inspect-usages-detail.js +793 -0
- package/dist/commands/inspect-usages-evidence.js +31 -0
- package/dist/commands/inspect-usages-format.js +367 -0
- package/dist/commands/inspect.js +1450 -16
- package/dist/commands/internal-command.js +64 -0
- package/dist/commands/json-file-input.js +60 -1
- package/dist/commands/module-plan-cache.js +156 -2
- package/dist/commands/module-plan-standalone.js +208 -0
- package/dist/commands/module-plan-timeout.js +77 -1
- package/dist/commands/move-preview-cache.js +101 -2
- package/dist/commands/mutate-aggregate-output.js +996 -0
- package/dist/commands/mutate-child-execution.js +374 -0
- package/dist/commands/mutate-command.js +1394 -0
- package/dist/commands/mutate-declaration-output.js +313 -0
- package/dist/commands/mutate-domain-adapters.js +638 -0
- package/dist/commands/mutate-execution-cache.js +114 -0
- package/dist/commands/mutate-execution-status.js +598 -0
- package/dist/commands/mutate-failure-output.js +531 -0
- package/dist/commands/mutate-file-view.js +151 -0
- package/dist/commands/mutate-object-output.js +91 -0
- package/dist/commands/mutate-output-values.js +97 -0
- package/dist/commands/mutate-preview-cache.js +86 -0
- package/dist/commands/mutate-response-replay.js +153 -0
- package/dist/commands/mutate-result-projection.js +818 -0
- package/dist/commands/mutation-eta.js +28 -0
- package/dist/commands/mutation-execution-cache.js +140 -3
- package/dist/commands/mutation-recovery-journal.js +195 -0
- package/dist/commands/normalize-imports.js +1120 -4
- package/dist/commands/object-pack-command.js +546 -0
- package/dist/commands/object-pack-preview-cache.js +88 -0
- package/dist/commands/observability-command.js +47 -3
- package/dist/commands/ota-command.js +403 -2
- package/dist/commands/print-config.js +10 -1
- package/dist/commands/quick-read.js +1113 -11
- package/dist/commands/refactor-batch-builder.js +265 -1
- package/dist/commands/refactor-batch-execution-cache.js +85 -1
- package/dist/commands/refactor-batch-preview-cache.js +96 -2
- package/dist/commands/refactor-batch.js +461 -4
- package/dist/commands/rename-entities.js +794 -4
- package/dist/commands/rename-execution-cache.js +49 -1
- package/dist/commands/rename-input.js +22 -1
- package/dist/commands/rename-polling-policy.js +68 -0
- package/dist/commands/rename-preview-cache.js +96 -2
- package/dist/commands/result-view.js +993 -7
- package/dist/commands/reveal-command.js +445 -5
- package/dist/commands/selector-suggestions.js +93 -0
- package/dist/commands/session-workspace.js +1836 -31
- package/dist/commands/shared.js +2 -1
- package/dist/commands/skills-command.js +315 -0
- package/dist/commands/sync-command.js +59 -2
- package/dist/commands/worker-command.js +173 -1
- package/dist/commands/workspace-cache.js +55 -1
- package/dist/config/defaults.js +26 -1
- package/dist/config/env-vars.js +77 -1
- package/dist/config/glob-match.js +44 -1
- package/dist/config/import-rules.js +165 -1
- package/dist/config/local-config.js +293 -3
- package/dist/config/mutation-comments.js +51 -1
- package/dist/config/path-aliases.js +165 -1
- package/dist/config/path-display.js +84 -1
- package/dist/config/product-storage.js +37 -1
- package/dist/config/request-env.js +21 -0
- package/dist/config/request-routing-context.js +23 -0
- package/dist/config/resolve-command-alias.js +74 -1
- package/dist/config/resolve.js +24 -1
- package/dist/config/tsconfig-discovery.js +113 -1
- package/dist/config/typescript-preferences.js +131 -0
- package/dist/config/workspace-root.js +310 -3
- package/dist/config/workspace-state.js +254 -1
- package/dist/content/content-bundle.js +88 -1
- package/dist/diagnostics/module-plan-timeline.js +75 -2
- package/dist/diagnostics/readiness-text.js +45 -8
- package/dist/dsl/aib-dsl.js +838 -1
- package/dist/dsl/declaration-dsl.js +264 -1
- package/dist/dsl/file-move-to-dir-dsl.js +123 -1
- package/dist/dsl/file-refactor-batch-dsl.js +203 -1
- package/dist/dsl/file-rename-dsl.js +135 -1
- package/dist/dsl/mutate-dsl.js +746 -0
- package/dist/help/bootstrap.bash.md +176 -341
- package/dist/help/bootstrap.md +175 -340
- package/dist/help/bootstrap.pwsh.md +176 -341
- package/dist/help/docs/basics.md +1 -1
- package/dist/help/docs/config-setup.import-normalize.md +65 -65
- package/dist/help/docs/config-setup.import-rules.md +6 -5
- package/dist/help/docs/first-setup.md +6 -5
- package/dist/help/docs/help-protocol.md +4 -3
- package/dist/help/docs/import.base.md +38 -0
- package/dist/help/docs/import.rebase.md +85 -0
- package/dist/help/docs/inspect.aliasCandidates.md +39 -0
- package/dist/help/docs/inspect.code.md +1 -7
- package/dist/help/docs/inspect.file.md +10 -19
- package/dist/help/docs/inspect.graph.md +3 -17
- package/dist/help/{dsl/docs/inspect.md → docs/inspect.shared.md} +13 -12
- package/dist/help/docs/modulePlan.md +24 -28
- package/dist/help/docs/move.md +19 -22
- package/dist/help/{dsl/topics/file.move.md → docs/moveToDir.md} +36 -34
- package/dist/help/docs/mutate.mixed.md +34 -0
- package/dist/help/docs/mutation.shared.md +55 -0
- package/dist/help/docs/patterns.md +3 -12
- package/dist/help/docs/qr.md +12 -6
- package/dist/help/docs/quick-map.md +36 -24
- package/dist/help/docs/recipe.file-layout.md +10 -10
- package/dist/help/docs/recipe.import-boundary.md +92 -0
- package/dist/help/docs/recipe.safe-artifact-probing.md +68 -0
- package/dist/help/docs/recipe.unfamiliar-area.md +64 -0
- package/dist/help/docs/recipes.md +20 -0
- package/dist/help/docs/rename.md +19 -27
- package/dist/help/docs/renameFile.md +36 -0
- package/dist/help/docs/rules.md +26 -0
- package/dist/help/dsl/bootstrap.bash.md +176 -341
- package/dist/help/dsl/bootstrap.md +175 -340
- package/dist/help/dsl/bootstrap.pwsh.md +176 -341
- package/dist/help/dsl/docs/basics.md +1 -1
- package/dist/help/dsl/docs/config-setup.import-normalize.md +65 -65
- package/dist/help/dsl/docs/config-setup.import-rules.md +6 -5
- package/dist/help/dsl/docs/first-setup.md +6 -5
- package/dist/help/dsl/docs/help-protocol.md +4 -3
- package/dist/help/dsl/docs/import.base.md +38 -0
- package/dist/help/dsl/docs/import.rebase.md +85 -0
- package/dist/help/dsl/docs/inspect.aliasCandidates.md +39 -0
- package/dist/help/dsl/docs/inspect.code.md +1 -7
- package/dist/help/dsl/docs/inspect.file.md +10 -19
- package/dist/help/dsl/docs/inspect.graph.md +3 -17
- package/dist/help/{docs/inspect.md → dsl/docs/inspect.shared.md} +13 -12
- package/dist/help/dsl/docs/modulePlan.md +24 -28
- package/dist/help/dsl/docs/move.md +19 -22
- package/dist/help/{topics/file.move.md → dsl/docs/moveToDir.md} +36 -34
- package/dist/help/dsl/docs/mutate.mixed.md +34 -0
- package/dist/help/dsl/docs/mutation.shared.md +55 -0
- package/dist/help/dsl/docs/patterns.md +3 -12
- package/dist/help/dsl/docs/qr.md +12 -6
- package/dist/help/dsl/docs/quick-map.md +36 -24
- package/dist/help/dsl/docs/recipe.file-layout.md +10 -10
- package/dist/help/dsl/docs/recipe.import-boundary.md +92 -0
- package/dist/help/dsl/docs/recipe.safe-artifact-probing.md +68 -0
- package/dist/help/dsl/docs/recipe.unfamiliar-area.md +64 -0
- package/dist/help/dsl/docs/recipes.md +20 -0
- package/dist/help/dsl/docs/rename.md +19 -27
- package/dist/help/dsl/docs/renameFile.md +36 -0
- package/dist/help/dsl/docs/rules.md +26 -0
- package/dist/help/dsl/full.md +175 -340
- package/dist/help/dsl/help-index.md +48 -43
- package/dist/help/dsl/snippets/agents.md +2 -2
- package/dist/help/dsl/tokens/qr.inline.examples.md +1 -1
- package/dist/help/dsl/topics/basics.md +1 -1
- package/dist/help/dsl/topics/config-setup.import-normalize.md +65 -65
- package/dist/help/dsl/topics/config-setup.import-rules.md +6 -5
- package/dist/help/dsl/topics/first-setup.md +6 -5
- package/dist/help/dsl/topics/help-protocol.md +4 -3
- package/dist/help/dsl/topics/import.base.md +36 -0
- package/dist/help/dsl/topics/import.rebase.md +83 -0
- package/dist/help/dsl/topics/inspect.aliasCandidates.md +37 -0
- package/dist/help/dsl/topics/inspect.code.md +1 -7
- package/dist/help/dsl/topics/inspect.file.md +10 -19
- package/dist/help/dsl/topics/inspect.graph.md +3 -17
- package/dist/help/dsl/topics/{inspect.md → inspect.shared.md} +13 -12
- package/dist/help/dsl/topics/modulePlan.md +21 -26
- package/dist/help/dsl/topics/move.md +17 -18
- package/dist/help/{docs/file.move.md → dsl/topics/moveToDir.md} +33 -35
- package/dist/help/dsl/topics/mutate.mixed.md +32 -0
- package/dist/help/dsl/topics/mutation.shared.md +53 -0
- package/dist/help/dsl/topics/patterns.md +3 -12
- package/dist/help/dsl/topics/qr.md +12 -6
- package/dist/help/dsl/topics/quick-map.md +36 -24
- package/dist/help/dsl/topics/recipe.file-layout.md +10 -10
- package/dist/help/dsl/topics/recipe.import-boundary.md +90 -0
- package/dist/help/dsl/topics/recipe.safe-artifact-probing.md +66 -0
- package/dist/help/dsl/topics/recipe.unfamiliar-area.md +62 -0
- package/dist/help/dsl/topics/recipes.md +18 -0
- package/dist/help/dsl/topics/rename.md +15 -15
- package/dist/help/dsl/topics/renameFile.md +34 -0
- package/dist/help/dsl/topics/rules.md +24 -0
- package/dist/help/full.md +175 -340
- package/dist/help/help-index.md +48 -43
- package/dist/help/help-meta.json +98 -48
- package/dist/help/index.md +52 -20
- package/dist/help/snippets/agents.md +2 -2
- package/dist/help/tokens/qr.inline.examples.md +1 -1
- package/dist/help/topics/basics.md +1 -1
- package/dist/help/topics/config-setup.import-normalize.md +65 -65
- package/dist/help/topics/config-setup.import-rules.md +6 -5
- package/dist/help/topics/first-setup.md +6 -5
- package/dist/help/topics/help-protocol.md +4 -3
- package/dist/help/topics/import.base.md +36 -0
- package/dist/help/topics/import.rebase.md +83 -0
- package/dist/help/topics/inspect.aliasCandidates.md +37 -0
- package/dist/help/topics/inspect.code.md +1 -7
- package/dist/help/topics/inspect.file.md +10 -19
- package/dist/help/topics/inspect.graph.md +3 -17
- package/dist/help/topics/{inspect.md → inspect.shared.md} +13 -12
- package/dist/help/topics/modulePlan.md +21 -26
- package/dist/help/topics/move.md +17 -18
- package/dist/help/{dsl/docs/file.move.md → topics/moveToDir.md} +33 -35
- package/dist/help/topics/mutate.mixed.md +32 -0
- package/dist/help/topics/mutation.shared.md +53 -0
- package/dist/help/topics/patterns.md +3 -12
- package/dist/help/topics/qr.md +12 -6
- package/dist/help/topics/quick-map.md +36 -24
- package/dist/help/topics/recipe.file-layout.md +10 -10
- package/dist/help/topics/recipe.import-boundary.md +90 -0
- package/dist/help/topics/recipe.safe-artifact-probing.md +66 -0
- package/dist/help/topics/recipe.unfamiliar-area.md +62 -0
- package/dist/help/topics/recipes.md +18 -0
- package/dist/help/topics/rename.md +15 -15
- package/dist/help/topics/renameFile.md +34 -0
- package/dist/help/topics/rules.md +24 -0
- package/dist/host/capabilities.js +56 -1
- package/dist/imports/standalone-import-analysis.js +602 -0
- package/dist/imports/standalone-import-model.js +2 -0
- package/dist/imports/standalone-import-process.js +66 -0
- package/dist/imports/standalone-import-worker.js +27 -0
- package/dist/imports/standalone-ts-project.js +147 -0
- package/dist/inspect/inspect-duplicates-service.js +526 -0
- package/dist/inspect/inspect-reverse-module-closure.js +338 -0
- package/dist/inspect/inspect-source-ranges.js +82 -0
- package/dist/inspect/inspect-source-shape.js +649 -0
- package/dist/inspect/standalone-inspect-analysis.js +319 -0
- package/dist/inspect/standalone-inspect-model.js +9 -0
- package/dist/inspect/standalone-inspect-process.js +55 -0
- package/dist/inspect/standalone-inspect-usages.js +274 -0
- package/dist/inspect/standalone-inspect-worker.js +13 -0
- package/dist/metrics/central-metrics.js +101 -2
- package/dist/mutation/concrete-edit-plan.js +157 -0
- package/dist/mutation/exports-star-collapse-preview.js +361 -0
- package/dist/mutation/exports-star-expand-apply.js +373 -0
- package/dist/mutation/exports-star-expand-preview.js +807 -0
- package/dist/mutation/file-impact-scan.js +182 -0
- package/dist/mutation/file-mutation-discovery.js +674 -0
- package/dist/mutation/file-mutation-eta.js +99 -0
- package/dist/mutation/file-mutation-standalone-apply.js +584 -0
- package/dist/mutation/file-mutation-standalone-planner.js +500 -0
- package/dist/mutation/file-mutation-tsserver-session.js +473 -0
- package/dist/mutation/mutation-estimate.js +45 -0
- package/dist/mutation/mutation-plan.js +467 -0
- package/dist/mutation/object-mutation-foundation.js +2 -0
- package/dist/mutation/object-mutation-partition.js +148 -0
- package/dist/mutation/object-pack-semantic-apply.js +507 -0
- package/dist/mutation/object-pack-semantic-preview.js +984 -0
- package/dist/mutation/object-unpack-semantic-preview.js +993 -0
- package/dist/mutation/package-manifest-impact.js +176 -0
- package/dist/mutation/rename-owner-worker-child.js +37 -0
- package/dist/mutation/rename-owner-worker.js +122 -0
- package/dist/mutation/runtime-cycle-query.js +66 -0
- package/dist/mutation/semantic-execution-progress.js +63 -0
- package/dist/mutation/semantic-export-index.js +474 -0
- package/dist/mutation/semantic-impact-scan.js +434 -0
- package/dist/mutation/semantic-model.js +2 -0
- package/dist/mutation/semantic-move-best-effort-planner.js +209 -0
- package/dist/mutation/semantic-move-config-worker-child.js +61 -0
- package/dist/mutation/semantic-move-config-worker.js +449 -0
- package/dist/mutation/semantic-move-declarations.js +94 -0
- package/dist/mutation/semantic-move-metrics.js +119 -0
- package/dist/mutation/semantic-move-model.js +2 -0
- package/dist/mutation/semantic-move-owner-authority.js +122 -0
- package/dist/mutation/semantic-move-owner-candidates.js +300 -0
- package/dist/mutation/semantic-move-owner-divergence-harness.js +474 -0
- package/dist/mutation/semantic-move-owner-divergence-runner.js +162 -0
- package/dist/mutation/semantic-move-plan-hash.js +56 -0
- package/dist/mutation/semantic-move-policy.js +360 -0
- package/dist/mutation/semantic-move-process.js +218 -0
- package/dist/mutation/semantic-move-provider-diagnostics.js +27 -0
- package/dist/mutation/semantic-move-standalone-engine.js +919 -0
- package/dist/mutation/semantic-move-standalone-planner.js +1553 -0
- package/dist/mutation/semantic-move-transaction.js +639 -0
- package/dist/mutation/semantic-mutation-engine.js +478 -0
- package/dist/mutation/semantic-mutation-runtime.js +521 -0
- package/dist/mutation/semantic-planner-retry.js +26 -0
- package/dist/mutation/semantic-program-roots.js +69 -0
- package/dist/mutation/semantic-rename-commonjs.js +229 -0
- package/dist/mutation/semantic-rename-config-worker-child.js +46 -0
- package/dist/mutation/semantic-rename-config-worker.js +498 -0
- package/dist/mutation/semantic-rename-locations.js +192 -0
- package/dist/mutation/semantic-rename-model.js +2 -0
- package/dist/mutation/semantic-rename-process.js +217 -0
- package/dist/mutation/semantic-rename-standalone-engine.js +302 -0
- package/dist/mutation/semantic-rename-standalone-planner.js +567 -0
- package/dist/mutation/semantic-rename-transaction.js +333 -0
- package/dist/mutation/semantic-unused-import-cleanup.js +248 -0
- package/dist/mutation/semantic-worker-retry.js +40 -0
- package/dist/mutation/semantic-workspace.js +804 -0
- package/dist/mutation/targeted-import-canonicalizer.js +359 -0
- package/dist/observability/config.js +206 -1
- package/dist/observability/context.js +59 -1
- package/dist/observability/failure-snapshot.js +124 -2
- package/dist/observability/recent.js +63 -2
- package/dist/payloads/read-stdin-json.js +212 -1
- package/dist/rg-wrapper/core.js +714 -6
- package/dist/rg-wrapper/options.js +125 -1
- package/dist/rtk-wrapper/core.js +144 -2
- package/dist/rtk-wrapper/git-safety.js +203 -0
- package/dist/rtk-wrapper/output-adapter.js +106 -0
- package/dist/runtime/buffered-process.js +114 -0
- package/dist/runtime/bundled-node.js +97 -1
- package/dist/runtime/command-lifecycle.js +2 -0
- package/dist/runtime/input-source.js +238 -1
- package/dist/runtime/node-cli-identity.js +37 -0
- package/dist/runtime/run-command.js +191 -1
- package/dist/selectors/parse-entities.js +84 -1
- package/dist/semantic/semantic-context-pool.js +830 -0
- package/dist/semantic/semantic-context-provider.js +416 -0
- package/dist/semantic/semantic-resident-admission.js +38 -0
- package/dist/semantic/semantic-worker-child.js +40 -0
- package/dist/semantic/semantic-worker-manager.js +460 -0
- package/dist/semantic/semantic-worker-protocol.js +2 -0
- package/dist/semantic/semantic-worker-runtime.js +38 -0
- package/dist/semantic/workspace-semantic-context-pools.js +136 -0
- package/dist/session/client.js +359 -1
- package/dist/session/daemon-state.js +185 -2
- package/dist/session/external-tool-coordinator.js +88 -0
- package/dist/session/external-tool-request.js +52 -0
- package/dist/session/lane-owner.js +116 -0
- package/dist/session/paths.js +71 -1
- package/dist/session/runtime-lifecycle.js +225 -0
- package/dist/session/runtime-shutdown.js +95 -0
- package/dist/session/server.js +1194 -7
- package/dist/session/session-health.js +27 -0
- package/dist/shared/agent-text.js +29 -1
- package/dist/shared/errors.js +496 -30
- package/dist/shared/event-loop.js +6 -1
- package/dist/shared/hints.js +37 -1
- package/dist/shared/metrics.js +43 -1
- package/dist/shared/presentation.js +69 -4
- package/dist/shared/stdin-examples.js +77 -1
- package/dist/shared/stdout.js +6 -2
- package/dist/shared/types.js +23 -1
- package/dist/tool-runtime/runtime-tools.js +120 -1
- package/dist/topology/availability.js +663 -0
- package/dist/topology/cache.js +130 -0
- package/dist/topology/candidates.js +372 -0
- package/dist/topology/core.js +903 -0
- package/dist/topology/dependency-snapshot.js +189 -0
- package/dist/topology/model.js +2 -0
- package/dist/topology/scope.js +100 -0
- package/dist/topology/ts-oracle-batch.js +529 -0
- package/dist/topology/ts-oracle-host.js +69 -0
- package/dist/topology/ts-oracle-model.js +2 -0
- package/dist/topology/ts-oracle.js +224 -0
- package/dist/topology/tsconfig-loader.js +105 -0
- package/dist/topology/workspace-project-index.js +542 -0
- package/dist/tracing/config.js +192 -2
- package/dist/tracing/failure-summary.js +100 -0
- package/dist/tracing/trace.js +318 -5
- package/dist/tsc-wrapper/core.js +697 -0
- package/dist/workers/control-plane/aib-control-plane-worker.cjs +32 -32
- package/dist/workers/control-plane/client-config.default.json +3 -3
- package/dist/workers/lexical-worker-child.js +27 -0
- package/dist/workers/lexical-worker-manager.js +394 -0
- package/dist/workers/lexical-worker-protocol.js +2 -0
- package/dist/workers/lexical-worker-runtime.js +25 -0
- package/dist/workers/owned-one-shot-process.js +115 -0
- package/dist/workers/product-storage.js +23 -1
- package/dist/workers/registry.js +241 -1
- package/package.json +8 -13
- package/scripts/postinstall.cjs +29 -29
- package/scripts/provision-runtime.cjs +411 -459
- package/dist/client/http-client.js +0 -1
- package/dist/client/transport-options.js +0 -1
- package/dist/client/websocket-client.js +0 -1
- package/dist/commands/entity-resolution.js +0 -1
- package/dist/commands/file-command.js +0 -1
- package/dist/commands/host-command.js +0 -1
- package/dist/commands/inspect-symbol-query.js +0 -1
- package/dist/commands/list-instances.js +0 -1
- package/dist/commands/module-plan-command.js +0 -1
- package/dist/commands/move-command.js +0 -1
- package/dist/commands/move-to-file.js +0 -2
- package/dist/commands/ping.js +0 -1
- package/dist/commands/refactor-command.js +0 -1
- package/dist/commands/rename-command.js +0 -1
- package/dist/commands/runtime-command.js +0 -4
- package/dist/commands/runtime-info.js +0 -1
- package/dist/commands/validate-module-plan.js +0 -2
- package/dist/compatibility/policy.js +0 -1
- package/dist/config/auto-start-ide.js +0 -1
- package/dist/discovery/registry.js +0 -1
- package/dist/discovery/select-instance.js +0 -1
- package/dist/help/docs/file.rename.md +0 -35
- package/dist/help/docs/mutation.md +0 -60
- package/dist/help/docs/refactor.batch.md +0 -44
- package/dist/help/dsl/docs/file.rename.md +0 -35
- package/dist/help/dsl/docs/mutation.md +0 -60
- package/dist/help/dsl/docs/refactor.batch.md +0 -44
- package/dist/help/dsl/topics/file.rename.md +0 -33
- package/dist/help/dsl/topics/mutation.md +0 -58
- package/dist/help/dsl/topics/refactor.batch.md +0 -33
- package/dist/help/topics/file.rename.md +0 -33
- package/dist/help/topics/mutation.md +0 -58
- package/dist/help/topics/refactor.batch.md +0 -33
- package/dist/ide-launch/common.cjs +0 -162
- package/dist/managed-host/extension-vsix-resolver.js +0 -1
- package/dist/managed-host/manage-serve-web-host.cjs +0 -141
- package/dist/managed-host/serve-web-autostart.js +0 -1
- package/dist/managed-host/serve-web-host.cjs +0 -2115
- package/dist/runtime/managed-runtime-provisioning.js +0 -1
- package/dist/shared/diagnostic-catalog.js +0 -1
- package/dist/shared/diagnostics.js +0 -1
- package/dist/shared/operations.js +0 -1
- package/dist/shared/protocol.js +0 -1
- package/dist/shared/routes.js +0 -1
- package/extension/vscode-refactor-bridge-extension.vsix +0 -0
- package/runtimes/launcher/linux-x64/aib +0 -0
- package/runtimes/launcher/win-x64/aib.exe +0 -0
package/dist/commands/doctor.js
CHANGED
|
@@ -1,3 +1,137 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
`,"utf8"),{waitedMs:Date.now()-g,release(){i.rmSync(u,{recursive:!0,force:!0})}}}catch(m){if(!U(m))throw m;if(X(u,r)){i.rmSync(u,{recursive:!0,force:!0});continue}await $(250)}throw new D.CliError("DOCTOR_RUNTIME_LOCK_TIMEOUT","Timed out waiting for managed runtime doctor lifecycle lock.",{lockDir:u,timeoutMs:n})}function X(e,t){try{const n=a.join(e,"owner.json"),r=i.existsSync(n)?JSON.parse(i.readFileSync(n,"utf8")):{},o=typeof r.pid=="number"?r.pid:null;return o!==null&&!G(o)?!0:Date.now()-i.statSync(e).mtimeMs>t}catch{return!0}}function G(e){try{return process.kill(e,0),!0}catch{return!1}}function U(e){return!!e&&typeof e=="object"&&e.code==="EEXIST"}function $(e){return new Promise(t=>setTimeout(t,e))}function S(e,t,n){const r=n instanceof D.CliError?n:null;return{id:e,ok:!1,severity:"required",message:t,code:r?.code??"DOCTOR_RUNTIME_CHECK_FAILED",details:{error:n instanceof Error?n.message:String(n),...r?.details&&typeof r.details=="object"&&!Array.isArray(r.details)?{details:r.details}:{}},hints:r?.details&&typeof r.details=="object"&&!Array.isArray(r.details)&&Array.isArray(r.details.hints)?r.details.hints:(0,_.buildAutoStartHints)()}}function J(e){const t=e.metadata&&typeof e.metadata=="object"&&!Array.isArray(e.metadata)?e.metadata:{},n=e.artifacts&&typeof e.artifacts=="object"&&!Array.isArray(e.artifacts)?e.artifacts:{};return{hostId:typeof e.hostId=="string"?e.hostId:null,hostKind:typeof e.hostKind=="string"?e.hostKind:t.hostKind??null,reused:e.reused===!0,codeCommand:typeof e.codeCommand=="string"?e.codeCommand:t.codeCommand??null,codeCommandSource:typeof e.codeCommandSource=="string"?e.codeCommandSource:t.codeCommandSource??null,runDir:typeof e.runDir=="string"?e.runDir:t.runDir??null,logsDir:typeof n.logsDir=="string"?n.logsDir:t.logsDir??null,instanceId:typeof t.instanceId=="string"?t.instanceId:null,serveWebPid:typeof t.serveWebPid=="number"?t.serveWebPid:null,browserPid:typeof t.browserPid=="number"?t.browserPid:null}}function z(e){const t=e.selectedInstance&&typeof e.selectedInstance=="object"&&!Array.isArray(e.selectedInstance)?e.selectedInstance:{},n=e.response&&typeof e.response=="object"&&!Array.isArray(e.response)?e.response:{};return{instanceId:typeof t.instanceId=="string"?t.instanceId:n.instanceId??null,reason:typeof t.reason=="string"?t.reason:null,matchedWorkspace:typeof t.matchedWorkspace=="string"?t.matchedWorkspace:null,pid:typeof n.pid=="number"?n.pid:null,protocolVersion:typeof n.protocolVersion=="number"?n.protocolVersion:null,extensionVersion:typeof n.extensionVersion=="string"?n.extensionVersion:null}}function Z(){const e=Number(process.versions.node.split(".")[0]??"0"),t=Number.isInteger(e)&&e>=20;return f({id:"node-version",ok:t,severity:"required",message:t?"Node.js version is supported.":"Node.js 20 or newer is required.",details:{node:process.version,required:">=20"}},{code:"DOCTOR_NODE_VERSION_UNSUPPORTED",hints:[(0,l.actionHint)("Install Node.js 20 or newer, then retry the CLI command.")]})}function Q(e){const t=a.join(e,"package.json"),n=a.join(e,"dist","bin","aib.js"),r=i.existsSync(t)&&i.existsSync(n);return f({id:"cli-package-root",ok:r,severity:"required",message:r?"CLI package root looks complete.":"CLI package root is missing package metadata or the built bin.",details:{packageRoot:e,packageJsonPath:t,packageJsonExists:i.existsSync(t),binPath:n,binExists:i.existsSync(n)}},{code:"DOCTOR_CLI_PACKAGE_INCOMPLETE",hints:[(0,l.commandHint)("npm run cli:build","Build the local CLI package."),(0,l.actionHint)("For an installed package, reinstall the CLI package.")]})}function Y(e,t){const n=a.join(e,"dist","managed-host","manage-serve-web-host.cjs"),r=t?a.join(t,"scripts","managed-host","manage-serve-web-host.cjs"):null,o=k(d.CLI_ENV.managedHostScript),s=!!(o&&i.existsSync(o)||i.existsSync(n)||r&&i.existsSync(r));return f({id:"managed-host-assets",ok:s,severity:"required",message:s?"Managed host assets are available.":"Managed host assets were not found.",details:{env:d.CLI_ENV.managedHostScript,envScriptPath:o,envScriptExists:o?i.existsSync(o):!1,packagedScriptPath:n,packagedScriptExists:i.existsSync(n),repoScriptPath:r,repoScriptExists:r?i.existsSync(r):!1}},{code:"DOCTOR_MANAGED_HOST_ASSETS_MISSING",hints:(0,_.buildAutoStartHints)()})}function ee(e,t){try{const n=(0,M.resolveExtensionVsixPath)({packageRoot:e,repoRoot:t}),r=i.existsSync(n.path);return f({id:"extension-vsix",ok:r,severity:"required",message:r?"Extension VSIX is available.":"Extension VSIX path resolved but the file does not exist.",details:{...n,exists:r}},{code:"DOCTOR_EXTENSION_VSIX_MISSING",hints:[(0,l.configHint)(d.CLI_ENV.extensionVsix,"Point to an existing packaged VSIX artifact."),(0,l.commandHint)("npm --prefix packages/extension run package:vsix","Build a local VSIX artifact.")]})}catch(n){return{id:"extension-vsix",ok:!1,severity:"required",message:"Extension VSIX resolution failed.",code:"DOCTOR_EXTENSION_VSIX_RESOLUTION_FAILED",details:{error:n instanceof Error?n.message:String(n),code:typeof n=="object"&&n!==null&&"code"in n?String(n.code):null},hints:(0,_.buildAutoStartHints)()}}}function te(e){const t=process.env[d.CLI_ENV.ideCommand]?.trim(),n=process.env[d.CLI_ENV.managedHostKind]?.trim()||re(e),r=k(d.CLI_ENV.codeServerPath),o=a.join(e,"runtimes","code-server","node_modules","code-server","out","node","entry.js"),s=(0,v.managedRuntimePlatformStatus)(e),u=(0,C.resolveNodeRuntime)(e),g=i.existsSync(o)&&s.ok?`${u.command} ${o}`:null,m=a.join(e,"runtimes","code-server","bin",process.platform==="win32"?"code-server.cmd":"code-server"),c=[r,g,m,"code-server"].filter(h=>!!h),E=t?[t]:n==="code-server"?c:process.platform==="win32"?q:T,y=E.map(h=>({candidate:h,result:h===g?{ok:!0,path:o}:I(h)})).find(h=>h.result.ok),b=!!y;return f({id:"ide-command",ok:b,severity:"required",message:b?"VS Code CLI command is available.":"VS Code CLI command was not found.",details:{env:d.CLI_ENV.ideCommand,codeServerEnv:d.CLI_ENV.codeServerPath,hostKindEnv:d.CLI_ENV.managedHostKind,hostKind:n,explicitIdeCommand:t||null,nodeRuntimeCommand:u.command,nodeRuntimeSource:u.source,platformMarker:{ok:s.ok,reason:s.reason,expectedPlatformKey:s.expectedPlatformKey,actualPlatformKey:s.actualPlatformKey,markerPath:s.markerPath},candidates:E,resolvedCommand:y?.candidate??null,resolvedPath:y?.result.path??null}},{code:"DOCTOR_IDE_COMMAND_MISSING",hints:[(0,l.configHint)(d.CLI_ENV.ideCommand,"Set an explicit VS Code-compatible CLI command path."),(0,l.configHint)(d.CLI_ENV.codeServerPath,"Set an explicit Coder code-server executable path when using the code-server managed host."),(0,l.actionHint)("Install VS Code, install Coder code-server, or include a packaged code-server runtime.")]})}function ne(e){const t=(0,C.findPackagedNodeRuntime)(e),n=(0,C.resolveNodeRuntime)(e),r=(0,v.managedRuntimePlatformStatus)(e),o=i.existsSync(a.join(e,"runtimes","code-server","node_modules","code-server","out","node","entry.js"))&&r.ok;return f({id:"managed-runtime-node",ok:!!t||!o,severity:o?"required":"optional",message:t?"Bundled Node runtime is available for managed runtime.":o?"Bundled Node runtime is missing for package-local code-server.":"Bundled Node runtime is not needed because package-local code-server is not present.",details:{env:d.CLI_ENV.nodePath,packagedNodePath:t,resolvedCommand:n.command,resolvedSource:n.source,packagedCodeServerPresent:o,platformMarker:{ok:r.ok,reason:r.reason,expectedPlatformKey:r.expectedPlatformKey,actualPlatformKey:r.actualPlatformKey,markerPath:r.markerPath}}},{code:"DOCTOR_MANAGED_RUNTIME_NODE_MISSING",hints:[(0,l.commandHint)("node scripts/runtime/provision-managed-runtimes.cjs --node","Provision the bundled Node runtime."),(0,l.actionHint)("For installed packages, reprovision or reinstall the managed runtime bundle.")]})}function re(e){const t=a.join(e,"runtimes","code-server","node_modules","code-server","out","node","entry.js");return i.existsSync(t)&&(0,v.managedRuntimePlatformStatus)(e).ok?"code-server":null}function oe(e){const t=k(d.CLI_ENV.chromePath),r=[t,se(e),"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe","C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe","C:\\Program Files\\Microsoft\\Edge\\Application\\msedge.exe","C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe","google-chrome","chromium","chromium-browser","microsoft-edge"].filter(s=>!!s).map(s=>({candidate:s,result:I(s)})).find(s=>s.result.ok),o=!!r;return f({id:"headless-browser",ok:o,severity:"required",message:o?"Headless browser command is available.":"Chrome or Edge was not found for managed serve-web activation.",details:{env:d.CLI_ENV.chromePath,explicitChromePath:t,resolvedCommand:r?.candidate??null}},{code:"DOCTOR_HEADLESS_BROWSER_MISSING",hints:[(0,l.configHint)(d.CLI_ENV.chromePath,"Set an explicit Chrome or Edge executable path."),(0,l.actionHint)("Install Chrome, Edge, Chromium, or another compatible headless browser.")]})}function se(e){const t=[a.join(e,"runtimes","browser"),a.join(e,"runtimes","chrome"),a.join(e,"runtimes","chromium")],n=process.platform==="win32"?new Set(["chrome.exe","chromium.exe","msedge.exe"]):new Set(["chrome","chromium"]);for(const r of t){const o=N(r,n,5);if(o)return o}return null}function N(e,t,n){if(!i.existsSync(e)||n<0)return null;let r;try{r=i.readdirSync(e,{withFileTypes:!0})}catch{return null}for(const o of r){const s=a.join(e,o.name);if(o.isFile()&&t.has(o.name)&&I(s).ok)return s}for(const o of r){if(!o.isDirectory())continue;const s=N(a.join(e,o.name),t,n-1);if(s)return s}return null}function ie(e){const t=process.platform==="win32"||process.platform==="linux";return f({id:"managed-runtime-platform",ok:t||e!==!0,severity:e?"required":"optional",message:t?"Managed serve-web auto-start is supported on this platform.":"Managed serve-web auto-start is currently supported on Windows and Linux.",details:{platform:process.platform,runtimeRequested:e}},{code:"DOCTOR_MANAGED_RUNTIME_PLATFORM_UNSUPPORTED",hints:[(0,l.actionHint)("Run static doctor checks only, or use a Windows/Linux environment for managed runtime.")]})}function ae(){const e=[a.resolve(__dirname),process.cwd()];for(const t of e){let n=t;for(;;){const r=a.join(n,"scripts","managed-host","manage-serve-web-host.cjs"),o=a.join(n,"package.json");if(i.existsSync(r)&&i.existsSync(o))return n;const s=a.dirname(n);if(s===n)break;n=s}}return null}function k(e){const t=process.env[e];return t&&t.trim()?a.resolve(t.trim()):null}function I(e){if(ce(e))return{ok:i.existsSync(e),status:i.existsSync(e)?0:1,error:null};const t=process.platform==="win32"?(0,w.spawnSync)("where.exe",[e],{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","pipe"]}):(0,w.spawnSync)("sh",["-lc",`command -v "${e.replace(/"/g,'\\"')}"`],{encoding:"utf8",stdio:["ignore","pipe","pipe"]});return{ok:t.status===0,status:t.status,error:t.error?t.error.message:null}}function ce(e){return e.includes("\\")||e.includes("/")||/^[A-Za-z]:/.test(e)}
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.runDoctor = runDoctor;
|
|
37
|
+
const fs = __importStar(require("node:fs"));
|
|
38
|
+
const path = __importStar(require("node:path"));
|
|
39
|
+
const agent_text_1 = require("../shared/agent-text");
|
|
40
|
+
const readiness_text_1 = require("../diagnostics/readiness-text");
|
|
41
|
+
const bundled_node_1 = require("../runtime/bundled-node");
|
|
42
|
+
async function runDoctor(options) {
|
|
43
|
+
const progress = options.progress === true
|
|
44
|
+
? (line) => process.stderr.write(`${line}\n`)
|
|
45
|
+
: (_line) => { };
|
|
46
|
+
const packageRoot = path.resolve(__dirname, "..", "..");
|
|
47
|
+
const checks = [
|
|
48
|
+
runCheck(progress, "node version", checkNodeVersion),
|
|
49
|
+
runCheck(progress, "package layout", () => checkPackageRoot(packageRoot)),
|
|
50
|
+
runCheck(progress, "bundled node", () => checkBundledNode(packageRoot))
|
|
51
|
+
];
|
|
52
|
+
const failedRequired = checks.filter((check) => check.severity === "required" && !check.ok);
|
|
53
|
+
const failedOptional = checks.filter((check) => check.severity === "optional" && !check.ok);
|
|
54
|
+
const response = {
|
|
55
|
+
ok: failedRequired.length === 0,
|
|
56
|
+
command: "doctor",
|
|
57
|
+
mode: "static",
|
|
58
|
+
cwd: path.resolve(options.cwd),
|
|
59
|
+
generatedAt: new Date().toISOString(),
|
|
60
|
+
platform: {
|
|
61
|
+
node: process.version,
|
|
62
|
+
platform: process.platform,
|
|
63
|
+
arch: process.arch
|
|
64
|
+
},
|
|
65
|
+
packageRoot,
|
|
66
|
+
summary: {
|
|
67
|
+
checkCount: checks.length,
|
|
68
|
+
passedCount: checks.filter((check) => check.ok).length,
|
|
69
|
+
failedRequiredCount: failedRequired.length,
|
|
70
|
+
failedOptionalCount: failedOptional.length
|
|
71
|
+
},
|
|
72
|
+
checks
|
|
73
|
+
};
|
|
74
|
+
if (options.progress === true) {
|
|
75
|
+
progress(failedRequired.length === 0 ? "all checks passed" : "checks failed");
|
|
76
|
+
if (failedRequired.length === 0) {
|
|
77
|
+
progress("you are good to go \u{1F44D}");
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return options.json === true
|
|
81
|
+
? response
|
|
82
|
+
: (0, agent_text_1.attachAgentText)(response, (0, readiness_text_1.formatDoctorText)(response, { verbose: options.verbose === true }));
|
|
83
|
+
}
|
|
84
|
+
function runCheck(progress, label, check) {
|
|
85
|
+
progress(`checking ${label}`);
|
|
86
|
+
const result = check();
|
|
87
|
+
progress(`${label}: ${result.ok ? "ok" : "failed"}`);
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
90
|
+
function checkNodeVersion() {
|
|
91
|
+
const major = Number(process.versions.node.split(".")[0] ?? "0");
|
|
92
|
+
const ok = Number.isInteger(major) && major >= 20;
|
|
93
|
+
return {
|
|
94
|
+
id: "node-version",
|
|
95
|
+
ok,
|
|
96
|
+
severity: "required",
|
|
97
|
+
message: ok ? "Node.js version is supported." : "Node.js 20 or newer is required.",
|
|
98
|
+
...(ok ? {} : { code: "DOCTOR_NODE_VERSION_UNSUPPORTED" }),
|
|
99
|
+
details: { node: process.version, required: ">=20" }
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function checkPackageRoot(packageRoot) {
|
|
103
|
+
const packageJsonPath = path.join(packageRoot, "package.json");
|
|
104
|
+
const binPath = path.join(packageRoot, "dist", "bin", "aib.js");
|
|
105
|
+
const ok = fs.existsSync(packageJsonPath) && fs.existsSync(binPath);
|
|
106
|
+
return {
|
|
107
|
+
id: "cli-package-root",
|
|
108
|
+
ok,
|
|
109
|
+
severity: "required",
|
|
110
|
+
message: ok ? "CLI package root looks complete." : "CLI package root is missing package metadata or the built bin.",
|
|
111
|
+
...(ok ? {} : { code: "DOCTOR_CLI_PACKAGE_INCOMPLETE" }),
|
|
112
|
+
details: {
|
|
113
|
+
packageRoot,
|
|
114
|
+
packageJsonPath,
|
|
115
|
+
packageJsonExists: fs.existsSync(packageJsonPath),
|
|
116
|
+
binPath,
|
|
117
|
+
binExists: fs.existsSync(binPath)
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
function checkBundledNode(packageRoot) {
|
|
122
|
+
const packagedNodePath = (0, bundled_node_1.findPackagedNodeRuntime)(packageRoot);
|
|
123
|
+
const nodeRuntime = (0, bundled_node_1.resolveNodeRuntime)(packageRoot);
|
|
124
|
+
return {
|
|
125
|
+
id: "bundled-node",
|
|
126
|
+
ok: true,
|
|
127
|
+
severity: "optional",
|
|
128
|
+
message: packagedNodePath
|
|
129
|
+
? "Bundled Node runtime is available."
|
|
130
|
+
: "Bundled Node runtime is absent; the current Node runtime will be used.",
|
|
131
|
+
details: {
|
|
132
|
+
packagedNodePath,
|
|
133
|
+
resolvedCommand: nodeRuntime.command,
|
|
134
|
+
resolvedSource: nodeRuntime.source
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
@@ -1 +1,117 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runExecutionCommand = runExecutionCommand;
|
|
4
|
+
const apply_module_plan_1 = require("./apply-module-plan");
|
|
5
|
+
const file_refactor_batch_1 = require("./file-refactor-batch");
|
|
6
|
+
const file_refactor_batch_execution_cache_1 = require("./file-refactor-batch-execution-cache");
|
|
7
|
+
const declaration_command_1 = require("./declaration-command");
|
|
8
|
+
const file_rename_1 = require("./file-rename");
|
|
9
|
+
const file_rename_execution_cache_1 = require("./file-rename-execution-cache");
|
|
10
|
+
const file_move_to_dir_1 = require("./file-move-to-dir");
|
|
11
|
+
const file_move_to_dir_execution_cache_1 = require("./file-move-to-dir-execution-cache");
|
|
12
|
+
const module_plan_cache_1 = require("./module-plan-cache");
|
|
13
|
+
const refactor_batch_1 = require("./refactor-batch");
|
|
14
|
+
const refactor_batch_execution_cache_1 = require("./refactor-batch-execution-cache");
|
|
15
|
+
const mutate_execution_status_1 = require("./mutate-execution-status");
|
|
16
|
+
const mutate_execution_cache_1 = require("./mutate-execution-cache");
|
|
17
|
+
const rename_entities_1 = require("./rename-entities");
|
|
18
|
+
const rename_execution_cache_1 = require("./rename-execution-cache");
|
|
19
|
+
const errors_1 = require("../shared/errors");
|
|
20
|
+
function runExecutionCommand(cwd, restArgs) {
|
|
21
|
+
const [action = "status", ...actionArgs] = restArgs;
|
|
22
|
+
if (action === "status") {
|
|
23
|
+
const executionId = readFlagValue(actionArgs, "--execution") ?? firstPositional(actionArgs) ?? "last";
|
|
24
|
+
return readCachedExecution(cwd, executionId);
|
|
25
|
+
}
|
|
26
|
+
throw new errors_1.CliError("UNKNOWN_EXECUTION_COMMAND", `Unknown execution command: ${action}`, {
|
|
27
|
+
availableCommands: [
|
|
28
|
+
"execution status"
|
|
29
|
+
]
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function readCachedExecution(cwd, executionId) {
|
|
33
|
+
if (executionId === "last") {
|
|
34
|
+
const mutate = (0, mutate_execution_cache_1.tryReadMutateExecutionStatus)(cwd, "last");
|
|
35
|
+
const modulePlan = tryReadModulePlanExecutionStatus(cwd, "last");
|
|
36
|
+
const refactorBatch = (0, refactor_batch_execution_cache_1.tryReadRefactorBatchExecutionStatus)(cwd, "last");
|
|
37
|
+
const rename = (0, rename_execution_cache_1.tryReadRenameExecutionStatus)(cwd, "last");
|
|
38
|
+
const fileMoveToDir = (0, file_move_to_dir_execution_cache_1.tryReadFileMoveToDirExecutionStatus)(cwd, "last");
|
|
39
|
+
const fileRename = (0, file_rename_execution_cache_1.tryReadFileRenameExecutionStatus)(cwd, "last");
|
|
40
|
+
const fileRefactorBatch = (0, file_refactor_batch_execution_cache_1.tryReadFileRefactorBatchExecutionStatus)(cwd, "last");
|
|
41
|
+
const declaration = (0, declaration_command_1.tryReadDeclarationExecutionStatus)(cwd, "last");
|
|
42
|
+
const candidates = [
|
|
43
|
+
mutate ? { updatedAt: Date.parse(mutate.updatedAt), read: () => (0, mutate_execution_status_1.readCachedMutateExecution)(cwd, "last", { includeOperationHeader: true }) } : null,
|
|
44
|
+
modulePlan ? { updatedAt: Date.parse(modulePlan.updatedAt), read: () => (0, apply_module_plan_1.readCachedModulePlanExecution)(cwd, "last") } : null,
|
|
45
|
+
refactorBatch ? { updatedAt: Date.parse(refactorBatch.updatedAt), read: () => (0, refactor_batch_1.readCachedRefactorBatchExecution)(cwd, "last") } : null,
|
|
46
|
+
rename ? { updatedAt: Date.parse(rename.updatedAt), read: () => (0, rename_entities_1.readCachedRenameExecution)(cwd, "last") } : null,
|
|
47
|
+
fileMoveToDir ? { updatedAt: Date.parse(fileMoveToDir.updatedAt), read: () => (0, file_move_to_dir_1.readCachedFileMoveToDirExecution)(cwd, "last") } : null,
|
|
48
|
+
fileRename ? { updatedAt: Date.parse(fileRename.updatedAt), read: () => (0, file_rename_1.readCachedFileRenameExecution)(cwd, "last") } : null,
|
|
49
|
+
fileRefactorBatch ? { updatedAt: Date.parse(fileRefactorBatch.updatedAt), read: () => (0, file_refactor_batch_1.readCachedFileRefactorBatchExecution)(cwd, "last") } : null,
|
|
50
|
+
declaration ? { updatedAt: Date.parse(declaration.updatedAt), read: () => (0, declaration_command_1.readCachedDeclarationExecution)(cwd, "last") } : null
|
|
51
|
+
].filter((candidate) => Boolean(candidate));
|
|
52
|
+
if (candidates.length > 0) {
|
|
53
|
+
const latest = candidates.sort((left, right) => right.updatedAt - left.updatedAt)[0];
|
|
54
|
+
if (latest) {
|
|
55
|
+
return latest.read();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
throwExecutionNotFound(executionId);
|
|
59
|
+
}
|
|
60
|
+
const mutate = (0, mutate_execution_cache_1.tryReadMutateExecutionStatus)(cwd, executionId);
|
|
61
|
+
if (mutate) {
|
|
62
|
+
return (0, mutate_execution_status_1.readCachedMutateExecution)(cwd, executionId);
|
|
63
|
+
}
|
|
64
|
+
const fileMoveToDir = (0, file_move_to_dir_execution_cache_1.tryReadFileMoveToDirExecutionStatus)(cwd, executionId);
|
|
65
|
+
if (fileMoveToDir) {
|
|
66
|
+
return (0, file_move_to_dir_1.readCachedFileMoveToDirExecution)(cwd, executionId);
|
|
67
|
+
}
|
|
68
|
+
const fileRename = (0, file_rename_execution_cache_1.tryReadFileRenameExecutionStatus)(cwd, executionId);
|
|
69
|
+
if (fileRename) {
|
|
70
|
+
return (0, file_rename_1.readCachedFileRenameExecution)(cwd, executionId);
|
|
71
|
+
}
|
|
72
|
+
const fileRefactorBatch = (0, file_refactor_batch_execution_cache_1.tryReadFileRefactorBatchExecutionStatus)(cwd, executionId);
|
|
73
|
+
if (fileRefactorBatch) {
|
|
74
|
+
return (0, file_refactor_batch_1.readCachedFileRefactorBatchExecution)(cwd, executionId);
|
|
75
|
+
}
|
|
76
|
+
const rename = (0, rename_execution_cache_1.tryReadRenameExecutionStatus)(cwd, executionId);
|
|
77
|
+
if (rename) {
|
|
78
|
+
return (0, rename_entities_1.readCachedRenameExecution)(cwd, executionId);
|
|
79
|
+
}
|
|
80
|
+
const refactorBatch = (0, refactor_batch_execution_cache_1.tryReadRefactorBatchExecutionStatus)(cwd, executionId);
|
|
81
|
+
if (refactorBatch) {
|
|
82
|
+
return (0, refactor_batch_1.readCachedRefactorBatchExecution)(cwd, executionId);
|
|
83
|
+
}
|
|
84
|
+
const modulePlan = tryReadModulePlanExecutionStatus(cwd, executionId);
|
|
85
|
+
if (modulePlan) {
|
|
86
|
+
return (0, apply_module_plan_1.readCachedModulePlanExecution)(cwd, executionId);
|
|
87
|
+
}
|
|
88
|
+
const declaration = (0, declaration_command_1.tryReadDeclarationExecutionStatus)(cwd, executionId);
|
|
89
|
+
if (declaration) {
|
|
90
|
+
return (0, declaration_command_1.readCachedDeclarationExecution)(cwd, executionId);
|
|
91
|
+
}
|
|
92
|
+
throwExecutionNotFound(executionId);
|
|
93
|
+
}
|
|
94
|
+
function tryReadModulePlanExecutionStatus(cwd, executionId) {
|
|
95
|
+
try {
|
|
96
|
+
return (0, module_plan_cache_1.readModulePlanExecutionStatus)(cwd, executionId);
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
function throwExecutionNotFound(executionId) {
|
|
103
|
+
throw new errors_1.CliError("EXECUTION_NOT_FOUND", `Execution status not found: ${executionId}`, {
|
|
104
|
+
executionId
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
function readFlagValue(args, flag) {
|
|
108
|
+
const index = args.indexOf(flag);
|
|
109
|
+
if (index < 0) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const value = args[index + 1];
|
|
113
|
+
return value && !value.startsWith("--") ? value : null;
|
|
114
|
+
}
|
|
115
|
+
function firstPositional(args) {
|
|
116
|
+
return args.find((arg) => !arg.startsWith("--")) ?? null;
|
|
117
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.runExportsStarCollapseSegment = runExportsStarCollapseSegment;
|
|
37
|
+
exports.runExportsStarCollapsePreviewBatch = runExportsStarCollapsePreviewBatch;
|
|
38
|
+
exports.formatExportsStarCollapseBatchText = formatExportsStarCollapseBatchText;
|
|
39
|
+
exports.formatExportsStarCollapseWriteText = formatExportsStarCollapseWriteText;
|
|
40
|
+
exports.attachExportsStarCollapseWriteView = attachExportsStarCollapseWriteView;
|
|
41
|
+
const crypto = __importStar(require("node:crypto"));
|
|
42
|
+
const exports_star_collapse_preview_1 = require("../mutation/exports-star-collapse-preview");
|
|
43
|
+
const agent_text_1 = require("../shared/agent-text");
|
|
44
|
+
const session_workspace_1 = require("./session-workspace");
|
|
45
|
+
const exports_star_expand_apply_1 = require("../mutation/exports-star-expand-apply");
|
|
46
|
+
async function runExportsStarCollapseSegment(cwd, segment, action) {
|
|
47
|
+
if (action === "execute") {
|
|
48
|
+
const response = (0, exports_star_expand_apply_1.executeCurrentExportsStarCollapseBatch)(cwd, [intentFromSegment(segment)]);
|
|
49
|
+
const withView = attachExportsStarCollapseWriteView(cwd, response);
|
|
50
|
+
return (0, agent_text_1.attachAgentText)(withView, formatExportsStarCollapseWriteText("execute", withView));
|
|
51
|
+
}
|
|
52
|
+
return (await runExportsStarCollapsePreviewBatch(cwd, [segment]))[0];
|
|
53
|
+
}
|
|
54
|
+
async function runExportsStarCollapsePreviewBatch(cwd, segments, semanticContextPool, persistApplyPlan = false) {
|
|
55
|
+
const session = new exports_star_collapse_preview_1.ExportsStarCollapsePreviewSession(cwd, semanticContextPool);
|
|
56
|
+
try {
|
|
57
|
+
const results = segments.map((segment) => session.plan({
|
|
58
|
+
sourceFile: readString(segment.sourceFile) ?? "",
|
|
59
|
+
selectors: readStringArray(segment.selectors)
|
|
60
|
+
}));
|
|
61
|
+
const intents = segments.map(intentFromSegment);
|
|
62
|
+
const previewId = persistApplyPlan ? (0, exports_star_expand_apply_1.persistExportsStarCollapsePreview)(cwd, intents, results) : null;
|
|
63
|
+
const applyAvailable = Boolean(previewId);
|
|
64
|
+
const saved = (0, session_workspace_1.saveSessionResultViewJson)(cwd, `res_${crypto.randomBytes(4).toString("hex")}`, {
|
|
65
|
+
kind: "exportsStarCollapseBatch",
|
|
66
|
+
operation: "exports.star.collapse.preview",
|
|
67
|
+
applyAvailable,
|
|
68
|
+
...(previewId ? { previewId } : {}),
|
|
69
|
+
barrelCount: results.length,
|
|
70
|
+
resources: session.resources,
|
|
71
|
+
barrels: results
|
|
72
|
+
});
|
|
73
|
+
return results.map((result) => {
|
|
74
|
+
const response = {
|
|
75
|
+
...result,
|
|
76
|
+
applyAvailable,
|
|
77
|
+
...(previewId ? { previewId, next: `aib mutate apply ${previewId}` } : {}),
|
|
78
|
+
...(saved ? { view: saved.saved } : {})
|
|
79
|
+
};
|
|
80
|
+
return (0, agent_text_1.attachAgentText)(response, formatExportsStarCollapseAgentText(result, readString(response.view), previewId ?? undefined));
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
finally {
|
|
84
|
+
session.dispose();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function formatExportsStarCollapseBatchText(responses, action = "preview") {
|
|
88
|
+
const planned = responses.reduce((count, response) => count + (readNumber(response.plannedCount) ?? 0), 0);
|
|
89
|
+
const retained = responses.flatMap((response) => readObjectArray(response.retained));
|
|
90
|
+
const files = [...new Set(responses.flatMap((response) => readStringArray(response.filesTouched)))];
|
|
91
|
+
const view = responses.map((response) => readString(response.view)).find(Boolean);
|
|
92
|
+
const lines = [
|
|
93
|
+
`mutate.${action}${planned > 0 && retained.length > 0 ? " partial" : ""}: ${planned} ${noun(planned, "edge")} ${action === "preview" ? "planned" : "collapsed"} in ${files.length} ${noun(files.length, "file")}; ${retained.length} retained`
|
|
94
|
+
];
|
|
95
|
+
if (files.length)
|
|
96
|
+
lines.push(`files: ${bounded(files, 4)}`);
|
|
97
|
+
appendRetained(lines, retained);
|
|
98
|
+
if (view)
|
|
99
|
+
lines.push(`view: ${view}`);
|
|
100
|
+
const previewId = responses.map((response) => readString(response.previewId)).find(Boolean);
|
|
101
|
+
lines.push(action === "preview" && previewId
|
|
102
|
+
? `next: aib mutate apply ${previewId}`
|
|
103
|
+
: retained.length
|
|
104
|
+
? "next: Review retained exports.star.collapse evidence and fix remaining edges manually or rerun with adjusted intent."
|
|
105
|
+
: action === "preview"
|
|
106
|
+
? "next: Review retained exports.star.collapse evidence; no safe edits are available to apply."
|
|
107
|
+
: "next: Continue with the refactor or run focused checks.");
|
|
108
|
+
return lines.join("\n");
|
|
109
|
+
}
|
|
110
|
+
function formatExportsStarCollapseWriteText(action, response) {
|
|
111
|
+
if (response.ok === false) {
|
|
112
|
+
const code = readString(response.code) ?? "EXPORTS_STAR_COLLAPSE_FAILED";
|
|
113
|
+
const error = readString(response.error) ?? "exports.star.collapse could not be committed.";
|
|
114
|
+
const view = readString(response.view);
|
|
115
|
+
return [
|
|
116
|
+
`mutate.${action} failed`,
|
|
117
|
+
`${code}: ${error}`,
|
|
118
|
+
...(view ? [`view: ${view}`] : []),
|
|
119
|
+
code.endsWith("ALREADY_APPLIED")
|
|
120
|
+
? "next: Continue from the already-applied workspace state or run focused checks."
|
|
121
|
+
: "next: Rerun exports.star.collapse preview against the current workspace state."
|
|
122
|
+
].join("\n");
|
|
123
|
+
}
|
|
124
|
+
return formatExportsStarCollapseBatchText([response], action);
|
|
125
|
+
}
|
|
126
|
+
function attachExportsStarCollapseWriteView(cwd, response) {
|
|
127
|
+
const saved = (0, session_workspace_1.saveSessionResultViewJson)(cwd, `res_${crypto.randomBytes(4).toString("hex")}`, {
|
|
128
|
+
kind: "exportsStarCollapseWrite",
|
|
129
|
+
...response
|
|
130
|
+
});
|
|
131
|
+
return saved ? { ...response, view: saved.saved } : response;
|
|
132
|
+
}
|
|
133
|
+
function formatExportsStarCollapseAgentText(result, view, previewId) {
|
|
134
|
+
const lines = [
|
|
135
|
+
`exports.star.collapse preview${result.partial ? " partial" : ""}: ${result.plannedCount} ${noun(result.plannedCount, "edge")} planned in ${result.filesTouched.length} ${noun(result.filesTouched.length, "file")}; ${result.retainedCount} retained`
|
|
136
|
+
];
|
|
137
|
+
if (result.filesTouched.length)
|
|
138
|
+
lines.push(`files: ${bounded(result.filesTouched, 4)}`);
|
|
139
|
+
appendRetained(lines, result.retained);
|
|
140
|
+
if (view)
|
|
141
|
+
lines.push(`view: ${view}`);
|
|
142
|
+
lines.push(`next: ${previewId ? `aib mutate apply ${previewId}` : result.next}`);
|
|
143
|
+
return lines.join("\n");
|
|
144
|
+
}
|
|
145
|
+
function intentFromSegment(segment) {
|
|
146
|
+
return { sourceFile: readString(segment.sourceFile) ?? "", selectors: readStringArray(segment.selectors) };
|
|
147
|
+
}
|
|
148
|
+
function appendRetained(lines, retained) {
|
|
149
|
+
if (!retained.length)
|
|
150
|
+
return;
|
|
151
|
+
lines.push("retained:");
|
|
152
|
+
for (const item of retained.slice(0, 4)) {
|
|
153
|
+
const selector = readString(item.selector) ?? "edge";
|
|
154
|
+
const reason = readString(item.reason) ?? readString(item.code) ?? "retained";
|
|
155
|
+
const candidates = readStringArray(item.candidates);
|
|
156
|
+
lines.push(`${selector}: ${reason}${candidates.length ? ` (${candidates.join(", ")})` : ""}`);
|
|
157
|
+
}
|
|
158
|
+
if (retained.length > 4)
|
|
159
|
+
lines.push(`+${retained.length - 4} retained`);
|
|
160
|
+
}
|
|
161
|
+
function readString(value) {
|
|
162
|
+
return typeof value === "string" && value.length > 0 ? value : undefined;
|
|
163
|
+
}
|
|
164
|
+
function readStringArray(value) {
|
|
165
|
+
return Array.isArray(value) ? value.filter((item) => typeof item === "string" && item.length > 0) : [];
|
|
166
|
+
}
|
|
167
|
+
function readObjectArray(value) {
|
|
168
|
+
return Array.isArray(value) ? value.filter((item) => Boolean(item) && typeof item === "object" && !Array.isArray(item)) : [];
|
|
169
|
+
}
|
|
170
|
+
function readNumber(value) {
|
|
171
|
+
return typeof value === "number" && Number.isFinite(value) ? value : undefined;
|
|
172
|
+
}
|
|
173
|
+
function bounded(values, limit) {
|
|
174
|
+
return values.length <= limit ? values.join(", ") : `${values.slice(0, limit).join(", ")} +${values.length - limit}`;
|
|
175
|
+
}
|
|
176
|
+
function noun(count, word) {
|
|
177
|
+
return count === 1 ? word : `${word}s`;
|
|
178
|
+
}
|