@automaton-labs/aib 0.0.7 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/README.md +21 -578
  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 -4
  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 -2
  19. package/dist/commands/captured-input.js +74 -1
  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 -1
  23. package/dist/commands/declaration-command.js +1209 -7
  24. package/dist/commands/declaration-execution-cache.js +79 -1
  25. package/dist/commands/declaration-format.js +221 -1
  26. package/dist/commands/declaration-preview-cache.js +114 -2
  27. package/dist/commands/diagnostics-command.js +70 -3
  28. package/dist/commands/doctor.js +137 -3
  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 -1
  35. package/dist/commands/file-move-to-dir-preview-cache.js +125 -2
  36. package/dist/commands/file-move-to-dir-worker.js +54 -0
  37. package/dist/commands/file-move-to-dir.js +1073 -5
  38. package/dist/commands/file-mutation-runtime.js +102 -1
  39. package/dist/commands/file-mutation-worker-apply.js +180 -0
  40. package/dist/commands/file-refactor-batch-execution-cache.js +90 -1
  41. package/dist/commands/file-refactor-batch-preview-cache.js +125 -2
  42. package/dist/commands/file-refactor-batch-worker.js +54 -0
  43. package/dist/commands/file-refactor-batch.js +1154 -5
  44. package/dist/commands/file-rename-execution-cache.js +92 -1
  45. package/dist/commands/file-rename-preview-cache.js +125 -2
  46. package/dist/commands/file-rename-worker.js +54 -0
  47. package/dist/commands/file-rename.js +1053 -5
  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 -2
  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 -7
  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 -1
  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 -1
  150. package/dist/dsl/file-move-to-dir-dsl.js +123 -1
  151. package/dist/dsl/file-refactor-batch-dsl.js +203 -1
  152. package/dist/dsl/file-rename-dsl.js +135 -1
  153. package/dist/dsl/mutate-dsl.js +746 -0
  154. package/dist/help/bootstrap.bash.md +176 -341
  155. package/dist/help/bootstrap.md +175 -340
  156. package/dist/help/bootstrap.pwsh.md +176 -341
  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/first-setup.md +6 -5
  161. package/dist/help/docs/help-protocol.md +4 -3
  162. package/dist/help/docs/import.base.md +38 -0
  163. package/dist/help/docs/import.rebase.md +85 -0
  164. package/dist/help/docs/inspect.aliasCandidates.md +39 -0
  165. package/dist/help/docs/inspect.code.md +1 -7
  166. package/dist/help/docs/inspect.file.md +10 -19
  167. package/dist/help/docs/inspect.graph.md +3 -17
  168. package/dist/help/{dsl/docs/inspect.md → docs/inspect.shared.md} +13 -12
  169. package/dist/help/docs/modulePlan.md +24 -28
  170. package/dist/help/docs/move.md +19 -22
  171. package/dist/help/{dsl/topics/file.move.md → docs/moveToDir.md} +36 -34
  172. package/dist/help/docs/mutate.mixed.md +34 -0
  173. package/dist/help/docs/mutation.shared.md +55 -0
  174. package/dist/help/docs/patterns.md +3 -12
  175. package/dist/help/docs/qr.md +12 -6
  176. package/dist/help/docs/quick-map.md +36 -24
  177. package/dist/help/docs/recipe.file-layout.md +10 -10
  178. package/dist/help/docs/recipe.import-boundary.md +92 -0
  179. package/dist/help/docs/recipe.safe-artifact-probing.md +68 -0
  180. package/dist/help/docs/recipe.unfamiliar-area.md +64 -0
  181. package/dist/help/docs/recipes.md +20 -0
  182. package/dist/help/docs/rename.md +19 -27
  183. package/dist/help/docs/renameFile.md +36 -0
  184. package/dist/help/docs/rules.md +26 -0
  185. package/dist/help/dsl/bootstrap.bash.md +176 -341
  186. package/dist/help/dsl/bootstrap.md +175 -340
  187. package/dist/help/dsl/bootstrap.pwsh.md +176 -341
  188. package/dist/help/dsl/docs/basics.md +1 -1
  189. package/dist/help/dsl/docs/config-setup.import-normalize.md +65 -65
  190. package/dist/help/dsl/docs/config-setup.import-rules.md +6 -5
  191. package/dist/help/dsl/docs/first-setup.md +6 -5
  192. package/dist/help/dsl/docs/help-protocol.md +4 -3
  193. package/dist/help/dsl/docs/import.base.md +38 -0
  194. package/dist/help/dsl/docs/import.rebase.md +85 -0
  195. package/dist/help/dsl/docs/inspect.aliasCandidates.md +39 -0
  196. package/dist/help/dsl/docs/inspect.code.md +1 -7
  197. package/dist/help/dsl/docs/inspect.file.md +10 -19
  198. package/dist/help/dsl/docs/inspect.graph.md +3 -17
  199. package/dist/help/{docs/inspect.md → dsl/docs/inspect.shared.md} +13 -12
  200. package/dist/help/dsl/docs/modulePlan.md +24 -28
  201. package/dist/help/dsl/docs/move.md +19 -22
  202. package/dist/help/{topics/file.move.md → dsl/docs/moveToDir.md} +36 -34
  203. package/dist/help/dsl/docs/mutate.mixed.md +34 -0
  204. package/dist/help/dsl/docs/mutation.shared.md +55 -0
  205. package/dist/help/dsl/docs/patterns.md +3 -12
  206. package/dist/help/dsl/docs/qr.md +12 -6
  207. package/dist/help/dsl/docs/quick-map.md +36 -24
  208. package/dist/help/dsl/docs/recipe.file-layout.md +10 -10
  209. package/dist/help/dsl/docs/recipe.import-boundary.md +92 -0
  210. package/dist/help/dsl/docs/recipe.safe-artifact-probing.md +68 -0
  211. package/dist/help/dsl/docs/recipe.unfamiliar-area.md +64 -0
  212. package/dist/help/dsl/docs/recipes.md +20 -0
  213. package/dist/help/dsl/docs/rename.md +19 -27
  214. package/dist/help/dsl/docs/renameFile.md +36 -0
  215. package/dist/help/dsl/docs/rules.md +26 -0
  216. package/dist/help/dsl/full.md +175 -340
  217. package/dist/help/dsl/help-index.md +48 -43
  218. package/dist/help/dsl/snippets/agents.md +2 -2
  219. package/dist/help/dsl/tokens/qr.inline.examples.md +1 -1
  220. package/dist/help/dsl/topics/basics.md +1 -1
  221. package/dist/help/dsl/topics/config-setup.import-normalize.md +65 -65
  222. package/dist/help/dsl/topics/config-setup.import-rules.md +6 -5
  223. package/dist/help/dsl/topics/first-setup.md +6 -5
  224. package/dist/help/dsl/topics/help-protocol.md +4 -3
  225. package/dist/help/dsl/topics/import.base.md +36 -0
  226. package/dist/help/dsl/topics/import.rebase.md +83 -0
  227. package/dist/help/dsl/topics/inspect.aliasCandidates.md +37 -0
  228. package/dist/help/dsl/topics/inspect.code.md +1 -7
  229. package/dist/help/dsl/topics/inspect.file.md +10 -19
  230. package/dist/help/dsl/topics/inspect.graph.md +3 -17
  231. package/dist/help/dsl/topics/{inspect.md → inspect.shared.md} +13 -12
  232. package/dist/help/dsl/topics/modulePlan.md +21 -26
  233. package/dist/help/dsl/topics/move.md +17 -18
  234. package/dist/help/{docs/file.move.md → dsl/topics/moveToDir.md} +33 -35
  235. package/dist/help/dsl/topics/mutate.mixed.md +32 -0
  236. package/dist/help/dsl/topics/mutation.shared.md +53 -0
  237. package/dist/help/dsl/topics/patterns.md +3 -12
  238. package/dist/help/dsl/topics/qr.md +12 -6
  239. package/dist/help/dsl/topics/quick-map.md +36 -24
  240. package/dist/help/dsl/topics/recipe.file-layout.md +10 -10
  241. package/dist/help/dsl/topics/recipe.import-boundary.md +90 -0
  242. package/dist/help/dsl/topics/recipe.safe-artifact-probing.md +66 -0
  243. package/dist/help/dsl/topics/recipe.unfamiliar-area.md +62 -0
  244. package/dist/help/dsl/topics/recipes.md +18 -0
  245. package/dist/help/dsl/topics/rename.md +15 -15
  246. package/dist/help/dsl/topics/renameFile.md +34 -0
  247. package/dist/help/dsl/topics/rules.md +24 -0
  248. package/dist/help/full.md +175 -340
  249. package/dist/help/help-index.md +48 -43
  250. package/dist/help/help-meta.json +98 -48
  251. package/dist/help/index.md +52 -20
  252. package/dist/help/snippets/agents.md +2 -2
  253. package/dist/help/tokens/qr.inline.examples.md +1 -1
  254. package/dist/help/topics/basics.md +1 -1
  255. package/dist/help/topics/config-setup.import-normalize.md +65 -65
  256. package/dist/help/topics/config-setup.import-rules.md +6 -5
  257. package/dist/help/topics/first-setup.md +6 -5
  258. package/dist/help/topics/help-protocol.md +4 -3
  259. package/dist/help/topics/import.base.md +36 -0
  260. package/dist/help/topics/import.rebase.md +83 -0
  261. package/dist/help/topics/inspect.aliasCandidates.md +37 -0
  262. package/dist/help/topics/inspect.code.md +1 -7
  263. package/dist/help/topics/inspect.file.md +10 -19
  264. package/dist/help/topics/inspect.graph.md +3 -17
  265. package/dist/help/topics/{inspect.md → inspect.shared.md} +13 -12
  266. package/dist/help/topics/modulePlan.md +21 -26
  267. package/dist/help/topics/move.md +17 -18
  268. package/dist/help/{dsl/docs/file.move.md → topics/moveToDir.md} +33 -35
  269. package/dist/help/topics/mutate.mixed.md +32 -0
  270. package/dist/help/topics/mutation.shared.md +53 -0
  271. package/dist/help/topics/patterns.md +3 -12
  272. package/dist/help/topics/qr.md +12 -6
  273. package/dist/help/topics/quick-map.md +36 -24
  274. package/dist/help/topics/recipe.file-layout.md +10 -10
  275. package/dist/help/topics/recipe.import-boundary.md +90 -0
  276. package/dist/help/topics/recipe.safe-artifact-probing.md +66 -0
  277. package/dist/help/topics/recipe.unfamiliar-area.md +62 -0
  278. package/dist/help/topics/recipes.md +18 -0
  279. package/dist/help/topics/rename.md +15 -15
  280. package/dist/help/topics/renameFile.md +34 -0
  281. package/dist/help/topics/rules.md +24 -0
  282. package/dist/host/capabilities.js +56 -1
  283. package/dist/imports/standalone-import-analysis.js +602 -0
  284. package/dist/imports/standalone-import-model.js +2 -0
  285. package/dist/imports/standalone-import-process.js +66 -0
  286. package/dist/imports/standalone-import-worker.js +27 -0
  287. package/dist/imports/standalone-ts-project.js +147 -0
  288. package/dist/inspect/inspect-duplicates-service.js +526 -0
  289. package/dist/inspect/inspect-reverse-module-closure.js +338 -0
  290. package/dist/inspect/inspect-source-ranges.js +82 -0
  291. package/dist/inspect/inspect-source-shape.js +649 -0
  292. package/dist/inspect/standalone-inspect-analysis.js +319 -0
  293. package/dist/inspect/standalone-inspect-model.js +9 -0
  294. package/dist/inspect/standalone-inspect-process.js +55 -0
  295. package/dist/inspect/standalone-inspect-usages.js +274 -0
  296. package/dist/inspect/standalone-inspect-worker.js +13 -0
  297. package/dist/metrics/central-metrics.js +101 -2
  298. package/dist/mutation/concrete-edit-plan.js +157 -0
  299. package/dist/mutation/exports-star-collapse-preview.js +361 -0
  300. package/dist/mutation/exports-star-expand-apply.js +373 -0
  301. package/dist/mutation/exports-star-expand-preview.js +807 -0
  302. package/dist/mutation/file-impact-scan.js +182 -0
  303. package/dist/mutation/file-mutation-discovery.js +674 -0
  304. package/dist/mutation/file-mutation-eta.js +99 -0
  305. package/dist/mutation/file-mutation-standalone-apply.js +584 -0
  306. package/dist/mutation/file-mutation-standalone-planner.js +500 -0
  307. package/dist/mutation/file-mutation-tsserver-session.js +473 -0
  308. package/dist/mutation/mutation-estimate.js +45 -0
  309. package/dist/mutation/mutation-plan.js +467 -0
  310. package/dist/mutation/object-mutation-foundation.js +2 -0
  311. package/dist/mutation/object-mutation-partition.js +148 -0
  312. package/dist/mutation/object-pack-semantic-apply.js +507 -0
  313. package/dist/mutation/object-pack-semantic-preview.js +984 -0
  314. package/dist/mutation/object-unpack-semantic-preview.js +993 -0
  315. package/dist/mutation/package-manifest-impact.js +176 -0
  316. package/dist/mutation/rename-owner-worker-child.js +37 -0
  317. package/dist/mutation/rename-owner-worker.js +122 -0
  318. package/dist/mutation/runtime-cycle-query.js +66 -0
  319. package/dist/mutation/semantic-execution-progress.js +63 -0
  320. package/dist/mutation/semantic-export-index.js +474 -0
  321. package/dist/mutation/semantic-impact-scan.js +434 -0
  322. package/dist/mutation/semantic-model.js +2 -0
  323. package/dist/mutation/semantic-move-best-effort-planner.js +209 -0
  324. package/dist/mutation/semantic-move-config-worker-child.js +61 -0
  325. package/dist/mutation/semantic-move-config-worker.js +449 -0
  326. package/dist/mutation/semantic-move-declarations.js +94 -0
  327. package/dist/mutation/semantic-move-metrics.js +119 -0
  328. package/dist/mutation/semantic-move-model.js +2 -0
  329. package/dist/mutation/semantic-move-owner-authority.js +122 -0
  330. package/dist/mutation/semantic-move-owner-candidates.js +300 -0
  331. package/dist/mutation/semantic-move-owner-divergence-harness.js +474 -0
  332. package/dist/mutation/semantic-move-owner-divergence-runner.js +162 -0
  333. package/dist/mutation/semantic-move-plan-hash.js +56 -0
  334. package/dist/mutation/semantic-move-policy.js +360 -0
  335. package/dist/mutation/semantic-move-process.js +218 -0
  336. package/dist/mutation/semantic-move-provider-diagnostics.js +27 -0
  337. package/dist/mutation/semantic-move-standalone-engine.js +919 -0
  338. package/dist/mutation/semantic-move-standalone-planner.js +1553 -0
  339. package/dist/mutation/semantic-move-transaction.js +639 -0
  340. package/dist/mutation/semantic-mutation-engine.js +478 -0
  341. package/dist/mutation/semantic-mutation-runtime.js +521 -0
  342. package/dist/mutation/semantic-planner-retry.js +26 -0
  343. package/dist/mutation/semantic-program-roots.js +69 -0
  344. package/dist/mutation/semantic-rename-commonjs.js +229 -0
  345. package/dist/mutation/semantic-rename-config-worker-child.js +46 -0
  346. package/dist/mutation/semantic-rename-config-worker.js +498 -0
  347. package/dist/mutation/semantic-rename-locations.js +192 -0
  348. package/dist/mutation/semantic-rename-model.js +2 -0
  349. package/dist/mutation/semantic-rename-process.js +217 -0
  350. package/dist/mutation/semantic-rename-standalone-engine.js +302 -0
  351. package/dist/mutation/semantic-rename-standalone-planner.js +567 -0
  352. package/dist/mutation/semantic-rename-transaction.js +333 -0
  353. package/dist/mutation/semantic-unused-import-cleanup.js +248 -0
  354. package/dist/mutation/semantic-worker-retry.js +40 -0
  355. package/dist/mutation/semantic-workspace.js +804 -0
  356. package/dist/mutation/targeted-import-canonicalizer.js +359 -0
  357. package/dist/observability/config.js +206 -1
  358. package/dist/observability/context.js +59 -1
  359. package/dist/observability/failure-snapshot.js +124 -2
  360. package/dist/observability/recent.js +63 -2
  361. package/dist/payloads/read-stdin-json.js +212 -1
  362. package/dist/rg-wrapper/core.js +714 -6
  363. package/dist/rg-wrapper/options.js +125 -1
  364. package/dist/rtk-wrapper/core.js +144 -2
  365. package/dist/rtk-wrapper/git-safety.js +203 -0
  366. package/dist/rtk-wrapper/output-adapter.js +106 -0
  367. package/dist/runtime/buffered-process.js +114 -0
  368. package/dist/runtime/bundled-node.js +97 -1
  369. package/dist/runtime/command-lifecycle.js +2 -0
  370. package/dist/runtime/input-source.js +238 -1
  371. package/dist/runtime/node-cli-identity.js +37 -0
  372. package/dist/runtime/run-command.js +191 -1
  373. package/dist/selectors/parse-entities.js +84 -1
  374. package/dist/semantic/semantic-context-pool.js +830 -0
  375. package/dist/semantic/semantic-context-provider.js +416 -0
  376. package/dist/semantic/semantic-resident-admission.js +38 -0
  377. package/dist/semantic/semantic-worker-child.js +40 -0
  378. package/dist/semantic/semantic-worker-manager.js +460 -0
  379. package/dist/semantic/semantic-worker-protocol.js +2 -0
  380. package/dist/semantic/semantic-worker-runtime.js +38 -0
  381. package/dist/semantic/workspace-semantic-context-pools.js +136 -0
  382. package/dist/session/client.js +359 -1
  383. package/dist/session/daemon-state.js +185 -2
  384. package/dist/session/external-tool-coordinator.js +88 -0
  385. package/dist/session/external-tool-request.js +52 -0
  386. package/dist/session/lane-owner.js +116 -0
  387. package/dist/session/paths.js +71 -1
  388. package/dist/session/runtime-lifecycle.js +225 -0
  389. package/dist/session/runtime-shutdown.js +95 -0
  390. package/dist/session/server.js +1194 -7
  391. package/dist/session/session-health.js +27 -0
  392. package/dist/shared/agent-text.js +29 -1
  393. package/dist/shared/errors.js +496 -30
  394. package/dist/shared/event-loop.js +6 -1
  395. package/dist/shared/hints.js +37 -1
  396. package/dist/shared/metrics.js +43 -1
  397. package/dist/shared/presentation.js +69 -4
  398. package/dist/shared/stdin-examples.js +77 -1
  399. package/dist/shared/stdout.js +6 -2
  400. package/dist/shared/types.js +23 -1
  401. package/dist/tool-runtime/runtime-tools.js +120 -1
  402. package/dist/topology/availability.js +663 -0
  403. package/dist/topology/cache.js +130 -0
  404. package/dist/topology/candidates.js +372 -0
  405. package/dist/topology/core.js +903 -0
  406. package/dist/topology/dependency-snapshot.js +189 -0
  407. package/dist/topology/model.js +2 -0
  408. package/dist/topology/scope.js +100 -0
  409. package/dist/topology/ts-oracle-batch.js +529 -0
  410. package/dist/topology/ts-oracle-host.js +69 -0
  411. package/dist/topology/ts-oracle-model.js +2 -0
  412. package/dist/topology/ts-oracle.js +224 -0
  413. package/dist/topology/tsconfig-loader.js +105 -0
  414. package/dist/topology/workspace-project-index.js +542 -0
  415. package/dist/tracing/config.js +192 -2
  416. package/dist/tracing/failure-summary.js +100 -0
  417. package/dist/tracing/trace.js +318 -5
  418. package/dist/tsc-wrapper/core.js +697 -0
  419. package/dist/workers/control-plane/aib-control-plane-worker.cjs +32 -32
  420. package/dist/workers/control-plane/client-config.default.json +3 -3
  421. package/dist/workers/lexical-worker-child.js +27 -0
  422. package/dist/workers/lexical-worker-manager.js +394 -0
  423. package/dist/workers/lexical-worker-protocol.js +2 -0
  424. package/dist/workers/lexical-worker-runtime.js +25 -0
  425. package/dist/workers/owned-one-shot-process.js +115 -0
  426. package/dist/workers/product-storage.js +23 -1
  427. package/dist/workers/registry.js +241 -1
  428. package/package.json +8 -13
  429. package/scripts/postinstall.cjs +29 -29
  430. package/scripts/provision-runtime.cjs +411 -459
  431. package/dist/client/http-client.js +0 -1
  432. package/dist/client/transport-options.js +0 -1
  433. package/dist/client/websocket-client.js +0 -1
  434. package/dist/commands/entity-resolution.js +0 -1
  435. package/dist/commands/file-command.js +0 -1
  436. package/dist/commands/host-command.js +0 -1
  437. package/dist/commands/inspect-symbol-query.js +0 -1
  438. package/dist/commands/list-instances.js +0 -1
  439. package/dist/commands/module-plan-command.js +0 -1
  440. package/dist/commands/move-command.js +0 -1
  441. package/dist/commands/move-to-file.js +0 -2
  442. package/dist/commands/ping.js +0 -1
  443. package/dist/commands/refactor-command.js +0 -1
  444. package/dist/commands/rename-command.js +0 -1
  445. package/dist/commands/runtime-command.js +0 -4
  446. package/dist/commands/runtime-info.js +0 -1
  447. package/dist/commands/validate-module-plan.js +0 -2
  448. package/dist/compatibility/policy.js +0 -1
  449. package/dist/config/auto-start-ide.js +0 -1
  450. package/dist/discovery/registry.js +0 -1
  451. package/dist/discovery/select-instance.js +0 -1
  452. package/dist/help/docs/file.rename.md +0 -35
  453. package/dist/help/docs/mutation.md +0 -60
  454. package/dist/help/docs/refactor.batch.md +0 -44
  455. package/dist/help/dsl/docs/file.rename.md +0 -35
  456. package/dist/help/dsl/docs/mutation.md +0 -60
  457. package/dist/help/dsl/docs/refactor.batch.md +0 -44
  458. package/dist/help/dsl/topics/file.rename.md +0 -33
  459. package/dist/help/dsl/topics/mutation.md +0 -58
  460. package/dist/help/dsl/topics/refactor.batch.md +0 -33
  461. package/dist/help/topics/file.rename.md +0 -33
  462. package/dist/help/topics/mutation.md +0 -58
  463. package/dist/help/topics/refactor.batch.md +0 -33
  464. package/dist/ide-launch/common.cjs +0 -162
  465. package/dist/managed-host/extension-vsix-resolver.js +0 -1
  466. package/dist/managed-host/manage-serve-web-host.cjs +0 -141
  467. package/dist/managed-host/serve-web-autostart.js +0 -1
  468. package/dist/managed-host/serve-web-host.cjs +0 -2115
  469. package/dist/runtime/managed-runtime-provisioning.js +0 -1
  470. package/dist/shared/diagnostic-catalog.js +0 -1
  471. package/dist/shared/diagnostics.js +0 -1
  472. package/dist/shared/operations.js +0 -1
  473. package/dist/shared/protocol.js +0 -1
  474. package/dist/shared/routes.js +0 -1
  475. package/extension/vscode-refactor-bridge-extension.vsix +0 -0
  476. package/runtimes/launcher/linux-x64/aib +0 -0
  477. package/runtimes/launcher/win-x64/aib.exe +0 -0
