@agents-inc/cli 0.42.1 → 0.45.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 (164) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +128 -113
  3. package/assets/logo.png +0 -0
  4. package/assets/logo.svg +75 -0
  5. package/dist/{chunk-J73KIP6Z.js → chunk-3JRWNWBF.js} +66 -4
  6. package/dist/chunk-3JRWNWBF.js.map +1 -0
  7. package/dist/{chunk-MHET2RG2.js → chunk-3S4GIO4B.js} +2 -2
  8. package/dist/{chunk-UXNHU7Y7.js → chunk-473YHDYQ.js} +3 -12
  9. package/dist/chunk-473YHDYQ.js.map +1 -0
  10. package/dist/{chunk-GVRZY5KI.js → chunk-5BDYODWP.js} +3 -3
  11. package/dist/{chunk-53K3URKF.js → chunk-ABE55TEU.js} +5 -3
  12. package/dist/chunk-ABE55TEU.js.map +1 -0
  13. package/dist/{chunk-2TWELY5M.js → chunk-ARET3NYO.js} +3 -3
  14. package/dist/{chunk-X34RGEFX.js → chunk-CLHBKFHU.js} +2 -2
  15. package/dist/{chunk-ORJPGZVD.js → chunk-DAVOSI4M.js} +7 -7
  16. package/dist/chunk-DAVOSI4M.js.map +1 -0
  17. package/dist/{chunk-IUYU2TP6.js → chunk-ELRGSZHZ.js} +7 -7
  18. package/dist/{chunk-MI4NWOWD.js → chunk-ENWMWIHP.js} +7 -7
  19. package/dist/{chunk-52SI5XJH.js → chunk-F3O5YHSI.js} +2 -7
  20. package/dist/chunk-F3O5YHSI.js.map +1 -0
  21. package/dist/{chunk-PP7NDFFE.js → chunk-FVN5PFFY.js} +8 -1
  22. package/dist/{chunk-PP7NDFFE.js.map → chunk-FVN5PFFY.js.map} +1 -1
  23. package/dist/{chunk-XRA4LHTJ.js → chunk-FYNMNY4P.js} +6 -8
  24. package/dist/chunk-FYNMNY4P.js.map +1 -0
  25. package/dist/{chunk-GCN7GGWE.js → chunk-GUIRWCKI.js} +3 -3
  26. package/dist/{chunk-AQANPOLS.js → chunk-HKRLWERR.js} +2 -2
  27. package/dist/{chunk-EPJ2GJNJ.js → chunk-KCYNTAAF.js} +9 -9
  28. package/dist/{chunk-33D24DAF.js → chunk-KVHLKPYB.js} +10 -10
  29. package/dist/{chunk-MMD26LKJ.js → chunk-KWWLPPHF.js} +2 -2
  30. package/dist/{chunk-FDY6SGSA.js → chunk-KZNPPUQG.js} +2 -2
  31. package/dist/{chunk-GIZ6DENW.js → chunk-M2XPTQDT.js} +4 -4
  32. package/dist/{chunk-BKW34TKI.js → chunk-M3AGB4TR.js} +3 -3
  33. package/dist/{chunk-ZHJEZ7AU.js → chunk-NTPHCNJO.js} +2 -2
  34. package/dist/{chunk-44QCEK7E.js → chunk-OALQWRLG.js} +2 -2
  35. package/dist/{chunk-PEAPABFI.js → chunk-OLZBZAW4.js} +2 -2
  36. package/dist/{chunk-FF4Z7MHY.js → chunk-Q5BSIARS.js} +26 -18
  37. package/dist/chunk-Q5BSIARS.js.map +1 -0
  38. package/dist/{chunk-UVVNWF43.js → chunk-SBWMSNS2.js} +2 -2
  39. package/dist/{chunk-ALWLM5MC.js → chunk-SRFNNOLC.js} +2 -2
  40. package/dist/{chunk-KA253GGY.js → chunk-SYGEV3KV.js} +4 -4
  41. package/dist/{chunk-HMGWGWFT.js → chunk-V43QDMYQ.js} +2 -2
  42. package/dist/{chunk-WMAALRQI.js → chunk-VTDEENSP.js} +4 -4
  43. package/dist/{chunk-VHGIQN5O.js → chunk-WWSKP5SR.js} +4 -4
  44. package/dist/{chunk-EFZN22TO.js → chunk-YQFU2KZ5.js} +3 -3
  45. package/dist/{chunk-SYHRJG5G.js → chunk-ZECXM7LP.js} +162 -278
  46. package/dist/chunk-ZECXM7LP.js.map +1 -0
  47. package/dist/commands/build/marketplace.js +3 -3
  48. package/dist/commands/build/plugins.js +5 -5
  49. package/dist/commands/build/stack.js +5 -5
  50. package/dist/commands/compile.js +6 -6
  51. package/dist/commands/config/get.js +4 -4
  52. package/dist/commands/config/index.js +5 -5
  53. package/dist/commands/config/path.js +4 -4
  54. package/dist/commands/config/set-project.js +4 -4
  55. package/dist/commands/config/show.js +5 -5
  56. package/dist/commands/config/unset-project.js +4 -4
  57. package/dist/commands/diff.js +4 -4
  58. package/dist/commands/doctor.js +4 -4
  59. package/dist/commands/edit.js +33 -30
  60. package/dist/commands/edit.js.map +1 -1
  61. package/dist/commands/eject.js +39 -14
  62. package/dist/commands/eject.js.map +1 -1
  63. package/dist/commands/import/skill.js +5 -5
  64. package/dist/commands/info.js +5 -5
  65. package/dist/commands/init.js +31 -36
  66. package/dist/commands/init.js.map +1 -1
  67. package/dist/commands/list.js +4 -4
  68. package/dist/commands/new/agent.js +5 -5
  69. package/dist/commands/new/skill.js +4 -5
  70. package/dist/commands/new/skill.js.map +1 -1
  71. package/dist/commands/outdated.js +4 -4
  72. package/dist/commands/search.js +7 -7
  73. package/dist/commands/uninstall.js +6 -6
  74. package/dist/commands/update.js +6 -6
  75. package/dist/commands/validate.js +5 -5
  76. package/dist/components/skill-search/skill-search.js +3 -3
  77. package/dist/components/wizard/category-grid.js +2 -2
  78. package/dist/components/wizard/category-grid.test.js +184 -98
  79. package/dist/components/wizard/category-grid.test.js.map +1 -1
  80. package/dist/components/wizard/checkbox-grid.js +3 -3
  81. package/dist/components/wizard/checkbox-grid.test.js +3 -3
  82. package/dist/components/wizard/domain-selection.js +8 -8
  83. package/dist/components/wizard/help-modal.js +2 -2
  84. package/dist/components/wizard/menu-item.js +1 -1
  85. package/dist/components/wizard/search-modal.js +2 -2
  86. package/dist/components/wizard/search-modal.test.js +2 -11
  87. package/dist/components/wizard/search-modal.test.js.map +1 -1
  88. package/dist/components/wizard/section-progress.js +2 -2
  89. package/dist/components/wizard/section-progress.test.js +2 -2
  90. package/dist/components/wizard/selection-card.js +2 -2
  91. package/dist/components/wizard/source-grid.js +3 -3
  92. package/dist/components/wizard/source-grid.test.js +5 -9
  93. package/dist/components/wizard/source-grid.test.js.map +1 -1
  94. package/dist/components/wizard/stack-selection.js +8 -8
  95. package/dist/components/wizard/step-agents.js +7 -7
  96. package/dist/components/wizard/step-agents.test.js +7 -7
  97. package/dist/components/wizard/step-build.js +8 -8
  98. package/dist/components/wizard/step-build.test.js +25 -40
  99. package/dist/components/wizard/step-build.test.js.map +1 -1
  100. package/dist/components/wizard/step-confirm.js +3 -3
  101. package/dist/components/wizard/step-confirm.test.js +7 -7
  102. package/dist/components/wizard/step-refine.js +2 -2
  103. package/dist/components/wizard/step-refine.test.js +2 -2
  104. package/dist/components/wizard/step-settings.js +5 -5
  105. package/dist/components/wizard/step-settings.test.js +8 -8
  106. package/dist/components/wizard/step-sources.js +11 -11
  107. package/dist/components/wizard/step-sources.test.js +14 -20
  108. package/dist/components/wizard/step-sources.test.js.map +1 -1
  109. package/dist/components/wizard/step-stack.js +11 -11
  110. package/dist/components/wizard/step-stack.test.js +17 -26
  111. package/dist/components/wizard/step-stack.test.js.map +1 -1
  112. package/dist/components/wizard/view-title.js +2 -2
  113. package/dist/components/wizard/wizard-layout.js +8 -8
  114. package/dist/components/wizard/wizard-tabs.js +2 -2
  115. package/dist/components/wizard/wizard-tabs.test.js +2 -2
  116. package/dist/components/wizard/wizard.js +26 -26
  117. package/dist/hooks/init.js +3 -3
  118. package/dist/{source-manager-ABK5COKX.js → source-manager-HXFXBZJU.js} +4 -4
  119. package/dist/stores/wizard-store.js +5 -5
  120. package/dist/stores/wizard-store.test.js +29 -49
  121. package/dist/stores/wizard-store.test.js.map +1 -1
  122. package/package.json +3 -1
  123. package/src/schemas/metadata.schema.json +0 -5
  124. package/dist/chunk-52SI5XJH.js.map +0 -1
  125. package/dist/chunk-53K3URKF.js.map +0 -1
  126. package/dist/chunk-FF4Z7MHY.js.map +0 -1
  127. package/dist/chunk-J73KIP6Z.js.map +0 -1
  128. package/dist/chunk-ORJPGZVD.js.map +0 -1
  129. package/dist/chunk-SYHRJG5G.js.map +0 -1
  130. package/dist/chunk-UXNHU7Y7.js.map +0 -1
  131. package/dist/chunk-XRA4LHTJ.js.map +0 -1
  132. package/dist/commands/version/bump.js +0 -79
  133. package/dist/commands/version/bump.js.map +0 -1
  134. package/dist/commands/version/index.js +0 -54
  135. package/dist/commands/version/index.js.map +0 -1
  136. package/dist/commands/version/set.js +0 -86
  137. package/dist/commands/version/set.js.map +0 -1
  138. package/dist/commands/version/show.js +0 -54
  139. package/dist/commands/version/show.js.map +0 -1
  140. /package/dist/{chunk-MHET2RG2.js.map → chunk-3S4GIO4B.js.map} +0 -0
  141. /package/dist/{chunk-GVRZY5KI.js.map → chunk-5BDYODWP.js.map} +0 -0
  142. /package/dist/{chunk-2TWELY5M.js.map → chunk-ARET3NYO.js.map} +0 -0
  143. /package/dist/{chunk-X34RGEFX.js.map → chunk-CLHBKFHU.js.map} +0 -0
  144. /package/dist/{chunk-IUYU2TP6.js.map → chunk-ELRGSZHZ.js.map} +0 -0
  145. /package/dist/{chunk-MI4NWOWD.js.map → chunk-ENWMWIHP.js.map} +0 -0
  146. /package/dist/{chunk-GCN7GGWE.js.map → chunk-GUIRWCKI.js.map} +0 -0
  147. /package/dist/{chunk-AQANPOLS.js.map → chunk-HKRLWERR.js.map} +0 -0
  148. /package/dist/{chunk-EPJ2GJNJ.js.map → chunk-KCYNTAAF.js.map} +0 -0
  149. /package/dist/{chunk-33D24DAF.js.map → chunk-KVHLKPYB.js.map} +0 -0
  150. /package/dist/{chunk-MMD26LKJ.js.map → chunk-KWWLPPHF.js.map} +0 -0
  151. /package/dist/{chunk-FDY6SGSA.js.map → chunk-KZNPPUQG.js.map} +0 -0
  152. /package/dist/{chunk-GIZ6DENW.js.map → chunk-M2XPTQDT.js.map} +0 -0
  153. /package/dist/{chunk-BKW34TKI.js.map → chunk-M3AGB4TR.js.map} +0 -0
  154. /package/dist/{chunk-ZHJEZ7AU.js.map → chunk-NTPHCNJO.js.map} +0 -0
  155. /package/dist/{chunk-44QCEK7E.js.map → chunk-OALQWRLG.js.map} +0 -0
  156. /package/dist/{chunk-PEAPABFI.js.map → chunk-OLZBZAW4.js.map} +0 -0
  157. /package/dist/{chunk-UVVNWF43.js.map → chunk-SBWMSNS2.js.map} +0 -0
  158. /package/dist/{chunk-ALWLM5MC.js.map → chunk-SRFNNOLC.js.map} +0 -0
  159. /package/dist/{chunk-KA253GGY.js.map → chunk-SYGEV3KV.js.map} +0 -0
  160. /package/dist/{chunk-HMGWGWFT.js.map → chunk-V43QDMYQ.js.map} +0 -0
  161. /package/dist/{chunk-WMAALRQI.js.map → chunk-VTDEENSP.js.map} +0 -0
  162. /package/dist/{chunk-VHGIQN5O.js.map → chunk-WWSKP5SR.js.map} +0 -0
  163. /package/dist/{chunk-EFZN22TO.js.map → chunk-YQFU2KZ5.js.map} +0 -0
  164. /package/dist/{source-manager-ABK5COKX.js.map → source-manager-HXFXBZJU.js.map} +0 -0
