@agents-inc/cli 0.82.0 → 0.82.4
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.
- package/CHANGELOG.md +37 -0
- package/dist/{chunk-J3ZWLR5Z.js → chunk-35ESNSF5.js} +4 -4
- package/dist/{chunk-2E25UBLM.js → chunk-3BDCU5QB.js} +3 -3
- package/dist/{chunk-XNHMUPIJ.js → chunk-3MXMYHO3.js} +17 -17
- package/dist/{chunk-XNHMUPIJ.js.map → chunk-3MXMYHO3.js.map} +1 -1
- package/dist/{chunk-DWIB547V.js → chunk-3PB7KSF7.js} +4 -4
- package/dist/{chunk-LKDQLCS3.js → chunk-5AHKXBNC.js} +2 -2
- package/dist/{chunk-TJ62CLXB.js → chunk-5BRHJD7Q.js} +2 -2
- package/dist/{chunk-K2RQU5HR.js → chunk-63E7LOLB.js} +2 -2
- package/dist/{chunk-SXGCCUTH.js → chunk-AAW3PYXA.js} +10 -2
- package/dist/chunk-AAW3PYXA.js.map +1 -0
- package/dist/{chunk-W642FYQJ.js → chunk-AD2UT2TN.js} +2 -2
- package/dist/{chunk-L7SKXTUO.js → chunk-C4I4Q33M.js} +2 -2
- package/dist/{chunk-EB5E7IKL.js → chunk-FBLRTXEA.js} +4 -4
- package/dist/{chunk-AW7LLMZZ.js → chunk-FIXWR56O.js} +2 -2
- package/dist/{chunk-WO433W2G.js → chunk-FS4YWW36.js} +2 -2
- package/dist/{chunk-RLKRDDJD.js → chunk-GEU62YD2.js} +2 -2
- package/dist/{chunk-Y7GAKUM7.js → chunk-IMO6EQKT.js} +2 -2
- package/dist/{chunk-BFLAAMMA.js → chunk-IMP35ETG.js} +17 -17
- package/dist/chunk-IMP35ETG.js.map +1 -0
- package/dist/{chunk-UXIZK65O.js → chunk-JQDOUNHF.js} +23 -15
- package/dist/chunk-JQDOUNHF.js.map +1 -0
- package/dist/{chunk-WVLBGBRU.js → chunk-K76AXQ7A.js} +3 -3
- package/dist/{chunk-MPTXU4VS.js → chunk-KB6LCTCD.js} +16 -8
- package/dist/chunk-KB6LCTCD.js.map +1 -0
- package/dist/{chunk-JQNN2SVG.js → chunk-KEW246HB.js} +2 -2
- package/dist/{chunk-PY7C6CUI.js → chunk-KZLGBHDZ.js} +3 -3
- package/dist/{chunk-HWDEPKIR.js → chunk-LOB3OU2D.js} +5 -5
- package/dist/chunk-LOB3OU2D.js.map +1 -0
- package/dist/{chunk-2GI4NKKO.js → chunk-LQ3EJBUN.js} +6 -3
- package/dist/chunk-LQ3EJBUN.js.map +1 -0
- package/dist/{chunk-A5MK4XJB.js → chunk-M2CS5EOK.js} +5 -5
- package/dist/{chunk-WYODBBUA.js → chunk-RTXJLZ7A.js} +4 -4
- package/dist/commands/build/plugins.js +4 -4
- package/dist/commands/build/stack.js +4 -4
- package/dist/commands/compile.js +4 -4
- package/dist/commands/config/index.js +4 -4
- package/dist/commands/config/path.js +3 -3
- package/dist/commands/config/show.js +4 -4
- package/dist/commands/diff.js +3 -3
- package/dist/commands/doctor.js +3 -3
- package/dist/commands/edit.js +68 -20
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +3 -3
- package/dist/commands/import/skill.js +3 -3
- package/dist/commands/info.js +3 -3
- package/dist/commands/init.js +19 -19
- package/dist/commands/list.js +3 -3
- package/dist/commands/new/agent.js +4 -4
- package/dist/commands/new/marketplace.js +4 -4
- package/dist/commands/new/skill.js +4 -4
- package/dist/commands/outdated.js +3 -3
- package/dist/commands/search.js +3 -3
- package/dist/commands/uninstall.js +3 -3
- package/dist/commands/update.js +4 -4
- package/dist/commands/validate.js +3 -3
- package/dist/components/wizard/category-grid.js +2 -2
- package/dist/components/wizard/category-grid.test.js +8 -8
- package/dist/components/wizard/domain-selection.js +6 -6
- package/dist/components/wizard/help-modal.js +8 -1
- package/dist/components/wizard/source-grid.js +2 -2
- package/dist/components/wizard/source-grid.test.js +8 -8
- package/dist/components/wizard/stack-selection.js +5 -5
- package/dist/components/wizard/step-agents.js +6 -6
- package/dist/components/wizard/step-agents.test.js +9 -9
- package/dist/components/wizard/step-build.js +6 -6
- package/dist/components/wizard/step-build.test.js +9 -9
- package/dist/components/wizard/step-confirm.js +3 -3
- package/dist/components/wizard/step-confirm.test.js +7 -7
- package/dist/components/wizard/step-settings.js +4 -4
- package/dist/components/wizard/step-settings.test.js +7 -7
- package/dist/components/wizard/step-sources.js +6 -6
- package/dist/components/wizard/step-sources.test.js +9 -9
- package/dist/components/wizard/step-stack.js +6 -6
- package/dist/components/wizard/step-stack.test.js +7 -7
- package/dist/components/wizard/wizard-layout.js +7 -7
- package/dist/components/wizard/wizard.js +18 -18
- package/dist/config-exports.js +1 -1
- package/dist/hooks/init.js +19 -19
- package/dist/{source-loader-V5MKKNZF.js → source-loader-FMDHHYDQ.js} +4 -4
- package/dist/{source-manager-S64CYXPA.js → source-manager-YMJ4Z5UG.js} +4 -4
- package/dist/stores/wizard-store.js +4 -4
- package/dist/stores/wizard-store.test.js +31 -7
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-2GI4NKKO.js.map +0 -1
- package/dist/chunk-BFLAAMMA.js.map +0 -1
- package/dist/chunk-HWDEPKIR.js.map +0 -1
- package/dist/chunk-MPTXU4VS.js.map +0 -1
- package/dist/chunk-SXGCCUTH.js.map +0 -1
- package/dist/chunk-UXIZK65O.js.map +0 -1
- /package/dist/{chunk-J3ZWLR5Z.js.map → chunk-35ESNSF5.js.map} +0 -0
- /package/dist/{chunk-2E25UBLM.js.map → chunk-3BDCU5QB.js.map} +0 -0
- /package/dist/{chunk-DWIB547V.js.map → chunk-3PB7KSF7.js.map} +0 -0
- /package/dist/{chunk-LKDQLCS3.js.map → chunk-5AHKXBNC.js.map} +0 -0
- /package/dist/{chunk-TJ62CLXB.js.map → chunk-5BRHJD7Q.js.map} +0 -0
- /package/dist/{chunk-K2RQU5HR.js.map → chunk-63E7LOLB.js.map} +0 -0
- /package/dist/{chunk-W642FYQJ.js.map → chunk-AD2UT2TN.js.map} +0 -0
- /package/dist/{chunk-L7SKXTUO.js.map → chunk-C4I4Q33M.js.map} +0 -0
- /package/dist/{chunk-EB5E7IKL.js.map → chunk-FBLRTXEA.js.map} +0 -0
- /package/dist/{chunk-AW7LLMZZ.js.map → chunk-FIXWR56O.js.map} +0 -0
- /package/dist/{chunk-WO433W2G.js.map → chunk-FS4YWW36.js.map} +0 -0
- /package/dist/{chunk-RLKRDDJD.js.map → chunk-GEU62YD2.js.map} +0 -0
- /package/dist/{chunk-Y7GAKUM7.js.map → chunk-IMO6EQKT.js.map} +0 -0
- /package/dist/{chunk-WVLBGBRU.js.map → chunk-K76AXQ7A.js.map} +0 -0
- /package/dist/{chunk-JQNN2SVG.js.map → chunk-KEW246HB.js.map} +0 -0
- /package/dist/{chunk-PY7C6CUI.js.map → chunk-KZLGBHDZ.js.map} +0 -0
- /package/dist/{chunk-A5MK4XJB.js.map → chunk-M2CS5EOK.js.map} +0 -0
- /package/dist/{chunk-WYODBBUA.js.map → chunk-RTXJLZ7A.js.map} +0 -0
- /package/dist/{source-loader-V5MKKNZF.js.map → source-loader-FMDHHYDQ.js.map} +0 -0
- /package/dist/{source-manager-S64CYXPA.js.map → source-manager-YMJ4Z5UG.js.map} +0 -0
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
WizardLayout
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-LOB3OU2D.js";
|
|
5
5
|
import {
|
|
6
6
|
StepSettings
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5AHKXBNC.js";
|
|
8
8
|
import {
|
|
9
9
|
StepSources
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3PB7KSF7.js";
|
|
11
11
|
import {
|
|
12
12
|
StepStack
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-63E7LOLB.js";
|
|
14
14
|
import {
|
|
15
15
|
StepAgents
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-35ESNSF5.js";
|
|
17
17
|
import {
|
|
18
18
|
StepBuild
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-M2CS5EOK.js";
|
|
20
20
|
import {
|
|
21
21
|
StepConfirm
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-C4I4Q33M.js";
|
|
23
23
|
import {
|
|
24
24
|
DomainSelection
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-RTXJLZ7A.js";
|
|
26
26
|
import {
|
|
27
27
|
getStackName
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-FS4YWW36.js";
|
|
29
29
|
import {
|
|
30
30
|
useWizardStore
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-LQ3EJBUN.js";
|
|
32
32
|
import {
|
|
33
33
|
cliTheme
|
|
34
34
|
} from "./chunk-HEQVUIHQ.js";
|
|
@@ -42,11 +42,11 @@ import {
|
|
|
42
42
|
import {
|
|
43
43
|
resolveAlias,
|
|
44
44
|
validateSelection
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-KB6LCTCD.js";
|
|
46
46
|
import {
|
|
47
47
|
findStack,
|
|
48
48
|
matrix
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-3MXMYHO3.js";
|
|
50
50
|
import {
|
|
51
51
|
CLI_COLORS
|
|
52
52
|
} from "./chunk-6PGL2XMY.js";
|
|
@@ -71,7 +71,8 @@ function useWizardInitialization({
|
|
|
71
71
|
installedSkillConfigs,
|
|
72
72
|
installedAgentConfigs,
|
|
73
73
|
lockedSkillIds,
|
|
74
|
-
lockedAgentNames
|
|
74
|
+
lockedAgentNames,
|
|
75
|
+
isEditingFromGlobalScope
|
|
75
76
|
}) {
|
|
76
77
|
const initialized = useRef(false);
|
|
77
78
|
if (!initialized.current) {
|
|
@@ -97,6 +98,9 @@ function useWizardInitialization({
|
|
|
97
98
|
...lockedAgentNames?.length && { lockedAgentNames }
|
|
98
99
|
});
|
|
99
100
|
}
|
|
101
|
+
if (isEditingFromGlobalScope) {
|
|
102
|
+
useWizardStore.setState({ isEditingFromGlobalScope });
|
|
103
|
+
}
|
|
100
104
|
}
|
|
101
105
|
}
|
|
102
106
|
|
|
@@ -164,6 +168,7 @@ var Wizard = ({
|
|
|
164
168
|
installedAgentConfigs,
|
|
165
169
|
lockedSkillIds,
|
|
166
170
|
lockedAgentNames,
|
|
171
|
+
isEditingFromGlobalScope,
|
|
167
172
|
projectDir,
|
|
168
173
|
startupMessages
|
|
169
174
|
}) => {
|
|
@@ -182,7 +187,8 @@ var Wizard = ({
|
|
|
182
187
|
installedSkillConfigs,
|
|
183
188
|
installedAgentConfigs,
|
|
184
189
|
lockedSkillIds,
|
|
185
|
-
lockedAgentNames
|
|
190
|
+
lockedAgentNames,
|
|
191
|
+
isEditingFromGlobalScope
|
|
186
192
|
});
|
|
187
193
|
const buildStepProps = useBuildStepProps({ store, installedSkillIds });
|
|
188
194
|
useInput((input, key) => {
|
|
@@ -211,6 +217,7 @@ var Wizard = ({
|
|
|
211
217
|
return;
|
|
212
218
|
}
|
|
213
219
|
if (isHotkey(input, HOTKEY_SCOPE) && store.step === "build") {
|
|
220
|
+
if (store.isEditingFromGlobalScope) return;
|
|
214
221
|
const focused = store.focusedSkillId;
|
|
215
222
|
if (focused) {
|
|
216
223
|
store.toggleSkillScope(focused);
|
|
@@ -218,6 +225,7 @@ var Wizard = ({
|
|
|
218
225
|
return;
|
|
219
226
|
}
|
|
220
227
|
if (isHotkey(input, HOTKEY_SCOPE) && store.step === "agents") {
|
|
228
|
+
if (store.isEditingFromGlobalScope) return;
|
|
221
229
|
const focused = store.focusedAgentId;
|
|
222
230
|
if (focused) {
|
|
223
231
|
store.toggleAgentScope(focused);
|
|
@@ -334,4 +342,4 @@ var Wizard = ({
|
|
|
334
342
|
export {
|
|
335
343
|
Wizard
|
|
336
344
|
};
|
|
337
|
-
//# sourceMappingURL=chunk-
|
|
345
|
+
//# sourceMappingURL=chunk-JQDOUNHF.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 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 useWizardStore.setState({ step: initialStep, approach: \"scratch\" });\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"]}
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
} from "./chunk-4QA5TIBU.js";
|
|
8
8
|
import {
|
|
9
9
|
useWizardStore
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-LQ3EJBUN.js";
|
|
11
11
|
import {
|
|
12
12
|
matrix
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-3MXMYHO3.js";
|
|
14
14
|
import {
|
|
15
15
|
CLI_COLORS,
|
|
16
16
|
DEFAULT_SCRATCH_DOMAINS,
|
|
@@ -191,4 +191,4 @@ var StackSelection = ({ onCancel }) => {
|
|
|
191
191
|
export {
|
|
192
192
|
StackSelection
|
|
193
193
|
};
|
|
194
|
-
//# sourceMappingURL=chunk-
|
|
194
|
+
//# sourceMappingURL=chunk-K76AXQ7A.js.map
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
matrix,
|
|
15
15
|
typedEntries,
|
|
16
16
|
typedKeys
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-3MXMYHO3.js";
|
|
18
18
|
import {
|
|
19
19
|
SKILL_ID_PATTERN,
|
|
20
20
|
agentFrontmatterValidationSchema,
|
|
@@ -94,7 +94,7 @@ import {
|
|
|
94
94
|
defaultCategories,
|
|
95
95
|
defaultRules,
|
|
96
96
|
defaultStacks
|
|
97
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-IMP35ETG.js";
|
|
98
98
|
import {
|
|
99
99
|
init_esm_shims
|
|
100
100
|
} from "./chunk-DHET7RCE.js";
|
|
@@ -587,18 +587,26 @@ function splitConfigByScope(config) {
|
|
|
587
587
|
for (const agent of globalAgents) {
|
|
588
588
|
const agentStack = config.stack[agent.name];
|
|
589
589
|
if (agentStack) {
|
|
590
|
-
const
|
|
590
|
+
const globalFiltered = {};
|
|
591
|
+
const projectFiltered = {};
|
|
591
592
|
for (const [category, assignments] of typedEntries(
|
|
592
593
|
agentStack
|
|
593
594
|
)) {
|
|
594
595
|
if (!assignments) continue;
|
|
595
596
|
const globalOnly = assignments.filter((a) => globalSkillIds.has(a.id));
|
|
597
|
+
const projectOnly = assignments.filter((a) => !globalSkillIds.has(a.id));
|
|
596
598
|
if (globalOnly.length > 0) {
|
|
597
|
-
|
|
599
|
+
globalFiltered[category] = globalOnly;
|
|
598
600
|
}
|
|
601
|
+
if (projectOnly.length > 0) {
|
|
602
|
+
projectFiltered[category] = projectOnly;
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
if (typedKeys(globalFiltered).length > 0) {
|
|
606
|
+
globalStack[agent.name] = globalFiltered;
|
|
599
607
|
}
|
|
600
|
-
if (typedKeys(
|
|
601
|
-
|
|
608
|
+
if (typedKeys(projectFiltered).length > 0) {
|
|
609
|
+
projectStack[agent.name] = projectFiltered;
|
|
602
610
|
}
|
|
603
611
|
}
|
|
604
612
|
}
|
|
@@ -996,7 +1004,7 @@ function loadConfigTypesDataInBackground(sourceFlag, projectDir) {
|
|
|
996
1004
|
if (!await directoryExists(claudeSrcDir)) {
|
|
997
1005
|
throw new Error(`${CLAUDE_SRC_DIR}/ not found \u2014 run '${CLI_BIN_NAME} init' first`);
|
|
998
1006
|
}
|
|
999
|
-
const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-
|
|
1007
|
+
const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-FMDHHYDQ.js");
|
|
1000
1008
|
const { loadAllAgents: loadAllAgents2 } = await import("./loader-4XPDVCZK.js");
|
|
1001
1009
|
const sourceResult = await loadSkillsMatrixFromSource2({
|
|
1002
1010
|
sourceFlag,
|
|
@@ -5611,4 +5619,4 @@ export {
|
|
|
5611
5619
|
validateAllPlugins,
|
|
5612
5620
|
printPluginValidationResult
|
|
5613
5621
|
};
|
|
5614
|
-
//# sourceMappingURL=chunk-
|
|
5622
|
+
//# sourceMappingURL=chunk-KB6LCTCD.js.map
|