millhouse 0.3.5 → 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 (75) 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 +98 -21
  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 +25 -29
  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 +29 -24
  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 +10 -1
  39. package/dist/cli/progress-display.d.ts.map +1 -1
  40. package/dist/cli/progress-display.js +107 -17
  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 +159 -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/execution/worktree-manager.d.ts.map +1 -1
  55. package/dist/execution/worktree-manager.js +5 -6
  56. package/dist/execution/worktree-manager.js.map +1 -1
  57. package/dist/index.js +30 -29
  58. package/dist/index.js.map +1 -1
  59. package/dist/storage/json-store.d.ts +1 -0
  60. package/dist/storage/json-store.d.ts.map +1 -1
  61. package/dist/storage/json-store.js +36 -0
  62. package/dist/storage/json-store.js.map +1 -1
  63. package/dist/storage/worklist-store.d.ts +19 -0
  64. package/dist/storage/worklist-store.d.ts.map +1 -0
  65. package/dist/storage/worklist-store.js +131 -0
  66. package/dist/storage/worklist-store.js.map +1 -0
  67. package/dist/types.d.ts +39 -70
  68. package/dist/types.d.ts.map +1 -1
  69. package/dist/types.js +3 -24
  70. package/dist/types.js.map +1 -1
  71. package/package.json +3 -4
  72. package/prompts/implementation.prompt.md +34 -35
  73. package/prompts/issue-analysis.prompt.md +56 -22
  74. package/prompts/plan-analysis.prompt.md +47 -36
  75. package/commands/millhouse.md +0 -223
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAQ,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlE,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IAErB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAE1C,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,0BAA0B,CAAU;gBAEhC,OAAO,EAAE,mBAAmB;IAqBxC,OAAO,CAAC,qBAAqB;IA2B7B;;;OAGG;IACG,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAOxF;;;OAGG;IACG,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAOpE;;OAEG;IACG,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiG7D;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6BnD;;OAEG;YACW,gBAAgB;IAyK9B;;OAEG;YACW,oBAAoB;IAqElC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;OAEG;YACW,aAAa;CAuC5B"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAQ,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,UAAU,mBAAmB;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IAErB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAE1C,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAuB;gBAEjC,OAAO,EAAE,mBAAmB;IAgBxC,OAAO,CAAC,qBAAqB;IA2B7B;;;OAGG;IACG,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAOxF;;;OAGG;IACG,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAQpE;;;;OAIG;YACW,0BAA0B;IAyExC;;OAEG;IACG,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2E7D;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyCnD;;OAEG;YACW,gBAAgB;IA4J9B;;OAEG;YACW,oBAAoB;IAsDlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;;;OAIG;YACW,uBAAuB;CA8DtC"}
@@ -1,17 +1,14 @@
1
1
  import chalk from 'chalk';
2
2
  import { promises as fs } from 'node:fs';
3
3
  import path from 'node:path';
