agents-inc 0.152.0 → 0.153.0

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 (440) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +44 -48
  3. package/dist/{chunk-LDP5ASDM.js → chunk-2HC2SNRP.js} +2 -15
  4. package/dist/chunk-2HC2SNRP.js.map +1 -0
  5. package/dist/{chunk-WKTHWQKM.js → chunk-35VOK7XE.js} +1338 -2573
  6. package/dist/chunk-35VOK7XE.js.map +1 -0
  7. package/dist/{chunk-SX5H6TSC.js → chunk-4VYALFQZ.js} +11 -8
  8. package/dist/chunk-4VYALFQZ.js.map +1 -0
  9. package/dist/{chunk-KXYVJGJP.js → chunk-6CNRMCFM.js} +3 -2
  10. package/dist/{chunk-KXYVJGJP.js.map → chunk-6CNRMCFM.js.map} +1 -1
  11. package/dist/{chunk-LZ52XEPR.js → chunk-ACKC577F.js} +7 -6
  12. package/dist/chunk-ACKC577F.js.map +1 -0
  13. package/dist/{chunk-XHUODHZ4.js → chunk-BMGBA6HJ.js} +22 -49
  14. package/dist/chunk-BMGBA6HJ.js.map +1 -0
  15. package/dist/{chunk-FVDKAVOL.js → chunk-EFU6P3B7.js} +18 -51
  16. package/dist/chunk-EFU6P3B7.js.map +1 -0
  17. package/dist/{chunk-STMHDOZD.js → chunk-F7Z5I6GU.js} +12 -9
  18. package/dist/chunk-F7Z5I6GU.js.map +1 -0
  19. package/dist/{chunk-E5X6RJ4E.js → chunk-FIHTAFST.js} +29 -26
  20. package/dist/chunk-FIHTAFST.js.map +1 -0
  21. package/dist/{chunk-QZZJFYUQ.js → chunk-FRWKCE6R.js} +3 -3
  22. package/dist/chunk-FRWKCE6R.js.map +1 -0
  23. package/dist/{chunk-5UWKOOIS.js → chunk-HEBPKK5L.js} +129 -195
  24. package/dist/chunk-HEBPKK5L.js.map +1 -0
  25. package/dist/{chunk-MJ2KHG24.js → chunk-IO4VEW5U.js} +6 -6
  26. package/dist/{chunk-MJ2KHG24.js.map → chunk-IO4VEW5U.js.map} +1 -1
  27. package/dist/{chunk-TUPYW2IQ.js → chunk-JC7DBPRD.js} +9 -12
  28. package/dist/chunk-JC7DBPRD.js.map +1 -0
  29. package/dist/{chunk-5GUOIJSG.js → chunk-JFAUQDZM.js} +3 -15
  30. package/dist/chunk-JFAUQDZM.js.map +1 -0
  31. package/dist/{chunk-ZL7PFNHN.js → chunk-K3O3YQYG.js} +2 -2
  32. package/dist/{chunk-SKQWRUPX.js → chunk-K7PJDWER.js} +59 -33
  33. package/dist/chunk-K7PJDWER.js.map +1 -0
  34. package/dist/{chunk-MVR3SYMN.js → chunk-KET3EVGX.js} +4 -3
  35. package/dist/{chunk-MVR3SYMN.js.map → chunk-KET3EVGX.js.map} +1 -1
  36. package/dist/{chunk-MWG4VU64.js → chunk-M5HSTNYU.js} +50 -56
  37. package/dist/chunk-M5HSTNYU.js.map +1 -0
  38. package/dist/{chunk-TJJPWUMA.js → chunk-NSJ2S7R5.js} +3 -2
  39. package/dist/{chunk-TJJPWUMA.js.map → chunk-NSJ2S7R5.js.map} +1 -1
  40. package/dist/{chunk-IHUY4M22.js → chunk-NXGMM5YN.js} +4 -4
  41. package/dist/chunk-NXQAY5U7.js +18441 -0
  42. package/dist/chunk-NXQAY5U7.js.map +1 -0
  43. package/dist/{chunk-Q2KG7UV3.js → chunk-OJJLYHM3.js} +2 -1
  44. package/dist/{chunk-Q2KG7UV3.js.map → chunk-OJJLYHM3.js.map} +1 -1
  45. package/dist/{chunk-PZIZNMHK.js → chunk-ORJ5Y222.js} +159 -138
  46. package/dist/chunk-ORJ5Y222.js.map +1 -0
  47. package/dist/{chunk-NR3OZGL4.js → chunk-OZXAJNLA.js} +2 -1
  48. package/dist/{chunk-NR3OZGL4.js.map → chunk-OZXAJNLA.js.map} +1 -1
  49. package/dist/{chunk-MM7CTTAV.js → chunk-Q5FLW4JG.js} +2 -2
  50. package/dist/{chunk-MM7CTTAV.js.map → chunk-Q5FLW4JG.js.map} +1 -1
  51. package/dist/{chunk-GRVKW3CC.js → chunk-R4SEU3DF.js} +3 -2
  52. package/dist/{chunk-GRVKW3CC.js.map → chunk-R4SEU3DF.js.map} +1 -1
  53. package/dist/{chunk-76ADG7LQ.js → chunk-R54KIGN2.js} +8 -22
  54. package/dist/chunk-R54KIGN2.js.map +1 -0
  55. package/dist/{chunk-SBHBBZKF.js → chunk-REKOWTIB.js} +25 -120
  56. package/dist/chunk-REKOWTIB.js.map +1 -0
  57. package/dist/chunk-TY6CAOL7.js +40 -0
  58. package/dist/chunk-TY6CAOL7.js.map +1 -0
  59. package/dist/{chunk-BNSRA6HL.js → chunk-U2DNAHFE.js} +39 -176
  60. package/dist/chunk-U2DNAHFE.js.map +1 -0
  61. package/dist/{chunk-PMM2MYMA.js → chunk-U2YSGBHA.js} +624 -349
  62. package/dist/chunk-U2YSGBHA.js.map +1 -0
  63. package/dist/{chunk-DTSG5XZB.js → chunk-V3ENMW7G.js} +3 -3
  64. package/dist/{chunk-L7SZXUBJ.js → chunk-VECFAKM5.js} +7 -6
  65. package/dist/{chunk-L7SZXUBJ.js.map → chunk-VECFAKM5.js.map} +1 -1
  66. package/dist/chunk-VGEBYCQZ.js +59 -0
  67. package/dist/chunk-VGEBYCQZ.js.map +1 -0
  68. package/dist/chunk-VZRO7RYT.js +3694 -0
  69. package/dist/chunk-VZRO7RYT.js.map +1 -0
  70. package/dist/{chunk-LASI35KT.js → chunk-WDAO3RUY.js} +14 -28
  71. package/dist/chunk-WDAO3RUY.js.map +1 -0
  72. package/dist/{chunk-MQ7FLIYS.js → chunk-WG6V6VJV.js} +3 -2
  73. package/dist/{chunk-MQ7FLIYS.js.map → chunk-WG6V6VJV.js.map} +1 -1
  74. package/dist/chunk-X5XJ6WKO.js +284 -0
  75. package/dist/chunk-X5XJ6WKO.js.map +1 -0
  76. package/dist/{chunk-RNJWAKMO.js → chunk-XGMOXMS4.js} +9 -8
  77. package/dist/chunk-XGMOXMS4.js.map +1 -0
  78. package/dist/{chunk-IUQBOCSU.js → chunk-ZBPEFQ4G.js} +2 -1
  79. package/dist/{chunk-IUQBOCSU.js.map → chunk-ZBPEFQ4G.js.map} +1 -1
  80. package/dist/{chunk-QRDTLVXG.js → chunk-ZNDLUWWD.js} +9 -22
  81. package/dist/chunk-ZNDLUWWD.js.map +1 -0
  82. package/dist/commands/build/marketplace.js +114 -35
  83. package/dist/commands/build/marketplace.js.map +1 -1
  84. package/dist/commands/build/plugins.js +9 -10
  85. package/dist/commands/build/plugins.js.map +1 -1
  86. package/dist/commands/compile.js +97 -70
  87. package/dist/commands/compile.js.map +1 -1
  88. package/dist/commands/doctor.js +793 -64
  89. package/dist/commands/doctor.js.map +1 -1
  90. package/dist/commands/edit.js +169 -208
  91. package/dist/commands/edit.js.map +1 -1
  92. package/dist/commands/eject.js +24 -39
  93. package/dist/commands/eject.js.map +1 -1
  94. package/dist/commands/init.js +41 -46
  95. package/dist/commands/list.js +10 -12
  96. package/dist/commands/list.js.map +1 -1
  97. package/dist/commands/search.js +20 -81
  98. package/dist/commands/search.js.map +1 -1
  99. package/dist/commands/uninstall.js +25 -31
  100. package/dist/commands/uninstall.js.map +1 -1
  101. package/dist/commands/update.js +82 -332
  102. package/dist/commands/update.js.map +1 -1
  103. package/dist/components/common/confirm.js +1 -1
  104. package/dist/components/common/prompt-confirm.js +1 -1
  105. package/dist/components/common/select-list.js +2 -2
  106. package/dist/components/common/spinner.js +1 -1
  107. package/dist/components/wizard/category-grid.js +5 -6
  108. package/dist/components/wizard/checkbox-grid.js +5 -6
  109. package/dist/components/wizard/domain-selection.js +12 -13
  110. package/dist/components/wizard/run-wizard-session.js +30 -36
  111. package/dist/components/wizard/scroll-affordance.js +2 -2
  112. package/dist/components/wizard/skill-agent-summary.js +7 -7
  113. package/dist/components/wizard/source-grid.js +6 -11
  114. package/dist/components/wizard/stack-selection.js +9 -9
  115. package/dist/components/wizard/step-agents.js +12 -12
  116. package/dist/components/wizard/step-build.js +10 -11
  117. package/dist/components/wizard/step-confirm.js +11 -11
  118. package/dist/components/wizard/step-sources.js +11 -17
  119. package/dist/components/wizard/step-stack.js +10 -10
  120. package/dist/components/wizard/summary-panel.js +10 -10
  121. package/dist/components/wizard/toast.js +2 -2
  122. package/dist/components/wizard/wizard-layout.js +15 -16
  123. package/dist/components/wizard/wizard-tabs.js +6 -12
  124. package/dist/components/wizard/wizard.js +29 -35
  125. package/dist/config-exports.js +1 -1
  126. package/dist/copy-local-skills-KF2RAVD3.js +14 -0
  127. package/dist/hooks/init.js +49 -48
  128. package/dist/hooks/init.js.map +1 -1
  129. package/dist/index.js +3 -1
  130. package/dist/index.js.map +1 -1
  131. package/dist/load-agent-defs-DGXGBU3Q.js +15 -0
  132. package/dist/{loader-5JP4S7CJ.js → loader-4U7UCE2Y.js} +7 -5
  133. package/dist/recompile-project-agents-CJVBAWDJ.js +20 -0
  134. package/dist/{source-loader-MZYCPL2S.js → source-loader-ZNSYJJCI.js} +6 -6
  135. package/dist/src/agents/developer/ai-developer/identity.md +4 -4
  136. package/dist/src/agents/developer/ai-developer/playbook.md +1 -1
  137. package/dist/src/agents/developer/api-developer/identity.md +4 -4
  138. package/dist/src/agents/developer/api-developer/metadata.yaml +1 -1
  139. package/dist/src/agents/developer/cli-developer/identity.md +4 -4
  140. package/dist/src/agents/developer/web-developer/identity.md +2 -2
  141. package/dist/src/agents/developer/web-developer/metadata.yaml +1 -1
  142. package/dist/src/agents/meta/agent-summoner/identity.md +4 -5
  143. package/dist/src/agents/meta/agent-summoner/output.md +2 -2
  144. package/dist/src/agents/meta/agent-summoner/playbook.md +15 -16
  145. package/dist/src/agents/meta/codex-keeper/identity.md +4 -4
  146. package/dist/src/agents/meta/codex-keeper/playbook.md +1 -1
  147. package/dist/src/agents/meta/convention-keeper/identity.md +1 -1
  148. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +0 -34
  149. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +27 -3
  150. package/dist/src/agents/meta/skill-summoner/identity.md +2 -2
  151. package/{src/agents/planning/web-pm → dist/src/agents/planning/pm}/critical-reminders.md +10 -7
  152. package/dist/src/agents/planning/{web-pm → pm}/critical-requirements.md +8 -4
  153. package/dist/src/agents/planning/pm/identity.md +47 -0
  154. package/dist/src/agents/planning/pm/metadata.yaml +12 -0
  155. package/dist/src/agents/planning/{web-pm → pm}/output.md +7 -90
  156. package/dist/src/agents/planning/pm/playbook.md +185 -0
  157. package/dist/src/agents/researcher/ai-researcher/critical-reminders.md +58 -0
  158. package/dist/src/agents/researcher/ai-researcher/critical-requirements.md +40 -0
  159. package/dist/src/agents/researcher/ai-researcher/identity.md +86 -0
  160. package/dist/src/agents/researcher/ai-researcher/metadata.yaml +10 -0
  161. package/dist/src/agents/researcher/ai-researcher/output.md +363 -0
  162. package/dist/src/agents/researcher/ai-researcher/playbook.md +545 -0
  163. package/dist/src/agents/researcher/api-researcher/critical-reminders.md +16 -0
  164. package/dist/src/agents/researcher/api-researcher/identity.md +7 -7
  165. package/dist/src/agents/researcher/cli-researcher/critical-reminders.md +50 -0
  166. package/dist/src/agents/researcher/cli-researcher/critical-requirements.md +36 -0
  167. package/dist/src/agents/researcher/cli-researcher/identity.md +87 -0
  168. package/dist/src/agents/researcher/cli-researcher/metadata.yaml +10 -0
  169. package/dist/src/agents/researcher/cli-researcher/output.md +343 -0
  170. package/dist/src/agents/researcher/cli-researcher/playbook.md +370 -0
  171. package/dist/src/agents/researcher/web-researcher/identity.md +5 -6
  172. package/dist/src/agents/reviewer/reviewer/critical-reminders.md +29 -0
  173. package/dist/src/agents/reviewer/reviewer/critical-requirements.md +31 -0
  174. package/dist/src/agents/reviewer/reviewer/identity.md +41 -0
  175. package/dist/src/agents/reviewer/reviewer/metadata.yaml +12 -0
  176. package/dist/src/agents/reviewer/reviewer/output.md +202 -0
  177. package/dist/src/agents/reviewer/reviewer/playbook.md +141 -0
  178. package/dist/src/agents/tester/ai-tester/critical-reminders.md +48 -0
  179. package/dist/src/agents/tester/ai-tester/critical-requirements.md +49 -0
  180. package/dist/src/agents/tester/ai-tester/identity.md +62 -0
  181. package/dist/src/agents/tester/ai-tester/metadata.yaml +12 -0
  182. package/dist/src/agents/tester/ai-tester/output.md +375 -0
  183. package/dist/src/agents/tester/ai-tester/playbook.md +789 -0
  184. package/dist/src/agents/tester/api-tester/identity.md +3 -3
  185. package/dist/src/agents/tester/cli-tester/critical-reminders.md +3 -3
  186. package/dist/src/agents/tester/cli-tester/critical-requirements.md +2 -2
  187. package/dist/src/agents/tester/cli-tester/identity.md +3 -3
  188. package/dist/src/agents/tester/cli-tester/output.md +4 -4
  189. package/dist/src/agents/tester/cli-tester/playbook.md +3 -3
  190. package/dist/src/agents/tester/web-tester/identity.md +3 -3
  191. package/dist/stores/wizard-store.js +8 -6
  192. package/package.json +13 -2
  193. package/src/agents/developer/ai-developer/identity.md +4 -4
  194. package/src/agents/developer/ai-developer/playbook.md +1 -1
  195. package/src/agents/developer/api-developer/identity.md +4 -4
  196. package/src/agents/developer/api-developer/metadata.yaml +1 -1
  197. package/src/agents/developer/cli-developer/identity.md +4 -4
  198. package/src/agents/developer/web-developer/identity.md +2 -2
  199. package/src/agents/developer/web-developer/metadata.yaml +1 -1
  200. package/src/agents/meta/agent-summoner/identity.md +4 -5
  201. package/src/agents/meta/agent-summoner/output.md +2 -2
  202. package/src/agents/meta/agent-summoner/playbook.md +15 -16
  203. package/src/agents/meta/codex-keeper/identity.md +4 -4
  204. package/src/agents/meta/codex-keeper/playbook.md +1 -1
  205. package/src/agents/meta/convention-keeper/identity.md +1 -1
  206. package/src/agents/meta/skill-summoner/critical-reminders.md +0 -34
  207. package/src/agents/meta/skill-summoner/critical-requirements.md +27 -3
  208. package/src/agents/meta/skill-summoner/identity.md +2 -2
  209. package/{dist/src/agents/planning/web-pm → src/agents/planning/pm}/critical-reminders.md +10 -7
  210. package/src/agents/planning/{web-pm → pm}/critical-requirements.md +8 -4
  211. package/src/agents/planning/pm/identity.md +47 -0
  212. package/src/agents/planning/pm/metadata.yaml +12 -0
  213. package/src/agents/planning/{web-pm → pm}/output.md +7 -90
  214. package/src/agents/planning/pm/playbook.md +185 -0
  215. package/src/agents/researcher/ai-researcher/critical-reminders.md +58 -0
  216. package/src/agents/researcher/ai-researcher/critical-requirements.md +40 -0
  217. package/src/agents/researcher/ai-researcher/identity.md +86 -0
  218. package/src/agents/researcher/ai-researcher/metadata.yaml +10 -0
  219. package/src/agents/researcher/ai-researcher/output.md +363 -0
  220. package/src/agents/researcher/ai-researcher/playbook.md +545 -0
  221. package/src/agents/researcher/api-researcher/critical-reminders.md +16 -0
  222. package/src/agents/researcher/api-researcher/identity.md +7 -7
  223. package/src/agents/researcher/cli-researcher/critical-reminders.md +50 -0
  224. package/src/agents/researcher/cli-researcher/critical-requirements.md +36 -0
  225. package/src/agents/researcher/cli-researcher/identity.md +87 -0
  226. package/src/agents/researcher/cli-researcher/metadata.yaml +10 -0
  227. package/src/agents/researcher/cli-researcher/output.md +343 -0
  228. package/src/agents/researcher/cli-researcher/playbook.md +370 -0
  229. package/src/agents/researcher/web-researcher/identity.md +5 -6
  230. package/src/agents/reviewer/reviewer/critical-reminders.md +29 -0
  231. package/src/agents/reviewer/reviewer/critical-requirements.md +31 -0
  232. package/src/agents/reviewer/reviewer/identity.md +41 -0
  233. package/src/agents/reviewer/reviewer/metadata.yaml +12 -0
  234. package/src/agents/reviewer/reviewer/output.md +202 -0
  235. package/src/agents/reviewer/reviewer/playbook.md +141 -0
  236. package/src/agents/tester/ai-tester/critical-reminders.md +48 -0
  237. package/src/agents/tester/ai-tester/critical-requirements.md +49 -0
  238. package/src/agents/tester/ai-tester/identity.md +62 -0
  239. package/src/agents/tester/ai-tester/metadata.yaml +12 -0
  240. package/src/agents/tester/ai-tester/output.md +375 -0
  241. package/src/agents/tester/ai-tester/playbook.md +789 -0
  242. package/src/agents/tester/api-tester/identity.md +3 -3
  243. package/src/agents/tester/cli-tester/critical-reminders.md +3 -3
  244. package/src/agents/tester/cli-tester/critical-requirements.md +2 -2
  245. package/src/agents/tester/cli-tester/identity.md +3 -3
  246. package/src/agents/tester/cli-tester/output.md +4 -4
  247. package/src/agents/tester/cli-tester/playbook.md +3 -3
  248. package/src/agents/tester/web-tester/identity.md +3 -3
  249. package/src/schemas/metadata.schema.json +31 -2
  250. package/src/schemas/project-config.schema.json +61 -15
  251. package/src/schemas/project-source-config.schema.json +0 -47
  252. package/dist/chunk-5GUOIJSG.js.map +0 -1
  253. package/dist/chunk-5UWKOOIS.js.map +0 -1
  254. package/dist/chunk-76ADG7LQ.js.map +0 -1
  255. package/dist/chunk-BNSRA6HL.js.map +0 -1
  256. package/dist/chunk-E5X6RJ4E.js.map +0 -1
  257. package/dist/chunk-EEPELKOM.js +0 -5938
  258. package/dist/chunk-EEPELKOM.js.map +0 -1
  259. package/dist/chunk-F7T5AFFN.js +0 -20
  260. package/dist/chunk-F7T5AFFN.js.map +0 -1
  261. package/dist/chunk-FVDKAVOL.js.map +0 -1
  262. package/dist/chunk-KFB5CRXZ.js +0 -377
  263. package/dist/chunk-KFB5CRXZ.js.map +0 -1
  264. package/dist/chunk-KR65TPKC.js +0 -664
  265. package/dist/chunk-KR65TPKC.js.map +0 -1
  266. package/dist/chunk-LASI35KT.js.map +0 -1
  267. package/dist/chunk-LDP5ASDM.js.map +0 -1
  268. package/dist/chunk-LZ52XEPR.js.map +0 -1
  269. package/dist/chunk-M7HO7NBK.js +0 -88
  270. package/dist/chunk-M7HO7NBK.js.map +0 -1
  271. package/dist/chunk-MWG4VU64.js.map +0 -1
  272. package/dist/chunk-ODNDXQH2.js +0 -77
  273. package/dist/chunk-ODNDXQH2.js.map +0 -1
  274. package/dist/chunk-P44SXVH3.js +0 -80
  275. package/dist/chunk-P44SXVH3.js.map +0 -1
  276. package/dist/chunk-PMM2MYMA.js.map +0 -1
  277. package/dist/chunk-PZIZNMHK.js.map +0 -1
  278. package/dist/chunk-Q45ZU6HD.js +0 -37
  279. package/dist/chunk-Q45ZU6HD.js.map +0 -1
  280. package/dist/chunk-QRDTLVXG.js.map +0 -1
  281. package/dist/chunk-QZZJFYUQ.js.map +0 -1
  282. package/dist/chunk-R5NOI2LP.js +0 -170
  283. package/dist/chunk-R5NOI2LP.js.map +0 -1
  284. package/dist/chunk-RNJWAKMO.js.map +0 -1
  285. package/dist/chunk-SBHBBZKF.js.map +0 -1
  286. package/dist/chunk-SKQWRUPX.js.map +0 -1
  287. package/dist/chunk-STMHDOZD.js.map +0 -1
  288. package/dist/chunk-SX5H6TSC.js.map +0 -1
  289. package/dist/chunk-TUPYW2IQ.js.map +0 -1
  290. package/dist/chunk-UBEDZ4FD.js +0 -4198
  291. package/dist/chunk-UBEDZ4FD.js.map +0 -1
  292. package/dist/chunk-VY6MNOXL.js +0 -20
  293. package/dist/chunk-VY6MNOXL.js.map +0 -1
  294. package/dist/chunk-WBCPLH66.js +0 -42
  295. package/dist/chunk-WBCPLH66.js.map +0 -1
  296. package/dist/chunk-WKTHWQKM.js.map +0 -1
  297. package/dist/chunk-XHUODHZ4.js.map +0 -1
  298. package/dist/chunk-ZPPHXXAP.js +0 -252
  299. package/dist/chunk-ZPPHXXAP.js.map +0 -1
  300. package/dist/commands/import/skill.js +0 -344
  301. package/dist/commands/import/skill.js.map +0 -1
  302. package/dist/commands/new/agent.js +0 -300
  303. package/dist/commands/new/agent.js.map +0 -1
  304. package/dist/commands/new/marketplace.js +0 -310
  305. package/dist/commands/new/marketplace.js.map +0 -1
  306. package/dist/commands/new/skill.js +0 -26
  307. package/dist/commands/validate.js +0 -575
  308. package/dist/commands/validate.js.map +0 -1
  309. package/dist/components/wizard/search-modal.js +0 -13
  310. package/dist/components/wizard/selection-card.js +0 -9
  311. package/dist/components/wizard/step-settings.js +0 -18
  312. package/dist/copy-local-skills-6EMVN7RB.js +0 -14
  313. package/dist/load-agent-defs-BWOUVEAR.js +0 -15
  314. package/dist/load-agent-defs-BWOUVEAR.js.map +0 -1
  315. package/dist/loader-5JP4S7CJ.js.map +0 -1
  316. package/dist/recompile-project-agents-6DL45TDI.js +0 -19
  317. package/dist/recompile-project-agents-6DL45TDI.js.map +0 -1
  318. package/dist/source-loader-MZYCPL2S.js.map +0 -1
  319. package/dist/src/agents/developer/web-architecture/critical-reminders.md +0 -48
  320. package/dist/src/agents/developer/web-architecture/critical-requirements.md +0 -65
  321. package/dist/src/agents/developer/web-architecture/identity.md +0 -64
  322. package/dist/src/agents/developer/web-architecture/metadata.yaml +0 -12
  323. package/dist/src/agents/developer/web-architecture/output.md +0 -449
  324. package/dist/src/agents/developer/web-architecture/playbook.md +0 -481
  325. package/dist/src/agents/pattern/pattern-scout/critical-reminders.md +0 -71
  326. package/dist/src/agents/pattern/pattern-scout/critical-requirements.md +0 -31
  327. package/dist/src/agents/pattern/pattern-scout/identity.md +0 -25
  328. package/dist/src/agents/pattern/pattern-scout/metadata.yaml +0 -10
  329. package/dist/src/agents/pattern/pattern-scout/output.md +0 -290
  330. package/dist/src/agents/pattern/pattern-scout/playbook.md +0 -1806
  331. package/dist/src/agents/pattern/web-pattern-critique/critical-reminders.md +0 -30
  332. package/dist/src/agents/pattern/web-pattern-critique/critical-requirements.md +0 -28
  333. package/dist/src/agents/pattern/web-pattern-critique/identity.md +0 -41
  334. package/dist/src/agents/pattern/web-pattern-critique/metadata.yaml +0 -12
  335. package/dist/src/agents/pattern/web-pattern-critique/output.md +0 -314
  336. package/dist/src/agents/pattern/web-pattern-critique/playbook.md +0 -572
  337. package/dist/src/agents/planning/api-pm/critical-reminders.md +0 -48
  338. package/dist/src/agents/planning/api-pm/critical-requirements.md +0 -41
  339. package/dist/src/agents/planning/api-pm/identity.md +0 -39
  340. package/dist/src/agents/planning/api-pm/metadata.yaml +0 -12
  341. package/dist/src/agents/planning/api-pm/output.md +0 -475
  342. package/dist/src/agents/planning/api-pm/playbook.md +0 -129
  343. package/dist/src/agents/planning/web-pm/identity.md +0 -26
  344. package/dist/src/agents/planning/web-pm/metadata.yaml +0 -12
  345. package/dist/src/agents/planning/web-pm/playbook.md +0 -318
  346. package/dist/src/agents/reviewer/ai-reviewer/critical-reminders.md +0 -40
  347. package/dist/src/agents/reviewer/ai-reviewer/critical-requirements.md +0 -37
  348. package/dist/src/agents/reviewer/ai-reviewer/identity.md +0 -51
  349. package/dist/src/agents/reviewer/ai-reviewer/metadata.yaml +0 -10
  350. package/dist/src/agents/reviewer/ai-reviewer/output.md +0 -395
  351. package/dist/src/agents/reviewer/ai-reviewer/playbook.md +0 -90
  352. package/dist/src/agents/reviewer/api-reviewer/critical-reminders.md +0 -31
  353. package/dist/src/agents/reviewer/api-reviewer/critical-requirements.md +0 -27
  354. package/dist/src/agents/reviewer/api-reviewer/identity.md +0 -51
  355. package/dist/src/agents/reviewer/api-reviewer/metadata.yaml +0 -12
  356. package/dist/src/agents/reviewer/api-reviewer/output.md +0 -343
  357. package/dist/src/agents/reviewer/api-reviewer/playbook.md +0 -288
  358. package/dist/src/agents/reviewer/cli-reviewer/critical-reminders.md +0 -33
  359. package/dist/src/agents/reviewer/cli-reviewer/critical-requirements.md +0 -30
  360. package/dist/src/agents/reviewer/cli-reviewer/identity.md +0 -44
  361. package/dist/src/agents/reviewer/cli-reviewer/metadata.yaml +0 -12
  362. package/dist/src/agents/reviewer/cli-reviewer/output.md +0 -414
  363. package/dist/src/agents/reviewer/cli-reviewer/playbook.md +0 -218
  364. package/dist/src/agents/reviewer/infra-reviewer/critical-reminders.md +0 -38
  365. package/dist/src/agents/reviewer/infra-reviewer/critical-requirements.md +0 -38
  366. package/dist/src/agents/reviewer/infra-reviewer/identity.md +0 -53
  367. package/dist/src/agents/reviewer/infra-reviewer/metadata.yaml +0 -10
  368. package/dist/src/agents/reviewer/infra-reviewer/output.md +0 -364
  369. package/dist/src/agents/reviewer/infra-reviewer/playbook.md +0 -161
  370. package/dist/src/agents/reviewer/web-reviewer/critical-reminders.md +0 -31
  371. package/dist/src/agents/reviewer/web-reviewer/critical-requirements.md +0 -26
  372. package/dist/src/agents/reviewer/web-reviewer/identity.md +0 -40
  373. package/dist/src/agents/reviewer/web-reviewer/metadata.yaml +0 -12
  374. package/dist/src/agents/reviewer/web-reviewer/output.md +0 -333
  375. package/dist/src/agents/reviewer/web-reviewer/playbook.md +0 -156
  376. package/src/agents/developer/web-architecture/critical-reminders.md +0 -48
  377. package/src/agents/developer/web-architecture/critical-requirements.md +0 -65
  378. package/src/agents/developer/web-architecture/identity.md +0 -64
  379. package/src/agents/developer/web-architecture/metadata.yaml +0 -12
  380. package/src/agents/developer/web-architecture/output.md +0 -449
  381. package/src/agents/developer/web-architecture/playbook.md +0 -481
  382. package/src/agents/pattern/pattern-scout/critical-reminders.md +0 -71
  383. package/src/agents/pattern/pattern-scout/critical-requirements.md +0 -31
  384. package/src/agents/pattern/pattern-scout/identity.md +0 -25
  385. package/src/agents/pattern/pattern-scout/metadata.yaml +0 -10
  386. package/src/agents/pattern/pattern-scout/output.md +0 -290
  387. package/src/agents/pattern/pattern-scout/playbook.md +0 -1806
  388. package/src/agents/pattern/web-pattern-critique/critical-reminders.md +0 -30
  389. package/src/agents/pattern/web-pattern-critique/critical-requirements.md +0 -28
  390. package/src/agents/pattern/web-pattern-critique/identity.md +0 -41
  391. package/src/agents/pattern/web-pattern-critique/metadata.yaml +0 -12
  392. package/src/agents/pattern/web-pattern-critique/output.md +0 -314
  393. package/src/agents/pattern/web-pattern-critique/playbook.md +0 -572
  394. package/src/agents/planning/api-pm/critical-reminders.md +0 -48
  395. package/src/agents/planning/api-pm/critical-requirements.md +0 -41
  396. package/src/agents/planning/api-pm/identity.md +0 -39
  397. package/src/agents/planning/api-pm/metadata.yaml +0 -12
  398. package/src/agents/planning/api-pm/output.md +0 -475
  399. package/src/agents/planning/api-pm/playbook.md +0 -129
  400. package/src/agents/planning/web-pm/identity.md +0 -26
  401. package/src/agents/planning/web-pm/metadata.yaml +0 -12
  402. package/src/agents/planning/web-pm/playbook.md +0 -318
  403. package/src/agents/reviewer/ai-reviewer/critical-reminders.md +0 -40
  404. package/src/agents/reviewer/ai-reviewer/critical-requirements.md +0 -37
  405. package/src/agents/reviewer/ai-reviewer/identity.md +0 -51
  406. package/src/agents/reviewer/ai-reviewer/metadata.yaml +0 -10
  407. package/src/agents/reviewer/ai-reviewer/output.md +0 -395
  408. package/src/agents/reviewer/ai-reviewer/playbook.md +0 -90
  409. package/src/agents/reviewer/api-reviewer/critical-reminders.md +0 -31
  410. package/src/agents/reviewer/api-reviewer/critical-requirements.md +0 -27
  411. package/src/agents/reviewer/api-reviewer/identity.md +0 -51
  412. package/src/agents/reviewer/api-reviewer/metadata.yaml +0 -12
  413. package/src/agents/reviewer/api-reviewer/output.md +0 -343
  414. package/src/agents/reviewer/api-reviewer/playbook.md +0 -288
  415. package/src/agents/reviewer/cli-reviewer/critical-reminders.md +0 -33
  416. package/src/agents/reviewer/cli-reviewer/critical-requirements.md +0 -30
  417. package/src/agents/reviewer/cli-reviewer/identity.md +0 -44
  418. package/src/agents/reviewer/cli-reviewer/metadata.yaml +0 -12
  419. package/src/agents/reviewer/cli-reviewer/output.md +0 -414
  420. package/src/agents/reviewer/cli-reviewer/playbook.md +0 -218
  421. package/src/agents/reviewer/infra-reviewer/critical-reminders.md +0 -38
  422. package/src/agents/reviewer/infra-reviewer/critical-requirements.md +0 -38
  423. package/src/agents/reviewer/infra-reviewer/identity.md +0 -53
  424. package/src/agents/reviewer/infra-reviewer/metadata.yaml +0 -10
  425. package/src/agents/reviewer/infra-reviewer/output.md +0 -364
  426. package/src/agents/reviewer/infra-reviewer/playbook.md +0 -161
  427. package/src/agents/reviewer/web-reviewer/critical-reminders.md +0 -31
  428. package/src/agents/reviewer/web-reviewer/critical-requirements.md +0 -26
  429. package/src/agents/reviewer/web-reviewer/identity.md +0 -40
  430. package/src/agents/reviewer/web-reviewer/metadata.yaml +0 -12
  431. package/src/agents/reviewer/web-reviewer/output.md +0 -333
  432. package/src/agents/reviewer/web-reviewer/playbook.md +0 -156
  433. /package/dist/{chunk-ZL7PFNHN.js.map → chunk-K3O3YQYG.js.map} +0 -0
  434. /package/dist/{chunk-IHUY4M22.js.map → chunk-NXGMM5YN.js.map} +0 -0
  435. /package/dist/{chunk-DTSG5XZB.js.map → chunk-V3ENMW7G.js.map} +0 -0
  436. /package/dist/{commands/new/skill.js.map → copy-local-skills-KF2RAVD3.js.map} +0 -0
  437. /package/dist/{components/wizard/search-modal.js.map → load-agent-defs-DGXGBU3Q.js.map} +0 -0
  438. /package/dist/{components/wizard/selection-card.js.map → loader-4U7UCE2Y.js.map} +0 -0
  439. /package/dist/{components/wizard/step-settings.js.map → recompile-project-agents-CJVBAWDJ.js.map} +0 -0
  440. /package/dist/{copy-local-skills-6EMVN7RB.js.map → source-loader-ZNSYJJCI.js.map} +0 -0
