@agents-inc/cli 0.88.0 → 0.90.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 (128) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/{chunk-RWVF6DQE.js → chunk-2RFE7LTV.js} +3 -3
  3. package/dist/{chunk-23M3SPXX.js → chunk-3T5XT2VU.js} +7 -7
  4. package/dist/{chunk-ANXHMG32.js → chunk-47HMJ4BY.js} +28 -1
  5. package/dist/chunk-47HMJ4BY.js.map +1 -0
  6. package/dist/{chunk-LHUK5L6P.js → chunk-4DZNTUK7.js} +23 -10
  7. package/dist/chunk-4DZNTUK7.js.map +1 -0
  8. package/dist/{chunk-DDCW4SKN.js → chunk-4ITKYWVG.js} +5 -4
  9. package/dist/{chunk-DDCW4SKN.js.map → chunk-4ITKYWVG.js.map} +1 -1
  10. package/dist/{chunk-6YR2NEW3.js → chunk-7AUGC7PK.js} +2 -2
  11. package/dist/{chunk-TAPEVEET.js → chunk-7K7SA4TZ.js} +2 -2
  12. package/dist/{chunk-REZZSDXG.js → chunk-BO4JY7BT.js} +22 -14
  13. package/dist/chunk-BO4JY7BT.js.map +1 -0
  14. package/dist/{chunk-BEZ6ZPDS.js → chunk-D254XO7K.js} +2 -2
  15. package/dist/{chunk-YM3V4Q3W.js → chunk-DZ2IQERZ.js} +5 -5
  16. package/dist/{chunk-ATPHV3MD.js → chunk-FGVCQBXH.js} +3 -3
  17. package/dist/{chunk-EADZIYQW.js → chunk-FVBSRBU3.js} +30 -21
  18. package/dist/chunk-FVBSRBU3.js.map +1 -0
  19. package/dist/{chunk-JNUFQBXX.js → chunk-HCSIS35Y.js} +2 -2
  20. package/dist/{chunk-NPMMU4GY.js → chunk-IR7ADPAZ.js} +56 -1
  21. package/dist/chunk-IR7ADPAZ.js.map +1 -0
  22. package/dist/{chunk-AP4DLJDP.js → chunk-JBS4CCJG.js} +2 -2
  23. package/dist/{chunk-CKZ65VFJ.js → chunk-JI44SVMW.js} +4 -4
  24. package/dist/chunk-JI44SVMW.js.map +1 -0
  25. package/dist/{chunk-VWTZOBBQ.js → chunk-O423DMUE.js} +2 -2
  26. package/dist/{chunk-ZTRQO5CX.js → chunk-OOHPUT5M.js} +2 -2
  27. package/dist/{chunk-ANZV33N5.js → chunk-OVY7IV3C.js} +2 -2
  28. package/dist/{chunk-ZFQTKY2S.js → chunk-OWPIGGPP.js} +5 -5
  29. package/dist/chunk-OWPIGGPP.js.map +1 -0
  30. package/dist/{chunk-ITBSJNIC.js → chunk-Q3NIGPRZ.js} +3 -3
  31. package/dist/{chunk-5IYZGJDW.js → chunk-TP6BX5M2.js} +4 -4
  32. package/dist/{chunk-2DRPZXXK.js → chunk-TWOHWCKS.js} +3 -3
  33. package/dist/{chunk-PZBLGD7O.js → chunk-UCORQ7YO.js} +2 -2
  34. package/dist/{chunk-NL5EB57E.js → chunk-UHARXISZ.js} +4 -4
  35. package/dist/chunk-UHARXISZ.js.map +1 -0
  36. package/dist/{chunk-WTPPVXJP.js → chunk-VJBCOPMG.js} +4 -4
  37. package/dist/{chunk-MY4TVLRB.js → chunk-VYLF4IIK.js} +4 -4
  38. package/dist/{chunk-6XWHJHNZ.js → chunk-WEYWZ7UE.js} +4 -1
  39. package/dist/chunk-WEYWZ7UE.js.map +1 -0
  40. package/dist/{chunk-STMRDPGZ.js → chunk-XM2Y5AFQ.js} +2 -2
  41. package/dist/{chunk-57KI55GJ.js → chunk-Z5FXZFX2.js} +3 -3
  42. package/dist/commands/build/marketplace.js +4 -4
  43. package/dist/commands/build/plugins.js +8 -8
  44. package/dist/commands/build/stack.js +8 -8
  45. package/dist/commands/compile.js +9 -9
  46. package/dist/commands/config/index.js +8 -8
  47. package/dist/commands/config/path.js +7 -7
  48. package/dist/commands/config/show.js +8 -8
  49. package/dist/commands/diff.js +9 -9
  50. package/dist/commands/doctor.js +9 -9
  51. package/dist/commands/edit.js +24 -24
  52. package/dist/commands/eject.js +9 -9
  53. package/dist/commands/import/skill.js +7 -7
  54. package/dist/commands/info.js +9 -9
  55. package/dist/commands/init.js +25 -25
  56. package/dist/commands/list.js +7 -7
  57. package/dist/commands/new/agent.js +8 -8
  58. package/dist/commands/new/marketplace.js +8 -8
  59. package/dist/commands/new/skill.js +7 -7
  60. package/dist/commands/outdated.js +9 -9
  61. package/dist/commands/search.js +9 -9
  62. package/dist/commands/uninstall.js +7 -7
  63. package/dist/commands/update.js +9 -9
  64. package/dist/commands/validate.js +7 -7
  65. package/dist/components/wizard/category-grid.js +2 -2
  66. package/dist/components/wizard/category-grid.test.js +11 -11
  67. package/dist/components/wizard/domain-selection.js +9 -9
  68. package/dist/components/wizard/help-modal.js +8 -8
  69. package/dist/components/wizard/source-grid.js +2 -2
  70. package/dist/components/wizard/source-grid.test.js +11 -11
  71. package/dist/components/wizard/stack-selection.js +8 -8
  72. package/dist/components/wizard/step-agents.js +9 -9
  73. package/dist/components/wizard/step-agents.test.js +12 -12
  74. package/dist/components/wizard/step-build.js +9 -9
  75. package/dist/components/wizard/step-build.test.js +12 -12
  76. package/dist/components/wizard/step-confirm.js +4 -4
  77. package/dist/components/wizard/step-confirm.test.js +10 -10
  78. package/dist/components/wizard/step-settings.js +7 -7
  79. package/dist/components/wizard/step-settings.test.js +10 -10
  80. package/dist/components/wizard/step-sources.js +9 -9
  81. package/dist/components/wizard/step-sources.test.js +12 -12
  82. package/dist/components/wizard/step-stack.js +9 -9
  83. package/dist/components/wizard/step-stack.test.js +10 -10
  84. package/dist/components/wizard/wizard-layout.js +10 -10
  85. package/dist/components/wizard/wizard.js +21 -21
  86. package/dist/config-exports.js +1 -1
  87. package/dist/hooks/init.js +25 -25
  88. package/dist/{loader-SQOK2BF7.js → loader-D5VE56SI.js} +4 -4
  89. package/dist/{source-loader-CCECAU5L.js → source-loader-INCCYL5P.js} +7 -7
  90. package/dist/source-manager-TEOUO734.js +19 -0
  91. package/dist/stores/wizard-store.js +7 -7
  92. package/dist/stores/wizard-store.test.js +10 -10
  93. package/package.json +1 -1
  94. package/dist/chunk-6XWHJHNZ.js.map +0 -1
  95. package/dist/chunk-ANXHMG32.js.map +0 -1
  96. package/dist/chunk-CKZ65VFJ.js.map +0 -1
  97. package/dist/chunk-EADZIYQW.js.map +0 -1
  98. package/dist/chunk-LHUK5L6P.js.map +0 -1
  99. package/dist/chunk-NL5EB57E.js.map +0 -1
  100. package/dist/chunk-NPMMU4GY.js.map +0 -1
  101. package/dist/chunk-REZZSDXG.js.map +0 -1
  102. package/dist/chunk-ZFQTKY2S.js.map +0 -1
  103. package/dist/plugins/dummy-skill/.claude-plugin/.content-hash +0 -1
  104. package/dist/plugins/dummy-skill/.claude-plugin/plugin.json +0 -13
  105. package/dist/source-manager-4P7MTZRR.js +0 -19
  106. /package/dist/{chunk-RWVF6DQE.js.map → chunk-2RFE7LTV.js.map} +0 -0
  107. /package/dist/{chunk-23M3SPXX.js.map → chunk-3T5XT2VU.js.map} +0 -0
  108. /package/dist/{chunk-6YR2NEW3.js.map → chunk-7AUGC7PK.js.map} +0 -0
  109. /package/dist/{chunk-TAPEVEET.js.map → chunk-7K7SA4TZ.js.map} +0 -0
  110. /package/dist/{chunk-BEZ6ZPDS.js.map → chunk-D254XO7K.js.map} +0 -0
  111. /package/dist/{chunk-YM3V4Q3W.js.map → chunk-DZ2IQERZ.js.map} +0 -0
  112. /package/dist/{chunk-ATPHV3MD.js.map → chunk-FGVCQBXH.js.map} +0 -0
  113. /package/dist/{chunk-JNUFQBXX.js.map → chunk-HCSIS35Y.js.map} +0 -0
  114. /package/dist/{chunk-AP4DLJDP.js.map → chunk-JBS4CCJG.js.map} +0 -0
  115. /package/dist/{chunk-VWTZOBBQ.js.map → chunk-O423DMUE.js.map} +0 -0
  116. /package/dist/{chunk-ZTRQO5CX.js.map → chunk-OOHPUT5M.js.map} +0 -0
  117. /package/dist/{chunk-ANZV33N5.js.map → chunk-OVY7IV3C.js.map} +0 -0
  118. /package/dist/{chunk-ITBSJNIC.js.map → chunk-Q3NIGPRZ.js.map} +0 -0
  119. /package/dist/{chunk-5IYZGJDW.js.map → chunk-TP6BX5M2.js.map} +0 -0
  120. /package/dist/{chunk-2DRPZXXK.js.map → chunk-TWOHWCKS.js.map} +0 -0
  121. /package/dist/{chunk-PZBLGD7O.js.map → chunk-UCORQ7YO.js.map} +0 -0
  122. /package/dist/{chunk-WTPPVXJP.js.map → chunk-VJBCOPMG.js.map} +0 -0
  123. /package/dist/{chunk-MY4TVLRB.js.map → chunk-VYLF4IIK.js.map} +0 -0
  124. /package/dist/{chunk-STMRDPGZ.js.map → chunk-XM2Y5AFQ.js.map} +0 -0
  125. /package/dist/{chunk-57KI55GJ.js.map → chunk-Z5FXZFX2.js.map} +0 -0
  126. /package/dist/{loader-SQOK2BF7.js.map → loader-D5VE56SI.js.map} +0 -0
  127. /package/dist/{source-loader-CCECAU5L.js.map → source-loader-INCCYL5P.js.map} +0 -0
  128. /package/dist/{source-manager-4P7MTZRR.js.map → source-manager-TEOUO734.js.map} +0 -0
