@agents-inc/cli 0.32.1 → 0.35.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 (225) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +7 -7
  3. package/config/skills-matrix.yaml +10 -10
  4. package/config/stacks.yaml +9 -9
  5. package/dist/{chunk-IZZ4IIEG.js → chunk-5LPPIT6H.js} +4 -4
  6. package/dist/{chunk-Z4TWOP3H.js → chunk-5YNZJ5TP.js} +2 -2
  7. package/dist/chunk-AQQVSNUX.js +33 -0
  8. package/dist/chunk-AQQVSNUX.js.map +1 -0
  9. package/dist/{chunk-ODUOU55D.js → chunk-BLLXNFWP.js} +2 -2
  10. package/dist/{chunk-YND42IXK.js → chunk-BPD4VUAU.js} +12 -10
  11. package/dist/chunk-BPD4VUAU.js.map +1 -0
  12. package/dist/{chunk-4RAY5AOI.js → chunk-CEWNZQMH.js} +3 -3
  13. package/dist/{chunk-WEUVWHMA.js → chunk-CXWPUVA7.js} +16 -11
  14. package/dist/chunk-CXWPUVA7.js.map +1 -0
  15. package/dist/{chunk-R74PZWQS.js → chunk-GGHH3KR2.js} +5 -5
  16. package/dist/chunk-GGHH3KR2.js.map +1 -0
  17. package/dist/chunk-HTTPKSL6.js +31 -0
  18. package/dist/chunk-HTTPKSL6.js.map +1 -0
  19. package/dist/{chunk-A27LOC4Z.js → chunk-IG7CUREJ.js} +3 -3
  20. package/dist/{chunk-FJQRVFMB.js → chunk-JXMRTHDT.js} +2 -2
  21. package/dist/{chunk-JMVWYAHT.js → chunk-KUV24B5M.js} +4 -4
  22. package/dist/chunk-KUV24B5M.js.map +1 -0
  23. package/dist/{chunk-B2UBHA66.js → chunk-KWF6D7ZP.js} +38 -36
  24. package/dist/chunk-KWF6D7ZP.js.map +1 -0
  25. package/dist/{chunk-IYG2LAIM.js → chunk-LFHZBF6N.js} +5 -17
  26. package/dist/chunk-LFHZBF6N.js.map +1 -0
  27. package/dist/{chunk-SO22IQPY.js → chunk-MZB3GGOH.js} +2 -2
  28. package/dist/chunk-MZB3GGOH.js.map +1 -0
  29. package/dist/{chunk-W2ZSCZ2U.js → chunk-NJ775OJ4.js} +4 -4
  30. package/dist/chunk-NVQEHRJY.js +120 -0
  31. package/dist/chunk-NVQEHRJY.js.map +1 -0
  32. package/dist/{chunk-LGUI3PMO.js → chunk-OGJ7DFCL.js} +9 -9
  33. package/dist/chunk-OGJ7DFCL.js.map +1 -0
  34. package/dist/{chunk-3ZOIOVKT.js → chunk-OGXSTJP2.js} +4 -4
  35. package/dist/chunk-OGXSTJP2.js.map +1 -0
  36. package/dist/{chunk-BZN2Z5P7.js → chunk-OI4WBRC7.js} +12 -3
  37. package/dist/chunk-OI4WBRC7.js.map +1 -0
  38. package/dist/{chunk-OGJIZ6QH.js → chunk-OKILA27U.js} +122 -232
  39. package/dist/chunk-OKILA27U.js.map +1 -0
  40. package/dist/{chunk-PBEHPQLK.js → chunk-PKUIO2Z7.js} +57 -21
  41. package/dist/chunk-PKUIO2Z7.js.map +1 -0
  42. package/dist/{chunk-5PIKNCZX.js → chunk-U36YCEBK.js} +79 -39
  43. package/dist/chunk-U36YCEBK.js.map +1 -0
  44. package/dist/{chunk-OMV7TLWD.js → chunk-UFUQUFV6.js} +23 -107
  45. package/dist/chunk-UFUQUFV6.js.map +1 -0
  46. package/dist/{chunk-R3XFQKPG.js → chunk-VEZ2GZEK.js} +2 -2
  47. package/dist/{chunk-MM7NK5N2.js → chunk-WMVGRAFB.js} +2896 -2945
  48. package/dist/chunk-WMVGRAFB.js.map +1 -0
  49. package/dist/{chunk-UX2H2K2G.js → chunk-XNQJBQ5X.js} +2 -2
  50. package/dist/{chunk-EMJ2ZKS7.js → chunk-XYCN2GCV.js} +3 -3
  51. package/dist/{chunk-LAPCUV4D.js → chunk-YCS7GF6Y.js} +2 -4
  52. package/dist/chunk-YCS7GF6Y.js.map +1 -0
  53. package/dist/{chunk-UICL22RT.js → chunk-YIKBNGE3.js} +4 -4
  54. package/dist/{chunk-BZQBJP34.js → chunk-YN35L5NE.js} +2 -2
  55. package/dist/chunk-YN35L5NE.js.map +1 -0
  56. package/dist/{chunk-QPTOIZAT.js → chunk-YPJKOM42.js} +2 -2
  57. package/dist/{chunk-FZGYSLJL.js → chunk-ZE355C6C.js} +2 -2
  58. package/dist/commands/build/marketplace.js +3 -3
  59. package/dist/commands/build/plugins.js +5 -5
  60. package/dist/commands/build/stack.js +5 -5
  61. package/dist/commands/compile.js +20 -9
  62. package/dist/commands/compile.js.map +1 -1
  63. package/dist/commands/config/get.js +4 -4
  64. package/dist/commands/config/index.js +5 -5
  65. package/dist/commands/config/path.js +4 -4
  66. package/dist/commands/config/set-project.js +4 -4
  67. package/dist/commands/config/show.js +5 -5
  68. package/dist/commands/config/unset-project.js +4 -4
  69. package/dist/commands/diff.js +5 -5
  70. package/dist/commands/diff.js.map +1 -1
  71. package/dist/commands/doctor.js +7 -7
  72. package/dist/commands/doctor.js.map +1 -1
  73. package/dist/commands/edit.js +35 -32
  74. package/dist/commands/edit.js.map +1 -1
  75. package/dist/commands/eject.js +5 -5
  76. package/dist/commands/eject.js.map +1 -1
  77. package/dist/commands/import/skill.js +5 -5
  78. package/dist/commands/info.js +6 -6
  79. package/dist/commands/info.js.map +1 -1
  80. package/dist/commands/init.js +37 -41
  81. package/dist/commands/init.js.map +1 -1
  82. package/dist/commands/list.js +5 -5
  83. package/dist/commands/list.js.map +1 -1
  84. package/dist/commands/new/agent.js +5 -5
  85. package/dist/commands/new/skill.js +5 -5
  86. package/dist/commands/new/skill.js.map +1 -1
  87. package/dist/commands/outdated.js +5 -5
  88. package/dist/commands/outdated.js.map +1 -1
  89. package/dist/commands/search.js +7 -7
  90. package/dist/commands/uninstall.js +105 -28
  91. package/dist/commands/uninstall.js.map +1 -1
  92. package/dist/commands/update.js +7 -7
  93. package/dist/commands/update.js.map +1 -1
  94. package/dist/commands/validate.js +5 -5
  95. package/dist/commands/version/bump.js +4 -4
  96. package/dist/commands/version/index.js +4 -4
  97. package/dist/commands/version/set.js +4 -4
  98. package/dist/commands/version/show.js +4 -4
  99. package/dist/components/skill-search/skill-search.js +3 -3
  100. package/dist/components/wizard/category-grid.js +2 -2
  101. package/dist/components/wizard/category-grid.test.js +34 -66
  102. package/dist/components/wizard/category-grid.test.js.map +1 -1
  103. package/dist/components/wizard/domain-selection.js +5 -5
  104. package/dist/components/wizard/help-modal.js +2 -2
  105. package/dist/components/wizard/menu-item.js +2 -2
  106. package/dist/components/wizard/search-modal.js +3 -3
  107. package/dist/components/wizard/search-modal.test.js +3 -3
  108. package/dist/components/wizard/section-progress.js +2 -2
  109. package/dist/components/wizard/section-progress.test.js +2 -2
  110. package/dist/components/wizard/source-grid.js +4 -4
  111. package/dist/components/wizard/source-grid.test.js +4 -4
  112. package/dist/components/wizard/stack-selection.js +8 -8
  113. package/dist/components/wizard/step-build.js +8 -7
  114. package/dist/components/wizard/step-build.test.js +18 -17
  115. package/dist/components/wizard/step-build.test.js.map +1 -1
  116. package/dist/components/wizard/step-confirm.js +3 -3
  117. package/dist/components/wizard/step-confirm.test.js +6 -6
  118. package/dist/components/wizard/step-refine.js +2 -2
  119. package/dist/components/wizard/step-refine.test.js +2 -2
  120. package/dist/components/wizard/step-settings.js +6 -6
  121. package/dist/components/wizard/step-settings.test.js +13 -13
  122. package/dist/components/wizard/step-settings.test.js.map +1 -1
  123. package/dist/components/wizard/step-sources.js +10 -9
  124. package/dist/components/wizard/step-sources.test.js +11 -10
  125. package/dist/components/wizard/step-sources.test.js.map +1 -1
  126. package/dist/components/wizard/step-stack.js +10 -10
  127. package/dist/components/wizard/step-stack.test.js +19 -23
  128. package/dist/components/wizard/step-stack.test.js.map +1 -1
  129. package/dist/components/wizard/view-title.js +2 -2
  130. package/dist/components/wizard/wizard-layout.js +7 -7
  131. package/dist/components/wizard/wizard-tabs.js +2 -2
  132. package/dist/components/wizard/wizard-tabs.test.js +7 -8
  133. package/dist/components/wizard/wizard-tabs.test.js.map +1 -1
  134. package/dist/components/wizard/wizard.js +24 -23
  135. package/dist/config/skills-matrix.yaml +10 -10
  136. package/dist/config/stacks.yaml +9 -9
  137. package/dist/hooks/init.js +5 -3
  138. package/dist/hooks/init.js.map +1 -1
  139. package/dist/{source-manager-SBPPLOQQ.js → source-manager-PTK4P6BF.js} +4 -4
  140. package/dist/src/agents/developer/api-developer/agent.yaml +1 -1
  141. package/dist/src/agents/developer/cli-developer/agent.yaml +1 -1
  142. package/dist/src/agents/developer/web-architecture/agent.yaml +1 -1
  143. package/dist/src/agents/developer/web-developer/agent.yaml +1 -1
  144. package/dist/src/agents/meta/agent-summoner/agent.yaml +1 -1
  145. package/dist/src/agents/meta/agent-summoner/critical-reminders.md +1 -1
  146. package/dist/src/agents/meta/agent-summoner/critical-requirements.md +1 -1
  147. package/dist/src/agents/meta/agent-summoner/examples.md +2 -2
  148. package/dist/src/agents/meta/agent-summoner/workflow.md +3 -3
  149. package/dist/src/agents/meta/documentor/agent.yaml +1 -1
  150. package/dist/src/agents/meta/skill-summoner/agent.yaml +1 -1
  151. package/dist/src/agents/meta/skill-summoner/output-format.md +1 -1
  152. package/dist/src/agents/migration/cli-migrator/agent.yaml +1 -1
  153. package/dist/src/agents/pattern/pattern-scout/agent.yaml +1 -1
  154. package/dist/src/agents/pattern/web-pattern-critique/agent.yaml +1 -1
  155. package/dist/src/agents/planning/web-pm/agent.yaml +1 -1
  156. package/dist/src/agents/researcher/api-researcher/agent.yaml +1 -1
  157. package/dist/src/agents/researcher/web-researcher/agent.yaml +1 -1
  158. package/dist/src/agents/reviewer/api-reviewer/agent.yaml +1 -1
  159. package/dist/src/agents/reviewer/cli-reviewer/agent.yaml +1 -1
  160. package/dist/src/agents/reviewer/web-reviewer/agent.yaml +1 -1
  161. package/dist/src/agents/tester/cli-tester/agent.yaml +1 -1
  162. package/dist/src/agents/tester/web-tester/agent.yaml +1 -1
  163. package/dist/stores/wizard-store.js +4 -4
  164. package/dist/stores/wizard-store.test.js +5 -5
  165. package/package.json +8 -8
  166. package/src/agents/developer/api-developer/agent.yaml +1 -1
  167. package/src/agents/developer/cli-developer/agent.yaml +1 -1
  168. package/src/agents/developer/web-architecture/agent.yaml +1 -1
  169. package/src/agents/developer/web-developer/agent.yaml +1 -1
  170. package/src/agents/meta/agent-summoner/agent.yaml +1 -1
  171. package/src/agents/meta/agent-summoner/critical-reminders.md +1 -1
  172. package/src/agents/meta/agent-summoner/critical-requirements.md +1 -1
  173. package/src/agents/meta/agent-summoner/examples.md +2 -2
  174. package/src/agents/meta/agent-summoner/workflow.md +3 -3
  175. package/src/agents/meta/documentor/agent.yaml +1 -1
  176. package/src/agents/meta/skill-summoner/agent.yaml +1 -1
  177. package/src/agents/meta/skill-summoner/output-format.md +1 -1
  178. package/src/agents/migration/cli-migrator/agent.yaml +1 -1
  179. package/src/agents/pattern/pattern-scout/agent.yaml +1 -1
  180. package/src/agents/pattern/web-pattern-critique/agent.yaml +1 -1
  181. package/src/agents/planning/web-pm/agent.yaml +1 -1
  182. package/src/agents/researcher/api-researcher/agent.yaml +1 -1
  183. package/src/agents/researcher/web-researcher/agent.yaml +1 -1
  184. package/src/agents/reviewer/api-reviewer/agent.yaml +1 -1
  185. package/src/agents/reviewer/cli-reviewer/agent.yaml +1 -1
  186. package/src/agents/reviewer/web-reviewer/agent.yaml +1 -1
  187. package/src/agents/tester/cli-tester/agent.yaml +1 -1
  188. package/src/agents/tester/web-tester/agent.yaml +1 -1
  189. package/src/schemas/project-config.schema.json +3 -0
  190. package/src/schemas/project-source-config.schema.json +12 -0
  191. package/dist/chunk-3ZOIOVKT.js.map +0 -1
  192. package/dist/chunk-5PIKNCZX.js.map +0 -1
  193. package/dist/chunk-B2UBHA66.js.map +0 -1
  194. package/dist/chunk-BZN2Z5P7.js.map +0 -1
  195. package/dist/chunk-BZQBJP34.js.map +0 -1
  196. package/dist/chunk-H566H3MQ.js +0 -87
  197. package/dist/chunk-H566H3MQ.js.map +0 -1
  198. package/dist/chunk-IYG2LAIM.js.map +0 -1
  199. package/dist/chunk-JMVWYAHT.js.map +0 -1
  200. package/dist/chunk-LAPCUV4D.js.map +0 -1
  201. package/dist/chunk-LGUI3PMO.js.map +0 -1
  202. package/dist/chunk-MM7NK5N2.js.map +0 -1
  203. package/dist/chunk-O4D67NN7.js +0 -24
  204. package/dist/chunk-O4D67NN7.js.map +0 -1
  205. package/dist/chunk-OGJIZ6QH.js.map +0 -1
  206. package/dist/chunk-OMV7TLWD.js.map +0 -1
  207. package/dist/chunk-PBEHPQLK.js.map +0 -1
  208. package/dist/chunk-R74PZWQS.js.map +0 -1
  209. package/dist/chunk-SO22IQPY.js.map +0 -1
  210. package/dist/chunk-WEUVWHMA.js.map +0 -1
  211. package/dist/chunk-YND42IXK.js.map +0 -1
  212. /package/dist/{chunk-IZZ4IIEG.js.map → chunk-5LPPIT6H.js.map} +0 -0
  213. /package/dist/{chunk-Z4TWOP3H.js.map → chunk-5YNZJ5TP.js.map} +0 -0
  214. /package/dist/{chunk-ODUOU55D.js.map → chunk-BLLXNFWP.js.map} +0 -0
  215. /package/dist/{chunk-4RAY5AOI.js.map → chunk-CEWNZQMH.js.map} +0 -0
  216. /package/dist/{chunk-A27LOC4Z.js.map → chunk-IG7CUREJ.js.map} +0 -0
  217. /package/dist/{chunk-FJQRVFMB.js.map → chunk-JXMRTHDT.js.map} +0 -0
  218. /package/dist/{chunk-W2ZSCZ2U.js.map → chunk-NJ775OJ4.js.map} +0 -0
  219. /package/dist/{chunk-R3XFQKPG.js.map → chunk-VEZ2GZEK.js.map} +0 -0
  220. /package/dist/{chunk-UX2H2K2G.js.map → chunk-XNQJBQ5X.js.map} +0 -0
  221. /package/dist/{chunk-EMJ2ZKS7.js.map → chunk-XYCN2GCV.js.map} +0 -0
  222. /package/dist/{chunk-UICL22RT.js.map → chunk-YIKBNGE3.js.map} +0 -0
  223. /package/dist/{chunk-QPTOIZAT.js.map → chunk-YPJKOM42.js.map} +0 -0
  224. /package/dist/{chunk-FZGYSLJL.js.map → chunk-ZE355C6C.js.map} +0 -0
  225. /package/dist/{source-manager-SBPPLOQQ.js.map → source-manager-PTK4P6BF.js.map} +0 -0
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ERROR_MESSAGES
4
- } from "../chunk-R74PZWQS.js";
4
+ } from "../chunk-GGHH3KR2.js";
5
5
  import {
6
6
  BaseCommand,
7
7
  EXIT_CODES
8
- } from "../chunk-ODUOU55D.js";
8
+ } from "../chunk-BLLXNFWP.js";
9
9
  import {
10
10
  extractFrontmatter,
11
11
  printPluginValidationResult,
12
12
  validateAllPlugins,
13
13
  validatePlugin
14
- } from "../chunk-MM7NK5N2.js";
14
+ } from "../chunk-WMVGRAFB.js";
15
15
  import "../chunk-T4EXUIBY.js";
