@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
@@ -81,11 +81,12 @@ Example:
81
81
 
82
82
  5. Configure import rules
83
83
 
84
- importRules control imports created or expanded by move/modulePlan mutation cleanup.
85
- They do not rewrite the whole project.
86
-
87
- AIB starts from IDE/TS import preferences.
88
- For mutation cleanup, matching importRules in aib.json take priority.
84
+ importRules control imports created or expanded by move/modulePlan mutation cleanup.
85
+ They do not rewrite the whole project.
86
+
87
+ A non-empty importRules block in aib.json is the complete AIB import-style authority.
88
+ Omitted fields keep TypeScript/AIB defaults; they are not filled from editor settings.
89
+ When importRules is empty, AIB may reuse explicit workspace-local IDE/TS preferences.
89
90
  Do not assume IDE/TS defaults match the repo style.
90
91
 
91
92
  Fields:
@@ -1,5 +1,5 @@
1
1
  After context compaction, always run:
2
- aib help help-protocol quick-map
2
+ aib help help-protocol quick-map recipes rules
3
3
  aib config aliases
4
4
 
5
5
  Use focused help when you would otherwise guess how a known AIB capability works.
@@ -14,11 +14,12 @@ aib help config-setup.import-normalize imports.normalize
14
14
 
15
15
  Refresh focused config help by signal:
16
16
  - repeated long paths: aib help config-setup.aliases
17
- - wrong move/modulePlan imports: aib help config-setup.import-rules
17
+ - imports created by mutation do not match repo style: aib help config-setup.import-rules
18
18
  - noisy tree/graph output: aib help config-setup.excludes
19
19
  - too many visible tsconfigs: aib help config-setup.tsconfigs
20
20
 
21
21
  When refreshing multiple areas, request them together instead of one by one.
22
+ Include broad shared topics only once.
22
23
 
23
24
  Example:
24
- aib help patterns mutation inspect inspect.file inspect.code imports.normalize
25
+ aib help mutation moveToDir renameFile inspect inspect.file inspect.deps
@@ -0,0 +1,36 @@
1
+ Import mutations change import declarations and import/export specifiers.
2
+
3
+ Use them when the import target or import style is the intent.
4
+
5
+ Current import mutation intents:
6
+ - imports.normalize changes import style for already-correct targets.
7
+ - imports.useBarrel moves eligible consumers to a barrel/index boundary.
8
+ - imports.useDirect moves eligible consumers from a barrel back to direct source imports.
9
+
10
+ Do not use imports.normalize when the real intent is to force a specific barrel boundary.
11
+ Do not use imports.useBarrel/useDirect when the real intent is only alias-vs-relative style cleanup.
12
+
13
+ Shared controls:
14
+
15
+ @scope consumer file or directory scope to scan
16
+ @files explicit consumer files to scan
17
+ pathExclude files, directories, or glob-like patterns to skip
18
+ symbols exported names to update, when supported by the operation
19
+
20
+ Prefer @scope for a bounded area.
21
+ Use @files for a small known consumer set.
22
+ Use pathExclude for tests, generated files, fixtures, or migration-excluded areas.
23
+
24
+ Use symbols only when the request should affect part of the import surface.
25
+ Do not add symbols by default.
26
+
27
+ Choose the import operation by intent:
28
+
29
+ Use imports.normalize after imports already point to the right files/modules, but their specifier style should change.
30
+
31
+ Use imports.useBarrel when an existing barrel/index file should become the import boundary.
32
+
33
+ Use imports.useDirect when a barrel boundary should be removed for selected consumers.
34
+
35
+ If both target boundary and style are wrong, change the boundary first.
36
+ Normalize style only after the boundary is correct.
@@ -0,0 +1,83 @@
1
+ Import Boundary Mutations
2
+
3
+ Import boundary mutations change where consumers import exported symbols from.
4
+
5
+ Use imports.useBarrel when an existing barrel file should become the import boundary.
6
+ Use imports.useDirect when consumers currently import through a barrel but should import directly from source files.
7
+
8
+ Both operations scan a consumer scope and rewrite eligible ES named imports.
9
+
10
+ Use execute for routine changes.
11
+ Use preview/apply when you want to review intent before writing.
12
+
13
+ Common commands:
14
+ aib mutate preview --stdin
15
+ aib mutate execute --stdin
16
+ aib mutate apply <mutateId>
17
+
18
+ If a name is ambiguous, use selectors.
19
+
20
+ Syntax:
21
+
22
+ @scope <consumer-scope>
23
+ imports.useBarrel <barrel-file> [pathExclude=[...]] [symbols=[...]]
24
+
25
+ @scope <consumer-scope>
26
+ imports.useDirect <barrel-file> [pathExclude=[...]] [symbols=[...]]
27
+
28
+ Controls:
29
+
30
+ @scope consumer file or directory scope to scan
31
+ pathExclude consumer files, directories, or glob-like patterns to leave unchanged
32
+ symbols exported barrel names to update
33
+
34
+ Use pathExclude for tests, generated files, fixtures, or migration-excluded areas.
35
+
36
+ By default, do not list symbols.
37
+ AIB reads the barrel and rewrites eligible imports for exported names it can resolve.
38
+ Use symbols only when the request must affect a specific subset of the barrel surface.
39
+
40
+ Run:
41
+ aib mutate execute --stdin
42
+
43
+ Use a barrel as the import boundary:
44
+
45
+ Input:
46
+ @scope src/features
47
+ imports.useBarrel src/logs/index.ts
48
+
49
+ Use direct source imports instead of a barrel:
50
+
51
+ Input:
52
+ @scope src/features
53
+ imports.useDirect src/logs/index.ts
54
+
55
+ Skip consumers that should not be rewritten:
56
+
57
+ Input:
58
+ @scope src/features
59
+ imports.useBarrel src/logs/index.ts pathExclude=["**/*.test.ts","src/generated/**"]
60
+
61
+ Limit the request to selected exported names:
62
+
63
+ Input:
64
+ @scope src/features
65
+ imports.useDirect src/logs/index.ts symbols=[parseLogsQuery,LogsQuery]
66
+
67
+ Compatibility
68
+
69
+ Supported:
70
+ - ES named imports
71
+ - named re-exports
72
+ - star re-exports
73
+ - type-only named imports
74
+ - aliased named re-exports
75
+
76
+ Skipped or unsupported:
77
+ - CommonJS require/module.exports
78
+ - default re-exports
79
+ - namespace imports
80
+ - side-effect imports
81
+ - default import parts
82
+
83
+ Skipped imports are not rewritten.
@@ -0,0 +1,37 @@
1
+ Find repeated TypeScript import prefixes that may be worth turning into TS path aliases.
2
+
3
+ Use aliasCandidates when imports share long prefixes and you want evidence for adopting an existing alias or creating a new one.
4
+
5
+ The advisor collects lexical import evidence, then validates shortlisted candidates against repo topology and TypeScript resolution for every owning tsconfig. Incomplete coverage, incompatible mappings, package-boundary violations, and other hard conflicts are rejected rather than rescued by ranking.
6
+
7
+ Output separates evidence filters from the provisional ranking policy. Token savings use a deterministic path estimate and are not a Codex billing estimate. Parent and child candidates are compared by marginal coverage so overlapping imports are not counted twice.
8
+
9
+ Candidates are classified as recommended, review, optional, or rejected. Creating a new alias remains review-only when runtime support or token confidence is not proven.
10
+
11
+ This command is a read-only advisor. It does not edit tsconfig or rewrite imports.
12
+
13
+ Run:
14
+ aib inspect aliasCandidates <scope>
15
+
16
+ DSL:
17
+ aliasCandidates scope=src/main limit=20
18
+
19
+ Options:
20
+ limit max candidates to print
21
+ minImports lexical evidence prefilter; not the ranking threshold
22
+ minFiles importing-file evidence prefilter; not the ranking threshold
23
+ candidate filter by source prefix or alias pattern
24
+ detail sum or examples
25
+
26
+ Find candidates:
27
+
28
+ Run:
29
+ aib inspect aliasCandidates src/main
30
+
31
+ Show examples for one suggested alias:
32
+
33
+ Run:
34
+ aib inspect aliasCandidates src/main --candidate "#services/*" --detail examples
35
+
36
+ DSL:
37
+ aliasCandidates scope=src/main candidate="#services/*" detail=examples
@@ -1,10 +1,4 @@
1
- Use code to fetch exact declarations or members.
2
- It returns focused code without reading the whole file.
3
-
4
- Good for:
5
- - reading a known function, class, method, declaration, `default`, or `IIFE#N`
6
- - fetching several related code blocks in one request
7
- - keeping context focused on code needed for the current task
1
+ Use code when you know file path and declaration/member selector, but do not know ranges.
8
2
 