@@ -5,56 +5,51 @@ import {
5
5
  getDashboardData,
6
6
  runDashboardFlow,
7
7
  showDashboard
8
- } from "../chunk-PZIZNMHK.js";
9
- import "../chunk-Q2KG7UV3.js";
10
- import "../chunk-MVR3SYMN.js";
11
- import "../chunk-XHUODHZ4.js";
12
- import "../chunk-MWG4VU64.js";
13
- import "../chunk-TJJPWUMA.js";
14
- import "../chunk-TUPYW2IQ.js";
15
- import "../chunk-SKQWRUPX.js";
16
- import "../chunk-LASI35KT.js";
17
- import "../chunk-GRVKW3CC.js";
18
- import "../chunk-L7SZXUBJ.js";
19
- import "../chunk-ZPPHXXAP.js";
20
- import "../chunk-R5NOI2LP.js";
21
- import "../chunk-BNSRA6HL.js";
22
- import "../chunk-F7T5AFFN.js";
23
- import "../chunk-MQ7FLIYS.js";
24
- import "../chunk-FVDKAVOL.js";
8
+ } from "../chunk-ORJ5Y222.js";
9
+ import "../chunk-XGMOXMS4.js";
10
+ import "../chunk-OJJLYHM3.js";
11
+ import "../chunk-ZBPEFQ4G.js";
12
+ import "../chunk-KET3EVGX.js";
13
+ import "../chunk-BMGBA6HJ.js";
14
+ import "../chunk-M5HSTNYU.js";
15
+ import "../chunk-NSJ2S7R5.js";
16
+ import "../chunk-JC7DBPRD.js";
17
+ import "../chunk-K7PJDWER.js";
18
+ import "../chunk-WDAO3RUY.js";
19
+ import "../chunk-R4SEU3DF.js";
20
+ import "../chunk-VECFAKM5.js";
21
+ import "../chunk-VGEBYCQZ.js";
22
+ import "../chunk-U2DNAHFE.js";
23
+ import "../chunk-WG6V6VJV.js";
24
+ import "../chunk-EFU6P3B7.js";
25
25
  import "../chunk-TSIU7DME.js";
