agents-inc 0.150.0 → 0.151.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 (120) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{chunk-CDMHSHBN.js → chunk-3XFUQ6OL.js} +2 -2
  3. package/dist/{chunk-ZDLTLNU2.js → chunk-3YGUHWLR.js} +2 -2
  4. package/dist/{chunk-MC5DUZ3V.js → chunk-44LLPS2N.js} +3 -3
  5. package/dist/{chunk-N4IZ6GBO.js → chunk-4R6PGHQQ.js} +4 -4
  6. package/dist/{chunk-GRPSDKIS.js → chunk-5V2O6C3T.js} +3 -3
  7. package/dist/{chunk-HIPGKIT3.js → chunk-6RBQBOBS.js} +2 -2
  8. package/dist/{chunk-OA5SUEQD.js → chunk-7QIHKQL5.js} +2 -2
  9. package/dist/{chunk-UZRISDBZ.js → chunk-BNE4HHIH.js} +2 -2
  10. package/dist/{chunk-DJAZE4PD.js → chunk-DG2NGZ7S.js} +296 -296
  11. package/dist/chunk-DG2NGZ7S.js.map +1 -0
  12. package/dist/{chunk-RP7R73JO.js → chunk-EVXG3X6G.js} +2 -2
  13. package/dist/{chunk-RJN7W2C7.js → chunk-EZ7STXUV.js} +12 -12
  14. package/dist/{chunk-4GL2F5AB.js → chunk-LAXAQ3PZ.js} +50 -37
  15. package/dist/chunk-LAXAQ3PZ.js.map +1 -0
  16. package/dist/{chunk-YKKIJHZB.js → chunk-NGLQ5W7U.js} +2 -2
  17. package/dist/{chunk-LRYNF3J7.js → chunk-NHCGC6DG.js} +3 -3
  18. package/dist/{chunk-EN2GCPW7.js → chunk-NM3EDGB5.js} +5 -5
  19. package/dist/{chunk-E4FT2KFV.js → chunk-OJIESW5B.js} +4 -4
  20. package/dist/{chunk-4LPJZNT7.js → chunk-PV2HNW4I.js} +3 -3
  21. package/dist/{chunk-6I6RZHYP.js → chunk-QTFQEYDA.js} +11 -11
  22. package/dist/{chunk-5K5RBRTD.js → chunk-SHHOMVWC.js} +4 -4
  23. package/dist/{chunk-NUIZ6ZUO.js → chunk-SI5FOARI.js} +3 -3
  24. package/dist/{chunk-KH7MOIM5.js → chunk-TVHRMRD3.js} +14 -10
  25. package/dist/chunk-TVHRMRD3.js.map +1 -0
  26. package/dist/{chunk-ZHTXPFDK.js → chunk-TYJLR32W.js} +4 -4
  27. package/dist/{chunk-ZHTXPFDK.js.map → chunk-TYJLR32W.js.map} +1 -1
  28. package/dist/{chunk-F3756A5B.js → chunk-UFURYGD3.js} +2 -2
  29. package/dist/{chunk-ZKJAJWK6.js → chunk-UTFN6UJS.js} +5 -5
  30. package/dist/{chunk-CFQT72MJ.js → chunk-WFWCZEMS.js} +2 -2
  31. package/dist/{chunk-7URSGJLE.js → chunk-WK4J2CHH.js} +2 -2
  32. package/dist/{chunk-DDG4F3FE.js → chunk-Y4CXDA3I.js} +3 -3
  33. package/dist/{chunk-FWT3CBLL.js → chunk-YA4QQKKE.js} +3 -3
  34. package/dist/{chunk-VIFZ6NFH.js → chunk-YBVA7GPW.js} +2 -2
  35. package/dist/commands/build/marketplace.js +4 -4
  36. package/dist/commands/build/plugins.js +4 -4
  37. package/dist/commands/compile.js +8 -8
  38. package/dist/commands/doctor.js +8 -8
  39. package/dist/commands/edit.js +26 -26
  40. package/dist/commands/eject.js +8 -8
  41. package/dist/commands/import/skill.js +3 -3
  42. package/dist/commands/init.js +27 -27
  43. package/dist/commands/list.js +5 -5
  44. package/dist/commands/new/agent.js +4 -4
  45. package/dist/commands/new/marketplace.js +5 -5
  46. package/dist/commands/new/skill.js +4 -4
  47. package/dist/commands/search.js +8 -8
  48. package/dist/commands/uninstall.js +8 -8
  49. package/dist/commands/update.js +8 -8
  50. package/dist/commands/validate.js +4 -4
  51. package/dist/components/wizard/category-grid.js +2 -2
  52. package/dist/components/wizard/category-grid.test.js +2 -2
  53. package/dist/components/wizard/domain-selection.js +5 -5
  54. package/dist/components/wizard/run-wizard-session.js +20 -20
  55. package/dist/components/wizard/skill-agent-summary.js +4 -4
  56. package/dist/components/wizard/source-grid.js +2 -2
  57. package/dist/components/wizard/source-grid.test.js +2 -2
  58. package/dist/components/wizard/stack-selection.js +4 -4
  59. package/dist/components/wizard/step-agents.js +5 -5
  60. package/dist/components/wizard/step-agents.test.js +5 -5
  61. package/dist/components/wizard/step-build.js +5 -5
  62. package/dist/components/wizard/step-build.test.js +6 -6
  63. package/dist/components/wizard/step-confirm.js +7 -7
  64. package/dist/components/wizard/step-confirm.test.js +19 -19
  65. package/dist/components/wizard/step-settings.js +3 -3
  66. package/dist/components/wizard/step-settings.test.js +6 -6
  67. package/dist/components/wizard/step-sources.js +5 -5
  68. package/dist/components/wizard/step-sources.test.js +5 -5
  69. package/dist/components/wizard/step-stack.js +5 -5
  70. package/dist/components/wizard/step-stack.test.js +5 -5
  71. package/dist/components/wizard/summary-panel.js +6 -6
  72. package/dist/components/wizard/summary-panel.test.js +19 -19
  73. package/dist/components/wizard/wizard-layout.js +8 -8
  74. package/dist/components/wizard/wizard-layout.test.js +8 -8
  75. package/dist/components/wizard/wizard-tabs.js +4 -4
  76. package/dist/components/wizard/wizard-tabs.test.js +4 -4
  77. package/dist/components/wizard/wizard.js +19 -19
  78. package/dist/{copy-local-skills-CA7P73RZ.js → copy-local-skills-UPA2GUZV.js} +4 -4
  79. package/dist/hooks/init.js +27 -27
  80. package/dist/{load-agent-defs-6MAY5ABI.js → load-agent-defs-SB4XAOVB.js} +5 -5
  81. package/dist/{recompile-project-agents-VYQJ6UZB.js → recompile-project-agents-U4ZY2GDX.js} +7 -7
  82. package/dist/{source-loader-VVHMQEX5.js → source-loader-5UNRU7EZ.js} +3 -3
  83. package/dist/{source-manager-TPDXV5FO.js → source-manager-3O54SIIB.js} +3 -3
  84. package/dist/stores/d227-same-scope-tombstone-duplicate.test.js +19 -19
  85. package/dist/stores/wizard-store.js +3 -3
  86. package/dist/stores/wizard-store.test.js +19 -19
  87. package/package.json +8 -8
  88. package/dist/chunk-4GL2F5AB.js.map +0 -1
  89. package/dist/chunk-DJAZE4PD.js.map +0 -1
  90. package/dist/chunk-KH7MOIM5.js.map +0 -1
  91. /package/dist/{chunk-CDMHSHBN.js.map → chunk-3XFUQ6OL.js.map} +0 -0
  92. /package/dist/{chunk-ZDLTLNU2.js.map → chunk-3YGUHWLR.js.map} +0 -0
  93. /package/dist/{chunk-MC5DUZ3V.js.map → chunk-44LLPS2N.js.map} +0 -0
  94. /package/dist/{chunk-N4IZ6GBO.js.map → chunk-4R6PGHQQ.js.map} +0 -0
  95. /package/dist/{chunk-GRPSDKIS.js.map → chunk-5V2O6C3T.js.map} +0 -0
  96. /package/dist/{chunk-HIPGKIT3.js.map → chunk-6RBQBOBS.js.map} +0 -0
  97. /package/dist/{chunk-OA5SUEQD.js.map → chunk-7QIHKQL5.js.map} +0 -0
  98. /package/dist/{chunk-UZRISDBZ.js.map → chunk-BNE4HHIH.js.map} +0 -0
  99. /package/dist/{chunk-RP7R73JO.js.map → chunk-EVXG3X6G.js.map} +0 -0
  100. /package/dist/{chunk-RJN7W2C7.js.map → chunk-EZ7STXUV.js.map} +0 -0
  101. /package/dist/{chunk-YKKIJHZB.js.map → chunk-NGLQ5W7U.js.map} +0 -0
  102. /package/dist/{chunk-LRYNF3J7.js.map → chunk-NHCGC6DG.js.map} +0 -0
  103. /package/dist/{chunk-EN2GCPW7.js.map → chunk-NM3EDGB5.js.map} +0 -0
  104. /package/dist/{chunk-E4FT2KFV.js.map → chunk-OJIESW5B.js.map} +0 -0
  105. /package/dist/{chunk-4LPJZNT7.js.map → chunk-PV2HNW4I.js.map} +0 -0
  106. /package/dist/{chunk-6I6RZHYP.js.map → chunk-QTFQEYDA.js.map} +0 -0
  107. /package/dist/{chunk-5K5RBRTD.js.map → chunk-SHHOMVWC.js.map} +0 -0
  108. /package/dist/{chunk-NUIZ6ZUO.js.map → chunk-SI5FOARI.js.map} +0 -0
  109. /package/dist/{chunk-F3756A5B.js.map → chunk-UFURYGD3.js.map} +0 -0
  110. /package/dist/{chunk-ZKJAJWK6.js.map → chunk-UTFN6UJS.js.map} +0 -0
  111. /package/dist/{chunk-CFQT72MJ.js.map → chunk-WFWCZEMS.js.map} +0 -0
  112. /package/dist/{chunk-7URSGJLE.js.map → chunk-WK4J2CHH.js.map} +0 -0
  113. /package/dist/{chunk-DDG4F3FE.js.map → chunk-Y4CXDA3I.js.map} +0 -0
  114. /package/dist/{chunk-FWT3CBLL.js.map → chunk-YA4QQKKE.js.map} +0 -0
  115. /package/dist/{chunk-VIFZ6NFH.js.map → chunk-YBVA7GPW.js.map} +0 -0
  116. /package/dist/{copy-local-skills-CA7P73RZ.js.map → copy-local-skills-UPA2GUZV.js.map} +0 -0
  117. /package/dist/{load-agent-defs-6MAY5ABI.js.map → load-agent-defs-SB4XAOVB.js.map} +0 -0
  118. /package/dist/{recompile-project-agents-VYQJ6UZB.js.map → recompile-project-agents-U4ZY2GDX.js.map} +0 -0
  119. /package/dist/{source-loader-VVHMQEX5.js.map → source-loader-5UNRU7EZ.js.map} +0 -0
  120. /package/dist/{source-manager-TPDXV5FO.js.map → source-manager-3O54SIIB.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  WIZARD_STEP_ORDER
4
- } from "./chunk-MC5DUZ3V.js";
4
+ } from "./chunk-44LLPS2N.js";
5
5
  import {
6
6
  CLI_COLORS
7
7
  } from "./chunk-O5ASLZ2K.js";