@@ -1,44 +1,44 @@
1
1
  #!/usr/bin/env node
2
- import {
3
- StepStack
4
- } from "./chunk-WMAALRQI.js";
5
2
  import {
6
3
  WizardLayout
7
- } from "./chunk-ORJPGZVD.js";
8
- import {
9
- StepConfirm
10
- } from "./chunk-BKW34TKI.js";
4
+ } from "./chunk-DAVOSI4M.js";
11
5
  import {
12
6
  StepSettings
13
- } from "./chunk-IUYU2TP6.js";
7
+ } from "./chunk-ELRGSZHZ.js";
14
8
  import {
15
9
  StepSources
16
- } from "./chunk-33D24DAF.js";
10
+ } from "./chunk-KVHLKPYB.js";
11
+ import {
12
+ StepStack
13
+ } from "./chunk-VTDEENSP.js";
17
14
  import {
18
15
  StepAgents
19
- } from "./chunk-VHGIQN5O.js";
16
+ } from "./chunk-WWSKP5SR.js";
20
17
  import {
21
18
  StepBuild
22
- } from "./chunk-EPJ2GJNJ.js";
19
+ } from "./chunk-KCYNTAAF.js";
20
+ import {
21
+ StepConfirm
22
+ } from "./chunk-M3AGB4TR.js";
23
23
  import {
24
24
  getStackName
25
25
  } from "./chunk-YRVTXSXP.js";
