@agents-inc/cli 0.45.0 → 0.46.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.
Files changed (164) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/{chunk-NTPHCNJO.js → chunk-3WKFSTG6.js} +2 -2
  3. package/dist/{chunk-ELRGSZHZ.js → chunk-4C7PDDLY.js} +5 -5
  4. package/dist/{chunk-HKRLWERR.js → chunk-5M6JI76P.js} +2 -2
  5. package/dist/{chunk-473YHDYQ.js → chunk-5QRJUBK7.js} +131 -45
  6. package/dist/chunk-5QRJUBK7.js.map +1 -0
  7. package/dist/{chunk-KVHLKPYB.js → chunk-72GS6PIH.js} +7 -7
  8. package/dist/{chunk-FVN5PFFY.js → chunk-74HSA7C4.js} +3 -1
  9. package/dist/chunk-74HSA7C4.js.map +1 -0
  10. package/dist/chunk-7LDSHHKN.js +132 -0
  11. package/dist/chunk-7LDSHHKN.js.map +1 -0
  12. package/dist/{chunk-F3O5YHSI.js → chunk-C7BO2ASM.js} +2 -2
  13. package/dist/{chunk-ABE55TEU.js → chunk-CD64ZNYI.js} +2 -2
  14. package/dist/chunk-CDGHSTB6.js +69 -0
  15. package/dist/chunk-CDGHSTB6.js.map +1 -0
  16. package/dist/{chunk-Q5BSIARS.js → chunk-CTQHZELA.js} +15 -15
  17. package/dist/chunk-CTQHZELA.js.map +1 -0
  18. package/dist/{chunk-OALQWRLG.js → chunk-D7JTL3DJ.js} +2 -2
  19. package/dist/{chunk-KWWLPPHF.js → chunk-DO5OZHSS.js} +2 -2
  20. package/dist/{chunk-DAVOSI4M.js → chunk-FKBCYT7B.js} +5 -5
  21. package/dist/{chunk-VTDEENSP.js → chunk-FUEZQ2H6.js} +5 -5
  22. package/dist/{chunk-VTDEENSP.js.map → chunk-FUEZQ2H6.js.map} +1 -1
  23. package/dist/{chunk-V43QDMYQ.js → chunk-G2WNOT3R.js} +2 -2
  24. package/dist/{chunk-M3AGB4TR.js → chunk-GVLYNP2I.js} +4 -4
  25. package/dist/{chunk-WWSKP5SR.js → chunk-HM3DHMW7.js} +70 -24
  26. package/dist/chunk-HM3DHMW7.js.map +1 -0
  27. package/dist/{chunk-ENWMWIHP.js → chunk-I26YP2Q3.js} +5 -12
  28. package/dist/chunk-I26YP2Q3.js.map +1 -0
  29. package/dist/{chunk-KZNPPUQG.js → chunk-J64CA4V6.js} +5 -3
  30. package/dist/chunk-J64CA4V6.js.map +1 -0
  31. package/dist/{chunk-YQFU2KZ5.js → chunk-KWQ2BQXF.js} +3 -3
  32. package/dist/{chunk-SRFNNOLC.js → chunk-LFZXMQOH.js} +2 -2
  33. package/dist/{chunk-ARET3NYO.js → chunk-NMXNHRAK.js} +3 -3
  34. package/dist/{chunk-GUIRWCKI.js → chunk-ODQ2BKWU.js} +3 -3
  35. package/dist/{chunk-SYGEV3KV.js → chunk-PZLUO4OY.js} +4 -4
  36. package/dist/{chunk-CLHBKFHU.js → chunk-QBUOZVNZ.js} +2 -2
  37. package/dist/{chunk-ZECXM7LP.js → chunk-RT6IBH37.js} +3524 -3502
  38. package/dist/chunk-RT6IBH37.js.map +1 -0
  39. package/dist/{chunk-YRVTXSXP.js → chunk-RWR56UVK.js} +3 -18
  40. package/dist/chunk-RWR56UVK.js.map +1 -0
  41. package/dist/{chunk-OLZBZAW4.js → chunk-SGXUMZWL.js} +2 -2
  42. package/dist/{chunk-3S4GIO4B.js → chunk-TOWP4T5L.js} +2 -2
  43. package/dist/{chunk-FYNMNY4P.js → chunk-UK3AMBR7.js} +17 -11
  44. package/dist/chunk-UK3AMBR7.js.map +1 -0
  45. package/dist/{chunk-M2XPTQDT.js → chunk-VH3PI43B.js} +4 -4
  46. package/dist/{chunk-3JRWNWBF.js → chunk-XE6RTHUD.js} +2 -3
  47. package/dist/{chunk-3JRWNWBF.js.map → chunk-XE6RTHUD.js.map} +1 -1
  48. package/dist/{chunk-KCYNTAAF.js → chunk-YT7UHV67.js} +8 -8
  49. package/dist/{chunk-SBWMSNS2.js → chunk-YVMYQSED.js} +2 -2
  50. package/dist/commands/build/marketplace.js +12 -126
  51. package/dist/commands/build/marketplace.js.map +1 -1
  52. package/dist/commands/build/plugins.js +5 -5
  53. package/dist/commands/build/stack.js +5 -5
  54. package/dist/commands/compile.js +6 -6
  55. package/dist/commands/config/get.js +4 -4
  56. package/dist/commands/config/index.js +5 -5
  57. package/dist/commands/config/path.js +4 -4
  58. package/dist/commands/config/set-project.js +4 -4
  59. package/dist/commands/config/show.js +5 -5
  60. package/dist/commands/config/unset-project.js +4 -4
  61. package/dist/commands/diff.js +4 -4
  62. package/dist/commands/doctor.js +4 -4
  63. package/dist/commands/edit.js +29 -29
  64. package/dist/commands/eject.js +19 -23
  65. package/dist/commands/eject.js.map +1 -1
  66. package/dist/commands/import/skill.js +5 -5
  67. package/dist/commands/info.js +5 -5
  68. package/dist/commands/init.js +30 -29
  69. package/dist/commands/init.js.map +1 -1
  70. package/dist/commands/list.js +4 -4
  71. package/dist/commands/new/agent.js +52 -38
  72. package/dist/commands/new/agent.js.map +1 -1
  73. package/dist/commands/new/marketplace.js +252 -0
  74. package/dist/commands/new/marketplace.js.map +1 -0
  75. package/dist/commands/new/skill.js +30 -14
  76. package/dist/commands/new/skill.js.map +1 -1
  77. package/dist/commands/outdated.js +4 -4
  78. package/dist/commands/search.js +7 -7
  79. package/dist/commands/uninstall.js +6 -6
  80. package/dist/commands/update.js +6 -6
  81. package/dist/commands/validate.js +5 -5
  82. package/dist/components/skill-search/skill-search.js +3 -3
  83. package/dist/components/wizard/category-grid.js +2 -2
  84. package/dist/components/wizard/category-grid.test.js +2 -2
  85. package/dist/components/wizard/checkbox-grid.js +3 -3
  86. package/dist/components/wizard/checkbox-grid.test.js +3 -3
  87. package/dist/components/wizard/domain-selection.js +9 -8
  88. package/dist/components/wizard/help-modal.js +2 -2
  89. package/dist/components/wizard/menu-item.js +1 -1
  90. package/dist/components/wizard/search-modal.js +2 -2
  91. package/dist/components/wizard/search-modal.test.js +2 -2
  92. package/dist/components/wizard/section-progress.js +2 -2
  93. package/dist/components/wizard/section-progress.test.js +2 -2
  94. package/dist/components/wizard/selection-card.js +2 -2
  95. package/dist/components/wizard/source-grid.js +3 -3
  96. package/dist/components/wizard/source-grid.test.js +3 -3
  97. package/dist/components/wizard/stack-selection.js +8 -9
  98. package/dist/components/wizard/step-agents.js +8 -7
  99. package/dist/components/wizard/step-agents.test.js +25 -20
  100. package/dist/components/wizard/step-agents.test.js.map +1 -1
  101. package/dist/components/wizard/step-build.js +8 -8
  102. package/dist/components/wizard/step-build.test.js +10 -10
  103. package/dist/components/wizard/step-confirm.js +4 -4
  104. package/dist/components/wizard/step-confirm.test.js +8 -8
  105. package/dist/components/wizard/step-refine.js +2 -2
  106. package/dist/components/wizard/step-refine.test.js +2 -2
  107. package/dist/components/wizard/step-settings.js +5 -5
  108. package/dist/components/wizard/step-settings.test.js +8 -8
  109. package/dist/components/wizard/step-sources.js +10 -10
  110. package/dist/components/wizard/step-sources.test.js +11 -11
  111. package/dist/components/wizard/step-stack.js +12 -12
  112. package/dist/components/wizard/step-stack.test.js +27 -15
  113. package/dist/components/wizard/step-stack.test.js.map +1 -1
  114. package/dist/components/wizard/view-title.js +2 -2
  115. package/dist/components/wizard/wizard-layout.js +8 -8
  116. package/dist/components/wizard/wizard-tabs.js +2 -2
  117. package/dist/components/wizard/wizard-tabs.test.js +2 -2
  118. package/dist/components/wizard/wizard.js +25 -25
  119. package/dist/hooks/init.js +3 -5
  120. package/dist/hooks/init.js.map +1 -1
  121. package/dist/{source-manager-HXFXBZJU.js → source-manager-6QZ2GDUA.js} +4 -4
  122. package/dist/stores/wizard-store.js +5 -5
  123. package/dist/stores/wizard-store.test.js +6 -6
  124. package/package.json +1 -1
  125. package/src/schemas/agent.schema.json +3 -0
  126. package/src/schemas/metadata.schema.json +4 -41
  127. package/src/schemas/project-config.schema.json +8 -4
  128. package/src/schemas/skills-matrix.schema.json +11 -298
  129. package/src/schemas/stacks.schema.json +2 -4
  130. package/dist/chunk-473YHDYQ.js.map +0 -1
  131. package/dist/chunk-5BDYODWP.js +0 -45
  132. package/dist/chunk-5BDYODWP.js.map +0 -1
  133. package/dist/chunk-ENWMWIHP.js.map +0 -1
  134. package/dist/chunk-FVN5PFFY.js.map +0 -1
  135. package/dist/chunk-FYNMNY4P.js.map +0 -1
  136. package/dist/chunk-KZNPPUQG.js.map +0 -1
  137. package/dist/chunk-Q5BSIARS.js.map +0 -1
  138. package/dist/chunk-WWSKP5SR.js.map +0 -1
  139. package/dist/chunk-YRVTXSXP.js.map +0 -1
  140. package/dist/chunk-ZECXM7LP.js.map +0 -1
  141. package/dist/cli/defaults/agent-mappings.yaml +0 -215
  142. /package/dist/{chunk-NTPHCNJO.js.map → chunk-3WKFSTG6.js.map} +0 -0
  143. /package/dist/{chunk-ELRGSZHZ.js.map → chunk-4C7PDDLY.js.map} +0 -0
  144. /package/dist/{chunk-HKRLWERR.js.map → chunk-5M6JI76P.js.map} +0 -0
  145. /package/dist/{chunk-KVHLKPYB.js.map → chunk-72GS6PIH.js.map} +0 -0
  146. /package/dist/{chunk-F3O5YHSI.js.map → chunk-C7BO2ASM.js.map} +0 -0
  147. /package/dist/{chunk-ABE55TEU.js.map → chunk-CD64ZNYI.js.map} +0 -0
  148. /package/dist/{chunk-OALQWRLG.js.map → chunk-D7JTL3DJ.js.map} +0 -0
  149. /package/dist/{chunk-KWWLPPHF.js.map → chunk-DO5OZHSS.js.map} +0 -0
  150. /package/dist/{chunk-DAVOSI4M.js.map → chunk-FKBCYT7B.js.map} +0 -0
  151. /package/dist/{chunk-V43QDMYQ.js.map → chunk-G2WNOT3R.js.map} +0 -0
  152. /package/dist/{chunk-M3AGB4TR.js.map → chunk-GVLYNP2I.js.map} +0 -0
  153. /package/dist/{chunk-YQFU2KZ5.js.map → chunk-KWQ2BQXF.js.map} +0 -0
  154. /package/dist/{chunk-SRFNNOLC.js.map → chunk-LFZXMQOH.js.map} +0 -0
  155. /package/dist/{chunk-ARET3NYO.js.map → chunk-NMXNHRAK.js.map} +0 -0
  156. /package/dist/{chunk-GUIRWCKI.js.map → chunk-ODQ2BKWU.js.map} +0 -0
  157. /package/dist/{chunk-SYGEV3KV.js.map → chunk-PZLUO4OY.js.map} +0 -0
  158. /package/dist/{chunk-CLHBKFHU.js.map → chunk-QBUOZVNZ.js.map} +0 -0
  159. /package/dist/{chunk-OLZBZAW4.js.map → chunk-SGXUMZWL.js.map} +0 -0
  160. /package/dist/{chunk-3S4GIO4B.js.map → chunk-TOWP4T5L.js.map} +0 -0
  161. /package/dist/{chunk-M2XPTQDT.js.map → chunk-VH3PI43B.js.map} +0 -0
  162. /package/dist/{chunk-KCYNTAAF.js.map → chunk-YT7UHV67.js.map} +0 -0
  163. /package/dist/{chunk-SBWMSNS2.js.map → chunk-YVMYQSED.js.map} +0 -0
  164. /package/dist/{source-manager-HXFXBZJU.js.map → source-manager-6QZ2GDUA.js.map} +0 -0
