@agents-inc/cli 0.38.0 → 0.41.2

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 (183) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/README.md +1 -1
  3. package/config/skills-matrix.yaml +115 -123
  4. package/config/stacks.yaml +687 -687
  5. package/dist/{chunk-YHQNTBBN.js → chunk-2D6LKRHW.js} +2 -2
  6. package/dist/{chunk-CYFU3ARY.js → chunk-342YB6TQ.js} +15 -17
  7. package/dist/chunk-342YB6TQ.js.map +1 -0
  8. package/dist/{chunk-HRMQ2RGY.js → chunk-423MJ6DT.js} +31 -56
  9. package/dist/chunk-423MJ6DT.js.map +1 -0
  10. package/dist/{chunk-NFV4SKH5.js → chunk-4LT6RXMY.js} +4 -4
  11. package/dist/{chunk-IVIK776Y.js → chunk-4SYXPG7L.js} +2 -2
  12. package/dist/{chunk-DUQFF45G.js → chunk-4UTPJXUX.js} +8 -8
  13. package/dist/{chunk-3E2V5YL3.js → chunk-5TMB53BV.js} +3 -3
  14. package/dist/{chunk-NI2RSNWB.js → chunk-7FBM7V3E.js} +10 -22
  15. package/dist/chunk-7FBM7V3E.js.map +1 -0
  16. package/dist/chunk-ACVJVYMC.js +111 -0
  17. package/dist/chunk-ACVJVYMC.js.map +1 -0
  18. package/dist/{chunk-FWQK3HWB.js → chunk-AH7XHAKN.js} +11 -11
  19. package/dist/chunk-AH7XHAKN.js.map +1 -0
  20. package/dist/{chunk-VAHVSQIG.js → chunk-AVVYFEMF.js} +2 -2
  21. package/dist/{chunk-EISBUEBL.js → chunk-BFISETQG.js} +3 -3
  22. package/dist/{chunk-ZBJQXDQN.js → chunk-BK7TANUV.js} +4 -2
  23. package/dist/chunk-BK7TANUV.js.map +1 -0
  24. package/dist/{chunk-VAK5PX72.js → chunk-DV4ALU5I.js} +6 -6
  25. package/dist/{chunk-OEX5JDQD.js → chunk-FHBICUXB.js} +4 -4
  26. package/dist/{chunk-TA6IIQI4.js → chunk-GEDWVX6Y.js} +3 -3
  27. package/dist/chunk-GEDWVX6Y.js.map +1 -0
  28. package/dist/{chunk-M6PGIZNS.js → chunk-H6H3COI5.js} +5 -5
  29. package/dist/{chunk-54ZZCWN4.js → chunk-KC2SIUIA.js} +3 -8
  30. package/dist/chunk-KC2SIUIA.js.map +1 -0
  31. package/dist/{chunk-2XX4TMCI.js → chunk-KXM7KOPE.js} +2 -2
  32. package/dist/{chunk-HKDE4LJW.js → chunk-LJRP4SWY.js} +6 -5
  33. package/dist/chunk-LJRP4SWY.js.map +1 -0
  34. package/dist/{chunk-TBDIR6LY.js → chunk-MNPPGIZQ.js} +5 -5
  35. package/dist/{chunk-3NQJOJZL.js → chunk-NYP5SB2V.js} +2 -2
  36. package/dist/{chunk-UOMMQ5M6.js → chunk-NZYKDVRL.js} +2 -2
  37. package/dist/{chunk-UV6JUGIY.js → chunk-PURJZ72D.js} +2 -2
  38. package/dist/{chunk-ATLRUR3B.js → chunk-R52N7DBG.js} +2 -2
  39. package/dist/{chunk-WSGGJKD5.js → chunk-SILUTTV7.js} +6 -6
  40. package/dist/chunk-SILUTTV7.js.map +1 -0
  41. package/dist/{chunk-IZRVFC2Z.js → chunk-TJAZ7QCF.js} +4 -4
  42. package/dist/{chunk-U5OB5ADP.js → chunk-TTXV55NQ.js} +57 -16
  43. package/dist/chunk-TTXV55NQ.js.map +1 -0
  44. package/dist/{chunk-TY5GELDB.js → chunk-UKTYDNWJ.js} +2 -2
  45. package/dist/{chunk-HRW7BIDE.js → chunk-WS6OQIEN.js} +2 -2
  46. package/dist/{chunk-YJIJTBSX.js → chunk-XJXJZ2MJ.js} +42 -54
  47. package/dist/chunk-XJXJZ2MJ.js.map +1 -0
  48. package/dist/chunk-YLJYAQSG.js +210 -0
  49. package/dist/chunk-YLJYAQSG.js.map +1 -0
  50. package/dist/{chunk-MZB3GGOH.js → chunk-YRVTXSXP.js} +1 -2
  51. package/dist/chunk-YRVTXSXP.js.map +1 -0
  52. package/dist/{chunk-TNFACSWF.js → chunk-ZLHGJSRK.js} +3 -3
  53. package/dist/cli/defaults/agent-mappings.yaml +14 -70
  54. package/dist/commands/build/marketplace.js +3 -3
  55. package/dist/commands/build/plugins.js +5 -5
  56. package/dist/commands/build/stack.js +5 -5
  57. package/dist/commands/compile.js +8 -7
  58. package/dist/commands/compile.js.map +1 -1
  59. package/dist/commands/config/get.js +4 -4
  60. package/dist/commands/config/index.js +5 -5
  61. package/dist/commands/config/path.js +4 -4
  62. package/dist/commands/config/set-project.js +4 -4
  63. package/dist/commands/config/show.js +5 -5
  64. package/dist/commands/config/unset-project.js +4 -4
  65. package/dist/commands/diff.js +8 -5
  66. package/dist/commands/diff.js.map +1 -1
  67. package/dist/commands/doctor.js +8 -7
  68. package/dist/commands/doctor.js.map +1 -1
  69. package/dist/commands/edit.js +33 -30
  70. package/dist/commands/edit.js.map +1 -1
  71. package/dist/commands/eject.js +4 -4
  72. package/dist/commands/import/skill.js +5 -5
  73. package/dist/commands/info.js +7 -6
  74. package/dist/commands/info.js.map +1 -1
  75. package/dist/commands/init.js +40 -32
  76. package/dist/commands/init.js.map +1 -1
  77. package/dist/commands/list.js +6 -5
  78. package/dist/commands/list.js.map +1 -1
  79. package/dist/commands/new/agent.js +5 -5
  80. package/dist/commands/new/skill.js +8 -5
  81. package/dist/commands/new/skill.js.map +1 -1
  82. package/dist/commands/outdated.js +8 -5
  83. package/dist/commands/outdated.js.map +1 -1
  84. package/dist/commands/search.js +7 -7
  85. package/dist/commands/uninstall.js +19 -7
  86. package/dist/commands/uninstall.js.map +1 -1
  87. package/dist/commands/update.js +8 -7
  88. package/dist/commands/update.js.map +1 -1
  89. package/dist/commands/validate.js +5 -5
  90. package/dist/commands/version/bump.js +4 -4
  91. package/dist/commands/version/index.js +4 -4
  92. package/dist/commands/version/set.js +4 -4
  93. package/dist/commands/version/show.js +4 -4
  94. package/dist/components/skill-search/skill-search.js +3 -3
  95. package/dist/components/wizard/category-grid.js +2 -2
  96. package/dist/components/wizard/category-grid.test.js +40 -40
  97. package/dist/components/wizard/category-grid.test.js.map +1 -1
  98. package/dist/components/wizard/checkbox-grid.js +2 -2
  99. package/dist/components/wizard/checkbox-grid.test.js +16 -6
  100. package/dist/components/wizard/checkbox-grid.test.js.map +1 -1
  101. package/dist/components/wizard/domain-selection.js +7 -7
  102. package/dist/components/wizard/help-modal.js +2 -2
  103. package/dist/components/wizard/menu-item.js +2 -2
  104. package/dist/components/wizard/search-modal.js +2 -2
  105. package/dist/components/wizard/search-modal.test.js +2 -2
  106. package/dist/components/wizard/section-progress.js +2 -2
  107. package/dist/components/wizard/section-progress.test.js +2 -2
  108. package/dist/components/wizard/source-grid.js +3 -3
  109. package/dist/components/wizard/source-grid.test.js +3 -3
  110. package/dist/components/wizard/stack-selection.js +9 -9
  111. package/dist/components/wizard/step-agents.js +7 -7
  112. package/dist/components/wizard/step-agents.test.js +24 -19
  113. package/dist/components/wizard/step-agents.test.js.map +1 -1
  114. package/dist/components/wizard/step-build.js +8 -8
  115. package/dist/components/wizard/step-build.test.js +40 -39
  116. package/dist/components/wizard/step-build.test.js.map +1 -1
  117. package/dist/components/wizard/step-confirm.js +3 -3
  118. package/dist/components/wizard/step-confirm.test.js +19 -13
  119. package/dist/components/wizard/step-confirm.test.js.map +1 -1
  120. package/dist/components/wizard/step-refine.js +2 -2
  121. package/dist/components/wizard/step-refine.test.js +2 -2
  122. package/dist/components/wizard/step-settings.js +5 -5
  123. package/dist/components/wizard/step-settings.test.js +8 -8
  124. package/dist/components/wizard/step-sources.js +9 -9
  125. package/dist/components/wizard/step-sources.test.js +13 -13
  126. package/dist/components/wizard/step-sources.test.js.map +1 -1
  127. package/dist/components/wizard/step-stack.js +12 -12
  128. package/dist/components/wizard/step-stack.test.js +19 -21
  129. package/dist/components/wizard/step-stack.test.js.map +1 -1
  130. package/dist/components/wizard/view-title.js +2 -2
  131. package/dist/components/wizard/wizard-layout.js +8 -8
  132. package/dist/components/wizard/wizard-tabs.js +2 -2
  133. package/dist/components/wizard/wizard-tabs.test.js +2 -2
  134. package/dist/components/wizard/wizard.js +25 -25
  135. package/dist/config/skills-matrix.yaml +115 -123
  136. package/dist/config/stacks.yaml +687 -687
  137. package/dist/hooks/init.js +3 -3
  138. package/dist/{source-manager-FEGVYDFZ.js → source-manager-PPABS6BC.js} +4 -4
  139. package/dist/stores/wizard-store.js +5 -5
  140. package/dist/stores/wizard-store.test.js +115 -187
  141. package/dist/stores/wizard-store.test.js.map +1 -1
  142. package/package.json +1 -1
  143. package/src/schemas/metadata.schema.json +41 -1
  144. package/src/schemas/project-config.schema.json +34 -35
  145. package/src/schemas/skills-matrix.schema.json +100 -101
  146. package/src/schemas/stacks.schema.json +34 -35
  147. package/dist/chunk-54ZZCWN4.js.map +0 -1
  148. package/dist/chunk-CYFU3ARY.js.map +0 -1
  149. package/dist/chunk-EXFVAEPY.js +0 -80
  150. package/dist/chunk-EXFVAEPY.js.map +0 -1
  151. package/dist/chunk-FWQK3HWB.js.map +0 -1
  152. package/dist/chunk-HKDE4LJW.js.map +0 -1
  153. package/dist/chunk-HRMQ2RGY.js.map +0 -1
  154. package/dist/chunk-IWNPFIGY.js +0 -110
  155. package/dist/chunk-IWNPFIGY.js.map +0 -1
  156. package/dist/chunk-MZB3GGOH.js.map +0 -1
  157. package/dist/chunk-NI2RSNWB.js.map +0 -1
  158. package/dist/chunk-TA6IIQI4.js.map +0 -1
  159. package/dist/chunk-U5OB5ADP.js.map +0 -1
  160. package/dist/chunk-WSGGJKD5.js.map +0 -1
  161. package/dist/chunk-YJIJTBSX.js.map +0 -1
  162. package/dist/chunk-ZBJQXDQN.js.map +0 -1
  163. /package/dist/{chunk-YHQNTBBN.js.map → chunk-2D6LKRHW.js.map} +0 -0
  164. /package/dist/{chunk-NFV4SKH5.js.map → chunk-4LT6RXMY.js.map} +0 -0
  165. /package/dist/{chunk-IVIK776Y.js.map → chunk-4SYXPG7L.js.map} +0 -0
  166. /package/dist/{chunk-DUQFF45G.js.map → chunk-4UTPJXUX.js.map} +0 -0
  167. /package/dist/{chunk-3E2V5YL3.js.map → chunk-5TMB53BV.js.map} +0 -0
  168. /package/dist/{chunk-VAHVSQIG.js.map → chunk-AVVYFEMF.js.map} +0 -0
  169. /package/dist/{chunk-EISBUEBL.js.map → chunk-BFISETQG.js.map} +0 -0
  170. /package/dist/{chunk-VAK5PX72.js.map → chunk-DV4ALU5I.js.map} +0 -0
  171. /package/dist/{chunk-OEX5JDQD.js.map → chunk-FHBICUXB.js.map} +0 -0
  172. /package/dist/{chunk-M6PGIZNS.js.map → chunk-H6H3COI5.js.map} +0 -0
  173. /package/dist/{chunk-2XX4TMCI.js.map → chunk-KXM7KOPE.js.map} +0 -0
  174. /package/dist/{chunk-TBDIR6LY.js.map → chunk-MNPPGIZQ.js.map} +0 -0
  175. /package/dist/{chunk-3NQJOJZL.js.map → chunk-NYP5SB2V.js.map} +0 -0
  176. /package/dist/{chunk-UOMMQ5M6.js.map → chunk-NZYKDVRL.js.map} +0 -0
  177. /package/dist/{chunk-UV6JUGIY.js.map → chunk-PURJZ72D.js.map} +0 -0
  178. /package/dist/{chunk-ATLRUR3B.js.map → chunk-R52N7DBG.js.map} +0 -0
  179. /package/dist/{chunk-IZRVFC2Z.js.map → chunk-TJAZ7QCF.js.map} +0 -0
  180. /package/dist/{chunk-TY5GELDB.js.map → chunk-UKTYDNWJ.js.map} +0 -0
  181. /package/dist/{chunk-HRW7BIDE.js.map → chunk-WS6OQIEN.js.map} +0 -0
  182. /package/dist/{chunk-TNFACSWF.js.map → chunk-ZLHGJSRK.js.map} +0 -0
  183. /package/dist/{source-manager-FEGVYDFZ.js.map → source-manager-PPABS6BC.js.map} +0 -0
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
+ CLI_BIN_NAME,
3
4
  DEFAULT_BRANDING
