@automaton-labs/aib 0.0.5 → 0.0.7

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 (258) hide show
  1. package/dist/bin/cli.js +4 -2
  2. package/dist/commands/apply-module-plan.js +3 -3
  3. package/dist/commands/background-command.js +2 -0
  4. package/dist/commands/captured-input.js +1 -2
  5. package/dist/commands/config-command.js +2 -1
  6. package/dist/commands/config-output.js +10 -8
  7. package/dist/commands/control-plane-command.js +1 -0
  8. package/dist/commands/declaration-command.js +7 -0
  9. package/dist/commands/declaration-execution-cache.js +1 -0
  10. package/dist/commands/declaration-format.js +1 -0
  11. package/dist/commands/declaration-preview-cache.js +2 -0
  12. package/dist/commands/doctor.js +3 -1
  13. package/dist/commands/execution-command.js +1 -1
  14. package/dist/commands/file-command.js +1 -0
  15. package/dist/commands/file-move-to-dir-execution-cache.js +1 -0
  16. package/dist/commands/file-move-to-dir-preview-cache.js +2 -0
  17. package/dist/commands/file-move-to-dir.js +5 -0
  18. package/dist/commands/file-mutation-runtime.js +1 -0
  19. package/dist/commands/file-refactor-batch-execution-cache.js +1 -0
  20. package/dist/commands/file-refactor-batch-preview-cache.js +2 -0
  21. package/dist/commands/file-refactor-batch.js +5 -0
  22. package/dist/commands/file-rename-execution-cache.js +1 -0
  23. package/dist/commands/file-rename-preview-cache.js +2 -0
  24. package/dist/commands/file-rename.js +5 -0
  25. package/dist/commands/help-command.js +5 -5
  26. package/dist/commands/host-command.js +1 -0
  27. package/dist/commands/inspect-cycles.js +3 -3
  28. package/dist/commands/inspect-format.js +15 -15
  29. package/dist/commands/inspect-tree.js +2 -2
  30. package/dist/commands/inspect.js +12 -12
  31. package/dist/commands/move-to-file.js +2 -2
  32. package/dist/commands/ota-command.js +2 -0
  33. package/dist/commands/quick-read.js +8 -8
  34. package/dist/commands/refactor-batch.js +4 -4
  35. package/dist/commands/rename-entities.js +4 -4
  36. package/dist/commands/result-view.js +6 -5
  37. package/dist/commands/session-workspace.js +7 -7
  38. package/dist/commands/worker-command.js +1 -0
  39. package/dist/config/defaults.js +1 -1
  40. package/dist/config/env-vars.js +1 -1
  41. package/dist/config/path-aliases.js +1 -1
  42. package/dist/config/resolve-command-alias.js +1 -1
  43. package/dist/config/workspace-root.js +3 -3
  44. package/dist/content/content-bundle.js +1 -1
  45. package/dist/dsl/aib-dsl.js +1 -1
  46. package/dist/dsl/declaration-dsl.js +1 -0
  47. package/dist/dsl/file-move-to-dir-dsl.js +1 -0
  48. package/dist/dsl/file-refactor-batch-dsl.js +1 -0
  49. package/dist/dsl/file-rename-dsl.js +1 -0
  50. package/dist/help/bootstrap.bash.md +907 -0
  51. package/dist/help/bootstrap.md +105 -144
  52. package/dist/help/{json/bootstrap.md → bootstrap.pwsh.md} +216 -397
  53. package/dist/help/docs/dsl.md +4 -3
  54. package/dist/help/docs/file.move.md +46 -0
  55. package/dist/help/docs/file.rename.md +35 -0
  56. package/dist/help/docs/help-format.md +4 -7
  57. package/dist/help/docs/inspect.code.md +5 -5
  58. package/dist/help/docs/inspect.deps.md +7 -7
  59. package/dist/help/docs/inspect.file.md +2 -1
  60. package/dist/help/docs/inspect.graph.md +3 -3
  61. package/dist/help/docs/inspect.md +5 -5
  62. package/dist/help/docs/mutation.md +23 -13
  63. package/dist/help/docs/patterns.md +1 -5
  64. package/dist/help/docs/qr.md +7 -22
  65. package/dist/help/docs/quick-map.md +1 -0
  66. package/dist/help/docs/recipe.file-layout.md +15 -0
  67. package/dist/help/docs/rg.md +22 -0
  68. package/dist/help/docs/selectors.md +3 -2
  69. package/dist/help/docs/session.md +1 -1
  70. package/dist/help/dsl/bootstrap.bash.md +907 -0
  71. package/dist/help/dsl/bootstrap.md +105 -144
  72. package/dist/help/{json/full.md → dsl/bootstrap.pwsh.md} +216 -397
  73. package/dist/help/dsl/docs/dsl.md +4 -3
  74. package/dist/help/dsl/docs/file.move.md +46 -0
  75. package/dist/help/dsl/docs/file.rename.md +35 -0
  76. package/dist/help/dsl/docs/help-format.md +4 -7
  77. package/dist/help/dsl/docs/inspect.code.md +5 -5
  78. package/dist/help/dsl/docs/inspect.deps.md +7 -7
  79. package/dist/help/dsl/docs/inspect.file.md +2 -1
  80. package/dist/help/dsl/docs/inspect.graph.md +3 -3
  81. package/dist/help/dsl/docs/inspect.md +5 -5
  82. package/dist/help/dsl/docs/mutation.md +23 -13
  83. package/dist/help/dsl/docs/patterns.md +1 -5
  84. package/dist/help/dsl/docs/qr.md +7 -22
  85. package/dist/help/dsl/docs/quick-map.md +1 -0
  86. package/dist/help/dsl/docs/recipe.file-layout.md +15 -0
  87. package/dist/help/dsl/docs/rg.md +22 -0
  88. package/dist/help/dsl/docs/selectors.md +3 -2
  89. package/dist/help/dsl/docs/session.md +1 -1
  90. package/dist/help/dsl/full.md +105 -144
  91. package/dist/help/dsl/help-index.md +44 -0
  92. package/dist/help/dsl/tokens/qr.inline.examples.md +2 -0
  93. package/dist/help/dsl/tokens/stdin.examples.bash.md +8 -0
  94. package/dist/help/dsl/tokens/stdin.examples.pwsh.md +8 -0
  95. package/dist/help/dsl/tokens/stdin.examples.with-qr.bash.md +12 -0
  96. package/dist/help/dsl/tokens/stdin.examples.with-qr.pwsh.md +12 -0
  97. package/dist/help/dsl/topics/dsl.md +4 -3
  98. package/dist/help/dsl/topics/file.move.md +44 -0
  99. package/dist/help/dsl/topics/file.rename.md +33 -0
  100. package/dist/help/dsl/topics/help-format.md +4 -7
  101. package/dist/help/dsl/topics/inspect.code.md +5 -5
  102. package/dist/help/dsl/topics/inspect.deps.md +7 -7
  103. package/dist/help/dsl/topics/inspect.file.md +2 -1
  104. package/dist/help/dsl/topics/inspect.graph.md +3 -3
  105. package/dist/help/dsl/topics/inspect.md +5 -5
  106. package/dist/help/dsl/topics/mutation.md +23 -13
  107. package/dist/help/dsl/topics/patterns.md +1 -5
  108. package/dist/help/dsl/topics/qr.md +7 -22
  109. package/dist/help/dsl/topics/quick-map.md +1 -0
  110. package/dist/help/dsl/topics/recipe.file-layout.md +13 -0
  111. package/dist/help/dsl/topics/rg.md +20 -0
  112. package/dist/help/dsl/topics/selectors.md +3 -2
  113. package/dist/help/dsl/topics/session.md +1 -1
  114. package/dist/help/full.md +105 -144
  115. package/dist/help/help-index.md +44 -0
  116. package/dist/help/help-meta.json +45 -29
  117. package/dist/help/index.md +32 -75
  118. package/dist/help/tokens/qr.inline.examples.md +2 -0
  119. package/dist/help/tokens/stdin.examples.bash.md +8 -0
  120. package/dist/help/tokens/stdin.examples.pwsh.md +8 -0
  121. package/dist/help/tokens/stdin.examples.with-qr.bash.md +12 -0
  122. package/dist/help/tokens/stdin.examples.with-qr.pwsh.md +12 -0
  123. package/dist/help/topics/dsl.md +4 -3
  124. package/dist/help/topics/file.move.md +44 -0
  125. package/dist/help/topics/file.rename.md +33 -0
  126. package/dist/help/topics/help-format.md +4 -7
  127. package/dist/help/topics/inspect.code.md +5 -5
  128. package/dist/help/topics/inspect.deps.md +7 -7
  129. package/dist/help/topics/inspect.file.md +2 -1
  130. package/dist/help/topics/inspect.graph.md +3 -3
  131. package/dist/help/topics/inspect.md +5 -5
  132. package/dist/help/topics/mutation.md +23 -13
  133. package/dist/help/topics/patterns.md +1 -5
  134. package/dist/help/topics/qr.md +7 -22
  135. package/dist/help/topics/quick-map.md +1 -0
  136. package/dist/help/topics/recipe.file-layout.md +13 -0
  137. package/dist/help/topics/rg.md +20 -0
  138. package/dist/help/topics/selectors.md +3 -2
  139. package/dist/help/topics/session.md +1 -1
  140. package/dist/host/capabilities.js +1 -0
  141. package/dist/ide-launch/common.cjs +162 -162
  142. package/dist/managed-host/extension-vsix-resolver.js +1 -1
  143. package/dist/managed-host/manage-serve-web-host.cjs +141 -141
  144. package/dist/managed-host/serve-web-autostart.js +1 -1
  145. package/dist/managed-host/serve-web-host.cjs +1985 -1660
  146. package/dist/observability/config.js +1 -1
  147. package/dist/payloads/read-stdin-json.js +1 -1
  148. package/dist/rg-wrapper/core.js +6 -0
  149. package/dist/rg-wrapper/options.js +1 -0
  150. package/dist/rtk-wrapper/core.js +2 -0
  151. package/dist/runtime/input-source.js +1 -1
  152. package/dist/runtime/managed-runtime-provisioning.js +1 -1
  153. package/dist/runtime/run-command.js +1 -1
  154. package/dist/selectors/parse-entities.js +1 -1
  155. package/dist/session/daemon-state.js +2 -0
  156. package/dist/session/server.js +7 -6
  157. package/dist/shared/errors.js +14 -13
  158. package/dist/shared/operations.js +1 -1
  159. package/dist/shared/protocol.js +1 -1
  160. package/dist/shared/routes.js +1 -1
  161. package/dist/shared/stdin-examples.js +1 -0
  162. package/dist/shared/types.js +1 -1
  163. package/dist/tool-runtime/runtime-tools.js +1 -0
  164. package/dist/tracing/trace.js +5 -3
  165. package/dist/workers/control-plane/aib-control-plane-worker.cjs +80 -0
  166. package/dist/workers/control-plane/client-config.default.json +3 -0
  167. package/dist/workers/product-storage.js +1 -0
  168. package/dist/workers/registry.js +1 -0
  169. package/extension/vscode-refactor-bridge-extension.vsix +0 -0
  170. package/package.json +6 -4
  171. package/runtimes/launcher/linux-x64/aib +0 -0
  172. package/runtimes/launcher/win-x64/aib.exe +0 -0
  173. package/runtimes/tools/rg/darwin-arm64/rg +0 -0
  174. package/runtimes/tools/rg/darwin-x64/rg +0 -0
  175. package/runtimes/tools/rg/linux-arm64/rg +0 -0
  176. package/runtimes/tools/rg/linux-x64/rg +0 -0
  177. package/runtimes/tools/rg/manifest.json +36 -0
  178. package/runtimes/tools/rg/win32-x64/rg.exe +0 -0
  179. package/runtimes/tools/rtk/darwin-arm64/rtk +0 -0
  180. package/runtimes/tools/rtk/darwin-x64/rtk +0 -0
  181. package/runtimes/tools/rtk/linux-arm64/rtk +0 -0
  182. package/runtimes/tools/rtk/linux-x64/rtk +0 -0
  183. package/runtimes/tools/rtk/manifest.json +36 -0
  184. package/runtimes/tools/rtk/win32-x64/rtk.exe +0 -0
  185. package/scripts/provision-runtime.cjs +25 -1
  186. package/dist/help/json/docs/basics.md +0 -15
  187. package/dist/help/json/docs/config-setup.aliases.md +0 -56
  188. package/dist/help/json/docs/config-setup.excludes.md +0 -45
  189. package/dist/help/json/docs/config-setup.import-normalize.md +0 -86
  190. package/dist/help/json/docs/config-setup.import-rules.md +0 -96
  191. package/dist/help/json/docs/config-setup.tsconfigs.md +0 -33
  192. package/dist/help/json/docs/dsl.md +0 -25
  193. package/dist/help/json/docs/first-setup.md +0 -292
  194. package/dist/help/json/docs/help-format.md +0 -12
  195. package/dist/help/json/docs/help-protocol.md +0 -26
  196. package/dist/help/json/docs/imports.normalize.md +0 -47
  197. package/dist/help/json/docs/inspect.code.md +0 -41
  198. package/dist/help/json/docs/inspect.cycles.md +0 -38
  199. package/dist/help/json/docs/inspect.deps.md +0 -46
  200. package/dist/help/json/docs/inspect.duplicates.md +0 -65
  201. package/dist/help/json/docs/inspect.exports.md +0 -40
  202. package/dist/help/json/docs/inspect.file.md +0 -38
  203. package/dist/help/json/docs/inspect.graph.md +0 -139
  204. package/dist/help/json/docs/inspect.imports.md +0 -15
  205. package/dist/help/json/docs/inspect.md +0 -88
  206. package/dist/help/json/docs/inspect.members.md +0 -32
  207. package/dist/help/json/docs/inspect.tree.md +0 -32
  208. package/dist/help/json/docs/inspect.usages.md +0 -61
  209. package/dist/help/json/docs/modulePlan.md +0 -73
  210. package/dist/help/json/docs/move.md +0 -56
  211. package/dist/help/json/docs/mutation.md +0 -65
  212. package/dist/help/json/docs/patterns.md +0 -76
  213. package/dist/help/json/docs/prefs.md +0 -40
  214. package/dist/help/json/docs/qr.md +0 -37
  215. package/dist/help/json/docs/quick-map.md +0 -30
  216. package/dist/help/json/docs/refactor.batch.md +0 -72
  217. package/dist/help/json/docs/rename.md +0 -47
  218. package/dist/help/json/docs/reveal.md +0 -30
  219. package/dist/help/json/docs/selectors.md +0 -23
  220. package/dist/help/json/docs/session.md +0 -77
  221. package/dist/help/json/docs/view.md +0 -30
  222. package/dist/help/json/snippets/agents.md +0 -14
  223. package/dist/help/json/topics/basics.md +0 -13
  224. package/dist/help/json/topics/config-setup.aliases.md +0 -54
  225. package/dist/help/json/topics/config-setup.excludes.md +0 -43
  226. package/dist/help/json/topics/config-setup.import-normalize.md +0 -84
  227. package/dist/help/json/topics/config-setup.import-rules.md +0 -94
  228. package/dist/help/json/topics/config-setup.tsconfigs.md +0 -31
  229. package/dist/help/json/topics/dsl.md +0 -23
  230. package/dist/help/json/topics/first-setup.md +0 -290
  231. package/dist/help/json/topics/help-format.md +0 -10
  232. package/dist/help/json/topics/help-protocol.md +0 -24
  233. package/dist/help/json/topics/imports.normalize.md +0 -45
  234. package/dist/help/json/topics/inspect.code.md +0 -39
  235. package/dist/help/json/topics/inspect.cycles.md +0 -36
  236. package/dist/help/json/topics/inspect.deps.md +0 -44
  237. package/dist/help/json/topics/inspect.duplicates.md +0 -37
  238. package/dist/help/json/topics/inspect.exports.md +0 -38
  239. package/dist/help/json/topics/inspect.file.md +0 -36
  240. package/dist/help/json/topics/inspect.graph.md +0 -137
  241. package/dist/help/json/topics/inspect.imports.md +0 -13
  242. package/dist/help/json/topics/inspect.md +0 -86
  243. package/dist/help/json/topics/inspect.members.md +0 -30
  244. package/dist/help/json/topics/inspect.tree.md +0 -22
  245. package/dist/help/json/topics/inspect.usages.md +0 -59
  246. package/dist/help/json/topics/modulePlan.md +0 -60
  247. package/dist/help/json/topics/move.md +0 -46
  248. package/dist/help/json/topics/mutation.md +0 -63
  249. package/dist/help/json/topics/patterns.md +0 -74
  250. package/dist/help/json/topics/prefs.md +0 -38
  251. package/dist/help/json/topics/qr.md +0 -35
  252. package/dist/help/json/topics/quick-map.md +0 -28
  253. package/dist/help/json/topics/refactor.batch.md +0 -61
  254. package/dist/help/json/topics/rename.md +0 -42
  255. package/dist/help/json/topics/reveal.md +0 -28
  256. package/dist/help/json/topics/selectors.md +0 -21
  257. package/dist/help/json/topics/session.md +0 -59
  258. package/dist/help/json/topics/view.md +0 -28
