sequant 1.19.0 → 1.20.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sequant",
3
3
  "description": "Structured workflow system for Claude Code - GitHub issue resolution with spec, exec, test, and QA phases",
4
- "version": "1.19.0",
4
+ "version": "1.20.1",
5
5
  "author": {
6
6
  "name": "sequant-io",
7
7
  "email": "hello@sequant.io"
package/README.md CHANGED
@@ -49,7 +49,7 @@ Or step-by-step:
49
49
  - Git (for worktree-based isolation)
50
50
 
51
51
  **For npm installation:**
52
- - Node.js 18+
52
+ - Node.js 20+
53
53
 
54
54
  **Optional MCP servers (enhanced features):**
55
55
  - `chrome-devtools` — enables `/test` for browser-based UI testing
package/dist/bin/cli.js CHANGED
@@ -137,7 +137,7 @@ program
137
137
  .option("--no-smart-tests", "Disable smart test detection")
138
138
  .option("--testgen", "Run testgen phase after spec")
139
139
  .option("--quiet", "Suppress version warnings and non-essential output")
140
- .option("--chain", "Chain issues: each branches from previous (requires --sequential)")
140
+ .option("--chain", "Chain issues: each branches from previous (implies --sequential)")
141
141
  .option("--qa-gate", "Wait for QA pass before starting next issue in chain (requires --chain)")
142
142
  .option("--base <branch>", "Base branch for worktree creation (default: main or settings.run.defaultBase)")
143
143
  .option("--no-mcp", "Disable MCP server injection in headless mode")
@@ -110,16 +110,14 @@ export async function runCommand(issues, options) {
110
110
  console.log(chalk.gray("\nUsage: npx sequant run <issues...> [options]"));
111
111
  console.log(chalk.gray("Example: npx sequant run 1 2 3 --sequential"));
112
112
  console.log(chalk.gray('Batch example: npx sequant run --batch "1 2" --batch "3"'));
113
- console.log(chalk.gray("Chain example: npx sequant run 1 2 3 --sequential --chain"));
113
+ console.log(chalk.gray("Chain example: npx sequant run 1 2 3 --chain"));
114
114
  return;
115
115
  }
116
116
  // Validate chain mode requirements
117
117
  if (mergedOptions.chain) {
118
+ // Chain mode is inherently sequential — imply --sequential automatically
118
119
  if (!mergedOptions.sequential) {
119
- console.log(chalk.red("❌ --chain requires --sequential flag"));
120
- console.log(chalk.gray(" Chain mode executes issues sequentially, each branching from the previous."));
121
- console.log(chalk.gray(" Usage: npx sequant run 1 2 3 --sequential --chain"));
122
- return;
120
+ mergedOptions.sequential = true;
123
121
  }
124
122
  if (batches) {
125
123
  console.log(chalk.red("❌ --chain cannot be used with --batch"));
@@ -6,7 +6,7 @@ export declare function isExecutable(path: string): Promise<boolean>;
6
6
  export declare function ensureDir(path: string): Promise<void>;
7
7
  export declare function readFile(path: string): Promise<string>;
8
8
  export declare function writeFile(path: string, content: string): Promise<void>;
9
- export declare function getFileStats(path: string): Promise<import("fs").Stats>;
9
+ export declare function getFileStats(path: string): Promise<import("node:fs").Stats>;
10
10
  /**
11
11
  * Check if a path is a symbolic link
12
12
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sequant",
3
- "version": "1.19.0",
3
+ "version": "1.20.1",
4
4
  "description": "Quantize your development workflow - Sequential AI phases with quality gates",
5
5
  "type": "module",
6
6
  "bin": {
@@ -54,7 +54,7 @@
54
54
  },
55
55
  "homepage": "https://sequant.io",
56
56
  "engines": {
57
- "node": ">=18.0.0"
57
+ "node": ">=20.0.0"
58
58
  },
59
59
  "dependencies": {
60
60
  "@anthropic-ai/claude-agent-sdk": "^0.2.11",
@@ -63,13 +63,13 @@
63
63
  "chalk": "^5.3.0",
64
64
  "chokidar": "^5.0.0",
65
65
  "cli-table3": "^0.6.5",
66
- "commander": "^12.1.0",
66
+ "commander": "^14.0.3",
67
67
  "diff": "^8.0.3",
68
68
  "gradient-string": "^3.0.0",
69
69
  "hono": "^4.12.1",
70
- "inquirer": "^12.3.2",
70
+ "inquirer": "^13.3.0",
71
71
  "open": "^11.0.0",
72
- "ora": "^8.2.0",
72
+ "ora": "^9.3.0",
73
73
  "yaml": "^2.7.0",
74
74
  "zod": "^4.3.5"
75
75
  },
@@ -77,7 +77,7 @@
77
77
  "@eslint/js": "^9.39.2",
78
78
  "@types/gradient-string": "^1.1.6",
79
79
  "@types/inquirer": "^9.0.7",
80
- "@types/node": "^22.10.5",
80
+ "@types/node": "^25.4.0",
81
81
  "@typescript-eslint/eslint-plugin": "^8.52.0",
82
82
  "@typescript-eslint/parser": "^8.52.0",
83
83
  "eslint": "^9.39.2",
@@ -85,6 +85,6 @@
85
85
  "tsx": "^4.19.2",
86
86
  "typescript": "^5.7.2",
87
87
  "typescript-eslint": "^8.52.0",
88
- "vitest": "^3.2.4"
88
+ "vitest": "^4.1.0"
89
89
  }
90
90
  }
@@ -635,8 +635,8 @@ Include CI status in the QA output:
635
635
 
636
636
  | Check | State | Bucket | Impact |
637
637
  |-------|-------|--------|--------|
638
- | `build (18.x)` | SUCCESS | pass | ✅ MET |
639
- | `build (20.x)` | PENDING | pending | ⏳ PENDING |
638
+ | `build (20.x)` | SUCCESS | pass | ✅ MET |
639
+ | `build (22.x)` | PENDING | pending | ⏳ PENDING |
640
640
  | `lint` | FAILURE | fail | ❌ NOT_MET |
641
641
 
642
642
  **CI Summary:** 1 passed, 1 pending, 1 failed