@@ -1,34 +1,37 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  WizardLayout
4
- } from "./chunk-WTPPVXJP.js";
4
+ } from "./chunk-VJBCOPMG.js";
5
+ import {
6
+ WIZARD_STEPS
7
+ } from "./chunk-YVFGISUO.js";
5
8
  import {
6
9
  StepSettings
7
- } from "./chunk-2DRPZXXK.js";
10
+ } from "./chunk-TWOHWCKS.js";
8
11
  import {
9
12
  StepSources
10
- } from "./chunk-5IYZGJDW.js";
13
+ } from "./chunk-TP6BX5M2.js";
11
14
  import {
12
15
  StepStack
13
- } from "./chunk-6YR2NEW3.js";
16
+ } from "./chunk-7AUGC7PK.js";
14
17
  import {
15
18
  StepAgents
16
- } from "./chunk-MY4TVLRB.js";
19
+ } from "./chunk-VYLF4IIK.js";
17
20
  import {
18
21
  StepBuild
19
- } from "./chunk-ATPHV3MD.js";
22
+ } from "./chunk-FGVCQBXH.js";
20
23
  import {
21
24
  StepConfirm
22
- } from "./chunk-ANZV33N5.js";
25
+ } from "./chunk-OVY7IV3C.js";
23
26
  import {
24
27
  DomainSelection
25
- } from "./chunk-ZFQTKY2S.js";
28
+ } from "./chunk-OWPIGGPP.js";
26
29
  import {
27
30
  getStackName
28
- } from "./chunk-NL5EB57E.js";
31
+ } from "./chunk-UHARXISZ.js";
29
32
  import {
30
33
  useWizardStore
31
- } from "./chunk-DDCW4SKN.js";
34
+ } from "./chunk-4ITKYWVG.js";
32
35
  import {
33
36
  cliTheme
34
37
  } from "./chunk-HEQVUIHQ.js";