@@ -176,4 +176,4 @@ export {
176
176
  formatStepLabel,
177
177
  WizardTabs
178
178
  };
179
- //# sourceMappingURL=chunk-RP7R73JO.js.map
179
+ //# sourceMappingURL=chunk-EVXG3X6G.js.map
@@ -1,28 +1,28 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  WizardLayout
4
- } from "./chunk-ZKJAJWK6.js";
4
+ } from "./chunk-UTFN6UJS.js";
5
5
  import {
6
6
  StepSources
7
- } from "./chunk-E4FT2KFV.js";
7
+ } from "./chunk-OJIESW5B.js";
8
8
  import {
9
9
  StepStack
10
- } from "./chunk-F3756A5B.js";
10
+ } from "./chunk-UFURYGD3.js";
11
11
  import {
12
12
  StepAgents
13
- } from "./chunk-EN2GCPW7.js";
13
+ } from "./chunk-NM3EDGB5.js";
14
14
  import {
15
15
  StepBuild
16
- } from "./chunk-LRYNF3J7.js";
16
+ } from "./chunk-NHCGC6DG.js";
17
17
  import {
18
18
  StepConfirm
19
- } from "./chunk-UZRISDBZ.js";
19
+ } from "./chunk-BNE4HHIH.js";
20
20
  import {
21
21
  StepSettings
22
- } from "./chunk-ZDLTLNU2.js";
22
+ } from "./chunk-3YGUHWLR.js";
23
23
  import {
24
24
  DomainSelection
25
- } from "./chunk-5K5RBRTD.js";
25
+ } from "./chunk-SHHOMVWC.js";
26
26
  import {
27
27
  HOTKEY_ACCEPT_DEFAULTS,
28
28
  HOTKEY_INFO,
@@ -36,15 +36,15 @@ import {
36
36
  } from "./chunk-IHO75PMZ.js";
37
37
  import {
38
38
  useWizardStore
39
- } from "./chunk-MC5DUZ3V.js";
39
+ } from "./chunk-44LLPS2N.js";
40
40
  import {
41
41
  validateSelection
42
- } from "./chunk-KH7MOIM5.js";
42
+ } from "./chunk-TVHRMRD3.js";
43
43
  import {
44
44
  findStack,
45
45
  getSkillById,
46
46
  matrix
47
- } from "./chunk-DJAZE4PD.js";
47
+ } from "./chunk-DG2NGZ7S.js";
48
48
  import {
49
49
  CLI_COLORS,
50
50
  EJECT_SOURCE,
@@ -346,4 +346,4 @@ export {
346
346
  resolveSelectedSkillIds,
347
347
  Wizard
348
348
  };
349
- //# sourceMappingURL=chunk-RJN7W2C7.js.map
349
+ //# sourceMappingURL=chunk-EZ7STXUV.js.map
@@ -10,10 +10,10 @@ import {
10
10
  } from "./chunk-FYPUUYSG.js";
11
11
  import {
12
12
  useWizardStore
13
- } from "./chunk-MC5DUZ3V.js";
13
+ } from "./chunk-44LLPS2N.js";
14
14
  import {
15
15
  matrix
16
- } from "./chunk-DJAZE4PD.js";
16
+ } from "./chunk-DG2NGZ7S.js";
17
17
  import {
18
18
  typedKeys
19
19
  } from "./chunk-VEP23B5W.js";