9
3
  Controls:
10
4
  file, entity, entities, parent, show, ranges
@@ -2,30 +2,21 @@ Use file to map top-level declarations physically present in one file.
2
2
  Exported declarations are marked in the output.
3
3
  It shows what lives in the file before you decide whether to read code.
4
4
 
5
- Good for:
6
- - mapping a file
7
- - listing top-level declarations
8
- - seeing default exports, decorators, IIFEs, and runtime calls
5
+ Good for:
6
+ - mapping a file
7
+ - listing top-level declarations
8
+ - seeing default exports, decorators, IIFEs, and runtime calls
9
9
  - checking whether a file contains real declarations or mostly re-exports
10
10
 
11
- Do not add limit just in case.
12
- file output is compact and most files have far fewer than 100 top-level declarations.
13
- Use limit only after file output is actually too large.
14
-
15
- Controls:
16
- file, ranges, localOnly
17
-
18
- Specific:
19
- localOnly show local declarations and reexports without resolving facade API; +localOnly
20
-
21
- Defaults: +ranges
11
+ Controls:
12
+ file, ranges
13
+
14
+ Defaults: +ranges
22
15
  Use -ranges to show names without ranges.
23
16
 
24
17
  Run:
25
18
  aib inspect --stdin
26
19
 
27
- Input:
28
- file @svc/service.ts +localOnly
20
+ Input:
21
+ file @svc/service.ts
29
22
  file src/index.ts
30
-
31
- inspect file src/service.ts [--ranges] [--local-only]
@@ -64,11 +64,10 @@ Use DSL or request flags to hide sections such as edges/hubs/entrypoints/leaves.
64
64
 
65
65
  Specialized graph command:
66
66
  Run:
67
- aib inspect graph --stdin
67
+ aib inspect graph @svc --view local --save services-graph
68
68
 
69
- Input:
70
- graph scope=@svc view=local >services-graph
71
- graph from=aib:graph:services-graph focus=[@svc/users.ts,@svc/admins.ts] +symbolUsage -edges
69
+ Focus saved graph:
70
+ aib inspect graph --from-file aib:graph:services-graph --focus @svc/users.ts --focus @svc/admins.ts --symbol-usage
72
71
 
73
72
  Multiple scopes:
74
73
  Run:
@@ -86,19 +85,6 @@ aib inspect --stdin
86
85
  Input:
87
86
  graph scope=src view=local exclude=["**/*.test.ts","**/* copy.ts"] >src-graph
88
87
 
89
- Graph prefs:
90
- inspect.graph.edges boolean
91
- inspect.graph.hubs boolean
92
- inspect.graph.entrypoints boolean
93
- inspect.graph.leaves boolean
94
- inspect.graph.symbols boolean
95
- inspect.graph.symbolUsage boolean
96
-
97
- symbolUsage is usually the better first choice when imported names matter.
98
-
99
- Example:
100
- session prefs set inspect.graph.edges false inspect.graph.hubs false inspect.graph.symbolUsage true
101
-
102
88
  Output fields:
103
89
  summary file/edge/package counts
104
90
  paths compact path aliases used in text output
@@ -9,18 +9,19 @@ map: learn what exists and how it connects
9
9
  focus: choose files/entities/usages that matter
10
10
  code: fetch exact code needed
11
11
 
12
- Choose inspect operation:
13
-
14
- declarations in one file file
15
- static/dynamic imports imports
16
- public API exports
17
- methods/properties of parent members
18
- exact implementation code
19
- outgoing deps of one entity deps
20
- incoming references/callers usages
21
- file/module connectivity graph
22
- compact directory layout tree
23
- repeated declarations/helpers duplicates
12
+ Choose inspect operation:
13
+
14
+ declarations in one file file
15
+ static/dynamic imports imports
16
+ public API exports
17
+ methods/properties of parent members
18
+ exact implementation code
19
+ outgoing deps of one entity deps
20
+ incoming references/callers usages
21
+ file/module connectivity graph
22
+ compact directory layout tree
23
+ path alias candidates aliasCandidates
24
+ repeated declarations/helpers duplicates
24
25
  local import cycles cycles
25
26
 
26
27
  Prefer one batch DSL request for related questions.
