sequant 1.3.1 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +32 -0
  2. package/dist/bin/cli.js +1 -0
  3. package/dist/bin/cli.js.map +1 -1
  4. package/dist/src/commands/doctor.d.ts +1 -4
  5. package/dist/src/commands/doctor.d.ts.map +1 -1
  6. package/dist/src/commands/doctor.integration.test.d.ts +10 -0
  7. package/dist/src/commands/doctor.integration.test.d.ts.map +1 -0
  8. package/dist/src/commands/doctor.integration.test.js +71 -0
  9. package/dist/src/commands/doctor.integration.test.js.map +1 -0
  10. package/dist/src/commands/doctor.js +1 -1
  11. package/dist/src/commands/doctor.js.map +1 -1
  12. package/dist/src/commands/doctor.test.js +20 -20
  13. package/dist/src/commands/doctor.test.js.map +1 -1
  14. package/dist/src/commands/init.d.ts +1 -0
  15. package/dist/src/commands/init.d.ts.map +1 -1
  16. package/dist/src/commands/init.js +42 -13
  17. package/dist/src/commands/init.js.map +1 -1
  18. package/dist/src/commands/init.test.js +35 -10
  19. package/dist/src/commands/init.test.js.map +1 -1
  20. package/dist/src/commands/run.d.ts.map +1 -1
  21. package/dist/src/commands/run.js +161 -96
  22. package/dist/src/commands/run.js.map +1 -1
  23. package/dist/src/commands/run.test.js.map +1 -1
  24. package/dist/src/lib/settings.d.ts +26 -0
  25. package/dist/src/lib/settings.d.ts.map +1 -1
  26. package/dist/src/lib/settings.js +12 -0
  27. package/dist/src/lib/settings.js.map +1 -1
  28. package/dist/src/lib/shutdown.d.ts +118 -0
  29. package/dist/src/lib/shutdown.d.ts.map +1 -0
  30. package/dist/src/lib/shutdown.js +174 -0
  31. package/dist/src/lib/shutdown.js.map +1 -0
  32. package/dist/src/lib/shutdown.test.d.ts +5 -0
  33. package/dist/src/lib/shutdown.test.d.ts.map +1 -0
  34. package/dist/src/lib/shutdown.test.js +216 -0
  35. package/dist/src/lib/shutdown.test.js.map +1 -0
  36. package/dist/src/lib/system.d.ts.map +1 -1
  37. package/dist/src/lib/system.js +9 -0
  38. package/dist/src/lib/system.js.map +1 -1
  39. package/dist/src/lib/system.test.js +27 -0
  40. package/dist/src/lib/system.test.js.map +1 -1
  41. package/dist/src/lib/templates.js.map +1 -1
  42. package/dist/src/lib/tty.d.ts +2 -0
  43. package/dist/src/lib/tty.d.ts.map +1 -1
  44. package/dist/src/lib/tty.js +11 -6
  45. package/dist/src/lib/tty.js.map +1 -1
  46. package/dist/src/lib/tty.test.js +44 -2
  47. package/dist/src/lib/tty.test.js.map +1 -1
  48. package/dist/src/lib/wizard.d.ts +64 -0
  49. package/dist/src/lib/wizard.d.ts.map +1 -0
  50. package/dist/src/lib/wizard.js +255 -0
  51. package/dist/src/lib/wizard.js.map +1 -0
  52. package/dist/src/lib/wizard.test.d.ts +2 -0
  53. package/dist/src/lib/wizard.test.d.ts.map +1 -0
  54. package/dist/src/lib/wizard.test.js +268 -0
  55. package/dist/src/lib/wizard.test.js.map +1 -0
  56. package/dist/src/lib/workflow/log-rotation.d.ts.map +1 -1
  57. package/dist/src/lib/workflow/log-rotation.js +0 -1
  58. package/dist/src/lib/workflow/log-rotation.js.map +1 -1
  59. package/dist/src/lib/workflow/run-log-schema.d.ts +4 -4
  60. package/dist/src/lib/workflow/run-log-schema.test.js +1 -0
  61. package/dist/src/lib/workflow/run-log-schema.test.js.map +1 -1
  62. package/package.json +8 -2
  63. package/templates/skills/assess/SKILL.md +31 -0
  64. package/templates/skills/exec/SKILL.md +164 -15
  65. package/templates/skills/fullsolve/SKILL.md +61 -10
  66. package/templates/skills/loop/SKILL.md +48 -3
  67. package/templates/skills/spec/SKILL.md +97 -2
