@agents-inc/cli 0.71.0 → 0.72.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +172 -23
- package/dist/{chunk-2VT2DMD7.js → chunk-3SLO2QPW.js} +3 -3
- package/dist/{chunk-XYRVAEI6.js → chunk-AHZ34QVK.js} +5 -5
- package/dist/{chunk-DA3WIZ4C.js → chunk-D7FEORKC.js} +5 -5
- package/dist/chunk-D7FEORKC.js.map +1 -0
- package/dist/{chunk-L6MTIQ2U.js → chunk-F43WGOGN.js} +2 -2
- package/dist/{chunk-UQM5YPPJ.js → chunk-FKRYJOPC.js} +4 -4
- package/dist/{chunk-VUUGWE6G.js → chunk-G3LNIYZG.js} +2 -2
- package/dist/{chunk-X4RIMJNY.js → chunk-HJVWBSLM.js} +4 -4
- package/dist/{chunk-CADG5WWP.js → chunk-HMJGSAKV.js} +13 -13
- package/dist/chunk-HMJGSAKV.js.map +1 -0
- package/dist/{chunk-6BXKF5GP.js → chunk-J4TVAB5H.js} +2 -2
- package/dist/{chunk-HWVRHPXR.js → chunk-LBTW5HSY.js} +2 -2
- package/dist/{chunk-XB3TYSPL.js → chunk-LM5YQUBR.js} +3 -3
- package/dist/{chunk-FCF4WQEI.js → chunk-MGQVO357.js} +2 -2
- package/dist/{chunk-KWB3B2HS.js → chunk-NKKYTCBH.js} +109 -86
- package/dist/chunk-NKKYTCBH.js.map +1 -0
- package/dist/{chunk-V5L532ZH.js → chunk-OODTDGEM.js} +3 -3
- package/dist/{chunk-DHBRWGRZ.js → chunk-Q3YMO5YG.js} +2 -2
- package/dist/{chunk-AX6MMYAZ.js → chunk-RJOLQ7EK.js} +4 -4
- package/dist/{chunk-KSAGOKWT.js → chunk-SEAL43IR.js} +3 -3
- package/dist/{chunk-UDAHHJIM.js → chunk-UQTG4ZBA.js} +10 -10
- package/dist/{chunk-QOJAZI72.js → chunk-URAXGHF2.js} +3 -3
- package/dist/{chunk-KANNRFY7.js → chunk-V2XIWRHP.js} +2 -2
- package/dist/{chunk-J2D6OBIX.js → chunk-WWHDP5CP.js} +30 -7
- package/dist/chunk-WWHDP5CP.js.map +1 -0
- package/dist/{chunk-R3AR4VLZ.js → chunk-ZEJIEC2A.js} +154 -150
- package/dist/chunk-ZEJIEC2A.js.map +1 -0
- package/dist/{chunk-XMZNHLV3.js → chunk-ZFRALAK5.js} +2 -2
- package/dist/commands/build/marketplace.js +3 -3
- package/dist/commands/build/plugins.js +6 -6
- package/dist/commands/build/stack.js +6 -6
- package/dist/commands/compile.js +6 -6
- package/dist/commands/config/index.js +6 -6
- package/dist/commands/config/path.js +5 -5
- package/dist/commands/config/show.js +6 -6
- package/dist/commands/diff.js +5 -5
- package/dist/commands/doctor.js +5 -5
- package/dist/commands/edit.js +16 -16
- package/dist/commands/eject.js +5 -5
- package/dist/commands/import/skill.js +5 -5
- package/dist/commands/info.js +5 -5
- package/dist/commands/init.js +16 -16
- package/dist/commands/list.js +5 -5
- package/dist/commands/new/agent.js +6 -6
- package/dist/commands/new/marketplace.js +7 -7
- package/dist/commands/new/skill.js +6 -6
- package/dist/commands/outdated.js +5 -5
- package/dist/commands/search.js +5 -5
- package/dist/commands/uninstall.js +5 -5
- package/dist/commands/update.js +6 -6
- package/dist/commands/validate.js +5 -5
- package/dist/components/wizard/category-grid.test.js +6 -6
- package/dist/components/wizard/domain-selection.js +6 -6
- package/dist/components/wizard/search-modal.test.js.map +1 -1
- package/dist/components/wizard/source-grid.test.js +11 -11
- package/dist/components/wizard/source-grid.test.js.map +1 -1
- package/dist/components/wizard/stack-selection.js +6 -6
- 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 +8 -8
- package/dist/components/wizard/step-confirm.test.js +6 -6
- 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 +6 -6
- package/dist/components/wizard/step-sources.test.js +9 -9
- package/dist/components/wizard/step-stack.js +8 -8
- package/dist/components/wizard/step-stack.test.js +9 -9
- package/dist/components/wizard/wizard-layout.js +6 -6
- package/dist/components/wizard/wizard.js +14 -14
- package/dist/config-exports.js +1 -1
- package/dist/hooks/init.js +16 -16
- package/dist/{loader-CMSC3RAO.js → loader-KVKSTKWX.js} +3 -3
- package/dist/{source-loader-3MZ2MBOF.js → source-loader-65IAJPNV.js} +5 -5
- package/dist/{source-manager-NEH6QXE5.js → source-manager-LJH225GA.js} +5 -5
- package/dist/stores/matrix-store.test.js +8 -8
- package/dist/stores/wizard-store.js +5 -5
- package/dist/stores/wizard-store.test.js +12 -12
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +2 -1
- package/dist/chunk-CADG5WWP.js.map +0 -1
- package/dist/chunk-DA3WIZ4C.js.map +0 -1
- package/dist/chunk-J2D6OBIX.js.map +0 -1
- package/dist/chunk-KWB3B2HS.js.map +0 -1
- package/dist/chunk-R3AR4VLZ.js.map +0 -1
- /package/dist/{chunk-2VT2DMD7.js.map → chunk-3SLO2QPW.js.map} +0 -0
- /package/dist/{chunk-XYRVAEI6.js.map → chunk-AHZ34QVK.js.map} +0 -0
- /package/dist/{chunk-L6MTIQ2U.js.map → chunk-F43WGOGN.js.map} +0 -0
- /package/dist/{chunk-UQM5YPPJ.js.map → chunk-FKRYJOPC.js.map} +0 -0
- /package/dist/{chunk-VUUGWE6G.js.map → chunk-G3LNIYZG.js.map} +0 -0
- /package/dist/{chunk-X4RIMJNY.js.map → chunk-HJVWBSLM.js.map} +0 -0
- /package/dist/{chunk-6BXKF5GP.js.map → chunk-J4TVAB5H.js.map} +0 -0
- /package/dist/{chunk-HWVRHPXR.js.map → chunk-LBTW5HSY.js.map} +0 -0
- /package/dist/{chunk-XB3TYSPL.js.map → chunk-LM5YQUBR.js.map} +0 -0
- /package/dist/{chunk-FCF4WQEI.js.map → chunk-MGQVO357.js.map} +0 -0
- /package/dist/{chunk-V5L532ZH.js.map → chunk-OODTDGEM.js.map} +0 -0
- /package/dist/{chunk-DHBRWGRZ.js.map → chunk-Q3YMO5YG.js.map} +0 -0
- /package/dist/{chunk-AX6MMYAZ.js.map → chunk-RJOLQ7EK.js.map} +0 -0
- /package/dist/{chunk-KSAGOKWT.js.map → chunk-SEAL43IR.js.map} +0 -0
- /package/dist/{chunk-UDAHHJIM.js.map → chunk-UQTG4ZBA.js.map} +0 -0
- /package/dist/{chunk-QOJAZI72.js.map → chunk-URAXGHF2.js.map} +0 -0
- /package/dist/{chunk-KANNRFY7.js.map → chunk-V2XIWRHP.js.map} +0 -0
- /package/dist/{chunk-XMZNHLV3.js.map → chunk-ZFRALAK5.js.map} +0 -0
- /package/dist/{loader-CMSC3RAO.js.map → loader-KVKSTKWX.js.map} +0 -0
- /package/dist/{source-loader-3MZ2MBOF.js.map → source-loader-65IAJPNV.js.map} +0 -0
- /package/dist/{source-manager-NEH6QXE5.js.map → source-manager-LJH225GA.js.map} +0 -0
package/dist/commands/info.js
CHANGED
|
@@ -5,8 +5,8 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
discoverLocalSkills,
|
|
7
7
|
loadSkillsMatrixFromSource
|
|
8
|
-
} from "../chunk-
|
|
9
|
-
import "../chunk-
|
|
8
|
+
} from "../chunk-HMJGSAKV.js";
|
|
9
|
+
import "../chunk-F43WGOGN.js";
|
|
10
10
|
import "../chunk-T4EXUIBY.js";
|
|
11
11
|
import {
|
|
12
12
|
findSkill,
|
|
@@ -15,16 +15,16 @@ import {
|
|
|
15
15
|
import {
|
|
16
16
|
BaseCommand,
|
|
17
17
|
EXIT_CODES
|
|
18
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-MGQVO357.js";
|
|
19
19
|
import {
|
|
20
20
|
fileExists,
|
|
21
21
|
readFile
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-ZEJIEC2A.js";
|
|
23
23
|
import {
|
|
24
24
|
CLI_BIN_NAME,
|
|
25
25
|
STANDARD_FILES
|
|
26
26
|
} from "../chunk-EGMQ3SXN.js";
|
|
27
|
-
import "../chunk-
|
|
27
|
+
import "../chunk-NKKYTCBH.js";
|
|
28
28
|
import {
|
|
29
29
|
init_esm_shims
|
|
30
30
|
} from "../chunk-DHET7RCE.js";
|
package/dist/commands/init.js
CHANGED
|
@@ -4,22 +4,22 @@ import {
|
|
|
4
4
|
formatDashboardText,
|
|
5
5
|
getDashboardData,
|
|
6
6
|
showDashboard
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-AHZ34QVK.js";
|
|
8
|
+
import "../chunk-UQTG4ZBA.js";
|
|
9
|
+
import "../chunk-G3LNIYZG.js";
|
|
10
10
|
import "../chunk-SXGBPQY6.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-LM5YQUBR.js";
|
|
12
|
+
import "../chunk-OODTDGEM.js";
|
|
13
13
|
import "../chunk-HGTC76BX.js";
|
|
14
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-RJOLQ7EK.js";
|
|
15
15
|
import "../chunk-6YMW4HMX.js";
|
|
16
16
|
import "../chunk-7SOPVGDV.js";
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-ZFRALAK5.js";
|
|
18
|
+
import "../chunk-LBTW5HSY.js";
|
|
19
|
+
import "../chunk-3SLO2QPW.js";
|
|
20
20
|
import "../chunk-K77I4XGL.js";
|
|
21
21
|
import "../chunk-52THXN5G.js";
|
|
22
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-V2XIWRHP.js";
|
|
23
23
|
import "../chunk-ZYUASJUN.js";
|
|
24
24
|
import "../chunk-KYULKBFC.js";
|
|
25
25
|
import "../chunk-2MHSOPIU.js";
|
|
@@ -32,19 +32,19 @@ import "../chunk-OV5UJWS5.js";
|
|
|
32
32
|
import "../chunk-XMLCXRTS.js";
|
|
33
33
|
import "../chunk-AQYAVLZK.js";
|
|
34
34
|
import "../chunk-AUNBGZS4.js";
|
|
35
|
-
import "../chunk-
|
|
35
|
+
import "../chunk-URAXGHF2.js";
|
|
36
36
|
import "../chunk-T5DJCIUP.js";
|
|
37
37
|
import "../chunk-U3IGFMCY.js";
|
|
38
38
|
import "../chunk-6VIOO74O.js";
|
|
39
39
|
import "../chunk-CXRVM7BA.js";
|
|
40
|
-
import "../chunk-
|
|
41
|
-
import "../chunk-
|
|
40
|
+
import "../chunk-HMJGSAKV.js";
|
|
41
|
+
import "../chunk-F43WGOGN.js";
|
|
42
42
|
import "../chunk-T4EXUIBY.js";
|
|
43
43
|
import "../chunk-BKL3DF2Q.js";
|
|
44
|
-
import "../chunk-
|
|
45
|
-
import "../chunk-
|
|
44
|
+
import "../chunk-MGQVO357.js";
|
|
45
|
+
import "../chunk-ZEJIEC2A.js";
|
|
46
46
|
import "../chunk-EGMQ3SXN.js";
|
|
47
|
-
import "../chunk-
|
|
47
|
+
import "../chunk-NKKYTCBH.js";
|
|
48
48
|
import "../chunk-DHET7RCE.js";
|
|
49
49
|
export {
|
|
50
50
|
Init as default,
|
package/dist/commands/list.js
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
import {
|
|
3
3
|
formatInstallationDisplay,
|
|
4
4
|
getInstallationInfo
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-HMJGSAKV.js";
|
|
6
|
+
import "../chunk-F43WGOGN.js";
|
|
7
7
|
import "../chunk-T4EXUIBY.js";
|
|
8
8
|
import "../chunk-BKL3DF2Q.js";
|
|
9
9
|
import {
|
|
10
10
|
BaseCommand
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-
|
|
11
|
+
} from "../chunk-MGQVO357.js";
|
|
12
|
+
import "../chunk-ZEJIEC2A.js";
|
|
13
13
|
import {
|
|
14
14
|
CLI_BIN_NAME,
|
|
15
15
|
DEFAULT_BRANDING
|
|
16
16
|
} from "../chunk-EGMQ3SXN.js";
|
|
17
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-NKKYTCBH.js";
|
|
18
18
|
import {
|
|
19
19
|
init_esm_shims
|
|
20
20
|
} from "../chunk-DHET7RCE.js";
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
getAgentDefinitions
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-FKRYJOPC.js";
|
|
5
5
|
import {
|
|
6
6
|
isClaudeCLIAvailable,
|
|
7
7
|
loadConfigTypesDataInBackground,
|
|
8
8
|
regenerateConfigTypes,
|
|
9
9
|
resolveSource
|
|
10
|
-
} from "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
10
|
+
} from "../../chunk-HMJGSAKV.js";
|
|
11
|
+
import "../../chunk-F43WGOGN.js";
|
|
12
12
|
import "../../chunk-T4EXUIBY.js";
|
|
13
13
|
import "../../chunk-BKL3DF2Q.js";
|
|
14
14
|
import {
|
|
15
15
|
BaseCommand,
|
|
16
16
|
EXIT_CODES
|
|
17
|
-
} from "../../chunk-
|
|
17
|
+
} from "../../chunk-MGQVO357.js";
|
|
18
18
|
import {
|
|
19
19
|
fileExists,
|
|
20
20
|
getErrorMessage,
|
|
21
21
|
readFile
|
|
22
|
-
} from "../../chunk-
|
|
22
|
+
} from "../../chunk-ZEJIEC2A.js";
|
|
23
23
|
import {
|
|
24
24
|
CLAUDE_DIR,
|
|
25
25
|
CLI_COLORS,
|
|
26
26
|
STANDARD_FILES
|
|
27
27
|
} from "../../chunk-EGMQ3SXN.js";
|
|
28
|
-
import "../../chunk-
|
|
28
|
+
import "../../chunk-NKKYTCBH.js";
|
|
29
29
|
import {
|
|
30
30
|
init_esm_shims
|
|
31
31
|
} from "../../chunk-DHET7RCE.js";
|
|
@@ -2,32 +2,32 @@
|
|
|
2
2
|
import {
|
|
3
3
|
generateSkillCategoriesTs,
|
|
4
4
|
generateSkillRulesTs
|
|
5
|
-
} from "../../chunk-
|
|
5
|
+
} from "../../chunk-HJVWBSLM.js";
|
|
6
6
|
import {
|
|
7
7
|
generateMarketplace,
|
|
8
8
|
writeMarketplace
|
|
9
|
-
} from "../../chunk-
|
|
9
|
+
} from "../../chunk-J4TVAB5H.js";
|
|
10
10
|
import {
|
|
11
11
|
LOCAL_DEFAULTS,
|
|
12
12
|
compileAllSkillPlugins,
|
|
13
13
|
generateConfigSource,
|
|
14
14
|
loadConfigTypesDataInBackground,
|
|
15
15
|
regenerateConfigTypes
|
|
16
|
-
} from "../../chunk-
|
|
17
|
-
import "../../chunk-
|
|
16
|
+
} from "../../chunk-HMJGSAKV.js";
|
|
17
|
+
import "../../chunk-F43WGOGN.js";
|
|
18
18
|
import "../../chunk-T4EXUIBY.js";
|
|
19
19
|
import "../../chunk-BKL3DF2Q.js";
|
|
20
20
|
import {
|
|
21
21
|
BaseCommand,
|
|
22
22
|
EXIT_CODES
|
|
23
|
-
} from "../../chunk-
|
|
23
|
+
} from "../../chunk-MGQVO357.js";
|
|
24
24
|
import {
|
|
25
25
|
directoryExists,
|
|
26
26
|
ensureDir,
|
|
27
27
|
extendSchemasWithCustomValues,
|
|
28
28
|
getErrorMessage,
|
|
29
29
|
writeFile
|
|
30
|
-
} from "../../chunk-
|
|
30
|
+
} from "../../chunk-ZEJIEC2A.js";
|
|
31
31
|
import {
|
|
32
32
|
CLAUDE_SRC_DIR,
|
|
33
33
|
CLI_BIN_NAME,
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
STACKS_FILE_PATH,
|
|
40
40
|
STANDARD_FILES
|
|
41
41
|
} from "../../chunk-EGMQ3SXN.js";
|
|
42
|
-
import "../../chunk-
|
|
42
|
+
import "../../chunk-NKKYTCBH.js";
|
|
43
43
|
import {
|
|
44
44
|
init_esm_shims
|
|
45
45
|
} from "../../chunk-DHET7RCE.js";
|
|
@@ -7,15 +7,15 @@ import {
|
|
|
7
7
|
generateSkillRulesTs,
|
|
8
8
|
toTitleCase,
|
|
9
9
|
validateSkillName
|
|
10
|
-
} from "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
10
|
+
} from "../../chunk-HJVWBSLM.js";
|
|
11
|
+
import "../../chunk-HMJGSAKV.js";
|
|
12
|
+
import "../../chunk-F43WGOGN.js";
|
|
13
13
|
import "../../chunk-T4EXUIBY.js";
|
|
14
14
|
import "../../chunk-BKL3DF2Q.js";
|
|
15
|
-
import "../../chunk-
|
|
16
|
-
import "../../chunk-
|
|
15
|
+
import "../../chunk-MGQVO357.js";
|
|
16
|
+
import "../../chunk-ZEJIEC2A.js";
|
|
17
17
|
import "../../chunk-EGMQ3SXN.js";
|
|
18
|
-
import "../../chunk-
|
|
18
|
+
import "../../chunk-NKKYTCBH.js";
|
|
19
19
|
import "../../chunk-DHET7RCE.js";
|
|
20
20
|
export {
|
|
21
21
|
NewSkill as default,
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
compareLocalSkillsWithSource,
|
|
4
4
|
detectInstallation,
|
|
5
5
|
loadSkillsMatrixFromSource
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-HMJGSAKV.js";
|
|
7
|
+
import "../chunk-F43WGOGN.js";
|
|
8
8
|
import {
|
|
9
9
|
typedEntries
|
|
10
10
|
} from "../chunk-T4EXUIBY.js";
|
|
@@ -12,16 +12,16 @@ import "../chunk-BKL3DF2Q.js";
|
|
|
12
12
|
import {
|
|
13
13
|
BaseCommand,
|
|
14
14
|
EXIT_CODES
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-MGQVO357.js";
|
|
16
16
|
import {
|
|
17
17
|
fileExists,
|
|
18
18
|
getErrorMessage
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-ZEJIEC2A.js";
|
|
20
20
|
import {
|
|
21
21
|
CLI_BIN_NAME,
|
|
22
22
|
LOCAL_SKILLS_PATH
|
|
23
23
|
} from "../chunk-EGMQ3SXN.js";
|
|
24
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-NKKYTCBH.js";
|
|
25
25
|
import {
|
|
26
26
|
init_esm_shims
|
|
27
27
|
} from "../chunk-DHET7RCE.js";
|
package/dist/commands/search.js
CHANGED
|
@@ -14,29 +14,29 @@ import {
|
|
|
14
14
|
fetchFromSource,
|
|
15
15
|
loadSkillsMatrixFromSource,
|
|
16
16
|
resolveAllSources
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-HMJGSAKV.js";
|
|
18
18
|
import {
|
|
19
19
|
parseFrontmatter
|
|
20
|
-
} from "../chunk-
|
|
20
|
+
} from "../chunk-F43WGOGN.js";
|
|
21
21
|
import "../chunk-T4EXUIBY.js";
|
|
22
22
|
import "../chunk-BKL3DF2Q.js";
|
|
23
23
|
import {
|
|
24
24
|
BaseCommand,
|
|
25
25
|
EXIT_CODES
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-MGQVO357.js";
|
|
27
27
|
import {
|
|
28
28
|
copy,
|
|
29
29
|
ensureDir,
|
|
30
30
|
fileExists,
|
|
31
31
|
listDirectories,
|
|
32
32
|
readFile
|
|
33
|
-
} from "../chunk-
|
|
33
|
+
} from "../chunk-ZEJIEC2A.js";
|
|
34
34
|
import {
|
|
35
35
|
DEFAULT_SKILLS_SUBDIR,
|
|
36
36
|
LOCAL_SKILLS_PATH,
|
|
37
37
|
STANDARD_FILES
|
|
38
38
|
} from "../chunk-EGMQ3SXN.js";
|
|
39
|
-
import "../chunk-
|
|
39
|
+
import "../chunk-NKKYTCBH.js";
|
|
40
40
|
import {
|
|
41
41
|
init_esm_shims
|
|
42
42
|
} from "../chunk-DHET7RCE.js";
|
|
@@ -13,27 +13,27 @@ import {
|
|
|
13
13
|
listPluginNames,
|
|
14
14
|
loadProjectSourceConfig,
|
|
15
15
|
readForkedFromMetadata
|
|
16
|
-
} from "../chunk-
|
|
17
|
-
import "../chunk-
|
|
16
|
+
} from "../chunk-HMJGSAKV.js";
|
|
17
|
+
import "../chunk-F43WGOGN.js";
|
|
18
18
|
import "../chunk-T4EXUIBY.js";
|
|
19
19
|
import "../chunk-BKL3DF2Q.js";
|
|
20
20
|
import {
|
|
21
21
|
BaseCommand,
|
|
22
22
|
EXIT_CODES
|
|
23
|
-
} from "../chunk-
|
|
23
|
+
} from "../chunk-MGQVO357.js";
|
|
24
24
|
import {
|
|
25
25
|
directoryExists,
|
|
26
26
|
getErrorMessage,
|
|
27
27
|
listDirectories,
|
|
28
28
|
remove
|
|
29
|
-
} from "../chunk-
|
|
29
|
+
} from "../chunk-ZEJIEC2A.js";
|
|
30
30
|
import {
|
|
31
31
|
CLAUDE_DIR,
|
|
32
32
|
CLAUDE_SRC_DIR,
|
|
33
33
|
CLI_COLORS,
|
|
34
34
|
DEFAULT_BRANDING
|
|
35
35
|
} from "../chunk-EGMQ3SXN.js";
|
|
36
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-NKKYTCBH.js";
|
|
37
37
|
import {
|
|
38
38
|
init_esm_shims
|
|
39
39
|
} from "../chunk-DHET7RCE.js";
|
package/dist/commands/update.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "../chunk-N6S7ZRIL.js";
|
|
5
5
|
import {
|
|
6
6
|
recompileAgents
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-FKRYJOPC.js";
|
|
8
8
|
import {
|
|
9
9
|
ERROR_MESSAGES,
|
|
10
10
|
INFO_MESSAGES,
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
compareLocalSkillsWithSource,
|
|
16
16
|
injectForkedFromMetadata,
|
|
17
17
|
loadSkillsMatrixFromSource
|
|
18
|
-
} from "../chunk-
|
|
19
|
-
import "../chunk-
|
|
18
|
+
} from "../chunk-HMJGSAKV.js";
|
|
19
|
+
import "../chunk-F43WGOGN.js";
|
|
20
20
|
import "../chunk-T4EXUIBY.js";
|
|
21
21
|
import {
|
|
22
22
|
getMatrix
|
|
@@ -24,17 +24,17 @@ import {
|
|
|
24
24
|
import {
|
|
25
25
|
BaseCommand,
|
|
26
26
|
EXIT_CODES
|
|
27
|
-
} from "../chunk-
|
|
27
|
+
} from "../chunk-MGQVO357.js";
|
|
28
28
|
import {
|
|
29
29
|
copy,
|
|
30
30
|
fileExists,
|
|
31
31
|
getErrorMessage
|
|
32
|
-
} from "../chunk-
|
|
32
|
+
} from "../chunk-ZEJIEC2A.js";
|
|
33
33
|
import {
|
|
34
34
|
CLI_BIN_NAME,
|
|
35
35
|
LOCAL_SKILLS_PATH
|
|
36
36
|
} from "../chunk-EGMQ3SXN.js";
|
|
37
|
-
import "../chunk-
|
|
37
|
+
import "../chunk-NKKYTCBH.js";
|
|
38
38
|
import {
|
|
39
39
|
init_esm_shims
|
|
40
40
|
} from "../chunk-DHET7RCE.js";
|
|
@@ -11,10 +11,10 @@ import {
|
|
|
11
11
|
validateAllPlugins,
|
|
12
12
|
validateAllSchemas,
|
|
13
13
|
validatePlugin
|
|
14
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-HMJGSAKV.js";
|
|
15
15
|
import {
|
|
16
16
|
parseFrontmatter
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-F43WGOGN.js";
|
|
18
18
|
import "../chunk-T4EXUIBY.js";
|
|
19
19
|
import {
|
|
20
20
|
useMatrixStore
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
import {
|
|
23
23
|
BaseCommand,
|
|
24
24
|
EXIT_CODES
|
|
25
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-MGQVO357.js";
|
|
26
26
|
import {
|
|
27
27
|
SKILL_ID_PATTERN,
|
|
28
28
|
directoryExists,
|
|
@@ -31,13 +31,13 @@ import {
|
|
|
31
31
|
glob,
|
|
32
32
|
metadataValidationSchema,
|
|
33
33
|
readFile
|
|
34
|
-
} from "../chunk-
|
|
34
|
+
} from "../chunk-ZEJIEC2A.js";
|
|
35
35
|
import {
|
|
36
36
|
SKILLS_DIR_PATH,
|
|
37
37
|
SKILL_CATEGORIES_PATH,
|
|
38
38
|
STANDARD_FILES
|
|
39
39
|
} from "../chunk-EGMQ3SXN.js";
|
|
40
|
-
import "../chunk-
|
|
40
|
+
import "../chunk-NKKYTCBH.js";
|
|
41
41
|
import {
|
|
42
42
|
init_esm_shims
|
|
43
43
|
} from "../chunk-DHET7RCE.js";
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import {
|
|
16
16
|
createMockMatrix,
|
|
17
17
|
createMockSkill
|
|
18
|
-
} from "../../chunk-
|
|
18
|
+
} from "../../chunk-WWHDP5CP.js";
|
|
19
19
|
import {
|
|
20
20
|
afterEach,
|
|
21
21
|
beforeEach,
|
|
@@ -29,17 +29,17 @@ import {
|
|
|
29
29
|
} from "../../chunk-CKPJTMNC.js";
|
|
30
30
|
import "../../chunk-GG4BSB6S.js";
|
|
31
31
|
import "../../chunk-AUNBGZS4.js";
|
|
32
|
-
import "../../chunk-
|
|
32
|
+
import "../../chunk-URAXGHF2.js";
|
|
33
33
|
import "../../chunk-6VIOO74O.js";
|
|
34
|
-
import "../../chunk-
|
|
35
|
-
import "../../chunk-
|
|
34
|
+
import "../../chunk-HMJGSAKV.js";
|
|
35
|
+
import "../../chunk-F43WGOGN.js";
|
|
36
36
|
import "../../chunk-T4EXUIBY.js";
|
|
37
37
|
import {
|
|
38
38
|
useMatrixStore
|
|
39
39
|
} from "../../chunk-BKL3DF2Q.js";
|
|
40
|
-
import "../../chunk-
|
|
40
|
+
import "../../chunk-ZEJIEC2A.js";
|
|
41
41
|
import "../../chunk-EGMQ3SXN.js";
|
|
42
|
-
import "../../chunk-
|
|
42
|
+
import "../../chunk-NKKYTCBH.js";
|
|
43
43
|
import {
|
|
44
44
|
init_esm_shims
|
|
45
45
|
} from "../../chunk-DHET7RCE.js";
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
DomainSelection
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-V2XIWRHP.js";
|
|
5
5
|
import "../../chunk-ZYUASJUN.js";
|
|
6
6
|
import "../../chunk-OV5UJWS5.js";
|
|
7
7
|
import "../../chunk-XMLCXRTS.js";
|
|
8
8
|
import "../../chunk-AQYAVLZK.js";
|
|
9
9
|
import "../../chunk-AUNBGZS4.js";
|
|
10
|
-
import "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-URAXGHF2.js";
|
|
11
|
+
import "../../chunk-HMJGSAKV.js";
|
|
12
|
+
import "../../chunk-F43WGOGN.js";
|
|
13
13
|
import "../../chunk-T4EXUIBY.js";
|
|
14
14
|
import "../../chunk-BKL3DF2Q.js";
|
|
15
|
-
import "../../chunk-
|
|
15
|
+
import "../../chunk-ZEJIEC2A.js";
|
|
16
16
|
import "../../chunk-EGMQ3SXN.js";
|
|
17
|
-
import "../../chunk-
|
|
17
|
+
import "../../chunk-NKKYTCBH.js";
|
|
18
18
|
import "../../chunk-DHET7RCE.js";
|
|
19
19
|
export {
|
|
20
20
|
DomainSelection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/components/wizard/search-modal.test.tsx"],"sourcesContent":["import { render } from \"ink-testing-library\";\nimport { describe, expect, it, afterEach, vi } from \"vitest\";\nimport { SearchModal, type SearchModalProps } from \"./search-modal\";\nimport type { BoundSkillCandidate } from \"../../types\";\nimport {\n ARROW_UP,\n ARROW_DOWN,\n ENTER,\n ESCAPE,\n RENDER_DELAY_MS,\n INPUT_DELAY_MS,\n delay,\n} from \"../../lib/__tests__/test-constants\";\n\nconst candidates: BoundSkillCandidate[] = [\n {\n id: \"web-framework-react-pro\",\n sourceUrl: \"github:awesome-dev/skills\",\n sourceName: \"awesome-dev\",\n alias: \"react\",\n description: \"Opinionated React with strict TS\",\n },\n {\n id: \"web-framework-react-strict\",\n sourceUrl: \"github:team-xyz/skills\",\n sourceName: \"team-xyz\",\n alias: \"react\",\n description: \"Strict mode React\",\n },\n {\n id: \"web-framework-react-minimal\",\n sourceUrl: \"github:solo-dev/skills\",\n sourceName: \"solo-dev\",\n alias: \"react\",\n description: \"Minimal hooks-only React\",\n },\n];\n\nconst defaultProps: SearchModalProps = {\n results: candidates,\n alias: \"react\",\n onBind: vi.fn(),\n onClose: vi.fn(),\n};\n\nconst renderModal = (props: Partial<SearchModalProps> = {}) => {\n return render(<SearchModal {...defaultProps} {...props} />);\n};\n\ndescribe(\"SearchModal component\", () => {\n let cleanup: (() => void) | undefined;\n\n afterEach(() => {\n cleanup?.();\n cleanup = undefined;\n });\n\n describe(\"rendering\", () => {\n it(\"should render the alias in the title\", () => {\n const { lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"react\");\n expect(output).toContain(\"Search results\");\n });\n\n it(\"should render all result source names\", () => {\n const { lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"awesome-dev\");\n expect(output).toContain(\"team-xyz\");\n expect(output).toContain(\"solo-dev\");\n });\n\n it(\"should render result descriptions\", () => {\n const { lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Opinionated React with strict TS\");\n expect(output).toContain(\"Strict mode React\");\n });\n\n it(\"should show focused marker on first result by default\", () => {\n const { lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n const output = lastFrame();\n // The focused marker should appear (UI_SYMBOLS.CHEVRON = U+276F)\n expect(output).toContain(\"\\u276F\");\n });\n\n it(\"should show 'No results found' when results array is empty\", () => {\n const { lastFrame, unmount } = renderModal({ results: [] });\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"No results found\");\n });\n\n it(\"should render help text with navigation hints\", () => {\n const { lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"navigate\");\n expect(output).toContain(\"ENTER\");\n expect(output).toContain(\"ESC\");\n });\n });\n\n describe(\"keyboard navigation\", () => {\n it(\"should move focus down with arrow down\", async () => {\n const { stdin, lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n\n const output = lastFrame();\n // The second result (team-xyz) should now have the marker\n // We check that the output changed — specific marker positioning depends on rendering\n expect(output).toContain(\"team-xyz\");\n });\n\n it(\"should move focus up with arrow up\", async () => {\n const { stdin, lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n // Move down first, then back up\n await delay(RENDER_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ARROW_UP);\n await delay(INPUT_DELAY_MS);\n\n const output = lastFrame();\n expect(output).toContain(\"awesome-dev\");\n });\n\n it(\"should wrap from last result to first on arrow down\", async () => {\n const { stdin, lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n // Move down 3 times (past last result)\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n\n const output = lastFrame();\n // Should have wrapped to first result\n expect(output).toContain(\"awesome-dev\");\n });\n\n it(\"should wrap from first result to last on arrow up\", async () => {\n const { stdin, lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ARROW_UP);\n await delay(INPUT_DELAY_MS);\n\n const output = lastFrame();\n // Should have wrapped to last result\n expect(output).toContain(\"solo-dev\");\n });\n });\n\n describe(\"actions\", () => {\n it(\"should call onBind with focused candidate on Enter\", async () => {\n const onBind = vi.fn();\n const { stdin, unmount } = renderModal({ onBind });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(onBind).toHaveBeenCalledWith(candidates[0]);\n });\n\n it(\"should call onBind with second candidate after navigating down\", async () => {\n const onBind = vi.fn();\n const { stdin, unmount } = renderModal({ onBind });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(onBind).toHaveBeenCalledWith(candidates[1]);\n });\n\n it(\"should call onClose on Escape\", async () => {\n const onClose = vi.fn();\n const { stdin, unmount } = renderModal({ onClose });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ESCAPE);\n await delay(INPUT_DELAY_MS);\n\n expect(onClose).toHaveBeenCalled();\n });\n\n it(\"should not call onBind on Enter when results are empty\", async () => {\n const onBind = vi.fn();\n const { stdin, unmount } = renderModal({ results: [], onBind });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(onBind).not.toHaveBeenCalled();\n });\n\n it(\"should not call onBind on Escape\", async () => {\n const onBind = vi.fn();\n const { stdin, unmount } = renderModal({ onBind });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ESCAPE);\n await delay(INPUT_DELAY_MS);\n\n expect(onBind).not.toHaveBeenCalled();\n });\n });\n});\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/components/wizard/search-modal.test.tsx"],"sourcesContent":["import { render } from \"ink-testing-library\";\nimport { describe, expect, it, afterEach, vi } from \"vitest\";\nimport { SearchModal, type SearchModalProps } from \"./search-modal\";\nimport type { BoundSkillCandidate, SkillId } from \"../../types\";\nimport {\n ARROW_UP,\n ARROW_DOWN,\n ENTER,\n ESCAPE,\n RENDER_DELAY_MS,\n INPUT_DELAY_MS,\n delay,\n} from \"../../lib/__tests__/test-constants\";\n\nconst candidates: BoundSkillCandidate[] = [\n {\n id: \"web-framework-react-pro\" as SkillId,\n sourceUrl: \"github:awesome-dev/skills\",\n sourceName: \"awesome-dev\",\n alias: \"react\",\n description: \"Opinionated React with strict TS\",\n },\n {\n id: \"web-framework-react-strict\" as SkillId,\n sourceUrl: \"github:team-xyz/skills\",\n sourceName: \"team-xyz\",\n alias: \"react\",\n description: \"Strict mode React\",\n },\n {\n id: \"web-framework-react-minimal\" as SkillId,\n sourceUrl: \"github:solo-dev/skills\",\n sourceName: \"solo-dev\",\n alias: \"react\",\n description: \"Minimal hooks-only React\",\n },\n];\n\nconst defaultProps: SearchModalProps = {\n results: candidates,\n alias: \"react\",\n onBind: vi.fn(),\n onClose: vi.fn(),\n};\n\nconst renderModal = (props: Partial<SearchModalProps> = {}) => {\n return render(<SearchModal {...defaultProps} {...props} />);\n};\n\ndescribe(\"SearchModal component\", () => {\n let cleanup: (() => void) | undefined;\n\n afterEach(() => {\n cleanup?.();\n cleanup = undefined;\n });\n\n describe(\"rendering\", () => {\n it(\"should render the alias in the title\", () => {\n const { lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"react\");\n expect(output).toContain(\"Search results\");\n });\n\n it(\"should render all result source names\", () => {\n const { lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"awesome-dev\");\n expect(output).toContain(\"team-xyz\");\n expect(output).toContain(\"solo-dev\");\n });\n\n it(\"should render result descriptions\", () => {\n const { lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Opinionated React with strict TS\");\n expect(output).toContain(\"Strict mode React\");\n });\n\n it(\"should show focused marker on first result by default\", () => {\n const { lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n const output = lastFrame();\n // The focused marker should appear (UI_SYMBOLS.CHEVRON = U+276F)\n expect(output).toContain(\"\\u276F\");\n });\n\n it(\"should show 'No results found' when results array is empty\", () => {\n const { lastFrame, unmount } = renderModal({ results: [] });\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"No results found\");\n });\n\n it(\"should render help text with navigation hints\", () => {\n const { lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"navigate\");\n expect(output).toContain(\"ENTER\");\n expect(output).toContain(\"ESC\");\n });\n });\n\n describe(\"keyboard navigation\", () => {\n it(\"should move focus down with arrow down\", async () => {\n const { stdin, lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n\n const output = lastFrame();\n // The second result (team-xyz) should now have the marker\n // We check that the output changed — specific marker positioning depends on rendering\n expect(output).toContain(\"team-xyz\");\n });\n\n it(\"should move focus up with arrow up\", async () => {\n const { stdin, lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n // Move down first, then back up\n await delay(RENDER_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ARROW_UP);\n await delay(INPUT_DELAY_MS);\n\n const output = lastFrame();\n expect(output).toContain(\"awesome-dev\");\n });\n\n it(\"should wrap from last result to first on arrow down\", async () => {\n const { stdin, lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n // Move down 3 times (past last result)\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n\n const output = lastFrame();\n // Should have wrapped to first result\n expect(output).toContain(\"awesome-dev\");\n });\n\n it(\"should wrap from first result to last on arrow up\", async () => {\n const { stdin, lastFrame, unmount } = renderModal();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ARROW_UP);\n await delay(INPUT_DELAY_MS);\n\n const output = lastFrame();\n // Should have wrapped to last result\n expect(output).toContain(\"solo-dev\");\n });\n });\n\n describe(\"actions\", () => {\n it(\"should call onBind with focused candidate on Enter\", async () => {\n const onBind = vi.fn();\n const { stdin, unmount } = renderModal({ onBind });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(onBind).toHaveBeenCalledWith(candidates[0]);\n });\n\n it(\"should call onBind with second candidate after navigating down\", async () => {\n const onBind = vi.fn();\n const { stdin, unmount } = renderModal({ onBind });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(onBind).toHaveBeenCalledWith(candidates[1]);\n });\n\n it(\"should call onClose on Escape\", async () => {\n const onClose = vi.fn();\n const { stdin, unmount } = renderModal({ onClose });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ESCAPE);\n await delay(INPUT_DELAY_MS);\n\n expect(onClose).toHaveBeenCalled();\n });\n\n it(\"should not call onBind on Enter when results are empty\", async () => {\n const onBind = vi.fn();\n const { stdin, unmount } = renderModal({ results: [], onBind });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(onBind).not.toHaveBeenCalled();\n });\n\n it(\"should not call onBind on Escape\", async () => {\n const onBind = vi.fn();\n const { stdin, unmount } = renderModal({ onBind });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ESCAPE);\n await delay(INPUT_DELAY_MS);\n\n expect(onBind).not.toHaveBeenCalled();\n });\n });\n});\n"],"mappings":"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","names":[]}
|
|
@@ -16,12 +16,12 @@ import {
|
|
|
16
16
|
} from "../../chunk-66UDJBF6.js";
|
|
17
17
|
import {
|
|
18
18
|
WEB_TRIO_MATRIX
|
|
19
|
-
} from "../../chunk-
|
|
20
|
-
import "../../chunk-
|
|
19
|
+
} from "../../chunk-D7FEORKC.js";
|
|
20
|
+
import "../../chunk-Q3YMO5YG.js";
|
|
21
21
|
import {
|
|
22
22
|
createMockMatrix,
|
|
23
23
|
createMockSkill
|
|
24
|
-
} from "../../chunk-
|
|
24
|
+
} from "../../chunk-WWHDP5CP.js";
|
|
25
25
|
import {
|
|
26
26
|
afterEach,
|
|
27
27
|
beforeEach,
|
|
@@ -39,17 +39,17 @@ import "../../chunk-WF5PMBIR.js";
|
|
|
39
39
|
import "../../chunk-KUV24B5M.js";
|
|
40
40
|
import "../../chunk-GG4BSB6S.js";
|
|
41
41
|
import "../../chunk-AUNBGZS4.js";
|
|
42
|
-
import "../../chunk-
|
|
42
|
+
import "../../chunk-URAXGHF2.js";
|
|
43
43
|
import "../../chunk-6VIOO74O.js";
|
|
44
|
-
import "../../chunk-
|
|
45
|
-
import "../../chunk-
|
|
44
|
+
import "../../chunk-HMJGSAKV.js";
|
|
45
|
+
import "../../chunk-F43WGOGN.js";
|
|
46
46
|
import "../../chunk-T4EXUIBY.js";
|
|
47
47
|
import {
|
|
48
48
|
useMatrixStore
|
|
49
49
|
} from "../../chunk-BKL3DF2Q.js";
|
|
50
|
-
import "../../chunk-
|
|
50
|
+
import "../../chunk-ZEJIEC2A.js";
|
|
51
51
|
import "../../chunk-EGMQ3SXN.js";
|
|
52
|
-
import "../../chunk-
|
|
52
|
+
import "../../chunk-NKKYTCBH.js";
|
|
53
53
|
import {
|
|
54
54
|
init_esm_shims
|
|
55
55
|
} from "../../chunk-DHET7RCE.js";
|
|
@@ -334,14 +334,14 @@ describe("SourceGrid component", () => {
|
|
|
334
334
|
it("should handle many rows", () => {
|
|
335
335
|
const skillIds = [
|
|
336
336
|
"web-framework-react",
|
|
337
|
-
"web-framework-vue",
|
|
337
|
+
"web-framework-vue-composition-api",
|
|
338
338
|
"web-styling-tailwind",
|
|
339
339
|
"web-styling-scss-modules",
|
|
340
340
|
"web-state-zustand",
|
|
341
341
|
"web-state-mobx",
|
|
342
342
|
"web-testing-vitest",
|
|
343
|
-
"web-testing-playwright",
|
|
344
|
-
"web-
|
|
343
|
+
"web-testing-playwright-e2e",
|
|
344
|
+
"web-server-state-react-query",
|
|
345
345
|
"web-tooling-vite"
|
|
346
346
|
];
|
|
347
347
|
const skills = Object.fromEntries(skillIds.map((id) => [id, createMockSkill(id)]));
|