@@ -1,41 +1,36 @@
1
- Modes: preview/apply or execute.
2
- Use execute for routine changes.
3
- Use preview/apply when learning a mutation command or inspecting a large multi-step request before writing files.
1
+ Run mutation DSL through aib mutate.
2
+ Use execute for routine changes.
3
+ Use preview/apply when you want to review intent before writing.
4
+
5
+ Common commands:
6
+ aib mutate preview --stdin
7
+ aib mutate execute --stdin
8
+ aib mutate apply <mutateId>
4
9
 
5
10
  If a name is ambiguous, use selectors.
6
11
  Run help selectors to refresh selector syntax.
7
12
 
8
- modulePlan is for splitting large files into smaller modules.
9
- Use it when a large file should be refactored into several target files.
10
-
11
- modulePlan orchestrates semantic moves and updates affected references/imports.
12
-
13
- If imports created by modulePlan do not match the repo style, run:
14
- aib help config-setup.import-rules
13
+ Use module only for a full-file split: moving all declarations from one source file into target modules.
14
+ Do not mix module with other mutation operations.
15
15
 
16
16
  Use +expectEmpty when your modulePlan intent is to move all declarations out of the source file.
17
17
  It does not change the move behavior; it only asks output to report remaining source declarations if any remain.
18
18
  Use it only when remaining declarations would mean the split did not match your intent.
19
19
  Do not use it for partial extractions.
20
20
 
21
- Plan:
22
- modulePlan preview --stdin
23
- modulePlan execute --stdin
24
- modulePlan apply <planId>
25
-
26
- Use preview/apply when you want to inspect the plan before writing files.
27
- Use execute when you want to preview and apply immediately.
21
+ Focused syntax:
22
+ module <targetFile>: <entity...>
23
+
24
+ Split one large source file into several targets:
25
+ Run:
26
+ aib mutate execute --stdin
28
27
 
29
- Split one large source file into several targets:
30
- Run:
31
- aib modulePlan execute --stdin
32
-
33
28
  Input:
34
29
  @source src/large-service.ts +expectEmpty
35
30
  module src/large-service.types.ts: ServiceOptions ServiceMode
36
- module src/large-service.core.ts: LargeService createLargeService
37
-
38
- How inheritance works above:
39
- @source sets the source file once.
40
- +expectEmpty says no declarations should remain in the source after the plan.
31
+ module src/large-service.core.ts: LargeService createLargeService
32
+
33
+ How inheritance works above:
34
+ @source sets the source file once.
35
+ +expectEmpty says no declarations should remain in the source after the plan.
41
36
  Each module line declares one target and the entities that should move there.
@@ -1,30 +1,29 @@
1
- Modes: preview/apply or execute.
2
- Use execute for routine changes.
3
- Use preview/apply when learning a mutation command or inspecting a large multi-step request before writing files.
1
+ Run mutation DSL through aib mutate.
2
+ Use execute for routine changes.
3
+ Use preview/apply when you want to review intent before writing.
4
+
5
+ Common commands:
6
+ aib mutate preview --stdin
7
+ aib mutate execute --stdin
8
+ aib mutate apply <mutateId>
4
9
 
5
10
  If a name is ambiguous, use selectors.
6
11
  Run help selectors to refresh selector syntax.
7
12
 
8
- Move transfers one or more symbols from one file to another.
9
- Move is semantic; it moves supported declarations and updates affected imports/references.
10
- Use it for focused extraction into a single target file.
11
- For large file splitting across several target files, use modulePlan.
13
+ Move transfers declarations from one source file to target files.
14
+ Move is semantic; it moves supported declarations and updates affected imports/references.
15
+ Use move as the default operation for moving declarations, including multi-target extractions.
12
16
 
13
17
  If imports created by move do not match the repo style, run:
14
18
  aib help config-setup.import-rules
15
19
 
16
- Move to file:
17
- move toFile preview --stdin
18
- move toFile execute --stdin
19
- move toFile apply <previewId>
20
-
21
- Use preview/apply when you want to inspect the planned change before writing files.
22
- Use execute when you want to write immediately.
20
+ Syntax:
21
+ move <targetFile>: <entity...>
22
+
23
+ Run:
24
+ aib mutate execute --stdin
23
25
 
24
- Move several entities into one target:
25
- Run:
26
- aib move toFile execute --stdin
27
-
28
26
  Input:
29
27
  @source src/service.ts
30
28
  move src/service.helpers.ts: oldHelper OtherHelper
