millhouse 0.3.9 ā 1.0.2
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 +153 -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 +12 -5
- 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/implementation.prompt.md +3 -3
- 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,111 @@
|
|
|
1
|
+
import readline from 'node:readline';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { GitHubClient } from '../../github/client.js';
|
|
4
|
+
import { IssueDiscoverer } from '../../github/issue-discoverer.js';
|
|
5
|
+
import { IssueAnalyzer } from '../../analysis/issue-analyzer.js';
|
|
6
|
+
import { WorklistStore } from '../../storage/worklist-store.js';
|
|
7
|
+
async function prompt(question) {
|
|
8
|
+
const rl = readline.createInterface({
|
|
9
|
+
input: process.stdin,
|
|
10
|
+
output: process.stdout,
|
|
11
|
+
});
|
|
12
|
+
return new Promise(resolve => {
|
|
13
|
+
rl.question(question, answer => {
|
|
14
|
+
rl.close();
|
|
15
|
+
resolve(answer.trim().toLowerCase());
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export async function loadCommand(issues) {
|
|
20
|
+
const store = new WorklistStore();
|
|
21
|
+
// Check if worklist already exists
|
|
22
|
+
if (await store.exists()) {
|
|
23
|
+
console.log(chalk.yellow('\nWorklist already exists.\n'));
|
|
24
|
+
const choice = await prompt(' [d] Delete and create new\n [c] Cancel\n\nChoice: ');
|
|
25
|
+
if (choice !== 'd') {
|
|
26
|
+
console.log('Cancelled.');
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
console.log(chalk.bold('\nLoading issues from GitHub...\n'));
|
|
31
|
+
// Connect to GitHub
|
|
32
|
+
let client;
|
|
33
|
+
try {
|
|
34
|
+
client = new GitHubClient();
|
|
35
|
+
console.log(chalk.gray(`Repository: ${client.repoOwner}/${client.repoName}\n`));
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.error(chalk.red(`Failed to connect to GitHub: ${error instanceof Error ? error.message : error}`));
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
// Determine which issues to load
|
|
42
|
+
let issueNumbers;
|
|
43
|
+
if (issues) {
|
|
44
|
+
// Parse comma-separated issue numbers
|
|
45
|
+
issueNumbers = issues.split(',').map(s => {
|
|
46
|
+
const num = parseInt(s.trim(), 10);
|
|
47
|
+
if (isNaN(num) || num <= 0) {
|
|
48
|
+
console.error(chalk.red(`Invalid issue number: ${s}`));
|
|
49
|
+
process.exit(1);
|
|
50
|
+
}
|
|
51
|
+
return num;
|
|
52
|
+
});
|
|
53
|
+
console.log(chalk.gray(`Starting issues: ${issueNumbers.map(n => `#${n}`).join(', ')}`));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// Load all open issues
|
|
57
|
+
console.log(chalk.gray('Fetching all open issues...'));
|
|
58
|
+
const openIssues = await client.listOpenIssues();
|
|
59
|
+
issueNumbers = openIssues.map(i => i.number);
|
|
60
|
+
if (issueNumbers.length === 0) {
|
|
61
|
+
console.log(chalk.yellow('No open issues found.'));
|
|
62
|
+
process.exit(0);
|
|
63
|
+
}
|
|
64
|
+
console.log(chalk.gray(`Found ${issueNumbers.length} open issues`));
|
|
65
|
+
}
|
|
66
|
+
// Discover linked issues
|
|
67
|
+
console.log(chalk.gray('\nDiscovering linked issues...'));
|
|
68
|
+
const discoverer = new IssueDiscoverer(client);
|
|
69
|
+
const fetchedIssues = await discoverer.discover(issueNumbers, true);
|
|
70
|
+
console.log(chalk.green(`\nā Found ${fetchedIssues.length} issues\n`));
|
|
71
|
+
// Analyze dependencies using Claude
|
|
72
|
+
console.log(chalk.gray('Analyzing dependencies...'));
|
|
73
|
+
const analyzer = new IssueAnalyzer();
|
|
74
|
+
const analysisResult = await analyzer.analyzeIssues(fetchedIssues);
|
|
75
|
+
console.log(chalk.green(`\nā Analysis complete\n`));
|
|
76
|
+
// Create mapping from GitHub issue number to internal ID
|
|
77
|
+
const githubToId = new Map();
|
|
78
|
+
analysisResult.issues.forEach((issue, index) => {
|
|
79
|
+
githubToId.set(issue.number, index + 1);
|
|
80
|
+
});
|
|
81
|
+
// Convert to WorklistItems
|
|
82
|
+
const items = analysisResult.issues.map((issue, index) => {
|
|
83
|
+
// Convert GitHub issue number dependencies to internal IDs
|
|
84
|
+
const internalDeps = issue.dependencies
|
|
85
|
+
.map(dep => githubToId.get(dep))
|
|
86
|
+
.filter((id) => id !== undefined);
|
|
87
|
+
return {
|
|
88
|
+
id: index + 1,
|
|
89
|
+
title: issue.title,
|
|
90
|
+
body: issue.body || '',
|
|
91
|
+
dependencies: internalDeps,
|
|
92
|
+
status: 'pending',
|
|
93
|
+
githubIssueNumber: issue.number,
|
|
94
|
+
noWorkNeeded: issue.noWorkNeeded,
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
const worklist = {
|
|
98
|
+
version: 1,
|
|
99
|
+
createdAt: new Date().toISOString(),
|
|
100
|
+
updatedAt: new Date().toISOString(),
|
|
101
|
+
source: 'github',
|
|
102
|
+
title: analysisResult.title,
|
|
103
|
+
description: analysisResult.description,
|
|
104
|
+
items,
|
|
105
|
+
};
|
|
106
|
+
await store.save(worklist);
|
|
107
|
+
console.log(chalk.green(`ā Created worklist with ${items.length} items`));
|
|
108
|
+
console.log(chalk.gray(' Run "millhouse list" to see items'));
|
|
109
|
+
console.log(chalk.gray(' Run "millhouse run" to execute'));
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=load.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/cli/commands/load.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"AAYA,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFhE"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import ora from 'ora';
|
|
3
3
|
import { Orchestrator } from '../../core/orchestrator.js';
|
|
4
|
-
import { loadConfig } from '../../storage/config.js';
|
|
5
4
|
import { JsonStore } from '../../storage/json-store.js';
|
|
6
|
-
import { GitHubClient } from '../../github/client.js';
|
|
7
|
-
import { LabelManager } from '../../github/label-manager.js';
|
|
8
|
-
import { IssueDiscoverer } from '../../github/issue-discoverer.js';
|
|
9
|
-
import { IssueAnalyzer } from '../../analysis/issue-analyzer.js';
|
|
10
5
|
import { GraphBuilder } from '../../analysis/graph-builder.js';
|
|
11
6
|
import { WorktreeManager } from '../../execution/worktree-manager.js';
|
|
12
7
|
import { ClaudeRunner } from '../../execution/claude-runner.js';
|
|
13
8
|
import { Scheduler } from '../../core/scheduler.js';
|
|
14
9
|
import { ProgressDisplay } from '../../cli/progress-display.js';
|
|
10
|
+
const DEFAULT_CONCURRENCY = 8;
|
|
15
11
|
export async function resumeCommand(runId) {
|
|
16
12
|
const spinner = ora('Loading run state...').start();
|
|
17
13
|
try {
|
|
@@ -25,45 +21,29 @@ export async function resumeCommand(runId) {
|
|
|
25
21
|
spinner.fail('Run already completed');
|
|
26
22
|
process.exit(1);
|
|
27
23
|
}
|
|
28
|
-
spinner.text = 'Loading configuration...';
|
|
29
|
-
const config = await loadConfig();
|
|
30
24
|
// Initialize components
|
|
31
25
|
spinner.text = 'Initializing components...';
|
|
32
26
|
const graphBuilder = new GraphBuilder();
|
|
33
27
|
const worktreeManager = new WorktreeManager();
|
|
34
28
|
// Create progress display
|
|
35
29
|
const progressDisplay = new ProgressDisplay();
|
|
36
|
-
const claudeRunner = new ClaudeRunner(
|
|
30
|
+
const claudeRunner = new ClaudeRunner({
|
|
37
31
|
onLog: (issueNumber, message) => {
|
|
38
32
|
progressDisplay.logDetailed(issueNumber, message);
|
|
39
33
|
},
|
|
40
34
|
});
|
|
41
|
-
// Create scheduler with previous concurrency
|
|
42
35
|
const scheduler = new Scheduler({
|
|
43
|
-
concurrency:
|
|
44
|
-
continueOnError:
|
|
36
|
+
concurrency: DEFAULT_CONCURRENCY,
|
|
37
|
+
continueOnError: true,
|
|
45
38
|
});
|
|
46
|
-
// Only initialize GitHub components for GitHub mode runs
|
|
47
|
-
const isGitHubMode = runState.mode === 'github';
|
|
48
|
-
const githubClient = isGitHubMode ? new GitHubClient() : undefined;
|
|
49
|
-
const labelManager = isGitHubMode && githubClient ? new LabelManager(githubClient) : undefined;
|
|
50
|
-
const issueDiscoverer = isGitHubMode && githubClient ? new IssueDiscoverer(githubClient) : undefined;
|
|
51
|
-
const issueAnalyzer = isGitHubMode ? new IssueAnalyzer() : undefined;
|
|
52
39
|
// Create orchestrator
|
|
53
40
|
const orchestrator = new Orchestrator({
|
|
54
|
-
config,
|
|
55
41
|
store,
|
|
56
42
|
graphBuilder,
|
|
57
43
|
worktreeManager,
|
|
58
44
|
claudeRunner,
|
|
59
45
|
scheduler,
|
|
60
46
|
progressDisplay,
|
|
61
|
-
...(isGitHubMode && {
|
|
62
|
-
githubClient,
|
|
63
|
-
labelManager,
|
|
64
|
-
issueDiscoverer,
|
|
65
|
-
issueAnalyzer,
|
|
66
|
-
}),
|
|
67
47
|
});
|
|
68
48
|
spinner.succeed('Loaded');
|
|
69
49
|
// Retry any previously failed jobs
|
|
@@ -91,10 +71,7 @@ export async function resumeCommand(runId) {
|
|
|
91
71
|
console.log(chalk.blue('\nš Resuming execution...'));
|
|
92
72
|
const result = await orchestrator.resume(runState);
|
|
93
73
|
if (result.status === 'completed') {
|
|
94
|
-
console.log(chalk.green('\nā
All
|
|
95
|
-
if (result.pullRequestUrl) {
|
|
96
|
-
console.log(chalk.blue(` Pull request: ${result.pullRequestUrl}`));
|
|
97
|
-
}
|
|
74
|
+
console.log(chalk.green('\nā
All items completed successfully!'));
|
|
98
75
|
}
|
|
99
76
|
else if (result.status === 'failed') {
|
|
100
77
|
console.log(chalk.red(`\nā Run failed: ${result.error}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,9 @@ interface RunOptions {
|
|
|
2
2
|
concurrency?: string;
|
|
3
3
|
display?: 'compact' | 'detailed';
|
|
4
4
|
dryRun?: boolean;
|
|
5
|
-
scan?: boolean;
|
|
6
5
|
dangerouslySkipPermissions?: boolean;
|
|
6
|
+
continueOnError?: boolean;
|
|
7
7
|
}
|
|
8
|
-
export declare function
|
|
9
|
-
export declare function runIssuesCommand(numbers: string | undefined, options: RunOptions): Promise<void>;
|
|
8
|
+
export declare function runCommand(options: RunOptions): Promise<void>;
|
|
10
9
|
export {};
|
|
11
10
|
//# sourceMappingURL=run.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAmBA,UAAU,UAAU;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAsDD,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuHnE"}
|
package/dist/cli/commands/run.js
CHANGED
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import ora from 'ora';
|
|
3
3
|
import readline from 'node:readline';
|
|
4
|
-
import path from 'node:path';
|
|
5
|
-
import os from 'node:os';
|
|
6
|
-
import { promises as fs } from 'node:fs';
|
|
7
4
|
import { Orchestrator } from '../../core/orchestrator.js';
|
|
8
|
-
import { loadConfig } from '../../storage/config.js';
|
|
9
5
|
import { JsonStore } from '../../storage/json-store.js';
|
|
10
|
-
import {
|
|
11
|
-
import { IssueDiscoverer } from '../../github/issue-discoverer.js';
|
|
12
|
-
import { LabelManager } from '../../github/label-manager.js';
|
|
13
|
-
import { IssueAnalyzer } from '../../analysis/issue-analyzer.js';
|
|
14
|
-
import { PlanParser } from '../../analysis/plan-parser.js';
|
|
6
|
+
import { WorklistStore } from '../../storage/worklist-store.js';
|
|
15
7
|
import { GraphBuilder } from '../../analysis/graph-builder.js';
|
|
16
8
|
import { WorktreeManager } from '../../execution/worktree-manager.js';
|
|
17
9
|
import { ClaudeRunner } from '../../execution/claude-runner.js';
|
|
@@ -63,258 +55,68 @@ async function checkLeftoverState() {
|
|
|
63
55
|
}
|
|
64
56
|
return true; // No leftovers, continue
|
|
65
57
|
}
|
|
66
|
-
async function
|
|
67
|
-
// Convert cwd to Claude project path format: /Users/dave/src/foo -> -Users-dave-src-foo
|
|
68
|
-
const cwd = process.cwd();
|
|
69
|
-
const projectDirName = cwd.replace(/\//g, '-');
|
|
70
|
-
const projectDir = path.join(os.homedir(), '.claude', 'projects', projectDirName);
|
|
71
|
-
const planRefs = new Set();
|
|
72
|
-
try {
|
|
73
|
-
const files = await fs.readdir(projectDir);
|
|
74
|
-
const jsonlFiles = files.filter(f => f.endsWith('.jsonl'));
|
|
75
|
-
// Search transcript files for plan references
|
|
76
|
-
for (const file of jsonlFiles) {
|
|
77
|
-
try {
|
|
78
|
-
const content = await fs.readFile(path.join(projectDir, file), 'utf-8');
|
|
79
|
-
// Match plan file paths like .claude/plans/name.md or ~/.claude/plans/name.md
|
|
80
|
-
const matches = content.match(/\.claude\/plans\/[a-z-]+\.md/g);
|
|
81
|
-
if (matches) {
|
|
82
|
-
for (const match of matches) {
|
|
83
|
-
// Extract just the filename
|
|
84
|
-
const filename = match.split('/').pop();
|
|
85
|
-
if (filename && !filename.includes('-agent-')) {
|
|
86
|
-
// Skip agent subplans
|
|
87
|
-
planRefs.add(filename);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
catch {
|
|
93
|
-
// Skip files we can't read
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
catch {
|
|
98
|
-
// Project directory doesn't exist
|
|
99
|
-
}
|
|
100
|
-
return Array.from(planRefs);
|
|
101
|
-
}
|
|
102
|
-
async function findMostRecentPlan() {
|
|
103
|
-
const plansDir = path.join(os.homedir(), '.claude', 'plans');
|
|
104
|
-
// First, get plans associated with this project
|
|
105
|
-
const projectPlans = await findProjectPlans();
|
|
106
|
-
try {
|
|
107
|
-
const files = await fs.readdir(plansDir);
|
|
108
|
-
const mdFiles = files.filter(f => f.endsWith('.md'));
|
|
109
|
-
if (mdFiles.length === 0) {
|
|
110
|
-
return null;
|
|
111
|
-
}
|
|
112
|
-
// Filter to only project-specific plans if we found any
|
|
113
|
-
const relevantFiles = projectPlans.length > 0
|
|
114
|
-
? mdFiles.filter(f => projectPlans.includes(f))
|
|
115
|
-
: mdFiles;
|
|
116
|
-
if (relevantFiles.length === 0) {
|
|
117
|
-
return null;
|
|
118
|
-
}
|
|
119
|
-
const fileStats = await Promise.all(relevantFiles.map(async (f) => {
|
|
120
|
-
const fullPath = path.join(plansDir, f);
|
|
121
|
-
const stat = await fs.stat(fullPath);
|
|
122
|
-
return { path: fullPath, mtime: stat.mtime };
|
|
123
|
-
}));
|
|
124
|
-
fileStats.sort((a, b) => b.mtime.getTime() - a.mtime.getTime());
|
|
125
|
-
return fileStats[0].path;
|
|
126
|
-
}
|
|
127
|
-
catch {
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
async function resolvePlanPath(planPath) {
|
|
132
|
-
// If no plan specified, find most recent plan
|
|
133
|
-
if (!planPath) {
|
|
134
|
-
const recentPlan = await findMostRecentPlan();
|
|
135
|
-
if (!recentPlan) {
|
|
136
|
-
throw new Error('No plan files found in ~/.claude/plans/');
|
|
137
|
-
}
|
|
138
|
-
return recentPlan;
|
|
139
|
-
}
|
|
140
|
-
// First, try the path as given
|
|
141
|
-
try {
|
|
142
|
-
await fs.access(planPath);
|
|
143
|
-
return planPath;
|
|
144
|
-
}
|
|
145
|
-
catch {
|
|
146
|
-
// Not found locally
|
|
147
|
-
}
|
|
148
|
-
// If it's just a filename (no directory), check ~/.claude/plans/
|
|
149
|
-
if (!planPath.includes(path.sep) && !planPath.startsWith('.')) {
|
|
150
|
-
const claudePlansPath = path.join(os.homedir(), '.claude', 'plans', planPath);
|
|
151
|
-
try {
|
|
152
|
-
await fs.access(claudePlansPath);
|
|
153
|
-
return claudePlansPath;
|
|
154
|
-
}
|
|
155
|
-
catch {
|
|
156
|
-
// Not found there either
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
// Return original path - will fail with helpful error
|
|
160
|
-
return planPath;
|
|
161
|
-
}
|
|
162
|
-
// Plan mode: millhouse run [plan-file]
|
|
163
|
-
export async function runPlanCommand(plan, options) {
|
|
58
|
+
export async function runCommand(options) {
|
|
164
59
|
const shouldContinue = await checkLeftoverState();
|
|
165
60
|
if (!shouldContinue)
|
|
166
61
|
return;
|
|
167
|
-
const spinner = ora('Initializing
|
|
62
|
+
const spinner = ora('Initializing...').start();
|
|
168
63
|
try {
|
|
169
64
|
const concurrency = parseInt(options.concurrency || '8', 10);
|
|
170
|
-
// Load
|
|
171
|
-
spinner.text = 'Loading
|
|
172
|
-
const
|
|
173
|
-
const
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
const planParser = new PlanParser();
|
|
178
|
-
const analyzedIssues = await planParser.parse(planContent);
|
|
179
|
-
console.log(chalk.green(` ā Created ${analyzedIssues.length} work item(s)`));
|
|
180
|
-
// Load config
|
|
181
|
-
const config = await loadConfig();
|
|
182
|
-
// Initialize components (no GitHub needed)
|
|
183
|
-
const store = new JsonStore();
|
|
184
|
-
const graphBuilder = new GraphBuilder();
|
|
185
|
-
const worktreeManager = new WorktreeManager();
|
|
186
|
-
const progressDisplay = new ProgressDisplay({ displayMode: options.display });
|
|
187
|
-
const claudeRunner = new ClaudeRunner(config, {
|
|
188
|
-
dangerouslySkipPermissions: options.dangerouslySkipPermissions,
|
|
189
|
-
onLog: (issueNumber, message) => {
|
|
190
|
-
progressDisplay.logDetailed(issueNumber, message);
|
|
191
|
-
},
|
|
192
|
-
});
|
|
193
|
-
const scheduler = new Scheduler({
|
|
194
|
-
concurrency,
|
|
195
|
-
continueOnError: config.execution.continueOnError,
|
|
196
|
-
});
|
|
197
|
-
// Create orchestrator without GitHub components
|
|
198
|
-
const orchestrator = new Orchestrator({
|
|
199
|
-
config,
|
|
200
|
-
store,
|
|
201
|
-
graphBuilder,
|
|
202
|
-
worktreeManager,
|
|
203
|
-
claudeRunner,
|
|
204
|
-
scheduler,
|
|
205
|
-
progressDisplay,
|
|
206
|
-
scanProject: options.scan !== false && !options.dryRun,
|
|
207
|
-
dangerouslySkipPermissions: options.dangerouslySkipPermissions,
|
|
208
|
-
});
|
|
209
|
-
// Build graph
|
|
210
|
-
console.log(chalk.blue('\nš Building dependency graph...'));
|
|
211
|
-
const graph = graphBuilder.build(analyzedIssues);
|
|
212
|
-
console.log(chalk.green(` ā Graph built`));
|
|
213
|
-
// Show execution plan
|
|
214
|
-
console.log(chalk.blue('\nš Execution Plan:'));
|
|
215
|
-
const readyIssues = graph.getReady([]);
|
|
216
|
-
const blockedCount = analyzedIssues.length - readyIssues.length;
|
|
217
|
-
console.log(` Total items: ${analyzedIssues.length}`);
|
|
218
|
-
console.log(` Ready to start: ${readyIssues.length} (${readyIssues.map(i => `#${i}`).join(', ')})`);
|
|
219
|
-
console.log(` Blocked by dependencies: ${blockedCount}`);
|
|
220
|
-
console.log(` Concurrency: ${concurrency}`);
|
|
221
|
-
if (options.dryRun) {
|
|
222
|
-
console.log(chalk.yellow('\nš Dry run complete. No changes made.'));
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
225
|
-
// Run orchestration
|
|
226
|
-
console.log(chalk.blue('\nš Starting execution...'));
|
|
227
|
-
const result = await orchestrator.run(analyzedIssues);
|
|
228
|
-
if (result.status === 'completed') {
|
|
229
|
-
console.log(chalk.green('\nā
All items completed successfully!'));
|
|
230
|
-
}
|
|
231
|
-
else if (result.status === 'failed') {
|
|
232
|
-
console.log(chalk.red(`\nā Run failed: ${result.error}`));
|
|
233
|
-
console.log(` Completed: ${result.completedIssues.length}`);
|
|
234
|
-
console.log(` Failed: ${result.failedIssues.length}`);
|
|
65
|
+
// Load worklist
|
|
66
|
+
spinner.text = 'Loading worklist...';
|
|
67
|
+
const worklistStore = new WorklistStore();
|
|
68
|
+
const worklist = await worklistStore.load();
|
|
69
|
+
if (!worklist) {
|
|
70
|
+
spinner.fail('No worklist found');
|
|
71
|
+
console.log(chalk.gray('\n Run "millhouse init" or "millhouse load" first.'));
|
|
235
72
|
process.exit(1);
|
|
236
73
|
}
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
// GitHub issues mode: millhouse run issues [numbers]
|
|
245
|
-
export async function runIssuesCommand(numbers, options) {
|
|
246
|
-
const shouldContinue = await checkLeftoverState();
|
|
247
|
-
if (!shouldContinue)
|
|
248
|
-
return;
|
|
249
|
-
const spinner = ora('Initializing Millhouse (GitHub issues mode)...').start();
|
|
250
|
-
try {
|
|
251
|
-
const concurrency = parseInt(options.concurrency || '8', 10);
|
|
252
|
-
spinner.text = 'Loading configuration...';
|
|
253
|
-
const config = await loadConfig();
|
|
254
|
-
// Initialize components
|
|
255
|
-
spinner.text = 'Connecting to GitHub...';
|
|
256
|
-
const githubClient = new GitHubClient();
|
|
257
|
-
// Parse issue numbers or fetch all open issues
|
|
258
|
-
let issueNumbers = [];
|
|
259
|
-
if (numbers) {
|
|
260
|
-
issueNumbers = numbers.split(',').map(s => parseInt(s.trim(), 10));
|
|
261
|
-
}
|
|
262
|
-
if (issueNumbers.length === 0) {
|
|
263
|
-
spinner.text = 'Fetching all open issues...';
|
|
264
|
-
const openIssues = await githubClient.listOpenIssues();
|
|
265
|
-
issueNumbers = openIssues.map(i => i.number);
|
|
266
|
-
if (issueNumbers.length === 0) {
|
|
267
|
-
spinner.fail('No open issues found in this repository');
|
|
268
|
-
process.exit(1);
|
|
269
|
-
}
|
|
270
|
-
spinner.succeed(`Found ${issueNumbers.length} open issue(s)`);
|
|
271
|
-
}
|
|
272
|
-
else {
|
|
273
|
-
spinner.succeed('Initialized');
|
|
74
|
+
// Filter to pending items
|
|
75
|
+
const pendingItems = worklist.items.filter(i => i.status === 'pending');
|
|
76
|
+
if (pendingItems.length === 0) {
|
|
77
|
+
spinner.succeed('All items already completed!');
|
|
78
|
+
return;
|
|
274
79
|
}
|
|
80
|
+
spinner.succeed(`Loaded ${pendingItems.length} pending item(s) from worklist`);
|
|
81
|
+
// Convert to AnalyzedIssue format for orchestrator compatibility
|
|
82
|
+
const analyzedIssues = pendingItems.map(item => ({
|
|
83
|
+
number: item.id,
|
|
84
|
+
title: item.title,
|
|
85
|
+
body: item.body,
|
|
86
|
+
state: 'open',
|
|
87
|
+
labels: [],
|
|
88
|
+
url: '',
|
|
89
|
+
htmlUrl: '',
|
|
90
|
+
affectedPaths: [],
|
|
91
|
+
dependencies: item.dependencies,
|
|
92
|
+
analyzedAt: worklist.createdAt,
|
|
93
|
+
// Pass through GitHub issue number for commit messages
|
|
94
|
+
githubIssueNumber: item.githubIssueNumber,
|
|
95
|
+
}));
|
|
96
|
+
// Initialize components
|
|
275
97
|
const store = new JsonStore();
|
|
276
|
-
const labelManager = new LabelManager(githubClient);
|
|
277
|
-
const issueDiscoverer = new IssueDiscoverer(githubClient);
|
|
278
|
-
const issueAnalyzer = new IssueAnalyzer();
|
|
279
98
|
const graphBuilder = new GraphBuilder();
|
|
280
99
|
const worktreeManager = new WorktreeManager();
|
|
281
|
-
// Create progress display
|
|
282
100
|
const progressDisplay = new ProgressDisplay({ displayMode: options.display });
|
|
283
|
-
const claudeRunner = new ClaudeRunner(
|
|
101
|
+
const claudeRunner = new ClaudeRunner({
|
|
284
102
|
dangerouslySkipPermissions: options.dangerouslySkipPermissions,
|
|
285
103
|
onLog: (issueNumber, message) => {
|
|
286
104
|
progressDisplay.logDetailed(issueNumber, message);
|
|
287
105
|
},
|
|
288
106
|
});
|
|
289
|
-
// Create scheduler
|
|
290
107
|
const scheduler = new Scheduler({
|
|
291
108
|
concurrency,
|
|
292
|
-
continueOnError:
|
|
109
|
+
continueOnError: options.continueOnError ?? true,
|
|
293
110
|
});
|
|
294
111
|
// Create orchestrator
|
|
295
112
|
const orchestrator = new Orchestrator({
|
|
296
|
-
config,
|
|
297
113
|
store,
|
|
298
|
-
githubClient,
|
|
299
|
-
labelManager,
|
|
300
|
-
issueDiscoverer,
|
|
301
|
-
issueAnalyzer,
|
|
302
114
|
graphBuilder,
|
|
303
115
|
worktreeManager,
|
|
304
116
|
claudeRunner,
|
|
305
117
|
scheduler,
|
|
306
118
|
progressDisplay,
|
|
307
|
-
scanProject: options.scan !== false && !options.dryRun,
|
|
308
|
-
dangerouslySkipPermissions: options.dangerouslySkipPermissions,
|
|
309
119
|
});
|
|
310
|
-
// Discover issues (always recursive to find linked issues)
|
|
311
|
-
console.log(chalk.blue('\nš Discovering issues...'));
|
|
312
|
-
const issues = await orchestrator.discoverIssues(issueNumbers, true);
|
|
313
|
-
console.log(chalk.green(` ā Found ${issues.length} issue(s)`));
|
|
314
|
-
// Analyze dependencies
|
|
315
|
-
console.log(chalk.blue('\nš Analyzing dependencies...'));
|
|
316
|
-
const analyzedIssues = await orchestrator.analyzeIssues(issues);
|
|
317
|
-
console.log(chalk.green(` ā Analysis complete`));
|
|
318
120
|
// Build graph
|
|
319
121
|
console.log(chalk.blue('\nš Building dependency graph...'));
|
|
320
122
|
const graph = graphBuilder.build(analyzedIssues);
|
|
@@ -323,7 +125,7 @@ export async function runIssuesCommand(numbers, options) {
|
|
|
323
125
|
console.log(chalk.blue('\nš Execution Plan:'));
|
|
324
126
|
const readyIssues = graph.getReady([]);
|
|
325
127
|
const blockedCount = analyzedIssues.length - readyIssues.length;
|
|
326
|
-
console.log(` Total
|
|
128
|
+
console.log(` Total items: ${analyzedIssues.length}`);
|
|
327
129
|
console.log(` Ready to start: ${readyIssues.length} (${readyIssues.map(i => `#${i}`).join(', ')})`);
|
|
328
130
|
console.log(` Blocked by dependencies: ${blockedCount}`);
|
|
329
131
|
console.log(` Concurrency: ${concurrency}`);
|
|
@@ -334,11 +136,16 @@ export async function runIssuesCommand(numbers, options) {
|
|
|
334
136
|
// Run orchestration
|
|
335
137
|
console.log(chalk.blue('\nš Starting execution...'));
|
|
336
138
|
const result = await orchestrator.run(analyzedIssues);
|
|
139
|
+
// Update worklist based on results
|
|
140
|
+
for (const completedId of result.completedIssues) {
|
|
141
|
+
await worklistStore.markCompleted(completedId);
|
|
142
|
+
}
|
|
143
|
+
for (const failedId of result.failedIssues) {
|
|
144
|
+
const task = result.tasks.find(t => t.issueNumber === failedId);
|
|
145
|
+
await worklistStore.markFailed(failedId, task?.error || 'Unknown error');
|
|
146
|
+
}
|
|
337
147
|
if (result.status === 'completed') {
|
|
338
|
-
console.log(chalk.green('\nā
All
|
|
339
|
-
if (result.pullRequestUrl) {
|
|
340
|
-
console.log(chalk.blue(` Pull request: ${result.pullRequestUrl}`));
|
|
341
|
-
}
|
|
148
|
+
console.log(chalk.green('\nā
All items completed successfully!'));
|
|
342
149
|
}
|
|
343
150
|
else if (result.status === 'failed') {
|
|
344
151
|
console.log(chalk.red(`\nā Run failed: ${result.error}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAWzD,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,aAAa,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAElD,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;QAC/B,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAEpC,IAAI,MAAM,GAAG,8BAA8B,CAAC;QAC5C,IAAI,aAAa,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,gDAAgD,CAAC;QAC7D,CAAC;QACD,MAAM,IAAI,kCAAkC,CAAC;QAC7C,MAAM,IAAI,cAAc,CAAC;QACzB,MAAM,IAAI,UAAU,CAAC;QAErB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAC5E,CAAC,CAAC,CAAC,CAAC;YACL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9D,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC,CAAC,8BAA8B;QAC9C,CAAC;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,eAAe,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,IAAI,CAAC,CAAC,wBAAwB;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,yBAAyB;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAmB;IAClD,MAAM,cAAc,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAClD,IAAI,CAAC,cAAc;QAAE,OAAO;IAE5B,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAE7D,gBAAgB;QAChB,OAAO,CAAC,IAAI,GAAG,qBAAqB,CAAC;QACrC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAE5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,0BAA0B;QAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAExE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,UAAU,YAAY,CAAC,MAAM,gCAAgC,CAAC,CAAC;QAE/E,iEAAiE;QACjE,MAAM,cAAc,GAAoB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChE,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,MAAe;YACtB,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,QAAQ,CAAC,SAAS;YAC9B,uDAAuD;YACvD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC,CAAC,CAAC;QAEJ,wBAAwB;QACxB,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE9E,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;YACpC,0BAA0B,EAAE,OAAO,CAAC,0BAA0B;YAC9D,KAAK,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;gBAC9B,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;YAC9B,WAAW;YACX,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;SACjD,CAAC,CAAC;QAEH,sBAAsB;QACtB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;YACpC,KAAK;YACL,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,SAAS;YACT,eAAe;SAChB,CAAC,CAAC;QAEH,cAAc;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAE7C,sBAAsB;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,mBAAmB,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,sBAAsB,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtG,OAAO,CAAC,GAAG,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;QAE9C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,oBAAoB;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEtD,mCAAmC;QACnC,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YACjD,MAAM,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC;YAChE,MAAM,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/save.ts"],"names":[],"mappings":"AA0DA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAoIjD"}
|