@@ -42,11 +45,11 @@ import {
42
45
  import {
43
46
  resolveAlias,
44
47
  validateSelection
45
- } from "./chunk-EADZIYQW.js";
48
+ } from "./chunk-FVBSRBU3.js";
46
49
  import {
47
50
  findStack,
48
51
  matrix
49
- } from "./chunk-ANXHMG32.js";
52
+ } from "./chunk-47HMJ4BY.js";
50
53
  import {
51
54
  CLI_COLORS
52
55
  } from "./chunk-6PGL2XMY.js";
@@ -81,7 +84,12 @@ function useWizardInitialization({
81
84
  if (installedSkillIds?.length) {
82
85
  useWizardStore.getState().populateFromSkillIds(installedSkillIds, installedSkillConfigs);
83
86
  }
84
- useWizardStore.setState({ step: initialStep, approach: "scratch" });
87
+ useWizardStore.setState({ approach: "scratch" });
88
+ const stepIds = WIZARD_STEPS.map((s) => s.id);
89
+ const targetIndex = stepIds.indexOf(initialStep);
90
+ for (let i = 1; i <= targetIndex; i++) {
91
+ useWizardStore.getState().setStep(stepIds[i]);
92
+ }
85
93
  }
86
94
  if (initialDomains?.length) {
87
95
  useWizardStore.setState({ selectedDomains: initialDomains, currentDomainIndex: 0 });
@@ -342,4 +350,4 @@ var Wizard = ({
342
350
  export {
343
351
  Wizard
344
352
  };
345
- //# sourceMappingURL=chunk-REZZSDXG.js.map
353
+ //# sourceMappingURL=chunk-BO4JY7BT.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 { DomainSelection } from \"./domain-selection.js\";\nimport { resolveAlias, validateSelection } from \"../../lib/matrix/index.js\";\nimport { matrix, findStack } from \"../../lib/matrix/matrix-provider.js\";\nimport {\n HOTKEY_ACCEPT_DEFAULTS,\n HOTKEY_HELP,\n HOTKEY_SCOPE,\n HOTKEY_SETTINGS,\n isHotkey,\n} from \"./hotkeys.js\";\nimport type { AgentName, Domain, DomainSelections, SkillId } from \"../../types/index.js\";\nimport type { AgentScopeConfig, SkillConfig } from \"../../types/config.js\";\nimport { getStackName } from \"./utils.js\";\nimport type { StartupMessage } 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 skills: SkillConfig[];\n selectedAgents: AgentName[];\n agentConfigs: AgentScopeConfig[];\n selectedStackId: string | null;\n domainSelections: DomainSelections;\n selectedDomains: Domain[];\n cancelled: boolean;\n validation: {\n valid: boolean;\n errors: Array<{ message: string }>;\n warnings: Array<{ message: string }>;\n };\n};\n\ntype WizardProps = {\n onComplete: (result: WizardResultV2) => void;\n onCancel: () => void;\n version?: string;\n logo?: string;\n initialStep?: WizardStep;\n initialDomains?: Domain[];\n initialAgents?: AgentName[];\n installedSkillIds?: SkillId[];\n installedSkillConfigs?: SkillConfig[];\n installedAgentConfigs?: AgentScopeConfig[];\n lockedSkillIds?: SkillId[];\n lockedAgentNames?: AgentName[];\n isEditingFromGlobalScope?: boolean;\n projectDir?: string;\n startupMessages?: StartupMessage[];\n};\n\nconst MIN_TERMINAL_WIDTH = 80;\nconst MIN_TERMINAL_HEIGHT = 15;\n\nexport const Wizard: React.FC<WizardProps> = ({\n onComplete,\n onCancel,\n version,\n logo,\n initialStep,\n initialDomains,\n initialAgents,\n installedSkillIds,\n installedSkillConfigs,\n installedAgentConfigs,\n lockedSkillIds,\n lockedAgentNames,\n isEditingFromGlobalScope,\n projectDir,\n startupMessages,\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 initialStep,\n initialDomains,\n initialAgents,\n installedSkillIds,\n installedSkillConfigs,\n installedAgentConfigs,\n lockedSkillIds,\n lockedAgentNames,\n isEditingFromGlobalScope,\n });\n\n const buildStepProps = useBuildStepProps({ store, installedSkillIds });\n\n useInput((input, key) => {\n // ESC is handled by step-settings.tsx's own useKeyboardNavigation hook\n if (store.showSettings) {\n if (isHotkey(input, HOTKEY_SETTINGS)) {\n store.toggleSettings();\n }\n return;\n }\n\n if (store.showHelp) {\n if (key.escape || isHotkey(input, HOTKEY_HELP)) {\n store.toggleHelp();\n }\n return;\n }\n\n if (isHotkey(input, HOTKEY_HELP)) {\n store.toggleHelp();\n return;\n }\n\n if (key.escape) {\n // Steps with their own ESC handling (via useInput in child components):\n // - \"stack\": StackSelection handles ESC via onCancel prop\n // - \"domains\": DomainSelection handles ESC via CheckboxGrid onBack\n // - \"build\": StepBuild handles ESC via its own useInput\n // - \"sources\": StepSources handles ESC via onBack prop\n // - \"confirm\": StepConfirm handles ESC via onBack prop\n // - \"agents\": StepAgents handles ESC via its own useInput\n // All steps handle their own ESC, so this is a no-op.\n return;\n }\n\n if (\n isHotkey(input, HOTKEY_ACCEPT_DEFAULTS) &&\n store.step === \"build\" &&\n store.selectedStackId\n ) {\n store.setStackAction(\"defaults\");\n store.setStep(\"confirm\");\n return;\n }\n\n if (isHotkey(input, HOTKEY_SCOPE) && store.step === \"build\") {\n if (store.isEditingFromGlobalScope) return;\n const focused = store.focusedSkillId;\n if (focused) {\n store.toggleSkillScope(focused);\n }\n return;\n }\n\n if (isHotkey(input, HOTKEY_SCOPE) && store.step === \"agents\") {\n if (store.isEditingFromGlobalScope) return;\n const focused = store.focusedAgentId;\n if (focused) {\n store.toggleAgentScope(focused);\n }\n return;\n }\n\n if (isHotkey(input, HOTKEY_SETTINGS) && store.step === \"sources\") {\n store.toggleSettings();\n return;\n }\n });\n\n const handleComplete = useCallback(() => {\n let allSkills: SkillId[];\n\n if (store.selectedStackId && store.stackAction === \"defaults\") {\n const stack = findStack(store.selectedStackId);\n if (!stack) {\n throw new Error(`Stack not found: ${store.selectedStackId}`);\n }\n allSkills = [...stack.allSkillIds];\n } else {\n const techNames = store.getAllSelectedTechnologies();\n allSkills = techNames.map((tech) => resolveAlias(tech));\n }\n\n const skillConfigs: SkillConfig[] = allSkills.map((id) => {\n const existing = store.skillConfigs.find((sc) => sc.id === id);\n return existing ?? { id, scope: \"global\" as const, source: \"local\" };\n });\n\n const validation = validateSelection(allSkills);\n\n const result: WizardResultV2 = {\n skills: skillConfigs,\n selectedAgents: store.selectedAgents,\n agentConfigs: store.agentConfigs,\n selectedStackId: store.selectedStackId,\n domainSelections: store.domainSelections,\n selectedDomains: store.selectedDomains,\n cancelled: false,\n validation,\n };\n\n onComplete(result);\n exit();\n }, [store, 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 onCancel={handleCancel} />;\n\n case \"domains\":\n return <DomainSelection />;\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 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);\n const selectedSkills = store.getAllSelectedTechnologies();\n return (\n <StepConfirm\n onComplete={handleComplete}\n stackName={stackName}\n selectedDomains={store.selectedDomains}\n domainSelections={store.domainSelections}\n technologyCount={selectedSkills.length}\n skillCount={selectedSkills.length}\n agentCount={store.selectedAgents.length}\n skillConfigs={store.skillConfigs}\n agentConfigs={store.agentConfigs}\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} logo={logo} startupMessages={startupMessages}>\n {renderStep()}\n </WizardLayout>\n </ThemeProvider>\n );\n};\n","import { useRef } from \"react\";\nimport { useWizardStore, type WizardStep } from \"../../stores/wizard-store.js\";\nimport { WIZARD_STEPS } from \"../wizard/wizard-tabs.js\";\nimport type { AgentScopeConfig, SkillConfig } from \"../../types/config.js\";\nimport type { AgentName, Domain, SkillId } from \"../../types/index.js\";\n\ntype UseWizardInitializationOptions = {\n initialStep?: WizardStep;\n initialDomains?: Domain[];\n initialAgents?: AgentName[];\n installedSkillIds?: SkillId[];\n installedSkillConfigs?: SkillConfig[];\n installedAgentConfigs?: AgentScopeConfig[];\n lockedSkillIds?: SkillId[];\n lockedAgentNames?: AgentName[];\n isEditingFromGlobalScope?: boolean;\n};\n\n/**\n * Runs one-time wizard store initialization before the first render.\n * Populates step, approach, and skill selections from props.\n */\nexport function useWizardInitialization({\n initialStep,\n initialDomains,\n initialAgents,\n installedSkillIds,\n installedSkillConfigs,\n installedAgentConfigs,\n lockedSkillIds,\n lockedAgentNames,\n isEditingFromGlobalScope,\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.getState().populateFromSkillIds(installedSkillIds, installedSkillConfigs);\n }\n // Walk through steps via setStep() so history builds naturally.\n // E.g. initialStep=\"build\" → setStep(\"domains\") then setStep(\"build\")\n // → history=[\"stack\", \"domains\"], step=\"build\".\n useWizardStore.setState({ approach: \"scratch\" });\n const stepIds = WIZARD_STEPS.map((s) => s.id);\n const targetIndex = stepIds.indexOf(initialStep);\n for (let i = 1; i <= targetIndex; i++) {\n useWizardStore.getState().setStep(stepIds[i]!);\n }\n }\n // Restore saved domains from config, overriding the domains\n // derived by populateFromSkillIds\n if (initialDomains?.length) {\n useWizardStore.setState({ selectedDomains: initialDomains, currentDomainIndex: 0 });\n }\n // Restore saved agents from config, overriding the default empty array\n if (initialAgents?.length) {\n useWizardStore.setState({ selectedAgents: initialAgents });\n }\n // Restore saved agent scope configs (project vs global)\n if (initialAgents?.length && installedAgentConfigs?.length) {\n useWizardStore.setState({ agentConfigs: installedAgentConfigs });\n }\n // Set locked IDs (D9: global items read-only in project context)\n if (lockedSkillIds?.length || lockedAgentNames?.length) {\n useWizardStore.setState({\n ...(lockedSkillIds?.length && { lockedSkillIds }),\n ...(lockedAgentNames?.length && { lockedAgentNames }),\n });\n }\n if (isEditingFromGlobalScope) {\n useWizardStore.setState({ isEditingFromGlobalScope });\n }\n }\n}\n","import { useCallback } from \"react\";\nimport type { Domain, SkillId } from \"../../types/index.js\";\nimport type { WizardState } from \"../../stores/wizard-store.js\";\nimport { matrix } from \"../../lib/matrix/matrix-provider.js\";\nimport type { StepBuildProps } from \"../wizard/step-build.js\";\n\ntype UseBuildStepPropsOptions = {\n store: WizardState;\n installedSkillIds?: SkillId[];\n};\n\nexport function useBuildStepProps({\n store,\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 (categoryId: Parameters<StepBuildProps[\"onToggle\"]>[0], techId: SkillId) => {\n const domain: Domain = store.getCurrentDomain() || \"web\";\n const cat = matrix.categories[categoryId];\n const exclusive = cat?.exclusive ?? true;\n store.toggleTechnology(domain, categoryId, techId, exclusive);\n },\n [store],\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 domain: activeDomain,\n selectedDomains: effectiveDomains,\n selections: store.domainSelections[activeDomain] || {},\n allSelections,\n showLabels: store.showLabels,\n filterIncompatible: store.filterIncompatible,\n installedSkillIds,\n onToggle,\n onToggleLabels: store.toggleShowLabels,\n onToggleFilterIncompatible: store.toggleFilterIncompatible,\n onContinue,\n onBack,\n };\n}\n"],"mappings":"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","names":["useCallback","useCallback"]}
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-HK53FRMU.js";
13
13
  import {
14
14
  getSkillById
15
- } from "./chunk-ANXHMG32.js";
15
+ } from "./chunk-47HMJ4BY.js";
16
16
  import {
17
17
  CLI_COLORS
18
18
  } from "./chunk-6PGL2XMY.js";
@@ -371,4 +371,4 @@ var CategoryGrid = ({
371
371
  export {
372
372
  CategoryGrid
373
373
  };
374
- //# sourceMappingURL=chunk-BEZ6ZPDS.js.map
374
+ //# sourceMappingURL=chunk-D254XO7K.js.map
@@ -17,15 +17,15 @@ import {
17
17
  resolveAgents,
18
18
  writeContentHash,
19
19
  writePluginManifest
20
- } from "./chunk-EADZIYQW.js";
20
+ } from "./chunk-FVBSRBU3.js";
21
21
  import {
22
22
  loadAllAgents,
23
23
  loadProjectAgents
24
- } from "./chunk-STMRDPGZ.js";
24
+ } from "./chunk-XM2Y5AFQ.js";
25
25
  import {
26
26
  typedEntries,
27
27
  typedKeys
28
- } from "./chunk-ANXHMG32.js";
28
+ } from "./chunk-47HMJ4BY.js";
29
29
  import {
30
30
  agentFrontmatterValidationSchema,
31
31
  copy,
@@ -39,7 +39,7 @@ import {
39
39
  verbose,
40
40
  warn,
41
41
  writeFile
42
- } from "./chunk-ZTRQO5CX.js";
42
+ } from "./chunk-OOHPUT5M.js";
43
43
  import {
44
44
  CLAUDE_DIR,
45
45
  DIRS,
@@ -325,4 +325,4 @@ export {
325
325
  compileAllAgentPlugins,
326
326
  printAgentCompilationSummary
327
327
  };
328
- //# sourceMappingURL=chunk-YM3V4Q3W.js.map
328
+ //# sourceMappingURL=chunk-DZ2IQERZ.js.map
@@ -7,11 +7,11 @@ import {
7
7
  } from "./chunk-K77I4XGL.js";
8
8
  import {
9
9
  CategoryGrid
10
- } from "./chunk-BEZ6ZPDS.js";
10
+ } from "./chunk-D254XO7K.js";
11
11
  import {
12
12
  buildCategoriesForDomain,
13
13
  useWizardStore
14
- } from "./chunk-DDCW4SKN.js";
14
+ } from "./chunk-4ITKYWVG.js";
15
15
  import {
16
16
  init_esm_shims
17
17
  } from "./chunk-DHET7RCE.js";
@@ -140,4 +140,4 @@ var StepBuild = ({
140
140
  export {
141
141
  StepBuild
142
142
  };
143
- //# sourceMappingURL=chunk-ATPHV3MD.js.map
143
+ //# sourceMappingURL=chunk-FGVCQBXH.js.map
@@ -4,7 +4,7 @@ import {
4
4
  loadPluginSkills,
5
5
  loadSkillsByIds,
6
6
  parseFrontmatter
7
- } from "./chunk-STMRDPGZ.js";
7
+ } from "./chunk-XM2Y5AFQ.js";
8
8
  import {
9
9
  BUILT_IN_MATRIX,
10
10
  getSkillById,
@@ -13,7 +13,7 @@ import {
13
13
  matrix,
14
14
  typedEntries,
15
15
  typedKeys
16
- } from "./chunk-ANXHMG32.js";
16
+ } from "./chunk-47HMJ4BY.js";
17
17
  import {
18
18
  agentFrontmatterValidationSchema,
19
19
  agentYamlGenerationSchema,
@@ -51,7 +51,7 @@ import {
51
51
  warn,
52
52
  warnUnknownFields,
53
53
  writeFile
54
- } from "./chunk-ZTRQO5CX.js";
54
+ } from "./chunk-OOHPUT5M.js";
55
55
  import {
56
56
  CACHE_DIR,
57
57
  CACHE_HASH_LENGTH,
@@ -92,7 +92,7 @@ import {
92
92
  defaultCategories,
93
93
  defaultRules,
94
94
  defaultStacks
95
- } from "./chunk-NPMMU4GY.js";
95
+ } from "./chunk-IR7ADPAZ.js";
96
96
  import {
97
97
  init_esm_shims
98
98
  } from "./chunk-DHET7RCE.js";
@@ -989,8 +989,8 @@ function loadConfigTypesDataInBackground(sourceFlag, projectDir) {
989
989
  if (!await directoryExists(claudeSrcDir)) {
990
990
  throw new Error(`${CLAUDE_SRC_DIR}/ not found \u2014 run '${CLI_BIN_NAME} init' first`);
991
991
  }
992
- const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-CCECAU5L.js");
993
- const { loadAllAgents: loadAllAgents2 } = await import("./loader-SQOK2BF7.js");
992
+ const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-INCCYL5P.js");
993
+ const { loadAllAgents: loadAllAgents2 } = await import("./loader-D5VE56SI.js");
994
994
  const sourceResult = await loadSkillsMatrixFromSource2({
995
995
  sourceFlag,
996
996
  projectDir,
@@ -4849,12 +4849,17 @@ function printPluginValidationResult(name, result, verbose2 = false) {
4849
4849
  }
4850
4850
 
4851
4851
  // src/cli/lib/loading/multi-source-loader.ts
4852
- async function loadSkillsFromAllSources(primaryMatrix, sourceConfig, projectDir, forceRefresh = false, marketplace) {
4852
+ async function loadSkillsFromAllSources(primaryMatrix, sourceConfig, projectDir, forceRefresh = false, marketplace, marketplaceDisplayName) {
4853
4853
  const resolvedMarketplace = marketplace ?? sourceConfig.marketplace;
4854
4854
  const isDefaultPublicSource = sourceConfig.source === DEFAULT_SOURCE;
4855
4855
  const primarySourceName = resolvedMarketplace ?? DEFAULT_PUBLIC_SOURCE_NAME;
4856
4856
  const primarySourceType = isDefaultPublicSource ? "public" : "private";
4857
- tagPrimarySourceSkills(primaryMatrix, primarySourceName, primarySourceType);
4857
+ tagPrimarySourceSkills(
4858
+ primaryMatrix,
4859
+ primarySourceName,
4860
+ primarySourceType,
4861
+ marketplaceDisplayName
4862
+ );
4858
4863
  tagLocalSkills(primaryMatrix);
4859
4864
  await tagPluginSkills(primaryMatrix, projectDir, primarySourceName, primarySourceType);
4860
4865
  if (!isDefaultPublicSource) {
@@ -4863,11 +4868,12 @@ async function loadSkillsFromAllSources(primaryMatrix, sourceConfig, projectDir,
4863
4868
  await tagExtraSources(primaryMatrix, projectDir, forceRefresh);
4864
4869
  setActiveSources(primaryMatrix);
4865
4870
  }
4866
- function tagPrimarySourceSkills(matrix2, sourceName, sourceType) {
4871
+ function tagPrimarySourceSkills(matrix2, sourceName, sourceType, displayName) {
4867
4872
  for (const [, skill] of typedEntries(matrix2.skills)) {
4868
4873
  if (!skill) continue;
4869
4874
  const source = {
4870
4875
  name: sourceName,
4876
+ displayName,
4871
4877
  type: sourceType,
4872
4878
  installed: false,
4873
4879
  primary: true
@@ -5209,7 +5215,8 @@ async function loadSkillsMatrixFromSource(options = {}) {
5209
5215
  sourceConfig,
5210
5216
  sourcePath: fetchResult.path,
5211
5217
  isLocal: false,
5212
- marketplace: sourceConfig.marketplace
5218
+ marketplace: sourceConfig.marketplace,
5219
+ marketplaceDisplayName: DEFAULT_BRANDING.NAME
5213
5220
  };
5214
5221
  } else {
5215
5222
  const isLocal = isLocalSource(source) || devMode === true;
@@ -5243,7 +5250,8 @@ async function loadSkillsMatrixFromSource(options = {}) {
5243
5250
  sourceConfig,
5244
5251
  resolvedProjectDir,
5245
5252
  forceRefresh,
5246
- result.marketplace
5253
+ result.marketplace,
5254
+ result.marketplaceDisplayName
5247
5255
  );
5248
5256
  }
5249
5257
  checkMatrixHealth(result.matrix);
@@ -5273,21 +5281,22 @@ async function loadFromRemote(source, sourceConfig, forceRefresh) {
5273
5281
  verbose(`Fetched to: ${fetchResult.path}`);
5274
5282
  const mergedMatrix = await loadAndMergeFromBasePath(fetchResult.path);
5275
5283
  let marketplace = sourceConfig.marketplace;
5276
- if (!marketplace) {
5277
- try {
5278
- const marketplaceResult = await fetchMarketplace(source, { forceRefresh });
5279
- marketplace = marketplaceResult.marketplace.name;
5280
- verbose(`Using marketplace name from marketplace.json: ${marketplace}`);
5281
- } catch {
5282
- verbose(`Source does not have a marketplace.json \u2014 using source name as label`);
5283
- }
5284
+ let marketplaceDisplayName;
5285
+ try {
5286
+ const marketplaceResult = await fetchMarketplace(source, { forceRefresh });
5287
+ marketplace ??= marketplaceResult.marketplace.name;
5288
+ marketplaceDisplayName = marketplaceResult.marketplace.owner.name;
5289
+ verbose(`Using marketplace name from marketplace.json: ${marketplace}`);
5290
+ } catch {
5291
+ verbose(`Source does not have a marketplace.json \u2014 using source name as label`);
5284
5292
  }
5285
5293
  return {
5286
5294
  matrix: mergedMatrix,
5287
5295
  sourceConfig,
5288
5296
  sourcePath: fetchResult.path,
5289
5297
  isLocal: false,
5290
- marketplace
5298
+ marketplace,
5299
+ marketplaceDisplayName
5291
5300
  };
5292
5301
  }
5293
5302
  async function loadAndMergeFromBasePath(basePath) {
@@ -5541,4 +5550,4 @@ export {
5541
5550
  detectMigrations,
5542
5551
  executeMigration
5543
5552
  };
5544
- //# sourceMappingURL=chunk-EADZIYQW.js.map
5553
+ //# sourceMappingURL=chunk-FVBSRBU3.js.map