@agents-inc/cli 0.74.12 → 0.75.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/{chunk-6W4H2K3Z.js → chunk-5BGBH3KD.js} +34 -20
  3. package/dist/chunk-5BGBH3KD.js.map +1 -0
  4. package/dist/{chunk-4CRWKTNQ.js → chunk-6C66NL4X.js} +2 -8
  5. package/dist/chunk-6C66NL4X.js.map +1 -0
  6. package/dist/{chunk-JBQRRJRY.js → chunk-7QAVO7VN.js} +43 -14
  7. package/dist/{chunk-JBQRRJRY.js.map → chunk-7QAVO7VN.js.map} +1 -1
  8. package/dist/{chunk-HT5KOOUQ.js → chunk-AOZBHMYL.js} +1 -2
  9. package/dist/chunk-AOZBHMYL.js.map +1 -0
  10. package/dist/{chunk-EWGFIBBU.js → chunk-BVSWWBPE.js} +4 -4
  11. package/dist/{chunk-62FBXUNR.js → chunk-CBXMOWQY.js} +2 -2
  12. package/dist/{chunk-NO2XIAJC.js → chunk-CUCF5LM4.js} +5 -5
  13. package/dist/{chunk-6RGNXTTG.js → chunk-DFKNFZI2.js} +16 -23
  14. package/dist/chunk-DFKNFZI2.js.map +1 -0
  15. package/dist/{chunk-MZQKSK3J.js → chunk-FHHTDPMW.js} +20 -11
  16. package/dist/{chunk-MZQKSK3J.js.map → chunk-FHHTDPMW.js.map} +1 -1
  17. package/dist/{chunk-DZUZVT5X.js → chunk-FYYIRFYT.js} +4 -4
  18. package/dist/{chunk-2YFC7IJ6.js → chunk-GCT7LSYW.js} +3 -3
  19. package/dist/{chunk-YUSLPHXO.js → chunk-GMUOEQOY.js} +5 -5
  20. package/dist/{chunk-NG2GGK6P.js → chunk-HKIQA4F6.js} +3813 -2751
  21. package/dist/chunk-HKIQA4F6.js.map +1 -0
  22. package/dist/{chunk-ZU7AOE3X.js → chunk-JGSPESM3.js} +2 -6
  23. package/dist/chunk-JGSPESM3.js.map +1 -0
  24. package/dist/{chunk-7M4INWUR.js → chunk-JNQKCZA3.js} +4 -7
  25. package/dist/chunk-JNQKCZA3.js.map +1 -0
  26. package/dist/{chunk-PJUC2WCA.js → chunk-JOTAIMTC.js} +27 -11
  27. package/dist/chunk-JOTAIMTC.js.map +1 -0
  28. package/dist/{chunk-IJLAVOKZ.js → chunk-KDYE3AGL.js} +2 -2
  29. package/dist/{chunk-NKKYTCBH.js → chunk-PSU42CXK.js} +609 -118
  30. package/dist/chunk-PSU42CXK.js.map +1 -0
  31. package/dist/{chunk-AKW425U6.js → chunk-Q3F36QZZ.js} +2 -2
  32. package/dist/{chunk-BM5Y6LIC.js → chunk-Q72ZBA4X.js} +2 -2
  33. package/dist/{chunk-DG2T7KYG.js → chunk-QN3V3ES7.js} +6 -6
  34. package/dist/{chunk-I7WXUAWA.js → chunk-SPATQKH6.js} +3 -3
  35. package/dist/{chunk-SRIH4U5Y.js → chunk-SYGXJBG6.js} +14 -3
  36. package/dist/chunk-SYGXJBG6.js.map +1 -0
  37. package/dist/{chunk-IJNNVCS4.js → chunk-TYM4D3OF.js} +2 -2
  38. package/dist/{chunk-ARGCINJC.js → chunk-U5R4M7MA.js} +6 -8
  39. package/dist/chunk-U5R4M7MA.js.map +1 -0
  40. package/dist/{chunk-LVNNP7T4.js → chunk-U6A4YFOF.js} +3 -3
  41. package/dist/{chunk-ICJV3JJF.js → chunk-UQKCYLOA.js} +26 -67
  42. package/dist/chunk-UQKCYLOA.js.map +1 -0
  43. package/dist/{chunk-HGTC76BX.js → chunk-V36FRPAU.js} +4 -2
  44. package/dist/chunk-V36FRPAU.js.map +1 -0
  45. package/dist/{chunk-NPMGVQM4.js → chunk-VU4ZCRZS.js} +5 -5
  46. package/dist/{chunk-TDHEAHXD.js → chunk-W22IYRZV.js} +3 -3
  47. package/dist/chunk-W22IYRZV.js.map +1 -0
  48. package/dist/{chunk-GJWHA6P4.js → chunk-WXC2Y5TF.js} +23 -17
  49. package/dist/chunk-WXC2Y5TF.js.map +1 -0
  50. package/dist/{chunk-RRBWNEG3.js → chunk-XHTN56UT.js} +2 -2
  51. package/dist/{chunk-W6NWOYMS.js → chunk-XZ57QYVI.js} +3 -3
  52. package/dist/{chunk-2DKJM7RO.js → chunk-ZZJ6H6VB.js} +23 -8
  53. package/dist/chunk-ZZJ6H6VB.js.map +1 -0
  54. package/dist/commands/build/marketplace.js +4 -4
  55. package/dist/commands/build/plugins.js +8 -8
  56. package/dist/commands/build/stack.js +8 -8
  57. package/dist/commands/compile.js +8 -8
  58. package/dist/commands/config/index.js +8 -8
  59. package/dist/commands/config/path.js +7 -7
  60. package/dist/commands/config/show.js +8 -8
  61. package/dist/commands/diff.js +7 -7
  62. package/dist/commands/doctor.js +7 -7
  63. package/dist/commands/edit.js +25 -25
  64. package/dist/commands/eject.js +7 -7
  65. package/dist/commands/import/skill.js +7 -7
  66. package/dist/commands/info.js +7 -15
  67. package/dist/commands/info.js.map +1 -1
  68. package/dist/commands/init.js +25 -25
  69. package/dist/commands/list.js +7 -7
  70. package/dist/commands/new/agent.js +8 -8
  71. package/dist/commands/new/marketplace.js +9 -9
  72. package/dist/commands/new/skill.js +8 -8
  73. package/dist/commands/outdated.js +7 -7
  74. package/dist/commands/search.js +11 -12
  75. package/dist/commands/search.js.map +1 -1
  76. package/dist/commands/uninstall.js +7 -7
  77. package/dist/commands/update.js +8 -8
  78. package/dist/commands/validate.js +7 -7
  79. package/dist/components/skill-search/skill-search.js +1 -1
  80. package/dist/components/wizard/category-grid.js +2 -2
  81. package/dist/components/wizard/category-grid.test.js +16 -17
  82. package/dist/components/wizard/category-grid.test.js.map +1 -1
  83. package/dist/components/wizard/checkbox-grid.js +2 -2
  84. package/dist/components/wizard/checkbox-grid.test.js +2 -2
  85. package/dist/components/wizard/domain-selection.js +11 -11
  86. package/dist/components/wizard/source-grid.js +2 -2
  87. package/dist/components/wizard/source-grid.test.js +11 -11
  88. package/dist/components/wizard/stack-selection.js +8 -8
  89. package/dist/components/wizard/step-agents.js +10 -10
  90. package/dist/components/wizard/step-agents.test.js +14 -14
  91. package/dist/components/wizard/step-agents.test.js.map +1 -1
  92. package/dist/components/wizard/step-build.js +11 -11
  93. package/dist/components/wizard/step-build.test.js +13 -13
  94. package/dist/components/wizard/step-confirm.js +5 -5
  95. package/dist/components/wizard/step-confirm.test.js +11 -11
  96. package/dist/components/wizard/step-refine.js +2 -2
  97. package/dist/components/wizard/step-refine.test.js +2 -2
  98. package/dist/components/wizard/step-settings.js +8 -8
  99. package/dist/components/wizard/step-settings.test.js +11 -11
  100. package/dist/components/wizard/step-sources.js +11 -11
  101. package/dist/components/wizard/step-sources.test.js +24 -168
  102. package/dist/components/wizard/step-sources.test.js.map +1 -1
  103. package/dist/components/wizard/step-stack.js +13 -13
  104. package/dist/components/wizard/step-stack.test.js +14 -14
  105. package/dist/components/wizard/view-title.js +1 -2
  106. package/dist/components/wizard/wizard-layout.js +9 -9
  107. package/dist/components/wizard/wizard.js +23 -23
  108. package/dist/config-exports.js +1 -1
  109. package/dist/hooks/init.js +25 -25
  110. package/dist/{loader-NHUCFMFQ.js → loader-TK7YS2I5.js} +4 -4
  111. package/dist/plugins/dummy-skill/.claude-plugin/.content-hash +1 -0
  112. package/dist/plugins/dummy-skill/.claude-plugin/plugin.json +13 -0
  113. package/dist/{source-loader-42GVUFZA.js → source-loader-UQXJVVSO.js} +7 -7
  114. package/dist/source-manager-HS2ZT4XE.js +19 -0
  115. package/dist/stores/wizard-store.js +7 -7
  116. package/dist/stores/wizard-store.test.js +10 -10
  117. package/package.json +1 -1
  118. package/src/schemas/custom-metadata.schema.json +0 -7
  119. package/src/schemas/metadata.schema.json +0 -7
  120. package/dist/chunk-2DKJM7RO.js.map +0 -1
  121. package/dist/chunk-4CRWKTNQ.js.map +0 -1
  122. package/dist/chunk-6RGNXTTG.js.map +0 -1
  123. package/dist/chunk-6W4H2K3Z.js.map +0 -1
  124. package/dist/chunk-7M4INWUR.js.map +0 -1
  125. package/dist/chunk-ARGCINJC.js.map +0 -1
  126. package/dist/chunk-GJWHA6P4.js.map +0 -1
  127. package/dist/chunk-HGTC76BX.js.map +0 -1
  128. package/dist/chunk-HT5KOOUQ.js.map +0 -1
  129. package/dist/chunk-ICJV3JJF.js.map +0 -1
  130. package/dist/chunk-NG2GGK6P.js.map +0 -1
  131. package/dist/chunk-NKKYTCBH.js.map +0 -1
  132. package/dist/chunk-PJUC2WCA.js.map +0 -1
  133. package/dist/chunk-SRIH4U5Y.js.map +0 -1
  134. package/dist/chunk-TDHEAHXD.js.map +0 -1
  135. package/dist/chunk-ZU7AOE3X.js.map +0 -1
  136. package/dist/source-manager-WRZBOTEH.js +0 -19
  137. /package/dist/{chunk-EWGFIBBU.js.map → chunk-BVSWWBPE.js.map} +0 -0
  138. /package/dist/{chunk-62FBXUNR.js.map → chunk-CBXMOWQY.js.map} +0 -0
  139. /package/dist/{chunk-NO2XIAJC.js.map → chunk-CUCF5LM4.js.map} +0 -0
  140. /package/dist/{chunk-DZUZVT5X.js.map → chunk-FYYIRFYT.js.map} +0 -0
  141. /package/dist/{chunk-2YFC7IJ6.js.map → chunk-GCT7LSYW.js.map} +0 -0
  142. /package/dist/{chunk-YUSLPHXO.js.map → chunk-GMUOEQOY.js.map} +0 -0
  143. /package/dist/{chunk-IJLAVOKZ.js.map → chunk-KDYE3AGL.js.map} +0 -0
  144. /package/dist/{chunk-AKW425U6.js.map → chunk-Q3F36QZZ.js.map} +0 -0
  145. /package/dist/{chunk-BM5Y6LIC.js.map → chunk-Q72ZBA4X.js.map} +0 -0
  146. /package/dist/{chunk-DG2T7KYG.js.map → chunk-QN3V3ES7.js.map} +0 -0
  147. /package/dist/{chunk-I7WXUAWA.js.map → chunk-SPATQKH6.js.map} +0 -0
  148. /package/dist/{chunk-IJNNVCS4.js.map → chunk-TYM4D3OF.js.map} +0 -0
  149. /package/dist/{chunk-LVNNP7T4.js.map → chunk-U6A4YFOF.js.map} +0 -0
  150. /package/dist/{chunk-NPMGVQM4.js.map → chunk-VU4ZCRZS.js.map} +0 -0
  151. /package/dist/{chunk-RRBWNEG3.js.map → chunk-XHTN56UT.js.map} +0 -0
  152. /package/dist/{chunk-W6NWOYMS.js.map → chunk-XZ57QYVI.js.map} +0 -0
  153. /package/dist/{loader-NHUCFMFQ.js.map → loader-TK7YS2I5.js.map} +0 -0
  154. /package/dist/{source-loader-42GVUFZA.js.map → source-loader-UQXJVVSO.js.map} +0 -0
  155. /package/dist/{source-manager-WRZBOTEH.js.map → source-manager-HS2ZT4XE.js.map} +0 -0