16
16
  import {
17
17
  agentFrontmatterValidationSchema,
@@ -27,12 +27,12 @@ import {
27
27
  skillsMatrixConfigSchema,
28
28
  stackConfigValidationSchema,
29
29
  stacksConfigSchema
30
- } from "../chunk-BZN2Z5P7.js";
30
+ } from "../chunk-OI4WBRC7.js";
31
31
  import {
32
32
  CLAUDE_DIR,
33
33
  CLAUDE_SRC_DIR,
34
34
  STANDARD_FILES
35
- } from "../chunk-LAPCUV4D.js";
35
+ } from "../chunk-YCS7GF6Y.js";
36
36
  import {
37
37
  init_esm_shims
38
38
  } from "../chunk-DHET7RCE.js";
@@ -2,20 +2,20 @@
2
2
  import {
3
3
  BaseCommand,
4
4
  EXIT_CODES
5
- } from "../../chunk-ODUOU55D.js";
5
+ } from "../../chunk-BLLXNFWP.js";
6
6
  import {
7
7
  bumpPluginVersion,
8
8
  findPluginManifest
9
- } from "../../chunk-MM7NK5N2.js";
9
+ } from "../../chunk-WMVGRAFB.js";
10
10
  import "../../chunk-T4EXUIBY.js";