@@ -132,45 +132,58 @@ var StackSelection = ({ onCancel }) => {
132
132
  itemCount: rows.length,
133
133
  availableHeight: listHeight
134
134
  });
135
+ function restoreGlobalAgentPreselections() {
136
+ const globalAgentPre = useWizardStore.getState().globalAgentPreselections;
137
+ if (globalAgentPre) {
138
+ useWizardStore.setState({
139
+ selectedAgents: globalAgentPre.agents,
140
+ agentConfigs: globalAgentPre.configs
141
+ });
142
+ }
143
+ }
144
+ function preselectGlobalSkills() {
145
+ const globalPreselections = useWizardStore.getState().globalPreselections;
146
+ if (globalPreselections?.length) {
147
+ populateFromSkillIds(
148
+ globalPreselections.map((s) => s.id),
149
+ globalPreselections
150
+ );
151
+ }
152
+ }
153
+ function addScratchDomains() {
154
+ for (const domain of DEFAULT_SCRATCH_DOMAINS) {
155
+ if (!useWizardStore.getState().selectedDomains.includes(domain)) {
156
+ toggleDomain(domain);
157
+ }
158
+ }
159
+ }
160
+ function startFromScratch() {
161
+ selectStack(null);
162
+ setApproach("scratch");
163
+ restoreGlobalAgentPreselections();
164
+ preselectGlobalSkills();
165
+ addScratchDomains();
166
+ setStep("domains");
167
+ }
168
+ function applyStack(stack) {
169
+ selectStack(stack.id);
170
+ setStackAction("customize");
171
+ const stackAgents = typedKeys(stack.skills);
172
+ preselectAgentsFromStack(stackAgents);
173
+ const globalPreselections = useWizardStore.getState().globalPreselections;
174
+ const globalIds = globalPreselections?.map((s) => s.id) ?? [];
175
+ const mergedIds = [.../* @__PURE__ */ new Set([...stack.allSkillIds, ...globalIds])];
176
+ populateFromSkillIds(mergedIds, globalPreselections ?? void 0);
177
+ setApproach("stack");
178
+ setStep("domains");
179
+ }
135
180
  function handleSelect(selectedId) {
136
181
  if (selectedId === "scratch") {
137
- selectStack(null);
138
- setApproach("scratch");
139
- const globalAgentPre = useWizardStore.getState().globalAgentPreselections;
140
- if (globalAgentPre) {
141
- useWizardStore.setState({
142
- selectedAgents: globalAgentPre.agents,
143
- agentConfigs: globalAgentPre.configs
144
- });
145
- }
146
- const globalPreselections = useWizardStore.getState().globalPreselections;
147
- if (globalPreselections?.length) {
148
- populateFromSkillIds(
149
- globalPreselections.map((s) => s.id),
150
- globalPreselections
151
- );
152
- }
153
- for (const domain of DEFAULT_SCRATCH_DOMAINS) {
154
- if (!useWizardStore.getState().selectedDomains.includes(domain)) {
155
- toggleDomain(domain);
156
- }
157
- }
158
- setStep("domains");
182
+ startFromScratch();
159
183
  return;
160
184
  }
161
185
  const focusedStack = stacks.find((s) => s.id === selectedId);
162
- if (focusedStack) {
163
- selectStack(focusedStack.id);
164
- setStackAction("customize");
165
- const stackAgents = typedKeys(focusedStack.skills);
166
- preselectAgentsFromStack(stackAgents);
167
- const globalPreselections = useWizardStore.getState().globalPreselections;
168
- const globalIds = globalPreselections?.map((s) => s.id) ?? [];
169
- const mergedIds = [.../* @__PURE__ */ new Set([...focusedStack.allSkillIds, ...globalIds])];
170
- populateFromSkillIds(mergedIds, globalPreselections ?? void 0);
171
- setApproach("stack");
172
- setStep("domains");
173
- }
186
+ if (focusedStack) applyStack(focusedStack);
174
187
  }