4
- } from "./chunk-ZBJQXDQN.js";
5
+ } from "./chunk-BK7TANUV.js";
5
6
  import {
6
7
  init_esm_shims
7
8
  } from "./chunk-DHET7RCE.js";
@@ -11,8 +12,8 @@ init_esm_shims();
11
12
  var ERROR_MESSAGES = {
12
13
  UNKNOWN_ERROR: "Unknown error occurred",
13
14
  UNKNOWN_ERROR_SHORT: "Unknown error",
14
- NO_INSTALLATION: `No installation found. Run 'agentsinc init' first to set up ${DEFAULT_BRANDING.NAME}`,
15
- NO_LOCAL_SKILLS: "No local skills found. Run `agentsinc init` or `agentsinc edit` first.",
15
+ NO_INSTALLATION: `No installation found. Run '${CLI_BIN_NAME} init' first to set up ${DEFAULT_BRANDING.NAME}`,
16
+ NO_LOCAL_SKILLS: `No local skills found. Run \`${CLI_BIN_NAME} init\` or \`${CLI_BIN_NAME} edit\` first.`,
16
17
  NO_SKILLS_FOUND: "No skills found",
17
18
  VALIDATION_FAILED: "Validation failed",
18
19
  FAILED_RESOLVE_SOURCE: "Failed to resolve source",
@@ -44,7 +45,7 @@ var STATUS_MESSAGES = {
44
45
  };
45
46
  var INFO_MESSAGES = {
46
47
  NO_CHANGES_MADE: "No changes made.",
47
- RUN_COMPILE: "Run 'agentsinc compile' to include imported skills in your agents.",
48
+ RUN_COMPILE: `Run '${CLI_BIN_NAME} compile' to include imported skills in your agents.`,
48
49
  NO_AGENTS_TO_RECOMPILE: "No agents to recompile",
49
50
  NO_AGENTS_TO_COMPILE: "No agents to compile",
50
51
  NO_PLUGIN_INSTALLATION: "No plugin installation found.",
@@ -66,4 +67,4 @@ export {
66
67
  INFO_MESSAGES,
67
68
  DRY_RUN_MESSAGES
68
69
  };
69
- //# sourceMappingURL=chunk-HKDE4LJW.js.map
70
+ //# sourceMappingURL=chunk-LJRP4SWY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/utils/messages.ts"],"sourcesContent":["import { CLI_BIN_NAME, DEFAULT_BRANDING } from \"../consts.js\";\n\nexport const ERROR_MESSAGES = {\n UNKNOWN_ERROR: \"Unknown error occurred\",\n UNKNOWN_ERROR_SHORT: \"Unknown error\",\n NO_INSTALLATION: `No installation found. Run '${CLI_BIN_NAME} init' first to set up ${DEFAULT_BRANDING.NAME}`,\n NO_LOCAL_SKILLS: `No local skills found. Run \\`${CLI_BIN_NAME} init\\` or \\`${CLI_BIN_NAME} edit\\` first.`,\n NO_SKILLS_FOUND: \"No skills found\",\n VALIDATION_FAILED: \"Validation failed\",\n FAILED_RESOLVE_SOURCE: \"Failed to resolve source\",\n FAILED_LOAD_AGENT_PARTIALS: \"Failed to load agent partials\",\n FAILED_COMPILE_AGENTS: \"Failed to compile agents\",\n SKILL_NOT_FOUND: \"Skill not found\",\n} as const;\n\nexport const SUCCESS_MESSAGES = {\n IMPORT_COMPLETE: \"Import complete!\",\n UNINSTALL_COMPLETE: \"Uninstall complete!\",\n INIT_SUCCESS: `${DEFAULT_BRANDING.NAME} initialized successfully!`,\n PLUGIN_COMPILE_COMPLETE: \"Plugin compile complete!\",\n CUSTOM_COMPILE_COMPLETE: \"Custom output compile complete!\",\n ALL_SKILLS_UP_TO_DATE: \"All skills are up to date.\",\n} as const;\n\nexport const STATUS_MESSAGES = {\n LOADING_SKILLS: \"Loading skills...\",\n LOADING_MARKETPLACE_SOURCE: \"Loading marketplace source...\",\n RECOMPILING_AGENTS: \"Recompiling agents...\",\n COMPILING_AGENTS: \"Compiling agents...\",\n DISCOVERING_SKILLS: \"Discovering skills...\",\n RESOLVING_SOURCE: \"Resolving source...\",\n RESOLVING_MARKETPLACE_SOURCE: \"Resolving marketplace source...\",\n FETCHING_AGENT_PARTIALS: \"Fetching agent partials...\",\n LOADING_AGENT_PARTIALS: \"Loading agent partials...\",\n FETCHING_REPOSITORY: \"Fetching repository...\",\n COPYING_SKILLS: \"Copying skills...\",\n UPDATING_PLUGIN_SKILLS: \"Updating plugin skills...\",\n} as const;\n\nexport const INFO_MESSAGES = {\n NO_CHANGES_MADE: \"No changes made.\",\n RUN_COMPILE: `Run '${CLI_BIN_NAME} compile' to include imported skills in your agents.`,\n NO_AGENTS_TO_RECOMPILE: \"No agents to recompile\",\n NO_AGENTS_TO_COMPILE: \"No agents to compile\",\n NO_PLUGIN_INSTALLATION: \"No plugin installation found.\",\n NO_LOCAL_INSTALLATION: \"No local installation found.\",\n NOT_INSTALLED: `${DEFAULT_BRANDING.NAME} is not installed in this project.`,\n} as const;\n\nexport const DRY_RUN_MESSAGES = {\n PREVIEW_NO_FILES_REMOVED: \"[dry-run] Preview mode - no files will be removed\",\n PREVIEW_NO_FILES_CREATED: \"[dry-run] Preview mode - no files will be created\",\n COMPLETE_NO_FILES_REMOVED: \"[dry-run] Preview complete - no files were removed\",\n COMPLETE_NO_FILES_WRITTEN: \"[dry-run] Preview complete - no files were written\",\n COMPLETE_NO_FILES_CREATED: \"[dry-run] Preview complete - no files were created\",\n} as const;\n"],"mappings":";;;;;;;;;;AAAA;AAEO,IAAM,iBAAiB;AAAA,EAC5B,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,iBAAiB,+BAA+B,YAAY,0BAA0B,iBAAiB,IAAI;AAAA,EAC3G,iBAAiB,gCAAgC,YAAY,gBAAgB,YAAY;AAAA,EACzF,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,4BAA4B;AAAA,EAC5B,uBAAuB;AAAA,EACvB,iBAAiB;AACnB;AAEO,IAAM,mBAAmB;AAAA,EAC9B,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,cAAc,GAAG,iBAAiB,IAAI;AAAA,EACtC,yBAAyB;AAAA,EACzB,yBAAyB;AAAA,EACzB,uBAAuB;AACzB;AAEO,IAAM,kBAAkB;AAAA,EAC7B,gBAAgB;AAAA,EAChB,4BAA4B;AAAA,EAC5B,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,8BAA8B;AAAA,EAC9B,yBAAyB;AAAA,EACzB,wBAAwB;AAAA,EACxB,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,wBAAwB;AAC1B;AAEO,IAAM,gBAAgB;AAAA,EAC3B,iBAAiB;AAAA,EACjB,aAAa,QAAQ,YAAY;AAAA,EACjC,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,eAAe,GAAG,iBAAiB,IAAI;AACzC;AAEO,IAAM,mBAAmB;AAAA,EAC9B,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAC7B;","names":[]}
@@ -2,17 +2,17 @@
2
2
  import {
3
3
  WIZARD_STEPS,
4
4
  WizardTabs
5
- } from "./chunk-IVIK776Y.js";
5
+ } from "./chunk-4SYXPG7L.js";
6
6
  import {
7
7
  HelpModal
8
- } from "./chunk-TY5GELDB.js";
8
+ } from "./chunk-UKTYDNWJ.js";
9
9
  import {
10
10
  useWizardStore
11
- } from "./chunk-HRMQ2RGY.js";
11
+ } from "./chunk-423MJ6DT.js";
12
12
  import {
13
13
  CLI_COLORS,
14
14
  DEFAULT_PLUGIN_NAME
15
- } from "./chunk-ZBJQXDQN.js";
15
+ } from "./chunk-BK7TANUV.js";
16
16
  import {
17
17
  init_esm_shims
18
18
  } from "./chunk-DHET7RCE.js";