@@ -0,0 +1,255 @@
1
+ /**
2
+ * Setup wizard for guiding users through dependency installation
3
+ */
4
+ import chalk from "chalk";
5
+ import inquirer from "inquirer";
6
+ import { commandExists, isGhAuthenticated, getInstallHint } from "./system.js";
7
+ import { isCI } from "./tty.js";
8
+ /**
9
+ * Check the status of all required and optional dependencies
10
+ */
11
+ export function checkAllDependencies() {
12
+ const dependencies = [];
13
+ // GitHub CLI (required)
14
+ const ghInstalled = commandExists("gh");
15
+ const ghAuthenticated = ghInstalled ? isGhAuthenticated() : false;
16
+ dependencies.push({
17
+ name: "gh",
18
+ displayName: "GitHub CLI (gh)",
19
+ installed: ghInstalled,
20
+ authenticated: ghAuthenticated,
21
+ required: true,
22
+ docsUrl: "https://cli.github.com",
23
+ });
24
+ // Claude Code CLI (required)
25
+ const claudeInstalled = commandExists("claude");
26
+ dependencies.push({
27
+ name: "claude",
28
+ displayName: "Claude Code CLI",
29
+ installed: claudeInstalled,
30
+ required: true,
31
+ docsUrl: "https://docs.anthropic.com/en/docs/claude-code",
32
+ });
33
+ // jq (optional)
34
+ const jqInstalled = commandExists("jq");
35
+ dependencies.push({
36
+ name: "jq",
37
+ displayName: "jq (JSON processor)",
38
+ installed: jqInstalled,
39
+ required: false,
40
+ docsUrl: "https://jqlang.github.io/jq/",
41
+ });
42
+ const allRequiredMet = dependencies
43
+ .filter((d) => d.required)
44
+ .every((d) => {
45
+ if (d.name === "gh") {
46
+ return d.installed && d.authenticated;
47
+ }
48
+ return d.installed;
49
+ });
50
+ const hasMissing = dependencies.some((d) => {
51
+ if (d.name === "gh") {
52
+ return !d.installed || !d.authenticated;
53
+ }
54
+ return d.required && !d.installed;
55
+ });
56
+ return { dependencies, allRequiredMet, hasMissing };
57
+ }
58
+ /**
59
+ * Display the dependency check results
60
+ */
61
+ export function displayDependencyStatus(result) {
62
+ console.log(chalk.blue("\nChecking dependencies...\n"));
63
+ for (const dep of result.dependencies) {
64
+ if (dep.installed) {
65
+ if (dep.name === "gh" && !dep.authenticated) {
66
+ console.log(chalk.yellow(` ${chalk.yellow("!")} ${dep.displayName} - installed but not authenticated`));
67
+ }
68
+ else {
69
+ console.log(chalk.green(` ${chalk.green("✓")} ${dep.displayName} - installed`));
70
+ }
71
+ }
72
+ else {
73
+ const marker = dep.required ? chalk.red("✗") : chalk.yellow("○");
74
+ const status = dep.required
75
+ ? "not installed (required)"
76
+ : "not installed (optional)";
77
+ console.log(` ${marker} ${dep.displayName} - ${status}`);
78
+ }
79
+ }
80
+ console.log();
81
+ }
82
+ /**
83
+ * Get detailed install instructions for a dependency
84
+ */
85
+ export function getInstallInstructions(depName) {
86
+ const instructions = [];
87
+ const installHint = getInstallHint(depName);
88
+ switch (depName) {
89
+ case "gh":
90
+ instructions.push(`${chalk.cyan("→")} Install: ${chalk.bold(installHint)}`);
91
+ instructions.push(`${chalk.cyan("→")} Or visit: ${chalk.underline("https://cli.github.com")}`);
92
+ instructions.push(`${chalk.cyan("→")} After install, run: ${chalk.bold("gh auth login")}`);
93
+ break;
94
+ case "claude":
95
+ instructions.push(`${chalk.cyan("→")} Install: ${chalk.bold("npm install -g @anthropic-ai/claude-code")}`);
96
+ instructions.push(`${chalk.cyan("→")} Or visit: ${chalk.underline("https://docs.anthropic.com/en/docs/claude-code")}`);
97
+ break;
98
+ case "jq":
99
+ instructions.push(`${chalk.cyan("→")} Install: ${chalk.bold(installHint)}`);
100
+ instructions.push(`${chalk.cyan("→")} Or visit: ${chalk.underline("https://jqlang.github.io/jq/")}`);
101
+ break;
102
+ default:
103
+ instructions.push(`${chalk.cyan("→")} Install ${depName}`);
104
+ }
105
+ return instructions;
106
+ }
107
+ /**
108
+ * Run the interactive setup wizard for missing dependencies
109
+ *
110
+ * @param result - The dependency check result
111
+ * @param options - Options for the wizard
112
+ * @returns The wizard result
113
+ */
114
+ export async function runSetupWizard(result, options = {}) {
115
+ const missingDeps = result.dependencies.filter((d) => {
116
+ if (d.name === "gh") {
117
+ return !d.installed || !d.authenticated;
118
+ }
119
+ return d.required && !d.installed;
120
+ });
121
+ if (missingDeps.length === 0) {
122
+ return { skipped: false, completed: true, remainingIssues: [] };
123
+ }
124
+ // In non-interactive mode, just return the issues
125
+ if (options.skipPrompts) {
126
+ return {
127
+ skipped: true,
128
+ completed: false,
129
+ remainingIssues: missingDeps.map((d) => {
130
+ if (d.name === "gh" && d.installed && !d.authenticated) {
131
+ return `${d.displayName} not authenticated`;
132
+ }
133
+ return `${d.displayName} not installed`;
134
+ }),
135
+ };
136
+ }
137
+ // Ask if user wants to set up missing dependencies
138
+ let setupDeps = false;
139
+ try {
140
+ const response = await inquirer.prompt([
141
+ {
142
+ type: "confirm",
143
+ name: "setupDeps",
144
+ message: "Would you like to set up missing dependencies?",
145
+ default: true,
146
+ },
147
+ ]);
148
+ setupDeps = response.setupDeps;
149
+ }
150
+ catch {
151
+ // If prompt fails (e.g., non-interactive), skip wizard
152
+ return {
153
+ skipped: true,
154
+ completed: false,
155
+ remainingIssues: missingDeps.map((d) => {
156
+ if (d.name === "gh" && d.installed && !d.authenticated) {
157
+ return `${d.displayName} not authenticated`;
158
+ }
159
+ return `${d.displayName} not installed`;
160
+ }),
161
+ };
162
+ }
163
+ if (!setupDeps) {
164
+ return {
165
+ skipped: true,
166
+ completed: false,
167
+ remainingIssues: missingDeps.map((d) => {
168
+ if (d.name === "gh" && d.installed && !d.authenticated) {
169
+ return `${d.displayName} not authenticated`;
170
+ }
171
+ return `${d.displayName} not installed`;
172
+ }),
173
+ };
174
+ }
175
+ // Guide through each missing dependency
176
+ const remainingIssues = [];
177
+ for (const dep of missingDeps) {
178
+ console.log(chalk.bold(`\nSetting up ${dep.displayName}...\n`));
179
+ const instructions = getInstallInstructions(dep.name);
180
+ for (const instruction of instructions) {
181
+ console.log(` ${instruction}`);
182
+ }
183
+ console.log();
184
+ let action = "skip";
185
+ try {
186
+ const response = await inquirer.prompt([
187
+ {
188
+ type: "list",
189
+ name: "action",
190
+ message: "What would you like to do?",
191
+ choices: [
192
+ { name: "I've installed it - verify now", value: "verify" },
193
+ { name: "Skip for now", value: "skip" },
194
+ ],
195
+ },
196
+ ]);
197
+ action = response.action;
198
+ }
199
+ catch {
200
+ // If prompt fails, skip this dependency
201
+ action = "skip";
202
+ }
203
+ if (action === "verify") {
204
+ // Re-check this dependency
205
+ const isNowInstalled = commandExists(dep.name);
206
+ const isNowAuthenticated = dep.name === "gh"
207
+ ? isNowInstalled
208
+ ? isGhAuthenticated()
209
+ : false
210
+ : true;
211
+ if (isNowInstalled && isNowAuthenticated) {
212
+ console.log(chalk.green(`\n ✓ ${dep.displayName} - now installed and ready!\n`));
213
+ }
214
+ else if (dep.name === "gh" && isNowInstalled && !isNowAuthenticated) {
215
+ console.log(chalk.yellow(`\n ! ${dep.displayName} - installed but not authenticated yet\n`));
216
+ remainingIssues.push(`${dep.displayName} not authenticated`);
217
+ }
218
+ else {
219
+ console.log(chalk.yellow(`\n ! ${dep.displayName} - not detected yet\n`));
220
+ remainingIssues.push(`${dep.displayName} not installed`);
221
+ }
222
+ }
223
+ else {
224
+ if (dep.name === "gh" && dep.installed && !dep.authenticated) {
225
+ remainingIssues.push(`${dep.displayName} not authenticated`);
226
+ }
227
+ else {
228
+ remainingIssues.push(`${dep.displayName} not installed`);
229
+ }
230
+ }
231
+ }
232
+ return {
233
+ skipped: false,
234
+ completed: remainingIssues.length === 0,
235
+ remainingIssues,
236
+ };
237
+ }
238
+ /**
239
+ * Determine if the setup wizard should be run
240
+ *
241
+ * @param options - Options from the init command
242
+ * @returns true if wizard should run
243
+ */
244
+ export function shouldRunSetupWizard(options) {
245
+ // Skip if --skip-setup flag is set
246
+ if (options.skipSetup) {
247
+ return false;
248
+ }
249
+ // Skip in CI environments
250
+ if (isCI()) {
251
+ return false;
252
+ }
253
+ return true;
254
+ }
255
+ //# sourceMappingURL=wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/lib/wizard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wizard.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.test.d.ts","sourceRoot":"","sources":["../../../src/lib/wizard.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,268 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
2
+ // Mock system functions
3
+ vi.mock("./system.js", () => ({
4
+ commandExists: vi.fn(),
5
+ isGhAuthenticated: vi.fn(),
6
+ getInstallHint: vi.fn((pkg) => {
7
+ if (pkg === "gh")
8
+ return "brew install gh";
9
+ if (pkg === "claude")
10
+ return "npm install -g @anthropic-ai/claude-code";
11
+ if (pkg === "jq")
12
+ return "brew install jq";
13
+ return `Install ${pkg}`;
14
+ }),
15
+ }));
16
+ // Mock tty functions
17
+ vi.mock("./tty.js", () => ({
18
+ isCI: vi.fn(),
19
+ }));
20
+ // Mock inquirer
21
+ vi.mock("inquirer", () => ({
22
+ default: {
23
+ prompt: vi.fn(),
24
+ },
25
+ }));
26
+ import { checkAllDependencies, displayDependencyStatus, getInstallInstructions, runSetupWizard, shouldRunSetupWizard, } from "./wizard.js";
27
+ import { commandExists, isGhAuthenticated } from "./system.js";
28
+ import { isCI } from "./tty.js";
29
+ import inquirer from "inquirer";
30
+ const mockCommandExists = vi.mocked(commandExists);
31
+ const mockIsGhAuthenticated = vi.mocked(isGhAuthenticated);
32
+ const mockIsCI = vi.mocked(isCI);
33
+ const mockInquirerPrompt = vi.mocked(inquirer.prompt);
34
+ describe("wizard", () => {
35
+ let consoleLogSpy;
36
+ beforeEach(() => {
37
+ vi.resetAllMocks();
38
+ consoleLogSpy = vi.spyOn(console, "log").mockImplementation(() => { });
39
+ mockIsCI.mockReturnValue(false);
40
+ });
41
+ afterEach(() => {
42
+ consoleLogSpy.mockRestore();
43
+ });
44
+ describe("checkAllDependencies", () => {
45
+ it("detects all dependencies installed and authenticated", () => {
46
+ mockCommandExists.mockReturnValue(true);
47
+ mockIsGhAuthenticated.mockReturnValue(true);
48
+ const result = checkAllDependencies();
49
+ expect(result.allRequiredMet).toBe(true);
50
+ expect(result.hasMissing).toBe(false);
51
+ expect(result.dependencies).toHaveLength(3);
52
+ const ghDep = result.dependencies.find((d) => d.name === "gh");
53
+ expect(ghDep?.installed).toBe(true);
54
+ expect(ghDep?.authenticated).toBe(true);
55
+ const claudeDep = result.dependencies.find((d) => d.name === "claude");
56
+ expect(claudeDep?.installed).toBe(true);
57
+ });
58
+ it("detects missing gh CLI", () => {
59
+ mockCommandExists.mockImplementation((cmd) => cmd !== "gh");
60
+ mockIsGhAuthenticated.mockReturnValue(false);
61
+ const result = checkAllDependencies();
62
+ expect(result.allRequiredMet).toBe(false);
63
+ expect(result.hasMissing).toBe(true);
64
+ const ghDep = result.dependencies.find((d) => d.name === "gh");
65
+ expect(ghDep?.installed).toBe(false);
66
+ });
67
+ it("detects gh installed but not authenticated", () => {
68
+ mockCommandExists.mockReturnValue(true);
69
+ mockIsGhAuthenticated.mockReturnValue(false);
70
+ const result = checkAllDependencies();
71
+ expect(result.allRequiredMet).toBe(false);
72
+ expect(result.hasMissing).toBe(true);
73
+ const ghDep = result.dependencies.find((d) => d.name === "gh");
74
+ expect(ghDep?.installed).toBe(true);
75
+ expect(ghDep?.authenticated).toBe(false);
76
+ });
77
+ it("detects missing claude CLI", () => {
78
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
79
+ mockIsGhAuthenticated.mockReturnValue(true);
80
+ const result = checkAllDependencies();
81
+ expect(result.allRequiredMet).toBe(false);
82
+ expect(result.hasMissing).toBe(true);
83
+ const claudeDep = result.dependencies.find((d) => d.name === "claude");
84
+ expect(claudeDep?.installed).toBe(false);
85
+ });
86
+ it("jq missing does not fail allRequiredMet (optional)", () => {
87
+ mockCommandExists.mockImplementation((cmd) => cmd !== "jq");
88
+ mockIsGhAuthenticated.mockReturnValue(true);
89
+ const result = checkAllDependencies();
90
+ // jq is optional, so all required should still be met
91
+ expect(result.allRequiredMet).toBe(true);
92
+ // But hasMissing only tracks required deps
93
+ expect(result.hasMissing).toBe(false);
94
+ const jqDep = result.dependencies.find((d) => d.name === "jq");
95
+ expect(jqDep?.installed).toBe(false);
96
+ expect(jqDep?.required).toBe(false);
97
+ });
98
+ });
99
+ describe("displayDependencyStatus", () => {
100
+ it("displays installed dependencies with checkmarks", () => {
101
+ mockCommandExists.mockReturnValue(true);
102
+ mockIsGhAuthenticated.mockReturnValue(true);
103
+ const result = checkAllDependencies();
104
+ displayDependencyStatus(result);
105
+ const output = consoleLogSpy.mock.calls.map((c) => c[0]).join("\n");
106
+ expect(output).toContain("Checking dependencies");
107
+ expect(output).toContain("GitHub CLI (gh)");
108
+ expect(output).toContain("installed");
109
+ });
110
+ it("displays missing required dependencies with X mark", () => {
111
+ mockCommandExists.mockReturnValue(false);
112
+ mockIsGhAuthenticated.mockReturnValue(false);
113
+ const result = checkAllDependencies();
114
+ displayDependencyStatus(result);
115
+ const output = consoleLogSpy.mock.calls.map((c) => c[0]).join("\n");
116
+ expect(output).toContain("not installed (required)");
117
+ });
118
+ it("displays unauthenticated gh with warning", () => {
119
+ mockCommandExists.mockReturnValue(true);
120
+ mockIsGhAuthenticated.mockReturnValue(false);
121
+ const result = checkAllDependencies();
122
+ displayDependencyStatus(result);
123
+ const output = consoleLogSpy.mock.calls.map((c) => c[0]).join("\n");
124
+ expect(output).toContain("installed but not authenticated");
125
+ });
126
+ });
127
+ describe("getInstallInstructions", () => {
128
+ it("returns install instructions for gh", () => {
129
+ const instructions = getInstallInstructions("gh");
130
+ expect(instructions.length).toBeGreaterThan(0);
131
+ expect(instructions.some((i) => i.includes("brew install gh"))).toBe(true);
132
+ expect(instructions.some((i) => i.includes("gh auth login"))).toBe(true);
133
+ });
134
+ it("returns install instructions for claude", () => {
135
+ const instructions = getInstallInstructions("claude");
136
+ expect(instructions.length).toBeGreaterThan(0);
137
+ expect(instructions.some((i) => i.includes("@anthropic-ai/claude-code"))).toBe(true);
138
+ });
139
+ it("returns install instructions for jq", () => {
140
+ const instructions = getInstallInstructions("jq");
141
+ expect(instructions.length).toBeGreaterThan(0);
142
+ expect(instructions.some((i) => i.includes("brew install jq"))).toBe(true);
143
+ });
144
+ it("returns generic instruction for unknown package", () => {
145
+ const instructions = getInstallInstructions("unknown-pkg");
146
+ expect(instructions.length).toBe(1);
147
+ expect(instructions[0]).toContain("Install unknown-pkg");
148
+ });
149
+ });
150
+ describe("runSetupWizard", () => {
151
+ it("returns completed when all dependencies are met", async () => {
152
+ mockCommandExists.mockReturnValue(true);
153
+ mockIsGhAuthenticated.mockReturnValue(true);
154
+ const depResult = checkAllDependencies();
155
+ const wizardResult = await runSetupWizard(depResult);
156
+ expect(wizardResult.skipped).toBe(false);
157
+ expect(wizardResult.completed).toBe(true);
158
+ expect(wizardResult.remainingIssues).toHaveLength(0);
159
+ });
160
+ it("returns skipped with issues when skipPrompts is true", async () => {
161
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
162
+ mockIsGhAuthenticated.mockReturnValue(true);
163
+ const depResult = checkAllDependencies();
164
+ const wizardResult = await runSetupWizard(depResult, {
165
+ skipPrompts: true,
166
+ });
167
+ expect(wizardResult.skipped).toBe(true);
168
+ expect(wizardResult.completed).toBe(false);
169
+ expect(wizardResult.remainingIssues).toContain("Claude Code CLI not installed");
170
+ });
171
+ it("returns skipped when user declines setup", async () => {
172
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
173
+ mockIsGhAuthenticated.mockReturnValue(true);
174
+ mockInquirerPrompt.mockResolvedValueOnce({ setupDeps: false });
175
+ const depResult = checkAllDependencies();
176
+ const wizardResult = await runSetupWizard(depResult);
177
+ expect(wizardResult.skipped).toBe(true);
178
+ expect(wizardResult.completed).toBe(false);
179
+ expect(wizardResult.remainingIssues.length).toBeGreaterThan(0);
180
+ });
181
+ it("verifies installation when user confirms", async () => {
182
+ // First check: claude is missing
183
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
184
+ mockIsGhAuthenticated.mockReturnValue(true);
185
+ const depResult = checkAllDependencies();
186
+ // User accepts wizard and verifies installation
187
+ mockInquirerPrompt
188
+ .mockResolvedValueOnce({ setupDeps: true })
189
+ .mockResolvedValueOnce({ action: "verify" });
190
+ // After verification, claude is now installed
191
+ mockCommandExists.mockReturnValue(true);
192
+ const wizardResult = await runSetupWizard(depResult);
193
+ expect(wizardResult.completed).toBe(true);
194
+ expect(wizardResult.remainingIssues).toHaveLength(0);
195
+ });
196
+ it("records remaining issues when user skips individual deps", async () => {
197
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
198
+ mockIsGhAuthenticated.mockReturnValue(true);
199
+ const depResult = checkAllDependencies();
200
+ // User accepts wizard but skips claude
201
+ mockInquirerPrompt
202
+ .mockResolvedValueOnce({ setupDeps: true })
203
+ .mockResolvedValueOnce({ action: "skip" });
204
+ const wizardResult = await runSetupWizard(depResult);
205
+ expect(wizardResult.completed).toBe(false);
206
+ expect(wizardResult.remainingIssues).toContain("Claude Code CLI not installed");
207
+ });
208
+ it("handles gh authentication issue specifically", async () => {
209
+ mockCommandExists.mockReturnValue(true);
210
+ mockIsGhAuthenticated.mockReturnValue(false);
211
+ const depResult = checkAllDependencies();
212
+ const wizardResult = await runSetupWizard(depResult, {
213
+ skipPrompts: true,
214
+ });
215
+ expect(wizardResult.remainingIssues).toContain("GitHub CLI (gh) not authenticated");
216
+ });
217
+ it("handles multiple missing dependencies in sequence", async () => {
218
+ // Both gh and claude are missing
219
+ mockCommandExists.mockReturnValue(false);
220
+ mockIsGhAuthenticated.mockReturnValue(false);
221
+ const depResult = checkAllDependencies();
222
+ // User accepts wizard, verifies gh (success), skips claude
223
+ mockInquirerPrompt
224
+ .mockResolvedValueOnce({ setupDeps: true })
225
+ .mockResolvedValueOnce({ action: "verify" }) // gh
226
+ .mockResolvedValueOnce({ action: "skip" }); // claude
227
+ // After first verify, gh is now installed and authenticated
228
+ mockCommandExists.mockImplementation((cmd) => cmd === "gh");
229
+ mockIsGhAuthenticated.mockReturnValue(true);
230
+ const wizardResult = await runSetupWizard(depResult);
231
+ expect(wizardResult.completed).toBe(false);
232
+ expect(wizardResult.remainingIssues).toContain("Claude Code CLI not installed");
233
+ expect(wizardResult.remainingIssues).not.toContain("GitHub CLI");
234
+ });
235
+ it("records issue when verification fails after user claims installation", async () => {
236
+ mockCommandExists.mockImplementation((cmd) => cmd !== "claude");
237
+ mockIsGhAuthenticated.mockReturnValue(true);
238
+ const depResult = checkAllDependencies();
239
+ // User accepts and tries to verify, but it's still not installed
240
+ mockInquirerPrompt
241
+ .mockResolvedValueOnce({ setupDeps: true })
242
+ .mockResolvedValueOnce({ action: "verify" });
243
+ // claude still not installed after "verification"
244
+ // (mockCommandExists already returns false for claude)
245
+ const wizardResult = await runSetupWizard(depResult);
246
+ expect(wizardResult.completed).toBe(false);
247
+ expect(wizardResult.remainingIssues).toContain("Claude Code CLI not installed");
248
+ });
249
+ });
250
+ describe("shouldRunSetupWizard", () => {
251
+ it("returns false when skipSetup is true", () => {
252
+ expect(shouldRunSetupWizard({ skipSetup: true })).toBe(false);
253
+ });
254
+ it("returns false in CI environment", () => {
255
+ mockIsCI.mockReturnValue(true);
256
+ expect(shouldRunSetupWizard({})).toBe(false);
257
+ });
258
+ it("returns true in normal terminal environment", () => {
259
+ mockIsCI.mockReturnValue(false);
260
+ expect(shouldRunSetupWizard({})).toBe(true);
261
+ });
262
+ it("returns true even with yes flag (wizard still runs)", () => {
263
+ mockIsCI.mockReturnValue(false);
264
+ expect(shouldRunSetupWizard({ yes: true })).toBe(true);
265
+ });
266
+ });
267
+ });
268
+ //# sourceMappingURL=wizard.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.test.js","sourceRoot":"","sources":["../../../src/lib/wizard.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"log-rotation.d.ts","sourceRoot":"","sources":["../../../../src/lib/workflow/log-rotation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,gBAIvC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,sBAAsB;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,yCAAyC;IACzC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,+CAA+C;IAC/C,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AASD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAwBzD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,gBAA4C,GACrD,QAAQ,CA2BV;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,GACzB,WAAW,EAAE,CAqCf;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,gBAA4C,GACrD,cAAc,CA+ChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,cAAc,CAyBhB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQjD"}
1
+ {"version":3,"file":"log-rotation.d.ts","sourceRoot":"","sources":["../../../../src/lib/workflow/log-rotation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,gBAIvC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,sBAAsB;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,yCAAyC;IACzC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,+CAA+C;IAC/C,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AASD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAwBzD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,gBAA4C,GACrD,QAAQ,CA2BV;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,GACzB,WAAW,EAAE,CAqCf;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,gBAA4C,GACrD,cAAc,CA8ChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,cAAc,CAyBhB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQjD"}
@@ -150,7 +150,6 @@ export function rotateIfNeeded(logDir, settings = DEFAULT_ROTATION_SETTINGS) {
150
150
  rotated: false,
151
151
  };
152
152
  }
153
- const resolved = resolvePath(logDir);
154
153
  const toDelete = getFilesToDelete(logDir, settings);
155
154
  if (toDelete.length === 0) {
156
155
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"log-rotation.js","sourceRoot":"","sources":["../../../../src/lib/workflow/log-rotation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log-rotation.js","sourceRoot":"","sources":["../../../../src/lib/workflow/log-rotation.ts"],"names":[],"mappings":"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"}