@agents-inc/cli 0.48.0 → 0.60.1

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 (306) hide show
  1. package/CHANGELOG.md +181 -5
  2. package/README.md +1 -2
  3. package/dist/{chunk-2DNDAXF6.js → chunk-52M2XF3W.js} +57 -27
  4. package/dist/chunk-52M2XF3W.js.map +1 -0
  5. package/dist/{chunk-WSGKCBY5.js → chunk-52XO4ULK.js} +6 -9
  6. package/dist/chunk-52XO4ULK.js.map +1 -0
  7. package/dist/{chunk-AMNCCZSG.js → chunk-6G3KZSO4.js} +82 -63
  8. package/dist/chunk-6G3KZSO4.js.map +1 -0
  9. package/dist/{chunk-LESHL6SM.js → chunk-6OWHQ7HM.js} +21 -13
  10. package/dist/chunk-6OWHQ7HM.js.map +1 -0
  11. package/dist/{chunk-X3SZIBVW.js → chunk-7FMEMXJ4.js} +71 -71
  12. package/dist/chunk-7FMEMXJ4.js.map +1 -0
  13. package/dist/{chunk-I52THVF6.js → chunk-AJJJE7F7.js} +2 -2
  14. package/dist/{chunk-ZML3OCYA.js → chunk-AX3SZZWA.js} +2 -2
  15. package/dist/{chunk-NJVJ7VO5.js → chunk-BFD5NZQ4.js} +5 -4
  16. package/dist/chunk-BFD5NZQ4.js.map +1 -0
  17. package/dist/{chunk-GSPPOXMG.js → chunk-BKJHAJQW.js} +2 -2
  18. package/dist/{chunk-GSPPOXMG.js.map → chunk-BKJHAJQW.js.map} +1 -1
  19. package/dist/{chunk-FPTUCWBY.js → chunk-BMJZBLP7.js} +46 -30
  20. package/dist/chunk-BMJZBLP7.js.map +1 -0
  21. package/dist/chunk-BNQ5O6LE.js +74 -0
  22. package/dist/chunk-BNQ5O6LE.js.map +1 -0
  23. package/dist/{chunk-W62XVWXB.js → chunk-C577AJE7.js} +3 -3
  24. package/dist/chunk-CIG7IKX3.js +118 -0
  25. package/dist/chunk-CIG7IKX3.js.map +1 -0
  26. package/dist/chunk-EC3UJRKZ.js +1534 -0
  27. package/dist/chunk-EC3UJRKZ.js.map +1 -0
  28. package/dist/{chunk-IS7GP6XC.js → chunk-EMIUPGPL.js} +57 -52
  29. package/dist/chunk-EMIUPGPL.js.map +1 -0
  30. package/dist/chunk-G6WHCALR.js +593 -0
  31. package/dist/chunk-G6WHCALR.js.map +1 -0
  32. package/dist/{chunk-OTTITQ7C.js → chunk-H7WJK7NJ.js} +48 -95
  33. package/dist/chunk-H7WJK7NJ.js.map +1 -0
  34. package/dist/chunk-HGTC76BX.js +16 -0
  35. package/dist/chunk-HGTC76BX.js.map +1 -0
  36. package/dist/{chunk-G5OZQ376.js → chunk-K6OLORQL.js} +6 -6
  37. package/dist/{chunk-OHDEJEYB.js → chunk-KIWFEBKH.js} +41 -11
  38. package/dist/chunk-KIWFEBKH.js.map +1 -0
  39. package/dist/{chunk-YMUWTPOM.js → chunk-LWXRUR6B.js} +92 -100
  40. package/dist/chunk-LWXRUR6B.js.map +1 -0
  41. package/dist/{chunk-U2AEK4ZL.js → chunk-MGNYPVOJ.js} +2 -2
  42. package/dist/chunk-MKCHLXMY.js +40 -0
  43. package/dist/chunk-MKCHLXMY.js.map +1 -0
  44. package/dist/{chunk-37QYD33C.js → chunk-MMFQNJPE.js} +2 -2
  45. package/dist/{chunk-DG2U2WY3.js → chunk-MR6OBL3B.js} +3 -11
  46. package/dist/{chunk-DG2U2WY3.js.map → chunk-MR6OBL3B.js.map} +1 -1
  47. package/dist/{chunk-7IAKVZL5.js → chunk-O6BA7Q2B.js} +28 -59
  48. package/dist/chunk-O6BA7Q2B.js.map +1 -0
  49. package/dist/chunk-OCEFD7V6.js +201 -0
  50. package/dist/chunk-OCEFD7V6.js.map +1 -0
  51. package/dist/{chunk-YZTWZVGX.js → chunk-PUT7X3GA.js} +1 -1
  52. package/dist/chunk-PUT7X3GA.js.map +1 -0
  53. package/dist/chunk-RO6LX3UV.js +342 -0
  54. package/dist/chunk-RO6LX3UV.js.map +1 -0
  55. package/dist/{chunk-34BP5BC4.js → chunk-SDKCQXWE.js} +2 -2
  56. package/dist/{chunk-VBAAATPU.js → chunk-SEJF7CGJ.js} +41 -28
  57. package/dist/chunk-SEJF7CGJ.js.map +1 -0
  58. package/dist/{chunk-5O6GKXAN.js → chunk-SZRK3VOR.js} +24 -14
  59. package/dist/chunk-SZRK3VOR.js.map +1 -0
  60. package/dist/{chunk-5MN5S3DV.js → chunk-TC3NHO34.js} +22 -17
  61. package/dist/chunk-TC3NHO34.js.map +1 -0
  62. package/dist/{chunk-SPVSWDFM.js → chunk-TGLRDEEL.js} +8 -14
  63. package/dist/chunk-TGLRDEEL.js.map +1 -0
  64. package/dist/{chunk-P2SFRDWI.js → chunk-TZXYBG3R.js} +3634 -2875
  65. package/dist/chunk-TZXYBG3R.js.map +1 -0
  66. package/dist/{chunk-2BVZOYJP.js → chunk-VR3CDXDT.js} +2 -6
  67. package/dist/chunk-VR3CDXDT.js.map +1 -0
  68. package/dist/{chunk-KPJJOLAQ.js → chunk-WF6RM73R.js} +272 -40
  69. package/dist/chunk-WF6RM73R.js.map +1 -0
  70. package/dist/chunk-WYVDNGJB.js +31 -0
  71. package/dist/chunk-WYVDNGJB.js.map +1 -0
  72. package/dist/{chunk-F7KTUFGU.js → chunk-X5EG4EFP.js} +3 -2
  73. package/dist/chunk-X5EG4EFP.js.map +1 -0
  74. package/dist/{chunk-FHKNG3UA.js → chunk-XUDTFI4M.js} +2 -2
  75. package/dist/{chunk-AXV7NFFJ.js → chunk-YHCYKUA3.js} +14 -10
  76. package/dist/chunk-YHCYKUA3.js.map +1 -0
  77. package/dist/commands/build/marketplace.js +4 -4
  78. package/dist/commands/build/plugins.js +9 -7
  79. package/dist/commands/build/plugins.js.map +1 -1
  80. package/dist/commands/build/stack.js +13 -10
  81. package/dist/commands/build/stack.js.map +1 -1
  82. package/dist/commands/compile.js +45 -72
  83. package/dist/commands/compile.js.map +1 -1
  84. package/dist/commands/config/index.js +7 -5
  85. package/dist/commands/config/index.js.map +1 -1
  86. package/dist/commands/config/path.js +8 -6
  87. package/dist/commands/config/path.js.map +1 -1
  88. package/dist/commands/config/show.js +7 -5
  89. package/dist/commands/diff.js +9 -7
  90. package/dist/commands/diff.js.map +1 -1
  91. package/dist/commands/doctor.js +20 -16
  92. package/dist/commands/doctor.js.map +1 -1
  93. package/dist/commands/edit.js +196 -94
  94. package/dist/commands/edit.js.map +1 -1
  95. package/dist/commands/eject.js +20 -41
  96. package/dist/commands/eject.js.map +1 -1
  97. package/dist/commands/import/skill.js +10 -18
  98. package/dist/commands/import/skill.js.map +1 -1
  99. package/dist/commands/info.js +21 -20
  100. package/dist/commands/info.js.map +1 -1
  101. package/dist/commands/init.js +41 -435
  102. package/dist/commands/init.js.map +1 -1
  103. package/dist/commands/list.js +8 -6
  104. package/dist/commands/list.js.map +1 -1
  105. package/dist/commands/new/agent.js +28 -15
  106. package/dist/commands/new/agent.js.map +1 -1
  107. package/dist/commands/new/marketplace.js +67 -31
  108. package/dist/commands/new/marketplace.js.map +1 -1
  109. package/dist/commands/new/skill.js +17 -208
  110. package/dist/commands/new/skill.js.map +1 -1
  111. package/dist/commands/outdated.js +16 -10
  112. package/dist/commands/outdated.js.map +1 -1
  113. package/dist/commands/search.js +45 -35
  114. package/dist/commands/search.js.map +1 -1
  115. package/dist/commands/uninstall.js +93 -123
  116. package/dist/commands/uninstall.js.map +1 -1
  117. package/dist/commands/update.js +11 -9
  118. package/dist/commands/update.js.map +1 -1
  119. package/dist/commands/validate.js +42 -267
  120. package/dist/commands/validate.js.map +1 -1
  121. package/dist/components/common/confirm.test.js +4 -4
  122. package/dist/components/skill-search/skill-search.js +3 -3
  123. package/dist/components/wizard/category-grid.js +3 -2
  124. package/dist/components/wizard/category-grid.test.js +113 -59
  125. package/dist/components/wizard/category-grid.test.js.map +1 -1
  126. package/dist/components/wizard/checkbox-grid.js +5 -3
  127. package/dist/components/wizard/checkbox-grid.test.js +6 -5
  128. package/dist/components/wizard/checkbox-grid.test.js.map +1 -1
  129. package/dist/components/wizard/domain-selection.js +12 -9
  130. package/dist/components/wizard/help-modal.js +2 -2
  131. package/dist/components/wizard/menu-item.js +1 -1
  132. package/dist/components/wizard/search-modal.js +2 -2
  133. package/dist/components/wizard/search-modal.test.js +3 -3
  134. package/dist/components/wizard/search-modal.test.js.map +1 -1
  135. package/dist/components/wizard/section-progress.js +2 -2
  136. package/dist/components/wizard/section-progress.test.js +4 -4
  137. package/dist/components/wizard/section-progress.test.js.map +1 -1
  138. package/dist/components/wizard/selection-card.js +2 -2
  139. package/dist/components/wizard/source-grid.js +4 -3
  140. package/dist/components/wizard/source-grid.test.js +5 -4
  141. package/dist/components/wizard/source-grid.test.js.map +1 -1
  142. package/dist/components/wizard/stack-selection.js +9 -8
  143. package/dist/components/wizard/step-agents.js +11 -8
  144. package/dist/components/wizard/step-agents.test.js +20 -18
  145. package/dist/components/wizard/step-agents.test.js.map +1 -1
  146. package/dist/components/wizard/step-build.js +11 -8
  147. package/dist/components/wizard/step-build.test.js +18 -36
  148. package/dist/components/wizard/step-build.test.js.map +1 -1
  149. package/dist/components/wizard/step-confirm.js +4 -4
  150. package/dist/components/wizard/step-confirm.test.js +83 -23
  151. package/dist/components/wizard/step-confirm.test.js.map +1 -1
  152. package/dist/components/wizard/step-refine.js +2 -2
  153. package/dist/components/wizard/step-refine.test.js +3 -3
  154. package/dist/components/wizard/step-settings.js +9 -5
  155. package/dist/components/wizard/step-settings.test.js +13 -9
  156. package/dist/components/wizard/step-settings.test.js.map +1 -1
  157. package/dist/components/wizard/step-sources.js +13 -10
  158. package/dist/components/wizard/step-sources.test.js +19 -16
  159. package/dist/components/wizard/step-sources.test.js.map +1 -1
  160. package/dist/components/wizard/step-stack.js +16 -12
  161. package/dist/components/wizard/step-stack.test.js +18 -14
  162. package/dist/components/wizard/step-stack.test.js.map +1 -1
  163. package/dist/components/wizard/view-title.js +2 -2
  164. package/dist/components/wizard/wizard-layout.js +10 -8
  165. package/dist/components/wizard/wizard-tabs.js +2 -2
  166. package/dist/components/wizard/wizard-tabs.test.js +2 -2
  167. package/dist/components/wizard/wizard.js +29 -25
  168. package/dist/config-exports.js +20 -0
  169. package/dist/config-exports.js.map +1 -0
  170. package/dist/hooks/init.js +56 -3
  171. package/dist/hooks/init.js.map +1 -1
  172. package/dist/loader-2O32KKAQ.js +19 -0
  173. package/dist/source-loader-A6B3NDI4.js +16 -0
  174. package/dist/source-loader-A6B3NDI4.js.map +1 -0
  175. package/dist/source-manager-Q7IQSGIX.js +18 -0
  176. package/dist/source-manager-Q7IQSGIX.js.map +1 -0
  177. package/dist/src/agents/meta/agent-summoner/critical-reminders.md +1 -1
  178. package/dist/src/agents/meta/agent-summoner/critical-requirements.md +1 -1
  179. package/dist/src/agents/meta/agent-summoner/examples.md +2 -2
  180. package/dist/src/agents/meta/agent-summoner/output-format.md +1 -1
  181. package/dist/src/agents/meta/agent-summoner/workflow.md +8 -10
  182. package/{src/agents/meta/documentor/agent.yaml → dist/src/agents/meta/documentor/metadata.yaml} +1 -0
  183. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +2 -2
  184. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +1 -1
  185. package/dist/src/agents/meta/skill-summoner/intro.md +1 -1
  186. package/dist/src/agents/meta/skill-summoner/output-format.md +3 -3
  187. package/dist/src/agents/meta/skill-summoner/workflow.md +8 -8
  188. package/dist/stores/wizard-store.js +6 -5
  189. package/dist/stores/wizard-store.test.js +367 -75
  190. package/dist/stores/wizard-store.test.js.map +1 -1
  191. package/package.json +5 -1
  192. package/src/agents/meta/agent-summoner/critical-reminders.md +1 -1
  193. package/src/agents/meta/agent-summoner/critical-requirements.md +1 -1
  194. package/src/agents/meta/agent-summoner/examples.md +2 -2
  195. package/src/agents/meta/agent-summoner/output-format.md +1 -1
  196. package/src/agents/meta/agent-summoner/workflow.md +8 -10
  197. package/{dist/src/agents/meta/documentor/agent.yaml → src/agents/meta/documentor/metadata.yaml} +1 -0
  198. package/src/agents/meta/skill-summoner/critical-reminders.md +2 -2
  199. package/src/agents/meta/skill-summoner/critical-requirements.md +1 -1
  200. package/src/agents/meta/skill-summoner/intro.md +1 -1
  201. package/src/agents/meta/skill-summoner/output-format.md +3 -3
  202. package/src/agents/meta/skill-summoner/workflow.md +8 -8
  203. package/src/schemas/agent.schema.json +1 -1
  204. package/src/schemas/metadata.schema.json +6 -0
  205. package/src/schemas/project-config.schema.json +0 -3
  206. package/src/schemas/stacks.schema.json +1 -1
  207. package/config/skill-categories.yaml +0 -344
  208. package/config/skill-rules.yaml +0 -740
  209. package/config/stacks.yaml +0 -1865
  210. package/dist/chunk-2BVZOYJP.js.map +0 -1
  211. package/dist/chunk-2DNDAXF6.js.map +0 -1
  212. package/dist/chunk-5MN5S3DV.js.map +0 -1
  213. package/dist/chunk-5O6GKXAN.js.map +0 -1
  214. package/dist/chunk-7IAKVZL5.js.map +0 -1
  215. package/dist/chunk-AMNCCZSG.js.map +0 -1
  216. package/dist/chunk-AXV7NFFJ.js.map +0 -1
  217. package/dist/chunk-AXZNJ5PN.js +0 -99
  218. package/dist/chunk-AXZNJ5PN.js.map +0 -1
  219. package/dist/chunk-C7DLY64D.js +0 -115
  220. package/dist/chunk-C7DLY64D.js.map +0 -1
  221. package/dist/chunk-F7KTUFGU.js.map +0 -1
  222. package/dist/chunk-FPTUCWBY.js.map +0 -1
  223. package/dist/chunk-IS7GP6XC.js.map +0 -1
  224. package/dist/chunk-KPJJOLAQ.js.map +0 -1
  225. package/dist/chunk-LESHL6SM.js.map +0 -1
  226. package/dist/chunk-NJVJ7VO5.js.map +0 -1
  227. package/dist/chunk-OHDEJEYB.js.map +0 -1
  228. package/dist/chunk-OTTITQ7C.js.map +0 -1
  229. package/dist/chunk-P2SFRDWI.js.map +0 -1
  230. package/dist/chunk-PY2XZUBF.js +0 -29
  231. package/dist/chunk-PY2XZUBF.js.map +0 -1
  232. package/dist/chunk-SPVSWDFM.js.map +0 -1
  233. package/dist/chunk-VBAAATPU.js.map +0 -1
  234. package/dist/chunk-WSGKCBY5.js.map +0 -1
  235. package/dist/chunk-X3SZIBVW.js.map +0 -1
  236. package/dist/chunk-YDASDMTH.js +0 -183
  237. package/dist/chunk-YDASDMTH.js.map +0 -1
  238. package/dist/chunk-YMUWTPOM.js.map +0 -1
  239. package/dist/chunk-YZTWZVGX.js.map +0 -1
  240. package/dist/commands/config/get.js +0 -61
  241. package/dist/commands/config/get.js.map +0 -1
  242. package/dist/commands/config/set-project.js +0 -61
  243. package/dist/commands/config/set-project.js.map +0 -1
  244. package/dist/commands/config/unset-project.js +0 -57
  245. package/dist/commands/config/unset-project.js.map +0 -1
  246. package/dist/config/skill-categories.yaml +0 -344
  247. package/dist/config/skill-rules.yaml +0 -740
  248. package/dist/config/stacks.yaml +0 -1865
  249. package/dist/source-manager-Y7R6WPOW.js +0 -16
  250. package/dist/src/agents/migration/cli-migrator/agent.yaml +0 -12
  251. package/dist/src/agents/migration/cli-migrator/anti-patterns.md +0 -158
  252. package/dist/src/agents/migration/cli-migrator/conversion-mappings.md +0 -63
  253. package/dist/src/agents/migration/cli-migrator/critical-reminders.md +0 -17
  254. package/dist/src/agents/migration/cli-migrator/critical-requirements.md +0 -13
  255. package/dist/src/agents/migration/cli-migrator/intro.md +0 -15
  256. package/dist/src/agents/migration/cli-migrator/output-format.md +0 -164
  257. package/dist/src/agents/migration/cli-migrator/workflow.md +0 -230
  258. package/src/agents/migration/cli-migrator/agent.yaml +0 -12
  259. package/src/agents/migration/cli-migrator/anti-patterns.md +0 -158
  260. package/src/agents/migration/cli-migrator/conversion-mappings.md +0 -63
  261. package/src/agents/migration/cli-migrator/critical-reminders.md +0 -17
  262. package/src/agents/migration/cli-migrator/critical-requirements.md +0 -13
  263. package/src/agents/migration/cli-migrator/intro.md +0 -15
  264. package/src/agents/migration/cli-migrator/output-format.md +0 -164
  265. package/src/agents/migration/cli-migrator/workflow.md +0 -230
  266. /package/dist/{chunk-I52THVF6.js.map → chunk-AJJJE7F7.js.map} +0 -0
  267. /package/dist/{chunk-ZML3OCYA.js.map → chunk-AX3SZZWA.js.map} +0 -0
  268. /package/dist/{chunk-W62XVWXB.js.map → chunk-C577AJE7.js.map} +0 -0
  269. /package/dist/{chunk-G5OZQ376.js.map → chunk-K6OLORQL.js.map} +0 -0
  270. /package/dist/{chunk-U2AEK4ZL.js.map → chunk-MGNYPVOJ.js.map} +0 -0
  271. /package/dist/{chunk-37QYD33C.js.map → chunk-MMFQNJPE.js.map} +0 -0
  272. /package/dist/{chunk-34BP5BC4.js.map → chunk-SDKCQXWE.js.map} +0 -0
  273. /package/dist/{chunk-FHKNG3UA.js.map → chunk-XUDTFI4M.js.map} +0 -0
  274. /package/dist/{source-manager-Y7R6WPOW.js.map → loader-2O32KKAQ.js.map} +0 -0
  275. /package/dist/src/agents/developer/api-developer/{agent.yaml → metadata.yaml} +0 -0
  276. /package/dist/src/agents/developer/cli-developer/{agent.yaml → metadata.yaml} +0 -0
  277. /package/dist/src/agents/developer/web-architecture/{agent.yaml → metadata.yaml} +0 -0
  278. /package/dist/src/agents/developer/web-developer/{agent.yaml → metadata.yaml} +0 -0
  279. /package/dist/src/agents/meta/agent-summoner/{agent.yaml → metadata.yaml} +0 -0
  280. /package/dist/src/agents/meta/skill-summoner/{agent.yaml → metadata.yaml} +0 -0
  281. /package/dist/src/agents/pattern/pattern-scout/{agent.yaml → metadata.yaml} +0 -0
  282. /package/dist/src/agents/pattern/web-pattern-critique/{agent.yaml → metadata.yaml} +0 -0
  283. /package/dist/src/agents/planning/web-pm/{agent.yaml → metadata.yaml} +0 -0
  284. /package/dist/src/agents/researcher/api-researcher/{agent.yaml → metadata.yaml} +0 -0
  285. /package/dist/src/agents/researcher/web-researcher/{agent.yaml → metadata.yaml} +0 -0
  286. /package/dist/src/agents/reviewer/api-reviewer/{agent.yaml → metadata.yaml} +0 -0
  287. /package/dist/src/agents/reviewer/cli-reviewer/{agent.yaml → metadata.yaml} +0 -0
  288. /package/dist/src/agents/reviewer/web-reviewer/{agent.yaml → metadata.yaml} +0 -0
  289. /package/dist/src/agents/tester/cli-tester/{agent.yaml → metadata.yaml} +0 -0
  290. /package/dist/src/agents/tester/web-tester/{agent.yaml → metadata.yaml} +0 -0
  291. /package/src/agents/developer/api-developer/{agent.yaml → metadata.yaml} +0 -0
  292. /package/src/agents/developer/cli-developer/{agent.yaml → metadata.yaml} +0 -0
  293. /package/src/agents/developer/web-architecture/{agent.yaml → metadata.yaml} +0 -0
  294. /package/src/agents/developer/web-developer/{agent.yaml → metadata.yaml} +0 -0
  295. /package/src/agents/meta/agent-summoner/{agent.yaml → metadata.yaml} +0 -0
  296. /package/src/agents/meta/skill-summoner/{agent.yaml → metadata.yaml} +0 -0
  297. /package/src/agents/pattern/pattern-scout/{agent.yaml → metadata.yaml} +0 -0
  298. /package/src/agents/pattern/web-pattern-critique/{agent.yaml → metadata.yaml} +0 -0
  299. /package/src/agents/planning/web-pm/{agent.yaml → metadata.yaml} +0 -0
  300. /package/src/agents/researcher/api-researcher/{agent.yaml → metadata.yaml} +0 -0
  301. /package/src/agents/researcher/web-researcher/{agent.yaml → metadata.yaml} +0 -0
  302. /package/src/agents/reviewer/api-reviewer/{agent.yaml → metadata.yaml} +0 -0
  303. /package/src/agents/reviewer/cli-reviewer/{agent.yaml → metadata.yaml} +0 -0
  304. /package/src/agents/reviewer/web-reviewer/{agent.yaml → metadata.yaml} +0 -0
  305. /package/src/agents/tester/cli-tester/{agent.yaml → metadata.yaml} +0 -0
  306. /package/src/agents/tester/web-tester/{agent.yaml → metadata.yaml} +0 -0