26
26
  import {
27
27
  cliTheme
28
- } from "./chunk-AQANPOLS.js";
28
+ } from "./chunk-HKRLWERR.js";
29
29
  import {
30
30
  useWizardStore
31
- } from "./chunk-XRA4LHTJ.js";
31
+ } from "./chunk-FYNMNY4P.js";
32
32
  import {
33
33
  resolveAlias,
34
34
  validateSelection
35
- } from "./chunk-SYHRJG5G.js";
35
+ } from "./chunk-ZECXM7LP.js";
36
36
  import {
37
37
  warn
38
- } from "./chunk-UXNHU7Y7.js";
38
+ } from "./chunk-473YHDYQ.js";
39
39
  import {
40
40
  CLI_COLORS
41
- } from "./chunk-PP7NDFFE.js";
41
+ } from "./chunk-FVN5PFFY.js";
42
42
  import {
43
43
  init_esm_shims
44
44
  } from "./chunk-DHET7RCE.js";
@@ -58,6 +58,7 @@ function useWizardInitialization({
58
58
  initialInstallMode,
59
59
  initialExpertMode,
60
60
  initialDomains,
61
+ initialAgents,
61
62
  installedSkillIds
62
63
  }) {
63
64
  const initialized = useRef(false);
@@ -78,6 +79,9 @@ function useWizardInitialization({
78
79
  if (initialDomains?.length) {
79
80
  useWizardStore.setState({ selectedDomains: initialDomains });
80
81
  }
82
+ if (initialAgents?.length) {
83
+ useWizardStore.setState({ selectedAgents: initialAgents });
84
+ }
81
85
  }
82
86
  }
83
87
 
@@ -143,6 +147,7 @@ var Wizard = ({
143
147
  initialInstallMode,
144
148
  initialExpertMode,
145
149
  initialDomains,
150
+ initialAgents,
146
151
  installedSkillIds,
147
152
  projectDir
148
153
  }) => {
@@ -159,6 +164,7 @@ var Wizard = ({
159
164
  initialInstallMode,
160
165
  initialExpertMode,
161
166
  initialDomains,
167
+ initialAgents,
162
168
  installedSkillIds
163
169
  });
164
170
  const buildStepProps = useBuildStepProps({ store, matrix, installedSkillIds });
@@ -270,7 +276,9 @@ var Wizard = ({
270
276
  matrix,
271
277
  projectDir,
272
278
  onContinue: () => {
273
- store.preselectAgentsFromDomains();
279
+ if (!initialAgents?.length) {
280
+ store.preselectAgentsFromDomains();
281
+ }
274
282
  store.setStep("agents");
275
283
  },
276
284
  onBack: store.goBack
@@ -315,4 +323,4 @@ var Wizard = ({
315
323
  export {
316
324
  Wizard
317
325
  };
318
- //# sourceMappingURL=chunk-FF4Z7MHY.js.map
326
+ //# sourceMappingURL=chunk-Q5BSIARS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/components/wizard/wizard.tsx","../src/cli/components/hooks/use-wizard-initialization.ts","../src/cli/components/hooks/use-build-step-props.ts"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { Box, Text, useApp, useInput, useStdout } from \"ink\";\nimport { ThemeProvider } from \"@inkjs/ui\";\nimport { useWizardStore, type WizardStep } from \"../../stores/wizard-store.js\";\nimport { CLI_COLORS } from \"../../consts.js\";\nimport { cliTheme } from \"../themes/default.js\";\nimport { WizardLayout } from \"./wizard-layout.js\";\nimport { StepStack } from \"./step-stack.js\";\nimport { StepBuild } from \"./step-build.js\";\nimport { StepConfirm } from \"./step-confirm.js\";\nimport { StepSources } from \"./step-sources.js\";\nimport { StepSettings } from \"./step-settings.js\";\nimport { StepAgents } from \"./step-agents.js\";\nimport { resolveAlias, validateSelection } from \"../../lib/matrix/index.js\";\nimport type {\n AgentName,\n Domain,\n DomainSelections,\n MergedSkillsMatrix,\n SkillId,\n} from \"../../types/index.js\";\nimport { getStackName } from \"./utils.js\";\nimport { warn } from \"../../utils/logger.js\";\nimport { useWizardInitialization } from \"../hooks/use-wizard-initialization.js\";\nimport { useBuildStepProps } from \"../hooks/use-build-step-props.js\";\n\nexport type WizardResultV2 = {\n selectedSkills: SkillId[];\n selectedAgents: AgentName[];\n selectedStackId: string | null;\n domainSelections: DomainSelections;\n selectedDomains: Domain[];\n sourceSelections: Partial<Record<SkillId, string>>;\n expertMode: boolean;\n installMode: \"plugin\" | \"local\";\n cancelled: boolean;\n validation: {\n valid: boolean;\n errors: Array<{ message: string }>;\n warnings: Array<{ message: string }>;\n };\n};\n\ntype WizardProps = {\n matrix: MergedSkillsMatrix;\n onComplete: (result: WizardResultV2) => void;\n onCancel: () => void;\n version?: string;\n marketplaceLabel?: string;\n logo?: string;\n initialStep?: WizardStep;\n initialInstallMode?: \"plugin\" | \"local\";\n initialExpertMode?: boolean;\n initialDomains?: Domain[];\n initialAgents?: AgentName[];\n installedSkillIds?: SkillId[];\n projectDir?: string;\n};\n\nconst MIN_TERMINAL_WIDTH = 80;\nconst MIN_TERMINAL_HEIGHT = 15;\n\nexport const Wizard: React.FC<WizardProps> = ({\n matrix,\n onComplete,\n onCancel,\n version,\n marketplaceLabel,\n logo,\n initialStep,\n initialInstallMode,\n initialExpertMode,\n initialDomains,\n initialAgents,\n installedSkillIds,\n projectDir,\n}) => {\n const store = useWizardStore();\n const { exit } = useApp();\n const { stdout } = useStdout();\n\n const terminalWidth = stdout.columns || MIN_TERMINAL_WIDTH;\n const terminalHeight = stdout.rows || MIN_TERMINAL_HEIGHT;\n const isNarrowTerminal = terminalWidth < MIN_TERMINAL_WIDTH;\n const isShortTerminal = terminalHeight < MIN_TERMINAL_HEIGHT;\n\n useWizardInitialization({\n matrix,\n initialStep,\n initialInstallMode,\n initialExpertMode,\n initialDomains,\n initialAgents,\n installedSkillIds,\n });\n\n const buildStepProps = useBuildStepProps({ store, matrix, installedSkillIds });\n\n useInput((input, key) => {\n // ESC is handled by step-settings.tsx's own useKeyboardNavigation hook\n if (store.showSettings) {\n if (input === \"g\" || input === \"G\") {\n store.toggleSettings();\n }\n return;\n }\n\n if (store.showHelp) {\n if (key.escape || input === \"?\") {\n store.toggleHelp();\n }\n return;\n }\n\n if (input === \"?\") {\n store.toggleHelp();\n return;\n }\n\n if (key.escape) {\n // At the initial stack/scratch selection (approach not yet set), ESC cancels the wizard.\n // StackSelection handles its own ESC via the onCancel prop.\n // Other steps that don't have their own escape handler use goBack.\n if (\n store.step !== \"build\" &&\n store.step !== \"confirm\" &&\n store.step !== \"sources\" &&\n store.step !== \"agents\" &&\n store.step !== \"stack\"\n ) {\n store.goBack();\n }\n return;\n }\n\n if ((input === \"a\" || input === \"A\") && store.step === \"build\" && store.selectedStackId) {\n store.setStackAction(\"defaults\");\n store.setStep(\"confirm\");\n return;\n }\n\n if ((input === \"g\" || input === \"G\") && store.step === \"sources\") {\n store.toggleSettings();\n return;\n }\n\n if (input === \"e\" || input === \"E\") {\n store.toggleExpertMode();\n return;\n }\n if (input === \"p\" || input === \"P\") {\n store.toggleInstallMode();\n }\n });\n\n const handleComplete = useCallback(() => {\n let allSkills: SkillId[];\n\n if (store.selectedStackId && store.stackAction === \"defaults\") {\n const stack = matrix.suggestedStacks.find((s) => s.id === store.selectedStackId);\n if (!stack) {\n warn(`Stack not found in matrix: '${store.selectedStackId}'`);\n }\n allSkills = [...(stack?.allSkillIds || [])];\n } else {\n const techNames = store.getAllSelectedTechnologies();\n allSkills = techNames.map((tech) => {\n const resolved = resolveAlias(tech, matrix);\n if (!matrix.skills[resolved]) {\n warn(\n `Technology '${tech}' could not be resolved to a skill ID - it may be missing from skill_aliases`,\n );\n }\n return resolved;\n });\n }\n\n const methodologySkills = store.getDefaultMethodologySkills();\n for (const skill of methodologySkills) {\n if (!allSkills.includes(skill)) {\n allSkills.push(skill);\n }\n }\n\n const validation = validateSelection(allSkills, matrix);\n\n const result: WizardResultV2 = {\n selectedSkills: allSkills,\n selectedAgents: store.selectedAgents,\n selectedStackId: store.selectedStackId,\n domainSelections: store.domainSelections,\n selectedDomains: store.selectedDomains,\n sourceSelections: store.sourceSelections,\n expertMode: store.expertMode,\n installMode: store.installMode,\n cancelled: false,\n validation,\n };\n\n onComplete(result);\n exit();\n }, [store, matrix, onComplete, exit]);\n\n const handleCancel = useCallback(() => {\n onCancel();\n exit();\n }, [onCancel, exit]);\n\n const renderStep = () => {\n switch (store.step) {\n case \"stack\":\n return <StepStack matrix={matrix} onCancel={handleCancel} />;\n\n case \"build\":\n return <StepBuild {...buildStepProps} />;\n\n case \"sources\": {\n if (store.showSettings) {\n return (\n <StepSettings\n projectDir={projectDir || process.cwd()}\n onClose={() => store.toggleSettings()}\n />\n );\n }\n return (\n <StepSources\n matrix={matrix}\n projectDir={projectDir}\n onContinue={() => {\n if (!initialAgents?.length) {\n store.preselectAgentsFromDomains();\n }\n store.setStep(\"agents\");\n }}\n onBack={store.goBack}\n />\n );\n }\n\n case \"agents\":\n return <StepAgents />;\n\n case \"confirm\": {\n const stackName = getStackName(store.selectedStackId, matrix);\n const technologyCount = store.getTechnologyCount();\n return (\n <StepConfirm\n onComplete={handleComplete}\n stackName={stackName}\n selectedDomains={store.selectedDomains}\n domainSelections={store.domainSelections}\n technologyCount={technologyCount}\n skillCount={technologyCount}\n agentCount={store.selectedAgents.length}\n installMode={store.installMode}\n onBack={store.goBack}\n />\n );\n }\n\n default:\n return null;\n }\n };\n\n if (isNarrowTerminal || isShortTerminal) {\n const issue = isNarrowTerminal\n ? `too narrow (${terminalWidth} columns, need ${MIN_TERMINAL_WIDTH})`\n : `too short (${terminalHeight} rows, need ${MIN_TERMINAL_HEIGHT})`;\n\n return (\n <ThemeProvider theme={cliTheme}>\n <Box flexDirection=\"column\" padding={1}>\n <Text color={CLI_COLORS.WARNING}>Terminal {issue}. Please resize your terminal.</Text>\n </Box>\n </ThemeProvider>\n );\n }\n\n return (\n <ThemeProvider theme={cliTheme}>\n <WizardLayout version={version} marketplaceLabel={marketplaceLabel} logo={logo}>\n {renderStep()}\n </WizardLayout>\n </ThemeProvider>\n );\n};\n","import { useRef } from \"react\";\nimport { useWizardStore, type WizardStep } from \"../../stores/wizard-store.js\";\nimport type { AgentName, Domain, MergedSkillsMatrix, SkillId } from \"../../types/index.js\";\n\ntype UseWizardInitializationOptions = {\n matrix: MergedSkillsMatrix;\n initialStep?: WizardStep;\n initialInstallMode?: \"plugin\" | \"local\";\n initialExpertMode?: boolean;\n initialDomains?: Domain[];\n initialAgents?: AgentName[];\n installedSkillIds?: SkillId[];\n};\n\n/**\n * Runs one-time wizard store initialization before the first render.\n * Populates step, approach, install mode, and skill selections from props.\n */\nexport function useWizardInitialization({\n matrix,\n initialStep,\n initialInstallMode,\n initialExpertMode,\n initialDomains,\n initialAgents,\n installedSkillIds,\n}: UseWizardInitializationOptions): void {\n const initialized = useRef(false);\n\n if (!initialized.current) {\n initialized.current = true;\n\n if (initialStep) {\n if (installedSkillIds?.length) {\n useWizardStore\n .getState()\n .populateFromSkillIds(installedSkillIds, matrix.skills, matrix.categories);\n }\n useWizardStore.setState({ step: initialStep, approach: \"scratch\" });\n }\n if (initialInstallMode) {\n useWizardStore.setState({ installMode: initialInstallMode });\n }\n if (initialExpertMode) {\n useWizardStore.setState({ expertMode: initialExpertMode });\n }\n // Restore saved domains from config, overriding the ALL_DOMAINS default\n // set by populateFromSkillIds\n if (initialDomains?.length) {\n useWizardStore.setState({ selectedDomains: initialDomains });\n }\n // Restore saved agents from config, overriding the default empty array\n if (initialAgents?.length) {\n useWizardStore.setState({ selectedAgents: initialAgents });\n }\n }\n}\n","import { useCallback } from \"react\";\nimport type { Domain, MergedSkillsMatrix, SkillId } from \"../../types/index.js\";\nimport type { WizardState } from \"../../stores/wizard-store.js\";\nimport type { StepBuildProps } from \"../wizard/step-build.js\";\n\ntype UseBuildStepPropsOptions = {\n store: WizardState;\n matrix: MergedSkillsMatrix;\n installedSkillIds?: SkillId[];\n};\n\nexport function useBuildStepProps({\n store,\n matrix,\n installedSkillIds,\n}: UseBuildStepPropsOptions): StepBuildProps {\n const currentDomain = store.getCurrentDomain();\n const defaultDomains: Domain[] = [\"web\"];\n const effectiveDomains =\n store.selectedDomains.length > 0 ? store.selectedDomains : defaultDomains;\n\n const allSelections = store.getAllSelectedTechnologies();\n\n const activeDomain: Domain = currentDomain || effectiveDomains[0] || \"web\";\n\n const onToggle = useCallback(\n (subcategoryId: Parameters<StepBuildProps[\"onToggle\"]>[0], techId: SkillId) => {\n const domain: Domain = store.getCurrentDomain() || \"web\";\n const cat = matrix.categories[subcategoryId];\n store.toggleTechnology(domain, subcategoryId, techId, cat?.exclusive ?? true);\n },\n [store, matrix],\n );\n\n const onContinue = useCallback(() => {\n if (!store.nextDomain()) {\n store.setStep(\"sources\");\n }\n }, [store]);\n\n const onBack = useCallback(() => {\n if (!store.prevDomain()) {\n store.goBack();\n }\n }, [store]);\n\n return {\n matrix,\n domain: activeDomain,\n selectedDomains: effectiveDomains,\n selections: store.domainSelections[activeDomain] || {},\n allSelections,\n showLabels: store.showLabels,\n expertMode: store.expertMode,\n installedSkillIds,\n onToggle,\n onToggleLabels: store.toggleShowLabels,\n onContinue,\n onBack,\n };\n}\n"],"mappings":"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","names":["useCallback","useCallback"]}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CLI_COLORS
4
- } from "./chunk-PP7NDFFE.js";
4
+ } from "./chunk-FVN5PFFY.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-UVVNWF43.js.map
48
+ //# sourceMappingURL=chunk-SBWMSNS2.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getErrorMessage
4
- } from "./chunk-UXNHU7Y7.js";
4
+ } from "./chunk-473YHDYQ.js";
5
5
  import {
6
6
  init_esm_shims
7
7
  } from "./chunk-DHET7RCE.js";
@@ -53,4 +53,4 @@ export {
53
53
  EXIT_CODES,
54
54
  BaseCommand
55
55
  };
56
- //# sourceMappingURL=chunk-ALWLM5MC.js.map
56
+ //# sourceMappingURL=chunk-SRFNNOLC.js.map
@@ -18,7 +18,7 @@ import {
18
18
  resolveAgents,
19
19
  writeContentHash,
20
20
  writePluginManifest
21
- } from "./chunk-SYHRJG5G.js";
21
+ } from "./chunk-ZECXM7LP.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-UXNHU7Y7.js";
39
+ } from "./chunk-473YHDYQ.js";
40
40
  import {
41
41
  CLAUDE_DIR,
42
42
  DIRS,
43
43
  PROJECT_ROOT
44
- } from "./chunk-PP7NDFFE.js";
44
+ } from "./chunk-FVN5PFFY.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-KA253GGY.js.map
318
+ //# sourceMappingURL=chunk-SYGEV3KV.js.map
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  CLI_BIN_NAME,
4
4
  DEFAULT_BRANDING
