@agents-inc/cli 0.35.0 → 0.41.1
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 +103 -0
- package/config/skills-matrix.yaml +124 -132
- package/config/stacks.yaml +687 -687
- package/dist/{chunk-BLLXNFWP.js → chunk-2D6LKRHW.js} +2 -2
- package/dist/{chunk-KWF6D7ZP.js → chunk-342YB6TQ.js} +27 -19
- package/dist/chunk-342YB6TQ.js.map +1 -0
- package/dist/{chunk-OGXSTJP2.js → chunk-423MJ6DT.js} +66 -36
- package/dist/chunk-423MJ6DT.js.map +1 -0
- package/dist/{chunk-5LPPIT6H.js → chunk-4LT6RXMY.js} +4 -4
- package/dist/{chunk-LFHZBF6N.js → chunk-4SYXPG7L.js} +4 -3
- package/dist/chunk-4SYXPG7L.js.map +1 -0
- package/dist/{chunk-CXWPUVA7.js → chunk-4UTPJXUX.js} +9 -9
- package/dist/{chunk-CEWNZQMH.js → chunk-5TMB53BV.js} +9 -3
- package/dist/chunk-5TMB53BV.js.map +1 -0
- package/dist/chunk-7FBM7V3E.js +144 -0
- package/dist/chunk-7FBM7V3E.js.map +1 -0
- package/dist/chunk-ACVJVYMC.js +111 -0
- package/dist/chunk-ACVJVYMC.js.map +1 -0
- package/dist/{chunk-YN35L5NE.js → chunk-AH7XHAKN.js} +12 -12
- package/dist/chunk-AH7XHAKN.js.map +1 -0
- package/dist/{chunk-5YNZJ5TP.js → chunk-AVVYFEMF.js} +2 -2
- package/dist/{chunk-U36YCEBK.js → chunk-BFISETQG.js} +32 -23
- package/dist/chunk-BFISETQG.js.map +1 -0
- package/dist/{chunk-YCS7GF6Y.js → chunk-BK7TANUV.js} +6 -2
- package/dist/chunk-BK7TANUV.js.map +1 -0
- package/dist/{chunk-OGJ7DFCL.js → chunk-DV4ALU5I.js} +6 -6
- package/dist/{chunk-NJ775OJ4.js → chunk-FHBICUXB.js} +7 -7
- package/dist/chunk-FHBICUXB.js.map +1 -0
- package/dist/{chunk-OKILA27U.js → chunk-GEDWVX6Y.js} +87 -100
- package/dist/chunk-GEDWVX6Y.js.map +1 -0
- package/dist/{chunk-DC5AK3LW.js → chunk-GG4BSB6S.js} +5 -11
- package/dist/chunk-GG4BSB6S.js.map +1 -0
- package/dist/{chunk-BPD4VUAU.js → chunk-H6H3COI5.js} +5 -5
- package/dist/{chunk-AQQVSNUX.js → chunk-K77I4XGL.js} +20 -6
- package/dist/chunk-K77I4XGL.js.map +1 -0
- package/dist/chunk-KC2SIUIA.js +46 -0
- package/dist/chunk-KC2SIUIA.js.map +1 -0
- package/dist/{chunk-HTTPKSL6.js → chunk-KXM7KOPE.js} +2 -2
- package/dist/{chunk-GGHH3KR2.js → chunk-LJRP4SWY.js} +6 -5
- package/dist/chunk-LJRP4SWY.js.map +1 -0
- package/dist/{chunk-PKUIO2Z7.js → chunk-MNPPGIZQ.js} +8 -8
- package/dist/chunk-MNPPGIZQ.js.map +1 -0
- package/dist/{chunk-IG7CUREJ.js → chunk-NYP5SB2V.js} +2 -2
- package/dist/{chunk-JXMRTHDT.js → chunk-NZYKDVRL.js} +2 -2
- package/dist/{chunk-XNQJBQ5X.js → chunk-PURJZ72D.js} +2 -2
- package/dist/{chunk-VEZ2GZEK.js → chunk-R52N7DBG.js} +2 -2
- package/dist/chunk-SILUTTV7.js +113 -0
- package/dist/chunk-SILUTTV7.js.map +1 -0
- package/dist/{chunk-YIKBNGE3.js → chunk-TJAZ7QCF.js} +7 -7
- package/dist/chunk-TJAZ7QCF.js.map +1 -0
- package/dist/{chunk-WMVGRAFB.js → chunk-TTXV55NQ.js} +235 -117
- package/dist/chunk-TTXV55NQ.js.map +1 -0
- package/dist/{chunk-ZE355C6C.js → chunk-UKTYDNWJ.js} +9 -4
- package/dist/chunk-UKTYDNWJ.js.map +1 -0
- package/dist/{chunk-YPJKOM42.js → chunk-WS6OQIEN.js} +2 -2
- package/dist/{chunk-OI4WBRC7.js → chunk-XJXJZ2MJ.js} +113 -150
- package/dist/chunk-XJXJZ2MJ.js.map +1 -0
- package/dist/chunk-YLJYAQSG.js +210 -0
- package/dist/chunk-YLJYAQSG.js.map +1 -0
- package/dist/{chunk-MZB3GGOH.js → chunk-YRVTXSXP.js} +1 -2
- package/dist/chunk-YRVTXSXP.js.map +1 -0
- package/dist/{chunk-XYCN2GCV.js → chunk-ZLHGJSRK.js} +3 -3
- package/dist/cli/defaults/agent-mappings.yaml +16 -72
- package/dist/commands/build/marketplace.js +3 -3
- package/dist/commands/build/plugins.js +5 -5
- package/dist/commands/build/stack.js +5 -5
- package/dist/commands/compile.js +14 -18
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/config/get.js +8 -8
- package/dist/commands/config/get.js.map +1 -1
- package/dist/commands/config/index.js +5 -5
- package/dist/commands/config/path.js +4 -4
- package/dist/commands/config/set-project.js +7 -7
- package/dist/commands/config/set-project.js.map +1 -1
- package/dist/commands/config/show.js +5 -5
- package/dist/commands/config/unset-project.js +5 -5
- package/dist/commands/config/unset-project.js.map +1 -1
- package/dist/commands/diff.js +12 -9
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/doctor.js +8 -7
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/edit.js +35 -29
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +6 -6
- package/dist/commands/eject.js.map +1 -1
- package/dist/commands/import/skill.js +16 -16
- package/dist/commands/import/skill.js.map +1 -1
- package/dist/commands/info.js +7 -6
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/init.js +42 -31
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.js +6 -5
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/new/agent.js +5 -5
- package/dist/commands/new/skill.js +12 -9
- package/dist/commands/new/skill.js.map +1 -1
- package/dist/commands/outdated.js +8 -5
- package/dist/commands/outdated.js.map +1 -1
- package/dist/commands/search.js +7 -7
- package/dist/commands/uninstall.js +122 -103
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +8 -7
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.js +5 -5
- package/dist/commands/version/bump.js +4 -4
- package/dist/commands/version/index.js +4 -4
- package/dist/commands/version/set.js +4 -4
- package/dist/commands/version/show.js +4 -4
- package/dist/components/skill-search/skill-search.js +3 -3
- package/dist/components/wizard/category-grid.js +3 -3
- package/dist/components/wizard/category-grid.test.js +79 -58
- package/dist/components/wizard/category-grid.test.js.map +1 -1
- package/dist/components/wizard/checkbox-grid.js +10 -0
- package/dist/components/wizard/checkbox-grid.test.js +270 -0
- package/dist/components/wizard/checkbox-grid.test.js.map +1 -0
- package/dist/components/wizard/domain-selection.js +7 -5
- package/dist/components/wizard/help-modal.js +2 -2
- package/dist/components/wizard/menu-item.js +2 -2
- package/dist/components/wizard/search-modal.js +2 -2
- package/dist/components/wizard/search-modal.test.js +2 -2
- package/dist/components/wizard/section-progress.js +2 -2
- package/dist/components/wizard/section-progress.test.js +2 -2
- package/dist/components/wizard/source-grid.js +4 -4
- package/dist/components/wizard/source-grid.test.js +4 -4
- package/dist/components/wizard/stack-selection.js +9 -8
- package/dist/components/wizard/step-agents.js +16 -0
- package/dist/components/wizard/step-agents.js.map +1 -0
- package/dist/components/wizard/step-agents.test.js +190 -0
- package/dist/components/wizard/step-agents.test.js.map +1 -0
- package/dist/components/wizard/step-build.js +10 -9
- package/dist/components/wizard/step-build.test.js +56 -53
- package/dist/components/wizard/step-build.test.js.map +1 -1
- package/dist/components/wizard/step-confirm.js +3 -3
- package/dist/components/wizard/step-confirm.test.js +19 -12
- package/dist/components/wizard/step-confirm.test.js.map +1 -1
- package/dist/components/wizard/step-refine.js +2 -2
- package/dist/components/wizard/step-refine.test.js +2 -2
- package/dist/components/wizard/step-settings.js +5 -5
- package/dist/components/wizard/step-settings.test.js +8 -8
- package/dist/components/wizard/step-sources.js +11 -10
- package/dist/components/wizard/step-sources.test.js +16 -15
- package/dist/components/wizard/step-sources.test.js.map +1 -1
- package/dist/components/wizard/step-stack.js +12 -10
- package/dist/components/wizard/step-stack.test.js +19 -19
- package/dist/components/wizard/step-stack.test.js.map +1 -1
- package/dist/components/wizard/view-title.js +2 -2
- package/dist/components/wizard/wizard-layout.js +8 -7
- package/dist/components/wizard/wizard-tabs.js +2 -2
- package/dist/components/wizard/wizard-tabs.test.js +6 -4
- package/dist/components/wizard/wizard-tabs.test.js.map +1 -1
- package/dist/components/wizard/wizard.js +27 -24
- package/dist/config/skills-matrix.yaml +124 -132
- package/dist/config/stacks.yaml +687 -687
- package/dist/hooks/init.js +3 -3
- package/dist/{source-manager-PTK4P6BF.js → source-manager-PPABS6BC.js} +4 -4
- package/dist/source-manager-PPABS6BC.js.map +1 -0
- package/dist/stores/wizard-store.js +5 -4
- package/dist/stores/wizard-store.test.js +336 -136
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/src/schemas/agent.schema.json +3 -3
- package/src/schemas/metadata.schema.json +55 -15
- package/src/schemas/project-config.schema.json +42 -2
- package/src/schemas/project-source-config.schema.json +5 -5
- package/src/schemas/skills-matrix.schema.json +103 -104
- package/src/schemas/stack.schema.json +1 -1
- package/src/schemas/stacks.schema.json +41 -1
- package/dist/chunk-AQQVSNUX.js.map +0 -1
- package/dist/chunk-CEWNZQMH.js.map +0 -1
- package/dist/chunk-DC5AK3LW.js.map +0 -1
- package/dist/chunk-GGHH3KR2.js.map +0 -1
- package/dist/chunk-KWF6D7ZP.js.map +0 -1
- package/dist/chunk-LFHZBF6N.js.map +0 -1
- package/dist/chunk-MZB3GGOH.js.map +0 -1
- package/dist/chunk-NJ775OJ4.js.map +0 -1
- package/dist/chunk-NVQEHRJY.js +0 -120
- package/dist/chunk-NVQEHRJY.js.map +0 -1
- package/dist/chunk-OGXSTJP2.js.map +0 -1
- package/dist/chunk-OI4WBRC7.js.map +0 -1
- package/dist/chunk-OKILA27U.js.map +0 -1
- package/dist/chunk-PKUIO2Z7.js.map +0 -1
- package/dist/chunk-U36YCEBK.js.map +0 -1
- package/dist/chunk-UFUQUFV6.js +0 -256
- package/dist/chunk-UFUQUFV6.js.map +0 -1
- package/dist/chunk-WMVGRAFB.js.map +0 -1
- package/dist/chunk-YCS7GF6Y.js.map +0 -1
- package/dist/chunk-YIKBNGE3.js.map +0 -1
- package/dist/chunk-YN35L5NE.js.map +0 -1
- package/dist/chunk-ZE355C6C.js.map +0 -1
- /package/dist/{chunk-BLLXNFWP.js.map → chunk-2D6LKRHW.js.map} +0 -0
- /package/dist/{chunk-5LPPIT6H.js.map → chunk-4LT6RXMY.js.map} +0 -0
- /package/dist/{chunk-CXWPUVA7.js.map → chunk-4UTPJXUX.js.map} +0 -0
- /package/dist/{chunk-5YNZJ5TP.js.map → chunk-AVVYFEMF.js.map} +0 -0
- /package/dist/{chunk-OGJ7DFCL.js.map → chunk-DV4ALU5I.js.map} +0 -0
- /package/dist/{chunk-BPD4VUAU.js.map → chunk-H6H3COI5.js.map} +0 -0
- /package/dist/{chunk-HTTPKSL6.js.map → chunk-KXM7KOPE.js.map} +0 -0
- /package/dist/{chunk-IG7CUREJ.js.map → chunk-NYP5SB2V.js.map} +0 -0
- /package/dist/{chunk-JXMRTHDT.js.map → chunk-NZYKDVRL.js.map} +0 -0
- /package/dist/{chunk-XNQJBQ5X.js.map → chunk-PURJZ72D.js.map} +0 -0
- /package/dist/{chunk-VEZ2GZEK.js.map → chunk-R52N7DBG.js.map} +0 -0
- /package/dist/{chunk-YPJKOM42.js.map → chunk-WS6OQIEN.js.map} +0 -0
- /package/dist/{chunk-XYCN2GCV.js.map → chunk-ZLHGJSRK.js.map} +0 -0
- /package/dist/{source-manager-PTK4P6BF.js.map → components/wizard/checkbox-grid.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
CLI_COLORS
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BK7TANUV.js";
|
|
5
5
|
import {
|
|
6
6
|
init_esm_shims
|
|
7
7
|
} from "./chunk-DHET7RCE.js";
|
|
@@ -31,7 +31,7 @@ var GLOBAL_TOGGLES = {
|
|
|
31
31
|
var BUILD_KEYS = {
|
|
32
32
|
title: "Build Step",
|
|
33
33
|
keys: [
|
|
34
|
-
{ key: "D", description: "Toggle
|
|
34
|
+
{ key: "D", description: "Toggle compatibility labels" },
|
|
35
35
|
{ key: "A", description: "Accept stack defaults (stack path only)" },
|
|
36
36
|
{ key: "h/j/k/l", description: "Vim-style navigation" }
|
|
37
37
|
]
|
|
@@ -40,9 +40,14 @@ var SOURCES_KEYS = {
|
|
|
40
40
|
title: "Sources Step",
|
|
41
41
|
keys: [{ key: "G", description: "Toggle source settings" }]
|
|
42
42
|
};
|
|
43
|
+
var AGENTS_KEYS = {
|
|
44
|
+
title: "Agents Step",
|
|
45
|
+
keys: []
|
|
46
|
+
};
|
|
43
47
|
var STEP_SECTIONS = {
|
|
44
48
|
build: BUILD_KEYS,
|
|
45
|
-
sources: SOURCES_KEYS
|
|
49
|
+
sources: SOURCES_KEYS,
|
|
50
|
+
agents: AGENTS_KEYS
|
|
46
51
|
};
|
|
47
52
|
var KEY_COLUMN_WIDTH = 14;
|
|
48
53
|
var HelpSectionView = ({ section }) => /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [
|
|
@@ -82,4 +87,4 @@ var HelpModal = ({ currentStep }) => {
|
|
|
82
87
|
export {
|
|
83
88
|
HelpModal
|
|
84
89
|
};
|
|
85
|
-
//# sourceMappingURL=chunk-
|
|
90
|
+
//# sourceMappingURL=chunk-UKTYDNWJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/components/wizard/help-modal.tsx"],"sourcesContent":["import React from \"react\";\nimport { Box, Text } from \"ink\";\nimport { CLI_COLORS } from \"../../consts.js\";\nimport type { WizardStep } from \"../../stores/wizard-store.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: \"SPACE\", description: \"Toggle selection\" },\n { key: \"ENTER\", description: \"Confirm / continue\" },\n { key: \"ESC\", description: \"Go back\" },\n { key: \"TAB\", description: \"Jump to next section\" },\n ],\n};\n\nconst GLOBAL_TOGGLES: HelpSection = {\n title: \"Global Toggles\",\n keys: [\n { key: \"E\", description: \"Toggle expert mode\" },\n { key: \"P\", description: \"Toggle plugin/local install mode\" },\n { key: \"?\", description: \"Toggle this help\" },\n ],\n};\n\nconst BUILD_KEYS: HelpSection = {\n title: \"Build Step\",\n keys: [\n { key: \"D\", description: \"Toggle compatibility labels\" },\n { key: \"A\", description: \"Accept stack defaults (stack path only)\" },\n { key: \"h/j/k/l\", description: \"Vim-style navigation\" },\n ],\n};\n\nconst SOURCES_KEYS: HelpSection = {\n title: \"Sources Step\",\n keys: [{ key: \"G\", description: \"Toggle source settings\" }],\n};\n\nconst AGENTS_KEYS: HelpSection = {\n title: \"Agents Step\",\n keys: [],\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\" marginBottom={1}>\n <Text bold underline>\n {section.title}\n </Text>\n {section.keys.map(({ key, description }) => (\n <Box key={key}>\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 stepSection = STEP_SECTIONS[currentStep];\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>Press ESC or ? to close</Text>\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;AACA,SAAS,KAAK,YAAY;AA8DtB,cAMM,YANN;AArDJ,IAAM,cAA2B;AAAA,EAC/B,OAAO;AAAA,EACP,MAAM;AAAA,IACJ,EAAE,KAAK,cAAc,aAAa,aAAa;AAAA,IAC/C,EAAE,KAAK,SAAS,aAAa,mBAAmB;AAAA,IAChD,EAAE,KAAK,SAAS,aAAa,qBAAqB;AAAA,IAClD,EAAE,KAAK,OAAO,aAAa,UAAU;AAAA,IACrC,EAAE,KAAK,OAAO,aAAa,uBAAuB;AAAA,EACpD;AACF;AAEA,IAAM,iBAA8B;AAAA,EAClC,OAAO;AAAA,EACP,MAAM;AAAA,IACJ,EAAE,KAAK,KAAK,aAAa,qBAAqB;AAAA,IAC9C,EAAE,KAAK,KAAK,aAAa,mCAAmC;AAAA,IAC5D,EAAE,KAAK,KAAK,aAAa,mBAAmB;AAAA,EAC9C;AACF;AAEA,IAAM,aAA0B;AAAA,EAC9B,OAAO;AAAA,EACP,MAAM;AAAA,IACJ,EAAE,KAAK,KAAK,aAAa,8BAA8B;AAAA,IACvD,EAAE,KAAK,KAAK,aAAa,0CAA0C;AAAA,IACnE,EAAE,KAAK,WAAW,aAAa,uBAAuB;AAAA,EACxD;AACF;AAEA,IAAM,eAA4B;AAAA,EAChC,OAAO;AAAA,EACP,MAAM,CAAC,EAAE,KAAK,KAAK,aAAa,yBAAyB,CAAC;AAC5D;AAEA,IAAM,cAA2B;AAAA,EAC/B,OAAO;AAAA,EACP,MAAM,CAAC;AACT;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,cAAc,GACxC;AAAA,sBAAC,QAAK,MAAI,MAAC,WAAS,MACjB,kBAAQ,OACX;AAAA,EACC,QAAQ,KAAK,IAAI,CAAC,EAAE,KAAK,YAAY,MACpC,qBAAC,OACC;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,cAAc,cAAc,WAAW;AAE7C,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,oBAAC,QAAK,UAAQ,MAAC,qCAAuB;AAAA;AAAA;AAAA,EACxC;AAEJ;","names":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
CLI_COLORS,
|
|
4
4
|
UI_SYMBOLS
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-BK7TANUV.js";
|
|
6
6
|
import {
|
|
7
7
|
init_esm_shims
|
|
8
8
|
} from "./chunk-DHET7RCE.js";
|
|
@@ -29,4 +29,4 @@ var MenuItem = ({
|
|
|
29
29
|
export {
|
|
30
30
|
MenuItem
|
|
31
31
|
};
|
|
32
|
-
//# sourceMappingURL=chunk-
|
|
32
|
+
//# sourceMappingURL=chunk-WS6OQIEN.js.map
|
|
@@ -90,14 +90,7 @@ async function copy(src, dest) {
|
|
|
90
90
|
// src/cli/lib/schemas.ts
|
|
91
91
|
init_esm_shims();
|
|
92
92
|
import { z } from "zod";
|
|
93
|
-
var domainSchema = z.enum([
|
|
94
|
-
"web",
|
|
95
|
-
"web-extras",
|
|
96
|
-
"api",
|
|
97
|
-
"cli",
|
|
98
|
-
"mobile",
|
|
99
|
-
"shared"
|
|
100
|
-
]);
|
|
93
|
+
var domainSchema = z.enum(["web", "api", "cli", "mobile", "shared"]);
|
|
101
94
|
var skillSourceTypeSchema = z.enum([
|
|
102
95
|
"public",
|
|
103
96
|
"private",
|
|
@@ -110,75 +103,65 @@ var boundSkillSchema = z.object({
|
|
|
110
103
|
boundTo: z.string(),
|
|
111
104
|
description: z.string().optional()
|
|
112
105
|
});
|
|
113
|
-
var
|
|
114
|
-
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
"
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
"
|
|
131
|
-
"pwa",
|
|
132
|
-
"accessibility",
|
|
106
|
+
var SUBCATEGORY_VALUES = [
|
|
107
|
+
"web-framework",
|
|
108
|
+
"web-styling",
|
|
109
|
+
"web-client-state",
|
|
110
|
+
"web-server-state",
|
|
111
|
+
"web-forms",
|
|
112
|
+
"web-testing",
|
|
113
|
+
"web-ui-components",
|
|
114
|
+
"web-mocking",
|
|
115
|
+
"web-error-handling",
|
|
116
|
+
"web-i18n",
|
|
117
|
+
"web-file-upload",
|
|
118
|
+
"web-files",
|
|
119
|
+
"web-utilities",
|
|
120
|
+
"web-realtime",
|
|
121
|
+
"web-animation",
|
|
122
|
+
"web-pwa",
|
|
123
|
+
"web-accessibility",
|
|
133
124
|
"web-performance",
|
|
134
|
-
|
|
135
|
-
"api",
|
|
136
|
-
"database",
|
|
137
|
-
"auth",
|
|
138
|
-
"observability",
|
|
139
|
-
"analytics",
|
|
140
|
-
"email",
|
|
141
|
-
"performance",
|
|
142
|
-
// Mobile
|
|
125
|
+
"web-base-framework",
|
|
126
|
+
"api-api",
|
|
127
|
+
"api-database",
|
|
128
|
+
"api-auth",
|
|
129
|
+
"api-observability",
|
|
130
|
+
"api-analytics",
|
|
131
|
+
"api-email",
|
|
132
|
+
"api-performance",
|
|
143
133
|
"mobile-framework",
|
|
144
|
-
|
|
145
|
-
"monorepo",
|
|
146
|
-
"tooling",
|
|
147
|
-
"security",
|
|
148
|
-
"methodology",
|
|
149
|
-
"research",
|
|
150
|
-
"reviewing",
|
|
151
|
-
"ci-cd",
|
|
152
|
-
// CLI
|
|
134
|
+
"mobile-platform",
|
|
135
|
+
"shared-monorepo",
|
|
136
|
+
"shared-tooling",
|
|
137
|
+
"shared-security",
|
|
138
|
+
"shared-methodology",
|
|
139
|
+
"shared-research",
|
|
140
|
+
"shared-reviewing",
|
|
141
|
+
"shared-ci-cd",
|
|
153
142
|
"cli-framework",
|
|
154
143
|
"cli-prompts",
|
|
155
144
|
"cli-testing"
|
|
156
|
-
]
|
|
145
|
+
];
|
|
146
|
+
var subcategorySchema = z.enum(SUBCATEGORY_VALUES);
|
|
147
|
+
var stackSubcategorySchema = z.enum(SUBCATEGORY_VALUES);
|
|
157
148
|
var agentNameSchema = z.enum([
|
|
158
|
-
// Developers
|
|
159
149
|
"web-developer",
|
|
160
150
|
"api-developer",
|
|
161
151
|
"cli-developer",
|
|
162
152
|
"web-architecture",
|
|
163
|
-
// Meta
|
|
164
153
|
"agent-summoner",
|
|
165
154
|
"documentor",
|
|
166
155
|
"skill-summoner",
|
|
167
|
-
// Migration
|
|
168
156
|
"cli-migrator",
|
|
169
|
-
// Pattern
|
|
170
157
|
"pattern-scout",
|
|
171
158
|
"web-pattern-critique",
|
|
172
|
-
// Planning
|
|
173
159
|
"web-pm",
|
|
174
|
-
// Researchers
|
|
175
160
|
"api-researcher",
|
|
176
161
|
"web-researcher",
|
|
177
|
-
// Reviewers
|
|
178
162
|
"api-reviewer",
|
|
179
163
|
"cli-reviewer",
|
|
180
164
|
"web-reviewer",
|
|
181
|
-
// Testers
|
|
182
165
|
"cli-tester",
|
|
183
166
|
"web-tester"
|
|
184
167
|
]);
|
|
@@ -197,77 +180,59 @@ var permissionModeSchema = z.enum([
|
|
|
197
180
|
"delegate"
|
|
198
181
|
]);
|
|
199
182
|
var skillDisplayNameSchema = z.enum([
|
|
200
|
-
// Frameworks
|
|
201
183
|
"react",
|
|
202
184
|
"vue",
|
|
203
185
|
"angular",
|
|
204
186
|
"solidjs",
|
|
205
|
-
// Meta-frameworks
|
|
206
187
|
"nextjs-app-router",
|
|
207
188
|
"nextjs-server-actions",
|
|
208
189
|
"remix",
|
|
209
190
|
"nuxt",
|
|
210
|
-
// Styling
|
|
211
191
|
"scss-modules",
|
|
212
192
|
"cva",
|
|
213
193
|
"tailwind",
|
|
214
|
-
// Client State
|
|
215
194
|
"zustand",
|
|
216
195
|
"redux-toolkit",
|
|
217
196
|
"pinia",
|
|
218
197
|
"ngrx-signalstore",
|
|
219
198
|
"jotai",
|
|
220
199
|
"mobx",
|
|
221
|
-
// Server State / Data Fetching
|
|
222
200
|
"react-query",
|
|
223
201
|
"swr",
|
|
224
202
|
"graphql-apollo",
|
|
225
203
|
"graphql-urql",
|
|
226
204
|
"trpc",
|
|
227
|
-
// Forms & Validation
|
|
228
205
|
"react-hook-form",
|
|
229
206
|
"vee-validate",
|
|
230
207
|
"zod-validation",
|
|
231
|
-
// Testing
|
|
232
208
|
"vitest",
|
|
233
209
|
"playwright-e2e",
|
|
234
210
|
"cypress-e2e",
|
|
235
211
|
"react-testing-library",
|
|
236
212
|
"vue-test-utils",
|
|
237
213
|
"msw",
|
|
238
|
-
// UI Components
|
|
239
214
|
"shadcn-ui",
|
|
240
215
|
"tanstack-table",
|
|
241
216
|
"radix-ui",
|
|
242
|
-
// Backend - API Framework
|
|
243
217
|
"hono",
|
|
244
218
|
"express",
|
|
245
219
|
"fastify",
|
|
246
|
-
// Backend - Database
|
|
247
220
|
"drizzle",
|
|
248
221
|
"prisma",
|
|
249
|
-
// Backend - Auth
|
|
250
222
|
"better-auth",
|
|
251
|
-
// Backend - Observability
|
|
252
223
|
"axiom-pino-sentry",
|
|
253
|
-
// Backend - Analytics
|
|
254
224
|
"posthog",
|
|
255
225
|
"posthog-flags",
|
|
256
|
-
// Backend - Email
|
|
257
226
|
"resend",
|
|
258
|
-
// Backend - CI/CD
|
|
259
227
|
"github-actions",
|
|
260
|
-
// Mobile
|
|
261
228
|
"react-native",
|
|
262
229
|
"expo",
|
|
263
|
-
// Setup / Infrastructure
|
|
264
230
|
"turborepo",
|
|
265
231
|
"tooling",
|
|
266
232
|
"posthog-setup",
|
|
267
233
|
"env",
|
|
268
234
|
"observability-setup",
|
|
269
235
|
"email-setup",
|
|
270
|
-
// Animation / PWA / Realtime / etc.
|
|
271
236
|
"framer-motion",
|
|
272
237
|
"css-animations",
|
|
273
238
|
"view-transitions",
|
|
@@ -281,21 +246,16 @@ var skillDisplayNameSchema = z.enum([
|
|
|
281
246
|
"file-upload",
|
|
282
247
|
"image-handling",
|
|
283
248
|
"date-fns",
|
|
284
|
-
// Backend-specific category skills
|
|
285
249
|
"api-testing",
|
|
286
250
|
"api-performance",
|
|
287
251
|
"web-performance",
|
|
288
|
-
// Security
|
|
289
252
|
"security",
|
|
290
|
-
// CLI
|
|
291
253
|
"commander",
|
|
292
254
|
"cli-commander",
|
|
293
255
|
"oclif",
|
|
294
|
-
// Reviewing / Meta
|
|
295
256
|
"reviewing",
|
|
296
257
|
"cli-reviewing",
|
|
297
258
|
"research-methodology",
|
|
298
|
-
// Methodology
|
|
299
259
|
"investigation-requirements",
|
|
300
260
|
"anti-over-engineering",
|
|
301
261
|
"success-criteria",
|
|
@@ -311,12 +271,11 @@ var skillIdSchema = z.string().regex(
|
|
|
311
271
|
var categoryPathSchema = z.string().refine(
|
|
312
272
|
(val) => {
|
|
313
273
|
if (val === "local") return true;
|
|
314
|
-
if (/^(web|api|cli|mobile|infra|meta|security)
|
|
315
|
-
if (/^(web|api|cli|mobile|infra|meta|security)-.+$/.test(val)) return true;
|
|
274
|
+
if (/^(web|api|cli|mobile|infra|meta|security|shared)-.+$/.test(val)) return true;
|
|
316
275
|
return subcategorySchema.safeParse(val).success;
|
|
317
276
|
},
|
|
318
277
|
{
|
|
319
|
-
message: "Must be a valid category path (e.g., 'web
|
|
278
|
+
message: "Must be a valid category path (e.g., 'web-framework', 'shared-testing', or 'local')"
|
|
320
279
|
}
|
|
321
280
|
);
|
|
322
281
|
var agentHookActionSchema = z.object({
|
|
@@ -351,13 +310,13 @@ var skillFrontmatterLoaderSchema = z.object({
|
|
|
351
310
|
});
|
|
352
311
|
var skillMetadataLoaderSchema = z.object({
|
|
353
312
|
category: categoryPathSchema.optional(),
|
|
354
|
-
|
|
313
|
+
categoryExclusive: z.boolean().optional(),
|
|
355
314
|
author: z.string().optional(),
|
|
356
315
|
version: z.union([z.string(), z.number()]).transform(String).optional(),
|
|
357
316
|
tags: z.array(z.string()).optional(),
|
|
358
317
|
requires: z.array(skillIdSchema).optional(),
|
|
359
|
-
|
|
360
|
-
|
|
318
|
+
compatibleWith: z.array(skillIdSchema).optional(),
|
|
319
|
+
conflictsWith: z.array(skillIdSchema).optional()
|
|
361
320
|
}).passthrough();
|
|
362
321
|
var pluginAuthorSchema = z.object({
|
|
363
322
|
name: z.string().min(1),
|
|
@@ -391,16 +350,27 @@ var agentYamlConfigSchema = z.object({
|
|
|
391
350
|
description: z.string(),
|
|
392
351
|
model: modelNameSchema.optional(),
|
|
393
352
|
tools: z.array(z.string()),
|
|
394
|
-
|
|
395
|
-
|
|
353
|
+
disallowedTools: z.array(z.string()).optional(),
|
|
354
|
+
permissionMode: permissionModeSchema.optional(),
|
|
396
355
|
hooks: hooksRecordSchema.optional(),
|
|
397
|
-
|
|
356
|
+
outputFormat: z.string().optional()
|
|
398
357
|
});
|
|
399
358
|
var skillAssignmentElementSchema = z.union([skillIdSchema, skillAssignmentSchema]);
|
|
359
|
+
var stackSubcategoryValues = new Set(stackSubcategorySchema.options);
|
|
400
360
|
var stackAgentConfigSchema = z.record(
|
|
401
361
|
z.string(),
|
|
402
362
|
z.union([skillAssignmentElementSchema, z.array(skillAssignmentElementSchema)])
|
|
403
|
-
)
|
|
363
|
+
).superRefine((val, ctx) => {
|
|
364
|
+
for (const key of Object.keys(val)) {
|
|
365
|
+
if (!stackSubcategoryValues.has(key)) {
|
|
366
|
+
ctx.addIssue({
|
|
367
|
+
code: "custom",
|
|
368
|
+
path: [key],
|
|
369
|
+
message: `Invalid subcategory '${key}'. Must be one of: ${[...stackSubcategoryValues].join(", ")}`
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
});
|
|
404
374
|
var projectConfigLoaderSchema = z.object({
|
|
405
375
|
version: z.literal("1").optional(),
|
|
406
376
|
/** Project/plugin name in kebab-case */
|
|
@@ -423,7 +393,7 @@ var projectConfigLoaderSchema = z.object({
|
|
|
423
393
|
/** Marketplace identifier for plugin installation */
|
|
424
394
|
marketplace: z.string().optional(),
|
|
425
395
|
/** Separate source for agents when different from skills source */
|
|
426
|
-
|
|
396
|
+
agentsSource: z.string().optional()
|
|
427
397
|
}).passthrough();
|
|
428
398
|
var projectConfigValidationSchema = z.object({
|
|
429
399
|
version: z.literal("1").optional(),
|
|
@@ -447,14 +417,13 @@ var projectConfigValidationSchema = z.object({
|
|
|
447
417
|
/** Marketplace identifier for plugin installation */
|
|
448
418
|
marketplace: z.string().optional(),
|
|
449
419
|
/** Separate source for agents when different from skills source */
|
|
450
|
-
|
|
420
|
+
agentsSource: z.string().optional()
|
|
451
421
|
});
|
|
452
422
|
var categoryDefinitionSchema = z.object({
|
|
453
423
|
id: subcategorySchema,
|
|
454
424
|
displayName: z.string(),
|
|
455
425
|
description: z.string(),
|
|
456
426
|
domain: domainSchema.optional(),
|
|
457
|
-
parent_domain: domainSchema.optional(),
|
|
458
427
|
exclusive: z.boolean(),
|
|
459
428
|
required: z.boolean(),
|
|
460
429
|
order: z.number(),
|
|
@@ -477,7 +446,7 @@ var recommendRuleSchema = z.object({
|
|
|
477
446
|
var requireRuleSchema = z.object({
|
|
478
447
|
skill: skillRefInYaml,
|
|
479
448
|
needs: z.array(skillRefInYaml).min(1),
|
|
480
|
-
|
|
449
|
+
needsAny: z.boolean().optional(),
|
|
481
450
|
reason: z.string()
|
|
482
451
|
});
|
|
483
452
|
var alternativeGroupSchema = z.object({
|
|
@@ -495,44 +464,42 @@ var skillsMatrixConfigSchema = z.object({
|
|
|
495
464
|
version: z.string(),
|
|
496
465
|
categories: z.record(subcategorySchema, categoryDefinitionSchema),
|
|
497
466
|
relationships: relationshipDefinitionsSchema,
|
|
498
|
-
|
|
467
|
+
skillAliases: z.record(skillDisplayNameSchema, skillIdSchema)
|
|
499
468
|
});
|
|
500
469
|
var localRawMetadataSchema = z.object({
|
|
501
470
|
/** Short name shown in the wizard grid (e.g., "my-custom-react") */
|
|
502
|
-
|
|
471
|
+
cliName: z.string().optional(),
|
|
503
472
|
/** One-line description for the wizard */
|
|
504
|
-
|
|
473
|
+
cliDescription: z.string().optional(),
|
|
505
474
|
/** Subcategory to place this skill in (e.g., "web-framework") */
|
|
506
475
|
category: categoryPathSchema.optional(),
|
|
507
476
|
/** If true, only one skill from this category can be selected */
|
|
508
|
-
|
|
477
|
+
categoryExclusive: z.boolean().optional(),
|
|
509
478
|
/** When an AI agent should invoke this skill */
|
|
510
|
-
|
|
479
|
+
usageGuidance: z.string().optional(),
|
|
511
480
|
tags: z.array(z.string()).optional(),
|
|
512
481
|
/** Framework skills this is compatible with (for Build step filtering) */
|
|
513
|
-
|
|
482
|
+
compatibleWith: z.array(skillIdSchema).optional(),
|
|
514
483
|
/** Skills that cannot coexist with this one */
|
|
515
|
-
|
|
484
|
+
conflictsWith: z.array(skillIdSchema).optional(),
|
|
516
485
|
/** Skills that must be selected before this one */
|
|
517
486
|
requires: z.array(skillIdSchema).optional(),
|
|
518
487
|
/** Setup skills that must be installed first (e.g., env setup) */
|
|
519
|
-
|
|
488
|
+
requiresSetup: z.array(skillIdSchema).optional(),
|
|
520
489
|
/** Usage skills this setup skill configures (inverse relationship) */
|
|
521
|
-
|
|
522
|
-
/** If true, this skill was installed by the Agents Inc. CLI (safe to remove on uninstall) */
|
|
523
|
-
generatedByAgentsInc: z.boolean().optional()
|
|
490
|
+
providesSetupFor: z.array(skillIdSchema).optional()
|
|
524
491
|
}).passthrough();
|
|
525
492
|
var localSkillMetadataSchema = z.object({
|
|
526
|
-
|
|
493
|
+
forkedFrom: z.object({
|
|
527
494
|
/** Original skill ID before forking (e.g., "web-framework-react") */
|
|
528
|
-
|
|
495
|
+
skillId: skillIdSchema,
|
|
529
496
|
/** SHA hash of the original content at fork time (for diff detection) */
|
|
530
|
-
|
|
497
|
+
contentHash: z.string(),
|
|
531
498
|
/** ISO date when the fork was created */
|
|
532
|
-
date: z.string()
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
499
|
+
date: z.string(),
|
|
500
|
+
/** Source URL the skill was installed from (e.g., "github:agents-inc/skills") */
|
|
501
|
+
source: z.string().optional()
|
|
502
|
+
}).optional()
|
|
536
503
|
}).passthrough();
|
|
537
504
|
var stackSchema = z.object({
|
|
538
505
|
id: z.string().min(1),
|
|
@@ -584,19 +551,15 @@ var versionedMetadataSchema = z.object({
|
|
|
584
551
|
/** Content version integer (incremented on each publish) */
|
|
585
552
|
version: z.number(),
|
|
586
553
|
/** Short SHA hash of skill content for change detection */
|
|
587
|
-
|
|
554
|
+
contentHash: z.string().optional(),
|
|
588
555
|
/** ISO date of last update */
|
|
589
556
|
updated: z.string().optional()
|
|
590
557
|
}).passthrough();
|
|
591
558
|
var defaultMappingsSchema = z.object({
|
|
592
|
-
/** Maps skill
|
|
593
|
-
|
|
594
|
-
/** Maps agent IDs to skill IDs that should be preloaded (embedded) instead of dynamic */
|
|
595
|
-
preloaded_skills: z.record(z.string(), z.array(z.string())),
|
|
559
|
+
/** Maps skill path patterns to the agent IDs that should receive them */
|
|
560
|
+
skillToAgents: z.record(z.string(), z.array(z.string())),
|
|
596
561
|
/** Maps agent IDs to skill ID prefixes they should receive by default */
|
|
597
|
-
|
|
598
|
-
/** Maps subcategory names to their short aliases (e.g., "framework" -> "react") */
|
|
599
|
-
subcategory_aliases: z.record(z.string(), z.string())
|
|
562
|
+
agentSkillPrefixes: z.record(z.string(), z.array(z.string())).optional()
|
|
600
563
|
});
|
|
601
564
|
var permissionConfigSchema = z.object({
|
|
602
565
|
/** Tool names or patterns to explicitly allow */
|
|
@@ -608,13 +571,13 @@ var settingsFileSchema = z.object({
|
|
|
608
571
|
permissions: permissionConfigSchema.optional()
|
|
609
572
|
}).passthrough();
|
|
610
573
|
var importedSkillMetadataSchema = z.object({
|
|
611
|
-
|
|
574
|
+
forkedFrom: z.object({
|
|
612
575
|
/** Source URL or identifier where the skill was imported from */
|
|
613
576
|
source: z.string(),
|
|
614
577
|
/** Original skill name in the source */
|
|
615
|
-
|
|
578
|
+
skillName: z.string(),
|
|
616
579
|
/** SHA hash of the original content at import time */
|
|
617
|
-
|
|
580
|
+
contentHash: z.string(),
|
|
618
581
|
/** ISO date when the import was performed */
|
|
619
582
|
date: z.string()
|
|
620
583
|
}).optional()
|
|
@@ -633,7 +596,7 @@ var projectSourceConfigSchema = z.object({
|
|
|
633
596
|
/** Marketplace identifier for plugin installation */
|
|
634
597
|
marketplace: z.string().optional(),
|
|
635
598
|
/** Separate source for agent definitions (when different from skills) */
|
|
636
|
-
|
|
599
|
+
agentsSource: z.string().optional(),
|
|
637
600
|
/** Additional skill sources (private marketplaces, custom repos) */
|
|
638
601
|
sources: z.array(
|
|
639
602
|
z.object({
|
|
@@ -651,19 +614,19 @@ var projectSourceConfigSchema = z.object({
|
|
|
651
614
|
/** Branding overrides for white-labeling the CLI */
|
|
652
615
|
branding: brandingConfigSchema.optional(),
|
|
653
616
|
/** Custom skills directory override (default: "src/skills") */
|
|
654
|
-
|
|
617
|
+
skillsDir: z.string().optional(),
|
|
655
618
|
/** Custom agents directory override (default: "src/agents") */
|
|
656
|
-
|
|
619
|
+
agentsDir: z.string().optional(),
|
|
657
620
|
/** Custom stacks file path override (default: "config/stacks.yaml") */
|
|
658
|
-
|
|
621
|
+
stacksFile: z.string().optional(),
|
|
659
622
|
/** Custom matrix file path override (default: "config/skills-matrix.yaml") */
|
|
660
|
-
|
|
623
|
+
matrixFile: z.string().optional()
|
|
661
624
|
}).passthrough();
|
|
662
625
|
var projectSourceConfigValidationSchema = z.object({
|
|
663
626
|
source: z.string().optional(),
|
|
664
627
|
author: z.string().optional(),
|
|
665
628
|
marketplace: z.string().optional(),
|
|
666
|
-
|
|
629
|
+
agentsSource: z.string().optional(),
|
|
667
630
|
sources: z.array(
|
|
668
631
|
z.object({
|
|
669
632
|
name: z.string(),
|
|
@@ -674,10 +637,10 @@ var projectSourceConfigValidationSchema = z.object({
|
|
|
674
637
|
).optional(),
|
|
675
638
|
boundSkills: z.array(boundSkillSchema).optional(),
|
|
676
639
|
branding: brandingConfigSchema.optional(),
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
640
|
+
skillsDir: z.string().optional(),
|
|
641
|
+
agentsDir: z.string().optional(),
|
|
642
|
+
stacksFile: z.string().optional(),
|
|
643
|
+
matrixFile: z.string().optional()
|
|
681
644
|
});
|
|
682
645
|
var KEBAB_CASE_PATTERN = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;
|
|
683
646
|
var agentYamlGenerationSchema = z.object({
|
|
@@ -687,10 +650,10 @@ var agentYamlGenerationSchema = z.object({
|
|
|
687
650
|
description: z.string().min(1),
|
|
688
651
|
model: modelNameSchema.optional(),
|
|
689
652
|
tools: z.array(z.string()).min(1),
|
|
690
|
-
|
|
691
|
-
|
|
653
|
+
disallowedTools: z.array(z.string()).optional(),
|
|
654
|
+
permissionMode: permissionModeSchema.optional(),
|
|
692
655
|
hooks: strictHooksRecordSchema.optional(),
|
|
693
|
-
|
|
656
|
+
outputFormat: z.string().optional()
|
|
694
657
|
}).strict();
|
|
695
658
|
var agentFrontmatterValidationSchema = z.object({
|
|
696
659
|
/** Agent name in kebab-case (becomes the Task tool identifier) */
|
|
@@ -724,38 +687,38 @@ var skillFrontmatterValidationSchema = z.object({
|
|
|
724
687
|
"argument-hint": z.string().optional()
|
|
725
688
|
}).strict();
|
|
726
689
|
var metadataValidationSchema = z.object({
|
|
727
|
-
/**
|
|
728
|
-
category:
|
|
729
|
-
|
|
690
|
+
/** Domain-prefixed subcategory (e.g., "web-framework") */
|
|
691
|
+
category: subcategorySchema,
|
|
692
|
+
categoryExclusive: z.boolean().optional(),
|
|
730
693
|
/** Author handle — must start with @ (e.g., "@vince") */
|
|
731
694
|
author: z.string().regex(/^@[a-z][a-z0-9-]*$/),
|
|
732
695
|
/** Content version integer, incremented on each publish */
|
|
733
696
|
version: z.number().int().min(1).optional(),
|
|
734
697
|
/** Short display name for the wizard grid (max 30 chars) */
|
|
735
|
-
|
|
698
|
+
cliName: z.string().min(1).max(30),
|
|
736
699
|
/** One-line description for the wizard (max 60 chars) */
|
|
737
|
-
|
|
700
|
+
cliDescription: z.string().min(1).max(60),
|
|
738
701
|
/** When an AI agent should invoke this skill (min 10 chars to ensure usefulness) */
|
|
739
|
-
|
|
702
|
+
usageGuidance: z.string().min(10),
|
|
740
703
|
requires: z.array(z.string().min(1)).optional(),
|
|
741
|
-
|
|
742
|
-
|
|
704
|
+
compatibleWith: z.array(z.string().min(1)).optional(),
|
|
705
|
+
conflictsWith: z.array(z.string().min(1)).optional(),
|
|
743
706
|
/** Searchable tags — kebab-case only */
|
|
744
707
|
tags: z.array(z.string().regex(/^[a-z][a-z0-9-]*$/)).optional(),
|
|
745
|
-
|
|
746
|
-
|
|
708
|
+
requiresSetup: z.array(z.string().min(1)).optional(),
|
|
709
|
+
providesSetupFor: z.array(z.string().min(1)).optional(),
|
|
747
710
|
/** 7-char hex SHA of skill content (for change detection) */
|
|
748
|
-
|
|
711
|
+
contentHash: z.string().regex(/^[a-f0-9]{7}$/).optional(),
|
|
749
712
|
/** ISO date of last update */
|
|
750
713
|
updated: z.string().optional(),
|
|
751
714
|
/** Provenance tracking when skill was forked from another */
|
|
752
|
-
|
|
715
|
+
forkedFrom: z.object({
|
|
753
716
|
/** Original skill ID */
|
|
754
|
-
|
|
717
|
+
skillId: z.string(),
|
|
755
718
|
/** Version of the original at fork time */
|
|
756
719
|
version: z.number().int().min(1).optional(),
|
|
757
720
|
/** Content hash of the original at fork time */
|
|
758
|
-
|
|
721
|
+
contentHash: z.string(),
|
|
759
722
|
/** Source URL or identifier */
|
|
760
723
|
source: z.string().optional(),
|
|
761
724
|
/** ISO date of the fork */
|
|
@@ -785,7 +748,7 @@ var stackConfigValidationSchema = z.object({
|
|
|
785
748
|
/** Agent IDs this stack compiles (at least one required) */
|
|
786
749
|
agents: z.array(z.string().regex(KEBAB_CASE_PATTERN)).min(1),
|
|
787
750
|
/** Per-agent skill assignments: { agentId: { subcategory: [skillAssignment] } } */
|
|
788
|
-
|
|
751
|
+
agentSkills: z.record(z.string(), z.record(z.string(), z.array(stackSkillAssignmentSchema))).optional(),
|
|
789
752
|
/** High-level philosophy guiding technology choices */
|
|
790
753
|
philosophy: z.string().optional(),
|
|
791
754
|
/** Guiding principles for agents using this stack */
|
|
@@ -888,4 +851,4 @@ export {
|
|
|
888
851
|
validateNestingDepth,
|
|
889
852
|
warnUnknownFields
|
|
890
853
|
};
|
|
891
|
-
//# sourceMappingURL=chunk-
|
|
854
|
+
//# sourceMappingURL=chunk-XJXJZ2MJ.js.map
|