@litmers/cursorflow-orchestrator 0.1.20 → 0.1.28

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 (224) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/commands/cursorflow-clean.md +19 -0
  3. package/commands/cursorflow-runs.md +59 -0
  4. package/commands/cursorflow-stop.md +55 -0
  5. package/dist/cli/clean.js +171 -0
  6. package/dist/cli/clean.js.map +1 -1
  7. package/dist/cli/index.js +7 -0
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/cli/init.js +1 -1
  10. package/dist/cli/init.js.map +1 -1
  11. package/dist/cli/logs.js +83 -42
  12. package/dist/cli/logs.js.map +1 -1
  13. package/dist/cli/monitor.d.ts +7 -0
  14. package/dist/cli/monitor.js +1007 -189
  15. package/dist/cli/monitor.js.map +1 -1
  16. package/dist/cli/prepare.js +87 -3
  17. package/dist/cli/prepare.js.map +1 -1
  18. package/dist/cli/resume.js +188 -236
  19. package/dist/cli/resume.js.map +1 -1
  20. package/dist/cli/run.js +125 -3
  21. package/dist/cli/run.js.map +1 -1
  22. package/dist/cli/runs.d.ts +5 -0
  23. package/dist/cli/runs.js +214 -0
  24. package/dist/cli/runs.js.map +1 -0
  25. package/dist/cli/setup-commands.js +0 -0
  26. package/dist/cli/signal.js +1 -1
  27. package/dist/cli/signal.js.map +1 -1
  28. package/dist/cli/stop.d.ts +5 -0
  29. package/dist/cli/stop.js +215 -0
  30. package/dist/cli/stop.js.map +1 -0
  31. package/dist/cli/tasks.d.ts +10 -0
  32. package/dist/cli/tasks.js +165 -0
  33. package/dist/cli/tasks.js.map +1 -0
  34. package/dist/core/auto-recovery.d.ts +212 -0
  35. package/dist/core/auto-recovery.js +737 -0
  36. package/dist/core/auto-recovery.js.map +1 -0
  37. package/dist/core/failure-policy.d.ts +156 -0
  38. package/dist/core/failure-policy.js +488 -0
  39. package/dist/core/failure-policy.js.map +1 -0
  40. package/dist/core/orchestrator.d.ts +15 -2
  41. package/dist/core/orchestrator.js +397 -15
  42. package/dist/core/orchestrator.js.map +1 -1
  43. package/dist/core/reviewer.d.ts +2 -0
  44. package/dist/core/reviewer.js +2 -0
  45. package/dist/core/reviewer.js.map +1 -1
  46. package/dist/core/runner.d.ts +33 -10
  47. package/dist/core/runner.js +321 -146
  48. package/dist/core/runner.js.map +1 -1
  49. package/dist/services/logging/buffer.d.ts +67 -0
  50. package/dist/services/logging/buffer.js +309 -0
  51. package/dist/services/logging/buffer.js.map +1 -0
  52. package/dist/services/logging/console.d.ts +89 -0
  53. package/dist/services/logging/console.js +169 -0
  54. package/dist/services/logging/console.js.map +1 -0
  55. package/dist/services/logging/file-writer.d.ts +71 -0
  56. package/dist/services/logging/file-writer.js +516 -0
  57. package/dist/services/logging/file-writer.js.map +1 -0
  58. package/dist/services/logging/formatter.d.ts +39 -0
  59. package/dist/services/logging/formatter.js +227 -0
  60. package/dist/services/logging/formatter.js.map +1 -0
  61. package/dist/services/logging/index.d.ts +11 -0
  62. package/dist/services/logging/index.js +30 -0
  63. package/dist/services/logging/index.js.map +1 -0
  64. package/dist/services/logging/parser.d.ts +31 -0
  65. package/dist/services/logging/parser.js +222 -0
  66. package/dist/services/logging/parser.js.map +1 -0
  67. package/dist/services/process/index.d.ts +59 -0
  68. package/dist/services/process/index.js +257 -0
  69. package/dist/services/process/index.js.map +1 -0
  70. package/dist/types/agent.d.ts +20 -0
  71. package/dist/types/agent.js +6 -0
  72. package/dist/types/agent.js.map +1 -0
  73. package/dist/types/config.d.ts +65 -0
  74. package/dist/types/config.js +6 -0
  75. package/dist/types/config.js.map +1 -0
  76. package/dist/types/events.d.ts +125 -0
  77. package/dist/types/events.js +6 -0
  78. package/dist/types/events.js.map +1 -0
  79. package/dist/types/index.d.ts +12 -0
  80. package/dist/types/index.js +37 -0
  81. package/dist/types/index.js.map +1 -0
  82. package/dist/types/lane.d.ts +43 -0
  83. package/dist/types/lane.js +6 -0
  84. package/dist/types/lane.js.map +1 -0
  85. package/dist/types/logging.d.ts +71 -0
  86. package/dist/types/logging.js +16 -0
  87. package/dist/types/logging.js.map +1 -0
  88. package/dist/types/review.d.ts +17 -0
  89. package/dist/types/review.js +6 -0
  90. package/dist/types/review.js.map +1 -0
  91. package/dist/types/run.d.ts +32 -0
  92. package/dist/types/run.js +6 -0
  93. package/dist/types/run.js.map +1 -0
  94. package/dist/types/task.d.ts +71 -0
  95. package/dist/types/task.js +6 -0
  96. package/dist/types/task.js.map +1 -0
  97. package/dist/ui/components.d.ts +134 -0
  98. package/dist/ui/components.js +389 -0
  99. package/dist/ui/components.js.map +1 -0
  100. package/dist/ui/log-viewer.d.ts +49 -0
  101. package/dist/ui/log-viewer.js +449 -0
  102. package/dist/ui/log-viewer.js.map +1 -0
  103. package/dist/utils/checkpoint.d.ts +87 -0
  104. package/dist/utils/checkpoint.js +317 -0
  105. package/dist/utils/checkpoint.js.map +1 -0
  106. package/dist/utils/config.d.ts +4 -0
  107. package/dist/utils/config.js +11 -2
  108. package/dist/utils/config.js.map +1 -1
  109. package/dist/utils/cursor-agent.js.map +1 -1
  110. package/dist/utils/dependency.d.ts +74 -0
  111. package/dist/utils/dependency.js +420 -0
  112. package/dist/utils/dependency.js.map +1 -0
  113. package/dist/utils/doctor.js +10 -5
  114. package/dist/utils/doctor.js.map +1 -1
  115. package/dist/utils/enhanced-logger.d.ts +10 -33
  116. package/dist/utils/enhanced-logger.js +94 -9
  117. package/dist/utils/enhanced-logger.js.map +1 -1
  118. package/dist/utils/git.d.ts +121 -0
  119. package/dist/utils/git.js +322 -2
  120. package/dist/utils/git.js.map +1 -1
  121. package/dist/utils/health.d.ts +91 -0
  122. package/dist/utils/health.js +556 -0
  123. package/dist/utils/health.js.map +1 -0
  124. package/dist/utils/lock.d.ts +95 -0
  125. package/dist/utils/lock.js +332 -0
  126. package/dist/utils/lock.js.map +1 -0
  127. package/dist/utils/log-buffer.d.ts +17 -0
  128. package/dist/utils/log-buffer.js +14 -0
  129. package/dist/utils/log-buffer.js.map +1 -0
  130. package/dist/utils/log-constants.d.ts +23 -0
  131. package/dist/utils/log-constants.js +28 -0
  132. package/dist/utils/log-constants.js.map +1 -0
  133. package/dist/utils/log-formatter.d.ts +9 -0
  134. package/dist/utils/log-formatter.js +113 -70
  135. package/dist/utils/log-formatter.js.map +1 -1
  136. package/dist/utils/log-service.d.ts +19 -0
  137. package/dist/utils/log-service.js +47 -0
  138. package/dist/utils/log-service.js.map +1 -0
  139. package/dist/utils/logger.d.ts +46 -27
  140. package/dist/utils/logger.js +82 -60
  141. package/dist/utils/logger.js.map +1 -1
  142. package/dist/utils/process-manager.d.ts +21 -0
  143. package/dist/utils/process-manager.js +138 -0
  144. package/dist/utils/process-manager.js.map +1 -0
  145. package/dist/utils/retry.d.ts +121 -0
  146. package/dist/utils/retry.js +374 -0
  147. package/dist/utils/retry.js.map +1 -0
  148. package/dist/utils/run-service.d.ts +88 -0
  149. package/dist/utils/run-service.js +412 -0
  150. package/dist/utils/run-service.js.map +1 -0
  151. package/dist/utils/state.d.ts +58 -2
  152. package/dist/utils/state.js +306 -3
  153. package/dist/utils/state.js.map +1 -1
  154. package/dist/utils/task-service.d.ts +82 -0
  155. package/dist/utils/task-service.js +348 -0
  156. package/dist/utils/task-service.js.map +1 -0
  157. package/dist/utils/types.d.ts +2 -272
  158. package/dist/utils/types.js +16 -0
  159. package/dist/utils/types.js.map +1 -1
  160. package/package.json +38 -23
  161. package/scripts/ai-security-check.js +0 -1
  162. package/scripts/local-security-gate.sh +0 -0
  163. package/scripts/monitor-lanes.sh +94 -0
  164. package/scripts/patches/test-cursor-agent.js +0 -1
  165. package/scripts/release.sh +0 -0
  166. package/scripts/setup-security.sh +0 -0
  167. package/scripts/stream-logs.sh +72 -0
  168. package/scripts/verify-and-fix.sh +0 -0
  169. package/src/cli/clean.ts +180 -0
  170. package/src/cli/index.ts +7 -0
  171. package/src/cli/init.ts +1 -1
  172. package/src/cli/logs.ts +79 -42
  173. package/src/cli/monitor.ts +1815 -899
  174. package/src/cli/prepare.ts +97 -3
  175. package/src/cli/resume.ts +220 -277
  176. package/src/cli/run.ts +154 -3
  177. package/src/cli/runs.ts +212 -0
  178. package/src/cli/setup-commands.ts +0 -0
  179. package/src/cli/signal.ts +1 -1
  180. package/src/cli/stop.ts +209 -0
  181. package/src/cli/tasks.ts +154 -0
  182. package/src/core/auto-recovery.ts +909 -0
  183. package/src/core/failure-policy.ts +592 -0
  184. package/src/core/orchestrator.ts +1136 -675
  185. package/src/core/reviewer.ts +4 -0
  186. package/src/core/runner.ts +1443 -1217
  187. package/src/services/logging/buffer.ts +326 -0
  188. package/src/services/logging/console.ts +193 -0
  189. package/src/services/logging/file-writer.ts +526 -0
  190. package/src/services/logging/formatter.ts +268 -0
  191. package/src/services/logging/index.ts +16 -0
  192. package/src/services/logging/parser.ts +232 -0
  193. package/src/services/process/index.ts +261 -0
  194. package/src/types/agent.ts +24 -0
  195. package/src/types/config.ts +79 -0
  196. package/src/types/events.ts +156 -0
  197. package/src/types/index.ts +29 -0
  198. package/src/types/lane.ts +56 -0
  199. package/src/types/logging.ts +96 -0
  200. package/src/types/review.ts +20 -0
  201. package/src/types/run.ts +37 -0
  202. package/src/types/task.ts +79 -0
  203. package/src/ui/components.ts +430 -0
  204. package/src/ui/log-viewer.ts +485 -0
  205. package/src/utils/checkpoint.ts +374 -0
  206. package/src/utils/config.ts +11 -2
  207. package/src/utils/cursor-agent.ts +1 -1
  208. package/src/utils/dependency.ts +482 -0
  209. package/src/utils/doctor.ts +11 -5
  210. package/src/utils/enhanced-logger.ts +108 -49
  211. package/src/utils/git.ts +871 -499
  212. package/src/utils/health.ts +596 -0
  213. package/src/utils/lock.ts +346 -0
  214. package/src/utils/log-buffer.ts +28 -0
  215. package/src/utils/log-constants.ts +26 -0
  216. package/src/utils/log-formatter.ts +120 -37
  217. package/src/utils/log-service.ts +49 -0
  218. package/src/utils/logger.ts +100 -51
  219. package/src/utils/process-manager.ts +100 -0
  220. package/src/utils/retry.ts +413 -0
  221. package/src/utils/run-service.ts +433 -0
  222. package/src/utils/state.ts +369 -3
  223. package/src/utils/task-service.ts +370 -0
  224. package/src/utils/types.ts +2 -315
