@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
@@ -1,40 +1,37 @@
1
1
  # Move
2
2
 
3
- Modes: preview/apply or execute.
4
- Use execute for routine changes.
5
- Use preview/apply when learning a mutation command or inspecting a large multi-step request before writing files.
3
+ Run mutation DSL through aib mutate.
4
+ Use execute for routine changes.
5
+ Use preview/apply when you want to review intent before writing.
6
+
7
+ Common commands:
8
+ aib mutate preview --stdin
9
+ aib mutate execute --stdin
10
+ aib mutate apply <mutateId>
6
11
 
7
12
  If a name is ambiguous, use selectors.
8
13
  Run help selectors to refresh selector syntax.
9
14
 
10
- Move transfers one or more symbols from one file to another.
11
- Move is semantic; it moves supported declarations and updates affected imports/references.
12
- Use it for focused extraction into a single target file.
13
- For large file splitting across several target files, use modulePlan.
15
+ Move transfers declarations from one source file to target files.
16
+ Move is semantic; it moves supported declarations and updates affected imports/references.
17
+ Use move as the default operation for moving declarations, including multi-target extractions.
14
18
 
15
19
  If imports created by move do not match the repo style, run:
16
20
  aib help config-setup.import-rules
17
21
 
18
- Move to file:
19
- move toFile preview --stdin
20
- move toFile execute --stdin
21
- move toFile apply <previewId>
22
-
23
- Use preview/apply when you want to inspect the planned change before writing files.
24
- Use execute when you want to write immediately.
22
+ Syntax:
23
+ move <targetFile>: <entity...>
24
+
25
+ Run:
26
+ aib mutate execute --stdin
25
27
 
26
- Move several entities into one target:
27
- Run:
28
- aib move toFile execute --stdin
29
-
30
28
  Input:
31
29
  @source src/service.ts
32
30
  move src/service.helpers.ts: oldHelper OtherHelper
31
+ move src/service.types.ts: ServiceOptions
33
32
 
34
33
  Move creates the target file when needed.
35
34
  The target can already exist.
36
35
 