4
- import { scanProject } from '../execution/project-scanner.js';
5
4
  export class Orchestrator {
6
- config;
7
5
  store;
8
6
  graphBuilder;
9
7
  worktreeManager;
10
8
  claudeRunner;
11
9
  scheduler;
12
- // GitHub-specific (optional for local mode)
10
+ // GitHub-specific (optional for load command)
13
11
  githubClient;
14
- labelManager;
15
12
  issueDiscoverer;
16
13
  issueAnalyzer;
17
14
  progressDisplay;
@@ -19,10 +16,7 @@ export class Orchestrator {
19
16
  graph = null;
20
17
  isShuttingDown = false;
21
18
  originalBranch = null;
22
- shouldScanProject;
23
- dangerouslySkipPermissions;
24
19
  constructor(options) {
25
- this.config = options.config;
26
20
  this.store = options.store;
27
21
  this.graphBuilder = options.graphBuilder;
28
22
  this.worktreeManager = options.worktreeManager;
@@ -30,13 +24,9 @@ export class Orchestrator {
30
24
  this.scheduler = options.scheduler;
31
25
  // GitHub-specific
32
26
  this.githubClient = options.githubClient;
33
- this.labelManager = options.labelManager;
34
27
  this.issueDiscoverer = options.issueDiscoverer;
35
28
  this.issueAnalyzer = options.issueAnalyzer;
36
29
  this.progressDisplay = options.progressDisplay;
37
- // Project scanning
38
- this.shouldScanProject = options.scanProject ?? true;
39
- this.dangerouslySkipPermissions = options.dangerouslySkipPermissions ?? false;
40
30
  // Handle graceful shutdown
41
31
  this.setupShutdownHandlers();
42
32
  }
@@ -80,43 +70,101 @@ export class Orchestrator {
80
70
  if (!this.issueAnalyzer) {
81
71
  throw new Error('analyzeIssues is only available in GitHub mode');
82
72
  }
83
- return this.issueAnalyzer.analyzeIssues(issues);
73
+ const result = await this.issueAnalyzer.analyzeIssues(issues);
74
+ return result.issues;
84
75
  }
85
76
  /**
86
- * Run the full orchestration pipeline.
77
+ * Check that the working directory is clean before starting a run.
78
+ * Only allows files that are gitignored - all other changes must be committed or stashed.
79
+ * Special case: if only CLAUDE.md is untracked, auto-commit it.
87
80
  */
88
- async run(analyzedIssues) {
89
- // Save original branch to restore later
90
- this.originalBranch = await this.worktreeManager.getCurrentBranch();
91
- // Check for existing CLAUDE.md or run /init
92
- if (this.shouldScanProject) {
93
- const claudeMdPath = path.join(process.cwd(), 'CLAUDE.md');
81
+ async checkWorkingDirectoryClean() {
82
+ const { execSync } = await import('node:child_process');
83
+ const isGitIgnored = (filePath) => {
94
84
  try {
95
- await fs.access(claudeMdPath);
96
- // CLAUDE.md exists - workers will pick it up automatically from worktree
97
- console.log(chalk.blue('\n📂 Using existing CLAUDE.md for project context'));
85
+ // git check-ignore exits 0 if ignored, 1 if not ignored
86
+ execSync(`git check-ignore -q "${filePath}"`, {
87
+ cwd: process.cwd(),
88
+ stdio: 'pipe',
89
+ });
90
+ return true;
98
91
  }
99
92
  catch {
100
- // No CLAUDE.md - run /init to create one
101
- console.log(chalk.blue('\n📂 No CLAUDE.md found, running /init...'));
102
- const scanResult = await scanProject(process.cwd(), {
103
- dangerouslySkipPermissions: this.dangerouslySkipPermissions,
104
- onLog: (message) => {
105
- console.log(chalk.gray(` ${message}`));
106
- },
93
+ return false;
94
+ }
95
+ };
96
+ try {
97
+ const status = execSync('git status --porcelain', {
98
+ cwd: process.cwd(),
99
+ encoding: 'utf-8',
100
+ }).trim();
101
+ if (status) {
102
+ const lines = status.split('\n');
103
+ // Filter out gitignored files
104
+ const unexpectedLines = lines.filter(line => {
105
+ // Extract the file path (status is first 2 chars, then space, then path)
106
+ const filePath = line.slice(3);
107
+ return !isGitIgnored(filePath);
107
108
  });
108
- if (scanResult.success) {
109
- console.log(chalk.green(' ✓ CLAUDE.md created'));
110
- }
111
- else {
112
- console.log(chalk.yellow(` ⚠ /init failed: ${scanResult.error}`));
113
- // Continue without - it's not critical
109
+ if (unexpectedLines.length > 0) {
110
+ // Special case: if only CLAUDE.md is untracked, auto-commit it
111
+ if (unexpectedLines.length === 1 && unexpectedLines[0] === '?? CLAUDE.md') {
112
+ console.log(chalk.blue(' Auto-committing CLAUDE.md...'));
113
+ execSync('git add CLAUDE.md && git commit -m "chore: add CLAUDE.md"', {
114
+ cwd: process.cwd(),
115
+ stdio: 'pipe',
116
+ });
117
+ return;
118
+ }
119
+ const untracked = unexpectedLines.filter(l => l.startsWith('??'));
120
+ const modified = unexpectedLines.filter(l => !l.startsWith('??'));
121
+ const issues = [];
122
+ if (modified.length > 0) {
123
+ issues.push(`${modified.length} uncommitted change(s)`);
124
+ }
125
+ if (untracked.length > 0) {
126
+ issues.push(`${untracked.length} untracked file(s)`);
127
+ }
128
+ console.log(chalk.yellow(`\n⚠ Working directory is not clean: ${issues.join(', ')}`));
129
+ console.log(chalk.gray(' These files may cause merge conflicts at the end of the run:'));
130
+ for (const line of unexpectedLines.slice(0, 10)) {
131
+ console.log(chalk.gray(` ${line}`));
132
+ }
133
+ if (unexpectedLines.length > 10) {
134
+ console.log(chalk.gray(` ... and ${unexpectedLines.length - 10} more`));
135
+ }
136
+ console.log(chalk.gray('\n Commit or stash these changes before running.\n'));
137
+ throw new Error('Working directory is not clean. Commit or stash changes before running.');
114
138
  }
115
139
  }
116
140
  }
141
+ catch (error) {
142
+ if (error instanceof Error && error.message.includes('Working directory is not clean')) {
143
+ throw error;
144
+ }
145
+ // If git status fails for some other reason, continue
146
+ }
147
+ }
148
+ /**
149
+ * Run the full orchestration pipeline.
150
+ */
151
+ async run(analyzedIssues) {
152
+ // Save original branch to restore later
153
+ this.originalBranch = await this.worktreeManager.getCurrentBranch();
154
+ // Check working directory is clean (allowing expected files)
155
+ await this.checkWorkingDirectoryClean();
156
+ // Check for CLAUDE.md
157
+ const claudeMdPath = path.join(process.cwd(), 'CLAUDE.md');
158
+ try {
159
+ await fs.access(claudeMdPath);
160
+ }
161
+ catch {
162
+ console.log(chalk.yellow('\n⚠ No CLAUDE.md found.'));
163
+ console.log(chalk.gray(' CLAUDE.md is highly recommended for best results.'));
164
+ console.log(chalk.gray(' Run /init inside Claude Code to create it.'));
165
+ }
117
166
  // Create run state
118
167
  const runId = this.store.generateRunId();
119
- const baseBranch = this.config.execution.baseBranch;
120
168
  // Build dependency graph
121
169
  this.graph = this.graphBuilder.build(analyzedIssues);
122
170
  // Check for cycles
@@ -124,16 +172,17 @@ export class Orchestrator {
124
172
  const cycles = this.graph.getCycles();
125
173
  throw new Error(`Circular dependencies detected: ${cycles.map(c => c.map(n => `#${n}`).join(' → ')).join('; ')}`);
126
174
  }
127
- // Create run branch
175
+ // Create run branch from current branch
128
176
  console.log(chalk.blue(` Creating run branch: millhouse/run-${runId}`));
129
- const runBranch = await this.worktreeManager.createRunBranch(runId, baseBranch);
177
+ const runBranch = await this.worktreeManager.createRunBranch(runId, this.originalBranch);
130
178
  // Initialize run state
131
179
  this.runState = {
132
180
  id: runId,
133
181
  createdAt: new Date().toISOString(),
134
182
  updatedAt: new Date().toISOString(),
135
183
  status: 'running',
136
- baseBranch,
184
+ mode: this.githubClient ? 'github' : 'plan',
185
+ baseBranch: this.originalBranch,
137
186
  runBranch,
138
187
  issues: analyzedIssues,
139
188
  tasks: analyzedIssues.map(issue => ({
@@ -144,11 +193,6 @@ export class Orchestrator {
144
193
  failedIssues: [],
145
194
  };
146
195
  await this.store.saveRun(this.runState);
147
- // GitHub-specific: manage labels
148
- if (this.labelManager) {
149
- await this.labelManager.ensureLabelsExist();
150
- await this.labelManager.setStatusBatch(analyzedIssues.map(i => i.number), 'queued');
151
- }
152
196
  // Initialize progress display
153
197
  if (this.progressDisplay) {
154
198
  this.progressDisplay.initialize(analyzedIssues);
@@ -174,6 +218,8 @@ export class Orchestrator {
174
218
  async resume(runState) {
175
219
  // Save original branch to restore later
176
220
  this.originalBranch = await this.worktreeManager.getCurrentBranch();
221
+ // Check working directory is clean (allowing expected files)
222
+ await this.checkWorkingDirectoryClean();
177
223
  this.runState = runState;
178
224
  // Rebuild graph from issues
179
225
  this.graph = this.graphBuilder.build(runState.issues);
@@ -181,11 +227,19 @@ export class Orchestrator {
181
227
  this.runState.status = 'running';
182
228
  this.runState.updatedAt = new Date().toISOString();
183
229
  await this.store.saveRun(this.runState);
230
+ // Initialize progress display
231
+ if (this.progressDisplay) {
232
+ this.progressDisplay.initialize(runState.issues);
233
+ this.progressDisplay.start();
234
+ }
184
235
  // Continue from where we left off
185
236
  try {
186
237
  return await this.executeScheduler(runState.id, runState.runBranch, runState.issues);
187
238
  }
188
239
  finally {
240
+ if (this.progressDisplay) {
241
+ this.progressDisplay.stop();
242
+ }
189
243
  // Restore original branch
190
244
  if (this.originalBranch) {
191
245
  await this.worktreeManager.restoreBranch(this.originalBranch);
@@ -212,6 +266,10 @@ export class Orchestrator {
212
266
  if (!issue) {
213
267
  return { success: false, commits: [], error: 'Issue not found' };
214
268
  }
269
+ // Handle noWorkNeeded issues - just create a closing commit
270
+ if (issue.noWorkNeeded) {
271
+ return await this.handleNoWorkNeededIssue(issue, runId, runBranch);
272
+ }
215
273
  try {
216
274
  // Create worktree
217
275
  if (this.progressDisplay) {
@@ -297,35 +355,16 @@ export class Orchestrator {
297
355
  this.runState.completedIssues = completed;
298
356
  this.runState.failedIssues = failed;
299
357
  this.runState.updatedAt = new Date().toISOString();
300
- // Create PR if all completed (GitHub mode only)
358
+ // Merge run branch into current branch if any items completed
301
359
  if (failed.length === 0 && completed.length > 0) {
302
- if (this.githubClient) {
303
- try {
304
- // Push run branch
305
- console.log(chalk.blue(' Pushing changes...'));
306
- await this.worktreeManager.pushRunBranch(runBranch);
307
- // Create PR
308
- console.log(chalk.blue(' Creating pull request...'));
309
- const prUrl = await this.createFinalPR(runId, runBranch, issues, completed);
310
- this.runState.pullRequestUrl = prUrl;
311
- this.runState.status = 'completed';
312
- }
313
- catch (error) {
314
- this.runState.error = error instanceof Error ? error.message : String(error);
315
- this.runState.status = 'failed';
316
- }
360
+ try {
361
+ console.log(chalk.blue(' Merging changes into current branch...'));
362
+ await this.worktreeManager.mergeRunBranch(runBranch, this.originalBranch);
363
+ this.runState.status = 'completed';
317
364
  }
318
- else {
319
- // Local mode - merge run branch into original branch
320
- try {
321
- console.log(chalk.blue(' Merging changes into current branch...'));
322
- await this.worktreeManager.mergeRunBranch(runBranch, this.originalBranch);
323
- this.runState.status = 'completed';
324
- }
325
- catch (error) {
326
- this.runState.error = error instanceof Error ? error.message : String(error);
327
- this.runState.status = 'failed';
328
- }
365
+ catch (error) {
366
+ this.runState.error = error instanceof Error ? error.message : String(error);
367
+ this.runState.status = 'failed';
329
368
  }
330
369
  }
331
370
  else if (failed.length > 0) {
@@ -352,9 +391,6 @@ export class Orchestrator {
352
391
  else {
353
392
  console.log(chalk.cyan(` ▶ Started: #${event.issueNumber}`));
354
393
  }
355
- if (this.labelManager) {
356
- await this.labelManager.markInProgress(event.issueNumber);
357
- }
358
394
  this.updateTaskStatus(event.issueNumber, 'in-progress');
359
395
  break;
360
396
  case 'task-completed':
@@ -364,9 +400,6 @@ export class Orchestrator {
364
400
  else {
365
401
  console.log(chalk.green(` ✓ Completed: #${event.issueNumber}`));
366
402
  }
367
- if (this.labelManager) {
368
- await this.labelManager.markDone(event.issueNumber);
369
- }
370
403
  this.updateTaskStatus(event.issueNumber, 'completed', event.commits);
371
404
  break;
372
405
  case 'task-failed':
@@ -376,12 +409,6 @@ export class Orchestrator {
376
409
  else {
377
410
  console.log(chalk.red(` ✗ Failed: #${event.issueNumber} - ${event.error}`));
378
411
  }
379
- if (this.labelManager) {
380
- await this.labelManager.markFailed(event.issueNumber);
381
- }
382
- if (this.githubClient) {
383
- await this.githubClient.addComment(event.issueNumber, `❌ Millhouse failed to implement this issue:\n\n\`\`\`\n${event.error}\n\`\`\``);
384
- }
385
412
  this.updateTaskStatus(event.issueNumber, 'failed', undefined, event.error);
386
413
  break;
387
414
  case 'tasks-unblocked':
@@ -426,37 +453,56 @@ export class Orchestrator {
426
453
  }
427
454
  }
428
455
  /**
429
- * Create the final pull request.
456
+ * Handle issues marked as noWorkNeeded (index/meta issues).
457
+ * Creates an empty commit to close the issue when merged.
458
+ * Uses a worktree to avoid polluting the main working directory.
430
459
  */
431
- async createFinalPR(runId, runBranch, issues, completedIssues) {
432
- const completedSet = new Set(completedIssues);
433
- const completed = issues.filter(i => completedSet.has(i.number));
434
- const title = completed.length === 1
435
- ? `Fix #${completed[0].number}: ${completed[0].title}`
436
- : `Millhouse: Implement ${completed.length} issues`;
437
- const issueList = completed
438
- .map(i => `- Fixes #${i.number}: ${i.title}`)
439
- .join('\n');
440
- const body = `## Summary
441
-
442
- This PR implements the following issues:
443
-
444
- ${issueList}
445
-
446
- ## Details
447
-
448
- Run ID: \`${runId}\`
449
- Branch: \`${runBranch}\`
450
-
451
- ---
452
- 🤖 Generated by [Millhouse](https://github.com/dave/millhouse)`;
453
- return this.githubClient.createPullRequest({
454
- title,
455
- body,
456
- head: runBranch,
457
- base: this.config.execution.baseBranch,
458
- draft: this.config.pullRequests.createAsDraft,
459
- });
460
+ async handleNoWorkNeededIssue(issue, runId, runBranch) {
461
+ const issueNumber = issue.number;
462
+ const githubIssueNumber = issue.githubIssueNumber || issueNumber;
463
+ if (this.progressDisplay) {
464
+ this.progressDisplay.logDetailed(issueNumber, 'No work needed - creating closing commit...');
465
+ }
466
+ else {
467
+ console.log(chalk.blue(` #${issueNumber}: No work needed - creating closing commit...`));
468
+ }
469
+ try {
470
+ // Create worktree on its own branch (forked from run branch)
471
+ const worktree = await this.worktreeManager.createWorktree(runId, issueNumber, runBranch);
472
+ await this.store.saveWorktree(worktree);
473
+ // Create an empty commit with the closing message
474
+ const commitMessage = `chore: close #${githubIssueNumber} (no work needed)\n\nThis is a tracking/index issue that requires no code changes.\n\nFixes #${githubIssueNumber}`;
475
+ const { execSync } = await import('node:child_process');
476
+ execSync(`git commit --allow-empty -m "${commitMessage.replace(/"/g, '\\"')}"`, {
477
+ cwd: worktree.path,
478
+ stdio: 'pipe',
479
+ });
480
+ // Get the commit hash
481
+ const commitHash = execSync('git rev-parse HEAD', {
482
+ cwd: worktree.path,
483
+ encoding: 'utf-8',
484
+ }).trim();
485
+ // Update the run branch to include this commit using git update-ref
486
+ // This avoids checking out in the main working directory
487
+ execSync(`git fetch "${worktree.path}" HEAD:${runBranch}`, {
488
+ cwd: process.cwd(),
489
+ stdio: 'pipe',
490
+ });
491
+ // Write MILLHOUSE_MERGE_COMMIT for consistency
492
+ const mergeCommitPath = path.join(worktree.path, 'MILLHOUSE_MERGE_COMMIT');
493
+ await fs.writeFile(mergeCommitPath, commitHash);
494
+ // Clean up
495
+ await this.worktreeManager.removeWorktree(worktree.path, worktree.branch);
496
+ await this.store.removeWorktree(worktree.path);
497
+ return { success: true, commits: [commitHash] };
498
+ }
499
+ catch (error) {
500
+ return {
501
+ success: false,
502
+ commits: [],
503
+ error: error instanceof Error ? error.message : String(error),
504
+ };
505
+ }
460
506
  }
461
507
  }
462
508
  //# sourceMappingURL=orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAY7B,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAoB9D,MAAM,OAAO,YAAY;IACf,MAAM,CAAS;IACf,KAAK,CAAY;IACjB,YAAY,CAAe;IAC3B,eAAe,CAAkB;IACjC,YAAY,CAAe;IAC3B,SAAS,CAAY;IAC7B,4CAA4C;IACpC,YAAY,CAAgB;IAC5B,YAAY,CAAgB;IAC5B,eAAe,CAAmB;IAClC,aAAa,CAAiB;IAC9B,eAAe,CAAmB;IAElC,QAAQ,GAAoB,IAAI,CAAC;IACjC,KAAK,GAA2B,IAAI,CAAC;IACrC,cAAc,GAAG,KAAK,CAAC;IACvB,cAAc,GAAkB,IAAI,CAAC;IACrC,iBAAiB,CAAU;IAC3B,0BAA0B,CAAU;IAE5C,YAAY,OAA4B;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,kBAAkB;QAClB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,mBAAmB;QACnB,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,IAAI,KAAK,CAAC;QAE9E,2BAA2B;QAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,qBAAqB;QAC3B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,IAAI,IAAI,CAAC,cAAc;gBAAE,OAAO;YAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAE3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAEpE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACnD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+CAA+C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/F,CAAC;YAED,0BAA0B;YAC1B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACzE,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAChE,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,YAAsB,EAAE,SAAkB;QAC7D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,MAAqB;QACvC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,cAA+B;QACvC,wCAAwC;QACxC,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;QAEpE,4CAA4C;QAC5C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YAC3D,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC9B,yEAAyE;gBACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAC;YAC/E,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;gBACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;gBACrE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;oBAClD,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;oBAC3D,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;wBACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC3C,CAAC;iBACF,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACpE,uCAAuC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;QAEpD,yBAAyB;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAErD,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,mCAAmC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjG,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAEhF,uBAAuB;QACvB,IAAI,CAAC,QAAQ,GAAG;YACd,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,SAAS;YACjB,UAAU;YACV,SAAS;YACT,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClC,WAAW,EAAE,KAAK,CAAC,MAAM;gBACzB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;YACH,eAAe,EAAE,EAAE;YACnB,YAAY,EAAE,EAAE;SACjB,CAAC;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,iCAAiC;QACjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CACpC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EACjC,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACvE,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAC9B,CAAC;YACD,0BAA0B;YAC1B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,QAAkB;QAC7B,wCAAwC;QACxC,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;QAEpE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,4BAA4B;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEtD,gBAAgB;QAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,kCAAkC;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAChC,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,MAAM,CAChB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,0BAA0B;YAC1B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAC5B,KAAa,EACb,SAAiB,EACjB,MAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzD,uBAAuB;QACvB,IAAI,CAAC,SAAS,CAAC,UAAU,CACvB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,CAAC,eAAe,EAC7B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC3B,CAAC;QAEF,wBAAwB;QACxB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACzC,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,QAAQ,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;YACnE,CAAC;YAED,IAAI,CAAC;gBACH,kBAAkB;gBAClB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;gBACxE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,WAAW,KAAK,CAAC,CAAC,CAAC;gBACzE,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CACxD,KAAK,EACL,WAAW,EACX,SAAS,CACV,CAAC;gBACF,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAExC,yCAAyC;gBACzC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBAC9D,MAAM,aAAa,GAAG,YAAY;qBAC/B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC;qBACvE,MAAM,CAAC,CAAC,IAAI,EAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE5D,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,gDAAgD;oBAChD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAChD,OAAO,MAAM,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,KAAK,IAAI,SAAS,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;oBACtF,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAEvB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;oBAC1E,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;oBAC3C,YAAY,GAAG,IAAI,CAAC;oBAEpB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;wBACzB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,UAAU,aAAa,CAAC,MAAM,0BAA0B,CAAC,CAAC;oBAC1G,CAAC;gBACH,CAAC;gBAED,aAAa;gBACb,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,WAAW,KAAK,CAAC,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAEtF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,iCAAiC;oBACjC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;oBACrE,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;wBACxD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;wBAC3E,IAAI,IAAI,EAAE,CAAC;4BACT,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;wBACzB,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,6DAA6D;oBAC/D,CAAC;oBAED,yDAAyD;oBACzD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;wBACzB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;oBACtE,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,WAAW,KAAK,CAAC,CAAC,CAAC;oBACvE,CAAC;oBACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAC/D,QAAQ,CAAC,IAAI,EACb,SAAS,CACV,CAAC;oBAEF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;wBAC1B,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,8CAA8C;yBAC5E,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,mCAAmC;gBACnC,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC1E,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE/C,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,gBAAgB;QAChB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjE,qBAAqB;QACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEnD,gDAAgD;QAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,kBAAkB;oBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;oBACjD,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;oBAEpD,YAAY;oBACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;oBACvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;oBAC5E,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC;oBACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;gBACrC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7E,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAClC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,IAAI,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;oBACrE,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,cAAe,CAAC,CAAC;oBAC3E,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;gBACrC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7E,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,kBAAkB,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAChC,KAA0G,EAC1G,MAAc,EACd,UAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,cAAc;gBACjB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,CAAC,WAAY,EAAE,CAAC,CAAC;gBAC/F,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,WAAY,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAY,EAAE,aAAa,CAAC,CAAC;gBACzD,MAAM;YAER,KAAK,gBAAgB;gBACnB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,CAAC,WAAY,EAAE,CAAC,CAAC;gBACjG,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAY,CAAC,CAAC;gBACvD,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAY,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACtE,MAAM;YAER,KAAK,aAAa;gBAChB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,WAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;gBACrI,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,WAAW,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAChF,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,WAAY,CAAC,CAAC;gBACzD,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAChC,KAAK,CAAC,WAAY,EAClB,0DAA0D,KAAK,CAAC,KAAK,UAAU,CAChF,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM;YAER,KAAK,iBAAiB;gBACpB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,YAAa,EAAE,CAAC;wBACtC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,YAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjG,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,YAAa,EAAE,CAAC;oBACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACtC,CAAC;gBACD,MAAM;QACV,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,WAAmB,EACnB,MAAsB,EACtB,OAAkB,EAClB,KAAc;QAEd,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;QAC1E,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,CAAC;YACD,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAClD,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC9C,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,KAAa,EACb,SAAiB,EACjB,MAAuB,EACvB,eAAyB;QAEzB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC;YAClC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YACtD,CAAC,CAAC,wBAAwB,SAAS,CAAC,MAAM,SAAS,CAAC;QAEtD,MAAM,SAAS,GAAG,SAAS;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;aAC5C,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,IAAI,GAAG;;;;EAIf,SAAS;;;;YAIC,KAAK;YACL,SAAS;;;+DAG0C,CAAC;QAE5D,OAAO,IAAI,CAAC,YAAa,CAAC,iBAAiB,CAAC;YAC1C,KAAK;YACL,IAAI;YACJ,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU;YACtC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa;SAC9C,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export declare class Scheduler extends EventEmitter {
18
18
  private failed;
19
19
  private running;
20
20
  private blocked;
21
+ private aborted;
21
22
  constructor(options: SchedulerOptions);
22
23
  /**
23
24
  * Initialize the scheduler with a dependency graph.
@@ -27,12 +28,16 @@ export declare class Scheduler extends EventEmitter {
27
28
  * Get all tasks that are ready to run (dependencies satisfied, not running).
28
29
  */
29
30
  getReadyTasks(): number[];
31
+ /**
32
+ * Check if a task is blocked by a failed dependency (directly or transitively).
33
+ */
34
+ private isBlockedByFailure;
30
35
  /**
31
36
  * Get the number of available slots for new tasks.
32
37
  */
33
38
  getAvailableSlots(): number;
34
39
  /**
35
- * Check if all tasks are complete (or failed if continueOnError is false).
40
+ * Check if all tasks are complete (or blocked by failures, or aborted).
36
41
  */
37
42
  isComplete(): boolean;
38
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/core/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9D,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAOD,KAAK,YAAY,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE9G,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAE1C,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,OAAO,CAA0B;gBAE7B,OAAO,EAAE,gBAAgB;IAMrC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,GAAE,MAAM,EAAO,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,IAAI;IAqBzF;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAqBzB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,UAAU,IAAI,OAAO;IA2BrB;;;OAGG;IACG,GAAG,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAgCrF;;OAEG;IACH,OAAO,CAAC,SAAS;IAoBjB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;YACW,UAAU;IAaxB;;OAEG;IACH,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAsB1C;;OAEG;IACH,eAAe,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;CAe9C"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/core/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9D,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAOD,KAAK,YAAY,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE9G,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAE1C,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,OAAO,CAAkB;gBAErB,OAAO,EAAE,gBAAgB;IAMrC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,GAAE,MAAM,EAAO,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,IAAI;IAsBzF;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAsBzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,UAAU,IAAI,OAAO;IA+BrB;;;OAGG;IACG,GAAG,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAgCrF;;OAEG;IACH,OAAO,CAAC,SAAS;IAoBjB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;YACW,UAAU;IAaxB;;OAEG;IACH,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAyB1C;;OAEG;IACH,eAAe,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;CAe9C"}