@@ -0,0 +1,420 @@
1
+ "use strict";
2
+ /**
3
+ * Dependency management utilities for CursorFlow
4
+ *
5
+ * Features:
6
+ * - Cyclic dependency detection
7
+ * - Dependency wait with timeout
8
+ * - Topological sorting
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.DEFAULT_DEPENDENCY_WAIT_OPTIONS = void 0;
45
+ exports.detectCyclicDependencies = detectCyclicDependencies;
46
+ exports.getExecutionOrder = getExecutionOrder;
47
+ exports.waitForTaskDependencies = waitForTaskDependencies;
48
+ exports.canLaneStart = canLaneStart;
49
+ exports.getTransitiveDependencies = getTransitiveDependencies;
50
+ exports.getDependentLanes = getDependentLanes;
51
+ exports.validateDependencies = validateDependencies;
52
+ exports.printDependencyGraph = printDependencyGraph;
53
+ const fs = __importStar(require("fs"));
54
+ const path_1 = require("./path");
55
+ const state_1 = require("./state");
56
+ const logger = __importStar(require("./logger"));
57
+ exports.DEFAULT_DEPENDENCY_WAIT_OPTIONS = {
58
+ timeoutMs: 30 * 60 * 1000, // 30 minutes
59
+ pollIntervalMs: 5000, // 5 seconds
60
+ onTimeout: 'fail',
61
+ };
62
+ /**
63
+ * Detect cyclic dependencies in a list of lanes
64
+ */
65
+ function detectCyclicDependencies(lanes) {
66
+ // Build adjacency graph
67
+ const graph = new Map();
68
+ const allNodes = new Set();
69
+ for (const lane of lanes) {
70
+ allNodes.add(lane.name);
71
+ graph.set(lane.name, new Set(lane.dependsOn));
72
+ // Add dependency nodes even if they're not in the list
73
+ for (const dep of lane.dependsOn) {
74
+ allNodes.add(dep);
75
+ if (!graph.has(dep)) {
76
+ graph.set(dep, new Set());
77
+ }
78
+ }
79
+ }
80
+ // Kahn's algorithm for topological sort with cycle detection
81
+ const inDegree = new Map();
82
+ // Initialize in-degrees
83
+ for (const node of allNodes) {
84
+ inDegree.set(node, 0);
85
+ }
86
+ for (const [, deps] of graph) {
87
+ for (const dep of deps) {
88
+ inDegree.set(dep, (inDegree.get(dep) || 0) + 1);
89
+ }
90
+ }
91
+ // Queue of nodes with no incoming edges
92
+ const queue = [];
93
+ for (const [node, degree] of inDegree) {
94
+ if (degree === 0) {
95
+ queue.push(node);
96
+ }
97
+ }
98
+ const sorted = [];
99
+ while (queue.length > 0) {
100
+ const node = queue.shift();
101
+ sorted.push(node);
102
+ const deps = graph.get(node) || new Set();
103
+ for (const dep of deps) {
104
+ const newDegree = (inDegree.get(dep) || 0) - 1;
105
+ inDegree.set(dep, newDegree);
106
+ if (newDegree === 0) {
107
+ queue.push(dep);
108
+ }
109
+ }
110
+ }
111
+ // If not all nodes are in sorted order, there's a cycle
112
+ if (sorted.length !== allNodes.size) {
113
+ // Find the cycle using DFS
114
+ const cycle = findCycle(graph, allNodes);
115
+ return {
116
+ hasCycle: true,
117
+ cycle,
118
+ sortedOrder: null,
119
+ };
120
+ }
121
+ return {
122
+ hasCycle: false,
123
+ cycle: null,
124
+ sortedOrder: sorted,
125
+ };
126
+ }
127
+ /**
128
+ * Find a cycle in the graph using DFS
129
+ */
130
+ function findCycle(graph, allNodes) {
131
+ const visited = new Set();
132
+ const recursionStack = new Set();
133
+ const parent = new Map();
134
+ function dfs(node) {
135
+ visited.add(node);
136
+ recursionStack.add(node);
137
+ const deps = graph.get(node) || new Set();
138
+ for (const dep of deps) {
139
+ if (!visited.has(dep)) {
140
+ parent.set(dep, node);
141
+ const cycleNode = dfs(dep);
142
+ if (cycleNode)
143
+ return cycleNode;
144
+ }
145
+ else if (recursionStack.has(dep)) {
146
+ // Found a cycle
147
+ parent.set(dep, node);
148
+ return dep;
149
+ }
150
+ }
151
+ recursionStack.delete(node);
152
+ return null;
153
+ }
154
+ for (const node of allNodes) {
155
+ if (!visited.has(node)) {
156
+ const cycleNode = dfs(node);
157
+ if (cycleNode) {
158
+ // Reconstruct the cycle
159
+ const cycle = [cycleNode];
160
+ let current = parent.get(cycleNode);
161
+ while (current && current !== cycleNode) {
162
+ cycle.push(current);
163
+ current = parent.get(current);
164
+ }
165
+ cycle.push(cycleNode);
166
+ return cycle.reverse();
167
+ }
168
+ }
169
+ }
170
+ return null;
171
+ }
172
+ /**
173
+ * Get topologically sorted order for lanes
174
+ */
175
+ function getExecutionOrder(lanes) {
176
+ const result = detectCyclicDependencies(lanes);
177
+ if (result.hasCycle) {
178
+ return null;
179
+ }
180
+ // Reverse the sorted order (we want dependencies first)
181
+ return result.sortedOrder.reverse();
182
+ }
183
+ /**
184
+ * Wait for task-level dependencies with timeout and progress tracking
185
+ */
186
+ async function waitForTaskDependencies(deps, lanesRoot, options = {}) {
187
+ const opts = { ...exports.DEFAULT_DEPENDENCY_WAIT_OPTIONS, ...options };
188
+ const startTime = Date.now();
189
+ const pendingDeps = new Set(deps);
190
+ const completedDeps = [];
191
+ const failedDeps = [];
192
+ if (deps.length === 0) {
193
+ return {
194
+ success: true,
195
+ timedOut: false,
196
+ failedDependencies: [],
197
+ completedDependencies: [],
198
+ elapsedMs: 0,
199
+ };
200
+ }
201
+ logger.info(`Waiting for task dependencies: ${deps.join(', ')}`);
202
+ while (pendingDeps.size > 0) {
203
+ // Check timeout
204
+ const elapsed = Date.now() - startTime;
205
+ if (elapsed > opts.timeoutMs) {
206
+ logger.warn(`Dependency wait timeout after ${Math.round(elapsed / 1000)}s`);
207
+ if (opts.onTimeout === 'fail') {
208
+ return {
209
+ success: false,
210
+ timedOut: true,
211
+ failedDependencies: Array.from(pendingDeps),
212
+ completedDependencies: completedDeps,
213
+ elapsedMs: elapsed,
214
+ };
215
+ }
216
+ else if (opts.onTimeout === 'warn') {
217
+ logger.warn('Continuing despite timeout');
218
+ return {
219
+ success: true,
220
+ timedOut: true,
221
+ failedDependencies: [],
222
+ completedDependencies: completedDeps,
223
+ elapsedMs: elapsed,
224
+ };
225
+ }
226
+ // 'continue' - just return success
227
+ return {
228
+ success: true,
229
+ timedOut: true,
230
+ failedDependencies: [],
231
+ completedDependencies: completedDeps,
232
+ elapsedMs: elapsed,
233
+ };
234
+ }
235
+ for (const dep of pendingDeps) {
236
+ const [laneName, taskName] = dep.split(':');
237
+ if (!laneName || !taskName) {
238
+ logger.warn(`Invalid dependency format: ${dep}. Expected "lane:task"`);
239
+ pendingDeps.delete(dep);
240
+ failedDeps.push(dep);
241
+ continue;
242
+ }
243
+ const depStatePath = (0, path_1.safeJoin)(lanesRoot, laneName, 'state.json');
244
+ if (!fs.existsSync(depStatePath)) {
245
+ // Lane hasn't started yet - continue waiting
246
+ continue;
247
+ }
248
+ try {
249
+ const state = (0, state_1.loadState)(depStatePath);
250
+ if (!state) {
251
+ continue;
252
+ }
253
+ // Check if task is completed
254
+ if (state.completedTasks && state.completedTasks.includes(taskName)) {
255
+ logger.info(`✓ Dependency met: ${dep}`);
256
+ pendingDeps.delete(dep);
257
+ completedDeps.push(dep);
258
+ }
259
+ else if (state.status === 'failed') {
260
+ // Dependency lane failed
261
+ logger.error(`✗ Dependency failed: ${dep} (Lane ${laneName} failed)`);
262
+ pendingDeps.delete(dep);
263
+ failedDeps.push(dep);
264
+ }
265
+ }
266
+ catch (e) {
267
+ // Ignore parse errors, file might be being written
268
+ logger.warn(`Error reading dependency state: ${e.message}`);
269
+ }
270
+ }
271
+ // Report progress
272
+ if (options.onProgress) {
273
+ options.onProgress(Array.from(pendingDeps), completedDeps);
274
+ }
275
+ // Check for failed dependencies
276
+ if (failedDeps.length > 0) {
277
+ return {
278
+ success: false,
279
+ timedOut: false,
280
+ failedDependencies: failedDeps,
281
+ completedDependencies: completedDeps,
282
+ elapsedMs: Date.now() - startTime,
283
+ };
284
+ }
285
+ if (pendingDeps.size > 0) {
286
+ await new Promise(resolve => setTimeout(resolve, opts.pollIntervalMs));
287
+ }
288
+ }
289
+ return {
290
+ success: true,
291
+ timedOut: false,
292
+ failedDependencies: [],
293
+ completedDependencies: completedDeps,
294
+ elapsedMs: Date.now() - startTime,
295
+ };
296
+ }
297
+ /**
298
+ * Check if a lane can start based on its dependencies
299
+ */
300
+ function canLaneStart(laneName, lanes, completedLanes, failedLanes) {
301
+ const lane = lanes.find(l => l.name === laneName);
302
+ if (!lane) {
303
+ return { canStart: false, reason: `Lane ${laneName} not found` };
304
+ }
305
+ for (const dep of lane.dependsOn) {
306
+ if (failedLanes.has(dep)) {
307
+ return {
308
+ canStart: false,
309
+ reason: `Dependency ${dep} has failed`
310
+ };
311
+ }
312
+ if (!completedLanes.has(dep)) {
313
+ return {
314
+ canStart: false,
315
+ reason: `Waiting for dependency ${dep}`
316
+ };
317
+ }
318
+ }
319
+ return { canStart: true };
320
+ }
321
+ /**
322
+ * Get all transitive dependencies for a lane
323
+ */
324
+ function getTransitiveDependencies(laneName, lanes) {
325
+ const laneMap = new Map(lanes.map(l => [l.name, l]));
326
+ const visited = new Set();
327
+ const result = [];
328
+ function visit(name) {
329
+ if (visited.has(name))
330
+ return;
331
+ visited.add(name);
332
+ const lane = laneMap.get(name);
333
+ if (!lane)
334
+ return;
335
+ for (const dep of lane.dependsOn) {
336
+ visit(dep);
337
+ if (!result.includes(dep)) {
338
+ result.push(dep);
339
+ }
340
+ }
341
+ }
342
+ visit(laneName);
343
+ return result;
344
+ }
345
+ /**
346
+ * Get lanes that depend on a given lane
347
+ */
348
+ function getDependentLanes(laneName, lanes) {
349
+ return lanes
350
+ .filter(l => l.dependsOn.includes(laneName))
351
+ .map(l => l.name);
352
+ }
353
+ /**
354
+ * Validate dependency configuration
355
+ */
356
+ function validateDependencies(lanes) {
357
+ const errors = [];
358
+ const warnings = [];
359
+ const laneNames = new Set(lanes.map(l => l.name));
360
+ // Check for missing dependencies
361
+ for (const lane of lanes) {
362
+ for (const dep of lane.dependsOn) {
363
+ // Check if it's a task-level dependency
364
+ if (dep.includes(':')) {
365
+ const [depLane] = dep.split(':');
366
+ if (!laneNames.has(depLane)) {
367
+ errors.push(`Lane "${lane.name}" depends on unknown lane "${depLane}"`);
368
+ }
369
+ }
370
+ else if (!laneNames.has(dep)) {
371
+ errors.push(`Lane "${lane.name}" depends on unknown lane "${dep}"`);
372
+ }
373
+ }
374
+ }
375
+ // Check for cycles
376
+ const cycleResult = detectCyclicDependencies(lanes);
377
+ if (cycleResult.hasCycle && cycleResult.cycle) {
378
+ errors.push(`Cyclic dependency detected: ${cycleResult.cycle.join(' -> ')}`);
379
+ }
380
+ // Warning for deeply nested dependencies
381
+ for (const lane of lanes) {
382
+ const transitive = getTransitiveDependencies(lane.name, lanes);
383
+ if (transitive.length > 5) {
384
+ warnings.push(`Lane "${lane.name}" has ${transitive.length} transitive dependencies`);
385
+ }
386
+ }
387
+ return {
388
+ valid: errors.length === 0,
389
+ errors,
390
+ warnings,
391
+ };
392
+ }
393
+ /**
394
+ * Print dependency graph to console
395
+ */
396
+ function printDependencyGraph(lanes) {
397
+ const cycleResult = detectCyclicDependencies(lanes);
398
+ logger.section('📊 Dependency Graph');
399
+ if (cycleResult.hasCycle) {
400
+ logger.error(`⚠️ Cyclic dependency detected: ${cycleResult.cycle?.join(' -> ')}`);
401
+ console.log('');
402
+ }
403
+ for (const lane of lanes) {
404
+ const deps = lane.dependsOn.length > 0
405
+ ? ` [depends on: ${lane.dependsOn.join(', ')}]`
406
+ : '';
407
+ console.log(` ${logger.COLORS.cyan}${lane.name}${logger.COLORS.reset}${deps}`);
408
+ for (let i = 0; i < lane.dependsOn.length; i++) {
409
+ const isLast = i === lane.dependsOn.length - 1;
410
+ const prefix = isLast ? '└─' : '├─';
411
+ console.log(` ${prefix} ${lane.dependsOn[i]}`);
412
+ }
413
+ }
414
+ if (cycleResult.sortedOrder) {
415
+ console.log('');
416
+ console.log(` Execution order: ${cycleResult.sortedOrder.reverse().join(' → ')}`);
417
+ }
418
+ console.log('');
419
+ }
420
+ //# sourceMappingURL=dependency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency.js","sourceRoot":"","sources":["../../src/utils/dependency.ts"],"names":[],"mappings":"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"}
@@ -59,10 +59,12 @@ function addIssue(issues, issue) {
59
59
  issues.push(issue);
60
60
  }
