@cmdctrl/cursor-cli 0.1.1 → 0.2.1

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 (51) hide show
  1. package/dist/adapter/cursor-cli.d.ts +23 -19
  2. package/dist/adapter/cursor-cli.d.ts.map +1 -1
  3. package/dist/adapter/cursor-cli.js +156 -126
  4. package/dist/adapter/cursor-cli.js.map +1 -1
  5. package/dist/adapter/events.d.ts +36 -20
  6. package/dist/adapter/events.d.ts.map +1 -1
  7. package/dist/adapter/events.js +40 -35
  8. package/dist/adapter/events.js.map +1 -1
  9. package/dist/commands/register.d.ts +0 -3
  10. package/dist/commands/register.d.ts.map +1 -1
  11. package/dist/commands/register.js +23 -122
  12. package/dist/commands/register.js.map +1 -1
  13. package/dist/commands/start.d.ts +1 -8
  14. package/dist/commands/start.d.ts.map +1 -1
  15. package/dist/commands/start.js +117 -30
  16. package/dist/commands/start.js.map +1 -1
  17. package/dist/commands/status.d.ts +1 -4
  18. package/dist/commands/status.d.ts.map +1 -1
  19. package/dist/commands/status.js +25 -22
  20. package/dist/commands/status.js.map +1 -1
  21. package/dist/commands/stop.d.ts +1 -4
  22. package/dist/commands/stop.d.ts.map +1 -1
  23. package/dist/commands/stop.js +21 -26
  24. package/dist/commands/stop.js.map +1 -1
  25. package/dist/commands/unregister.d.ts +2 -0
  26. package/dist/commands/unregister.d.ts.map +1 -0
  27. package/dist/commands/unregister.js +43 -0
  28. package/dist/commands/unregister.js.map +1 -0
  29. package/dist/commands/update.d.ts.map +1 -1
  30. package/dist/commands/update.js +21 -2
  31. package/dist/commands/update.js.map +1 -1
  32. package/dist/index.js +8 -4
  33. package/dist/index.js.map +1 -1
  34. package/dist/message-store.d.ts +18 -0
  35. package/dist/message-store.d.ts.map +1 -0
  36. package/dist/message-store.js +49 -0
  37. package/dist/message-store.js.map +1 -0
  38. package/package.json +2 -2
  39. package/src/adapter/cursor-cli.ts +165 -147
  40. package/src/adapter/events.ts +65 -51
  41. package/src/commands/register.ts +28 -170
  42. package/src/commands/start.ts +132 -41
  43. package/src/commands/status.ts +23 -28
  44. package/src/commands/stop.ts +21 -32
  45. package/src/commands/unregister.ts +43 -0
  46. package/src/commands/update.ts +24 -3
  47. package/src/index.ts +9 -4
  48. package/src/message-store.ts +61 -0
  49. package/src/client/messages.ts +0 -75
  50. package/src/client/websocket.ts +0 -308
  51. package/src/config/config.ts +0 -146
@@ -1,34 +1,38 @@
1
+ /**
2
+ * Cursor CLI Adapter
3
+ *
4
+ * Spawns cursor-agent in headless mode with --output-format stream-json
5
+ * and translates the NDJSON event stream into CmdCtrl daemon events.
6
+ *
7
+ * Cursor CLI commands:
8
+ * New session: cursor-agent -p "instruction" --output-format stream-json
9
+ * Resume session: cursor-agent --resume=<session-id> -p "message" --output-format stream-json
10
+ */
1
11
  type EventCallback = (taskId: string, eventType: string, data: Record<string, unknown>) => void;