29
+ move src/service.types.ts: ServiceOptions
@@ -1,46 +1,44 @@
1
- # File Move
1
+ Run mutation DSL through aib mutate.
2
+ Use execute for routine changes.
3
+ Use preview/apply when you want to review intent before writing.
2
4
 
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.
5
+ Common commands:
6
+ aib mutate preview --stdin
7
+ aib mutate execute --stdin
8
+ aib mutate apply <mutateId>
6
9
 
7
- file move moves whole files into target directories.
10
+ moveToDir moves whole files into target directories.
8
11
  Missing target directories are created automatically.
9
12
 
10
13
  Use it when the filesystem layout is the intent.
11
14
 
12
- Move to directory:
13
- file move toDir preview --stdin
14
- file move toDir execute --stdin
15
- file move toDir apply <previewId>
16
-
17
- Use preview/apply when you want to inspect planned file moves before writing files.
18
- Use execute when you want to write immediately.
15
+ Syntax:
16
+ moveToDir <targetDir>: <file...>
19
17
 
20
18
  Run:
21
- aib file move toDir 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
19
+ aib mutate execute --stdin
20
+
21
+ Input:
22
+ @base src/svc
23
+ moveToDir facade: ../services/fileA.ts fileB.ts
24
+ moveToDir ../core/services: fileC.ts classes/main/fileD.ts
25
+
26
+ How this resolves:
27
+ ../services/fileA.ts resolves to src/services/fileA.ts
28
+ fileB.ts resolves to src/svc/fileB.ts
29
+ facade resolves to src/svc/facade
30
+ ../core/services resolves to src/core/services
33
31
  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
32
+
33
+ Resulting files:
34
+ src/svc/facade/fileA.ts
35
+ src/svc/facade/fileB.ts
36
+ src/core/services/fileC.ts
39
37
  src/core/services/fileD.ts
40
38
 
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
- - file move supports files, not directories.
39
+ Rules:
40
+ - @base sets the base directory for source files and target directories.
41
+ - source file paths resolve from @base; cwd-relative paths are accepted when the @base path does not exist.
42
+ - target directories resolve from @base.
43
+ - source paths and target directories may use `..`.
44
+ - moveToDir supports files, not directories.
@@ -0,0 +1,32 @@
1
+ Run mutation DSL through aib mutate.
2
+ Use execute for routine changes.
3
+ Use preview/apply when you want to review intent before writing.
4
+
5
+ Common commands:
6
+ aib mutate preview --stdin
7
+ aib mutate execute --stdin
8
+ aib mutate apply <mutateId>
9
+
10
+ If a name is ambiguous, use selectors.
11
+ Run help selectors to refresh selector syntax.
12
+
13
+ Use one mutate request for one ordered workflow.
14
+ Mix rename, move, moveToDir, and renameFile when they belong to the same workflow.
15
+ Order lines the way the workflow should run.
16
+ Do not include module lines in mixed requests.
17
+
18
+ Run:
19
+ aib mutate execute --stdin
20
+
21
+ Input:
22
+ @source src/service.ts
23
+ rename oldHelper->newHelper AUser->AdminUser
24
+ move src/service.helpers.ts: newHelper
25
+ move src/service.types.ts: AdminUser
26
+
27
+ @base src/main
28
+ moveToDir facade: ../services/fileA.ts fileB.ts
29
+ moveToDir ../core/services: fileC.ts classes/main/fileD.ts
30
+
31
+ @base src
32
+ renameFile svc/ws-cli.ts->cli.ts svc/ws-command.ts->command.ts
@@ -0,0 +1,53 @@
1
+ Mutation commands change code and files through TS/IDE-backed operations.
2
+ Successful mutations update affected references and imports.
3
+
4
+ Semantic mutations change TypeScript symbols/declarations.
5
+ File mutations change file layout.
6
+
7
+ After a successful mutation, do not manually patch the same imports unless aib reports a follow-up or checks show a real issue.
8
+
9
+ If mutation imports do not match the repo style, run:
10
+ aib help config-setup.import-rules
11
+
12
+ AIB mutations are designed to reduce manual checking.
13
+ Your job is to express the intent in DSL.
14
+ AIB's job is to convert that intent into code changes.
15
+
16
+ The DSL inside the request describes the intent:
17
+ rename rename TypeScript symbols
18
+ move move TypeScript declarations into target files
19
+ moveToDir move whole files into directories
20
+ renameFile rename whole files
21
+ module full-file split: move all declarations from one source into target modules
22
+
23
+ Mix rename, move, moveToDir, and renameFile when they belong to the same workflow.
24
+ Run module splits as a separate mutate request.
25
+
26
+ Do not read all changed files just because a mutation touched them.
27
+ That defeats the purpose of using AIB for mechanical refactors.
28
+
29
+ When the command completes, use its output as the source of truth for what changed and what remains.
30
+ After failure or partial success, use the output to decide the next request.
31
+
32
+ Set the command timeout to 5 minutes for AIB requests.
33
+ If the harness stops waiting before final output appears, recover with:
34
+
35
+ aib execution status last
36
+
37
+ Modes:
38
+ preview review DSL intent, then apply by id
39
+ apply execute from preview
40
+ execute execute immediately
41
+
42
+ Use preview/apply when you are learning a mutation command.
43
+ Use execute for routine requests.
44
+
45
+ preview/apply uses more tool calls and more output tokens.
46
+ preview checks the DSL intent; execute/apply writes files and can still hit mutation errors.
47
+ execute writes immediately and reports what changed.
48
+
49
+ Prefer one mutate DSL request for related changes.
50
+ For mixable operations, batch the ordered workflow instead of sending one command per symbol or file.
51
+
52
+ If a mutation cannot be fully completed, aib reports what failed, what was applied, and what did not run.
53
+ Fix wrong input before retrying; do not repeat provider/manual-extraction failures unchanged.
@@ -1,18 +1,9 @@
1
1
  To refresh help protocol:
2
2
  aib help help-protocol
3
3
 
4
- Use aib before broad file reads when the question is about TS/JS structure, references, dependencies, or focused code.
5
- Use qr for cross-OS quick reads of text files, logs, JSON, scripts, and line windows.
6
- It is not a replacement for inspect.
7
- Use normal text search when the question is just text.
8
-
9
- For a first pass in a new codebase, map directories before reading files:
4
+ Working patterns
10
5
 
11
- aib inspect tree src --depth 5 --only-dirs --limit 200
12
-
13
- Start compact for broad scans.
14
- Use summary, locations, or local graph views first when output could be large.
15
- Expand to code or wider graph views only for the parts that matter now.
6
+ Use aib before broad file reads when the question is about TS/JS structure, references, dependencies, or focused code.
16
7
  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.
17
8
 
18
9
  Compact output is a starting point, not a substitute for needed code.
@@ -33,7 +24,7 @@ That defeats the purpose of using AIB for mechanical refactors.
33
24
  If the command succeeds, the requested mechanical change was applied.
34
25
  After failure or partial success, use the output to decide the next request.
35
26
 
36
- For mutation commands, set the shell/tool harness timeout to 3 minutes.
27
+ Set the command timeout to 5 minutes for AIB requests.
37
28
 
38
29
  If a mutation command times out or returns no final output, use:
39
30
 
@@ -2,19 +2,25 @@ Use qr for cross-OS quick reads of text files: ts, js, cmd, sh, json, log, txt,
2
2
  Use it for compact line windows and batching.
3
3
  qr supports AIB path aliases.
4
4
 
5
- It is not a replacement for inspect.
5
+ It is not a replacement for aib inspect in TS/JS cases.
6
6
  Use it as a token-efficient way to read text data when semantic inspect is not needed.
7
7
 
8
8
  For focused text reads, prefer qr over cat/Get-Content/type, especially when aliases, line windows, or batching help.
9
9
  Use shell reads only when piping into shell tooling or qr is unavailable.
10
10
 
11
11
  Controls:
12
- h=N head; first N lines
13
- t=N tail; last N lines
14
- o=N l=N range; starting line and line count
15
- all whole file
12
+ h=N head; first N lines
13
+ t=N tail; last N lines
14
+ r=A:B,C:D,E ranges; A with next B lines, C with next D lines, E with default 80 lines
15
+ s=A:B,C:D,E slices; inclusive A through B, C through D, and line E
16
+ all whole file
16
17
 
17
18
  If no window is provided, qr uses h=80.
18
- If all is present, it wins over other window flags.
19
+ If all is present, it reads the whole file.
20
+ Avoid `all` for files whose size/content is unknown; it can dump unnecessary context.
21
+ Overlapping windows are merged.
22
+
23
+ Use s= when copying ranges from inspect file.
24
+ Combine windows for the same file instead of repeating the path.
19
25
 
20
26
  {{qr.inline.examples}}