@@ -179,4 +179,4 @@ var WizardLayout = ({
179
179
  export {
180
180
  WizardLayout
181
181
  };
182
- //# sourceMappingURL=chunk-TBDIR6LY.js.map
182
+ //# sourceMappingURL=chunk-MNPPGIZQ.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-KUV24B5M.js";
5
5
  import {
6
6
  CLI_COLORS
7
- } from "./chunk-ZBJQXDQN.js";
7
+ } from "./chunk-BK7TANUV.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-DHET7RCE.js";
@@ -92,4 +92,4 @@ var SearchModal = ({ results, alias, onBind, onClose }) => {
92
92
  export {
93
93
  SearchModal
94
94
  };
95
- //# sourceMappingURL=chunk-3NQJOJZL.js.map
95
+ //# sourceMappingURL=chunk-NYP5SB2V.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CLI_COLORS
4
- } from "./chunk-ZBJQXDQN.js";
4
+ } from "./chunk-BK7TANUV.js";
5
5
  import {
6
6
  init_esm_shims
7
7
  } from "./chunk-DHET7RCE.js";
@@ -45,4 +45,4 @@ var SectionProgress = ({
45
45
  export {
46
46
  SectionProgress
47
47
  };
48
- //# sourceMappingURL=chunk-UOMMQ5M6.js.map
48
+ //# sourceMappingURL=chunk-NZYKDVRL.js.map
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  getErrorMessage,
4
4
  warn
5
- } from "./chunk-YJIJTBSX.js";
5
+ } from "./chunk-XJXJZ2MJ.js";
6
6
  import {
7
7
  init_esm_shims
8
8
  } from "./chunk-DHET7RCE.js";