@@ -37,46 +37,18 @@ Prefer batch DSL instead of one-off inline calls.
37
37
  One request can inspect/mutate several files/entities and save reusable artifacts when supported.
38
38
  Use one-off commands only for small checks/changes.
39
39
 
40
- For mutations, aib asks TS/IDE refactors to update affected references and imports.
40
+ For mutations, aib asks TypeScript semantic refactors to update affected references and imports.
41
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
42
 
43
- Working patterns
44
-
45
- Help refresh
46
-
47
- After context compaction, always run:
48
- aib help help-protocol quick-map
49
- aib config aliases
50
-
51
- Use focused help when you would otherwise guess how a known AIB capability works.
52
-
53
- Reread bootstrap when you need to restore the overall AIB workflow faster than piecing it together from focused topics.
54
- If you just reread bootstrap, do not also read focused topics unless you need details that bootstrap does not cover.
55
-
56
- Do not reread bootstrap automatically if focused help is enough.
57
- When refreshing multiple areas, request them together instead of one by one.
58
-
59
- Example:
60
- aib help patterns mutation inspect inspect.file inspect.code imports.normalize
61
-
62
- Use aib before broad file reads when the question is about TS/JS structure, references, dependencies, or focused code.
63
- Use qr for cross-OS quick reads of text files, logs, JSON, scripts, and line windows.
64
- It is not a replacement for inspect.
65
- Use normal text search when the question is just text.
66
-
67
- For a first pass in a new codebase, map directories before reading files:
68
-
69
- aib inspect tree src --depth 5 --only-dirs --limit 200
70
-
71
- Start compact for broad scans.
72
- Use summary, locations, or local graph views first when output could be large.
73
- Expand to code or wider graph views only for the parts that matter now.
74
- 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.
75
-
76
- Compact output is a starting point, not a substitute for needed code.
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.
77
49
  Fetch exact code when correctness depends on implementation details.