26
- import "../chunk-QRDTLVXG.js";
27
- import "../chunk-J27W6TXS.js";
28
- import "../chunk-SX5H6TSC.js";
29
- import "../chunk-5GUOIJSG.js";
30
- import "../chunk-MJ2KHG24.js";
31
- import "../chunk-DTSG5XZB.js";
32
- import "../chunk-MM7CTTAV.js";
33
- import "../chunk-KXYVJGJP.js";
34
- import "../chunk-P44SXVH3.js";
35
- import "../chunk-LDP5ASDM.js";
36
- import "../chunk-Q45ZU6HD.js";
37
- import "../chunk-WBCPLH66.js";
38
- import "../chunk-RNJWAKMO.js";
39
26
  import "../chunk-XVAQG2CV.js";
40
- import "../chunk-IUQBOCSU.js";
41
- import "../chunk-ODNDXQH2.js";
42
- import "../chunk-STMHDOZD.js";
43
- import "../chunk-SBHBBZKF.js";
44
- import "../chunk-IHUY4M22.js";
45
- import "../chunk-QZZJFYUQ.js";
46
- import "../chunk-E5X6RJ4E.js";
47
- import "../chunk-LZ52XEPR.js";
27
+ import "../chunk-ZNDLUWWD.js";
28
+ import "../chunk-J27W6TXS.js";
29
+ import "../chunk-4VYALFQZ.js";
30
+ import "../chunk-JFAUQDZM.js";
31
+ import "../chunk-IO4VEW5U.js";
32
+ import "../chunk-V3ENMW7G.js";
33
+ import "../chunk-2HC2SNRP.js";
34
+ import "../chunk-Q5FLW4JG.js";
35
+ import "../chunk-6CNRMCFM.js";
36
+ import "../chunk-F7Z5I6GU.js";
37
+ import "../chunk-REKOWTIB.js";
38
+ import "../chunk-NXGMM5YN.js";
39
+ import "../chunk-FRWKCE6R.js";
40
+ import "../chunk-FIHTAFST.js";
41
+ import "../chunk-ACKC577F.js";
48
42
  import "../chunk-JFLVEFFP.js";
