@axm.sh/cli 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/dist/src/agents/claude-code/descriptor.d.ts.map +1 -1
  2. package/dist/src/agents/claude-code/descriptor.js +0 -2
  3. package/dist/src/agents/claude-code/descriptor.js.map +1 -1
  4. package/dist/src/agents/claude-code/index.d.ts +0 -2
  5. package/dist/src/agents/claude-code/index.d.ts.map +1 -1
  6. package/dist/src/agents/claude-code/index.js +0 -2
  7. package/dist/src/agents/claude-code/index.js.map +1 -1
  8. package/dist/src/agents/codex/descriptor.d.ts.map +1 -1
  9. package/dist/src/agents/codex/descriptor.js +0 -2
  10. package/dist/src/agents/codex/descriptor.js.map +1 -1
  11. package/dist/src/agents/codex/index.d.ts +0 -2
  12. package/dist/src/agents/codex/index.d.ts.map +1 -1
  13. package/dist/src/agents/codex/index.js +0 -2
  14. package/dist/src/agents/codex/index.js.map +1 -1
  15. package/dist/src/agents/continue/descriptor.d.ts.map +1 -1
  16. package/dist/src/agents/continue/descriptor.js +0 -2
  17. package/dist/src/agents/continue/descriptor.js.map +1 -1
  18. package/dist/src/agents/continue/index.d.ts +0 -1
  19. package/dist/src/agents/continue/index.d.ts.map +1 -1
  20. package/dist/src/agents/continue/index.js +0 -1
  21. package/dist/src/agents/continue/index.js.map +1 -1
  22. package/dist/src/agents/cursor/descriptor.d.ts.map +1 -1
  23. package/dist/src/agents/cursor/descriptor.js +0 -2
  24. package/dist/src/agents/cursor/descriptor.js.map +1 -1
  25. package/dist/src/agents/cursor/index.d.ts +0 -1
  26. package/dist/src/agents/cursor/index.d.ts.map +1 -1
  27. package/dist/src/agents/cursor/index.js +0 -1
  28. package/dist/src/agents/cursor/index.js.map +1 -1
  29. package/dist/src/agents/detection.d.ts +13 -55
  30. package/dist/src/agents/detection.d.ts.map +1 -1
  31. package/dist/src/agents/detection.js +27 -84
  32. package/dist/src/agents/detection.js.map +1 -1
  33. package/dist/src/agents/index.d.ts +1 -3
  34. package/dist/src/agents/index.d.ts.map +1 -1
  35. package/dist/src/agents/index.js +1 -4
  36. package/dist/src/agents/index.js.map +1 -1
  37. package/dist/src/agents/opencode/descriptor.d.ts.map +1 -1
  38. package/dist/src/agents/opencode/descriptor.js +0 -2
  39. package/dist/src/agents/opencode/descriptor.js.map +1 -1
  40. package/dist/src/agents/opencode/index.d.ts +0 -1
  41. package/dist/src/agents/opencode/index.d.ts.map +1 -1
  42. package/dist/src/agents/opencode/index.js +0 -1
  43. package/dist/src/agents/opencode/index.js.map +1 -1
  44. package/dist/src/agents/types.d.ts +1 -16
  45. package/dist/src/agents/types.d.ts.map +1 -1
  46. package/dist/src/agents/windsurf/descriptor.d.ts.map +1 -1
  47. package/dist/src/agents/windsurf/descriptor.js +0 -2
  48. package/dist/src/agents/windsurf/descriptor.js.map +1 -1
  49. package/dist/src/agents/windsurf/index.d.ts +0 -1
  50. package/dist/src/agents/windsurf/index.d.ts.map +1 -1
  51. package/dist/src/agents/windsurf/index.js +0 -1
  52. package/dist/src/agents/windsurf/index.js.map +1 -1
  53. package/dist/src/cli-commands/init/handler.d.ts +1 -1
  54. package/dist/src/cli-commands/init/handler.d.ts.map +1 -1
  55. package/dist/src/cli-commands/init/handler.js +1 -1
  56. package/dist/src/cli-commands/init/handler.js.map +1 -1
  57. package/dist/src/cli-commands/skills/command.d.ts.map +1 -1
  58. package/dist/src/cli-commands/skills/command.js +6 -0
  59. package/dist/src/cli-commands/skills/command.js.map +1 -1
  60. package/dist/src/cli-commands/skills/constants.d.ts +9 -0
  61. package/dist/src/cli-commands/skills/constants.d.ts.map +1 -0
  62. package/dist/src/cli-commands/skills/constants.js +9 -0
  63. package/dist/src/cli-commands/skills/constants.js.map +1 -0
  64. package/dist/src/cli-commands/skills/copy-skill.d.ts +1 -1
  65. package/dist/src/cli-commands/skills/copy-skill.d.ts.map +1 -1
  66. package/dist/src/cli-commands/skills/copy-skill.js +11 -24
  67. package/dist/src/cli-commands/skills/copy-skill.js.map +1 -1
  68. package/dist/src/cli-commands/skills/disable/command.d.ts +15 -0
  69. package/dist/src/cli-commands/skills/disable/command.d.ts.map +1 -0
  70. package/dist/src/cli-commands/skills/disable/command.js +56 -0
  71. package/dist/src/cli-commands/skills/disable/command.js.map +1 -0
  72. package/dist/src/cli-commands/skills/disable/disable-skill.d.ts +25 -0
  73. package/dist/src/cli-commands/skills/disable/disable-skill.d.ts.map +1 -0
  74. package/dist/src/cli-commands/skills/disable/disable-skill.js +101 -0
  75. package/dist/src/cli-commands/skills/disable/disable-skill.js.map +1 -0
  76. package/dist/src/cli-commands/skills/disable/handler.d.ts +18 -0
  77. package/dist/src/cli-commands/skills/disable/handler.d.ts.map +1 -0
  78. package/dist/src/cli-commands/skills/disable/handler.js +72 -0
  79. package/dist/src/cli-commands/skills/disable/handler.js.map +1 -0
  80. package/dist/src/cli-commands/skills/enable/command.d.ts +15 -0
  81. package/dist/src/cli-commands/skills/enable/command.d.ts.map +1 -0
  82. package/dist/src/cli-commands/skills/enable/command.js +56 -0
  83. package/dist/src/cli-commands/skills/enable/command.js.map +1 -0
  84. package/dist/src/cli-commands/skills/enable/enable-skill.d.ts +26 -0
  85. package/dist/src/cli-commands/skills/enable/enable-skill.d.ts.map +1 -0
  86. package/dist/src/cli-commands/skills/enable/enable-skill.js +138 -0
  87. package/dist/src/cli-commands/skills/enable/enable-skill.js.map +1 -0
  88. package/dist/src/cli-commands/skills/enable/handler.d.ts +18 -0
  89. package/dist/src/cli-commands/skills/enable/handler.d.ts.map +1 -0
  90. package/dist/src/cli-commands/skills/enable/handler.js +72 -0
  91. package/dist/src/cli-commands/skills/enable/handler.js.map +1 -0
  92. package/dist/src/cli-commands/skills/fork/handler.d.ts +4 -13
  93. package/dist/src/cli-commands/skills/fork/handler.d.ts.map +1 -1
  94. package/dist/src/cli-commands/skills/fork/handler.js +37 -29
  95. package/dist/src/cli-commands/skills/fork/handler.js.map +1 -1
  96. package/dist/src/cli-commands/skills/fs-helpers.d.ts +12 -0
  97. package/dist/src/cli-commands/skills/fs-helpers.d.ts.map +1 -0
  98. package/dist/src/cli-commands/skills/fs-helpers.js +12 -0
  99. package/dist/src/cli-commands/skills/fs-helpers.js.map +1 -0
  100. package/dist/src/cli-commands/skills/install/discover-skills.d.ts +3 -18
  101. package/dist/src/cli-commands/skills/install/discover-skills.d.ts.map +1 -1
  102. package/dist/src/cli-commands/skills/install/discover-skills.js +7 -20
  103. package/dist/src/cli-commands/skills/install/discover-skills.js.map +1 -1
  104. package/dist/src/cli-commands/skills/install/handler.d.ts +1 -16
  105. package/dist/src/cli-commands/skills/install/handler.d.ts.map +1 -1
  106. package/dist/src/cli-commands/skills/install/handler.js +20 -27
  107. package/dist/src/cli-commands/skills/install/handler.js.map +1 -1
  108. package/dist/src/cli-commands/skills/install/install-skill.d.ts +1 -1
  109. package/dist/src/cli-commands/skills/install/install-skill.d.ts.map +1 -1
  110. package/dist/src/cli-commands/skills/install/install-skill.js +12 -18
  111. package/dist/src/cli-commands/skills/install/install-skill.js.map +1 -1
  112. package/dist/src/cli-commands/skills/install/select-skills.d.ts +4 -5
  113. package/dist/src/cli-commands/skills/install/select-skills.d.ts.map +1 -1
  114. package/dist/src/cli-commands/skills/install/select-skills.js +13 -13
  115. package/dist/src/cli-commands/skills/install/select-skills.js.map +1 -1
  116. package/dist/src/cli-commands/skills/install/skill-utils.d.ts +1 -6
  117. package/dist/src/cli-commands/skills/install/skill-utils.d.ts.map +1 -1
  118. package/dist/src/cli-commands/skills/install/skill-utils.js +8 -4
  119. package/dist/src/cli-commands/skills/install/skill-utils.js.map +1 -1
  120. package/dist/src/cli-commands/skills/list/handler.d.ts +1 -1
  121. package/dist/src/cli-commands/skills/list/handler.d.ts.map +1 -1
  122. package/dist/src/cli-commands/skills/list/handler.js +1 -1
  123. package/dist/src/cli-commands/skills/list/handler.js.map +1 -1
  124. package/dist/src/cli-commands/skills/naming.d.ts +17 -0
  125. package/dist/src/cli-commands/skills/naming.d.ts.map +1 -0
  126. package/dist/src/cli-commands/skills/naming.js +20 -0
  127. package/dist/src/cli-commands/skills/naming.js.map +1 -0
  128. package/dist/src/cli-commands/skills/operations.d.ts +25 -1
  129. package/dist/src/cli-commands/skills/operations.d.ts.map +1 -1
  130. package/dist/src/cli-commands/skills/publish/handler.d.ts +1 -10
  131. package/dist/src/cli-commands/skills/publish/handler.d.ts.map +1 -1
  132. package/dist/src/cli-commands/skills/publish/handler.js +31 -47
  133. package/dist/src/cli-commands/skills/publish/handler.js.map +1 -1
  134. package/dist/src/cli-commands/skills/publish-skill.d.ts +1 -1
  135. package/dist/src/cli-commands/skills/publish-skill.d.ts.map +1 -1
  136. package/dist/src/cli-commands/skills/publish-skill.js +37 -52
  137. package/dist/src/cli-commands/skills/publish-skill.js.map +1 -1
  138. package/dist/src/cli-commands/skills/rename/command.d.ts +16 -0
  139. package/dist/src/cli-commands/skills/rename/command.d.ts.map +1 -0
  140. package/dist/src/cli-commands/skills/rename/command.js +62 -0
  141. package/dist/src/cli-commands/skills/rename/command.js.map +1 -0
  142. package/dist/src/cli-commands/skills/rename/handler.d.ts +20 -0
  143. package/dist/src/cli-commands/skills/rename/handler.d.ts.map +1 -0
  144. package/dist/src/cli-commands/skills/rename/handler.js +77 -0
  145. package/dist/src/cli-commands/skills/rename/handler.js.map +1 -0
  146. package/dist/src/cli-commands/skills/rename/rename-skill.d.ts +25 -0
  147. package/dist/src/cli-commands/skills/rename/rename-skill.d.ts.map +1 -0
  148. package/dist/src/cli-commands/skills/rename/rename-skill.js +110 -0
  149. package/dist/src/cli-commands/skills/rename/rename-skill.js.map +1 -0
  150. package/dist/src/cli-commands/skills/uninstall/handler.d.ts +1 -1
  151. package/dist/src/cli-commands/skills/uninstall/handler.d.ts.map +1 -1
  152. package/dist/src/cli-commands/skills/uninstall/handler.js +12 -1
  153. package/dist/src/cli-commands/skills/uninstall/handler.js.map +1 -1
  154. package/dist/src/cli-commands/skills/uninstall/uninstall-skill.d.ts +1 -1
  155. package/dist/src/cli-commands/skills/uninstall/uninstall-skill.d.ts.map +1 -1
  156. package/dist/src/cli-commands/skills/uninstall/uninstall-skill.js +14 -23
  157. package/dist/src/cli-commands/skills/uninstall/uninstall-skill.js.map +1 -1
  158. package/dist/src/cli-commands/skills/update/build-plan.d.ts +7 -2
  159. package/dist/src/cli-commands/skills/update/build-plan.d.ts.map +1 -1
  160. package/dist/src/cli-commands/skills/update/build-plan.js +28 -20
  161. package/dist/src/cli-commands/skills/update/build-plan.js.map +1 -1
  162. package/dist/src/cli-commands/skills/update/handler.d.ts +11 -20
  163. package/dist/src/cli-commands/skills/update/handler.d.ts.map +1 -1
  164. package/dist/src/cli-commands/skills/update/handler.js +161 -90
  165. package/dist/src/cli-commands/skills/update/handler.js.map +1 -1
  166. package/dist/src/cli-commands/skills/utils.d.ts +2 -16
  167. package/dist/src/cli-commands/skills/utils.d.ts.map +1 -1
  168. package/dist/src/cli-commands/skills/utils.js +36 -20
  169. package/dist/src/cli-commands/skills/utils.js.map +1 -1
  170. package/dist/src/cli-error/cli-error.d.ts +21 -0
  171. package/dist/src/cli-error/cli-error.d.ts.map +1 -0
  172. package/dist/src/cli-error/cli-error.js +12 -0
  173. package/dist/src/cli-error/cli-error.js.map +1 -0
  174. package/dist/src/cli-error/index.d.ts +3 -0
  175. package/dist/src/cli-error/index.d.ts.map +1 -0
  176. package/dist/src/cli-error/index.js +3 -0
  177. package/dist/src/cli-error/index.js.map +1 -0
  178. package/dist/src/cli-error/render.d.ts +4 -0
  179. package/dist/src/cli-error/render.d.ts.map +1 -0
  180. package/dist/src/cli-error/render.js +25 -0
  181. package/dist/src/cli-error/render.js.map +1 -0
  182. package/dist/src/extensions/skills/index.d.ts +0 -5
  183. package/dist/src/extensions/skills/index.d.ts.map +1 -1
  184. package/dist/src/extensions/skills/index.js +1 -4
  185. package/dist/src/extensions/skills/index.js.map +1 -1
  186. package/dist/src/extensions/skills/state/index.d.ts +2 -2
  187. package/dist/src/extensions/skills/state/index.d.ts.map +1 -1
  188. package/dist/src/extensions/skills/state/index.js +1 -1
  189. package/dist/src/extensions/skills/state/index.js.map +1 -1
  190. package/dist/src/extensions/skills/state/pure-functions.d.ts +4 -29
  191. package/dist/src/extensions/skills/state/pure-functions.d.ts.map +1 -1
  192. package/dist/src/extensions/skills/state/pure-functions.js +4 -37
  193. package/dist/src/extensions/skills/state/pure-functions.js.map +1 -1
  194. package/dist/src/extensions/skills/state/types.d.ts +0 -1
  195. package/dist/src/extensions/skills/state/types.d.ts.map +1 -1
  196. package/dist/src/extensions/skills/state/types.js.map +1 -1
  197. package/dist/src/extensions/skills/types.d.ts +0 -40
  198. package/dist/src/extensions/skills/types.d.ts.map +1 -1
  199. package/dist/src/extensions/skills/types.js +0 -1
  200. package/dist/src/extensions/skills/types.js.map +1 -1
  201. package/dist/src/git/errors.d.ts +1 -2
  202. package/dist/src/git/errors.d.ts.map +1 -1
  203. package/dist/src/git/errors.js +0 -1
  204. package/dist/src/git/errors.js.map +1 -1
  205. package/dist/src/git/index.d.ts +0 -1
  206. package/dist/src/git/index.d.ts.map +1 -1
  207. package/dist/src/git/index.js +0 -1
  208. package/dist/src/git/index.js.map +1 -1
  209. package/dist/src/git/operations.d.ts +7 -7
  210. package/dist/src/git/operations.d.ts.map +1 -1
  211. package/dist/src/git/operations.js +22 -19
  212. package/dist/src/git/operations.js.map +1 -1
  213. package/dist/src/lockfile/index.d.ts +1 -2
  214. package/dist/src/lockfile/index.d.ts.map +1 -1
  215. package/dist/src/lockfile/index.js +2 -1
  216. package/dist/src/lockfile/index.js.map +1 -1
  217. package/dist/src/lockfile/lockfile.d.ts +77 -51
  218. package/dist/src/lockfile/lockfile.d.ts.map +1 -1
  219. package/dist/src/lockfile/lockfile.js +27 -51
  220. package/dist/src/lockfile/lockfile.js.map +1 -1
  221. package/dist/src/resolution/index.d.ts +0 -1
  222. package/dist/src/resolution/index.d.ts.map +1 -1
  223. package/dist/src/resolution/index.js +0 -2
  224. package/dist/src/resolution/index.js.map +1 -1
  225. package/dist/src/resolution/resolver.d.ts +2 -2
  226. package/dist/src/resolution/resolver.d.ts.map +1 -1
  227. package/dist/src/resolution/resolver.js +1 -1
  228. package/dist/src/resolution/resolver.js.map +1 -1
  229. package/dist/src/resolution/resolvers/ambiguous.js +1 -1
  230. package/dist/src/resolution/resolvers/ambiguous.js.map +1 -1
  231. package/dist/src/resolution/resolvers/axm-name.d.ts.map +1 -1
  232. package/dist/src/resolution/resolvers/axm-name.js +1 -1
  233. package/dist/src/resolution/resolvers/axm-name.js.map +1 -1
  234. package/dist/src/resolution/resolvers/bare-name.js +1 -1
  235. package/dist/src/resolution/resolvers/bare-name.js.map +1 -1
  236. package/dist/src/resolution/resolvers/explicit-source.d.ts.map +1 -1
  237. package/dist/src/resolution/resolvers/explicit-source.js +1 -1
  238. package/dist/src/resolution/resolvers/explicit-source.js.map +1 -1
  239. package/dist/src/resolution/resolvers/local-path.d.ts.map +1 -1
  240. package/dist/src/resolution/resolvers/local-path.js +1 -1
  241. package/dist/src/resolution/resolvers/local-path.js.map +1 -1
  242. package/dist/src/resolution/resolvers/url.d.ts.map +1 -1
  243. package/dist/src/resolution/resolvers/url.js +1 -1
  244. package/dist/src/resolution/resolvers/url.js.map +1 -1
  245. package/dist/src/runtime/error-handling.d.ts +10 -0
  246. package/dist/src/runtime/error-handling.d.ts.map +1 -0
  247. package/dist/src/runtime/error-handling.js +10 -0
  248. package/dist/src/runtime/error-handling.js.map +1 -0
  249. package/dist/src/runtime/index.d.ts +5 -4
  250. package/dist/src/runtime/index.d.ts.map +1 -1
  251. package/dist/src/runtime/index.js +11 -4
  252. package/dist/src/runtime/index.js.map +1 -1
  253. package/dist/src/settings/format-preserving-json.d.ts +1 -2
  254. package/dist/src/settings/format-preserving-json.d.ts.map +1 -1
  255. package/dist/src/settings/format-preserving-json.js +7 -7
  256. package/dist/src/settings/format-preserving-json.js.map +1 -1
  257. package/dist/src/settings/index.d.ts +5 -4
  258. package/dist/src/settings/index.d.ts.map +1 -1
  259. package/dist/src/settings/index.js +4 -2
  260. package/dist/src/settings/index.js.map +1 -1
  261. package/dist/src/settings/schema.d.ts +48 -8
  262. package/dist/src/settings/schema.d.ts.map +1 -1
  263. package/dist/src/settings/schema.js +26 -7
  264. package/dist/src/settings/schema.js.map +1 -1
  265. package/dist/src/settings/settings.d.ts +10 -52
  266. package/dist/src/settings/settings.d.ts.map +1 -1
  267. package/dist/src/settings/settings.js +22 -48
  268. package/dist/src/settings/settings.js.map +1 -1
  269. package/dist/src/settings/skill-entry.d.ts +44 -0
  270. package/dist/src/settings/skill-entry.d.ts.map +1 -0
  271. package/dist/src/settings/skill-entry.js +58 -0
  272. package/dist/src/settings/skill-entry.js.map +1 -0
  273. package/dist/src/sources/azurerepos/repo-exists.d.ts +2 -2
  274. package/dist/src/sources/azurerepos/repo-exists.d.ts.map +1 -1
  275. package/dist/src/sources/azurerepos/repo-exists.js +9 -7
  276. package/dist/src/sources/azurerepos/repo-exists.js.map +1 -1
  277. package/dist/src/sources/azurerepos/scp.d.ts +1 -2
  278. package/dist/src/sources/azurerepos/scp.d.ts.map +1 -1
  279. package/dist/src/sources/azurerepos/scp.js +6 -2
  280. package/dist/src/sources/azurerepos/scp.js.map +1 -1
  281. package/dist/src/sources/azurerepos/url.d.ts +1 -2
  282. package/dist/src/sources/azurerepos/url.d.ts.map +1 -1
  283. package/dist/src/sources/azurerepos/url.js +11 -3
  284. package/dist/src/sources/azurerepos/url.js.map +1 -1
  285. package/dist/src/sources/bitbucket/resolve-repo.d.ts +2 -2
  286. package/dist/src/sources/bitbucket/resolve-repo.d.ts.map +1 -1
  287. package/dist/src/sources/bitbucket/resolve-repo.js +5 -4
  288. package/dist/src/sources/bitbucket/resolve-repo.js.map +1 -1
  289. package/dist/src/sources/bitbucket/scp.d.ts +1 -2
  290. package/dist/src/sources/bitbucket/scp.d.ts.map +1 -1
  291. package/dist/src/sources/bitbucket/scp.js +6 -2
  292. package/dist/src/sources/bitbucket/scp.js.map +1 -1
  293. package/dist/src/sources/bitbucket/shorthand.d.ts +1 -1
  294. package/dist/src/sources/bitbucket/shorthand.d.ts.map +1 -1
  295. package/dist/src/sources/bitbucket/url.d.ts +1 -2
  296. package/dist/src/sources/bitbucket/url.d.ts.map +1 -1
  297. package/dist/src/sources/bitbucket/url.js +11 -3
  298. package/dist/src/sources/bitbucket/url.js.map +1 -1
  299. package/dist/src/sources/clone-url.d.ts +3 -4
  300. package/dist/src/sources/clone-url.d.ts.map +1 -1
  301. package/dist/src/sources/clone-url.js +6 -6
  302. package/dist/src/sources/clone-url.js.map +1 -1
  303. package/dist/src/sources/github/api.d.ts +3 -21
  304. package/dist/src/sources/github/api.d.ts.map +1 -1
  305. package/dist/src/sources/github/api.js +16 -28
  306. package/dist/src/sources/github/api.js.map +1 -1
  307. package/dist/src/sources/github/index.d.ts +1 -1
  308. package/dist/src/sources/github/index.d.ts.map +1 -1
  309. package/dist/src/sources/github/index.js +1 -1
  310. package/dist/src/sources/github/index.js.map +1 -1
  311. package/dist/src/sources/github/resolve-repo.d.ts +2 -2
  312. package/dist/src/sources/github/resolve-repo.d.ts.map +1 -1
  313. package/dist/src/sources/github/resolve-repo.js +5 -4
  314. package/dist/src/sources/github/resolve-repo.js.map +1 -1
  315. package/dist/src/sources/github/scp.d.ts +1 -2
  316. package/dist/src/sources/github/scp.d.ts.map +1 -1
  317. package/dist/src/sources/github/scp.js +6 -2
  318. package/dist/src/sources/github/scp.js.map +1 -1
  319. package/dist/src/sources/github/shorthand.d.ts +1 -1
  320. package/dist/src/sources/github/shorthand.d.ts.map +1 -1
  321. package/dist/src/sources/github/url.d.ts +1 -2
  322. package/dist/src/sources/github/url.d.ts.map +1 -1
  323. package/dist/src/sources/github/url.js +11 -3
  324. package/dist/src/sources/github/url.js.map +1 -1
  325. package/dist/src/sources/gitlab/resolve-repo.d.ts +2 -2
  326. package/dist/src/sources/gitlab/resolve-repo.d.ts.map +1 -1
  327. package/dist/src/sources/gitlab/resolve-repo.js +5 -4
  328. package/dist/src/sources/gitlab/resolve-repo.js.map +1 -1
  329. package/dist/src/sources/gitlab/scp.d.ts +1 -2
  330. package/dist/src/sources/gitlab/scp.d.ts.map +1 -1
  331. package/dist/src/sources/gitlab/scp.js +6 -2
  332. package/dist/src/sources/gitlab/scp.js.map +1 -1
  333. package/dist/src/sources/gitlab/shorthand.d.ts +1 -1
  334. package/dist/src/sources/gitlab/shorthand.d.ts.map +1 -1
  335. package/dist/src/sources/gitlab/url.d.ts +1 -2
  336. package/dist/src/sources/gitlab/url.d.ts.map +1 -1
  337. package/dist/src/sources/gitlab/url.js +11 -3
  338. package/dist/src/sources/gitlab/url.js.map +1 -1
  339. package/dist/src/sources/index.d.ts +0 -4
  340. package/dist/src/sources/index.d.ts.map +1 -1
  341. package/dist/src/sources/index.js +2 -3
  342. package/dist/src/sources/index.js.map +1 -1
  343. package/dist/src/sources/local/parser.d.ts +2 -2
  344. package/dist/src/sources/local/parser.d.ts.map +1 -1
  345. package/dist/src/sources/local/parser.js.map +1 -1
  346. package/dist/src/sources/parse-provider-shorthand.d.ts +2 -3
  347. package/dist/src/sources/parse-provider-shorthand.d.ts.map +1 -1
  348. package/dist/src/sources/parse-provider-shorthand.js +7 -3
  349. package/dist/src/sources/parse-provider-shorthand.js.map +1 -1
  350. package/dist/src/sources/provider.d.ts +5 -44
  351. package/dist/src/sources/provider.d.ts.map +1 -1
  352. package/dist/src/sources/provider.js +12 -26
  353. package/dist/src/sources/provider.js.map +1 -1
  354. package/dist/src/sources/providers/azurerepos.js +7 -7
  355. package/dist/src/sources/providers/azurerepos.js.map +1 -1
  356. package/dist/src/sources/providers/git-hosting.d.ts +3 -3
  357. package/dist/src/sources/providers/git-hosting.d.ts.map +1 -1
  358. package/dist/src/sources/providers/git-hosting.js +14 -33
  359. package/dist/src/sources/providers/git-hosting.js.map +1 -1
  360. package/dist/src/sources/providers/git.js +7 -7
  361. package/dist/src/sources/providers/git.js.map +1 -1
  362. package/dist/src/sources/providers/local.d.ts.map +1 -1
  363. package/dist/src/sources/providers/local.js +7 -18
  364. package/dist/src/sources/providers/local.js.map +1 -1
  365. package/dist/src/sources/providers/registry.d.ts +5 -5
  366. package/dist/src/sources/providers/registry.d.ts.map +1 -1
  367. package/dist/src/sources/providers/registry.js +136 -92
  368. package/dist/src/sources/providers/registry.js.map +1 -1
  369. package/dist/src/sources/registry-guard.d.ts +2 -3
  370. package/dist/src/sources/registry-guard.d.ts.map +1 -1
  371. package/dist/src/sources/registry-guard.js +8 -6
  372. package/dist/src/sources/registry-guard.js.map +1 -1
  373. package/dist/src/sources/resolve-source.d.ts +3 -3
  374. package/dist/src/sources/resolve-source.d.ts.map +1 -1
  375. package/dist/src/sources/resolve-source.js +83 -49
  376. package/dist/src/sources/resolve-source.js.map +1 -1
  377. package/dist/src/sources/service.d.ts +3 -4
  378. package/dist/src/sources/service.d.ts.map +1 -1
  379. package/dist/src/sources/service.js +8 -5
  380. package/dist/src/sources/service.js.map +1 -1
  381. package/dist/src/tui/confirm/service.d.ts +2 -2
  382. package/dist/src/tui/confirm/service.d.ts.map +1 -1
  383. package/dist/src/tui/confirm/service.js.map +1 -1
  384. package/dist/src/tui/errors.d.ts +0 -9
  385. package/dist/src/tui/errors.d.ts.map +1 -1
  386. package/dist/src/tui/errors.js +0 -2
  387. package/dist/src/tui/errors.js.map +1 -1
  388. package/dist/src/tui/index.d.ts +1 -1
  389. package/dist/src/tui/index.d.ts.map +1 -1
  390. package/dist/src/tui/index.js +1 -1
  391. package/dist/src/tui/index.js.map +1 -1
  392. package/dist/src/tui/multiselect/service.d.ts +3 -2
  393. package/dist/src/tui/multiselect/service.d.ts.map +1 -1
  394. package/dist/src/tui/multiselect/service.js +7 -5
  395. package/dist/src/tui/multiselect/service.js.map +1 -1
  396. package/dist/src/tui/password-input/service.d.ts +3 -2
  397. package/dist/src/tui/password-input/service.d.ts.map +1 -1
  398. package/dist/src/tui/password-input/service.js +7 -5
  399. package/dist/src/tui/password-input/service.js.map +1 -1
  400. package/dist/src/tui/select/service.d.ts +3 -2
  401. package/dist/src/tui/select/service.d.ts.map +1 -1
  402. package/dist/src/tui/select/service.js +5 -5
  403. package/dist/src/tui/select/service.js.map +1 -1
  404. package/dist/src/tui/spinner/index.d.ts +1 -1
  405. package/dist/src/tui/spinner/index.d.ts.map +1 -1
  406. package/dist/src/tui/spinner/service.d.ts +1 -5
  407. package/dist/src/tui/spinner/service.d.ts.map +1 -1
  408. package/dist/src/tui/spinner/service.js +25 -12
  409. package/dist/src/tui/spinner/service.js.map +1 -1
  410. package/dist/src/tui/spinner/test.d.ts +3 -0
  411. package/dist/src/tui/spinner/test.d.ts.map +1 -1
  412. package/dist/src/tui/spinner/test.js +9 -0
  413. package/dist/src/tui/spinner/test.js.map +1 -1
  414. package/dist/src/tui/spinner/types.d.ts +5 -0
  415. package/dist/src/tui/spinner/types.d.ts.map +1 -1
  416. package/dist/src/tui/text-input/service.d.ts +2 -2
  417. package/dist/src/tui/text-input/service.d.ts.map +1 -1
  418. package/dist/src/tui/text-input/service.js.map +1 -1
  419. package/dist/src/utils/create-symlink.d.ts +1 -14
  420. package/dist/src/utils/create-symlink.d.ts.map +1 -1
  421. package/dist/src/utils/create-symlink.js +17 -15
  422. package/dist/src/utils/create-symlink.js.map +1 -1
  423. package/dist/src/utils/index.d.ts +1 -2
  424. package/dist/src/utils/index.d.ts.map +1 -1
  425. package/dist/src/utils/index.js +1 -2
  426. package/dist/src/utils/index.js.map +1 -1
  427. package/dist/src/workspace/apply-plan.d.ts +5 -17
  428. package/dist/src/workspace/apply-plan.d.ts.map +1 -1
  429. package/dist/src/workspace/apply-plan.js +3 -12
  430. package/dist/src/workspace/apply-plan.js.map +1 -1
  431. package/dist/src/workspace/ensure-agents.d.ts +2 -15
  432. package/dist/src/workspace/ensure-agents.d.ts.map +1 -1
  433. package/dist/src/workspace/ensure-agents.js +7 -15
  434. package/dist/src/workspace/ensure-agents.js.map +1 -1
  435. package/dist/src/workspace/errors.d.ts +1 -1
  436. package/dist/src/workspace/errors.d.ts.map +1 -1
  437. package/dist/src/workspace/index.d.ts +1 -2
  438. package/dist/src/workspace/index.d.ts.map +1 -1
  439. package/dist/src/workspace/index.js +1 -2
  440. package/dist/src/workspace/index.js.map +1 -1
  441. package/dist/src/workspace/service.d.ts +31 -24
  442. package/dist/src/workspace/service.d.ts.map +1 -1
  443. package/dist/src/workspace/service.js +110 -81
  444. package/dist/src/workspace/service.js.map +1 -1
  445. package/package.json +1 -1