@@ -1,7 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
- ARROW_DOWN,
4
- ARROW_UP,
5
3
  ENTER,
6
4
  ESCAPE,
7
5
  INPUT_DELAY_MS,
@@ -13,9 +11,9 @@ import {
13
11
  } from "../../chunk-66UDJBF6.js";
14
12
  import {
15
13
  WEB_PAIR_MATRIX
16
- } from "../../chunk-ICJV3JJF.js";
17
- import "../../chunk-IJNNVCS4.js";
18
- import "../../chunk-ZU7AOE3X.js";
14
+ } from "../../chunk-UQKCYLOA.js";
15
+ import "../../chunk-TYM4D3OF.js";
16
+ import "../../chunk-JGSPESM3.js";
19
17
  import {
20
18
  afterEach,
21
19
  beforeEach,
@@ -26,34 +24,31 @@ import {
26
24
  } from "../../chunk-XY3XDVMI.js";
27
25
  import {
28
26
  StepSources
29
- } from "../../chunk-6RGNXTTG.js";
30
- import "../../chunk-HGTC76BX.js";
27
+ } from "../../chunk-DFKNFZI2.js";
28
+ import "../../chunk-V36FRPAU.js";
31
29
  import "../../chunk-K77I4XGL.js";
32
30
  import "../../chunk-MWGDG4QN.js";
