opkg 0.9.2 → 0.9.4

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 (404) hide show
  1. package/.claude/agents/code-reviewer.md +171 -0
  2. package/.claude/commands/commit-push-pr.md +20 -0
  3. package/.claude/commands/{specs/read.md → read-specs.md} +1 -1
  4. package/.claude/commands/{specs/update.md → update-specs.md} +4 -0
  5. package/.claude/skills/code-review-excellence/SKILL.md +538 -0
  6. package/README.md +2 -2
  7. package/package.json +3 -1
  8. package/packages/cli/dist/add-IJAPFHIX.js +624 -0
  9. package/packages/cli/dist/add-IJAPFHIX.js.map +7 -0
  10. package/packages/cli/dist/add-LLUNFLJI.js +624 -0
  11. package/packages/cli/dist/add-LLUNFLJI.js.map +7 -0
  12. package/packages/cli/dist/add-U44SL3OR.js +624 -0
  13. package/packages/cli/dist/add-U44SL3OR.js.map +7 -0
  14. package/packages/cli/dist/chunk-23VBP5L6.js +371 -0
  15. package/packages/cli/dist/chunk-23VBP5L6.js.map +7 -0
  16. package/packages/cli/dist/chunk-2SVHLF5C.js +1419 -0
  17. package/packages/cli/dist/chunk-2SVHLF5C.js.map +7 -0
  18. package/packages/cli/dist/chunk-37256POU.js +99 -0
  19. package/packages/cli/dist/chunk-37256POU.js.map +7 -0
  20. package/packages/cli/dist/chunk-3PZRVA6O.js +196 -0
  21. package/packages/cli/dist/chunk-3PZRVA6O.js.map +7 -0
  22. package/packages/cli/dist/chunk-427DCURL.js +155 -0
  23. package/packages/cli/dist/chunk-427DCURL.js.map +7 -0
  24. package/packages/cli/dist/chunk-4B5HJLP2.js +48 -0
  25. package/packages/cli/dist/chunk-4B5HJLP2.js.map +7 -0
  26. package/packages/cli/dist/chunk-4OWT3YEG.js +413 -0
  27. package/packages/cli/dist/chunk-4OWT3YEG.js.map +7 -0
  28. package/packages/cli/dist/chunk-4RIBTBXI.js +568 -0
  29. package/packages/cli/dist/chunk-4RIBTBXI.js.map +7 -0
  30. package/packages/cli/dist/chunk-4X2EJHJN.js +63 -0
  31. package/packages/cli/dist/chunk-4X2EJHJN.js.map +7 -0
  32. package/packages/cli/dist/chunk-6CYW66HD.js +1136 -0
  33. package/packages/cli/dist/chunk-6CYW66HD.js.map +7 -0
  34. package/packages/cli/dist/chunk-6DITYAFA.js +172 -0
  35. package/packages/cli/dist/chunk-6DITYAFA.js.map +7 -0
  36. package/packages/cli/dist/chunk-7KEAKEVZ.js +568 -0
  37. package/packages/cli/dist/chunk-7KEAKEVZ.js.map +7 -0
  38. package/packages/cli/dist/chunk-ABFUD25D.js +61 -0
  39. package/packages/cli/dist/chunk-ABFUD25D.js.map +7 -0
  40. package/packages/cli/dist/chunk-AR7GJCG6.js +274 -0
  41. package/packages/cli/dist/chunk-AR7GJCG6.js.map +7 -0
  42. package/packages/cli/dist/chunk-AYTGQCXH.js +86 -0
  43. package/packages/cli/dist/chunk-AYTGQCXH.js.map +7 -0
  44. package/packages/cli/dist/chunk-BROJ6OUT.js +631 -0
  45. package/packages/cli/dist/chunk-BROJ6OUT.js.map +7 -0
  46. package/packages/cli/dist/chunk-BVVSU7QD.js +23 -0
  47. package/packages/cli/dist/chunk-BVVSU7QD.js.map +7 -0
  48. package/packages/cli/dist/chunk-C6FY55UP.js +108 -0
  49. package/packages/cli/dist/chunk-C6FY55UP.js.map +7 -0
  50. package/packages/cli/dist/chunk-CVA64SXK.js +1136 -0
  51. package/packages/cli/dist/chunk-CVA64SXK.js.map +7 -0
  52. package/packages/cli/dist/chunk-D3O7LY2Q.js +1151 -0
  53. package/packages/cli/dist/chunk-D3O7LY2Q.js.map +7 -0
  54. package/packages/cli/dist/chunk-D6LEPODL.js +413 -0
  55. package/packages/cli/dist/chunk-D6LEPODL.js.map +7 -0
  56. package/packages/cli/dist/chunk-DEC24S7E.js +186 -0
  57. package/packages/cli/dist/chunk-DEC24S7E.js.map +7 -0
  58. package/packages/cli/dist/chunk-FMVVJH5M.js +371 -0
  59. package/packages/cli/dist/chunk-FMVVJH5M.js.map +7 -0
  60. package/packages/cli/dist/chunk-GDVFS3YP.js +130 -0
  61. package/packages/cli/dist/chunk-GDVFS3YP.js.map +7 -0
  62. package/packages/cli/dist/chunk-GEP2G5HF.js +31 -0
  63. package/packages/cli/dist/chunk-GEP2G5HF.js.map +7 -0
  64. package/packages/cli/dist/chunk-GSWHZBT2.js +62 -0
  65. package/packages/cli/dist/chunk-GSWHZBT2.js.map +7 -0
  66. package/packages/cli/dist/chunk-HTYHJA3B.js +61 -0
  67. package/packages/cli/dist/chunk-HTYHJA3B.js.map +7 -0
  68. package/packages/cli/dist/chunk-HYKYECAE.js +222 -0
  69. package/packages/cli/dist/chunk-HYKYECAE.js.map +7 -0
  70. package/packages/cli/dist/chunk-I7FEAHB4.js +100 -0
  71. package/packages/cli/dist/chunk-I7FEAHB4.js.map +7 -0
  72. package/packages/cli/dist/chunk-IHVZ5AUJ.js +107 -0
  73. package/packages/cli/dist/chunk-IHVZ5AUJ.js.map +7 -0
  74. package/packages/cli/dist/chunk-KI7FDU3H.js +99 -0
  75. package/packages/cli/dist/chunk-KI7FDU3H.js.map +7 -0
  76. package/packages/cli/dist/chunk-L5GRJQBS.js +32 -0
  77. package/packages/cli/dist/chunk-L5GRJQBS.js.map +7 -0
  78. package/packages/cli/dist/chunk-LHEAUDJL.js +302 -0
  79. package/packages/cli/dist/chunk-LHEAUDJL.js.map +7 -0
  80. package/packages/cli/dist/chunk-MIURCESJ.js +48 -0
  81. package/packages/cli/dist/chunk-MIURCESJ.js.map +7 -0
  82. package/packages/cli/dist/chunk-N43IXOND.js +732 -0
  83. package/packages/cli/dist/chunk-N43IXOND.js.map +7 -0
  84. package/packages/cli/dist/chunk-OUZRMGPV.js +274 -0
  85. package/packages/cli/dist/chunk-OUZRMGPV.js.map +7 -0
  86. package/packages/cli/dist/chunk-PSQXKAL4.js +371 -0
  87. package/packages/cli/dist/chunk-PSQXKAL4.js.map +7 -0
  88. package/packages/cli/dist/chunk-PUDRKDVZ.js +1419 -0
  89. package/packages/cli/dist/chunk-PUDRKDVZ.js.map +7 -0
  90. package/packages/cli/dist/chunk-RAKMX654.js +631 -0
  91. package/packages/cli/dist/chunk-RAKMX654.js.map +7 -0
  92. package/packages/cli/dist/chunk-RSFLK2TP.js +195 -0
  93. package/packages/cli/dist/chunk-RSFLK2TP.js.map +7 -0
  94. package/packages/cli/dist/chunk-S26PR2BS.js +99 -0
  95. package/packages/cli/dist/chunk-S26PR2BS.js.map +7 -0
  96. package/packages/cli/dist/chunk-U7FW7SXX.js +568 -0
  97. package/packages/cli/dist/chunk-U7FW7SXX.js.map +7 -0
  98. package/packages/cli/dist/chunk-VKM6K5TN.js +413 -0
  99. package/packages/cli/dist/chunk-VKM6K5TN.js.map +7 -0
  100. package/packages/cli/dist/chunk-VKNJG4JN.js +253 -0
  101. package/packages/cli/dist/chunk-VKNJG4JN.js.map +7 -0
  102. package/packages/cli/dist/chunk-VQ2KY6CK.js +113 -0
  103. package/packages/cli/dist/chunk-VQ2KY6CK.js.map +7 -0
  104. package/packages/cli/dist/chunk-VQDTXLOX.js +1312 -0
  105. package/packages/cli/dist/chunk-VQDTXLOX.js.map +7 -0
  106. package/packages/cli/dist/chunk-VXNS3X5O.js +60 -0
  107. package/packages/cli/dist/chunk-VXNS3X5O.js.map +7 -0
  108. package/packages/cli/dist/chunk-WF7H2YDU.js +376 -0
  109. package/packages/cli/dist/chunk-WF7H2YDU.js.map +7 -0
  110. package/packages/cli/dist/chunk-WNRXZLWW.js +266 -0
  111. package/packages/cli/dist/chunk-WNRXZLWW.js.map +7 -0
  112. package/packages/cli/dist/chunk-WT4VVCXM.js +1121 -0
  113. package/packages/cli/dist/chunk-WT4VVCXM.js.map +7 -0
  114. package/packages/cli/dist/configure-3AZUMDJZ.js +107 -0
  115. package/packages/cli/dist/configure-3AZUMDJZ.js.map +7 -0
  116. package/packages/cli/dist/configure-D722JQOD.js +107 -0
  117. package/packages/cli/dist/configure-D722JQOD.js.map +7 -0
  118. package/packages/cli/dist/configure-IU5H7XD6.js +107 -0
  119. package/packages/cli/dist/configure-IU5H7XD6.js.map +7 -0
  120. package/packages/cli/dist/file-format-detector-PXCIAKTK.js +22 -0
  121. package/packages/cli/dist/file-format-detector-PXCIAKTK.js.map +7 -0
  122. package/packages/cli/dist/index.js +17 -17
  123. package/packages/cli/dist/install-EZNWMLJR.js +7581 -0
  124. package/packages/cli/dist/install-EZNWMLJR.js.map +7 -0
  125. package/packages/cli/dist/install-F5ANFUBX.js +7577 -0
  126. package/packages/cli/dist/install-F5ANFUBX.js.map +7 -0
  127. package/packages/cli/dist/install-JSXEPPC2.js +7104 -0
  128. package/packages/cli/dist/install-JSXEPPC2.js.map +7 -0
  129. package/packages/cli/dist/install-QHEBX7JH.js +7101 -0
  130. package/packages/cli/dist/install-QHEBX7JH.js.map +7 -0
  131. package/packages/cli/dist/list-DMOUATYI.js +327 -0
  132. package/packages/cli/dist/list-DMOUATYI.js.map +7 -0
  133. package/packages/cli/dist/list-UESSCB7Y.js +327 -0
  134. package/packages/cli/dist/list-UESSCB7Y.js.map +7 -0
  135. package/packages/cli/dist/list-XR7RSJFS.js +327 -0
  136. package/packages/cli/dist/list-XR7RSJFS.js.map +7 -0
  137. package/packages/cli/dist/login-EYZ2SOYZ.js +150 -0
  138. package/packages/cli/dist/login-EYZ2SOYZ.js.map +7 -0
  139. package/packages/cli/dist/login-JWCSTAEU.js +150 -0
  140. package/packages/cli/dist/login-JWCSTAEU.js.map +7 -0
  141. package/packages/cli/dist/login-NRKHXZKM.js +150 -0
  142. package/packages/cli/dist/login-NRKHXZKM.js.map +7 -0
  143. package/packages/cli/dist/logout-HDMYRXIE.js +40 -0
  144. package/packages/cli/dist/logout-HDMYRXIE.js.map +7 -0
  145. package/packages/cli/dist/logout-SYHXCVCQ.js +40 -0
  146. package/packages/cli/dist/logout-SYHXCVCQ.js.map +7 -0
  147. package/packages/cli/dist/logout-X3XUUOH5.js +40 -0
  148. package/packages/cli/dist/logout-X3XUUOH5.js.map +7 -0
  149. package/packages/cli/dist/new-3LTFKDTQ.js +277 -0
  150. package/packages/cli/dist/new-3LTFKDTQ.js.map +7 -0
  151. package/packages/cli/dist/new-F46OSD72.js +277 -0
  152. package/packages/cli/dist/new-F46OSD72.js.map +7 -0
  153. package/packages/cli/dist/new-OPCCLNL2.js +277 -0
  154. package/packages/cli/dist/new-OPCCLNL2.js.map +7 -0
  155. package/packages/cli/dist/package-marker-detector-T5O5YD2E.js +80 -0
  156. package/packages/cli/dist/package-marker-detector-T5O5YD2E.js.map +7 -0
  157. package/packages/cli/dist/package-yml-QWZIJDYU.js +16 -0
  158. package/packages/cli/dist/package-yml-QWZIJDYU.js.map +7 -0
  159. package/packages/cli/dist/plugin-naming-YP2I4NPA.js +29 -0
  160. package/packages/cli/dist/plugin-naming-YP2I4NPA.js.map +7 -0
  161. package/packages/cli/dist/publish-4H43PCSG.js +619 -0
  162. package/packages/cli/dist/publish-4H43PCSG.js.map +7 -0
  163. package/packages/cli/dist/publish-RULKLNUX.js +619 -0
  164. package/packages/cli/dist/publish-RULKLNUX.js.map +7 -0
  165. package/packages/cli/dist/publish-URWY2P3E.js +619 -0
  166. package/packages/cli/dist/publish-URWY2P3E.js.map +7 -0
  167. package/packages/cli/dist/remove-BD52BHR2.js +542 -0
  168. package/packages/cli/dist/remove-BD52BHR2.js.map +7 -0
  169. package/packages/cli/dist/remove-G5NRC7LD.js +542 -0
  170. package/packages/cli/dist/remove-G5NRC7LD.js.map +7 -0
  171. package/packages/cli/dist/remove-TC3FQUYQ.js +542 -0
  172. package/packages/cli/dist/remove-TC3FQUYQ.js.map +7 -0
  173. package/packages/cli/dist/resource-discoverer-4X4RY43E.js +17 -0
  174. package/packages/cli/dist/resource-discoverer-4X4RY43E.js.map +7 -0
  175. package/packages/cli/dist/save-24TESYKI.js +1728 -0
  176. package/packages/cli/dist/save-24TESYKI.js.map +7 -0
  177. package/packages/cli/dist/save-N3QWF2WN.js +1728 -0
  178. package/packages/cli/dist/save-N3QWF2WN.js.map +7 -0
  179. package/packages/cli/dist/save-P2U67DTV.js +1728 -0
  180. package/packages/cli/dist/save-P2U67DTV.js.map +7 -0
  181. package/packages/cli/dist/search-ABROK3UO.js +157 -0
  182. package/packages/cli/dist/search-ABROK3UO.js.map +7 -0
  183. package/packages/cli/dist/search-WVFXFNAV.js +157 -0
  184. package/packages/cli/dist/search-WVFXFNAV.js.map +7 -0
  185. package/packages/cli/dist/search-YQN2Q2SO.js +157 -0
  186. package/packages/cli/dist/search-YQN2Q2SO.js.map +7 -0
  187. package/packages/cli/dist/set-DCWF73F6.js +251 -0
  188. package/packages/cli/dist/set-DCWF73F6.js.map +7 -0
  189. package/packages/cli/dist/set-GJEG2F6Y.js +251 -0
  190. package/packages/cli/dist/set-GJEG2F6Y.js.map +7 -0
  191. package/packages/cli/dist/set-NGM2FIKF.js +251 -0
  192. package/packages/cli/dist/set-NGM2FIKF.js.map +7 -0
  193. package/packages/cli/dist/uninstall-3CJQMTYH.js +539 -0
  194. package/packages/cli/dist/uninstall-3CJQMTYH.js.map +7 -0
  195. package/packages/cli/dist/uninstall-Q3CP4UN5.js +539 -0
  196. package/packages/cli/dist/uninstall-Q3CP4UN5.js.map +7 -0
  197. package/packages/cli/dist/uninstall-QU5OMEEC.js +539 -0
  198. package/packages/cli/dist/uninstall-QU5OMEEC.js.map +7 -0
  199. package/packages/cli/dist/unpublish-GHJQYC4S.js +245 -0
  200. package/packages/cli/dist/unpublish-GHJQYC4S.js.map +7 -0
  201. package/packages/cli/dist/unpublish-L2CYMK4B.js +245 -0
  202. package/packages/cli/dist/unpublish-L2CYMK4B.js.map +7 -0
  203. package/packages/cli/dist/unpublish-VBTNTMS5.js +245 -0
  204. package/packages/cli/dist/unpublish-VBTNTMS5.js.map +7 -0
  205. package/packages/cli/dist/view-MXRBMXOG.js +488 -0
  206. package/packages/cli/dist/view-MXRBMXOG.js.map +7 -0
  207. package/packages/cli/dist/view-NMND7SAW.js +488 -0
  208. package/packages/cli/dist/view-NMND7SAW.js.map +7 -0
  209. package/packages/cli/dist/view-RPQRDSYB.js +488 -0
  210. package/packages/cli/dist/view-RPQRDSYB.js.map +7 -0
  211. package/packages/cli/package.json +2 -0
  212. package/packages/core/dist/constants/index.d.ts +9 -0
  213. package/packages/core/dist/constants/index.d.ts.map +1 -1
  214. package/packages/core/dist/constants/index.js +12 -0
  215. package/packages/core/dist/constants/index.js.map +1 -1
  216. package/packages/core/dist/core/dependency-resolver/index.d.ts +2 -10
  217. package/packages/core/dist/core/dependency-resolver/index.d.ts.map +1 -1
  218. package/packages/core/dist/core/dependency-resolver/index.js +3 -14
  219. package/packages/core/dist/core/dependency-resolver/index.js.map +1 -1
  220. package/packages/core/dist/core/install/base-detector.d.ts +2 -1
  221. package/packages/core/dist/core/install/base-detector.d.ts.map +1 -1
  222. package/packages/core/dist/core/install/base-detector.js +54 -1
  223. package/packages/core/dist/core/install/base-detector.js.map +1 -1
  224. package/packages/core/dist/core/install/conflicts/file-conflict-resolver.d.ts +7 -5
  225. package/packages/core/dist/core/install/conflicts/file-conflict-resolver.d.ts.map +1 -1
  226. package/packages/core/dist/core/install/conflicts/file-conflict-resolver.js +25 -9
  227. package/packages/core/dist/core/install/conflicts/file-conflict-resolver.js.map +1 -1
  228. package/packages/core/dist/core/install/flow-index-installer.d.ts +2 -1
  229. package/packages/core/dist/core/install/flow-index-installer.d.ts.map +1 -1
  230. package/packages/core/dist/core/install/flow-index-installer.js +19 -4
  231. package/packages/core/dist/core/install/flow-index-installer.js.map +1 -1
  232. package/packages/core/dist/core/install/input-classifier-base.js +3 -3
  233. package/packages/core/dist/core/install/input-classifier-base.js.map +1 -1
  234. package/packages/core/dist/core/install/install-reporting.d.ts.map +1 -1
  235. package/packages/core/dist/core/install/install-reporting.js +7 -9
  236. package/packages/core/dist/core/install/install-reporting.js.map +1 -1
  237. package/packages/core/dist/core/install/list-handler.d.ts.map +1 -1
  238. package/packages/core/dist/core/install/list-handler.js +3 -0
  239. package/packages/core/dist/core/install/list-handler.js.map +1 -1
  240. package/packages/core/dist/core/install/marketplace-handler.d.ts.map +1 -1
  241. package/packages/core/dist/core/install/marketplace-handler.js.map +1 -1
  242. package/packages/core/dist/core/install/operations/conflict-handler.d.ts +2 -1
  243. package/packages/core/dist/core/install/operations/conflict-handler.d.ts.map +1 -1
  244. package/packages/core/dist/core/install/operations/conflict-handler.js +2 -2
  245. package/packages/core/dist/core/install/operations/conflict-handler.js.map +1 -1
  246. package/packages/core/dist/core/install/operations/installation-executor.d.ts +3 -0
  247. package/packages/core/dist/core/install/operations/installation-executor.d.ts.map +1 -1
  248. package/packages/core/dist/core/install/operations/installation-executor.js +39 -22
  249. package/packages/core/dist/core/install/operations/installation-executor.js.map +1 -1
  250. package/packages/core/dist/core/install/orchestrator/orchestrator.d.ts +7 -3
  251. package/packages/core/dist/core/install/orchestrator/orchestrator.d.ts.map +1 -1
  252. package/packages/core/dist/core/install/orchestrator/orchestrator.js +193 -93
  253. package/packages/core/dist/core/install/orchestrator/orchestrator.js.map +1 -1
  254. package/packages/core/dist/core/install/orchestrator/strategies/git-strategy.d.ts +1 -0
  255. package/packages/core/dist/core/install/orchestrator/strategies/git-strategy.d.ts.map +1 -1
  256. package/packages/core/dist/core/install/orchestrator/strategies/git-strategy.js +11 -24
  257. package/packages/core/dist/core/install/orchestrator/strategies/git-strategy.js.map +1 -1
  258. package/packages/core/dist/core/install/orchestrator/strategies/path-strategy.d.ts +2 -0
  259. package/packages/core/dist/core/install/orchestrator/strategies/path-strategy.d.ts.map +1 -1
  260. package/packages/core/dist/core/install/orchestrator/strategies/path-strategy.js +14 -14
  261. package/packages/core/dist/core/install/orchestrator/strategies/path-strategy.js.map +1 -1
  262. package/packages/core/dist/core/install/orchestrator/strategies/registry-strategy.d.ts +7 -0
  263. package/packages/core/dist/core/install/orchestrator/strategies/registry-strategy.d.ts.map +1 -1
  264. package/packages/core/dist/core/install/orchestrator/strategies/registry-strategy.js +28 -0
  265. package/packages/core/dist/core/install/orchestrator/strategies/registry-strategy.js.map +1 -1
  266. package/packages/core/dist/core/install/orchestrator/types.d.ts +2 -0
  267. package/packages/core/dist/core/install/orchestrator/types.d.ts.map +1 -1
  268. package/packages/core/dist/core/install/path-package-loader.d.ts.map +1 -1
  269. package/packages/core/dist/core/install/path-package-loader.js +20 -1
  270. package/packages/core/dist/core/install/path-package-loader.js.map +1 -1
  271. package/packages/core/dist/core/install/platform-resolution.d.ts +3 -0
  272. package/packages/core/dist/core/install/platform-resolution.d.ts.map +1 -1
  273. package/packages/core/dist/core/install/platform-resolution.js +5 -2
  274. package/packages/core/dist/core/install/platform-resolution.js.map +1 -1
  275. package/packages/core/dist/core/install/preprocessing/context-population.d.ts +18 -0
  276. package/packages/core/dist/core/install/preprocessing/context-population.d.ts.map +1 -0
  277. package/packages/core/dist/core/install/preprocessing/context-population.js +36 -0
  278. package/packages/core/dist/core/install/preprocessing/context-population.js.map +1 -0
  279. package/packages/core/dist/core/install/preprocessing/convenience-preprocessor.d.ts +23 -0
  280. package/packages/core/dist/core/install/preprocessing/convenience-preprocessor.d.ts.map +1 -1
  281. package/packages/core/dist/core/install/preprocessing/convenience-preprocessor.js +44 -0
  282. package/packages/core/dist/core/install/preprocessing/convenience-preprocessor.js.map +1 -1
  283. package/packages/core/dist/core/install/sources/git-source.d.ts.map +1 -1
  284. package/packages/core/dist/core/install/sources/git-source.js +67 -4
  285. package/packages/core/dist/core/install/sources/git-source.js.map +1 -1
  286. package/packages/core/dist/core/install/sources/path-source.d.ts.map +1 -1
  287. package/packages/core/dist/core/install/sources/path-source.js +8 -0
  288. package/packages/core/dist/core/install/sources/path-source.js.map +1 -1
  289. package/packages/core/dist/core/install/strategies/flow-based-strategy.d.ts.map +1 -1
  290. package/packages/core/dist/core/install/strategies/flow-based-strategy.js +12 -5
  291. package/packages/core/dist/core/install/strategies/flow-based-strategy.js.map +1 -1
  292. package/packages/core/dist/core/install/strategies/types.d.ts +11 -1
  293. package/packages/core/dist/core/install/strategies/types.d.ts.map +1 -1
  294. package/packages/core/dist/core/install/unified/context-builders.d.ts +5 -0
  295. package/packages/core/dist/core/install/unified/context-builders.d.ts.map +1 -1
  296. package/packages/core/dist/core/install/unified/context-builders.js +12 -0
  297. package/packages/core/dist/core/install/unified/context-builders.js.map +1 -1
  298. package/packages/core/dist/core/install/unified/context-helpers.d.ts +0 -4
  299. package/packages/core/dist/core/install/unified/context-helpers.d.ts.map +1 -1
  300. package/packages/core/dist/core/install/unified/context-helpers.js +0 -24
  301. package/packages/core/dist/core/install/unified/context-helpers.js.map +1 -1
  302. package/packages/core/dist/core/install/unified/index.d.ts +1 -1
  303. package/packages/core/dist/core/install/unified/index.d.ts.map +1 -1
  304. package/packages/core/dist/core/install/unified/index.js +1 -1
  305. package/packages/core/dist/core/install/unified/index.js.map +1 -1
  306. package/packages/core/dist/core/install/unified/multi-context-pipeline.d.ts +6 -0
  307. package/packages/core/dist/core/install/unified/multi-context-pipeline.d.ts.map +1 -1
  308. package/packages/core/dist/core/install/unified/multi-context-pipeline.js +11 -4
  309. package/packages/core/dist/core/install/unified/multi-context-pipeline.js.map +1 -1
  310. package/packages/core/dist/core/install/unified/phases/conflicts.d.ts.map +1 -1
  311. package/packages/core/dist/core/install/unified/phases/conflicts.js +1 -1
  312. package/packages/core/dist/core/install/unified/phases/conflicts.js.map +1 -1
  313. package/packages/core/dist/core/install/unified/phases/execute.d.ts.map +1 -1
  314. package/packages/core/dist/core/install/unified/phases/execute.js +5 -5
  315. package/packages/core/dist/core/install/unified/phases/execute.js.map +1 -1
  316. package/packages/core/dist/core/install/unified/phases/load-package.js +3 -3
  317. package/packages/core/dist/core/install/unified/phases/load-package.js.map +1 -1
  318. package/packages/core/dist/core/install/unified/phases/report.js +1 -1
  319. package/packages/core/dist/core/install/unified/phases/report.js.map +1 -1
  320. package/packages/core/dist/core/install/unified/pipeline.d.ts.map +1 -1
  321. package/packages/core/dist/core/install/unified/pipeline.js +7 -10
  322. package/packages/core/dist/core/install/unified/pipeline.js.map +1 -1
  323. package/packages/core/dist/core/install/wave-resolver/content-root-cache.d.ts +24 -0
  324. package/packages/core/dist/core/install/wave-resolver/content-root-cache.d.ts.map +1 -0
  325. package/packages/core/dist/core/install/wave-resolver/content-root-cache.js +71 -0
  326. package/packages/core/dist/core/install/wave-resolver/content-root-cache.js.map +1 -0
  327. package/packages/core/dist/core/install/wave-resolver/context-builder.d.ts +39 -0
  328. package/packages/core/dist/core/install/wave-resolver/context-builder.d.ts.map +1 -0
  329. package/packages/core/dist/core/install/wave-resolver/context-builder.js +148 -0
  330. package/packages/core/dist/core/install/wave-resolver/context-builder.js.map +1 -0
  331. package/packages/core/dist/core/install/wave-resolver/fetcher.d.ts +49 -0
  332. package/packages/core/dist/core/install/wave-resolver/fetcher.d.ts.map +1 -0
  333. package/packages/core/dist/core/install/wave-resolver/fetcher.js +221 -0
  334. package/packages/core/dist/core/install/wave-resolver/fetcher.js.map +1 -0
  335. package/packages/core/dist/core/install/wave-resolver/index-updater.d.ts +23 -0
  336. package/packages/core/dist/core/install/wave-resolver/index-updater.d.ts.map +1 -0
  337. package/packages/core/dist/core/install/wave-resolver/index-updater.js +87 -0
  338. package/packages/core/dist/core/install/wave-resolver/index-updater.js.map +1 -0
  339. package/packages/core/dist/core/install/wave-resolver/index-write-collector.d.ts +101 -0
  340. package/packages/core/dist/core/install/wave-resolver/index-write-collector.d.ts.map +1 -0
  341. package/packages/core/dist/core/install/wave-resolver/index-write-collector.js +194 -0
  342. package/packages/core/dist/core/install/wave-resolver/index-write-collector.js.map +1 -0
  343. package/packages/core/dist/core/install/wave-resolver/index.d.ts +17 -0
  344. package/packages/core/dist/core/install/wave-resolver/index.d.ts.map +1 -0
  345. package/packages/core/dist/core/install/wave-resolver/index.js +16 -0
  346. package/packages/core/dist/core/install/wave-resolver/index.js.map +1 -0
  347. package/packages/core/dist/core/install/wave-resolver/manifest-reader.d.ts +34 -0
  348. package/packages/core/dist/core/install/wave-resolver/manifest-reader.d.ts.map +1 -0
  349. package/packages/core/dist/core/install/wave-resolver/manifest-reader.js +112 -0
  350. package/packages/core/dist/core/install/wave-resolver/manifest-reader.js.map +1 -0
  351. package/packages/core/dist/core/install/wave-resolver/types.d.ts +210 -0
  352. package/packages/core/dist/core/install/wave-resolver/types.d.ts.map +1 -0
  353. package/packages/core/dist/core/install/wave-resolver/types.js +6 -0
  354. package/packages/core/dist/core/install/wave-resolver/types.js.map +1 -0
  355. package/packages/core/dist/core/install/wave-resolver/version-solver.d.ts +65 -0
  356. package/packages/core/dist/core/install/wave-resolver/version-solver.d.ts.map +1 -0
  357. package/packages/core/dist/core/install/wave-resolver/version-solver.js +166 -0
  358. package/packages/core/dist/core/install/wave-resolver/version-solver.js.map +1 -0
  359. package/packages/core/dist/core/install/wave-resolver/wave-engine.d.ts +16 -0
  360. package/packages/core/dist/core/install/wave-resolver/wave-engine.d.ts.map +1 -0
  361. package/packages/core/dist/core/install/wave-resolver/wave-engine.js +337 -0
  362. package/packages/core/dist/core/install/wave-resolver/wave-engine.js.map +1 -0
  363. package/packages/core/dist/core/install/wave-resolver/wave-installer.d.ts +50 -0
  364. package/packages/core/dist/core/install/wave-resolver/wave-installer.d.ts.map +1 -0
  365. package/packages/core/dist/core/install/wave-resolver/wave-installer.js +246 -0
  366. package/packages/core/dist/core/install/wave-resolver/wave-installer.js.map +1 -0
  367. package/packages/core/dist/core/ports/buffered-output.d.ts +36 -0
  368. package/packages/core/dist/core/ports/buffered-output.d.ts.map +1 -0
  369. package/packages/core/dist/core/ports/buffered-output.js +89 -0
  370. package/packages/core/dist/core/ports/buffered-output.js.map +1 -0
  371. package/packages/core/dist/core/ports/resolve.d.ts +0 -13
  372. package/packages/core/dist/core/ports/resolve.d.ts.map +1 -1
  373. package/packages/core/dist/core/ports/resolve.js +0 -28
  374. package/packages/core/dist/core/ports/resolve.js.map +1 -1
  375. package/packages/core/dist/core/remove/removal-confirmation.d.ts +4 -1
  376. package/packages/core/dist/core/remove/removal-confirmation.d.ts.map +1 -1
  377. package/packages/core/dist/core/remove/removal-confirmation.js +5 -4
  378. package/packages/core/dist/core/remove/removal-confirmation.js.map +1 -1
  379. package/packages/core/dist/core/remove/remove-from-source-pipeline.d.ts.map +1 -1
  380. package/packages/core/dist/core/remove/remove-from-source-pipeline.js +1 -10
  381. package/packages/core/dist/core/remove/remove-from-source-pipeline.js.map +1 -1
  382. package/packages/core/dist/core/uninstall/uninstall-executor.js +1 -1
  383. package/packages/core/dist/core/uninstall/uninstall-executor.js.map +1 -1
  384. package/packages/core/dist/core/uninstall/uninstall-reporter.d.ts +2 -2
  385. package/packages/core/dist/core/uninstall/uninstall-reporter.d.ts.map +1 -1
  386. package/packages/core/dist/core/uninstall/uninstall-reporter.js +4 -4
  387. package/packages/core/dist/core/uninstall/uninstall-reporter.js.map +1 -1
  388. package/packages/core/dist/index.d.ts +1 -1
  389. package/packages/core/dist/index.d.ts.map +1 -1
  390. package/packages/core/dist/types/execution-context.d.ts +40 -10
  391. package/packages/core/dist/types/execution-context.d.ts.map +1 -1
  392. package/packages/core/dist/utils/concurrency-pool.d.ts +34 -0
  393. package/packages/core/dist/utils/concurrency-pool.d.ts.map +1 -0
  394. package/packages/core/dist/utils/concurrency-pool.js +58 -0
  395. package/packages/core/dist/utils/concurrency-pool.js.map +1 -0
  396. package/packages/core/dist/utils/plugin-naming.d.ts +11 -3
  397. package/packages/core/dist/utils/plugin-naming.d.ts.map +1 -1
  398. package/packages/core/dist/utils/plugin-naming.js +27 -7
  399. package/packages/core/dist/utils/plugin-naming.js.map +1 -1
  400. package/plans/wave-resolver.md +254 -0
  401. package/.claude/agents/essentials/code-simplifier.md +0 -52
  402. package/.claude/commands/essentials/cleanup.md +0 -1
  403. package/.claude/commands/essentials/review.md +0 -8
  404. package/.claude/commands/git/commit.md +0 -5