37
- The request means:
38
- take entities from sourceFile and move them into targetFile.
39
-
40
- Use refactor batch when the same workflow needs both rename and move steps.
36
+ The request means:
37
+ take entities from sourceFile and move them into targetFile.
@@ -0,0 +1,46 @@
1
+ # MoveToDir
2
+
3
+ Run mutation DSL through aib mutate.
4
+ Use execute for routine changes.
5
+ Use preview/apply when you want to review intent before writing.
6
+
7
+ Common commands:
8
+ aib mutate preview --stdin
9
+ aib mutate execute --stdin
10
+ aib mutate apply <mutateId>
11
+
12
+ moveToDir moves whole files into target directories.
13
+ Missing target directories are created automatically.
14
+
15
+ Use it when the filesystem layout is the intent.
16
+
17
+ Syntax:
18
+ moveToDir <targetDir>: <file...>
19
+
20
+ Run:
21
+ aib mutate execute --stdin
22
+
23
+ Input:
24
+ @base src/svc
25
+ moveToDir facade: ../services/fileA.ts fileB.ts
26
+ moveToDir ../core/services: fileC.ts classes/main/fileD.ts
27
+
28
+ How this resolves:
29
+ ../services/fileA.ts resolves to src/services/fileA.ts
30
+ fileB.ts resolves to src/svc/fileB.ts
31
+ facade resolves to src/svc/facade
32
+ ../core/services resolves to src/core/services
33
+ moved files keep their basename, not their source subdirectory
34
+
35
+ Resulting files:
36
+ src/svc/facade/fileA.ts
37
+ src/svc/facade/fileB.ts
38
+ src/core/services/fileC.ts
39
+ src/core/services/fileD.ts
40
+
41
+ Rules:
42
+ - @base sets the base directory for source files and target directories.
43
+ - source file paths resolve from @base; cwd-relative paths are accepted when the @base path does not exist.
44
+ - target directories resolve from @base.
45
+ - source paths and target directories may use `..`.
46
+ - moveToDir supports files, not directories.
@@ -0,0 +1,34 @@
1
+ # Mixed Mutation
2
+
3
+ Run mutation DSL through aib mutate.
4
+ Use execute for routine changes.
5
+ Use preview/apply when you want to review intent before writing.
6
+
7
+ Common commands:
8
+ aib mutate preview --stdin
9
+ aib mutate execute --stdin
10
+ aib mutate apply <mutateId>
11
+
12
+ If a name is ambiguous, use selectors.
13
+ Run help selectors to refresh selector syntax.
14
+
15
+ Use one mutate request for one ordered workflow.
16
+ Mix rename, move, moveToDir, and renameFile when they belong to the same workflow.
17
+ Order lines the way the workflow should run.
18
+ Do not include module lines in mixed requests.
19
+
20
+ Run:
21
+ aib mutate execute --stdin
22
+
23
+ Input:
24
+ @source src/service.ts
25
+ rename oldHelper->newHelper AUser->AdminUser
26
+ move src/service.helpers.ts: newHelper
27
+ move src/service.types.ts: AdminUser
28
+
29
+ @base src/main
30
+ moveToDir facade: ../services/fileA.ts fileB.ts
31
+ moveToDir ../core/services: fileC.ts classes/main/fileD.ts
32
+
33
+ @base src
34
+ renameFile svc/ws-cli.ts->cli.ts svc/ws-command.ts->command.ts
@@ -0,0 +1,55 @@
1
+ # Mutation
2
+
3
+ Mutation commands change code and files through TS/IDE-backed operations.
4
+ Successful mutations update affected references and imports.
5
+
6
+ Semantic mutations change TypeScript symbols/declarations.
7
+ File mutations change file layout.
8
+
9
+ After a successful mutation, do not manually patch the same imports unless aib reports a follow-up or checks show a real issue.
10
+
11
+ If mutation imports do not match the repo style, run:
12
+ aib help config-setup.import-rules
13
+
14
+ AIB mutations are designed to reduce manual checking.
15
+ Your job is to express the intent in DSL.
16
+ AIB's job is to convert that intent into code changes.
17
+
18
+ The DSL inside the request describes the intent:
19
+ rename rename TypeScript symbols
20
+ move move TypeScript declarations into target files
21
+ moveToDir move whole files into directories
22
+ renameFile rename whole files
23
+ module full-file split: move all declarations from one source into target modules
24
+
25
+ Mix rename, move, moveToDir, and renameFile when they belong to the same workflow.
26
+ Run module splits as a separate mutate request.
27
+
28
+ Do not read all changed files just because a mutation touched them.
29
+ That defeats the purpose of using AIB for mechanical refactors.
30
+
31
+ When the command completes, use its output as the source of truth for what changed and what remains.
32
+ After failure or partial success, use the output to decide the next request.
33
+
34
+ Set the command timeout to 5 minutes for AIB requests.
35
+ If the harness stops waiting before final output appears, recover with:
36
+
37
+ aib execution status last
38
+
39
+ Modes:
40
+ preview review DSL intent, then apply by id
41
+ apply execute from preview
42
+ execute execute immediately
43
+
44
+ Use preview/apply when you are learning a mutation command.
45
+ Use execute for routine requests.
46
+
47
+ preview/apply uses more tool calls and more output tokens.
48
+ preview checks the DSL intent; execute/apply writes files and can still hit mutation errors.
49
+ execute writes immediately and reports what changed.
50
+
51
+ Prefer one mutate DSL request for related changes.
52
+ For mixable operations, batch the ordered workflow instead of sending one command per symbol or file.
53
+
54
+ If a mutation cannot be fully completed, aib reports what failed, what was applied, and what did not run.
55
+ Fix wrong input before retrying; do not repeat provider/manual-extraction failures unchanged.
@@ -3,27 +3,14 @@
3
3
  To refresh help protocol:
4
4
  aib help help-protocol
5
5
 
6
- Use aib before broad file reads when the question is about TS/JS structure, references, dependencies, or focused code.
7
- Use qr for cross-OS quick reads of text files, logs, JSON, scripts, and line windows.
8
- It is not a replacement for inspect.
9
- Use normal text search when the question is just text.
10
-
11
- For a first pass in a new codebase, map directories before reading files:
12
-
13
- tree src depth=5 +onlyDirs limit=200
6
+ Working patterns
14
7
 
15
- Start compact for broad scans.
16
- Use summary, locations, or local graph views first when output could be large.
17
- Expand to code or wider graph views only for the parts that matter now.
8
+ Use aib before broad file reads when the question is about TS/JS structure, references, dependencies, or focused code.
18
9
  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.