@@ -11,6 +11,9 @@ import {
11
11
  import {
12
12
  render
13
13
  } from "../../chunk-66UDJBF6.js";
14
+ import {
15
+ createMockMatrix
16
+ } from "../../chunk-XE6RTHUD.js";
14
17
  import {
15
18
  afterEach,
16
19
  beforeEach,
@@ -20,17 +23,18 @@ import {
20
23
  } from "../../chunk-XY3XDVMI.js";
21
24
  import {
22
25
  StepAgents
23
- } from "../../chunk-WWSKP5SR.js";
26
+ } from "../../chunk-HM3DHMW7.js";
24
27
  import "../../chunk-K77I4XGL.js";
25
- import "../../chunk-KWWLPPHF.js";
28
+ import "../../chunk-RWR56UVK.js";
29
+ import "../../chunk-DO5OZHSS.js";
26
30
  import {
27
31
  useWizardStore
28
- } from "../../chunk-FYNMNY4P.js";
29
- import "../../chunk-KZNPPUQG.js";
30
- import "../../chunk-ZECXM7LP.js";
32
+ } from "../../chunk-UK3AMBR7.js";
33
+ import "../../chunk-J64CA4V6.js";
34
+ import "../../chunk-RT6IBH37.js";
31
35
  import "../../chunk-T4EXUIBY.js";
