@litmers/cursorflow-orchestrator 0.1.5 → 0.1.8

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 (45) hide show
  1. package/CHANGELOG.md +15 -6
  2. package/README.md +33 -2
  3. package/commands/cursorflow-doctor.md +24 -0
  4. package/commands/cursorflow-signal.md +19 -0
  5. package/dist/cli/doctor.d.ts +15 -0
  6. package/dist/cli/doctor.js +139 -0
  7. package/dist/cli/doctor.js.map +1 -0
  8. package/dist/cli/index.js +5 -0
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/cli/monitor.d.ts +1 -1
  11. package/dist/cli/monitor.js +640 -145
  12. package/dist/cli/monitor.js.map +1 -1
  13. package/dist/cli/resume.d.ts +1 -1
  14. package/dist/cli/resume.js +80 -10
  15. package/dist/cli/resume.js.map +1 -1
  16. package/dist/cli/run.js +60 -5
  17. package/dist/cli/run.js.map +1 -1
  18. package/dist/cli/setup-commands.d.ts +4 -0
  19. package/dist/cli/setup-commands.js +16 -0
  20. package/dist/cli/setup-commands.js.map +1 -1
  21. package/dist/cli/signal.d.ts +7 -0
  22. package/dist/cli/signal.js +99 -0
  23. package/dist/cli/signal.js.map +1 -0
  24. package/dist/core/orchestrator.d.ts +4 -2
  25. package/dist/core/orchestrator.js +92 -23
  26. package/dist/core/orchestrator.js.map +1 -1
  27. package/dist/core/runner.d.ts +9 -3
  28. package/dist/core/runner.js +182 -88
  29. package/dist/core/runner.js.map +1 -1
  30. package/dist/utils/doctor.d.ts +63 -0
  31. package/dist/utils/doctor.js +280 -0
  32. package/dist/utils/doctor.js.map +1 -0
  33. package/dist/utils/types.d.ts +3 -0
  34. package/package.json +1 -1
  35. package/src/cli/doctor.ts +127 -0
  36. package/src/cli/index.ts +5 -0
  37. package/src/cli/monitor.ts +693 -185
  38. package/src/cli/resume.ts +94 -12
  39. package/src/cli/run.ts +63 -7
  40. package/src/cli/setup-commands.ts +19 -0
  41. package/src/cli/signal.ts +89 -0
  42. package/src/core/orchestrator.ts +102 -27
  43. package/src/core/runner.ts +203 -99
  44. package/src/utils/doctor.ts +312 -0
  45. package/src/utils/types.ts +3 -0
package/CHANGELOG.md CHANGED
@@ -5,16 +5,25 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [Unreleased]
8
+ ## [0.1.6] - 2025-12-21
9
9
 
10
10
  ### Added
11
- - Repository-specific Cursor rules (`.cursorrules`) for best practices, security, and deployment
12
- - Enhanced `.gitignore` to include Cursor-specific paths and logs
11
+ - `cursorflow doctor` command for environment validation and pre-flight checks
12
+ - `cursorflow signal` command for real-time lane intervention (Intercommander)
13
+ - Auto-installation of Cursor IDE commands on `cursorflow run`
14
+ - Full implementation of `cursorflow resume` to pick up from failed tasks
15
+ - `/cursorflow-doctor` and `/cursorflow-signal` IDE commands
13
16
 
14
- ### Changed
15
- - Improved project ignore patterns for worktrees and logs
17
+ ### Fixed
18
+ - Improved robustness of Git and worktree management
19
+ - Better error messages for missing origin remotes and Cursor authentication
20
+ - Resolved issues with `runTasks` not being able to restart from specific indices
16
21
 
17
- ## [0.1.4] - 2025-12-20
22
+ ## [0.1.5] - 2025-12-20
23
+
24
+ ### Added
25
+ - Repository-specific Cursor rules (`.cursorrules`)
26
+ - Improved ignore patterns for Git and worktrees
18
27
 
19
28
  ## [1.0.0] - TBD
20
29
 
package/README.md CHANGED
@@ -150,6 +150,8 @@ Type `/` in Cursor chat and use:
150
150
  - `/cursorflow-monitor` - monitor runs
151
151
  - `/cursorflow-clean` - clean resources
152
152
  - `/cursorflow-resume` - resume a lane
153
+ - `/cursorflow-doctor` - verify environment
154
+ - `/cursorflow-signal` - intervene in a lane
153
155
  - `/cursorflow-review` - configure or check reviews
154
156
 
155
157
  ## CLI Commands
@@ -195,10 +197,39 @@ cursorflow clean <type> [options]
195
197
  ### Resume
196
198
  ```bash
197
199
  cursorflow resume <lane> [options]
198
- --clean Clean branches before restart
199
- --restart Restart from the beginning
200
+ --run-dir <path> Specify run directory
201
+ --restart Restart from task 1
200
202
  ```
