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.
Files changed (71) hide show
  1. package/README.md +88 -161
  2. package/dist/analysis/issue-analyzer.d.ts +6 -1
  3. package/dist/analysis/issue-analyzer.d.ts.map +1 -1
  4. package/dist/analysis/issue-analyzer.js +45 -13
  5. package/dist/analysis/issue-analyzer.js.map +1 -1
  6. package/dist/analysis/plan-parser.d.ts +7 -1
  7. package/dist/analysis/plan-parser.d.ts.map +1 -1
  8. package/dist/analysis/plan-parser.js +81 -22
  9. package/dist/analysis/plan-parser.js.map +1 -1
  10. package/dist/cli/cleanup.d.ts +1 -1
  11. package/dist/cli/cleanup.d.ts.map +1 -1
  12. package/dist/cli/cleanup.js +24 -28
  13. package/dist/cli/cleanup.js.map +1 -1
  14. package/dist/cli/commands/init.d.ts +6 -0
  15. package/dist/cli/commands/init.d.ts.map +1 -0
  16. package/dist/cli/commands/init.js +156 -0
  17. package/dist/cli/commands/init.js.map +1 -0
  18. package/dist/cli/commands/list.d.ts +6 -0
  19. package/dist/cli/commands/list.d.ts.map +1 -0
  20. package/dist/cli/commands/list.js +111 -0
  21. package/dist/cli/commands/list.js.map +1 -0
  22. package/dist/cli/commands/load.d.ts +2 -0
  23. package/dist/cli/commands/load.d.ts.map +1 -0
  24. package/dist/cli/commands/load.js +111 -0
  25. package/dist/cli/commands/load.js.map +1 -0
  26. package/dist/cli/commands/resume.d.ts.map +1 -1
  27. package/dist/cli/commands/resume.js +5 -28
  28. package/dist/cli/commands/resume.js.map +1 -1
  29. package/dist/cli/commands/run.d.ts +2 -3
  30. package/dist/cli/commands/run.d.ts.map +1 -1
  31. package/dist/cli/commands/run.js +44 -237
  32. package/dist/cli/commands/run.js.map +1 -1
  33. package/dist/cli/commands/save.d.ts +2 -0
  34. package/dist/cli/commands/save.d.ts.map +1 -0
  35. package/dist/cli/commands/save.js +220 -0
  36. package/dist/cli/commands/save.js.map +1 -0
  37. package/dist/cli/commands/setup.js +3 -3
  38. package/dist/cli/progress-display.d.ts +7 -14
  39. package/dist/cli/progress-display.d.ts.map +1 -1
  40. package/dist/cli/progress-display.js +94 -102
  41. package/dist/cli/progress-display.js.map +1 -1
  42. package/dist/core/orchestrator.d.ts +11 -12
  43. package/dist/core/orchestrator.d.ts.map +1 -1
  44. package/dist/core/orchestrator.js +150 -113
  45. package/dist/core/orchestrator.js.map +1 -1
  46. package/dist/core/scheduler.d.ts +6 -1
  47. package/dist/core/scheduler.d.ts.map +1 -1
  48. package/dist/core/scheduler.js +48 -9
  49. package/dist/core/scheduler.js.map +1 -1
  50. package/dist/execution/claude-runner.d.ts +2 -2
  51. package/dist/execution/claude-runner.d.ts.map +1 -1
  52. package/dist/execution/claude-runner.js +1 -1
  53. package/dist/execution/claude-runner.js.map +1 -1
  54. package/dist/index.js +30 -29
  55. package/dist/index.js.map +1 -1
  56. package/dist/storage/json-store.d.ts +1 -0
  57. package/dist/storage/json-store.d.ts.map +1 -1
  58. package/dist/storage/json-store.js +36 -0
  59. package/dist/storage/json-store.js.map +1 -1
  60. package/dist/storage/worklist-store.d.ts +19 -0
  61. package/dist/storage/worklist-store.d.ts.map +1 -0
  62. package/dist/storage/worklist-store.js +131 -0
  63. package/dist/storage/worklist-store.js.map +1 -0
  64. package/dist/types.d.ts +38 -70
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/types.js +3 -24
  67. package/dist/types.js.map +1 -1
  68. package/package.json +3 -5
  69. package/prompts/issue-analysis.prompt.md +56 -22
  70. package/prompts/plan-analysis.prompt.md +48 -10
  71. package/commands/millhouse.md +0 -223