@@ -8,7 +8,7 @@ import {
8
8
  RENDER_DELAY_MS,
9
9
  TAB,
10
10
  delay
11
- } from "../../chunk-YZTWZVGX.js";
11
+ } from "../../chunk-PUT7X3GA.js";
12
12
  import {
13
13
  render
14
14
  } from "../../chunk-66UDJBF6.js";
@@ -21,9 +21,10 @@ import {
21
21
  } from "../../chunk-XY3XDVMI.js";
22
22
  import {
23
23
  CategoryGrid
24
- } from "../../chunk-OTTITQ7C.js";
24
+ } from "../../chunk-H7WJK7NJ.js";
25
25
  import "../../chunk-GG4BSB6S.js";
26
- import "../../chunk-LESHL6SM.js";
26
+ import "../../chunk-BNQ5O6LE.js";
27
+ import "../../chunk-6OWHQ7HM.js";
27
28
  import {
28
29
  init_esm_shims
29
30
  } from "../../chunk-DHET7RCE.js";
@@ -186,7 +187,6 @@ var defaultProps = {
186
187
  defaultFocusedRow: 0,
187
188
  defaultFocusedCol: 0,
188
189
  showLabels: false,
189
- expertMode: false,
190
190
  onToggle: vi.fn(),
191
191
  onFocusChange: vi.fn(),
192
192
  onToggleLabels: vi.fn()
@@ -274,11 +274,11 @@ describe("CategoryGrid component", () => {
274
274
  const output = lastFrame();
275
275
  globalExpect(output).not.toContain("\u26A0");
276
276
  });
277
- it("should show disabled options with dimmed styling", () => {
277
+ it("should show discouraged options with warning styling", () => {
278
278
  const categories = [
279
279
  createCategory("web-testing", "Test", [
280
280
  createOption("web-forms-react-hook-form", "Option 1"),
281
- createOption("web-forms-vee-validate", "Option 2", { state: "disabled" })
281
+ createOption("web-forms-vee-validate", "Option 2", { state: "discouraged" })
282
282
  ])
283
283
  ];
284
284
  const { lastFrame, unmount } = renderGrid({ categories });
@@ -311,26 +311,26 @@ describe("CategoryGrid component", () => {
311
311
  const output = lastFrame();
312
312
  globalExpect(output).toContain("Unselected Skill");
313
313
  });
314
- it("should render disabled skills with label text", () => {
314
+ it("should render discouraged skills with label text", () => {
315
315
  const categories = [
316
316
  createCategory("web-forms", "Forms", [
317
- createOption("web-forms-react-hook-form", "Disabled Skill", { state: "disabled" })
317
+ createOption("web-forms-react-hook-form", "Discouraged Skill", { state: "discouraged" })
318
318
  ])
319
319
  ];
320
320
  const { lastFrame, unmount } = renderGrid({ categories });
321
321
  cleanup = unmount;
322
322
  const output = lastFrame();
323
- globalExpect(output).toContain("Disabled Skill");
323
+ globalExpect(output).toContain("Discouraged Skill");
324
324
  });
325
- it("should render disabled+selected skills with label text", () => {
325
+ it("should render discouraged+selected skills with label text", () => {
326
326
  const categories = [
327
327
  createCategory("web-forms", "Forms", [
328
- createOption("web-forms-react-hook-form", "Disabled Selected", {
329
- state: "disabled",
328
+ createOption("web-forms-react-hook-form", "Discouraged Selected", {
329
+ state: "discouraged",
330
330
  selected: true
331
331
  }),
332
- createOption("web-forms-vee-validate", "Disabled Only", {
333
- state: "disabled",
332
+ createOption("web-forms-vee-validate", "Discouraged Only", {
333
+ state: "discouraged",
334
334
  selected: false
335
335
  })
336
336
  ])
@@ -338,8 +338,8 @@ describe("CategoryGrid component", () => {
338
338
  const { lastFrame, unmount } = renderGrid({ categories });
339
339
  cleanup = unmount;
340
340
  const output = lastFrame();
341
- globalExpect(output).toContain("Disabled Selected");
342
- globalExpect(output).toContain("Disabled Only");
341
+ globalExpect(output).toContain("Discouraged Selected");
342
+ globalExpect(output).toContain("Discouraged Only");
343
343
  });
344
344
  it("should render discouraged skills with label text", () => {
345
345
  const categories = [
@@ -359,7 +359,7 @@ describe("CategoryGrid component", () => {
359
359
  createOption("web-forms-vee-validate", "Inactive", { selected: false })
360
360
  ])
361
361
  ];
362
- const { lastFrame, unmount } = renderGrid({ categories, expertMode: true });
362
+ const { lastFrame, unmount } = renderGrid({ categories });
363
363
  cleanup = unmount;
364
364
  const output = lastFrame();
365
365
  globalExpect(output).toContain("Active");
@@ -646,7 +646,6 @@ describe("CategoryGrid component", () => {
646
646
  defaultFocusedRow: 0,
647
647
  defaultFocusedCol: 0,
648
648
  // react (selected)
649
- expertMode: true,
650
649
  onToggle
651
650
  });
652
651
  cleanup = unmount;
@@ -655,26 +654,25 @@ describe("CategoryGrid component", () => {
655
654
  await delay(INPUT_DELAY_MS);
656
655
  globalExpect(onToggle).toHaveBeenCalledWith("web-framework", "web-framework-react");
657
656
  });
658
- it("should NOT call onToggle when all options in a category are disabled", async () => {
657
+ it("should call onToggle for discouraged options (still selectable)", async () => {
659
658
  const onToggle = vi.fn();
660
659
  const categories = [
661
660
  createCategory("web-testing", "Test", [
662
- createOption("web-forms-react-hook-form", "Option 1", { state: "disabled" }),
663
- createOption("web-forms-vee-validate", "Option 2", { state: "disabled" })
661
+ createOption("web-forms-react-hook-form", "Option 1", { state: "discouraged" }),
662
+ createOption("web-forms-vee-validate", "Option 2", { state: "discouraged" })
664
663
  ])
665
664
  ];
666
665
  const { stdin, unmount } = renderGrid({
667
666
  categories,
668
667
  defaultFocusedRow: 0,
669
668
  defaultFocusedCol: 0,
670
- expertMode: true,
671
669
  onToggle
672
670
  });
673
671
  cleanup = unmount;
674
672
  await delay(RENDER_DELAY_MS);
675
673
  await stdin.write(" ");
676
674
  await delay(INPUT_DELAY_MS);
677
- globalExpect(onToggle).not.toHaveBeenCalled();
675
+ globalExpect(onToggle).toHaveBeenCalled();
678
676
  });
679
677
  it("should bounce focus away from locked sections on mount", async () => {
680
678
  const onFocusChange = vi.fn();
@@ -689,13 +687,13 @@ describe("CategoryGrid component", () => {
689
687
  globalExpect(onFocusChange).toHaveBeenCalledWith(0, 0);
690
688
  });
691
689
  });
692
- describe("disabled options navigation", () => {
693
- it("should navigate to disabled options when navigating right", async () => {
690
+ describe("discouraged options navigation", () => {
691
+ it("should navigate to discouraged options when navigating right", async () => {
694
692
  const onFocusChange = vi.fn();
695
693
  const categories = [
696
694
  createCategory("web-testing", "Test", [
697
695
  createOption("web-forms-react-hook-form", "Option 1"),
698
- createOption("web-forms-vee-validate", "Option 2", { state: "disabled" }),
696
+ createOption("web-forms-vee-validate", "Option 2", { state: "discouraged" }),
699
697
  createOption("web-forms-zod-validation", "Option 3")
700
698
  ])
701
699
  ];
@@ -703,7 +701,6 @@ describe("CategoryGrid component", () => {
703
701
  categories,
704
702
  defaultFocusedRow: 0,
705
703
  defaultFocusedCol: 0,
706
- expertMode: true,
707
704
  onFocusChange
708
705
  });
709
706
  cleanup = unmount;
@@ -712,12 +709,12 @@ describe("CategoryGrid component", () => {
712
709
  await delay(INPUT_DELAY_MS);
713
710
  globalExpect(onFocusChange).toHaveBeenCalledWith(0, 1);
714
711
  });
715
- it("should navigate to disabled options when navigating left", async () => {
712
+ it("should navigate to discouraged options when navigating left", async () => {
716
713
  const onFocusChange = vi.fn();
717
714
  const categories = [
718
715
  createCategory("web-testing", "Test", [
719
716
  createOption("web-forms-react-hook-form", "Option 1"),
720
- createOption("web-forms-vee-validate", "Option 2", { state: "disabled" }),
717
+ createOption("web-forms-vee-validate", "Option 2", { state: "discouraged" }),
721
718
  createOption("web-forms-zod-validation", "Option 3")
722
719
  ])
723
720
  ];
@@ -725,8 +722,7 @@ describe("CategoryGrid component", () => {
725
722
  categories,
726
723
  defaultFocusedRow: 0,
727
724
  defaultFocusedCol: 2,
728
- // Start at opt2 (disabled, sorted to end)
729
- expertMode: true,
725
+ // Start at opt3 (index 2)
730
726
  onFocusChange
731
727
  });
732
728
  cleanup = unmount;
@@ -735,19 +731,18 @@ describe("CategoryGrid component", () => {
735
731
  await delay(INPUT_DELAY_MS);
736
732
  globalExpect(onFocusChange).toHaveBeenCalledWith(0, 1);
737
733
  });
738
- it("should navigate between all-disabled options in a row", async () => {
734
+ it("should navigate between all-discouraged options in a row", async () => {
739
735
  const onFocusChange = vi.fn();
740
736
  const categories = [
741
737
  createCategory("web-testing", "Test", [
742
- createOption("web-forms-react-hook-form", "Option 1", { state: "disabled" }),
743
- createOption("web-forms-vee-validate", "Option 2", { state: "disabled" })
738
+ createOption("web-forms-react-hook-form", "Option 1", { state: "discouraged" }),
739
+ createOption("web-forms-vee-validate", "Option 2", { state: "discouraged" })
744
740
  ])
745
741
  ];
746
742
  const { stdin, unmount } = renderGrid({
747
743
  categories,
748
744
  defaultFocusedRow: 0,
749
745
  defaultFocusedCol: 0,
750
- expertMode: true,
751
746
  onFocusChange
752
747
  });
753
748
  cleanup = unmount;
@@ -834,41 +829,100 @@ describe("CategoryGrid component", () => {
834
829
  globalExpect(output).not.toContain("(recommended)");
835
830
  globalExpect(output).not.toContain("(selected)");
836
831
  globalExpect(output).not.toContain("(discouraged)");
837
- globalExpect(output).not.toContain("(disabled)");
838
832
  });
839
- it("should show Disabled label for disabled options when showLabels is true", () => {
833
+ it("should show discouraged label for discouraged options when showLabels is true", () => {
840
834
  const categories = [
841
835
  createCategory("web-testing", "Test", [
842
836
  createOption("web-forms-react-hook-form", "Option 1"),
843
- createOption("web-forms-vee-validate", "Option 2", { state: "disabled" })
837
+ createOption("web-forms-vee-validate", "Option 2", { state: "discouraged" })
844
838
  ])
845
839
  ];
846
840
  const { lastFrame, unmount } = renderGrid({ categories, showLabels: true });
847
841
  cleanup = unmount;
848
842
  const output = lastFrame();
849
- globalExpect(output).toContain("(disabled)");
850
- });
851
- });
852
- describe("expert mode", () => {
853
- it("should not handle expert mode toggle locally (handled globally)", () => {
854
- const { lastFrame, unmount } = renderGrid();
855
- cleanup = unmount;
856
- const output = lastFrame();
857
- globalExpect(output).not.toContain("[e] Expert Mode");
843
+ globalExpect(output).toContain("(discouraged)");
858
844
  });
859
845
  });
860
846
  describe("option ordering", () => {
861
847
  it("should preserve original order regardless of state", () => {
862
- const { lastFrame, unmount } = renderGrid({ expertMode: false });
863
- cleanup = unmount;
864
- const output = lastFrame();
865
- globalExpect(output).toBeDefined();
866
- });
867
- it("should preserve original order in expert mode", () => {
868
- const { lastFrame, unmount } = renderGrid({ expertMode: true });
848
+ const categories = [
849
+ createCategory("web-client-state", "State", [
850
+ createOption("web-state-jotai", "Jotai"),
851
+ createOption("web-state-zustand", "Zustand", { state: "recommended" }),
852
+ createOption("web-state-redux-toolkit", "Redux", { state: "discouraged" }),
853
+ createOption("web-state-mobx", "MobX")
854
+ ])
855
+ ];
856
+ const { lastFrame, unmount } = renderGrid({ categories });
869
857
  cleanup = unmount;
870
858
  const output = lastFrame();
871
- globalExpect(output).toBeDefined();
859
+ const jotaiIdx = output.indexOf("Jotai");
860
+ const zustandIdx = output.indexOf("Zustand");
861
+ const reduxIdx = output.indexOf("Redux");
862
+ const mobxIdx = output.indexOf("MobX");
863
+ globalExpect(jotaiIdx).toBeLessThan(zustandIdx);
864
+ globalExpect(zustandIdx).toBeLessThan(reduxIdx);
865
+ globalExpect(reduxIdx).toBeLessThan(mobxIdx);
866
+ });
867
+ it("should not change order when a skill is selected", () => {
868
+ const categoriesBefore = [
869
+ createCategory("web-client-state", "State", [
870
+ createOption("web-state-jotai", "Jotai"),
871
+ createOption("web-state-zustand", "Zustand"),
872
+ createOption("web-state-redux-toolkit", "Redux")
873
+ ])
874
+ ];
875
+ const categoriesAfter = [
876
+ createCategory("web-client-state", "State", [
877
+ createOption("web-state-jotai", "Jotai"),
878
+ createOption("web-state-zustand", "Zustand", { selected: true }),
879
+ createOption("web-state-redux-toolkit", "Redux")
880
+ ])
881
+ ];
882
+ const { lastFrame: frameBefore, unmount: unmountBefore } = renderGrid({
883
+ categories: categoriesBefore
884
+ });
885
+ const outputBefore = frameBefore();
886
+ unmountBefore();
887
+ const { lastFrame: frameAfter, unmount: unmountAfter } = renderGrid({
888
+ categories: categoriesAfter
889
+ });
890
+ cleanup = unmountAfter;
891
+ const outputAfter = frameAfter();
892
+ globalExpect(outputBefore.indexOf("Jotai")).toBeLessThan(outputBefore.indexOf("Zustand"));
893
+ globalExpect(outputBefore.indexOf("Zustand")).toBeLessThan(outputBefore.indexOf("Redux"));
894
+ globalExpect(outputAfter.indexOf("Jotai")).toBeLessThan(outputAfter.indexOf("Zustand"));
895
+ globalExpect(outputAfter.indexOf("Zustand")).toBeLessThan(outputAfter.indexOf("Redux"));
896
+ });
897
+ it("should not change order when a skill state changes from normal to discouraged", () => {
898
+ const categoriesBefore = [
899
+ createCategory("web-client-state", "State", [
900
+ createOption("web-state-jotai", "Jotai"),
901
+ createOption("web-state-zustand", "Zustand"),
902
+ createOption("web-state-redux-toolkit", "Redux")
903
+ ])
904
+ ];
905
+ const categoriesAfter = [
906
+ createCategory("web-client-state", "State", [
907
+ createOption("web-state-jotai", "Jotai"),
908
+ createOption("web-state-zustand", "Zustand", { state: "discouraged" }),
909
+ createOption("web-state-redux-toolkit", "Redux")
910
+ ])
911
+ ];
912
+ const { lastFrame: frameBefore, unmount: unmountBefore } = renderGrid({
913
+ categories: categoriesBefore
914
+ });
915
+ const outputBefore = frameBefore();
916
+ unmountBefore();
917
+ const { lastFrame: frameAfter, unmount: unmountAfter } = renderGrid({
918
+ categories: categoriesAfter
919
+ });
920
+ cleanup = unmountAfter;
921
+ const outputAfter = frameAfter();
922
+ globalExpect(outputBefore.indexOf("Jotai")).toBeLessThan(outputBefore.indexOf("Zustand"));
923
+ globalExpect(outputBefore.indexOf("Zustand")).toBeLessThan(outputBefore.indexOf("Redux"));
924
+ globalExpect(outputAfter.indexOf("Jotai")).toBeLessThan(outputAfter.indexOf("Zustand"));
925
+ globalExpect(outputAfter.indexOf("Zustand")).toBeLessThan(outputAfter.indexOf("Redux"));
872
926
  });
873
927
  });
874
928
  describe("edge cases", () => {
@@ -1138,7 +1192,7 @@ describe("CategoryGrid component", () => {
1138
1192
  const output = lastFrame();
1139
1193
  globalExpect(output).toContain("(0 selected)");
1140
1194
  });
1141
- it("should hide counter in expert mode", () => {
1195
+ it("should always show selection counter", () => {
1142
1196
  const categories = [
1143
1197
  createCategory(
1144
1198
  "web-framework",
@@ -1153,11 +1207,11 @@ describe("CategoryGrid component", () => {
1153
1207
  { exclusive: false }
1154
1208
  )
1155
1209
  ];
1156
- const { lastFrame, unmount } = renderGrid({ categories, expertMode: true });
1210
+ const { lastFrame, unmount } = renderGrid({ categories });
1157
1211
  cleanup = unmount;
1158
1212
  const output = lastFrame();
1159
- globalExpect(output).not.toContain("of 1");
1160
- globalExpect(output).not.toContain("selected");
1213
+ globalExpect(output).toContain("1 of 1");
1214
+ globalExpect(output).toContain("1 selected");
1161
1215
  });
1162
1216
  it("should show correct counts for mixed exclusive and non-exclusive categories", () => {
1163
1217
  const categories = [