49
- import "../chunk-5UWKOOIS.js";
50
- import "../chunk-KR65TPKC.js";
51
- import "../chunk-ZL7PFNHN.js";
52
- import "../chunk-EEPELKOM.js";
53
- import "../chunk-PMM2MYMA.js";
54
- import "../chunk-WKTHWQKM.js";
43
+ import "../chunk-HEBPKK5L.js";
44
+ import "../chunk-X5XJ6WKO.js";
45
+ import "../chunk-TY6CAOL7.js";
46
+ import "../chunk-K3O3YQYG.js";
47
+ import "../chunk-NXQAY5U7.js";
48
+ import "../chunk-U2YSGBHA.js";
49
+ import "../chunk-35VOK7XE.js";
55
50
  import "../chunk-VASLW636.js";
56
- import "../chunk-76ADG7LQ.js";
57
- import "../chunk-UBEDZ4FD.js";
51
+ import "../chunk-R54KIGN2.js";
52
+ import "../chunk-VZRO7RYT.js";
58
53
  export {
59
54
  Init as default,
60
55
  formatDashboardText,
@@ -1,33 +1,34 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SkillAgentSummary
4
- } from "../chunk-LZ52XEPR.js";
4
+ } from "../chunk-ACKC577F.js";
5
5
  import {
6
6
  render
7
7
  } from "../chunk-JFLVEFFP.js";
8
8
  import {
9
9
  hydrateWizardStore
10
- } from "../chunk-5UWKOOIS.js";
10
+ } from "../chunk-HEBPKK5L.js";
11
11
  import {
12
12
  BaseCommand
13
- } from "../chunk-KR65TPKC.js";
14
- import "../chunk-ZL7PFNHN.js";
13
+ } from "../chunk-X5XJ6WKO.js";
14
+ import "../chunk-TY6CAOL7.js";
15
+ import "../chunk-K3O3YQYG.js";
15
16
  import {
16
17
  INSTALL_MODE_LABELS,
17
18
  detectInstallation,
18
19
  formatInstallationDisplay,
19
20
  getInstallationInfo,
20
21
  loadProjectConfig
21
- } from "../chunk-EEPELKOM.js";
22
- import "../chunk-PMM2MYMA.js";
23
- import "../chunk-WKTHWQKM.js";
22
+ } from "../chunk-NXQAY5U7.js";
23
+ import "../chunk-U2YSGBHA.js";
24
+ import "../chunk-35VOK7XE.js";
24
25
  import "../chunk-VASLW636.js";
