@automaton-labs/aib 0.0.6 → 0.0.8
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 +36 -257
- 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 -2
- 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 -0
- package/dist/commands/captured-input.js +74 -2
- package/dist/commands/config-command.js +314 -2
- package/dist/commands/config-output.js +357 -10
- package/dist/commands/control-plane-command.js +183 -0
- package/dist/commands/declaration-command.js +1209 -0
- package/dist/commands/declaration-execution-cache.js +79 -0
- package/dist/commands/declaration-format.js +221 -0
- package/dist/commands/declaration-preview-cache.js +114 -0
- package/dist/commands/diagnostics-command.js +70 -3
- package/dist/commands/doctor.js +137 -2
- 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 -0
- package/dist/commands/file-move-to-dir-preview-cache.js +125 -0
- package/dist/commands/file-move-to-dir-worker.js +54 -0
- package/dist/commands/file-move-to-dir.js +1073 -0
- package/dist/commands/file-mutation-runtime.js +102 -0
- package/dist/commands/file-mutation-worker-apply.js +180 -0
- package/dist/commands/file-refactor-batch-execution-cache.js +90 -0
- package/dist/commands/file-refactor-batch-preview-cache.js +125 -0
- package/dist/commands/file-refactor-batch-worker.js +54 -0
- package/dist/commands/file-refactor-batch.js +1154 -0
- package/dist/commands/file-rename-execution-cache.js +92 -0
- package/dist/commands/file-rename-preview-cache.js +125 -0
- package/dist/commands/file-rename-worker.js +54 -0
- package/dist/commands/file-rename.js +1053 -0
- 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 -0
- 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 -6
- 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 -0
- 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 -0
- package/dist/dsl/file-move-to-dir-dsl.js +123 -0
- package/dist/dsl/file-refactor-batch-dsl.js +203 -0
- package/dist/dsl/file-rename-dsl.js +135 -0
- package/dist/dsl/mutate-dsl.js +746 -0
- package/dist/help/bootstrap.bash.md +742 -0
- package/dist/help/bootstrap.md +236 -437
- package/dist/help/bootstrap.pwsh.md +742 -0
- 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/dsl.md +4 -3
- 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 +5 -11
- package/dist/help/docs/inspect.deps.md +7 -7
- package/dist/help/docs/inspect.file.md +10 -18
- package/dist/help/docs/inspect.graph.md +6 -20
- package/dist/help/docs/{inspect.md → inspect.shared.md} +18 -17
- package/dist/help/docs/modulePlan.md +24 -28
- package/dist/help/docs/move.md +19 -22
- package/dist/help/docs/moveToDir.md +46 -0
- 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 -16
- package/dist/help/docs/qr.md +13 -22
- package/dist/help/docs/quick-map.md +36 -23
- package/dist/help/docs/recipe.file-layout.md +15 -0
- 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/rg.md +22 -0
- package/dist/help/docs/rules.md +26 -0
- package/dist/help/docs/selectors.md +3 -2
- package/dist/help/docs/session.md +1 -1
- package/dist/help/dsl/bootstrap.bash.md +742 -0
- package/dist/help/dsl/bootstrap.md +236 -437
- package/dist/help/dsl/bootstrap.pwsh.md +742 -0
- 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/dsl.md +4 -3
- 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 +5 -11
- package/dist/help/dsl/docs/inspect.deps.md +7 -7
- package/dist/help/dsl/docs/inspect.file.md +10 -18
- package/dist/help/dsl/docs/inspect.graph.md +6 -20
- package/dist/help/dsl/docs/{inspect.md → inspect.shared.md} +18 -17
- package/dist/help/dsl/docs/modulePlan.md +24 -28
- package/dist/help/dsl/docs/move.md +19 -22
- package/dist/help/dsl/docs/moveToDir.md +46 -0
- 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 -16
- package/dist/help/dsl/docs/qr.md +13 -22
- package/dist/help/dsl/docs/quick-map.md +36 -23
- package/dist/help/dsl/docs/recipe.file-layout.md +15 -0
- 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/rg.md +22 -0
- package/dist/help/dsl/docs/rules.md +26 -0
- package/dist/help/dsl/docs/selectors.md +3 -2
- package/dist/help/dsl/docs/session.md +1 -1
- package/dist/help/dsl/full.md +236 -437
- package/dist/help/dsl/help-index.md +49 -0
- package/dist/help/dsl/snippets/agents.md +2 -2
- package/dist/help/dsl/tokens/qr.inline.examples.md +2 -0
- package/dist/help/dsl/tokens/stdin.examples.bash.md +8 -0
- package/dist/help/dsl/tokens/stdin.examples.pwsh.md +8 -0
- package/dist/help/dsl/tokens/stdin.examples.with-qr.bash.md +12 -0
- package/dist/help/dsl/tokens/stdin.examples.with-qr.pwsh.md +12 -0
- 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/dsl.md +4 -3
- 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 +5 -11
- package/dist/help/dsl/topics/inspect.deps.md +7 -7
- package/dist/help/dsl/topics/inspect.file.md +10 -18
- package/dist/help/dsl/topics/inspect.graph.md +6 -20
- package/dist/help/dsl/topics/{inspect.md → inspect.shared.md} +18 -17
- package/dist/help/dsl/topics/modulePlan.md +21 -26
- package/dist/help/dsl/topics/move.md +17 -18
- package/dist/help/dsl/topics/moveToDir.md +44 -0
- 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 -16
- package/dist/help/dsl/topics/qr.md +13 -22
- package/dist/help/dsl/topics/quick-map.md +36 -23
- package/dist/help/dsl/topics/recipe.file-layout.md +13 -0
- 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/rg.md +20 -0
- package/dist/help/dsl/topics/rules.md +24 -0
- package/dist/help/dsl/topics/selectors.md +3 -2
- package/dist/help/dsl/topics/session.md +1 -1
- package/dist/help/full.md +236 -437
- package/dist/help/help-index.md +49 -0
- package/dist/help/help-meta.json +114 -48
- package/dist/help/index.md +76 -87
- package/dist/help/snippets/agents.md +2 -2
- package/dist/help/tokens/qr.inline.examples.md +2 -0
- package/dist/help/tokens/stdin.examples.bash.md +8 -0
- package/dist/help/tokens/stdin.examples.pwsh.md +8 -0
- package/dist/help/tokens/stdin.examples.with-qr.bash.md +12 -0
- package/dist/help/tokens/stdin.examples.with-qr.pwsh.md +12 -0
- 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/dsl.md +4 -3
- 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 +5 -11
- package/dist/help/topics/inspect.deps.md +7 -7
- package/dist/help/topics/inspect.file.md +10 -18
- package/dist/help/topics/inspect.graph.md +6 -20
- package/dist/help/topics/{inspect.md → inspect.shared.md} +18 -17
- package/dist/help/topics/modulePlan.md +21 -26
- package/dist/help/topics/move.md +17 -18
- package/dist/help/topics/moveToDir.md +44 -0
- 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 -16
- package/dist/help/topics/qr.md +13 -22
- package/dist/help/topics/quick-map.md +36 -23
- package/dist/help/topics/recipe.file-layout.md +13 -0
- 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/rg.md +20 -0
- package/dist/help/topics/rules.md +24 -0
- package/dist/help/topics/selectors.md +3 -2
- package/dist/help/topics/session.md +1 -1
- package/dist/host/capabilities.js +56 -0
- 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 +210 -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 -0
- package/dist/rg-wrapper/options.js +125 -0
- package/dist/rtk-wrapper/core.js +144 -0
- 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 -0
- 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 -8
- 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 -3
- package/dist/shared/stdout.js +6 -2
- package/dist/shared/types.js +23 -1
- package/dist/tool-runtime/runtime-tools.js +120 -0
- 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 +80 -0
- package/dist/workers/control-plane/client-config.default.json +3 -0
- 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 -0
- package/dist/workers/registry.js +241 -0
- package/package.json +8 -11
- package/runtimes/tools/rg/darwin-arm64/rg +0 -0
- package/runtimes/tools/rg/darwin-x64/rg +0 -0
- package/runtimes/tools/rg/linux-arm64/rg +0 -0
- package/runtimes/tools/rg/linux-x64/rg +0 -0
- package/runtimes/tools/rg/manifest.json +36 -0
- package/runtimes/tools/rg/win32-x64/rg.exe +0 -0
- package/runtimes/tools/rtk/darwin-arm64/rtk +0 -0
- package/runtimes/tools/rtk/darwin-x64/rtk +0 -0
- package/runtimes/tools/rtk/linux-arm64/rtk +0 -0
- package/runtimes/tools/rtk/linux-x64/rtk +0 -0
- package/runtimes/tools/rtk/manifest.json +36 -0
- package/runtimes/tools/rtk/win32-x64/rtk.exe +0 -0
- 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/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/mutation.md +0 -50
- package/dist/help/docs/refactor.batch.md +0 -44
- package/dist/help/dsl/docs/mutation.md +0 -50
- package/dist/help/dsl/docs/refactor.batch.md +0 -44
- package/dist/help/dsl/topics/mutation.md +0 -48
- package/dist/help/dsl/topics/refactor.batch.md +0 -33
- package/dist/help/json/bootstrap.md +0 -1085
- package/dist/help/json/docs/basics.md +0 -15
- package/dist/help/json/docs/config-setup.aliases.md +0 -56
- package/dist/help/json/docs/config-setup.excludes.md +0 -45
- package/dist/help/json/docs/config-setup.import-normalize.md +0 -86
- package/dist/help/json/docs/config-setup.import-rules.md +0 -96
- package/dist/help/json/docs/config-setup.tsconfigs.md +0 -33
- package/dist/help/json/docs/dsl.md +0 -25
- package/dist/help/json/docs/first-setup.md +0 -292
- package/dist/help/json/docs/help-format.md +0 -9
- package/dist/help/json/docs/help-protocol.md +0 -26
- package/dist/help/json/docs/imports.normalize.md +0 -47
- package/dist/help/json/docs/inspect.code.md +0 -41
- package/dist/help/json/docs/inspect.cycles.md +0 -38
- package/dist/help/json/docs/inspect.deps.md +0 -46
- package/dist/help/json/docs/inspect.duplicates.md +0 -65
- package/dist/help/json/docs/inspect.exports.md +0 -40
- package/dist/help/json/docs/inspect.file.md +0 -38
- package/dist/help/json/docs/inspect.graph.md +0 -139
- package/dist/help/json/docs/inspect.imports.md +0 -15
- package/dist/help/json/docs/inspect.md +0 -88
- package/dist/help/json/docs/inspect.members.md +0 -32
- package/dist/help/json/docs/inspect.tree.md +0 -32
- package/dist/help/json/docs/inspect.usages.md +0 -61
- package/dist/help/json/docs/modulePlan.md +0 -73
- package/dist/help/json/docs/move.md +0 -56
- package/dist/help/json/docs/mutation.md +0 -65
- package/dist/help/json/docs/patterns.md +0 -76
- package/dist/help/json/docs/prefs.md +0 -40
- package/dist/help/json/docs/qr.md +0 -37
- package/dist/help/json/docs/quick-map.md +0 -30
- package/dist/help/json/docs/refactor.batch.md +0 -72
- package/dist/help/json/docs/rename.md +0 -47
- package/dist/help/json/docs/reveal.md +0 -30
- package/dist/help/json/docs/selectors.md +0 -23
- package/dist/help/json/docs/session.md +0 -77
- package/dist/help/json/docs/view.md +0 -30
- package/dist/help/json/full.md +0 -1085
- package/dist/help/json/snippets/agents.md +0 -14
- package/dist/help/json/topics/basics.md +0 -13
- package/dist/help/json/topics/config-setup.aliases.md +0 -54
- package/dist/help/json/topics/config-setup.excludes.md +0 -43
- package/dist/help/json/topics/config-setup.import-normalize.md +0 -84
- package/dist/help/json/topics/config-setup.import-rules.md +0 -94
- package/dist/help/json/topics/config-setup.tsconfigs.md +0 -31
- package/dist/help/json/topics/dsl.md +0 -23
- package/dist/help/json/topics/first-setup.md +0 -290
- package/dist/help/json/topics/help-format.md +0 -7
- package/dist/help/json/topics/help-protocol.md +0 -24
- package/dist/help/json/topics/imports.normalize.md +0 -45
- package/dist/help/json/topics/inspect.code.md +0 -39
- package/dist/help/json/topics/inspect.cycles.md +0 -36
- package/dist/help/json/topics/inspect.deps.md +0 -44
- package/dist/help/json/topics/inspect.duplicates.md +0 -37
- package/dist/help/json/topics/inspect.exports.md +0 -38
- package/dist/help/json/topics/inspect.file.md +0 -36
- package/dist/help/json/topics/inspect.graph.md +0 -137
- package/dist/help/json/topics/inspect.imports.md +0 -13
- package/dist/help/json/topics/inspect.md +0 -86
- package/dist/help/json/topics/inspect.members.md +0 -30
- package/dist/help/json/topics/inspect.tree.md +0 -22
- package/dist/help/json/topics/inspect.usages.md +0 -59
- package/dist/help/json/topics/modulePlan.md +0 -60
- package/dist/help/json/topics/move.md +0 -46
- package/dist/help/json/topics/mutation.md +0 -63
- package/dist/help/json/topics/patterns.md +0 -74
- package/dist/help/json/topics/prefs.md +0 -38
- package/dist/help/json/topics/qr.md +0 -35
- package/dist/help/json/topics/quick-map.md +0 -28
- package/dist/help/json/topics/refactor.batch.md +0 -61
- package/dist/help/json/topics/rename.md +0 -42
- package/dist/help/json/topics/reveal.md +0 -28
- package/dist/help/json/topics/selectors.md +0 -21
- package/dist/help/json/topics/session.md +0 -59
- package/dist/help/json/topics/view.md +0 -28
- package/dist/help/topics/mutation.md +0 -48
- 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 -1904
- 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
|
@@ -0,0 +1,742 @@
|
|
|
1
|
+
AIB
|
|
2
|
+
|
|
3
|
+
aib is a local CLI for TS/JS code work backed by IDE and TypeScript APIs.
|
|
4
|
+
It can inspect symbols, usages, dependencies, duplicates, focused code, and run IDE-backed mutations.
|
|
5
|
+
|
|
6
|
+
aib is designed for agent workflows:
|
|
7
|
+
batch requests, compact text output, session handles, and reusable artifacts.
|
|
8
|
+
|
|
9
|
+
Inline commands omit the aib prefix.
|
|
10
|
+
When you see:
|
|
11
|
+
session clear
|
|
12
|
+
|
|
13
|
+
Run:
|
|
14
|
+
aib session clear
|
|
15
|
+
|
|
16
|
+
Stdin examples show command and input separately to avoid shell-specific syntax.
|
|
17
|
+
Stdin Run lines include the aib prefix to avoid confusion.
|
|
18
|
+
|
|
19
|
+
Bash/Zsh:
|
|
20
|
+
aib <command> --stdin <<'EOF'
|
|
21
|
+
<input>
|
|
22
|
+
EOF
|
|
23
|
+
|
|
24
|
+
aib inspect --stdin <<'EOF'
|
|
25
|
+
tree . +onlyDirs limit=20
|
|
26
|
+
EOF
|
|
27
|
+
|
|
28
|
+
Basics
|
|
29
|
+
|
|
30
|
+
Use the active session while you work.
|
|
31
|
+
|
|
32
|
+
Examples are patterns, not limits.
|
|
33
|
+
Feature sections show common high-value uses, not every valid use.
|
|
34
|
+
Adapt requests to the task: combine features, batch related questions, and skip steps when you already have enough context.
|
|
35
|
+
|
|
36
|
+
Prefer batch DSL instead of one-off inline calls.
|
|
37
|
+
One request can inspect/mutate several files/entities and save reusable artifacts when supported.
|
|
38
|
+
Use one-off commands only for small checks/changes.
|
|
39
|
+
|
|
40
|
+
For mutations, aib asks TypeScript semantic refactors to update affected references and imports.
|
|
41
|
+
After a successful mutation, do not manually patch the same imports unless aib reports a follow-up or the build/checks show a real issue.
|
|
42
|
+
|
|
43
|
+
Working patterns
|
|
44
|
+
|
|
45
|
+
Use aib before broad file reads when the question is about TS/JS structure, references, dependencies, or focused code.
|
|
46
|
+
If output hides data and shows `view: aib:res_<id>`, use `aib view ...` to fetch only the hidden part instead of repeating the original request.
|
|
47
|
+
|
|
48
|
+
Compact output is a starting point, not a substitute for needed code.
|
|
49
|
+
Fetch exact code when correctness depends on implementation details.
|
|
50
|
+
|
|
51
|
+
Set the command timeout to 5 minutes for AIB requests.
|
|
52
|
+
|
|
53
|
+
If a mutation command times out or returns no final output, use:
|
|
54
|
+
|
|
55
|
+
aib execution status last
|
|
56
|
+
|
|
57
|
+
This is an escape hatch for recovering the latest mutation status/result.
|
|
58
|
+
|
|
59
|
+
After reading bootstrap for the first time in a repo, run:
|
|
60
|
+
|
|
61
|
+
aib config; aib help help-protocol recipes rules
|
|
62
|
+
|
|
63
|
+
Use the output as the repo-local AIB map:
|
|
64
|
+
- pathAliases show short paths to use in AIB requests;
|
|
65
|
+
- importRules show how move/modulePlan should create imports;
|
|
66
|
+
- importNormalize shows defaults for explicit imports normalize;
|
|
67
|
+
- excludes show which noise is intentionally hidden from tree/graph/sync.
|
|
68
|
+
|
|
69
|
+
If pathAliases are missing, stale, or weak for repeated paths, run:
|
|
70
|
+
aib help config-setup.aliases
|
|
71
|
+
|
|
72
|
+
If move/modulePlan imports do not match the repo style, run:
|
|
73
|
+
aib help config-setup.import-rules
|
|
74
|
+
|
|
75
|
+
If you are about to change import style across files, add or adopt tsconfig aliases, or clean imports repeatedly, run:
|
|
76
|
+
aib help config-setup.import-normalize imports.normalize
|
|
77
|
+
|
|
78
|
+
If tree/graph output includes known repo noise, run:
|
|
79
|
+
aib help config-setup.excludes
|
|
80
|
+
|
|
81
|
+
If sync or reveal shows too many visible TypeScript configs, run:
|
|
82
|
+
aib help config-setup.tsconfigs
|
|
83
|
+
|
|
84
|
+
Example aib.json config:
|
|
85
|
+
|
|
86
|
+
{
|
|
87
|
+
"pathAliases": {
|
|
88
|
+
"svc": "src/services",
|
|
89
|
+
"cli": "packages/cli/src"
|
|
90
|
+
},
|
|
91
|
+
"importRules": [
|
|
92
|
+
{
|
|
93
|
+
"scope": ".",
|
|
94
|
+
"specifier": "shortest",
|
|
95
|
+
"ending": "auto",
|
|
96
|
+
"builtin": "bare",
|
|
97
|
+
"unusedImports": "remove"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"importNormalize": [
|
|
101
|
+
{
|
|
102
|
+
"scope": "src",
|
|
103
|
+
"to": "shortestAlias",
|
|
104
|
+
"exclude": ["src/generated"]
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"inspect.graph.exclude": [
|
|
108
|
+
"**/* copy.ts"
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
pathAliases define short request aliases for paths agents repeat in aib commands.
|
|
113
|
+
Use them to reduce input tokens for repeated inspect and mutation work.
|
|
114
|
+
|
|
115
|
+
Aliases are for aib request paths. They do not change TypeScript imports by themselves.
|
|
116
|
+
For import style after mutations, use importRules.
|
|
117
|
+
|
|
118
|
+
importRules control imports created or expanded by move/modulePlan mutation cleanup.
|
|
119
|
+
They do not rewrite the whole project.
|
|
120
|
+
|
|
121
|
+
A non-empty importRules block in aib.json is the complete AIB import-style authority.
|
|
122
|
+
Omitted fields keep TypeScript/AIB defaults; they are not filled from editor settings.
|
|
123
|
+
When importRules is empty, AIB may reuse explicit workspace-local IDE/TS preferences.
|
|
124
|
+
|
|
125
|
+
Do not assume IDE/TS defaults match the repo style.
|
|
126
|
+
Set importRules before large move/modulePlan work so imports do not need manual cleanup.
|
|
127
|
+
|
|
128
|
+
importNormalize defines default rules for explicit aib imports normalize commands.
|
|
129
|
+
|
|
130
|
+
It does not run automatically during move/modulePlan; use importRules for mutation-time cleanup.
|
|
131
|
+
|
|
132
|
+
AIB has four config exclude fields:
|
|
133
|
+
inspect.graph.exclude
|
|
134
|
+
inspect.tree.files.exclude
|
|
135
|
+
inspect.tree.onlyDirs.exclude
|
|
136
|
+
sync.tsconfig.exclude
|
|
137
|
+
|
|
138
|
+
For all of them, node_modules, .git, dist, build, out, and .tmp are skipped by default.
|
|
139
|
+
|
|
140
|
+
Use config excludes for generated files, backups, local copies, nested workspaces, seed projects, or other repository-specific noise.
|
|
141
|
+
|
|
142
|
+
Graph excludes affect graph counts, hubs, entrypoints, leaves, edges, imports, importedBy, and saved graph files.
|
|
143
|
+
Tree excludes affect directory/file discovery output.
|
|
144
|
+
AIB syncs and watches visible tsconfigs.
|
|
145
|
+
sync.tsconfig.exclude affects which TypeScript configs AIB syncs and watches.
|
|
146
|
+
|
|
147
|
+
Session
|
|
148
|
+
|
|
149
|
+
Start by creating or selecting your session.
|
|
150
|
+
Create it once, then reuse it.
|
|
151
|
+
Do not create a new session for every command or subtask.
|
|
152
|
+
|
|
153
|
+
Session stores saved artifacts and aliases.
|
|
154
|
+
|
|
155
|
+
Prefer short session names:
|
|
156
|
+
aa, tr, qa, a2
|
|
157
|
+
|
|
158
|
+
Create:
|
|
159
|
+
session init --name <name>
|
|
160
|
+
|
|
161
|
+
Follow the command output.
|
|
162
|
+
If aib says multiple sessions exist, use the session you created explicitly:
|
|
163
|
+
aib -s <name> <command>
|
|
164
|
+
|
|
165
|
+
Or bind this shell:
|
|
166
|
+
AIB=<name>
|
|
167
|
+
|
|
168
|
+
If you want to prune session data, use:
|
|
169
|
+
session clear
|
|
170
|
+
|
|
171
|
+
After clear, keep using the same session.
|
|
172
|
+
|
|
173
|
+
Check:
|
|
174
|
+
session status
|
|
175
|
+
|
|
176
|
+
Reusable index handles look like:
|
|
177
|
+
`aib:graph:<name>` `aib:usages:<name>`
|
|
178
|
+
|
|
179
|
+
Pass index handles back to the matching inspect command with `--from-file` or `from` in DSL.
|
|
180
|
+
|
|
181
|
+
Selectors identify symbols when names are ambiguous.
|
|
182
|
+
Use plain names when they are unambiguous.
|
|
183
|
+
Use selectors when aib reports ambiguity or when different symbol kinds share a name.
|
|
184
|
+
|
|
185
|
+
Example:
|
|
186
|
+
type WsOptions
|
|
187
|
+
class WsOptions
|
|
188
|
+
|
|
189
|
+
If aib needs the exact entity, use:
|
|
190
|
+
t-WsOptions
|
|
191
|
+
c-WsOptions
|
|
192
|
+
|
|
193
|
+
Selectors list:
|
|
194
|
+
f-name function
|
|
195
|
+
c-Name class
|
|
196
|
+
i-Name interface
|
|
197
|
+
t-Name type
|
|
198
|
+
v-name variable
|
|
199
|
+
e-Name enum
|
|
200
|
+
ns-Name namespace
|
|
201
|
+
m-name method, usually with parent
|
|
202
|
+
p-name property, usually with parent
|
|
203
|
+
|
|
204
|
+
DSL request model:
|
|
205
|
+
- directives set defaults for following requests
|
|
206
|
+
- each request line can override defaults with key=value
|
|
207
|
+
- +flag means true
|
|
208
|
+
- -flag means false
|
|
209
|
+
- file/imports/exports/members/code/deps accept a path as the first positional argument; examples below use this shape.
|
|
210
|
+
- Use @file when several following operations share the same file.
|
|
211
|
+
- For one-off file operations, pass the path directly.
|
|
212
|
+
|
|
213
|
+
Syntax:
|
|
214
|
+
@file <path> default file
|
|
215
|
+
@source <path> default sourceFile for mutations
|
|
216
|
+
@base <dir> default base dir for file mutations
|
|
217
|
+
op arg arg key=value request
|
|
218
|
+
+flag boolean true
|
|
219
|
+
-flag boolean false
|
|
220
|
+
>name save reusable artifact when supported
|
|
221
|
+
old->new rename pair
|
|
222
|
+
Parent.member parent-qualified member
|
|
223
|
+
Parent.{a,b} several members under one parent
|
|
224
|
+
key=[a,b] list value for repeatable fields
|
|
225
|
+
file="path with spaces.ts" quote values with spaces
|
|
226
|
+
detail=sum|loc|code aliases for summary|locations|code
|
|
227
|
+
from=... alias for fromFile
|
|
228
|
+
|
|
229
|
+
Inspect
|
|
230
|
+
|
|
231
|
+
Inspect helps you turn an unknown code area into a small working model.
|
|
232
|
+
|
|
233
|
+
Use it to understand what exists, how pieces connect, what repeats, where a change can spread, and which exact code should enter context next.
|
|
234
|
+
|
|
235
|
+
One useful flow:
|
|
236
|
+
map -> focus -> code
|
|
237
|
+
|
|
238
|
+
map: learn what exists and how it connects
|
|
239
|
+
focus: choose files/entities/usages that matter
|
|
240
|
+
code: fetch exact code needed
|
|
241
|
+
|
|
242
|
+
Choose inspect operation:
|
|
243
|
+
|
|
244
|
+
declarations in one file file
|
|
245
|
+
static/dynamic imports imports
|
|
246
|
+
public API exports
|
|
247
|
+
methods/properties of parent members
|
|
248
|
+
exact implementation code
|
|
249
|
+
outgoing deps of one entity deps
|
|
250
|
+
incoming references/callers usages
|
|
251
|
+
file/module connectivity graph
|
|
252
|
+
compact directory layout tree
|
|
253
|
+
path alias candidates aliasCandidates
|
|
254
|
+
repeated declarations/helpers duplicates
|
|
255
|
+
local import cycles cycles
|
|
256
|
+
|
|
257
|
+
Cycles are available but not expanded in bootstrap:
|
|
258
|
+
aib help inspect.cycles
|
|
259
|
+
|
|
260
|
+
Prefer one batch DSL request for related questions.
|
|
261
|
+
|
|
262
|
+
Batch example:
|
|
263
|
+
|
|
264
|
+
Run:
|
|
265
|
+
aib inspect --stdin
|
|
266
|
+
|
|
267
|
+
Input:
|
|
268
|
+
@file @svc/service.ts
|
|
269
|
+
file
|
|
270
|
+
file @svc/serviceB.ts
|
|
271
|
+
members Service
|
|
272
|
+
code entities=[Service.{render,reset},normalize,default,IIFE#1]
|
|
273
|
+
code @svc/serviceC.ts ServiceC -ranges
|
|
274
|
+
usages target=@svc/service.ts normalize scope=src detail=loc
|
|
275
|
+
duplicates scope=src/scripts detail=sum limit=20
|
|
276
|
+
|
|
277
|
+
How inheritance works above:
|
|
278
|
+
@file sets the default file for following file-like inspect requests.
|
|
279
|
+
file uses @svc/service.ts.
|
|
280
|
+
file @svc/serviceB.ts overrides the default for that one request.
|
|
281
|
+
members Service uses @svc/service.ts because it has no file override.
|
|
282
|
+
code entities=[...] also uses @svc/service.ts.
|
|
283
|
+
code @svc/serviceC.ts ServiceC overrides the file and disables ranges for that request.
|
|
284
|
+
usages sets its own target/scope/detail because it searches references instead of reading the default file.
|
|
285
|
+
duplicates sets its own scope because it scans a directory.
|
|
286
|
+
|
|
287
|
+
Inspect request fields:
|
|
288
|
+
|
|
289
|
+
file source file; first positional path, @file path, or file=path
|
|
290
|
+
target file or directory to analyze; target=path
|
|
291
|
+
scope where to search; scope=path or scope=[a,b]
|
|
292
|
+
entity one symbol selector; entity=name or positional selector
|
|
293
|
+
entities several symbol selectors; entities=[...] or positional selectors
|
|
294
|
+
parent parent class/interface for methods/properties; Parent.member or parent=Name
|
|
295
|
+
ranges include line/range metadata
|
|
296
|
+
exclude skip paths or names depending on operation; exclude=[...]
|
|
297
|
+
detail output level; detail=sum|loc|code
|
|
298
|
+
all return all items; +all
|
|
299
|
+
limit max items in one page; limit=N
|
|
300
|
+
offset page offset; offset=N
|
|
301
|
+
save save reusable artifact where supported; >name
|
|
302
|
+
|
|
303
|
+
Operation sections list their supported controls.
|
|
304
|
+
Specific explains controls whose meaning is local to that operation.
|
|
305
|
+
|
|
306
|
+
Inspect File
|
|
307
|
+
|
|
308
|
+
Use file to map top-level declarations physically present in one file.
|
|
309
|
+
Exported declarations are marked in the output.
|
|
310
|
+
It shows what lives in the file before you decide whether to read code.
|
|
311
|
+
|
|
312
|
+
Good for:
|
|
313
|
+
- mapping a file
|
|
314
|
+
- listing top-level declarations
|
|
315
|
+
- seeing default exports, decorators, IIFEs, and runtime calls
|
|
316
|
+
- checking whether a file contains real declarations or mostly re-exports
|
|
317
|
+
|
|
318
|
+
Run:
|
|
319
|
+
aib inspect --stdin
|
|
320
|
+
|
|
321
|
+
Input:
|
|
322
|
+
file @svc/service.ts
|
|
323
|
+
file src/index.ts
|
|
324
|
+
|
|
325
|
+
Inspect Imports
|
|
326
|
+
|
|
327
|
+
Use imports to inspect static and dynamic imports in a file.
|
|
328
|
+
If there are no dynamic imports, the dynamic imports block is omitted.
|
|
329
|
+
|
|
330
|
+
Controls:
|
|
331
|
+
file, ranges
|
|
332
|
+
|
|
333
|
+
Defaults: +ranges
|
|
334
|
+
|
|
335
|
+
Run:
|
|
336
|
+
aib inspect --stdin
|
|
337
|
+
|
|
338
|
+
Input:
|
|
339
|
+
imports @svc/service.ts
|
|
340
|
+
|
|
341
|
+
Inspect Exports
|
|
342
|
+
|
|
343
|
+
Use exports to see the public API of one file.
|
|
344
|
+
It answers what other files can import from that file.
|
|
345
|
+
|
|
346
|
+
Important:
|
|
347
|
+
inspect.file marks exported declarations already.
|
|
348
|
+
|
|
349
|
+
Do not batch this for a plain implementation file:
|
|
350
|
+
file src/service.ts
|
|
351
|
+
exports src/service.ts
|
|
352
|
+
|
|
353
|
+
Use exports when you need public module surface, barrels, re-exports, export *, or resolveStar.
|
|
354
|
+
|
|
355
|
+
Good for:
|
|
356
|
+
- checking a module boundary or public surface
|
|
357
|
+
- understanding facade/barrel files
|
|
358
|
+
- resolving export * when the local file only re-exports from elsewhere
|
|
359
|
+
- comparing API shape when public imports matter
|
|
360
|
+
|
|
361
|
+
Controls:
|
|
362
|
+
file, ranges, resolveStar
|
|
363
|
+
|
|
364
|
+
Specific:
|
|
365
|
+
resolveStar resolve export * through re-exported modules; +resolveStar
|
|
366
|
+
|
|
367
|
+
Run:
|
|
368
|
+
aib inspect --stdin
|
|
369
|
+
|
|
370
|
+
Input:
|
|
371
|
+
exports src/service.ts +ranges
|
|
372
|
+
exports src/index.ts +resolveStar
|
|
373
|
+
|
|
374
|
+
inspect exports src/service.ts [--ranges] [--resolve-star]
|
|
375
|
+
|
|
376
|
+
Inspect Members
|
|
377
|
+
|
|
378
|
+
Use members to map a class/interface/object-like symbol without reading its body.
|
|
379
|
+
It shows the internal shape of a parent entity without reading its full body.
|
|
380
|
+
|
|
381
|
+
Good for:
|
|
382
|
+
- listing member names when the parent entity is known
|
|
383
|
+
- narrowing a large parent entity to relevant members
|
|
384
|
+
- understanding object shape before changing or moving related code
|
|
385
|
+
|
|
386
|
+
Controls:
|
|
387
|
+
file, entity, entities, ranges, limit, offset, all
|
|
388
|
+
|
|
389
|
+
Run:
|
|
390
|
+
aib inspect --stdin
|
|
391
|
+
|
|
392
|
+
Input:
|
|
393
|
+
members @svc/service.ts entities=[Service,ServiceOptions] +all +ranges
|
|
394
|
+
|
|
395
|
+
inspect members src/service.ts Service [--limit N] [--offset N] [--all] [--ranges]
|
|
396
|
+
|
|
397
|
+
Inspect Code
|
|
398
|
+
|
|
399
|
+
Use code when you know file path and declaration/member selector, but do not know ranges.
|
|
400
|
+
|
|
401
|
+
Run:
|
|
402
|
+
aib inspect --stdin
|
|
403
|
+
|
|
404
|
+
Input:
|
|
405
|
+
code @svc/service.ts Service.{render,reset} normalize
|
|
406
|
+
code @svc/serviceB.ts ServiceB.{constructor} default
|
|
407
|
+
|
|
408
|
+
Inspect Deps
|
|
409
|
+
|
|
410
|
+
Use deps to see what one entity depends on inside its file.
|
|
411
|
+
It separates type-only dependencies from runtime value dependencies.
|
|
412
|
+
|
|
413
|
+
Good for:
|
|
414
|
+
- checking what a symbol may need when moved or extracted
|
|
415
|
+
- spotting nearby types, constants, or helpers tied to one entity
|
|
416
|
+
- deciding whether one symbol is standalone or tied to nearby declarations
|
|
417
|
+
- debugging mutation failures caused by local dependency shape
|
|
418
|
+
|
|
419
|
+
Controls:
|
|
420
|
+
file, entity, entities, parent
|
|
421
|
+
|
|
422
|
+
Run:
|
|
423
|
+
aib inspect --stdin
|
|
424
|
+
|
|
425
|
+
Input:
|
|
426
|
+
deps @svc/service.ts entities=[createService,normalize,Service.{render,reset}]
|
|
427
|
+
deps @svc/serviceB.ts ServiceB.{constructor} getConfig
|
|
428
|
+
|
|
429
|
+
Inspect Usages
|
|
430
|
+
|
|
431
|
+
Use usages to find who references a file, directory, or entity inside a scope.
|
|
432
|
+
It reports real references, not unused imports or text matches.
|
|
433
|
+
For broad impact checks, target-local usages are hidden automatically when the target is inside a wider scope.
|
|
434
|
+
Use includeTarget only when references inside the target file or directory matter.
|
|
435
|
+
|
|
436
|
+
Good for:
|
|
437
|
+
- checking impact before changing behavior
|
|
438
|
+
- finding consumers of an entity or module area
|
|
439
|
+
- confirming whether extracted or renamed code still has callers
|
|
440
|
+
- getting caller locations or caller code without broad file scans
|
|
441
|
+
|
|
442
|
+
Use detail=code directly when you already need caller code.
|
|
443
|
+
Use detail=loc + save when the first question is impact shape and you may expand only part of it later.
|
|
444
|
+
|
|
445
|
+
Controls:
|
|
446
|
+
target, scope, entity, entities, parent, detail, limit, all, save, includeTarget
|
|
447
|
+
|
|
448
|
+
Specific:
|
|
449
|
+
includeTarget include references inside the target file/directory; +includeTarget
|
|
450
|
+
|
|
451
|
+
Run:
|
|
452
|
+
aib inspect --stdin
|
|
453
|
+
|
|
454
|
+
Input:
|
|
455
|
+
usages target=@svc/service.ts entities=[createService,normalize,Service.{render,reset}] scope=[src/app,src/tests] detail=loc >service-usages
|
|
456
|
+
|
|
457
|
+
Expand saved usages when needed:
|
|
458
|
+
inspect usages --from-file aib:usages:service-usages --focus createService --detail code --limit 20
|
|
459
|
+
|
|
460
|
+
Inspect Graph
|
|
461
|
+
|
|
462
|
+
Graph is a strong tool for file/module connectivity.
|
|
463
|
+
Use it when the question is about boundaries, ownership, hubs, entrypoints, or how files relate through imports.
|
|
464
|
+
Do not use graph for one symbol; use deps/usages instead.
|
|
465
|
+
|
|
466
|
+
Focused topic:
|
|
467
|
+
aib help inspect.graph
|
|
468
|
+
|
|
469
|
+
Inspect Tree
|
|
470
|
+
|
|
471
|
+
Use tree to list a compact directory layout.
|
|
472
|
+
It is useful before focused inspect when you know the area but not the exact file.
|
|
473
|
+
|
|
474
|
+
Controls:
|
|
475
|
+
scope, depth, minDepth, limit, only, exclude, onlyDirs, ned, nec
|
|
476
|
+
|
|
477
|
+
Specific:
|
|
478
|
+
depth max nesting depth; depth=N
|
|
479
|
+
minDepth hide shallower paths; minDepth=N
|
|
480
|
+
onlyDirs show directories only; +onlyDirs
|
|
481
|
+
only keep only matching files/dirs; only=[...]
|
|
482
|
+
exclude skip matching files/dirs; exclude=[...]
|
|
483
|
+
ned no-default-exclude; show paths hidden by built-in excludes; +ned
|
|
484
|
+
nec no-config-exclude; ignore inspect.tree.*.exclude from aib.json; +nec
|
|
485
|
+
|
|
486
|
+
Run:
|
|
487
|
+
aib inspect --stdin
|
|
488
|
+
|
|
489
|
+
Input:
|
|
490
|
+
tree src depth=4 +onlyDirs limit=200 +ned +nec
|
|
491
|
+
tree @svc depth=3 only=["**/*.ts"] exclude=["**/*.test.ts","**/* copy.ts"]
|
|
492
|
+
tree src depth=3 only=["src/services/**"] limit=80
|
|
493
|
+
|
|
494
|
+
Inspect Duplicates
|
|
495
|
+
|
|
496
|
+
Use duplicates to find repeated top-level names and exact declaration copies.
|
|
497
|
+
|
|
498
|
+
Focused topic:
|
|
499
|
+
aib help inspect.duplicates
|
|
500
|
+
|
|
501
|
+
Mutation
|
|
502
|
+
|
|
503
|
+
Mutation commands change code and files through TS/IDE-backed operations.
|
|
504
|
+
Successful mutations update affected references and imports.
|
|
505
|
+
|
|
506
|
+
Semantic mutations change TypeScript symbols/declarations.
|
|
507
|
+
File mutations change file layout.
|
|
508
|
+
|
|
509
|
+
After a successful mutation, do not manually patch the same imports unless aib reports a follow-up or checks show a real issue.
|
|
510
|
+
|
|
511
|
+
If mutation imports do not match the repo style, run:
|
|
512
|
+
aib help config-setup.import-rules
|
|
513
|
+
|
|
514
|
+
AIB mutations are designed to reduce manual checking.
|
|
515
|
+
Your job is to express the intent in DSL.
|
|
516
|
+
AIB's job is to convert that intent into code changes.
|
|
517
|
+
|
|
518
|
+
The DSL inside the request describes the intent:
|
|
519
|
+
rename rename TypeScript symbols
|
|
520
|
+
move move TypeScript declarations into target files
|
|
521
|
+
moveToDir move whole files into directories
|
|
522
|
+
renameFile rename whole files
|
|
523
|
+
module full-file split: move all declarations from one source into target modules
|
|
524
|
+
|
|
525
|
+
Mix rename, move, moveToDir, and renameFile when they belong to the same workflow.
|
|
526
|
+
Run module splits as a separate mutate request.
|
|
527
|
+
|
|
528
|
+
Do not read all changed files just because a mutation touched them.
|
|
529
|
+
That defeats the purpose of using AIB for mechanical refactors.
|
|
530
|
+
|
|
531
|
+
When the command completes, use its output as the source of truth for what changed and what remains.
|
|
532
|
+
After failure or partial success, use the output to decide the next request.
|
|
533
|
+
|
|
534
|
+
Set the command timeout to 5 minutes for AIB requests.
|
|
535
|
+
If the harness stops waiting before final output appears, recover with:
|
|
536
|
+
|
|
537
|
+
aib execution status last
|
|
538
|
+
|
|
539
|
+
Modes:
|
|
540
|
+
preview review DSL intent, then apply by id
|
|
541
|
+
apply execute from preview
|
|
542
|
+
execute execute immediately
|
|
543
|
+
|
|
544
|
+
Use preview/apply when you are learning a mutation command.
|
|
545
|
+
Use execute for routine requests.
|
|
546
|
+
|
|
547
|
+
preview/apply uses more tool calls and more output tokens.
|
|
548
|
+
preview checks the DSL intent; execute/apply writes files and can still hit mutation errors.
|
|
549
|
+
execute writes immediately and reports what changed.
|
|
550
|
+
|
|
551
|
+
Prefer one mutate DSL request for related changes.
|
|
552
|
+
For mixable operations, batch the ordered workflow instead of sending one command per symbol or file.
|
|
553
|
+
|
|
554
|
+
If a mutation cannot be fully completed, aib reports what failed, what was applied, and what did not run.
|
|
555
|
+
Fix wrong input before retrying; do not repeat provider/manual-extraction failures unchanged.
|
|
556
|
+
|
|
557
|
+
Rename
|
|
558
|
+
|
|
559
|
+
Rename is for semantic symbol renames.
|
|
560
|
+
It follows TypeScript references.
|
|
561
|
+
It is not plain-text replacement.
|
|
562
|
+
|
|
563
|
+
Run:
|
|
564
|
+
aib mutate execute --stdin
|
|
565
|
+
|
|
566
|
+
Input:
|
|
567
|
+
@source src/service.ts
|
|
568
|
+
rename oldName->newName OldService->NewService
|
|
569
|
+
|
|
570
|
+
Move
|
|
571
|
+
|
|
572
|
+
Move transfers declarations from one source file to target files.
|
|
573
|
+
Move is semantic; it moves supported declarations and updates affected imports/references.
|
|
574
|
+
Use move as the default operation for moving declarations, including multi-target extractions.
|
|
575
|
+
|
|
576
|
+
If imports created by move do not match the repo style, run:
|
|
577
|
+
aib help config-setup.import-rules
|
|
578
|
+
|
|
579
|
+
Run:
|
|
580
|
+
aib mutate execute --stdin
|
|
581
|
+
|
|
582
|
+
Input:
|
|
583
|
+
@source src/service.ts
|
|
584
|
+
move src/service.helpers.ts: oldHelper OtherHelper
|
|
585
|
+
move src/service.types.ts: ServiceOptions
|
|
586
|
+
|
|
587
|
+
Module Plan
|
|
588
|
+
|
|
589
|
+
Use module only for a full-file split: moving all declarations from one source file into target modules.
|
|
590
|
+
|
|
591
|
+
Focused topic:
|
|
592
|
+
aib help modulePlan
|
|
593
|
+
|
|
594
|
+
Mixed Mutation
|
|
595
|
+
|
|
596
|
+
Use one mutate request for one ordered workflow.
|
|
597
|
+
Mix rename, move, moveToDir, and renameFile when they belong to the same workflow.
|
|
598
|
+
Order lines the way the workflow should run.
|
|
599
|
+
Do not include module lines in mixed requests.
|
|
600
|
+
|
|
601
|
+
Run:
|
|
602
|
+
aib mutate execute --stdin
|
|
603
|
+
|
|
604
|
+
Input:
|
|
605
|
+
@source src/service.ts
|
|
606
|
+
rename oldHelper->newHelper AUser->AdminUser
|
|
607
|
+
move src/service.helpers.ts: newHelper
|
|
608
|
+
move src/service.types.ts: AdminUser
|
|
609
|
+
|
|
610
|
+
@base src/main
|
|
611
|
+
moveToDir facade: ../services/fileA.ts fileB.ts
|
|
612
|
+
moveToDir ../core/services: fileC.ts classes/main/fileD.ts
|
|
613
|
+
|
|
614
|
+
@base src
|
|
615
|
+
renameFile svc/ws-cli.ts->cli.ts svc/ws-command.ts->command.ts
|
|
616
|
+
|
|
617
|
+
File Layout
|
|
618
|
+
|
|
619
|
+
Use moveToDir and renameFile when the filesystem layout is the intent.
|
|
620
|
+
Do not change filesystem layout manually.
|
|
621
|
+
|
|
622
|
+
Focused topics:
|
|
623
|
+
aib help moveToDir renameFile
|
|
624
|
+
|
|
625
|
+
Layout smell trigger:
|
|
626
|
+
If a directory has many related files sharing a prefix, mixed responsibilities, or files that should be grouped by feature, read:
|
|
627
|
+
aib help recipe.file-layout
|
|
628
|
+
|
|
629
|
+
Imports Normalize
|
|
630
|
+
|
|
631
|
+
Use imports normalize for explicit import-style cleanup.
|
|
632
|
+
|
|
633
|
+
Focused topic:
|
|
634
|
+
aib help imports.normalize
|
|
635
|
+
|
|
636
|
+
Import Boundaries
|
|
637
|
+
|
|
638
|
+
When you create a barrel/index file and want consumers to import through it,
|
|
639
|
+
or when consumers import through a barrel but should use direct source imports, read:
|
|
640
|
+
|
|
641
|
+
aib help recipe.import-boundary
|
|
642
|
+
|
|
643
|
+
JS/TS compatibility
|
|
644
|
+
|
|
645
|
+
With tsconfig:
|
|
646
|
+
TS/TSX inspect + mutate rename/move/module
|
|
647
|
+
JS/MJS/JSX ESM inspect + mutate rename/move/module
|
|
648
|
+
CJS / JS CommonJS inspect + mutate rename
|
|
649
|
+
|
|
650
|
+
Without tsconfig:
|
|
651
|
+
JS/MJS/JSX/CJS inspect only
|
|
652
|
+
mutate rename/move/module require tsconfig
|
|
653
|
+
|
|
654
|
+
CommonJS means .cjs or module.exports / exports.*.
|
|
655
|
+
|
|
656
|
+
View Hidden Output
|
|
657
|
+
|
|
658
|
+
AIB keeps large outputs compact.
|
|
659
|
+
When part of a result is hidden, output may include:
|
|
660
|
+
|
|
661
|
+
view: aib:res_<id>
|
|
662
|
+
|
|
663
|
+
Use view to fetch the hidden part without repeating what you already saw.
|
|
664
|
+
|
|
665
|
+
When a batch has several hidden results of the same kind, output may include:
|
|
666
|
+
|
|
667
|
+
view all code: aib:res_<id>
|
|
668
|
+
view all members: aib:res_<id>
|
|
669
|
+
|
|
670
|
+
A `view all` handle covers hidden parts from all results of that kind.
|
|
671
|
+
|
|
672
|
+
For code views, narrow what you fetch:
|
|
673
|
+
only show only these hidden code entities
|
|
674
|
+
except show all hidden code except these entities
|
|
675
|
+
|
|
676
|
+
Run:
|
|
677
|
+
aib view --stdin
|
|
678
|
+
|
|
679
|
+
Input:
|
|
680
|
+
view aib:res_<id_1> only=[ClassA.{bigA,bigB},bigQ,ClassB.bigB]
|
|
681
|
+
view aib:res_<id_2> except=[ClassC.bigC]
|
|
682
|
+
|
|
683
|
+
Inline:
|
|
684
|
+
aib view aib:res_<id_1> --only bigQ --only "ClassA.{bigA,bigB}"
|
|
685
|
+
aib view aib:res_<id_2> --except ClassB.bigB --except ClassC.bigC
|
|
686
|
+
|
|
687
|
+
Quick Read
|
|
688
|
+
|
|
689
|
+
Use qr for cross-OS quick reads of text files: ts, js, cmd, sh, json, log, txt, ndjson, etc.
|
|
690
|
+
Use it for compact line windows and batching.
|
|
691
|
+
qr supports AIB path aliases.
|
|
692
|
+
|
|
693
|
+
It is not a replacement for aib inspect in TS/JS cases.
|
|
694
|
+
Use it as a token-efficient way to read text data when semantic inspect is not needed.
|
|
695
|
+
|
|
696
|
+
For focused text reads, prefer qr over cat/Get-Content/type, especially when aliases, line windows, or batching help.
|
|
697
|
+
Use shell reads only when piping into shell tooling or qr is unavailable.
|
|
698
|
+
|
|
699
|
+
Controls:
|
|
700
|
+
h=N head; first N lines
|
|
701
|
+
t=N tail; last N lines
|
|
702
|
+
r=A:B,C:D,E ranges; A with next B lines, C with next D lines, E with default 80 lines
|
|
703
|
+
s=A:B,C:D,E slices; inclusive A through B, C through D, and line E
|
|
704
|
+
all whole file
|
|
705
|
+
|
|
706
|
+
If no window is provided, qr uses h=80.
|
|
707
|
+
If all is present, it reads the whole file.
|
|
708
|
+
Avoid `all` for files whose size/content is unknown; it can dump unnecessary context.
|
|
709
|
+
Overlapping windows are merged.
|
|
710
|
+
|
|
711
|
+
Use s= when copying ranges from inspect file.
|
|
712
|
+
Combine windows for the same file instead of repeating the path.
|
|
713
|
+
|
|
714
|
+
Inline:
|
|
715
|
+
aib qr @svc/users.ts s=3:42,66:84,92 @scripts/a.txt h=80 @scripts/b.py r=300:50,500 .prettierrc all
|
|
716
|
+
|
|
717
|
+
aib rg
|
|
718
|
+
|
|
719
|
+
Run ripgrep through AIB.
|
|
720
|
+
|
|
721
|
+
Regular rg:
|
|
722
|
+
rg <args>
|
|
723
|
+
|
|
724
|
+
AIB rg:
|
|
725
|
+
aib rg -- <args>
|
|
726
|
+
|
|
727
|
+
Everything after `--` is passed as normal ripgrep arguments.
|
|
728
|
+
Use the same args you would pass to `rg`.
|
|
729
|
+
Use normal paths in input. Do not use AIB path aliases here.
|
|
730
|
+
|
|
731
|
+
Examples:
|
|
732
|
+
rg -n "TODO" src/core
|
|
733
|
+
aib rg -- -n "TODO" src/core
|
|
734
|
+
|
|
735
|
+
rg -n --column "SomeValue" ws/commands ws/config
|
|
736
|
+
aib rg -- -n --column "SomeValue" ws/commands ws/config
|
|
737
|
+
|
|
738
|
+
Need to see TypeScript configs in the repo:
|
|
739
|
+
aib reveal tsconfigs
|
|
740
|
+
|
|
741
|
+
Need to see TypeScript aliases across the repo:
|
|
742
|
+
aib reveal tsaliases
|