@@ -180,4 +180,4 @@ export {
180
180
  claudePluginMarketplaceAdd,
181
181
  claudePluginUninstall
182
182
  };
183
- //# sourceMappingURL=chunk-UV6JUGIY.js.map
183
+ //# sourceMappingURL=chunk-PURJZ72D.js.map
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  CLI_COLORS,
4
4
  DEFAULT_BRANDING
5
- } from "./chunk-ZBJQXDQN.js";
5
+ } from "./chunk-BK7TANUV.js";
6
6
  import {
7
7
  init_esm_shims
8
8
  } from "./chunk-DHET7RCE.js";
@@ -108,4 +108,4 @@ var StepRefine = ({
108
108
  export {
109
109
  StepRefine
110
110
  };
111
- //# sourceMappingURL=chunk-ATLRUR3B.js.map
111
+ //# sourceMappingURL=chunk-R52N7DBG.js.map
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  getAvailableSkills,
4
4
  resolveAlias
5
- } from "./chunk-U5OB5ADP.js";
5
+ } from "./chunk-TTXV55NQ.js";
6
6
  import {
7
7
  init_esm_shims
8
8
  } from "./chunk-DHET7RCE.js";
@@ -10,7 +10,7 @@ import {
10
10
  // src/cli/lib/wizard/build-step-logic.ts
11
11
  init_esm_shims();
12
12
  import { sortBy } from "remeda";
13
- var FRAMEWORK_SUBCATEGORY_ID = "framework";
13
+ var FRAMEWORK_SUBCATEGORY_ID = "web-framework";
14
14
  var WEB_DOMAIN_ID = "web";
15
15
  function validateBuildStep(categories, selections) {
16
16
  for (const category of categories) {
@@ -69,8 +69,8 @@ function isCompatibleWithSelectedFrameworks(skillId, selectedFrameworkIds, matri
69
69
  }
70
70
  return selectedFrameworkIds.some((frameworkId) => skill.compatibleWith.includes(frameworkId));
71
71
  }
72
- function buildCategoriesForDomain(domain, allSelections, matrix, expertMode, selections, parentDomainSelections, installedSkillIds) {
73
- const frameworkSource = parentDomainSelections ?? selections;
72
+ function buildCategoriesForDomain(domain, allSelections, matrix, expertMode, selections, installedSkillIds) {
73
+ const frameworkSource = selections;
74
74
  const frameworkSelected = isFrameworkSelected(frameworkSource);
75
75
  const selectedFrameworkIds = frameworkSelected ? getSelectedFrameworks(frameworkSource, matrix) : [];
76
76
  const subcategories = sortBy(
@@ -81,7 +81,7 @@ function buildCategoriesForDomain(domain, allSelections, matrix, expertMode, sel
81
81
  const skillOptions = getAvailableSkills(cat.id, allSelections, matrix, {
82
82
  expertMode
83
83
  });
84
- const useFrameworkFilter = (domain === WEB_DOMAIN_ID || parentDomainSelections !== void 0) && cat.id !== FRAMEWORK_SUBCATEGORY_ID && frameworkSelected;
84
+ const useFrameworkFilter = domain === WEB_DOMAIN_ID && cat.id !== FRAMEWORK_SUBCATEGORY_ID && frameworkSelected;
85
85
  const filteredSkillOptions = useFrameworkFilter ? skillOptions.filter(
86
86
  (skill) => isCompatibleWithSelectedFrameworks(skill.id, selectedFrameworkIds, matrix)
87
87
  ) : skillOptions;
@@ -110,4 +110,4 @@ export {
110
110
  getSkillDisplayLabel,
111
111
  buildCategoriesForDomain
112
112
  };
113
- //# sourceMappingURL=chunk-WSGGJKD5.js.map
113
+ //# sourceMappingURL=chunk-SILUTTV7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/lib/wizard/build-step-logic.ts"],"sourcesContent":["import { sortBy } from \"remeda\";\nimport type {\n Domain,\n MergedSkillsMatrix,\n SkillId,\n SubcategorySelections,\n} from \"../../types/index.js\";\nimport { getAvailableSkills, resolveAlias } from \"../matrix/index.js\";\nimport type {\n CategoryRow,\n CategoryOption,\n OptionState,\n} from \"../../components/wizard/category-grid.js\";\n\nconst FRAMEWORK_SUBCATEGORY_ID = \"web-framework\";\nconst WEB_DOMAIN_ID = \"web\";\n\nexport type BuildStepValidation = {\n valid: boolean;\n message?: string;\n};\n\nexport function validateBuildStep(\n categories: CategoryRow[],\n selections: SubcategorySelections,\n): BuildStepValidation {\n for (const category of categories) {\n if (category.required) {\n const categorySelections = selections[category.id] || [];\n if (categorySelections.length === 0) {\n return {\n valid: false,\n message: `Select at least one skill from the ${category.displayName} category. Use arrow keys to navigate, then SPACE to select.`,\n };\n }\n }\n }\n return { valid: true };\n}\n\nexport function computeOptionState(skill: {\n disabled: boolean;\n discouraged: boolean;\n recommended: boolean;\n}): OptionState {\n if (skill.disabled) {\n return \"disabled\";\n }\n if (skill.discouraged) {\n return \"discouraged\";\n }\n if (skill.recommended) {\n return \"recommended\";\n }\n return \"normal\";\n}\n\nexport function getSkillDisplayLabel(skill: { displayName?: string; id: string }): string {\n return skill.displayName || skill.id;\n}\n\nfunction getStateReason(skill: {\n disabled: boolean;\n disabledReason?: string;\n discouraged: boolean;\n discouragedReason?: string;\n recommended: boolean;\n recommendedReason?: string;\n}): string | undefined {\n if (skill.disabled && skill.disabledReason) {\n return skill.disabledReason;\n }\n if (skill.discouraged && skill.discouragedReason) {\n return skill.discouragedReason;\n }\n if (skill.recommended && skill.recommendedReason) {\n return skill.recommendedReason;\n }\n return undefined;\n}\n\nfunction isFrameworkSelected(selections: SubcategorySelections): boolean {\n const frameworkSelections = selections[FRAMEWORK_SUBCATEGORY_ID] ?? [];\n return frameworkSelections.length > 0;\n}\n\nfunction getSelectedFrameworks(\n selections: SubcategorySelections,\n matrix: MergedSkillsMatrix,\n): SkillId[] {\n const frameworkSelections = selections[FRAMEWORK_SUBCATEGORY_ID] ?? [];\n return frameworkSelections.map((alias) => resolveAlias(alias, matrix));\n}\n\nfunction isCompatibleWithSelectedFrameworks(\n skillId: SkillId,\n selectedFrameworkIds: SkillId[],\n matrix: MergedSkillsMatrix,\n): boolean {\n const skill = matrix.skills[skillId];\n if (!skill) return false;\n\n // No compatibleWith = compatible with all (allows legacy skills to appear)\n if (skill.compatibleWith.length === 0) {\n return true;\n }\n\n return selectedFrameworkIds.some((frameworkId) => skill.compatibleWith.includes(frameworkId));\n}\n\n// Build CategoryRow[] from matrix for a domain, with framework-first filtering for web\nexport function buildCategoriesForDomain(\n domain: Domain,\n allSelections: SkillId[],\n matrix: MergedSkillsMatrix,\n expertMode: boolean,\n selections: SubcategorySelections,\n installedSkillIds?: SkillId[],\n): CategoryRow[] {\n const frameworkSource = selections;\n const frameworkSelected = isFrameworkSelected(frameworkSource);\n const selectedFrameworkIds = frameworkSelected\n ? getSelectedFrameworks(frameworkSource, matrix)\n : [];\n\n const subcategories = sortBy(\n Object.values(matrix.categories).filter((cat) => cat.domain === domain),\n (cat) => cat.order ?? 0,\n );\n\n const categoryRows: CategoryRow[] = subcategories.map((cat) => {\n const skillOptions = getAvailableSkills(cat.id, allSelections, matrix, {\n expertMode,\n });\n\n const useFrameworkFilter =\n domain === WEB_DOMAIN_ID && cat.id !== FRAMEWORK_SUBCATEGORY_ID && frameworkSelected;\n const filteredSkillOptions = useFrameworkFilter\n ? skillOptions.filter((skill) =>\n isCompatibleWithSelectedFrameworks(skill.id, selectedFrameworkIds, matrix),\n )\n : skillOptions;\n\n const options: CategoryOption[] = filteredSkillOptions.map((skill) => ({\n id: skill.id,\n label: getSkillDisplayLabel(skill),\n state: computeOptionState(skill),\n stateReason: getStateReason(skill),\n selected: skill.selected,\n local: matrix.skills[skill.id]?.local,\n installed: installedSkillIds?.includes(skill.id) || false,\n }));\n\n return {\n id: cat.id,\n displayName: cat.displayName,\n required: cat.required ?? false,\n exclusive: cat.exclusive ?? true,\n options,\n };\n });\n\n return categoryRows.filter((row) => row.options.length > 0);\n}\n"],"mappings":"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","names":[]}
@@ -18,7 +18,7 @@ import {
18
18
  resolveAgents,
19
19
  writeContentHash,
20
20
  writePluginManifest
21
- } from "./chunk-U5OB5ADP.js";
21
+ } from "./chunk-TTXV55NQ.js";
22
22
  import {
23
23
  typedEntries,
24
24
  typedKeys
@@ -36,12 +36,12 @@ import {
36
36
  verbose,
37
37
  warn,
38
38
  writeFile
39
- } from "./chunk-YJIJTBSX.js";
39
+ } from "./chunk-XJXJZ2MJ.js";
40
40
  import {
41
41
  CLAUDE_DIR,
42
42
  DIRS,
43
43
  PROJECT_ROOT
44
- } from "./chunk-ZBJQXDQN.js";
44
+ } from "./chunk-BK7TANUV.js";
45
45
  import {
46
46
  init_esm_shims
47
47
  } from "./chunk-DHET7RCE.js";
@@ -315,4 +315,4 @@ export {
315
315
  compileAllAgentPlugins,
316
316
  printAgentCompilationSummary
317
317
  };
318
- //# sourceMappingURL=chunk-IZRVFC2Z.js.map
318
+ //# sourceMappingURL=chunk-TJAZ7QCF.js.map
@@ -42,7 +42,7 @@ import {
42
42
  warn,
43
43
  warnUnknownFields,
44
44
  writeFile
45
- } from "./chunk-YJIJTBSX.js";
45
+ } from "./chunk-XJXJZ2MJ.js";
46
46
  import {
47
47
  ARCHIVED_SKILLS_DIR_NAME,
48
48
  CACHE_DIR,
@@ -76,7 +76,7 @@ import {
76
76
  STANDARD_FILES,
77
77
  YAML_FORMATTING,
78
78
  yamlSchemaComment
79
- } from "./chunk-ZBJQXDQN.js";
79
+ } from "./chunk-BK7TANUV.js";
80
80
  import {
81
81
  init_esm_shims
82
82
  } from "./chunk-DHET7RCE.js";
@@ -1660,20 +1660,28 @@ async function loadMergedAgents(sourcePath) {
1660
1660
  return { ...cliAgents, ...sourceAgents };
1661
1661
  }
1662
1662
  async function buildLocalConfig(wizardResult, sourceResult) {
1663
+ verbose(
1664
+ `buildLocalConfig: selectedStackId='${wizardResult.selectedStackId}', selectedSkills=[${wizardResult.selectedSkills.join(", ")}], selectedAgents=[${wizardResult.selectedAgents.join(", ")}], installMode='${wizardResult.installMode}'`
1665
+ );
1663
1666
  let loadedStack = null;
1664
1667
  if (wizardResult.selectedStackId) {
1665
1668
  loadedStack = await loadStackById(wizardResult.selectedStackId, sourceResult.sourcePath);
1666
1669
  if (!loadedStack) {
1667
1670
  loadedStack = await loadStackById(wizardResult.selectedStackId, PROJECT_ROOT);
1668
1671
  }
1672
+ verbose(
1673
+ `buildLocalConfig: loadedStack=${loadedStack ? `found (id='${loadedStack.id}')` : "NOT FOUND"}`
1674
+ );
1669
1675
  }
1670
1676
  let localConfig;
1677
+ const agentOptions = wizardResult.selectedAgents.length > 0 ? { selectedAgents: wizardResult.selectedAgents } : void 0;
1671
1678
  if (wizardResult.selectedStackId) {
1672
1679
  if (loadedStack) {
1673
1680
  localConfig = generateProjectConfigFromSkills(
1674
1681
  DEFAULT_PLUGIN_NAME,
1675
1682
  wizardResult.selectedSkills,
1676
- sourceResult.matrix
1683
+ sourceResult.matrix,
1684
+ agentOptions
1677
1685
  );
1678
1686
  if (localConfig.stack) {
1679
1687
  const stackProperty = buildStackProperty(loadedStack);
@@ -1695,7 +1703,7 @@ async function buildLocalConfig(wizardResult, sourceResult) {
1695
1703
  localConfig.description = loadedStack.description;
1696
1704
  const stackAgentIds = typedKeys(loadedStack.agents);
1697
1705
  for (const agentId of stackAgentIds) {
1698
- if (!localConfig.agents.includes(agentId)) {
1706
+ if (!localConfig.agents.includes(agentId) && (wizardResult.selectedAgents.length === 0 || wizardResult.selectedAgents.includes(agentId))) {
1699
1707
  localConfig.agents.push(agentId);
1700
1708
  }
1701
1709
  }
@@ -1709,9 +1717,13 @@ async function buildLocalConfig(wizardResult, sourceResult) {
1709
1717
  localConfig = generateProjectConfigFromSkills(
1710
1718
  DEFAULT_PLUGIN_NAME,
1711
1719
  wizardResult.selectedSkills,
1712
- sourceResult.matrix
1720
+ sourceResult.matrix,
1721
+ agentOptions
1713
1722
  );
1714
1723
  }
1724
+ verbose(
1725
+ `buildLocalConfig result: stack=${localConfig.stack ? Object.keys(localConfig.stack).length + " agents" : "UNDEFINED"}, agents=[${localConfig.agents.join(", ")}], skills=${localConfig.skills.length}`
1726
+ );
1715
1727
  return { config: localConfig, loadedStack };
1716
1728
  }
1717
1729
  function setConfigMetadata(config, wizardResult, sourceResult, sourceFlag) {
@@ -1730,8 +1742,15 @@ function setConfigMetadata(config, wizardResult, sourceResult, sourceFlag) {
1730
1742
  }
1731
1743
  async function buildAndMergeConfig(wizardResult, sourceResult, projectDir, sourceFlag) {
1732
1744
  const { config } = await buildLocalConfig(wizardResult, sourceResult);
1745
+ verbose(
1746
+ `buildAndMergeConfig: before merge \u2014 stack=${config.stack ? Object.keys(config.stack).length + " agents" : "UNDEFINED"}`
1747
+ );
1733
1748
  setConfigMetadata(config, wizardResult, sourceResult, sourceFlag);
1734
- return mergeWithExistingConfig(config, { projectDir });
1749
+ const result = await mergeWithExistingConfig(config, { projectDir });
1750
+ verbose(
1751
+ `buildAndMergeConfig: after merge \u2014 stack=${result.config.stack ? Object.keys(result.config.stack).length + " agents" : "UNDEFINED"}, merged=${result.merged}`
1752
+ );
1753
+ return result;
1735
1754
  }
1736
1755
  var CONFIG_OPTIONS_COMMENT = [
1737
1756
  "",
@@ -3926,7 +3945,8 @@ import { fileURLToPath } from "url";
3926
3945
  var cachedDefaults = null;
3927
3946
  function getDefaultsPath() {
3928
3947
  const currentDir = path23.dirname(fileURLToPath(import.meta.url));
3929
- return path23.join(currentDir, "../..", "defaults", "agent-mappings.yaml");
3948
+ const isInDist = currentDir.includes("/dist");
3949
+ return isInDist ? path23.join(currentDir, "cli", "defaults", "agent-mappings.yaml") : path23.join(currentDir, "../..", "defaults", "agent-mappings.yaml");
3930
3950
  }
3931
3951
  async function loadDefaultMappings() {
3932
3952
  if (cachedDefaults !== null) {
@@ -3946,9 +3966,6 @@ async function loadDefaultMappings() {
3946
3966
  function getCachedDefaults() {
3947
3967
  return cachedDefaults;
3948
3968
  }
3949
- function clearDefaultsCache() {
3950
- cachedDefaults = null;
3951
- }
3952
3969
 
3953
3970
  // src/cli/lib/configuration/config-generator.ts
3954
3971
  var DEFAULT_AGENTS = ["agent-summoner", "skill-summoner", "documentor"];
@@ -3982,22 +3999,39 @@ function getAgentsForSkill(skillPath, category) {
3982
3999
  }
3983
4000
  function extractSubcategoryFromPath(categoryPath) {
3984
4001
  if (categoryPath === "local") return void 0;
3985
- const parts = categoryPath.split("/");
3986
- return parts.length >= 2 ? parts[1] : parts[0];
4002
+ return categoryPath;
3987
4003
  }
3988
4004
  function generateProjectConfigFromSkills(name, selectedSkillIds, matrix, options) {
3989
4005
  const neededAgents = /* @__PURE__ */ new Set();
3990
4006
  const stackProperty = {};
4007
+ const selectedAgentSet = options?.selectedAgents ? new Set(options.selectedAgents) : null;
4008
+ verbose(
4009
+ `generateProjectConfigFromSkills: ${selectedSkillIds.length} skills, matrix has ${Object.keys(matrix.skills).length} entries, selectedAgentSet=${selectedAgentSet ? `[${[...selectedAgentSet].join(", ")}]` : "null"}`
4010
+ );
4011
+ let foundCount = 0;
4012
+ let skippedCount = 0;
3991
4013
  for (const skillId of selectedSkillIds) {
3992
4014
  const skill = matrix.skills[skillId];
3993
4015
  if (!skill) {
4016
+ skippedCount++;
4017
+ warn(`Skill '${skillId}' NOT FOUND in matrix`);
3994
4018
  continue;
3995
4019
  }
4020
+ foundCount++;
3996
4021
  const skillPath = skill.path;
3997
4022
  const category = skill.category;
3998
4023
  const agents = getAgentsForSkill(skillPath, category);
3999
4024
  const subcategory = extractSubcategoryFromPath(category);
4000
- for (const agentId of agents) {
4025
+ const effectiveAgents = selectedAgentSet ? agents.filter((a) => selectedAgentSet.has(a)) : agents;
4026
+ verbose(
4027
+ ` skill '${skillId}': category='${category}', subcategory=${subcategory ?? "none"}, agents=[${agents.join(", ")}], effectiveAgents=[${effectiveAgents.join(", ")}]`
4028
+ );
4029
+ if (effectiveAgents.length === 0) {
4030
+ warn(
4031
+ `Skill '${skillId}': all agents filtered out by selectedAgentSet \u2014 derived=[${agents.join(", ")}], selected=[${[...selectedAgentSet ?? []].join(", ")}]`
4032
+ );
4033
+ }
4034
+ for (const agentId of effectiveAgents) {
4001
4035
  neededAgents.add(agentId);
4002
4036
  if (subcategory) {
4003
4037
  if (!stackProperty[agentId]) {
@@ -4007,6 +4041,15 @@ function generateProjectConfigFromSkills(name, selectedSkillIds, matrix, options
4007
4041
  }
4008
4042
  }
4009
4043
  }
4044
+ verbose(
4045
+ `generateProjectConfigFromSkills: ${foundCount} found, ${skippedCount} not found, ${Object.keys(stackProperty).length} agents in stack`
4046
+ );
4047
+ if (skippedCount > 0) {
4048
+ const matrixSample = Object.keys(matrix.skills).slice(0, 5).join(", ");
4049
+ warn(
4050
+ `${skippedCount}/${selectedSkillIds.length} skills not found in matrix. Matrix keys sample: [${matrixSample}]`
4051
+ );
4052
+ }
4010
4053
  const agentList = options?.selectedAgents ? [...options.selectedAgents].sort() : Array.from(neededAgents).sort();
4011
4054
  const config = {
4012
4055
  name,
@@ -4545,8 +4588,6 @@ export {
4545
4588
  loadSkillsMatrixFromSource,
4546
4589
  getMarketplaceLabel,
4547
4590
  loadDefaultMappings,
4548
- getCachedDefaults,
4549
- clearDefaultsCache,
4550
4591
  loadProjectConfig,
4551
4592
  validateProjectConfig,
4552
4593
  saveSourceToProjectConfig,
@@ -4567,4 +4608,4 @@ export {
4567
4608
  validateAllPlugins,
4568
4609
  printPluginValidationResult
4569
4610
  };
4570
- //# sourceMappingURL=chunk-U5OB5ADP.js.map
4611
+ //# sourceMappingURL=chunk-TTXV55NQ.js.map