175
188
  return /* @__PURE__ */ jsx(Box, { ref: listRef, flexDirection: "column", flexGrow: 1, flexBasis: 0, children: /* @__PURE__ */ jsx(
176
189
  Box,
@@ -219,4 +232,4 @@ var StackSelection = ({ onCancel }) => {
219
232
  export {
220
233
  StackSelection
221
234
  };
222
- //# sourceMappingURL=chunk-4GL2F5AB.js.map
235
+ //# sourceMappingURL=chunk-LAXAQ3PZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/components/wizard/stack-selection.tsx"],"sourcesContent":["import { groupBy } from \"remeda\";\nimport { useKeyboardNavigation } from \"../hooks/use-keyboard-navigation.js\";\nimport { Box, Text } from \"ink\";\nimport React, { useMemo } from \"react\";\nimport { CLI_COLORS, DEFAULT_SCRATCH_DOMAINS, UI_SYMBOLS } from \"../../consts.js\";\nimport { matrix } from \"../../lib/matrix/matrix-provider.js\";\nimport { useWizardStore } from \"../../stores/wizard-store.js\";\nimport { useMeasuredHeight } from \"../hooks/use-measured-height.js\";\nimport { useRowScroll } from \"../hooks/use-row-scroll.js\";\n\nimport type { AgentName, ResolvedStack } from \"../../types/index.js\";\nimport { typedKeys } from \"../../utils/typed-object.js\";\n\ntype StackItem = Pick<ResolvedStack, \"id\" | \"name\" | \"description\">;\ntype StackGroup = { label: string; items: StackItem[] };\n/** A focusable row id: a stack id, or the \"scratch\" sentinel for the \"Start from scratch\" row. */\ntype FocusId = string;\n\nconst OTHER_FRAMEWORKS_LABEL = \"Other Frameworks\";\nconst GROUP_ORDER: string[] = [\"React\", \"CLI\"];\nconst SCRATCH_LABEL = \"Start from scratch\";\nconst SCRATCH_DESCRIPTION = \"Select domains and skills manually\";\n\ntype GroupableStack = Pick<ResolvedStack, \"id\" | \"name\" | \"description\" | \"group\">;\n\nfunction toStackItem(stack: GroupableStack): StackItem {\n return { id: stack.id, name: stack.name, description: stack.description };\n}\n\n/** GROUP_ORDER labels first (in order), then unknown labels alphabetically. */\nfunction compareGroupLabels(a: string, b: string): number {\n const ai = GROUP_ORDER.indexOf(a);\n const bi = GROUP_ORDER.indexOf(b);\n if (ai !== -1 && bi !== -1) return ai - bi;\n if (ai !== -1) return -1;\n if (bi !== -1) return 1;\n return a.localeCompare(b);\n}\n\nfunction groupStacks(stacks: GroupableStack[]): StackGroup[] {\n // `|| undefined` keeps an empty-string group ungrouped; groupBy drops undefined keys.\n const byLabel = groupBy(stacks, (stack) => stack.group || undefined);\n const ungrouped = stacks.filter((stack) => !stack.group).map(toStackItem);\n\n // No explicit groups — flat list, no headers\n const sortedLabels = Object.keys(byLabel).sort(compareGroupLabels);\n if (sortedLabels.length === 0) {\n return [{ label: \"\", items: ungrouped }];\n }\n\n const groups = sortedLabels.map((label) => ({\n label,\n items: byLabel[label].map(toStackItem),\n }));\n return ungrouped.length > 0\n ? [...groups, { label: OTHER_FRAMEWORKS_LABEL, items: ungrouped }]\n : groups;\n}\n\nfunction buildFocusableIds(groups: StackGroup[]): FocusId[] {\n return [...groups.flatMap((g) => g.items.map((i) => i.id)), \"scratch\"];\n}\n\ntype StackListRow =\n | { type: \"header\"; label: string }\n | { type: \"spacer\" }\n | { type: \"stack\"; item: StackItem }\n | { type: \"scratch\" };\n\n/** One row per rendered line — headers, spacers, stack items, then the scratch row. */\nfunction buildStackRows(groups: StackGroup[]): StackListRow[] {\n const groupRows = groups.flatMap((group, groupIndex): StackListRow[] => [\n ...(groupIndex > 0 ? [{ type: \"spacer\" as const }] : []),\n ...(group.label ? [{ type: \"header\" as const, label: group.label }] : []),\n ...group.items.map((item): StackListRow => ({ type: \"stack\", item })),\n ]);\n return [...groupRows, { type: \"spacer\" }, { type: \"scratch\" }];\n}\n\nfunction isRowFocused(row: StackListRow, focusedId: FocusId): boolean {\n if (row.type === \"stack\") return row.item.id === focusedId;\n return row.type === \"scratch\" && focusedId === \"scratch\";\n}\n\nconst StackRow: React.FC<{ item: StackItem; isFocused: boolean }> = ({ item, isFocused }) => {\n const pointer = isFocused ? UI_SYMBOLS.CHEVRON : UI_SYMBOLS.CHEVRON_SPACER;\n return (\n <Box flexShrink={0}>\n <Text>\n <Text color={isFocused ? CLI_COLORS.PRIMARY : undefined}>{pointer}</Text>\n <Text color={isFocused ? CLI_COLORS.PRIMARY : undefined} bold={isFocused}>\n {\" \"}\n {item.name}\n </Text>\n <Text dimColor>\n {\" \"}\n {item.description}\n </Text>\n </Text>\n </Box>\n );\n};\n\nconst ScratchRow: React.FC<{ isFocused: boolean }> = ({ isFocused }) => {\n const pointer = isFocused ? UI_SYMBOLS.CHEVRON : UI_SYMBOLS.CHEVRON_SPACER;\n return (\n <Box flexShrink={0}>\n <Text>\n <Text color={isFocused ? CLI_COLORS.PRIMARY : undefined}>{pointer}</Text>\n <Text color={isFocused ? CLI_COLORS.PRIMARY : undefined} bold={isFocused}>\n {\" \"}\n {SCRATCH_LABEL}\n </Text>\n <Text dimColor>\n {\" \"}\n {SCRATCH_DESCRIPTION}\n </Text>\n </Text>\n </Box>\n );\n};\n\nexport type StackSelectionProps = {\n onCancel?: () => void;\n};\n\nexport const StackSelection: React.FC<StackSelectionProps> = ({ onCancel }) => {\n const {\n selectStack,\n setApproach,\n setStackAction,\n populateFromSkillIds,\n preselectAgentsFromStack,\n toggleDomain,\n setStep,\n } = useWizardStore();\n\n const stacks = matrix.suggestedStacks;\n const groups = useMemo(() => groupStacks(stacks), [stacks]);\n const rows = useMemo(() => buildStackRows(groups), [groups]);\n const focusableIds = useMemo(() => buildFocusableIds(groups), [groups]);\n\n const { focusedIndex } = useKeyboardNavigation(focusableIds.length, {\n onEscape: onCancel,\n onEnter: (index) => handleSelect(focusableIds[index] ?? \"scratch\"),\n });\n const focusedId: FocusId = focusableIds[focusedIndex] ?? \"scratch\";\n const { ref: listRef, measuredHeight: listHeight } = useMeasuredHeight();\n\n const focusedVisualRow = useMemo(\n () => rows.findIndex((row) => isRowFocused(row, focusedId)),\n [rows, focusedId],\n );\n\n const { scrollEnabled, scrollTop } = useRowScroll({\n focusedIndex: focusedVisualRow,\n itemCount: rows.length,\n availableHeight: listHeight,\n });\n\n // Restore global agent preselections (selectStack wipes selectedAgents/agentConfigs).\n function restoreGlobalAgentPreselections(): void {\n const globalAgentPre = useWizardStore.getState().globalAgentPreselections;\n if (globalAgentPre) {\n useWizardStore.setState({\n selectedAgents: globalAgentPre.agents,\n agentConfigs: globalAgentPre.configs,\n });\n }\n }\n\n // Pre-select global skills (sets selectedDomains to the global skills' domains).\n function preselectGlobalSkills(): void {\n const globalPreselections = useWizardStore.getState().globalPreselections;\n if (globalPreselections?.length) {\n populateFromSkillIds(\n globalPreselections.map((s) => s.id),\n globalPreselections,\n );\n }\n }\n\n // Additive — adds any scratch domain not already selected.\n function addScratchDomains(): void {\n for (const domain of DEFAULT_SCRATCH_DOMAINS) {\n if (!useWizardStore.getState().selectedDomains.includes(domain)) {\n toggleDomain(domain);\n }\n }\n }\n\n function startFromScratch(): void {\n selectStack(null);\n setApproach(\"scratch\");\n restoreGlobalAgentPreselections();\n preselectGlobalSkills();\n addScratchDomains();\n setStep(\"domains\");\n }\n\n // The stack's own skills merged with the global preselections, and its agent\n // keys merged with the global agent preselections.\n function applyStack(stack: ResolvedStack): void {\n selectStack(stack.id);\n setStackAction(\"customize\");\n\n const stackAgents = typedKeys<AgentName>(stack.skills);\n preselectAgentsFromStack(stackAgents);\n\n const globalPreselections = useWizardStore.getState().globalPreselections;\n const globalIds = globalPreselections?.map((s) => s.id) ?? [];\n const mergedIds = [...new Set([...stack.allSkillIds, ...globalIds])];\n populateFromSkillIds(mergedIds, globalPreselections ?? undefined);\n\n setApproach(\"stack\");\n setStep(\"domains\");\n }\n\n function handleSelect(selectedId: FocusId): void {\n if (selectedId === \"scratch\") {\n startFromScratch();\n return;\n }\n\n const focusedStack = stacks.find((s) => s.id === selectedId);\n if (focusedStack) applyStack(focusedStack);\n }\n\n return (\n <Box ref={listRef} flexDirection=\"column\" flexGrow={1} flexBasis={0}>\n <Box\n flexDirection=\"column\"\n flexGrow={1}\n {...(scrollEnabled && { overflow: \"hidden\" as const })}\n >\n <Box\n flexDirection=\"column\"\n marginTop={scrollTop > 0 ? -scrollTop : 0}\n {...(scrollEnabled && { flexShrink: 0 })}\n >\n {rows.map((row, index) => {\n switch (row.type) {\n case \"spacer\":\n return (\n <Box key={`spacer-${index}`} flexShrink={0}>\n <Text> </Text>\n </Box>\n );\n case \"header\":\n return (\n <Box key={`header-${row.label}`} flexShrink={0}>\n <Text dimColor bold>\n {\" \"}\n {row.label}\n </Text>\n </Box>\n );\n case \"stack\":\n return (\n <StackRow\n key={row.item.id}\n item={row.item}\n isFocused={row.item.id === focusedId}\n />\n );\n case \"scratch\":\n return <ScratchRow key=\"scratch\" isFocused={focusedId === \"scratch\"} />;\n default: {\n const _exhaustive: never = row;\n return _exhaustive;\n }\n }\n })}\n </Box>\n </Box>\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,SAAS,eAAe;AAExB,SAAS,KAAK,YAAY;AAC1B,SAAgB,eAAe;AAsFvB,cACA,YADA;AAvER,IAAM,yBAAyB;AAC/B,IAAM,cAAwB,CAAC,SAAS,KAAK;AAC7C,IAAM,gBAAgB;AACtB,IAAM,sBAAsB;AAI5B,SAAS,YAAY,OAAkC;AACrD,SAAO,EAAE,IAAI,MAAM,IAAI,MAAM,MAAM,MAAM,aAAa,MAAM,YAAY;AAC1E;AAGA,SAAS,mBAAmB,GAAW,GAAmB;AACxD,QAAM,KAAK,YAAY,QAAQ,CAAC;AAChC,QAAM,KAAK,YAAY,QAAQ,CAAC;AAChC,MAAI,OAAO,MAAM,OAAO,GAAI,QAAO,KAAK;AACxC,MAAI,OAAO,GAAI,QAAO;AACtB,MAAI,OAAO,GAAI,QAAO;AACtB,SAAO,EAAE,cAAc,CAAC;AAC1B;AAEA,SAAS,YAAY,QAAwC;AAE3D,QAAM,UAAU,QAAQ,QAAQ,CAAC,UAAU,MAAM,SAAS,MAAS;AACnE,QAAM,YAAY,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,EAAE,IAAI,WAAW;AAGxE,QAAM,eAAe,OAAO,KAAK,OAAO,EAAE,KAAK,kBAAkB;AACjE,MAAI,aAAa,WAAW,GAAG;AAC7B,WAAO,CAAC,EAAE,OAAO,IAAI,OAAO,UAAU,CAAC;AAAA,EACzC;AAEA,QAAM,SAAS,aAAa,IAAI,CAAC,WAAW;AAAA,IAC1C;AAAA,IACA,OAAO,QAAQ,KAAK,EAAE,IAAI,WAAW;AAAA,EACvC,EAAE;AACF,SAAO,UAAU,SAAS,IACtB,CAAC,GAAG,QAAQ,EAAE,OAAO,wBAAwB,OAAO,UAAU,CAAC,IAC/D;AACN;AAEA,SAAS,kBAAkB,QAAiC;AAC1D,SAAO,CAAC,GAAG,OAAO,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,SAAS;AACvE;AASA,SAAS,eAAe,QAAsC;AAC5D,QAAM,YAAY,OAAO,QAAQ,CAAC,OAAO,eAA+B;AAAA,IACtE,GAAI,aAAa,IAAI,CAAC,EAAE,MAAM,SAAkB,CAAC,IAAI,CAAC;AAAA,IACtD,GAAI,MAAM,QAAQ,CAAC,EAAE,MAAM,UAAmB,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC;AAAA,IACvE,GAAG,MAAM,MAAM,IAAI,CAAC,UAAwB,EAAE,MAAM,SAAS,KAAK,EAAE;AAAA,EACtE,CAAC;AACD,SAAO,CAAC,GAAG,WAAW,EAAE,MAAM,SAAS,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/D;AAEA,SAAS,aAAa,KAAmB,WAA6B;AACpE,MAAI,IAAI,SAAS,QAAS,QAAO,IAAI,KAAK,OAAO;AACjD,SAAO,IAAI,SAAS,aAAa,cAAc;AACjD;AAEA,IAAM,WAA8D,CAAC,EAAE,MAAM,UAAU,MAAM;AAC3F,QAAM,UAAU,YAAY,WAAW,UAAU,WAAW;AAC5D,SACE,oBAAC,OAAI,YAAY,GACf,+BAAC,QACC;AAAA,wBAAC,QAAK,OAAO,YAAY,WAAW,UAAU,QAAY,mBAAQ;AAAA,IAClE,qBAAC,QAAK,OAAO,YAAY,WAAW,UAAU,QAAW,MAAM,WAC5D;AAAA;AAAA,MACA,KAAK;AAAA,OACR;AAAA,IACA,qBAAC,QAAK,UAAQ,MACX;AAAA;AAAA,MACA,KAAK;AAAA,OACR;AAAA,KACF,GACF;AAEJ;AAEA,IAAM,aAA+C,CAAC,EAAE,UAAU,MAAM;AACtE,QAAM,UAAU,YAAY,WAAW,UAAU,WAAW;AAC5D,SACE,oBAAC,OAAI,YAAY,GACf,+BAAC,QACC;AAAA,wBAAC,QAAK,OAAO,YAAY,WAAW,UAAU,QAAY,mBAAQ;AAAA,IAClE,qBAAC,QAAK,OAAO,YAAY,WAAW,UAAU,QAAW,MAAM,WAC5D;AAAA;AAAA,MACA;AAAA,OACH;AAAA,IACA,qBAAC,QAAK,UAAQ,MACX;AAAA;AAAA,MACA;AAAA,OACH;AAAA,KACF,GACF;AAEJ;AAMO,IAAM,iBAAgD,CAAC,EAAE,SAAS,MAAM;AAC7E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,eAAe;AAEnB,QAAM,SAAS,OAAO;AACtB,QAAM,SAAS,QAAQ,MAAM,YAAY,MAAM,GAAG,CAAC,MAAM,CAAC;AAC1D,QAAM,OAAO,QAAQ,MAAM,eAAe,MAAM,GAAG,CAAC,MAAM,CAAC;AAC3D,QAAM,eAAe,QAAQ,MAAM,kBAAkB,MAAM,GAAG,CAAC,MAAM,CAAC;AAEtE,QAAM,EAAE,aAAa,IAAI,sBAAsB,aAAa,QAAQ;AAAA,IAClE,UAAU;AAAA,IACV,SAAS,CAAC,UAAU,aAAa,aAAa,KAAK,KAAK,SAAS;AAAA,EACnE,CAAC;AACD,QAAM,YAAqB,aAAa,YAAY,KAAK;AACzD,QAAM,EAAE,KAAK,SAAS,gBAAgB,WAAW,IAAI,kBAAkB;AAEvE,QAAM,mBAAmB;AAAA,IACvB,MAAM,KAAK,UAAU,CAAC,QAAQ,aAAa,KAAK,SAAS,CAAC;AAAA,IAC1D,CAAC,MAAM,SAAS;AAAA,EAClB;AAEA,QAAM,EAAE,eAAe,UAAU,IAAI,aAAa;AAAA,IAChD,cAAc;AAAA,IACd,WAAW,KAAK;AAAA,IAChB,iBAAiB;AAAA,EACnB,CAAC;AAGD,WAAS,kCAAwC;AAC/C,UAAM,iBAAiB,eAAe,SAAS,EAAE;AACjD,QAAI,gBAAgB;AAClB,qBAAe,SAAS;AAAA,QACtB,gBAAgB,eAAe;AAAA,QAC/B,cAAc,eAAe;AAAA,MAC/B,CAAC;AAAA,IACH;AAAA,EACF;AAGA,WAAS,wBAA8B;AACrC,UAAM,sBAAsB,eAAe,SAAS,EAAE;AACtD,QAAI,qBAAqB,QAAQ;AAC/B;AAAA,QACE,oBAAoB,IAAI,CAAC,MAAM,EAAE,EAAE;AAAA,QACnC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,WAAS,oBAA0B;AACjC,eAAW,UAAU,yBAAyB;AAC5C,UAAI,CAAC,eAAe,SAAS,EAAE,gBAAgB,SAAS,MAAM,GAAG;AAC/D,qBAAa,MAAM;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAEA,WAAS,mBAAyB;AAChC,gBAAY,IAAI;AAChB,gBAAY,SAAS;AACrB,oCAAgC;AAChC,0BAAsB;AACtB,sBAAkB;AAClB,YAAQ,SAAS;AAAA,EACnB;AAIA,WAAS,WAAW,OAA4B;AAC9C,gBAAY,MAAM,EAAE;AACpB,mBAAe,WAAW;AAE1B,UAAM,cAAc,UAAqB,MAAM,MAAM;AACrD,6BAAyB,WAAW;AAEpC,UAAM,sBAAsB,eAAe,SAAS,EAAE;AACtD,UAAM,YAAY,qBAAqB,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC;AAC5D,UAAM,YAAY,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC;AACnE,yBAAqB,WAAW,uBAAuB,MAAS;AAEhE,gBAAY,OAAO;AACnB,YAAQ,SAAS;AAAA,EACnB;AAEA,WAAS,aAAa,YAA2B;AAC/C,QAAI,eAAe,WAAW;AAC5B,uBAAiB;AACjB;AAAA,IACF;AAEA,UAAM,eAAe,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,UAAU;AAC3D,QAAI,aAAc,YAAW,YAAY;AAAA,EAC3C;AAEA,SACE,oBAAC,OAAI,KAAK,SAAS,eAAc,UAAS,UAAU,GAAG,WAAW,GAChE;AAAA,IAAC;AAAA;AAAA,MACC,eAAc;AAAA,MACd,UAAU;AAAA,MACT,GAAI,iBAAiB,EAAE,UAAU,SAAkB;AAAA,MAEpD;AAAA,QAAC;AAAA;AAAA,UACC,eAAc;AAAA,UACd,WAAW,YAAY,IAAI,CAAC,YAAY;AAAA,UACvC,GAAI,iBAAiB,EAAE,YAAY,EAAE;AAAA,UAErC,eAAK,IAAI,CAAC,KAAK,UAAU;AACxB,oBAAQ,IAAI,MAAM;AAAA,cAChB,KAAK;AACH,uBACE,oBAAC,OAA4B,YAAY,GACvC,8BAAC,QAAK,eAAC,KADC,UAAU,KAAK,EAEzB;AAAA,cAEJ,KAAK;AACH,uBACE,oBAAC,OAAgC,YAAY,GAC3C,+BAAC,QAAK,UAAQ,MAAC,MAAI,MAChB;AAAA;AAAA,kBACA,IAAI;AAAA,mBACP,KAJQ,UAAU,IAAI,KAAK,EAK7B;AAAA,cAEJ,KAAK;AACH,uBACE;AAAA,kBAAC;AAAA;AAAA,oBAEC,MAAM,IAAI;AAAA,oBACV,WAAW,IAAI,KAAK,OAAO;AAAA;AAAA,kBAFtB,IAAI,KAAK;AAAA,gBAGhB;AAAA,cAEJ,KAAK;AACH,uBAAO,oBAAC,cAAyB,WAAW,cAAc,aAAnC,SAA8C;AAAA,cACvE,SAAS;AACP,sBAAM,cAAqB;AAC3B,uBAAO;AAAA,cACT;AAAA,YACF;AAAA,UACF,CAAC;AAAA;AAAA,MACH;AAAA;AAAA,EACF,GACF;AAEJ;","names":[]}
@@ -17,7 +17,7 @@ import {
17
17
  writeCompiledAgentsByScope,
18
18
  writeContentHash,
19
19
  writePluginManifest
20
- } from "./chunk-KH7MOIM5.js";
20
+ } from "./chunk-TVHRMRD3.js";
21
21
  import {
22
22
  agentFrontmatterValidationSchema,
23
23
  copy,
@@ -336,4 +336,4 @@ export {
336
336
  compileAllAgentPlugins,
337
337
  printAgentCompilationSummary
338
338
  };
339
- //# sourceMappingURL=chunk-YKKIJHZB.js.map
339
+ //# sourceMappingURL=chunk-NGLQ5W7U.js.map
@@ -4,11 +4,11 @@ import {
4
4
  } from "./chunk-IOJR5TOY.js";
5
5
  import {
6
6
  CategoryGrid
7
- } from "./chunk-HIPGKIT3.js";
7
+ } from "./chunk-6RBQBOBS.js";
8
8
  import {
9
9
  buildCategoriesForDomain,
10
10
  useWizardStore
11
- } from "./chunk-MC5DUZ3V.js";
11
+ } from "./chunk-44LLPS2N.js";
12
12
  import {
13
13
  init_esm_shims
14
14
  } from "./chunk-P56WJ5FA.js";
@@ -108,4 +108,4 @@ var StepBuild = ({
108
108
  export {
109
109
  StepBuild
110
110
  };
111
- //# sourceMappingURL=chunk-LRYNF3J7.js.map
111
+ //# sourceMappingURL=chunk-NHCGC6DG.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-IOJR5TOY.js";
5
5
  import {
6
6
  getDomainDisplayName
7
- } from "./chunk-FWT3CBLL.js";
7
+ } from "./chunk-YA4QQKKE.js";
8
8
  import {
9
9
  useRowScroll
10
10
  } from "./chunk-FYPUUYSG.js";
@@ -15,14 +15,14 @@ import {
15
15
  deriveScopeBadges,
16
16
  formatScopeTag,
17
17
  useWizardStore
18
- } from "./chunk-MC5DUZ3V.js";
18
+ } from "./chunk-44LLPS2N.js";
19
19
  import {
20
20
  isAgentName,
21
21
  toTitleCase
22
- } from "./chunk-KH7MOIM5.js";
22
+ } from "./chunk-TVHRMRD3.js";
23
23
  import {
24
24
  matrix
25
- } from "./chunk-DJAZE4PD.js";
25
+ } from "./chunk-DG2NGZ7S.js";
26
26
  import {
27
27
  typedKeys
28
28
  } from "./chunk-VEP23B5W.js";