5
- } from "./chunk-PP7NDFFE.js";
5
+ } from "./chunk-FVN5PFFY.js";
6
6
  import {
7
7
  init_esm_shims
8
8
  } from "./chunk-DHET7RCE.js";
@@ -67,4 +67,4 @@ export {
67
67
  INFO_MESSAGES,
68
68
  DRY_RUN_MESSAGES
69
69
  };
70
- //# sourceMappingURL=chunk-HMGWGWFT.js.map
70
+ //# sourceMappingURL=chunk-V43QDMYQ.js.map
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StackSelection
4
- } from "./chunk-MI4NWOWD.js";
4
+ } from "./chunk-ENWMWIHP.js";
5
5
  import {
6
6
  DomainSelection
7
- } from "./chunk-GVRZY5KI.js";
7
+ } from "./chunk-5BDYODWP.js";
8
8
  import {
9
9
  useWizardStore
10
- } from "./chunk-XRA4LHTJ.js";
10
+ } from "./chunk-FYNMNY4P.js";
11
11
  import {
12
12
  init_esm_shims
13
13
  } from "./chunk-DHET7RCE.js";
@@ -26,4 +26,4 @@ var StepStack = ({ matrix, onCancel }) => {
26
26
  export {
27
27
  StepStack
28
28
  };
29
- //# sourceMappingURL=chunk-WMAALRQI.js.map
29
+ //# sourceMappingURL=chunk-VTDEENSP.js.map
@@ -4,15 +4,15 @@ import {
4
4
  } from "./chunk-K77I4XGL.js";
5
5
  import {
6
6
  ViewTitle
7
- } from "./chunk-MMD26LKJ.js";
7
+ } from "./chunk-KWWLPPHF.js";
8
8
  import {
9
9
  useWizardStore
10
- } from "./chunk-XRA4LHTJ.js";
10
+ } from "./chunk-FYNMNY4P.js";
11
11
  import {
12
12
  CLI_COLORS,
13
13
  SCROLL_VIEWPORT,
14
14
  UI_SYMBOLS
15
- } from "./chunk-PP7NDFFE.js";
15
+ } from "./chunk-FVN5PFFY.js";
16
16
  import {
17
17
  init_esm_shims
18
18
  } from "./chunk-DHET7RCE.js";
