millhouse 0.3.9 → 1.0.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.
- package/README.md +88 -161
- package/dist/analysis/issue-analyzer.d.ts +6 -1
- package/dist/analysis/issue-analyzer.d.ts.map +1 -1
- package/dist/analysis/issue-analyzer.js +45 -13
- package/dist/analysis/issue-analyzer.js.map +1 -1
- package/dist/analysis/plan-parser.d.ts +7 -1
- package/dist/analysis/plan-parser.d.ts.map +1 -1
- package/dist/analysis/plan-parser.js +81 -22
- package/dist/analysis/plan-parser.js.map +1 -1
- package/dist/cli/cleanup.d.ts +1 -1
- package/dist/cli/cleanup.d.ts.map +1 -1
- package/dist/cli/cleanup.js +24 -28
- package/dist/cli/cleanup.js.map +1 -1
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +156 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/list.d.ts +6 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +111 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/load.d.ts +2 -0
- package/dist/cli/commands/load.d.ts.map +1 -0
- package/dist/cli/commands/load.js +111 -0
- package/dist/cli/commands/load.js.map +1 -0
- package/dist/cli/commands/resume.d.ts.map +1 -1
- package/dist/cli/commands/resume.js +5 -28
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/run.d.ts +2 -3
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +44 -237
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/save.d.ts +2 -0
- package/dist/cli/commands/save.d.ts.map +1 -0
- package/dist/cli/commands/save.js +220 -0
- package/dist/cli/commands/save.js.map +1 -0
- package/dist/cli/commands/setup.js +3 -3
- package/dist/cli/progress-display.d.ts +7 -14
- package/dist/cli/progress-display.d.ts.map +1 -1
- package/dist/cli/progress-display.js +94 -102
- package/dist/cli/progress-display.js.map +1 -1
- package/dist/core/orchestrator.d.ts +11 -12
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +150 -113
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/scheduler.d.ts +6 -1
- package/dist/core/scheduler.d.ts.map +1 -1
- package/dist/core/scheduler.js +48 -9
- package/dist/core/scheduler.js.map +1 -1
- package/dist/execution/claude-runner.d.ts +2 -2
- package/dist/execution/claude-runner.d.ts.map +1 -1
- package/dist/execution/claude-runner.js +1 -1
- package/dist/execution/claude-runner.js.map +1 -1
- package/dist/index.js +30 -29
- package/dist/index.js.map +1 -1
- package/dist/storage/json-store.d.ts +1 -0
- package/dist/storage/json-store.d.ts.map +1 -1
- package/dist/storage/json-store.js +36 -0
- package/dist/storage/json-store.js.map +1 -1
- package/dist/storage/worklist-store.d.ts +19 -0
- package/dist/storage/worklist-store.d.ts.map +1 -0
- package/dist/storage/worklist-store.js +131 -0
- package/dist/storage/worklist-store.js.map +1 -0
- package/dist/types.d.ts +38 -70
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -24
- package/dist/types.js.map +1 -1
- package/package.json +3 -5
- package/prompts/issue-analysis.prompt.md +56 -22
- package/prompts/plan-analysis.prompt.md +48 -10
- package/commands/millhouse.md +0 -223
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
import readline from 'node:readline';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import ora from 'ora';
|
|
5
|
+
import { WorklistStore } from '../../storage/worklist-store.js';
|
|
6
|
+
async function prompt(question) {
|
|
7
|
+
const rl = readline.createInterface({
|
|
8
|
+
input: process.stdin,
|
|
9
|
+
output: process.stdout,
|
|
10
|
+
});
|
|
11
|
+
return new Promise(resolve => {
|
|
12
|
+
rl.question(question, answer => {
|
|
13
|
+
rl.close();
|
|
14
|
+
resolve(answer.trim().toLowerCase());
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function deleteGitHubIssue(issueNumber) {
|
|
19
|
+
execSync(`gh issue delete ${issueNumber} --yes`, { stdio: 'ignore' });
|
|
20
|
+
}
|
|
21
|
+
async function deleteExistingIssues(worklist, spinner) {
|
|
22
|
+
// Collect all issue numbers to delete
|
|
23
|
+
const issuesToDelete = [];
|
|
24
|
+
for (const item of worklist.items) {
|
|
25
|
+
if (item.githubIssueNumber !== undefined) {
|
|
26
|
+
issuesToDelete.push(item.githubIssueNumber);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (worklist.indexIssueNumber !== undefined) {
|
|
30
|
+
issuesToDelete.push(worklist.indexIssueNumber);
|
|
31
|
+
}
|
|
32
|
+
// Delete all issues (ignore errors - issues may have been manually deleted)
|
|
33
|
+
for (const issueNum of issuesToDelete) {
|
|
34
|
+
spinner.start(`Deleting issue #${issueNum}...`);
|
|
35
|
+
try {
|
|
36
|
+
deleteGitHubIssue(issueNum);
|
|
37
|
+
spinner.succeed(`Deleted #${issueNum}`);
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// Issue may have been manually deleted - that's fine
|
|
41
|
+
spinner.succeed(`#${issueNum} already deleted`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Clear issue numbers from worklist
|
|
45
|
+
for (const item of worklist.items) {
|
|
46
|
+
delete item.githubIssueNumber;
|
|
47
|
+
}
|
|
48
|
+
delete worklist.indexIssueNumber;
|
|
49
|
+
}
|
|
50
|
+
export async function saveCommand() {
|
|
51
|
+
const store = new WorklistStore();
|
|
52
|
+
const worklist = await store.load();
|
|
53
|
+
if (!worklist) {
|
|
54
|
+
console.error(chalk.red('No worklist found.'));
|
|
55
|
+
console.log('Run "millhouse init" or "millhouse load" first.');
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
if (worklist.items.length === 0) {
|
|
59
|
+
console.error(chalk.red('Worklist is empty.'));
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
// Verify gh CLI is available
|
|
63
|
+
try {
|
|
64
|
+
execSync('gh --version', { stdio: 'ignore' });
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
console.error(chalk.red('GitHub CLI (gh) not found.'));
|
|
68
|
+
console.log('Install it from: https://cli.github.com/');
|
|
69
|
+
process.exit(1);
|
|
70
|
+
}
|
|
71
|
+
// Verify gh is authenticated
|
|
72
|
+
try {
|
|
73
|
+
execSync('gh auth status', { stdio: 'ignore' });
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
console.error(chalk.red('Not authenticated with GitHub CLI.'));
|
|
77
|
+
console.log('Run: gh auth login');
|
|
78
|
+
process.exit(1);
|
|
79
|
+
}
|
|
80
|
+
const spinner = ora();
|
|
81
|
+
// Check if any items already have issue numbers
|
|
82
|
+
const hasIssues = worklist.items.some(i => i.githubIssueNumber !== undefined) || worklist.indexIssueNumber !== undefined;
|
|
83
|
+
if (hasIssues) {
|
|
84
|
+
console.log(chalk.yellow('\nWorklist already has GitHub issues.\n'));
|
|
85
|
+
const choice = await prompt(' [d] Delete existing issues and recreate\n [c] Cancel\n\nChoice: ');
|
|
86
|
+
if (choice !== 'd') {
|
|
87
|
+
console.log('Cancelled.');
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
console.log('');
|
|
91
|
+
await deleteExistingIssues(worklist, spinner);
|
|
92
|
+
console.log('');
|
|
93
|
+
}
|
|
94
|
+
console.log(chalk.bold(`\nCreating ${worklist.items.length} GitHub issues...\n`));
|
|
95
|
+
// Build dependency graph and sort topologically
|
|
96
|
+
const sorted = topologicalSort(worklist.items);
|
|
97
|
+
// Map internal ID -> GitHub issue number
|
|
98
|
+
const idToIssue = new Map();
|
|
99
|
+
for (const item of sorted) {
|
|
100
|
+
spinner.start(`Creating issue: ${item.title}`);
|
|
101
|
+
try {
|
|
102
|
+
// Build the body with GitHub issue numbers for dependencies
|
|
103
|
+
let body = item.body;
|
|
104
|
+
// Replace internal dependency references with GitHub issue numbers
|
|
105
|
+
for (const depId of item.dependencies) {
|
|
106
|
+
const githubNum = idToIssue.get(depId);
|
|
107
|
+
if (githubNum) {
|
|
108
|
+
// Replace #N with actual GitHub issue number
|
|
109
|
+
body = body.replace(new RegExp(`#${depId}\\b`, 'g'), `#${githubNum}`);
|
|
110
|
+
// Also replace "Depends on #N" style references
|
|
111
|
+
body = body.replace(new RegExp(`(depends on|blocked by|after|requires)\\s+#${depId}\\b`, 'gi'), `$1 #${githubNum}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// Add dependency info at the start of the body
|
|
115
|
+
if (item.dependencies.length > 0) {
|
|
116
|
+
const depRefs = item.dependencies
|
|
117
|
+
.map(d => `#${idToIssue.get(d) || d}`)
|
|
118
|
+
.join(', ');
|
|
119
|
+
body = `**Depends on:** ${depRefs}\n\n${body}`;
|
|
120
|
+
}
|
|
121
|
+
// Create issue using gh CLI
|
|
122
|
+
const issue = createGitHubIssue(item.title, body);
|
|
123
|
+
idToIssue.set(item.id, issue.number);
|
|
124
|
+
item.githubIssueNumber = issue.number;
|
|
125
|
+
spinner.succeed(`Created #${issue.number}: ${item.title}`);
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
spinner.fail(`Failed to create: ${item.title}`);
|
|
129
|
+
console.error(chalk.red(` Error: ${error instanceof Error ? error.message : error}`));
|
|
130
|
+
// Continue with other issues
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Create index issue
|
|
134
|
+
let indexUrl;
|
|
135
|
+
if (idToIssue.size > 0) {
|
|
136
|
+
spinner.start('Creating index issue...');
|
|
137
|
+
try {
|
|
138
|
+
const indexTitle = worklist.title || 'Implementation Index';
|
|
139
|
+
const indexBody = buildIndexBody(worklist, idToIssue);
|
|
140
|
+
const indexIssue = createGitHubIssue(indexTitle, indexBody);
|
|
141
|
+
indexUrl = indexIssue.url;
|
|
142
|
+
worklist.indexIssueNumber = indexIssue.number;
|
|
143
|
+
spinner.succeed(`Created index issue: #${indexIssue.number}`);
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
spinner.fail('Failed to create index issue');
|
|
147
|
+
console.error(chalk.red(` Error: ${error instanceof Error ? error.message : error}`));
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Save updated worklist
|
|
151
|
+
await store.save(worklist);
|
|
152
|
+
console.log(chalk.green(`\n✓ Created ${idToIssue.size} issues`));
|
|
153
|
+
if (indexUrl) {
|
|
154
|
+
console.log(chalk.cyan(`\n${indexUrl}`));
|
|
155
|
+
}
|
|
156
|
+
console.log(chalk.gray('\nRun "millhouse run" to execute'));
|
|
157
|
+
}
|
|
158
|
+
function createGitHubIssue(title, body) {
|
|
159
|
+
// Escape for shell
|
|
160
|
+
const escapedTitle = title.replace(/"/g, '\\"').replace(/`/g, '\\`');
|
|
161
|
+
const escapedBody = body.replace(/"/g, '\\"').replace(/`/g, '\\`');
|
|
162
|
+
const result = execSync(`gh issue create --title "${escapedTitle}" --body "${escapedBody}"`, { encoding: 'utf-8' });
|
|
163
|
+
// Parse issue number from URL
|
|
164
|
+
// Output is like: https://github.com/owner/repo/issues/123
|
|
165
|
+
const url = result.trim();
|
|
166
|
+
const match = url.match(/issues\/(\d+)/);
|
|
167
|
+
if (!match) {
|
|
168
|
+
throw new Error('Failed to parse issue number from gh output');
|
|
169
|
+
}
|
|
170
|
+
return { number: parseInt(match[1], 10), url };
|
|
171
|
+
}
|
|
172
|
+
function buildIndexBody(worklist, idToIssue) {
|
|
173
|
+
const lines = worklist.items.map(item => {
|
|
174
|
+
const ghNum = idToIssue.get(item.id);
|
|
175
|
+
if (!ghNum)
|
|
176
|
+
return null;
|
|
177
|
+
let deps = '';
|
|
178
|
+
if (item.dependencies.length > 0) {
|
|
179
|
+
const depRefs = item.dependencies
|
|
180
|
+
.map(d => `#${idToIssue.get(d) || d}`)
|
|
181
|
+
.join(', ');
|
|
182
|
+
deps = ` (depends on ${depRefs})`;
|
|
183
|
+
}
|
|
184
|
+
// GitHub auto-expands #N to show the issue title, so we don't need to repeat it
|
|
185
|
+
return `- #${ghNum}${deps}`;
|
|
186
|
+
}).filter(Boolean);
|
|
187
|
+
const description = worklist.description ? `${worklist.description}\n\n` : '';
|
|
188
|
+
return `${description}## Issues
|
|
189
|
+
|
|
190
|
+
${lines.join('\n')}
|
|
191
|
+
`;
|
|
192
|
+
}
|
|
193
|
+
function topologicalSort(items) {
|
|
194
|
+
const sorted = [];
|
|
195
|
+
const visited = new Set();
|
|
196
|
+
const visiting = new Set();
|
|
197
|
+
const itemMap = new Map(items.map(i => [i.id, i]));
|
|
198
|
+
function visit(item) {
|
|
199
|
+
if (visited.has(item.id))
|
|
200
|
+
return;
|
|
201
|
+
if (visiting.has(item.id)) {
|
|
202
|
+
throw new Error(`Circular dependency detected at item ${item.id}`);
|
|
203
|
+
}
|
|
204
|
+
visiting.add(item.id);
|
|
205
|
+
for (const depId of item.dependencies) {
|
|
206
|
+
const dep = itemMap.get(depId);
|
|
207
|
+
if (dep) {
|
|
208
|
+
visit(dep);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
visiting.delete(item.id);
|
|
212
|
+
visited.add(item.id);
|
|
213
|
+
sorted.push(item);
|
|
214
|
+
}
|
|
215
|
+
for (const item of items) {
|
|
216
|
+
visit(item);
|
|
217
|
+
}
|
|
218
|
+
return sorted;
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=save.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"save.js","sourceRoot":"","sources":["../../../src/cli/commands/save.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,11 +57,11 @@ export async function setupCommand(options) {
|
|
|
57
57
|
}
|
|
58
58
|
console.log(`
|
|
59
59
|
${chalk.bold('Slash commands (in Claude Code):')}
|
|
60
|
-
/millhouse plan [
|
|
61
|
-
/millhouse issues [
|
|
60
|
+
/millhouse plan [name] Analyze plan.md and save as JSON
|
|
61
|
+
/millhouse issues [name] Create GitHub issues from JSON plan
|
|
62
62
|
|
|
63
63
|
${chalk.bold('Then run from terminal:')}
|
|
64
|
-
millhouse run [
|
|
64
|
+
millhouse run [name] Execute from JSON plan (fast)
|
|
65
65
|
millhouse run issues [id] Execute GitHub issues (omit id to run all)
|
|
66
66
|
millhouse status Show run status
|
|
67
67
|
`);
|
|
@@ -31,8 +31,6 @@ export declare class ProgressDisplay {
|
|
|
31
31
|
private resizeHandler;
|
|
32
32
|
private isRunning;
|
|
33
33
|
private logHistory;
|
|
34
|
-
private renderTimeout;
|
|
35
|
-
private renderScheduled;
|
|
36
34
|
constructor(options?: {
|
|
37
35
|
displayMode?: 'compact' | 'detailed';
|
|
38
36
|
});
|
|
@@ -69,26 +67,21 @@ export declare class ProgressDisplay {
|
|
|
69
67
|
*/
|
|
70
68
|
private truncateMessage;
|
|
71
69
|
/**
|
|
72
|
-
*
|
|
73
|
-
* Uses string-width to correctly handle ANSI codes and wide characters.
|
|
74
|
-
*/
|
|
75
|
-
private truncateToWidth;
|
|
76
|
-
/**
|
|
77
|
-
* Clear previously rendered lines (used when switching modes).
|
|
70
|
+
* Clear previously rendered lines (for mode switches).
|
|
78
71
|
*/
|
|
79
72
|
private clearLines;
|
|
80
73
|
/**
|
|
81
|
-
*
|
|
74
|
+
* Render the compact view.
|
|
82
75
|
*/
|
|
83
|
-
private
|
|
76
|
+
private render;
|
|
84
77
|
/**
|
|
85
|
-
*
|
|
78
|
+
* Build a single display line, truncated to fit maxWidth.
|
|
86
79
|
*/
|
|
87
|
-
private
|
|
80
|
+
private buildLine;
|
|
88
81
|
/**
|
|
89
|
-
*
|
|
82
|
+
* Hard truncate a string (with ANSI codes) to maxWidth.
|
|
90
83
|
*/
|
|
91
|
-
private
|
|
84
|
+
private hardTruncate;
|
|
92
85
|
/**
|
|
93
86
|
* Render final summary after stopping.
|
|
94
87
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-display.d.ts","sourceRoot":"","sources":["../../src/cli/progress-display.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAUnF,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAuD;
|
|
1
|
+
{"version":3,"file":"progress-display.d.ts","sourceRoot":"","sources":["../../src/cli/progress-display.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAUnF,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAuD;gBAE7D,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;KAAE;IAM9D;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IA+CzC;;OAEG;IACH,KAAK,IAAI,IAAI;IA4Cb;;OAEG;IACH,IAAI,IAAI,IAAI;IAwBZ;;OAEG;IACH,OAAO,CAAC,UAAU;IAsBlB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgB/B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAuDvC;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAkBvD;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACH,OAAO,CAAC,MAAM;IAgCd;;OAEG;IACH,OAAO,CAAC,SAAS;IAgDjB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8BpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,aAAa;CAStB"}
|
|
@@ -9,8 +9,6 @@ export class ProgressDisplay {
|
|
|
9
9
|
resizeHandler = null;
|
|
10
10
|
isRunning = false;
|
|
11
11
|
logHistory = [];
|
|
12
|
-
renderTimeout = null;
|
|
13
|
-
renderScheduled = false;
|
|
14
12
|
constructor(options) {
|
|
15
13
|
if (options?.displayMode === 'detailed') {
|
|
16
14
|
this.compactMode = false;
|
|
@@ -82,13 +80,10 @@ export class ProgressDisplay {
|
|
|
82
80
|
};
|
|
83
81
|
process.stdin.on('data', this.keyHandler);
|
|
84
82
|
}
|
|
85
|
-
// Listen for terminal resize
|
|
83
|
+
// Listen for terminal resize
|
|
86
84
|
if (process.stdout.isTTY) {
|
|
87
85
|
this.resizeHandler = () => {
|
|
88
86
|
if (this.compactMode && this.isRunning) {
|
|
89
|
-
// Just re-render with new width - some garbage may remain briefly
|
|
90
|
-
// from previously wrapped lines, but it's better than clearing
|
|
91
|
-
// useful content above the progress display
|
|
92
87
|
this.render();
|
|
93
88
|
}
|
|
94
89
|
};
|
|
@@ -105,11 +100,6 @@ export class ProgressDisplay {
|
|
|
105
100
|
*/
|
|
106
101
|
stop() {
|
|
107
102
|
this.isRunning = false;
|
|
108
|
-
// Clear any pending render
|
|
109
|
-
if (this.renderTimeout) {
|
|
110
|
-
clearTimeout(this.renderTimeout);
|
|
111
|
-
this.renderTimeout = null;
|
|
112
|
-
}
|
|
113
103
|
if (process.stdin.isTTY) {
|
|
114
104
|
if (this.keyHandler) {
|
|
115
105
|
process.stdin.removeListener('data', this.keyHandler);
|
|
@@ -211,7 +201,7 @@ export class ProgressDisplay {
|
|
|
211
201
|
break;
|
|
212
202
|
}
|
|
213
203
|
if (this.compactMode && this.isRunning) {
|
|
214
|
-
this.
|
|
204
|
+
this.render();
|
|
215
205
|
}
|
|
216
206
|
else if (!this.compactMode && this.isRunning) {
|
|
217
207
|
this.renderDetailedEvent(event);
|
|
@@ -231,7 +221,7 @@ export class ProgressDisplay {
|
|
|
231
221
|
if (issue) {
|
|
232
222
|
issue.latestMessage = this.truncateMessage(message);
|
|
233
223
|
if (this.compactMode && this.isRunning) {
|
|
234
|
-
this.
|
|
224
|
+
this.render();
|
|
235
225
|
}
|
|
236
226
|
}
|
|
237
227
|
}
|
|
@@ -239,119 +229,121 @@ export class ProgressDisplay {
|
|
|
239
229
|
* Truncate a message to fit on one line.
|
|
240
230
|
*/
|
|
241
231
|
truncateMessage(message) {
|
|
242
|
-
// Remove newlines and trim
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
*/
|
|
249
|
-
truncateToWidth(str, maxWidth) {
|
|
250
|
-
if (stringWidth(str) <= maxWidth) {
|
|
251
|
-
return str;
|
|
252
|
-
}
|
|
253
|
-
// Need to truncate - rebuild string character by character
|
|
254
|
-
let result = '';
|
|
255
|
-
let i = 0;
|
|
256
|
-
while (i < str.length) {
|
|
257
|
-
// Check for ANSI escape sequence
|
|
258
|
-
if (str[i] === '\x1B' && str[i + 1] === '[') {
|
|
259
|
-
// Find end of escape sequence
|
|
260
|
-
let j = i + 2;
|
|
261
|
-
while (j < str.length && str[j] !== 'm') {
|
|
262
|
-
j++;
|
|
263
|
-
}
|
|
264
|
-
// Include the 'm' and add to result (doesn't affect width)
|
|
265
|
-
result += str.slice(i, j + 1);
|
|
266
|
-
i = j + 1;
|
|
267
|
-
}
|
|
268
|
-
else {
|
|
269
|
-
// Check if adding this character would exceed width (leaving room for ...)
|
|
270
|
-
const charWidth = stringWidth(str[i]);
|
|
271
|
-
if (stringWidth(result) + charWidth > maxWidth - 3) {
|
|
272
|
-
break;
|
|
273
|
-
}
|
|
274
|
-
result += str[i];
|
|
275
|
-
i++;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
return result + '...';
|
|
232
|
+
// Remove newlines and trim
|
|
233
|
+
const clean = message.replace(/\n/g, ' ').trim();
|
|
234
|
+
const maxLen = 60;
|
|
235
|
+
if (clean.length <= maxLen)
|
|
236
|
+
return clean;
|
|
237
|
+
return clean.slice(0, maxLen - 3) + '...';
|
|
279
238
|
}
|
|
280
239
|
/**
|
|
281
|
-
* Clear previously rendered lines (
|
|
240
|
+
* Clear previously rendered lines (for mode switches).
|
|
282
241
|
*/
|
|
283
242
|
clearLines() {
|
|
284
243
|
if (this.lastRenderLines > 0) {
|
|
285
|
-
|
|
244
|
+
// Move cursor up and clear everything below
|
|
245
|
+
process.stdout.write(`\x1B[${this.lastRenderLines}A\x1B[J`);
|
|
286
246
|
this.lastRenderLines = 0;
|
|
287
247
|
}
|
|
288
248
|
}
|
|
289
249
|
/**
|
|
290
|
-
*
|
|
291
|
-
*/
|
|
292
|
-
scheduleRender() {
|
|
293
|
-
if (this.renderScheduled)
|
|
294
|
-
return;
|
|
295
|
-
this.renderScheduled = true;
|
|
296
|
-
// Use setImmediate for first render, then throttle subsequent renders
|
|
297
|
-
if (this.renderTimeout) {
|
|
298
|
-
clearTimeout(this.renderTimeout);
|
|
299
|
-
}
|
|
300
|
-
this.renderTimeout = setTimeout(() => {
|
|
301
|
-
this.renderScheduled = false;
|
|
302
|
-
this.renderTimeout = null;
|
|
303
|
-
this.doRender();
|
|
304
|
-
}, 50); // 50ms throttle
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* Actually render the compact view.
|
|
250
|
+
* Render the compact view.
|
|
308
251
|
*/
|
|
309
|
-
|
|
310
|
-
//
|
|
252
|
+
render() {
|
|
253
|
+
// Get terminal width (leave margin for safety)
|
|
254
|
+
const termWidth = (process.stdout.columns || 80) - 2;
|
|
255
|
+
// Build output string
|
|
311
256
|
let output = '';
|
|
312
|
-
//
|
|
257
|
+
// Move cursor up to overwrite previous render
|
|
313
258
|
if (this.lastRenderLines > 0) {
|
|
314
|
-
// Move to start of line
|
|
315
|
-
output += '\r';
|
|
316
|
-
// Move cursor up to start of render area
|
|
317
259
|
output += `\x1B[${this.lastRenderLines}A`;
|
|
318
|
-
// Clear from cursor to end of screen
|
|
319
|
-
output += '\x1B[J';
|
|
320
260
|
}
|
|
321
|
-
|
|
322
|
-
const termWidth = process.stdout.columns || 80;
|
|
323
|
-
// Build the new content
|
|
324
|
-
const lines = [];
|
|
261
|
+
let lineCount = 0;
|
|
325
262
|
for (const issueNumber of this.issueOrder) {
|
|
326
263
|
const issue = this.issues.get(issueNumber);
|
|
327
264
|
if (!issue)
|
|
328
265
|
continue;
|
|
329
|
-
|
|
330
|
-
const
|
|
331
|
-
//
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
: issue.title;
|
|
335
|
-
// Build the full line, then truncate to terminal width
|
|
336
|
-
const fullLine = `${stateIcon} ${stateColor(`#${issue.number}`)} ${chalk.gray(titleShort)} ${chalk.dim('│')} ${issue.latestMessage}`;
|
|
337
|
-
const line = this.truncateToWidth(fullLine, termWidth - 1);
|
|
338
|
-
lines.push(line);
|
|
266
|
+
// Build line with truncation based on available width
|
|
267
|
+
const line = this.buildLine(issue, termWidth);
|
|
268
|
+
// Write line, clear to end of line, then newline
|
|
269
|
+
output += '\r' + line + '\x1B[K\n';
|
|
270
|
+
lineCount++;
|
|
339
271
|
}
|
|
340
|
-
|
|
341
|
-
|
|
272
|
+
// Clear any remaining old lines below
|
|
273
|
+
output += '\x1B[J';
|
|
342
274
|
process.stdout.write(output);
|
|
343
|
-
this.lastRenderLines =
|
|
275
|
+
this.lastRenderLines = lineCount;
|
|
344
276
|
}
|
|
345
277
|
/**
|
|
346
|
-
*
|
|
278
|
+
* Build a single display line, truncated to fit maxWidth.
|
|
347
279
|
*/
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
280
|
+
buildLine(issue, maxWidth) {
|
|
281
|
+
const stateIcon = this.getStateIcon(issue.state);
|
|
282
|
+
const stateColor = this.getStateColor(issue.state);
|
|
283
|
+
const numStr = `#${issue.number}`;
|
|
284
|
+
const separator = ' │ ';
|
|
285
|
+
// Measure fixed parts using stringWidth (handles wide chars like ● and │)
|
|
286
|
+
const iconWidth = stringWidth(stateIcon);
|
|
287
|
+
const numWidth = stringWidth(numStr);
|
|
288
|
+
const sepWidth = stringWidth(separator);
|
|
289
|
+
const spacesWidth = 2; // spaces between parts
|
|
290
|
+
const fixedWidth = iconWidth + spacesWidth + numWidth + sepWidth;
|
|
291
|
+
// Remaining width for title + message
|
|
292
|
+
const remainingWidth = maxWidth - fixedWidth;
|
|
293
|
+
if (remainingWidth < 15) {
|
|
294
|
+
// Terminal too narrow, just show icon and number
|
|
295
|
+
return `${stateIcon} ${stateColor(numStr)}`;
|
|
296
|
+
}
|
|
297
|
+
// Split remaining space: give title up to 30 chars, rest to message
|
|
298
|
+
const titleMaxWidth = Math.min(30, Math.floor(remainingWidth * 0.5));
|
|
299
|
+
const msgMaxWidth = remainingWidth - titleMaxWidth - 1; // -1 for space after title
|
|
300
|
+
// Truncate title (plain text, then color)
|
|
301
|
+
let title = issue.title;
|
|
302
|
+
if (title.length > titleMaxWidth) {
|
|
303
|
+
title = title.slice(0, titleMaxWidth - 3) + '...';
|
|
304
|
+
}
|
|
305
|
+
// Truncate message (plain text)
|
|
306
|
+
let msg = issue.latestMessage.replace(/\n/g, ' ').trim();
|
|
307
|
+
if (msg.length > msgMaxWidth) {
|
|
308
|
+
msg = msg.slice(0, msgMaxWidth - 3) + '...';
|
|
309
|
+
}
|
|
310
|
+
const line = `${stateIcon} ${stateColor(numStr)} ${chalk.gray(title)} ${chalk.dim('│')} ${msg}`;
|
|
311
|
+
// Final safety check - if still too wide, hard truncate
|
|
312
|
+
if (stringWidth(line) > maxWidth) {
|
|
313
|
+
return this.hardTruncate(line, maxWidth);
|
|
314
|
+
}
|
|
315
|
+
return line;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Hard truncate a string (with ANSI codes) to maxWidth.
|
|
319
|
+
*/
|
|
320
|
+
hardTruncate(str, maxWidth) {
|
|
321
|
+
if (stringWidth(str) <= maxWidth) {
|
|
322
|
+
return str;
|
|
323
|
+
}
|
|
324
|
+
let result = '';
|
|
325
|
+
let width = 0;
|
|
326
|
+
let i = 0;
|
|
327
|
+
while (i < str.length && width < maxWidth - 3) {
|
|
328
|
+
if (str[i] === '\x1B') {
|
|
329
|
+
// ANSI escape - find the end and include it
|
|
330
|
+
let j = i + 1;
|
|
331
|
+
while (j < str.length && str[j] !== 'm') {
|
|
332
|
+
j++;
|
|
333
|
+
}
|
|
334
|
+
result += str.slice(i, j + 1);
|
|
335
|
+
i = j + 1;
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
const cw = stringWidth(str[i]);
|
|
339
|
+
if (width + cw > maxWidth - 3)
|
|
340
|
+
break;
|
|
341
|
+
result += str[i];
|
|
342
|
+
width += cw;
|
|
343
|
+
i++;
|
|
344
|
+
}
|
|
352
345
|
}
|
|
353
|
-
|
|
354
|
-
this.doRender();
|
|
346
|
+
return result + '...\x1B[0m';
|
|
355
347
|
}
|
|
356
348
|
/**
|
|
357
349
|
* Render final summary after stopping.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-display.js","sourceRoot":"","sources":["../../src/cli/progress-display.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"progress-display.js","sourceRoot":"","sources":["../../src/cli/progress-display.ts"],"names":[],"mappings":"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"}
|