33
- import "../../chunk-TDHEAHXD.js";
31
+ import "../../chunk-W22IYRZV.js";
34
32
  import "../../chunk-7SOPVGDV.js";
35
33
  import "../../chunk-UFKDY45I.js";
36
34
  import "../../chunk-P2FHS5IS.js";
37
- import "../../chunk-7M4INWUR.js";
35
+ import "../../chunk-JNQKCZA3.js";
38
36
  import "../../chunk-AUNBGZS4.js";
39
37
  import "../../chunk-WF5PMBIR.js";
40
38
  import "../../chunk-KUV24B5M.js";
41
39
  import {
42
40
  useWizardStore
43
- } from "../../chunk-EWGFIBBU.js";
41
+ } from "../../chunk-BVSWWBPE.js";
44
42
  import "../../chunk-CBYRFAUN.js";
45
- import "../../chunk-6W4H2K3Z.js";
46
- import "../../chunk-RRBWNEG3.js";
43
+ import "../../chunk-5BGBH3KD.js";
44
+ import "../../chunk-XHTN56UT.js";
47
45
  import {
48
46
  initializeMatrix
49
- } from "../../chunk-NG2GGK6P.js";
50
- import "../../chunk-4CRWKTNQ.js";
51
- import "../../chunk-SRIH4U5Y.js";
52
- import {
53
- DEFAULT_BRANDING,
54
- UI_SYMBOLS
55
- } from "../../chunk-EGMQ3SXN.js";
56
- import "../../chunk-NKKYTCBH.js";
47
+ } from "../../chunk-HKIQA4F6.js";
48
+ import "../../chunk-6C66NL4X.js";
49
+ import "../../chunk-SYGXJBG6.js";
50
+ import "../../chunk-EGMQ3SXN.js";
51
+ import "../../chunk-PSU42CXK.js";
57
52
  import {
58
53
  init_esm_shims
59
54
  } from "../../chunk-DHET7RCE.js";
@@ -86,108 +81,11 @@ describe("StepSources component", () => {
86
81
  cleanup?.();
87
82
  cleanup = void 0;
88
83
  });