25
26
  import {
26
27
  CLI_COLORS,
27
28
  CLI_INVOKE_COMMAND,
28
29
  DEFAULT_BRANDING
29
- } from "../chunk-76ADG7LQ.js";
30
- import "../chunk-UBEDZ4FD.js";
30
+ } from "../chunk-R54KIGN2.js";
31
+ import "../chunk-VZRO7RYT.js";
31
32
 
32
33
  // src/cli/commands/list.tsx
33
34
  import { useEffect } from "react";
@@ -63,9 +64,6 @@ var List = class _List extends BaseCommand {
63
64
  command: "<%= config.bin %> <%= command.id %>"
64
65
  }
65
66
  ];
66
- static flags = {
67
- ...BaseCommand.baseFlags
68
- };
69
67
  async run() {
70
68
  await this.parse(_List);
71
69
  const installation = await detectInstallation();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/commands/list.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\n\nimport { Box, Text, useApp } from \"ink\";\nimport { render } from \"../components/render.js\";\n\nimport { BaseCommand } from \"../base-command.js\";\nimport { CLI_INVOKE_COMMAND, CLI_COLORS, DEFAULT_BRANDING } from \"../consts.js\";\nimport { getInstallationInfo, formatInstallationDisplay } from \"../lib/plugins/index.js\";\nimport { detectInstallation, INSTALL_MODE_LABELS } from \"../lib/installation/installation.js\";\nimport { loadProjectConfig } from \"../lib/configuration/project-config.js\";\nimport { SkillAgentSummary } from \"../components/wizard/skill-agent-summary.js\";\nimport { hydrateWizardStore } from \"../stores/wizard-store.js\";\nimport type { AgentScopeConfig, SkillConfig } from \"../types/config.js\";\n\ntype ListViewProps = {\n mode: string;\n source?: string;\n skillConfigs: SkillConfig[];\n agentConfigs: AgentScopeConfig[];\n};\n\nconst ListView: React.FC<ListViewProps> = ({ mode, source, skillConfigs, agentConfigs }) => {\n const { exit } = useApp();\n\n useEffect(() => {\n const timer = setTimeout(() => exit(), 0);\n return () => clearTimeout(timer);\n }, [exit]);\n\n return (\n <Box flexDirection=\"column\" paddingX={1} paddingY={1}>\n <Box flexDirection=\"column\" marginBottom={1}>\n <Box flexDirection=\"row\" columnGap={1}>\n <Text color={CLI_COLORS.WARNING} bold>\n Mode\n </Text>\n <Text color={CLI_COLORS.NEUTRAL}>{mode}</Text>\n </Box>\n {source && (\n <Box flexDirection=\"row\" columnGap={1}>\n <Text color={CLI_COLORS.WARNING} bold>\n Source\n </Text>\n <Text color={CLI_COLORS.NEUTRAL}>{source}</Text>\n </Box>\n )}\n </Box>\n\n <SkillAgentSummary skillConfigs={skillConfigs} agentConfigs={agentConfigs} />\n </Box>\n );\n};\n\nexport default class List extends BaseCommand {\n static summary = \"Show installation information\";\n static description = `Display details about the ${DEFAULT_BRANDING.NAME} installation (local or plugin mode)`;\n static aliases = [\"ls\"];\n\n static examples = [\n {\n description: \"Show current installation details\",\n command: \"<%= config.bin %> <%= command.id %>\",\n },\n ];\n\n static flags = {\n ...BaseCommand.baseFlags,\n };\n\n async run(): Promise<void> {\n await this.parse(List);\n\n const installation = await detectInstallation();\n\n if (!installation) {\n this.log(\"No installation found.\");\n this.log(`Run '${CLI_INVOKE_COMMAND} init' to create one.`);\n return;\n }\n\n const loaded = await loadProjectConfig(installation.projectDir);\n\n if (!loaded?.config || !process.stdin.isTTY) {\n const info = await getInstallationInfo();\n if (info) {\n this.log(\"\");\n this.log(formatInstallationDisplay(info));\n this.log(\"\");\n }\n return;\n }\n\n const { config } = loaded;\n const modeLabel = INSTALL_MODE_LABELS[installation.mode];\n const activeSkills = config.skills.filter((s) => !s.excluded);\n const activeAgents = config.agents.filter((a) => !a.excluded);\n\n hydrateWizardStore({\n installedSkillConfigs: activeSkills,\n installedAgentConfigs: activeAgents,\n });\n\n const { waitUntilExit, clear } = render(\n <ListView\n mode={modeLabel}\n source={config.source}\n skillConfigs={activeSkills}\n agentConfigs={activeAgents}\n />,\n );\n\n await waitUntilExit();\n clear();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,iBAAiB;AAEjC,SAAS,KAAK,MAAM,cAAc;AA8B1B,SACE,KADF;AAXR,IAAM,WAAoC,CAAC,EAAE,MAAM,QAAQ,cAAc,aAAa,MAAM;AAC1F,QAAM,EAAE,KAAK,IAAI,OAAO;AAExB,YAAU,MAAM;AACd,UAAM,QAAQ,WAAW,MAAM,KAAK,GAAG,CAAC;AACxC,WAAO,MAAM,aAAa,KAAK;AAAA,EACjC,GAAG,CAAC,IAAI,CAAC;AAET,SACE,qBAAC,OAAI,eAAc,UAAS,UAAU,GAAG,UAAU,GACjD;AAAA,yBAAC,OAAI,eAAc,UAAS,cAAc,GACxC;AAAA,2BAAC,OAAI,eAAc,OAAM,WAAW,GAClC;AAAA,4BAAC,QAAK,OAAO,WAAW,SAAS,MAAI,MAAC,kBAEtC;AAAA,QACA,oBAAC,QAAK,OAAO,WAAW,SAAU,gBAAK;AAAA,SACzC;AAAA,MACC,UACC,qBAAC,OAAI,eAAc,OAAM,WAAW,GAClC;AAAA,4BAAC,QAAK,OAAO,WAAW,SAAS,MAAI,MAAC,oBAEtC;AAAA,QACA,oBAAC,QAAK,OAAO,WAAW,SAAU,kBAAO;AAAA,SAC3C;AAAA,OAEJ;AAAA,IAEA,oBAAC,qBAAkB,cAA4B,cAA4B;AAAA,KAC7E;AAEJ;AAEA,IAAqB,OAArB,MAAqB,cAAa,YAAY;AAAA,EAC5C,OAAO,UAAU;AAAA,EACjB,OAAO,cAAc,6BAA6B,iBAAiB,IAAI;AAAA,EACvE,OAAO,UAAU,CAAC,IAAI;AAAA,EAEtB,OAAO,WAAW;AAAA,IAChB;AAAA,MACE,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO,QAAQ;AAAA,IACb,GAAG,YAAY;AAAA,EACjB;AAAA,EAEA,MAAM,MAAqB;AACzB,UAAM,KAAK,MAAM,KAAI;AAErB,UAAM,eAAe,MAAM,mBAAmB;AAE9C,QAAI,CAAC,cAAc;AACjB,WAAK,IAAI,wBAAwB;AACjC,WAAK,IAAI,QAAQ,kBAAkB,uBAAuB;AAC1D;AAAA,IACF;AAEA,UAAM,SAAS,MAAM,kBAAkB,aAAa,UAAU;AAE9D,QAAI,CAAC,QAAQ,UAAU,CAAC,QAAQ,MAAM,OAAO;AAC3C,YAAM,OAAO,MAAM,oBAAoB;AACvC,UAAI,MAAM;AACR,aAAK,IAAI,EAAE;AACX,aAAK,IAAI,0BAA0B,IAAI,CAAC;AACxC,aAAK,IAAI,EAAE;AAAA,MACb;AACA;AAAA,IACF;AAEA,UAAM,EAAE,OAAO,IAAI;AACnB,UAAM,YAAY,oBAAoB,aAAa,IAAI;AACvD,UAAM,eAAe,OAAO,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ;AAC5D,UAAM,eAAe,OAAO,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ;AAE5D,uBAAmB;AAAA,MACjB,uBAAuB;AAAA,MACvB,uBAAuB;AAAA,IACzB,CAAC;AAED,UAAM,EAAE,eAAe,MAAM,IAAI;AAAA,MAC/B;AAAA,QAAC;AAAA;AAAA,UACC,MAAM;AAAA,UACN,QAAQ,OAAO;AAAA,UACf,cAAc;AAAA,UACd,cAAc;AAAA;AAAA,MAChB;AAAA,IACF;AAEA,UAAM,cAAc;AACpB,UAAM;AAAA,EACR;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/cli/commands/list.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\n\nimport { Box, Text, useApp } from \"ink\";\nimport { render } from \"../components/render.js\";\n\nimport { BaseCommand } from \"../base-command.js\";\nimport { CLI_INVOKE_COMMAND, CLI_COLORS, DEFAULT_BRANDING } from \"../consts.js\";\nimport { getInstallationInfo, formatInstallationDisplay } from \"../lib/plugins/index.js\";\nimport { detectInstallation, INSTALL_MODE_LABELS } from \"../lib/installation/installation.js\";\nimport { loadProjectConfig } from \"../lib/configuration/project-config.js\";\nimport { SkillAgentSummary } from \"../components/wizard/skill-agent-summary.js\";\nimport { hydrateWizardStore } from \"../stores/wizard-store.js\";\nimport type { AgentScopeConfig, SkillConfig } from \"../types/config.js\";\n\ntype ListViewProps = {\n mode: string;\n source?: string | undefined;\n skillConfigs: SkillConfig[];\n agentConfigs: AgentScopeConfig[];\n};\n\nconst ListView: React.FC<ListViewProps> = ({ mode, source, skillConfigs, agentConfigs }) => {\n const { exit } = useApp();\n\n useEffect(() => {\n const timer = setTimeout(() => exit(), 0);\n return () => clearTimeout(timer);\n }, [exit]);\n\n return (\n <Box flexDirection=\"column\" paddingX={1} paddingY={1}>\n <Box flexDirection=\"column\" marginBottom={1}>\n <Box flexDirection=\"row\" columnGap={1}>\n <Text color={CLI_COLORS.WARNING} bold>\n Mode\n </Text>\n <Text color={CLI_COLORS.NEUTRAL}>{mode}</Text>\n </Box>\n {source && (\n <Box flexDirection=\"row\" columnGap={1}>\n <Text color={CLI_COLORS.WARNING} bold>\n Source\n </Text>\n <Text color={CLI_COLORS.NEUTRAL}>{source}</Text>\n </Box>\n )}\n </Box>\n\n <SkillAgentSummary skillConfigs={skillConfigs} agentConfigs={agentConfigs} />\n </Box>\n );\n};\n\nexport default class List extends BaseCommand {\n static summary = \"Show installation information\";\n static description = `Display details about the ${DEFAULT_BRANDING.NAME} installation (local or plugin mode)`;\n static aliases = [\"ls\"];\n\n static examples = [\n {\n description: \"Show current installation details\",\n command: \"<%= config.bin %> <%= command.id %>\",\n },\n ];\n\n async run(): Promise<void> {\n await this.parse(List);\n\n const installation = await detectInstallation();\n\n if (!installation) {\n this.log(\"No installation found.\");\n this.log(`Run '${CLI_INVOKE_COMMAND} init' to create one.`);\n return;\n }\n\n const loaded = await loadProjectConfig(installation.projectDir);\n\n if (!loaded?.config || !process.stdin.isTTY) {\n const info = await getInstallationInfo();\n if (info) {\n this.log(\"\");\n this.log(formatInstallationDisplay(info));\n this.log(\"\");\n }\n return;\n }\n\n const { config } = loaded;\n const modeLabel = INSTALL_MODE_LABELS[installation.mode];\n const activeSkills = config.skills.filter((s) => !s.excluded);\n const activeAgents = config.agents.filter((a) => !a.excluded);\n\n hydrateWizardStore({\n installedSkillConfigs: activeSkills,\n installedAgentConfigs: activeAgents,\n });\n\n const { waitUntilExit, clear } = render(\n <ListView\n mode={modeLabel}\n source={config.source}\n skillConfigs={activeSkills}\n agentConfigs={activeAgents}\n />,\n );\n\n await waitUntilExit();\n clear();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,iBAAiB;AAEjC,SAAS,KAAK,MAAM,cAAc;AA8B1B,SACE,KADF;AAXR,IAAM,WAAoC,CAAC,EAAE,MAAM,QAAQ,cAAc,aAAa,MAAM;AAC1F,QAAM,EAAE,KAAK,IAAI,OAAO;AAExB,YAAU,MAAM;AACd,UAAM,QAAQ,WAAW,MAAM,KAAK,GAAG,CAAC;AACxC,WAAO,MAAM,aAAa,KAAK;AAAA,EACjC,GAAG,CAAC,IAAI,CAAC;AAET,SACE,qBAAC,OAAI,eAAc,UAAS,UAAU,GAAG,UAAU,GACjD;AAAA,yBAAC,OAAI,eAAc,UAAS,cAAc,GACxC;AAAA,2BAAC,OAAI,eAAc,OAAM,WAAW,GAClC;AAAA,4BAAC,QAAK,OAAO,WAAW,SAAS,MAAI,MAAC,kBAEtC;AAAA,QACA,oBAAC,QAAK,OAAO,WAAW,SAAU,gBAAK;AAAA,SACzC;AAAA,MACC,UACC,qBAAC,OAAI,eAAc,OAAM,WAAW,GAClC;AAAA,4BAAC,QAAK,OAAO,WAAW,SAAS,MAAI,MAAC,oBAEtC;AAAA,QACA,oBAAC,QAAK,OAAO,WAAW,SAAU,kBAAO;AAAA,SAC3C;AAAA,OAEJ;AAAA,IAEA,oBAAC,qBAAkB,cAA4B,cAA4B;AAAA,KAC7E;AAEJ;AAEA,IAAqB,OAArB,MAAqB,cAAa,YAAY;AAAA,EAC5C,OAAO,UAAU;AAAA,EACjB,OAAO,cAAc,6BAA6B,iBAAiB,IAAI;AAAA,EACvE,OAAO,UAAU,CAAC,IAAI;AAAA,EAEtB,OAAO,WAAW;AAAA,IAChB;AAAA,MACE,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,MAAM,MAAqB;AACzB,UAAM,KAAK,MAAM,KAAI;AAErB,UAAM,eAAe,MAAM,mBAAmB;AAE9C,QAAI,CAAC,cAAc;AACjB,WAAK,IAAI,wBAAwB;AACjC,WAAK,IAAI,QAAQ,kBAAkB,uBAAuB;AAC1D;AAAA,IACF;AAEA,UAAM,SAAS,MAAM,kBAAkB,aAAa,UAAU;AAE9D,QAAI,CAAC,QAAQ,UAAU,CAAC,QAAQ,MAAM,OAAO;AAC3C,YAAM,OAAO,MAAM,oBAAoB;AACvC,UAAI,MAAM;AACR,aAAK,IAAI,EAAE;AACX,aAAK,IAAI,0BAA0B,IAAI,CAAC;AACxC,aAAK,IAAI,EAAE;AAAA,MACb;AACA;AAAA,IACF;AAEA,UAAM,EAAE,OAAO,IAAI;AACnB,UAAM,YAAY,oBAAoB,aAAa,IAAI;AACvD,UAAM,eAAe,OAAO,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ;AAC5D,UAAM,eAAe,OAAO,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ;AAE5D,uBAAmB;AAAA,MACjB,uBAAuB;AAAA,MACvB,uBAAuB;AAAA,IACzB,CAAC;AAED,UAAM,EAAE,eAAe,MAAM,IAAI;AAAA,MAC/B;AAAA,QAAC;AAAA;AAAA,UACC,MAAM;AAAA,UACN,QAAQ,OAAO;AAAA,UACf,cAAc;AAAA,UACd,cAAc;AAAA;AAAA,MAChB;AAAA,IACF;AAEA,UAAM,cAAc;AACpB,UAAM;AAAA,EACR;AACF;","names":[]}