32
- import "../../chunk-473YHDYQ.js";
33
- import "../../chunk-FVN5PFFY.js";
36
+ import "../../chunk-5QRJUBK7.js";
37
+ import "../../chunk-74HSA7C4.js";
34
38
  import {
35
39
  init_esm_shims
36
40
  } from "../../chunk-DHET7RCE.js";
@@ -38,6 +42,7 @@ import {
38
42
  // src/cli/components/wizard/step-agents.test.tsx
39
43
  init_esm_shims();
40
44
  import { jsx } from "react/jsx-runtime";
45
+ var EMPTY_MATRIX = createMockMatrix({});
41
46
  describe("StepAgents component", () => {
42
47
  let cleanup;
43
48
  beforeEach(() => {
@@ -49,13 +54,13 @@ describe("StepAgents component", () => {
49
54
  });
50
55
  describe("rendering", () => {
51
56
  it("should render title", () => {
52
- const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
57
+ const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
53
58
  cleanup = unmount;
54
59
  const output = lastFrame();
55
60
  globalExpect(output).toContain("Select agents to compile:");
56
61
  });
57
62
  it("should render all agents", () => {
58
- const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
63
+ const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
59
64
  cleanup = unmount;
60
65
  const output = lastFrame();
61
66
  globalExpect(output).toContain("Web Developer");
@@ -78,7 +83,7 @@ describe("StepAgents component", () => {
78
83
  globalExpect(output).toContain("CLI Migrator");
79
84
  });
80
85
  it("should render agent descriptions", () => {
81
- const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
86
+ const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
82
87
  cleanup = unmount;
83
88
  const output = lastFrame();
84
89
  globalExpect(output).toContain("Frontend features, components, TypeScript");
@@ -86,7 +91,7 @@ describe("StepAgents component", () => {
86
91
  globalExpect(output).toContain("CLI commands, interactive prompts");
87
92
  });
88
93
  it("should render group headers", () => {
89
- const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
94
+ const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
90
95
  cleanup = unmount;
91
96
  const output = lastFrame();
92
97
  globalExpect(output).toContain("Web");
@@ -95,7 +100,7 @@ describe("StepAgents component", () => {
95
100
  globalExpect(output).toContain("Meta");
96
101
  });
97
102
  it("should show continue arrow", () => {
98
- const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
103
+ const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
99
104
  cleanup = unmount;
100
105
  const output = lastFrame();
101
106
  globalExpect(output).toContain("\u2192");
@@ -106,13 +111,13 @@ describe("StepAgents component", () => {
106
111
  store.toggleAgent("web-developer");
107
112
  store.toggleAgent("api-developer");
108
113
  store.toggleAgent("web-reviewer");
109
- const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
114
+ const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
110
115
  cleanup = unmount;
111
116
  const output = lastFrame();
112
117
  globalExpect(output).toContain("Continue with 3 agent(s)");
113
118
  });
114
119
  it("should show 'Continue without agents' when no agents selected", () => {
115
- const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
120
+ const { lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
116
121
  cleanup = unmount;
117
122
  const output = lastFrame();
118
123
  globalExpect(output).toContain("Continue without agents");
@@ -120,7 +125,7 @@ describe("StepAgents component", () => {
120
125
  });
121
126
  describe("keyboard interaction", () => {
122
127
  it("should toggle agent on SPACE", async () => {
123
- const { stdin, lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
128
+ const { stdin, lastFrame, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
124
129
  cleanup = unmount;
125
130
  await delay(RENDER_DELAY_MS);
126
131
  stdin.write(SPACE);
@@ -129,7 +134,7 @@ describe("StepAgents component", () => {
129
134
  globalExpect(store.selectedAgents).toContain("web-developer");
130
135
  });
131
136
  it("should toggle correct agent after navigation", async () => {
132
- const { stdin, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
137
+ const { stdin, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
133
138
  cleanup = unmount;
134
139
  await delay(RENDER_DELAY_MS);
135
140
  stdin.write(ARROW_DOWN);
@@ -143,7 +148,7 @@ describe("StepAgents component", () => {
143
148
  const store = useWizardStore.getState();
144
149
  store.toggleAgent("web-developer");
145
150
  store.setStep("agents");
146
- const { stdin, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
151
+ const { stdin, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
147
152
  cleanup = unmount;
148
153
  await delay(RENDER_DELAY_MS);
149
154
  stdin.write(ENTER);
@@ -154,7 +159,7 @@ describe("StepAgents component", () => {
154
159
  it("should navigate to confirm on ENTER even with no agents selected", async () => {
155
160
  const store = useWizardStore.getState();
156
161
  store.setStep("agents");
157
- const { stdin, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
162
+ const { stdin, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
158
163
  cleanup = unmount;
159
164
  await delay(RENDER_DELAY_MS);
160
165
  stdin.write(ENTER);
@@ -166,7 +171,7 @@ describe("StepAgents component", () => {
166
171
  const store = useWizardStore.getState();
167
172
  store.setStep("sources");
168
173
  store.setStep("agents");
169
- const { stdin, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
174
+ const { stdin, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
170
175
  cleanup = unmount;
171
176
  await delay(RENDER_DELAY_MS);
172
177
  stdin.write(ESCAPE);
@@ -177,7 +182,7 @@ describe("StepAgents component", () => {
177
182
  it("should toggle agent off when already selected", async () => {
178
183
  const store = useWizardStore.getState();
179
184
  store.toggleAgent("web-developer");
180
- const { stdin, unmount } = render(/* @__PURE__ */ jsx(StepAgents, {}));
185
+ const { stdin, unmount } = render(/* @__PURE__ */ jsx(StepAgents, { matrix: EMPTY_MATRIX }));
181
186
  cleanup = unmount;
182
187
  await delay(RENDER_DELAY_MS);
183
188
  stdin.write(SPACE);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/components/wizard/step-agents.test.tsx"],"sourcesContent":["import { render } from \"ink-testing-library\";\nimport { afterEach, beforeEach, describe, expect, it } from \"vitest\";\nimport { StepAgents } from \"./step-agents\";\nimport { useWizardStore } from \"../../stores/wizard-store\";\nimport {\n ARROW_DOWN,\n ENTER,\n ESCAPE,\n SPACE,\n RENDER_DELAY_MS,\n INPUT_DELAY_MS,\n delay,\n} from \"../../lib/__tests__/test-constants\";\n\nconst EXPECTED_AGENT_COUNT = 18;\n\ndescribe(\"StepAgents component\", () => {\n let cleanup: (() => void) | undefined;\n\n beforeEach(() => {\n useWizardStore.getState().reset();\n });\n\n afterEach(() => {\n cleanup?.();\n cleanup = undefined;\n });\n\n describe(\"rendering\", () => {\n it(\"should render title\", () => {\n const { lastFrame, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Select agents to compile:\");\n });\n\n it(\"should render all agents\", () => {\n const { lastFrame, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Web Developer\");\n expect(output).toContain(\"API Developer\");\n expect(output).toContain(\"CLI Developer\");\n expect(output).toContain(\"Web Architecture\");\n expect(output).toContain(\"Web Reviewer\");\n expect(output).toContain(\"API Reviewer\");\n expect(output).toContain(\"CLI Reviewer\");\n expect(output).toContain(\"Web Researcher\");\n expect(output).toContain(\"API Researcher\");\n expect(output).toContain(\"Web Tester\");\n expect(output).toContain(\"CLI Tester\");\n expect(output).toContain(\"Web PM\");\n expect(output).toContain(\"Pattern Scout\");\n expect(output).toContain(\"Pattern Critique\");\n expect(output).toContain(\"Agent Summoner\");\n expect(output).toContain(\"Skill Summoner\");\n expect(output).toContain(\"Documentor\");\n expect(output).toContain(\"CLI Migrator\");\n });\n\n it(\"should render agent descriptions\", () => {\n const { lastFrame, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Frontend features, components, TypeScript\");\n expect(output).toContain(\"Backend routes, database, middleware\");\n expect(output).toContain(\"CLI commands, interactive prompts\");\n });\n\n it(\"should render group headers\", () => {\n const { lastFrame, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Web\");\n expect(output).toContain(\"API\");\n expect(output).toContain(\"CLI\");\n expect(output).toContain(\"Meta\");\n });\n\n it(\"should show continue arrow\", () => {\n const { lastFrame, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"\\u2192\");\n expect(output).toContain(\"Continue\");\n });\n\n it(\"should show continue option with agent count when agents selected\", () => {\n const store = useWizardStore.getState();\n store.toggleAgent(\"web-developer\");\n store.toggleAgent(\"api-developer\");\n store.toggleAgent(\"web-reviewer\");\n\n const { lastFrame, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Continue with 3 agent(s)\");\n });\n\n it(\"should show 'Continue without agents' when no agents selected\", () => {\n const { lastFrame, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Continue without agents\");\n });\n });\n\n describe(\"keyboard interaction\", () => {\n it(\"should toggle agent on SPACE\", async () => {\n const { stdin, lastFrame, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(SPACE);\n await delay(INPUT_DELAY_MS);\n\n const store = useWizardStore.getState();\n expect(store.selectedAgents).toContain(\"web-developer\");\n });\n\n it(\"should toggle correct agent after navigation\", async () => {\n const { stdin, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(SPACE);\n await delay(INPUT_DELAY_MS);\n\n const store = useWizardStore.getState();\n expect(store.selectedAgents).toContain(\"web-reviewer\");\n });\n\n it(\"should navigate to confirm on ENTER when agents selected\", async () => {\n const store = useWizardStore.getState();\n store.toggleAgent(\"web-developer\");\n // Set step to agents so setStep(\"confirm\") actually navigates\n store.setStep(\"agents\");\n\n const { stdin, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n const updatedStore = useWizardStore.getState();\n expect(updatedStore.step).toBe(\"confirm\");\n });\n\n it(\"should navigate to confirm on ENTER even with no agents selected\", async () => {\n const store = useWizardStore.getState();\n store.setStep(\"agents\");\n\n const { stdin, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n const updatedStore = useWizardStore.getState();\n expect(updatedStore.step).toBe(\"confirm\");\n });\n\n it(\"should go back on ESC\", async () => {\n const store = useWizardStore.getState();\n store.setStep(\"sources\");\n store.setStep(\"agents\");\n\n const { stdin, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ESCAPE);\n await delay(INPUT_DELAY_MS);\n\n const updatedStore = useWizardStore.getState();\n expect(updatedStore.step).toBe(\"sources\");\n });\n\n it(\"should toggle agent off when already selected\", async () => {\n const store = useWizardStore.getState();\n store.toggleAgent(\"web-developer\");\n\n const { stdin, unmount } = render(<StepAgents />);\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n // First item is web-developer, toggle it off\n stdin.write(SPACE);\n await delay(INPUT_DELAY_MS);\n\n const updatedStore = useWizardStore.getState();\n expect(updatedStore.selectedAgents).not.toContain(\"web-developer\");\n });\n });\n});\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/cli/components/wizard/step-agents.test.tsx"],"sourcesContent":["import { render } from \"ink-testing-library\";\nimport { afterEach, beforeEach, describe, expect, it } from \"vitest\";\nimport { StepAgents } from \"./step-agents\";\nimport { useWizardStore } from \"../../stores/wizard-store\";\nimport {\n ARROW_DOWN,\n ENTER,\n ESCAPE,\n SPACE,\n RENDER_DELAY_MS,\n INPUT_DELAY_MS,\n delay,\n} from \"../../lib/__tests__/test-constants\";\nimport { createMockMatrix } from \"../../lib/__tests__/helpers\";\n\nconst EXPECTED_AGENT_COUNT = 18;\nconst EMPTY_MATRIX = createMockMatrix({});\n\ndescribe(\"StepAgents component\", () => {\n let cleanup: (() => void) | undefined;\n\n beforeEach(() => {\n useWizardStore.getState().reset();\n });\n\n afterEach(() => {\n cleanup?.();\n cleanup = undefined;\n });\n\n describe(\"rendering\", () => {\n it(\"should render title\", () => {\n const { lastFrame, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Select agents to compile:\");\n });\n\n it(\"should render all agents\", () => {\n const { lastFrame, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Web Developer\");\n expect(output).toContain(\"API Developer\");\n expect(output).toContain(\"CLI Developer\");\n expect(output).toContain(\"Web Architecture\");\n expect(output).toContain(\"Web Reviewer\");\n expect(output).toContain(\"API Reviewer\");\n expect(output).toContain(\"CLI Reviewer\");\n expect(output).toContain(\"Web Researcher\");\n expect(output).toContain(\"API Researcher\");\n expect(output).toContain(\"Web Tester\");\n expect(output).toContain(\"CLI Tester\");\n expect(output).toContain(\"Web PM\");\n expect(output).toContain(\"Pattern Scout\");\n expect(output).toContain(\"Pattern Critique\");\n expect(output).toContain(\"Agent Summoner\");\n expect(output).toContain(\"Skill Summoner\");\n expect(output).toContain(\"Documentor\");\n expect(output).toContain(\"CLI Migrator\");\n });\n\n it(\"should render agent descriptions\", () => {\n const { lastFrame, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Frontend features, components, TypeScript\");\n expect(output).toContain(\"Backend routes, database, middleware\");\n expect(output).toContain(\"CLI commands, interactive prompts\");\n });\n\n it(\"should render group headers\", () => {\n const { lastFrame, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Web\");\n expect(output).toContain(\"API\");\n expect(output).toContain(\"CLI\");\n expect(output).toContain(\"Meta\");\n });\n\n it(\"should show continue arrow\", () => {\n const { lastFrame, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"\\u2192\");\n expect(output).toContain(\"Continue\");\n });\n\n it(\"should show continue option with agent count when agents selected\", () => {\n const store = useWizardStore.getState();\n store.toggleAgent(\"web-developer\");\n store.toggleAgent(\"api-developer\");\n store.toggleAgent(\"web-reviewer\");\n\n const { lastFrame, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Continue with 3 agent(s)\");\n });\n\n it(\"should show 'Continue without agents' when no agents selected\", () => {\n const { lastFrame, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Continue without agents\");\n });\n });\n\n describe(\"keyboard interaction\", () => {\n it(\"should toggle agent on SPACE\", async () => {\n const { stdin, lastFrame, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(SPACE);\n await delay(INPUT_DELAY_MS);\n\n const store = useWizardStore.getState();\n expect(store.selectedAgents).toContain(\"web-developer\");\n });\n\n it(\"should toggle correct agent after navigation\", async () => {\n const { stdin, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(SPACE);\n await delay(INPUT_DELAY_MS);\n\n const store = useWizardStore.getState();\n expect(store.selectedAgents).toContain(\"web-reviewer\");\n });\n\n it(\"should navigate to confirm on ENTER when agents selected\", async () => {\n const store = useWizardStore.getState();\n store.toggleAgent(\"web-developer\");\n // Set step to agents so setStep(\"confirm\") actually navigates\n store.setStep(\"agents\");\n\n const { stdin, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n const updatedStore = useWizardStore.getState();\n expect(updatedStore.step).toBe(\"confirm\");\n });\n\n it(\"should navigate to confirm on ENTER even with no agents selected\", async () => {\n const store = useWizardStore.getState();\n store.setStep(\"agents\");\n\n const { stdin, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n const updatedStore = useWizardStore.getState();\n expect(updatedStore.step).toBe(\"confirm\");\n });\n\n it(\"should go back on ESC\", async () => {\n const store = useWizardStore.getState();\n store.setStep(\"sources\");\n store.setStep(\"agents\");\n\n const { stdin, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ESCAPE);\n await delay(INPUT_DELAY_MS);\n\n const updatedStore = useWizardStore.getState();\n expect(updatedStore.step).toBe(\"sources\");\n });\n\n it(\"should toggle agent off when already selected\", async () => {\n const store = useWizardStore.getState();\n store.toggleAgent(\"web-developer\");\n\n const { stdin, unmount } = render(<StepAgents matrix={EMPTY_MATRIX} />);\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n // First item is web-developer, toggle it off\n stdin.write(SPACE);\n await delay(INPUT_DELAY_MS);\n\n const updatedStore = useWizardStore.getState();\n expect(updatedStore.selectedAgents).not.toContain(\"web-developer\");\n });\n });\n});\n"],"mappings":"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","names":[]}
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepBuild
4
- } from "../../chunk-KCYNTAAF.js";
4
+ } from "../../chunk-YT7UHV67.js";
5
5
  import "../../chunk-K77I4XGL.js";
6
- import "../../chunk-YRVTXSXP.js";
7
- import "../../chunk-ABE55TEU.js";
6
+ import "../../chunk-CD64ZNYI.js";
8
7
  import "../../chunk-GG4BSB6S.js";
9
- import "../../chunk-KWWLPPHF.js";
10
- import "../../chunk-KZNPPUQG.js";
11
- import "../../chunk-ZECXM7LP.js";
8
+ import "../../chunk-RWR56UVK.js";
9
+ import "../../chunk-DO5OZHSS.js";
10
+ import "../../chunk-J64CA4V6.js";
11
+ import "../../chunk-RT6IBH37.js";
12
12
  import "../../chunk-T4EXUIBY.js";
13
- import "../../chunk-473YHDYQ.js";
14
- import "../../chunk-FVN5PFFY.js";
13
+ import "../../chunk-5QRJUBK7.js";
14
+ import "../../chunk-74HSA7C4.js";
15
15
  import "../../chunk-DHET7RCE.js";
16
16
  export {
17
17
  StepBuild
@@ -14,7 +14,7 @@ import {
14
14
  createMockCategory,
15
15
  createMockMatrix,
16
16
  createMockSkill
17
- } from "../../chunk-3JRWNWBF.js";
17
+ } from "../../chunk-XE6RTHUD.js";
18
18
  import {
19
19
  afterEach,
20
20
  describe,
@@ -24,21 +24,21 @@ import {
24
24
  } from "../../chunk-XY3XDVMI.js";
25
25
  import {
26
26
  StepBuild
27
- } from "../../chunk-KCYNTAAF.js";
27
+ } from "../../chunk-YT7UHV67.js";
28
28
  import "../../chunk-K77I4XGL.js";
29
- import "../../chunk-YRVTXSXP.js";
30
- import "../../chunk-ABE55TEU.js";
29
+ import "../../chunk-CD64ZNYI.js";
31
30
  import "../../chunk-GG4BSB6S.js";
32
- import "../../chunk-KWWLPPHF.js";
33
- import "../../chunk-FYNMNY4P.js";
31
+ import "../../chunk-RWR56UVK.js";
32
+ import "../../chunk-DO5OZHSS.js";
33
+ import "../../chunk-UK3AMBR7.js";
34
34
  import {
35
35
  getSkillDisplayLabel,
36
36
  validateBuildStep
37
- } from "../../chunk-KZNPPUQG.js";
38
- import "../../chunk-ZECXM7LP.js";
37
+ } from "../../chunk-J64CA4V6.js";
38
+ import "../../chunk-RT6IBH37.js";
39
39
  import "../../chunk-T4EXUIBY.js";
40
- import "../../chunk-473YHDYQ.js";
41
- import "../../chunk-FVN5PFFY.js";
40
+ import "../../chunk-5QRJUBK7.js";
41
+ import "../../chunk-74HSA7C4.js";
42
42
  import {
43
43
  init_esm_shims
44
44
  } from "../../chunk-DHET7RCE.js";
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepConfirm
4
- } from "../../chunk-M3AGB4TR.js";
5
- import "../../chunk-YRVTXSXP.js";
6
- import "../../chunk-KWWLPPHF.js";
4
+ } from "../../chunk-GVLYNP2I.js";
5
+ import "../../chunk-RWR56UVK.js";
6
+ import "../../chunk-DO5OZHSS.js";
7
7
  import "../../chunk-T4EXUIBY.js";
8
- import "../../chunk-FVN5PFFY.js";
8
+ import "../../chunk-74HSA7C4.js";
9
9
  import "../../chunk-DHET7RCE.js";
10
10
  export {
11
11
  StepConfirm
@@ -18,17 +18,17 @@ import {
18
18
  } from "../../chunk-XY3XDVMI.js";
19
19
  import {
20
20
  StepConfirm
21
- } from "../../chunk-M3AGB4TR.js";
22
- import "../../chunk-YRVTXSXP.js";
23
- import "../../chunk-KWWLPPHF.js";
21
+ } from "../../chunk-GVLYNP2I.js";
22
+ import "../../chunk-RWR56UVK.js";
23
+ import "../../chunk-DO5OZHSS.js";
24
24
  import {
25
25
  useWizardStore
26
- } from "../../chunk-FYNMNY4P.js";
27
- import "../../chunk-KZNPPUQG.js";
28
- import "../../chunk-ZECXM7LP.js";
26
+ } from "../../chunk-UK3AMBR7.js";
27
+ import "../../chunk-J64CA4V6.js";
28
+ import "../../chunk-RT6IBH37.js";
29
29
  import "../../chunk-T4EXUIBY.js";
30
- import "../../chunk-473YHDYQ.js";
31
- import "../../chunk-FVN5PFFY.js";
30
+ import "../../chunk-5QRJUBK7.js";
31
+ import "../../chunk-74HSA7C4.js";
32
32
  import {
33
33
  init_esm_shims
34
34
  } from "../../chunk-DHET7RCE.js";
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepRefine
4
- } from "../../chunk-OLZBZAW4.js";
5
- import "../../chunk-FVN5PFFY.js";
4
+ } from "../../chunk-SGXUMZWL.js";
5
+ import "../../chunk-74HSA7C4.js";
6
6
  import "../../chunk-DHET7RCE.js";
7
7
  export {
8
8
  StepRefine
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepRefine
4
- } from "../../chunk-OLZBZAW4.js";
4
+ } from "../../chunk-SGXUMZWL.js";
5
5
  import {
6
6
  ARROW_DOWN,
7
7
  ARROW_UP,
@@ -23,7 +23,7 @@ import {
23
23
  } from "../../chunk-XY3XDVMI.js";
24
24
  import {
25
25
  DEFAULT_BRANDING
26
- } from "../../chunk-FVN5PFFY.js";
26
+ } from "../../chunk-74HSA7C4.js";
27
27
  import {
28
28
  init_esm_shims
29
29
  } from "../../chunk-DHET7RCE.js";
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepSettings
4
- } from "../../chunk-ELRGSZHZ.js";
4
+ } from "../../chunk-4C7PDDLY.js";
5
5
  import "../../chunk-7SOPVGDV.js";
6
6
  import "../../chunk-KUV24B5M.js";
7
- import "../../chunk-KWWLPPHF.js";
7
+ import "../../chunk-DO5OZHSS.js";
8
8
  import "../../chunk-U3IGFMCY.js";
9
- import "../../chunk-ZECXM7LP.js";
9
+ import "../../chunk-RT6IBH37.js";
10
10
  import "../../chunk-T4EXUIBY.js";
11
- import "../../chunk-473YHDYQ.js";
12
- import "../../chunk-FVN5PFFY.js";
11
+ import "../../chunk-5QRJUBK7.js";
12
+ import "../../chunk-74HSA7C4.js";
13
13
  import "../../chunk-DHET7RCE.js";
14
14
  export {
15
15
  StepSettings
@@ -19,15 +19,15 @@ import {
19
19
  } from "../../chunk-XY3XDVMI.js";
20
20
  import {
21
21
  StepSettings
22
- } from "../../chunk-ELRGSZHZ.js";
22
+ } from "../../chunk-4C7PDDLY.js";
23
23
  import "../../chunk-7SOPVGDV.js";
24
24
  import "../../chunk-KUV24B5M.js";
25
- import "../../chunk-KWWLPPHF.js";
25
+ import "../../chunk-DO5OZHSS.js";
26
26
  import "../../chunk-U3IGFMCY.js";
27
- import "../../chunk-ZECXM7LP.js";
27
+ import "../../chunk-RT6IBH37.js";
28
28
  import "../../chunk-T4EXUIBY.js";
29
- import "../../chunk-473YHDYQ.js";
30
- import "../../chunk-FVN5PFFY.js";
29
+ import "../../chunk-5QRJUBK7.js";
30
+ import "../../chunk-74HSA7C4.js";
31
31
  import {
32
32
  init_esm_shims
33
33
  } from "../../chunk-DHET7RCE.js";
@@ -55,7 +55,7 @@ describe("StepSettings component", () => {
55
55
  let cleanup;
56
56
  beforeEach(async () => {
57
57
  vi.resetAllMocks();
58
- const { getSourceSummary } = await import("../../source-manager-HXFXBZJU.js");
58
+ const { getSourceSummary } = await import("../../source-manager-6QZ2GDUA.js");
59
59
  vi.mocked(getSourceSummary).mockResolvedValue({
60
60
  sources: [
61
61
  { name: "public", url: "github:agents-inc/skills", enabled: true },
@@ -216,7 +216,7 @@ describe("StepSettings component", () => {
216
216
  });
217
217
  describe("edge cases", () => {
218
218
  it("should handle empty sources list gracefully", async () => {
219
- const { getSourceSummary } = await import("../../source-manager-HXFXBZJU.js");
219
+ const { getSourceSummary } = await import("../../source-manager-6QZ2GDUA.js");
220
220
  vi.mocked(getSourceSummary).mockResolvedValue({
221
221
  sources: [{ name: "public", url: "github:agents-inc/skills", enabled: true }],
222
222
  localSkillCount: 0,
@@ -230,7 +230,7 @@ describe("StepSettings component", () => {
230
230
  globalExpect(output).toContain("0");
231
231
  });
232
232
  it("should handle getSourceSummary failure gracefully", async () => {
233
- const { getSourceSummary } = await import("../../source-manager-HXFXBZJU.js");
233
+ const { getSourceSummary } = await import("../../source-manager-6QZ2GDUA.js");
234
234
  vi.mocked(getSourceSummary).mockRejectedValue(new Error("Config read failed"));
235
235
  const { lastFrame, unmount } = renderStepSettings();
236
236
  cleanup = unmount;
@@ -1,21 +1,21 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepSources
4
- } from "../../chunk-KVHLKPYB.js";
4
+ } from "../../chunk-72GS6PIH.js";
5
5
  import "../../chunk-K77I4XGL.js";
6
- import "../../chunk-NTPHCNJO.js";
7
- import "../../chunk-YQFU2KZ5.js";
6
+ import "../../chunk-3WKFSTG6.js";
7
+ import "../../chunk-KWQ2BQXF.js";
8
8
  import "../../chunk-7SOPVGDV.js";
9
- import "../../chunk-F3O5YHSI.js";
9
+ import "../../chunk-C7BO2ASM.js";
10
10
  import "../../chunk-KUV24B5M.js";
11
11
  import "../../chunk-GG4BSB6S.js";
12
- import "../../chunk-KWWLPPHF.js";
13
- import "../../chunk-FYNMNY4P.js";
14
- import "../../chunk-KZNPPUQG.js";
15
- import "../../chunk-ZECXM7LP.js";
12
+ import "../../chunk-DO5OZHSS.js";
13
+ import "../../chunk-UK3AMBR7.js";
14
+ import "../../chunk-J64CA4V6.js";
15
+ import "../../chunk-RT6IBH37.js";
16
16
  import "../../chunk-T4EXUIBY.js";
17
- import "../../chunk-473YHDYQ.js";
18
- import "../../chunk-FVN5PFFY.js";
17
+ import "../../chunk-5QRJUBK7.js";
18
+ import "../../chunk-74HSA7C4.js";
19
19
  import "../../chunk-DHET7RCE.js";
20
20
  export {
21
21
  StepSources
@@ -13,7 +13,7 @@ import {
13
13
  } from "../../chunk-66UDJBF6.js";
14
14
  import {
15
15
  TEST_MATRICES
16
- } from "../../chunk-3JRWNWBF.js";
16
+ } from "../../chunk-XE6RTHUD.js";
17
17
  import {
18
18
  afterEach,
19
19
  beforeEach,
@@ -24,26 +24,26 @@ import {
24
24
  } from "../../chunk-XY3XDVMI.js";
25
25
  import {
26
26
  StepSources
27
- } from "../../chunk-KVHLKPYB.js";
27
+ } from "../../chunk-72GS6PIH.js";
28
28
  import "../../chunk-K77I4XGL.js";
29
- import "../../chunk-NTPHCNJO.js";
30
- import "../../chunk-YQFU2KZ5.js";
29
+ import "../../chunk-3WKFSTG6.js";
30
+ import "../../chunk-KWQ2BQXF.js";
31
31
  import "../../chunk-7SOPVGDV.js";
32
- import "../../chunk-F3O5YHSI.js";
32
+ import "../../chunk-C7BO2ASM.js";
33
33
  import "../../chunk-KUV24B5M.js";
34
34
  import "../../chunk-GG4BSB6S.js";
35
- import "../../chunk-KWWLPPHF.js";
35
+ import "../../chunk-DO5OZHSS.js";
36
36
  import {
37
37
  useWizardStore
38
- } from "../../chunk-FYNMNY4P.js";
39
- import "../../chunk-KZNPPUQG.js";
40
- import "../../chunk-ZECXM7LP.js";
38
+ } from "../../chunk-UK3AMBR7.js";
39
+ import "../../chunk-J64CA4V6.js";
40
+ import "../../chunk-RT6IBH37.js";
41
41
  import "../../chunk-T4EXUIBY.js";
42
- import "../../chunk-473YHDYQ.js";
42
+ import "../../chunk-5QRJUBK7.js";
43
43
  import {
44
44
  DEFAULT_BRANDING,
45
45
  UI_SYMBOLS
46
- } from "../../chunk-FVN5PFFY.js";
46
+ } from "../../chunk-74HSA7C4.js";
47
47
  import {
48
48
  init_esm_shims
49
49
  } from "../../chunk-DHET7RCE.js";
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepStack
4
- } from "../../chunk-VTDEENSP.js";
5
- import "../../chunk-ENWMWIHP.js";
6
- import "../../chunk-YRVTXSXP.js";
7
- import "../../chunk-NTPHCNJO.js";
8
- import "../../chunk-5BDYODWP.js";
9
- import "../../chunk-GUIRWCKI.js";
10
- import "../../chunk-KWWLPPHF.js";
11
- import "../../chunk-FYNMNY4P.js";
12
- import "../../chunk-KZNPPUQG.js";
13
- import "../../chunk-ZECXM7LP.js";
4
+ } from "../../chunk-FUEZQ2H6.js";
5
+ import "../../chunk-I26YP2Q3.js";
6
+ import "../../chunk-3WKFSTG6.js";
7
+ import "../../chunk-CDGHSTB6.js";
8
+ import "../../chunk-RWR56UVK.js";
9
+ import "../../chunk-ODQ2BKWU.js";
10
+ import "../../chunk-DO5OZHSS.js";
11
+ import "../../chunk-UK3AMBR7.js";
12
+ import "../../chunk-J64CA4V6.js";
13
+ import "../../chunk-RT6IBH37.js";
14
14
  import "../../chunk-T4EXUIBY.js";
15
- import "../../chunk-473YHDYQ.js";
16
- import "../../chunk-FVN5PFFY.js";
15
+ import "../../chunk-5QRJUBK7.js";
16
+ import "../../chunk-74HSA7C4.js";
17
17
  import "../../chunk-DHET7RCE.js";
18
18
  export {
19
19
  StepStack
@@ -16,7 +16,7 @@ import {
16
16
  createMockCategory,
17
17
  createMockMatrix,
18
18
  createMockResolvedStack
19
- } from "../../chunk-3JRWNWBF.js";
19
+ } from "../../chunk-XE6RTHUD.js";
20
20
  import {
21
21
  afterEach,
22
22
  beforeEach,
@@ -27,21 +27,21 @@ import {
27
27
  } from "../../chunk-XY3XDVMI.js";
28
28
  import {
29
29
  StepStack
30
- } from "../../chunk-VTDEENSP.js";
31
- import "../../chunk-ENWMWIHP.js";
32
- import "../../chunk-YRVTXSXP.js";
33
- import "../../chunk-NTPHCNJO.js";
34
- import "../../chunk-5BDYODWP.js";
35
- import "../../chunk-GUIRWCKI.js";
36
- import "../../chunk-KWWLPPHF.js";
30
+ } from "../../chunk-FUEZQ2H6.js";
31
+ import "../../chunk-I26YP2Q3.js";
32
+ import "../../chunk-3WKFSTG6.js";
33
+ import "../../chunk-CDGHSTB6.js";
34
+ import "../../chunk-RWR56UVK.js";
35
+ import "../../chunk-ODQ2BKWU.js";
36
+ import "../../chunk-DO5OZHSS.js";
37
37
  import {
38
38
  useWizardStore
39
- } from "../../chunk-FYNMNY4P.js";
40
- import "../../chunk-KZNPPUQG.js";
41
- import "../../chunk-ZECXM7LP.js";
39
+ } from "../../chunk-UK3AMBR7.js";
40
+ import "../../chunk-J64CA4V6.js";
41
+ import "../../chunk-RT6IBH37.js";
42
42
  import "../../chunk-T4EXUIBY.js";
43
- import "../../chunk-473YHDYQ.js";
44
- import "../../chunk-FVN5PFFY.js";
43
+ import "../../chunk-5QRJUBK7.js";
44
+ import "../../chunk-74HSA7C4.js";
45
45
  import {
46
46
  init_esm_shims
47
47
  } from "../../chunk-DHET7RCE.js";
@@ -67,12 +67,24 @@ var createMockStackWithSkills = () => {
67
67
  return createMockMatrix(skills, {
68
68
  suggestedStacks,
69
69
  categories: {
70
- "web-framework": createMockCategory("web-framework", "Web", {
70
+ "web-framework": createMockCategory("web-framework", "Web Framework", {
71
+ domain: "web",
71
72
  exclusive: false
72
73
  }),
73
- "api-api": createMockCategory("api-api", "API", {
74
+ "api-api": createMockCategory("api-api", "API Framework", {
75
+ domain: "api",
74
76
  exclusive: false,
75
77
  order: 1
78
+ }),
79
+ "cli-framework": createMockCategory("cli-framework", "CLI Framework", {
80
+ domain: "cli",
81
+ exclusive: false,
82
+ order: 2
83
+ }),
84
+ "mobile-framework": createMockCategory("mobile-framework", "Mobile Framework", {
85
+ domain: "mobile",
86
+ exclusive: false,
87
+ order: 3
76
88
  })
77
89
  }
78
90
  });