11
11
  import {
12
12
  pluginManifestSchema,
13
13
  readFile
14
- } from "../../chunk-BZN2Z5P7.js";
14
+ } from "../../chunk-OI4WBRC7.js";
15
15
  import {
16
16
  PLUGIN_MANIFEST_DIR,
17
17
  PLUGIN_MANIFEST_FILE
18
- } from "../../chunk-LAPCUV4D.js";
18
+ } from "../../chunk-YCS7GF6Y.js";
19
19
  import {
20
20
  init_esm_shims
21
21
  } from "../../chunk-DHET7RCE.js";
@@ -2,17 +2,17 @@
2
2
  import {
3
3
  BaseCommand,
4
4
  EXIT_CODES
5
- } from "../../chunk-ODUOU55D.js";
5
+ } from "../../chunk-BLLXNFWP.js";
6
6
  import {
7
7
  findPluginManifest,
8
8
  getPluginVersion
9
- } from "../../chunk-MM7NK5N2.js";
9
+ } from "../../chunk-WMVGRAFB.js";
10
10
  import "../../chunk-T4EXUIBY.js";
11
- import "../../chunk-BZN2Z5P7.js";
11
+ import "../../chunk-OI4WBRC7.js";
12
12
  import {
13
13
  PLUGIN_MANIFEST_DIR,
14
14
  PLUGIN_MANIFEST_FILE
15
- } from "../../chunk-LAPCUV4D.js";
15
+ } from "../../chunk-YCS7GF6Y.js";
16
16
  import {
17
17
  init_esm_shims
18
18
  } from "../../chunk-DHET7RCE.js";