@@ -1,50 +1,37 @@
1
1
  #!/usr/bin/env node
2
- import {
3
- STATUS_MESSAGES
4
- } from "../chunk-ODNDXQH2.js";
5
2
  import {
6
3
  loadSource
7
- } from "../chunk-STMHDOZD.js";
8
- import "../chunk-SBHBBZKF.js";
9
- import "../chunk-IHUY4M22.js";
10
- import "../chunk-QZZJFYUQ.js";
11
- import "../chunk-E5X6RJ4E.js";
4
+ } from "../chunk-F7Z5I6GU.js";
5
+ import "../chunk-REKOWTIB.js";
6
+ import "../chunk-NXGMM5YN.js";
7
+ import "../chunk-FRWKCE6R.js";
8
+ import "../chunk-FIHTAFST.js";
12
9
  import {
13
10
  BaseCommand
14
- } from "../chunk-KR65TPKC.js";
15
- import "../chunk-ZL7PFNHN.js";
11
+ } from "../chunk-X5XJ6WKO.js";
12
+ import "../chunk-TY6CAOL7.js";
13
+ import "../chunk-K3O3YQYG.js";
16
14
  import {
17
- IMPORT_DEFAULTS,
18
- fetchFromSource,
19
- resolveAllSources,
15
+ STATUS_MESSAGES,
20
16
  truncateText
21
- } from "../chunk-EEPELKOM.js";
22
- import {
23
- fileExists,
24
- listDirectories,
25
- parseFrontmatter,
26
- readFile
27
- } from "../chunk-PMM2MYMA.js";
28
- import "../chunk-WKTHWQKM.js";
17
+ } from "../chunk-NXQAY5U7.js";
18
+ import "../chunk-U2YSGBHA.js";
19
+ import "../chunk-35VOK7XE.js";
29
20
  import {
30
21
  typedValues
31
22
  } from "../chunk-VASLW636.js";
32
- import {
33
- DEFAULT_SKILLS_SUBDIR,
34
- STANDARD_FILES
35
- } from "../chunk-76ADG7LQ.js";
36
- import "../chunk-UBEDZ4FD.js";
23
+ import "../chunk-R54KIGN2.js";
24
+ import "../chunk-VZRO7RYT.js";
37
25
 
38
26
  // src/cli/commands/search.ts
39
27
  import { Args } from "@oclif/core";
40
28
  import { printTable } from "@oclif/table";
41
- import path from "path";
42
29
  import { sortBy } from "remeda";
43
30
  var MAX_DESCRIPTION_WIDTH = 50;
44
31
  var PRIMARY_SOURCE_NAME = "marketplace";