201
203
 
204
+ ### Doctor
205
+ ```bash
206
+ cursorflow doctor [options]
207
+ --tasks-dir <path> Validate specific lane tasks
208
+ --json Output in JSON format
209
+ ```
210
+
211
+ ### Signal (Intervention)
212
+ ```bash
213
+ cursorflow signal <lane> <message>
214
+ --run-dir <path> Specify run directory
215
+ ```
216
+
217
+ ## 🚀 Deployment & Updates
218
+
219
+ ### For Maintainers
220
+ To release a new version to NPM:
221
+ 1. Ensure your working directory is clean on the `main` branch.
222
+ 2. Run the release script:
223
+ ```bash
224
+ ./scripts/release.sh [patch|minor|major]
225
+ ```
226
+ 3. The script will bump the version, update CHANGELOG, and push a tag to trigger GitHub Actions.
227
+
228
+ ### For Users
229
+ To update to the latest version and refresh IDE commands:
230
+ 1. Update the package: `npm install -g @litmers/cursorflow-orchestrator`
231
+ 2. Refresh Cursor commands: `cursorflow-setup --force`
232
+
202
233
  ## Configuration
203
234
 
204
235
  ### Config file (cursorflow.config.js)
@@ -0,0 +1,24 @@
1
+ # /cursorflow-doctor
2
+
3
+ ## Goal
4
+ Verify that the current environment is properly configured for CursorFlow.
5
+
6
+ ## Usage
7
+ 1. Type `/cursorflow-doctor` in the chat.
8
+ 2. The agent will check:
9
+ - Git repository status
10
+ - 'origin' remote availability
11
+ - Git worktree support
12
+ - Cursor Agent installation and authentication
13
+ - Task directory and lane file validity (if a path is provided)
14
+
15
+ ## Context
16
+ Use this command whenever:
17
+ - You are setting up a new project with CursorFlow.
18
+ - A `cursorflow run` fails with environment-related errors.
19
+ - You want to verify your Cursor authentication status.
20
+
21
+ ## Example
22
+ "Check if my environment is ready for CursorFlow."
23
+ "Run cursorflow doctor on the _cursorflow/tasks/my-feature/ directory."
24
+
@@ -0,0 +1,19 @@
1
+ # /cursorflow-signal
2
+
3
+ ## Goal
4
+ Directly intervene in a running lane to provide guidance, corrections, or emergency stops.
5
+
6
+ ## Usage
7
+ 1. Type `/cursorflow-signal <lane-name> <your-message>` in the chat.
8
+ 2. The message will be injected into the lane's conversation as a high-priority system instruction.
9
+
10
+ ## Context
11
+ Use this command when:
12
+ - You see an agent making a repeated mistake in the monitor.
13
+ - You want to provide specific implementation guidance mid-task.
14
+ - You need to tell the agent to stop or change direction without killing the process.
15
+
16
+ ## Example
17
+ "Send a signal to lane-1: 'Stop using library X, use library Y instead.'"
18
+ "Intervene in backend-lane: 'The database schema changed, please pull the latest main branch.'"
19
+
@@ -0,0 +1,15 @@
1
+ /**
2
+ * CursorFlow doctor command
3
+ *
4
+ * Usage:
5
+ * cursorflow doctor [options]
6
+ *
7
+ * Options:
8
+ * --json Output machine-readable JSON
9
+ * --tasks-dir <path> Also validate lane files (run preflight)
10
+ * --executor <type> cursor-agent | cloud
11
+ * --no-cursor Skip Cursor Agent install/auth checks
12
+ * --help, -h Show help
13
+ */
14
+ declare function doctor(args: string[]): Promise<void>;
15
+ export = doctor;
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ /**
3
+ * CursorFlow doctor command
4
+ *
5
+ * Usage:
6
+ * cursorflow doctor [options]
7
+ *
8
+ * Options:
9
+ * --json Output machine-readable JSON
10
+ * --tasks-dir <path> Also validate lane files (run preflight)
11
+ * --executor <type> cursor-agent | cloud
12
+ * --no-cursor Skip Cursor Agent install/auth checks
13
+ * --help, -h Show help
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ const logger = __importStar(require("../utils/logger"));
49
+ const doctor_1 = require("../utils/doctor");
50
+ function printHelp() {
51
+ console.log(`
52
+ Usage: cursorflow doctor [options]
53
+
54
+ Verify your environment is ready for CursorFlow runs.
55
+
56
+ Options:
57
+ --json Output machine-readable JSON
58
+ --tasks-dir <path> Also validate lane files (run preflight)
59
+ --executor <type> cursor-agent | cloud
60
+ --no-cursor Skip Cursor Agent install/auth checks
61
+ --help, -h Show help
62
+
63
+ Examples:
64
+ cursorflow doctor
65
+ cursorflow doctor --tasks-dir _cursorflow/tasks/demo-test/
66
+ cursorflow doctor --json
67
+ `);
68
+ }
69
+ function parseArgs(args) {
70
+ const tasksDirIdx = args.indexOf('--tasks-dir');
71
+ const executorIdx = args.indexOf('--executor');
72
+ const options = {
73
+ json: args.includes('--json'),
74
+ tasksDir: tasksDirIdx >= 0 ? (args[tasksDirIdx + 1] || null) : null,
75
+ executor: executorIdx >= 0 ? (args[executorIdx + 1] || null) : null,
76
+ includeCursorAgentChecks: !args.includes('--no-cursor'),
77
+ };
78
+ if (args.includes('--help') || args.includes('-h')) {
79
+ printHelp();
80
+ process.exit(0);
81
+ }
82
+ return options;
83
+ }
84
+ function printHumanReport(report) {
85
+ logger.section('🩺 CursorFlow Doctor');
86
+ logger.info(`cwd: ${report.context.cwd}`);
87
+ if (report.context.repoRoot)
88
+ logger.info(`repo: ${report.context.repoRoot}`);
89
+ if (report.context.tasksDir)
90
+ logger.info(`tasks: ${report.context.tasksDir}`);
91
+ if (report.issues.length === 0) {
92
+ logger.success('All checks passed');
93
+ return;
94
+ }
95
+ for (const issue of report.issues) {
96
+ const header = `${issue.title} (${issue.id})`;
97
+ if (issue.severity === 'error') {
98
+ logger.error(header, '❌');
99
+ }
100
+ else {
101
+ logger.warn(header, '⚠️');
102
+ }
103
+ console.log(` ${issue.message}`);
104
+ if (issue.details) {
105
+ console.log(` Details: ${issue.details}`);
106
+ }
107
+ if (issue.fixes && issue.fixes.length > 0) {
108
+ console.log(' Fix:');
109
+ for (const fix of issue.fixes) {
110
+ console.log(` - ${fix}`);
111
+ }
112
+ }
113
+ console.log('');
114
+ }
115
+ if (report.ok) {
116
+ logger.success('Doctor completed with warnings');
117
+ }
118
+ else {
119
+ logger.error('Doctor found blocking issues');
120
+ }
121
+ }
122
+ async function doctor(args) {
123
+ const options = parseArgs(args);
124
+ const report = (0, doctor_1.runDoctor)({
125
+ cwd: process.cwd(),
126
+ tasksDir: options.tasksDir || undefined,
127
+ executor: options.executor || undefined,
128
+ includeCursorAgentChecks: options.includeCursorAgentChecks,
129
+ });
130
+ if (options.json) {
131
+ console.log(JSON.stringify(report, null, 2));
132
+ }
133
+ else {
134
+ printHumanReport(report);
135
+ }
136
+ process.exit(report.ok ? 0 : 1);
137
+ }
138
+ module.exports = doctor;
139
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -45,6 +45,8 @@ const COMMANDS = {
45
45
  monitor: require('./monitor'),
46
46
  clean: require('./clean'),
47
47
  resume: require('./resume'),
48
+ doctor: require('./doctor'),
49
+ signal: require('./signal'),
48
50
  };
49
51
  function printHelp() {
50
52
  console.log(`
@@ -58,6 +60,8 @@ Commands:
58
60
  monitor [run-dir] [options] Monitor lane execution
59
61
  clean <type> [options] Clean branches/worktrees/logs
60
62
  resume <lane> [options] Resume interrupted lane
63
+ doctor [options] Check environment and preflight
64
+ signal <lane> <msg> Directly intervene in a running lane
61
65
 
62
66
  Global Options:
63
67
  --config <path> Config file path
@@ -69,6 +73,7 @@ Examples:
69
73
  cursorflow run _cursorflow/tasks/MyFeature/
70
74
  cursorflow monitor --watch
71
75
  cursorflow clean branches --all
76
+ cursorflow doctor
72
77
 
73
78
  Documentation:
74
79
  https://github.com/eungjin-cigro/cursorflow#readme
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgGM,oBAAI;AA9Fb,wDAA0C;AAK1C,qDAAqD;AACrD,MAAM,QAAQ,GAA8B;IAC1C,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;IACvB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;CAC5B,CAAC;AAEF,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBX,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,YAAY,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACnB,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kBAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqGM,oBAAI;AAnGb,wDAA0C;AAK1C,qDAAqD;AACrD,MAAM,QAAQ,GAA8B;IAC1C,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;IACvB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;CAC5B,CAAC;AAEF,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BX,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,YAAY,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACnB,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kBAAe,IAAI,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * CursorFlow monitor command
2
+ * CursorFlow interactive monitor command
3
3
  */
4
4
  /**
5
5
  * Monitor lanes