@agents-inc/cli 0.82.2 → 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 +18 -0
- package/dist/{chunk-R5LEXRV3.js → chunk-35ESNSF5.js} +2 -2
- package/dist/{chunk-3BM5F4IX.js → chunk-3PB7KSF7.js} +3 -3
- package/dist/{chunk-6EMIA36T.js → chunk-5AHKXBNC.js} +2 -2
- package/dist/{chunk-VO6JKRLT.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-57HHZMWR.js → chunk-FBLRTXEA.js} +3 -3
- package/dist/{chunk-YXOZJWP3.js → chunk-FIXWR56O.js} +2 -2
- package/dist/{chunk-ZKQ4XQNO.js → chunk-JQDOUNHF.js} +20 -12
- package/dist/chunk-JQDOUNHF.js.map +1 -0
- package/dist/{chunk-HRMPQ4DV.js → chunk-K76AXQ7A.js} +2 -2
- package/dist/{chunk-L4JYOUGS.js → chunk-KB6LCTCD.js} +14 -6
- package/dist/chunk-KB6LCTCD.js.map +1 -0
- package/dist/{chunk-ZAYTTG3M.js → chunk-KEW246HB.js} +2 -2
- package/dist/{chunk-RX6HPZ7A.js → chunk-KZLGBHDZ.js} +2 -2
- package/dist/{chunk-4DXSCGVI.js → chunk-LOB3OU2D.js} +4 -4
- package/dist/chunk-LOB3OU2D.js.map +1 -0
- package/dist/{chunk-TY5BOAAA.js → chunk-LQ3EJBUN.js} +5 -2
- package/dist/chunk-LQ3EJBUN.js.map +1 -0
- package/dist/{chunk-GMR4PQX3.js → chunk-M2CS5EOK.js} +3 -3
- package/dist/{chunk-ABBXUIMQ.js → chunk-RTXJLZ7A.js} +2 -2
- package/dist/commands/build/plugins.js +2 -2
- package/dist/commands/build/stack.js +2 -2
- package/dist/commands/compile.js +2 -2
- package/dist/commands/config/index.js +2 -2
- package/dist/commands/config/path.js +1 -1
- package/dist/commands/config/show.js +2 -2
- package/dist/commands/diff.js +1 -1
- package/dist/commands/doctor.js +1 -1
- package/dist/commands/edit.js +62 -14
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +1 -1
- package/dist/commands/import/skill.js +1 -1
- package/dist/commands/info.js +1 -1
- package/dist/commands/init.js +13 -13
- package/dist/commands/list.js +1 -1
- package/dist/commands/new/agent.js +2 -2
- package/dist/commands/new/marketplace.js +2 -2
- package/dist/commands/new/skill.js +2 -2
- package/dist/commands/outdated.js +1 -1
- package/dist/commands/search.js +1 -1
- package/dist/commands/uninstall.js +1 -1
- package/dist/commands/update.js +2 -2
- package/dist/commands/validate.js +1 -1
- package/dist/components/wizard/category-grid.test.js +2 -2
- package/dist/components/wizard/domain-selection.js +3 -3
- package/dist/components/wizard/help-modal.js +8 -1
- package/dist/components/wizard/source-grid.test.js +2 -2
- package/dist/components/wizard/stack-selection.js +3 -3
- package/dist/components/wizard/step-agents.js +3 -3
- package/dist/components/wizard/step-agents.test.js +3 -3
- package/dist/components/wizard/step-build.js +3 -3
- package/dist/components/wizard/step-build.test.js +3 -3
- package/dist/components/wizard/step-confirm.test.js +2 -2
- package/dist/components/wizard/step-settings.js +2 -2
- package/dist/components/wizard/step-settings.test.js +5 -5
- package/dist/components/wizard/step-sources.js +3 -3
- package/dist/components/wizard/step-sources.test.js +3 -3
- package/dist/components/wizard/step-stack.js +4 -4
- package/dist/components/wizard/step-stack.test.js +4 -4
- package/dist/components/wizard/wizard-layout.js +4 -4
- package/dist/components/wizard/wizard.js +12 -12
- package/dist/hooks/init.js +13 -13
- package/dist/{source-loader-C2QCBXOB.js → source-loader-FMDHHYDQ.js} +2 -2
- package/dist/{source-manager-DLEHJUZL.js → source-manager-YMJ4Z5UG.js} +2 -2
- package/dist/stores/wizard-store.js +2 -2
- package/dist/stores/wizard-store.test.js +26 -2
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-4DXSCGVI.js.map +0 -1
- package/dist/chunk-L4JYOUGS.js.map +0 -1
- package/dist/chunk-SXGCCUTH.js.map +0 -1
- package/dist/chunk-TY5BOAAA.js.map +0 -1
- package/dist/chunk-ZKQ4XQNO.js.map +0 -1
- /package/dist/{chunk-R5LEXRV3.js.map → chunk-35ESNSF5.js.map} +0 -0
- /package/dist/{chunk-3BM5F4IX.js.map → chunk-3PB7KSF7.js.map} +0 -0
- /package/dist/{chunk-6EMIA36T.js.map → chunk-5AHKXBNC.js.map} +0 -0
- /package/dist/{chunk-VO6JKRLT.js.map → chunk-63E7LOLB.js.map} +0 -0
- /package/dist/{chunk-57HHZMWR.js.map → chunk-FBLRTXEA.js.map} +0 -0
- /package/dist/{chunk-YXOZJWP3.js.map → chunk-FIXWR56O.js.map} +0 -0
- /package/dist/{chunk-HRMPQ4DV.js.map → chunk-K76AXQ7A.js.map} +0 -0
- /package/dist/{chunk-ZAYTTG3M.js.map → chunk-KEW246HB.js.map} +0 -0
- /package/dist/{chunk-RX6HPZ7A.js.map → chunk-KZLGBHDZ.js.map} +0 -0
- /package/dist/{chunk-GMR4PQX3.js.map → chunk-M2CS5EOK.js.map} +0 -0
- /package/dist/{chunk-ABBXUIMQ.js.map → chunk-RTXJLZ7A.js.map} +0 -0
- /package/dist/{source-loader-C2QCBXOB.js.map → source-loader-FMDHHYDQ.js.map} +0 -0
- /package/dist/{source-manager-DLEHJUZL.js.map → source-manager-YMJ4Z5UG.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,24 @@ Each release has detailed notes in its own file under [`changelogs/`](./changelo
|
|
|
7
7
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
8
8
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
9
9
|
|
|
10
|
+
## [0.82.4] - 2026-03-24
|
|
11
|
+
|
|
12
|
+
**Edit command fixes: agent detection, local skill copy, scope-aware stack splitting**
|
|
13
|
+
|
|
14
|
+
- `splitConfigByScope` no longer drops project skills from global agents' stacks
|
|
15
|
+
- `cc edit` detects agent additions/removals and copies local skills by scope
|
|
16
|
+
|
|
17
|
+
See [changelogs/0.82.4.md](./changelogs/0.82.4.md) for full details.
|
|
18
|
+
|
|
19
|
+
## [0.82.3] - 2026-03-24
|
|
20
|
+
|
|
21
|
+
**Disable scope toggle when editing from global scope**
|
|
22
|
+
|
|
23
|
+
- S hotkey disabled in build/agents steps when no project context
|
|
24
|
+
- Footer hint and help modal hide scope key in global edit mode
|
|
25
|
+
|
|
26
|
+
See [changelogs/0.82.3.md](./changelogs/0.82.3.md) for full details.
|
|
27
|
+
|
|
10
28
|
## [0.82.2] - 2026-03-23
|
|
11
29
|
|
|
12
30
|
**E2E test cleanup, source path fixes, domain subnav hoisting**
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./chunk-4QA5TIBU.js";
|
|
12
12
|
import {
|
|
13
13
|
useWizardStore
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-LQ3EJBUN.js";
|
|
15
15
|
import {
|
|
16
16
|
matrix,
|
|
17
17
|
typedKeys
|
|
@@ -271,4 +271,4 @@ var StepAgents = () => {
|
|
|
271
271
|
export {
|
|
272
272
|
StepAgents
|
|
273
273
|
};
|
|
274
|
-
//# sourceMappingURL=chunk-
|
|
274
|
+
//# sourceMappingURL=chunk-35ESNSF5.js.map
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./chunk-5BRHJD7Q.js";
|
|
14
14
|
import {
|
|
15
15
|
useWizardStore
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-LQ3EJBUN.js";
|
|
17
17
|
import {
|
|
18
18
|
HOTKEY_SET_ALL_LOCAL,
|
|
19
19
|
HOTKEY_SET_ALL_PLUGIN,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
import {
|
|
23
23
|
resolveAllSources,
|
|
24
24
|
searchExtraSources
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-KB6LCTCD.js";
|
|
26
26
|
import {
|
|
27
27
|
CLI_COLORS,
|
|
28
28
|
DEFAULT_BRANDING
|
|
@@ -168,4 +168,4 @@ var StepSources = ({ projectDir, onContinue, onBack }) => {
|
|
|
168
168
|
export {
|
|
169
169
|
StepSources
|
|
170
170
|
};
|
|
171
|
-
//# sourceMappingURL=chunk-
|
|
171
|
+
//# sourceMappingURL=chunk-3PB7KSF7.js.map
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
addSource,
|
|
25
25
|
getSourceSummary,
|
|
26
26
|
removeSource
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-KB6LCTCD.js";
|
|
28
28
|
import {
|
|
29
29
|
getErrorMessage,
|
|
30
30
|
verbose
|
|
@@ -263,4 +263,4 @@ var StepSettings = ({
|
|
|
263
263
|
export {
|
|
264
264
|
StepSettings
|
|
265
265
|
};
|
|
266
|
-
//# sourceMappingURL=chunk-
|
|
266
|
+
//# sourceMappingURL=chunk-5AHKXBNC.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
StackSelection
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-K76AXQ7A.js";
|
|
5
5
|
import {
|
|
6
6
|
useMeasuredHeight
|
|
7
7
|
} from "./chunk-K77I4XGL.js";
|
|
@@ -21,4 +21,4 @@ var StepStack = ({ onCancel }) => {
|
|
|
21
21
|
export {
|
|
22
22
|
StepStack
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
24
|
+
//# sourceMappingURL=chunk-63E7LOLB.js.map
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
useWizardStore
|
|
4
|
+
} from "./chunk-LQ3EJBUN.js";
|
|
2
5
|
import {
|
|
3
6
|
HOTKEY_HELP,
|
|
4
7
|
HOTKEY_SCOPE,
|
|
@@ -69,7 +72,12 @@ var HelpSectionView = ({ section }) => /* @__PURE__ */ jsxs(Box, { flexDirection
|
|
|
69
72
|
] }, key))
|
|
70
73
|
] });
|
|
71
74
|
var HelpModal = ({ currentStep }) => {
|
|
72
|
-
const
|
|
75
|
+
const { isEditingFromGlobalScope } = useWizardStore();
|
|
76
|
+
const rawSection = STEP_SECTIONS[currentStep];
|
|
77
|
+
const stepSection = rawSection && isEditingFromGlobalScope ? {
|
|
78
|
+
...rawSection,
|
|
79
|
+
keys: rawSection.keys.filter((k) => k.key !== HOTKEY_SCOPE.label)
|
|
80
|
+
} : rawSection;
|
|
73
81
|
return /* @__PURE__ */ jsxs(
|
|
74
82
|
Box,
|
|
75
83
|
{
|
|
@@ -100,4 +108,4 @@ var HelpModal = ({ currentStep }) => {
|
|
|
100
108
|
export {
|
|
101
109
|
HelpModal
|
|
102
110
|
};
|
|
103
|
-
//# sourceMappingURL=chunk-
|
|
111
|
+
//# sourceMappingURL=chunk-AAW3PYXA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/components/wizard/help-modal.tsx"],"sourcesContent":["import { Box, Text } from \"ink\";\nimport React from \"react\";\nimport { CLI_COLORS } from \"../../consts.js\";\nimport { useWizardStore, type WizardStep } from \"../../stores/wizard-store.js\";\nimport {\n HOTKEY_HELP,\n HOTKEY_SCOPE,\n HOTKEY_SETTINGS,\n HOTKEY_TOGGLE_LABELS,\n KEY_LABEL_ENTER,\n KEY_LABEL_ESC,\n KEY_LABEL_SPACE,\n KEY_LABEL_TAB,\n KEY_LABEL_VIM,\n} from \"./hotkeys.js\";\n\ntype HelpSection = {\n title: string;\n keys: { key: string; description: string }[];\n};\n\nconst GLOBAL_KEYS: HelpSection = {\n title: \"Navigation\",\n keys: [\n { key: \"Arrow keys\", description: \"Move focus\" },\n { key: KEY_LABEL_SPACE, description: \"Toggle selection\" },\n { key: KEY_LABEL_ENTER, description: \"Confirm / continue\" },\n { key: KEY_LABEL_ESC, description: \"Go back\" },\n { key: KEY_LABEL_TAB, description: \"Jump to next section\" },\n ],\n};\n\nconst GLOBAL_TOGGLES: HelpSection = {\n title: \"Toggles\",\n keys: [{ key: HOTKEY_HELP.label, description: \"Toggle this help\" }],\n};\n\nconst BUILD_KEYS: HelpSection = {\n title: \"Skills Step\",\n keys: [\n { key: HOTKEY_TOGGLE_LABELS.label, description: \"Toggle compatibility labels\" },\n { key: HOTKEY_SCOPE.label, description: \"Toggle skill scope (project/global)\" },\n { key: KEY_LABEL_VIM, description: \"Vim-style navigation\" },\n ],\n};\n\nconst SOURCES_KEYS: HelpSection = {\n title: \"Sources Step\",\n keys: [{ key: HOTKEY_SETTINGS.label, description: \"Toggle source settings\" }],\n};\n\nconst AGENTS_KEYS: HelpSection = {\n title: \"Agents Step\",\n keys: [{ key: HOTKEY_SCOPE.label, description: \"Toggle agent scope (project/global)\" }],\n};\n\nconst STEP_SECTIONS: Partial<Record<WizardStep, HelpSection>> = {\n build: BUILD_KEYS,\n sources: SOURCES_KEYS,\n agents: AGENTS_KEYS,\n};\n\nconst KEY_COLUMN_WIDTH = 14;\n\ntype HelpSectionViewProps = {\n section: HelpSection;\n};\n\nconst HelpSectionView: React.FC<HelpSectionViewProps> = ({ section }) => (\n <Box flexDirection=\"column\" marginTop={1} marginBottom={1}>\n <Text bold>{section.title}</Text>\n {section.keys.map(({ key, description }) => (\n <Box key={key} marginTop={1}>\n <Box width={KEY_COLUMN_WIDTH}>\n <Text backgroundColor=\"black\" color={CLI_COLORS.UNFOCUSED}>\n {\" \"}\n {key}{\" \"}\n </Text>\n </Box>\n <Text>{description}</Text>\n </Box>\n ))}\n </Box>\n);\n\nexport type HelpModalProps = {\n currentStep: WizardStep;\n};\n\nexport const HelpModal: React.FC<HelpModalProps> = ({ currentStep }) => {\n const { isEditingFromGlobalScope } = useWizardStore();\n const rawSection = STEP_SECTIONS[currentStep];\n const stepSection =\n rawSection && isEditingFromGlobalScope\n ? {\n ...rawSection,\n keys: rawSection.keys.filter((k) => k.key !== HOTKEY_SCOPE.label),\n }\n : rawSection;\n\n return (\n <Box\n flexDirection=\"column\"\n borderStyle=\"single\"\n borderColor={CLI_COLORS.PRIMARY}\n paddingX={2}\n paddingY={1}\n marginTop={1}\n >\n <Text bold color={CLI_COLORS.PRIMARY}>\n Keyboard Shortcuts\n </Text>\n <Text> </Text>\n\n <HelpSectionView section={GLOBAL_KEYS} />\n <HelpSectionView section={GLOBAL_TOGGLES} />\n {stepSection && <HelpSectionView section={stepSection} />}\n\n <Text dimColor>\n Press {KEY_LABEL_ESC} or {HOTKEY_HELP.label} to close\n </Text>\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,SAAS,KAAK,YAAY;AAsEtB,cAIM,YAJN;AAjDJ,IAAM,cAA2B;AAAA,EAC/B,OAAO;AAAA,EACP,MAAM;AAAA,IACJ,EAAE,KAAK,cAAc,aAAa,aAAa;AAAA,IAC/C,EAAE,KAAK,iBAAiB,aAAa,mBAAmB;AAAA,IACxD,EAAE,KAAK,iBAAiB,aAAa,qBAAqB;AAAA,IAC1D,EAAE,KAAK,eAAe,aAAa,UAAU;AAAA,IAC7C,EAAE,KAAK,eAAe,aAAa,uBAAuB;AAAA,EAC5D;AACF;AAEA,IAAM,iBAA8B;AAAA,EAClC,OAAO;AAAA,EACP,MAAM,CAAC,EAAE,KAAK,YAAY,OAAO,aAAa,mBAAmB,CAAC;AACpE;AAEA,IAAM,aAA0B;AAAA,EAC9B,OAAO;AAAA,EACP,MAAM;AAAA,IACJ,EAAE,KAAK,qBAAqB,OAAO,aAAa,8BAA8B;AAAA,IAC9E,EAAE,KAAK,aAAa,OAAO,aAAa,sCAAsC;AAAA,IAC9E,EAAE,KAAK,eAAe,aAAa,uBAAuB;AAAA,EAC5D;AACF;AAEA,IAAM,eAA4B;AAAA,EAChC,OAAO;AAAA,EACP,MAAM,CAAC,EAAE,KAAK,gBAAgB,OAAO,aAAa,yBAAyB,CAAC;AAC9E;AAEA,IAAM,cAA2B;AAAA,EAC/B,OAAO;AAAA,EACP,MAAM,CAAC,EAAE,KAAK,aAAa,OAAO,aAAa,sCAAsC,CAAC;AACxF;AAEA,IAAM,gBAA0D;AAAA,EAC9D,OAAO;AAAA,EACP,SAAS;AAAA,EACT,QAAQ;AACV;AAEA,IAAM,mBAAmB;AAMzB,IAAM,kBAAkD,CAAC,EAAE,QAAQ,MACjE,qBAAC,OAAI,eAAc,UAAS,WAAW,GAAG,cAAc,GACtD;AAAA,sBAAC,QAAK,MAAI,MAAE,kBAAQ,OAAM;AAAA,EACzB,QAAQ,KAAK,IAAI,CAAC,EAAE,KAAK,YAAY,MACpC,qBAAC,OAAc,WAAW,GACxB;AAAA,wBAAC,OAAI,OAAO,kBACV,+BAAC,QAAK,iBAAgB,SAAQ,OAAO,WAAW,WAC7C;AAAA;AAAA,MACA;AAAA,MAAK;AAAA,OACR,GACF;AAAA,IACA,oBAAC,QAAM,uBAAY;AAAA,OAPX,GAQV,CACD;AAAA,GACH;AAOK,IAAM,YAAsC,CAAC,EAAE,YAAY,MAAM;AACtE,QAAM,EAAE,yBAAyB,IAAI,eAAe;AACpD,QAAM,aAAa,cAAc,WAAW;AAC5C,QAAM,cACJ,cAAc,2BACV;AAAA,IACE,GAAG;AAAA,IACH,MAAM,WAAW,KAAK,OAAO,CAAC,MAAM,EAAE,QAAQ,aAAa,KAAK;AAAA,EAClE,IACA;AAEN,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAc;AAAA,MACd,aAAY;AAAA,MACZ,aAAa,WAAW;AAAA,MACxB,UAAU;AAAA,MACV,UAAU;AAAA,MACV,WAAW;AAAA,MAEX;AAAA,4BAAC,QAAK,MAAI,MAAC,OAAO,WAAW,SAAS,gCAEtC;AAAA,QACA,oBAAC,QAAK,eAAC;AAAA,QAEP,oBAAC,mBAAgB,SAAS,aAAa;AAAA,QACvC,oBAAC,mBAAgB,SAAS,gBAAgB;AAAA,QACzC,eAAe,oBAAC,mBAAgB,SAAS,aAAa;AAAA,QAEvD,qBAAC,QAAK,UAAQ,MAAC;AAAA;AAAA,UACN;AAAA,UAAc;AAAA,UAAK,YAAY;AAAA,UAAM;AAAA,WAC9C;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
Wizard
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JQDOUNHF.js";
|
|
5
5
|
import {
|
|
6
6
|
SelectList
|
|
7
7
|
} from "./chunk-XO6X5QE5.js";
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
loadProjectConfig,
|
|
31
31
|
loadSkillsMatrixFromSource,
|
|
32
32
|
resolveInstallPaths
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-KB6LCTCD.js";
|
|
34
34
|
import {
|
|
35
35
|
getSkillById
|
|
36
36
|
} from "./chunk-3MXMYHO3.js";
|
|
@@ -515,4 +515,4 @@ export {
|
|
|
515
515
|
showDashboard,
|
|
516
516
|
Init
|
|
517
517
|
};
|
|
518
|
-
//# sourceMappingURL=chunk-
|
|
518
|
+
//# sourceMappingURL=chunk-FBLRTXEA.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
loadProjectSourceConfig,
|
|
8
8
|
resolveAgentsSource,
|
|
9
9
|
resolveSource
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-KB6LCTCD.js";
|
|
11
11
|
import {
|
|
12
12
|
BaseCommand
|
|
13
13
|
} from "./chunk-X2HE3W74.js";
|
|
@@ -90,4 +90,4 @@ ${DEFAULT_BRANDING.NAME} Configuration
|
|
|
90
90
|
export {
|
|
91
91
|
ConfigShow
|
|
92
92
|
};
|
|
93
|
-
//# sourceMappingURL=chunk-
|
|
93
|
+
//# sourceMappingURL=chunk-FIXWR56O.js.map
|
|
@@ -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
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
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,7 +42,7 @@ 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
|
|
@@ -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,7 +7,7 @@ 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
13
|
} from "./chunk-3MXMYHO3.js";
|
|
@@ -191,4 +191,4 @@ var StackSelection = ({ onCancel }) => {
|
|
|
191
191
|
export {
|
|
192
192
|
StackSelection
|
|
193
193
|
};
|
|
194
|
-
//# sourceMappingURL=chunk-
|
|
194
|
+
//# sourceMappingURL=chunk-K76AXQ7A.js.map
|
|
@@ -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
|