@litmers/cursorflow-orchestrator 0.1.13 → 0.1.15

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 (76) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +83 -2
  3. package/commands/cursorflow-clean.md +20 -6
  4. package/commands/cursorflow-prepare.md +1 -1
  5. package/commands/cursorflow-resume.md +127 -6
  6. package/commands/cursorflow-run.md +2 -2
  7. package/commands/cursorflow-signal.md +11 -4
  8. package/dist/cli/clean.js +164 -12
  9. package/dist/cli/clean.js.map +1 -1
  10. package/dist/cli/index.d.ts +1 -0
  11. package/dist/cli/index.js +6 -1
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/cli/logs.d.ts +8 -0
  14. package/dist/cli/logs.js +759 -0
  15. package/dist/cli/logs.js.map +1 -0
  16. package/dist/cli/monitor.js +113 -30
  17. package/dist/cli/monitor.js.map +1 -1
  18. package/dist/cli/prepare.js +1 -1
  19. package/dist/cli/resume.js +367 -18
  20. package/dist/cli/resume.js.map +1 -1
  21. package/dist/cli/run.js +9 -0
  22. package/dist/cli/run.js.map +1 -1
  23. package/dist/cli/signal.js +34 -20
  24. package/dist/cli/signal.js.map +1 -1
  25. package/dist/core/orchestrator.d.ts +13 -1
  26. package/dist/core/orchestrator.js +396 -35
  27. package/dist/core/orchestrator.js.map +1 -1
  28. package/dist/core/reviewer.d.ts +2 -0
  29. package/dist/core/reviewer.js +24 -2
  30. package/dist/core/reviewer.js.map +1 -1
  31. package/dist/core/runner.d.ts +9 -3
  32. package/dist/core/runner.js +266 -61
  33. package/dist/core/runner.js.map +1 -1
  34. package/dist/utils/config.js +38 -1
  35. package/dist/utils/config.js.map +1 -1
  36. package/dist/utils/enhanced-logger.d.ts +210 -0
  37. package/dist/utils/enhanced-logger.js +1030 -0
  38. package/dist/utils/enhanced-logger.js.map +1 -0
  39. package/dist/utils/events.d.ts +59 -0
  40. package/dist/utils/events.js +37 -0
  41. package/dist/utils/events.js.map +1 -0
  42. package/dist/utils/git.d.ts +11 -0
  43. package/dist/utils/git.js +40 -0
  44. package/dist/utils/git.js.map +1 -1
  45. package/dist/utils/logger.d.ts +2 -0
  46. package/dist/utils/logger.js +4 -1
  47. package/dist/utils/logger.js.map +1 -1
  48. package/dist/utils/types.d.ts +132 -1
  49. package/dist/utils/webhook.d.ts +5 -0
  50. package/dist/utils/webhook.js +109 -0
  51. package/dist/utils/webhook.js.map +1 -0
  52. package/examples/README.md +1 -1
  53. package/package.json +2 -1
  54. package/scripts/patches/test-cursor-agent.js +1 -1
  55. package/scripts/simple-logging-test.sh +97 -0
  56. package/scripts/test-real-cursor-lifecycle.sh +289 -0
  57. package/scripts/test-real-logging.sh +289 -0
  58. package/scripts/test-streaming-multi-task.sh +247 -0
  59. package/src/cli/clean.ts +170 -13
  60. package/src/cli/index.ts +4 -1
  61. package/src/cli/logs.ts +863 -0
  62. package/src/cli/monitor.ts +123 -30
  63. package/src/cli/prepare.ts +1 -1
  64. package/src/cli/resume.ts +463 -22
  65. package/src/cli/run.ts +10 -0
  66. package/src/cli/signal.ts +43 -27
  67. package/src/core/orchestrator.ts +458 -36
  68. package/src/core/reviewer.ts +40 -4
  69. package/src/core/runner.ts +293 -60
  70. package/src/utils/config.ts +41 -1
  71. package/src/utils/enhanced-logger.ts +1166 -0
  72. package/src/utils/events.ts +117 -0
  73. package/src/utils/git.ts +40 -0
  74. package/src/utils/logger.ts +4 -1
  75. package/src/utils/types.ts +160 -1
  76. package/src/utils/webhook.ts +85 -0
@@ -17,7 +17,9 @@ export function findProjectRoot(cwd = process.cwd()): string {
17
17
 
18
18
  while (current !== path.parse(current).root) {
19
19
  const packagePath = path.join(current, 'package.json');
20
- if (fs.existsSync(packagePath)) {
20
+ const configPath = path.join(current, 'cursorflow.config.js');
21
+
22
+ if (fs.existsSync(packagePath) || fs.existsSync(configPath)) {
21
23
  return current;
22
24
  }
23
25
  current = path.dirname(current);
@@ -72,6 +74,22 @@ export function loadConfig(projectRoot: string | null = null): CursorFlowConfig
72
74
  // Advanced
73
75
  worktreePrefix: 'cursorflow-',
74
76
  maxConcurrentLanes: 10,
77
+ agentOutputFormat: 'stream-json',
78
+
79
+ // Webhooks
80
+ webhooks: [],
81
+
82
+ // Enhanced logging
83
+ enhancedLogging: {
84
+ enabled: true,
85
+ stripAnsi: true,
86
+ addTimestamps: true,
87
+ maxFileSize: 50 * 1024 * 1024, // 50MB
88
+ maxFiles: 5,
89
+ keepRawLogs: true,
90
+ writeJsonLog: true,
91
+ timestampFormat: 'iso',
92
+ },
75
93
 
76
94
  // Internal
77
95
  projectRoot,
@@ -179,6 +197,28 @@ export function createDefaultConfig(projectRoot: string, force = false): string
179
197
  // Advanced
180
198
  worktreePrefix: 'cursorflow-',
181
199
  maxConcurrentLanes: 10,
200
+ agentOutputFormat: 'stream-json', // 'stream-json' | 'json' | 'plain'
201
+
202
+ // Webhook configuration
203
+ // webhooks: [
204
+ // {
205
+ // enabled: true,
206
+ // url: 'https://api.example.com/events',
207
+ // events: ['*'],
208
+ // }
209
+ // ],
210
+
211
+ // Enhanced logging configuration
212
+ enhancedLogging: {
213
+ enabled: true, // Enable enhanced logging features
214
+ stripAnsi: true, // Strip ANSI codes for clean logs
215
+ addTimestamps: true, // Add timestamps to each line
216
+ maxFileSize: 52428800, // 50MB max file size before rotation
217
+ maxFiles: 5, // Number of rotated files to keep
218
+ keepRawLogs: true, // Keep raw logs with ANSI codes
219
+ writeJsonLog: true, // Write structured JSON logs
220
+ timestampFormat: 'iso', // 'iso' | 'relative' | 'short'
221
+ },
182
222
  };
183
223
  `;
184
224