89
- describe("choice view rendering", () => {
90
- it("should render technology count", () => {
91
- const { lastFrame, unmount } = renderStepSources();
92
- cleanup = unmount;
93
- const output = lastFrame();
94
- globalExpect(output).toContain("2");
95
- globalExpect(output).toContain("technologies");
96
- });
97
- it("should render 'Use all recommended' option", () => {
98
- const { lastFrame, unmount } = renderStepSources();
99
- cleanup = unmount;
100
- const output = lastFrame();
101
- globalExpect(output).toContain("Use all recommended skills (verified)");
102
- });
103
- it("should render 'Customize skill sources' option", () => {
104
- const { lastFrame, unmount } = renderStepSources();
105
- cleanup = unmount;
106
- const output = lastFrame();
107
- globalExpect(output).toContain("Customize skill sources");
108
- });
109
- it("should render verification description", () => {
110
- const { lastFrame, unmount } = renderStepSources();
111
- cleanup = unmount;
112
- const output = lastFrame();
113
- globalExpect(output).toContain("fastest option");
114
- globalExpect(output).toContain("verified");
115
- globalExpect(output).toContain(DEFAULT_BRANDING.NAME);
116
- });
117
- it("should render customize description", () => {
118
- const { lastFrame, unmount } = renderStepSources();
119
- cleanup = unmount;
120
- const output = lastFrame();
121
- globalExpect(output).toContain("Choose alternative skills for each technology");
122
- });
123
- it("should show recommended as default selected", () => {
124
- const { lastFrame, unmount } = renderStepSources();
125
- cleanup = unmount;
126
- const output = lastFrame();
127
- globalExpect(output).toContain(UI_SYMBOLS.CHEVRON);
128
- globalExpect(output).toContain("Use all recommended");
129
- });
130
- });
131
- describe("choice view keyboard navigation", () => {
132
- it("should toggle options with arrow up", async () => {
133
- const { lastFrame, stdin, unmount } = renderStepSources();
134
- cleanup = unmount;
135
- await delay(RENDER_DELAY_MS);
136
- let output = lastFrame();
137
- globalExpect(output).toContain("Use all recommended");
138
- stdin.write(ARROW_UP);
139
- await delay(INPUT_DELAY_MS);
140
- output = lastFrame();
141
- globalExpect(output).toContain("Customize skill sources");
142
- });
143
- it("should toggle options with arrow down", async () => {
144
- const { stdin, unmount } = renderStepSources();
145
- cleanup = unmount;
146
- await delay(RENDER_DELAY_MS);
147
- stdin.write(ARROW_DOWN);
148
- await delay(INPUT_DELAY_MS);
149
- });
150
- it("should call onContinue when Enter pressed on 'Use all recommended'", async () => {
151
- const onContinue = vi.fn();
152
- const { stdin, unmount } = renderStepSources({ onContinue });
153
- cleanup = unmount;
154
- await delay(RENDER_DELAY_MS);
155
- stdin.write(ENTER);
156
- await delay(INPUT_DELAY_MS);
157
- globalExpect(onContinue).toHaveBeenCalledTimes(1);
158
- });
159
- it("should call onBack when Escape pressed", async () => {
160
- const onBack = vi.fn();
161
- const { stdin, unmount } = renderStepSources({ onBack });
162
- cleanup = unmount;
163
- await delay(RENDER_DELAY_MS);
164
- stdin.write(ESCAPE);
165
- await delay(INPUT_DELAY_MS);
166
- globalExpect(onBack).toHaveBeenCalledTimes(1);
167
- });
168
- it("should switch to customize view when Enter pressed on 'Customize'", async () => {
169
- const { lastFrame, stdin, unmount } = renderStepSources();
170
- cleanup = unmount;
171
- await delay(RENDER_DELAY_MS);
172
- stdin.write(ARROW_DOWN);
173
- await delay(INPUT_DELAY_MS);
174
- stdin.write(ENTER);
175
- await delay(INPUT_DELAY_MS);
176
- const output = lastFrame();
177
- globalExpect(output).toContain("Customize skill sources");
178
- globalExpect(output).toContain("React");
179
- globalExpect(output).toContain("Zustand");
180
- });
181
- });
182
84
  describe("customize view", () => {
183
85
  it("should show source grid with selected technologies", async () => {
184
- const { lastFrame, stdin, unmount } = renderStepSources();
86
+ const { lastFrame, unmount } = renderStepSources();
185
87
  cleanup = unmount;
186
88
  await delay(RENDER_DELAY_MS);
187
- stdin.write(ARROW_DOWN);
188
- await delay(INPUT_DELAY_MS);
189
- stdin.write(ENTER);
190
- await delay(INPUT_DELAY_MS);
191
89
  const output = lastFrame();
192
90
  globalExpect(output).toContain("React");
193
91
  globalExpect(output).toContain("Zustand");
@@ -198,39 +96,23 @@ describe("StepSources component", () => {
198
96
  const { stdin, unmount } = renderStepSources({ onContinue });
199
97
  cleanup = unmount;
200
98
  await delay(RENDER_DELAY_MS);
201
- stdin.write(ARROW_DOWN);
202
- await delay(INPUT_DELAY_MS);
203
- stdin.write(ENTER);
204
- await delay(INPUT_DELAY_MS);
205
99
  stdin.write(ENTER);
206
100
  await delay(INPUT_DELAY_MS);
207
101
  globalExpect(onContinue).toHaveBeenCalledTimes(1);
208
102
  });
209
- it("should go back to choice view when Escape pressed in customize view", async () => {
103
+ it("should call onBack when Escape pressed in customize view", async () => {
210
104
  const onBack = vi.fn();
211
- const { lastFrame, stdin, unmount } = renderStepSources({ onBack });
105
+ const { stdin, unmount } = renderStepSources({ onBack });
212
106
  cleanup = unmount;
213
107
  await delay(RENDER_DELAY_MS);
214
- stdin.write(ARROW_DOWN);
215
- await delay(INPUT_DELAY_MS);
216
- stdin.write(ENTER);
217
- await delay(INPUT_DELAY_MS);
218
- globalExpect(lastFrame()).toContain("Customize skill sources");
219
108
  stdin.write(ESCAPE);
220
109
  await delay(INPUT_DELAY_MS);
221
- const output = lastFrame();
222
- globalExpect(output).toContain("Use all recommended skills (verified)");
223
- globalExpect(output).toContain("Customize skill sources");
224
- globalExpect(onBack).not.toHaveBeenCalled();
110
+ globalExpect(onBack).toHaveBeenCalledTimes(1);
225
111
  });
226
112
  it("should show ViewTitle in customize view", async () => {
227
- const { lastFrame, stdin, unmount } = renderStepSources();
113
+ const { lastFrame, unmount } = renderStepSources();
228
114
  cleanup = unmount;
229
115
  await delay(RENDER_DELAY_MS);
230
- stdin.write(ARROW_DOWN);
231
- await delay(INPUT_DELAY_MS);
232
- stdin.write(ENTER);
233
- await delay(INPUT_DELAY_MS);
234
116
  const output = lastFrame();
235
117
  globalExpect(output).toContain("Customize skill sources");
236
118
  });
@@ -243,8 +125,7 @@ describe("StepSources component", () => {
243
125
  const { lastFrame, unmount } = renderStepSources();
244
126
  cleanup = unmount;
245
127
  const output = lastFrame();
246
- globalExpect(output).toContain("0");
247
- globalExpect(output).toContain("technologies");
128
+ globalExpect(output).toContain("Customize skill sources");
248
129
  });
249
130
  it("should handle single technology", () => {
250
131
  useWizardStore.setState({
@@ -257,10 +138,10 @@ describe("StepSources component", () => {
257
138
  const { lastFrame, unmount } = renderStepSources();
258
139
  cleanup = unmount;
259
140
  const output = lastFrame();
260
- globalExpect(output).toContain("1");
261
- globalExpect(output).toContain("technologies");
141
+ globalExpect(output).toContain("Customize skill sources");
142
+ globalExpect(output).toContain("React");
262
143
  });
263
- it("should handle multiple Enter presses on recommended", async () => {
144
+ it("should handle multiple Enter presses in customize view", async () => {
264
145
  const onContinue = vi.fn();
265
146
  const { stdin, unmount } = renderStepSources({ onContinue });
266
147
  cleanup = unmount;
@@ -272,30 +153,5 @@ describe("StepSources component", () => {
272
153
  globalExpect(onContinue).toHaveBeenCalledTimes(2);
273
154
  });
274
155
  });
275
- describe("store integration", () => {
276
- it("should set customizeSources when switching to customize view", async () => {
277
- const { stdin, unmount } = renderStepSources();
278
- cleanup = unmount;
279
- await delay(RENDER_DELAY_MS);
280
- stdin.write(ARROW_DOWN);
281
- await delay(INPUT_DELAY_MS);
282
- stdin.write(ENTER);
283
- await delay(INPUT_DELAY_MS);
284
- globalExpect(useWizardStore.getState().customizeSources).toBe(true);
285
- });
286
- it("should reset customizeSources when escaping from customize view", async () => {
287
- const { stdin, unmount } = renderStepSources();
288
- cleanup = unmount;
289
- await delay(RENDER_DELAY_MS);
290
- stdin.write(ARROW_DOWN);
291
- await delay(INPUT_DELAY_MS);
292
- stdin.write(ENTER);
293
- await delay(INPUT_DELAY_MS);
294
- globalExpect(useWizardStore.getState().customizeSources).toBe(true);
295
- stdin.write(ESCAPE);
296
- await delay(INPUT_DELAY_MS);
297
- globalExpect(useWizardStore.getState().customizeSources).toBe(false);
298
- });
299
- });
300
156
  });
301
157
  //# sourceMappingURL=step-sources.test.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/components/wizard/step-sources.test.tsx"],"sourcesContent":["import { render } from \"ink-testing-library\";\nimport { describe, expect, it, afterEach, beforeEach, vi } from \"vitest\";\nimport { StepSources, type StepSourcesProps } from \"./step-sources\";\nimport { useWizardStore } from \"../../stores/wizard-store\";\nimport { initializeMatrix } from \"../../lib/matrix/matrix-provider\";\nimport {\n ENTER,\n ESCAPE,\n ARROW_UP,\n ARROW_DOWN,\n RENDER_DELAY_MS,\n INPUT_DELAY_MS,\n delay,\n} from \"../../lib/__tests__/test-constants\";\nimport { DEFAULT_BRANDING, UI_SYMBOLS } from \"../../consts\";\nimport { WEB_PAIR_MATRIX } from \"../../lib/__tests__/mock-data/mock-matrices\";\n\nconst mockMatrix = WEB_PAIR_MATRIX;\n\nconst defaultProps: StepSourcesProps = {\n onContinue: vi.fn(),\n onBack: vi.fn(),\n};\n\nconst renderStepSources = (props: Partial<StepSourcesProps> = {}) => {\n return render(<StepSources {...defaultProps} {...props} />);\n};\n\ndescribe(\"StepSources component\", () => {\n let cleanup: (() => void) | undefined;\n\n beforeEach(() => {\n initializeMatrix(mockMatrix);\n // Set up some selected technologies so the step has data to display\n useWizardStore.setState({\n domainSelections: {\n web: {\n \"web-framework\": [\"web-framework-react\"],\n \"web-client-state\": [\"web-state-zustand\"],\n },\n },\n });\n });\n\n afterEach(() => {\n cleanup?.();\n cleanup = undefined;\n });\n\n describe(\"choice view rendering\", () => {\n it(\"should render technology count\", () => {\n const { lastFrame, unmount } = renderStepSources();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"2\");\n expect(output).toContain(\"technologies\");\n });\n\n it(\"should render 'Use all recommended' option\", () => {\n const { lastFrame, unmount } = renderStepSources();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Use all recommended skills (verified)\");\n });\n\n it(\"should render 'Customize skill sources' option\", () => {\n const { lastFrame, unmount } = renderStepSources();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Customize skill sources\");\n });\n\n it(\"should render verification description\", () => {\n const { lastFrame, unmount } = renderStepSources();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"fastest option\");\n expect(output).toContain(\"verified\");\n expect(output).toContain(DEFAULT_BRANDING.NAME);\n });\n\n it(\"should render customize description\", () => {\n const { lastFrame, unmount } = renderStepSources();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"Choose alternative skills for each technology\");\n });\n\n it(\"should show recommended as default selected\", () => {\n const { lastFrame, unmount } = renderStepSources();\n cleanup = unmount;\n\n const output = lastFrame();\n // The chevron indicator should be on the recommended option\n expect(output).toContain(UI_SYMBOLS.CHEVRON);\n expect(output).toContain(\"Use all recommended\");\n });\n });\n\n describe(\"choice view keyboard navigation\", () => {\n it(\"should toggle options with arrow up\", async () => {\n const { lastFrame, stdin, unmount } = renderStepSources();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n\n // Initially recommended is selected\n let output = lastFrame();\n expect(output).toContain(\"Use all recommended\");\n\n // Press up to switch to customize\n stdin.write(ARROW_UP);\n await delay(INPUT_DELAY_MS);\n\n output = lastFrame();\n // Both options should still be present\n expect(output).toContain(\"Customize skill sources\");\n });\n\n it(\"should toggle options with arrow down\", async () => {\n const { stdin, unmount } = renderStepSources();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n\n // Should have toggled\n });\n\n it(\"should call onContinue when Enter pressed on 'Use all recommended'\", async () => {\n const onContinue = vi.fn();\n const { stdin, unmount } = renderStepSources({ onContinue });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(onContinue).toHaveBeenCalledTimes(1);\n });\n\n it(\"should call onBack when Escape pressed\", async () => {\n const onBack = vi.fn();\n const { stdin, unmount } = renderStepSources({ onBack });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ESCAPE);\n await delay(INPUT_DELAY_MS);\n\n expect(onBack).toHaveBeenCalledTimes(1);\n });\n\n it(\"should switch to customize view when Enter pressed on 'Customize'\", async () => {\n const { lastFrame, stdin, unmount } = renderStepSources();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n\n // Move to customize option\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n\n // Press Enter to switch to customize view\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n const output = lastFrame();\n // Should show the grid view with skill names\n expect(output).toContain(\"Customize skill sources\");\n // Should show the selected technologies (title-cased display names)\n expect(output).toContain(\"React\");\n expect(output).toContain(\"Zustand\");\n });\n });\n\n describe(\"customize view\", () => {\n it(\"should show source grid with selected technologies\", async () => {\n const { lastFrame, stdin, unmount } = renderStepSources();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n\n // Switch to customize view\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n const output = lastFrame();\n expect(output).toContain(\"React\");\n expect(output).toContain(\"Zustand\");\n expect(output).toContain(\"Agents Inc\");\n });\n\n it(\"should call onContinue when Enter pressed in customize view\", async () => {\n const onContinue = vi.fn();\n const { stdin, unmount } = renderStepSources({ onContinue });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n\n // Switch to customize view\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n // Press Enter to continue\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(onContinue).toHaveBeenCalledTimes(1);\n });\n\n it(\"should go back to choice view when Escape pressed in customize view\", async () => {\n const onBack = vi.fn();\n const { lastFrame, stdin, unmount } = renderStepSources({ onBack });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n\n // Switch to customize view\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n // Verify we're in customize view\n expect(lastFrame()).toContain(\"Customize skill sources\");\n\n // Press Escape to go back to choice view\n stdin.write(ESCAPE);\n await delay(INPUT_DELAY_MS);\n\n const output = lastFrame();\n // Should be back at choice view with both options\n expect(output).toContain(\"Use all recommended skills (verified)\");\n expect(output).toContain(\"Customize skill sources\");\n\n // onBack should NOT have been called (escape returns to choice, not to build)\n expect(onBack).not.toHaveBeenCalled();\n });\n\n it(\"should show ViewTitle in customize view\", async () => {\n const { lastFrame, stdin, unmount } = renderStepSources();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n\n // Switch to customize view\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n const output = lastFrame();\n expect(output).toContain(\"Customize skill sources\");\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"should handle zero technologies\", () => {\n useWizardStore.setState({\n domainSelections: {},\n });\n\n const { lastFrame, unmount } = renderStepSources();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"0\");\n expect(output).toContain(\"technologies\");\n });\n\n it(\"should handle single technology\", () => {\n useWizardStore.setState({\n domainSelections: {\n web: {\n \"web-framework\": [\"web-framework-react\"],\n },\n },\n });\n\n const { lastFrame, unmount } = renderStepSources();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"1\");\n expect(output).toContain(\"technologies\");\n });\n\n it(\"should handle multiple Enter presses on recommended\", async () => {\n const onContinue = vi.fn();\n const { stdin, unmount } = renderStepSources({ onContinue });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(onContinue).toHaveBeenCalledTimes(2);\n });\n });\n\n describe(\"store integration\", () => {\n it(\"should set customizeSources when switching to customize view\", async () => {\n const { stdin, unmount } = renderStepSources();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n\n // Switch to customize\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(useWizardStore.getState().customizeSources).toBe(true);\n });\n\n it(\"should reset customizeSources when escaping from customize view\", async () => {\n const { stdin, unmount } = renderStepSources();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n\n // Switch to customize\n stdin.write(ARROW_DOWN);\n await delay(INPUT_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(useWizardStore.getState().customizeSources).toBe(true);\n\n // Escape back\n stdin.write(ESCAPE);\n await delay(INPUT_DELAY_MS);\n\n expect(useWizardStore.getState().customizeSources).toBe(false);\n });\n });\n});\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/cli/components/wizard/step-sources.test.tsx"],"sourcesContent":["import { render } from \"ink-testing-library\";\nimport { describe, expect, it, afterEach, beforeEach, vi } from \"vitest\";\nimport { StepSources, type StepSourcesProps } from \"./step-sources\";\nimport { useWizardStore } from \"../../stores/wizard-store\";\nimport { initializeMatrix } from \"../../lib/matrix/matrix-provider\";\nimport {\n ENTER,\n ESCAPE,\n RENDER_DELAY_MS,\n INPUT_DELAY_MS,\n delay,\n} from \"../../lib/__tests__/test-constants\";\nimport { WEB_PAIR_MATRIX } from \"../../lib/__tests__/mock-data/mock-matrices\";\n\nconst mockMatrix = WEB_PAIR_MATRIX;\n\nconst defaultProps: StepSourcesProps = {\n onContinue: vi.fn(),\n onBack: vi.fn(),\n};\n\nconst renderStepSources = (props: Partial<StepSourcesProps> = {}) => {\n return render(<StepSources {...defaultProps} {...props} />);\n};\n\ndescribe(\"StepSources component\", () => {\n let cleanup: (() => void) | undefined;\n\n beforeEach(() => {\n initializeMatrix(mockMatrix);\n // Set up some selected technologies so the step has data to display\n useWizardStore.setState({\n domainSelections: {\n web: {\n \"web-framework\": [\"web-framework-react\"],\n \"web-client-state\": [\"web-state-zustand\"],\n },\n },\n });\n });\n\n afterEach(() => {\n cleanup?.();\n cleanup = undefined;\n });\n\n describe(\"customize view\", () => {\n it(\"should show source grid with selected technologies\", async () => {\n const { lastFrame, unmount } = renderStepSources();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n\n const output = lastFrame();\n expect(output).toContain(\"React\");\n expect(output).toContain(\"Zustand\");\n expect(output).toContain(\"Agents Inc\");\n });\n\n it(\"should call onContinue when Enter pressed in customize view\", async () => {\n const onContinue = vi.fn();\n const { stdin, unmount } = renderStepSources({ onContinue });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n\n // Press Enter to continue (starts directly in customize view)\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(onContinue).toHaveBeenCalledTimes(1);\n });\n\n it(\"should call onBack when Escape pressed in customize view\", async () => {\n const onBack = vi.fn();\n const { stdin, unmount } = renderStepSources({ onBack });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n\n // Press Escape (starts directly in customize view, goes back)\n stdin.write(ESCAPE);\n await delay(INPUT_DELAY_MS);\n\n expect(onBack).toHaveBeenCalledTimes(1);\n });\n\n it(\"should show ViewTitle in customize view\", async () => {\n const { lastFrame, unmount } = renderStepSources();\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n\n const output = lastFrame();\n expect(output).toContain(\"Customize skill sources\");\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"should handle zero technologies\", () => {\n useWizardStore.setState({\n domainSelections: {},\n });\n\n const { lastFrame, unmount } = renderStepSources();\n cleanup = unmount;\n\n const output = lastFrame();\n // Should still render the customize view title\n expect(output).toContain(\"Customize skill sources\");\n });\n\n it(\"should handle single technology\", () => {\n useWizardStore.setState({\n domainSelections: {\n web: {\n \"web-framework\": [\"web-framework-react\"],\n },\n },\n });\n\n const { lastFrame, unmount } = renderStepSources();\n cleanup = unmount;\n\n const output = lastFrame();\n // Should show the single technology in the source grid\n expect(output).toContain(\"Customize skill sources\");\n expect(output).toContain(\"React\");\n });\n\n it(\"should handle multiple Enter presses in customize view\", async () => {\n const onContinue = vi.fn();\n const { stdin, unmount } = renderStepSources({ onContinue });\n cleanup = unmount;\n\n await delay(RENDER_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n stdin.write(ENTER);\n await delay(INPUT_DELAY_MS);\n\n expect(onContinue).toHaveBeenCalledTimes(2);\n });\n });\n});\n"],"mappings":"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","names":[]}
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepStack
4
- } from "../../chunk-YUSLPHXO.js";
5
- import "../../chunk-2YFC7IJ6.js";
4
+ } from "../../chunk-GMUOEQOY.js";
5
+ import "../../chunk-GCT7LSYW.js";
6
6
  import "../../chunk-K77I4XGL.js";
7
7
  import "../../chunk-MWGDG4QN.js";
8
- import "../../chunk-NO2XIAJC.js";
9
- import "../../chunk-LVNNP7T4.js";
10
- import "../../chunk-62FBXUNR.js";
8
+ import "../../chunk-CUCF5LM4.js";
9
+ import "../../chunk-U6A4YFOF.js";
10
+ import "../../chunk-CBXMOWQY.js";
11
11
  import "../../chunk-XMLCXRTS.js";
12
- import "../../chunk-7M4INWUR.js";
12
+ import "../../chunk-JNQKCZA3.js";
13
13
  import "../../chunk-AUNBGZS4.js";
14
- import "../../chunk-EWGFIBBU.js";
15
- import "../../chunk-6W4H2K3Z.js";
16
- import "../../chunk-RRBWNEG3.js";
17
- import "../../chunk-NG2GGK6P.js";
18
- import "../../chunk-4CRWKTNQ.js";
19
- import "../../chunk-SRIH4U5Y.js";
14
+ import "../../chunk-BVSWWBPE.js";
15
+ import "../../chunk-5BGBH3KD.js";
16
+ import "../../chunk-XHTN56UT.js";
17
+ import "../../chunk-HKIQA4F6.js";
18
+ import "../../chunk-6C66NL4X.js";
19
+ import "../../chunk-SYGXJBG6.js";
20
20
  import "../../chunk-EGMQ3SXN.js";
21
- import "../../chunk-NKKYTCBH.js";
21
+ import "../../chunk-PSU42CXK.js";
22
22
  import "../../chunk-DHET7RCE.js";
23
23
  export {
24
24
  StepStack
@@ -16,7 +16,7 @@ import {
16
16
  TEST_CATEGORIES,
17
17
  createMockMatrix,
18
18
  createMockResolvedStack
19
- } from "../../chunk-ZU7AOE3X.js";
19
+ } from "../../chunk-JGSPESM3.js";
20
20
  import {
21
21
  afterEach,
22
22
  beforeEach,
@@ -27,28 +27,28 @@ import {
27
27
  } from "../../chunk-XY3XDVMI.js";
28
28
  import {
29
29
  StepStack
30
- } from "../../chunk-YUSLPHXO.js";
31
- import "../../chunk-2YFC7IJ6.js";
30
+ } from "../../chunk-GMUOEQOY.js";
31
+ import "../../chunk-GCT7LSYW.js";
32
32
  import "../../chunk-K77I4XGL.js";
33
33
  import "../../chunk-MWGDG4QN.js";
34
- import "../../chunk-NO2XIAJC.js";
35
- import "../../chunk-LVNNP7T4.js";
36
- import "../../chunk-62FBXUNR.js";
34
+ import "../../chunk-CUCF5LM4.js";
35
+ import "../../chunk-U6A4YFOF.js";
36
+ import "../../chunk-CBXMOWQY.js";
37
37
  import "../../chunk-XMLCXRTS.js";
38
- import "../../chunk-7M4INWUR.js";
38
+ import "../../chunk-JNQKCZA3.js";
39
39
  import "../../chunk-AUNBGZS4.js";
40
40
  import {
41
41
  useWizardStore
42
- } from "../../chunk-EWGFIBBU.js";
43
- import "../../chunk-6W4H2K3Z.js";
44
- import "../../chunk-RRBWNEG3.js";
42
+ } from "../../chunk-BVSWWBPE.js";
43
+ import "../../chunk-5BGBH3KD.js";
44
+ import "../../chunk-XHTN56UT.js";
45
45
  import {
46
46
  initializeMatrix
47
- } from "../../chunk-NG2GGK6P.js";
48
- import "../../chunk-4CRWKTNQ.js";
49
- import "../../chunk-SRIH4U5Y.js";
47
+ } from "../../chunk-HKIQA4F6.js";
48
+ import "../../chunk-6C66NL4X.js";
49
+ import "../../chunk-SYGXJBG6.js";
50
50
  import "../../chunk-EGMQ3SXN.js";
51
- import "../../chunk-NKKYTCBH.js";
51
+ import "../../chunk-PSU42CXK.js";
52
52
  import {
53
53
  init_esm_shims
54
54
  } from "../../chunk-DHET7RCE.js";
@@ -1,8 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ViewTitle
4
- } from "../../chunk-7M4INWUR.js";
5
- import "../../chunk-EGMQ3SXN.js";
4
+ } from "../../chunk-JNQKCZA3.js";
6
5
  import "../../chunk-DHET7RCE.js";
7
6
  export {
8
7
  ViewTitle
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  WizardLayout
4
- } from "../../chunk-2DKJM7RO.js";
4
+ } from "../../chunk-ZZJ6H6VB.js";
5
5
  import "../../chunk-SXGBPQY6.js";
6
- import "../../chunk-HGTC76BX.js";
6
+ import "../../chunk-V36FRPAU.js";
7
7
  import "../../chunk-2PZ7LBFT.js";
8
- import "../../chunk-EWGFIBBU.js";
8
+ import "../../chunk-BVSWWBPE.js";
9
9
  import "../../chunk-CBYRFAUN.js";
10
- import "../../chunk-6W4H2K3Z.js";
11
- import "../../chunk-RRBWNEG3.js";
12
- import "../../chunk-NG2GGK6P.js";
13
- import "../../chunk-4CRWKTNQ.js";
14
- import "../../chunk-SRIH4U5Y.js";
10
+ import "../../chunk-5BGBH3KD.js";
11
+ import "../../chunk-XHTN56UT.js";
12
+ import "../../chunk-HKIQA4F6.js";
13
+ import "../../chunk-6C66NL4X.js";
14
+ import "../../chunk-SYGXJBG6.js";
15
15
  import "../../chunk-EGMQ3SXN.js";
16
- import "../../chunk-NKKYTCBH.js";
16
+ import "../../chunk-PSU42CXK.js";
17
17
  import "../../chunk-DHET7RCE.js";
18
18
  export {
19
19
  WizardLayout
@@ -1,44 +1,44 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  Wizard
4
- } from "../../chunk-JBQRRJRY.js";
5
- import "../../chunk-2DKJM7RO.js";
4
+ } from "../../chunk-7QAVO7VN.js";
5
+ import "../../chunk-ZZJ6H6VB.js";
6
6
  import "../../chunk-SXGBPQY6.js";
7
- import "../../chunk-DZUZVT5X.js";
8
- import "../../chunk-6RGNXTTG.js";
9
- import "../../chunk-HGTC76BX.js";
10
- import "../../chunk-YUSLPHXO.js";
11
- import "../../chunk-2YFC7IJ6.js";
12
- import "../../chunk-MZQKSK3J.js";
13
- import "../../chunk-GJWHA6P4.js";
7
+ import "../../chunk-FYYIRFYT.js";
8
+ import "../../chunk-DFKNFZI2.js";
9
+ import "../../chunk-V36FRPAU.js";
10
+ import "../../chunk-GMUOEQOY.js";
11
+ import "../../chunk-GCT7LSYW.js";
12
+ import "../../chunk-FHHTDPMW.js";
13
+ import "../../chunk-WXC2Y5TF.js";
14
14
  import "../../chunk-K77I4XGL.js";
15
- import "../../chunk-I7WXUAWA.js";
15
+ import "../../chunk-SPATQKH6.js";
16
16
  import "../../chunk-MWGDG4QN.js";
17
- import "../../chunk-TDHEAHXD.js";
17
+ import "../../chunk-W22IYRZV.js";
18
18
  import "../../chunk-7SOPVGDV.js";
19
19
  import "../../chunk-UFKDY45I.js";
20
- import "../../chunk-PJUC2WCA.js";
20
+ import "../../chunk-JOTAIMTC.js";
21
21
  import "../../chunk-P2FHS5IS.js";
22
- import "../../chunk-NO2XIAJC.js";
23
- import "../../chunk-LVNNP7T4.js";
24
- import "../../chunk-62FBXUNR.js";
22
+ import "../../chunk-CUCF5LM4.js";
23
+ import "../../chunk-U6A4YFOF.js";
24
+ import "../../chunk-CBXMOWQY.js";
25
25
  import "../../chunk-XMLCXRTS.js";
26
- import "../../chunk-7M4INWUR.js";
26
+ import "../../chunk-JNQKCZA3.js";
27
27
  import "../../chunk-AUNBGZS4.js";
28
28
  import "../../chunk-2PZ7LBFT.js";
29
29
  import "../../chunk-WF5PMBIR.js";
30
30
  import "../../chunk-KUV24B5M.js";
31
- import "../../chunk-EWGFIBBU.js";
31
+ import "../../chunk-BVSWWBPE.js";
32
32
  import "../../chunk-T5DJCIUP.js";
33
33
  import "../../chunk-U3IGFMCY.js";
34
34
  import "../../chunk-CBYRFAUN.js";
35
- import "../../chunk-6W4H2K3Z.js";
36
- import "../../chunk-RRBWNEG3.js";
37
- import "../../chunk-NG2GGK6P.js";
38
- import "../../chunk-4CRWKTNQ.js";
39
- import "../../chunk-SRIH4U5Y.js";
35
+ import "../../chunk-5BGBH3KD.js";
36
+ import "../../chunk-XHTN56UT.js";
37
+ import "../../chunk-HKIQA4F6.js";
38
+ import "../../chunk-6C66NL4X.js";
39
+ import "../../chunk-SYGXJBG6.js";
40
40
  import "../../chunk-EGMQ3SXN.js";
41
- import "../../chunk-NKKYTCBH.js";
41
+ import "../../chunk-PSU42CXK.js";
42
42
  import "../../chunk-DHET7RCE.js";
43
43
  export {
44
44
  Wizard
@@ -4,7 +4,7 @@ import {
4
4
  defaultRules,
5
5
  defaultStacks,
6
6
  defineConfig
7
- } from "./chunk-NKKYTCBH.js";
7
+ } from "./chunk-PSU42CXK.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-DHET7RCE.js";
@@ -1,35 +1,35 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  showDashboard
4
- } from "../chunk-DG2T7KYG.js";
5
- import "../chunk-JBQRRJRY.js";
6
- import "../chunk-2DKJM7RO.js";
4
+ } from "../chunk-QN3V3ES7.js";
5
+ import "../chunk-7QAVO7VN.js";
6
+ import "../chunk-ZZJ6H6VB.js";
7
7
  import "../chunk-SXGBPQY6.js";