78
50
 
79
- For mutation commands, set the shell/tool harness timeout to 3 minutes.
51
+ Set the command timeout to 5 minutes for AIB requests.
80
52
 
81
53
  If a mutation command times out or returns no final output, use:
82
54
 
@@ -84,38 +56,37 @@ aib execution status last
84
56
 
85
57
  This is an escape hatch for recovering the latest mutation status/result.
86
58
 
87
- After reading bootstrap for the first time in a repo, run:
88
-
89
- aib config
90
-
91
- Use the output as the repo-local AIB map:
92
- - pathAliases show short paths to use in AIB requests;
93
- - importRules show how move/modulePlan should create imports;
94
- - importNormalize shows defaults for explicit imports normalize;
95
- - excludes show which noise is intentionally hidden from tree/graph/sync.
96
-
97
- If pathAliases are missing, stale, or weak for repeated paths, run:
98
- aib help config-setup.aliases
99
-
100
- If move/modulePlan imports do not match the repo style, run:
101
- aib help config-setup.import-rules
102
-
103
- If you are about to change import style across files, add or adopt tsconfig aliases, or clean imports repeatedly, run:
104
- aib help config-setup.import-normalize imports.normalize
105
-
106
- If tree/graph output includes known repo noise, run:
107
- aib help config-setup.excludes
108
-
109
- If sync or reveal shows too many visible TypeScript configs, run:
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:
110
82
  aib help config-setup.tsconfigs