@@ -209,4 +209,4 @@ var StepAgents = () => {
209
209
  export {
210
210
  StepAgents
211
211
  };
212
- //# sourceMappingURL=chunk-VHGIQN5O.js.map
212
+ //# sourceMappingURL=chunk-WWSKP5SR.js.map
@@ -4,14 +4,14 @@ import {
4
4
  } from "./chunk-7SOPVGDV.js";
5
5
  import {
6
6
  SearchModal
7
- } from "./chunk-52SI5XJH.js";
7
+ } from "./chunk-F3O5YHSI.js";
8
8
  import {
9
9
  useFocusedListItem
10
10
  } from "./chunk-GG4BSB6S.js";
11
11
  import {
12
12
  CLI_COLORS,
13
13
  SCROLL_VIEWPORT
14
- } from "./chunk-PP7NDFFE.js";
14
+ } from "./chunk-FVN5PFFY.js";
15
15
  import {
16
16
  init_esm_shims
17
17
  } from "./chunk-DHET7RCE.js";
@@ -280,4 +280,4 @@ var SourceGrid = ({
280
280
  export {
281
281
  SourceGrid
282
282
  };
283
- //# sourceMappingURL=chunk-EFZN22TO.js.map
283
+ //# sourceMappingURL=chunk-YQFU2KZ5.js.map