@@ -7,6 +7,7 @@ export class Scheduler extends EventEmitter {
7
7
  failed = new Set();
8
8
  running = new Map();
9
9
  blocked = new Set();
10
+ aborted = false;
10
11
  constructor(options) {
11
12
  super();
12
13
  this.concurrency = options.concurrency;
@@ -20,6 +21,7 @@ export class Scheduler extends EventEmitter {
20
21
  this.completed = new Set(completed);
21
22
  this.failed = new Set(failed);
22
23
  this.running = new Map();
24
+ this.aborted = false;
23
25
  // Identify initially blocked issues
24
26
  const allIssues = graph.getAllIssues();
25
27
  for (const issue of allIssues) {
@@ -38,6 +40,9 @@ export class Scheduler extends EventEmitter {
38
40
  getReadyTasks() {
39
41
  if (!this.graph)
40
42
  return [];
43
+ // If aborted, don't start any new tasks
44
+ if (this.aborted)
45
+ return [];
41
46
  const ready = this.graph.getReady(Array.from(this.completed));
42
47
  // Filter out already running, failed, and blocked-by-failed tasks
43
48
  return ready.filter(issue => {
@@ -45,15 +50,38 @@ export class Scheduler extends EventEmitter {
45
50
  return false;
46
51
  if (this.failed.has(issue))
47
52
  return false;
48
- // Check if blocked by a failed dependency
49
- const deps = this.graph.getDependencies(issue);
50
- const hasFailedDep = deps.some(d => this.failed.has(d));
51
- if (hasFailedDep && !this.continueOnError) {
53
+ // Check if blocked by a failed dependency (never run if dependency failed)
54
+ if (this.isBlockedByFailure(issue)) {
52
55
  return false;
53
56
  }
54
57
  return true;
55
58
  });
56
59
  }
60
+ /**
61
+ * Check if a task is blocked by a failed dependency (directly or transitively).
62
+ */
63
+ isBlockedByFailure(issue) {
64
+ if (!this.graph)
65
+ return false;
66
+ const visited = new Set();
67
+ const stack = [issue];
68
+ while (stack.length > 0) {
69
+ const current = stack.pop();
70
+ if (visited.has(current))
71
+ continue;
72
+ visited.add(current);
73
+ const deps = this.graph.getDependencies(current);
74
+ for (const dep of deps) {
75
+ if (this.failed.has(dep)) {
76
+ return true;
77
+ }
78
+ if (!this.completed.has(dep)) {
79
+ stack.push(dep);
80
+ }
81
+ }
82
+ }
83
+ return false;
84
+ }
57
85
  /**
58
86
  * Get the number of available slots for new tasks.
59
87
  */
@@ -61,11 +89,15 @@ export class Scheduler extends EventEmitter {
61
89
  return Math.max(0, this.concurrency - this.running.size);
62
90
  }
63
91
  /**
64
- * Check if all tasks are complete (or failed if continueOnError is false).
92
+ * Check if all tasks are complete (or blocked by failures, or aborted).
65
93
  */
66
94
  isComplete() {
67
95
  if (!this.graph)
68
96
  return true;
97
+ // If aborted (continueOnError=false and a task failed), wait for running tasks then stop
98
+ if (this.aborted && this.running.size === 0) {
99
+ return true;
100
+ }
69
101
  const allIssues = this.graph.getAllIssues();
70
102
  const pending = allIssues.filter(i => !this.completed.has(i) &&
71
103
  !this.failed.has(i) &&
@@ -74,12 +106,11 @@ export class Scheduler extends EventEmitter {
74
106
  if (this.running.size === 0 && pending.length === 0) {
75
107
  return true;
76
108
  }
77
- // If nothing running, check if all pending are blocked by failures
78
- if (this.running.size === 0 && !this.continueOnError) {
79
- // Check if any pending task is startable
109
+ // If nothing running, check if any task can still start
110
+ if (this.running.size === 0) {
80
111
  const ready = this.getReadyTasks();
81
112
  if (ready.length === 0) {
82
- return true; // Deadlocked by failures
113
+ return true; // All remaining tasks are blocked (by deps or failures)
83
114
  }
84
115
  }
85
116
  return false;
@@ -158,6 +189,10 @@ export class Scheduler extends EventEmitter {
158
189
  issueNumber,
159
190
  error: result.error || 'Unknown error',
160
191
  });
192
+ // If continueOnError is false, abort after this failure
193
+ if (!this.continueOnError) {
194
+ this.aborted = true;
195
+ }
161
196
  }
162
197
  }
163
198
  /**
@@ -205,6 +240,10 @@ export class Scheduler extends EventEmitter {
205
240
  else if (this.running.has(issue)) {
206
241
  statuses.set(issue, 'in-progress');
207
242
  }
243
+ else if (this.isBlockedByFailure(issue)) {
244
+ // Blocked by a failed dependency - will never run
245
+ statuses.set(issue, 'blocked');
246
+ }
208
247
  else if (this.blocked.has(issue)) {
209
248
  statuses.set(issue, 'blocked');
210
249
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/core/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/core/scheduler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AnalyzedIssue, Config } from '../types.js';
1
+ import type { AnalyzedIssue } from '../types.js';
2
2
  interface RunResult {
3
3
  success: boolean;
4
4
  commits: string[];
@@ -14,7 +14,7 @@ export declare class ClaudeRunner {
14
14
  private promptTemplate;
15
15
  private dangerouslySkipPermissions;
16
16
  private onLog;
17
- constructor(_config: Config, options?: ClaudeRunnerOptions);
17
+ constructor(options?: ClaudeRunnerOptions);
18
18
  /**
19
19
  * Load the implementation prompt template.
20
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"claude-runner.d.ts","sourceRoot":"","sources":["../../src/execution/claude-runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAMzD,UAAU,SAAS;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzE,UAAU,mBAAmB;IAC3B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,0BAA0B,CAAU;IAC5C,OAAO,CAAC,KAAK,CAAc;gBAEf,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB;IAO9D;;OAEG;YACW,kBAAkB;IAyBhC;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBtG;;OAEG;IACG,GAAG,CACP,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,SAAS,CAAC;IAmGrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;;OAGG;YACW,aAAa;CAgC5B"}
1
+ {"version":3,"file":"claude-runner.d.ts","sourceRoot":"","sources":["../../src/execution/claude-runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD,UAAU,SAAS;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzE,UAAU,mBAAmB;IAC3B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,0BAA0B,CAAU;IAC5C,OAAO,CAAC,KAAK,CAAc;gBAEf,OAAO,GAAE,mBAAwB;IAO7C;;OAEG;YACW,kBAAkB;IAyBhC;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBtG;;OAEG;IACG,GAAG,CACP,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,SAAS,CAAC;IAmGrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;;OAGG;YACW,aAAa;CAgC5B"}
@@ -10,7 +10,7 @@ export class ClaudeRunner {
10
10
  promptTemplate = null;
11
11
  dangerouslySkipPermissions;
12
12
  onLog;
13
- constructor(_config, options = {}) {
13
+ constructor(options = {}) {
14
14
  this.dangerouslySkipPermissions = options.dangerouslySkipPermissions ?? false;
15
15
  this.onLog = options.onLog ?? ((issueNumber, message) => {
16
16
  console.log(` [#${issueNumber}] ${message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"claude-runner.js","sourceRoot":"","sources":["../../src/execution/claude-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-runner.js","sourceRoot":"","sources":["../../src/execution/claude-runner.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,40 +1,46 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
- import { runPlanCommand, runIssuesCommand } from './cli/commands/run.js';
3
+ import { initCommand } from './cli/commands/init.js';
4
+ import { listCommand } from './cli/commands/list.js';
5
+ import { runCommand } from './cli/commands/run.js';
6
+ import { saveCommand } from './cli/commands/save.js';
7
+ import { loadCommand } from './cli/commands/load.js';
4
8
  import { statusCommand } from './cli/commands/status.js';
5
9
  import { resumeCommand } from './cli/commands/resume.js';
6
- import { setupCommand } from './cli/commands/setup.js';
7
10
  import { cleanCommand } from './cli/commands/clean.js';
8
11
  const program = new Command();
9
12
  program
10
13
  .name('millhouse')
11
- .description('Orchestrates multiple parallel Claude Code instances to work on GitHub issues or plan files')
12
- .version('0.1.0')
13
- .enablePositionalOptions();
14
- // Main run command - defaults to plan mode
15
- const runCmd = program
14
+ .description('Orchestrate parallel Claude Code instances to implement work items')
15
+ .version('0.5.0');
16
+ program
17
+ .command('init')
18
+ .description('Create worklist from the latest plan in ~/.claude/plans/')
19
+ .option('-f, --force', 'Overwrite existing worklist without prompting')
20
+ .action(initCommand);
21
+ program
22
+ .command('list')
23
+ .description('Show items in the current worklist')
24
+ .option('-v, --verbose', 'Show full item descriptions')
25
+ .action(listCommand);
26
+ program
16
27
  .command('run')
17
- .description('Execute a plan file (default) or GitHub issues')
18
- .argument('[plan]', 'Path to plan file (omit to use latest from ~/.claude/plans/)')
19
- .option('-n, --concurrency <number>', 'Number of parallel workers', '8')
20
- .option('-d, --display <mode>', 'Display mode: compact or detailed', 'compact')
21
- .option('--dry-run', 'Analyze and plan without executing')
22
- .option('--no-scan', 'Skip project structure scanning')
23
- .option('--dangerously-skip-permissions', 'Skip permission prompts in spawned Claude instances')
24
- .enablePositionalOptions()
25
- .passThroughOptions()
26
- .action(runPlanCommand);
27
- // Subcommand for GitHub issues mode
28
- runCmd
29
- .command('issues')
30
- .description('Execute GitHub issues')
31
- .argument('[numbers]', 'Comma-separated issue numbers (omit to run all open issues)')
28
+ .description('Execute pending worklist items')
32
29
  .option('-n, --concurrency <number>', 'Number of parallel workers', '8')
33
30
  .option('-d, --display <mode>', 'Display mode: compact or detailed', 'compact')
34
31
  .option('--dry-run', 'Analyze and plan without executing')
35
- .option('--no-scan', 'Skip project structure scanning')
36
32
  .option('--dangerously-skip-permissions', 'Skip permission prompts in spawned Claude instances')
37
- .action(runIssuesCommand);
33
+ .option('--no-continue-on-error', 'Stop on first failure instead of continuing')
34
+ .action(runCommand);
35
+ program
36
+ .command('save')
37
+ .description('Create GitHub issues from worklist')
38
+ .action(saveCommand);
39
+ program
40
+ .command('load')
41
+ .description('Load GitHub issues into worklist')
42
+ .argument('[issues]', 'Comma-separated issue numbers (omit to load all open issues)')
43
+ .action(loadCommand);
38
44
  program
39
45
  .command('status')
40
46
  .description('Show current run status')
@@ -46,11 +52,6 @@ program
46
52
  .description('Resume an interrupted run')
47
53
  .argument('<run-id>', 'The run ID to resume')
48
54
  .action(resumeCommand);
49
- program
50
- .command('setup')
51
- .description('Install Claude Code slash commands')
52
- .option('-g, --global', 'Install to ~/.claude/commands/ instead of ./.claude/commands/')
53
- .action(setupCommand);
54
55
  program
55
56
  .command('clean')
56
57
  .description('Clean up leftover worktrees, branches, and state from interrupted runs')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,6FAA6F,CAAC;KAC1G,OAAO,CAAC,OAAO,CAAC;KAChB,uBAAuB,EAAE,CAAC;AAE7B,2CAA2C;AAC3C,MAAM,MAAM,GAAG,OAAO;KACnB,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,gDAAgD,CAAC;KAC7D,QAAQ,CAAC,QAAQ,EAAE,8DAA8D,CAAC;KAClF,MAAM,CAAC,4BAA4B,EAAE,4BAA4B,EAAE,GAAG,CAAC;KACvE,MAAM,CAAC,sBAAsB,EAAE,mCAAmC,EAAE,SAAS,CAAC;KAC9E,MAAM,CAAC,WAAW,EAAE,oCAAoC,CAAC;KACzD,MAAM,CAAC,WAAW,EAAE,iCAAiC,CAAC;KACtD,MAAM,CAAC,gCAAgC,EAAE,qDAAqD,CAAC;KAC/F,uBAAuB,EAAE;KACzB,kBAAkB,EAAE;KACpB,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,oCAAoC;AACpC,MAAM;KACH,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,uBAAuB,CAAC;KACpC,QAAQ,CAAC,WAAW,EAAE,6DAA6D,CAAC;KACpF,MAAM,CAAC,4BAA4B,EAAE,4BAA4B,EAAE,GAAG,CAAC;KACvE,MAAM,CAAC,sBAAsB,EAAE,mCAAmC,EAAE,SAAS,CAAC;KAC9E,MAAM,CAAC,WAAW,EAAE,oCAAoC,CAAC;KACzD,MAAM,CAAC,WAAW,EAAE,iCAAiC,CAAC;KACtD,MAAM,CAAC,gCAAgC,EAAE,qDAAqD,CAAC;KAC/F,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,eAAe,EAAE,8BAA8B,CAAC;KACvD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2BAA2B,CAAC;KACxC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;KAC5C,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,cAAc,EAAE,+DAA+D,CAAC;KACvF,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,wEAAwE,CAAC;KACrF,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,oEAAoE,CAAC;KACjF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,aAAa,EAAE,+CAA+C,CAAC;KACtE,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;KACtD,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,4BAA4B,EAAE,4BAA4B,EAAE,GAAG,CAAC;KACvE,MAAM,CAAC,sBAAsB,EAAE,mCAAmC,EAAE,SAAS,CAAC;KAC9E,MAAM,CAAC,WAAW,EAAE,oCAAoC,CAAC;KACzD,MAAM,CAAC,gCAAgC,EAAE,qDAAqD,CAAC;KAC/F,MAAM,CAAC,wBAAwB,EAAE,6CAA6C,CAAC;KAC/E,MAAM,CAAC,UAAU,CAAC,CAAC;AAEtB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,UAAU,EAAE,8DAA8D,CAAC;KACpF,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,eAAe,EAAE,8BAA8B,CAAC;KACvD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2BAA2B,CAAC;KACxC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;KAC5C,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,wEAAwE,CAAC;KACrF,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -6,6 +6,7 @@ export declare class JsonStore {
6
6
  private get runsDir();
7
7
  private get worktreesPath();
8
8
  ensureDirectories(): Promise<void>;
9
+ private ensureGitignore;
9
10
  generateRunId(): string;
10
11
  saveRun(run: RunState): Promise<void>;
11
12
  getRun(runId: string): Promise<RunState | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"json-store.d.ts","sourceRoot":"","sources":["../../src/storage/json-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM1D,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,GAAE,MAAsB;IAI5C,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,KAAK,aAAa,GAExB;IAEK,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC,aAAa,IAAI,MAAM;IAQjB,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAU/C,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAkB/B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvC,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IASvC,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAK1F,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAIjE"}
1
+ {"version":3,"file":"json-store.d.ts","sourceRoot":"","sources":["../../src/storage/json-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM1D,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,GAAE,MAAsB;IAI5C,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,KAAK,aAAa,GAExB;IAEK,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;YAK1B,eAAe;IAoC7B,aAAa,IAAI,MAAM;IAQjB,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAU/C,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAkB/B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvC,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IASvC,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAK1F,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAIjE"}
@@ -20,6 +20,42 @@ export class JsonStore {
20
20
  }
21
21
  async ensureDirectories() {
22
22
  await fs.mkdir(this.runsDir, { recursive: true });
23
+ await this.ensureGitignore();
24
+ }
25
+ async ensureGitignore() {
26
+ const gitignorePath = path.join(this.basePath, '.gitignore');
27
+ const entry = '.millhouse';
28
+ let modified = false;
29
+ try {
30
+ const content = await fs.readFile(gitignorePath, 'utf-8');
31
+ // Check if .millhouse is already in gitignore (as whole line)
32
+ const lines = content.split('\n');
33
+ if (lines.some(line => line.trim() === entry)) {
34
+ return; // Already present
35
+ }
36
+ // Append to existing gitignore
37
+ const newContent = content.endsWith('\n') ? content + entry + '\n' : content + '\n' + entry + '\n';
38
+ await fs.writeFile(gitignorePath, newContent);
39
+ modified = true;
40
+ }
41
+ catch {
42
+ // No .gitignore exists, create one
43
+ await fs.writeFile(gitignorePath, entry + '\n');
44
+ modified = true;
45
+ }
46
+ // Commit the gitignore change
47
+ if (modified) {
48
+ const { execSync } = await import('node:child_process');
49
+ try {
50
+ execSync('git add .gitignore && git commit -m "chore: add .millhouse to .gitignore"', {
51
+ cwd: this.basePath,
52
+ stdio: 'pipe',
53
+ });
54
+ }
55
+ catch {
56
+ // Ignore commit failures (e.g., not a git repo)
57
+ }
58
+ }
23
59
  }
24
60
  generateRunId() {
25
61
  const timestamp = Date.now().toString(36);
@@ -1 +1 @@
1
- {"version":3,"file":"json-store.js","sourceRoot":"","sources":["../../src/storage/json-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-store.js","sourceRoot":"","sources":["../../src/storage/json-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { Worklist, WorklistItem } from '../types.js';
2
+ export declare class WorklistStore {
3
+ private basePath;
4
+ constructor(basePath?: string);
5
+ private get millhouseDir();
6
+ private get worklistPath();
7
+ ensureDirectory(): Promise<void>;
8
+ private ensureGitignore;
9
+ exists(): Promise<boolean>;
10
+ load(): Promise<Worklist | null>;
11
+ save(worklist: Worklist): Promise<void>;
12
+ delete(): Promise<void>;
13
+ updateItem(itemId: number, updates: Partial<WorklistItem>): Promise<void>;
14
+ markCompleted(itemId: number): Promise<void>;
15
+ markFailed(itemId: number, error: string): Promise<void>;
16
+ getPendingItems(): Promise<WorklistItem[]>;
17
+ getReadyItems(): Promise<WorklistItem[]>;
18
+ }
19
+ //# sourceMappingURL=worklist-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worklist-store.d.ts","sourceRoot":"","sources":["../../src/storage/worklist-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK1D,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,GAAE,MAAsB;IAI5C,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,YAAY,GAEvB;IAEK,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;YAKxB,eAAe;IAoCvB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAS1B,IAAI,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAShC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAezE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5C,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQ1C,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAgB/C"}
@@ -0,0 +1,131 @@
1
+ import { promises as fs } from 'node:fs';
2
+ import path from 'node:path';
3
+ const MILLHOUSE_DIR = '.millhouse';
4
+ const WORKLIST_FILE = 'worklist.json';
5
+ export class WorklistStore {
6
+ basePath;
7
+ constructor(basePath = process.cwd()) {
8
+ this.basePath = basePath;
9
+ }
10
+ get millhouseDir() {
11
+ return path.join(this.basePath, MILLHOUSE_DIR);
12
+ }
13
+ get worklistPath() {
14
+ return path.join(this.millhouseDir, WORKLIST_FILE);
15
+ }
16
+ async ensureDirectory() {
17
+ await fs.mkdir(this.millhouseDir, { recursive: true });
18
+ await this.ensureGitignore();
19
+ }
20
+ async ensureGitignore() {
21
+ const gitignorePath = path.join(this.basePath, '.gitignore');
22
+ const entry = '.millhouse';
23
+ let modified = false;
24
+ try {
25
+ const content = await fs.readFile(gitignorePath, 'utf-8');
26
+ // Check if .millhouse is already in gitignore (as whole line)
27
+ const lines = content.split('\n');
28
+ if (lines.some(line => line.trim() === entry)) {
29
+ return; // Already present
30
+ }
31
+ // Append to existing gitignore
32
+ const newContent = content.endsWith('\n') ? content + entry + '\n' : content + '\n' + entry + '\n';
33
+ await fs.writeFile(gitignorePath, newContent);
34
+ modified = true;
35
+ }
36
+ catch {
37
+ // No .gitignore exists, create one
38
+ await fs.writeFile(gitignorePath, entry + '\n');
39
+ modified = true;
40
+ }
41
+ // Commit the gitignore change
42
+ if (modified) {
43
+ const { execSync } = await import('node:child_process');
44
+ try {
45
+ execSync('git add .gitignore && git commit -m "chore: add .millhouse to .gitignore"', {
46
+ cwd: this.basePath,
47
+ stdio: 'pipe',
48
+ });
49
+ }
50
+ catch {
51
+ // Ignore commit failures (e.g., not a git repo)
52
+ }
53
+ }
54
+ }
55
+ async exists() {
56
+ try {
57
+ await fs.access(this.worklistPath);
58
+ return true;
59
+ }
60
+ catch {
61
+ return false;
62
+ }
63
+ }
64
+ async load() {
65
+ try {
66
+ const content = await fs.readFile(this.worklistPath, 'utf-8');
67
+ return JSON.parse(content);
68
+ }
69
+ catch {
70
+ return null;
71
+ }
72
+ }
73
+ async save(worklist) {
74
+ await this.ensureDirectory();
75
+ worklist.updatedAt = new Date().toISOString();
76
+ await fs.writeFile(this.worklistPath, JSON.stringify(worklist, null, 2));
77
+ }
78
+ async delete() {
79
+ try {
80
+ await fs.unlink(this.worklistPath);
81
+ }
82
+ catch {
83
+ // Ignore if file doesn't exist
84
+ }
85
+ }
86
+ async updateItem(itemId, updates) {
87
+ const worklist = await this.load();
88
+ if (!worklist) {
89
+ throw new Error('No worklist found');
90
+ }
91
+ const item = worklist.items.find(i => i.id === itemId);
92
+ if (!item) {
93
+ throw new Error(`Item ${itemId} not found in worklist`);
94
+ }
95
+ Object.assign(item, updates);
96
+ await this.save(worklist);
97
+ }
98
+ async markCompleted(itemId) {
99
+ await this.updateItem(itemId, {
100
+ status: 'completed',
101
+ completedAt: new Date().toISOString(),
102
+ });
103
+ }
104
+ async markFailed(itemId, error) {
105
+ await this.updateItem(itemId, {
106
+ status: 'failed',
107
+ error,
108
+ });
109
+ }
110
+ async getPendingItems() {
111
+ const worklist = await this.load();
112
+ if (!worklist) {
113
+ return [];
114
+ }
115
+ return worklist.items.filter(i => i.status === 'pending');
116
+ }
117
+ async getReadyItems() {
118
+ const worklist = await this.load();
119
+ if (!worklist) {
120
+ return [];
121
+ }
122
+ const completedIds = new Set(worklist.items.filter(i => i.status === 'completed').map(i => i.id));
123
+ return worklist.items.filter(item => {
124
+ if (item.status !== 'pending')
125
+ return false;
126
+ // Check if all dependencies are completed
127
+ return item.dependencies.every(dep => completedIds.has(dep));
128
+ });
129
+ }
130
+ }
131
+ //# sourceMappingURL=worklist-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worklist-store.js","sourceRoot":"","sources":["../../src/storage/worklist-store.ts"],"names":[],"mappings":"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"}