@@ -1 +1 @@
1
- "use strict";var b=exports&&exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_OBSERVABILITY_CONFIG=void 0,exports.resolveObservabilityConfig=l,exports.traceEnabled=S,exports.failureSnapshotsEnabled=v,exports.defaultTraceWorkspaceDir=h,exports.feedbackFilePath=_,exports.failureSnapshotsRoot=I,exports.observabilityStatus=R;const c=b(require("node:fs")),n=b(require("node:path")),s=require("../config/env-vars"),u=require("../config/product-storage"),y=require("./context");exports.DEFAULT_OBSERVABILITY_CONFIG={metrics:"on",mutationImpactMetrics:"on",trace:"full",failureSnapshots:"on",feedback:"on",retention:{metrics:{maxAgeDays:30,maxTotalMb:512,maxPerWorkspaceMb:128},trace:{maxAgeDays:14,maxTotalMb:512,maxPerWorkspaceMb:128},failureSnapshots:{maxAgeDays:14,maxTotalMb:512,maxPerWorkspaceMb:128,maxFileMb:2,maxFilesPerFailure:5},feedback:{cleanup:"dangerOnly"}}};function l(){const e=JSON.parse(JSON.stringify(exports.DEFAULT_OBSERVABILITY_CONFIG)),t=d(process.env[s.CLI_ENV.metrics]);t&&(e.metrics=t);const r=d(process.env[s.CLI_ENV.mutationImpactMetrics]);r&&(e.mutationImpactMetrics=r);const o=E(process.env[s.CLI_ENV.trace]);o&&(e.trace=o);const a=d(process.env[s.CLI_ENV.failureSnapshots]);return a&&(e.failureSnapshots=a),e}function S(){return l().trace!=="off"}function v(){return l().failureSnapshots==="on"&&S()}function h(e){const t=(0,y.resolveWorkspaceIdentity)(e);return n.default.join((0,u.productStorageRoot)(),"trace","workspaces",t.workspaceId,"runs",D())}function _(){return n.default.join((0,u.productStorageRoot)(),"feedback","feedback.jsonl")}function I(e){const t=(0,y.resolveWorkspaceIdentity)(e);return n.default.join((0,u.productStorageRoot)(),"failure-snapshots","workspaces",t.workspaceId)}function R(e){const t=l(),r=(0,u.productStorageRoot)(),o=h(e),a=_(),i=process.env[s.CLI_ENV.metricsDir]?.trim()?n.default.resolve(process.env[s.CLI_ENV.metricsDir]):n.default.join(r,"metrics"),f=I(e);return{ok:!0,command:"observability",action:"status",productStorageRoot:r,config:t,effective:{metrics:t.metrics,mutationImpactMetrics:t.mutationImpactMetrics,trace:t.trace,failureSnapshots:t.failureSnapshots,feedback:t.feedback},storage:{metricsDir:i,metricsFile:n.default.join(i,"metrics.jsonl"),traceDir:o,feedbackFile:a,failureSnapshotsRoot:f},counters:{metricsRows:k(n.default.join(i,"metrics.jsonl")),metricsBytes:p(n.default.join(i,"metrics.jsonl")),traceBytes:m(n.default.dirname(n.default.dirname(o))),feedbackRows:k(a),feedbackBytes:p(a),failureSnapshotBytes:m(f),failureSnapshotCount:g(f)},cleanup:{enforced:!1,dryRunAvailable:!0,note:"Retention config is visible but automatic cleanup is not enforced yet."}}}function D(){return`run_${new Date().toISOString().replace(/[:.]/g,"-")}_${process.pid}`}function d(e){if(e===void 0)return null;const t=e.trim().toLowerCase();return["0","false","off","disabled","no"].includes(t)?"off":["1","true","on","enabled","yes"].includes(t)?"on":null}function E(e){if(e===void 0)return null;const t=e.trim().toLowerCase();return["0","false","off","disabled","no"].includes(t)?"off":t==="light"?"light":["1","true","on","enabled","yes","full"].includes(t)?"full":null}function p(e){try{return c.default.statSync(e).size}catch{return 0}}function k(e){try{return c.default.readFileSync(e,"utf8").split(/\r?\n/).filter(Boolean).length}catch{return 0}}function m(e){let t=0;try{for(const r of c.default.readdirSync(e,{withFileTypes:!0})){const o=n.default.join(e,r.name);r.isDirectory()?t+=m(o):r.isFile()&&(t+=p(o))}}catch{return 0}return t}function g(e){let t=0;try{for(const r of c.default.readdirSync(e,{withFileTypes:!0}))r.isDirectory()&&(t+=1+g(n.default.join(e,r.name)))}catch{return 0}return t}
1
+ "use strict";var b=exports&&exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_OBSERVABILITY_CONFIG=void 0,exports.resolveObservabilityConfig=l,exports.traceEnabled=h,exports.failureSnapshotsEnabled=g,exports.defaultTraceWorkspaceDir=S,exports.feedbackFilePath=_,exports.failureSnapshotsRoot=k,exports.observabilityStatus=E;const c=b(require("node:fs")),n=b(require("node:path")),s=require("../config/env-vars"),u=require("../config/product-storage"),y=require("./context");exports.DEFAULT_OBSERVABILITY_CONFIG={metrics:"on",mutationImpactMetrics:"on",trace:"full",failureSnapshots:"on",feedback:"on",retention:{metrics:{maxAgeDays:30,maxTotalMb:512,maxPerWorkspaceMb:128},trace:{maxAgeDays:14,maxTotalMb:512,maxPerWorkspaceMb:128},failureSnapshots:{maxAgeDays:14,maxTotalMb:512,maxPerWorkspaceMb:128,maxFileMb:2,maxFilesPerFailure:5},feedback:{cleanup:"dangerOnly"}}};function l(){const e=JSON.parse(JSON.stringify(exports.DEFAULT_OBSERVABILITY_CONFIG)),t=d(process.env[s.CLI_ENV.metrics]);t&&(e.metrics=t);const r=d(process.env[s.CLI_ENV.mutationImpactMetrics]);r&&(e.mutationImpactMetrics=r);const o=R(process.env[s.CLI_ENV.trace]);o&&(e.trace=o);const a=d(process.env[s.CLI_ENV.failureSnapshots]);return a&&(e.failureSnapshots=a),e}function h(){return l().trace!=="off"}function g(){return l().failureSnapshots==="on"&&h()}function S(e){const t=(0,y.resolveWorkspaceIdentity)(e);return n.default.join((0,u.productStorageRoot)(),"trace","workspaces",t.workspaceId)}function _(){return n.default.join((0,u.productStorageRoot)(),"feedback","feedback.jsonl")}function k(e){const t=(0,y.resolveWorkspaceIdentity)(e);return n.default.join((0,u.productStorageRoot)(),"failure-snapshots","workspaces",t.workspaceId)}function E(e){const t=l(),r=(0,u.productStorageRoot)(),o=S(e),a=_(),i=process.env[s.CLI_ENV.metricsDir]?.trim()?n.default.resolve(process.env[s.CLI_ENV.metricsDir]):n.default.join(r,"metrics"),f=k(e);return{ok:!0,command:"observability",action:"status",productStorageRoot:r,config:t,effective:{metrics:t.metrics,mutationImpactMetrics:t.mutationImpactMetrics,trace:t.trace,failureSnapshots:t.failureSnapshots,feedback:t.feedback},storage:{metricsDir:i,metricsFile:n.default.join(i,"metrics.jsonl"),traceDir:o,feedbackFile:a,failureSnapshotsRoot:f},counters:{metricsRows:v(n.default.join(i,"metrics.jsonl")),metricsBytes:p(n.default.join(i,"metrics.jsonl")),traceBytes:m(n.default.dirname(n.default.dirname(o))),feedbackRows:v(a),feedbackBytes:p(a),failureSnapshotBytes:m(f),failureSnapshotCount:I(f)},cleanup:{enforced:!1,dryRunAvailable:!0,note:"Retention config is visible but automatic cleanup is not enforced yet."}}}function d(e){if(e===void 0)return null;const t=e.trim().toLowerCase();return["0","false","off","disabled","no"].includes(t)?"off":["1","true","on","enabled","yes"].includes(t)?"on":null}function R(e){if(e===void 0)return null;const t=e.trim().toLowerCase();return["0","false","off","disabled","no"].includes(t)?"off":t==="light"?"light":["1","true","on","enabled","yes","full"].includes(t)?"full":null}function p(e){try{return c.default.statSync(e).size}catch{return 0}}function v(e){try{return c.default.readFileSync(e,"utf8").split(/\r?\n/).filter(Boolean).length}catch{return 0}}function m(e){let t=0;try{for(const r of c.default.readdirSync(e,{withFileTypes:!0})){const o=n.default.join(e,r.name);r.isDirectory()?t+=m(o):r.isFile()&&(t+=p(o))}}catch{return 0}return t}function I(e){let t=0;try{for(const r of c.default.readdirSync(e,{withFileTypes:!0}))r.isDirectory()&&(t+=1+I(n.default.join(e,r.name)))}catch{return 0}return t}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.readStdinJson=f,exports.readStdinPayload=p,exports.readStdinPayloadWithSource=S,exports.parseStdinPayload=s,exports.parseInputPayloadWithSource=d,exports.stripStdinFormatFlags=y;const i=require("../dsl/aib-dsl"),m=require("../config/env-vars"),a=require("../shared/errors");async function f(e){const r=await u();return s(r,e??{command:"",restArgs:[]})}async function p(e){const r=await u();return s(r,e)}async function S(e){const r=await u();return d(r,e)}function s(e,r){return d(e,r).payload}function d(e,r){const t=e.replace(/^\uFEFF/,"").trim();if(!t)throw new a.CliError("EMPTY_STDIN","Expected JSON or DSL payload on stdin.");if(D(r.format)==="dsl"){const c=l(t,r);return{payload:c.payload,source:{format:"dsl",text:t,command:c.command}}}if(h(t))return{payload:w(t),source:{format:"json",text:t}};const o=l(t,r);return{payload:o.payload,source:{format:"dsl",text:t,command:o.command}}}function y(e){const r=[];let t;for(let n=0;n<e.length;n+=1){const o=e[n];if(o==="--dsl"||o==="--force-dsl"){t="dsl";continue}if(o==="--stdin-format"){const c=e[n+1];if(c!=="auto"&&c!=="dsl")throw new a.CliError("INVALID_STDIN_FORMAT","Expected --stdin-format to be auto or dsl.");t=c,n+=1;continue}o!==void 0&&r.push(o)}return{restArgs:r,...t!==void 0?{format:t}:{}}}function D(e){return e!==void 0?e:process.env[m.CLI_ENV.forceDsl]==="1"?"dsl":"auto"}async function u(){const e=[];for await(const r of process.stdin)e.push(Buffer.isBuffer(r)?r:Buffer.from(String(r)));return Buffer.concat(e).toString("utf8")}function h(e){const r=e[0];return r==="{"||r==="["}function w(e){try{const r=JSON.parse(e);if(!r||typeof r!="object"||Array.isArray(r))throw new a.CliError("INVALID_STDIN_JSON","Expected a JSON object on stdin.");return r}catch(r){throw r instanceof a.CliError?r:new a.CliError("INVALID_STDIN_JSON","Failed to parse JSON from stdin.",{cause:r instanceof Error?r.message:String(r)})}}function l(e,r){const t=I(r.command,r.restArgs);if(!t)throw new a.CliError("STDIN_DSL_UNSUPPORTED",`${r.command||"This command"} does not support DSL stdin. Use JSON for this command.`);let n;try{if(t==="inspect")try{n=(0,i.compileAibDsl)(e)}catch{n=(0,i.compileAibDsl)(e,{tolerantInspect:!0})}else n=(0,i.compileAibDsl)(e)}catch(o){throw new a.CliError("INVALID_STDIN_DSL","Failed to compile DSL from stdin.",{cause:o instanceof Error?o.message:String(o)})}if(n.command!==t&&!_(t,n.command))throw new a.CliError("STDIN_DSL_COMMAND_MISMATCH",`DSL compiles to ${n.command}, but current command expects ${t}.`);return n}function _(e,r){return e==="move.toFile"&&r==="refactor.batch"}function I(e,r){switch(e){case"inspect":return"inspect";case"rename":return"rename";case"modulePlan":return"modulePlan";case"move":return r[0]==="toFile"?"move.toFile":null;case"refactor":return r[0]==="batch"?"refactor.batch":null;case"imports":return r[0]==="normalize"?"imports.normalize":null;case"view":return"view";default:return null}}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.readStdinJson=_,exports.readStdinPayload=y,exports.readStdinPayloadWithSource=h,exports.parseStdinPayload=d,exports.parseInputPayloadWithSource=s,exports.stripStdinFormatFlags=w,exports.readRawStdinText=c;const l=require("../dsl/aib-dsl"),f=require("../dsl/file-refactor-batch-dsl"),p=require("../dsl/file-rename-dsl"),S=require("../dsl/file-move-to-dir-dsl"),u=require("../dsl/declaration-dsl"),D=require("../config/env-vars"),a=require("../shared/errors");async function _(r){const e=await c();return d(e,r??{command:"",restArgs:[]})}async function y(r){const e=await c();return d(e,r)}async function h(r){const e=await c();return s(e,r)}function d(r,e){return s(r,e).payload}function s(r,e){const t=r.replace(/^\uFEFF/,"").trim();if(!t)throw new a.CliError("EMPTY_STDIN","Expected JSON or DSL payload on stdin.");if(I(e.format)==="dsl"){const i=m(t,e);return{payload:i.payload,source:{format:"dsl",text:t,command:i.command}}}if(N(t))return{payload:v(t),source:{format:"json",text:t}};const n=m(t,e);return{payload:n.payload,source:{format:"dsl",text:t,command:n.command}}}function w(r){const e=[];let t;for(let o=0;o<r.length;o+=1){const n=r[o];if(n==="--dsl"||n==="--force-dsl"){t="dsl";continue}if(n==="--stdin-format"){const i=r[o+1];if(i!=="auto"&&i!=="dsl")throw new a.CliError("INVALID_STDIN_FORMAT","Expected --stdin-format to be auto or dsl.");t=i,o+=1;continue}n!==void 0&&e.push(n)}return{restArgs:e,...t!==void 0?{format:t}:{}}}function I(r){return r!==void 0?r:process.env[D.CLI_ENV.forceDsl]==="1"?"dsl":"auto"}async function c(){const r=[];for await(const e of process.stdin)r.push(Buffer.isBuffer(e)?e:Buffer.from(String(e)));return Buffer.concat(r).toString("utf8")}function N(r){const e=r[0];return e==="{"||e==="["}function v(r){try{const e=JSON.parse(r);if(!e||typeof e!="object"||Array.isArray(e))throw new a.CliError("INVALID_STDIN_JSON","Expected a JSON object on stdin.");return e}catch(e){throw e instanceof a.CliError?e:new a.CliError("INVALID_STDIN_JSON","Failed to parse JSON from stdin.",{cause:e instanceof Error?e.message:String(e)})}}function m(r,e){const t=F(e.command,e.restArgs);if(!t)throw new a.CliError("STDIN_DSL_UNSUPPORTED",`${e.command||"This command"} does not support DSL stdin. Use JSON for this command.`);let o;try{if(t==="file.move.toDir")return{command:t,payload:(0,S.compileFileMoveToDirDsl)(r)};if(t==="file.rename")return{command:t,payload:(0,p.compileFileRenameDsl)(r)};if(t==="file.refactor.batch")return{command:t,payload:(0,f.compileFileRefactorBatchDsl)(r)};if(t==="declaration.remove")return{command:t,payload:(0,u.compileDeclarationDsl)(r,"remove")};if(t==="declaration.addMissing")return{command:t,payload:(0,u.compileDeclarationDsl)(r,"addMissing")};if(t==="inspect")try{o=(0,l.compileAibDsl)(r)}catch{o=(0,l.compileAibDsl)(r,{tolerantInspect:!0})}else o=(0,l.compileAibDsl)(r)}catch(n){throw new a.CliError("INVALID_STDIN_DSL","Failed to compile DSL from stdin.",{cause:n instanceof Error?n.message:String(n)})}if(o.command!==t&&!E(t,o.command))throw new a.CliError("STDIN_DSL_COMMAND_MISMATCH",`DSL compiles to ${o.command}, but current command expects ${t}.`);return o}function E(r,e){return r==="move.toFile"&&e==="refactor.batch"}function F(r,e){switch(r){case"inspect":return"inspect";case"rename":return"rename";case"modulePlan":return"modulePlan";case"move":return e[0]==="toFile"?"move.toFile":null;case"file":return e[0]==="move"&&e[1]==="toDir"?"file.move.toDir":e[0]==="rename"?"file.rename":e[0]==="refactor"&&e[1]==="batch"?"file.refactor.batch":null;case"declaration":return e[0]==="remove"?"declaration.remove":e[0]==="addMissing"||e[0]==="add-missing"?"declaration.addMissing":null;case"refactor":return e[0]==="batch"?"refactor.batch":null;case"imports":return e[0]==="normalize"?"imports.normalize":null;case"view":return"view";default:return null}}
@@ -0,0 +1,6 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.classifyRgArgs=l,exports.runBrgRaw=A,exports.runBrgRawInherited=L,exports.runBrgOptimizedModel=F,exports.runBrgFormatted=T,exports.buildRgJsonArgs=_,exports.parseRgJsonModel=v,exports.formatBrgSearchModel=y;const f=require("node:child_process"),c=require("../tool-runtime/runtime-tools"),w=new Set(["--json","--vimgrep","--files","--count","--count-matches","--files-with-matches","--files-without-match","--passthru","--stats","--only-matching","--pretty"]),S=new Set(["-o","-c","-l"]),d=new Set(["--replace","-r"]),R=new Set(["--no-config","--line-number","--column","--ignore-case","--case-sensitive","--smart-case","--word-regexp","--fixed-strings","--hidden","--no-hidden","--no-ignore","--no-ignore-vcs","--no-ignore-parent","--no-ignore-global","--no-ignore-dot","--follow","--unrestricted"]),b=new Set(["--glob","--iglob","--type","--type-not","--after-context","--before-context","--context","--max-count","--regexp"]),N=new Set(["-n","-i","-s","-S","-w","-F","-u"]),h=new Set(["-g","-t","-T","-A","-B","-C","-e","-m"]);function l(e,n={}){const s=$(e),r=n.hasStdin===!0,t=s.filter(a=>!a.positional).map(a=>a.name),o=s.filter(a=>a.positional).map(a=>a.value??""),i=s.filter(a=>!a.positional&&!G(a)).map(a=>a.name),u={hasStdin:r,hasPattern:H(s)||o.length>0,optionTerminated:e.includes("--"),flags:t,positionals:o,unsupportedFlags:i};return s.some(a=>a.name==="--json")?{mode:"raw",reason:"explicit-json",features:u}:s.some(a=>w.has(a.name)||S.has(a.name))?{mode:"raw",reason:"alternate-output",features:u}:s.some(a=>d.has(a.name))?{mode:"raw",reason:"output-transform",features:u}:s.some(a=>a.name==="--color"&&a.value==="always")?{mode:"raw",reason:"ansi-output",features:u}:r?{mode:"raw",reason:"stdin",features:u}:i.length>0?{mode:"raw",reason:"unknown-flag",features:u}:u.hasPattern?{mode:"optimizable",reason:"text-search-v1",features:u}:{mode:"raw",reason:"missing-pattern",features:u}}function A(e){const n=l(e.args,{hasStdin:e.stdinText!==void 0}),s=g(e.env),r=p(s),t=(0,f.spawnSync)(r,e.args,{cwd:e.cwd,input:e.stdinText,encoding:"utf8",windowsHide:!0,shell:(0,c.shouldUseShellForTool)(r),env:s,maxBuffer:64*1024*1024}),o=typeof t.status=="number"?t.status:t.error?2:1;return{ok:o===0,command:"rg",exitCode:o,stdout:t.stdout??"",stderr:t.stderr??(t.error?`${t.error.message}
2
+ `:""),signal:t.signal??null,spawnError:t.error?t.error.message:null,classification:n}}function L(e){const n=l(e.args,{hasStdin:e.hasStdin===!0}),s=g(e.env),r=p(s),t=(0,f.spawnSync)(r,e.args,{cwd:e.cwd,stdio:"inherit",windowsHide:!0,shell:(0,c.shouldUseShellForTool)(r),env:s}),o=typeof t.status=="number"?t.status:t.error?2:1;return{ok:o===0,command:"rg",exitCode:o,stdout:"",stderr:t.error?`${t.error.message}
3
+ `:"",signal:t.signal??null,spawnError:t.error?t.error.message:null,classification:n}}function F(e){const n=l(e.args,{hasStdin:e.stdinText!==void 0});if(n.mode!=="optimizable")throw new Error(`Cannot build optimized rg model for ${n.reason}.`);const s=g(e.env),r=p(s),t=(0,f.spawnSync)(r,_(e.args),{cwd:e.cwd,input:e.stdinText,encoding:"utf8",windowsHide:!0,shell:(0,c.shouldUseShellForTool)(r),env:s,maxBuffer:64*1024*1024}),o=typeof t.status=="number"?t.status:t.error?2:1;return{ok:o===0,command:"rg",exitCode:o,files:v(t.stdout??""),stderr:t.stderr??(t.error?`${t.error.message}
4
+ `:""),signal:t.signal??null,spawnError:t.error?t.error.message:null,classification:n}}function g(e){return{...process.env,...e}}function p(e){return(0,c.resolveToolRuntime)({tool:"rg",envVar:(0,c.toolRuntimeEnvVar)("rg"),env:e}).executable}function T(e,n={}){const s=l(e.args,{hasStdin:e.stdinText!==void 0});if(n.enabled===!1||s.mode!=="optimizable")return A(e);const r=F(e);return{ok:r.ok,command:"rg",exitCode:r.exitCode,stdout:r.files.length===0?"":y(r,{...n,omitSingleFileHeader:n.omitSingleFileHeader===!0,showColumn:n.showColumn===!0,trimLineStart:n.trimLineStart===!0})+`
5
+ `,stderr:r.stderr,signal:r.signal,spawnError:r.spawnError,classification:s}}function _(e){return e.includes("--json")?[...e]:["--json",...e]}function v(e){const n=new Map;for(const s of e.split(/\r?\n/)){if(!s.trim())continue;const r=JSON.parse(s);if(r.type!=="match"&&r.type!=="context")continue;const t=x(r.data?.path?.text);if(!t)continue;const o=j(n,t),i={lineNumber:m(r.data?.line_number),text:x(r.data?.lines?.text),absoluteOffset:m(r.data?.absolute_offset),submatches:U(r.data?.submatches)};r.type==="match"?o.matches.push(i):o.contexts.push(i)}return[...n.values()]}function y(e,n={}){if(e.files.length===0)return`(exit ${e.exitCode}, no matches)`;const s=[],r=n.omitSingleFileHeader===!0&&e.files.length===1;for(const t of e.files){r||s.push(`${(n.formatPath??(o=>o))(t.path)}:`);for(const o of M(t)){const i=n.trimLineStart===!0?o.text.trimStart():o.text;s.push(`${O(o,n)}${i.trimEnd()}`)}}return s.join(`
6
+ `)}function M(e){return[...e.matches.map(s=>({...s,kind:"match"})),...e.contexts.map(s=>({...s,kind:"context"}))].sort((s,r)=>{const t=s.lineNumber??Number.MAX_SAFE_INTEGER,o=r.lineNumber??Number.MAX_SAFE_INTEGER;return t!==o?t-o:s.kind==="context"&&r.kind==="match"?-1:1})}function O(e,n){const s=e.kind==="match"?":":"-",r=e.lineNumber===null?"?":String(e.lineNumber);if(n.showColumn===!0&&e.kind==="match"){const t=e.submatches[0];if(t)return`${r}${s}${t.start+1}:`}return`${r}${s}`}function $(e){const n=[];let s=!1;for(let r=0;r<e.length;r+=1){const t=e[r]??"";if(s){n.push({name:"positional",value:t,positional:!0});continue}if(t==="--"){s=!0;continue}if(!t.startsWith("-")||t==="-"){n.push({name:"positional",value:t,positional:!0});continue}if(t.startsWith("--")){const[i,u]=C(t);if(u!==void 0){n.push({name:i,value:u});continue}if(E(i)){n.push({name:i,value:e[r+1]??""}),r+=1;continue}n.push({name:i});continue}const o=B(t,e[r+1]);n.push(...o.tokens),r+=o.consumedNext?1:0}return n}function B(e,n){const s=`-${e[1]??""}`;if(h.has(s)||d.has(s)){const t=e.slice(2);return{tokens:[{name:s,value:t||n||""}],consumedNext:t.length===0}}const r=[];for(const t of e.slice(1))r.push({name:`-${t}`});return{tokens:r,consumedNext:!1}}function C(e){const n=e.indexOf("=");return n<0?[e,void 0]:[e.slice(0,n),e.slice(n+1)]}function E(e){return b.has(e)||h.has(e)||d.has(e)||e==="--color"}function G(e){return e.positional?!0:E(e.name)&&e.value===""?!1:e.name==="--color"?e.value==="always"||e.value==="auto"||e.value==="never":w.has(e.name)||S.has(e.name)||d.has(e.name)||R.has(e.name)||b.has(e.name)||N.has(e.name)||h.has(e.name)}function H(e){return e.some(n=>n.name==="-e"||n.name==="--regexp")}function j(e,n){const s=e.get(n);if(s)return s;const r={path:n,matches:[],contexts:[]};return e.set(n,r),r}function x(e){return typeof e=="string"?e:""}function m(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function U(e){return Array.isArray(e)?e.flatMap(n=>{if(!n||typeof n!="object"||Array.isArray(n))return[];const s=n,r=x(s.match?.text),t=m(s.start),o=m(s.end);return t===null||o===null?[]:[{text:r,start:t,end:o}]}):[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveBrgFormatOptions=A;const u=require("../commands/session-workspace"),i=require("../config/path-display"),a=require("../config/workspace-root"),f=require("./core"),_="rg.aliases",p="rg.trimSpaces",S="AIB_RG_ALIASES",h="AIB_RG_TRIM_SPACES";function A(t,e,s=process.env){const n={omitSingleFileHeader:E(e),showColumn:o(e,"--column"),trimLineStart:l(s[h])??(0,a.readWorkspaceBooleanConfig)(t,p,!1)};if(l(s[S])??(0,a.readWorkspaceBooleanConfig)(t,_,!0)){const r=(0,i.buildDisplayPathAliases)(t,(0,u.readEffectiveSessionPathAliases)(t));r.length>0&&(n.formatPath=c=>(0,i.compactDisplayPath)(t,c,r))}return n}function E(t){const e=d(t);return e.length===1&&m(e[0])}function d(t){const e=(0,f.classifyRgArgs)(t).features.positionals;return e.length===0?[]:o(t,"-e")||o(t,"--regexp")?e:e.slice(1)}function o(t,e){return t.some(s=>s===e||s.startsWith(`${e}=`))}function m(t){return typeof t=="string"&&/\.[A-Za-z0-9]+$/.test(t)}function l(t){if(t===void 0)return null;const e=t.toLowerCase();return e==="1"||e==="true"||e==="yes"||e==="on"?!0:e==="0"||e==="false"||e==="no"||e==="off"?!1:null}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RTK_PASSTHROUGH_COMMANDS=void 0,exports.isRtkPassthroughCommand=a,exports.runRtkPassthrough=c;const u=require("node:child_process"),r=require("../tool-runtime/runtime-tools");exports.RTK_PASSTHROUGH_COMMANDS=["git","gh","docker","kubectl","jest","vitest","playwright","pytest","go","cargo","rake","lint","biome","tsc","next","prettier","ruff","golangci-lint","rubocop"];const l=new Set(exports.RTK_PASSTHROUGH_COMMANDS);function a(t){return l.has(t)}function c(t){const o={...process.env,...t.env},s=(0,r.resolveToolRuntime)({tool:"rtk",envVar:(0,r.toolRuntimeEnvVar)("rtk"),env:o}),e=(0,u.spawnSync)(s.executable,[t.tool,...t.args],{cwd:t.cwd,input:t.stdinText,encoding:"utf8",windowsHide:!0,env:o,shell:(0,r.shouldUseShellForTool)(s.executable),maxBuffer:64*1024*1024}),n=typeof e.status=="number"?e.status:e.error?127:1;return{ok:n===0,command:"rtk",tool:t.tool,exitCode:n,stdout:e.stdout??"",stderr:e.stderr??(e.error?`${e.error.message}
2
+ `:""),signal:e.signal??null,spawnError:e.error?e.error.message:null}}
@@ -1 +1 @@
1
- "use strict";var P=exports&&exports.__createBinding||(Object.create?(function(e,n,r,o){o===void 0&&(o=r);var t=Object.getOwnPropertyDescriptor(n,r);(!t||("get"in t?!n.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return n[r]}}),Object.defineProperty(e,o,t)}):(function(e,n,r,o){o===void 0&&(o=r),e[o]=n[r]})),C=exports&&exports.__setModuleDefault||(Object.create?(function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}):function(e,n){e.default=n}),m=exports&&exports.__importStar||(function(){var e=function(n){return e=Object.getOwnPropertyNames||function(r){var o=[];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(o[o.length]=t);return o},e(n)};return function(n){if(n&&n.__esModule)return n;var r={};if(n!=null)for(var o=e(n),t=0;t<o.length;t++)o[t]!=="default"&&P(r,n,o[t]);return C(r,n),r}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.COMMAND_INPUT_CAPABILITIES=void 0,exports.resolveCommandInputSource=v,exports.getCommandInputCapability=O,exports.commandRequiresPayload=D;const E=m(require("node:fs")),y=m(require("node:path")),M=require("../commands/json-file-input"),S=require("../commands/session-workspace"),h=require("../payloads/read-stdin-json"),u=require("../shared/errors"),L={stdin:!1,fromJson:!1,fromJsonMode:"central",requiredPayload:!1};exports.COMMAND_INPUT_CAPABILITIES={inspect:{stdin:!0,fromJson:!0,fromJsonMode:"command",requiredPayload:!1},move:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!0,allowNoPayload:e=>e[0]==="help"||e[0]==="--help"||e[1]==="help"||e[1]==="--help"||e[0]==="toFile"&&e[1]==="apply"&&typeof e[2]=="string"&&!e[2].startsWith("--"),invalidJsonCode:"INVALID_MOVE_TO_FILE_JSON_FILE"},rename:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!0,allowNoPayload:e=>e.includes("--help")||e[0]==="help"||e.includes("--preview")||e.includes("--preview-id")||e[0]==="preview"&&typeof e[1]=="string"&&typeof e[2]=="string"&&typeof e[3]=="string"||e[0]==="validate"&&typeof e[1]=="string"&&typeof e[2]=="string"&&typeof e[3]=="string"||e[0]==="apply"&&typeof e[1]=="string"&&!e[1].startsWith("--"),invalidJsonCode:"INVALID_RENAME_ENTITIES_JSON_FILE"},refactor:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!0,allowNoPayload:e=>e[0]==="help"||e[0]==="--help"||e[1]==="help"||e[1]==="--help"||e[0]==="batch"&&e[1]==="apply"&&typeof e[2]=="string"&&!e[2].startsWith("--"),invalidJsonCode:"INVALID_REFACTOR_BATCH_JSON_FILE"},modulePlan:{stdin:!0,fromJson:!0,fromJsonMode:"command",requiredPayload:!1},imports:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!1,invalidJsonCode:"INVALID_NORMALIZE_IMPORTS_JSON_FILE"},moveToFile:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!1,invalidJsonCode:"INVALID_MOVE_TO_FILE_JSON_FILE"},renameEntities:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!1,invalidJsonCode:"INVALID_RENAME_ENTITIES_JSON_FILE"},refactorBatch:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!1,invalidJsonCode:"INVALID_REFACTOR_BATCH_JSON_FILE"},session:{stdin:!0,fromJson:!1,fromJsonMode:"central",requiredPayload:!1},view:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!1,invalidJsonCode:"INVALID_VIEW_INPUT_FILE"}};async function v(e){const{command:n,cwd:r,restArgs:o,preResolvedPayload:t,preResolvedSource:a,readStdinJson:c,readStdinInput:I}=e,i=O(n),_=o.includes("--stdin"),d=p(o,"--from-json"),s=p(o,"--from-dsl"),f=p(o,"--from");if(Number(_)+ +(d!==null)+ +(s!==null)+ +(f!==null)>1)throw new u.CliError("INPUT_SOURCE_CONFLICT",`Use only one input source for ${n}: --stdin, --from, --from-json, or --from-dsl.`);if(_&&!i.stdin)throw new u.CliError("INPUT_STDIN_UNSUPPORTED",`${n} does not support --stdin input.`);if((d!==null||s!==null||f!==null)&&!i.fromJson)throw new u.CliError("INPUT_FROM_UNSUPPORTED",`${n} does not support file input.`);if(t!==void 0)return{kind:f!==null?"from":s!==null?"from-dsl":d!==null?"from-json":"stdin",payload:T(t,n),...a!==void 0?{source:a}:{},capability:i};if(_){if(I){const l=await I();return{kind:"stdin",payload:l.payload,source:l.source,capability:i}}if(!c)throw new u.CliError("STDIN_REQUIRED",`${n} expects JSON on stdin and the --stdin flag.`);return{kind:"stdin",payload:await c(),capability:i}}if(d!==null)return i.fromJsonMode==="command"?{kind:"delegated-from-json",capability:i}:{kind:"from-json",payload:(0,M.readJsonObjectFile)(r,d,i.invalidJsonCode??"INVALID_COMMAND_JSON_FILE"),source:{format:"json",text:J(r,d,i.invalidJsonCode??"INVALID_COMMAND_JSON_FILE")},capability:i};if(s!==null){const l=N(r,s,n,o,"dsl",i.invalidJsonCode??"INVALID_COMMAND_DSL_FILE");return{kind:"from-dsl",payload:l.payload,source:l.source,capability:i}}if(f!==null){const l=N(r,f,n,o,"auto",i.invalidJsonCode??"INVALID_COMMAND_INPUT_FILE");return{kind:"from",payload:l.payload,source:l.source,capability:i}}return{kind:"none",capability:i}}function N(e,n,r,o,t,a){const c=J(e,n,a);return(0,h.parseInputPayloadWithSource)(c,{command:r,restArgs:o,...t==="dsl"?{format:"dsl"}:{}})}function J(e,n,r){const o=(0,S.resolveSessionFileArgument)(e,n),t=y.isAbsolute(o)?o:y.resolve(e,o);try{return E.readFileSync(t,"utf8")}catch(a){throw new u.CliError(r,`Failed to read input file: ${n}`,{file:n,error:a instanceof Error?a.message:String(a)})}}function O(e){return exports.COMMAND_INPUT_CAPABILITIES[e]??L}function D(e,n,r){return r.capability.requiredPayload===!0&&r.payload===void 0&&r.kind!=="delegated-from-json"&&r.capability.allowNoPayload?.(n)!==!0}function T(e,n){if(e&&typeof e=="object"&&!Array.isArray(e))return e;throw new u.CliError("INVALID_COMMAND_JSON_PAYLOAD",`${n} expects a JSON object payload.`)}function p(e,n){const r=e.indexOf(n);if(r<0)return null;const o=e[r+1];return o&&!o.startsWith("--")?o:null}
1
+ "use strict";var h=exports&&exports.__createBinding||(Object.create?(function(e,o,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(o,t);(!i||("get"in i?!o.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return o[t]}}),Object.defineProperty(e,n,i)}):(function(e,o,t,n){n===void 0&&(n=t),e[n]=o[t]})),P=exports&&exports.__setModuleDefault||(Object.create?(function(e,o){Object.defineProperty(e,"default",{enumerable:!0,value:o})}):function(e,o){e.default=o}),m=exports&&exports.__importStar||(function(){var e=function(o){return e=Object.getOwnPropertyNames||function(t){var n=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[n.length]=i);return n},e(o)};return function(o){if(o&&o.__esModule)return o;var t={};if(o!=null)for(var n=e(o),i=0;i<n.length;i++)n[i]!=="default"&&h(t,o,n[i]);return P(t,o),t}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.COMMAND_INPUT_CAPABILITIES=void 0,exports.resolveCommandInputSource=D,exports.getCommandInputCapability=O,exports.commandRequiresPayload=v;const E=m(require("node:fs")),y=m(require("node:path")),C=require("../commands/json-file-input"),M=require("../commands/session-workspace"),L=require("../payloads/read-stdin-json"),u=require("../shared/errors"),S={stdin:!1,fromJson:!1,fromJsonMode:"central",requiredPayload:!1};exports.COMMAND_INPUT_CAPABILITIES={inspect:{stdin:!0,fromJson:!0,fromJsonMode:"command",requiredPayload:!1},move:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!0,allowNoPayload:e=>e[0]==="help"||e[0]==="--help"||e[1]==="help"||e[1]==="--help"||e[0]==="toFile"&&e[1]==="apply"&&typeof e[2]=="string"&&!e[2].startsWith("--"),invalidJsonCode:"INVALID_MOVE_TO_FILE_JSON_FILE"},rename:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!0,allowNoPayload:e=>e.includes("--help")||e[0]==="help"||e.includes("--preview")||e.includes("--preview-id")||e[0]==="preview"&&typeof e[1]=="string"&&typeof e[2]=="string"&&typeof e[3]=="string"||e[0]==="validate"&&typeof e[1]=="string"&&typeof e[2]=="string"&&typeof e[3]=="string"||e[0]==="apply"&&typeof e[1]=="string"&&!e[1].startsWith("--"),invalidJsonCode:"INVALID_RENAME_ENTITIES_JSON_FILE"},refactor:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!0,allowNoPayload:e=>e[0]==="help"||e[0]==="--help"||e[1]==="help"||e[1]==="--help"||e[0]==="batch"&&e[1]==="apply"&&typeof e[2]=="string"&&!e[2].startsWith("--"),invalidJsonCode:"INVALID_REFACTOR_BATCH_JSON_FILE"},modulePlan:{stdin:!0,fromJson:!0,fromJsonMode:"command",requiredPayload:!1},file:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!0,allowNoPayload:e=>e[0]==="help"||e[0]==="--help"||e[1]==="help"||e[1]==="--help"||e[2]==="help"||e[2]==="--help"||e[0]==="move"&&e[1]==="toDir"&&e[2]==="apply"&&typeof e[3]=="string"&&!e[3].startsWith("--")||e[0]==="rename"&&e[1]==="apply"&&typeof e[2]=="string"&&!e[2].startsWith("--")||e[0]==="refactor"&&e[1]==="batch"&&e[2]==="apply"&&typeof e[3]=="string"&&!e[3].startsWith("--"),invalidJsonCode:"INVALID_FILE_MOVE_TO_DIR_JSON_FILE"},declaration:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!0,allowNoPayload:e=>e[0]==="help"||e[0]==="--help"||e[1]==="help"||e[1]==="--help"||e[1]==="apply"&&typeof e[2]=="string"&&!e[2].startsWith("--"),invalidJsonCode:"INVALID_DECLARATION_JSON_FILE"},imports:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!1,invalidJsonCode:"INVALID_NORMALIZE_IMPORTS_JSON_FILE"},moveToFile:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!1,invalidJsonCode:"INVALID_MOVE_TO_FILE_JSON_FILE"},renameEntities:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!1,invalidJsonCode:"INVALID_RENAME_ENTITIES_JSON_FILE"},refactorBatch:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!1,invalidJsonCode:"INVALID_REFACTOR_BATCH_JSON_FILE"},session:{stdin:!0,fromJson:!1,fromJsonMode:"central",requiredPayload:!1},view:{stdin:!0,fromJson:!0,fromJsonMode:"central",requiredPayload:!1,invalidJsonCode:"INVALID_VIEW_INPUT_FILE"}};async function D(e){const{command:o,cwd:t,restArgs:n,preResolvedPayload:i,preResolvedSource:r,readStdinJson:s,readStdinInput:I}=e,a=O(o),p=n.includes("--stdin"),d=_(n,"--from-json"),f=_(n,"--from-dsl"),c=_(n,"--from");if(Number(p)+ +(d!==null)+ +(f!==null)+ +(c!==null)>1)throw new u.CliError("INPUT_SOURCE_CONFLICT",`Use only one input source for ${o}: --stdin, --from, --from-json, or --from-dsl.`);if(p&&!a.stdin)throw new u.CliError("INPUT_STDIN_UNSUPPORTED",`${o} does not support --stdin input.`);if((d!==null||f!==null||c!==null)&&!a.fromJson)throw new u.CliError("INPUT_FROM_UNSUPPORTED",`${o} does not support file input.`);if(i!==void 0)return{kind:c!==null?"from":f!==null?"from-dsl":d!==null?"from-json":"stdin",payload:T(i,o),...r!==void 0?{source:r}:{},capability:a};if(p){if(I){const l=await I();return{kind:"stdin",payload:l.payload,source:l.source,capability:a}}if(!s)throw new u.CliError("STDIN_REQUIRED",`${o} expects JSON on stdin and the --stdin flag.`);return{kind:"stdin",payload:await s(),capability:a}}if(d!==null)return a.fromJsonMode==="command"?{kind:"delegated-from-json",capability:a}:{kind:"from-json",payload:(0,C.readJsonObjectFile)(t,d,a.invalidJsonCode??"INVALID_COMMAND_JSON_FILE"),source:{format:"json",text:J(t,d,a.invalidJsonCode??"INVALID_COMMAND_JSON_FILE")},capability:a};if(f!==null){const l=N(t,f,o,n,"dsl",a.invalidJsonCode??"INVALID_COMMAND_DSL_FILE");return{kind:"from-dsl",payload:l.payload,source:l.source,capability:a}}if(c!==null){const l=N(t,c,o,n,"auto",a.invalidJsonCode??"INVALID_COMMAND_INPUT_FILE");return{kind:"from",payload:l.payload,source:l.source,capability:a}}return{kind:"none",capability:a}}function N(e,o,t,n,i,r){const s=J(e,o,r);return(0,L.parseInputPayloadWithSource)(s,{command:t,restArgs:n,...i==="dsl"?{format:"dsl"}:{}})}function J(e,o,t){const n=(0,M.resolveSessionFileArgument)(e,o),i=y.isAbsolute(n)?n:y.resolve(e,n);try{return E.readFileSync(i,"utf8")}catch(r){throw new u.CliError(t,`Failed to read input file: ${o}`,{file:o,error:r instanceof Error?r.message:String(r)})}}function O(e){return exports.COMMAND_INPUT_CAPABILITIES[e]??S}function v(e,o,t){return t.capability.requiredPayload===!0&&t.payload===void 0&&t.kind!=="delegated-from-json"&&t.capability.allowNoPayload?.(o)!==!0}function T(e,o){if(e&&typeof e=="object"&&!Array.isArray(e))return e;throw new u.CliError("INVALID_COMMAND_JSON_PAYLOAD",`${o} expects a JSON object payload.`)}function _(e,o){const t=e.indexOf(o);if(t<0)return null;const n=e[t+1];return n&&!n.startsWith("--")?n:null}
@@ -1 +1 @@
1
- "use strict";var l=exports&&exports.__createBinding||(Object.create?(function(e,n,t,i){i===void 0&&(i=t);var r=Object.getOwnPropertyDescriptor(n,t);(!r||("get"in r?!n.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,i,r)}):(function(e,n,t,i){i===void 0&&(i=t),e[i]=n[t]})),d=exports&&exports.__setModuleDefault||(Object.create?(function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}):function(e,n){e.default=n}),c=exports&&exports.__importStar||(function(){var e=function(n){return e=Object.getOwnPropertyNames||function(t){var i=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(i[i.length]=r);return i},e(n)};return function(n){if(n&&n.__esModule)return n;var t={};if(n!=null)for(var i=e(n),r=0;r<i.length;r++)i[r]!=="default"&&l(t,n,i[r]);return d(t,n),t}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.ensureManagedRuntimeProvisioned=p,exports.isManagedRuntimeComplete=f;const o=c(require("node:fs")),u=c(require("node:path")),m=require("node:child_process");function p(e){if(f(e))return;const n=u.join(e,"scripts","provision-runtime.cjs");o.existsSync(n)&&(0,m.spawnSync)(process.execPath,[n,"--quiet"],{cwd:e,env:process.env,encoding:"utf8",stdio:["ignore","pipe","pipe"],windowsHide:!0,timeout:6e5})}function f(e){return o.existsSync(u.join(e,"runtimes","code-server","node_modules","code-server","out","node","entry.js"))&&!!w(e)&&!!h(e)}function h(e){const n=_();if(!n)return null;const t=process.platform==="win32"?u.join(e,"runtimes","node",n,"node.exe"):u.join(e,"runtimes","node",n,"bin","node");return o.existsSync(t)?t:null}function _(){const e=process.arch;return process.platform==="win32"&&e==="x64"?"win-x64":process.platform==="linux"&&e==="x64"?"linux-x64":process.platform==="linux"&&e==="arm64"?"linux-arm64":process.platform==="darwin"&&e==="x64"?"darwin-x64":process.platform==="darwin"&&e==="arm64"?"darwin-arm64":null}function w(e){const n=[u.join(e,"runtimes","browser"),u.join(e,"runtimes","chrome"),u.join(e,"runtimes","chromium")],t=process.platform==="win32"?new Set(["chrome.exe","chromium.exe","msedge.exe"]):new Set(["chrome","chromium"]);for(const i of n){const r=a(i,t,5);if(r)return r}return null}function a(e,n,t){if(!o.existsSync(e)||t<0)return null;let i;try{i=o.readdirSync(e,{withFileTypes:!0})}catch{return null}for(const r of i){const s=u.join(e,r.name);if(r.isFile()&&n.has(r.name))return s}for(const r of i){if(!r.isDirectory())continue;const s=a(u.join(e,r.name),n,t-1);if(s)return s}return null}
1
+ "use strict";var d=exports&&exports.__createBinding||(Object.create?(function(e,n,i,r){r===void 0&&(r=i);var t=Object.getOwnPropertyDescriptor(n,i);(!t||("get"in t?!n.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return n[i]}}),Object.defineProperty(e,r,t)}):(function(e,n,i,r){r===void 0&&(r=i),e[r]=n[i]})),p=exports&&exports.__setModuleDefault||(Object.create?(function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}):function(e,n){e.default=n}),a=exports&&exports.__importStar||(function(){var e=function(n){return e=Object.getOwnPropertyNames||function(i){var r=[];for(var t in i)Object.prototype.hasOwnProperty.call(i,t)&&(r[r.length]=t);return r},e(n)};return function(n){if(n&&n.__esModule)return n;var i={};if(n!=null)for(var r=e(n),t=0;t<r.length;t++)r[t]!=="default"&&d(i,n,r[t]);return p(i,n),i}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.ensureManagedRuntimeProvisioned=h,exports.isManagedRuntimeComplete=c,exports.managedRuntimePlatformStatus=f,exports.runtimePlatformKey=l;const u=a(require("node:fs")),o=a(require("node:path")),y=require("node:child_process");function h(e){if(c(e))return;const n=o.join(e,"scripts","provision-runtime.cjs");u.existsSync(n)&&(0,y.spawnSync)(process.execPath,[n,"--quiet"],{cwd:e,env:process.env,encoding:"utf8",stdio:["ignore","pipe","pipe"],windowsHide:!0,timeout:6e5})}function c(e){return u.existsSync(o.join(e,"runtimes","code-server","node_modules","code-server","out","node","entry.js"))&&!!w(e)&&!!P(e)&&f(e).ok}function f(e){const n=o.join(e,"runtimes",".aib-runtime-platform.json"),i=l();if(!u.existsSync(n))return{ok:!0,markerPath:n,expectedPlatformKey:i,actualPlatformKey:null,reason:"missing"};try{const r=JSON.parse(u.readFileSync(n,"utf8")),t=typeof r.platformKey=="string"?r.platformKey:typeof r.platform=="string"&&typeof r.arch=="string"?`${r.platform}-${r.arch}`:null;return{ok:t===i,markerPath:n,expectedPlatformKey:i,actualPlatformKey:t,reason:t===i?"ok":"mismatch"}}catch{return{ok:!1,markerPath:n,expectedPlatformKey:i,actualPlatformKey:null,reason:"invalid"}}}function l(){return`${process.platform}-${process.arch}`}function P(e){const n=_();if(!n)return null;const i=process.platform==="win32"?o.join(e,"runtimes","node",n,"node.exe"):o.join(e,"runtimes","node",n,"bin","node");return u.existsSync(i)?i:null}function _(){const e=process.arch;return process.platform==="win32"&&e==="x64"?"win-x64":process.platform==="linux"&&e==="x64"?"linux-x64":process.platform==="linux"&&e==="arm64"?"linux-arm64":process.platform==="darwin"&&e==="x64"?"darwin-x64":process.platform==="darwin"&&e==="arm64"?"darwin-arm64":null}function w(e){const n=[o.join(e,"runtimes","browser"),o.join(e,"runtimes","chrome"),o.join(e,"runtimes","chromium")],i=process.platform==="win32"?new Set(["chrome.exe","chromium.exe","msedge.exe"]):new Set(["chrome","chromium"]);for(const r of n){const t=m(r,i,5);if(t)return t}return null}function m(e,n,i){if(!u.existsSync(e)||i<0)return null;let r;try{r=u.readdirSync(e,{withFileTypes:!0})}catch{return null}for(const t of r){const s=o.join(e,t.name);if(t.isFile()&&n.has(t.name))return s}for(const t of r){if(!t.isDirectory())continue;const s=m(o.join(e,t.name),n,i-1);if(s)return s}return null}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.runCommand=z;const P=require("../commands/list-instances"),b=require("../commands/ping"),k=require("../commands/runtime-info"),S=require("../commands/print-config"),R=require("../commands/init-skill-usage"),x=require("../commands/init-workspace"),A=require("../commands/inspect"),c=require("../commands/captured-input"),E=require("../commands/module-plan-command"),D=require("../commands/rename-command"),N=require("../commands/move-command"),O=require("../commands/refactor-command"),U=require("../commands/imports-command"),W=require("../commands/execution-command"),T=require("../commands/observability-command"),M=require("../commands/help-command"),F=require("../commands/generate-docs-command"),j=require("../commands/feedback-command"),Q=require("../commands/doctor"),G=require("../commands/diagnostics-command"),H=require("../commands/session-workspace"),y=require("../commands/session-workspace"),I=require("../config/path-aliases"),J=require("../commands/runtime-command"),K=require("../commands/sync-command"),L=require("../commands/reveal-command"),p=require("../client/transport-options"),m=require("../shared/errors"),l=require("./input-source"),$=require("../config/workspace-state");async function z(n){return(0,y.runWithSessionOverride)(n.sessionId,()=>B(n))}async function B(n){const{command:o,restArgs:d,cwd:r,instanceId:_,metricsSpans:C}=n,u=V(o)?(0,$.ensureWorkspaceState)(r):null,g=u?(0,y.readSessionPathAliasOverrides)(r):{},f={...u?.pathAliases??{},...g},e=(0,I.expandPathAliasesInArgs)(r,d,f),a=await(0,l.resolveCommandInputSource)({command:o,cwd:r,restArgs:e,...n.stdinPayload!==void 0?{preResolvedPayload:(0,I.expandPathAliasesInJson)(r,n.stdinPayload,f)}:{},...n.stdinInputSource!==void 0?{preResolvedSource:n.stdinInputSource}:{}}),s=a.payload,t={};_!==void 0&&(t.explicitInstanceId=_),n.autoStartIde!==void 0&&(t.autoStartIde=n.autoStartIde),n.transport!==void 0&&(t.transport=n.transport),n.metricsEnabled===!0&&(t.metricsEnabled=!0),u&&(t.importRules=u.importRules,t.mutationComments=u.mutationComments);const w=(0,p.getPreferredTransport)();n.transport&&(0,p.setPreferredTransport)(n.transport);try{switch(o){case"doctor":return(0,Q.runDoctor)({cwd:r,runtime:e.includes("--runtime"),verbose:e.includes("--verbose"),json:e.includes("--json")});case"diagnostics":return await(0,G.runDiagnosticsCommand)(e),{ok:!0,command:"diagnostics"};case"session":return(0,H.runSessionWorkspaceCommand)(r,e,s);case"init":return(0,x.runInitWorkspace)(r,d);case"help":return(0,M.runHelpCommand)(e);case"generate-docs":return(0,F.runGenerateDocsCommand)(r,d);case"sync":return(0,K.runSyncCommand)(r,e);case"reveal":return(0,L.runRevealCommand)(r,e);case"observability":return(0,T.runObservabilityCommand)(r,e);case"feedback":case"note":return(0,j.runFeedbackCommand)(r,d,o);case"runtime":return(0,J.runRuntimeCommand)(r,e);case"imports":return(0,c.attachCapturedInput)(r,"imports",s,await(0,U.runImportsCommand)(r,e,s,t,C),a.source);case"listInstances":return(0,P.runListInstances)();case"ping":return(0,b.runPing)(r,t);case"runtimeInfo":return(0,k.runRuntimeInfo)(r,t);case"printConfig":return(0,S.runPrintConfig)(r,t);case"initSkillUsage":case"init-skill-usage":{const i=e.findIndex(h=>h==="--cli-name"),q=i>=0&&e[i+1]?e[i+1]:"aib",v={cwd:r,cliName:q??"aib"};return v.resolveOptions=t,(0,R.runInitSkillUsage)(v)}case"inspect":return(0,c.attachCapturedInput)(r,e[0]==="graph"?"graph":"inspect",s,await(0,A.runInspect)(r,e,s,t),a.source);case"modulePlan":return(0,c.attachCapturedInput)(r,"modulePlan",s,await(0,E.runModulePlanCommand)(r,e,s,t,n.modulePlanExecutionId?{executionId:n.modulePlanExecutionId}:{}),a.source);case"execution":return(0,W.runExecutionCommand)(r,e);case"rename":{if(!(e[0]==="apply"&&typeof e[1]=="string"&&!e[1].startsWith("--"))&&(0,l.commandRequiresPayload)(o,e,a))throw new m.CliError("STDIN_REQUIRED","rename preview/apply/validate expects a payload on stdin or --from, except preview-id apply/help.");return(0,c.attachCapturedInput)(r,"rename",s,await(0,D.runRenameCommand)(r,e,s,t),a.source)}case"move":{if(!(e[0]==="toFile"&&e[1]==="apply"&&typeof e[2]=="string"&&!e[2].startsWith("--"))&&(0,l.commandRequiresPayload)(o,e,a))throw new m.CliError("STDIN_REQUIRED","move toFile preview/apply/validate expects a payload on stdin or --from.");return(0,c.attachCapturedInput)(r,"move",s,await(0,N.runMoveCommand)(r,e,s,t),a.source)}case"refactor":{if(!(e[0]==="batch"&&e[1]==="apply"&&typeof e[2]=="string"&&!e[2].startsWith("--"))&&(0,l.commandRequiresPayload)(o,e,a))throw new m.CliError("STDIN_REQUIRED","refactor batch preview/apply/validate expects a payload on stdin or --from, except preview-id apply/help.");return(0,c.attachCapturedInput)(r,"refactor",s,await(0,O.runRefactorCommand)(r,e,s,t),a.source)}default:throw new m.CliError("UNKNOWN_COMMAND",`Unknown command: ${o}`,{availableCommands:["doctor","diagnostics","listInstances","ping","runtimeInfo","printConfig","init-skill-usage","init","help","generate-docs","sync","reveal","inspect","imports","execution","move","rename","refactor","modulePlan","session","runtime","trace","observability","feedback","note"]})}}finally{(0,p.setPreferredTransport)(w)}}function V(n){return n!=="init"&&n!=="help"&&n!=="generate-docs"&&n!=="observability"&&n!=="feedback"&&n!=="note"&&n!=="runtime"&&n!=="diagnostics"&&n!=="doctor"&&n!=="reveal"}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.runCommand=Y;const P=require("../commands/list-instances"),b=require("../commands/ping"),R=require("../commands/runtime-info"),x=require("../commands/print-config"),S=require("../commands/init-skill-usage"),k=require("../commands/init-workspace"),E=require("../commands/inspect"),c=require("../commands/captured-input"),A=require("../commands/module-plan-command"),D=require("../commands/rename-command"),W=require("../commands/move-command"),N=require("../commands/file-command"),U=require("../commands/refactor-command"),O=require("../commands/imports-command"),T=require("../commands/declaration-command"),M=require("../commands/execution-command"),F=require("../commands/observability-command"),Q=require("../commands/help-command"),j=require("../commands/generate-docs-command"),H=require("../commands/feedback-command"),$=require("../commands/doctor"),G=require("../commands/diagnostics-command"),J=require("../commands/config-command"),K=require("../commands/session-workspace"),v=require("../commands/session-workspace"),g=require("../config/path-aliases"),L=require("../commands/runtime-command"),z=require("../commands/ota-command"),B=require("../commands/sync-command"),V=require("../commands/reveal-command"),_=require("../client/transport-options"),u=require("../shared/errors"),p=require("./input-source"),X=require("../config/workspace-state");async function Y(t){return(0,v.runWithSessionOverride)(t.sessionId,()=>Z(t))}async function Z(t){const{command:s,restArgs:m,cwd:r,instanceId:f,metricsSpans:w}=t,l=ee(s)?(0,X.ensureWorkspaceState)(r):null,I=l?(0,v.readSessionPathAliasOverrides)(r):{},y={...l?.pathAliases??{},...I},e=(0,g.expandPathAliasesInArgs)(r,m,y),o=await(0,p.resolveCommandInputSource)({command:s,cwd:r,restArgs:e,...t.stdinPayload!==void 0?{preResolvedPayload:(0,g.expandPathAliasesInJson)(r,t.stdinPayload,y)}:{},...t.stdinInputSource!==void 0?{preResolvedSource:t.stdinInputSource}:{}}),a=o.payload,n={};f!==void 0&&(n.explicitInstanceId=f),t.autoStartIde!==void 0&&(n.autoStartIde=t.autoStartIde),t.transport!==void 0&&(n.transport=t.transport),t.metricsEnabled===!0&&(n.metricsEnabled=!0),l&&(n.importRules=l.importRules,n.mutationComments=l.mutationComments);const C=(0,_.getPreferredTransport)();t.transport&&(0,_.setPreferredTransport)(t.transport);try{switch(s){case"doctor":return(0,$.runDoctor)({cwd:r,runtime:e.includes("--runtime"),verbose:e.includes("--verbose"),json:e.includes("--json"),progress:e.includes("--progress")});case"diagnostics":return await(0,G.runDiagnosticsCommand)(e),{ok:!0,command:"diagnostics"};case"session":return(0,K.runSessionWorkspaceCommand)(r,e,a);case"init":return(0,k.runInitWorkspace)(r,m);case"help":return(0,Q.runHelpCommand)(e);case"generate-docs":return(0,j.runGenerateDocsCommand)(r,m);case"config":return(0,J.runConfigCommand)(r,e);case"sync":return(0,B.runSyncCommand)(r,e);case"reveal":return(0,V.runRevealCommand)(r,e);case"observability":return(0,F.runObservabilityCommand)(r,e);case"feedback":case"note":return(0,H.runFeedbackCommand)(r,m,s);case"runtime":return(0,L.runRuntimeCommand)(r,e);case"imports":return(0,c.attachCapturedInput)(r,"imports",a,await(0,O.runImportsCommand)(r,e,a,n,w),o.source);case"declaration":{const i=e[1]==="apply"&&typeof e[2]=="string"&&!e[2].startsWith("--"),d=e[0]==="help"||e[0]==="--help"||e[1]==="help"||e[1]==="--help";if(!i&&!d&&(0,p.commandRequiresPayload)(s,e,o))throw new u.CliError("STDIN_REQUIRED","declaration remove/addMissing preview/execute expects a payload on stdin or --from, except preview-id apply/help.");return(0,c.attachCapturedInput)(r,`declaration.${e[0]??"help"}`,a,await(0,T.runDeclarationCommand)(r,e,a,n),o.source)}case"listInstances":return(0,P.runListInstances)();case"ping":return(0,b.runPing)(r,n);case"runtimeInfo":return(0,R.runRuntimeInfo)(r,n);case"printConfig":return(0,x.runPrintConfig)(r,n);case"initSkillUsage":case"init-skill-usage":{const i=e.findIndex(q=>q==="--cli-name"),d=i>=0&&e[i+1]?e[i+1]:"aib",h={cwd:r,cliName:d??"aib"};return h.resolveOptions=n,(0,S.runInitSkillUsage)(h)}case"inspect":return(0,c.attachCapturedInput)(r,e[0]==="graph"?"graph":"inspect",a,await(0,E.runInspect)(r,e,a,n),o.source);case"modulePlan":return(0,c.attachCapturedInput)(r,"modulePlan",a,await(0,A.runModulePlanCommand)(r,e,a,n,t.modulePlanExecutionId?{executionId:t.modulePlanExecutionId}:{}),o.source);case"execution":return(0,M.runExecutionCommand)(r,e);case"ota":return(0,z.runOtaCommand)(e);case"rename":{if(!(e[0]==="apply"&&typeof e[1]=="string"&&!e[1].startsWith("--"))&&(0,p.commandRequiresPayload)(s,e,o))throw new u.CliError("STDIN_REQUIRED","rename preview/apply/validate expects a payload on stdin or --from, except preview-id apply/help.");return(0,c.attachCapturedInput)(r,"rename",a,await(0,D.runRenameCommand)(r,e,a,n),o.source)}case"move":{if(!(e[0]==="toFile"&&e[1]==="apply"&&typeof e[2]=="string"&&!e[2].startsWith("--"))&&(0,p.commandRequiresPayload)(s,e,o))throw new u.CliError("STDIN_REQUIRED","move toFile preview/apply/validate expects a payload on stdin or --from.");return(0,c.attachCapturedInput)(r,"move",a,await(0,W.runMoveCommand)(r,e,a,n),o.source)}case"file":{const i=e[0]==="move"&&e[1]==="toDir"&&e[2]==="apply"&&typeof e[3]=="string"&&!e[3].startsWith("--")||e[0]==="rename"&&e[1]==="apply"&&typeof e[2]=="string"&&!e[2].startsWith("--")||e[0]==="refactor"&&e[1]==="batch"&&e[2]==="apply"&&typeof e[3]=="string"&&!e[3].startsWith("--"),d=e[0]==="help"||e[0]==="--help"||e[1]==="help"||e[1]==="--help"||e[2]==="help"||e[2]==="--help";if(!i&&!d&&(0,p.commandRequiresPayload)(s,e,o))throw new u.CliError("STDIN_REQUIRED","file move/rename preview/execute expects a payload on stdin or --from, except preview-id apply/help.");return(0,c.attachCapturedInput)(r,e[0]==="rename"?"file.rename":e[0]==="refactor"?"file.refactor.batch":"file.move.toDir",a,await(0,N.runFileCommand)(r,e,a,n),o.source)}case"refactor":{if(!(e[0]==="batch"&&e[1]==="apply"&&typeof e[2]=="string"&&!e[2].startsWith("--"))&&(0,p.commandRequiresPayload)(s,e,o))throw new u.CliError("STDIN_REQUIRED","refactor batch preview/apply/validate expects a payload on stdin or --from, except preview-id apply/help.");return(0,c.attachCapturedInput)(r,"refactor",a,await(0,U.runRefactorCommand)(r,e,a,n),o.source)}default:throw new u.CliError("UNKNOWN_COMMAND",`Unknown command: ${s}`,{availableCommands:["doctor","diagnostics","listInstances","ping","runtimeInfo","printConfig","init-skill-usage","init","help","generate-docs","config","sync","reveal","inspect","imports","declaration","execution","file","move","rename","refactor","modulePlan","session","runtime","ota","trace","observability","feedback","note"]})}}finally{(0,_.setPreferredTransport)(C)}}function ee(t){return t!=="init"&&t!=="help"&&t!=="generate-docs"&&t!=="config"&&t!=="observability"&&t!=="feedback"&&t!=="note"&&t!=="runtime"&&t!=="ota"&&t!=="diagnostics"&&t!=="doctor"&&t!=="reveal"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseEntitySelectors=p;const s=require("../shared/errors"),a=require("../shared/types");function d(r,n){const e=r.trim();if(!e)throw new s.CliError("INVALID_ENTITY_SELECTOR","Entity selector cannot be empty.");const t=l(e,n.selectorSeparator,n);if(t)return t;const i=l(e,":",n);if(i)return i;const o=l(e,"-",n);return o||{raw:e,symbolName:e,symbolKind:null}}function l(r,n,e){const t=r.indexOf(n);if(t<=0)return null;const i=r.slice(0,t),o=r.slice(t+n.length).trim();if(!o)throw new s.CliError("INVALID_ENTITY_SELECTOR",`Invalid entity selector: ${r}`);const c=f(i,e);return c?{raw:r,symbolName:o,symbolKind:c}:null}function f(r,n){if(u(r))return r;const e=Object.entries(n.entityKindAliases).find(([,i])=>i===r);if(!e)return null;const[t]=e;return u(t)?t:null}function u(r){return a.ENTITY_KIND_IDS.includes(r)}function p(r,n){const e=Array.isArray(r)?r:r.split(/\s+/).map(t=>t.trim()).filter(Boolean);if(e.length===0)throw new s.CliError("MISSING_ENTITIES","At least one entity selector is required.");return e.map(t=>d(t,n))}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseEntitySelectors=I;const s=require("../shared/errors"),d=require("../shared/types");function f(e,t){const n=e.trim();if(!n)throw new s.CliError("INVALID_ENTITY_SELECTOR","Entity selector cannot be empty.");const r=l(n,t.selectorSeparator,t);if(r)return r;const i=l(n,":",t);if(i)return i;const o=l(n,"-",t);return o||{raw:n,...u(n),symbolKind:null}}function l(e,t,n){const r=e.indexOf(t);if(r<=0)return null;const i=e.slice(0,r),o=e.slice(r+t.length).trim();if(!o)throw new s.CliError("INVALID_ENTITY_SELECTOR",`Invalid entity selector: ${e}`);const c=p(i,n);return c?{raw:e,...u(o),symbolKind:c}:null}function u(e){const t=e.lastIndexOf(".");return t<=0||t>=e.length-1?{symbolName:e}:{parentName:e.slice(0,t),symbolName:e.slice(t+1)}}function p(e,t){if(a(e))return e;const n=Object.entries(t.entityKindAliases).find(([,i])=>i===e);if(!n)return null;const[r]=n;return a(r)?r:null}function a(e){return d.ENTITY_KIND_IDS.includes(e)}function I(e,t){const n=Array.isArray(e)?e:e.split(/\s+/).map(r=>r.trim()).filter(Boolean);if(n.length===0)throw new s.CliError("MISSING_ENTITIES","At least one entity selector is required.");return n.map(r=>f(r,t))}
@@ -0,0 +1,2 @@
1
+ "use strict";var c=exports&&exports.__createBinding||(Object.create?(function(t,n,e,r){r===void 0&&(r=e);var o=Object.getOwnPropertyDescriptor(n,e);(!o||("get"in o?!n.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return n[e]}}),Object.defineProperty(t,r,o)}):(function(t,n,e,r){r===void 0&&(r=e),t[r]=n[e]})),d=exports&&exports.__setModuleDefault||(Object.create?(function(t,n){Object.defineProperty(t,"default",{enumerable:!0,value:n})}):function(t,n){t.default=n}),u=exports&&exports.__importStar||(function(){var t=function(n){return t=Object.getOwnPropertyNames||function(e){var r=[];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(r[r.length]=o);return r},t(n)};return function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var r=t(n),o=0;o<r.length;o++)r[o]!=="default"&&c(e,n,r[o]);return d(e,n),e}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.cliDaemonIdentityPath=s,exports.currentCliDaemonPackage=f,exports.writeCliDaemonIdentity=l,exports.readCliDaemonIdentity=g,exports.daemonIdentityToJson=m;const i=u(require("node:fs")),a=u(require("node:path")),p=require("../config/product-storage");function s(t=(0,p.productStorageRoot)()){return a.join(t,"ota","daemon-identity.json")}function f(){const t=a.resolve(__dirname,"..","bin","aib.js");return{cliPath:t,packageRoot:a.dirname(a.dirname(t))}}function l(t,n){h(s(t),n)}function g(t){try{const n=JSON.parse(i.readFileSync(s(t),"utf8"));if(!n||typeof n!="object"||Array.isArray(n))return null;const e=n;return e.schemaVersion!==1||typeof e.daemonId!="string"||typeof e.pid!="number"||e.status!=="running"&&e.status!=="stopped"||typeof e.startedAt!="string"||typeof e.updatedAt!="string"||typeof e.heartbeatAt!="string"||e.invokeProtocol!=="http-session-v1"||!Array.isArray(e.supportedModes)||typeof e.activeInvokeCount!="number"||!Array.isArray(e.runningExecutions)||typeof e.cliPath!="string"||typeof e.packageRoot!="string"?null:{schemaVersion:1,daemonId:e.daemonId,pid:e.pid,status:e.status,startedAt:e.startedAt,updatedAt:e.updatedAt,heartbeatAt:e.heartbeatAt,invokeProtocol:"http-session-v1",supportedModes:e.supportedModes.filter(r=>r==="structured"||r==="process"||r==="stream"),activeInvokeCount:Math.max(0,Math.floor(e.activeInvokeCount)),runningExecutions:e.runningExecutions.filter(r=>y(r)).map(r=>({executionId:r.executionId,command:r.command,startedAt:r.startedAt})),cliPath:a.resolve(e.cliPath),packageRoot:a.resolve(e.packageRoot)}}catch{return null}}function m(t){return{schemaVersion:t.schemaVersion,daemonId:t.daemonId,pid:t.pid,status:t.status,startedAt:t.startedAt,updatedAt:t.updatedAt,heartbeatAt:t.heartbeatAt,invokeProtocol:t.invokeProtocol,supportedModes:t.supportedModes,activeInvokeCount:t.activeInvokeCount,runningExecutions:t.runningExecutions,cliPath:t.cliPath,packageRoot:t.packageRoot}}function y(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;const n=t;return typeof n.executionId=="string"&&typeof n.command=="string"&&typeof n.startedAt=="string"}function h(t,n){i.mkdirSync(a.dirname(t),{recursive:!0});const e=`${t}.tmp-${process.pid}-${Date.now()}`;i.writeFileSync(e,`${JSON.stringify(n,null,2)}
2
+ `,"utf8"),i.renameSync(e,t)}
@@ -1,6 +1,7 @@
1
- "use strict";var ee=exports&&exports.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),te=exports&&exports.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),H=exports&&exports.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[r.length]=s);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),s=0;s<r.length;s++)r[s]!=="default"&&ee(n,t,r[s]);return te(n,t),n}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.CliSessionServer=void 0,exports.runSessionServerCli=Ce;const x=H(require("node:fs")),ne=H(require("node:http")),re=require("../shared/agent-text"),oe=require("../shared/event-loop"),g=require("../shared/errors"),P=require("../shared/metrics"),se=require("../shared/stdout"),U=require("../shared/presentation"),ie=require("../tracing/trace"),V=require("../runtime/run-command"),ae=require("../config/resolve-command-alias"),D=require("../config/auto-start-ide"),a=require("../config/env-vars"),ue=require("../client/transport-options"),N=require("./paths"),O=require("../commands/module-plan-cache"),de=require("../commands/execution-command"),R=require("../payloads/read-stdin-json"),A=require("../commands/module-plan-timeout"),d=require("../diagnostics/module-plan-timeline"),G=require("../commands/mutation-execution-cache"),ce=!1,le=!1;function me(e){x.mkdirSync((0,N.getSessionDir)(),{recursive:!0}),x.writeFileSync((0,N.getSessionInfoPath)(),JSON.stringify(e,null,2)),x.writeFileSync((0,N.getSessionUrlPath)(),`${e.url}
2
- `)}function fe(){x.rmSync((0,N.getSessionInfoPath)(),{force:!0}),x.rmSync((0,N.getSessionUrlPath)(),{force:!0})}async function k(e){const t=[];for await(const n of e)t.push(Buffer.isBuffer(n)?n:Buffer.from(String(n)));return Buffer.concat(t).toString("utf8")}function E(e,t,n){const r=JSON.stringify(n,null,2);e.writeHead(t,{"content-type":"application/json; charset=utf-8","content-length":Buffer.byteLength(r)}),e.end(r)}function C(e,t){if(e.destroyed||e.writableEnded)return;e.write(`${JSON.stringify(t)}
3
- `);const n=e;typeof n.flush=="function"&&n.flush()}function pe(e,t,n,r){if(e!==null)return(0,R.parseStdinPayload)(e,{command:t,restArgs:n,...r!==void 0?{format:r}:{}})}function Pe(e,t,n,r){if(e!==null)return(0,R.parseInputPayloadWithSource)(e,{command:t,restArgs:n,...r!==void 0?{format:r}:{}}).source}function Se(e){if(e==null)return;if(!e||typeof e!="object"||Array.isArray(e))throw new g.CliError("INVALID_SESSION_REQUEST","Invalid stdin input source.");const t=e;if(t.format!=="json"&&t.format!=="dsl"||typeof t.text!="string")throw new g.CliError("INVALID_SESSION_REQUEST","Invalid stdin input source.");return{format:t.format,text:t.text}}function J(e){if(e==null||e==="")return;const t=(0,ue.parseExtensionTransport)(e);if(!t)throw new g.CliError("INVALID_TRANSPORT","Expected transport to be either http or websocket.");return t}function Ie(e){if(!e||typeof e!="object"||Array.isArray(e))return{};const t=new Set([a.CLI_ENV.managedHostScript,a.CLI_ENV.managedHostKind,a.CLI_ENV.managedHostRunDir,a.CLI_ENV.codeServerPath,a.CLI_ENV.extensionVsix,a.CLI_ENV.ideCommand,a.CLI_ENV.chromePath,a.CLI_ENV.managedHostWaitMs,a.CLI_ENV.workspaceRoot,a.CLI_ENV.disableWatchers,a.CLI_ENV.trace,a.CLI_ENV.traceDir,a.CLI_ENV.failureSnapshots,a.CLI_ENV.productStorageDir,a.CLI_ENV.metrics,a.CLI_ENV.metricsDir,a.CLI_ENV.metricsTag,a.CLI_ENV.mutationImpactMetrics,a.CLI_ENV.mutationImpactStream,a.CLI_ENV.testMoveToFileFailEntity,a.CLI_ENV.testPostMutationCyclesDelayMs,a.CLI_ENV.testRefactorBatchDelayMs,a.CLI_ENV.testRenameDelayMs,a.CLI_ENV.modulePlanSyncWaitMs,a.CLI_ENV.refactorBatchSyncWaitMs,a.CLI_ENV.renameSyncWaitMs,a.CLI_ENV.modulePlanDebugTimeline]),n={};for(const[r,s]of Object.entries(e))t.has(r)&&typeof s=="string"&&(n[r]=s);return n}async function F(e,t){const n=Object.entries(e);if(n.length===0)return t();const r=new Map;for(const[s,i]of n)r.set(s,process.env[s]),process.env[s]=i;try{return await t()}finally{for(const[s,i]of r)i===void 0?delete process.env[s]:process.env[s]=i}}async function W(e,t,n){return(0,d.recordModulePlanTimeline)(e.cwd,e.modulePlanExecutionId,"session.deadline.wait.start",{deadlineMs:n}),(0,G.waitForMutationDeadline)(t.then(r=>((0,d.recordModulePlanTimeline)(e.cwd,e.modulePlanExecutionId,"session.deadline.runPromise.resolved"),r)),n,()=>(0,d.recordModulePlanTimeline)(e.cwd,e.modulePlanExecutionId,"session.deadline.timer.fired",{deadlineMs:n}))}function j(e){if(e.command!=="modulePlan")return 0;const t=e.restArgs[0]??"";return t!=="execute"&&t!=="apply"?0:(0,G.readMutationSyncWaitMs)(process.env[a.CLI_ENV.modulePlanSyncWaitMs],12e4)}async function B(e,t){const n=e.modulePlanExecutionId??"last";await(0,oe.yieldToEventLoop)();let r;try{(0,d.recordModulePlanTimeline)(e.cwd,n,"session.inProgress.status.read.start",{elapsedMs:t}),r=(0,de.runExecutionCommand)(e.cwd,["status",n]),(0,d.recordModulePlanTimeline)(e.cwd,n,"session.inProgress.status.read.end",{status:typeof r.status=="string"?r.status:null,phase:typeof r.phase=="string"?r.phase:null,summary:typeof r.summary=="string"?r.summary:null})}catch{(0,d.recordModulePlanTimeline)(e.cwd,n,"session.inProgress.status.read.failed",{elapsedMs:t}),r={operation:"execution.status",executionId:n,status:"running",summary:"in progress"}}const s=Z(e),i=s?s.estimatedDurationMs-t:null,o=ye(r,e,i);return(0,re.attachAgentText)({...r,operation:r.operation??"execution.status",executionId:n,status:r.status??"running",...i!==null?{estimatedRemainingMs:Math.max(0,i)}:{}},o)}function ye(e,t,n){const r=typeof e.executionId=="string"?e.executionId:t.modulePlanExecutionId??"last",i=[`modulePlan.${t.restArgs[0]??"execute"} ${r}`];return typeof e.summary=="string"&&e.summary.length>0&&i.push(e.summary),e.phase==="preview"&&i.push("previewing plan"),e.phase==="mutation"&&i.push("applying mutation"),e.phase==="postMutation.cycles"&&(i.push("mutation completed"),i.push("checking cycles")),i.push(`status: aib execution status ${r}`),n!==null&&i.push(n>0?`estimated remaining: ${(0,A.formatModulePlanTimeoutEstimate)(Math.max(n,5e3))}`:"estimated remaining: check status again soon"),i.join(`
4
- `)}class K{server;constructor(){this.server=ne.createServer((t,n)=>{this.handleRequest(t,n)})}async handleRequest(t,n){if(t.method==="GET"&&t.url==="/health"){E(n,200,{ok:!0,pid:process.pid});return}if(t.method==="POST"&&t.url==="/run")try{const r=await k(t),s=r?JSON.parse(r):{};if(typeof s.command!="string"||!Array.isArray(s.restArgs)||typeof s.cwd!="string")throw new g.CliError("INVALID_SESSION_REQUEST","Invalid session request payload.");const i=Se(s.stdinInputSource),o={command:s.command,restArgs:s.restArgs.filter(p=>typeof p=="string"),cwd:s.cwd,stdinPayload:s.stdinPayload,metricsEnabled:s.metricsEnabled===!0};i!==void 0&&(o.stdinInputSource=i);const u=J(s.transport),f=Ie(s.env);u&&(o.transport=u),o.autoStartIde=(0,D.autoStartIdePolicyFromSession)(s.autoStartIde)??(0,D.resolveAutoStartIdePolicy)();const c=o.metricsEnabled?[]:void 0;c&&(o.metricsSpans=c),typeof s.instanceId=="string"&&(o.instanceId=s.instanceId),typeof s.sessionId=="string"&&(o.sessionId=s.sessionId),typeof s.modulePlanExecutionId=="string"&&(o.modulePlanExecutionId=s.modulePlanExecutionId),s.suppressModulePlanStreamStart===!0&&(o.suppressModulePlanStreamStart=!0);const I=(0,P.metricsNow)(),y=F(f,()=>(0,V.runCommand)(o)).then(p=>((0,P.recordSpan)(c,"session.runCommand",I),p),p=>{throw(0,P.recordSpan)(c,"session.runCommand",I),p}),l=j(o);if(l>0){const p=await W(o,y,l);if(p.status==="deadline"){y.catch(()=>{}),(0,d.recordModulePlanTimeline)(o.cwd,o.modulePlanExecutionId,"session.run.deadline.output.start",{deadlineMs:l});const v=await B(o,l);(0,d.recordModulePlanTimeline)(o.cwd,o.modulePlanExecutionId,"session.run.response.write.start",{mode:"deadline"}),E(n,200,v),(0,d.recordModulePlanTimeline)(o.cwd,o.modulePlanExecutionId,"session.run.response.write.end",{mode:"deadline"});return}const S=p.result;(0,d.recordModulePlanTimeline)(o.cwd,o.modulePlanExecutionId,"session.run.response.write.start",{mode:"result"}),E(n,200,c?(0,P.appendMetrics)(S,c):S),(0,d.recordModulePlanTimeline)(o.cwd,o.modulePlanExecutionId,"session.run.response.write.end",{mode:"result"});return}const m=await y;(0,d.recordModulePlanTimeline)(o.cwd,o.modulePlanExecutionId,"session.run.response.write.start",{mode:"no-deadline"}),E(n,200,c?(0,P.appendMetrics)(m,c):m),(0,d.recordModulePlanTimeline)(o.cwd,o.modulePlanExecutionId,"session.run.response.write.end",{mode:"no-deadline"});return}catch(r){E(n,500,(0,g.errorPayload)(r));return}if(t.method==="POST"&&t.url==="/cli"){let r=null,s=0,i=null;try{i=await X(t),(0,d.recordModulePlanTimeline)(i.input.cwd,i.input.modulePlanExecutionId,"session.cli.request.parsed",{command:i.input.command,args:i.input.restArgs}),s=Date.now(),r=Y(i,s);const o=i.env,u=(0,P.metricsNow)();(0,d.recordModulePlanTimeline)(i.input.cwd,i.input.modulePlanExecutionId,"session.cli.runCommand.start");const f=F(o,()=>(0,V.runCommand)(i.input)).then(l=>((0,P.recordSpan)(i.spans,"session.runCommand",u),(0,d.recordModulePlanTimeline)(i.input.cwd,i.input.modulePlanExecutionId,"session.cli.runCommand.resolved"),l),l=>{throw(0,P.recordSpan)(i.spans,"session.runCommand",u),(0,d.recordModulePlanTimeline)(i.input.cwd,i.input.modulePlanExecutionId,"session.cli.runCommand.rejected",{error:l instanceof Error?l.message:String(l)}),l}),c=j(i.input);if(c>0){const l=await W(i.input,f,c);if(l.status==="deadline"){f.catch(()=>{}),(0,d.recordModulePlanTimeline)(i.input.cwd,i.input.modulePlanExecutionId,"session.cli.deadline.output.start",{deadlineMs:c});const S=h(await B(i.input,c));M(r,i,S,0,s),(0,d.recordModulePlanTimeline)(i.input.cwd,i.input.modulePlanExecutionId,"session.cli.response.write.start",{mode:"deadline"}),E(n,200,S),(0,d.recordModulePlanTimeline)(i.input.cwd,i.input.modulePlanExecutionId,"session.cli.response.write.end",{mode:"deadline"});return}const m=l.result,p=h(i.spans?(0,P.appendMetrics)(m,i.spans):m);M(r,i,p,0,s),(0,d.recordModulePlanTimeline)(i.input.cwd,i.input.modulePlanExecutionId,"session.cli.response.write.start",{mode:"result"}),E(n,200,p),(0,d.recordModulePlanTimeline)(i.input.cwd,i.input.modulePlanExecutionId,"session.cli.response.write.end",{mode:"result"});return}const I=await f,y=h(i.spans?(0,P.appendMetrics)(I,i.spans):I);M(r,i,y,0,s),E(n,200,y);return}catch(o){const u=h((0,g.errorPayload)(o));M(r,i,u,1,s),E(n,500,u);return}}if(t.method==="POST"&&t.url==="/cli/stream"){let r=null,s=null,i=0,o=null;try{if(o=await X(t,{streamGate:!0}),!Q(o.input)){n.writeHead(204),n.end();return}z(n),(0,d.recordModulePlanTimeline)(o.input.cwd,o.input.modulePlanExecutionId,"session.cliStream.request.parsed",{command:o.input.command,args:o.input.restArgs}),i=Date.now(),s=Y(o,i),r=we(n,o.input);const u=o.env,f=(0,P.metricsNow)();(0,d.recordModulePlanTimeline)(o.input.cwd,o.input.modulePlanExecutionId,"session.cliStream.runCommand.start");const c=F(u,()=>(0,V.runCommand)(o.input)).then(m=>((0,P.recordSpan)(o.spans,"session.runCommand",f),(0,d.recordModulePlanTimeline)(o.input.cwd,o.input.modulePlanExecutionId,"session.cliStream.runCommand.resolved"),m),m=>{throw(0,P.recordSpan)(o.spans,"session.runCommand",f),(0,d.recordModulePlanTimeline)(o.input.cwd,o.input.modulePlanExecutionId,"session.cliStream.runCommand.rejected",{error:m instanceof Error?m.message:String(m)}),m}),I=j(o.input);if(I>0){const m=await W(o.input,c,I);if(m.status==="deadline"){c.catch(()=>{}),(0,d.recordModulePlanTimeline)(o.input.cwd,o.input.modulePlanExecutionId,"session.cliStream.deadline.output.start",{deadlineMs:I});const v=h(await B(o.input,I));M(s,o,v,0,i),(0,d.recordModulePlanTimeline)(o.input.cwd,o.input.modulePlanExecutionId,"session.cliStream.response.write.start",{mode:"deadline"}),C(n,{type:"result",payload:v}),n.end(),(0,d.recordModulePlanTimeline)(o.input.cwd,o.input.modulePlanExecutionId,"session.cliStream.response.write.end",{mode:"deadline"});return}const p=m.result,S=h(o.spans?(0,P.appendMetrics)(p,o.spans):p);M(s,o,S,0,i),C(n,{type:"result",payload:S}),n.end();return}const y=await c,l=h(o.spans?(0,P.appendMetrics)(y,o.spans):y);M(s,o,l,0,i),C(n,{type:"result",payload:l}),n.end();return}catch(u){n.headersSent||z(n);const f=h((0,g.errorPayload)(u));M(s,o,f,1,i),C(n,{type:"error",payload:f}),n.end();return}finally{r&&clearInterval(r)}}E(n,404,{ok:!1,error:"Not found"})}async serve(){await new Promise((s,i)=>{this.server.once("error",i),this.server.listen(0,"127.0.0.1",()=>s())});const t=this.server.address();if(!t||typeof t=="string")throw new Error("Failed to determine aib session address.");me({pid:process.pid,host:"127.0.0.1",port:t.port,url:`http://127.0.0.1:${t.port}`,startedAt:new Date().toISOString()});let n=!1;const r=()=>{n||(n=!0,fe(),this.server.close(()=>{process.exit(0)}),setTimeout(()=>{process.exit(0)},1e3).unref())};process.on("SIGTERM",r),process.on("SIGINT",r),await new Promise(()=>{})}}exports.CliSessionServer=K;function Q(e){return e.command==="diagnostics"&&e.restArgs[0]==="timeout-stream"}function z(e){e.writeHead(200,{"content-type":"application/x-ndjson; charset=utf-8","cache-control":"no-cache","x-accel-buffering":"no"}),e.flushHeaders()}async function X(e,t={}){const n=await k(e),r=new URLSearchParams(n),s=r.get("command")??r.get("method")??"",i=r.get("cwd")??"",o=r.get("instanceId")??void 0,u=r.get("sessionId")??void 0,f=r.get("modulePlanExecutionId")??void 0,c=r.get("suppressModulePlanStreamStart")==="true",I=r.get("metricsEnabled")==="true",y=J(r.get("transport")),l=(0,D.autoStartIdePolicyFromSession)(r.get("autoStartIde"))??(0,D.resolveAutoStartIdePolicy)(),m=Ee(r.get("traceDir")),p=ge(r);if(!s.trim())throw new g.CliError("MISSING_COMMAND","Missing command.");if(!i.trim())throw new g.CliError("MISSING_CWD","Missing cwd.");const S=I?[]:void 0,v=(0,P.metricsNow)(),T=await(0,ae.resolveCanonicalCommandAlias)(s.trim(),i,o,l);(0,P.recordSpan)(S,"session.aliasResolution",v);const b=(0,R.stripStdinFormatFlags)(r.getAll("arg")),L=b.restArgs,w={command:T,restArgs:L,cwd:i,metricsEnabled:I,autoStartIde:l};if(y&&(w.transport=y),o&&(w.instanceId=o),u&&(w.sessionId=u),f&&(w.modulePlanExecutionId=f),c&&(w.suppressModulePlanStreamStart=!0),S&&(w.metricsSpans=S),t.streamGate===!0&&!Q(w))return{input:w,spans:S,...m!==void 0?{traceDir:m}:{},env:p};const q=Pe(r.get("stdin"),T,L,b.format),_={command:T,restArgs:L,cwd:i,stdinPayload:pe(r.get("stdin"),T,L,b.format),metricsEnabled:I,autoStartIde:l};return q!==void 0&&(_.stdinInputSource=q),y&&(_.transport=y),o&&(_.instanceId=o),u&&(_.sessionId=u),f&&(_.modulePlanExecutionId=f),c&&(_.suppressModulePlanStreamStart=!0),S&&(_.metricsSpans=S),{input:_,spans:S,...m!==void 0?{traceDir:m}:{},env:p}}function ge(e){const t={},n=[[a.CLI_ENV.metrics,e.get("metrics")??""],[a.CLI_ENV.metricsDir,e.get("metricsDir")??""],[a.CLI_ENV.metricsTag,e.get("metricsTag")??""],[a.CLI_ENV.mutationImpactMetrics,e.get("mutationImpactMetrics")??""],[a.CLI_ENV.mutationImpactStream,e.get("mutationImpactStream")??""],[a.CLI_ENV.testMoveToFileFailEntity,e.get("testMoveToFileFailEntity")??""],[a.CLI_ENV.testPostMutationCyclesDelayMs,e.get("testPostMutationCyclesDelayMs")??""],[a.CLI_ENV.testRefactorBatchDelayMs,e.get("testRefactorBatchDelayMs")??""],[a.CLI_ENV.testRenameDelayMs,e.get("testRenameDelayMs")??""],[a.CLI_ENV.modulePlanSyncWaitMs,e.get("modulePlanSyncWaitMs")??""],[a.CLI_ENV.refactorBatchSyncWaitMs,e.get("refactorBatchSyncWaitMs")??""],[a.CLI_ENV.renameSyncWaitMs,e.get("renameSyncWaitMs")??""],[a.CLI_ENV.modulePlanDebugTimeline,e.get("modulePlanDebugTimeline")??""],[a.CLI_ENV.trace,e.get("trace")??""],[a.CLI_ENV.failureSnapshots,e.get("failureSnapshots")??""],[a.CLI_ENV.productStorageDir,e.get("productStorageDir")??""]];for(const[r,s]of n){const i=s.trim();i&&(t[r]=i)}return t}function Ee(e){if(e===null)return;const t=e.trim();return t||void 0}function Y(e,t){return e.traceDir?(0,ie.startTrace)({cwd:e.input.cwd,argv:[e.input.command,...e.input.restArgs],command:e.input.command,restArgs:e.input.restArgs,...e.input.stdinPayload!==void 0?{stdinPayload:e.input.stdinPayload}:{},traceDir:e.traceDir,startedAtMs:t}):null}function M(e,t,n,r,s){if(!e?.enabled||!t)return;const i=(0,U.createCliPresentationEnvelope)(n);e.complete({output:i.tracePayload,exitCode:n.ok===!1?1:r,durationMs:Date.now()-s,...t.input.transport?{transport:t.input.transport}:{}})}function h(e){return(0,U.createCliPresentationEnvelope)(e).payload}function we(e,t){if(!Me(t))return null;const n=t.modulePlanExecutionId??(0,O.buildModulePlanExecutionId)();t.modulePlanExecutionId=n;const r=Date.now(),s=Z(t),i=s?`
5
- estimated: ${(0,A.formatModulePlanTimeoutEstimate)(s.estimatedDurationMs)}`:"";if(t.suppressModulePlanStreamStart||C(e,{type:"start",text:`modulePlan.${t.restArgs[0]??"execute"} ${n}
6
- status: aib execution status ${n}${i}`,data:{operation:`modulePlan.${t.restArgs[0]??"execute"}`,executionId:n,...s?{estimatedTimeoutMs:s.recommendedTimeoutMs,estimatedDurationMs:s.estimatedDurationMs,suggestedFirstCheckMs:s.suggestedFirstCheckMs,rowCount:s.rowCount,symbolCount:s.symbolCount}:{}}}),!le)return null;let o=r;return setInterval(()=>{try{const u=(0,O.readModulePlanExecutionStatus)(t.cwd,n),f=Date.parse(u.startedAt);if(Number.isFinite(f)&&f+1e3<r){o=$(e,o);return}if(!(u.completedRows>0||u.failedRows>0||u.filesWritten.length>0)){o=$(e,o);return}C(e,{type:"progress",text:`progress: ${u.completedRows}/${u.rowCount} rows${_e(u.completedEntities,u.entityCount)}, ${u.filesWritten.length} files`,data:{operation:u.operation,executionId:u.executionId,status:u.status,completedRows:u.completedRows,failedRows:u.failedRows,rowCount:u.rowCount,completedEntities:u.completedEntities,entityCount:u.entityCount,filesWritten:u.filesWritten.length}})}catch{o=$(e,o)}},5e3)}function $(e,t){if(!ce)return t;const n=Date.now();return n-t<3e4?t:(C(e,{type:"progress",text:"modulePlan still running",data:{operation:"modulePlan",status:"running"}}),n)}function _e(e,t){return!t||t<=0?"":`, ${Math.floor((e??0)/t*100)}% entities`}function Me(e){if(e.command!=="modulePlan")return!1;const t=e.restArgs[0]??"";return t==="execute"||t==="apply"}function Z(e){const t=e.restArgs[0]??"";if(t==="execute")return(0,A.estimateModulePlanTimeoutFromRequest)(e.stdinPayload);if(t!=="apply")return null;const n=he(e.restArgs);if(!n)return null;try{return(0,A.estimateModulePlanTimeoutFromRequest)((0,O.readModulePlanRecord)(e.cwd,n).normalizedRequest)}catch{return null}}function he(e){const t=e.indexOf("--plan");if(t>=0){const r=e[t+1];return r&&!r.startsWith("--")?r:null}return e.slice(1).find(r=>!r.startsWith("--"))??null}async function Ce(){const e=process.argv[3]||"status";if(e!=="serve"){(0,se.printJson)((0,g.errorPayload)(new g.CliError("UNKNOWN_SESSION_COMMAND",`Unknown aib session command: ${e}`))),process.exitCode=1;return}await new K().serve()}
1
+ "use strict";var re=exports&&exports.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var s=Object.getOwnPropertyDescriptor(t,n);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,s)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),oe=exports&&exports.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),$=exports&&exports.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(n){var r=[];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[r.length]=s);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),s=0;s<r.length;s++)r[s]!=="default"&&re(n,t,r[s]);return oe(n,t),n}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.CliSessionServer=void 0,exports.runSessionServerCli=Be;const D=$(require("node:fs")),se=$(require("node:http")),ie=require("../config/product-storage"),ae=require("../shared/agent-text"),ce=require("../shared/event-loop"),h=require("../shared/errors"),I=require("../shared/metrics"),ue=require("../shared/stdout"),j=require("../shared/presentation"),le=require("../tracing/trace"),A=require("../runtime/run-command"),de=require("../config/resolve-command-alias"),x=require("../config/auto-start-ide"),o=require("../config/env-vars"),me=require("../client/transport-options"),L=require("./paths"),H=require("./daemon-state"),b=require("../commands/module-plan-cache"),fe=require("../commands/execution-command"),O=require("../payloads/read-stdin-json"),F=require("../commands/module-plan-timeout"),S=require("../diagnostics/module-plan-timeline"),U=require("../commands/mutation-execution-cache"),Ie=require("../rg-wrapper/core"),pe=require("../rg-wrapper/options"),w=require("../rtk-wrapper/core"),ge=!1,Se=!1;function he(e){D.mkdirSync((0,L.getSessionDir)(),{recursive:!0}),G((0,L.getSessionInfoPath)(),JSON.stringify(e,null,2)),G((0,L.getSessionUrlPath)(),`${e.url}
2
+ `)}function _e(){D.rmSync((0,L.getSessionInfoPath)(),{force:!0}),D.rmSync((0,L.getSessionUrlPath)(),{force:!0})}function G(e,t){const n=`${e}.${process.pid}.tmp`;D.writeFileSync(n,t),D.renameSync(n,e)}async function q(e){const t=[];for await(const n of e)t.push(Buffer.isBuffer(n)?n:Buffer.from(String(n)));return Buffer.concat(t).toString("utf8")}function _(e,t,n){const r=JSON.stringify(n,null,2);e.writeHead(t,{"content-type":"application/json; charset=utf-8","content-length":Buffer.byteLength(r)}),e.end(r)}function ye(e){const t=new Set(["NO_COLOR","CLICOLOR","CLICOLOR_FORCE","TERM","RG_CONFIG_PATH","RIPGREP_CONFIG_PATH","AIB_RG_TRIM_SPACES","AIB_RG_ALIASES",o.CLI_ENV.rgPath,o.CLI_ENV.rtkPath,o.CLI_ENV.productStorageDir,o.CLI_ENV.helpShell]),n={};for(const[r,s]of e.entries()){if(!r.startsWith("env."))continue;const a=r.slice(4);t.has(a)&&(n[a]=s)}return n}function Ee(e){if((0,w.isRtkPassthroughCommand)(e.command))return(0,w.runRtkPassthrough)({tool:e.command,args:e.restArgs,cwd:e.cwd,env:{...process.env,...e.env},...e.stdinText!==void 0?{stdinText:e.stdinText}:{}});if(e.command!=="rg")throw new h.CliError("UNSUPPORTED_EXEC_COMMAND",`Unsupported exec command: ${e.command}`,{supported:["rg --",...w.RTK_PASSTHROUGH_COMMANDS.map(t=>`${t} --`)]});return(0,Ie.runBrgFormatted)({args:e.restArgs,cwd:e.cwd,env:{...process.env,...e.env},...e.stdinText!==void 0?{stdinText:e.stdinText}:{}},(0,pe.resolveBrgFormatOptions)(e.cwd,e.restArgs,{...process.env,...e.env}))}function R(e,t){if(e.destroyed||e.writableEnded)return;e.write(`${JSON.stringify(t)}
3
+ `);const n=e;typeof n.flush=="function"&&n.flush()}function Me(e,t,n,r){if(e!==null)return(0,O.parseStdinPayload)(e,{command:t,restArgs:n,...r!==void 0?{format:r}:{}})}function Pe(e,t,n,r){if(e!==null)return(0,O.parseInputPayloadWithSource)(e,{command:t,restArgs:n,...r!==void 0?{format:r}:{}}).source}function Ce(e){if(e==null)return;if(!e||typeof e!="object"||Array.isArray(e))throw new h.CliError("INVALID_SESSION_REQUEST","Invalid stdin input source.");const t=e;if(t.format!=="json"&&t.format!=="dsl"||typeof t.text!="string")throw new h.CliError("INVALID_SESSION_REQUEST","Invalid stdin input source.");return{format:t.format,text:t.text}}function J(e){if(e==null||e==="")return;const t=(0,me.parseExtensionTransport)(e);if(!t)throw new h.CliError("INVALID_TRANSPORT","Expected transport to be either http or websocket.");return t}function ve(e){if(!e||typeof e!="object"||Array.isArray(e))return{};const t=new Set([o.CLI_ENV.managedHostScript,o.CLI_ENV.managedHostKind,o.CLI_ENV.managedHostRunDir,o.CLI_ENV.codeServerPath,o.CLI_ENV.extensionVsix,o.CLI_ENV.ideCommand,o.CLI_ENV.chromePath,o.CLI_ENV.managedHostWaitMs,o.CLI_ENV.workspaceRoot,o.CLI_ENV.helpShell,o.CLI_ENV.disableWatchers,o.CLI_ENV.trace,o.CLI_ENV.traceDir,o.CLI_ENV.failureSnapshots,o.CLI_ENV.productStorageDir,o.CLI_ENV.metrics,o.CLI_ENV.metricsDir,o.CLI_ENV.metricsTag,o.CLI_ENV.mutationImpactMetrics,o.CLI_ENV.mutationImpactStream,o.CLI_ENV.testMoveToFileFailEntity,o.CLI_ENV.testPostMutationCyclesDelayMs,o.CLI_ENV.testRefactorBatchDelayMs,o.CLI_ENV.testRenameDelayMs,o.CLI_ENV.testFileMoveToDirDelayMs,o.CLI_ENV.testFileMoveToDirRowDelayMs,o.CLI_ENV.testFileMoveToDirImportsDelayMs,o.CLI_ENV.testFileMoveToDirFailImports,o.CLI_ENV.testFileRenameDelayMs,o.CLI_ENV.testFileRenameRowDelayMs,o.CLI_ENV.testFileRenameImportsDelayMs,o.CLI_ENV.testFileRenameFailImports,o.CLI_ENV.testFileRefactorBatchDelayMs,o.CLI_ENV.testFileRefactorBatchRowDelayMs,o.CLI_ENV.testFileRefactorBatchImportsDelayMs,o.CLI_ENV.testFileRefactorBatchFailImports,o.CLI_ENV.disableFileMutationImportPostProcess,o.CLI_ENV.disableFileMoveImportPostProcess,o.CLI_ENV.modulePlanSyncWaitMs,o.CLI_ENV.refactorBatchSyncWaitMs,o.CLI_ENV.renameSyncWaitMs,o.CLI_ENV.fileMoveToDirSyncWaitMs,o.CLI_ENV.fileRenameSyncWaitMs,o.CLI_ENV.fileRefactorBatchSyncWaitMs,o.CLI_ENV.modulePlanDebugTimeline]),n={};for(const[r,s]of Object.entries(e))t.has(r)&&typeof s=="string"&&(n[r]=s);return n}async function B(e,t){const n=Object.entries(e);if(n.length===0)return t();const r=new Map;for(const[s,a]of n)r.set(s,process.env[s]),process.env[s]=a;try{return await t()}finally{for(const[s,a]of r)a===void 0?delete process.env[s]:process.env[s]=a}}function K(e,t){e.setHeader("x-aib-execution-mode",t)}async function Q(e,t,n){return(0,S.recordModulePlanTimeline)(e.cwd,e.modulePlanExecutionId,"session.deadline.wait.start",{deadlineMs:n}),(0,U.waitForMutationDeadline)(t.then(r=>((0,S.recordModulePlanTimeline)(e.cwd,e.modulePlanExecutionId,"session.deadline.runPromise.resolved"),r)),n,()=>(0,S.recordModulePlanTimeline)(e.cwd,e.modulePlanExecutionId,"session.deadline.timer.fired",{deadlineMs:n}))}function z(e){if(e.command!=="modulePlan")return 0;const t=e.restArgs[0]??"";return t!=="execute"&&t!=="apply"?0:(0,U.readMutationSyncWaitMs)(process.env[o.CLI_ENV.modulePlanSyncWaitMs],12e4)}async function X(e,t){const n=e.modulePlanExecutionId??"last";await(0,ce.yieldToEventLoop)();let r;try{(0,S.recordModulePlanTimeline)(e.cwd,n,"session.inProgress.status.read.start",{elapsedMs:t}),r=(0,fe.runExecutionCommand)(e.cwd,["status",n]),(0,S.recordModulePlanTimeline)(e.cwd,n,"session.inProgress.status.read.end",{status:typeof r.status=="string"?r.status:null,phase:typeof r.phase=="string"?r.phase:null,summary:typeof r.summary=="string"?r.summary:null})}catch{(0,S.recordModulePlanTimeline)(e.cwd,n,"session.inProgress.status.read.failed",{elapsedMs:t}),r={operation:"execution.status",executionId:n,status:"running",summary:"in progress"}}const s=ne(e),a=s?s.estimatedDurationMs-t:null,i=we(r,e,a);return(0,ae.attachAgentText)({...r,operation:r.operation??"execution.status",executionId:n,status:r.status??"running",...a!==null?{estimatedRemainingMs:Math.max(0,a)}:{}},i)}function we(e,t,n){const r=typeof e.executionId=="string"?e.executionId:t.modulePlanExecutionId??"last",a=[`modulePlan.${t.restArgs[0]??"execute"} ${r}`];return typeof e.summary=="string"&&e.summary.length>0&&a.push(e.summary),e.phase==="preview"&&a.push("previewing plan"),e.phase==="mutation"&&a.push("applying mutation"),e.phase==="postMutation.cycles"&&(a.push("mutation completed"),a.push("checking cycles")),n!==null&&a.push(n>0?`estimated remaining: ${(0,F.formatModulePlanTimeoutEstimate)(Math.max(n,5e3))}`:"estimated remaining: check status again soon"),a.join(`
4
+ `)}class Y{server;daemonId=`${process.pid}-${Date.now().toString(36)}`;daemonStartedAt=new Date().toISOString();daemonPackage=(0,H.currentCliDaemonPackage)();runningExecutions=new Map;activeInvokeCount=0;heartbeatTimer=null;constructor(){this.server=se.createServer((t,n)=>{this.handleRequest(t,n)})}async handleRequest(t,n){if(t.method==="GET"&&t.url==="/health"){_(n,200,{ok:!0,pid:process.pid});return}if(t.method==="POST"&&t.url==="/run")try{const r=await q(t),s=r?JSON.parse(r):{};if(typeof s.command!="string"||!Array.isArray(s.restArgs)||typeof s.cwd!="string")throw new h.CliError("INVALID_SESSION_REQUEST","Invalid session request payload.");const a=Ce(s.stdinInputSource),i={command:s.command,restArgs:s.restArgs.filter(f=>typeof f=="string"),cwd:s.cwd,stdinPayload:s.stdinPayload,metricsEnabled:s.metricsEnabled===!0};a!==void 0&&(i.stdinInputSource=a);const c=J(s.transport),u=ve(s.env);c&&(i.transport=c),i.autoStartIde=(0,x.autoStartIdePolicyFromSession)(s.autoStartIde)??(0,x.resolveAutoStartIdePolicy)();const d=i.metricsEnabled?[]:void 0;d&&(i.metricsSpans=d),typeof s.instanceId=="string"&&(i.instanceId=s.instanceId),typeof s.sessionId=="string"&&(i.sessionId=s.sessionId),typeof s.modulePlanExecutionId=="string"&&(i.modulePlanExecutionId=s.modulePlanExecutionId),s.suppressModulePlanStreamStart===!0&&(i.suppressModulePlanStreamStart=!0);const M=(0,I.metricsNow)(),P=this.beginInvocation(i),E=B(u,()=>(0,A.runCommand)(i)).then(f=>((0,I.recordSpan)(d,"session.runCommand",M),f),f=>{throw(0,I.recordSpan)(d,"session.runCommand",M),f}).finally(P),m=z(i);if(m>0){const f=await Q(i,E,m);if(f.status==="deadline"){E.catch(()=>{}),(0,S.recordModulePlanTimeline)(i.cwd,i.modulePlanExecutionId,"session.run.deadline.output.start",{deadlineMs:m});const p=await X(i,m);(0,S.recordModulePlanTimeline)(i.cwd,i.modulePlanExecutionId,"session.run.response.write.start",{mode:"deadline"}),_(n,200,p),(0,S.recordModulePlanTimeline)(i.cwd,i.modulePlanExecutionId,"session.run.response.write.end",{mode:"deadline"});return}const l=f.result;(0,S.recordModulePlanTimeline)(i.cwd,i.modulePlanExecutionId,"session.run.response.write.start",{mode:"result"}),_(n,200,d?(0,I.appendMetrics)(l,d):l),(0,S.recordModulePlanTimeline)(i.cwd,i.modulePlanExecutionId,"session.run.response.write.end",{mode:"result"});return}const C=await E;(0,S.recordModulePlanTimeline)(i.cwd,i.modulePlanExecutionId,"session.run.response.write.start",{mode:"no-deadline"}),_(n,200,d?(0,I.appendMetrics)(C,d):C),(0,S.recordModulePlanTimeline)(i.cwd,i.modulePlanExecutionId,"session.run.response.write.end",{mode:"no-deadline"});return}catch(r){_(n,500,(0,h.errorPayload)(r));return}if(t.method==="POST"&&t.url==="/invoke"){let r=null,s=null,a=0,i=null;try{const c=await q(t);i=await Le(c);const u=ee(i.input);if(K(n,u),u==="process"){const l=this.beginInvocation(i.input),p=Ne(()=>Ee(Te(i)),l);_(n,200,p);return}if(u==="stream"){De(n),a=Date.now(),s=te(i,a),r=Ve(n,i.input);const l=i.env,p=(0,I.metricsNow)(),g=this.beginInvocation(i.input),y=await B(l,()=>(0,A.runCommand)(i.input)).then(V=>((0,I.recordSpan)(i.spans,"session.runCommand",p),V),V=>{throw(0,I.recordSpan)(i.spans,"session.runCommand",p),V}).finally(g),k=T(i.spans?(0,I.appendMetrics)(y,i.spans):y);N(s,i,k,0,a),R(n,{type:"result",payload:k}),n.end();return}a=Date.now(),s=te(i,a);const d=i.env,M=(0,I.metricsNow)(),P=this.beginInvocation(i.input),E=B(d,()=>(0,A.runCommand)(i.input)).then(l=>((0,I.recordSpan)(i.spans,"session.runCommand",M),l),l=>{throw(0,I.recordSpan)(i.spans,"session.runCommand",M),l}).finally(P),m=z(i.input);if(m>0){const l=await Q(i.input,E,m);if(l.status==="deadline"){E.catch(()=>{});const v=T(await X(i.input,m));N(s,i,v,0,a),_(n,200,v);return}const p=l.result,g=T(i.spans?(0,I.appendMetrics)(p,i.spans):p);N(s,i,g,0,a),_(n,200,g);return}const C=await E,f=T(i.spans?(0,I.appendMetrics)(C,i.spans):C);N(s,i,f,0,a),_(n,200,f);return}catch(c){const u=T((0,h.errorPayload)(c));if(!n.headersSent){K(n,"structured"),_(n,500,u);return}if(n.getHeader("x-aib-execution-mode")==="stream"){N(s,i,u,1,a),R(n,{type:"error",payload:u}),n.end();return}N(s,i,u,1,a),_(n,500,u);return}finally{r&&clearInterval(r)}}_(n,404,{ok:!1,error:"Not found"})}async serve(){await new Promise((s,a)=>{this.server.once("error",a),this.server.listen(0,"127.0.0.1",()=>s())});const t=this.server.address();if(!t||typeof t=="string")throw new Error("Failed to determine aib session address.");he({pid:process.pid,host:"127.0.0.1",port:t.port,url:`http://127.0.0.1:${t.port}`,startedAt:new Date().toISOString()}),this.writeDaemonState("running"),this.heartbeatTimer=setInterval(()=>this.writeDaemonState("running"),1e4),this.heartbeatTimer.unref();let n=!1;const r=()=>{n||(n=!0,this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.writeDaemonState("stopped"),_e(),this.server.close(()=>{process.exit(0)}),setTimeout(()=>{process.exit(0)},1e3).unref())};process.on("SIGTERM",r),process.on("SIGINT",r),await new Promise(()=>{})}beginInvocation(t){this.activeInvokeCount+=1;const n=typeof t.modulePlanExecutionId=="string"?t.modulePlanExecutionId:null;n&&this.runningExecutions.set(n,{executionId:n,command:`${t.command} ${t.restArgs.join(" ")}`.trim(),startedAt:new Date().toISOString()}),this.writeDaemonState("running");let r=!1;return()=>{r||(r=!0,this.activeInvokeCount=Math.max(0,this.activeInvokeCount-1),n&&this.runningExecutions.delete(n),this.writeDaemonState("running"))}}writeDaemonState(t){(0,H.writeCliDaemonIdentity)((0,ie.productStorageRoot)(),{schemaVersion:1,daemonId:this.daemonId,pid:process.pid,status:t,startedAt:this.daemonStartedAt,updatedAt:new Date().toISOString(),heartbeatAt:new Date().toISOString(),invokeProtocol:"http-session-v1",supportedModes:["structured","process","stream"],activeInvokeCount:this.activeInvokeCount,runningExecutions:Array.from(this.runningExecutions.values()),cliPath:this.daemonPackage.cliPath,packageRoot:this.daemonPackage.packageRoot})}}exports.CliSessionServer=Y;function Ne(e,t){try{return e()}finally{t()}}function Z(e){return e.command==="diagnostics"&&e.restArgs[0]==="timeout-stream"}function De(e){e.writeHead(200,{"content-type":"application/x-ndjson; charset=utf-8","cache-control":"no-cache","x-accel-buffering":"no"}),e.flushHeaders()}async function Le(e){const t=new URLSearchParams(e);return{...await Re(t,{invokeGate:!0}),params:t}}async function Re(e,t={}){const n=e.get("command")??e.get("method")??"",r=e.get("cwd")??"",s=e.get("instanceId")??void 0,a=e.get("sessionId")??void 0,i=e.get("modulePlanExecutionId")??void 0,c=e.get("suppressModulePlanStreamStart")==="true",u=e.get("metricsEnabled")==="true",d=J(e.get("transport")),M=(0,x.autoStartIdePolicyFromSession)(e.get("autoStartIde"))??(0,x.resolveAutoStartIdePolicy)(),P=Fe(e.get("traceDir")),E=xe(e);if(!n.trim())throw new h.CliError("MISSING_COMMAND","Missing command.");if(!r.trim())throw new h.CliError("MISSING_CWD","Missing cwd.");const m=u?[]:void 0,C=(0,I.metricsNow)(),f=await(0,de.resolveCanonicalCommandAlias)(n.trim(),r,s,M);(0,I.recordSpan)(m,"session.aliasResolution",C);const l=(0,O.stripStdinFormatFlags)(e.getAll("arg")),p=l.restArgs,g={command:f,restArgs:p,cwd:r,metricsEnabled:u,autoStartIde:M};if(d&&(g.transport=d),s&&(g.instanceId=s),a&&(g.sessionId=a),i&&(g.modulePlanExecutionId=i),c&&(g.suppressModulePlanStreamStart=!0),m&&(g.metricsSpans=m),t.streamGate===!0&&!Z(g)||t.invokeGate===!0&&ee(g)==="process")return{input:g,spans:m,...P!==void 0?{traceDir:P}:{},env:E};const v=Pe(e.get("stdin"),f,p,l.format),y={command:f,restArgs:p,cwd:r,stdinPayload:Me(e.get("stdin"),f,p,l.format),metricsEnabled:u,autoStartIde:M};return v!==void 0&&(y.stdinInputSource=v),d&&(y.transport=d),s&&(y.instanceId=s),a&&(y.sessionId=a),i&&(y.modulePlanExecutionId=i),c&&(y.suppressModulePlanStreamStart=!0),m&&(y.metricsSpans=m),{input:y,spans:m,...P!==void 0?{traceDir:P}:{},env:E}}function ee(e){return e.command==="rg"&&e.restArgs[0]==="--"||(0,w.isRtkPassthroughCommand)(e.command)&&e.restArgs[0]==="--"?"process":Z(e)?"stream":"structured"}function Te(e){if(!((e.input.command==="rg"||(0,w.isRtkPassthroughCommand)(e.input.command))&&e.input.restArgs[0]==="--"))throw new h.CliError("UNSUPPORTED_INVOKE_PROCESS_COMMAND",`Unsupported process invocation: ${e.input.command}`,{supported:["rg --",...w.RTK_PASSTHROUGH_COMMANDS.map(r=>`${r} --`)]});const n={command:e.input.command,restArgs:e.input.restArgs.slice(1),cwd:e.input.cwd,env:ye(e.params)};return e.params.has("stdin")&&(n.stdinText=e.params.get("stdin")??""),n}function xe(e){const t={},n=[[o.CLI_ENV.metrics,e.get("metrics")??""],[o.CLI_ENV.metricsDir,e.get("metricsDir")??""],[o.CLI_ENV.metricsTag,e.get("metricsTag")??""],[o.CLI_ENV.mutationImpactMetrics,e.get("mutationImpactMetrics")??""],[o.CLI_ENV.mutationImpactStream,e.get("mutationImpactStream")??""],[o.CLI_ENV.testMoveToFileFailEntity,e.get("testMoveToFileFailEntity")??""],[o.CLI_ENV.testPostMutationCyclesDelayMs,e.get("testPostMutationCyclesDelayMs")??""],[o.CLI_ENV.testRefactorBatchDelayMs,e.get("testRefactorBatchDelayMs")??""],[o.CLI_ENV.testRenameDelayMs,e.get("testRenameDelayMs")??""],[o.CLI_ENV.testFileMoveToDirDelayMs,e.get("testFileMoveToDirDelayMs")??""],[o.CLI_ENV.testFileMoveToDirRowDelayMs,e.get("testFileMoveToDirRowDelayMs")??""],[o.CLI_ENV.testFileMoveToDirImportsDelayMs,e.get("testFileMoveToDirImportsDelayMs")??""],[o.CLI_ENV.testFileMoveToDirFailImports,e.get("testFileMoveToDirFailImports")??""],[o.CLI_ENV.testFileRenameDelayMs,e.get("testFileRenameDelayMs")??""],[o.CLI_ENV.testFileRenameRowDelayMs,e.get("testFileRenameRowDelayMs")??""],[o.CLI_ENV.testFileRenameImportsDelayMs,e.get("testFileRenameImportsDelayMs")??""],[o.CLI_ENV.testFileRenameFailImports,e.get("testFileRenameFailImports")??""],[o.CLI_ENV.testFileRefactorBatchDelayMs,e.get("testFileRefactorBatchDelayMs")??""],[o.CLI_ENV.testFileRefactorBatchRowDelayMs,e.get("testFileRefactorBatchRowDelayMs")??""],[o.CLI_ENV.testFileRefactorBatchImportsDelayMs,e.get("testFileRefactorBatchImportsDelayMs")??""],[o.CLI_ENV.testFileRefactorBatchFailImports,e.get("testFileRefactorBatchFailImports")??""],[o.CLI_ENV.disableFileMutationImportPostProcess,e.get("disableFileMutationImportPostProcess")??""],[o.CLI_ENV.disableFileMoveImportPostProcess,e.get("disableFileMoveImportPostProcess")??""],[o.CLI_ENV.modulePlanSyncWaitMs,e.get("modulePlanSyncWaitMs")??""],[o.CLI_ENV.refactorBatchSyncWaitMs,e.get("refactorBatchSyncWaitMs")??""],[o.CLI_ENV.renameSyncWaitMs,e.get("renameSyncWaitMs")??""],[o.CLI_ENV.fileMoveToDirSyncWaitMs,e.get("fileMoveToDirSyncWaitMs")??""],[o.CLI_ENV.fileRenameSyncWaitMs,e.get("fileRenameSyncWaitMs")??""],[o.CLI_ENV.fileRefactorBatchSyncWaitMs,e.get("fileRefactorBatchSyncWaitMs")??""],[o.CLI_ENV.modulePlanDebugTimeline,e.get("modulePlanDebugTimeline")??""],[o.CLI_ENV.trace,e.get("trace")??""],[o.CLI_ENV.failureSnapshots,e.get("failureSnapshots")??""],[o.CLI_ENV.productStorageDir,e.get("productStorageDir")??""],[o.CLI_ENV.helpShell,e.get(`env.${o.CLI_ENV.helpShell}`)??""]];for(const[r,s]of n){const a=s.trim();a&&(t[r]=a)}return t}function Fe(e){if(e===null)return;const t=e.trim();return t||void 0}function te(e,t){return e.traceDir?(0,le.startTrace)({cwd:e.input.cwd,argv:[e.input.command,...e.input.restArgs],command:e.input.command,restArgs:e.input.restArgs,...e.input.stdinPayload!==void 0?{stdinPayload:e.input.stdinPayload}:{},...e.input.stdinInputSource!==void 0?{stdinSource:e.input.stdinInputSource}:{},traceDir:e.traceDir,startedAtMs:t}):null}function N(e,t,n,r,s){if(!e?.enabled||!t)return;const a=(0,j.createCliPresentationEnvelope)(n);e.complete({output:a.tracePayload,stdoutText:a.text?`${a.text.trimEnd()}
5
+ `:`${JSON.stringify(a.tracePayload,null,2)}
6
+ `,exitCode:n.ok===!1?1:r,durationMs:Date.now()-s,...t.input.transport?{transport:t.input.transport}:{}})}function T(e){return(0,j.createCliPresentationEnvelope)(e).payload}function Ve(e,t){if(!be(t))return null;const n=t.modulePlanExecutionId??(0,b.buildModulePlanExecutionId)();t.modulePlanExecutionId=n;const r=Date.now(),s=ne(t),a=s?`
7
+ estimated: ${(0,F.formatModulePlanTimeoutEstimate)(s.estimatedDurationMs)}`:"";if(t.suppressModulePlanStreamStart||R(e,{type:"start",text:`modulePlan.${t.restArgs[0]??"execute"} ${n}${a}`,data:{operation:`modulePlan.${t.restArgs[0]??"execute"}`,executionId:n,...s?{estimatedTimeoutMs:s.recommendedTimeoutMs,estimatedDurationMs:s.estimatedDurationMs,suggestedFirstCheckMs:s.suggestedFirstCheckMs,rowCount:s.rowCount,symbolCount:s.symbolCount}:{}}}),!Se)return null;let i=r;return setInterval(()=>{try{const c=(0,b.readModulePlanExecutionStatus)(t.cwd,n),u=Date.parse(c.startedAt);if(Number.isFinite(u)&&u+1e3<r){i=W(e,i);return}if(!(c.completedRows>0||c.failedRows>0||c.filesWritten.length>0)){i=W(e,i);return}R(e,{type:"progress",text:`progress: ${c.completedRows}/${c.rowCount} rows${Ae(c.completedEntities,c.entityCount)}, ${c.filesWritten.length} files`,data:{operation:c.operation,executionId:c.executionId,status:c.status,completedRows:c.completedRows,failedRows:c.failedRows,rowCount:c.rowCount,completedEntities:c.completedEntities,entityCount:c.entityCount,filesWritten:c.filesWritten.length}})}catch{i=W(e,i)}},5e3)}function W(e,t){if(!ge)return t;const n=Date.now();return n-t<3e4?t:(R(e,{type:"progress",text:"modulePlan still running",data:{operation:"modulePlan",status:"running"}}),n)}function Ae(e,t){return!t||t<=0?"":`, ${Math.floor((e??0)/t*100)}% entities`}function be(e){if(e.command!=="modulePlan")return!1;const t=e.restArgs[0]??"";return t==="execute"||t==="apply"}function ne(e){const t=e.restArgs[0]??"";if(t==="execute")return(0,F.estimateModulePlanTimeoutFromRequest)(e.stdinPayload);if(t!=="apply")return null;const n=Oe(e.restArgs);if(!n)return null;try{return(0,F.estimateModulePlanTimeoutFromRequest)((0,b.readModulePlanRecord)(e.cwd,n).normalizedRequest)}catch{return null}}function Oe(e){const t=e.indexOf("--plan");if(t>=0){const r=e[t+1];return r&&!r.startsWith("--")?r:null}return e.slice(1).find(r=>!r.startsWith("--"))??null}async function Be(){const e=process.argv[3]||"status";if(e!=="serve"){(0,ue.printJson)((0,h.errorPayload)(new h.CliError("UNKNOWN_SESSION_COMMAND",`Unknown aib session command: ${e}`))),process.exitCode=1;return}await new Y().serve()}
@@ -1,29 +1,30 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CliError=void 0,exports.errorPayload=E;const m=require("./agent-text");class f extends Error{code;details;constructor(n,s,i){super(s),this.code=n,this.details=i}}exports.CliError=f;function p(e){return Array.isArray(e)&&e.every(n=>n!==null&&typeof n=="object"&&typeof n.kind=="string"&&typeof n.description=="string")}function r(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?e:Array.isArray(e)?e.map(n=>r(n)):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([n,s])=>[n,r(s)])):String(e)}function A(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const n=e.hints;return p(n)?r(n):null}function _(e){return!!(e&&typeof e=="object"&&Array.isArray(e.issues))}function I(e){return!e||e.length===0?"<root>":e.map(n=>String(n)).join(".")}function N(e){return e.issues.map(n=>({path:I(n.path),message:typeof n.message=="string"?n.message:"Invalid value.",...typeof n.code=="string"?{code:n.code}:{}}))}function E(e){if(e instanceof f){const n={ok:!1,code:e.code,error:e.message,details:e.details?r(e.details):null},s=S(e);s&&(n[m.AGENT_TEXT_FIELD]=s);const i=A(e.details);return i?{...n,hints:i}:n}return _(e)?{ok:!1,code:"INVALID_INPUT",error:"Input JSON does not match the expected command shape.",details:{issues:N(e)}}:{ok:!1,code:"UNEXPECTED_ERROR",error:e instanceof Error?e.message:String(e),details:null}}function S(e){if(e.code==="EMPTY_STDIN")return["DSL payload on stdin","","PowerShell:","@'","<input>","'@ | aib <command> --stdin","","Bash/Zsh:","cat <<'EOF' | aib <command> --stdin","<input>","EOF","","cmd.exe:","type request.dsl | aib <command> --stdin"].join(`
2
- `);if(e.code==="INVALID_STDIN_DSL"){const n=a(e.details),s=c(n.cause);return["invalid DSL stdin",...s?["",s]:[],"","Fix the DSL line and rerun the command."].join(`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CliError=void 0,exports.errorPayload=g;const p=require("./agent-text"),m=require("./stdin-examples");class f extends Error{code;details;constructor(n,i,s){super(i),this.code=n,this.details=s}}exports.CliError=f;function _(e){return Array.isArray(e)&&e.every(n=>n!==null&&typeof n=="object"&&typeof n.kind=="string"&&typeof n.description=="string")}function l(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?e:Array.isArray(e)?e.map(n=>l(n)):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([n,i])=>[n,l(i)])):String(e)}function A(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const n=e.hints;return _(n)?l(n):null}function I(e){return!!(e&&typeof e=="object"&&Array.isArray(e.issues))}function N(e){return!e||e.length===0?"<root>":e.map(n=>String(n)).join(".")}function h(e){return e.issues.map(n=>({path:N(n.path),message:typeof n.message=="string"?n.message:"Invalid value.",...typeof n.code=="string"?{code:n.code}:{}}))}function g(e){if(e instanceof f){const n={ok:!1,code:e.code,error:e.message,details:e.details?l(e.details):null},i=S(e);i&&(n[p.AGENT_TEXT_FIELD]=i);const s=A(e.details);return s?{...n,hints:s}:n}return I(e)?{ok:!1,code:"INVALID_INPUT",error:"Input JSON does not match the expected command shape.",details:{issues:h(e)}}:{ok:!1,code:"UNEXPECTED_ERROR",error:e instanceof Error?e.message:String(e),details:null}}function S(e){if(e.code==="EMPTY_STDIN")return["stdin payload is empty","",(0,m.formatStdinExamples)({includeQr:!0})].join(`
2
+ `);if(e.code==="INVALID_STDIN_DSL"){const n=o(e.details),i=c(n.cause);return["invalid DSL stdin",...i?["",i]:[],"","Fix the DSL line and rerun the command."].join(`
3
3
  `)}if(e.code==="INVALID_STDIN_FORMAT")return["invalid stdin format","","Use:","--stdin-format auto","--stdin-format dsl"].join(`
4
4
  `);if(e.code==="INPUT_SOURCE_CONFLICT"||e.code.endsWith("_INPUT_SOURCE_CONFLICT"))return["input source conflict","","Use only one input source:","--stdin","--from <handle-or-file>","--from-json <file>","--from-dsl <file>"].join(`
5
5
  `);if(e.code==="INPUT_FROM_UNSUPPORTED")return["file input is not supported for this command","","Run the command without --from."].join(`
6
6
  `);if(e.code==="INPUT_STDIN_UNSUPPORTED")return["stdin input is not supported for this command","","Run the command without --stdin."].join(`
7
7
  `);if(e.code==="STDIN_DSL_COMMAND_MISMATCH")return["DSL command mismatch","",e.message,"","Run the command that matches the DSL intent, or change the DSL operation."].join(`
8
8
  `);if(e.code==="STDIN_DSL_UNSUPPORTED")return["DSL stdin is not supported for this command","","Use JSON input for this command, or run a DSL-capable command."].join(`
9
- `);if(e.code.startsWith("INVALID_")&&e.code.endsWith("_JSON_FILE")){const n=a(e.details),s=c(n.file);return["input file could not be read",...s?["",`file: ${s}`]:[],"","Check the path or saved input handle."].join(`
10
- `)}if(e.code==="UNKNOWN_COMMAND"){const n=a(e.details),s=Array.isArray(n.availableCommands)?n.availableCommands.filter(o=>typeof o=="string"):[],i=["help","config","sync","inspect","modulePlan","move","rename","imports","session","feedback"],t=s.length>0?i.filter(o=>o==="config"||s.includes(o)):i;return[e.message.replace(/^Unknown command:/,"unknown command:"),...t.length>0?["",`Common commands: ${t.join(", ")}`]:[],"","Run:","aib help"].join(`
9
+ `);if(e.code.startsWith("INVALID_")&&e.code.endsWith("_JSON_FILE")){const n=o(e.details),i=c(n.file);return["input file could not be read",...i?["",`file: ${i}`]:[],"","Check the path or saved input handle."].join(`
10
+ `)}if(e.code==="UNKNOWN_COMMAND"){const n=o(e.details),i=Array.isArray(n.availableCommands)?n.availableCommands.filter(a=>typeof a=="string"):[],s=["help","config","sync","inspect","modulePlan","move","rename","imports","session","feedback"],t=i.length>0?s.filter(a=>a==="config"||i.includes(a)):s;return[e.message.replace(/^Unknown command:/,"unknown command:"),...t.length>0?["",`Common commands: ${t.join(", ")}`]:[],"","Run:","aib help"].join(`
11
11
  `)}if(e.code==="HELP_TOPIC_NOT_FOUND")return e.message;if(e.code==="INVALID_INSPECT_OP")return["invalid inspect operation","","Use: file, imports, exports, members, code, deps, usages, duplicates, graph, tree, cycles","","Example:","aib inspect file src/service.ts"].join(`
12
12
  `);if(e.code==="MODULE_PLAN_SOURCE_REQUIRED")return["modulePlan needs a source file","","DSL:","@source src/large-service.ts","module src/large-service.core.ts: LargeService createLargeService"].join(`
13
13
  `);if(e.code==="MODULE_PLAN_MODULES_REQUIRED")return["modulePlan needs at least one target module","","DSL:","@source src/large-service.ts","module src/large-service.core.ts: LargeService createLargeService"].join(`
14
14
  `);if(e.code==="NORMALIZE_IMPORTS_SCOPE_REQUIRED")return["imports normalize needs a file or directory scope","","DSL:","imports.normalize scope=src/features to=shortestAlias","","CLI:","aib imports normalize preview src/features"].join(`
15
15
  `);if(e.code==="INVALID_NORMALIZE_IMPORTS_MODE")return["imports normalize --to expects relative, alias, or shortestAlias","","Example:","aib imports normalize preview src/features --to shortestAlias"].join(`
16
16
  `);if(e.code==="WORKSPACE_ROOT_NOT_INITIALIZED")return["aib workspace not initialized","","No aib.json was found.","","If you are a user:","ask your agent to set up AIB for this repo:","aib help first-setup","","If you are an agent:","run:","aib help first-setup","","Then follow the setup from the intended repository root."].join(`
17
- `);if(e.code==="EXECUTION_NOT_FOUND"||e.code==="MODULE_PLAN_EXECUTION_NOT_FOUND"||e.code==="REFACTOR_BATCH_EXECUTION_NOT_FOUND"){const n=a(e.details);return[`execution not found: ${c(n.executionId)??"last"}`,"","No execution status exists for this id.","Run a long mutation first, or check the execution id."].join(`
18
- `)}if(e.code==="SESSION_HANDLE_NOT_FOUND"){const n=a(e.details),s=c(n.handle)??"unknown",i=c(n.sessionDir);return[`handle not found: ${s}`,...i?["",`session: ${i}`]:[],"","The artifact may have been cleared or was never saved."].join(`
17
+ `);if(e.code==="CONFIG_UPGRADE_CONFIG_NOT_FOUND")return["aib config upgrade skipped","","There is no aib.json config to upgrade in this directory tree.","","If this is the wrong directory:","go into the repository that already has aib.json, then run:","aib config upgrade","","If this is the repository you want to set up:","ask your agent:","Set up AIB in this repo. Start with `aib help first-setup`."].join(`
18
+ `);if(e.code==="EXECUTION_NOT_FOUND"||e.code==="MODULE_PLAN_EXECUTION_NOT_FOUND"||e.code==="REFACTOR_BATCH_EXECUTION_NOT_FOUND"){const n=o(e.details);return[`execution not found: ${c(n.executionId)??"last"}`,"","No execution status exists for this id.","Run a long mutation first, or check the execution id."].join(`
19
+ `)}if(e.code==="SESSION_HANDLE_NOT_FOUND"||e.code==="SESSION_RESULT_NOT_FOUND"){const n=o(e.details),i=c(n.handle)??"unknown",s=c(n.sessionDir);return[`handle not found: ${i}`,...s?["",`session: ${s}`]:[],"","The artifact may have been cleared or was never saved."].join(`
19
20
  `)}if(e.code==="SESSION_WORKSPACE_NOT_INITIALIZED")return["Session workspace is not initialized.","","Create a session:","aib session init --name <name>","","Refresh session guidance:","aib help session"].join(`
20
- `);if(e.code==="AMBIGUOUS_ENTITY_SELECTOR")return g(e);if(e.code==="INVALID_PATH_ALIAS_TARGET"||e.code==="SESSION_ALIASES_SET_USAGE")return["invalid path alias","","Use:","aib session aliases set <name> <path>","","Example:","aib session aliases set svc src/services"].join(`
21
- `);if(e.code==="AIB_CONFIG_INVALID"||e.code==="INVALID_PATH_ALIASES"||e.code==="INVALID_PATH_ALIAS_NAME"||e.code==="INVALID_PATH_ALIAS_TARGET"||e.code==="RESERVED_PATH_ALIAS_NAME")return h(e);if(e.code==="UNKNOWN_SESSION_PREF"){const n=a(e.details),s=Array.isArray(n.available)?n.available.filter(i=>typeof i=="string"):[];return[e.message.toLowerCase(),...s.length>0?["","Available prefs:",...s.slice(0,12).map(i=>`- ${i}`),...s.length>12?[`+ ${s.length-12} more`]:[]]:[],"","Run:","aib session prefs get --all"].join(`
21
+ `);if(e.code==="AMBIGUOUS_ENTITY_SELECTOR")return E(e);if(e.code==="INVALID_PATH_ALIAS_TARGET"||e.code==="SESSION_ALIASES_SET_USAGE")return["invalid path alias","","Use:","aib session aliases set <name> <path>","","Example:","aib session aliases set svc src/services"].join(`
22
+ `);if(e.code==="AIB_CONFIG_INVALID"||e.code==="INVALID_PATH_ALIASES"||e.code==="INVALID_PATH_ALIAS_NAME"||e.code==="INVALID_PATH_ALIAS_TARGET"||e.code==="RESERVED_PATH_ALIAS_NAME")return y(e);if(e.code==="UNKNOWN_SESSION_PREF"){const n=o(e.details),i=Array.isArray(n.available)?n.available.filter(s=>typeof s=="string"):[];return[e.message.toLowerCase(),...i.length>0?["","Available prefs:",...i.slice(0,12).map(s=>`- ${s}`),...i.length>12?[`+ ${i.length-12} more`]:[]]:[],"","Run:","aib session prefs get --all"].join(`
22
23
  `)}if(e.code==="INVALID_SESSION_PREF_VALUE")return["invalid session preference value","",e.message,"","Run:","aib session prefs get --all"].join(`
23
24
  `);if(e.code==="UNKNOWN_SESSION_PREFS_COMMAND")return["unknown session prefs command","","Use:","aib session prefs get","aib session prefs set <key> <value>","aib session prefs clear [key]"].join(`
24
25
  `);if(e.code==="UNKNOWN_SESSION_ALIASES_COMMAND")return["unknown session aliases command","","Use:","aib session aliases get","aib session aliases set <name> <path>","aib session aliases clear [name]"].join(`
25
- `);if(e.code==="UNKNOWN_PATH_ALIAS"){const n=a(e.details),s=c(n.alias),i=Array.isArray(n.available)?n.available.filter(t=>typeof t=="string"):[];return[`unknown AIB path alias: @${s??""}`,"",i.length>0?`Available aliases: ${i.map(t=>`@${t}`).join(", ")}`:"No AIB path aliases are configured.",...i.length>0?["Run:","aib sync"]:["Check config:","aib config","or run:","aib sync"]].join(`
26
- `)}return null}function g(e){const n=a(e.details),s=Array.isArray(n.ambiguities)?n.ambiguities.filter(t=>t!==null&&typeof t=="object"&&!Array.isArray(t)):[];if(s.length>0){const t=s.map(l=>c(l.entity)).filter(l=>l!==null),o=[t.length===1?`ambiguous entity: ${t[0]}`:`ambiguous entities: ${t.join(", ")}`,"","Use available:"];for(const l of s){const d=Array.isArray(l.suggestions)?l.suggestions.filter(u=>typeof u=="string"&&u.length>0):[];d.length>0&&o.push(`- ${d.join(", ")}`)}return o.join(`
27
- `)}const i=Array.isArray(n.suggestions)?n.suggestions.filter(t=>typeof t=="string"&&t.length>0):[];return[e.message,...i.length>0?["","Use available:",`- ${i.join(", ")}`]:[]].join(`
28
- `)}function h(e){const n=["aib config invalid","",e.message];if(e.code==="INVALID_PATH_ALIAS_NAME"&&n.push("Use alias names without @, for example:",'"pathAliases": {',' "svc": "src/services"',"}"),e.code==="RESERVED_PATH_ALIAS_NAME"){const s=a(e.details),i=Array.isArray(s.reserved)?s.reserved.filter(t=>typeof t=="string"):[];i.length>0&&n.push(`Reserved aliases: ${i.join(", ")}`)}return n.push("","Edit aib.json, then run:","aib sync"),n.join(`
29
- `)}function a(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function c(e){return typeof e=="string"&&e.length>0?e:null}
26
+ `);if(e.code==="UNKNOWN_PATH_ALIAS"){const n=o(e.details),i=c(n.alias),s=Array.isArray(n.available)?n.available.filter(t=>typeof t=="string"):[];return[`unknown AIB path alias: @${i??""}`,"",s.length>0?`Available aliases: ${s.map(t=>`@${t}`).join(", ")}`:"No AIB path aliases are configured.",...s.length>0?["Run:","aib sync"]:["Check config:","aib config","or run:","aib sync"]].join(`
27
+ `)}return null}function E(e){const n=o(e.details),i=Array.isArray(n.ambiguities)?n.ambiguities.filter(t=>t!==null&&typeof t=="object"&&!Array.isArray(t)):[];if(i.length>0){const t=i.map(r=>c(r.entity)).filter(r=>r!==null),a=[t.length===1?`ambiguous entity: ${t[0]}`:`ambiguous entities: ${t.join(", ")}`,"","Use available:"];for(const r of i){const d=Array.isArray(r.suggestions)?r.suggestions.filter(u=>typeof u=="string"&&u.length>0):[];d.length>0&&a.push(`- ${d.join(", ")}`)}return a.join(`
28
+ `)}const s=Array.isArray(n.suggestions)?n.suggestions.filter(t=>typeof t=="string"&&t.length>0):[];return[e.message,...s.length>0?["","Use available:",`- ${s.join(", ")}`]:[]].join(`
29
+ `)}function y(e){const n=["aib config invalid","",e.message];if(e.code==="INVALID_PATH_ALIAS_NAME"&&n.push("Use alias names without @, for example:",'"pathAliases": {',' "svc": "src/services"',"}"),e.code==="RESERVED_PATH_ALIAS_NAME"){const i=o(e.details),s=Array.isArray(i.reserved)?i.reserved.filter(t=>typeof t=="string"):[];s.length>0&&n.push(`Reserved aliases: ${s.join(", ")}`)}return n.push("","Edit aib.json, then run:","aib sync"),n.join(`
30
+ `)}function o(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function c(e){return typeof e=="string"&&e.length>0?e:null}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OPERATION_IDS=void 0,exports.OPERATION_IDS={health:"health",runtimeInfo:"runtimeInfo",effectiveConfig:"effectiveConfig",inspect:"inspect",findImporters:"findImporters",findUnusedImports:"findUnusedImports",addMissingImports:"addMissingImports",moveRefactor:"moveRefactor",renameSymbol:"renameSymbol",refactorBatch:"refactorBatch"};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OPERATION_IDS=void 0,exports.OPERATION_IDS={health:"health",runtimeInfo:"runtimeInfo",effectiveConfig:"effectiveConfig",inspect:"inspect",findImporters:"findImporters",findUnusedImports:"findUnusedImports",addMissingImports:"addMissingImports",fileMutation:"fileMutation",moveRefactor:"moveRefactor",renameSymbol:"renameSymbol",refactorBatch:"refactorBatch"};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.COMMAND_CAPABILITY_REQUIREMENTS=exports.COMPATIBILITY_EXEMPT_COMMANDS=exports.CLI_COMMAND_IDS=exports.CAPABILITY_IDS=exports.SUPPORTED_PROTOCOL_VERSION=void 0,exports.getRequiredCapabilityForCommand=I,exports.isCompatibilityExemptCommand=e,exports.SUPPORTED_PROTOCOL_VERSION=1,exports.CAPABILITY_IDS={ping:"ping",runtimeInfo:"runtimeInfo",printConfig:"printConfig",inspect:"inspect",imports:"imports",move:"move",rename:"rename",refactor:"refactor",findImporters:"findImporters",findUnusedImports:"findUnusedImports",addMissingImports:"addMissingImports",moveToFile:"moveToFile",renameEntities:"renameEntities",refactorBatch:"refactorBatch"},exports.CLI_COMMAND_IDS={listInstances:"listInstances",ping:"ping",runtimeInfo:"runtimeInfo",printConfig:"printConfig",initSkillUsage:"initSkillUsage",initSkillUsageKebab:"init-skill-usage",inspect:"inspect",findImporters:"findImporters",findUnusedImports:"findUnusedImports",addMissingImports:"addMissingImports",moveToFile:"moveToFile",renameEntities:"renameEntities",refactorBatch:"refactorBatch",modulePlan:"modulePlan",session:"session",trace:"trace",observability:"observability"},exports.COMPATIBILITY_EXEMPT_COMMANDS=[exports.CLI_COMMAND_IDS.listInstances,exports.CLI_COMMAND_IDS.ping,exports.CLI_COMMAND_IDS.runtimeInfo,exports.CLI_COMMAND_IDS.session,exports.CLI_COMMAND_IDS.trace,exports.CLI_COMMAND_IDS.observability],exports.COMMAND_CAPABILITY_REQUIREMENTS={[exports.CLI_COMMAND_IDS.printConfig]:exports.CAPABILITY_IDS.printConfig,[exports.CLI_COMMAND_IDS.initSkillUsage]:exports.CAPABILITY_IDS.printConfig,[exports.CLI_COMMAND_IDS.initSkillUsageKebab]:exports.CAPABILITY_IDS.printConfig,[exports.CLI_COMMAND_IDS.inspect]:exports.CAPABILITY_IDS.inspect,[exports.CLI_COMMAND_IDS.findImporters]:exports.CAPABILITY_IDS.findImporters,[exports.CLI_COMMAND_IDS.findUnusedImports]:exports.CAPABILITY_IDS.findUnusedImports,[exports.CLI_COMMAND_IDS.addMissingImports]:exports.CAPABILITY_IDS.addMissingImports,[exports.CLI_COMMAND_IDS.moveToFile]:exports.CAPABILITY_IDS.moveToFile,[exports.CLI_COMMAND_IDS.renameEntities]:exports.CAPABILITY_IDS.renameEntities,[exports.CLI_COMMAND_IDS.refactorBatch]:exports.CAPABILITY_IDS.refactorBatch,[exports.CLI_COMMAND_IDS.modulePlan]:exports.CAPABILITY_IDS.inspect};function I(i){return exports.COMMAND_CAPABILITY_REQUIREMENTS[i]??null}function e(i){return exports.COMPATIBILITY_EXEMPT_COMMANDS.includes(i)}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.COMMAND_CAPABILITY_REQUIREMENTS=exports.COMPATIBILITY_EXEMPT_COMMANDS=exports.CLI_COMMAND_IDS=exports.CAPABILITY_IDS=exports.SUPPORTED_PROTOCOL_VERSION=void 0,exports.getRequiredCapabilityForCommand=I,exports.isCompatibilityExemptCommand=e,exports.SUPPORTED_PROTOCOL_VERSION=1,exports.CAPABILITY_IDS={ping:"ping",runtimeInfo:"runtimeInfo",printConfig:"printConfig",inspect:"inspect",imports:"imports",file:"file",move:"move",rename:"rename",refactor:"refactor",findImporters:"findImporters",findUnusedImports:"findUnusedImports",addMissingImports:"addMissingImports",fileMutation:"fileMutation",moveToFile:"moveToFile",renameEntities:"renameEntities",refactorBatch:"refactorBatch"},exports.CLI_COMMAND_IDS={listInstances:"listInstances",ping:"ping",runtimeInfo:"runtimeInfo",printConfig:"printConfig",initSkillUsage:"initSkillUsage",initSkillUsageKebab:"init-skill-usage",inspect:"inspect",findImporters:"findImporters",findUnusedImports:"findUnusedImports",addMissingImports:"addMissingImports",fileMutation:"fileMutation",moveToFile:"moveToFile",renameEntities:"renameEntities",refactorBatch:"refactorBatch",modulePlan:"modulePlan",session:"session",trace:"trace",observability:"observability"},exports.COMPATIBILITY_EXEMPT_COMMANDS=[exports.CLI_COMMAND_IDS.listInstances,exports.CLI_COMMAND_IDS.ping,exports.CLI_COMMAND_IDS.runtimeInfo,exports.CLI_COMMAND_IDS.session,exports.CLI_COMMAND_IDS.trace,exports.CLI_COMMAND_IDS.observability],exports.COMMAND_CAPABILITY_REQUIREMENTS={[exports.CLI_COMMAND_IDS.printConfig]:exports.CAPABILITY_IDS.printConfig,[exports.CLI_COMMAND_IDS.initSkillUsage]:exports.CAPABILITY_IDS.printConfig,[exports.CLI_COMMAND_IDS.initSkillUsageKebab]:exports.CAPABILITY_IDS.printConfig,[exports.CLI_COMMAND_IDS.inspect]:exports.CAPABILITY_IDS.inspect,[exports.CLI_COMMAND_IDS.findImporters]:exports.CAPABILITY_IDS.findImporters,[exports.CLI_COMMAND_IDS.findUnusedImports]:exports.CAPABILITY_IDS.findUnusedImports,[exports.CLI_COMMAND_IDS.addMissingImports]:exports.CAPABILITY_IDS.addMissingImports,[exports.CLI_COMMAND_IDS.fileMutation]:exports.CAPABILITY_IDS.fileMutation,[exports.CLI_COMMAND_IDS.moveToFile]:exports.CAPABILITY_IDS.moveToFile,[exports.CLI_COMMAND_IDS.renameEntities]:exports.CAPABILITY_IDS.renameEntities,[exports.CLI_COMMAND_IDS.refactorBatch]:exports.CAPABILITY_IDS.refactorBatch,[exports.CLI_COMMAND_IDS.modulePlan]:exports.CAPABILITY_IDS.inspect};function I(i){return exports.COMMAND_CAPABILITY_REQUIREMENTS[i]??null}function e(i){return exports.COMPATIBILITY_EXEMPT_COMMANDS.includes(i)}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EXTENSION_ROUTE_OPERATIONS=exports.EXTENSION_ROUTES=void 0;const e=require("./operations");exports.EXTENSION_ROUTES={health:"/health",runtimeInfo:"/dev/runtime-info",effectiveConfig:"/config/effective",inspect:"/ide/inspect",findImporters:"/tsapi/find-importers",findUnusedImports:"/tsapi/find-unused-imports",addMissingImports:"/tsapi/add-missing-imports",moveRefactor:"/tsapi/move-refactor",renameSymbol:"/tsapi/rename-symbol",refactorBatch:"/tsapi/refactor-batch"},exports.EXTENSION_ROUTE_OPERATIONS={[exports.EXTENSION_ROUTES.health]:e.OPERATION_IDS.health,[exports.EXTENSION_ROUTES.runtimeInfo]:e.OPERATION_IDS.runtimeInfo,[exports.EXTENSION_ROUTES.effectiveConfig]:e.OPERATION_IDS.effectiveConfig,[exports.EXTENSION_ROUTES.inspect]:e.OPERATION_IDS.inspect,[exports.EXTENSION_ROUTES.findImporters]:e.OPERATION_IDS.findImporters,[exports.EXTENSION_ROUTES.findUnusedImports]:e.OPERATION_IDS.findUnusedImports,[exports.EXTENSION_ROUTES.addMissingImports]:e.OPERATION_IDS.addMissingImports,[exports.EXTENSION_ROUTES.moveRefactor]:e.OPERATION_IDS.moveRefactor,[exports.EXTENSION_ROUTES.renameSymbol]:e.OPERATION_IDS.renameSymbol,[exports.EXTENSION_ROUTES.refactorBatch]:e.OPERATION_IDS.refactorBatch};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EXTENSION_ROUTE_OPERATIONS=exports.EXTENSION_ROUTES=void 0;const e=require("./operations");exports.EXTENSION_ROUTES={health:"/health",runtimeInfo:"/dev/runtime-info",effectiveConfig:"/config/effective",inspect:"/ide/inspect",findImporters:"/tsapi/find-importers",findUnusedImports:"/tsapi/find-unused-imports",addMissingImports:"/tsapi/add-missing-imports",fileMutation:"/tsapi/file-mutation",moveRefactor:"/tsapi/move-refactor",renameSymbol:"/tsapi/rename-symbol",refactorBatch:"/tsapi/refactor-batch"},exports.EXTENSION_ROUTE_OPERATIONS={[exports.EXTENSION_ROUTES.health]:e.OPERATION_IDS.health,[exports.EXTENSION_ROUTES.runtimeInfo]:e.OPERATION_IDS.runtimeInfo,[exports.EXTENSION_ROUTES.effectiveConfig]:e.OPERATION_IDS.effectiveConfig,[exports.EXTENSION_ROUTES.inspect]:e.OPERATION_IDS.inspect,[exports.EXTENSION_ROUTES.findImporters]:e.OPERATION_IDS.findImporters,[exports.EXTENSION_ROUTES.findUnusedImports]:e.OPERATION_IDS.findUnusedImports,[exports.EXTENSION_ROUTES.addMissingImports]:e.OPERATION_IDS.addMissingImports,[exports.EXTENSION_ROUTES.fileMutation]:e.OPERATION_IDS.fileMutation,[exports.EXTENSION_ROUTES.moveRefactor]:e.OPERATION_IDS.moveRefactor,[exports.EXTENSION_ROUTES.renameSymbol]:e.OPERATION_IDS.renameSymbol,[exports.EXTENSION_ROUTES.refactorBatch]:e.OPERATION_IDS.refactorBatch};
@@ -0,0 +1 @@
1
+ "use strict";var _=exports&&exports.__createBinding||(Object.create?(function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}):(function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]})),p=exports&&exports.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),u=exports&&exports.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var n=e(t),i=0;i<n.length;i++)n[i]!=="default"&&_(r,t,n[i]);return p(r,t),r}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveStdinExampleShell=f,exports.formatStdinExamples=v,exports.formatHelpToken=d;const c=u(require("node:fs")),l=u(require("node:path"));function f(){const e=process.env.AIB_HELP_SHELL?.trim().toLowerCase();return e==="bash"||e==="sh"||e==="zsh"?"bash":e==="powershell"||e==="pwsh"||e==="ps"||process.platform==="win32"?"powershell":"bash"}function v(e={}){return d(e.includeQr===!0?"stdin.examples.with-qr":"stdin.examples",e.helpRootDir)}function d(e,t){const r=e.trim();if(!/^[a-z0-9_.-]+$/i.test(r))throw new Error(`Invalid AIB help token: ${e}`);const i=f()==="powershell"?"pwsh":"bash",s=l.join("tokens",`${r}.md`),a=l.join("tokens",`${r}.${i}.md`),h=[t?l.join(t,s):null,t?l.join(t,a):null,l.resolve(__dirname,"..","help",s),l.resolve(__dirname,"..","help",a),l.resolve(__dirname,"..","..","..","..","docs","aib-help",s),l.resolve(__dirname,"..","..","..","..","docs","aib-help",a)].filter(o=>!!o);for(const o of h)if(c.existsSync(o))return c.readFileSync(o,"utf8").trim();throw new Error(`Missing AIB help token: ${s} or ${a}`)}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ENTITY_KIND_IDS=exports.CANONICAL_METHOD_IDS=void 0,exports.CANONICAL_METHOD_IDS=["ping","runtimeInfo","printConfig","listInstances","initSkillUsage","help","inspect","imports","move","rename","refactor","execution","modulePlan"],exports.ENTITY_KIND_IDS=["class","interface","type","function","variable","enum","method","property"];
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ENTITY_KIND_IDS=exports.CANONICAL_METHOD_IDS=void 0,exports.CANONICAL_METHOD_IDS=["ping","runtimeInfo","printConfig","listInstances","initSkillUsage","help","inspect","imports","move","rename","refactor","execution","modulePlan"],exports.ENTITY_KIND_IDS=["class","interface","type","function","variable","enum","namespace","method","property"];
@@ -0,0 +1 @@
1
+ "use strict";var f=exports&&exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveToolRuntime=b,exports.currentPlatformKey=h,exports.packagedToolsRoot=s,exports.toolCacheRoot=l,exports.defaultExecutableName=c,exports.toolRuntimeEnvVar=x,exports.shouldUseShellForTool=g;const d=f(require("node:fs")),n=f(require("node:path")),v=require("../config/env-vars"),_=require("../config/product-storage");function b(e){const r={...process.env,...e.env},o=h(),t=r[e.envVar]?.trim();if(t)return{executable:n.default.resolve(t),source:"env",platformKey:o};const u=P(e.tool,o);if(u)return u;const a=k(e.tool,o);return a||{executable:c(e.tool),source:"path",platformKey:o}}function h(){const e=(process.arch==="x64"||process.arch==="arm64",process.arch);return`${process.platform}-${e}`}function s(){return n.default.resolve(__dirname,"..","..","runtimes","tools")}function l(e=(0,_.productStorageRoot)()){return n.default.join(e,"tool-packs")}function c(e){return e==="rg"?process.platform==="win32"?"rg.exe":"rg":process.platform==="win32"?"rtk.exe":"rtk"}function x(e){return e==="rg"?v.CLI_ENV.rgPath:v.CLI_ENV.rtkPath}function g(e){return process.platform==="win32"&&/\.(?:cmd|bat)$/i.test(e)}function P(e,r){const o=n.default.join(l(),e,"active.json"),t=p(o);if(!t||t.tool!==e||t.platform!==r||!t.version)return null;const u=t.executablePath?n.default.resolve(t.executablePath):n.default.join(l(),e,t.version,r,t.executable||c(e));return m(u)?{executable:u,source:"cache",platformKey:r,version:t.version}:null}function k(e,r){const o=n.default.join(s(),e,"manifest.json"),t=p(o);if(!t||t.tool!==e||!t.version)return null;const a=t.platforms?.[r]?.executable||c(e),i=n.default.join(s(),e,r,a);return m(i)?{executable:i,source:"packaged",platformKey:r,version:t.version}:null}function m(e){try{return d.default.statSync(e).isFile()}catch{return!1}}function p(e){try{return JSON.parse(d.default.readFileSync(e,"utf8"))}catch{return null}}
@@ -1,3 +1,5 @@
1
- "use strict";var S=exports&&exports.__createBinding||(Object.create?(function(e,r,n,c){c===void 0&&(c=n);var t=Object.getOwnPropertyDescriptor(r,n);(!t||("get"in t?!r.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return r[n]}}),Object.defineProperty(e,c,t)}):(function(e,r,n,c){c===void 0&&(c=n),e[c]=r[n]})),h=exports&&exports.__setModuleDefault||(Object.create?(function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}):function(e,r){e.default=r}),_=exports&&exports.__importStar||(function(){var e=function(r){return e=Object.getOwnPropertyNames||function(n){var c=[];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(c[c.length]=t);return c},e(r)};return function(r){if(r&&r.__esModule)return r;var n={};if(r!=null)for(var c=e(r),t=0;t<c.length;t++)c[t]!=="default"&&S(n,r,c[t]);return h(n,r),n}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.startTrace=D;const i=_(require("node:fs")),a=_(require("node:path")),w=require("node:crypto"),A=require("../observability/context"),C=require("../observability/failure-snapshot"),P=require("../observability/recent");function D(e){if(!e.traceDir||e.traceDir.trim()==="")return M();const r=x(e.cwd,e.traceDir.trim()),n=a.basename(r),c=new Date(e.startedAtMs).toISOString(),t=k(e.command,e.startedAtMs),u=a.join(r,"calls",t),m=a.join(u,"request.json"),b=(0,A.buildCorrelationContext)(e.cwd);return i.mkdirSync(u,{recursive:!0}),f(m,{callId:t,traceCallId:t,traceRunId:n,startedAt:c,cwd:a.resolve(e.cwd),...b,argv:e.argv,command:e.command,restArgs:e.restArgs,hasStdinPayload:e.stdinPayload!==void 0,stdinPayload:v(e.stdinPayload)}),{enabled:!0,traceDir:r,callId:t,callDir:u,complete(s){const g=new Date(e.startedAtMs+s.durationMs).toISOString(),I=a.join(u,"response.json"),p=a.join(u,"meta.json");f(I,s.output);const O=T(s),j=(0,C.captureFailureSnapshot)({cwd:e.cwd,command:e.command,restArgs:e.restArgs,...e.stdinPayload!==void 0?{stdinPayload:e.stdinPayload}:{},output:s.output,traceCallId:t,traceRunId:n}),d={callId:t,traceCallId:t,traceRunId:n,startedAt:c,finishedAt:g,durationMs:s.durationMs,exitCode:s.exitCode,ok:O,command:e.command,cwd:a.resolve(e.cwd),...b,selectedInstance:J(s.output),responseSummary:N(s.output),transport:s.transport??F(s.output)??null,executionId:E(s.output),...j?{failureSnapshot:j}:{},requestPath:m,responsePath:I,metaPath:p};f(p,d),$(a.join(r,"trace.jsonl"),d),(0,P.recordRecentTraceCall)(e.cwd,{traceCallId:t,traceRunId:n,traceDir:r,command:e.command,cwd:a.resolve(e.cwd),startedAt:c,finishedAt:g,ok:O,...typeof d.executionId=="string"?{executionId:d.executionId}:{}})}}}function M(){return{enabled:!1,traceDir:null,callId:null,callDir:null,complete(){}}}function x(e,r){return a.resolve(a.isAbsolute(r)?r:a.join(e,r))}function k(e,r){return`${new Date(r).toISOString().replace(/[:.]/g,"-")}-${q(e)}-${process.pid}-${(0,w.randomUUID)().slice(0,8)}`}function q(e){return e.replace(/[^a-z0-9]+/gi,"-").replace(/^-|-$/g,"").toLowerCase()||"command"}function f(e,r){i.mkdirSync(a.dirname(e),{recursive:!0}),i.writeFileSync(e,`${JSON.stringify(r,null,2)}
2
- `)}function $(e,r){i.mkdirSync(a.dirname(e),{recursive:!0}),i.appendFileSync(e,`${JSON.stringify(r)}
3
- `)}function v(e){return e===void 0?null:y(e)}function y(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?e:Array.isArray(e)?e.map(r=>y(r)):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([r,n])=>[r,y(n)])):String(e)}function J(e){const r=e.selectedInstance;if(!r||typeof r!="object"||Array.isArray(r))return null;const n=r;return{instanceId:o(n.instanceId),reason:o(n.reason),matchedWorkspace:o(n.matchedWorkspace),port:typeof n.port=="number"?n.port:null}}function N(e){return{ok:typeof e.ok=="boolean"?e.ok:null,code:o(e.code),error:o(e.error),command:o(e.command),responseOk:V(e),responseCode:B(e),batchOk:typeof e.batchOk=="boolean"?e.batchOk:null,result:l(e.result)}}function T(e){return e.output.ok===!1?!1:e.exitCode===0}function F(e){const r=e.selectedInstance;!r||typeof r!="object"||Array.isArray(r)}function V(e){const r=l(e.response);return typeof r?.ok=="boolean"?r.ok:null}function B(e){const r=l(e.response);return r?o(r.code):null}function l(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function o(e){return typeof e=="string"?e:null}function E(e){if(typeof e.executionId=="string")return e.executionId;const r=l(e.response);return typeof r?.executionId=="string"?r.executionId:null}
1
+ "use strict";var O=exports&&exports.__createBinding||(Object.create?(function(e,t,r,a){a===void 0&&(a=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,a,n)}):(function(e,t,r,a){a===void 0&&(a=r),e[a]=t[r]})),_=exports&&exports.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),I=exports&&exports.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var a=[];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(a[a.length]=n);return a},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var a=e(t),n=0;n<a.length;n++)a[n]!=="default"&&O(r,t,a[n]);return _(r,t),r}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.startTrace=J;const i=I(require("node:fs")),s=I(require("node:path")),A=require("node:crypto"),C=require("../observability/context"),x=require("../observability/failure-snapshot"),q=require("../observability/recent"),P=2;function J(e){if(!e.traceDir||e.traceDir.trim()==="")return j();let t,r,a,n,l,f,c;try{t=M(e.cwd,e.traceDir.trim()),r=$(e.startedAtMs),a=new Date(e.startedAtMs).toISOString(),n=T(e.command,e.startedAtMs),l=s.join(t,"calls",n),f=(0,C.buildCorrelationContext)(e.cwd),c=v(l),h(l),o(c.argvPath,{schemaVersion:P,callId:n,traceCallId:n,traceRunId:r,startedAt:a,cwd:s.resolve(e.cwd),...f,argv:e.argv,command:e.command,restArgs:e.restArgs,inputSource:e.stdinSource?.format??(e.stdinPayload!==void 0?"payload":"none"),hasStdinPayload:e.stdinPayload!==void 0,hasRawStdin:typeof e.stdinSource?.text=="string"}),typeof e.stdinSource?.text=="string"&&w(c.stdinPath,e.stdinSource.text),e.stdinPayload!==void 0&&o(c.inputJsonPath,g(e.stdinPayload)),o(c.legacyRequestPath,{schemaVersion:P,callId:n,traceCallId:n,traceRunId:r,startedAt:a,cwd:s.resolve(e.cwd),...f,argv:e.argv,command:e.command,restArgs:e.restArgs,inputSource:e.stdinSource??null,hasStdinPayload:e.stdinPayload!==void 0,stdinPayload:E(e.stdinPayload),files:{argvPath:c.argvPath,...typeof e.stdinSource?.text=="string"?{stdinPath:c.stdinPath}:{},...e.stdinPayload!==void 0?{inputJsonPath:c.inputJsonPath}:{}}})}catch(u){return j(U(u))}return{enabled:!0,traceDir:t,callId:n,callDir:l,complete(u){try{const S=new Date(e.startedAtMs+u.durationMs).toISOString();o(c.responseJsonPath,u.output),typeof u.stdoutText=="string"&&w(c.responseStdoutPath,u.stdoutText);const p=V(u),b=(0,x.captureFailureSnapshot)({cwd:e.cwd,command:e.command,restArgs:e.restArgs,...e.stdinPayload!==void 0?{stdinPayload:e.stdinPayload}:{},output:u.output,traceCallId:n,traceRunId:r}),y={schemaVersion:P,callId:n,traceCallId:n,traceRunId:r,startedAt:a,finishedAt:S,durationMs:u.durationMs,exitCode:u.exitCode,ok:p,command:e.command,cwd:s.resolve(e.cwd),...f,selectedInstance:N(u.output),responseSummary:R(u.output),transport:u.transport??F(u.output)??null,executionId:L(u.output),...b?{failureSnapshot:b}:{},requestPath:c.legacyRequestPath,requestArgvPath:c.argvPath,...typeof e.stdinSource?.text=="string"?{requestStdinPath:c.stdinPath}:{},...e.stdinPayload!==void 0?{requestInputJsonPath:c.inputJsonPath}:{},responsePath:c.responseJsonPath,responseJsonPath:c.responseJsonPath,...typeof u.stdoutText=="string"?{responseStdoutPath:c.responseStdoutPath}:{},metaPath:c.metaPath};o(c.metaPath,y),k(s.join(t,"trace.jsonl"),y),(0,q.recordRecentTraceCall)(e.cwd,{traceCallId:n,traceRunId:r,traceDir:t,command:e.command,cwd:s.resolve(e.cwd),startedAt:a,finishedAt:S,ok:p,...typeof y.executionId=="string"?{executionId:y.executionId}:{}})}catch{}}}}function v(e){return{argvPath:s.join(e,"request.argv.json"),stdinPath:s.join(e,"request.stdin.txt"),inputJsonPath:s.join(e,"request.input.json"),legacyRequestPath:s.join(e,"request.json"),responseStdoutPath:s.join(e,"response.stdout.txt"),responseJsonPath:s.join(e,"response.json"),metaPath:s.join(e,"meta.json")}}function j(e){return{enabled:!1,traceDir:null,callId:null,callDir:null,...e?{disabledReason:e}:{},complete(){}}}function M(e,t){return s.resolve(s.isAbsolute(t)?t:s.join(e,t))}function T(e,t){return`${new Date(t).toISOString().replace(/[:.]/g,"-")}-${D(e)}-${process.pid}-${(0,A.randomUUID)().slice(0,8)}`}function $(e){return`run_${new Date(e).toISOString().replace(/[:.]/g,"-")}_${process.pid}`}function D(e){return e.replace(/[^a-z0-9]+/gi,"-").replace(/^-|-$/g,"").toLowerCase()||"command"}function o(e,t){h(s.dirname(e)),i.writeFileSync(e,`${JSON.stringify(t,null,2)}
2
+ `)}function w(e,t){h(s.dirname(e)),i.writeFileSync(e,t.endsWith(`
3
+ `)?t:`${t}
4
+ `,"utf8")}function k(e,t){h(s.dirname(e)),i.appendFileSync(e,`${JSON.stringify(t)}
5
+ `)}function h(e){try{i.mkdirSync(e,{recursive:!0});return}catch(t){if((typeof t=="object"&&t!==null&&"code"in t?String(t.code):"")!=="ENOENT")throw t}i.mkdirSync(s.dirname(e),{recursive:!0}),i.mkdirSync(e,{recursive:!0})}function E(e){return e===void 0?null:g(e)}function g(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?e:Array.isArray(e)?e.map(t=>g(t)):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,r])=>[t,g(r)])):String(e)}function N(e){const t=e.selectedInstance;if(!t||typeof t!="object"||Array.isArray(t))return null;const r=t;return{instanceId:d(r.instanceId),reason:d(r.reason),matchedWorkspace:d(r.matchedWorkspace),port:typeof r.port=="number"?r.port:null}}function R(e){return{ok:typeof e.ok=="boolean"?e.ok:null,code:d(e.code),error:d(e.error),command:d(e.command),responseOk:W(e),responseCode:B(e),batchOk:typeof e.batchOk=="boolean"?e.batchOk:null,result:m(e.result)}}function V(e){return e.output.ok===!1?!1:e.exitCode===0}function F(e){const t=e.selectedInstance;!t||typeof t!="object"||Array.isArray(t)}function W(e){const t=m(e.response);return typeof t?.ok=="boolean"?t.ok:null}function B(e){const t=m(e.response);return t?d(t.code):null}function m(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function d(e){return typeof e=="string"?e:null}function L(e){if(typeof e.executionId=="string")return e.executionId;const t=m(e.response);return typeof t?.executionId=="string"?t.executionId:null}function U(e){return e instanceof Error?e.message:String(e)}