@@ -2,20 +2,20 @@
2
2
  import {
3
3
  BaseCommand,
4
4
  EXIT_CODES
5
- } from "../../chunk-ODUOU55D.js";
5
+ } from "../../chunk-BLLXNFWP.js";
6
6
  import {
7
7
  findPluginManifest
8
- } from "../../chunk-MM7NK5N2.js";
8
+ } from "../../chunk-WMVGRAFB.js";
9
9
  import "../../chunk-T4EXUIBY.js";
10
10
  import {
11
11
  pluginManifestSchema,
12
12
  readFile,
13
13
  writeFile
14
- } from "../../chunk-BZN2Z5P7.js";
14
+ } from "../../chunk-OI4WBRC7.js";
15
15
  import {
16
16
  PLUGIN_MANIFEST_DIR,
17
17
  PLUGIN_MANIFEST_FILE
18
- } from "../../chunk-LAPCUV4D.js";
18
+ } from "../../chunk-YCS7GF6Y.js";
19
19
  import {
20
20
  init_esm_shims
21
21
  } from "../../chunk-DHET7RCE.js";
@@ -2,17 +2,17 @@
2
2
  import {
3
3
  BaseCommand,
4
4
  EXIT_CODES
5
- } from "../../chunk-ODUOU55D.js";
5
+ } from "../../chunk-BLLXNFWP.js";
6
6
  import {
7
7
  findPluginManifest,
8
8
  getPluginVersion
9
- } from "../../chunk-MM7NK5N2.js";
9
+ } from "../../chunk-WMVGRAFB.js";
10
10
  import "../../chunk-T4EXUIBY.js";