8
- import "../chunk-DZUZVT5X.js";
9
- import "../chunk-6RGNXTTG.js";
10
- import "../chunk-HGTC76BX.js";
11
- import "../chunk-YUSLPHXO.js";
12
- import "../chunk-2YFC7IJ6.js";
13
- import "../chunk-MZQKSK3J.js";
14
- import "../chunk-GJWHA6P4.js";
8
+ import "../chunk-FYYIRFYT.js";
9
+ import "../chunk-DFKNFZI2.js";
10
+ import "../chunk-V36FRPAU.js";
11
+ import "../chunk-GMUOEQOY.js";
12
+ import "../chunk-GCT7LSYW.js";
13
+ import "../chunk-FHHTDPMW.js";
14
+ import "../chunk-WXC2Y5TF.js";
15
15
  import "../chunk-K77I4XGL.js";
16
- import "../chunk-I7WXUAWA.js";
16
+ import "../chunk-SPATQKH6.js";
17
17
  import "../chunk-MWGDG4QN.js";
18
- import "../chunk-TDHEAHXD.js";
18
+ import "../chunk-W22IYRZV.js";
19
19
  import "../chunk-7SOPVGDV.js";
20
20
  import "../chunk-UFKDY45I.js";
21
- import "../chunk-PJUC2WCA.js";
21
+ import "../chunk-JOTAIMTC.js";
22
22
  import "../chunk-P2FHS5IS.js";
