@litmers/cursorflow-orchestrator 0.1.8 → 0.1.12
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/CHANGELOG.md +55 -0
- package/README.md +113 -319
- package/commands/cursorflow-clean.md +24 -135
- package/commands/cursorflow-doctor.md +74 -18
- package/commands/cursorflow-init.md +33 -50
- package/commands/cursorflow-models.md +51 -0
- package/commands/cursorflow-monitor.md +56 -118
- package/commands/cursorflow-prepare.md +410 -108
- package/commands/cursorflow-resume.md +51 -148
- package/commands/cursorflow-review.md +38 -202
- package/commands/cursorflow-run.md +208 -86
- package/commands/cursorflow-signal.md +38 -12
- package/dist/cli/clean.d.ts +3 -1
- package/dist/cli/clean.js +145 -8
- package/dist/cli/clean.js.map +1 -1
- package/dist/cli/doctor.js +14 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +32 -21
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.js +5 -4
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/models.d.ts +7 -0
- package/dist/cli/models.js +104 -0
- package/dist/cli/models.js.map +1 -0
- package/dist/cli/monitor.js +56 -1
- package/dist/cli/monitor.js.map +1 -1
- package/dist/cli/prepare.d.ts +7 -0
- package/dist/cli/prepare.js +748 -0
- package/dist/cli/prepare.js.map +1 -0
- package/dist/cli/resume.js +56 -0
- package/dist/cli/resume.js.map +1 -1
- package/dist/cli/run.js +30 -1
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/signal.js +18 -0
- package/dist/cli/signal.js.map +1 -1
- package/dist/core/runner.d.ts +9 -1
- package/dist/core/runner.js +139 -23
- package/dist/core/runner.js.map +1 -1
- package/dist/utils/cursor-agent.d.ts +4 -0
- package/dist/utils/cursor-agent.js +58 -10
- package/dist/utils/cursor-agent.js.map +1 -1
- package/dist/utils/doctor.d.ts +10 -0
- package/dist/utils/doctor.js +581 -1
- package/dist/utils/doctor.js.map +1 -1
- package/dist/utils/types.d.ts +11 -0
- package/examples/README.md +114 -59
- package/examples/demo-project/README.md +61 -79
- package/examples/demo-project/_cursorflow/tasks/demo-test/01-create-utils.json +17 -6
- package/examples/demo-project/_cursorflow/tasks/demo-test/02-add-tests.json +17 -6
- package/examples/demo-project/_cursorflow/tasks/demo-test/README.md +66 -25
- package/package.json +1 -1
- package/scripts/patches/test-cursor-agent.js +203 -0
- package/src/cli/clean.ts +156 -9
- package/src/cli/doctor.ts +18 -2
- package/src/cli/index.ts +33 -21
- package/src/cli/init.ts +6 -4
- package/src/cli/models.ts +83 -0
- package/src/cli/monitor.ts +60 -1
- package/src/cli/prepare.ts +844 -0
- package/src/cli/resume.ts +66 -0
- package/src/cli/run.ts +36 -2
- package/src/cli/signal.ts +22 -0
- package/src/core/runner.ts +164 -23
- package/src/utils/cursor-agent.ts +62 -10
- package/src/utils/doctor.ts +633 -5
- package/src/utils/types.ts +11 -0
|
@@ -44,6 +44,10 @@ export declare function testCursorAgent(): {
|
|
|
44
44
|
output?: string;
|
|
45
45
|
error?: string;
|
|
46
46
|
};
|
|
47
|
+
/**
|
|
48
|
+
* Run interactive agent test to prime permissions (MCP, user approval, etc.)
|
|
49
|
+
*/
|
|
50
|
+
export declare function runInteractiveAgentTest(): boolean;
|
|
47
51
|
export interface AuthCheckResult {
|
|
48
52
|
authenticated: boolean;
|
|
49
53
|
message: string;
|
|
@@ -12,6 +12,7 @@ exports.validateSetup = validateSetup;
|
|
|
12
12
|
exports.getAvailableModels = getAvailableModels;
|
|
13
13
|
exports.parseModelsFromOutput = parseModelsFromOutput;
|
|
14
14
|
exports.testCursorAgent = testCursorAgent;
|
|
15
|
+
exports.runInteractiveAgentTest = runInteractiveAgentTest;
|
|
15
16
|
exports.checkCursorAuth = checkCursorAuth;
|
|
16
17
|
exports.printAuthHelp = printAuthHelp;
|
|
17
18
|
const child_process_1 = require("child_process");
|
|
@@ -118,19 +119,32 @@ function validateSetup(executor = 'cursor-agent') {
|
|
|
118
119
|
* Get available models (if cursor-agent supports it)
|
|
119
120
|
*/
|
|
120
121
|
function getAvailableModels() {
|
|
122
|
+
// Known models in the current version of cursor-agent
|
|
123
|
+
const knownModels = [
|
|
124
|
+
'sonnet-4.5',
|
|
125
|
+
'sonnet-4.5-thinking',
|
|
126
|
+
'opus-4.5',
|
|
127
|
+
'opus-4.5-thinking',
|
|
128
|
+
'gpt-5.2',
|
|
129
|
+
'gpt-5.2-high',
|
|
130
|
+
];
|
|
121
131
|
try {
|
|
122
|
-
//
|
|
123
|
-
//
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
132
|
+
// Try to trigger a model list by using an invalid model with --print
|
|
133
|
+
// Some versions of cursor-agent output valid models when an invalid one is used.
|
|
134
|
+
const result = (0, child_process_1.spawnSync)('cursor-agent', ['--print', '--model', 'list-available-models', 'test'], {
|
|
135
|
+
encoding: 'utf8',
|
|
136
|
+
stdio: 'pipe',
|
|
137
|
+
timeout: 5000,
|
|
138
|
+
});
|
|
139
|
+
const output = (result.stderr || result.stdout || '').toString();
|
|
140
|
+
const discoveredModels = parseModelsFromOutput(output);
|
|
141
|
+
if (discoveredModels.length > 0) {
|
|
142
|
+
return [...new Set([...knownModels, ...discoveredModels])];
|
|
143
|
+
}
|
|
144
|
+
return knownModels;
|
|
128
145
|
}
|
|
129
146
|
catch (error) {
|
|
130
|
-
|
|
131
|
-
const output = (error.stderr || error.stdout || '').toString();
|
|
132
|
-
// Extract model names from output
|
|
133
|
-
return parseModelsFromOutput(output);
|
|
147
|
+
return knownModels;
|
|
134
148
|
}
|
|
135
149
|
}
|
|
136
150
|
/**
|
|
@@ -174,6 +188,40 @@ function testCursorAgent() {
|
|
|
174
188
|
};
|
|
175
189
|
}
|
|
176
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Run interactive agent test to prime permissions (MCP, user approval, etc.)
|
|
193
|
+
*/
|
|
194
|
+
function runInteractiveAgentTest() {
|
|
195
|
+
const { spawnSync } = require('child_process');
|
|
196
|
+
console.log('\n' + '━'.repeat(60));
|
|
197
|
+
console.log('🤖 Interactive Agent Priming Test');
|
|
198
|
+
console.log('━'.repeat(60));
|
|
199
|
+
console.log('\nThis will start cursor-agent in interactive mode (NOT --print).');
|
|
200
|
+
console.log('Use this to approve MCP permissions or initial setup requests.\n');
|
|
201
|
+
console.log('MISSION: Just say hello and confirm MCP connectivity.');
|
|
202
|
+
console.log('ACTION: Once the agent responds and finishes, you can exit.');
|
|
203
|
+
console.log('\n' + '─'.repeat(60) + '\n');
|
|
204
|
+
try {
|
|
205
|
+
// Run WITHOUT --print to allow interactive user input and UI popups
|
|
206
|
+
const result = spawnSync('cursor-agent', ['Hello, verify MCP and system access.'], {
|
|
207
|
+
stdio: 'inherit', // Crucial for interactivity
|
|
208
|
+
env: process.env,
|
|
209
|
+
});
|
|
210
|
+
console.log('\n' + '─'.repeat(60));
|
|
211
|
+
if (result.status === 0) {
|
|
212
|
+
console.log('✅ Interactive test completed successfully!');
|
|
213
|
+
return true;
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
console.log('❌ Interactive test exited with code: ' + result.status);
|
|
217
|
+
return false;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
console.log('❌ Failed to run interactive test: ' + error.message);
|
|
222
|
+
return false;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
177
225
|
/**
|
|
178
226
|
* Check cursor-agent authentication
|
|
179
227
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-agent.js","sourceRoot":"","sources":["../../src/utils/cursor-agent.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAOH,8DAOC;AAKD,sDAUC;AAKD,8CAgBC;AAKD,wDAsBC;AAKD,8CAEC;AAKD,sCAmBC;AAKD,
|
|
1
|
+
{"version":3,"file":"cursor-agent.js","sourceRoot":"","sources":["../../src/utils/cursor-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/doctor.d.ts
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
* - Missing Git worktree support
|
|
8
8
|
* - Missing base branch referenced by lane task files
|
|
9
9
|
* - Missing/invalid tasks directory
|
|
10
|
+
* - Task validation (name, prompt, structure)
|
|
11
|
+
* - Circular dependency detection (DAG validation)
|
|
10
12
|
* - Missing Cursor Agent setup (optional)
|
|
11
13
|
*/
|
|
12
14
|
export type DoctorSeverity = 'error' | 'warn';
|
|
@@ -53,11 +55,19 @@ export interface DoctorOptions {
|
|
|
53
55
|
*/
|
|
54
56
|
includeCursorAgentChecks?: boolean;
|
|
55
57
|
}
|
|
58
|
+
export declare function saveDoctorStatus(repoRoot: string, report: DoctorReport): void;
|
|
59
|
+
export declare function getDoctorStatus(repoRoot: string): {
|
|
60
|
+
lastRun: number;
|
|
61
|
+
ok: boolean;
|
|
62
|
+
issueCount: number;
|
|
63
|
+
} | null;
|
|
56
64
|
/**
|
|
57
65
|
* Run doctor checks.
|
|
58
66
|
*
|
|
59
67
|
* If `tasksDir` is provided, additional preflight checks are performed:
|
|
60
68
|
* - tasks directory existence and JSON validity
|
|
61
69
|
* - baseBranch referenced by lanes exists locally
|
|
70
|
+
* - Task structure validation (name, prompt, etc.)
|
|
71
|
+
* - Circular dependency detection (DAG validation)
|
|
62
72
|
*/
|
|
63
73
|
export declare function runDoctor(options?: DoctorOptions): DoctorReport;
|