11
- import "../../chunk-BZN2Z5P7.js";
11
+ import "../../chunk-OI4WBRC7.js";
12
12
  import {
13
13
  PLUGIN_MANIFEST_DIR,
14
14
  PLUGIN_MANIFEST_FILE
15
- } from "../../chunk-LAPCUV4D.js";
15
+ } from "../../chunk-YCS7GF6Y.js";
16
16
  import {
17
17
  init_esm_shims
18
18
  } from "../../chunk-DHET7RCE.js";
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SkillSearch
4
- } from "../../chunk-EMJ2ZKS7.js";
5
- import "../../chunk-Z4TWOP3H.js";
4
+ } from "../../chunk-XYCN2GCV.js";
5
+ import "../../chunk-5YNZJ5TP.js";
6
6
  import "../../chunk-U3IGFMCY.js";
7
- import "../../chunk-LAPCUV4D.js";
7
+ import "../../chunk-YCS7GF6Y.js";
8
8
  import "../../chunk-DHET7RCE.js";
9
9
  export {
10
10
  SkillSearch
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CategoryGrid
4
- } from "../../chunk-OGJIZ6QH.js";
4
+ } from "../../chunk-OKILA27U.js";
5
5
  import "../../chunk-DC5AK3LW.js";
6
- import "../../chunk-LAPCUV4D.js";
6
+ import "../../chunk-YCS7GF6Y.js";
7
7
  import "../../chunk-DHET7RCE.js";