@@ -1,7 +1,7 @@
1
1
  import { relative, resolve } from 'path';
2
2
  import { promptBaseSelection, handleAmbiguityNonInteractive } from '../ambiguity-prompts.js';
3
3
  import { createInteractionPolicy, PromptTier } from '../../interaction-policy.js';
4
- import { resolveOutput, resolvePrompt, withRichOutput } from '../../ports/resolve.js';
4
+ import { resolveOutput, resolvePrompt } from '../../ports/resolve.js';
5
5
  import { parseMarketplace, promptPluginSelection, promptInstallMode, installMarketplacePlugins, validatePluginNames, resolvePluginContentRoots } from '../marketplace-handler.js';
6
6
  import { resolvePlatforms } from '../platform-resolution.js';
7
7
  import { classifyInput } from '../preprocessing/input-classifier.js';
@@ -9,8 +9,9 @@ import { assertTargetDirOutsideMetadata, validateResolutionFlags } from '../vali
9
9
  import { runUnifiedInstallPipeline } from '../unified/pipeline.js';
10
10
  import { runMultiContextPipeline } from '../unified/multi-context-pipeline.js';
11
11
  import { createAllStrategies } from './strategies/index.js';
12
- import { DependencyResolutionExecutor } from '../resolution/executor.js';
13
- import { getManifestPathAtContentRoot } from '../resolution/manifest-reader.js';
12
+ import { resolveWave, updateWorkspaceIndex } from '../wave-resolver/index.js';
13
+ import { installInWaves } from '../wave-resolver/wave-installer.js';
14
+ import { getManifestPathAtContentRoot } from '../wave-resolver/manifest-reader.js';
14
15
  import { handleListSelection } from '../list-handler.js';