2
12
  export declare class CursorAdapter {
3
13
  private running;
4
14
  private onEvent;
5
15
  constructor(onEvent: EventCallback);
6
- /**
7
- * Start a new task
8
- */
9
16
  startTask(taskId: string, instruction: string, projectPath?: string): Promise<void>;
10
- /**
11
- * Resume a task with user's reply
12
- */
13
17
  resumeTask(taskId: string, sessionId: string, message: string, projectPath?: string): Promise<void>;
14
- /**
15
- * Cancel a running task
16
- */
17
18
  cancelTask(taskId: string): Promise<void>;
18
- /**
19
- * Stop all running tasks
20
- */
21
19
  stopAll(): Promise<void>;
22
- /**
23
- * Get list of running task IDs
24
- */
25
20
  getRunningTasks(): string[];
26
- /**
27
- * Handle process stdout/stderr and emit events
28
- */
29
21
  private handleProcessOutput;
22
+ private handleProcessOutputWithoutClose;
30
23
  /**
31
- * Handle a parsed stream event from Cursor CLI
24
+ * Handle a parsed stream event from cursor-agent and translate to CmdCtrl events.
25
+ *
26
+ * cursor-agent events → CmdCtrl events:
27
+ * system (init) → SESSION_STARTED
28
+ * user → (ignored, echo of input)
29
+ * thinking (delta) → (accumulate context)
30
+ * thinking (completed) → (ignored)
31
+ * assistant → OUTPUT
32
+ * tool_call → PROGRESS
33
+ * tool_result → OUTPUT (verbose)
34
+ * result (success) → TASK_COMPLETE
35
+ * result (error) → ERROR
32
36
  */
33
37
  private handleStreamEvent;
34
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-cli.d.ts","sourceRoot":"","sources":["../../src/adapter/cursor-cli.ts"],"names":[],"mappings":"AAkDA,KAAK,aAAa,GAAG,CACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,IAAI,CAAC;AAEV,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,OAAO,CAAgB;gBAEnB,OAAO,EAAE,aAAa;IAIlC;;OAEG;IACG,SAAS,CACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IA2DhB;;OAEG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAwDhB;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkD3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA2E1B"}
1
+ {"version":3,"file":"cursor-cli.d.ts","sourceRoot":"","sources":["../../src/adapter/cursor-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA6CH,KAAK,aAAa,GAAG,CACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,IAAI,CAAC;AAEV,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,OAAO,CAAgB;gBAEnB,OAAO,EAAE,aAAa;IAI5B,SAAS,CACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IA8CV,UAAU,CACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IA4EV,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASzC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B,eAAe,IAAI,MAAM,EAAE;IAI3B,OAAO,CAAC,mBAAmB;IAyC3B,OAAO,CAAC,+BAA+B;IA2BvC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,iBAAiB;CAoF1B"}
@@ -1,4 +1,14 @@
1
1
  "use strict";
2
+ /**
3
+ * Cursor CLI Adapter
4
+ *
5
+ * Spawns cursor-agent in headless mode with --output-format stream-json
6
+ * and translates the NDJSON event stream into CmdCtrl daemon events.
7
+ *
8
+ * Cursor CLI commands:
9
+ * New session: cursor-agent -p "instruction" --output-format stream-json
10
+ * Resume session: cursor-agent --resume=<session-id> -p "message" --output-format stream-json
11
+ */
2
12
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
13
  if (k2 === undefined) k2 = k;
4
14
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -41,196 +51,173 @@ const os = __importStar(require("os"));
41
51
  const path = __importStar(require("path"));
42
52
  const events_1 = require("./events");
43
53
  const DEFAULT_TIMEOUT = 10 * 60 * 1000; // 10 minutes
44
- // Find cursor-agent CLI in common locations
45
54
  function findCursorCli() {
46
55
  if (process.env.CURSOR_CLI_PATH) {
47
56
  return process.env.CURSOR_CLI_PATH;
48
57
  }
49
58
  const home = os.homedir();
50
59
  const commonPaths = [
51
- path.join(home, '.cursor', 'bin', 'cursor-agent'),
52
60
  path.join(home, '.local', 'bin', 'cursor-agent'),
61
+ path.join(home, '.cursor', 'bin', 'cursor-agent'),
53
62
  '/usr/local/bin/cursor-agent',
54
63
  '/opt/homebrew/bin/cursor-agent',
55
- 'cursor-agent' // Fall back to PATH
64
+ 'cursor-agent'
56
65
  ];
57
66
  for (const p of commonPaths) {
58
67
  if (p === 'cursor-agent')
59
- return p; // PATH fallback
68
+ return p;
60
69
  try {
61
- if (fs.existsSync(p)) {
70
+ if (fs.existsSync(p))
62
71
  return p;
63
- }
64
72
  }
65
73
  catch {
66
74
  continue;
67
75
  }
68
76
  }
69
- return 'cursor-agent'; // Fall back to PATH
77
+ return 'cursor-agent';
70
78
  }
71
- const CLI_PATH = findCursorCli();
72
- console.log(`[CursorAdapter] Using CLI path: ${CLI_PATH}`);
73
79
  class CursorAdapter {
74
80
  running = new Map();
75
81
  onEvent;
76
82
  constructor(onEvent) {
77
83
  this.onEvent = onEvent;
78
84
  }
79
- /**
80
- * Start a new task
81
- */
82
85
  async startTask(taskId, instruction, projectPath) {
83
- console.log(`[${taskId}] Starting task: ${instruction.substring(0, 50)}...`);
86
+ console.log(`[${taskId}] Starting Cursor task: ${instruction.substring(0, 50)}...`);
84
87
  const rt = {
85
88
  taskId,
86
89
  sessionId: '',
87
- question: '',
88
90
  context: '',
89
91
  process: null,
90
- timeoutHandle: null
92
+ timeoutHandle: null,
91
93
  };
92
94
  this.running.set(taskId, rt);
93
- // Validate cwd exists
94
95
  let cwd = undefined;
95
96
  if (projectPath && fs.existsSync(projectPath)) {
96
97
  cwd = projectPath;
97
98
  }
98
99
  else if (projectPath) {
99
- console.log(`[${taskId}] Warning: project path does not exist: ${projectPath}, using home dir`);
100
+ console.log(`[${taskId}] Warning: project path does not exist: ${projectPath}`);
100
101
  cwd = os.homedir();
101
- this.onEvent(taskId, 'WARNING', {
102
- warning: `Project path "${projectPath}" does not exist. Running in home directory instead.`
103
- });
104
102
  }
105
- // Build command arguments for Cursor CLI
106
- // cursor-agent -p "instruction" --output-format stream-json
107
103
  const args = [
108
104
  '-p', instruction,
109
105
  '--output-format', 'stream-json'
110
106
  ];
111
- console.log(`[${taskId}] Spawning: ${CLI_PATH} with cwd: ${cwd || 'default'}`);
112
- // Spawn Cursor CLI
113
- const proc = (0, child_process_1.spawn)(CLI_PATH, args, {
107
+ console.log(`[${taskId}] Spawning: ${findCursorCli()} with cwd: ${cwd || 'default'}`);
108
+ const proc = (0, child_process_1.spawn)(findCursorCli(), args, {
114
109
  cwd,
115
110
  stdio: ['ignore', 'pipe', 'pipe'],
116
111
  env: {
117
112
  ...process.env,
118
- // Pass through Cursor API key if set
119
- CURSOR_API_KEY: process.env.CURSOR_API_KEY
120
- }
113
+ CURSOR_API_KEY: process.env.CURSOR_API_KEY,
114
+ },
121
115
  });
122
116
  rt.process = proc;
123
- // Set timeout
124
117
  rt.timeoutHandle = setTimeout(() => {
125
118
  console.log(`[${taskId}] Task timed out`);
126
119
  proc.kill('SIGKILL');
127
120
  this.onEvent(taskId, 'ERROR', { error: 'execution timeout' });
128
121
  }, DEFAULT_TIMEOUT);
129
- // Handle process events
130
122
  this.handleProcessOutput(taskId, proc, rt);
131
123
  }
132
- /**
133
- * Resume a task with user's reply
134
- */
135
124
  async resumeTask(taskId, sessionId, message, projectPath) {
136
- console.log(`[${taskId}] Resuming task with session ${sessionId}`);
125
+ console.log(`[${taskId}] Resuming Cursor session ${sessionId}: ${message.substring(0, 50)}...`);
137
126
  const rt = {
138
127
  taskId,
139
128
  sessionId,
140
- question: '',
141
129
  context: '',
142
130
  process: null,
143
- timeoutHandle: null
131
+ timeoutHandle: null,
144
132
  };
145
133
  this.running.set(taskId, rt);
146
- // Validate cwd exists
147
134
  let cwd = undefined;
148
135
  if (projectPath && fs.existsSync(projectPath)) {
149
136
  cwd = projectPath;
150
137
  }
151
138
  else if (projectPath) {
152
- console.log(`[${taskId}] Warning: project path does not exist: ${projectPath}, using home dir`);
153
139
  cwd = os.homedir();
154
140
  }
155
- // Build command arguments with --resume
156
- // cursor-agent --resume="session-id" -p "user response" --output-format stream-json
157
141
  const args = [
158
142
  `--resume=${sessionId}`,
159
143
  '-p', message,
160
144
  '--output-format', 'stream-json'
161
145
  ];
162
- console.log(`[${taskId}] Spawning resume: ${CLI_PATH} --resume=${sessionId} with cwd: ${cwd || 'default'}`);
163
- // Spawn Cursor CLI
164
- const proc = (0, child_process_1.spawn)(CLI_PATH, args, {
146
+ console.log(`[${taskId}] Spawning resume: cursor-agent --resume ${sessionId}`);
147
+ const proc = (0, child_process_1.spawn)(findCursorCli(), args, {
165
148
  cwd,
166
149
  stdio: ['ignore', 'pipe', 'pipe'],
167
150
  env: {
168
151
  ...process.env,
169
- CURSOR_API_KEY: process.env.CURSOR_API_KEY
170
- }
152
+ CURSOR_API_KEY: process.env.CURSOR_API_KEY,
153
+ },
171
154
  });
172
155
  rt.process = proc;
173
- // Set timeout
156
+ let sessionNotFound = false;
157
+ proc.stderr?.on('data', (data) => {
158
+ const text = data.toString();
159
+ console.log(`[${taskId}] stderr: ${text}`);
160
+ if (text.includes('not found') || text.includes('No session') || text.includes('invalid session')) {
161
+ sessionNotFound = true;
162
+ }
163
+ });
164
+ proc.on('close', (code) => {
165
+ if (code !== 0 && sessionNotFound) {
166
+ console.log(`[${taskId}] Session not found, falling back to new session`);
167
+ if (rt.timeoutHandle)
168
+ clearTimeout(rt.timeoutHandle);
169
+ this.running.delete(taskId);
170
+ this.startTask(taskId, message, projectPath);
171
+ return;
172
+ }
173
+ console.log(`[${taskId}] Process exited with code ${code}`);
174
+ if (rt.timeoutHandle)
175
+ clearTimeout(rt.timeoutHandle);
176
+ if (this.running.has(taskId) && code === 0) {
177
+ this.onEvent(taskId, 'TASK_COMPLETE', {
178
+ session_id: rt.sessionId,
179
+ result: rt.context || '',
180
+ });
181
+ }
182
+ this.running.delete(taskId);
183
+ });
174
184
  rt.timeoutHandle = setTimeout(() => {
175
185
  console.log(`[${taskId}] Task timed out`);
176
186
  proc.kill('SIGKILL');
177
187
  this.onEvent(taskId, 'ERROR', { error: 'execution timeout' });
178
188
  }, DEFAULT_TIMEOUT);
179
- // Handle process events
180
- this.handleProcessOutput(taskId, proc, rt);
189
+ this.handleProcessOutputWithoutClose(taskId, proc, rt);
181
190
  }
182
- /**
183
- * Cancel a running task
184
- */
185
191
  async cancelTask(taskId) {
186
192
  const rt = this.running.get(taskId);
187
- if (!rt) {
188
- console.log(`[${taskId}] Task not found for cancellation`);
193
+ if (!rt)
189
194
  return;
190
- }
191
- if (rt.process) {
195
+ if (rt.process)
192
196
  rt.process.kill('SIGTERM');
193
- }
194
- if (rt.timeoutHandle) {
197
+ if (rt.timeoutHandle)
195
198
  clearTimeout(rt.timeoutHandle);
196
- }
197
199
  this.running.delete(taskId);
198
200
  console.log(`[${taskId}] Task cancelled`);
199
201
  }
200
- /**
201
- * Stop all running tasks
202
- */
203
202
  async stopAll() {
204
203
  for (const [taskId, rt] of this.running) {
205
204
  console.log(`[${taskId}] Stopping task`);
206
- if (rt.process) {
205
+ if (rt.process)
207
206
  rt.process.kill('SIGTERM');
208
- }
209
- if (rt.timeoutHandle) {
207
+ if (rt.timeoutHandle)
210
208
  clearTimeout(rt.timeoutHandle);
211
- }
212
209
  }
213
210
  this.running.clear();
214
211
  }
215
- /**
216
- * Get list of running task IDs
217
- */
218
212
  getRunningTasks() {
219
213
  return Array.from(this.running.keys());
220
214
  }
221
- /**
222
- * Handle process stdout/stderr and emit events
223
- */
224
215
  handleProcessOutput(taskId, proc, rt) {
225
- // Create readline interface for NDJSON parsing
226
216
  const rl = readline.createInterface({
227
217
  input: proc.stdout,
228
- crlfDelay: Infinity
218
+ crlfDelay: Infinity,
229
219
  });
230
- // Parse each line as JSON
231
220
  rl.on('line', (line) => {
232
- // Emit raw output for verbose mode
233
- this.onEvent(taskId, 'OUTPUT', { output: line });
234
221
  try {
235
222
  const event = JSON.parse(line);
236
223
  this.handleStreamEvent(taskId, event, rt);
@@ -239,92 +226,135 @@ class CursorAdapter {
239
226
  // Not valid JSON, skip
240
227
  }
241
228
  });
242
- // Log stderr
243
229
  proc.stderr?.on('data', (data) => {
244
230
  console.log(`[${taskId}] stderr: ${data.toString()}`);
245
231
  });
246
- // Handle process exit
247
232
  proc.on('close', (code) => {
248
233
  console.log(`[${taskId}] Process exited with code ${code}`);
249
- if (rt.timeoutHandle) {
234
+ if (rt.timeoutHandle)
250
235
  clearTimeout(rt.timeoutHandle);
236
+ // Emit error if process exited non-zero and we haven't already emitted a result
237
+ if (this.running.has(taskId) && code !== 0) {
238
+ this.onEvent(taskId, 'ERROR', { error: `cursor-agent exited with code ${code}` });
251
239
  }
252
240
  this.running.delete(taskId);
253
241
  });
254
242
  proc.on('error', (err) => {
255
243
  console.error(`[${taskId}] Process error:`, err);
256
244
  this.onEvent(taskId, 'ERROR', { error: err.message });
257
- if (rt.timeoutHandle) {
245
+ if (rt.timeoutHandle)
258
246
  clearTimeout(rt.timeoutHandle);
247
+ this.running.delete(taskId);
248
+ });
249
+ }
250
+ handleProcessOutputWithoutClose(taskId, proc, rt) {
251
+ const rl = readline.createInterface({
252
+ input: proc.stdout,
253
+ crlfDelay: Infinity,
254
+ });
255
+ rl.on('line', (line) => {
256
+ try {
257
+ const event = JSON.parse(line);
258
+ this.handleStreamEvent(taskId, event, rt);
259
259
  }
260
+ catch {
261
+ // skip
262
+ }
263
+ });
264
+ proc.on('error', (err) => {
265
+ console.error(`[${taskId}] Process error:`, err);
266
+ this.onEvent(taskId, 'ERROR', { error: err.message });
267
+ if (rt.timeoutHandle)
268
+ clearTimeout(rt.timeoutHandle);
260
269
  this.running.delete(taskId);
261
270
  });
262
271
  }
263
272
  /**
264
- * Handle a parsed stream event from Cursor CLI
273
+ * Handle a parsed stream event from cursor-agent and translate to CmdCtrl events.
274
+ *
275
+ * cursor-agent events → CmdCtrl events:
276
+ * system (init) → SESSION_STARTED
277
+ * user → (ignored, echo of input)
278
+ * thinking (delta) → (accumulate context)
279
+ * thinking (completed) → (ignored)
280
+ * assistant → OUTPUT
281
+ * tool_call → PROGRESS
282
+ * tool_result → OUTPUT (verbose)
283
+ * result (success) → TASK_COMPLETE
284
+ * result (error) → ERROR
265
285
  */
266
286
  handleStreamEvent(taskId, event, rt) {
287
+ console.log(`[${taskId}] Cursor event: type=${event.type} subtype=${event.subtype || ''}`);
267
288
  switch (event.type) {
268
- case 'start':
269
- if (event.session_id) {
289
+ case 'system':
290
+ if (event.subtype === 'init' && event.session_id) {
270
291
  rt.sessionId = event.session_id;
271
- console.log(`[${taskId}] Session initialized: ${event.session_id}`);
292
+ console.log(`[${taskId}] Session initialized: ${event.session_id} (model: ${event.model})`);
293
+ this.onEvent(taskId, 'SESSION_STARTED', {
294
+ session_id: event.session_id,
295
+ });
272
296
  }
273
297
  break;
298
+ case 'user':
299
+ // Echo of user input, ignore
300
+ break;
274
301
  case 'thinking':
275
- // Accumulate thinking content for context
276
- if (event.content) {
277
- if (rt.context) {
278
- rt.context += '\n\n';
302
+ // Accumulate thinking text but don't send as output (too noisy with deltas)
303
+ if (event.subtype === 'delta' && event.text) {
304
+ rt.context += event.text;
305
+ }
306
+ break;
307
+ case 'assistant':
308
+ if (event.message?.content) {
309
+ const text = event.message.content
310
+ .map(block => block.text || '')
311
+ .join('')
312
+ .trim();
313
+ if (text) {
314
+ // Reset context to assistant response (thinking was intermediate)
315
+ rt.context = text;
316
+ this.onEvent(taskId, 'OUTPUT', { output: text });
279
317
  }
280
- rt.context += event.content;
281
318
  }
282
319
  break;
283
- case 'action':
284
- // Track action for progress
285
- const progress = (0, events_1.extractProgressFromAction)(event);
320
+ case 'tool_call': {
321
+ const progress = (0, events_1.extractProgressFromToolCall)(event);
286
322
  if (progress) {
287
323
  this.onEvent(taskId, 'PROGRESS', {
288
324
  action: progress.action,
289
- target: progress.target
325
+ target: progress.target,
290
326
  });
291
327
  }
292
328
  break;
293
- case 'approval_request':
294
- // User input needed - pause and wait
295
- console.log(`[${taskId}] Approval requested: ${event.action}`);
296
- rt.question = event.action || 'Approve this action?';
297
- this.onEvent(taskId, 'WAIT_FOR_USER', {
298
- session_id: rt.sessionId,
299
- prompt: rt.question,
300
- options: [],
301
- context: rt.context,
302
- approval_details: {
303
- action: event.action,
304
- tool: event.tool,
305
- file: event.file
306
- }
307
- });
308
- break;
309
- case 'action_complete':
310
- // Action was approved and completed
311
- console.log(`[${taskId}] Action complete: ${event.status}`);
312
- break;
313
- case 'result':
314
- // Task completed
315
- console.log(`[${taskId}] Task completed`);
316
- this.onEvent(taskId, 'TASK_COMPLETE', {
317
- session_id: rt.sessionId,
318
- result: event.content || ''
319
- });
329
+ }
330
+ case 'tool_result':
331
+ if (event.output) {
332
+ const truncated = event.output.length > 500
333
+ ? event.output.substring(0, 500) + '...'
334
+ : event.output;
335
+ this.onEvent(taskId, 'OUTPUT', {
336
+ output: `[${event.status || 'done'}] ${truncated}`,
337
+ });
338
+ }
320
339
  break;
321
- case 'error':
322
- // Error occurred
323
- console.error(`[${taskId}] Error: ${event.error}`);
324
- this.onEvent(taskId, 'ERROR', {
325
- error: event.error || 'Unknown error'
326
- });
340
+ case 'result': {
341
+ if (event.is_error || event.subtype === 'error') {
342
+ console.error(`[${taskId}] Cursor error: ${event.result}`);
343
+ this.onEvent(taskId, 'ERROR', {
344
+ error: event.result || 'Unknown Cursor error',
345
+ });
346
+ }
347
+ else {
348
+ const finalResult = event.result || rt.context || '';
349
+ console.log(`[${taskId}] Task complete, result length: ${finalResult.length}`);
350
+ this.onEvent(taskId, 'TASK_COMPLETE', {
351
+ session_id: rt.sessionId,
352
+ result: finalResult,
353
+ });
354
+ }
355
+ this.running.delete(taskId);
327
356
  break;
357
+ }
328
358
  }
329
359
  }
330
360
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-cli.js","sourceRoot":"","sources":["../../src/adapter/cursor-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursor-cli.js","sourceRoot":"","sources":["../../src/adapter/cursor-cli.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iDAAoD;AACpD,mDAAqC;AACrC,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAC7B,qCAAoE;AAEpE,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAErD,SAAS,aAAa;IACpB,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,WAAW,GAAG;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC;QACjD,6BAA6B;QAC7B,gCAAgC;QAChC,cAAc;KACf,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,cAAc;YAAE,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAgBD,MAAa,aAAa;IAChB,OAAO,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC9C,OAAO,CAAgB;IAE/B,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,SAAS,CACb,MAAc,EACd,WAAmB,EACnB,WAAoB;QAEpB,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,2BAA2B,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAEpF,MAAM,EAAE,GAAgB;YACtB,MAAM;YACN,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;SACpB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAE7B,IAAI,GAAG,GAAuB,SAAS,CAAC;QACxC,IAAI,WAAW,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,GAAG,GAAG,WAAW,CAAC;QACpB,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,2CAA2C,WAAW,EAAE,CAAC,CAAC;YAChF,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,WAAW;YACjB,iBAAiB,EAAE,aAAa;SACjC,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,eAAe,aAAa,EAAE,cAAc,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC;QAEtF,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE;YACxC,GAAG;YACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;aAC3C;SACF,CAAC,CAAC;QAEH,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;QAClB,EAAE,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,kBAAkB,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAChE,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpB,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,UAAU,CACd,MAAc,EACd,SAAiB,EACjB,OAAe,EACf,WAAoB;QAEpB,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,6BAA6B,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAEhG,MAAM,EAAE,GAAgB;YACtB,MAAM;YACN,SAAS;YACT,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;SACpB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAE7B,IAAI,GAAG,GAAuB,SAAS,CAAC;QACxC,IAAI,WAAW,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,GAAG,GAAG,WAAW,CAAC;QACpB,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,GAAG;YACX,YAAY,SAAS,EAAE;YACvB,IAAI,EAAE,OAAO;YACb,iBAAiB,EAAE,aAAa;SACjC,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,4CAA4C,SAAS,EAAE,CAAC,CAAC;QAE/E,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE;YACxC,GAAG;YACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;aAC3C;SACF,CAAC,CAAC;QAEH,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;QAElB,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,aAAa,IAAI,EAAE,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAClG,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,IAAI,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,kDAAkD,CAAC,CAAC;gBAC1E,IAAI,EAAE,CAAC,aAAa;oBAAE,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,8BAA8B,IAAI,EAAE,CAAC,CAAC;YAC5D,IAAI,EAAE,CAAC,aAAa;gBAAE,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE;oBACpC,UAAU,EAAE,EAAE,CAAC,SAAS;oBACxB,MAAM,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE;iBACzB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,kBAAkB,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAChE,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpB,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,IAAI,EAAE,CAAC,OAAO;YAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,EAAE,CAAC,aAAa;YAAE,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO;QACX,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,iBAAiB,CAAC,CAAC;YACzC,IAAI,EAAE,CAAC,OAAO;gBAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,EAAE,CAAC,aAAa;gBAAE,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,eAAe;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAEO,mBAAmB,CACzB,MAAc,EACd,IAAkB,EAClB,EAAe;QAEf,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,MAAO;YACnB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC;gBAC9C,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,aAAa,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,8BAA8B,IAAI,EAAE,CAAC,CAAC;YAC5D,IAAI,EAAE,CAAC,aAAa;gBAAE,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;YACrD,gFAAgF;YAChF,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,iCAAiC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,IAAI,EAAE,CAAC,aAAa;gBAAE,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,+BAA+B,CACrC,MAAc,EACd,IAAkB,EAClB,EAAe;QAEf,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,MAAO;YACnB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC;gBAC9C,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,IAAI,EAAE,CAAC,aAAa;gBAAE,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,iBAAiB,CACvB,MAAc,EACd,KAAkB,EAClB,EAAe;QAEf,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,wBAAwB,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;QAE3F,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACjD,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,0BAA0B,KAAK,CAAC,UAAU,YAAY,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;oBAC5F,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE;wBACtC,UAAU,EAAE,KAAK,CAAC,UAAU;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YAER,KAAK,MAAM;gBACT,6BAA6B;gBAC7B,MAAM;YAER,KAAK,UAAU;gBACb,4EAA4E;gBAC5E,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC5C,EAAE,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC;gBAC3B,CAAC;gBACD,MAAM;YAER,KAAK,WAAW;gBACd,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO;yBAC/B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;yBAC9B,IAAI,CAAC,EAAE,CAAC;yBACR,IAAI,EAAE,CAAC;oBACV,IAAI,IAAI,EAAE,CAAC;wBACT,kEAAkE;wBAClE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;wBAClB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,QAAQ,GAAG,IAAA,oCAA2B,EAAC,KAAK,CAAC,CAAC;gBACpD,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE;wBAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;qBACxB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,aAAa;gBAChB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG;wBACzC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;wBACxC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;oBACjB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE;wBAC7B,MAAM,EAAE,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE;qBACnD,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBAChD,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,mBAAmB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC3D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;wBAC5B,KAAK,EAAE,KAAK,CAAC,MAAM,IAAI,sBAAsB;qBAC9C,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;oBACrD,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,mCAAmC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE;wBACpC,UAAU,EAAE,EAAE,CAAC,SAAS;wBACxB,MAAM,EAAE,WAAW;qBACpB,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAvUD,sCAuUC"}
@@ -1,33 +1,49 @@
1
1
  /**
2
- * Types for Cursor CLI stream-json output
3
- * Note: These are based on research and may need adjustment
4
- * once we verify actual Cursor CLI output format
2
+ * Types for Cursor CLI (cursor-agent) stream-json output.
3
+ *
4
+ * cursor-agent --output-format stream-json emits NDJSON events:
5
+ * system (subtype: init) - Session metadata (session_id, model, cwd)
6
+ * user - Echo of user message
7
+ * thinking (subtype: delta) - Streaming thinking text chunks
8
+ * thinking (subtype: completed) - Thinking finished
9
+ * assistant - Assistant response message
10
+ * tool_call - Tool invocation (file edit, shell, etc.)
11
+ * tool_result - Tool execution result
12
+ * result (subtype: success) - Final result with aggregated response
13
+ * result (subtype: error) - Error result
5
14
  */
6
15
  export interface StreamEvent {
7
- type: 'start' | 'thinking' | 'action' | 'approval_request' | 'action_complete' | 'result' | 'error';
16
+ type: 'system' | 'user' | 'thinking' | 'assistant' | 'tool_call' | 'tool_result' | 'result';
17
+ subtype?: string;
8
18
  session_id?: string;
9
- timestamp?: string;
10
- content?: string;
11
- tool?: string;
12
- file?: string;
13
- diff?: string;
14
- action?: string;
19
+ timestamp_ms?: number;
20
+ model?: string;
21
+ cwd?: string;
22
+ apiKeySource?: string;
23
+ permissionMode?: string;
24
+ text?: string;
25
+ message?: {
26
+ role: string;
27
+ content: Array<{
28
+ type: string;
29
+ text?: string;
30
+ }>;
31
+ };
32
+ tool_name?: string;
33
+ tool_call_id?: string;
34
+ parameters?: Record<string, unknown>;
15
35
  status?: string;
16
- error?: string;
17
- }
18
- export interface ApprovalRequest {
19
- action: string;
20
- tool: string;
21
- file?: string;
22
- command?: string;
23
- description?: string;
36
+ output?: string;
37
+ result?: string;
38
+ duration_ms?: number;
39
+ is_error?: boolean;
24
40
  }
25
41
  export interface ProgressInfo {
26
42
  action: string;
27
43
  target: string;
28
44
  }
29
45
  /**
30
- * Extract progress info from action event
46
+ * Extract progress info from a tool_call event.
31
47
  */
32
- export declare function extractProgressFromAction(event: StreamEvent): ProgressInfo | null;
48
+ export declare function extractProgressFromToolCall(event: StreamEvent): ProgressInfo | null;
33
49
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/adapter/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,GAAG,IAAI,CAyCjF"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/adapter/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,CAAC;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjD,CAAC;IAEF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,GAAG,IAAI,CAqCnF"}