@@ -297,4 +297,4 @@ var StepAgents = () => {
297
297
  export {
298
298
  StepAgents
299
299
  };
300
- //# sourceMappingURL=chunk-EN2GCPW7.js.map
300
+ //# sourceMappingURL=chunk-NM3EDGB5.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  SourceGrid,
10
10
  isRowInert
11
- } from "./chunk-7URSGJLE.js";
11
+ } from "./chunk-WK4J2CHH.js";
12
12
  import {
13
13
  HOTKEY_SET_ALL_LOCAL,
14
14
  HOTKEY_SET_ALL_PLUGIN,
@@ -19,11 +19,11 @@ import {
19
19
  } from "./chunk-IHO75PMZ.js";
20
20
  import {
21
21
  useWizardStore
22
- } from "./chunk-MC5DUZ3V.js";
22
+ } from "./chunk-44LLPS2N.js";
23
23
  import {
24
24
  resolveAllSources,
25
25
  searchExtraSources
26
- } from "./chunk-KH7MOIM5.js";
26
+ } from "./chunk-TVHRMRD3.js";
27
27
  import {
28
28
  CLI_COLORS,
29
29
  DEFAULT_BRANDING,
@@ -171,4 +171,4 @@ var StepSources = ({ projectDir, onContinue, onBack }) => {
171
171
  export {
172
172
  StepSources
173
173
  };
174
- //# sourceMappingURL=chunk-E4FT2KFV.js.map
174
+ //# sourceMappingURL=chunk-OJIESW5B.js.map
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  BaseCommand,
11
11
  EXIT_CODES
12
- } from "./chunk-OA5SUEQD.js";
12
+ } from "./chunk-7QIHKQL5.js";
13
13
  import {
14
14
  LOCAL_DEFAULTS,
15
15
  computeSkillFolderHash,
@@ -20,7 +20,7 @@ import {
20
20
  toTitleCase,
21
21
  writeScaffoldedEntityTypes,
22
22
  yamlSchemaComment
23
- } from "./chunk-KH7MOIM5.js";
23
+ } from "./chunk-TVHRMRD3.js";
24
24
  import {
25
25
  ensureDir,
26
26
  fileExists,
@@ -379,4 +379,4 @@ export {
379
379
  generateMetadataYaml,
380
380
  scaffoldSkillFiles
381
381
  };
382
- //# sourceMappingURL=chunk-4LPJZNT7.js.map
382
+ //# sourceMappingURL=chunk-PV2HNW4I.js.map
@@ -4,13 +4,13 @@ import {
4
4
  } from "./chunk-C55DN7GE.js";
5
5
  import {
6
6
  runWizardSession
7
- } from "./chunk-NUIZ6ZUO.js";
7
+ } from "./chunk-SI5FOARI.js";
8
8
  import {
9
9
  Spinner
10
10
  } from "./chunk-OZZGXBCN.js";
