@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.
Files changed (586) hide show
  1. package/README.md +36 -257
  2. package/config/agent-dx-policy.default.json +31 -0
  3. package/config/control-plane-client.default.json +3 -0
  4. package/dist/agent-dx/agent-dx.js +805 -0
  5. package/dist/agent-dx/presentation.js +32 -0
  6. package/dist/alias-advisor/analyze.js +982 -0
  7. package/dist/alias-advisor/exact-text-cost.js +74 -0
  8. package/dist/alias-advisor/lexical.js +240 -0
  9. package/dist/alias-advisor/model.js +2 -0
  10. package/dist/alias-advisor/path-identity.js +49 -0
  11. package/dist/alias-advisor/ranking.js +171 -0
  12. package/dist/alias-advisor/token-estimator.js +85 -0
  13. package/dist/bin/aib.js +5 -1
  14. package/dist/bin/cli.js +811 -2
  15. package/dist/commands/add-missing-imports-preview-cache.js +99 -2
  16. package/dist/commands/add-missing-imports.js +241 -2
  17. package/dist/commands/apply-module-plan.js +1319 -3
  18. package/dist/commands/background-command.js +378 -0
  19. package/dist/commands/captured-input.js +74 -2
  20. package/dist/commands/config-command.js +314 -2
  21. package/dist/commands/config-output.js +357 -10
  22. package/dist/commands/control-plane-command.js +183 -0
  23. package/dist/commands/declaration-command.js +1209 -0
  24. package/dist/commands/declaration-execution-cache.js +79 -0
  25. package/dist/commands/declaration-format.js +221 -0
  26. package/dist/commands/declaration-preview-cache.js +114 -0
  27. package/dist/commands/diagnostics-command.js +70 -3
  28. package/dist/commands/doctor.js +137 -2
  29. package/dist/commands/execution-command.js +117 -1
  30. package/dist/commands/exports-star-collapse-command.js +178 -0
  31. package/dist/commands/exports-star-command.js +252 -0
  32. package/dist/commands/exports-star-preview-cache.js +84 -0
  33. package/dist/commands/feedback-command.js +176 -3
  34. package/dist/commands/file-move-to-dir-execution-cache.js +92 -0
  35. package/dist/commands/file-move-to-dir-preview-cache.js +125 -0
  36. package/dist/commands/file-move-to-dir-worker.js +54 -0
  37. package/dist/commands/file-move-to-dir.js +1073 -0
  38. package/dist/commands/file-mutation-runtime.js +102 -0
  39. package/dist/commands/file-mutation-worker-apply.js +180 -0
  40. package/dist/commands/file-refactor-batch-execution-cache.js +90 -0
  41. package/dist/commands/file-refactor-batch-preview-cache.js +125 -0
  42. package/dist/commands/file-refactor-batch-worker.js +54 -0
  43. package/dist/commands/file-refactor-batch.js +1154 -0
  44. package/dist/commands/file-rename-execution-cache.js +92 -0
  45. package/dist/commands/file-rename-preview-cache.js +125 -0
  46. package/dist/commands/file-rename-worker.js +54 -0
  47. package/dist/commands/file-rename.js +1053 -0
  48. package/dist/commands/file-text-edit-executor.js +205 -0
  49. package/dist/commands/find-importers.js +52 -1
  50. package/dist/commands/find-unused-imports.js +55 -1
  51. package/dist/commands/generate-docs-command.js +244 -6
  52. package/dist/commands/help-command.js +460 -7
  53. package/dist/commands/import-specifier-policy.js +391 -0
  54. package/dist/commands/imports-command.js +68 -1
  55. package/dist/commands/imports-rebase.js +1138 -0
  56. package/dist/commands/init-skill-usage.js +92 -3
  57. package/dist/commands/init-workspace.js +30 -1
  58. package/dist/commands/inspect-alias-candidates.js +413 -0
  59. package/dist/commands/inspect-cycles.js +811 -5
  60. package/dist/commands/inspect-direct-usages.js +98 -0
  61. package/dist/commands/inspect-duplicates-format.js +229 -0
  62. package/dist/commands/inspect-format-primitives.js +127 -0
  63. package/dist/commands/inspect-format.js +1590 -18
  64. package/dist/commands/inspect-graph.js +1553 -9
  65. package/dist/commands/inspect-imports.js +339 -2
  66. package/dist/commands/inspect-mixed-format.js +524 -0
  67. package/dist/commands/inspect-module-plan-format.js +216 -0
  68. package/dist/commands/inspect-module-plan-serialization.js +402 -0
  69. package/dist/commands/inspect-reference-path-format.js +157 -0
  70. package/dist/commands/inspect-request-values.js +599 -0
  71. package/dist/commands/inspect-selector-kind.js +21 -0
  72. package/dist/commands/inspect-selector.js +50 -0
  73. package/dist/commands/inspect-symbol-format.js +90 -0
  74. package/dist/commands/inspect-topology.js +435 -0
  75. package/dist/commands/inspect-tree.js +827 -5
  76. package/dist/commands/inspect-usages-detail.js +793 -0
  77. package/dist/commands/inspect-usages-evidence.js +31 -0
  78. package/dist/commands/inspect-usages-format.js +367 -0
  79. package/dist/commands/inspect.js +1450 -16
  80. package/dist/commands/internal-command.js +64 -0
  81. package/dist/commands/json-file-input.js +60 -1
  82. package/dist/commands/module-plan-cache.js +156 -2
  83. package/dist/commands/module-plan-standalone.js +208 -0
  84. package/dist/commands/module-plan-timeout.js +77 -1
  85. package/dist/commands/move-preview-cache.js +101 -2
  86. package/dist/commands/mutate-aggregate-output.js +996 -0
  87. package/dist/commands/mutate-child-execution.js +374 -0
  88. package/dist/commands/mutate-command.js +1394 -0
  89. package/dist/commands/mutate-declaration-output.js +313 -0
  90. package/dist/commands/mutate-domain-adapters.js +638 -0
  91. package/dist/commands/mutate-execution-cache.js +114 -0
  92. package/dist/commands/mutate-execution-status.js +598 -0
  93. package/dist/commands/mutate-failure-output.js +531 -0
  94. package/dist/commands/mutate-file-view.js +151 -0
  95. package/dist/commands/mutate-object-output.js +91 -0
  96. package/dist/commands/mutate-output-values.js +97 -0
  97. package/dist/commands/mutate-preview-cache.js +86 -0
  98. package/dist/commands/mutate-response-replay.js +153 -0
  99. package/dist/commands/mutate-result-projection.js +818 -0
  100. package/dist/commands/mutation-eta.js +28 -0
  101. package/dist/commands/mutation-execution-cache.js +140 -3
  102. package/dist/commands/mutation-recovery-journal.js +195 -0
  103. package/dist/commands/normalize-imports.js +1120 -4
  104. package/dist/commands/object-pack-command.js +546 -0
  105. package/dist/commands/object-pack-preview-cache.js +88 -0
  106. package/dist/commands/observability-command.js +47 -3
  107. package/dist/commands/ota-command.js +403 -0
  108. package/dist/commands/print-config.js +10 -1
  109. package/dist/commands/quick-read.js +1113 -11
  110. package/dist/commands/refactor-batch-builder.js +265 -1
  111. package/dist/commands/refactor-batch-execution-cache.js +85 -1
  112. package/dist/commands/refactor-batch-preview-cache.js +96 -2
  113. package/dist/commands/refactor-batch.js +461 -4
  114. package/dist/commands/rename-entities.js +794 -4
  115. package/dist/commands/rename-execution-cache.js +49 -1
  116. package/dist/commands/rename-input.js +22 -1
  117. package/dist/commands/rename-polling-policy.js +68 -0
  118. package/dist/commands/rename-preview-cache.js +96 -2
  119. package/dist/commands/result-view.js +993 -6
  120. package/dist/commands/reveal-command.js +445 -5
  121. package/dist/commands/selector-suggestions.js +93 -0
  122. package/dist/commands/session-workspace.js +1836 -31
  123. package/dist/commands/shared.js +2 -1
  124. package/dist/commands/skills-command.js +315 -0
  125. package/dist/commands/sync-command.js +59 -2
  126. package/dist/commands/worker-command.js +173 -0
  127. package/dist/commands/workspace-cache.js +55 -1
  128. package/dist/config/defaults.js +26 -1
  129. package/dist/config/env-vars.js +77 -1
  130. package/dist/config/glob-match.js +44 -1
  131. package/dist/config/import-rules.js +165 -1
  132. package/dist/config/local-config.js +293 -3
  133. package/dist/config/mutation-comments.js +51 -1
  134. package/dist/config/path-aliases.js +165 -1
  135. package/dist/config/path-display.js +84 -1
  136. package/dist/config/product-storage.js +37 -1
  137. package/dist/config/request-env.js +21 -0
  138. package/dist/config/request-routing-context.js +23 -0
  139. package/dist/config/resolve-command-alias.js +74 -1
  140. package/dist/config/resolve.js +24 -1
  141. package/dist/config/tsconfig-discovery.js +113 -1
  142. package/dist/config/typescript-preferences.js +131 -0
  143. package/dist/config/workspace-root.js +310 -3
  144. package/dist/config/workspace-state.js +254 -1
  145. package/dist/content/content-bundle.js +88 -1
  146. package/dist/diagnostics/module-plan-timeline.js +75 -2
  147. package/dist/diagnostics/readiness-text.js +45 -8
  148. package/dist/dsl/aib-dsl.js +838 -1
  149. package/dist/dsl/declaration-dsl.js +264 -0
  150. package/dist/dsl/file-move-to-dir-dsl.js +123 -0
  151. package/dist/dsl/file-refactor-batch-dsl.js +203 -0
  152. package/dist/dsl/file-rename-dsl.js +135 -0
  153. package/dist/dsl/mutate-dsl.js +746 -0
  154. package/dist/help/bootstrap.bash.md +742 -0
  155. package/dist/help/bootstrap.md +236 -437
  156. package/dist/help/bootstrap.pwsh.md +742 -0
  157. package/dist/help/docs/basics.md +1 -1
  158. package/dist/help/docs/config-setup.import-normalize.md +65 -65
  159. package/dist/help/docs/config-setup.import-rules.md +6 -5
  160. package/dist/help/docs/dsl.md +4 -3
  161. package/dist/help/docs/first-setup.md +6 -5
  162. package/dist/help/docs/help-protocol.md +4 -3
  163. package/dist/help/docs/import.base.md +38 -0
  164. package/dist/help/docs/import.rebase.md +85 -0
  165. package/dist/help/docs/inspect.aliasCandidates.md +39 -0
  166. package/dist/help/docs/inspect.code.md +5 -11
  167. package/dist/help/docs/inspect.deps.md +7 -7
  168. package/dist/help/docs/inspect.file.md +10 -18
  169. package/dist/help/docs/inspect.graph.md +6 -20
  170. package/dist/help/docs/{inspect.md → inspect.shared.md} +18 -17
  171. package/dist/help/docs/modulePlan.md +24 -28
  172. package/dist/help/docs/move.md +19 -22
  173. package/dist/help/docs/moveToDir.md +46 -0
  174. package/dist/help/docs/mutate.mixed.md +34 -0
  175. package/dist/help/docs/mutation.shared.md +55 -0
  176. package/dist/help/docs/patterns.md +3 -16
  177. package/dist/help/docs/qr.md +13 -22
  178. package/dist/help/docs/quick-map.md +36 -23
  179. package/dist/help/docs/recipe.file-layout.md +15 -0
  180. package/dist/help/docs/recipe.import-boundary.md +92 -0
  181. package/dist/help/docs/recipe.safe-artifact-probing.md +68 -0
  182. package/dist/help/docs/recipe.unfamiliar-area.md +64 -0
  183. package/dist/help/docs/recipes.md +20 -0
  184. package/dist/help/docs/rename.md +19 -27
  185. package/dist/help/docs/renameFile.md +36 -0
  186. package/dist/help/docs/rg.md +22 -0
  187. package/dist/help/docs/rules.md +26 -0
  188. package/dist/help/docs/selectors.md +3 -2
  189. package/dist/help/docs/session.md +1 -1
  190. package/dist/help/dsl/bootstrap.bash.md +742 -0
  191. package/dist/help/dsl/bootstrap.md +236 -437
  192. package/dist/help/dsl/bootstrap.pwsh.md +742 -0
  193. package/dist/help/dsl/docs/basics.md +1 -1
  194. package/dist/help/dsl/docs/config-setup.import-normalize.md +65 -65
  195. package/dist/help/dsl/docs/config-setup.import-rules.md +6 -5
  196. package/dist/help/dsl/docs/dsl.md +4 -3
  197. package/dist/help/dsl/docs/first-setup.md +6 -5
  198. package/dist/help/dsl/docs/help-protocol.md +4 -3
  199. package/dist/help/dsl/docs/import.base.md +38 -0
  200. package/dist/help/dsl/docs/import.rebase.md +85 -0
  201. package/dist/help/dsl/docs/inspect.aliasCandidates.md +39 -0
  202. package/dist/help/dsl/docs/inspect.code.md +5 -11
  203. package/dist/help/dsl/docs/inspect.deps.md +7 -7
  204. package/dist/help/dsl/docs/inspect.file.md +10 -18
  205. package/dist/help/dsl/docs/inspect.graph.md +6 -20
  206. package/dist/help/dsl/docs/{inspect.md → inspect.shared.md} +18 -17
  207. package/dist/help/dsl/docs/modulePlan.md +24 -28
  208. package/dist/help/dsl/docs/move.md +19 -22
  209. package/dist/help/dsl/docs/moveToDir.md +46 -0
  210. package/dist/help/dsl/docs/mutate.mixed.md +34 -0
  211. package/dist/help/dsl/docs/mutation.shared.md +55 -0
  212. package/dist/help/dsl/docs/patterns.md +3 -16
  213. package/dist/help/dsl/docs/qr.md +13 -22
  214. package/dist/help/dsl/docs/quick-map.md +36 -23
  215. package/dist/help/dsl/docs/recipe.file-layout.md +15 -0
  216. package/dist/help/dsl/docs/recipe.import-boundary.md +92 -0
  217. package/dist/help/dsl/docs/recipe.safe-artifact-probing.md +68 -0
  218. package/dist/help/dsl/docs/recipe.unfamiliar-area.md +64 -0
  219. package/dist/help/dsl/docs/recipes.md +20 -0
  220. package/dist/help/dsl/docs/rename.md +19 -27
  221. package/dist/help/dsl/docs/renameFile.md +36 -0
  222. package/dist/help/dsl/docs/rg.md +22 -0
  223. package/dist/help/dsl/docs/rules.md +26 -0
  224. package/dist/help/dsl/docs/selectors.md +3 -2
  225. package/dist/help/dsl/docs/session.md +1 -1
  226. package/dist/help/dsl/full.md +236 -437
  227. package/dist/help/dsl/help-index.md +49 -0
  228. package/dist/help/dsl/snippets/agents.md +2 -2
  229. package/dist/help/dsl/tokens/qr.inline.examples.md +2 -0
  230. package/dist/help/dsl/tokens/stdin.examples.bash.md +8 -0
  231. package/dist/help/dsl/tokens/stdin.examples.pwsh.md +8 -0
  232. package/dist/help/dsl/tokens/stdin.examples.with-qr.bash.md +12 -0
  233. package/dist/help/dsl/tokens/stdin.examples.with-qr.pwsh.md +12 -0
  234. package/dist/help/dsl/topics/basics.md +1 -1
  235. package/dist/help/dsl/topics/config-setup.import-normalize.md +65 -65
  236. package/dist/help/dsl/topics/config-setup.import-rules.md +6 -5
  237. package/dist/help/dsl/topics/dsl.md +4 -3
  238. package/dist/help/dsl/topics/first-setup.md +6 -5
  239. package/dist/help/dsl/topics/help-protocol.md +4 -3
  240. package/dist/help/dsl/topics/import.base.md +36 -0
  241. package/dist/help/dsl/topics/import.rebase.md +83 -0
  242. package/dist/help/dsl/topics/inspect.aliasCandidates.md +37 -0
  243. package/dist/help/dsl/topics/inspect.code.md +5 -11
  244. package/dist/help/dsl/topics/inspect.deps.md +7 -7
  245. package/dist/help/dsl/topics/inspect.file.md +10 -18
  246. package/dist/help/dsl/topics/inspect.graph.md +6 -20
  247. package/dist/help/dsl/topics/{inspect.md → inspect.shared.md} +18 -17
  248. package/dist/help/dsl/topics/modulePlan.md +21 -26
  249. package/dist/help/dsl/topics/move.md +17 -18
  250. package/dist/help/dsl/topics/moveToDir.md +44 -0
  251. package/dist/help/dsl/topics/mutate.mixed.md +32 -0
  252. package/dist/help/dsl/topics/mutation.shared.md +53 -0
  253. package/dist/help/dsl/topics/patterns.md +3 -16
  254. package/dist/help/dsl/topics/qr.md +13 -22
  255. package/dist/help/dsl/topics/quick-map.md +36 -23
  256. package/dist/help/dsl/topics/recipe.file-layout.md +13 -0
  257. package/dist/help/dsl/topics/recipe.import-boundary.md +90 -0
  258. package/dist/help/dsl/topics/recipe.safe-artifact-probing.md +66 -0
  259. package/dist/help/dsl/topics/recipe.unfamiliar-area.md +62 -0
  260. package/dist/help/dsl/topics/recipes.md +18 -0
  261. package/dist/help/dsl/topics/rename.md +15 -15
  262. package/dist/help/dsl/topics/renameFile.md +34 -0
  263. package/dist/help/dsl/topics/rg.md +20 -0
  264. package/dist/help/dsl/topics/rules.md +24 -0
  265. package/dist/help/dsl/topics/selectors.md +3 -2
  266. package/dist/help/dsl/topics/session.md +1 -1
  267. package/dist/help/full.md +236 -437
  268. package/dist/help/help-index.md +49 -0
  269. package/dist/help/help-meta.json +114 -48
  270. package/dist/help/index.md +76 -87
  271. package/dist/help/snippets/agents.md +2 -2
  272. package/dist/help/tokens/qr.inline.examples.md +2 -0
  273. package/dist/help/tokens/stdin.examples.bash.md +8 -0
  274. package/dist/help/tokens/stdin.examples.pwsh.md +8 -0
  275. package/dist/help/tokens/stdin.examples.with-qr.bash.md +12 -0
  276. package/dist/help/tokens/stdin.examples.with-qr.pwsh.md +12 -0
  277. package/dist/help/topics/basics.md +1 -1
  278. package/dist/help/topics/config-setup.import-normalize.md +65 -65
  279. package/dist/help/topics/config-setup.import-rules.md +6 -5
  280. package/dist/help/topics/dsl.md +4 -3
  281. package/dist/help/topics/first-setup.md +6 -5
  282. package/dist/help/topics/help-protocol.md +4 -3
  283. package/dist/help/topics/import.base.md +36 -0
  284. package/dist/help/topics/import.rebase.md +83 -0
  285. package/dist/help/topics/inspect.aliasCandidates.md +37 -0
  286. package/dist/help/topics/inspect.code.md +5 -11
  287. package/dist/help/topics/inspect.deps.md +7 -7
  288. package/dist/help/topics/inspect.file.md +10 -18
  289. package/dist/help/topics/inspect.graph.md +6 -20
  290. package/dist/help/topics/{inspect.md → inspect.shared.md} +18 -17
  291. package/dist/help/topics/modulePlan.md +21 -26
  292. package/dist/help/topics/move.md +17 -18
  293. package/dist/help/topics/moveToDir.md +44 -0
  294. package/dist/help/topics/mutate.mixed.md +32 -0
  295. package/dist/help/topics/mutation.shared.md +53 -0
  296. package/dist/help/topics/patterns.md +3 -16
  297. package/dist/help/topics/qr.md +13 -22
  298. package/dist/help/topics/quick-map.md +36 -23
  299. package/dist/help/topics/recipe.file-layout.md +13 -0
  300. package/dist/help/topics/recipe.import-boundary.md +90 -0
  301. package/dist/help/topics/recipe.safe-artifact-probing.md +66 -0
  302. package/dist/help/topics/recipe.unfamiliar-area.md +62 -0
  303. package/dist/help/topics/recipes.md +18 -0
  304. package/dist/help/topics/rename.md +15 -15
  305. package/dist/help/topics/renameFile.md +34 -0
  306. package/dist/help/topics/rg.md +20 -0
  307. package/dist/help/topics/rules.md +24 -0
  308. package/dist/help/topics/selectors.md +3 -2
  309. package/dist/help/topics/session.md +1 -1
  310. package/dist/host/capabilities.js +56 -0
  311. package/dist/imports/standalone-import-analysis.js +602 -0
  312. package/dist/imports/standalone-import-model.js +2 -0
  313. package/dist/imports/standalone-import-process.js +66 -0
  314. package/dist/imports/standalone-import-worker.js +27 -0
  315. package/dist/imports/standalone-ts-project.js +147 -0
  316. package/dist/inspect/inspect-duplicates-service.js +526 -0
  317. package/dist/inspect/inspect-reverse-module-closure.js +338 -0
  318. package/dist/inspect/inspect-source-ranges.js +82 -0
  319. package/dist/inspect/inspect-source-shape.js +649 -0
  320. package/dist/inspect/standalone-inspect-analysis.js +319 -0
  321. package/dist/inspect/standalone-inspect-model.js +9 -0
  322. package/dist/inspect/standalone-inspect-process.js +55 -0
  323. package/dist/inspect/standalone-inspect-usages.js +274 -0
  324. package/dist/inspect/standalone-inspect-worker.js +13 -0
  325. package/dist/metrics/central-metrics.js +101 -2
  326. package/dist/mutation/concrete-edit-plan.js +157 -0
  327. package/dist/mutation/exports-star-collapse-preview.js +361 -0
  328. package/dist/mutation/exports-star-expand-apply.js +373 -0
  329. package/dist/mutation/exports-star-expand-preview.js +807 -0
  330. package/dist/mutation/file-impact-scan.js +182 -0
  331. package/dist/mutation/file-mutation-discovery.js +674 -0
  332. package/dist/mutation/file-mutation-eta.js +99 -0
  333. package/dist/mutation/file-mutation-standalone-apply.js +584 -0
  334. package/dist/mutation/file-mutation-standalone-planner.js +500 -0
  335. package/dist/mutation/file-mutation-tsserver-session.js +473 -0
  336. package/dist/mutation/mutation-estimate.js +45 -0
  337. package/dist/mutation/mutation-plan.js +467 -0
  338. package/dist/mutation/object-mutation-foundation.js +2 -0
  339. package/dist/mutation/object-mutation-partition.js +148 -0
  340. package/dist/mutation/object-pack-semantic-apply.js +507 -0
  341. package/dist/mutation/object-pack-semantic-preview.js +984 -0
  342. package/dist/mutation/object-unpack-semantic-preview.js +993 -0
  343. package/dist/mutation/package-manifest-impact.js +176 -0
  344. package/dist/mutation/rename-owner-worker-child.js +37 -0
  345. package/dist/mutation/rename-owner-worker.js +122 -0
  346. package/dist/mutation/runtime-cycle-query.js +66 -0
  347. package/dist/mutation/semantic-execution-progress.js +63 -0
  348. package/dist/mutation/semantic-export-index.js +474 -0
  349. package/dist/mutation/semantic-impact-scan.js +434 -0
  350. package/dist/mutation/semantic-model.js +2 -0
  351. package/dist/mutation/semantic-move-best-effort-planner.js +209 -0
  352. package/dist/mutation/semantic-move-config-worker-child.js +61 -0
  353. package/dist/mutation/semantic-move-config-worker.js +449 -0
  354. package/dist/mutation/semantic-move-declarations.js +94 -0
  355. package/dist/mutation/semantic-move-metrics.js +119 -0
  356. package/dist/mutation/semantic-move-model.js +2 -0
  357. package/dist/mutation/semantic-move-owner-authority.js +122 -0
  358. package/dist/mutation/semantic-move-owner-candidates.js +300 -0
  359. package/dist/mutation/semantic-move-owner-divergence-harness.js +474 -0
  360. package/dist/mutation/semantic-move-owner-divergence-runner.js +162 -0
  361. package/dist/mutation/semantic-move-plan-hash.js +56 -0
  362. package/dist/mutation/semantic-move-policy.js +360 -0
  363. package/dist/mutation/semantic-move-process.js +218 -0
  364. package/dist/mutation/semantic-move-provider-diagnostics.js +27 -0
  365. package/dist/mutation/semantic-move-standalone-engine.js +919 -0
  366. package/dist/mutation/semantic-move-standalone-planner.js +1553 -0
  367. package/dist/mutation/semantic-move-transaction.js +639 -0
  368. package/dist/mutation/semantic-mutation-engine.js +478 -0
  369. package/dist/mutation/semantic-mutation-runtime.js +521 -0
  370. package/dist/mutation/semantic-planner-retry.js +26 -0
  371. package/dist/mutation/semantic-program-roots.js +69 -0
  372. package/dist/mutation/semantic-rename-commonjs.js +229 -0
  373. package/dist/mutation/semantic-rename-config-worker-child.js +46 -0
  374. package/dist/mutation/semantic-rename-config-worker.js +498 -0
  375. package/dist/mutation/semantic-rename-locations.js +192 -0
  376. package/dist/mutation/semantic-rename-model.js +2 -0
  377. package/dist/mutation/semantic-rename-process.js +210 -0
  378. package/dist/mutation/semantic-rename-standalone-engine.js +302 -0
  379. package/dist/mutation/semantic-rename-standalone-planner.js +567 -0
  380. package/dist/mutation/semantic-rename-transaction.js +333 -0
  381. package/dist/mutation/semantic-unused-import-cleanup.js +248 -0
  382. package/dist/mutation/semantic-worker-retry.js +40 -0
  383. package/dist/mutation/semantic-workspace.js +804 -0
  384. package/dist/mutation/targeted-import-canonicalizer.js +359 -0
  385. package/dist/observability/config.js +206 -1
  386. package/dist/observability/context.js +59 -1
  387. package/dist/observability/failure-snapshot.js +124 -2
  388. package/dist/observability/recent.js +63 -2
  389. package/dist/payloads/read-stdin-json.js +212 -1
  390. package/dist/rg-wrapper/core.js +714 -0
  391. package/dist/rg-wrapper/options.js +125 -0
  392. package/dist/rtk-wrapper/core.js +144 -0
  393. package/dist/rtk-wrapper/git-safety.js +203 -0
  394. package/dist/rtk-wrapper/output-adapter.js +106 -0
  395. package/dist/runtime/buffered-process.js +114 -0
  396. package/dist/runtime/bundled-node.js +97 -1
  397. package/dist/runtime/command-lifecycle.js +2 -0
  398. package/dist/runtime/input-source.js +238 -1
  399. package/dist/runtime/node-cli-identity.js +37 -0
  400. package/dist/runtime/run-command.js +191 -1
  401. package/dist/selectors/parse-entities.js +84 -1
  402. package/dist/semantic/semantic-context-pool.js +830 -0
  403. package/dist/semantic/semantic-context-provider.js +416 -0
  404. package/dist/semantic/semantic-resident-admission.js +38 -0
  405. package/dist/semantic/semantic-worker-child.js +40 -0
  406. package/dist/semantic/semantic-worker-manager.js +460 -0
  407. package/dist/semantic/semantic-worker-protocol.js +2 -0
  408. package/dist/semantic/semantic-worker-runtime.js +38 -0
  409. package/dist/semantic/workspace-semantic-context-pools.js +136 -0
  410. package/dist/session/client.js +359 -1
  411. package/dist/session/daemon-state.js +185 -0
  412. package/dist/session/external-tool-coordinator.js +88 -0
  413. package/dist/session/external-tool-request.js +52 -0
  414. package/dist/session/lane-owner.js +116 -0
  415. package/dist/session/paths.js +71 -1
  416. package/dist/session/runtime-lifecycle.js +225 -0
  417. package/dist/session/runtime-shutdown.js +95 -0
  418. package/dist/session/server.js +1194 -8
  419. package/dist/session/session-health.js +27 -0
  420. package/dist/shared/agent-text.js +29 -1
  421. package/dist/shared/errors.js +496 -30
  422. package/dist/shared/event-loop.js +6 -1
  423. package/dist/shared/hints.js +37 -1
  424. package/dist/shared/metrics.js +43 -1
  425. package/dist/shared/presentation.js +69 -4
  426. package/dist/shared/stdin-examples.js +77 -3
  427. package/dist/shared/stdout.js +6 -2
  428. package/dist/shared/types.js +23 -1
  429. package/dist/tool-runtime/runtime-tools.js +120 -0
  430. package/dist/topology/availability.js +663 -0
  431. package/dist/topology/cache.js +130 -0
  432. package/dist/topology/candidates.js +372 -0
  433. package/dist/topology/core.js +903 -0
  434. package/dist/topology/dependency-snapshot.js +189 -0
  435. package/dist/topology/model.js +2 -0
  436. package/dist/topology/scope.js +100 -0
  437. package/dist/topology/ts-oracle-batch.js +529 -0
  438. package/dist/topology/ts-oracle-host.js +69 -0
  439. package/dist/topology/ts-oracle-model.js +2 -0
  440. package/dist/topology/ts-oracle.js +224 -0
  441. package/dist/topology/tsconfig-loader.js +105 -0
  442. package/dist/topology/workspace-project-index.js +542 -0
  443. package/dist/tracing/config.js +192 -2
  444. package/dist/tracing/failure-summary.js +100 -0
  445. package/dist/tracing/trace.js +318 -5
  446. package/dist/tsc-wrapper/core.js +697 -0
  447. package/dist/workers/control-plane/aib-control-plane-worker.cjs +80 -0
  448. package/dist/workers/control-plane/client-config.default.json +3 -0
  449. package/dist/workers/lexical-worker-child.js +27 -0
  450. package/dist/workers/lexical-worker-manager.js +394 -0
  451. package/dist/workers/lexical-worker-protocol.js +2 -0
  452. package/dist/workers/lexical-worker-runtime.js +25 -0
  453. package/dist/workers/owned-one-shot-process.js +115 -0
  454. package/dist/workers/product-storage.js +23 -0
  455. package/dist/workers/registry.js +241 -0
  456. package/package.json +8 -11
  457. package/runtimes/tools/rg/darwin-arm64/rg +0 -0
  458. package/runtimes/tools/rg/darwin-x64/rg +0 -0
  459. package/runtimes/tools/rg/linux-arm64/rg +0 -0
  460. package/runtimes/tools/rg/linux-x64/rg +0 -0
  461. package/runtimes/tools/rg/manifest.json +36 -0
  462. package/runtimes/tools/rg/win32-x64/rg.exe +0 -0
  463. package/runtimes/tools/rtk/darwin-arm64/rtk +0 -0
  464. package/runtimes/tools/rtk/darwin-x64/rtk +0 -0
  465. package/runtimes/tools/rtk/linux-arm64/rtk +0 -0
  466. package/runtimes/tools/rtk/linux-x64/rtk +0 -0
  467. package/runtimes/tools/rtk/manifest.json +36 -0
  468. package/runtimes/tools/rtk/win32-x64/rtk.exe +0 -0
  469. package/scripts/postinstall.cjs +29 -29
  470. package/scripts/provision-runtime.cjs +411 -459
  471. package/dist/client/http-client.js +0 -1
  472. package/dist/client/transport-options.js +0 -1
  473. package/dist/client/websocket-client.js +0 -1
  474. package/dist/commands/entity-resolution.js +0 -1
  475. package/dist/commands/inspect-symbol-query.js +0 -1
  476. package/dist/commands/list-instances.js +0 -1
  477. package/dist/commands/module-plan-command.js +0 -1
  478. package/dist/commands/move-command.js +0 -1
  479. package/dist/commands/move-to-file.js +0 -2
  480. package/dist/commands/ping.js +0 -1
  481. package/dist/commands/refactor-command.js +0 -1
  482. package/dist/commands/rename-command.js +0 -1
  483. package/dist/commands/runtime-command.js +0 -4
  484. package/dist/commands/runtime-info.js +0 -1
  485. package/dist/commands/validate-module-plan.js +0 -2
  486. package/dist/compatibility/policy.js +0 -1
  487. package/dist/config/auto-start-ide.js +0 -1
  488. package/dist/discovery/registry.js +0 -1
  489. package/dist/discovery/select-instance.js +0 -1
  490. package/dist/help/docs/mutation.md +0 -50
  491. package/dist/help/docs/refactor.batch.md +0 -44
  492. package/dist/help/dsl/docs/mutation.md +0 -50
  493. package/dist/help/dsl/docs/refactor.batch.md +0 -44
  494. package/dist/help/dsl/topics/mutation.md +0 -48
  495. package/dist/help/dsl/topics/refactor.batch.md +0 -33
  496. package/dist/help/json/bootstrap.md +0 -1085
  497. package/dist/help/json/docs/basics.md +0 -15
  498. package/dist/help/json/docs/config-setup.aliases.md +0 -56
  499. package/dist/help/json/docs/config-setup.excludes.md +0 -45
  500. package/dist/help/json/docs/config-setup.import-normalize.md +0 -86
  501. package/dist/help/json/docs/config-setup.import-rules.md +0 -96
  502. package/dist/help/json/docs/config-setup.tsconfigs.md +0 -33
  503. package/dist/help/json/docs/dsl.md +0 -25
  504. package/dist/help/json/docs/first-setup.md +0 -292
  505. package/dist/help/json/docs/help-format.md +0 -9
  506. package/dist/help/json/docs/help-protocol.md +0 -26
  507. package/dist/help/json/docs/imports.normalize.md +0 -47
  508. package/dist/help/json/docs/inspect.code.md +0 -41
  509. package/dist/help/json/docs/inspect.cycles.md +0 -38
  510. package/dist/help/json/docs/inspect.deps.md +0 -46
  511. package/dist/help/json/docs/inspect.duplicates.md +0 -65
  512. package/dist/help/json/docs/inspect.exports.md +0 -40
  513. package/dist/help/json/docs/inspect.file.md +0 -38
  514. package/dist/help/json/docs/inspect.graph.md +0 -139
  515. package/dist/help/json/docs/inspect.imports.md +0 -15
  516. package/dist/help/json/docs/inspect.md +0 -88
  517. package/dist/help/json/docs/inspect.members.md +0 -32
  518. package/dist/help/json/docs/inspect.tree.md +0 -32
  519. package/dist/help/json/docs/inspect.usages.md +0 -61
  520. package/dist/help/json/docs/modulePlan.md +0 -73
  521. package/dist/help/json/docs/move.md +0 -56
  522. package/dist/help/json/docs/mutation.md +0 -65
  523. package/dist/help/json/docs/patterns.md +0 -76
  524. package/dist/help/json/docs/prefs.md +0 -40
  525. package/dist/help/json/docs/qr.md +0 -37
  526. package/dist/help/json/docs/quick-map.md +0 -30
  527. package/dist/help/json/docs/refactor.batch.md +0 -72
  528. package/dist/help/json/docs/rename.md +0 -47
  529. package/dist/help/json/docs/reveal.md +0 -30
  530. package/dist/help/json/docs/selectors.md +0 -23
  531. package/dist/help/json/docs/session.md +0 -77
  532. package/dist/help/json/docs/view.md +0 -30
  533. package/dist/help/json/full.md +0 -1085
  534. package/dist/help/json/snippets/agents.md +0 -14
  535. package/dist/help/json/topics/basics.md +0 -13
  536. package/dist/help/json/topics/config-setup.aliases.md +0 -54
  537. package/dist/help/json/topics/config-setup.excludes.md +0 -43
  538. package/dist/help/json/topics/config-setup.import-normalize.md +0 -84
  539. package/dist/help/json/topics/config-setup.import-rules.md +0 -94
  540. package/dist/help/json/topics/config-setup.tsconfigs.md +0 -31
  541. package/dist/help/json/topics/dsl.md +0 -23
  542. package/dist/help/json/topics/first-setup.md +0 -290
  543. package/dist/help/json/topics/help-format.md +0 -7
  544. package/dist/help/json/topics/help-protocol.md +0 -24
  545. package/dist/help/json/topics/imports.normalize.md +0 -45
  546. package/dist/help/json/topics/inspect.code.md +0 -39
  547. package/dist/help/json/topics/inspect.cycles.md +0 -36
  548. package/dist/help/json/topics/inspect.deps.md +0 -44
  549. package/dist/help/json/topics/inspect.duplicates.md +0 -37
  550. package/dist/help/json/topics/inspect.exports.md +0 -38
  551. package/dist/help/json/topics/inspect.file.md +0 -36
  552. package/dist/help/json/topics/inspect.graph.md +0 -137
  553. package/dist/help/json/topics/inspect.imports.md +0 -13
  554. package/dist/help/json/topics/inspect.md +0 -86
  555. package/dist/help/json/topics/inspect.members.md +0 -30
  556. package/dist/help/json/topics/inspect.tree.md +0 -22
  557. package/dist/help/json/topics/inspect.usages.md +0 -59
  558. package/dist/help/json/topics/modulePlan.md +0 -60
  559. package/dist/help/json/topics/move.md +0 -46
  560. package/dist/help/json/topics/mutation.md +0 -63
  561. package/dist/help/json/topics/patterns.md +0 -74
  562. package/dist/help/json/topics/prefs.md +0 -38
  563. package/dist/help/json/topics/qr.md +0 -35
  564. package/dist/help/json/topics/quick-map.md +0 -28
  565. package/dist/help/json/topics/refactor.batch.md +0 -61
  566. package/dist/help/json/topics/rename.md +0 -42
  567. package/dist/help/json/topics/reveal.md +0 -28
  568. package/dist/help/json/topics/selectors.md +0 -21
  569. package/dist/help/json/topics/session.md +0 -59
  570. package/dist/help/json/topics/view.md +0 -28
  571. package/dist/help/topics/mutation.md +0 -48
  572. package/dist/help/topics/refactor.batch.md +0 -33
  573. package/dist/ide-launch/common.cjs +0 -162
  574. package/dist/managed-host/extension-vsix-resolver.js +0 -1
  575. package/dist/managed-host/manage-serve-web-host.cjs +0 -141
  576. package/dist/managed-host/serve-web-autostart.js +0 -1
  577. package/dist/managed-host/serve-web-host.cjs +0 -1904
  578. package/dist/runtime/managed-runtime-provisioning.js +0 -1
  579. package/dist/shared/diagnostic-catalog.js +0 -1
  580. package/dist/shared/diagnostics.js +0 -1
  581. package/dist/shared/operations.js +0 -1
  582. package/dist/shared/protocol.js +0 -1
  583. package/dist/shared/routes.js +0 -1
  584. package/extension/vscode-refactor-bridge-extension.vsix +0 -0
  585. package/runtimes/launcher/linux-x64/aib +0 -0
  586. 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