8
8
  export {
9
9
  CategoryGrid
@@ -21,11 +21,9 @@ import {
21
21
  } from "../../chunk-XY3XDVMI.js";
22
22
  import {
23
23
  CategoryGrid
24
- } from "../../chunk-OGJIZ6QH.js";
24
+ } from "../../chunk-OKILA27U.js";
25
25
  import "../../chunk-DC5AK3LW.js";
26
- import {
27
- UI_SYMBOLS
28
- } from "../../chunk-LAPCUV4D.js";
26
+ import "../../chunk-YCS7GF6Y.js";
29
27
  import {
30
28
  init_esm_shims
31
29
  } from "../../chunk-DHET7RCE.js";
@@ -230,7 +228,7 @@ describe("CategoryGrid component", () => {
230
228
  const output = lastFrame();
231
229
  globalExpect(output).toContain("Option 2");
232
230
  });
233
- it("should show selected symbol for selected skills", () => {
231
+ it("should render selected skills with label text", () => {
234
232
  const categories = [
235
233
  createCategory("forms", "Forms", [
236
234
  createOption("web-test-opt1", "Selected Skill", { selected: true })
@@ -239,10 +237,9 @@ describe("CategoryGrid component", () => {
239
237
  const { lastFrame, unmount } = renderGrid({ categories });
240
238
  cleanup = unmount;
241
239
  const output = lastFrame();
242
- globalExpect(output).toContain(UI_SYMBOLS.SELECTED);
243
240
  globalExpect(output).toContain("Selected Skill");
244
241
  });
245
- it("should show unselected symbol for normal unselected skills", () => {
242
+ it("should render unselected skills with label text", () => {
246
243
  const categories = [
247
244
  createCategory("forms", "Forms", [
248
245
  createOption("web-test-opt1", "Unselected Skill", { state: "normal", selected: false })
@@ -251,10 +248,9 @@ describe("CategoryGrid component", () => {
251
248
  const { lastFrame, unmount } = renderGrid({ categories });
252
249
  cleanup = unmount;
253
250
  const output = lastFrame();
254
- globalExpect(output).toContain(UI_SYMBOLS.UNSELECTED);
255
251
  globalExpect(output).toContain("Unselected Skill");
256
252
  });
257
- it("should show disabled symbol for disabled skills", () => {
253
+ it("should render disabled skills with label text", () => {
258
254
  const categories = [
259
255
  createCategory("forms", "Forms", [
260
256
  createOption("web-test-opt1", "Disabled Skill", { state: "disabled" })
@@ -263,10 +259,9 @@ describe("CategoryGrid component", () => {
263
259
  const { lastFrame, unmount } = renderGrid({ categories });
264
260
  cleanup = unmount;
265
261
  const output = lastFrame();
266
- globalExpect(output).toContain(UI_SYMBOLS.DISABLED);
267
262
  globalExpect(output).toContain("Disabled Skill");
268
263
  });
269
- it("should show discouraged symbol for discouraged skills", () => {
264
+ it("should render discouraged skills with label text", () => {
270
265
  const categories = [
271
266
  createCategory("forms", "Forms", [
272
267
  createOption("web-test-opt1", "Discouraged Skill", { state: "discouraged" })
@@ -275,10 +270,9 @@ describe("CategoryGrid component", () => {
275
270
  const { lastFrame, unmount } = renderGrid({ categories });
276
271
  cleanup = unmount;
277
272
  const output = lastFrame();
278
- globalExpect(output).toContain(UI_SYMBOLS.DISCOURAGED);
279
273
  globalExpect(output).toContain("Discouraged Skill");
280
274
  });
281
- it("should differentiate selected vs unselected with different symbols", () => {
275
+ it("should render both selected and unselected skills with labels", () => {
282
276
  const categories = [
283
277
  createCategory("forms", "Forms", [
284
278
  createOption("web-test-opt1", "Active", { selected: true }),
@@ -288,12 +282,10 @@ describe("CategoryGrid component", () => {
288
282
  const { lastFrame, unmount } = renderGrid({ categories, expertMode: true });
289
283
  cleanup = unmount;
290
284
  const output = lastFrame();
291
- globalExpect(output).toContain(UI_SYMBOLS.SELECTED);
292
- globalExpect(output).toContain(UI_SYMBOLS.UNSELECTED);
293
285
  globalExpect(output).toContain("Active");
294
286
  globalExpect(output).toContain("Inactive");
295
287
  });
296
- it("should toggle visual state when selection changes", () => {
288
+ it("should render skill label regardless of selection state", () => {
297
289
  const categories1 = [
298
290
  createCategory("forms", "Forms", [
299
291
  createOption("web-test-opt1", "Toggle Skill", { selected: false })
@@ -310,9 +302,8 @@ describe("CategoryGrid component", () => {
310
302
  const { lastFrame: frame2, unmount: unmount2 } = renderGrid({ categories: categories2 });
311
303
  cleanup = unmount2;
312
304
  const output2 = frame2();
313
- globalExpect(output1).toContain(UI_SYMBOLS.UNSELECTED);
314
- globalExpect(output1).not.toContain(UI_SYMBOLS.SELECTED);
315
- globalExpect(output2).toContain(UI_SYMBOLS.SELECTED);
305
+ globalExpect(output1).toContain("Toggle Skill");
306
+ globalExpect(output2).toContain("Toggle Skill");
316
307
  });
317
308
  });
318
309
  describe("locked sections", () => {
@@ -619,7 +610,7 @@ describe("CategoryGrid component", () => {
619
610
  });
620
611
  });
621
612
  describe("disabled options navigation", () => {
622
- it("should skip disabled options when navigating right", async () => {
613
+ it("should navigate to disabled options when navigating right", async () => {
623
614
  const onFocusChange = vi.fn();
624
615
  const categories = [
625
616
  createCategory("testing", "Test", [
@@ -639,9 +630,9 @@ describe("CategoryGrid component", () => {
639
630
  await delay(RENDER_DELAY_MS);
640
631
  await stdin.write(ARROW_RIGHT);
641
632
  await delay(INPUT_DELAY_MS);
642
- globalExpect(onFocusChange).toHaveBeenCalledWith(0, 2);
633
+ globalExpect(onFocusChange).toHaveBeenCalledWith(0, 1);
643
634
  });
644
- it("should skip disabled options when navigating left", async () => {
635
+ it("should navigate to disabled options when navigating left", async () => {
645
636
  const onFocusChange = vi.fn();
646
637
  const categories = [
647
638
  createCategory("testing", "Test", [
@@ -654,7 +645,7 @@ describe("CategoryGrid component", () => {
654
645
  categories,
655
646
  defaultFocusedRow: 0,
656
647
  defaultFocusedCol: 2,
657
- // Start at opt3
648
+ // Start at opt2 (disabled, sorted to end)
658
649
  expertMode: true,
659
650
  onFocusChange
660
651
  });
@@ -662,9 +653,9 @@ describe("CategoryGrid component", () => {
662
653
  await delay(RENDER_DELAY_MS);
663
654
  await stdin.write(ARROW_LEFT);
664
655
  await delay(INPUT_DELAY_MS);
665
- globalExpect(onFocusChange).toHaveBeenCalledWith(0, 0);
656
+ globalExpect(onFocusChange).toHaveBeenCalledWith(0, 1);
666
657
  });
667
- it("should handle all options disabled in a row", async () => {
658
+ it("should navigate between all-disabled options in a row", async () => {
668
659
  const onFocusChange = vi.fn();
669
660
  const categories = [
670
661
  createCategory("testing", "Test", [
@@ -683,7 +674,7 @@ describe("CategoryGrid component", () => {
683
674
  await delay(RENDER_DELAY_MS);
684
675
  await stdin.write(ARROW_RIGHT);
685
676
  await delay(INPUT_DELAY_MS);
686
- globalExpect(onFocusChange).toHaveBeenCalledWith(0, 0);
677
+ globalExpect(onFocusChange).toHaveBeenCalledWith(0, 1);
687
678
  });
688
679
  });
689
680
  describe("exclusive categories", () => {
@@ -765,13 +756,13 @@ describe("CategoryGrid component", () => {
765
756
  });
766
757
  });
767
758
  describe("option ordering", () => {
768
- it("should sort options by state when expertMode is false", () => {
759
+ it("should preserve original order regardless of state", () => {
769
760
  const { lastFrame, unmount } = renderGrid({ expertMode: false });
770
761
  cleanup = unmount;
771
762
  const output = lastFrame();
772
763
  globalExpect(output).toBeDefined();
773
764
  });
774
- it("should preserve original order when expertMode is true", () => {
765
+ it("should preserve original order in expert mode", () => {
775
766
  const { lastFrame, unmount } = renderGrid({ expertMode: true });
776
767
  cleanup = unmount;
777
768
  const output = lastFrame();
@@ -875,8 +866,8 @@ describe("CategoryGrid component", () => {
875
866
  globalExpect(onFocusChange).toHaveBeenCalledWith(1, 0);
876
867
  });
877
868
  });
878
- describe("installed indicator", () => {
879
- it("should show checkmark for installed skill", () => {
869
+ describe("installed skills", () => {
870
+ it("should render installed skill with label only (no checkmark icon)", () => {
880
871
  const categories = [
881
872
  createCategory("forms", "Forms", [
882
873
  createOption("web-test-opt1", "Option 1", { installed: true })
@@ -885,20 +876,10 @@ describe("CategoryGrid component", () => {
885
876
  const { lastFrame, unmount } = renderGrid({ categories });
886
877
  cleanup = unmount;
887
878
  const output = lastFrame();
888
- globalExpect(output).toContain("\u2713");
889
- globalExpect(output).toContain("Option 1");
890
- });
891
- it("should NOT show checkmark for non-installed skill", () => {
892
- const categories = [
893
- createCategory("forms", "Forms", [createOption("web-test-opt1", "Option 1")])
894
- ];
895
- const { lastFrame, unmount } = renderGrid({ categories });
896
- cleanup = unmount;
897
- const output = lastFrame();
898
879
  globalExpect(output).not.toContain("\u2713");
899
880
  globalExpect(output).toContain("Option 1");
900
881
  });
901
- it("should show both checkmark and cyan styling when installed and selected", () => {
882
+ it("should render installed and selected skill with label only", () => {
902
883
  const categories = [
903
884
  createCategory("forms", "Forms", [
904
885
  createOption("web-test-opt1", "Option 1", { installed: true, selected: true })
@@ -907,10 +888,10 @@ describe("CategoryGrid component", () => {
907
888
  const { lastFrame, unmount } = renderGrid({ categories });
908
889
  cleanup = unmount;
909
890
  const output = lastFrame();
910
- globalExpect(output).toContain("\u2713");
891
+ globalExpect(output).not.toContain("\u2713");
911
892
  globalExpect(output).toContain("Option 1");
912
893
  });
913
- it("should show both L badge and checkmark when local and installed", () => {
894
+ it("should show L badge but no checkmark when local and installed", () => {
914
895
  const categories = [
915
896
  createCategory("forms", "Forms", [
916
897
  createOption("web-test-opt1", "Option 1", { local: true, installed: true })
@@ -920,12 +901,12 @@ describe("CategoryGrid component", () => {
920
901
  cleanup = unmount;
921
902
  const output = lastFrame();
922
903
  globalExpect(output).toContain("L");
923
- globalExpect(output).toContain("\u2713");
904
+ globalExpect(output).not.toContain("\u2713");
924
905
  globalExpect(output).toContain("Option 1");
925
906
  });
926
907
  });
927
- describe("scroll viewport", () => {
928
- it("should render all categories when no height constraint", () => {
908
+ describe("natural flow (no virtual scroll)", () => {
909
+ it("should render all categories without scroll indicators", () => {
929
910
  const { lastFrame, unmount } = renderGrid();
930
911
  cleanup = unmount;
931
912
  const output = lastFrame();
@@ -936,7 +917,7 @@ describe("CategoryGrid component", () => {
936
917
  globalExpect(output).toContain("Analytics");
937
918
  globalExpect(output).not.toContain("more categories");
938
919
  });
939
- it("should render scroll indicators when height is constrained", () => {
920
+ it("should render all categories even with many entries", () => {
940
921
  const manyCategories = Array.from(
941
922
  { length: 8 },
942
923
  (_, i) => createCategory(`cat-${i}`, `Category ${i}`, [
@@ -946,27 +927,16 @@ describe("CategoryGrid component", () => {
946
927
  ])
947
928
  );
948
929
  const { lastFrame, unmount } = renderGrid({
949
- categories: manyCategories,
950
- availableHeight: 8,
951
- terminalWidth: 120
930
+ categories: manyCategories
952
931
  });
953
932
  cleanup = unmount;
954
933
  const output = lastFrame();
955
- globalExpect(output).toContain("more categories below");
956
- });
957
- it("should not render scroll indicators when all content fits", () => {
958
- const categories = [
959
- createCategory("forms", "Forms", [createOption("web-test-opt1", "A")])
960
- ];
961
- const { lastFrame, unmount } = renderGrid({
962
- categories,
963
- availableHeight: 100,
964
- terminalWidth: 120
965
- });
966
- cleanup = unmount;
967
- globalExpect(lastFrame()).not.toContain("more categories");
934
+ for (let i = 0; i < 8; i++) {
935
+ globalExpect(output).toContain(`Category ${i}`);
936
+ }
937
+ globalExpect(output).not.toContain("more categories");
968
938
  });
969
- it("should keep focused category visible when scrolling down", async () => {
939
+ it("should keep focused category visible when navigating down", async () => {
970
940
  const onFocusChange = vi.fn();
971
941
  const manyCategories = Array.from(
972
942
  { length: 6 },
@@ -976,8 +946,6 @@ describe("CategoryGrid component", () => {
976
946
  );
977
947
  const { stdin, lastFrame, unmount } = renderGrid({
978
948
  categories: manyCategories,
979
- availableHeight: 8,
980
- terminalWidth: 120,
981
949
  defaultFocusedRow: 0,
982
950
  onFocusChange
983
951
  });