45
32
  var Search = class _Search extends BaseCommand {
46
- static summary = "Search the catalog of available skills across all registered sources";
47
- static description = "Read-only catalog browse. Searches every registered source (primary + extras) by id, displayName, slug, description, or category. Use `import skill` to install.";
33
+ static summary = "Search the catalog of available skills";
34
+ static description = "Read-only catalog browse. Searches the marketplace this installation reads from, plus the local skills already on disk, by id, displayName, slug, description, or category. Use `edit` to install what it finds.";
48
35
  static examples = [
49
36
  {
50
37
  description: "Search for React skills",
@@ -61,8 +48,6 @@ var Search = class _Search extends BaseCommand {
61
48
  required: true
62
49
  })
63
50
  };
64
- // Override parent baseFlags to drop --source (search is a zero-flag command)
65
- static baseFlags = {};
66
51
  static flags = {};
67
52
  async run() {
68
53
  const { args } = await this.parse(_Search);
@@ -71,8 +56,7 @@ var Search = class _Search extends BaseCommand {
71
56
  async runSearch(query) {
72
57
  try {
73
58
  this.log(STATUS_MESSAGES.LOADING_SKILLS);
74
- const projectDir = process.cwd();
75
- const allSkills = await loadSkillsFromAllSources(projectDir);
59
+ const allSkills = await loadSearchableSkills();
76
60
  const results = sortBy(
77
61
  allSkills.filter((skill) => matchesQuery(skill, query)),
78
62
  (r) => r.displayName.toLowerCase()
@@ -107,57 +91,12 @@ var Search = class _Search extends BaseCommand {
107
91
  }
108
92
  }
109
93
  };
110
- async function loadSkillsFromAllSources(projectDir) {
111
- const { sourceResult } = await loadSource({ projectDir });
112
- const { matrix } = sourceResult;
113
- const primarySkills = typedValues(matrix.skills).map((skill) => ({
94
+ async function loadSearchableSkills() {
95
+ const { sourceResult } = await loadSource({ projectDir: process.cwd() });
96
+ return typedValues(sourceResult.matrix.skills).map((skill) => ({
114
97
  ...skill,
115
98
  sourceName: PRIMARY_SOURCE_NAME
116
99
  }));
117
- const { extras } = await resolveAllSources(projectDir);
118
- const extraSkillArrays = await Promise.all(extras.map(fetchSkillsFromExternalSource));
119
- return [...primarySkills, ...extraSkillArrays.flat()];
120
- }
121
- async function fetchSkillsFromExternalSource(source) {
122
- try {
123
- const result = await fetchFromSource(source.url, {});
124
- const skillsDir = path.join(result.path, DEFAULT_SKILLS_SUBDIR);
125
- if (!await fileExists(skillsDir)) {
126
- return [];
127
- }
128
- const skillDirs = await listDirectories(skillsDir);
129
- const loaded = await Promise.all(
130
- skillDirs.map((skillDir) => loadExternalSkill(skillsDir, skillDir, source.name))
131
- );
132
- return loaded.filter((skill) => skill !== null);
133
- } catch {
134
- return [];
135
- }
136
- }
137
- async function loadExternalSkill(skillsDir, skillDir, sourceName) {
138
- const skillMdPath = path.join(skillsDir, skillDir, STANDARD_FILES.SKILL_MD);
139
- if (!await fileExists(skillMdPath)) return null;
140
- const content = await readFile(skillMdPath);
141
- const frontmatter = parseFrontmatter(content, skillMdPath);
142
- if (!frontmatter) return null;
143
- return {
144
- id: frontmatter.name,
145
- description: frontmatter.description,
146
- // Boundary cast: directory name used as slug for third-party source skill
147
- slug: skillDir,
148
- displayName: skillDir,
149
- // Boundary cast: external source skills have no real category; "imported" is a display-only placeholder
150
- category: IMPORT_DEFAULTS.CATEGORY,
151
- author: `@${sourceName}`,
152
- conflictsWith: [],
153
- isRecommended: false,
154
- requires: [],
155
- alternatives: [],
156
- discourages: [],
157
- compatibleWith: [],
158
- path: path.join(skillsDir, skillDir),
159
- sourceName
160
- };
161
100
  }
162
101
  function matchesQuery(skill, query) {
163
102
  const lowerQuery = query.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/commands/search.ts"],"sourcesContent":["import { Args } from \"@oclif/core\";\nimport { printTable } from \"@oclif/table\";\nimport path from \"path\";\nimport { sortBy } from \"remeda\";\n\nimport { BaseCommand } from \"../base-command.js\";\nimport { DEFAULT_SKILLS_SUBDIR, STANDARD_FILES } from \"../consts.js\";\nimport { resolveAllSources } from \"../lib/configuration/index.js\";\nimport { fetchFromSource, parseFrontmatter } from \"../lib/loading/index.js\";\nimport { IMPORT_DEFAULTS } from \"../lib/metadata-keys.js\";\nimport { loadSource } from \"../lib/operations/index.js\";\nimport type { SourceEntry } from \"../types/config.js\";\nimport type { ResolvedSkill, SkillSlug } from \"../types/index.js\";\nimport { fileExists, listDirectories, readFile } from \"../utils/fs.js\";\nimport { STATUS_MESSAGES } from \"../utils/messages.js\";\nimport { truncateText } from \"../utils/string.js\";\nimport { typedValues } from \"../utils/typed-object.js\";\n\nconst MAX_DESCRIPTION_WIDTH = 50;\nconst PRIMARY_SOURCE_NAME = \"marketplace\";\n\ntype SearchableSkill = ResolvedSkill & { sourceName: string };\n\nexport default class Search extends BaseCommand {\n static summary = \"Search the catalog of available skills across all registered sources\";\n static description =\n \"Read-only catalog browse. Searches every registered source (primary + extras) \" +\n \"by id, displayName, slug, description, or category. Use `import skill` to install.\";\n\n static examples = [\n {\n description: \"Search for React skills\",\n command: \"<%= config.bin %> search react\",\n },\n {\n description: \"Search by any keyword (matches id, name, description, category)\",\n command: \"<%= config.bin %> search state\",\n },\n ];\n\n static args = {\n query: Args.string({\n description: \"Search query (matches id, displayName, slug, description, category)\",\n required: true,\n }),\n };\n\n // Override parent baseFlags to drop --source (search is a zero-flag command)\n static baseFlags = {} as (typeof BaseCommand)[\"baseFlags\"];\n\n static flags = {};\n\n async run(): Promise<void> {\n const { args } = await this.parse(Search);\n await this.runSearch(args.query);\n }\n\n private async runSearch(query: string): Promise<void> {\n try {\n this.log(STATUS_MESSAGES.LOADING_SKILLS);\n\n const projectDir = process.cwd();\n const allSkills = await loadSkillsFromAllSources(projectDir);\n\n const results = sortBy(\n allSkills.filter((skill) => matchesQuery(skill, query)),\n (r) => r.displayName.toLowerCase(),\n );\n\n this.log(\"\");\n if (results.length === 0) {\n this.warn(`No skills found matching \"${query}\"`);\n return;\n }\n\n this.logInfo(\n `Found ${results.length} skill${results.length === 1 ? \"\" : \"s\"} matching \"${query}\"`,\n );\n this.log(\"\");\n\n printTable({\n data: results.map((skill) => ({\n id: skill.displayName,\n source: skill.sourceName,\n category: skill.category,\n description: truncateText(skill.description, MAX_DESCRIPTION_WIDTH),\n })),\n columns: [\n { key: \"id\", name: \"ID\" },\n { key: \"source\", name: \"Source\" },\n { key: \"category\", name: \"Category\" },\n { key: \"description\", name: \"Description\" },\n ],\n headerOptions: { bold: true },\n });\n this.log(\"\");\n } catch (error) {\n this.handleError(error);\n }\n }\n}\n\nasync function loadSkillsFromAllSources(projectDir: string): Promise<SearchableSkill[]> {\n const { sourceResult } = await loadSource({ projectDir });\n const { matrix } = sourceResult;\n\n const primarySkills: SearchableSkill[] = typedValues(matrix.skills).map((skill) => ({\n ...skill,\n sourceName: PRIMARY_SOURCE_NAME,\n }));\n\n const { extras } = await resolveAllSources(projectDir);\n\n const extraSkillArrays = await Promise.all(extras.map(fetchSkillsFromExternalSource));\n\n return [...primarySkills, ...extraSkillArrays.flat()];\n}\n\nasync function fetchSkillsFromExternalSource(source: SourceEntry): Promise<SearchableSkill[]> {\n try {\n const result = await fetchFromSource(source.url, {});\n const skillsDir = path.join(result.path, DEFAULT_SKILLS_SUBDIR);\n\n if (!(await fileExists(skillsDir))) {\n return [];\n }\n\n const skillDirs = await listDirectories(skillsDir);\n const loaded = await Promise.all(\n skillDirs.map((skillDir) => loadExternalSkill(skillsDir, skillDir, source.name)),\n );\n return loaded.filter((skill) => skill !== null);\n } catch {\n // Source unavailable, return empty\n return [];\n }\n}\n\n/** Loads one external skill dir as a SearchableSkill, or null when it has no valid SKILL.md. */\nasync function loadExternalSkill(\n skillsDir: string,\n skillDir: string,\n sourceName: string,\n): Promise<SearchableSkill | null> {\n const skillMdPath = path.join(skillsDir, skillDir, STANDARD_FILES.SKILL_MD);\n if (!(await fileExists(skillMdPath))) return null;\n\n const content = await readFile(skillMdPath);\n const frontmatter = parseFrontmatter(content, skillMdPath);\n if (!frontmatter) return null;\n\n return {\n id: frontmatter.name,\n description: frontmatter.description,\n // Boundary cast: directory name used as slug for third-party source skill\n slug: skillDir as SkillSlug,\n displayName: skillDir,\n // Boundary cast: external source skills have no real category; \"imported\" is a display-only placeholder\n category: IMPORT_DEFAULTS.CATEGORY,\n author: `@${sourceName}`,\n conflictsWith: [],\n isRecommended: false,\n requires: [],\n alternatives: [],\n discourages: [],\n compatibleWith: [],\n path: path.join(skillsDir, skillDir),\n sourceName,\n };\n}\n\nfunction matchesQuery(skill: ResolvedSkill, query: string): boolean {\n const lowerQuery = query.toLowerCase();\n return [skill.id, skill.displayName, skill.slug, skill.description, skill.category].some(\n (field) => field.toLowerCase().includes(lowerQuery),\n );\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/cli/commands/search.ts"],"sourcesContent":["import { Args } from \"@oclif/core\";\nimport { printTable } from \"@oclif/table\";\nimport { sortBy } from \"remeda\";\n\nimport { BaseCommand } from \"../base-command.js\";\nimport { loadSource } from \"../lib/operations/index.js\";\nimport type { ResolvedSkill } from \"../types/index.js\";\nimport { STATUS_MESSAGES } from \"../utils/messages.js\";\nimport { truncateText } from \"../utils/string.js\";\nimport { typedValues } from \"../utils/typed-object.js\";\n\nconst MAX_DESCRIPTION_WIDTH = 50;\nconst PRIMARY_SOURCE_NAME = \"marketplace\";\n\ntype SearchableSkill = ResolvedSkill & { sourceName: string };\n\nexport default class Search extends BaseCommand {\n static summary = \"Search the catalog of available skills\";\n static description =\n \"Read-only catalog browse. Searches the marketplace this installation reads from, \" +\n \"plus the local skills already on disk, by id, displayName, slug, description, or \" +\n \"category. Use `edit` to install what it finds.\";\n\n static examples = [\n {\n description: \"Search for React skills\",\n command: \"<%= config.bin %> search react\",\n },\n {\n description: \"Search by any keyword (matches id, name, description, category)\",\n command: \"<%= config.bin %> search state\",\n },\n ];\n\n static args = {\n query: Args.string({\n description: \"Search query (matches id, displayName, slug, description, category)\",\n required: true,\n }),\n };\n\n static flags = {};\n\n async run(): Promise<void> {\n const { args } = await this.parse(Search);\n await this.runSearch(args.query);\n }\n\n private async runSearch(query: string): Promise<void> {\n try {\n this.log(STATUS_MESSAGES.LOADING_SKILLS);\n\n const allSkills = await loadSearchableSkills();\n\n const results = sortBy(\n allSkills.filter((skill) => matchesQuery(skill, query)),\n (r) => r.displayName.toLowerCase(),\n );\n\n this.log(\"\");\n if (results.length === 0) {\n this.warn(`No skills found matching \"${query}\"`);\n return;\n }\n\n this.logInfo(\n `Found ${results.length} skill${results.length === 1 ? \"\" : \"s\"} matching \"${query}\"`,\n );\n this.log(\"\");\n\n printTable({\n data: results.map((skill) => ({\n id: skill.displayName,\n source: skill.sourceName,\n category: skill.category,\n description: truncateText(skill.description, MAX_DESCRIPTION_WIDTH),\n })),\n columns: [\n { key: \"id\", name: \"ID\" },\n { key: \"source\", name: \"Source\" },\n { key: \"category\", name: \"Category\" },\n { key: \"description\", name: \"Description\" },\n ],\n headerOptions: { bold: true },\n });\n this.log(\"\");\n } catch (error) {\n this.handleError(error);\n }\n }\n}\n\n/**\n * Every skill the catalog can offer: the marketplace matrix, which `loadSource` has already\n * merged the on-disk local skills into. There is no second source to reach for — the\n * registered-extras array this used to fan out over was withdrawn with the marketplace axis\n * (CLI-450), so the read is one load and no network beyond it.\n */\nasync function loadSearchableSkills(): Promise<SearchableSkill[]> {\n const { sourceResult } = await loadSource({ projectDir: process.cwd() });\n\n return typedValues(sourceResult.matrix.skills).map((skill) => ({\n ...skill,\n sourceName: PRIMARY_SOURCE_NAME,\n }));\n}\n\nfunction matchesQuery(skill: ResolvedSkill, query: string): boolean {\n const lowerQuery = query.toLowerCase();\n return [skill.id, skill.displayName, skill.slug, skill.description, skill.category].some(\n (field) => field.toLowerCase().includes(lowerQuery),\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,cAAc;AASvB,IAAM,wBAAwB;AAC9B,IAAM,sBAAsB;AAI5B,IAAqB,SAArB,MAAqB,gBAAe,YAAY;AAAA,EAC9C,OAAO,UAAU;AAAA,EACjB,OAAO,cACL;AAAA,EAIF,OAAO,WAAW;AAAA,IAChB;AAAA,MACE,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO,OAAO;AAAA,IACZ,OAAO,KAAK,OAAO;AAAA,MACjB,aAAa;AAAA,MACb,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,QAAQ,CAAC;AAAA,EAEhB,MAAM,MAAqB;AACzB,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,MAAM,OAAM;AACxC,UAAM,KAAK,UAAU,KAAK,KAAK;AAAA,EACjC;AAAA,EAEA,MAAc,UAAU,OAA8B;AACpD,QAAI;AACF,WAAK,IAAI,gBAAgB,cAAc;AAEvC,YAAM,YAAY,MAAM,qBAAqB;AAE7C,YAAM,UAAU;AAAA,QACd,UAAU,OAAO,CAAC,UAAU,aAAa,OAAO,KAAK,CAAC;AAAA,QACtD,CAAC,MAAM,EAAE,YAAY,YAAY;AAAA,MACnC;AAEA,WAAK,IAAI,EAAE;AACX,UAAI,QAAQ,WAAW,GAAG;AACxB,aAAK,KAAK,6BAA6B,KAAK,GAAG;AAC/C;AAAA,MACF;AAEA,WAAK;AAAA,QACH,SAAS,QAAQ,MAAM,SAAS,QAAQ,WAAW,IAAI,KAAK,GAAG,cAAc,KAAK;AAAA,MACpF;AACA,WAAK,IAAI,EAAE;AAEX,iBAAW;AAAA,QACT,MAAM,QAAQ,IAAI,CAAC,WAAW;AAAA,UAC5B,IAAI,MAAM;AAAA,UACV,QAAQ,MAAM;AAAA,UACd,UAAU,MAAM;AAAA,UAChB,aAAa,aAAa,MAAM,aAAa,qBAAqB;AAAA,QACpE,EAAE;AAAA,QACF,SAAS;AAAA,UACP,EAAE,KAAK,MAAM,MAAM,KAAK;AAAA,UACxB,EAAE,KAAK,UAAU,MAAM,SAAS;AAAA,UAChC,EAAE,KAAK,YAAY,MAAM,WAAW;AAAA,UACpC,EAAE,KAAK,eAAe,MAAM,cAAc;AAAA,QAC5C;AAAA,QACA,eAAe,EAAE,MAAM,KAAK;AAAA,MAC9B,CAAC;AACD,WAAK,IAAI,EAAE;AAAA,IACb,SAAS,OAAO;AACd,WAAK,YAAY,KAAK;AAAA,IACxB;AAAA,EACF;AACF;AAQA,eAAe,uBAAmD;AAChE,QAAM,EAAE,aAAa,IAAI,MAAM,WAAW,EAAE,YAAY,QAAQ,IAAI,EAAE,CAAC;AAEvE,SAAO,YAAY,aAAa,OAAO,MAAM,EAAE,IAAI,CAAC,WAAW;AAAA,IAC7D,GAAG;AAAA,IACH,YAAY;AAAA,EACd,EAAE;AACJ;AAEA,SAAS,aAAa,OAAsB,OAAwB;AAClE,QAAM,aAAa,MAAM,YAAY;AACrC,SAAO,CAAC,MAAM,IAAI,MAAM,aAAa,MAAM,MAAM,MAAM,aAAa,MAAM,QAAQ,EAAE;AAAA,IAClF,CAAC,UAAU,MAAM,YAAY,EAAE,SAAS,UAAU;AAAA,EACpD;AACF;","names":[]}
@@ -1,34 +1,30 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  Confirm
4
- } from "../chunk-NR3OZGL4.js";
4
+ } from "../chunk-OZXAJNLA.js";
5
5
  import {
6
6
  promptConfirm
7
- } from "../chunk-Q2KG7UV3.js";
8
- import {
9
- INFO_MESSAGES,
10
- SUCCESS_MESSAGES,
11
- registeredProjectUpdateSkipped,
12
- registeredProjectsUpdateFailed,
13
- registeredProjectsUpdated
14
- } from "../chunk-ODNDXQH2.js";
15
- import "../chunk-STMHDOZD.js";
16
- import "../chunk-SBHBBZKF.js";
17
- import "../chunk-IHUY4M22.js";
7
+ } from "../chunk-OJJLYHM3.js";
8
+ import "../chunk-F7Z5I6GU.js";
9
+ import "../chunk-REKOWTIB.js";
10
+ import "../chunk-NXGMM5YN.js";
18
11
  import {
19
12
  loadAgentDefs
20
- } from "../chunk-QZZJFYUQ.js";
13
+ } from "../chunk-FRWKCE6R.js";
21
14
  import {
22
15
  listAgentMdFiles
23
- } from "../chunk-E5X6RJ4E.js";
16
+ } from "../chunk-FIHTAFST.js";
24
17
  import "../chunk-JFLVEFFP.js";
25
18
  import {
26
19
  BaseCommand,
27
20
  EXIT_CODES
28
- } from "../chunk-KR65TPKC.js";
29
- import "../chunk-ZL7PFNHN.js";
21
+ } from "../chunk-X5XJ6WKO.js";
22
+ import "../chunk-TY6CAOL7.js";
23
+ import "../chunk-K3O3YQYG.js";
30
24
  import {
31
25
  ConfigLoadError,
26
+ INFO_MESSAGES,
27
+ SUCCESS_MESSAGES,
32
28
  buildMarketplacePluginRef,
33
29
  claudePluginUninstallBestEffort,
34
30
  getProjectPluginsDir,
@@ -42,17 +38,20 @@ import {
42
38
  parseMarketplacePluginRef,
43
39
  propagateGlobalRemoval,
44
40
  readForkedFromMetadata,
41
+ registeredProjectUpdateSkipped,
42
+ registeredProjectsUpdateFailed,
43
+ registeredProjectsUpdated,
45
44
  resolveInstallPaths,
46
45
  toClaudePluginScope
47
- } from "../chunk-EEPELKOM.js";
46
+ } from "../chunk-NXQAY5U7.js";
48
47
  import {
49
48
  directoryExists,
50
49
  fileExists,
51
50
  getErrorMessage,
52
51
  listDirectories,
53
52
  remove
54
- } from "../chunk-PMM2MYMA.js";
55
- import "../chunk-WKTHWQKM.js";
53
+ } from "../chunk-U2YSGBHA.js";
54
+ import "../chunk-35VOK7XE.js";
56
55
  import "../chunk-VASLW636.js";
57
56
  import {
58
57
  CLAUDE_DIR,
@@ -61,10 +60,11 @@ import {
61
60
  DEFAULT_BRANDING,
62
61
  EJECT_SOURCE,
63
62
  STANDARD_FILES
64
- } from "../chunk-76ADG7LQ.js";
65
- import "../chunk-UBEDZ4FD.js";
63
+ } from "../chunk-R54KIGN2.js";
64
+ import "../chunk-VZRO7RYT.js";
66
65
 
67
66
  // src/cli/commands/uninstall.tsx
67
+ import "react";
68
68
  import { partition } from "remeda";
69
69
  import path from "path";
70
70
  import { readdir } from "fs/promises";
@@ -135,7 +135,6 @@ var Uninstall = class _Uninstall extends BaseCommand {
135
135
  "<%= config.bin %> <%= command.id %> --yes"
136
136
  ];
137
137
  static flags = {
138
- ...BaseCommand.baseFlags,
139
138
  yes: Flags.boolean({
140
139
  char: "y",
141
140
  description: "Skip confirmation prompt",
@@ -288,12 +287,7 @@ var Uninstall = class _Uninstall extends BaseCommand {
288
287
  }
289
288
  if (report.propagated.updated.length === 0) return;
290
289
  this.logSuccess(registeredProjectsUpdated(report.propagated.updated.length));
291
- const { recompiledCount, failedCount, warnings } = report.recompile;
292
- for (const warning of warnings) {
293
- this.warn(warning);
294
- }
295
- const failureSuffix = failedCount > 0 ? ` (${failedCount} failed)` : "";
296
- this.log(`Recompiled agents in ${recompiledCount} registered projects${failureSuffix}`);
290
+ this.reportPropagatedRecompile(report);
297
291
  } catch (error) {
298
292
  this.warn(registeredProjectsUpdateFailed(getErrorMessage(error)));
299
293
  }
@@ -397,8 +391,8 @@ async function detectUninstallTarget(projectDir, onConfigLoadFailed) {
397
391
  }
398
392
  const activeConfig = config ? {
399
393
  ...config,
400
- skills: config.skills?.filter((s) => !s.excluded),
401
- agents: config.agents?.filter((a) => !a.excluded)
394
+ skills: config.skills.filter((s) => !s.excluded),
395
+ agents: config.agents.filter((a) => !a.excluded)
402
396
  } : null;
403
397
  const configuredAgents = collectConfiguredAgents(activeConfig);
404
398
  const cliInstalledKeys = getCliInstalledPluginKeys(activeConfig);
@@ -506,7 +500,7 @@ async function uninstallPlugins(target, projectDir, onUninstalled) {
506
500
  for (const pluginName of target.cliPluginNames) {
507
501
  if (cliAvailable) {
508
502
  const skillId = parseMarketplacePluginRef(pluginName);
509
- const skillConfig = target.config?.skills?.find((s) => s.id === skillId);
503
+ const skillConfig = target.config?.skills.find((s) => s.id === skillId);
510
504
  const primaryScope = toClaudePluginScope(skillConfig?.scope);
511
505
  await claudePluginUninstallBestEffort(pluginName, primaryScope, projectDir);
512
506
  }