111
83
 
112
84
  Example aib.json config:
113
85
 
114
86
  {
115
87
  "pathAliases": {
116
- "svc": "src/services",
117
- "cli": "packages/cli/src",
118
- "ext": "packages/extension/src"
88
+ "svc": "src/services",
89
+ "cli": "packages/cli/src"
119
90
  },
120
91
  "importRules": [
121
92
  {
@@ -144,17 +115,18 @@ Use them to reduce input tokens for repeated inspect and mutation work.
144
115
  Aliases are for aib request paths. They do not change TypeScript imports by themselves.
145
116
  For import style after mutations, use importRules.
146
117
 
147
- importRules control imports created or expanded by move/modulePlan mutation cleanup.
148
- They do not rewrite the whole project.
149
-
150
- AIB starts from IDE/TS import preferences.
151
- For mutation cleanup, matching importRules in aib.json take priority.
152
-
153
- Do not assume IDE/TS defaults match the repo style.
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.
154
126
  Set importRules before large move/modulePlan work so imports do not need manual cleanup.
155
127
 
156
- importNormalize defines default rules for explicit aib imports normalize commands.
157
-
128
+ importNormalize defines default rules for explicit aib imports normalize commands.
129
+
158
130
  It does not run automatically during move/modulePlan; use importRules for mutation-time cleanup.
159
131
 
160
132
  AIB has four config exclude fields:
@@ -172,24 +144,6 @@ Tree excludes affect directory/file discovery output.
172
144
  AIB syncs and watches visible tsconfigs.
173
145
  sync.tsconfig.exclude affects which TypeScript configs AIB syncs and watches.
174
146
 
175
- Important: leave feedback while working.
176
-
177
- aib is built for agents. Agent feedback is the main signal for improving output, docs, mutations, and token efficiency.
178
-
179
- Use feedback when something is wrong, unclear, noisy, or could be more efficient.
180
-
181
- Format:
182
- feedback "kind | message"
183
- feedback "kind | topic | message"
184
-
185
- Kinds:
186
- bug, confusion, friction, idea, other
187
-
188
- Topic is optional. Choose any short topic that helps classify the feedback.
189
-
190
- Example:
191
- feedback "friction | imports | normalize required manual cleanup"
192
-
193
147
  Session
194
148
 
195
149
  Start by creating or selecting your session.
@@ -285,18 +239,19 @@ map: learn what exists and how it connects
285
239
  focus: choose files/entities/usages that matter
286
240
  code: fetch exact code needed
287
241
 
288
- Choose inspect operation:
289
-
290
- declarations in one file file
291
- static/dynamic imports imports
292
- public API exports
293
- methods/properties of parent members
294
- exact implementation code
295
- outgoing deps of one entity deps
296
- incoming references/callers usages
297
- file/module connectivity graph
298
- compact directory layout tree
299
- repeated declarations/helpers duplicates
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
300
255
  local import cycles cycles
301
256
 
302
257
  Cycles are available but not expanded in bootstrap:
@@ -354,34 +309,19 @@ Use file to map top-level declarations physically present in one file.
354
309
  Exported declarations are marked in the output.
355
310
  It shows what lives in the file before you decide whether to read code.
356
311
 
357
- Good for:
358
- - mapping a file
359
- - listing top-level declarations
360
- - seeing default exports, decorators, IIFEs, and runtime calls
312
+ Good for:
313
+ - mapping a file
314
+ - listing top-level declarations
315
+ - seeing default exports, decorators, IIFEs, and runtime calls
361
316
  - checking whether a file contains real declarations or mostly re-exports
362
317
 
363
- Do not add limit just in case.
364
- file output is compact and most files have far fewer than 100 top-level declarations.
365
- Use limit only after file output is actually too large.
366
-
367
- Controls:
368
- file, ranges, localOnly
369
-
370
- Specific:
371
- localOnly show local declarations and reexports without resolving facade API; +localOnly
372
-
373
- Defaults: +ranges
374
- Use -ranges to show names without ranges.
375
-
376
318
  Run:
377
319
  aib inspect --stdin
378
320
 
379
- Input:
380
- file @svc/service.ts +localOnly
321
+ Input:
322
+ file @svc/service.ts
381
323
  file src/index.ts
382
324
 
383
- inspect file src/service.ts [--ranges] [--local-only]
384
-
385
325
  Inspect Imports
386
326
 
387
327
  Use imports to inspect static and dynamic imports in a file.
@@ -454,32 +394,16 @@ members @svc/service.ts entities=[Service,ServiceOptions] +all +ranges
454
394
 
455
395
  inspect members src/service.ts Service [--limit N] [--offset N] [--all] [--ranges]
456
396
 
457
- Inspect Code
458
-
459
- Use code to fetch exact declarations or members.
460
- It returns focused code without reading the whole file.
461
-
462
- Good for:
463
- - reading a known function, class, method, declaration, `default`, or `IIFE#N`
464
- - fetching several related code blocks in one request
465
- - keeping context focused on code needed for the current task
466
-
467
- Controls:
468
- file, entity, entities, parent, show, ranges
469
-
470
- Specific:
471
- show include source output
472
-
473
- Defaults: +show +ranges
474
- Use -show for names/ranges only.
475
- Use -ranges for source without ranges.
476
-
477
- Run:
478
- aib inspect --stdin
479
-
480
- Input:
481
- code @svc/service.ts Service.{render,reset} normalize
482
- code @svc/serviceB.ts ServiceB.{constructor} default IIFE#1
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
483
407
 
484
408
  Inspect Deps
485
409
 
@@ -533,71 +457,14 @@ usages target=@svc/service.ts entities=[createService,normalize,Service.{render,
533
457
  Expand saved usages when needed:
534
458
  inspect usages --from-file aib:usages:service-usages --focus createService --detail code --limit 20
535
459
 
536
- Inspect Graph
537
-
538
- Use graph when the question is about file/module boundaries, not one symbol.
539
- It builds a reusable map of local import relationships, then lets you focus files inside that map.
540
-
541
- Good for:
542
- - mapping an unfamiliar directory or subsystem
543
- - seeing which files are hubs, entrypoints, or leaves
544
- - comparing a few known areas without mapping all src
545
- - choosing files/entities to inspect next
546
- - checking module boundaries when ownership is unclear
547
-
548
- Use deps for one entity's outgoing dependencies.
549
- Use usages for real incoming references.
550
- Use graph for file-level connectivity.
551
-
552
- Model:
553
- build graph: scope + view + save
554
- query graph: from + focus + output toggles
555
-
556
- view controls what enters the saved graph.
557
- focus only expands details for files already inside it.
558
- If focus misses a file, rebuild with wider scope or view.
559
-
560
- Default view:
561
- directory scope -> local
562
- file or multiple scopes -> neighbors
563
- from -> uses the saved graph
564
-
565
- Views:
566
- local only files inside scope; best directory map
567
- neighbors direct import neighborhood; best file-centered map
568
- expanded wider neighborhood; more output
569
-
570
- Scope choice:
571
- scope=src creates a broad reusable map for src.
572
- scope=src/services is cheaper for local work.
573
- scope=[src/services,src/components] compares known areas without mapping all src.
574
-
575
- After you understand which graph sections matter, hide the rest with flags.
576
- Graph can be noisy; shape it for the current task.
577
-
578
- Controls:
579
- scope, view, from, focus, symbolUsage, edges, hubs, entrypoints, leaves, exclude, save
580
-
581
- Specific:
582
- view local|neighbors|expanded
583
- from reuse saved graph index; from=aib:graph:<name>
584
- focus focus a file inside the graph; focus=path
585
- symbolUsage show imported symbols on edges; +symbolUsage
586
-
587
- edges/hubs/entrypoints/leaves output section toggles; +name or -name
588
-
589
- Run:
590
- aib inspect --stdin
460
+ Inspect Graph
591
461
 
592
- Input:
593
- graph scope=@svc view=local >services-graph
594
- graph from=aib:graph:services-graph focus=[@svc/users.ts,@svc/admins.ts] +symbolUsage -edges
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.
595
465
 
596
- Focus saved graph later:
597
- inspect graph --from-file aib:graph:services-graph --focus @svc/messages.ts --focus @svc/posts.ts --symbol-usage
598
-
599
- Inline graph focus can add focus and symbolUsage.
600
- Use DSL or request flags to hide sections such as edges/hubs/entrypoints/leaves.
466
+ Focused topic:
467
+ aib help inspect.graph
601
468
 
602
469
  Inspect Tree
603
470
 
@@ -624,30 +491,12 @@ tree src depth=4 +onlyDirs limit=200 +ned +nec
624
491
  tree @svc depth=3 only=["**/*.ts"] exclude=["**/*.test.ts","**/* copy.ts"]
625
492
  tree src depth=3 only=["src/services/**"] limit=80
626
493
 
627
- Inspect Duplicates
628
-
494
+ Inspect Duplicates
495
+
629
496
  Use duplicates to find repeated top-level names and exact declaration copies.
630
- It is useful when many files may contain copied local helpers, duplicated types, or repeated declarations.
631
-
632
- Start with summary for broad scopes.
633
- Use locations when you need files/lines.
634
- Use code only for duplicate names you are ready to inspect.
635
-
636
- Controls:
637
- scope, detail, limit, offset, kinds, entities, exclude, pathExclude
638
-
639
- Specific:
640
- entities only these duplicate names/selectors
641
- exclude skip these names/selectors
642
- pathExclude skip files or path/glob-like patterns
643
- kinds selector kinds, e.g. f, t, c, etc.; kinds=[...]
644
-
645
- Run:
646
- aib inspect --stdin
647
497
 
648
- Input:
649
- duplicates scope=src detail=sum exclude=[config,baseUrl] kinds=[t,i] limit=20
650
- duplicates scope=@svc detail=loc pathExclude=[src/generated,"**/* copy.ts"] limit=20
498
+ Focused topic:
499
+ aib help inspect.duplicates
651
500
 
652
501
  Mutation
653
502
 
@@ -656,59 +505,54 @@ Successful mutations update affected references and imports.
656
505
 
657
506
  Semantic mutations change TypeScript symbols/declarations.
658
507
  File mutations change file layout.
659
-
660
- After a successful mutation, do not manually patch the same imports unless aib reports a follow-up or checks show a real issue.
661
-
662
- If mutation imports do not match the repo style, run:
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:
663
512
  aib help config-setup.import-rules
664
513
 
665
514
  AIB mutations are designed to reduce manual checking.
666
515
  Your job is to express the intent in DSL.
667
516
  AIB's job is to convert that intent into code changes.
668
517
 
669
- Choose the mutation by intent:
670
- rename - rename TypeScript symbols
671
- move toFile - move TypeScript declarations into one file
672
- modulePlan - split one source file into several modules
673
- file move toDir - move whole files into directories
674
- file rename - rename whole files.
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.
675
527
 
676
528
  Do not read all changed files just because a mutation touched them.
677
529
  That defeats the purpose of using AIB for mechanical refactors.
678
530
 
679
- If the command succeeds, the requested mechanical change was applied.
531
+ When the command completes, use its output as the source of truth for what changed and what remains.
680
532
  After failure or partial success, use the output to decide the next request.
681
533
 
682
- When running mutation commands, set the harness timeout to 3 minutes.
534
+ Set the command timeout to 5 minutes for AIB requests.
683
535
  If the harness stops waiting before final output appears, recover with:
684
536
 
685
537
  aib execution status last
686
538
 
687
- Modes:
688
- preview inspect planned edits, then apply by id
689
- apply write a previewed change
690
- execute write immediately
691
-
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.
692
545
  Use execute for routine requests.
693
-
694
- Use preview/apply when you are learning a mutation command, or when one request contains a large multi-step change that you want to inspect before writing files.
695
- Typical examples: a huge modulePlan or refactor batch.
696
-
697
- preview/apply uses more tool calls and more output tokens.
698
- preview validates input and planned edits, but writing files can still hit a TS/IDE refactor error.
699
- execute writes immediately and reports what changed.
700
-
701
- If a mutation cannot be completed, aib reports the failed part.
702
546
 
703
- Prefer batch DSL for related mutations.
704
- One request can describe several related changes.
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.
705
550
 
706
- When a batch mutation partly fails, split the next request by failure type.
707
-
708
- If the failure is wrong input, fix the selector/entity/file and run the corrected remaining intent.
709
- If TS/IDE cannot apply one part of the batch, do not treat the whole intent as failed.
710
- Run the next request without the failed part and let aib report any later failures.
711
- Then decide whether failed parts need smaller requests or manual fallback.
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.
712
556
 
713
557
  Rename
714
558
 
@@ -716,92 +560,70 @@ Rename is for semantic symbol renames.
716
560
  It follows TypeScript references.
717
561
  It is not plain-text replacement.
718
562
 
719
- Run:
720
- aib rename execute --stdin
721
-
722
- Input:
723
- @file src/service.ts
563
+ Run:
564
+ aib mutate execute --stdin
565
+
566
+ Input:
567
+ @source src/service.ts
724
568
  rename oldName->newName OldService->NewService
725
569
 
726
570
  Move
727
571
 
728
- Move transfers one or more symbols from one file to another.
729
- Move is semantic; it moves supported declarations and updates affected imports/references.
730
- Use it for focused extraction into a single target file.
731
- For large file splitting across several target files, use modulePlan.
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.
732
575
 
733
576
  If imports created by move do not match the repo style, run:
734
577
  aib help config-setup.import-rules
735
578
 
736
- Move several entities into one target:
737
- Run:
738
- aib move toFile execute --stdin
739
-
579
+ Run:
580
+ aib mutate execute --stdin
581
+
740
582
  Input:
741
583
  @source src/service.ts
742
584
  move src/service.helpers.ts: oldHelper OtherHelper
585
+ move src/service.types.ts: ServiceOptions
743
586
 
744
- Module Plan
745
-
746
- modulePlan is for splitting large files into smaller modules.
747
- Use it when a large file should be refactored into several target files.
587
+ Module Plan
748
588
 
749
- modulePlan orchestrates semantic moves and updates affected references/imports.
750
-
751
- If imports created by modulePlan do not match the repo style, run:
752
- aib help config-setup.import-rules
753
-
754
- Use +expectEmpty when your modulePlan intent is to move all declarations out of the source file.
755
- It does not change the move behavior; it only asks output to report remaining source declarations if any remain.
756
- Use it only when remaining declarations would mean the split did not match your intent.
757
- Do not use it for partial extractions.
758
-
759
- Split one large source file into several targets:
760
- Run:
761
- aib modulePlan execute --stdin
589
+ Use module only for a full-file split: moving all declarations from one source file into target modules.
762
590
 
763
- Input:
764
- @source src/large-service.ts +expectEmpty
765
- module src/large-service.types.ts: ServiceOptions ServiceMode
766
- module src/large-service.core.ts: LargeService createLargeService
591
+ Focused topic:
592
+ aib help modulePlan
767
593
 
768
- How inheritance works above:
769
- @source sets the source file once.
770
- +expectEmpty says no declarations should remain in the source after the plan.
771
- Each module line declares one target and the entities that should move there.
594
+ Mixed Mutation
772
595
 
773
- Refactor Batch
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.
774
600
 
775
- refactor batch runs related mutation requests together.
776
- Use it when one workflow needs ordered steps, such as rename plus move.
777
-
778
- Use modulePlan when the main intent is only to split one large file into target modules.
779
- Use refactor batch when the split also includes coordinated renames or mixed mutation steps.
601
+ Run:
602
+ aib mutate execute --stdin
780
603
 
781
- Example: rename and move in one request
782
-
783
- Run:
784
- aib refactor batch execute --stdin
785
-
786
604
  Input:
787
605
  @source src/service.ts
788
- rename oldHelper->newHelper oldType->newType
606
+ rename oldHelper->newHelper AUser->AdminUser
789
607
  move src/service.helpers.ts: newHelper
790
- move src/service.types.ts: newType
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
791
613
 
792
- This keeps related mutation intent together:
793
- rename first, then move the renamed symbols.
614
+ @base src
615
+ renameFile svc/ws-cli.ts->cli.ts svc/ws-command.ts->command.ts
794
616
 
795
- File Move and File Rename
617
+ File Layout
796
618
 
797
- Use file move/rename when the filesystem layout is the intent.
619
+ Use moveToDir and renameFile when the filesystem layout is the intent.
798
620
  Do not change filesystem layout manually.
799
621
 
800
622
  Focused topics:
801
- aib help file.move file.rename
802
-
803
- Layout smell trigger:
804
- If a directory has many related files sharing a prefix, mixed responsibilities, or files that should be grouped by feature, read:
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:
805
627
  aib help recipe.file-layout
806
628
 
807
629
  Imports Normalize
@@ -811,16 +633,23 @@ Use imports normalize for explicit import-style cleanup.
811
633
  Focused topic:
812
634
  aib help imports.normalize
813
635
 
814
- JS/TS compatibility
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:
815
640
 
816
- With tsconfig:
817
- TS/TSX inspect + rename + move + modulePlan
818
- JS/MJS/JSX ESM inspect + rename + move + modulePlan
819
- CJS / JS CommonJS inspect + rename
641
+ aib help recipe.import-boundary
642
+
643
+ JS/TS compatibility
820
644
 
821
- Without tsconfig:
822
- JS/MJS/JSX/CJS inspect only
823
- rename/move/modulePlan require tsconfig
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
824
653
 
825
654
  CommonJS means .cjs or module.exports / exports.*.
826
655
 
@@ -861,23 +690,29 @@ Use qr for cross-OS quick reads of text files: ts, js, cmd, sh, json, log, txt,
861
690
  Use it for compact line windows and batching.
862
691
  qr supports AIB path aliases.
863
692
 
864
- It is not a replacement for inspect.
693
+ It is not a replacement for aib inspect in TS/JS cases.
865
694
  Use it as a token-efficient way to read text data when semantic inspect is not needed.
866
695
 
867
696
  For focused text reads, prefer qr over cat/Get-Content/type, especially when aliases, line windows, or batching help.
868
697
  Use shell reads only when piping into shell tooling or qr is unavailable.
869
698
 
870
699
  Controls:
871
- h=N head; first N lines
872
- t=N tail; last N lines
873
- o=N l=N range; starting line and line count
874
- all whole file
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
875
705
 
876
706
  If no window is provided, qr uses h=80.
877
- If all is present, it wins over other window flags.
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.
878
713
 
879
714
  Inline:
880
- aib qr @scripts/a.txt h=80 @scripts/b.py o=300 l=50 @logs/app.log all
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
881
716
 
882
717
  aib rg
883
718