15
16
  import { discoverResources } from '../resource-discoverer.js';
16
17
  import { promptResourceSelection } from '../resource-selection-menu.js';
@@ -58,7 +59,6 @@ export class InstallOrchestrator {
58
59
  force: options.force,
59
60
  });
60
61
  execContext.interactionPolicy = policy;
61
- const out = resolveOutput(execContext);
62
62
  // Step 2: Classify input (use sourceCwd for resolving input paths)
63
63
  const classification = await classifyInput(input, options, execContext);
64
64
  logger.info('Classified install input', {
@@ -75,7 +75,7 @@ export class InstallOrchestrator {
75
75
  // Step 5: Preprocess (load, detect base, check special handling)
76
76
  const preprocessResult = await strategy.preprocess(context, options, execContext);
77
77
  // Step 6: Route based on result
78
- return this.routeToHandler(preprocessResult, options, execContext, policy, out);
78
+ return this.routeToHandler(preprocessResult, options, execContext, policy);
79
79
  }
80
80
  /**
81
81
  * Select the appropriate strategy for the given classification.
@@ -91,16 +91,26 @@ export class InstallOrchestrator {
91
91
  /**
92
92
  * Route to appropriate handler based on preprocess result.
93
93
  */
94
- async routeToHandler(result, options, execContext, policy, out) {
94
+ async routeToHandler(result, options, execContext, policy) {
95
95
  const { context, specialHandling } = result;
96
+ // ── Commit output mode ───────────────────────────────────────────
97
+ // Determine whether this flow requires rich (clack) output based on
98
+ // the routing decision made during preprocessing. Once committed,
99
+ // all ports are locked for the lifetime of the command.
100
+ if (execContext.commitOutputMode) {
101
+ const needsRich = (specialHandling === 'marketplace' && !options.plugins?.length && policy.canPrompt(PromptTier.Required)) ||
102
+ (specialHandling === 'ambiguous' && policy.canPrompt(PromptTier.Required)) ||
103
+ (policy.mode === 'always' && options.interactive);
104
+ if (needsRich) {
105
+ execContext.commitOutputMode('rich');
106
+ }
107
+ }
108
+ const out = resolveOutput(execContext);
96
109
  switch (specialHandling) {
97
110
  case 'marketplace':
98
- // Marketplace flow uses prompts (plugin selection, install mode).
99
- // Upgrade to rich output so prompt rendering is visually consistent.
100
- return withRichOutput(execContext, () => this.handleMarketplace(result, options, execContext, policy, resolveOutput(execContext)));
111
+ return this.handleMarketplace(result, options, execContext, policy, out);
101
112
  case 'ambiguous':
102
- // Ambiguity resolution may prompt for base selection.
103
- return withRichOutput(execContext, () => this.handleAmbiguous(result, options, execContext, policy));
113
+ return this.handleAmbiguous(result, options, execContext, policy);
104
114
  case 'multi-resource':
105
115
  return this.handleMultiResource(result, options, execContext, policy);
106
116
  default: {
@@ -116,20 +126,36 @@ export class InstallOrchestrator {
116
126
  // Normal pipeline flow: resolve platforms once if not set
117
127
  if (context.platforms.length === 0) {
118
128
  // Platform resolution may prompt if no platforms are auto-detected.
119
- context.platforms = await withRichOutput(execContext, () => resolvePlatforms(context.targetDir, options.platforms, { interactive: policy.canPrompt(PromptTier.Required), output: resolveOutput(execContext), prompt: resolvePrompt(execContext) }));
129
+ context.platforms = await resolvePlatforms(context.targetDir, options.platforms, { interactive: policy.canPrompt(PromptTier.Required), output: resolveOutput(execContext), prompt: resolvePrompt(execContext) });
130
+ }
131
+ // When _skipDependencyInstall is set, we are being called from the wave
132
+ // resolver loop. Just run the pipeline for this single package -- do not
133
+ // recurse into dependency installation again.
134
+ if (options._skipDependencyInstall) {
135
+ return runUnifiedInstallPipeline(context);
120
136
  }
121
137
  // For path/git sources with manifests, install root first (updates manifest),
122
- // then run executor for dependencies only (with skipManifestUpdate)
138
+ // then run wave resolver for dependencies only (with skipManifestUpdate)
123
139
  const isPathOrGit = context.source.type === 'path' || context.source.type === 'git';
124
140
  const contentRoot = context.source.contentRoot;
125
141
  const rootManifestPath = isPathOrGit && contentRoot ? await getManifestPathAtContentRoot(contentRoot) : null;
126
142
  if (rootManifestPath) {
127
143
  // Install root package first (this updates the workspace manifest)
128
144
  const rootResult = await runUnifiedInstallPipeline(context);
129
- // Then install dependencies via executor (skipManifestUpdate for deps)
145
+ // Then install dependencies via wave resolver (skipManifestUpdate for deps)
130
146
  return this.installDependenciesOnly(rootManifestPath, rootResult, context, options, execContext);
131
147
  }
132
- return runUnifiedInstallPipeline(context);
148
+ // Run unified pipeline (handles load, resolve metadata, convert, conflicts, execute, manifest)
149
+ const pipelineResult = await runUnifiedInstallPipeline(context);
150
+ // After installing a registry package, check if it has a manifest with
151
+ // dependencies that need recursive installation.
152
+ if (context.source.type === 'registry' && context.source.contentRoot) {
153
+ const pkgManifestPath = await getManifestPathAtContentRoot(context.source.contentRoot);
154
+ if (pkgManifestPath) {
155
+ return this.installDependenciesOnly(pkgManifestPath, pipelineResult, context, options, execContext);
156
+ }
157
+ }
158
+ return pipelineResult;
133
159
  }
134
160
  }
135
161
  }
@@ -186,51 +212,73 @@ export class InstallOrchestrator {
186
212
  }
187
213
  /**
188
214
  * Install dependencies only (after root package is already installed).
189
- * The root package is installed separately via unified pipeline to ensure manifest is updated.
215
+ * Uses the wave-based BFS resolver to discover the dependency graph, then
216
+ * routes each dependency through this.execute() so every source type gets
217
+ * full strategy preprocessing (base detection, marketplace handling, etc.).
190
218
  */
191
219
  async installDependenciesOnly(rootManifestPath, rootResult, context, options, execContext) {
192
220
  const policy = execContext.interactionPolicy;
193
- const platforms = context.platforms.length > 0
194
- ? context.platforms
195
- : await withRichOutput(execContext, () => resolvePlatforms(context.targetDir, options.platforms, { interactive: policy?.canPrompt(PromptTier.Required) ?? false, output: resolveOutput(execContext), prompt: resolvePrompt(execContext) }));
196
221
  const skipCache = options.resolutionMode === 'remote-primary';
197
- const executor = new DependencyResolutionExecutor(execContext, {
198
- graphOptions: {
199
- workspaceRoot: execContext.targetDir,
200
- rootManifestPath,
201
- includeRoot: false, // Root already installed, just deps
202
- includeDev: true,
203
- maxDepth: 10,
204
- skipCache
205
- },
206
- loaderOptions: {
207
- parallel: true,
208
- cacheEnabled: !skipCache,
209
- installOptions: { ...options, skipManifestUpdate: true }
210
- },
211
- plannerOptions: {
212
- platforms,
213
- installOptions: { ...options, skipManifestUpdate: true },
214
- force: options.force ?? false
215
- },
216
- dryRun: options.dryRun ?? false,
217
- failFast: false
218
- });
219
- const execResult = await executor.execute();
222
+ // Build wave resolver options
223
+ const waveOptions = {
224
+ workspaceRoot: execContext.targetDir,
225
+ rootManifestPath,
226
+ includeRoot: false, // Root already installed, just deps
227
+ includeDev: true,
228
+ force: options.force ?? false,
229
+ skipCache,
230
+ resolutionMode: options.resolutionMode ?? 'default',
231
+ profile: options.profile,
232
+ apiKey: options.apiKey
233
+ };
234
+ // Set up interactive conflict handler if prompting is available
235
+ if (!options.force && policy?.canPrompt(PromptTier.ConflictResolution)) {
236
+ const p = execContext.prompt ?? resolvePrompt(execContext);
237
+ waveOptions.onConflict = async (conflict, versions) => {
238
+ const choices = versions.map(v => ({ title: v, value: v }));
239
+ const rangesStr = conflict.ranges.join(', ');
240
+ return p.select(`Select version of '${conflict.packageName}' (requested ranges: ${rangesStr}):`, choices, 'Use arrow keys to navigate, Enter to select');
241
+ };
242
+ }
243
+ // Resolve dependency graph via wave BFS
244
+ const waveResult = await resolveWave(waveOptions);
245
+ // Check for unresolved conflicts
246
+ if (waveResult.versionSolution.conflicts.length > 0 && !options.force) {
247
+ const conflictNames = waveResult.versionSolution.conflicts.map(c => c.packageName).join(', ');
248
+ return {
249
+ success: false,
250
+ error: `Version conflicts detected for: ${conflictNames}`,
251
+ data: { packageName: context.source.packageName, installed: 0, skipped: 0 },
252
+ warnings: waveResult.graph.warnings
253
+ };
254
+ }
255
+ // Install dependencies in parallel waves.
256
+ // This ensures every source type (git, path, registry) gets full strategy
257
+ // preprocessing -- base detection, marketplace handling, plugin transformation, etc.
258
+ const waveInstallResult = await installInWaves(this, waveResult, options, execContext);
259
+ // Update workspace index with dependency information
260
+ await updateWorkspaceIndex(execContext.targetDir, waveResult.graph);
220
261
  // Combine root result with dependency results
221
262
  const rootInstalled = rootResult.data?.installed ?? 0;
222
- const depInstalled = execResult.summary?.installed ?? 0;
223
- const depSkipped = (execResult.summary?.skipped ?? 0) + (execResult.summary?.failed ?? 0);
263
+ if (waveInstallResult.failed > 0) {
264
+ const out = resolveOutput(execContext);
265
+ const failedItems = waveInstallResult.results.filter(r => !r.success);
266
+ const failedLines = failedItems.map(r => {
267
+ const reason = r.error ?? 'unknown error';
268
+ return ` ${r.id}: ${reason}`;
269
+ });
270
+ out.warn(`${waveInstallResult.failed} dependencies failed to install:\n${failedLines.join('\n')}`);
271
+ }
224
272
  return {
225
- success: rootResult.success && execResult.success,
273
+ success: rootResult.success && waveInstallResult.failed === 0,
226
274
  data: {
227
275
  packageName: context.source.packageName,
228
- installed: rootInstalled + depInstalled,
229
- skipped: depSkipped,
230
- results: execResult.results
276
+ installed: rootInstalled + waveInstallResult.installed,
277
+ skipped: waveInstallResult.skipped,
278
+ results: waveInstallResult.results
231
279
  },
232
- error: execResult.error ?? rootResult.error,
233
- warnings: execResult.warnings ?? rootResult.warnings
280
+ error: waveInstallResult.failed > 0 ? `${waveInstallResult.failed} dependencies failed to install` : rootResult.error,
281
+ warnings: waveResult.graph.warnings.length > 0 ? waveResult.graph.warnings : rootResult.warnings
234
282
  };
235
283
  }
236
284
  /**
@@ -271,7 +319,6 @@ export class InstallOrchestrator {
271
319
  out.info('No valid plugins specified. Installation cancelled.');
272
320
  return { success: true, data: { installed: 0, skipped: 0 } };
273
321
  }
274
- out.info(`Marketplace: ${marketplace.name}`);
275
322
  out.message(`Installing ${valid.length} plugin${valid.length === 1 ? '' : 's'}: ${valid.join(', ')}`);
276
323
  // Install each plugin in full mode (non-interactive)
277
324
  const results = [];
@@ -295,13 +342,13 @@ export class InstallOrchestrator {
295
342
  // Interactive: prompt user for single plugin selection
296
343
  selectedPlugin = await promptPluginSelection(marketplace, execContext);
297
344
  if (!selectedPlugin) {
298
- out.warn('No plugin selected. Installation cancelled.');
345
+ // Cancel already shown by clack.cancel() in prompt adapter; skip redundant warn to avoid orphan "│"
299
346
  return { success: true, data: { installed: 0, skipped: 0 } };
300
347
  }
301
348
  // Prompt for install mode
302
349
  const mode = await promptInstallMode(selectedPlugin, execContext);
303
350
  if (!mode) {
304
- out.warn('Installation cancelled.');
351
+ // Cancel already shown by clack.cancel() in prompt adapter; skip redundant warn
305
352
  return { success: true, data: { installed: 0, skipped: 0 } };
306
353
  }
307
354
  installMode = mode;
@@ -507,7 +554,7 @@ export class InstallOrchestrator {
507
554
  }
508
555
  /**
509
556
  * Handle multi-resource installation (bulk install or convenience filters).
510
- * For bulk install (opkg i), uses DependencyResolutionExecutor for recursive dependency resolution.
557
+ * For bulk install (opkg i), uses wave-based BFS resolver for recursive dependency resolution.
511
558
  */
512
559
  async handleMultiResource(result, options, execContext, policy) {
513
560
  const out = resolveOutput(execContext);
@@ -516,7 +563,7 @@ export class InstallOrchestrator {
516
563
  const needsPlatforms = dependencyContexts.some((ctx) => ctx.platforms.length === 0) ||
517
564
  (workspaceContext?.platforms.length === 0);
518
565
  if (needsPlatforms) {
519
- const resolvedPlatforms = await withRichOutput(execContext, () => resolvePlatforms(context.targetDir, options.platforms, { interactive: policy.canPrompt(PromptTier.Required), output: resolveOutput(execContext), prompt: resolvePrompt(execContext) }));
566
+ const resolvedPlatforms = await resolvePlatforms(context.targetDir, options.platforms, { interactive: policy.canPrompt(PromptTier.Required), output: resolveOutput(execContext), prompt: resolvePrompt(execContext) });
520
567
  for (const ctx of dependencyContexts) {
521
568
  if (ctx.platforms.length === 0)
522
569
  ctx.platforms = resolvedPlatforms;
@@ -593,7 +640,9 @@ export class InstallOrchestrator {
593
640
  return this.runBulkInstall(dependencyContexts, context.source.packageName);
594
641
  }
595
642
  /**
596
- * Run bulk install using recursive dependency resolution (graph + pipeline per package).
643
+ * Run bulk install using wave-based BFS dependency resolution.
644
+ * Resolves the full dependency graph from workspace manifest, then installs
645
+ * each package through this.execute() for full strategy preprocessing.
597
646
  */
598
647
  async runRecursiveBulkInstall(options, execContext, workspaceContext) {
599
648
  const out = resolveOutput(execContext);
@@ -605,46 +654,60 @@ export class InstallOrchestrator {
605
654
  logger.warn('Workspace root install failed', { error });
606
655
  }
607
656
  }
608
- // Reuse platforms from workspace context when available (avoid duplicate prompt)
609
- const policy = execContext.interactionPolicy;
610
- let platforms = workspaceContext?.platforms?.length
611
- ? workspaceContext.platforms
612
- : await withRichOutput(execContext, () => resolvePlatforms(execContext.targetDir, options.platforms, { interactive: policy?.canPrompt(PromptTier.Required) ?? false, output: resolveOutput(execContext), prompt: resolvePrompt(execContext) }));
613
657
  const skipCache = options.resolutionMode === 'remote-primary';
614
- const executor = new DependencyResolutionExecutor(execContext, {
615
- graphOptions: {
616
- workspaceRoot: execContext.targetDir,
617
- includeDev: true,
618
- maxDepth: 10,
619
- skipCache
620
- },
621
- loaderOptions: {
622
- parallel: true,
623
- cacheEnabled: !skipCache,
624
- // Recursive dependency installs should not modify workspace openpackage.yml
625
- installOptions: { ...options, skipManifestUpdate: true }
626
- },
627
- plannerOptions: {
628
- platforms,
629
- // Recursive dependency installs should not modify workspace openpackage.yml
630
- installOptions: { ...options, skipManifestUpdate: true },
631
- force: options.force ?? false
632
- },
633
- dryRun: options.dryRun ?? false,
634
- failFast: false
635
- });
636
- const execResult = await executor.execute();
637
- const summary = execResult.summary;
638
- if (summary) {
639
- out.success(`Installation complete: ${summary.installed} installed${summary.failed > 0 ? `, ${summary.failed} failed` : ''}${summary.skipped > 0 ? `, ${summary.skipped} skipped` : ''}`);
658
+ // Build wave resolver options
659
+ const waveOptions = {
660
+ workspaceRoot: execContext.targetDir,
661
+ includeDev: true,
662
+ force: options.force ?? false,
663
+ skipCache,
664
+ resolutionMode: options.resolutionMode ?? 'default',
665
+ profile: options.profile,
666
+ apiKey: options.apiKey
667
+ };
668
+ // Set up interactive conflict handler if prompting is available
669
+ const policy = execContext.interactionPolicy;
670
+ if (!options.force && policy?.canPrompt(PromptTier.ConflictResolution)) {
671
+ const p = execContext.prompt ?? resolvePrompt(execContext);
672
+ waveOptions.onConflict = async (conflict, versions) => {
673
+ const choices = versions.map(v => ({ title: v, value: v }));
674
+ const rangesStr = conflict.ranges.join(', ');
675
+ return p.select(`Select version of '${conflict.packageName}' (requested ranges: ${rangesStr}):`, choices, 'Use arrow keys to navigate, Enter to select');
676
+ };
677
+ }
678
+ // Resolve dependency graph via wave BFS
679
+ const waveResult = await resolveWave(waveOptions);
680
+ // Check for unresolved conflicts
681
+ if (waveResult.versionSolution.conflicts.length > 0 && !options.force) {
682
+ for (const conflict of waveResult.versionSolution.conflicts) {
683
+ const ranges = conflict.ranges.join(', ');
684
+ const requesters = conflict.requestedBy.join(', ');
685
+ logger.error(`Version conflict for ${conflict.packageName}: ranges [${ranges}] requested by [${requesters}]`);
686
+ }
687
+ return {
688
+ success: false,
689
+ error: `Version conflicts detected for: ${waveResult.versionSolution.conflicts.map(c => c.packageName).join(', ')}`,
690
+ data: { installed: 0, skipped: 0 },
691
+ warnings: waveResult.graph.warnings
692
+ };
693
+ }
694
+ // Install packages in parallel waves
695
+ const waveInstallResult = await installInWaves(this, waveResult, options, execContext);
696
+ const { installed, failed, skipped, results } = waveInstallResult;
697
+ if (failed > 0) {
698
+ const failedItems = results.filter((r) => !r.success);
699
+ const failedLines = failedItems.map((r) => {
700
+ const reason = r.error ?? 'unknown error';
701
+ return ` ${r.id}: ${reason}`;
702
+ });
703
+ out.warn(`${failed} packages failed to install:\n${failedLines.join('\n')}`);
640
704
  }
705
+ out.success(`Installation complete: ${installed} installed${failed > 0 ? `, ${failed} failed` : ''}${skipped > 0 ? `, ${skipped} skipped` : ''}`);
641
706
  return {
642
- success: execResult.success,
643
- data: summary
644
- ? { installed: summary.installed, skipped: summary.failed + summary.skipped, results: execResult.results }
645
- : { installed: 0, skipped: 0 },
646
- error: execResult.error,
647
- warnings: execResult.warnings
707
+ success: failed === 0,
708
+ data: { installed, skipped: failed + skipped, results },
709
+ error: failed > 0 ? `${failed} packages failed to install` : undefined,
710
+ warnings: waveResult.graph.warnings
648
711
  };
649
712
  }
650
713
  /**
@@ -670,6 +733,43 @@ export class InstallOrchestrator {
670
733
  };
671
734
  }
672
735
  }
736
+ /**
737
+ * Reconstruct an install input string from a WaveNode's declaration.
738
+ * This produces the same format that classifyInput() expects:
739
+ * - Git deps: the declaration name (e.g. 'gh@owner/repo/path/to/resource')
740
+ * - Path deps: the absolute filesystem path
741
+ * - Registry deps: 'name@version' or just 'name'
742
+ */
743
+ function nodeToInstallInput(node) {
744
+ const decl = node.declarations[0];
745
+ if (!decl)
746
+ return null;
747
+ if (node.sourceType === 'git') {
748
+ // Git deps: the declaration name is already in gh@owner/repo/path form.
749
+ // If not (e.g. bare URL deps), reconstruct from url + path.
750
+ if (decl.name && decl.name.startsWith('gh@')) {
751
+ return decl.name;
752
+ }
753
+ // Fallback: reconstruct from url
754
+ if (decl.url) {
755
+ let input = decl.url;
756
+ if (decl.ref)
757
+ input += `#${decl.ref}`;
758
+ return input;
759
+ }
760
+ return decl.name || null;
761
+ }
762
+ if (node.sourceType === 'path') {
763
+ // Path deps: use the absolute path from the resolved source
764
+ return node.source.absolutePath ?? node.source.contentRoot ?? decl.path ?? null;
765
+ }
766
+ // Registry deps: name with optional version
767
+ const name = decl.name;
768
+ if (!name)
769
+ return null;
770
+ const version = node.resolvedVersion ?? decl.version;
771
+ return version && version !== '*' ? `${name}@${version}` : name;
772
+ }
673
773
  /**
674
774
  * Create a configured orchestrator with all strategies registered.
675
775
  */
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../src/core/install/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../src/core/install/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class GitInstallStrategy extends BaseInstallStrategy {
9
9
  preprocess(context: InstallationContext, options: NormalizedInstallOptions, execContext: ExecutionContext): Promise<PreprocessResult>;
10
10
  /**
11
11
  * Handle convenience filter options.
12
+ * Uses context.detectedBase (from applyBaseDetection) when available.
12
13
  */
13
14
  private handleConvenienceFilters;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"git-strategy.d.ts","sourceRoot":"","sources":["../../../../../src/core/install/orchestrator/strategies/git-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,0BAA0B,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAShD,qBAAa,kBAAmB,SAAQ,mBAAmB;IACzD,QAAQ,CAAC,IAAI,SAAS;IAEtB,SAAS,CAAC,cAAc,EAAE,mBAAmB,GAAG,OAAO;IAIjD,YAAY,CAChB,cAAc,EAAE,mBAAmB,EACnC,OAAO,EAAE,wBAAwB,EACjC,WAAW,EAAE,gBAAgB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IA0BzB,UAAU,CACd,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,wBAAwB,EACjC,WAAW,EAAE,gBAAgB,GAC5B,OAAO,CAAC,gBAAgB,CAAC;IAmE5B;;OAEG;YACW,wBAAwB;CAmBvC"}
1
+ {"version":3,"file":"git-strategy.d.ts","sourceRoot":"","sources":["../../../../../src/core/install/orchestrator/strategies/git-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,0BAA0B,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAShD,qBAAa,kBAAmB,SAAQ,mBAAmB;IACzD,QAAQ,CAAC,IAAI,SAAS;IAEtB,SAAS,CAAC,cAAc,EAAE,mBAAmB,GAAG,OAAO;IAIjD,YAAY,CAChB,cAAc,EAAE,mBAAmB,EACnC,OAAO,EAAE,wBAAwB,EACjC,WAAW,EAAE,gBAAgB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IA0BzB,UAAU,CACd,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,wBAAwB,EACjC,WAAW,EAAE,gBAAgB,GAC5B,OAAO,CAAC,gBAAgB,CAAC;IAqD5B;;;OAGG;YACW,wBAAwB;CAgBvC"}
@@ -1,9 +1,9 @@
1
1
  import { BaseInstallStrategy } from './base.js';
2
2
  import { getLoaderForSource } from '../../sources/loader-factory.js';
3
- import { buildResourceInstallContexts } from '../../unified/context-builders.js';
3
+ import { createResolvedPackageFromLoaded } from '../../preprocessing/context-population.js';
4
4
  import { normalizePlatforms } from '../../../platform/platform-mapper.js';
5
5
  import { applyBaseDetection, computePathScoping } from '../../preprocessing/base-resolver.js';
6
- import { resolveConvenienceResources } from '../../preprocessing/convenience-preprocessor.js';
6
+ import { runConvenienceFilterInstall } from '../../preprocessing/convenience-preprocessor.js';
7
7
  import { resolveOutput } from '../../../ports/resolve.js';
8
8
  export class GitInstallStrategy extends BaseInstallStrategy {
9
9
  constructor() {
@@ -67,24 +67,10 @@ export class GitInstallStrategy extends BaseInstallStrategy {
67
67
  await computePathScoping(context, loaded, resourcePath);
68
68
  }
69
69
  // Populate root resolved package so the pipeline can skip re-loading.
70
- // (The unified load phase is the only other place that populates ctx.resolvedPackages.)
71
- context.resolvedPackages = [
72
- {
73
- name: context.source.packageName,
74
- version: context.source.version || loaded.version,
75
- pkg: {
76
- metadata: loaded.metadata,
77
- files: [],
78
- _format: loaded.metadata?._format || context.source.pluginMetadata?.format
79
- },
80
- isRoot: true,
81
- source: 'git',
82
- contentRoot: context.source.contentRoot || loaded.contentRoot
83
- }
84
- ];
85
- // Apply convenience filters (--agents, --skills)
70
+ context.resolvedPackages = [createResolvedPackageFromLoaded(loaded, context)];
71
+ // Apply convenience filters (--agents, --skills, etc.)
86
72
  if (options.agents?.length || options.skills?.length || options.rules?.length || options.commands?.length) {
87
- return this.handleConvenienceFilters(context, loaded, options, execContext);
73
+ return this.handleConvenienceFilters(context, loaded, options);
88
74
  }
89
75
  // Warn about unused --plugins flag
90
76
  if (options.plugins?.length && !options.agents && !options.skills) {
@@ -95,17 +81,18 @@ export class GitInstallStrategy extends BaseInstallStrategy {
95
81
  }
96
82
  /**
97
83
  * Handle convenience filter options.
84
+ * Uses context.detectedBase (from applyBaseDetection) when available.
98
85
  */
99
- async handleConvenienceFilters(context, loaded, options, execContext) {
100
- const basePath = context.detectedBase || loaded.contentRoot || execContext.targetDir;
101
- const repoRoot = loaded.sourceMetadata?.repoPath || loaded.contentRoot || basePath;
102
- const resources = await resolveConvenienceResources(basePath, repoRoot, {
86
+ async handleConvenienceFilters(context, loaded, options) {
87
+ const convenienceOptions = {
103
88
  agents: options.agents,
104
89
  skills: options.skills,
105
90
  rules: options.rules,
106
91
  commands: options.commands
92
+ };
93
+ const resourceContexts = await runConvenienceFilterInstall(context, loaded, convenienceOptions, {
94
+ useDetectedBase: true
107
95
  });
108
- const resourceContexts = buildResourceInstallContexts(context, resources, repoRoot);
109
96
  return this.createMultiResourceResult(context, resourceContexts);
110
97
  }
111
98
  }