61
61
  function resolveRepoRoot(cwd) {
62
- const res = git.runGitResult(['rev-parse', '--show-toplevel'], { cwd });
63
- if (!res.success || !res.stdout)
62
+ try {
63
+ return git.getMainRepoRoot(cwd);
64
+ }
65
+ catch {
64
66
  return null;
65
- return res.stdout;
67
+ }
66
68
  }
67
69
  function isInsideGitWorktree(cwd) {
68
70
  const res = git.runGitResult(['rev-parse', '--is-inside-work-tree'], { cwd });
@@ -139,8 +141,11 @@ function readLaneJsonFiles(tasksDir) {
139
141
  }
140
142
  function collectBaseBranchesFromLanes(lanes, defaultBaseBranch) {
141
143
  const set = new Set();
144
+ // CursorFlow now defaults to the current branch to maintain dependency structure
145
+ const currentBranch = git.getCurrentBranch();
146
+ set.add(currentBranch);
142
147
  for (const lane of lanes) {
143
- const baseBranch = String(lane.json?.baseBranch || defaultBaseBranch || 'main').trim();
148
+ const baseBranch = String(lane.json?.baseBranch || defaultBaseBranch || currentBranch).trim();
144
149
  if (baseBranch)
145
150
  set.add(baseBranch);
146
151
  }
@@ -813,7 +818,7 @@ function runDoctor(options = {}) {
813
818
  }
814
819
  else {
815
820
  // Validate base branches
816
- const baseBranches = collectBaseBranchesFromLanes(lanes, 'main');
821
+ const baseBranches = collectBaseBranchesFromLanes(lanes, git.getCurrentBranch());
817
822
  for (const baseBranch of baseBranches) {
818
823
  if (!branchExists(gitCwd, baseBranch)) {
819
824
  addIssue(issues, {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/utils/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/utils/doctor.ts"],"names":[],"mappings":"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"}