11
11
  import {
12
12
  useTerminalDimensions
13
- } from "./chunk-ZKJAJWK6.js";
13
+ } from "./chunk-UTFN6UJS.js";
14
14
  import {
15
15
  SelectList
16
16
  } from "./chunk-DUVWGO6E.js";
@@ -22,25 +22,25 @@ import {
22
22
  compileAgentsAllScopes,
23
23
  loadSource,
24
24
  writeProjectConfig
25
- } from "./chunk-DDG4F3FE.js";
25
+ } from "./chunk-Y4CXDA3I.js";
26
26
  import {
27
27
  discoverInstalledSkills,
28
28
  installPluginSkills,
29
29
  pluginInstallFailureError
30
- } from "./chunk-N4IZ6GBO.js";
30
+ } from "./chunk-4R6PGHQQ.js";
31
31
  import {
32
32
  copyLocalSkills
33
- } from "./chunk-CDMHSHBN.js";
33
+ } from "./chunk-3XFUQ6OL.js";
34
34
  import {
35
35
  loadAgentDefs
36
- } from "./chunk-VIFZ6NFH.js";
36
+ } from "./chunk-YBVA7GPW.js";
37
37
  import {
38
38
  orderDomains
39
- } from "./chunk-MC5DUZ3V.js";
39
+ } from "./chunk-44LLPS2N.js";
40
40
  import {
41
41
  BaseCommand,
42
42
  EXIT_CODES
43
- } from "./chunk-OA5SUEQD.js";
43
+ } from "./chunk-7QIHKQL5.js";
44
44
  import {
45
45
  clearTerminalScreen
46
46
  } from "./chunk-P3PN5SVI.js";
