@agents-inc/cli 0.61.0 → 0.65.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 +46 -0
- package/README.md +23 -172
- package/dist/{chunk-YHOHLNHM.js → chunk-3YNT3NX3.js} +13 -11
- package/dist/chunk-3YNT3NX3.js.map +1 -0
- package/dist/{chunk-IGM6HA3S.js → chunk-4C7CSZC5.js} +27 -149
- package/dist/chunk-4C7CSZC5.js.map +1 -0
- package/dist/{chunk-WHISPMAQ.js → chunk-4KVBH2X4.js} +33 -14
- package/dist/chunk-4KVBH2X4.js.map +1 -0
- package/dist/{chunk-KIWFEBKH.js → chunk-52THXN5G.js} +14 -5
- package/dist/chunk-52THXN5G.js.map +1 -0
- package/dist/{chunk-FWMWWE3X.js → chunk-53URJ5XK.js} +448 -152
- package/dist/chunk-53URJ5XK.js.map +1 -0
- package/dist/{chunk-H5DASUX5.js → chunk-6DEK3TDF.js} +10 -10
- package/dist/chunk-6DEK3TDF.js.map +1 -0
- package/dist/{chunk-SDKCQXWE.js → chunk-6IK2TCK7.js} +13 -6
- package/dist/chunk-6IK2TCK7.js.map +1 -0
- package/dist/chunk-6VIOO74O.js +51 -0
- package/dist/chunk-6VIOO74O.js.map +1 -0
- package/dist/{chunk-52XO4ULK.js → chunk-7DI3HGKL.js} +32 -14
- package/dist/chunk-7DI3HGKL.js.map +1 -0
- package/dist/{chunk-MGNYPVOJ.js → chunk-AQYAVLZK.js} +2 -2
- package/dist/{chunk-BNQ5O6LE.js → chunk-AUNBGZS4.js} +2 -2
- package/dist/chunk-BGPGQF35.js +248 -0
- package/dist/chunk-BGPGQF35.js.map +1 -0
- package/dist/chunk-BKL3DF2Q.js +45 -0
- package/dist/chunk-BKL3DF2Q.js.map +1 -0
- package/dist/{chunk-AX3SZZWA.js → chunk-BKTPEATV.js} +13 -6
- package/dist/chunk-BKTPEATV.js.map +1 -0
- package/dist/{chunk-H7WJK7NJ.js → chunk-CKPJTMNC.js} +13 -6
- package/dist/chunk-CKPJTMNC.js.map +1 -0
- package/dist/{chunk-MR6OBL3B.js → chunk-CXRVM7BA.js} +2 -4
- package/dist/chunk-CXRVM7BA.js.map +1 -0
- package/dist/{chunk-VR3CDXDT.js → chunk-EE5EPS32.js} +2 -2
- package/dist/{chunk-6OWHQ7HM.js → chunk-EGMQ3SXN.js} +2 -11
- package/dist/{chunk-6OWHQ7HM.js.map → chunk-EGMQ3SXN.js.map} +1 -1
- package/dist/{chunk-6DAZG54T.js → chunk-EZ35IPXZ.js} +10 -7
- package/dist/chunk-EZ35IPXZ.js.map +1 -0
- package/dist/{chunk-OCEFD7V6.js → chunk-F3REOP7N.js} +3 -3
- package/dist/{chunk-C577AJE7.js → chunk-FGLUQSVU.js} +3 -3
- package/dist/{chunk-Z3TM4N37.js → chunk-J4POGAJF.js} +24 -24
- package/dist/chunk-J4POGAJF.js.map +1 -0
- package/dist/{chunk-O6BA7Q2B.js → chunk-KFDTVSIC.js} +18 -8
- package/dist/chunk-KFDTVSIC.js.map +1 -0
- package/dist/{chunk-LWXRUR6B.js → chunk-LMZXL5RQ.js} +2 -2
- package/dist/{chunk-LWXRUR6B.js.map → chunk-LMZXL5RQ.js.map} +1 -1
- package/dist/{chunk-BFD5NZQ4.js → chunk-MVYJVKVT.js} +19 -11
- package/dist/chunk-MVYJVKVT.js.map +1 -0
- package/dist/{chunk-X5EG4EFP.js → chunk-MWGDG4QN.js} +2 -2
- package/dist/chunk-N4D43IOO.js +238 -0
- package/dist/chunk-N4D43IOO.js.map +1 -0
- package/dist/{chunk-KDO6WU76.js → chunk-O2HK3NTG.js} +10 -6
- package/dist/chunk-O2HK3NTG.js.map +1 -0
- package/dist/{chunk-46DQG2N7.js → chunk-OORWBS6F.js} +45 -52
- package/dist/chunk-OORWBS6F.js.map +1 -0
- package/dist/{chunk-CIG7IKX3.js → chunk-OV5UJWS5.js} +4 -4
- package/dist/{chunk-IEEVXLJB.js → chunk-R46CB36B.js} +5 -5
- package/dist/{chunk-GH2RQ4MI.js → chunk-RG3KDXMR.js} +16 -8
- package/dist/chunk-RG3KDXMR.js.map +1 -0
- package/dist/{chunk-MMFQNJPE.js → chunk-SXGBPQY6.js} +3 -3
- package/dist/chunk-SXGBPQY6.js.map +1 -0
- package/dist/{chunk-XUDTFI4M.js → chunk-T5DJCIUP.js} +2 -2
- package/dist/{chunk-AJJJE7F7.js → chunk-TQLDQ3XZ.js} +2 -2
- package/dist/{chunk-M6YWRMXH.js → chunk-WSMQ5GAP.js} +33 -21
- package/dist/chunk-WSMQ5GAP.js.map +1 -0
- package/dist/{chunk-WYVDNGJB.js → chunk-XMLCXRTS.js} +3 -3
- package/dist/{chunk-SDLDPFNV.js → chunk-YEGPTBX5.js} +4 -4
- package/dist/{chunk-SRBN6RRD.js → chunk-ZFY5EMDV.js} +5 -5
- package/dist/{chunk-BKJHAJQW.js → chunk-ZYUASJUN.js} +7 -4
- package/dist/chunk-ZYUASJUN.js.map +1 -0
- package/dist/commands/build/marketplace.js +4 -4
- package/dist/commands/build/plugins.js +7 -6
- package/dist/commands/build/plugins.js.map +1 -1
- package/dist/commands/build/stack.js +7 -6
- package/dist/commands/build/stack.js.map +1 -1
- package/dist/commands/compile.js +11 -80
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/config/index.js +7 -6
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/config/path.js +6 -5
- package/dist/commands/config/path.js.map +1 -1
- package/dist/commands/config/show.js +7 -6
- package/dist/commands/diff.js +6 -5
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/doctor.js +11 -15
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/edit.js +63 -69
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +13 -13
- package/dist/commands/eject.js.map +1 -1
- package/dist/commands/import/skill.js +7 -6
- package/dist/commands/import/skill.js.map +1 -1
- package/dist/commands/info.js +14 -16
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/init.js +32 -30
- package/dist/commands/list.js +6 -5
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/new/agent.js +7 -6
- package/dist/commands/new/agent.js.map +1 -1
- package/dist/commands/new/marketplace.js +28 -11
- package/dist/commands/new/marketplace.js.map +1 -1
- package/dist/commands/new/skill.js +7 -6
- package/dist/commands/outdated.js +6 -5
- package/dist/commands/outdated.js.map +1 -1
- package/dist/commands/search.js +13 -11
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/uninstall.js +9 -10
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +12 -8
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.js +20 -42
- package/dist/commands/validate.js.map +1 -1
- package/dist/components/skill-search/skill-search.js +4 -3
- package/dist/components/wizard/category-grid.js +5 -3
- package/dist/components/wizard/category-grid.test.js +242 -194
- package/dist/components/wizard/category-grid.test.js.map +1 -1
- package/dist/components/wizard/checkbox-grid.js +5 -5
- package/dist/components/wizard/checkbox-grid.test.js +5 -5
- package/dist/components/wizard/domain-selection.js +12 -11
- package/dist/components/wizard/help-modal.js +3 -2
- package/dist/components/wizard/menu-item.js +1 -1
- package/dist/components/wizard/search-modal.js +3 -2
- package/dist/components/wizard/search-modal.test.js +3 -2
- package/dist/components/wizard/search-modal.test.js.map +1 -1
- package/dist/components/wizard/section-progress.js +2 -2
- package/dist/components/wizard/section-progress.test.js +3 -3
- package/dist/components/wizard/section-progress.test.js.map +1 -1
- package/dist/components/wizard/selection-card.js +2 -2
- package/dist/components/wizard/source-grid.js +6 -4
- package/dist/components/wizard/source-grid.test.js +60 -40
- package/dist/components/wizard/source-grid.test.js.map +1 -1
- package/dist/components/wizard/stack-selection.js +9 -8
- package/dist/components/wizard/step-agents.js +11 -10
- package/dist/components/wizard/step-agents.test.js +29 -26
- package/dist/components/wizard/step-agents.test.js.map +1 -1
- package/dist/components/wizard/step-build.js +12 -10
- package/dist/components/wizard/step-build.test.js +79 -99
- package/dist/components/wizard/step-build.test.js.map +1 -1
- package/dist/components/wizard/step-confirm.js +6 -4
- package/dist/components/wizard/step-confirm.test.js +11 -15
- package/dist/components/wizard/step-confirm.test.js.map +1 -1
- package/dist/components/wizard/step-refine.js +3 -2
- package/dist/components/wizard/step-refine.test.js +3 -2
- package/dist/components/wizard/step-refine.test.js.map +1 -1
- package/dist/components/wizard/step-settings.js +10 -8
- package/dist/components/wizard/step-settings.test.js +17 -13
- package/dist/components/wizard/step-settings.test.js.map +1 -1
- package/dist/components/wizard/step-sources.js +13 -11
- package/dist/components/wizard/step-sources.test.js +20 -16
- package/dist/components/wizard/step-sources.test.js.map +1 -1
- package/dist/components/wizard/step-stack.js +15 -14
- package/dist/components/wizard/step-stack.test.js +53 -59
- 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 +10 -8
- package/dist/components/wizard/wizard-tabs.js +2 -2
- package/dist/components/wizard/wizard-tabs.test.js +2 -2
- package/dist/components/wizard/wizard.js +29 -27
- package/dist/hooks/init.js +32 -30
- package/dist/hooks/init.js.map +1 -1
- package/dist/{loader-2O32KKAQ.js → loader-4YOZCFIP.js} +4 -4
- package/dist/plugins/dummy-skill/.claude-plugin/.content-hash +1 -0
- package/dist/plugins/dummy-skill/.claude-plugin/plugin.json +13 -0
- package/dist/{source-loader-KMEBBZCQ.js → source-loader-O5RMYUBW.js} +6 -5
- package/dist/{source-manager-5XBSPJNR.js → source-manager-NKLL6HCL.js} +6 -5
- package/dist/stores/matrix-store.js +15 -0
- package/dist/stores/matrix-store.js.map +1 -0
- package/dist/stores/matrix-store.test.js +123 -0
- package/dist/stores/matrix-store.test.js.map +1 -0
- package/dist/stores/wizard-store.js +6 -5
- package/dist/stores/wizard-store.test.js +150 -113
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-46DQG2N7.js.map +0 -1
- package/dist/chunk-52XO4ULK.js.map +0 -1
- package/dist/chunk-6DAZG54T.js.map +0 -1
- package/dist/chunk-7FMEMXJ4.js +0 -277
- package/dist/chunk-7FMEMXJ4.js.map +0 -1
- package/dist/chunk-AX3SZZWA.js.map +0 -1
- package/dist/chunk-BFD5NZQ4.js.map +0 -1
- package/dist/chunk-BKJHAJQW.js.map +0 -1
- package/dist/chunk-FWMWWE3X.js.map +0 -1
- package/dist/chunk-GH2RQ4MI.js.map +0 -1
- package/dist/chunk-H5DASUX5.js.map +0 -1
- package/dist/chunk-H7WJK7NJ.js.map +0 -1
- package/dist/chunk-IGM6HA3S.js.map +0 -1
- package/dist/chunk-KD2YS76O.js +0 -151
- package/dist/chunk-KD2YS76O.js.map +0 -1
- package/dist/chunk-KDO6WU76.js.map +0 -1
- package/dist/chunk-KIWFEBKH.js.map +0 -1
- package/dist/chunk-M6YWRMXH.js.map +0 -1
- package/dist/chunk-MMFQNJPE.js.map +0 -1
- package/dist/chunk-MR6OBL3B.js.map +0 -1
- package/dist/chunk-O6BA7Q2B.js.map +0 -1
- package/dist/chunk-SDKCQXWE.js.map +0 -1
- package/dist/chunk-WHISPMAQ.js.map +0 -1
- package/dist/chunk-YHOHLNHM.js.map +0 -1
- package/dist/chunk-Z3TM4N37.js.map +0 -1
- /package/dist/{chunk-MGNYPVOJ.js.map → chunk-AQYAVLZK.js.map} +0 -0
- /package/dist/{chunk-BNQ5O6LE.js.map → chunk-AUNBGZS4.js.map} +0 -0
- /package/dist/{chunk-VR3CDXDT.js.map → chunk-EE5EPS32.js.map} +0 -0
- /package/dist/{chunk-OCEFD7V6.js.map → chunk-F3REOP7N.js.map} +0 -0
- /package/dist/{chunk-C577AJE7.js.map → chunk-FGLUQSVU.js.map} +0 -0
- /package/dist/{chunk-X5EG4EFP.js.map → chunk-MWGDG4QN.js.map} +0 -0
- /package/dist/{chunk-CIG7IKX3.js.map → chunk-OV5UJWS5.js.map} +0 -0
- /package/dist/{chunk-IEEVXLJB.js.map → chunk-R46CB36B.js.map} +0 -0
- /package/dist/{chunk-XUDTFI4M.js.map → chunk-T5DJCIUP.js.map} +0 -0
- /package/dist/{chunk-AJJJE7F7.js.map → chunk-TQLDQ3XZ.js.map} +0 -0
- /package/dist/{chunk-WYVDNGJB.js.map → chunk-XMLCXRTS.js.map} +0 -0
- /package/dist/{chunk-SDLDPFNV.js.map → chunk-YEGPTBX5.js.map} +0 -0
- /package/dist/{chunk-SRBN6RRD.js.map → chunk-ZFY5EMDV.js.map} +0 -0
- /package/dist/{loader-2O32KKAQ.js.map → loader-4YOZCFIP.js.map} +0 -0
- /package/dist/{source-loader-KMEBBZCQ.js.map → source-loader-O5RMYUBW.js.map} +0 -0
- /package/dist/{source-manager-5XBSPJNR.js.map → source-manager-NKLL6HCL.js.map} +0 -0
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
|
+
SKILLS,
|
|
3
4
|
TEST_CATEGORIES,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
getTestSkill
|
|
7
|
-
} from "../chunk-7FMEMXJ4.js";
|
|
5
|
+
createMockMatrix
|
|
6
|
+
} from "../chunk-N4D43IOO.js";
|
|
8
7
|
import {
|
|
9
8
|
beforeEach,
|
|
10
9
|
describe,
|
|
@@ -13,16 +12,17 @@ import {
|
|
|
13
12
|
} from "../chunk-XY3XDVMI.js";
|
|
14
13
|
import {
|
|
15
14
|
useWizardStore
|
|
16
|
-
} from "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
15
|
+
} from "../chunk-4C7CSZC5.js";
|
|
16
|
+
import "../chunk-53URJ5XK.js";
|
|
17
|
+
import "../chunk-F3REOP7N.js";
|
|
19
18
|
import {
|
|
20
19
|
typedKeys
|
|
21
20
|
} from "../chunk-T4EXUIBY.js";
|
|
22
|
-
import "../chunk-LWXRUR6B.js";
|
|
23
21
|
import {
|
|
24
|
-
|
|
25
|
-
} from "../chunk-
|
|
22
|
+
useMatrixStore
|
|
23
|
+
} from "../chunk-BKL3DF2Q.js";
|
|
24
|
+
import "../chunk-LMZXL5RQ.js";
|
|
25
|
+
import "../chunk-EGMQ3SXN.js";
|
|
26
26
|
import "../chunk-EC3UJRKZ.js";
|
|
27
27
|
import {
|
|
28
28
|
init_esm_shims
|
|
@@ -35,7 +35,11 @@ function sa(id, preloaded = false) {
|
|
|
35
35
|
}
|
|
36
36
|
describe("WizardStore", () => {
|
|
37
37
|
beforeEach(() => {
|
|
38
|
-
|
|
38
|
+
useMatrixStore.getState().setMatrix(
|
|
39
|
+
createMockMatrix(SKILLS, {
|
|
40
|
+
categories: TEST_CATEGORIES
|
|
41
|
+
})
|
|
42
|
+
);
|
|
39
43
|
});
|
|
40
44
|
describe("initial state", () => {
|
|
41
45
|
it("should start at stack step", () => {
|
|
@@ -207,12 +211,16 @@ describe("WizardStore", () => {
|
|
|
207
211
|
api: { "api-api": [sa("api-framework-hono", true)] }
|
|
208
212
|
}
|
|
209
213
|
};
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
214
|
+
useMatrixStore.getState().setMatrix(
|
|
215
|
+
createMockMatrix(SKILLS, {
|
|
216
|
+
categories: {
|
|
217
|
+
"web-framework": { domain: "web" },
|
|
218
|
+
"web-client-state": { domain: "web" },
|
|
219
|
+
"api-api": { domain: "api" }
|
|
220
|
+
}
|
|
221
|
+
})
|
|
222
|
+
);
|
|
223
|
+
store.populateFromStack(stack);
|
|
216
224
|
store.toggleDomain("web");
|
|
217
225
|
globalExpect(useWizardStore.getState().domainSelections.web).toBeUndefined();
|
|
218
226
|
store.toggleDomain("web");
|
|
@@ -222,15 +230,15 @@ describe("WizardStore", () => {
|
|
|
222
230
|
});
|
|
223
231
|
it("should restore stack skills when re-toggling a domain ON after populateFromSkillIds", () => {
|
|
224
232
|
const store = useWizardStore.getState();
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
store.populateFromSkillIds(["web-framework-react", "api-framework-hono"]
|
|
233
|
+
useMatrixStore.getState().setMatrix(
|
|
234
|
+
createMockMatrix(SKILLS.react, SKILLS.hono, {
|
|
235
|
+
categories: {
|
|
236
|
+
"web-framework": TEST_CATEGORIES.framework,
|
|
237
|
+
"api-api": TEST_CATEGORIES.api
|
|
238
|
+
}
|
|
239
|
+
})
|
|
240
|
+
);
|
|
241
|
+
store.populateFromSkillIds(["web-framework-react", "api-framework-hono"]);
|
|
234
242
|
store.toggleDomain("web");
|
|
235
243
|
globalExpect(useWizardStore.getState().domainSelections.web).toBeUndefined();
|
|
236
244
|
store.toggleDomain("web");
|
|
@@ -255,11 +263,15 @@ describe("WizardStore", () => {
|
|
|
255
263
|
api: { "api-api": [sa("api-framework-hono", true)] }
|
|
256
264
|
}
|
|
257
265
|
};
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
266
|
+
useMatrixStore.getState().setMatrix(
|
|
267
|
+
createMockMatrix(SKILLS, {
|
|
268
|
+
categories: {
|
|
269
|
+
"web-framework": { domain: "web" },
|
|
270
|
+
"api-api": { domain: "api" }
|
|
271
|
+
}
|
|
272
|
+
})
|
|
273
|
+
);
|
|
274
|
+
store.populateFromStack(stack);
|
|
263
275
|
store.toggleTechnology("api", "api-api", "api-framework-hono", true);
|
|
264
276
|
store.toggleTechnology("api", "api-api", "api-framework-express", true);
|
|
265
277
|
store.toggleDomain("web");
|
|
@@ -419,7 +431,7 @@ describe("WizardStore", () => {
|
|
|
419
431
|
globalExpect(skillConfigs).toHaveLength(1);
|
|
420
432
|
globalExpect(skillConfigs[0]).toEqual({
|
|
421
433
|
id: "web-framework-react",
|
|
422
|
-
scope: "
|
|
434
|
+
scope: "global",
|
|
423
435
|
source: "agents-inc"
|
|
424
436
|
});
|
|
425
437
|
});
|
|
@@ -449,20 +461,20 @@ describe("WizardStore", () => {
|
|
|
449
461
|
"web-testing-playwright-e2e"
|
|
450
462
|
]);
|
|
451
463
|
});
|
|
452
|
-
it("should toggle skill scope between
|
|
464
|
+
it("should toggle skill scope between global and project", () => {
|
|
453
465
|
const store = useWizardStore.getState();
|
|
454
466
|
store.toggleTechnology("web", "web-framework", "web-framework-react", true);
|
|
455
467
|
store.toggleSkillScope("web-framework-react");
|
|
456
468
|
const { skillConfigs } = useWizardStore.getState();
|
|
457
|
-
globalExpect(skillConfigs[0].scope).toBe("
|
|
469
|
+
globalExpect(skillConfigs[0].scope).toBe("project");
|
|
458
470
|
});
|
|
459
|
-
it("should toggle skill scope back to
|
|
471
|
+
it("should toggle skill scope back to global", () => {
|
|
460
472
|
const store = useWizardStore.getState();
|
|
461
473
|
store.toggleTechnology("web", "web-framework", "web-framework-react", true);
|
|
462
474
|
store.toggleSkillScope("web-framework-react");
|
|
463
475
|
store.toggleSkillScope("web-framework-react");
|
|
464
476
|
const { skillConfigs } = useWizardStore.getState();
|
|
465
|
-
globalExpect(skillConfigs[0].scope).toBe("
|
|
477
|
+
globalExpect(skillConfigs[0].scope).toBe("global");
|
|
466
478
|
});
|
|
467
479
|
it("should update source via setSkillSource", () => {
|
|
468
480
|
const store = useWizardStore.getState();
|
|
@@ -495,28 +507,32 @@ describe("WizardStore", () => {
|
|
|
495
507
|
}
|
|
496
508
|
}
|
|
497
509
|
};
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
510
|
+
useMatrixStore.getState().setMatrix(
|
|
511
|
+
createMockMatrix(SKILLS, {
|
|
512
|
+
categories: {
|
|
513
|
+
"web-framework": { domain: "web" },
|
|
514
|
+
"web-client-state": { domain: "web" }
|
|
515
|
+
}
|
|
516
|
+
})
|
|
517
|
+
);
|
|
518
|
+
store.populateFromStack(stack);
|
|
503
519
|
const { skillConfigs } = useWizardStore.getState();
|
|
504
520
|
globalExpect(skillConfigs).toHaveLength(2);
|
|
505
521
|
globalExpect(skillConfigs.map((sc) => sc.id)).toEqual(["web-framework-react", "web-state-zustand"]);
|
|
506
|
-
globalExpect(skillConfigs.every((sc) => sc.scope === "
|
|
522
|
+
globalExpect(skillConfigs.every((sc) => sc.scope === "global")).toBe(true);
|
|
507
523
|
globalExpect(skillConfigs.every((sc) => sc.source === "agents-inc")).toBe(true);
|
|
508
524
|
});
|
|
509
525
|
it("should populate skillConfigs from populateFromSkillIds", () => {
|
|
510
526
|
const store = useWizardStore.getState();
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
store.populateFromSkillIds(["web-framework-react", "api-framework-hono"]
|
|
527
|
+
useMatrixStore.getState().setMatrix(
|
|
528
|
+
createMockMatrix(SKILLS.react, SKILLS.hono, {
|
|
529
|
+
categories: {
|
|
530
|
+
"web-framework": TEST_CATEGORIES.framework,
|
|
531
|
+
"api-api": TEST_CATEGORIES.api
|
|
532
|
+
}
|
|
533
|
+
})
|
|
534
|
+
);
|
|
535
|
+
store.populateFromSkillIds(["web-framework-react", "api-framework-hono"]);
|
|
520
536
|
const { skillConfigs } = useWizardStore.getState();
|
|
521
537
|
globalExpect(skillConfigs).toHaveLength(2);
|
|
522
538
|
globalExpect(skillConfigs.map((sc) => sc.id)).toEqual([
|
|
@@ -539,10 +555,14 @@ describe("WizardStore", () => {
|
|
|
539
555
|
web: { "web-framework": [sa("web-framework-react", true)] }
|
|
540
556
|
}
|
|
541
557
|
};
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
558
|
+
useMatrixStore.getState().setMatrix(
|
|
559
|
+
createMockMatrix(SKILLS, {
|
|
560
|
+
categories: {
|
|
561
|
+
"web-framework": { domain: "web" }
|
|
562
|
+
}
|
|
563
|
+
})
|
|
564
|
+
);
|
|
565
|
+
store.populateFromStack(stack);
|
|
546
566
|
globalExpect(useWizardStore.getState().skillConfigs).toHaveLength(1);
|
|
547
567
|
store.toggleDomain("web");
|
|
548
568
|
globalExpect(useWizardStore.getState().skillConfigs).toHaveLength(0);
|
|
@@ -571,13 +591,13 @@ describe("WizardStore", () => {
|
|
|
571
591
|
const store = useWizardStore.getState();
|
|
572
592
|
store.toggleTechnology("web", "web-framework", "web-framework-react", true);
|
|
573
593
|
store.setSourceSelection("web-framework-react", "local");
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
...
|
|
594
|
+
useMatrixStore.getState().setMatrix(
|
|
595
|
+
createMockMatrix({
|
|
596
|
+
...SKILLS.react,
|
|
577
597
|
availableSources: [{ name: "Acme Corp", type: "private", installed: false }]
|
|
578
|
-
}
|
|
579
|
-
|
|
580
|
-
store.setAllSourcesPlugin(
|
|
598
|
+
})
|
|
599
|
+
);
|
|
600
|
+
store.setAllSourcesPlugin();
|
|
581
601
|
const { skillConfigs } = useWizardStore.getState();
|
|
582
602
|
globalExpect(skillConfigs[0].source).toBe("Acme Corp");
|
|
583
603
|
});
|
|
@@ -593,13 +613,6 @@ describe("WizardStore", () => {
|
|
|
593
613
|
globalExpect(technologies).toContain("web-styling-scss-modules");
|
|
594
614
|
globalExpect(technologies).toContain("api-framework-hono");
|
|
595
615
|
});
|
|
596
|
-
it("should get default methodology skills", () => {
|
|
597
|
-
const store = useWizardStore.getState();
|
|
598
|
-
const skills = store.getDefaultMethodologySkills();
|
|
599
|
-
for (const skill of DEFAULT_PRESELECTED_SKILLS) {
|
|
600
|
-
globalExpect(skills).toContain(skill);
|
|
601
|
-
}
|
|
602
|
-
});
|
|
603
616
|
it("should get selected technologies per domain", () => {
|
|
604
617
|
const store = useWizardStore.getState();
|
|
605
618
|
store.toggleTechnology("web", "web-framework", "web-framework-react", true);
|
|
@@ -692,10 +705,14 @@ describe("WizardStore", () => {
|
|
|
692
705
|
web: { "web-framework": [sa("web-framework-react", true)] }
|
|
693
706
|
}
|
|
694
707
|
};
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
708
|
+
useMatrixStore.getState().setMatrix(
|
|
709
|
+
createMockMatrix(SKILLS, {
|
|
710
|
+
categories: {
|
|
711
|
+
"web-framework": { domain: "web" }
|
|
712
|
+
}
|
|
713
|
+
})
|
|
714
|
+
);
|
|
715
|
+
store.populateFromStack(stack);
|
|
699
716
|
const { selectedDomains, domainSelections } = useWizardStore.getState();
|
|
700
717
|
globalExpect(selectedDomains).toEqual(["web", "api", "mobile", "cli", "shared"]);
|
|
701
718
|
globalExpect(domainSelections.web).toBeDefined();
|
|
@@ -713,12 +730,16 @@ describe("WizardStore", () => {
|
|
|
713
730
|
api: { "api-api": [sa("api-framework-hono", true)] }
|
|
714
731
|
}
|
|
715
732
|
};
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
733
|
+
useMatrixStore.getState().setMatrix(
|
|
734
|
+
createMockMatrix(SKILLS, {
|
|
735
|
+
categories: {
|
|
736
|
+
"web-framework": { domain: "web" },
|
|
737
|
+
"web-client-state": { domain: "web" },
|
|
738
|
+
"api-api": { domain: "api" }
|
|
739
|
+
}
|
|
740
|
+
})
|
|
741
|
+
);
|
|
742
|
+
store.populateFromStack(stack);
|
|
722
743
|
const { domainSelections } = useWizardStore.getState();
|
|
723
744
|
globalExpect(domainSelections.web["web-framework"]).toEqual(["web-framework-react"]);
|
|
724
745
|
globalExpect(domainSelections.web["web-client-state"]).toEqual(["web-state-zustand"]);
|
|
@@ -731,10 +752,14 @@ describe("WizardStore", () => {
|
|
|
731
752
|
misc: { "shared-methodology": [sa("meta-methodology-vitest")] }
|
|
732
753
|
}
|
|
733
754
|
};
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
755
|
+
useMatrixStore.getState().setMatrix(
|
|
756
|
+
createMockMatrix(SKILLS, {
|
|
757
|
+
categories: {
|
|
758
|
+
"shared-methodology": {}
|
|
759
|
+
}
|
|
760
|
+
})
|
|
761
|
+
);
|
|
762
|
+
store.populateFromStack(stack);
|
|
738
763
|
const { domainSelections } = useWizardStore.getState();
|
|
739
764
|
globalExpect(typedKeys(domainSelections)).toHaveLength(0);
|
|
740
765
|
});
|
|
@@ -751,10 +776,14 @@ describe("WizardStore", () => {
|
|
|
751
776
|
}
|
|
752
777
|
}
|
|
753
778
|
};
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
779
|
+
useMatrixStore.getState().setMatrix(
|
|
780
|
+
createMockMatrix(SKILLS, {
|
|
781
|
+
categories: {
|
|
782
|
+
"shared-methodology": { domain: "shared" }
|
|
783
|
+
}
|
|
784
|
+
})
|
|
785
|
+
);
|
|
786
|
+
store.populateFromStack(stack);
|
|
758
787
|
const { domainSelections } = useWizardStore.getState();
|
|
759
788
|
globalExpect(domainSelections.shared["shared-methodology"]).toEqual([
|
|
760
789
|
"meta-methodology-investigation-requirements",
|
|
@@ -776,12 +805,16 @@ describe("WizardStore", () => {
|
|
|
776
805
|
api: { "api-api": [sa("api-framework-hono", true)] }
|
|
777
806
|
}
|
|
778
807
|
};
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
808
|
+
useMatrixStore.getState().setMatrix(
|
|
809
|
+
createMockMatrix(SKILLS, {
|
|
810
|
+
categories: {
|
|
811
|
+
"web-framework": { domain: "web" },
|
|
812
|
+
"shared-methodology": { domain: "shared" },
|
|
813
|
+
"api-api": { domain: "api" }
|
|
814
|
+
}
|
|
815
|
+
})
|
|
816
|
+
);
|
|
817
|
+
store.populateFromStack(stack);
|
|
785
818
|
const { domainSelections } = useWizardStore.getState();
|
|
786
819
|
globalExpect(domainSelections.web["web-framework"]).toEqual(["web-framework-react"]);
|
|
787
820
|
globalExpect(domainSelections.shared["shared-methodology"]).toEqual([
|
|
@@ -808,10 +841,14 @@ describe("WizardStore", () => {
|
|
|
808
841
|
}
|
|
809
842
|
}
|
|
810
843
|
};
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
844
|
+
useMatrixStore.getState().setMatrix(
|
|
845
|
+
createMockMatrix(SKILLS, {
|
|
846
|
+
categories: {
|
|
847
|
+
"shared-methodology": { domain: "shared" }
|
|
848
|
+
}
|
|
849
|
+
})
|
|
850
|
+
);
|
|
851
|
+
store.populateFromStack(stack);
|
|
815
852
|
const { domainSelections } = useWizardStore.getState();
|
|
816
853
|
globalExpect(domainSelections.shared["shared-methodology"]).toEqual([
|
|
817
854
|
"meta-methodology-investigation-requirements",
|
|
@@ -876,15 +913,15 @@ describe("WizardStore", () => {
|
|
|
876
913
|
it("should sort local sources before scoped marketplace sources", () => {
|
|
877
914
|
const store = useWizardStore.getState();
|
|
878
915
|
const skill = {
|
|
879
|
-
...
|
|
916
|
+
...SKILLS.react,
|
|
880
917
|
availableSources: [
|
|
881
918
|
makeSource({ name: "Acme Corp", type: "private", primary: true }),
|
|
882
919
|
makeSource({ name: "local", type: "local", installed: true, installMode: "local" })
|
|
883
920
|
]
|
|
884
921
|
};
|
|
885
|
-
|
|
922
|
+
useMatrixStore.getState().setMatrix(createMockMatrix(skill));
|
|
886
923
|
store.toggleTechnology("web", "web-framework", "web-framework-react", true);
|
|
887
|
-
const rows = store.buildSourceRows(
|
|
924
|
+
const rows = store.buildSourceRows();
|
|
888
925
|
globalExpect(rows).toHaveLength(1);
|
|
889
926
|
globalExpect(rows[0].options[0].id).toBe("local");
|
|
890
927
|
globalExpect(rows[0].options[1].id).toBe("Acme Corp");
|
|
@@ -892,15 +929,15 @@ describe("WizardStore", () => {
|
|
|
892
929
|
it("should sort scoped marketplace before default public marketplace", () => {
|
|
893
930
|
const store = useWizardStore.getState();
|
|
894
931
|
const skill = {
|
|
895
|
-
...
|
|
932
|
+
...SKILLS.react,
|
|
896
933
|
availableSources: [
|
|
897
934
|
makeSource({ name: "agents-inc", type: "public" }),
|
|
898
935
|
makeSource({ name: "Acme Corp", type: "private", primary: true })
|
|
899
936
|
]
|
|
900
937
|
};
|
|
901
|
-
|
|
938
|
+
useMatrixStore.getState().setMatrix(createMockMatrix(skill));
|
|
902
939
|
store.toggleTechnology("web", "web-framework", "web-framework-react", true);
|
|
903
|
-
const rows = store.buildSourceRows(
|
|
940
|
+
const rows = store.buildSourceRows();
|
|
904
941
|
globalExpect(rows).toHaveLength(1);
|
|
905
942
|
globalExpect(rows[0].options[0].id).toBe("local");
|
|
906
943
|
globalExpect(rows[0].options[1].id).toBe("Acme Corp");
|
|
@@ -909,15 +946,15 @@ describe("WizardStore", () => {
|
|
|
909
946
|
it("should sort default public marketplace before third-party sources", () => {
|
|
910
947
|
const store = useWizardStore.getState();
|
|
911
948
|
const skill = {
|
|
912
|
-
...
|
|
949
|
+
...SKILLS.react,
|
|
913
950
|
availableSources: [
|
|
914
951
|
makeSource({ name: "Extra Corp", type: "private" }),
|
|
915
952
|
makeSource({ name: "agents-inc", type: "public" })
|
|
916
953
|
]
|
|
917
954
|
};
|
|
918
|
-
|
|
955
|
+
useMatrixStore.getState().setMatrix(createMockMatrix(skill));
|
|
919
956
|
store.toggleTechnology("web", "web-framework", "web-framework-react", true);
|
|
920
|
-
const rows = store.buildSourceRows(
|
|
957
|
+
const rows = store.buildSourceRows();
|
|
921
958
|
globalExpect(rows).toHaveLength(1);
|
|
922
959
|
globalExpect(rows[0].options[0].id).toBe("local");
|
|
923
960
|
globalExpect(rows[0].options[1].id).toBe("agents-inc");
|
|
@@ -926,7 +963,7 @@ describe("WizardStore", () => {
|
|
|
926
963
|
it("should sort all four tiers in correct order", () => {
|
|
927
964
|
const store = useWizardStore.getState();
|
|
928
965
|
const skill = {
|
|
929
|
-
...
|
|
966
|
+
...SKILLS.react,
|
|
930
967
|
availableSources: [
|
|
931
968
|
makeSource({ name: "Extra Corp", type: "private" }),
|
|
932
969
|
makeSource({ name: "agents-inc", type: "public" }),
|
|
@@ -934,9 +971,9 @@ describe("WizardStore", () => {
|
|
|
934
971
|
makeSource({ name: "local", type: "local", installed: true, installMode: "local" })
|
|
935
972
|
]
|
|
936
973
|
};
|
|
937
|
-
|
|
974
|
+
useMatrixStore.getState().setMatrix(createMockMatrix(skill));
|
|
938
975
|
store.toggleTechnology("web", "web-framework", "web-framework-react", true);
|
|
939
|
-
const rows = store.buildSourceRows(
|
|
976
|
+
const rows = store.buildSourceRows();
|
|
940
977
|
globalExpect(rows).toHaveLength(1);
|
|
941
978
|
const sourceNames = rows[0].options.map((opt) => opt.id);
|
|
942
979
|
globalExpect(sourceNames).toEqual(["local", "Acme Corp", "agents-inc", "Extra Corp"]);
|
|
@@ -985,7 +1022,7 @@ describe("WizardStore", () => {
|
|
|
985
1022
|
const store = useWizardStore.getState();
|
|
986
1023
|
store.toggleAgent("web-developer");
|
|
987
1024
|
const { agentConfigs } = useWizardStore.getState();
|
|
988
|
-
globalExpect(agentConfigs).toEqual([{ name: "web-developer", scope: "
|
|
1025
|
+
globalExpect(agentConfigs).toEqual([{ name: "web-developer", scope: "global" }]);
|
|
989
1026
|
});
|
|
990
1027
|
it("should remove from agentConfigs when agent is toggled off", () => {
|
|
991
1028
|
const store = useWizardStore.getState();
|
|
@@ -994,15 +1031,15 @@ describe("WizardStore", () => {
|
|
|
994
1031
|
const { agentConfigs } = useWizardStore.getState();
|
|
995
1032
|
globalExpect(agentConfigs).toEqual([]);
|
|
996
1033
|
});
|
|
997
|
-
it("should toggle agent scope between
|
|
1034
|
+
it("should toggle agent scope between global and project", () => {
|
|
998
1035
|
const store = useWizardStore.getState();
|
|
999
1036
|
store.toggleAgent("web-developer");
|
|
1000
1037
|
store.toggleAgentScope("web-developer");
|
|
1001
1038
|
const { agentConfigs } = useWizardStore.getState();
|
|
1002
|
-
globalExpect(agentConfigs).toEqual([{ name: "web-developer", scope: "
|
|
1039
|
+
globalExpect(agentConfigs).toEqual([{ name: "web-developer", scope: "project" }]);
|
|
1003
1040
|
store.toggleAgentScope("web-developer");
|
|
1004
1041
|
globalExpect(useWizardStore.getState().agentConfigs).toEqual([
|
|
1005
|
-
{ name: "web-developer", scope: "
|
|
1042
|
+
{ name: "web-developer", scope: "global" }
|
|
1006
1043
|
]);
|
|
1007
1044
|
});
|
|
1008
1045
|
it("should set and clear focusedAgentId", () => {
|
|
@@ -1026,7 +1063,7 @@ describe("WizardStore", () => {
|
|
|
1026
1063
|
useWizardStore.setState({ lockedAgentNames: ["web-developer"] });
|
|
1027
1064
|
store.toggleAgentScope("web-developer");
|
|
1028
1065
|
const { agentConfigs } = useWizardStore.getState();
|
|
1029
|
-
globalExpect(agentConfigs).toEqual([{ name: "web-developer", scope: "
|
|
1066
|
+
globalExpect(agentConfigs).toEqual([{ name: "web-developer", scope: "global" }]);
|
|
1030
1067
|
});
|
|
1031
1068
|
});
|
|
1032
1069
|
describe("preselectAgentsFromDomains", () => {
|