19
10
 
20
11
  Compact output is a starting point, not a substitute for needed code.
21
12
  Fetch exact code when correctness depends on implementation details.
22
13
 
23
- Use prefs when the current phase repeats the same output shape.
24
- Turn details off when they stop helping.
25
- Turn them back on when they matter.
26
-
27
14
  Use @file only when several following operations share the same file.
28
15
  For independent one-off file requests, pass the path directly:
29
16
  file @svc/a.ts
@@ -39,7 +26,7 @@ That defeats the purpose of using AIB for mechanical refactors.
39
26
  If the command succeeds, the requested mechanical change was applied.
40
27
  After failure or partial success, use the output to decide the next request.
41
28
 
42
- For mutation commands, set the shell/tool harness timeout to 3 minutes.
29
+ Set the command timeout to 5 minutes for AIB requests.
43
30
 
44
31
  If a mutation command times out or returns no final output, use:
45
32
 
@@ -4,34 +4,25 @@ Use qr for cross-OS quick reads of text files: ts, js, cmd, sh, json, log, txt,
4
4
  Use it for compact line windows and batching.
5
5
  qr supports AIB path aliases.
6
6
 
7
- It is not a replacement for inspect.
7
+ It is not a replacement for aib inspect in TS/JS cases.
8
8
  Use it as a token-efficient way to read text data when semantic inspect is not needed.
9
9
 
10
10
  For focused text reads, prefer qr over cat/Get-Content/type, especially when aliases, line windows, or batching help.
11
11
  Use shell reads only when piping into shell tooling or qr is unavailable.
12
12
 
13
13
  Controls:
14
- -h N head; first N lines
15
- -t N tail; last N lines
16
- -o N offset; starting line, 1-based
17
- -l N limit; line count for offset reads
18
- -a all; whole file
14
+ h=N head; first N lines
15
+ t=N tail; last N lines
16
+ r=A:B,C:D,E ranges; A with next B lines, C with next D lines, E with default 80 lines
17
+ s=A:B,C:D,E slices; inclusive A through B, C through D, and line E
18
+ all whole file
19
19
 
20
- If no window is provided, qr uses -h 80.
21
- If -a is present, it wins over other window flags.
20
+ If no window is provided, qr uses h=80.
21
+ If all is present, it reads the whole file.
22
+ Avoid `all` for files whose size/content is unknown; it can dump unnecessary context.
23
+ Overlapping windows are merged.
22
24
 
23
- Run:
24
- aib qr --stdin
25
+ Use s= when copying ranges from inspect file.
26
+ Combine windows for the same file instead of repeating the path.
25
27
 
26
- Input:
27
- qr @scripts/a.txt h=80
28
- qr @scripts/b.py o=300 l=50
29
- qr @scripts/c.md t=120
30
- qr @logs/app.log all
31
-
32
- Inline:
33
- aib qr @scripts/a.txt -h 80
34
- aib qr @scripts/b.py -o 300 -l 50
35
- aib qr @logs/app.log -a
36
-
37
- Use stdin for several reads.
28
+ {{qr.inline.examples}}
@@ -1,30 +1,43 @@
1
1
  # Quick Map
2
2
 
3
- Read:
4
- qr quick reads: ts, js, cmd, sh, json, log, txt, etc.
5
- view hidden/truncated output
3
+ Run as: aib help <topic...>
6
4
 
7
- Inspect:
8
- file
9
- imports
10
- exports
11
- members
12
- code
13
- deps
14
- usages
15
- graph
16
- tree
17
- duplicates
18
- cycles
5
+ Help conventions:
6
+ help-format
19
7
 
20
- Mutate:
8
+ Refresh workflow model:
9
+ basics patterns
10
+
11
+ Core focused topics:
12
+ session
13
+ rules
14
+ selectors
15
+ dsl
16
+ inspect.shared
17
+ mutation.shared
18
+ recipes
19
+
20
+ Feature topics:
21
+ inspect.file
22
+ inspect.imports
23
+ inspect.exports
24
+ inspect.members
25
+ inspect.code
26
+ inspect.deps
27
+ inspect.usages
28
+ inspect.graph
29
+ inspect.tree
30
+ inspect.duplicates
31
+ inspect.cycles
21
32
  rename