@@ -55,7 +55,7 @@ import {
55
55
  loadProjectConfig,
56
56
  loadProjectConfigFromDir,
57
57
  resolveInstallPaths
58
- } from "./chunk-KH7MOIM5.js";
58
+ } from "./chunk-TVHRMRD3.js";
59
59
  import {
60
60
  AGENT_NAMES,
61
61
  fileExists,
@@ -66,7 +66,7 @@ import {
66
66
  } from "./chunk-3LIU2ZEF.js";
67
67
  import {
68
68
  getCategoryDomain
69
- } from "./chunk-DJAZE4PD.js";
69
+ } from "./chunk-DG2NGZ7S.js";
70
70
  import {
71
71
  ASCII_LOGO,
72
72
  CLAUDE_DIR,
@@ -786,4 +786,4 @@ export {
786
786
  Init,
787
787
  getDashboardData
788
788
  };
789
- //# sourceMappingURL=chunk-6I6RZHYP.js.map
789
+ //# sourceMappingURL=chunk-QTFQEYDA.js.map
@@ -2,17 +2,17 @@
2
2
  import {
3
3
  BUILT_IN_DOMAIN_DESCRIPTIONS,
4
4
  getDomainDisplayName
5
- } from "./chunk-FWT3CBLL.js";
5
+ } from "./chunk-YA4QQKKE.js";
6
6
  import {
7
7
  CheckboxGrid
8
8
  } from "./chunk-XA57SX4T.js";
