@litmers/cursorflow-orchestrator 0.1.40 → 0.2.3

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 (214) hide show
  1. package/CHANGELOG.md +0 -2
  2. package/README.md +8 -3
  3. package/commands/cursorflow-init.md +0 -4
  4. package/dist/cli/index.js +0 -6
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/cli/logs.js +108 -9
  7. package/dist/cli/logs.js.map +1 -1
  8. package/dist/cli/models.js +20 -3
  9. package/dist/cli/models.js.map +1 -1
  10. package/dist/cli/monitor.d.ts +7 -10
  11. package/dist/cli/monitor.js +1103 -1239
  12. package/dist/cli/monitor.js.map +1 -1
  13. package/dist/cli/resume.js +21 -1
  14. package/dist/cli/resume.js.map +1 -1
  15. package/dist/cli/run.js +28 -9
  16. package/dist/cli/run.js.map +1 -1
  17. package/dist/cli/signal.d.ts +6 -1
  18. package/dist/cli/signal.js +99 -13
  19. package/dist/cli/signal.js.map +1 -1
  20. package/dist/cli/tasks.js +3 -46
  21. package/dist/cli/tasks.js.map +1 -1
  22. package/dist/core/agent-supervisor.d.ts +23 -0
  23. package/dist/core/agent-supervisor.js +42 -0
  24. package/dist/core/agent-supervisor.js.map +1 -0
  25. package/dist/core/auto-recovery.d.ts +3 -117
  26. package/dist/core/auto-recovery.js +4 -482
  27. package/dist/core/auto-recovery.js.map +1 -1
  28. package/dist/core/failure-policy.d.ts +0 -53
  29. package/dist/core/failure-policy.js +7 -175
  30. package/dist/core/failure-policy.js.map +1 -1
  31. package/dist/core/git-lifecycle-manager.d.ts +284 -0
  32. package/dist/core/git-lifecycle-manager.js +778 -0
  33. package/dist/core/git-lifecycle-manager.js.map +1 -0
  34. package/dist/core/git-pipeline-coordinator.d.ts +21 -0
  35. package/dist/core/git-pipeline-coordinator.js +205 -0
  36. package/dist/core/git-pipeline-coordinator.js.map +1 -0
  37. package/dist/core/intervention.d.ts +170 -0
  38. package/dist/core/intervention.js +408 -0
  39. package/dist/core/intervention.js.map +1 -0
  40. package/dist/core/lane-state-machine.d.ts +423 -0
  41. package/dist/core/lane-state-machine.js +890 -0
  42. package/dist/core/lane-state-machine.js.map +1 -0
  43. package/dist/core/orchestrator.d.ts +4 -1
  44. package/dist/core/orchestrator.js +39 -65
  45. package/dist/core/orchestrator.js.map +1 -1
  46. package/dist/core/runner/agent.d.ts +7 -1
  47. package/dist/core/runner/agent.js +54 -36
  48. package/dist/core/runner/agent.js.map +1 -1
  49. package/dist/core/runner/pipeline.js +283 -123
  50. package/dist/core/runner/pipeline.js.map +1 -1
  51. package/dist/core/runner/task.d.ts +4 -5
  52. package/dist/core/runner/task.js +6 -80
  53. package/dist/core/runner/task.js.map +1 -1
  54. package/dist/core/runner.js +8 -2
  55. package/dist/core/runner.js.map +1 -1
  56. package/dist/core/stall-detection.d.ts +11 -4
  57. package/dist/core/stall-detection.js +64 -27
  58. package/dist/core/stall-detection.js.map +1 -1
  59. package/dist/hooks/contexts/index.d.ts +104 -0
  60. package/dist/hooks/contexts/index.js +134 -0
  61. package/dist/hooks/contexts/index.js.map +1 -0
  62. package/dist/hooks/data-accessor.d.ts +86 -0
  63. package/dist/hooks/data-accessor.js +410 -0
  64. package/dist/hooks/data-accessor.js.map +1 -0
  65. package/dist/hooks/flow-controller.d.ts +136 -0
  66. package/dist/hooks/flow-controller.js +351 -0
  67. package/dist/hooks/flow-controller.js.map +1 -0
  68. package/dist/hooks/index.d.ts +68 -0
  69. package/dist/hooks/index.js +105 -0
  70. package/dist/hooks/index.js.map +1 -0
  71. package/dist/hooks/manager.d.ts +129 -0
  72. package/dist/hooks/manager.js +389 -0
  73. package/dist/hooks/manager.js.map +1 -0
  74. package/dist/hooks/types.d.ts +463 -0
  75. package/dist/hooks/types.js +45 -0
  76. package/dist/hooks/types.js.map +1 -0
  77. package/dist/services/logging/buffer.d.ts +2 -2
  78. package/dist/services/logging/buffer.js +95 -42
  79. package/dist/services/logging/buffer.js.map +1 -1
  80. package/dist/services/logging/console.js +6 -1
  81. package/dist/services/logging/console.js.map +1 -1
  82. package/dist/services/logging/formatter.d.ts +9 -4
  83. package/dist/services/logging/formatter.js +64 -18
  84. package/dist/services/logging/formatter.js.map +1 -1
  85. package/dist/services/logging/index.d.ts +0 -1
  86. package/dist/services/logging/index.js +0 -1
  87. package/dist/services/logging/index.js.map +1 -1
  88. package/dist/services/logging/paths.d.ts +8 -0
  89. package/dist/services/logging/paths.js +48 -0
  90. package/dist/services/logging/paths.js.map +1 -0
  91. package/dist/services/logging/raw-log.d.ts +6 -0
  92. package/dist/services/logging/raw-log.js +37 -0
  93. package/dist/services/logging/raw-log.js.map +1 -0
  94. package/dist/services/process/index.js +1 -1
  95. package/dist/services/process/index.js.map +1 -1
  96. package/dist/types/agent.d.ts +15 -0
  97. package/dist/types/config.d.ts +22 -1
  98. package/dist/types/event-categories.d.ts +601 -0
  99. package/dist/types/event-categories.js +233 -0
  100. package/dist/types/event-categories.js.map +1 -0
  101. package/dist/types/events.d.ts +0 -20
  102. package/dist/types/flow.d.ts +10 -6
  103. package/dist/types/index.d.ts +1 -1
  104. package/dist/types/index.js +17 -3
  105. package/dist/types/index.js.map +1 -1
  106. package/dist/types/lane.d.ts +1 -1
  107. package/dist/types/logging.d.ts +1 -1
  108. package/dist/types/task.d.ts +12 -1
  109. package/dist/ui/log-viewer.d.ts +3 -0
  110. package/dist/ui/log-viewer.js +3 -0
  111. package/dist/ui/log-viewer.js.map +1 -1
  112. package/dist/utils/config.js +10 -1
  113. package/dist/utils/config.js.map +1 -1
  114. package/dist/utils/cursor-agent.d.ts +11 -1
  115. package/dist/utils/cursor-agent.js +63 -16
  116. package/dist/utils/cursor-agent.js.map +1 -1
  117. package/dist/utils/enhanced-logger.d.ts +5 -1
  118. package/dist/utils/enhanced-logger.js +98 -19
  119. package/dist/utils/enhanced-logger.js.map +1 -1
  120. package/dist/utils/event-registry.d.ts +222 -0
  121. package/dist/utils/event-registry.js +463 -0
  122. package/dist/utils/event-registry.js.map +1 -0
  123. package/dist/utils/events.d.ts +1 -13
  124. package/dist/utils/events.js.map +1 -1
  125. package/dist/utils/flow.d.ts +10 -0
  126. package/dist/utils/flow.js +75 -0
  127. package/dist/utils/flow.js.map +1 -1
  128. package/dist/utils/log-constants.d.ts +1 -0
  129. package/dist/utils/log-constants.js +2 -1
  130. package/dist/utils/log-constants.js.map +1 -1
  131. package/dist/utils/log-formatter.d.ts +2 -1
  132. package/dist/utils/log-formatter.js +10 -10
  133. package/dist/utils/log-formatter.js.map +1 -1
  134. package/dist/utils/logger.d.ts +11 -0
  135. package/dist/utils/logger.js +82 -3
  136. package/dist/utils/logger.js.map +1 -1
  137. package/dist/utils/repro-thinking-logs.js +0 -13
  138. package/dist/utils/repro-thinking-logs.js.map +1 -1
  139. package/dist/utils/run-service.js +1 -1
  140. package/dist/utils/run-service.js.map +1 -1
  141. package/examples/README.md +0 -2
  142. package/examples/demo-project/README.md +1 -2
  143. package/package.json +13 -34
  144. package/scripts/setup-security.sh +0 -1
  145. package/scripts/test-log-parser.ts +171 -0
  146. package/scripts/verify-change.sh +272 -0
  147. package/src/cli/index.ts +0 -6
  148. package/src/cli/logs.ts +121 -10
  149. package/src/cli/models.ts +20 -3
  150. package/src/cli/monitor.ts +1273 -1342
  151. package/src/cli/resume.ts +27 -1
  152. package/src/cli/run.ts +29 -11
  153. package/src/cli/signal.ts +120 -18
  154. package/src/cli/tasks.ts +2 -59
  155. package/src/core/agent-supervisor.ts +64 -0
  156. package/src/core/auto-recovery.ts +14 -590
  157. package/src/core/failure-policy.ts +7 -229
  158. package/src/core/git-lifecycle-manager.ts +1011 -0
  159. package/src/core/git-pipeline-coordinator.ts +221 -0
  160. package/src/core/intervention.ts +463 -0
  161. package/src/core/lane-state-machine.ts +1097 -0
  162. package/src/core/orchestrator.ts +48 -64
  163. package/src/core/runner/agent.ts +77 -39
  164. package/src/core/runner/pipeline.ts +318 -138
  165. package/src/core/runner/task.ts +12 -97
  166. package/src/core/runner.ts +8 -2
  167. package/src/core/stall-detection.ts +74 -27
  168. package/src/hooks/contexts/index.ts +256 -0
  169. package/src/hooks/data-accessor.ts +488 -0
  170. package/src/hooks/flow-controller.ts +425 -0
  171. package/src/hooks/index.ts +154 -0
  172. package/src/hooks/manager.ts +434 -0
  173. package/src/hooks/types.ts +544 -0
  174. package/src/services/logging/buffer.ts +104 -43
  175. package/src/services/logging/console.ts +7 -1
  176. package/src/services/logging/formatter.ts +74 -18
  177. package/src/services/logging/index.ts +0 -2
  178. package/src/services/logging/paths.ts +14 -0
  179. package/src/services/logging/raw-log.ts +43 -0
  180. package/src/services/process/index.ts +1 -1
  181. package/src/types/agent.ts +15 -0
  182. package/src/types/config.ts +23 -1
  183. package/src/types/event-categories.ts +663 -0
  184. package/src/types/events.ts +0 -25
  185. package/src/types/flow.ts +10 -6
  186. package/src/types/index.ts +50 -4
  187. package/src/types/lane.ts +1 -2
  188. package/src/types/logging.ts +2 -1
  189. package/src/types/task.ts +12 -1
  190. package/src/ui/log-viewer.ts +3 -0
  191. package/src/utils/config.ts +11 -1
  192. package/src/utils/cursor-agent.ts +68 -16
  193. package/src/utils/enhanced-logger.ts +105 -19
  194. package/src/utils/event-registry.ts +595 -0
  195. package/src/utils/events.ts +0 -16
  196. package/src/utils/flow.ts +83 -0
  197. package/src/utils/log-constants.ts +2 -1
  198. package/src/utils/log-formatter.ts +10 -11
  199. package/src/utils/logger.ts +49 -3
  200. package/src/utils/repro-thinking-logs.ts +0 -15
  201. package/src/utils/run-service.ts +1 -1
  202. package/dist/cli/prepare.d.ts +0 -7
  203. package/dist/cli/prepare.js +0 -690
  204. package/dist/cli/prepare.js.map +0 -1
  205. package/dist/services/logging/file-writer.d.ts +0 -71
  206. package/dist/services/logging/file-writer.js +0 -516
  207. package/dist/services/logging/file-writer.js.map +0 -1
  208. package/dist/types/review.d.ts +0 -17
  209. package/dist/types/review.js +0 -6
  210. package/dist/types/review.js.map +0 -1
  211. package/scripts/ai-security-check.js +0 -233
  212. package/src/cli/prepare.ts +0 -777
  213. package/src/services/logging/file-writer.ts +0 -526
  214. package/src/types/review.ts +0 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lane-state-machine.js","sourceRoot":"","sources":["../../src/core/lane-state-machine.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ interface RunningLaneInfo {
42
42
  /**
43
43
  * Spawn a lane process
44
44
  */
45
- export declare function spawnLane({ laneName, tasksFile, laneRunDir, executor, startIndex, pipelineBranch, worktreeDir, enhancedLogConfig, noGit, onActivity, laneIndex, }: {
45
+ export declare function spawnLane({ laneName, tasksFile, laneRunDir, executor, startIndex, pipelineBranch, worktreeDir, enhancedLogConfig, noGit, skipPreflight, onActivity, laneIndex, browser, }: {
46
46
  laneName: string;
47
47
  tasksFile: string;
48
48
  laneRunDir: string;
@@ -52,8 +52,10 @@ export declare function spawnLane({ laneName, tasksFile, laneRunDir, executor, s
52
52
  worktreeDir?: string;
53
53
  enhancedLogConfig?: Partial<EnhancedLogConfig>;
54
54
  noGit?: boolean;
55
+ skipPreflight?: boolean;
55
56
  onActivity?: () => void;
56
57
  laneIndex?: number;
58
+ browser?: boolean;
57
59
  }): SpawnLaneResult;
58
60
  /**
59
61
  * Wait for child process to exit
@@ -81,6 +83,7 @@ export declare function orchestrate(tasksDir: string, options?: {
81
83
  noGit?: boolean;
82
84
  skipPreflight?: boolean;
83
85
  stallConfig?: Partial<StallDetectionConfig>;
86
+ browser?: boolean;
84
87
  }): Promise<{
85
88
  lanes: LaneInfo[];
86
89
  exitCodes: Record<string, number>;
@@ -58,9 +58,12 @@ const config_1 = require("../utils/config");
58
58
  const git = __importStar(require("../utils/git"));
59
59
  const child_process_2 = require("child_process");
60
60
  const path_1 = require("../utils/path");
61
+ const paths_1 = require("../services/logging/paths");
61
62
  const enhanced_logger_1 = require("../utils/enhanced-logger");
63
+ const log_constants_1 = require("../utils/log-constants");
62
64
  const log_formatter_1 = require("../utils/log-formatter");
63
65
  const auto_recovery_1 = require("./auto-recovery");
66
+ const intervention_1 = require("./intervention");
64
67
  const stall_detection_1 = require("./stall-detection");
65
68
  const health_1 = require("../utils/health");
66
69
  const lock_1 = require("../utils/lock");
@@ -139,6 +142,7 @@ async function handleDoctorDiagnostics(laneName, laneRunDir, runId, runRoot, sta
139
142
  // Note: StallPhase and RecoveryStage have compatible numeric values (0-5)
140
143
  const recoveryState = {
141
144
  laneName,
145
+ runId,
142
146
  stage: stallState.phase, // Both enums use 0-5
143
147
  lastActivityTime: stallState.lastRealActivityTime,
144
148
  lastBytesReceived: stallState.bytesSinceLastCheck,
@@ -177,7 +181,7 @@ async function handleDoctorDiagnostics(laneName, laneRunDir, runId, runRoot, sta
177
181
  /**
178
182
  * Spawn a lane process
179
183
  */
180
- function spawnLane({ laneName, tasksFile, laneRunDir, executor, startIndex = 0, pipelineBranch, worktreeDir, enhancedLogConfig, noGit = false, onActivity, laneIndex = 0, }) {
184
+ function spawnLane({ laneName, tasksFile, laneRunDir, executor, startIndex = 0, pipelineBranch, worktreeDir, enhancedLogConfig, noGit = false, skipPreflight = false, onActivity, laneIndex = 0, browser, }) {
181
185
  fs.mkdirSync(laneRunDir, { recursive: true });
182
186
  // Use extension-less resolve to handle both .ts (dev) and .js (dist)
183
187
  const runnerPath = require.resolve('./runner');
@@ -197,6 +201,12 @@ function spawnLane({ laneName, tasksFile, laneRunDir, executor, startIndex = 0,
197
201
  if (noGit) {
198
202
  args.push('--no-git');
199
203
  }
204
+ if (skipPreflight) {
205
+ args.push('--skip-preflight');
206
+ }
207
+ if (browser) {
208
+ args.push('--browser');
209
+ }
200
210
  // Create enhanced log manager if enabled
201
211
  const logConfig = { ...enhanced_logger_1.DEFAULT_LOG_CONFIG, ...enhancedLogConfig };
202
212
  let logManager;
@@ -207,13 +217,12 @@ function spawnLane({ laneName, tasksFile, laneRunDir, executor, startIndex = 0,
207
217
  ...process.env,
208
218
  };
209
219
  if (logConfig.enabled) {
210
- // Helper to get dynamic lane label like [1-1-lanename10]
220
+ // Helper to get dynamic lane label like [1-1-refactor]
211
221
  const getDynamicLabel = () => {
212
222
  const laneNum = `${laneIndex + 1}`;
213
223
  const taskPart = `-${info.currentTaskIndex || 1}`;
214
- const shortLaneName = laneName.substring(0, 10);
215
- const combined = `${laneNum}${taskPart}-${shortLaneName}`.substring(0, 18).padEnd(18);
216
- return `[${combined}]`;
224
+ const shortLaneName = laneName.substring(0, 8);
225
+ return `[${laneNum}${taskPart}-${shortLaneName}]`;
217
226
  };
218
227
  // Create callback for clean console output
219
228
  const onParsedMessage = (msg) => {
@@ -242,13 +251,15 @@ function spawnLane({ laneName, tasksFile, laneRunDir, executor, startIndex = 0,
242
251
  laneIndex,
243
252
  currentTaskIndex: startIndex > 0 ? startIndex + 1 : 0
244
253
  };
245
- // Buffer for non-JSON lines
254
+ // Buffer for task progress detection
246
255
  let lineBuffer = '';
247
256
  // Pipe stdout and stderr through enhanced logger
257
+ // Note: Console output is handled by onParsedMessage callback via logManager
258
+ // Do NOT write to stdout/stderr directly here to avoid duplicate output
248
259
  if (child.stdout) {
249
260
  child.stdout.on('data', (data) => {
250
261
  logManager.writeStdout(data);
251
- // Filter out JSON lines from console output to keep it clean
262
+ // Track task progress for label updates (but don't output here)
252
263
  const str = data.toString();
253
264
  lineBuffer += str;
254
265
  const lines = lineBuffer.split('\n');
@@ -268,68 +279,19 @@ function spawnLane({ laneName, tasksFile, laneRunDir, executor, startIndex = 0,
268
279
  logManager.setTask(taskMatch[3].trim(), undefined, info.currentTaskIndex - 1);
269
280
  }
270
281
  }
271
- // Show if it's a timestamped log line (starts with [YYYY-MM-DD... or [HH:MM:SS])
272
- // or if it's NOT a noisy JSON line
282
+ // Track activity for stall detection (non-heartbeat lines only)
273
283
  const isJson = trimmed.startsWith('{') || trimmed.includes('{"type"');
274
- // Filter out heartbeats - they should NOT reset the idle timer
275
284
  const isHeartbeat = trimmed.includes('Heartbeat') && trimmed.includes('bytes received');
276
- if (!isJson) {
277
- // Only trigger activity for non-heartbeat lines
278
- if (onActivity && !isHeartbeat)
279
- onActivity();
280
- const currentLabel = getDynamicLabel();
281
- const coloredLabel = `${logger.COLORS.magenta}${currentLabel}${logger.COLORS.reset}`;
282
- // Regex that matches timestamp even if it has ANSI color codes
283
- // Matches: [24:39:14] or \x1b[90m[24:39:14]\x1b[0m
284
- const timestampRegex = /^((?:\x1b\[[0-9;]*m)*)\[(\d{4}-\d{2}-\d{2}T|\d{2}:\d{2}:\d{2})\]/;
285
- const tsMatch = trimmed.match(timestampRegex);
286
- if (tsMatch) {
287
- // If line already has timestamp format, just add lane prefix
288
- // Check if lane label is already present to avoid triple duplication
289
- if (!trimmed.includes(currentLabel)) {
290
- // Insert label after the timestamp part
291
- const tsPart = tsMatch[0];
292
- const formatted = trimmed.replace(tsPart, `${tsPart} ${coloredLabel}`);
293
- process.stdout.write(formatted + '\n');
294
- }
295
- else {
296
- process.stdout.write(trimmed + '\n');
297
- }
298
- }
299
- else {
300
- // Add full prefix: timestamp + lane
301
- process.stdout.write(`${logger.COLORS.gray}[${new Date().toLocaleTimeString('en-US', { hour12: false })}]${logger.COLORS.reset} ${coloredLabel} ${line}\n`);
302
- }
285
+ if (!isJson && !isHeartbeat && onActivity) {
286
+ onActivity();
303
287
  }
304
288
  }
305
289
  });
306
290
  }
307
291
  if (child.stderr) {
308
292
  child.stderr.on('data', (data) => {
293
+ // Console output is handled by logManager's onParsedMessage callback
309
294
  logManager.writeStderr(data);
310
- const str = data.toString();
311
- const lines = str.split('\n');
312
- for (const line of lines) {
313
- const trimmed = line.trim();
314
- if (trimmed) {
315
- // Check if it's a real error or just git/status output on stderr
316
- const isStatus = trimmed.startsWith('Preparing worktree') ||
317
- trimmed.startsWith('Switched to a new branch') ||
318
- trimmed.startsWith('HEAD is now at') ||
319
- trimmed.includes('actual output');
320
- const ts = new Date().toLocaleTimeString('en-US', { hour12: false });
321
- const currentLabel = getDynamicLabel();
322
- const coloredLabel = `${logger.COLORS.magenta}${currentLabel}${logger.COLORS.reset}`;
323
- if (isStatus) {
324
- process.stdout.write(`${logger.COLORS.gray}[${ts}]${logger.COLORS.reset} ${coloredLabel} ${trimmed}\n`);
325
- }
326
- else {
327
- if (onActivity)
328
- onActivity();
329
- process.stderr.write(`${logger.COLORS.gray}[${ts}]${logger.COLORS.reset} ${coloredLabel} ${logger.COLORS.red}❌ ERR ${trimmed}${logger.COLORS.reset}\n`);
330
- }
331
- }
332
- }
333
295
  });
334
296
  }
335
297
  // Close log manager when process exits
@@ -340,7 +302,7 @@ function spawnLane({ laneName, tasksFile, laneRunDir, executor, startIndex = 0,
340
302
  }
341
303
  else {
342
304
  // Fallback to simple file logging
343
- logPath = (0, path_1.safeJoin)(laneRunDir, 'terminal-readable.log');
305
+ logPath = (0, paths_1.getLaneLogPath)(laneRunDir, 'raw');
344
306
  const logFd = fs.openSync(logPath, 'a');
345
307
  child = (0, child_process_1.spawn)('node', args, {
346
308
  stdio: ['ignore', logFd, logFd],
@@ -551,6 +513,9 @@ async function orchestrate(tasksDir, options = {}) {
551
513
  ? (path.isAbsolute(options.runDir) ? options.runDir : path.resolve(process.cwd(), options.runDir)) // nosemgrep
552
514
  : (0, path_1.safeJoin)(logsDir, 'runs', runId);
553
515
  fs.mkdirSync(runRoot, { recursive: true });
516
+ // Main process logs live at the run root; lane/subprocess logs stay in per-lane directories.
517
+ logger.setDefaultContext('MAIN');
518
+ logger.setLogFile((0, path_1.safeJoin)(runRoot, log_constants_1.MAIN_LOG_FILENAME));
554
519
  // Clean stale locks before starting
555
520
  try {
556
521
  const lockDir = (0, lock_1.getLockDir)(git.getRepoRoot());
@@ -702,7 +667,9 @@ async function orchestrate(tasksDir, options = {}) {
702
667
  worktreeDir: laneWorktreeDirs[lane.name],
703
668
  enhancedLogConfig: options.enhancedLogging,
704
669
  noGit: options.noGit,
670
+ skipPreflight: options.skipPreflight,
705
671
  laneIndex: laneIdx >= 0 ? laneIdx : 0,
672
+ browser: options.browser,
706
673
  onActivity: () => {
707
674
  // Record state file update activity
708
675
  stallService.recordStateUpdate(lane.name);
@@ -780,7 +747,8 @@ async function orchestrate(tasksDir, options = {}) {
780
747
  logger.debug(`[${laneName}] ${stallService.dumpState(laneName)}`);
781
748
  }
782
749
  // Run stall analysis and recovery (all logic is in StallDetectionService)
783
- const analysis = stallService.checkAndRecover(laneName);
750
+ // Note: checkAndRecover is now async as it may kill processes
751
+ const analysis = await stallService.checkAndRecover(laneName);
784
752
  // Log to lane log manager if there was an action
785
753
  if (analysis.action !== stall_detection_1.RecoveryAction.NONE) {
786
754
  info.logManager?.log('error', analysis.message);
@@ -832,9 +800,15 @@ async function orchestrate(tasksDir, options = {}) {
832
800
  }
833
801
  }
834
802
  else {
835
- // Check if it was a restart request (RESTART_REQUESTED phase)
836
- if (stallPhase === stall_detection_1.StallPhase.RESTART_REQUESTED) {
837
- logger.info(`🔄 Lane ${finished.name} is being restarted due to stall...`);
803
+ // Check if it was a restart request or intervention (killed to be resumed)
804
+ if (stallPhase === stall_detection_1.StallPhase.RESTART_REQUESTED ||
805
+ stallPhase === stall_detection_1.StallPhase.CONTINUE_SENT ||
806
+ stallPhase === stall_detection_1.StallPhase.STRONGER_PROMPT_SENT ||
807
+ (0, intervention_1.isInterventionRestart)(laneRunDirs[finished.name])) {
808
+ const isManual = (0, intervention_1.isInterventionRestart)(laneRunDirs[finished.name]);
809
+ const phaseName = isManual ? 'manual intervention' :
810
+ (stallPhase === stall_detection_1.StallPhase.RESTART_REQUESTED ? 'restart' : 'automatic intervention');
811
+ logger.info(`🔄 Lane ${finished.name} is being resumed/restarted due to ${phaseName}...`);
838
812
  // Update startIndex from current state to resume from the same task
839
813
  const statePath = (0, path_1.safeJoin)(laneRunDirs[finished.name], 'state.json');
840
814
  const state = (0, state_1.loadState)(statePath);
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkNH,8BAyOC;AAKD,8BAUC;AAKD,sCAkBC;AAKD,0CAwBC;AA4GD,kCAsgBC;AA9mCD,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAoD;AAEpD,wDAA0C;AAC1C,0CAA0F;AAE1F,4CAAyC;AACzC,8CAAoD;AACpD,4CAAyD;AACzD,kDAAoC;AACpC,iDAAyC;AACzC,wCAAyC;AACzC,8DAMkC;AAClC,0DAAiE;AAEjE,mDAOyB;AACzB,uDAQ2B;AAE3B,4CAAmF;AAEnF,wCAA4D;AAE5D,iFAAiF;AACjF,MAAM,iCAAiC,GAAkC;IACvE,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAQ,iDAAiD;IACrF,iBAAiB,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAG,mDAAmD;IACvF,WAAW,EAAE,CAAC;CACf,CAAC;AAiCF;;GAEG;AACH,SAAS,WAAW,CAAC,QAAgB,EAAE,QAAgB,EAAE;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IACrC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,gBAAgB,CAAC,CAAC;YACpD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,4BAA4B;IAC9B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB,CACpC,QAAgB,EAChB,UAAkB,EAClB,KAAa,EACb,OAAe,EACf,YAAmC,EACnC,KAAmB;IAEnB,+DAA+D;IAC/D,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;IAE9E,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,gBAAgB,EAAE;QAClB,eAAe,EAAE;KAClB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,WAAW,CAAC,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,UAAU,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAE/D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,iCAAiC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,6EAA6E,CAAC,CAAC;IACzG,CAAC;IAED,0BAA0B;IAC1B,MAAM,cAAc,GAAG,IAAA,eAAQ,EAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC/D,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;QAC9C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,YAAY,EAAE,WAAW,CAAC,EAAE;QAC5B,WAAW,EAAE,UAAU,CAAC,EAAE;QAC1B,MAAM;KACP,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEb,mBAAmB;IACnB,IAAI,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,2CAA2C,cAAc,eAAe,CAAC,CAAC;IAEnG,+BAA+B;IAC/B,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAA,eAAQ,EAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,IAAA,iBAAS,EAAY,aAAa,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,IAAA,eAAQ,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAEpD,uDAAuD;YACvD,0EAA0E;YAC1E,MAAM,aAAa,GAAsB;gBACvC,QAAQ;gBACR,KAAK,EAAE,UAAU,CAAC,KAA0B,EAAG,qBAAqB;gBACpE,gBAAgB,EAAE,UAAU,CAAC,oBAAoB;gBACjD,iBAAiB,EAAE,UAAU,CAAC,mBAAmB;gBACjD,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;gBACjD,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;gBACnD,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;gBACnD,eAAe,EAAE,UAAU,CAAC,eAAe;gBAC3C,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAClD,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,KAAK,EAAE,CAAC,CAAC,KAA0B,EAAG,qBAAqB;oBAC3D,MAAM,EAAE,CAAC,CAAC,MAAgB;oBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,aAAa,EAAE,CAAC,CAAC,aAAa;oBAC9B,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC,CAAC;aACJ,CAAC;YAEF,MAAM,cAAc,GAAG;gBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,YAAY,EAAE,WAAW,CAAC,EAAE;gBAC5B,WAAW,EAAE,UAAU,CAAC,EAAE;gBAC1B,aAAa,EAAE,IAAI;gBACnB,eAAe,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,4BAA4B;gBACpG,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,yBAAyB;aACxD,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAA,0CAA0B,EACzC,KAAK,EACL,OAAO,EACP,QAAQ,EACR,aAAa,EACb,SAAS,EACT,cAAc,CACf,CAAC;YACF,IAAA,uBAAO,EAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,QAAa,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,yBAAyB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,SAAS,EACT,UAAU,EACV,QAAQ,EACR,UAAU,GAAG,CAAC,EACd,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,KAAK,GAAG,KAAK,EACb,UAAU,EACV,SAAS,GAAG,CAAC,GAad;IACC,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IAE7C,qEAAqE;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAG;QACX,UAAU;QACV,SAAS;QACT,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,QAAQ;QACtB,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE;KACvC,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAED,yCAAyC;IACzC,MAAM,SAAS,GAAG,EAAE,GAAG,oCAAkB,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAClE,IAAI,UAA0C,CAAC;IAC/C,IAAI,OAAe,CAAC;IACpB,IAAI,KAAmB,CAAC;IAExB,sCAAsC;IACtC,MAAM,QAAQ,GAAG;QACf,GAAG,OAAO,CAAC,GAAG;KACf,CAAC;IAEF,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,yDAAyD;QACzD,MAAM,eAAe,GAAG,GAAG,EAAE;YAC3B,MAAM,OAAO,GAAG,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,GAAG,OAAO,GAAG,QAAQ,IAAI,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtF,OAAO,IAAI,QAAQ,GAAG,CAAC;QACzB,CAAC,CAAC;QAEF,2CAA2C;QAC3C,MAAM,eAAe,GAAG,CAAC,GAAkB,EAAE,EAAE;YAC7C,IAAI,UAAU;gBAAE,UAAU,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,IAAA,uCAAuB,EAAC,GAAG,EAAE;gBAC7C,SAAS,EAAE,eAAe,EAAE;gBAC5B,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC;QAEF,UAAU,GAAG,IAAA,kCAAgB,EAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QAC3F,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC;QAEzC,uCAAuC;QACvC,KAAK,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,IAAI,EAAE;YAC1B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,mDAAmD;QACnD,MAAM,IAAI,GAAoB;YAC5B,KAAK;YACL,UAAU;YACV,OAAO;YACP,SAAS,EAAE,IAAA,eAAQ,EAAC,UAAU,EAAE,YAAY,CAAC;YAC7C,SAAS;YACT,gBAAgB,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACtD,CAAC;QAEF,4BAA4B;QAC5B,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,iDAAiD;QACjD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACvC,UAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE9B,6DAA6D;gBAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,UAAU,IAAI,GAAG,CAAC;gBAClB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrC,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO;wBAAE,SAAS;oBAEvB,6CAA6C;oBAC7C,4BAA4B;oBAC5B,MAAM,SAAS,GAAG,IAAA,2BAAS,EAAC,OAAO,CAAC,CAAC;oBACrC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;oBAClE,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC;wBAChD,sEAAsE;wBACtE,IAAI,UAAU,EAAE,CAAC;4BACf,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;wBACjF,CAAC;oBACH,CAAC;oBAED,iFAAiF;oBACjF,mCAAmC;oBACnC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACtE,+DAA+D;oBAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;oBAExF,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,gDAAgD;wBAChD,IAAI,UAAU,IAAI,CAAC,WAAW;4BAAE,UAAU,EAAE,CAAC;wBAE7C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;wBACvC,MAAM,YAAY,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBAErF,+DAA+D;wBAC/D,mDAAmD;wBACnD,MAAM,cAAc,GAAG,kEAAkE,CAAC;wBAC1F,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;wBAE9C,IAAI,OAAO,EAAE,CAAC;4BACZ,6DAA6D;4BAC7D,qEAAqE;4BACrE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gCACpC,wCAAwC;gCACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gCAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC,CAAC;gCACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;4BACzC,CAAC;iCAAM,CAAC;gCACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;4BACvC,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,oCAAoC;4BACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC;wBAC9J,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACvC,UAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,OAAO,EAAE,CAAC;wBACZ,iEAAiE;wBACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC;4BACxC,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC;4BAC9C,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;4BACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;wBAEnD,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;wBACrE,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;wBACvC,MAAM,YAAY,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBAErF,IAAI,QAAQ,EAAE,CAAC;4BACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,IAAI,OAAO,IAAI,CAAC,CAAC;wBAC1G,CAAC;6BAAM,CAAC;4BACN,IAAI,UAAU;gCAAE,UAAU,EAAE,CAAC;4BAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;wBAC1J,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,uCAAuC;QACvC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACpB,UAAU,EAAE,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,kCAAkC;QAClC,OAAO,GAAG,IAAA,eAAQ,EAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAExC,KAAK,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,IAAI,EAAE;YAC1B,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;YAC/B,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,OAAO;YACL,KAAK;YACL,OAAO;YACP,UAAU;YACV,IAAI,EAAE;gBACJ,KAAK;gBACL,OAAO;gBACP,SAAS,EAAE,IAAA,eAAQ,EAAC,UAAU,EAAE,YAAY,CAAC;gBAC7C,SAAS;aACV;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,IAAkB;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,QAAgB;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAC;SAC1D,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,MAAM,QAAQ,GAAG,IAAA,eAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAEvC,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAiB,EAAE,WAAmC;IACpF,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAErE,MAAM,SAAS,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAA,iBAAS,EAAY,SAAS,CAAC,CAAC;QAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC3D,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;YACjC,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,UAAU,IAAI,GAAG,EAAE;SAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB,CACnC,YAAgD,EAChD,QAAoB,EACpB,WAAmC,EACnC,cAAsB,EACtB,OAAe;IAEf,gEAAgE;IAChE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,OAAO;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAExD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAExC,yFAAyF;IACzF,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAA,eAAQ,EAAC,WAAW,CAAC,aAAa,CAAE,EAAE,YAAY,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,IAAA,iBAAS,EAAY,SAAS,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,IAAA,eAAQ,EAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAEnF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC;QAClE,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,gCAAgC;IAChC,MAAM,CAAC,IAAI,CAAC,uCAAuC,cAAc,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IAE/D,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,IAAA,wBAAQ,EAAC,GAAG,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,uCAAuC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAEtH,oBAAoB;QACpB,MAAM,KAAK,GAAG,GAAG,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAC,iCAAiC,CAAC,CAAC;IAEjD,yDAAyD;IACzD,uFAAuF;IACvF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,SAAS,GAAG,IAAA,iBAAS,EAAY,IAAA,eAAQ,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QAE9F,2DAA2D;QAC3D,MAAM,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAiB,CAAC;QAClF,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE1C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,kBAAkB,GAAG,GAAG,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5D,MAAM,UAAU,GAAG,GAAG,kBAAkB,KAAK,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACpG,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,WAAW,UAAU,EAAE,CAAC,CAAC;YAE9D,IAAI,CAAC;gBACH,gGAAgG;gBAChG,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;oBAEzE,oBAAoB;oBACpB,MAAM,KAAK,GAAG,GAAG,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;oBACrD,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC;oBAC1D,CAAC;oBAED,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,yBAAyB,UAAU,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,UAWhD,EAAE;IACJ,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAEtC,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAc,EAAC;YACrC,aAAa,EAAE,CAAC,OAAO,CAAC,KAAK;YAC7B,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAA,6BAAoB,EAAC,SAAS,CAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,oCAAoC;QACpC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAU,GAAE,CAAC;YAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAChC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAE5B,sCAAsC;IACtC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAClC,gEAAgE;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM;QAC5B,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY;QAC/G,CAAC,CAAC,IAAA,eAAQ,EAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAErC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,oCAAoC;IACpC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,iBAAU,EAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAA,sBAAe,EAAC,OAAO,CAAC,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,gBAAgB,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,kBAAkB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;IAEnF,sEAAsE;IACtE,MAAM,YAAY,GAAG,IAAA,iCAAe,EAAC;QACnC,GAAG,iCAAiC;QACpC,GAAG,OAAO,CAAC,WAAW;QACtB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,MAAM;KAC/C,CAAC,CAAC;IAEH,0BAA0B;IAC1B,eAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAA,0BAAgB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;QACnC,KAAK;QACL,QAAQ;QACR,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;IACvD,MAAM,OAAO,GAAiC,IAAI,GAAG,EAAE,CAAC;IACxD,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,YAAY,GAAuC,IAAI,GAAG,EAAE,CAAC;IAEnE,gDAAgD;IAChD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAA2B,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAA,eAAQ,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3D,uFAAuF;QACvF,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAiB,CAAC;YAElF,qDAAqD;YACrD,MAAM,kBAAkB,GAAG,GAAG,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAE5D,2FAA2F;YAC3F,8DAA8D;YAC9D,MAAM,eAAe,GAAG,IAAA,eAAQ,EAC9B,QAAQ,EACR,UAAU,CAAC,YAAY,IAAI,uBAAuB,EAClD,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACvC,CAAC;YAEF,gEAAgE;YAChE,gEAAgE;YAChE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBACnC,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC;YAE9C,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,YAAY,kBAAkB,EAAE,CAAC,CAAC;YAChF,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE;gBACrE,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,eAAe;aAC7B,CAAC,CAAC;YACH,IAAA,iBAAS,EAAC,IAAA,eAAQ,EAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAE,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,2CAA2C,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtC,kDAAkD;IAClD,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,uBAAuB,KAAK,KAAK,CAAC;IAEhF,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAED,gBAAgB;IAChB,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACtC,CAAC,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC;IAElC,8BAA8B;IAC9B,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACtE,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,qBAAqB;YACvB,CAAC;QACH,CAAC;QACD,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAErC,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEhC,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YACpI,kGAAkG;YAClG,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACvC,wDAAwD;gBACxD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzH,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,2CAA2C;YAC3C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,IAAI,OAAO,CAAC,IAAI,IAAI,aAAa;oBAAE,MAAM;gBAEzC,MAAM,aAAa,GAAG,IAAA,eAAQ,EAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAE,EAAE,YAAY,CAAC,CAAC;gBAEtE,4CAA4C;gBAC5C,MAAM,UAAU,GAAG,IAAA,yBAAiB,EAAC,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,8BAA8B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzF,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAEzG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEvB,2DAA2D;gBAC3D,oFAAoF;gBACpF,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;oBACnC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAE;oBACnC,mBAAmB,EAAE,MAAM,CAAC,kBAAkB,IAAI,IAAI;iBACvD,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE3D,mCAAmC;gBACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;oBACrB,KAAK,EAAE,EAAS,EAAE,sCAAsC;oBACxD,UAAU,EAAE,SAAS;oBACrB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,aAAa;oBACxB,SAAS,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBACtC,CAAC,CAAC;gBAEH,MAAM,WAAW,GAAG,SAAS,CAAC;oBAC5B,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,SAAS,EAAE,IAAI,CAAC,IAAI;oBACpB,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAE;oBACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,cAAc;oBAC5C,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,cAAc,EAAE,GAAG,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE;oBAChD,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxC,iBAAiB,EAAE,OAAO,CAAC,eAAe;oBAC1C,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,SAAS,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACrC,UAAU,EAAE,GAAG,EAAE;wBACf,oCAAoC;wBACpC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5C,CAAC;iBACF,CAAC,CAAC;gBAEH,kCAAkC;gBAClC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC;gBAC7C,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE9C,oDAAoD;gBACpD,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBAE3D,0EAA0E;gBAC1E,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC7B,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;wBACnD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBAEvD,+CAA+C;wBAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBAEzG,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACzB,oCAAoC;4BACpC,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;4BACtD,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;wBACpE,CAAC;6BAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC5B,2DAA2D;4BAC3D,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC5C,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,uBAAuB;gBACvB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;gBAEzB,eAAM,CAAC,IAAI,CAAC,cAAc,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG;oBAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,6DAA6D;YAC7D,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACrB,sCAAsC;gBACtC,IAAI,WAAuC,CAAC;gBAC5C,MAAM,WAAW,GAAG,IAAI,OAAO,CAAiC,OAAO,CAAC,EAAE;oBACxE,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC7E,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;oBACpC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACxB,CAAC,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC9D,IAAI,WAAW;oBAAE,YAAY,CAAC,WAAW,CAAC,CAAC;gBAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,GAAG,GAAG,cAAc,IAAI,KAAK,CAAC,EAAE,CAAC;oBAClE,cAAc,GAAG,GAAG,CAAC;oBAErB,2DAA2D;oBAC3D,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;wBACjD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,CAAC;wBAEnD,6DAA6D;wBAC7D,IAAI,CAAC;4BACH,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAC9C,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;4BACnD,IAAI,UAAU,IAAI,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC;gCACrE,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;4BAC3C,CAAC;4BAED,4FAA4F;4BAC5F,MAAM,SAAS,GAAG,IAAA,iBAAS,EAAY,IAAI,CAAC,SAAS,CAAC,CAAC;4BACvD,IAAI,SAAS,IAAI,UAAU,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;gCAC1E,YAAY,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;4BACtE,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,iCAAiC;wBACnC,CAAC;wBAED,gBAAgB;wBAChB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;4BAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,KAAK,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACpE,CAAC;wBAED,0EAA0E;wBAC1E,MAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;wBAExD,iDAAiD;wBACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,gCAAc,CAAC,IAAI,EAAE,CAAC;4BAC5C,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;4BAEhD,yDAAyD;4BACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,gCAAc,CAAC,UAAU,EAAE,CAAC;gCAClD,MAAM,uBAAuB,CAC3B,QAAQ,EACR,WAAW,CAAC,QAAQ,CAAE,EACtB,KAAK,EACL,OAAO,EACP,YAAY,EACZ,IAAI,CAAC,KAAK,CACX,CAAC;4BACJ,CAAC;4BAED,kFAAkF;4BAClF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;wBAC7D,CAAC;oBACH,CAAC;oBACD,SAAS;gBACX,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,MAAM,CAAC;oBACxB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAC;oBACzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC9B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAEzC,uCAAuC;oBACvC,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAExD,0CAA0C;oBAC1C,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAE3C,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;wBACxB,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAClC,eAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;4BAC5B,QAAQ,EAAE,QAAQ,CAAC,IAAI;4BACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;yBACxB,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;wBAC/B,wBAAwB;wBACxB,MAAM,SAAS,GAAG,IAAA,eAAQ,EAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAE,EAAE,YAAY,CAAC,CAAC;wBACtE,MAAM,KAAK,GAAG,IAAA,iBAAS,EAAY,SAAS,CAAC,CAAC;wBAE9C,IAAI,KAAK,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;4BACrC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;4BACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACvD,IAAI,IAAI,EAAE,CAAC;gCACT,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,6BAA6B;4BAC1F,CAAC;4BAED,eAAM,CAAC,IAAI,CAAC,cAAc,EAAE;gCAC1B,QAAQ,EAAE,QAAQ,CAAC,IAAI;gCACvB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;6BAC3C,CAAC,CAAC;4BACH,MAAM,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,IAAI,0CAA0C,CAAC,CAAC;wBAC/E,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BAC/B,MAAM,CAAC,KAAK,CAAC,QAAQ,QAAQ,CAAC,IAAI,qDAAqD,CAAC,CAAC;wBAC3F,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,8DAA8D;wBAC9D,IAAI,UAAU,KAAK,4BAAU,CAAC,iBAAiB,EAAE,CAAC;4BAChD,MAAM,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,IAAI,qCAAqC,CAAC,CAAC;4BAE3E,oEAAoE;4BACpE,MAAM,SAAS,GAAG,IAAA,eAAQ,EAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAE,EAAE,YAAY,CAAC,CAAC;4BACtE,MAAM,KAAK,GAAG,IAAA,iBAAS,EAAY,SAAS,CAAC,CAAC;4BAC9C,IAAI,KAAK,EAAE,CAAC;gCACV,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;gCACvD,IAAI,IAAI,EAAE,CAAC;oCACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC;gCAC3C,CAAC;4BACH,CAAC;4BAED,wDAAwD;4BACxD,+DAA+D;4BAC/D,SAAS;wBACX,CAAC;wBAED,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAE/B,IAAI,QAAQ,GAAG,mCAAmC,CAAC;wBACnD,IAAI,UAAU,IAAI,4BAAU,CAAC,SAAS,EAAE,CAAC;4BACvC,QAAQ,GAAG,+BAA+B,CAAC;wBAC7C,CAAC;6BAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4BAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;4BACjD,IAAI,SAAS,EAAE,CAAC;gCACd,QAAQ,GAAG,mBAAmB,SAAS,EAAE,CAAC;4BAC5C,CAAC;wBACH,CAAC;wBAED,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,gCAAgC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC,CAAC;wBAE5F,8BAA8B;wBAC9B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;4BACjB,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;wBAChC,CAAC;wBAED,eAAM,CAAC,IAAI,CAAC,aAAa,EAAE;4BACzB,QAAQ,EAAE,QAAQ,CAAC,IAAI;4BACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;4BACvB,KAAK,EAAE,QAAQ;yBAChB,CAAC,CAAC;oBACL,CAAC;oBAED,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,mCAAmC;gBAEnC,4EAA4E;gBAC5E,IAAI,cAAc,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC9E,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC1D,CAAC;gBAED,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;oBACzC,MAAM,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;oBAEjD,IAAI,CAAC;wBACH,MAAM,sBAAsB,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;wBAExF,uBAAuB;wBACvB,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,MAAM,CAAC,OAAO,CAAC,uEAAuE,CAAC,CAAC;oBAC1F,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,MAAM,CAAC,KAAK,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBACzD,yBAAyB;wBACzB,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;4BACvC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACxB,CAAC;wBACD,YAAY,CAAC,KAAK,EAAE,CAAC;oBACvB,CAAC;gBACH,CAAC;qBAAM,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClH,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC1H,MAAM,CAAC,KAAK,CAAC,oDAAoD,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC1G,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;wBAC1B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACxB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,eAAe;oBACf,MAAM;gBACR,CAAC;YACD,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/B,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAChD,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAEpC,qBAAqB;IACrB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;IAExF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qDAAqD;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,gCAAgC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACnE,eAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAClC,KAAK,EAAE,kDAAkD;YACzD,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IACpD,eAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;QACrC,KAAK;QACL,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,cAAc,EAAE,cAAc,CAAC,IAAI;QACnC,WAAW,EAAE,WAAW,CAAC,IAAI;KAC9B,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,14 @@ export declare function cursorAgentSend(options: {
18
18
  signalDir?: string;
19
19
  timeout?: number;
20
20
  enableIntervention?: boolean;
21
- outputFormat?: 'json' | 'plain' | 'stream-json';
21
+ outputFormat?: 'json' | 'stream-json';
22
22
  taskName?: string;
23
+ /** Enable browser automation (--browser flag) */
24
+ browser?: boolean;
25
+ /** Auto-approve commands (--force flag). Default: true */
26
+ autoApproveCommands?: boolean;
27
+ /** Auto-approve MCP servers (--approve-mcps flag). Default: true */
28
+ autoApproveMcps?: boolean;
23
29
  }): Promise<AgentSendResult>;
24
30
  /**
25
31
  * Extract dependency change request from agent response
@@ -153,67 +153,83 @@ function parseJsonFromStdout(stdout) {
153
153
  /**
154
154
  * Execute cursor-agent command with timeout and better error handling
155
155
  */
156
- async function cursorAgentSendRaw({ workspaceDir, chatId, prompt, model, signalDir, timeout, enableIntervention, outputFormat, taskName }) {
156
+ async function cursorAgentSendRaw({ workspaceDir, chatId, prompt, model, signalDir, timeout, enableIntervention, outputFormat, taskName, browser, autoApproveCommands, autoApproveMcps }) {
157
157
  const timeoutMs = timeout || 10 * 60 * 1000; // 10 minutes default
158
- const args = ['send', chatId, prompt];
158
+ // Build args: cursor-agent [options] [prompt]
159
+ // Note: 'send' command no longer exists in cursor-agent CLI
160
+ // Use --resume <chatId> to continue an existing chat session
161
+ const args = [];
162
+ // Resume existing chat session
163
+ args.push('--resume', chatId);
159
164
  if (model) {
160
165
  args.push('--model', model);
161
166
  }
162
167
  if (outputFormat === 'json' || outputFormat === 'stream-json') {
163
- args.push('--print', '--output-format', 'json');
168
+ args.push('--print', '--output-format', outputFormat);
169
+ }
170
+ // Auto-approve commands if enabled (default: true for automation)
171
+ if (autoApproveCommands !== false) {
172
+ args.push('--force');
173
+ }
174
+ // Auto-approve MCP servers if enabled (default: true for automation)
175
+ if (autoApproveMcps !== false) {
176
+ args.push('--approve-mcps');
177
+ }
178
+ // Enable browser automation if requested (required for web testing/scraping)
179
+ if (browser) {
180
+ args.push('--browser');
164
181
  }
165
- // Ensure non-interactive execution with automatic approvals
166
- args.push('--force', '--approve-mcps');
167
182
  // Add worktree context if provided
168
183
  if (workspaceDir) {
169
184
  args.push('--workspace', workspaceDir);
170
185
  }
186
+ // NOTE: In latest cursor-agent, prompt must be sent via stdin, not as positional argument
171
187
  return new Promise((resolve) => {
172
188
  logger.info(`Sending prompt to cursor-agent (timeout: ${Math.round(timeoutMs / 1000)}s)...`);
189
+ // stdin must always be 'pipe' to send prompt via stdin (required by latest cursor-agent)
173
190
  const child = (0, child_process_1.spawn)('cursor-agent', args, {
174
191
  cwd: workspaceDir || process.cwd(),
175
- stdio: enableIntervention ? ['pipe', 'pipe', 'pipe'] : ['ignore', 'pipe', 'pipe'],
192
+ stdio: ['pipe', 'pipe', 'pipe'],
176
193
  });
177
194
  activeChildren.add(child);
178
- if (!enableIntervention) {
179
- logger.info('ℹ️ Intervention is disabled. Stall recovery using "continue" will not be available for this agent session.');
195
+ // Send prompt via stdin (latest cursor-agent requires this)
196
+ // Note: stdin is closed after sending prompt, so intervention via stdin is not supported
197
+ if (child.stdin) {
198
+ child.stdin.write(prompt);
199
+ child.stdin.end();
180
200
  }
181
201
  let fullStdout = '';
182
202
  let fullStderr = '';
183
203
  let timeoutHandle;
184
- let heartbeatInterval;
185
- let lastActivity = Date.now();
186
- let bytesReceived = 0;
187
- // Signal watching for intervention and timeout
204
+ // Signal watching for dynamic timeout adjustment
205
+ // Note: Intervention via stdin is no longer supported (stdin is closed after prompt)
188
206
  let signalWatcher = null;
189
207
  if (signalDir) {
190
208
  if (!fs.existsSync(signalDir)) {
191
209
  fs.mkdirSync(signalDir, { recursive: true });
192
210
  }
193
- const interventionPath = path.join(signalDir, 'intervention.txt');
211
+ const interventionPath = path.join(signalDir, 'pending-intervention.json');
194
212
  const timeoutPath = path.join(signalDir, 'timeout.txt');
195
- // Watch for intervention or timeout signals from UI
213
+ // Watch for signals from UI (intervention via stdin no longer works)
196
214
  signalWatcher = fs.watch(signalDir, (event, filename) => {
197
- if (filename === 'intervention.txt' && fs.existsSync(interventionPath)) {
215
+ if (filename === 'pending-intervention.json' && fs.existsSync(interventionPath)) {
198
216
  try {
199
- const message = fs.readFileSync(interventionPath, 'utf8').trim();
200
- if (message) {
201
- logger.info(`👋 Human intervention received: ${message.substring(0, 50)}...`);
202
- if (child.stdin && child.stdin.writable) {
203
- child.stdin.write(message + '\n');
204
- if (signalDir) {
205
- const convoPath = path.join(signalDir, 'conversation.jsonl');
206
- (0, state_1.appendLog)(convoPath, (0, state_1.createConversationEntry)('intervention', `[HUMAN INTERVENTION]: ${message}`, {
207
- task: taskName || 'AGENT_TURN',
208
- model: 'manual'
209
- }));
210
- }
211
- }
212
- else {
213
- logger.warn(`Intervention requested but stdin not available: ${message}`);
214
- }
215
- fs.unlinkSync(interventionPath);
217
+ // Log intervention
218
+ logger.warn(`👋 Intervention received. Interrupting agent for resume...`);
219
+ if (signalDir) {
220
+ const convoPath = path.join(signalDir, 'conversation.jsonl');
221
+ (0, state_1.appendLog)(convoPath, (0, state_1.createConversationEntry)('intervention', `[INTERVENTION RECEIVED]`, {
222
+ task: taskName || 'AGENT_TURN',
223
+ model: 'manual'
224
+ }));
216
225
  }
226
+ // Kill the agent child process.
227
+ // This will cause the runner to finish this task (with error)
228
+ // and since we've already written pending-intervention.json,
229
+ // it will be picked up on next resume.
230
+ child.kill('SIGTERM');
231
+ // Note: we don't unlink pending-intervention.json here,
232
+ // the runner will do it when resuming to read the message.
217
233
  }
218
234
  catch { }
219
235
  }
@@ -228,7 +244,6 @@ async function cursorAgentSendRaw({ workspaceDir, chatId, prompt, model, signalD
228
244
  const elapsed = Date.now() - startTime;
229
245
  const remaining = Math.max(1000, newTimeoutMs - elapsed);
230
246
  timeoutHandle = setTimeout(() => {
231
- clearInterval(heartbeatInterval);
232
247
  child.kill();
233
248
  resolve({ ok: false, exitCode: -1, error: `cursor-agent timed out after updated limit.` });
234
249
  }, remaining);
@@ -242,7 +257,6 @@ async function cursorAgentSendRaw({ workspaceDir, chatId, prompt, model, signalD
242
257
  if (child.stdout) {
243
258
  child.stdout.on('data', (data) => {
244
259
  fullStdout += data.toString();
245
- bytesReceived += data.length;
246
260
  process.stdout.write(data);
247
261
  });
248
262
  }
@@ -254,7 +268,6 @@ async function cursorAgentSendRaw({ workspaceDir, chatId, prompt, model, signalD
254
268
  }
255
269
  const startTime = Date.now();
256
270
  timeoutHandle = setTimeout(() => {
257
- clearInterval(heartbeatInterval);
258
271
  child.kill();
259
272
  resolve({
260
273
  ok: false,
@@ -265,7 +278,6 @@ async function cursorAgentSendRaw({ workspaceDir, chatId, prompt, model, signalD
265
278
  child.on('close', (code) => {
266
279
  activeChildren.delete(child);
267
280
  clearTimeout(timeoutHandle);
268
- clearInterval(heartbeatInterval);
269
281
  if (signalWatcher)
270
282
  signalWatcher.close();
271
283
  const json = parseJsonFromStdout(fullStdout);
@@ -279,6 +291,12 @@ async function cursorAgentSendRaw({ workspaceDir, chatId, prompt, model, signalD
279
291
  exitCode: code ?? 0,
280
292
  sessionId: json.session_id || chatId,
281
293
  resultText: json.result || '',
294
+ // Extended fields from cursor-agent result
295
+ durationMs: json.duration_ms,
296
+ durationApiMs: json.duration_api_ms,
297
+ requestId: json.request_id,
298
+ subtype: json.subtype,
299
+ model: json.model,
282
300
  });
283
301
  }
284
302
  });