23
- import "../chunk-NO2XIAJC.js";
24
- import "../chunk-LVNNP7T4.js";
25
- import "../chunk-62FBXUNR.js";
23
+ import "../chunk-CUCF5LM4.js";
24
+ import "../chunk-U6A4YFOF.js";
25
+ import "../chunk-CBXMOWQY.js";
26
26
  import "../chunk-XMLCXRTS.js";
27
- import "../chunk-7M4INWUR.js";
27
+ import "../chunk-JNQKCZA3.js";
28
28
  import "../chunk-AUNBGZS4.js";
29
29
  import "../chunk-2PZ7LBFT.js";
30
30
  import "../chunk-WF5PMBIR.js";
31
31
  import "../chunk-KUV24B5M.js";
32
- import "../chunk-EWGFIBBU.js";
32
+ import "../chunk-BVSWWBPE.js";
33
33
  import "../chunk-T5DJCIUP.js";
34
34
  import "../chunk-U3IGFMCY.js";
35
35
  import "../chunk-CBYRFAUN.js";
@@ -37,16 +37,16 @@ import "../chunk-CXRVM7BA.js";
37
37
  import {
38
38
  detectInstallation,
39
39
  resolveSource
40
- } from "../chunk-6W4H2K3Z.js";
41
- import "../chunk-RRBWNEG3.js";
42
- import "../chunk-NG2GGK6P.js";
40
+ } from "../chunk-5BGBH3KD.js";
41
+ import "../chunk-XHTN56UT.js";
42
+ import "../chunk-HKIQA4F6.js";
43
43
  import {
44
44
  EXIT_CODES
45
- } from "../chunk-IJLAVOKZ.js";
46
- import "../chunk-4CRWKTNQ.js";
47
- import "../chunk-SRIH4U5Y.js";
45
+ } from "../chunk-KDYE3AGL.js";
46
+ import "../chunk-6C66NL4X.js";
47
+ import "../chunk-SYGXJBG6.js";
48
48
  import "../chunk-EGMQ3SXN.js";
49
- import "../chunk-NKKYTCBH.js";
49
+ import "../chunk-PSU42CXK.js";
50
50
  import {
51
51
  init_esm_shims
52
52
  } from "../chunk-DHET7RCE.js";
@@ -5,9 +5,9 @@ import {
5
5
  loadProjectAgents,
6
6
  loadSkillsByIds,
7
7
  parseFrontmatter
8
- } from "./chunk-RRBWNEG3.js";
9
- import "./chunk-4CRWKTNQ.js";
10
- import "./chunk-SRIH4U5Y.js";
8
+ } from "./chunk-XHTN56UT.js";
9
+ import "./chunk-6C66NL4X.js";
10
+ import "./chunk-SYGXJBG6.js";
11
11
  import "./chunk-EGMQ3SXN.js";
12
12
  import "./chunk-DHET7RCE.js";
13
13
  export {
@@ -17,4 +17,4 @@ export {
17
17
  loadSkillsByIds,
18
18
  parseFrontmatter
19
19
  };
20
- //# sourceMappingURL=loader-NHUCFMFQ.js.map
20
+ //# sourceMappingURL=loader-TK7YS2I5.js.map