9
9
  import {
10
10
  orderDomains,
11
11
  useWizardStore
12
- } from "./chunk-MC5DUZ3V.js";
12
+ } from "./chunk-44LLPS2N.js";
13
13
  import {
14
14
  matrix
15
- } from "./chunk-DJAZE4PD.js";
15
+ } from "./chunk-DG2NGZ7S.js";
16
16
  import {
17
17
  typedEntries
18
18
  } from "./chunk-VEP23B5W.js";
@@ -59,4 +59,4 @@ var DomainSelection = () => {
59
59
  export {
60
60
  DomainSelection
61
61
  };
62
- //# sourceMappingURL=chunk-5K5RBRTD.js.map
62
+ //# sourceMappingURL=chunk-SHHOMVWC.js.map
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  Wizard
4
- } from "./chunk-RJN7W2C7.js";
4
+ } from "./chunk-EZ7STXUV.js";
5
5
  import {
6
6
  hydrateWizardStore
7
- } from "./chunk-MC5DUZ3V.js";
7
+ } from "./chunk-44LLPS2N.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-P56WJ5FA.js";
@@ -39,4 +39,4 @@ async function runWizardSession(options) {
39
39
  export {
40
40
  runWizardSession
41
41
  };
42
- //# sourceMappingURL=chunk-NUIZ6ZUO.js.map
42
+ //# sourceMappingURL=chunk-SI5FOARI.js.map
@@ -53,7 +53,7 @@ import {
53
53
  hasSkill,
54
54
  initializeMatrix,
55
55
  matrix
56
- } from "./chunk-DJAZE4PD.js";
56
+ } from "./chunk-DG2NGZ7S.js";
57
57
  import {
58
58
  typedEntries,
59
59
  typedFromEntries,
@@ -148,7 +148,9 @@ async function loadConfig(configPath, schema) {
148
148
  });
149
149
  raw = await jiti.import(configPath, { default: true });
150
150
  } catch (error) {
151
- throw new Error(`Failed to load config from '${configPath}': ${getErrorMessage(error)}`);
151
+ throw new Error(`Failed to load config from '${configPath}': ${getErrorMessage(error)}`, {
152
+ cause: error
153
+ });
152
154
  }
153
155
  if (raw == null || typeof raw === "object" && Object.keys(raw).length === 0) {
154
156
  verbose(`Config at ${configPath} has no default export`);
@@ -514,7 +516,9 @@ async function loadStacks(configDir, stacksFile) {
514
516
  return stacks;
515
517
  } catch (error) {
516
518
  const errorMessage = getErrorMessage(error);
517
- throw new Error(`Failed to load stacks from '${stacksPath}': ${errorMessage}`);
519
+ throw new Error(`Failed to load stacks from '${stacksPath}': ${errorMessage}`, {
520
+ cause: error
521
+ });
518
522
  }
519
523
  }
520
524
  async function loadStackById(stackId, configDir) {
@@ -1065,7 +1069,7 @@ function loadConfigTypesDataInBackground(sourceFlag, projectDir) {
1065
1069
  if (!await directoryExists(claudeSrcDir)) {
1066
1070
  throw new Error(`${CLAUDE_SRC_DIR}/ not found \u2014 run '${CLI_INVOKE_COMMAND} init' first`);
1067
1071
  }
1068
- const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-VVHMQEX5.js");
1072
+ const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-5UNRU7EZ.js");
1069
1073
  const { loadMergedAgents: loadMergedAgents2 } = await import("./loader-E2ERJYVA.js");
1070
1074
  const sourceResult = await loadSkillsMatrixFromSource2({
1071
1075
  sourceFlag,
@@ -2170,7 +2174,7 @@ var NOTHING_RECOMPILED = {
2170
2174
  };
2171
2175
  async function recompilePropagated(projectDirs) {
2172
2176
  if (projectDirs.length === 0) return NOTHING_RECOMPILED;
2173
- const { recompilePropagatedProjectAgents } = await import("./recompile-project-agents-VYQJ6UZB.js");
2177
+ const { recompilePropagatedProjectAgents } = await import("./recompile-project-agents-U4ZY2GDX.js");
2174
2178
  return recompilePropagatedProjectAgents(projectDirs);
2175
2179
  }
2176
2180
 
@@ -2200,7 +2204,7 @@ async function applyConsequences(globalConfig, changes, deps, currentProjectDir)
2200
2204
  function lazyGateDeps(projectDir) {
2201
2205
  return {
2202
2206
  loadMatrix: async () => {
2203
- const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-VVHMQEX5.js");
2207
+ const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-5UNRU7EZ.js");
2204
2208
  const { matrix: matrix2 } = await loadSkillsMatrixFromSource2({
2205
2209
  projectDir,
2206
2210
  skipExtraSources: true,
@@ -2209,7 +2213,7 @@ function lazyGateDeps(projectDir) {
2209
2213
  return matrix2;
2210
2214
  },
2211
2215
  loadAgents: async () => {
2212
- const { loadAgentDefs } = await import("./load-agent-defs-6MAY5ABI.js");
2216
+ const { loadAgentDefs } = await import("./load-agent-defs-SB4XAOVB.js");
2213
2217
  return (await loadAgentDefs({ projectDir })).agents;
2214
2218
  }
2215
2219
  };
@@ -3692,7 +3696,7 @@ async function claudePluginMarketplaceAdd(source) {
3692
3696
  try {
3693
3697
  result = await execCommand("claude", args, {});
3694
3698
  } catch (err) {
3695
- throw new Error(`Failed to add marketplace: ${getErrorMessage(err)}`);
3699
+ throw new Error(`Failed to add marketplace: ${getErrorMessage(err)}`, { cause: err });
3696
3700
  }
3697
3701
  if (result.exitCode !== 0) {
3698
3702
  const errorMessage = result.stderr || result.stdout || "Unknown error";
@@ -3709,7 +3713,7 @@ async function claudePluginMarketplaceUpdate(name) {
3709
3713
  try {
3710
3714
  result = await execCommand("claude", args, {});
3711
3715
  } catch (err) {
3712
- throw new Error(`Failed to update marketplace: ${getErrorMessage(err)}`);
3716
+ throw new Error(`Failed to update marketplace: ${getErrorMessage(err)}`, { cause: err });
3713
3717
  }
3714
3718
  if (result.exitCode !== 0) {
3715
3719
  const errorMessage = result.stderr || result.stdout || "Unknown error";
@@ -6007,4 +6011,4 @@ export {
6007
6011
  extractSourceName,
6008
6012
  mergeLocalSkillsIntoMatrix
6009
6013
  };
6010
- //# sourceMappingURL=chunk-KH7MOIM5.js.map
6014
+ //# sourceMappingURL=chunk-TVHRMRD3.js.map