@@ -4,8 +4,8 @@ import { render } from "ink";
4
4
  import * as Context from "effect/Context";
5
5
  import * as Effect from "effect/Effect";
6
6
  import * as Layer from "effect/Layer";
7
- import * as Option from "effect/Option";
8
- import { PromptCancelled, PromptError } from "../errors.js";
7
+ import { PromptCancelled } from "../errors.js";
8
+ import { makeCliError } from "../../cli-error/index.js";
9
9
  import { PasswordInputPrompt } from "./component.js";
10
10
  export class PasswordInput extends Context.Tag("@axm.sh/cli/tui/PasswordInput")() {
11
11
  }
@@ -21,9 +21,11 @@ const makeLivePasswordInputService = () => ({
21
21
  } }));
22
22
  }
23
23
  catch (error) {
24
- resume(Effect.fail(new PromptError({
25
- message: "Failed to render password input.",
26
- cause: Option.some(error),
24
+ resume(Effect.fail(makeCliError({
25
+ code: "PROMPT_RENDER_FAILED",
26
+ what: "Failed to render prompt",
27
+ howToFix: "Run with --yes to skip prompts, or ensure stdin is a terminal",
28
+ cause: error,
27
29
  })));
28
30
  }
29
31
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/tui/password-input/service.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AASrD,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAG5E;CAAG;AAEN,MAAM,4BAA4B,GAAG,GAAyB,EAAE,CAAC,CAAC;IAChE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CACjB,MAAM,CAAC,KAAK,CAAwC,CAAC,MAAM,EAAE,EAAE;QAC7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CACrB,KAAC,mBAAmB,IAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChC,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;oBACb,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChF,CAAC,GACD,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CACJ,MAAM,CAAC,IAAI,CACT,IAAI,WAAW,CAAC;gBACd,OAAO,EAAE,kCAAkC;gBAC3C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aAC1B,CAAC,CACH,CACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAA+B,KAAK,CAAC,OAAO,CACxE,aAAa,EACb,4BAA4B,EAAE,CAC/B,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/tui/password-input/service.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAiB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AASrD,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAG5E;CAAG;AAEN,MAAM,4BAA4B,GAAG,GAAyB,EAAE,CAAC,CAAC;IAChE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CACjB,MAAM,CAAC,KAAK,CAAqC,CAAC,MAAM,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CACrB,KAAC,mBAAmB,IAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChC,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;oBACb,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChF,CAAC,GACD,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CACJ,MAAM,CAAC,IAAI,CACT,YAAY,CAAC;gBACX,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,yBAAyB;gBAC/B,QAAQ,EAAE,+DAA+D;gBACzE,KAAK,EAAE,KAAK;aACb,CAAC,CACH,CACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAA+B,KAAK,CAAC,OAAO,CACxE,aAAa,EACb,4BAA4B,EAAE,CAC/B,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import * as Context from "effect/Context";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Layer from "effect/Layer";
4
- import { PromptCancelled, PromptError } from "../errors.js";
4
+ import { PromptCancelled } from "../errors.js";
5
+ import { type CliError } from "../../cli-error/index.js";
5
6
  import type { SelectConfig } from "./types.js";
6
7
  export interface SelectService {
7
- readonly prompt: <T>(config: SelectConfig<T>) => Effect.Effect<T, PromptError | PromptCancelled>;
8
+ readonly prompt: <T>(config: SelectConfig<T>) => Effect.Effect<T, CliError | PromptCancelled>;
8
9
  }
9
10
  declare const Select_base: Context.TagClass<Select, "@axm.sh/cli/tui/Select", SelectService>;
10
11
  export declare class Select extends Select_base {
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/tui/select/service.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,eAAe,CAAC,CAAC;CAClG;;AAED,qBAAa,MAAO,SAAQ,WAA8D;CAAG;AAiC7F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAkD,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/tui/select/service.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,0BAA0B,CAAC;AAEvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC,CAAC;CAC/F;;AAED,qBAAa,MAAO,SAAQ,WAA8D;CAAG;AAiC7F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAkD,CAAC"}
@@ -3,8 +3,8 @@ import { render } from "ink";
3
3
  import * as Context from "effect/Context";
4
4
  import * as Effect from "effect/Effect";
5
5
  import * as Layer from "effect/Layer";
6
- import * as Option from "effect/Option";
7
- import { PromptCancelled, PromptError } from "../errors.js";
6
+ import { PromptCancelled } from "../errors.js";
7
+ import { makeCliError } from "../../cli-error/index.js";
8
8
  import { SelectPrompt } from "./component.js";
9
9
  export class Select extends Context.Tag("@axm.sh/cli/tui/Select")() {
10
10
  }
@@ -14,9 +14,9 @@ const makeLiveSelectService = () => ({
14
14
  instance.unmount();
15
15
  const item = config.items[index];
16
16
  if (item === undefined) {
17
- resume(Effect.fail(new PromptError({
18
- message: `Invalid selection index: ${String(index)}`,
19
- cause: Option.none(),
17
+ resume(Effect.fail(makeCliError({
18
+ code: "PROMPT_RENDER_FAILED",
19
+ what: `Invalid selection index: ${String(index)}`,
20
20
  })));
21
21
  return;
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/tui/select/service.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAO9C,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAyB;CAAG;AAE7F,MAAM,qBAAqB,GAAG,GAAkB,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE,CAAK,MAAuB,EAAE,EAAE,CACtC,MAAM,CAAC,KAAK,CAAmC,CAAC,MAAM,EAAE,EAAE;QACxD,MAAM,QAAQ,GAAG,MAAM,CACrB,KAAC,YAAY,IACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,CACJ,MAAM,CAAC,IAAI,CACT,IAAI,WAAW,CAAC;wBACd,OAAO,EAAE,4BAA4B,MAAM,CAAC,KAAK,CAAC,EAAE;wBACpD,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;qBACrB,CAAC,CACH,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/B,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;gBACb,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;YAChF,CAAC,GACD,CACH,CAAC;IACJ,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAwB,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/tui/select/service.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAiB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAO9C,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAyB;CAAG;AAE7F,MAAM,qBAAqB,GAAG,GAAkB,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE,CAAK,MAAuB,EAAE,EAAE,CACtC,MAAM,CAAC,KAAK,CAAgC,CAAC,MAAM,EAAE,EAAE;QACrD,MAAM,QAAQ,GAAG,MAAM,CACrB,KAAC,YAAY,IACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,CACJ,MAAM,CAAC,IAAI,CACT,YAAY,CAAC;wBACX,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,4BAA4B,MAAM,CAAC,KAAK,CAAC,EAAE;qBAClD,CAAC,CACH,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/B,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;gBACb,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;YAChF,CAAC,GACD,CACH,CAAC;IACJ,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAwB,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { Spinner, SpinnerLive } from "./service.js";
2
- export type { SpinnerHandle } from "./types.js";
2
+ export type { SpinnerHandle, SpinnerService } from "./types.js";
3
3
  export { makeSpinnerTestLayer, type MockSpinnerService } from "./test.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tui/spinner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tui/spinner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
@@ -1,10 +1,6 @@
1
1
  import * as Context from "effect/Context";
2
- import * as Effect from "effect/Effect";
3
2
  import * as Layer from "effect/Layer";
4
- import type { SpinnerHandle } from "./types.js";
5
- interface SpinnerService {
6
- readonly start: (message: string) => Effect.Effect<SpinnerHandle>;
7
- }
3
+ import type { SpinnerService } from "./types.js";
8
4
  declare const Spinner_base: Context.TagClass<Spinner, "@axm.sh/cli/tui/Spinner", SpinnerService>;
9
5
  export declare class Spinner extends Spinner_base {
10
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/tui/spinner/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,UAAU,cAAc;IACtB,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;CACnE;;AAED,qBAAa,OAAQ,SAAQ,YAAiE;CAAG;AAkBjG,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAoD,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/tui/spinner/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,YAAY,CAAC;;AAEhE,qBAAa,OAAQ,SAAQ,YAAiE;CAAG;AAgCjG,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAoD,CAAC"}
@@ -6,17 +6,30 @@ import * as Layer from "effect/Layer";
6
6
  import { SpinnerComponent } from "./component.js";
7
7
  export class Spinner extends Context.Tag("@axm.sh/cli/tui/Spinner")() {
8
8
  }
9
- const makeLiveSpinnerService = () => ({
10
- start: (message) => Effect.sync(() => {
11
- const instance = render(React.createElement(SpinnerComponent, { message }));
12
- return {
13
- stop: (stopMessage) => Effect.sync(() => {
14
- instance.unmount();
15
- instance.cleanup();
16
- process.stdout.write(`\u2714 ${stopMessage}\n`);
17
- }),
18
- };
19
- }),
20
- });
9
+ const makeLiveSpinnerService = () => {
10
+ const active = new Set();
11
+ return {
12
+ start: (message) => Effect.sync(() => {
13
+ const instance = render(React.createElement(SpinnerComponent, { message }));
14
+ const entry = { instance };
15
+ active.add(entry);
16
+ return {
17
+ stop: (stopMessage) => Effect.sync(() => {
18
+ active.delete(entry);
19
+ instance.unmount();
20
+ instance.cleanup();
21
+ process.stdout.write(`\u2714 ${stopMessage}\n`);
22
+ }),
23
+ };
24
+ }),
25
+ stopAll: Effect.sync(() => {
26
+ for (const entry of active) {
27
+ entry.instance.unmount();
28
+ entry.instance.cleanup();
29
+ }
30
+ active.clear();
31
+ }),
32
+ };
33
+ };
21
34
  export const SpinnerLive = Layer.succeed(Spinner, makeLiveSpinnerService());
22
35
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/tui/spinner/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,MAAM,OAAO,OAAQ,SAAQ,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAA2B;CAAG;AAEjG,MAAM,sBAAsB,GAAG,GAAmB,EAAE,CAAC,CAAC;IACpD,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACf,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAE5E,OAAO;YACL,IAAI,EAAE,CAAC,WAAmB,EAAE,EAAE,CAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,WAAW,IAAI,CAAC,CAAC;YAClD,CAAC,CAAC;SACmB,CAAC;IAC5B,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAyB,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/tui/spinner/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,OAAO,OAAQ,SAAQ,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAA2B;CAAG;AAEjG,MAAM,sBAAsB,GAAG,GAAmB,EAAE;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2C,CAAC;IAElE,OAAO;QACL,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5E,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAElB,OAAO;gBACL,IAAI,EAAE,CAAC,WAAmB,EAAE,EAAE,CAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACf,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACrB,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnB,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,WAAW,IAAI,CAAC,CAAC;gBAClD,CAAC,CAAC;aACmB,CAAC;QAC5B,CAAC,CAAC;QACJ,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACxB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACzB,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAyB,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC"}
@@ -5,7 +5,10 @@ import type { SpinnerHandle } from "./types.js";
5
5
  export interface MockSpinnerService {
6
6
  readonly starts: string[];
7
7
  readonly stops: string[];
8
+ /** Number of times stopAll was called. */
9
+ readonly stopAllCalls: number[];
8
10
  readonly start: (message: string) => Effect.Effect<SpinnerHandle>;
11
+ readonly stopAll: Effect.Effect<void>;
9
12
  }
10
13
  export declare function makeSpinnerTestLayer(): [Layer.Layer<Spinner>, MockSpinnerService];
11
14
  //# sourceMappingURL=test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../src/tui/spinner/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;CACnE;AAED,wBAAgB,oBAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAqBjF"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../src/tui/spinner/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,wBAAgB,oBAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CA8BjF"}
@@ -4,17 +4,26 @@ import { Spinner } from "./service.js";
4
4
  export function makeSpinnerTestLayer() {
5
5
  const starts = [];
6
6
  const stops = [];
7
+ const stopAllCalls = [];
8
+ let activeCount = 0;
7
9
  const mock = {
8
10
  starts,
9
11
  stops,
12
+ stopAllCalls,
10
13
  start: (message) => Effect.sync(() => {
11
14
  starts.push(message);
15
+ activeCount++;
12
16
  return {
13
17
  stop: (stopMessage) => Effect.sync(() => {
18
+ activeCount--;
14
19
  stops.push(stopMessage);
15
20
  }),
16
21
  };
17
22
  }),
23
+ stopAll: Effect.sync(() => {
24
+ stopAllCalls.push(activeCount);
25
+ activeCount = 0;
26
+ }),
18
27
  };
19
28
  const layer = Layer.succeed(Spinner, mock);
20
29
  return [layer, mock];
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../src/tui/spinner/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AASvC,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,IAAI,GAAuB;QAC/B,MAAM;QACN,KAAK;QACL,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO;gBACL,IAAI,EAAE,CAAC,WAAmB,EAAE,EAAE,CAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACf,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1B,CAAC,CAAC;aACmB,CAAC;QAC5B,CAAC,CAAC;KACL,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../src/tui/spinner/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAYvC,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,IAAI,GAAuB;QAC/B,MAAM;QACN,KAAK;QACL,YAAY;QACZ,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACjB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,WAAW,EAAE,CAAC;YACd,OAAO;gBACL,IAAI,EAAE,CAAC,WAAmB,EAAE,EAAE,CAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACf,WAAW,EAAE,CAAC;oBACd,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1B,CAAC,CAAC;aACmB,CAAC;QAC5B,CAAC,CAAC;QACJ,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACxB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,WAAW,GAAG,CAAC,CAAC;QAClB,CAAC,CAAC;KACH,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC"}
@@ -2,4 +2,9 @@ import type * as Effect from "effect/Effect";
2
2
  export interface SpinnerHandle {
3
3
  readonly stop: (message: string) => Effect.Effect<void>;
4
4
  }
5
+ export interface SpinnerService {
6
+ readonly start: (message: string) => Effect.Effect<SpinnerHandle>;
7
+ /** Stop all active spinners (e.g., on unhandled error before exit). */
8
+ readonly stopAll: Effect.Effect<void>;
9
+ }
5
10
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/tui/spinner/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACzD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/tui/spinner/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAClE,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACvC"}
@@ -2,10 +2,10 @@ import * as Context from "effect/Context";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Layer from "effect/Layer";
4
4
  import { PromptCancelled } from "../errors.js";
5
- import type { PromptError } from "../errors.js";
5
+ import type { CliError } from "../../cli-error/index.js";
6
6
  import type { TextInputConfig } from "./types.js";
7
7
  export interface TextInputService {
8
- readonly prompt: (config: TextInputConfig) => Effect.Effect<string, PromptError | PromptCancelled>;
8
+ readonly prompt: (config: TextInputConfig) => Effect.Effect<string, CliError | PromptCancelled>;
9
9
  }
10
10
  declare const TextInput_base: Context.TagClass<TextInput, "@axm.sh/cli/tui/TextInput", TextInputService>;
11
11
  export declare class TextInput extends TextInput_base {
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/tui/text-input/service.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,CACf,MAAM,EAAE,eAAe,KACpB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,CAAC,CAAC;CAC3D;;AAED,qBAAa,SAAU,SAAQ,cAG5B;CAAG;AAqBN,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAGhD,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/tui/text-input/service.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,CAAC,CAAC;CACjG;;AAED,qBAAa,SAAU,SAAQ,cAG5B;CAAG;AAqBN,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAGhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/tui/text-input/service.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AASjD,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAGpE;CAAG;AAEN,MAAM,wBAAwB,GAAG,GAAqB,EAAE,CAAC,CAAC;IACxD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CACjB,MAAM,CAAC,KAAK,CAAwC,CAAC,MAAM,EAAE,EAAE;QAC7D,MAAM,QAAQ,GAAG,MAAM,CACrB,KAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;gBACb,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;YAChF,CAAC,GACD,CACH,CAAC;IACJ,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAA2B,KAAK,CAAC,OAAO,CAChE,SAAS,EACT,wBAAwB,EAAE,CAC3B,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/tui/text-input/service.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAOjD,MAAM,OAAO,SAAU,SAAQ,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAGpE;CAAG;AAEN,MAAM,wBAAwB,GAAG,GAAqB,EAAE,CAAC,CAAC;IACxD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CACjB,MAAM,CAAC,KAAK,CAAqC,CAAC,MAAM,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,MAAM,CACrB,KAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;gBACb,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;YAChF,CAAC,GACD,CACH,CAAC;IACJ,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAA2B,KAAK,CAAC,OAAO,CAChE,SAAS,EACT,wBAAwB,EAAE,CAC3B,CAAC"}
@@ -1,17 +1,5 @@
1
1
  import * as FileSystem from "@effect/platform/FileSystem";
2
2
  import * as Effect from "effect/Effect";
3
- declare const SymlinkError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
4
- readonly _tag: "SymlinkError";
5
- } & Readonly<A>;
6
- /**
7
- * Typed error for symlink creation failures.
8
- * Callers can catch this to fall back to copy mode.
9
- */
10
- export declare class SymlinkError extends SymlinkError_base<{
11
- readonly message: string;
12
- readonly cause: unknown;
13
- }> {
14
- }
15
3
  /**
16
4
  * Result of a createSymlink operation.
17
5
  *
@@ -32,6 +20,5 @@ export type SymlinkResult = "created" | "replaced" | "no-op" | "skipped";
32
20
  export declare const createSymlink: (opts: {
33
21
  readonly target: string;
34
22
  readonly link: string;
35
- }) => Effect.Effect<SymlinkResult, SymlinkError, FileSystem.FileSystem>;
36
- export {};
23
+ }) => Effect.Effect<"no-op" | "created" | "replaced" | "skipped", import("../cli-error/cli-error.js").CliError, FileSystem.FileSystem>;
37
24
  //# sourceMappingURL=create-symlink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-symlink.d.ts","sourceRoot":"","sources":["../../../src/utils/create-symlink.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAE1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;AAIxC;;;GAGG;AACH,qBAAa,YAAa,SAAQ,kBAAiC;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;AAEL;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,KAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC,UAAU,CAgEhE,CAAC"}
1
+ {"version":3,"file":"create-symlink.d.ts","sourceRoot":"","sources":["../../../src/utils/create-symlink.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,qIAqElF,CAAC"}
@@ -1,15 +1,9 @@
1
1
  import * as nodePath from "node:path";
2
2
  import * as FileSystem from "@effect/platform/FileSystem";
3
- import * as Data from "effect/Data";
4
3
  import * as Effect from "effect/Effect";
5
4
  import * as Option from "effect/Option";
5
+ import { makeCliError } from "../cli-error/index.js";
6
6
  import { resolveParentSymlinks } from "./resolve-parent-symlinks.js";
7
- /**
8
- * Typed error for symlink creation failures.
9
- * Callers can catch this to fall back to copy mode.
10
- */
11
- export class SymlinkError extends Data.TaggedError("SymlinkError") {
12
- }
13
7
  /**
14
8
  * Creates a relative symlink from `link` to `target`, handling the full
15
9
  * symlink lifecycle: self-reference detection, existing link inspection,
@@ -21,7 +15,11 @@ export class SymlinkError extends Data.TaggedError("SymlinkError") {
21
15
  export const createSymlink = (opts) => Effect.gen(function* () {
22
16
  const fs = yield* FileSystem.FileSystem;
23
17
  // Resolve both paths through parent symlinks for accurate comparison
24
- const resolvedTarget = yield* resolveParentSymlinks(opts.target).pipe(Effect.mapError((e) => new SymlinkError({ message: `Failed to resolve target path`, cause: e })));
18
+ const resolvedTarget = yield* resolveParentSymlinks(opts.target).pipe(Effect.mapError((e) => makeCliError({
19
+ code: "SYMLINK_CREATE_FAILED",
20
+ what: `Failed to resolve target path`,
21
+ cause: e,
22
+ })));
25
23
  const resolvedLink = yield* resolveParentSymlinks(opts.link).pipe(
26
24
  // Link parent may not exist yet — fall back to the raw path
27
25
  Effect.catchAll(() => Effect.succeed(opts.link)));
@@ -38,21 +36,25 @@ export const createSymlink = (opts) => Effect.gen(function* () {
38
36
  return "no-op";
39
37
  // If something exists that needs replacing, remove it
40
38
  if (existingResult === "replace") {
41
- yield* fs.remove(opts.link, { recursive: true }).pipe(Effect.mapError((e) => new SymlinkError({
42
- message: `Failed to remove existing path at ${opts.link}`,
39
+ yield* fs.remove(opts.link, { recursive: true }).pipe(Effect.mapError((e) => makeCliError({
40
+ code: "SYMLINK_CREATE_FAILED",
41
+ what: `Failed to remove existing path at ${opts.link}`,
43
42
  cause: e,
44
43
  })));
45
44
  }
46
45
  // Create parent directories
47
46
  const linkParent = nodePath.dirname(opts.link);
48
- yield* fs.makeDirectory(linkParent, { recursive: true }).pipe(Effect.mapError((e) => new SymlinkError({
49
- message: `Failed to create parent directory ${linkParent}`,
47
+ yield* fs.makeDirectory(linkParent, { recursive: true }).pipe(Effect.mapError((e) => makeCliError({
48
+ code: "SYMLINK_CREATE_FAILED",
49
+ what: `Failed to create parent directory ${linkParent}`,
50
50
  cause: e,
51
51
  })));
52
52
  // Create the symlink
53
- yield* fs
54
- .symlink(relTarget, opts.link)
55
- .pipe(Effect.mapError((e) => new SymlinkError({ message: `Failed to create symlink at ${opts.link}`, cause: e })));
53
+ yield* fs.symlink(relTarget, opts.link).pipe(Effect.mapError((e) => makeCliError({
54
+ code: "SYMLINK_CREATE_FAILED",
55
+ what: `Failed to create symlink at ${opts.link}`,
56
+ cause: e,
57
+ })));
56
58
  return existingResult === "replace" ? "replaced" : "created";
57
59
  });
58
60
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"create-symlink.js","sourceRoot":"","sources":["../../../src/utils/create-symlink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-symlink.js","sourceRoot":"","sources":["../../../src/utils/create-symlink.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  export { computeChecksum } from "./checksum.js";
2
- export { formatEmptyResolutionError, formatError } from "./errors.js";
3
2
  export { isPathSafe } from "./path-safety.js";
4
3
  export { resolveParentSymlinks } from "./resolve-parent-symlinks.js";
5
- export { createSymlink, SymlinkError, type SymlinkResult } from "./create-symlink.js";
4
+ export { createSymlink, type SymlinkResult } from "./create-symlink.js";
6
5
  export { isInteractive } from "./tty.js";
7
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -1,7 +1,6 @@
1
1
  export { computeChecksum } from "./checksum.js";
2
- export { formatEmptyResolutionError, formatError } from "./errors.js";
3
2
  export { isPathSafe } from "./path-safety.js";
4
3
  export { resolveParentSymlinks } from "./resolve-parent-symlinks.js";
5
- export { createSymlink, SymlinkError } from "./create-symlink.js";
4
+ export { createSymlink } from "./create-symlink.js";
6
5
  export { isInteractive } from "./tty.js";
7
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -8,23 +8,12 @@
8
8
  * @experimental This API is unstable and may change without notice.
9
9
  */
10
10
  import * as Effect from "effect/Effect";
11
+ import type { CliError } from "../cli-error/index.js";
11
12
  import type { Operation, OperationResult, Plan } from "./plan.js";
12
- declare const OperationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
13
- readonly _tag: "OperationError";
14
- } & Readonly<A>;
15
- /**
16
- * Yielded by handlers for hard failures — applyPlan catches and converts to error result.
17
- */
18
- export declare class OperationError extends OperationError_base<{
19
- readonly operation: string;
20
- readonly message: string;
21
- readonly cause: unknown;
22
- }> {
23
- }
24
13
  /**
25
14
  * Handler function for a specific operation type.
26
15
  */
27
- export type OperationHandler<Op, R = never> = (op: Op) => Effect.Effect<OperationResult, OperationError, R>;
16
+ export type OperationHandler<Op, R = never> = (op: Op) => Effect.Effect<OperationResult, CliError, R>;
28
17
  /**
29
18
  * Executor registry — a handler for every `name` in the operation union.
30
19
  * TypeScript enforces exhaustiveness at compile time.
@@ -35,21 +24,20 @@ export type OperationHandler<Op, R = never> = (op: Op) => Effect.Effect<Operatio
35
24
  export type Handlers<Op extends Operation<string, unknown>> = {
36
25
  [K in Op["name"]]: (op: Extract<Op, {
37
26
  name: K;
38
- }>) => Effect.Effect<OperationResult, OperationError, any>;
27
+ }>) => Effect.Effect<OperationResult, CliError, any>;
39
28
  };
40
29
  /**
41
30
  * Extract the union of R (requirements) from all handler functions in the registry.
42
31
  */
43
32
  export type ExecutionContext<T> = {
44
- [K in keyof T]: T[K] extends (...args: any[]) => Effect.Effect<OperationResult, OperationError, infer R> ? R : never;
33
+ [K in keyof T]: T[K] extends (...args: any[]) => Effect.Effect<OperationResult, CliError, infer R> ? R : never;
45
34
  }[keyof T];
46
35
  /**
47
36
  * Apply a plan by iterating jobs and dispatching steps expected to succeed to the executor registry.
48
37
  *
49
38
  * Uses `Effect.forEach` with each job's `concurrency` setting.
50
39
  * Only dispatches steps with `expectedResult.result === "success"` — others are promoted with expectedResult as actualResult.
51
- * Never fails — catches OperationError and converts to error results.
40
+ * Never fails — catches CliError and converts to error results.
52
41
  */
53
42
  export declare const applyPlan: <Op extends Operation<string, unknown>, T extends Handlers<Op>>(plan: Plan<Op>, handlers: T) => Effect.Effect<Plan<Op>, never, ExecutionContext<T>>;
54
- export {};
55
43
  //# sourceMappingURL=apply-plan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-plan.d.ts","sourceRoot":"","sources":["../../../src/workspace/apply-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAiB,SAAS,EAAE,eAAe,EAAE,IAAI,EAAkB,MAAM,WAAW,CAAC;;;;AAMjG;;GAEG;AACH,qBAAa,cAAe,SAAQ,oBAAmC;IACrE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;AAEL;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAC5C,EAAE,EAAE,EAAE,KACH,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,CAAC,EAAE,SAAS,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KAC3D,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CACjB,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAEzB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,cAAc,EAAE,GAAG,CAAC;CACzD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;KAC/B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAE3B,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,GACxD,CAAC,GACD,KAAK;CACV,CAAC,MAAM,CAAC,CAAC,CAAC;AAiCX;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,EAAE,SAAS,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,QAAQ,CAAC,EAAE,CAAC,EACrF,MAAM,IAAI,CAAC,EAAE,CAAC,EACd,UAAU,CAAC,KACV,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAiBlD,CAAC"}
1
+ {"version":3,"file":"apply-plan.d.ts","sourceRoot":"","sources":["../../../src/workspace/apply-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAiB,SAAS,EAAE,eAAe,EAAE,IAAI,EAAkB,MAAM,WAAW,CAAC;AAMjG;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAC5C,EAAE,EAAE,EAAE,KACH,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,CAAC,EAAE,SAAS,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KAC3D,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CACjB,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAEzB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,GAAG,CAAC;CACnD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;KAC/B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAE3B,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,GAClD,CAAC,GACD,KAAK;CACV,CAAC,MAAM,CAAC,CAAC,CAAC;AAiCX;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,EAAE,SAAS,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,QAAQ,CAAC,EAAE,CAAC,EACrF,MAAM,IAAI,CAAC,EAAE,CAAC,EACd,UAAU,CAAC,KACV,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAiBL,CAAC"}
@@ -8,17 +8,8 @@
8
8
  * @experimental This API is unstable and may change without notice.
9
9
  */
10
10
  import * as Array from "effect/Array";
11
- import * as Data from "effect/Data";
12
11
  import * as Effect from "effect/Effect";
13
12
  // -----------------------------------------------------------------------------
14
- // Types
15
- // -----------------------------------------------------------------------------
16
- /**
17
- * Yielded by handlers for hard failures — applyPlan catches and converts to error result.
18
- */
19
- export class OperationError extends Data.TaggedError("OperationError") {
20
- }
21
- // -----------------------------------------------------------------------------
22
13
  // Implementation
23
14
  // -----------------------------------------------------------------------------
24
15
  const applyStep = (step, handlers) => {
@@ -34,14 +25,14 @@ const applyStep = (step, handlers) => {
34
25
  }
35
26
  // Cast needed: TS can't correlate dynamic name lookup with the Extract<Op, {name: K}> parameter
36
27
  const handler = handlers[step.operation.name];
37
- return handler(step.operation).pipe(Effect.map(promote), Effect.catchTag("OperationError", (error) => Effect.succeed(promote({ result: "error", message: error.message }))));
28
+ return handler(step.operation).pipe(Effect.map(promote), Effect.catchAll((error) => Effect.succeed(promote({ result: "error", message: error.what }))));
38
29
  };
39
30
  /**
40
31
  * Apply a plan by iterating jobs and dispatching steps expected to succeed to the executor registry.
41
32
  *
42
33
  * Uses `Effect.forEach` with each job's `concurrency` setting.
43
34
  * Only dispatches steps with `expectedResult.result === "success"` — others are promoted with expectedResult as actualResult.
44
- * Never fails — catches OperationError and converts to error results.
35
+ * Never fails — catches CliError and converts to error results.
45
36
  */
46
37
  export const applyPlan = (plan, handlers) => Effect.map(Effect.forEach(plan.jobs, (job) => Effect.forEach(job.steps, (step) => applyStep(step, handlers), {
47
38
  concurrency: job.concurrency,
@@ -51,5 +42,5 @@ export const applyPlan = (plan, handlers) => Effect.map(Effect.forEach(plan.jobs
51
42
  ...plan.jobs[i],
52
43
  steps,
53
44
  })),
54
- }));
45
+ })).pipe(Effect.withSpan("Workspace.applyPlan"));
55
46
  //# sourceMappingURL=apply-plan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-plan.js","sourceRoot":"","sources":["../../../src/workspace/apply-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAInE;CAAG;AAmCL,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,SAAS,GAAG,CAChB,IAAwB,EACxB,QAAW,EACmD,EAAE;IAChE,MAAM,OAAO,GAAG,CAAC,YAA6B,EAAqB,EAAE,CAAC,CAAC;QACrE,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,YAAY;QACZ,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,gGAAgG;IAChG,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAkB,CAEc,CAAC;IACzE,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CACjC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EACnB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAC9E,CACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,IAAc,EACd,QAAW,EAC0C,EAAE,CACvD,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,OAAO,CACZ,IAAI,CAAC,IAAI,EACT,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAA0B,EAAE,QAAQ,CAAC,EAAE;IACnF,WAAW,EAAE,GAAG,CAAC,WAAW;CAC7B,CAAC,EACJ,EAAE,WAAW,EAAE,CAAC,EAAE,CACnB,EACD,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACf,GAAG,IAAI;IACP,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE;QAChB,KAAK;KACN,CAAC,CAAC;CACJ,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"apply-plan.js","sourceRoot":"","sources":["../../../src/workspace/apply-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAyCxC,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,SAAS,GAAG,CAChB,IAAwB,EACxB,QAAW,EACmD,EAAE;IAChE,MAAM,OAAO,GAAG,CAAC,YAA6B,EAAqB,EAAE,CAAC,CAAC;QACrE,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,YAAY;QACZ,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,gGAAgG;IAChG,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAkB,CAEQ,CAAC;IACnE,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CACjC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EACnB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAC3E,CACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,IAAc,EACd,QAAW,EAC0C,EAAE,CACvD,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,OAAO,CACZ,IAAI,CAAC,IAAI,EACT,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAA0B,EAAE,QAAQ,CAAC,EAAE;IACnF,WAAW,EAAE,GAAG,CAAC,WAAW;CAC7B,CAAC,EACJ,EAAE,WAAW,EAAE,CAAC,EAAE,CACnB,EACD,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACf,GAAG,IAAI;IACP,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE;QAChB,KAAK;KACN,CAAC,CAAC;CACJ,CAAC,CACH,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC"}
@@ -11,18 +11,6 @@ import * as Effect from "effect/Effect";
11
11
  import { type AgentDescriptor } from "../agents/index.js";
12
12
  import { Confirm, Log } from "../tui/index.js";
13
13
  import { Workspace } from "./service.js";
14
- declare const EnsureAgentsError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
15
- readonly _tag: "EnsureAgentsError";
16
- } & Readonly<A>;
17
- /**
18
- * Error when no agents are configured or resolved.
19
- *
20
- * @experimental This API is unstable and may change without notice.
21
- */
22
- export declare class EnsureAgentsError extends EnsureAgentsError_base<{
23
- readonly message: string;
24
- }> {
25
- }
26
14
  /**
27
15
  * Options for ensureAgentsConfigured.
28
16
  *
@@ -49,10 +37,9 @@ export interface EnsureAgentsOptions {
49
37
  * 1. Reads agents from settings
50
38
  * 2. Resolves to AgentDescriptor[]
51
39
  *
52
- * Fails with EnsureAgentsError if no agents result.
40
+ * Fails with CliError (code AGENTS_NOT_CONFIGURED) if no agents result.
53
41
  *
54
42
  * @experimental This API is unstable and may change without notice.
55
43
  */
56
- export declare const ensureAgentsConfigured: (opts: EnsureAgentsOptions) => Effect.Effect<AgentDescriptor[], import("../settings/settings.js").SettingsError | EnsureAgentsError, Confirm | Log | Workspace>;
57
- export {};
44
+ export declare const ensureAgentsConfigured: (opts: EnsureAgentsOptions) => Effect.Effect<AgentDescriptor[], import("../cli-error/cli-error.js").CliError, Confirm | Log | Workspace>;
58
45
  //# sourceMappingURL=ensure-agents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-agents.d.ts","sourceRoot":"","sources":["../../../src/workspace/ensure-agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,eAAe,EAAgB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;;;;AAOzC;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,uBAAsC;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;CAAG;AAML;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,gCAAgC;IAChC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,mBAAmB,qIAkE5D,CAAC"}
1
+ {"version":3,"file":"ensure-agents.d.ts","sourceRoot":"","sources":["../../../src/workspace/ensure-agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,eAAe,EAAgB,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOzC;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,gCAAgC;IAChC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,mBAAmB,8GAoE5D,CAAC"}