@litmers/cursorflow-orchestrator 0.1.31 → 0.1.36
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 +27 -0
- package/README.md +182 -59
- package/commands/cursorflow-add.md +159 -0
- package/commands/cursorflow-doctor.md +45 -23
- package/commands/cursorflow-monitor.md +23 -2
- package/commands/cursorflow-new.md +87 -0
- package/commands/cursorflow-run.md +60 -111
- package/dist/cli/add.d.ts +7 -0
- package/dist/cli/add.js +377 -0
- package/dist/cli/add.js.map +1 -0
- package/dist/cli/clean.js +1 -0
- package/dist/cli/clean.js.map +1 -1
- package/dist/cli/config.d.ts +7 -0
- package/dist/cli/config.js +181 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/doctor.js +47 -4
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +34 -30
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/logs.js +17 -34
- package/dist/cli/logs.js.map +1 -1
- package/dist/cli/monitor.js +62 -65
- package/dist/cli/monitor.js.map +1 -1
- package/dist/cli/new.d.ts +7 -0
- package/dist/cli/new.js +232 -0
- package/dist/cli/new.js.map +1 -0
- package/dist/cli/prepare.js +95 -193
- package/dist/cli/prepare.js.map +1 -1
- package/dist/cli/resume.js +57 -68
- package/dist/cli/resume.js.map +1 -1
- package/dist/cli/run.js +60 -30
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/stop.js +6 -0
- package/dist/cli/stop.js.map +1 -1
- package/dist/cli/tasks.d.ts +5 -3
- package/dist/cli/tasks.js +181 -29
- package/dist/cli/tasks.js.map +1 -1
- package/dist/core/failure-policy.d.ts +9 -0
- package/dist/core/failure-policy.js +9 -0
- package/dist/core/failure-policy.js.map +1 -1
- package/dist/core/orchestrator.d.ts +20 -6
- package/dist/core/orchestrator.js +215 -334
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/runner/agent.d.ts +27 -0
- package/dist/core/runner/agent.js +294 -0
- package/dist/core/runner/agent.js.map +1 -0
- package/dist/core/runner/index.d.ts +5 -0
- package/dist/core/runner/index.js +22 -0
- package/dist/core/runner/index.js.map +1 -0
- package/dist/core/runner/pipeline.d.ts +9 -0
- package/dist/core/runner/pipeline.js +539 -0
- package/dist/core/runner/pipeline.js.map +1 -0
- package/dist/core/runner/prompt.d.ts +25 -0
- package/dist/core/runner/prompt.js +175 -0
- package/dist/core/runner/prompt.js.map +1 -0
- package/dist/core/runner/task.d.ts +26 -0
- package/dist/core/runner/task.js +283 -0
- package/dist/core/runner/task.js.map +1 -0
- package/dist/core/runner/utils.d.ts +37 -0
- package/dist/core/runner/utils.js +161 -0
- package/dist/core/runner/utils.js.map +1 -0
- package/dist/core/runner.d.ts +2 -96
- package/dist/core/runner.js +11 -1136
- package/dist/core/runner.js.map +1 -1
- package/dist/core/stall-detection.d.ts +326 -0
- package/dist/core/stall-detection.js +781 -0
- package/dist/core/stall-detection.js.map +1 -0
- package/dist/services/logging/console.js +2 -1
- package/dist/services/logging/console.js.map +1 -1
- package/dist/types/config.d.ts +6 -6
- package/dist/types/flow.d.ts +84 -0
- package/dist/types/flow.js +10 -0
- package/dist/types/flow.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +3 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/lane.d.ts +0 -2
- package/dist/types/logging.d.ts +5 -1
- package/dist/types/task.d.ts +7 -11
- package/dist/utils/config.d.ts +5 -1
- package/dist/utils/config.js +15 -16
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/dependency.d.ts +36 -1
- package/dist/utils/dependency.js +256 -1
- package/dist/utils/dependency.js.map +1 -1
- package/dist/utils/doctor.js +40 -8
- package/dist/utils/doctor.js.map +1 -1
- package/dist/utils/enhanced-logger.d.ts +45 -82
- package/dist/utils/enhanced-logger.js +239 -844
- package/dist/utils/enhanced-logger.js.map +1 -1
- package/dist/utils/flow.d.ts +9 -0
- package/dist/utils/flow.js +73 -0
- package/dist/utils/flow.js.map +1 -0
- package/dist/utils/git.d.ts +29 -0
- package/dist/utils/git.js +115 -5
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/state.js +0 -2
- package/dist/utils/state.js.map +1 -1
- package/dist/utils/task-service.d.ts +2 -2
- package/dist/utils/task-service.js +40 -31
- package/dist/utils/task-service.js.map +1 -1
- package/package.json +4 -3
- package/src/cli/add.ts +397 -0
- package/src/cli/clean.ts +1 -0
- package/src/cli/config.ts +177 -0
- package/src/cli/doctor.ts +48 -4
- package/src/cli/index.ts +36 -32
- package/src/cli/logs.ts +20 -33
- package/src/cli/monitor.ts +70 -75
- package/src/cli/new.ts +235 -0
- package/src/cli/prepare.ts +98 -205
- package/src/cli/resume.ts +61 -76
- package/src/cli/run.ts +333 -306
- package/src/cli/stop.ts +8 -0
- package/src/cli/tasks.ts +200 -21
- package/src/core/failure-policy.ts +9 -0
- package/src/core/orchestrator.ts +279 -379
- package/src/core/runner/agent.ts +314 -0
- package/src/core/runner/index.ts +6 -0
- package/src/core/runner/pipeline.ts +567 -0
- package/src/core/runner/prompt.ts +174 -0
- package/src/core/runner/task.ts +320 -0
- package/src/core/runner/utils.ts +142 -0
- package/src/core/runner.ts +8 -1347
- package/src/core/stall-detection.ts +936 -0
- package/src/services/logging/console.ts +2 -1
- package/src/types/config.ts +6 -6
- package/src/types/flow.ts +91 -0
- package/src/types/index.ts +15 -3
- package/src/types/lane.ts +0 -2
- package/src/types/logging.ts +5 -1
- package/src/types/task.ts +7 -11
- package/src/utils/config.ts +16 -17
- package/src/utils/dependency.ts +311 -2
- package/src/utils/doctor.ts +36 -8
- package/src/utils/enhanced-logger.ts +264 -927
- package/src/utils/flow.ts +42 -0
- package/src/utils/git.ts +145 -5
- package/src/utils/state.ts +0 -2
- package/src/utils/task-service.ts +48 -40
- package/commands/cursorflow-review.md +0 -56
- package/commands/cursorflow-runs.md +0 -59
- package/dist/cli/runs.d.ts +0 -5
- package/dist/cli/runs.js +0 -214
- package/dist/cli/runs.js.map +0 -1
- package/dist/core/reviewer.d.ts +0 -66
- package/dist/core/reviewer.js +0 -265
- package/dist/core/reviewer.js.map +0 -1
- package/src/cli/runs.ts +0 -212
- package/src/core/reviewer.ts +0 -285
package/src/utils/doctor.ts
CHANGED
|
@@ -19,6 +19,8 @@ import * as git from './git';
|
|
|
19
19
|
import { checkCursorAgentInstalled, checkCursorAuth } from './cursor-agent';
|
|
20
20
|
import { areCommandsInstalled } from '../cli/setup-commands';
|
|
21
21
|
import { safeJoin } from './path';
|
|
22
|
+
import { findFlowDir } from './flow';
|
|
23
|
+
import { loadConfig, getFlowsDir } from './config';
|
|
22
24
|
|
|
23
25
|
export type DoctorSeverity = 'error' | 'warn';
|
|
24
26
|
|
|
@@ -150,7 +152,7 @@ function branchExists(repoRoot: string, branchName: string): boolean {
|
|
|
150
152
|
function readLaneJsonFiles(tasksDir: string): { path: string; json: any; fileName: string }[] {
|
|
151
153
|
const files = fs
|
|
152
154
|
.readdirSync(tasksDir)
|
|
153
|
-
.filter(f => f.endsWith('.json'))
|
|
155
|
+
.filter(f => f.endsWith('.json') && f !== 'flow.meta.json')
|
|
154
156
|
.sort()
|
|
155
157
|
.map(f => safeJoin(tasksDir, f));
|
|
156
158
|
|
|
@@ -858,20 +860,46 @@ export function runDoctor(options: DoctorOptions = {}): DoctorReport {
|
|
|
858
860
|
|
|
859
861
|
// 2) Tasks-dir checks (optional; used by `cursorflow run` preflight)
|
|
860
862
|
if (options.tasksDir) {
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
863
|
+
// Resolve tasks dir with flow name support:
|
|
864
|
+
// 1. Absolute paths are used as-is
|
|
865
|
+
// 2. Relative paths that exist are used as-is
|
|
866
|
+
// 3. Try finding as a flow name in flowsDir
|
|
867
|
+
// 4. Fall back to relative path from cwd
|
|
868
|
+
let tasksDirAbs = '';
|
|
869
|
+
if (path.isAbsolute(options.tasksDir)) {
|
|
870
|
+
tasksDirAbs = options.tasksDir;
|
|
871
|
+
} else {
|
|
872
|
+
const relPath = safeJoin(cwd, options.tasksDir);
|
|
873
|
+
if (fs.existsSync(relPath)) {
|
|
874
|
+
tasksDirAbs = relPath;
|
|
875
|
+
} else {
|
|
876
|
+
// Try finding as a flow name
|
|
877
|
+
try {
|
|
878
|
+
const config = loadConfig(repoRoot || cwd);
|
|
879
|
+
const flowsDir = getFlowsDir(config);
|
|
880
|
+
const foundFlow = findFlowDir(flowsDir, options.tasksDir);
|
|
881
|
+
if (foundFlow) {
|
|
882
|
+
tasksDirAbs = foundFlow;
|
|
883
|
+
} else {
|
|
884
|
+
tasksDirAbs = relPath;
|
|
885
|
+
}
|
|
886
|
+
} catch {
|
|
887
|
+
tasksDirAbs = relPath;
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
}
|
|
864
891
|
context.tasksDir = tasksDirAbs;
|
|
865
892
|
|
|
866
893
|
if (!fs.existsSync(tasksDirAbs)) {
|
|
867
894
|
addIssue(issues, {
|
|
868
895
|
id: 'tasks.missing_dir',
|
|
869
896
|
severity: 'error',
|
|
870
|
-
title: 'Tasks directory not found',
|
|
871
|
-
message: `Tasks directory does not exist: ${tasksDirAbs}`,
|
|
897
|
+
title: 'Tasks or Flow directory not found',
|
|
898
|
+
message: `Tasks/Flow directory does not exist: ${options.tasksDir} (resolved to: ${tasksDirAbs})`,
|
|
872
899
|
fixes: [
|
|
873
|
-
'Double-check the path
|
|
874
|
-
'
|
|
900
|
+
'Double-check the path or flow name you passed',
|
|
901
|
+
'Use: cursorflow new <FlowName> --lanes "lane1,lane2" to create a new flow',
|
|
902
|
+
'Or run: cursorflow init --example for legacy tasks',
|
|
875
903
|
],
|
|
876
904
|
});
|
|
877
905
|
} else {
|