22
33
  move
34
+ moveToDir
35
+ renameFile
36
+ mutate.mixed batch related mutation steps
23
37
  modulePlan
24
- refactor batch
25
- imports normalize
26
-
27
- Other:
28
- config
29
- prefs
30
- reveal tsconfig and tsconfig alias discovery
38
+ import.rebase
39
+ imports.normalize
40
+ view
41
+ qr
42
+ rg
43
+ reveal tsconfig and tsconfig alias discovery
@@ -0,0 +1,15 @@
1
+ # File Layout Recipe
2
+
3
+ Assumption:
4
+ You are changing whole-file layout.
5
+ You are not moving TypeScript declarations or renaming TypeScript symbols.
6
+
7
+ Related topics:
8
+ aib help mutation moveToDir renameFile
9
+
10
+ If you only need to move files, do not read renameFile.
11
+ If you only need to rename files, do not read moveToDir.
12
+
13
+ Use focused topic syntax to express the file layout refactor.
14
+ Do not move or rename files manually.
15
+ Use AIB file mutations so references/imports are updated.
@@ -0,0 +1,92 @@
1
+ # Import Boundary Recipe
2
+
3
+ Assumption:
4
+ You are changing import boundaries, not only import style.
5
+
6
+ Goal:
7
+ Move eligible consumers toward or away from a barrel boundary.
8
+
9
+ Choose direction:
10
+ - useBarrel when a barrel should become the import boundary.
11
+ - useDirect when consumers should stop importing through that barrel.
12
+
13
+ Optional limits:
14
+ Use the controls below only when the migration is intentionally partial.
15
+
16
+ Use execute for routine changes.
17
+ Use preview/apply when you want to review intent before writing.
18
+
19
+ Common commands:
20
+ aib mutate preview --stdin
21
+ aib mutate execute --stdin
22
+ aib mutate apply <mutateId>
23
+
24
+ If a name is ambiguous, use selectors.
25
+
26
+ Syntax:
27
+
28
+ @scope <consumer-scope>
29
+ imports.useBarrel <barrel-file> [pathExclude=[...]] [symbols=[...]]
30
+
31
+ @scope <consumer-scope>
32
+ imports.useDirect <barrel-file> [pathExclude=[...]] [symbols=[...]]
33
+
34
+ Controls:
35
+
36
+ @scope consumer file or directory scope to scan
37
+ pathExclude consumer files, directories, or glob-like patterns to leave unchanged
38
+ symbols exported barrel names to update
39
+
40
+ Use pathExclude for tests, generated files, fixtures, or migration-excluded areas.
41
+
42
+ By default, do not list symbols.
43
+ AIB reads the barrel and rewrites eligible imports for exported names it can resolve.
44
+ Use symbols only when the request must affect a specific subset of the barrel surface.
45
+
46
+ Run:
47
+ aib mutate execute --stdin
48
+
49
+ Use a barrel as the import boundary:
50
+
51
+ Input:
52
+ @scope src/features
53
+ imports.useBarrel src/logs/index.ts
54
+
55
+ Use direct source imports instead of a barrel:
56
+
57
+ Input:
58
+ @scope src/features
59
+ imports.useDirect src/logs/index.ts
60
+
61
+ Skip consumers that should not be rewritten:
62
+
63
+ Input:
64
+ @scope src/features
65
+ imports.useBarrel src/logs/index.ts pathExclude=["**/*.test.ts","src/generated/**"]
66
+
67
+ Limit the request to selected exported names:
68
+
69
+ Input:
70
+ @scope src/features
71
+ imports.useDirect src/logs/index.ts symbols=[parseLogsQuery,LogsQuery]
72
+
73
+ Compatibility
74
+
75
+ Supported:
76
+ - ES named imports
77
+ - named re-exports
78
+ - star re-exports
79
+ - type-only named imports
80
+ - aliased named re-exports
81
+
82
+ Skipped or unsupported:
83
+ - CommonJS require/module.exports
84
+ - default re-exports
85
+ - namespace imports
86
+ - side-effect imports
87
+ - default import parts
88
+
89
+ Skipped imports are not rewritten.
90
+
91
+ Split the migration only when different consumer areas need different boundaries,
92
+ or when part of the repo should intentionally stay unchanged for this pass.
@@ -0,0 +1,68 @@
1
+ # Safe Artifact Probing Recipe
2
+
3
+ You are about to run a tool, runtime, parser, compiler, formatter, linter, `require`, or `vm` probe against a generated, bundled, minified, dependency/vendor, lock/patch, or huge-line artifact.
4
+
5
+ Do not print raw probe output directly.
6
+ Capture stdout/stderr first, then read only a small byte-capped diagnostic.
7
+
8
+ Run the probe into files:
9
+
10
+ `<probe command> > <tmp-out> 2> <tmp-err>`
11
+
12
+ Print status separately.
13
+ Read a small byte-capped diagnostic from stderr.
14
+
15
+ Example:
16
+
17
+ `head -c 2000 <tmp-err>`
18
+
19
+ Use an equivalent byte-capped read for the current shell when `head -c` is unavailable.
20
+
21
+ Do not use line count as the safety boundary for unknown huge-line output.
22
+ `tail -40` can still print a huge bundled source line.
23
+
24
+ If the diagnostic is mostly raw source context, do not increase the cap.
25
+ Change the probe shape.
26
+
27
+ Use the diagnostic signal to narrow the next step:
28
+ - exit code;
29
+ - error name;
30
+ - error message;
31
+ - short stack frames;
32
+ - path, line, symbol, option, or short literal.
33
+
34
+ If the task is still "where is the relevant code?", use `recipe.unfamiliar-area` first.
35
+ Return here before running a risky parser/runtime/tool probe.
36
+
37
+ For JavaScript parse-only questions, prefer a syntax check before runtime execution:
38
+
39
+ `node -c <artifact> > <tmp-out> 2> <tmp-err>`
40
+
41
+ For JavaScript runtime questions, catch exceptions and print structured fields instead of raw stacks.
42
+
43
+ Print:
44
+ - error name;
45
+ - error message;
46
+ - a small number of short stack-frame-looking lines.
47
+
48
+ Do not print raw `e.stack` for generated, bundled, minified, dependency/vendor, or huge-line artifacts.
49
+
50
+ Example shape:
51
+
52
+ ```js
53
+ try {
54
+ // run the smallest runtime probe that answers the question
55
+ } catch (e) {
56
+ console.error(`${e?.name || "Error"}: ${e?.message || ""}`);
57
+ for (const line of String(e?.stack || "").split(/\r?\n/)) {
58
+ const text = line.trim();
59
+ if (text.startsWith("at ") && text.length < 500) {
60
+ console.error(text);
61
+ }
62
+ }
63
+ process.exitCode = 1;
64
+ }
65
+ ```
66
+
67
+ After a small diagnostic, continue with narrow reads/searches.
68
+ Read artifact implementation only after the diagnostic points to a specific term, range, wrapper, entrypoint, or behavior.
@@ -0,0 +1,64 @@
1
+ # Unfamiliar Area Recipe
2
+
3
+ The same task can be solved with broad output dumps or with structured narrowing.
4
+ Use this recipe to spend context on signal: boundaries, candidate files, then exact slices.
5
+
6
+ Start with directory structure and boundaries.
7
+ Use `inspect.tree` with directories first:
8
+
9
+ tree <scope> depth=3 +onlyDirs limit=120
10
+
11
+ If the task explicitly requires a hidden/dependency/vendor/generated area, keep the scope narrow and only then disable excludes:
12
+
13
+ tree <narrow-scope> depth=3 +onlyDirs limit=120 +ned +nec
14
+
15
+ Do not start with broad `+ned +nec` over the repo root.
16
+
17
+ Localize candidate files.
18
+ If you have a concrete term, symbol, package name, error text, import specifier, or config key, use count search before full match output:
19
+
20
+ aib rg -- -c "<pattern>" <scope>
21
+
22
+ Use counts to pick a small set of candidate files before reading matches or file content.
23
+
24
+ If you do not have a concrete search pattern yet, inspect the file layout instead of inventing broad patterns:
25
+
26
+ tree <narrow-scope> depth=4 only=["**/*.ts","**/*.tsx","**/*.js","**/*.json"] limit=160
27
+
28
+ Use the file layout to pick likely files or narrower directories, then continue with focused inspect or focused search.
29
+
30
+ Map candidate files before implementation reads.
31
+ For TS/JS candidates, inspect the strongest candidates first.
32
+
33
+ Run:
34
+ aib inspect --stdin
35
+
36
+ Input:
37
+ file <candidate-a.ts>
38
+ file <candidate-b.ts>
39
+
40
+ Use file output for declarations and ranges.
41
+
42
+ Add imports only when dependency, wrapper, source, or "where does this come from" questions matter:
43
+
44
+ imports <candidate-a.ts>
45
+
46
+ Add exports only for public module surface, barrels, re-exports, export *, or boundary questions:
47
+
48
+ exports <candidate-index.ts> +resolveStar
49
+
50
+ Then read exact implementation slices with qr:
51
+
52
+ aib qr <candidate-a.ts> s=<range-a>,<range-b>
53
+
54
+ For non-TS/JS candidates, start with small qr windows:
55
+
56
+ aib qr <candidate> h=80
57
+
58
+ Then narrow with `s=` or `r=` as needed.
59
+ Avoid `all` for files whose size/content is unknown.
60
+
61
+ Read implementation only after you have a narrowed scope, candidate files, and ranges or windows.
62
+
63
+ Focused help:
64
+ aib help inspect.tree inspect.file inspect.imports inspect.exports qr rg
@@ -0,0 +1,20 @@
1
+ # Recipe Router
2
+
3
+ Run as:
4
+ aib help <recipe...>
5
+
6
+ Read and use a recipe when one of these situations appears during regular work.
7
+
8
+ Opportunistic triggers:
9
+
10
+ - Trigger: you create, change, or adopt a barrel/import boundary
11
+ Read: recipe.import-boundary
12
+
13
+ - Trigger: you are about to change file layout, move files, or rename files
14
+ Read: recipe.file-layout
15
+
16
+ - Trigger: you are about to debug, modify, or extend code in an unfamiliar area
17
+ Read: recipe.unfamiliar-area
18
+
19
+ - Trigger: you are about to run a tool or runtime probe against a generated, bundled, minified, dependency/vendor, lock/patch, or huge-line artifact
20
+ Read: recipe.safe-artifact-probing
@@ -1,8 +1,13 @@
1
1
  # Rename
