@agents-inc/cli 0.68.0 → 0.71.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 +34 -0
- package/dist/chunk-2MHSOPIU.js +84 -0
- package/dist/chunk-2MHSOPIU.js.map +1 -0
- package/dist/{chunk-VTRVAXUM.js → chunk-2VT2DMD7.js} +6 -6
- package/dist/{chunk-KFDTVSIC.js → chunk-6YMW4HMX.js} +2 -2
- package/dist/{chunk-L5LD3ZSR.js → chunk-AX6MMYAZ.js} +4 -4
- package/dist/{chunk-45R64U2S.js → chunk-CADG5WWP.js} +13 -11
- package/dist/chunk-CADG5WWP.js.map +1 -0
- package/dist/chunk-DA3WIZ4C.js +253 -0
- package/dist/chunk-DA3WIZ4C.js.map +1 -0
- package/dist/chunk-DHBRWGRZ.js +58 -0
- package/dist/chunk-DHBRWGRZ.js.map +1 -0
- package/dist/{chunk-2JJUPWE5.js → chunk-HWVRHPXR.js} +2 -2
- package/dist/{chunk-N4D43IOO.js → chunk-J2D6OBIX.js} +26 -2
- package/dist/chunk-J2D6OBIX.js.map +1 -0
- package/dist/{chunk-KMDBOO3E.js → chunk-KANNRFY7.js} +2 -2
- package/dist/{chunk-SSGPFKS4.js → chunk-KSAGOKWT.js} +2 -2
- package/dist/{chunk-EULHBV5V.js → chunk-QOJAZI72.js} +2 -2
- package/dist/{chunk-JAWXWNIX.js → chunk-UDAHHJIM.js} +9 -9
- package/dist/{chunk-F6KEZ4Y5.js → chunk-UQM5YPPJ.js} +2 -2
- package/dist/{chunk-HADHP7XF.js → chunk-V5L532ZH.js} +6 -6
- package/dist/{chunk-RMMHVE2R.js → chunk-VUUGWE6G.js} +2 -2
- package/dist/chunk-WF5PMBIR.js +54 -0
- package/dist/chunk-WF5PMBIR.js.map +1 -0
- package/dist/{chunk-GK5CAS3A.js → chunk-X4RIMJNY.js} +2 -2
- package/dist/{chunk-QUEO6QEL.js → chunk-XB3TYSPL.js} +2 -2
- package/dist/{chunk-7LCI5PSJ.js → chunk-XMZNHLV3.js} +2 -2
- package/dist/{chunk-KBG7GYPL.js → chunk-XYRVAEI6.js} +74 -111
- package/dist/chunk-XYRVAEI6.js.map +1 -0
- package/dist/commands/build/plugins.js +2 -2
- package/dist/commands/build/stack.js +2 -2
- package/dist/commands/compile.js +2 -2
- package/dist/commands/config/index.js +2 -2
- package/dist/commands/config/path.js +1 -1
- package/dist/commands/config/show.js +2 -2
- package/dist/commands/diff.js +1 -1
- package/dist/commands/doctor.js +1 -1
- package/dist/commands/edit.js +17 -16
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +1 -1
- package/dist/commands/import/skill.js +1 -1
- package/dist/commands/info.js +1 -1
- package/dist/commands/init.js +17 -16
- package/dist/commands/list.js +1 -1
- package/dist/commands/new/agent.js +2 -2
- package/dist/commands/new/marketplace.js +2 -2
- package/dist/commands/new/skill.js +2 -2
- package/dist/commands/outdated.js +1 -1
- package/dist/commands/search.js +1 -1
- package/dist/commands/uninstall.js +1 -1
- package/dist/commands/update.js +2 -2
- package/dist/commands/validate.js +1 -1
- package/dist/components/common/select-list.js +11 -0
- package/dist/components/wizard/category-grid.test.js +3 -3
- package/dist/components/wizard/domain-selection.js +3 -3
- package/dist/components/wizard/search-modal.js +2 -1
- 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/source-grid.js +3 -2
- package/dist/components/wizard/source-grid.test.js +11 -7
- package/dist/components/wizard/source-grid.test.js.map +1 -1
- package/dist/components/wizard/stack-selection.js +3 -3
- package/dist/components/wizard/step-agents.js +3 -3
- package/dist/components/wizard/step-agents.test.js +7 -6
- package/dist/components/wizard/step-agents.test.js.map +1 -1
- package/dist/components/wizard/step-build.js +4 -4
- package/dist/components/wizard/step-build.test.js +14 -49
- package/dist/components/wizard/step-build.test.js.map +1 -1
- package/dist/components/wizard/step-confirm.test.js +3 -3
- package/dist/components/wizard/step-settings.js +2 -2
- package/dist/components/wizard/step-settings.test.js +5 -5
- package/dist/components/wizard/step-sources.js +7 -6
- package/dist/components/wizard/step-sources.test.js +12 -10
- package/dist/components/wizard/step-sources.test.js.map +1 -1
- package/dist/components/wizard/step-stack.js +6 -6
- package/dist/components/wizard/step-stack.test.js +7 -7
- package/dist/components/wizard/wizard-layout.js +3 -3
- package/dist/components/wizard/wizard.js +16 -15
- package/dist/hooks/init.js +17 -16
- package/dist/hooks/init.js.map +1 -1
- package/dist/{source-loader-YMWWZFVD.js → source-loader-3MZ2MBOF.js} +2 -2
- package/dist/{source-manager-6G3EVTU2.js → source-manager-NEH6QXE5.js} +2 -2
- package/dist/source-manager-NEH6QXE5.js.map +1 -0
- package/dist/stores/matrix-store.test.js +14 -10
- package/dist/stores/matrix-store.test.js.map +1 -1
- package/dist/stores/wizard-store.js +2 -2
- package/dist/stores/wizard-store.test.js +28 -103
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-45R64U2S.js.map +0 -1
- package/dist/chunk-6IK2TCK7.js +0 -97
- package/dist/chunk-6IK2TCK7.js.map +0 -1
- package/dist/chunk-KBG7GYPL.js.map +0 -1
- package/dist/chunk-N4D43IOO.js.map +0 -1
- /package/dist/{chunk-VTRVAXUM.js.map → chunk-2VT2DMD7.js.map} +0 -0
- /package/dist/{chunk-KFDTVSIC.js.map → chunk-6YMW4HMX.js.map} +0 -0
- /package/dist/{chunk-L5LD3ZSR.js.map → chunk-AX6MMYAZ.js.map} +0 -0
- /package/dist/{chunk-2JJUPWE5.js.map → chunk-HWVRHPXR.js.map} +0 -0
- /package/dist/{chunk-KMDBOO3E.js.map → chunk-KANNRFY7.js.map} +0 -0
- /package/dist/{chunk-SSGPFKS4.js.map → chunk-KSAGOKWT.js.map} +0 -0
- /package/dist/{chunk-EULHBV5V.js.map → chunk-QOJAZI72.js.map} +0 -0
- /package/dist/{chunk-JAWXWNIX.js.map → chunk-UDAHHJIM.js.map} +0 -0
- /package/dist/{chunk-F6KEZ4Y5.js.map → chunk-UQM5YPPJ.js.map} +0 -0
- /package/dist/{chunk-HADHP7XF.js.map → chunk-V5L532ZH.js.map} +0 -0
- /package/dist/{chunk-RMMHVE2R.js.map → chunk-VUUGWE6G.js.map} +0 -0
- /package/dist/{chunk-GK5CAS3A.js.map → chunk-X4RIMJNY.js.map} +0 -0
- /package/dist/{chunk-QUEO6QEL.js.map → chunk-XB3TYSPL.js.map} +0 -0
- /package/dist/{chunk-7LCI5PSJ.js.map → chunk-XMZNHLV3.js.map} +0 -0
- /package/dist/{source-loader-YMWWZFVD.js.map → components/common/select-list.js.map} +0 -0
- /package/dist/{source-manager-6G3EVTU2.js.map → source-loader-3MZ2MBOF.js.map} +0 -0
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
} from "../../chunk-XY3XDVMI.js";
|
|
20
20
|
import {
|
|
21
21
|
StepSettings
|
|
22
|
-
} from "../../chunk-
|
|
22
|
+
} from "../../chunk-XB3TYSPL.js";
|
|
23
23
|
import "../../chunk-7SOPVGDV.js";
|
|
24
24
|
import "../../chunk-KUV24B5M.js";
|
|
25
25
|
import "../../chunk-XMLCXRTS.js";
|
|
@@ -27,7 +27,7 @@ import "../../chunk-AQYAVLZK.js";
|
|
|
27
27
|
import "../../chunk-AUNBGZS4.js";
|
|
28
28
|
import "../../chunk-U3IGFMCY.js";
|
|
29
29
|
import "../../chunk-6VIOO74O.js";
|
|
30
|
-
import "../../chunk-
|
|
30
|
+
import "../../chunk-CADG5WWP.js";
|
|
31
31
|
import "../../chunk-L6MTIQ2U.js";
|
|
32
32
|
import "../../chunk-T4EXUIBY.js";
|
|
33
33
|
import "../../chunk-BKL3DF2Q.js";
|
|
@@ -63,7 +63,7 @@ describe("StepSettings component", () => {
|
|
|
63
63
|
let cleanup;
|
|
64
64
|
beforeEach(async () => {
|
|
65
65
|
vi.resetAllMocks();
|
|
66
|
-
const { getSourceSummary } = await import("../../source-manager-
|
|
66
|
+
const { getSourceSummary } = await import("../../source-manager-NEH6QXE5.js");
|
|
67
67
|
vi.mocked(getSourceSummary).mockResolvedValue({
|
|
68
68
|
sources: [
|
|
69
69
|
{ name: "public", url: "github:agents-inc/skills", enabled: true },
|
|
@@ -224,7 +224,7 @@ describe("StepSettings component", () => {
|
|
|
224
224
|
});
|
|
225
225
|
describe("edge cases", () => {
|
|
226
226
|
it("should handle empty sources list gracefully", async () => {
|
|
227
|
-
const { getSourceSummary } = await import("../../source-manager-
|
|
227
|
+
const { getSourceSummary } = await import("../../source-manager-NEH6QXE5.js");
|
|
228
228
|
vi.mocked(getSourceSummary).mockResolvedValue({
|
|
229
229
|
sources: [{ name: "public", url: "github:agents-inc/skills", enabled: true }],
|
|
230
230
|
localSkillCount: 0,
|
|
@@ -238,7 +238,7 @@ describe("StepSettings component", () => {
|
|
|
238
238
|
globalExpect(output).toContain("0");
|
|
239
239
|
});
|
|
240
240
|
it("should handle getSourceSummary failure gracefully", async () => {
|
|
241
|
-
const { getSourceSummary } = await import("../../source-manager-
|
|
241
|
+
const { getSourceSummary } = await import("../../source-manager-NEH6QXE5.js");
|
|
242
242
|
vi.mocked(getSourceSummary).mockRejectedValue(new Error("Config read failed"));
|
|
243
243
|
const { lastFrame, unmount } = renderStepSettings();
|
|
244
244
|
cleanup = unmount;
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
StepSources
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-V5L532ZH.js";
|
|
5
5
|
import "../../chunk-HGTC76BX.js";
|
|
6
|
+
import "../../chunk-6YMW4HMX.js";
|
|
7
|
+
import "../../chunk-7SOPVGDV.js";
|
|
6
8
|
import "../../chunk-K77I4XGL.js";
|
|
9
|
+
import "../../chunk-2MHSOPIU.js";
|
|
7
10
|
import "../../chunk-MWGDG4QN.js";
|
|
8
|
-
import "../../chunk-
|
|
9
|
-
import "../../chunk-7SOPVGDV.js";
|
|
10
|
-
import "../../chunk-6IK2TCK7.js";
|
|
11
|
+
import "../../chunk-WF5PMBIR.js";
|
|
11
12
|
import "../../chunk-KUV24B5M.js";
|
|
12
13
|
import "../../chunk-GG4BSB6S.js";
|
|
13
14
|
import "../../chunk-AQYAVLZK.js";
|
|
14
15
|
import "../../chunk-AUNBGZS4.js";
|
|
15
|
-
import "../../chunk-
|
|
16
|
+
import "../../chunk-QOJAZI72.js";
|
|
16
17
|
import "../../chunk-6VIOO74O.js";
|
|
17
|
-
import "../../chunk-
|
|
18
|
+
import "../../chunk-CADG5WWP.js";
|
|
18
19
|
import "../../chunk-L6MTIQ2U.js";
|
|
19
20
|
import "../../chunk-T4EXUIBY.js";
|
|
20
21
|
import "../../chunk-BKL3DF2Q.js";
|
|
@@ -12,9 +12,10 @@ import {
|
|
|
12
12
|
render
|
|
13
13
|
} from "../../chunk-66UDJBF6.js";
|
|
14
14
|
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
WEB_PAIR_MATRIX
|
|
16
|
+
} from "../../chunk-DA3WIZ4C.js";
|
|
17
|
+
import "../../chunk-DHBRWGRZ.js";
|
|
18
|
+
import "../../chunk-J2D6OBIX.js";
|
|
18
19
|
import {
|
|
19
20
|
afterEach,
|
|
20
21
|
beforeEach,
|
|
@@ -25,22 +26,23 @@ import {
|
|
|
25
26
|
} from "../../chunk-XY3XDVMI.js";
|
|
26
27
|
import {
|
|
27
28
|
StepSources
|
|
28
|
-
} from "../../chunk-
|
|
29
|
+
} from "../../chunk-V5L532ZH.js";
|
|
29
30
|
import "../../chunk-HGTC76BX.js";
|
|
31
|
+
import "../../chunk-6YMW4HMX.js";
|
|
32
|
+
import "../../chunk-7SOPVGDV.js";
|
|
30
33
|
import "../../chunk-K77I4XGL.js";
|
|
34
|
+
import "../../chunk-2MHSOPIU.js";
|
|
31
35
|
import "../../chunk-MWGDG4QN.js";
|
|
32
|
-
import "../../chunk-
|
|
33
|
-
import "../../chunk-7SOPVGDV.js";
|
|
34
|
-
import "../../chunk-6IK2TCK7.js";
|
|
36
|
+
import "../../chunk-WF5PMBIR.js";
|
|
35
37
|
import "../../chunk-KUV24B5M.js";
|
|
36
38
|
import "../../chunk-GG4BSB6S.js";
|
|
37
39
|
import "../../chunk-AQYAVLZK.js";
|
|
38
40
|
import "../../chunk-AUNBGZS4.js";
|
|
39
41
|
import {
|
|
40
42
|
useWizardStore
|
|
41
|
-
} from "../../chunk-
|
|
43
|
+
} from "../../chunk-QOJAZI72.js";
|
|
42
44
|
import "../../chunk-6VIOO74O.js";
|
|
43
|
-
import "../../chunk-
|
|
45
|
+
import "../../chunk-CADG5WWP.js";
|
|
44
46
|
import "../../chunk-L6MTIQ2U.js";
|
|
45
47
|
import "../../chunk-T4EXUIBY.js";
|
|
46
48
|
import {
|
|
@@ -59,7 +61,7 @@ import {
|
|
|
59
61
|
// src/cli/components/wizard/step-sources.test.tsx
|
|
60
62
|
init_esm_shims();
|
|
61
63
|
import { jsx } from "react/jsx-runtime";
|
|
62
|
-
var mockMatrix =
|
|
64
|
+
var mockMatrix = WEB_PAIR_MATRIX;
|
|
63
65
|
var defaultProps = {
|
|
64
66
|
onContinue: vi.fn(),
|
|
65
67
|
onBack: vi.fn()
|
|
@@ -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 { useMatrixStore } from \"../../stores/matrix-store\";\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 { createMockMatrix, SKILLS } from \"../../lib/__tests__/helpers\";\nimport { DEFAULT_BRANDING, UI_SYMBOLS } from \"../../consts\";\n\nconst mockMatrix = createMockMatrix(SKILLS.react, SKILLS.zustand);\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 useMatrixStore.getState().setMatrix(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 { useMatrixStore } from \"../../stores/matrix-store\";\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 useMatrixStore.getState().setMatrix(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,18 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
StepStack
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-AX6MMYAZ.js";
|
|
5
|
+
import "../../chunk-XMZNHLV3.js";
|
|
6
6
|
import "../../chunk-K77I4XGL.js";
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-KMDBOO3E.js";
|
|
7
|
+
import "../../chunk-KANNRFY7.js";
|
|
9
8
|
import "../../chunk-ZYUASJUN.js";
|
|
9
|
+
import "../../chunk-MWGDG4QN.js";
|
|
10
10
|
import "../../chunk-OV5UJWS5.js";
|
|
11
11
|
import "../../chunk-XMLCXRTS.js";
|
|
12
12
|
import "../../chunk-AQYAVLZK.js";
|
|
13
13
|
import "../../chunk-AUNBGZS4.js";
|
|
14
|
-
import "../../chunk-
|
|
15
|
-
import "../../chunk-
|
|
14
|
+
import "../../chunk-QOJAZI72.js";
|
|
15
|
+
import "../../chunk-CADG5WWP.js";
|
|
16
16
|
import "../../chunk-L6MTIQ2U.js";
|
|
17
17
|
import "../../chunk-T4EXUIBY.js";
|
|
18
18
|
import "../../chunk-BKL3DF2Q.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
TEST_CATEGORIES,
|
|
17
17
|
createMockMatrix,
|
|
18
18
|
createMockResolvedStack
|
|
19
|
-
} from "../../chunk-
|
|
19
|
+
} from "../../chunk-J2D6OBIX.js";
|
|
20
20
|
import {
|
|
21
21
|
afterEach,
|
|
22
22
|
beforeEach,
|
|
@@ -27,20 +27,20 @@ import {
|
|
|
27
27
|
} from "../../chunk-XY3XDVMI.js";
|
|
28
28
|
import {
|
|
29
29
|
StepStack
|
|
30
|
-
} from "../../chunk-
|
|
31
|
-
import "../../chunk-
|
|
30
|
+
} from "../../chunk-AX6MMYAZ.js";
|
|
31
|
+
import "../../chunk-XMZNHLV3.js";
|
|
32
32
|
import "../../chunk-K77I4XGL.js";
|
|
33
|
-
import "../../chunk-
|
|
34
|
-
import "../../chunk-KMDBOO3E.js";
|
|
33
|
+
import "../../chunk-KANNRFY7.js";
|
|
35
34
|
import "../../chunk-ZYUASJUN.js";
|
|
35
|
+
import "../../chunk-MWGDG4QN.js";
|
|
36
36
|
import "../../chunk-OV5UJWS5.js";
|
|
37
37
|
import "../../chunk-XMLCXRTS.js";
|
|
38
38
|
import "../../chunk-AQYAVLZK.js";
|
|
39
39
|
import "../../chunk-AUNBGZS4.js";
|
|
40
40
|
import {
|
|
41
41
|
useWizardStore
|
|
42
|
-
} from "../../chunk-
|
|
43
|
-
import "../../chunk-
|
|
42
|
+
} from "../../chunk-QOJAZI72.js";
|
|
43
|
+
import "../../chunk-CADG5WWP.js";
|
|
44
44
|
import "../../chunk-L6MTIQ2U.js";
|
|
45
45
|
import "../../chunk-T4EXUIBY.js";
|
|
46
46
|
import {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
WizardLayout
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-VUUGWE6G.js";
|
|
5
5
|
import "../../chunk-SXGBPQY6.js";
|
|
6
6
|
import "../../chunk-HGTC76BX.js";
|
|
7
7
|
import "../../chunk-KYULKBFC.js";
|
|
8
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-QOJAZI72.js";
|
|
9
9
|
import "../../chunk-6VIOO74O.js";
|
|
10
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-CADG5WWP.js";
|
|
11
11
|
import "../../chunk-L6MTIQ2U.js";
|
|
12
12
|
import "../../chunk-T4EXUIBY.js";
|
|
13
13
|
import "../../chunk-BKL3DF2Q.js";
|
|
@@ -1,37 +1,38 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
Wizard
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-UDAHHJIM.js";
|
|
5
|
+
import "../../chunk-VUUGWE6G.js";
|
|
6
6
|
import "../../chunk-SXGBPQY6.js";
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-XB3TYSPL.js";
|
|
8
|
+
import "../../chunk-V5L532ZH.js";
|
|
9
9
|
import "../../chunk-HGTC76BX.js";
|
|
10
|
-
import "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-AX6MMYAZ.js";
|
|
11
|
+
import "../../chunk-6YMW4HMX.js";
|
|
12
|
+
import "../../chunk-7SOPVGDV.js";
|
|
13
|
+
import "../../chunk-XMZNHLV3.js";
|
|
14
|
+
import "../../chunk-HWVRHPXR.js";
|
|
15
|
+
import "../../chunk-2VT2DMD7.js";
|
|
14
16
|
import "../../chunk-K77I4XGL.js";
|
|
15
17
|
import "../../chunk-52THXN5G.js";
|
|
18
|
+
import "../../chunk-KANNRFY7.js";
|
|
19
|
+
import "../../chunk-ZYUASJUN.js";
|
|
16
20
|
import "../../chunk-KYULKBFC.js";
|
|
21
|
+
import "../../chunk-2MHSOPIU.js";
|
|
17
22
|
import "../../chunk-MWGDG4QN.js";
|
|
18
|
-
import "../../chunk-
|
|
19
|
-
import "../../chunk-7SOPVGDV.js";
|
|
20
|
-
import "../../chunk-6IK2TCK7.js";
|
|
23
|
+
import "../../chunk-WF5PMBIR.js";
|
|
21
24
|
import "../../chunk-KUV24B5M.js";
|
|
22
25
|
import "../../chunk-CKPJTMNC.js";
|
|
23
26
|
import "../../chunk-GG4BSB6S.js";
|
|
24
|
-
import "../../chunk-KMDBOO3E.js";
|
|
25
|
-
import "../../chunk-ZYUASJUN.js";
|
|
26
27
|
import "../../chunk-OV5UJWS5.js";
|
|
27
28
|
import "../../chunk-XMLCXRTS.js";
|
|
28
29
|
import "../../chunk-AQYAVLZK.js";
|
|
29
30
|
import "../../chunk-AUNBGZS4.js";
|
|
30
|
-
import "../../chunk-
|
|
31
|
+
import "../../chunk-QOJAZI72.js";
|
|
31
32
|
import "../../chunk-T5DJCIUP.js";
|
|
32
33
|
import "../../chunk-U3IGFMCY.js";
|
|
33
34
|
import "../../chunk-6VIOO74O.js";
|
|
34
|
-
import "../../chunk-
|
|
35
|
+
import "../../chunk-CADG5WWP.js";
|
|
35
36
|
import "../../chunk-L6MTIQ2U.js";
|
|
36
37
|
import "../../chunk-T4EXUIBY.js";
|
|
37
38
|
import "../../chunk-BKL3DF2Q.js";
|
package/dist/hooks/init.js
CHANGED
|
@@ -1,34 +1,35 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
showDashboard
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-XYRVAEI6.js";
|
|
5
|
+
import "../chunk-UDAHHJIM.js";
|
|
6
|
+
import "../chunk-VUUGWE6G.js";
|
|
7
7
|
import "../chunk-SXGBPQY6.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-XB3TYSPL.js";
|
|
9
|
+
import "../chunk-V5L532ZH.js";
|
|
10
10
|
import "../chunk-HGTC76BX.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-AX6MMYAZ.js";
|
|
12
|
+
import "../chunk-6YMW4HMX.js";
|
|
13
|
+
import "../chunk-7SOPVGDV.js";
|
|
14
|
+
import "../chunk-XMZNHLV3.js";
|
|
15
|
+
import "../chunk-HWVRHPXR.js";
|
|
16
|
+
import "../chunk-2VT2DMD7.js";
|
|
15
17
|
import "../chunk-K77I4XGL.js";
|
|
16
18
|
import "../chunk-52THXN5G.js";
|
|
19
|
+
import "../chunk-KANNRFY7.js";
|
|
20
|
+
import "../chunk-ZYUASJUN.js";
|
|
17
21
|
import "../chunk-KYULKBFC.js";
|
|
22
|
+
import "../chunk-2MHSOPIU.js";
|
|
18
23
|
import "../chunk-MWGDG4QN.js";
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-7SOPVGDV.js";
|
|
21
|
-
import "../chunk-6IK2TCK7.js";
|
|
24
|
+
import "../chunk-WF5PMBIR.js";
|
|
22
25
|
import "../chunk-KUV24B5M.js";
|
|
23
26
|
import "../chunk-CKPJTMNC.js";
|
|
24
27
|
import "../chunk-GG4BSB6S.js";
|
|
25
|
-
import "../chunk-KMDBOO3E.js";
|
|
26
|
-
import "../chunk-ZYUASJUN.js";
|
|
27
28
|
import "../chunk-OV5UJWS5.js";
|
|
28
29
|
import "../chunk-XMLCXRTS.js";
|
|
29
30
|
import "../chunk-AQYAVLZK.js";
|
|
30
31
|
import "../chunk-AUNBGZS4.js";
|
|
31
|
-
import "../chunk-
|
|
32
|
+
import "../chunk-QOJAZI72.js";
|
|
32
33
|
import "../chunk-T5DJCIUP.js";
|
|
33
34
|
import "../chunk-U3IGFMCY.js";
|
|
34
35
|
import "../chunk-6VIOO74O.js";
|
|
@@ -37,7 +38,7 @@ import {
|
|
|
37
38
|
detectInstallation,
|
|
38
39
|
hasIndividualPlugins,
|
|
39
40
|
resolveSource
|
|
40
|
-
} from "../chunk-
|
|
41
|
+
} from "../chunk-CADG5WWP.js";
|
|
41
42
|
import "../chunk-L6MTIQ2U.js";
|
|
42
43
|
import "../chunk-T4EXUIBY.js";
|
|
43
44
|
import "../chunk-BKL3DF2Q.js";
|
package/dist/hooks/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cli/hooks/init.ts"],"sourcesContent":["import { Hook } from \"@oclif/core\";\nimport { resolveSource } from \"../lib/configuration/index.js\";\nimport { detectInstallation } from \"../lib/installation/installation.js\";\nimport { hasIndividualPlugins } from \"../lib/plugins/index.js\";\nimport { showDashboard } from \"../commands/init.js\";\nimport { EXIT_CODES } from \"../lib/exit-codes.js\";\nimport type { ConfigWithSource } from \"../base-command.js\";\n\nconst hook: Hook<\"init\"> = async function (options) {\n const projectDir = process.cwd();\n\n // When no command is given and project is already initialized, show dashboard\n if (options.id === undefined) {\n const [installation, individualPlugins] = await Promise.all([\n detectInstallation(projectDir),\n hasIndividualPlugins(projectDir),\n ]);\n\n if (installation || individualPlugins) {\n const selectedCommand = await showDashboard(projectDir);\n if (selectedCommand) {\n await options.config.runCommand(selectedCommand);\n }\n this.exit(EXIT_CODES.SUCCESS);\n }\n }\n\n // Extract --source flag from argv (not yet parsed by oclif at this point)\n let sourceFlag: string | undefined;\n const sourceArgIndex = options.argv.indexOf(\"--source\");\n if (sourceArgIndex !== -1 && sourceArgIndex + 1 < options.argv.length) {\n sourceFlag = options.argv[sourceArgIndex + 1];\n } else {\n const sourceFlagWithEquals = options.argv.find((arg) => arg.startsWith(\"--source=\"));\n if (sourceFlagWithEquals) {\n sourceFlag = sourceFlagWithEquals.split(\"=\")[1];\n }\n }\n\n // Short form -s\n const sArgIndex = options.argv.indexOf(\"-s\");\n if (sArgIndex !== -1 && sArgIndex + 1 < options.argv.length) {\n sourceFlag = options.argv[sArgIndex + 1];\n }\n\n try {\n const resolvedConfig = await resolveSource(sourceFlag, projectDir);\n // Boundary cast: oclif Config doesn't declare sourceConfig; read in BaseCommand.sourceConfig\n (options.config as unknown as ConfigWithSource).sourceConfig = resolvedConfig;\n } catch (error) {\n // Let the command handle config failures - commands can check if sourceConfig is undefined\n }\n};\n\nexport default hook;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/cli/hooks/init.ts"],"sourcesContent":["import { Hook } from \"@oclif/core\";\nimport { resolveSource } from \"../lib/configuration/index.js\";\nimport { detectInstallation } from \"../lib/installation/installation.js\";\nimport { hasIndividualPlugins } from \"../lib/plugins/index.js\";\nimport { showDashboard } from \"../commands/init.js\";\nimport { EXIT_CODES } from \"../lib/exit-codes.js\";\nimport type { ConfigWithSource } from \"../base-command.js\";\n\nconst hook: Hook<\"init\"> = async function (options) {\n const projectDir = process.cwd();\n\n // When no command is given and project is already initialized, show dashboard\n if (options.id === undefined) {\n const [installation, individualPlugins] = await Promise.all([\n detectInstallation(projectDir),\n hasIndividualPlugins(projectDir),\n ]);\n\n if (installation || individualPlugins) {\n const selectedCommand = await showDashboard(projectDir);\n if (selectedCommand) {\n await options.config.runCommand(selectedCommand);\n }\n this.exit(EXIT_CODES.SUCCESS);\n }\n }\n\n // Extract --source flag from argv (not yet parsed by oclif at this point)\n let sourceFlag: string | undefined;\n const sourceArgIndex = options.argv.indexOf(\"--source\");\n if (sourceArgIndex !== -1 && sourceArgIndex + 1 < options.argv.length) {\n sourceFlag = options.argv[sourceArgIndex + 1];\n } else {\n const sourceFlagWithEquals = options.argv.find((arg) => arg.startsWith(\"--source=\"));\n if (sourceFlagWithEquals) {\n sourceFlag = sourceFlagWithEquals.split(\"=\")[1];\n }\n }\n\n // Short form -s\n const sArgIndex = options.argv.indexOf(\"-s\");\n if (sArgIndex !== -1 && sArgIndex + 1 < options.argv.length) {\n sourceFlag = options.argv[sArgIndex + 1];\n }\n\n try {\n const resolvedConfig = await resolveSource(sourceFlag, projectDir);\n // Boundary cast: oclif Config doesn't declare sourceConfig; read in BaseCommand.sourceConfig\n (options.config as unknown as ConfigWithSource).sourceConfig = resolvedConfig;\n } catch (error) {\n // Let the command handle config failures - commands can check if sourceConfig is undefined\n }\n};\n\nexport default hook;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAQA,IAAM,OAAqB,eAAgB,SAAS;AAClD,QAAM,aAAa,QAAQ,IAAI;AAG/B,MAAI,QAAQ,OAAO,QAAW;AAC5B,UAAM,CAAC,cAAc,iBAAiB,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC1D,mBAAmB,UAAU;AAAA,MAC7B,qBAAqB,UAAU;AAAA,IACjC,CAAC;AAED,QAAI,gBAAgB,mBAAmB;AACrC,YAAM,kBAAkB,MAAM,cAAc,UAAU;AACtD,UAAI,iBAAiB;AACnB,cAAM,QAAQ,OAAO,WAAW,eAAe;AAAA,MACjD;AACA,WAAK,KAAK,WAAW,OAAO;AAAA,IAC9B;AAAA,EACF;AAGA,MAAI;AACJ,QAAM,iBAAiB,QAAQ,KAAK,QAAQ,UAAU;AACtD,MAAI,mBAAmB,MAAM,iBAAiB,IAAI,QAAQ,KAAK,QAAQ;AACrE,iBAAa,QAAQ,KAAK,iBAAiB,CAAC;AAAA,EAC9C,OAAO;AACL,UAAM,uBAAuB,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,WAAW,WAAW,CAAC;AACnF,QAAI,sBAAsB;AACxB,mBAAa,qBAAqB,MAAM,GAAG,EAAE,CAAC;AAAA,IAChD;AAAA,EACF;AAGA,QAAM,YAAY,QAAQ,KAAK,QAAQ,IAAI;AAC3C,MAAI,cAAc,MAAM,YAAY,IAAI,QAAQ,KAAK,QAAQ;AAC3D,iBAAa,QAAQ,KAAK,YAAY,CAAC;AAAA,EACzC;AAEA,MAAI;AACF,UAAM,iBAAiB,MAAM,cAAc,YAAY,UAAU;AAEjE,IAAC,QAAQ,OAAuC,eAAe;AAAA,EACjE,SAAS,OAAO;AAAA,EAEhB;AACF;AAEA,IAAO,eAAQ;","names":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
getMarketplaceLabel,
|
|
4
4
|
loadSkillsMatrixFromSource
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-CADG5WWP.js";
|
|
6
6
|
import "./chunk-L6MTIQ2U.js";
|
|
7
7
|
import "./chunk-T4EXUIBY.js";
|
|
8
8
|
import "./chunk-BKL3DF2Q.js";
|
|
@@ -14,4 +14,4 @@ export {
|
|
|
14
14
|
getMarketplaceLabel,
|
|
15
15
|
loadSkillsMatrixFromSource
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=source-loader-
|
|
17
|
+
//# sourceMappingURL=source-loader-3MZ2MBOF.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
addSource,
|
|
4
4
|
getSourceSummary,
|
|
5
5
|
removeSource
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CADG5WWP.js";
|
|
7
7
|
import "./chunk-L6MTIQ2U.js";
|
|
8
8
|
import "./chunk-T4EXUIBY.js";
|
|
9
9
|
import "./chunk-BKL3DF2Q.js";
|
|
@@ -16,4 +16,4 @@ export {
|
|
|
16
16
|
getSourceSummary,
|
|
17
17
|
removeSource
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=source-manager-
|
|
19
|
+
//# sourceMappingURL=source-manager-NEH6QXE5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
SINGLE_REACT_MATRIX
|
|
4
|
+
} from "../chunk-DA3WIZ4C.js";
|
|
5
|
+
import "../chunk-DHBRWGRZ.js";
|
|
2
6
|
import {
|
|
3
7
|
SKILLS,
|
|
4
8
|
createMockMatrix
|
|
5
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-J2D6OBIX.js";
|
|
6
10
|
import {
|
|
7
11
|
describe,
|
|
8
12
|
globalExpect,
|
|
9
13
|
it
|
|
10
14
|
} from "../chunk-XY3XDVMI.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-QOJAZI72.js";
|
|
16
|
+
import "../chunk-CADG5WWP.js";
|
|
13
17
|
import "../chunk-L6MTIQ2U.js";
|
|
14
18
|
import "../chunk-T4EXUIBY.js";
|
|
15
19
|
import {
|
|
@@ -30,7 +34,7 @@ init_esm_shims();
|
|
|
30
34
|
describe("MatrixStore", () => {
|
|
31
35
|
describe("setMatrix and getMatrix", () => {
|
|
32
36
|
it("should store and retrieve the matrix", () => {
|
|
33
|
-
const matrix =
|
|
37
|
+
const matrix = SINGLE_REACT_MATRIX;
|
|
34
38
|
useMatrixStore.getState().setMatrix(matrix);
|
|
35
39
|
const retrieved = useMatrixStore.getState().getMatrix();
|
|
36
40
|
globalExpect(retrieved).toBe(matrix);
|
|
@@ -38,7 +42,7 @@ describe("MatrixStore", () => {
|
|
|
38
42
|
});
|
|
39
43
|
describe("reset", () => {
|
|
40
44
|
it("should clear the matrix back to null", () => {
|
|
41
|
-
const matrix =
|
|
45
|
+
const matrix = SINGLE_REACT_MATRIX;
|
|
42
46
|
useMatrixStore.getState().setMatrix(matrix);
|
|
43
47
|
useMatrixStore.getState().reset();
|
|
44
48
|
globalExpect(useMatrixStore.getState().matrix).toBeNull();
|
|
@@ -65,13 +69,13 @@ describe("MatrixStore", () => {
|
|
|
65
69
|
globalExpect(result).toBe(reactSkill);
|
|
66
70
|
});
|
|
67
71
|
it("should return undefined for unknown ID", () => {
|
|
68
|
-
const matrix =
|
|
72
|
+
const matrix = SINGLE_REACT_MATRIX;
|
|
69
73
|
useMatrixStore.getState().setMatrix(matrix);
|
|
70
74
|
const result = useMatrixStore.getState().getSkill("web-framework-nonexistent");
|
|
71
75
|
globalExpect(result).toBeUndefined();
|
|
72
76
|
});
|
|
73
77
|
it("should return undefined for unknown slug", () => {
|
|
74
|
-
const matrix =
|
|
78
|
+
const matrix = SINGLE_REACT_MATRIX;
|
|
75
79
|
useMatrixStore.getState().setMatrix(matrix);
|
|
76
80
|
const result = useMatrixStore.getState().getSkill("nonexistent");
|
|
77
81
|
globalExpect(result).toBeUndefined();
|
|
@@ -90,20 +94,20 @@ describe("MatrixStore", () => {
|
|
|
90
94
|
globalExpect(result).toBe(reactSkill);
|
|
91
95
|
});
|
|
92
96
|
it("should return the matrix via the standalone getMatrix selector", () => {
|
|
93
|
-
const matrix =
|
|
97
|
+
const matrix = SINGLE_REACT_MATRIX;
|
|
94
98
|
useMatrixStore.getState().setMatrix(matrix);
|
|
95
99
|
const result = getMatrix();
|
|
96
100
|
globalExpect(result).toBe(matrix);
|
|
97
101
|
});
|
|
98
102
|
it("should throw via the standalone getSkill selector for missing skill", () => {
|
|
99
|
-
const matrix =
|
|
103
|
+
const matrix = SINGLE_REACT_MATRIX;
|
|
100
104
|
useMatrixStore.getState().setMatrix(matrix);
|
|
101
105
|
globalExpect(() => getSkill("web-framework-nonexistent")).toThrow(
|
|
102
106
|
"Skill 'web-framework-nonexistent' not found in matrix store"
|
|
103
107
|
);
|
|
104
108
|
});
|
|
105
109
|
it("should return undefined via findSkill for missing skill", () => {
|
|
106
|
-
const matrix =
|
|
110
|
+
const matrix = SINGLE_REACT_MATRIX;
|
|
107
111
|
useMatrixStore.getState().setMatrix(matrix);
|
|
108
112
|
const result = findSkill("web-framework-nonexistent");
|
|
109
113
|
globalExpect(result).toBeUndefined();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cli/stores/matrix-store.test.ts"],"sourcesContent":["import { describe, it, expect } from \"vitest\";\nimport { useMatrixStore, getSkill, getMatrix, findSkill } from \"./matrix-store\";\nimport { createMockMatrix, SKILLS } from \"../lib/__tests__/helpers\";\nimport type { SkillId, SkillSlug } from \"../types\";\n\ndescribe(\"MatrixStore\", () => {\n describe(\"setMatrix and getMatrix\", () => {\n it(\"should store and retrieve the matrix\", () => {\n const matrix =
|
|
1
|
+
{"version":3,"sources":["../../src/cli/stores/matrix-store.test.ts"],"sourcesContent":["import { describe, it, expect } from \"vitest\";\nimport { useMatrixStore, getSkill, getMatrix, findSkill } from \"./matrix-store\";\nimport { createMockMatrix, SKILLS } from \"../lib/__tests__/helpers\";\nimport { SINGLE_REACT_MATRIX } from \"../lib/__tests__/mock-data/mock-matrices\";\nimport type { SkillId, SkillSlug } from \"../types\";\n\ndescribe(\"MatrixStore\", () => {\n describe(\"setMatrix and getMatrix\", () => {\n it(\"should store and retrieve the matrix\", () => {\n const matrix = SINGLE_REACT_MATRIX;\n\n useMatrixStore.getState().setMatrix(matrix);\n\n const retrieved = useMatrixStore.getState().getMatrix();\n expect(retrieved).toBe(matrix);\n });\n });\n\n describe(\"reset\", () => {\n it(\"should clear the matrix back to null\", () => {\n const matrix = SINGLE_REACT_MATRIX;\n\n useMatrixStore.getState().setMatrix(matrix);\n useMatrixStore.getState().reset();\n\n expect(useMatrixStore.getState().matrix).toBeNull();\n });\n });\n\n describe(\"getMatrix\", () => {\n it(\"should throw when store is not populated\", () => {\n expect(() => useMatrixStore.getState().getMatrix()).toThrow(\"Matrix store not initialized\");\n });\n });\n\n describe(\"getSkill\", () => {\n it(\"should return a skill by SkillId\", () => {\n const reactSkill = SKILLS.react;\n const matrix = createMockMatrix(reactSkill);\n\n useMatrixStore.getState().setMatrix(matrix);\n\n const result = useMatrixStore.getState().getSkill(\"web-framework-react\");\n expect(result).toBe(reactSkill);\n });\n\n it(\"should return a skill by SkillSlug via slugMap\", () => {\n const reactSkill = SKILLS.react;\n const matrix = createMockMatrix(reactSkill);\n\n useMatrixStore.getState().setMatrix(matrix);\n\n const result = useMatrixStore.getState().getSkill(\"react\");\n expect(result).toBe(reactSkill);\n });\n\n it(\"should return undefined for unknown ID\", () => {\n const matrix = SINGLE_REACT_MATRIX;\n\n useMatrixStore.getState().setMatrix(matrix);\n\n const result = useMatrixStore.getState().getSkill(\"web-framework-nonexistent\" as SkillId);\n expect(result).toBeUndefined();\n });\n\n it(\"should return undefined for unknown slug\", () => {\n const matrix = SINGLE_REACT_MATRIX;\n\n useMatrixStore.getState().setMatrix(matrix);\n\n const result = useMatrixStore.getState().getSkill(\"nonexistent\" as SkillSlug);\n expect(result).toBeUndefined();\n });\n\n it(\"should return undefined when store is not populated\", () => {\n const result = useMatrixStore.getState().getSkill(\"web-framework-react\");\n expect(result).toBeUndefined();\n });\n });\n\n describe(\"standalone selectors\", () => {\n it(\"should look up a skill via the standalone getSkill selector\", () => {\n const reactSkill = SKILLS.react;\n const matrix = createMockMatrix(reactSkill);\n\n useMatrixStore.getState().setMatrix(matrix);\n\n const result = getSkill(\"web-framework-react\");\n expect(result).toBe(reactSkill);\n });\n\n it(\"should return the matrix via the standalone getMatrix selector\", () => {\n const matrix = SINGLE_REACT_MATRIX;\n\n useMatrixStore.getState().setMatrix(matrix);\n\n const result = getMatrix();\n expect(result).toBe(matrix);\n });\n\n it(\"should throw via the standalone getSkill selector for missing skill\", () => {\n const matrix = SINGLE_REACT_MATRIX;\n\n useMatrixStore.getState().setMatrix(matrix);\n\n expect(() => getSkill(\"web-framework-nonexistent\" as SkillId)).toThrow(\n \"Skill 'web-framework-nonexistent' not found in matrix store\",\n );\n });\n\n it(\"should return undefined via findSkill for missing skill\", () => {\n const matrix = SINGLE_REACT_MATRIX;\n\n useMatrixStore.getState().setMatrix(matrix);\n\n const result = findSkill(\"web-framework-nonexistent\" as SkillId);\n expect(result).toBeUndefined();\n });\n\n it(\"should return a skill via findSkill when found\", () => {\n const reactSkill = SKILLS.react;\n const matrix = createMockMatrix(reactSkill);\n\n useMatrixStore.getState().setMatrix(matrix);\n\n const result = findSkill(\"web-framework-react\");\n expect(result).toBe(reactSkill);\n });\n\n it(\"should throw via the standalone getMatrix selector when not populated\", () => {\n expect(() => getMatrix()).toThrow(\"Matrix store not initialized\");\n });\n });\n});\n"],"mappings":"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","names":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
useWizardStore
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-QOJAZI72.js";
|
|
5
|
+
import "../chunk-CADG5WWP.js";
|
|
6
6
|
import "../chunk-L6MTIQ2U.js";
|
|
7
7
|
import "../chunk-T4EXUIBY.js";
|
|
8
8
|
import "../chunk-BKL3DF2Q.js";
|