2
2
 
3
- Modes: preview/apply or execute.
4
- Use execute for routine changes.
5
- Use preview/apply when learning a mutation command or inspecting a large multi-step request before writing files.
3
+ Run mutation DSL through aib mutate.
4
+ Use execute for routine changes.
5
+ Use preview/apply when you want to review intent before writing.
6
+
7
+ Common commands:
8
+ aib mutate preview --stdin
9
+ aib mutate execute --stdin
10
+ aib mutate apply <mutateId>
6
11
 
7
12
  If a name is ambiguous, use selectors.
8
13
  Run help selectors to refresh selector syntax.
@@ -11,29 +16,16 @@ Rename is for semantic symbol renames.
11
16
  It follows TypeScript references.
12
17
  It is not plain-text replacement.
13
18
 
14
- Single rename:
15
- rename preview <file> <entity> <newName>
16
- rename execute <file> <entity> <newName>
17
- rename apply <previewId>
18
-
19
- Use preview/apply when you want to inspect the planned change before writing files.
20
- Use execute when you want to write immediately.
21
-
22
- Run:
23
- aib rename execute --stdin
24
-
25
- Input:
26
- @file src/service.ts
19
+ Syntax:
20
+ rename <oldName>-><newName> <oldName2>-><newName2>
21
+
22
+ Run:
23
+ aib mutate execute --stdin
24
+
25
+ Input:
26
+ @source src/service.ts
27
27
  rename oldName->newName OldService->NewService
28
28
 
29
- Rename can use plain names or selectors.
30
- For methods and properties, use parent-qualified syntax when needed:
31
- rename Service.oldMethod->newMethod
32
-
33
- Single rename:
34
- rename preview <file> <entity> <newName>
35
- rename execute <file> <entity> <newName>
36
- rename apply <previewId>
37
-
38
- Use preview/apply when you want to inspect the planned change before writing files.
39
- Use execute when you want to write immediately.
29
+ Rename can use plain names or selectors.
30
+ For methods and properties, use parent-qualified syntax when needed:
31
+ rename Service.oldMethod->newMethod