@relace-ai/jacq 0.1.2-beta.3 → 0.1.2-beta.5

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 (94) hide show
  1. package/dist/actions/messages.d.ts +2 -5
  2. package/dist/actions/messages.js +2 -10
  3. package/dist/actions/messages.js.map +1 -1
  4. package/dist/actions/tasks.js +6 -2
  5. package/dist/actions/tasks.js.map +1 -1
  6. package/dist/approvalGate.d.ts +42 -0
  7. package/dist/approvalGate.js +140 -0
  8. package/dist/approvalGate.js.map +1 -0
  9. package/dist/approvals.d.ts +21 -0
  10. package/dist/approvals.js +79 -0
  11. package/dist/approvals.js.map +1 -0
  12. package/dist/auth.d.ts +1 -0
  13. package/dist/auth.js +3 -0
  14. package/dist/auth.js.map +1 -1
  15. package/dist/charWidth.d.ts +11 -0
  16. package/dist/charWidth.js +31 -0
  17. package/dist/charWidth.js.map +1 -0
  18. package/dist/clipboard.d.ts +0 -5
  19. package/dist/clipboard.js +0 -5
  20. package/dist/clipboard.js.map +1 -1
  21. package/dist/commands.js +3 -0
  22. package/dist/commands.js.map +1 -1
  23. package/dist/config.d.ts +2 -1
  24. package/dist/config.js +17 -10
  25. package/dist/config.js.map +1 -1
  26. package/dist/connection.d.ts +2 -0
  27. package/dist/connection.js +199 -6
  28. package/dist/connection.js.map +1 -1
  29. package/dist/constants.d.ts +2 -2
  30. package/dist/constants.js +2 -2
  31. package/dist/constants.js.map +1 -1
  32. package/dist/index.js +202 -28
  33. package/dist/index.js.map +1 -1
  34. package/dist/markdown/parser.js +248 -60
  35. package/dist/markdown/parser.js.map +1 -1
  36. package/dist/markdown/renderer.d.ts +3 -3
  37. package/dist/markdown/renderer.js +255 -66
  38. package/dist/markdown/renderer.js.map +1 -1
  39. package/dist/markdown/types.d.ts +4 -1
  40. package/dist/markdown/types.js.map +1 -1
  41. package/dist/protocol.d.ts +5 -0
  42. package/dist/protocol.js +245 -67
  43. package/dist/protocol.js.map +1 -1
  44. package/dist/renderer.js +4 -0
  45. package/dist/renderer.js.map +1 -1
  46. package/dist/startupAnimation.d.ts +4 -0
  47. package/dist/startupAnimation.js +326 -0
  48. package/dist/startupAnimation.js.map +1 -0
  49. package/dist/state.js +22 -0
  50. package/dist/state.js.map +1 -1
  51. package/dist/styles.js +4 -1
  52. package/dist/styles.js.map +1 -1
  53. package/dist/terminal.d.ts +9 -0
  54. package/dist/terminal.js +15 -0
  55. package/dist/terminal.js.map +1 -1
  56. package/dist/tools/registry.js +138 -13
  57. package/dist/tools/registry.js.map +1 -1
  58. package/dist/types.d.ts +29 -3
  59. package/dist/ui/backgroundTasks.js +1 -1
  60. package/dist/ui/backgroundTasks.js.map +1 -1
  61. package/dist/ui/config.d.ts +6 -0
  62. package/dist/ui/config.js +53 -0
  63. package/dist/ui/config.js.map +1 -0
  64. package/dist/ui/diffViewer.d.ts +9 -0
  65. package/dist/ui/diffViewer.js +320 -0
  66. package/dist/ui/diffViewer.js.map +1 -0
  67. package/dist/ui/index.js +39 -3
  68. package/dist/ui/index.js.map +1 -1
  69. package/dist/ui/input.d.ts +1 -1
  70. package/dist/ui/input.js +40 -13
  71. package/dist/ui/input.js.map +1 -1
  72. package/dist/ui/localCommands.d.ts +8 -0
  73. package/dist/ui/localCommands.js +267 -0
  74. package/dist/ui/localCommands.js.map +1 -0
  75. package/dist/ui/messages.js +189 -54
  76. package/dist/ui/messages.js.map +1 -1
  77. package/dist/ui/primitives.d.ts +9 -1
  78. package/dist/ui/primitives.js +64 -14
  79. package/dist/ui/primitives.js.map +1 -1
  80. package/dist/ui/promptInput.js +42 -8
  81. package/dist/ui/promptInput.js.map +1 -1
  82. package/dist/ui/promptPicker.js +3 -4
  83. package/dist/ui/promptPicker.js.map +1 -1
  84. package/dist/ui/resumeTask.d.ts +6 -0
  85. package/dist/ui/resumeTask.js +136 -0
  86. package/dist/ui/resumeTask.js.map +1 -0
  87. package/dist/ui/sessions.js +2 -2
  88. package/dist/ui/sessions.js.map +1 -1
  89. package/dist/ui/welcome.js +19 -10
  90. package/dist/ui/welcome.js.map +1 -1
  91. package/dist/utils/resolvePath.d.ts +10 -0
  92. package/dist/utils/resolvePath.js +24 -0
  93. package/dist/utils/resolvePath.js.map +1 -0
  94. package/package.json +7 -4
package/dist/protocol.js CHANGED
@@ -6,16 +6,16 @@
6
6
  */
7
7
  import { connection } from './connection.js';
8
8
  import { state, markDirty } from './state.js';
9
- import { addMessage, appendStream, flushStream } from './actions/messages.js';
9
+ import { addMessage, appendStream } from './actions/messages.js';
10
10
  import { setConnected, setDisconnected, setServerStatus, setServerUrl, setTasks, updateTask, setCurrentTask, setSubmitting, setWidgets, } from './actions/tasks.js';
11
11
  import { setPendingPrompt, clearPrompt } from './actions/prompts.js';
12
- import { saveConfig } from './config.js';
13
12
  import debug from './debug.js';
14
13
  // --- Auto-reconnect ---
15
14
  let reconnectTimer = null;
16
15
  let reconnectAttempt = 0;
17
16
  const BASE_RECONNECT_DELAY = 1000;
18
17
  const MAX_RECONNECT_DELAY = 30000;
18
+ const pendingAskUserResponses = new Map();
19
19
  function scheduleReconnect() {
20
20
  if (reconnectTimer)
21
21
  return;
@@ -42,11 +42,14 @@ export function init() {
42
42
  setDisconnected();
43
43
  setSubmitting(false);
44
44
  setActivityPhase('idle');
45
- if (code === 4001) {
45
+ state.liveStepMessageIds = {};
46
+ state.streamBuffer = '';
47
+ if (code === 4001 || code === 4003) {
46
48
  cancelReconnect();
47
- saveConfig({ apiKey: null });
48
49
  state.authenticated = false;
49
- state.statusMessage = 'Session expired. Type /login to re-authenticate.';
50
+ state.statusMessage = code === 4001
51
+ ? 'Session expired. Type /login to re-authenticate.'
52
+ : 'Access denied. Type /login to re-authenticate.';
50
53
  state.dirty = true;
51
54
  }
52
55
  else if (state.authenticated) {
@@ -57,6 +60,22 @@ export function init() {
57
60
  function setActivityPhase(phase) {
58
61
  state.activityPhase = phase;
59
62
  }
63
+ function clearLiveStepMessageId(taskId) {
64
+ if (!taskId) {
65
+ state.liveStepMessageIds = {};
66
+ return;
67
+ }
68
+ delete state.liveStepMessageIds[taskId];
69
+ }
70
+ function askUserResponseKey(taskId, toolUseId) {
71
+ return `${taskId}:${toolUseId}`;
72
+ }
73
+ function requireToolUseId(raw, source, taskId) {
74
+ if (typeof raw === 'string' && raw)
75
+ return raw;
76
+ addMessage('error', `Protocol error: ${source} missing toolUseId`, { taskId });
77
+ return null;
78
+ }
60
79
  // --- Incoming message handlers ---
61
80
  function handleMessage(message) {
62
81
  switch (message.type) {
@@ -80,11 +99,14 @@ function handleMessage(message) {
80
99
  case 'task.created':
81
100
  case 'task.started':
82
101
  case 'task.stream':
102
+ case 'task.tool_dispatch':
83
103
  case 'task.step':
84
104
  case 'task.user':
85
105
  case 'task.completed':
86
106
  case 'task.failed':
87
107
  case 'task.cancelled':
108
+ case 'task.suspended':
109
+ case 'task.resumed':
88
110
  handleTaskEvent(message);
89
111
  break;
90
112
  case 'proxy.status': {
@@ -134,7 +156,7 @@ function handleTaskEvent(message) {
134
156
  updateTask(taskId, { status: 'running' });
135
157
  if (isCurrentTask) {
136
158
  setSubmitting(false);
137
- setActivityPhase('waiting_for_first_step');
159
+ setActivityPhase('waiting_for_step');
138
160
  }
139
161
  break;
140
162
  case 'task.user':
@@ -158,10 +180,44 @@ function handleTaskEvent(message) {
158
180
  appendStream(payload.chunk);
159
181
  }
160
182
  break;
183
+ case 'task.tool_dispatch':
184
+ if (isCurrentTask && payload?.tool) {
185
+ setActivityPhase('streaming');
186
+ const tool = payload.tool;
187
+ const toolArgs = payload.args || {};
188
+ const liveStepMessageId = taskId ? state.liveStepMessageIds[taskId] : undefined;
189
+ const liveMsg = liveStepMessageId
190
+ ? state.messages.find(m => m.id === liveStepMessageId)
191
+ : null;
192
+ if (liveMsg && liveMsg.type === 'tool' && (!liveMsg.taskId || liveMsg.taskId === taskId)) {
193
+ const streamText = state.streamBuffer.trim();
194
+ if (streamText) {
195
+ liveMsg.agentMessage = liveMsg.agentMessage
196
+ ? `${liveMsg.agentMessage}\n\n${streamText}`
197
+ : streamText;
198
+ state.streamBuffer = '';
199
+ }
200
+ liveMsg.toolCalls = [...(liveMsg.toolCalls || []), { name: tool, args: toolArgs }];
201
+ markDirty();
202
+ }
203
+ else if (taskId) {
204
+ const currentTask = state.tasks.find(t => t.id === taskId);
205
+ const nextStep = (currentTask?.step || 0) + 1;
206
+ const agentMessage = state.streamBuffer.trim() || null;
207
+ state.streamBuffer = '';
208
+ const msg = addMessage('tool', `Step ${nextStep}`, {
209
+ taskId,
210
+ toolCalls: [{ name: tool, args: toolArgs }],
211
+ agentMessage,
212
+ });
213
+ state.liveStepMessageIds[taskId] = msg.id;
214
+ }
215
+ }
216
+ break;
161
217
  case 'task.step':
162
218
  if (isCurrentTask) {
163
- setActivityPhase('streaming');
164
- flushStream(taskId);
219
+ setActivityPhase('waiting_for_step');
220
+ state.streamBuffer = '';
165
221
  const stepNum = payload?.step || 1;
166
222
  const tokensUsed = payload?.tokensUsed;
167
223
  const tokens = tokensUsed ? {
@@ -180,25 +236,44 @@ function handleTaskEvent(message) {
180
236
  });
181
237
  }
182
238
  debug.logMessage('tool', `Step ${stepNum}`, { taskId, toolCalls: payload?.toolCalls, agentMessage: payload?.agentMessage });
183
- addMessage('tool', `Step ${stepNum}`, {
184
- taskId,
185
- toolCalls: payload?.toolCalls || [],
186
- agentMessage: payload?.agentMessage || null,
187
- tokens,
188
- });
239
+ const liveStepMessageId = taskId ? state.liveStepMessageIds[taskId] : undefined;
240
+ const liveMsg = liveStepMessageId
241
+ ? state.messages.find(m => m.id === liveStepMessageId)
242
+ : null;
243
+ if (liveMsg && liveMsg.type === 'tool' && (!taskId || !liveMsg.taskId || liveMsg.taskId === taskId)) {
244
+ liveMsg.content = `Step ${stepNum}`;
245
+ liveMsg.toolCalls = payload?.toolCalls || [];
246
+ liveMsg.agentMessage = payload?.agentMessage || liveMsg.agentMessage || null;
247
+ liveMsg.tokens = tokens;
248
+ if (taskId) {
249
+ liveMsg.taskId = taskId;
250
+ }
251
+ clearLiveStepMessageId(taskId);
252
+ markDirty();
253
+ }
254
+ else {
255
+ addMessage('tool', `Step ${stepNum}`, {
256
+ taskId,
257
+ toolCalls: payload?.toolCalls || [],
258
+ agentMessage: payload?.agentMessage || null,
259
+ tokens,
260
+ });
261
+ }
262
+ if (taskId) {
263
+ annotateAskUserStepsFromPending(taskId);
264
+ }
189
265
  }
190
266
  break;
191
267
  case 'task.completed':
192
268
  if (isCurrentTask) {
193
269
  setSubmitting(false);
194
270
  setActivityPhase('idle');
195
- flushStream(taskId);
196
- // Add "Done" status message unless the done tool already rendered it
197
- const hasDoneTool = state.messages.some(m => m.taskId === taskId && m.toolCalls?.some(tc => tc.name === 'done'));
198
- if (!hasDoneTool) {
199
- addMessage('status', 'Done', { taskId });
200
- }
271
+ clearLiveStepMessageId(taskId);
272
+ state.streamBuffer = '';
273
+ addMessage('status', 'Done', { taskId, statusKind: 'done' });
201
274
  }
275
+ if (taskId)
276
+ clearPendingAskUserResponsesForTask(taskId);
202
277
  updateTask(taskId, { status: 'completed' });
203
278
  fetchTasks();
204
279
  break;
@@ -206,9 +281,12 @@ function handleTaskEvent(message) {
206
281
  if (isCurrentTask) {
207
282
  setSubmitting(false);
208
283
  setActivityPhase('idle');
209
- flushStream(taskId);
210
- addMessage('error', payload?.error || 'Task failed', { taskId });
284
+ clearLiveStepMessageId(taskId);
285
+ state.streamBuffer = '';
286
+ addMessage('error', payload?.error || 'Task failed', { taskId, statusKind: 'failed' });
211
287
  }
288
+ if (taskId)
289
+ clearPendingAskUserResponsesForTask(taskId);
212
290
  updateTask(taskId, { status: 'failed' });
213
291
  fetchTasks();
214
292
  break;
@@ -216,16 +294,42 @@ function handleTaskEvent(message) {
216
294
  if (isCurrentTask) {
217
295
  setSubmitting(false);
218
296
  setActivityPhase('idle');
219
- flushStream(taskId);
220
- // Only add if not already shown (escape handler may have added it)
221
- const hasCancelMsg = state.messages.some(m => m.taskId === taskId && m.type === 'status' && m.content === 'Cancelled');
222
- if (!hasCancelMsg) {
223
- addMessage('status', 'Cancelled', { taskId });
224
- }
297
+ clearLiveStepMessageId(taskId);
298
+ state.streamBuffer = '';
299
+ addMessage('status', 'Cancelled', { taskId, statusKind: 'cancelled' });
225
300
  }
301
+ if (taskId)
302
+ clearPendingAskUserResponsesForTask(taskId);
226
303
  updateTask(taskId, { status: 'cancelled' });
227
304
  fetchTasks();
228
305
  break;
306
+ case 'task.suspended':
307
+ if (isCurrentTask) {
308
+ setSubmitting(false);
309
+ setActivityPhase('idle');
310
+ clearLiveStepMessageId(taskId);
311
+ state.streamBuffer = '';
312
+ const device = payload?.device;
313
+ const suspendMsg = device
314
+ ? `Task suspended — waiting for ${device}`
315
+ : 'Task suspended';
316
+ addMessage('status', suspendMsg, { taskId, statusKind: 'suspended' });
317
+ }
318
+ updateTask(taskId, { status: 'suspended' });
319
+ fetchTasks();
320
+ break;
321
+ case 'task.resumed':
322
+ if (isCurrentTask) {
323
+ const resumedDevice = payload?.device;
324
+ const resumeMsg = resumedDevice
325
+ ? `Resuming — ${resumedDevice} reconnected`
326
+ : 'Task resumed';
327
+ addMessage('status', resumeMsg, { taskId, statusKind: 'resumed' });
328
+ setActivityPhase('waiting_for_step');
329
+ }
330
+ updateTask(taskId, { status: 'running' });
331
+ fetchTasks();
332
+ break;
229
333
  }
230
334
  markDirty();
231
335
  }
@@ -235,9 +339,14 @@ function handlePromptPending(message) {
235
339
  return;
236
340
  const questions = payload?.questions;
237
341
  if (payload?.promptId && questions && questions.length > 0) {
342
+ const toolUseId = requireToolUseId(payload.toolUseId, 'prompt.pending', taskId);
343
+ if (!toolUseId)
344
+ return;
238
345
  setPendingPrompt({
239
346
  taskId: taskId,
240
347
  promptId: payload.promptId,
348
+ promptType: payload.promptType || 'ask_user',
349
+ toolUseId,
241
350
  questions,
242
351
  currentQuestionIndex: 0,
243
352
  answers: {},
@@ -249,18 +358,66 @@ function handlePromptPending(message) {
249
358
  function handlePromptAnswered(message) {
250
359
  const { taskId, payload } = message;
251
360
  if (payload?.promptId) {
361
+ const response = payload.response;
362
+ const toolUseId = requireToolUseId(payload.toolUseId, 'prompt.answered', taskId);
363
+ if (taskId && toolUseId) {
364
+ if (!annotateAskUserStepByToolUseId(taskId, toolUseId, response)) {
365
+ pendingAskUserResponses.set(askUserResponseKey(taskId, toolUseId), response);
366
+ }
367
+ }
252
368
  updateTask(taskId, { status: 'running' });
253
- setActivityPhase('waiting_for_first_step');
369
+ setActivityPhase('resuming_from_prompt');
254
370
  }
255
371
  markDirty();
256
372
  }
373
+ function annotateAskUserStepByToolUseId(taskId, toolUseId, response) {
374
+ for (let i = state.messages.length - 1; i >= 0; i--) {
375
+ const msg = state.messages[i];
376
+ if (msg.type !== 'tool')
377
+ continue;
378
+ if (msg.taskId && msg.taskId !== taskId)
379
+ continue;
380
+ if (!msg.toolCalls || msg.toolCalls.length === 0)
381
+ continue;
382
+ const askUserCall = msg.toolCalls.find(tc => tc.name === 'ask_user' && tc.toolUseId === toolUseId);
383
+ if (!askUserCall)
384
+ continue;
385
+ askUserCall.args = {
386
+ ...(askUserCall.args || {}),
387
+ ...(response ? { response } : { responseReceived: true }),
388
+ };
389
+ return true;
390
+ }
391
+ return false;
392
+ }
393
+ function annotateAskUserStepsFromPending(taskId) {
394
+ const keysToDelete = [];
395
+ for (const [key, response] of pendingAskUserResponses.entries()) {
396
+ if (!key.startsWith(`${taskId}:`))
397
+ continue;
398
+ const toolUseId = key.slice(taskId.length + 1);
399
+ if (annotateAskUserStepByToolUseId(taskId, toolUseId, response)) {
400
+ keysToDelete.push(key);
401
+ }
402
+ }
403
+ for (const key of keysToDelete) {
404
+ pendingAskUserResponses.delete(key);
405
+ }
406
+ }
407
+ function clearPendingAskUserResponsesForTask(taskId) {
408
+ for (const key of pendingAskUserResponses.keys()) {
409
+ if (key.startsWith(`${taskId}:`)) {
410
+ pendingAskUserResponses.delete(key);
411
+ }
412
+ }
413
+ }
257
414
  function handleWidgetCreated(message) {
258
415
  const { taskId, payload } = message;
259
416
  if (!payload?.widgetId)
260
417
  return;
261
418
  const title = payload.title || 'Untitled';
262
419
  const widgetId = payload.widgetId;
263
- const msg = addMessage('status', `Widget: ${title} — Open ↗`, { taskId });
420
+ const msg = addMessage('status', `Widget: ${title} — Open ↗`, { taskId, statusKind: 'widget' });
264
421
  fetchWidgetUrl(widgetId).then(url => {
265
422
  msg.linkUrl = url;
266
423
  markDirty();
@@ -273,7 +430,7 @@ async function fetchTasks() {
273
430
  try {
274
431
  const resp = await connection.request({
275
432
  type: 'task.list',
276
- payload: { limit: 100 }
433
+ payload: { limit: 10000 }
277
434
  });
278
435
  if (resp.success && resp.payload?.tasks) {
279
436
  setTasks(resp.payload.tasks);
@@ -286,58 +443,57 @@ async function fetchTasks() {
286
443
  setTasks([]);
287
444
  }
288
445
  }
289
- export async function createTask(prompt, files = null) {
290
- if (state.currentTaskId) {
291
- const task = state.tasks.find(t => t.id === state.currentTaskId);
292
- if (task && (task.status === 'completed' || task.status === 'failed')) {
293
- return continueTask(state.currentTaskId, prompt, files);
294
- }
295
- }
446
+ export async function sendMessage(prompt, taskId, files = null) {
296
447
  try {
297
- debug.log('TASK', 'Creating task', { prompt: prompt.slice(0, 50), fileCount: files?.length || 0 });
448
+ debug.log('TASK', 'Sending message', { prompt: prompt.slice(0, 50), taskId: taskId?.slice(0, 8), fileCount: files?.length || 0 });
449
+ let effectiveTaskId = taskId;
450
+ if (!effectiveTaskId) {
451
+ const reserveResp = await connection.request({
452
+ type: 'task.create',
453
+ payload: {},
454
+ });
455
+ if (!reserveResp.success || !reserveResp.payload?.taskId) {
456
+ setSubmitting(false);
457
+ setActivityPhase('idle');
458
+ debug.logError('sendMessage', reserveResp.error || 'Failed to reserve task');
459
+ return reserveResp;
460
+ }
461
+ effectiveTaskId = reserveResp.payload.taskId;
462
+ setCurrentTask(effectiveTaskId);
463
+ }
298
464
  const payload = { prompt };
299
465
  if (files && files.length > 0) {
300
466
  payload.files = files;
301
467
  }
302
- const resp = await connection.request({ type: 'task.create', payload });
303
- const taskId = resp.payload?.taskId;
304
- if (resp.success && taskId) {
305
- debug.logTask('task.create.success', taskId);
306
- setCurrentTask(taskId);
468
+ const resp = await connection.request({
469
+ type: 'task.message',
470
+ taskId: effectiveTaskId,
471
+ payload,
472
+ });
473
+ if (resp.success && resp.payload?.taskId) {
474
+ debug.logTask('task.message.success', resp.payload.taskId, { action: resp.payload.action });
475
+ setCurrentTask(resp.payload.taskId);
307
476
  fetchTasks();
308
477
  }
309
478
  else {
310
479
  setSubmitting(false);
311
480
  setActivityPhase('idle');
312
- debug.logError('createTask', resp.error || resp.payload?.message || 'Unknown error');
481
+ debug.logError('sendMessage', resp.error || resp.payload?.message || 'Unknown error');
313
482
  }
314
483
  return resp;
315
484
  }
316
485
  catch (err) {
317
486
  setSubmitting(false);
318
487
  setActivityPhase('idle');
319
- debug.logError('createTask', err);
488
+ debug.logError('sendMessage', err);
320
489
  return null;
321
490
  }
322
491
  }
492
+ export async function createTask(prompt, files = null) {
493
+ return sendMessage(prompt, null, files);
494
+ }
323
495
  export async function continueTask(taskId, prompt, files = null) {
324
- try {
325
- const payload = { taskId, prompt };
326
- if (files && files.length > 0) {
327
- payload.files = files;
328
- }
329
- const resp = await connection.request({ type: 'task.continue', payload });
330
- if (!resp.success) {
331
- setSubmitting(false);
332
- setActivityPhase('idle');
333
- }
334
- return resp;
335
- }
336
- catch {
337
- setSubmitting(false);
338
- setActivityPhase('idle');
339
- return null;
340
- }
496
+ return sendMessage(prompt, taskId, files);
341
497
  }
342
498
  export function refreshTasks() {
343
499
  fetchTasks();
@@ -398,7 +554,13 @@ export async function respondToPrompt(response) {
398
554
  markDirty();
399
555
  return null;
400
556
  }
557
+ const previousStatus = state.tasks.find(t => t.id === taskId)?.status;
401
558
  try {
559
+ // Optimistic close: once final prompt response is sent, dismiss prompt UI
560
+ // immediately to prevent duplicate submissions and picker/input flicker.
561
+ clearPrompt();
562
+ updateTask(taskId, { status: 'running' });
563
+ setActivityPhase('resuming_from_prompt');
402
564
  const resp = await connection.request({
403
565
  type: 'prompt.respond',
404
566
  taskId,
@@ -409,21 +571,32 @@ export async function respondToPrompt(response) {
409
571
  });
410
572
  if (resp.success) {
411
573
  debug.log('PROMPT', 'Prompt response accepted');
412
- clearPrompt();
413
- setActivityPhase('waiting_for_first_step');
414
574
  }
415
575
  else {
416
576
  debug.logError('respondToPrompt', resp.error || 'Unknown error');
577
+ if (previousStatus) {
578
+ updateTask(taskId, { status: previousStatus });
579
+ }
580
+ addMessage('error', 'Failed to submit prompt response');
581
+ setActivityPhase('idle');
417
582
  }
418
583
  return resp;
419
584
  }
420
585
  catch (err) {
421
586
  debug.logError('respondToPrompt', err);
587
+ if (previousStatus) {
588
+ updateTask(taskId, { status: previousStatus });
589
+ }
590
+ addMessage('error', 'Failed to submit prompt response');
591
+ setActivityPhase('idle');
422
592
  return null;
423
593
  }
424
594
  }
425
595
  export async function subscribeTask(taskId) {
426
596
  debug.logTask('subscribe.start', taskId);
597
+ // Clear stale messages for this task so we rebuild from server state
598
+ state.messages = state.messages.filter(m => m.taskId !== taskId);
599
+ delete state.liveStepMessageIds[taskId];
427
600
  try {
428
601
  const resp = await connection.request({
429
602
  type: 'task.subscribe',
@@ -438,10 +611,10 @@ export async function subscribeTask(taskId) {
438
611
  status: taskData.status,
439
612
  messageCount: state.messages.length,
440
613
  });
441
- updateTask(taskId, { status: taskData.status });
614
+ updateTask(taskId, { status: taskData.status, ...(taskData.updatedAt ? { updatedAt: taskData.updatedAt } : {}) });
442
615
  if (taskId === state.currentTaskId) {
443
616
  if (taskData.status === 'running' || taskData.status === 'pending') {
444
- setActivityPhase('waiting_for_first_step');
617
+ setActivityPhase('waiting_for_step');
445
618
  }
446
619
  else {
447
620
  setActivityPhase('idle');
@@ -452,9 +625,14 @@ export async function subscribeTask(taskId) {
452
625
  if (!isTerminal && pendingPrompts && pendingPrompts.length > 0) {
453
626
  const p = pendingPrompts[0];
454
627
  if (p.questions && p.questions.length > 0) {
628
+ const toolUseId = requireToolUseId(p.toolUseId, 'task.subscribe pendingPrompt', taskId);
629
+ if (!toolUseId)
630
+ return resp;
455
631
  setPendingPrompt({
456
632
  taskId,
457
633
  promptId: p.promptId,
634
+ promptType: p.promptType || 'ask_user',
635
+ toolUseId,
458
636
  questions: p.questions,
459
637
  currentQuestionIndex: 0,
460
638
  answers: {},
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/renderer.js CHANGED
@@ -131,6 +131,8 @@ export class Renderer {
131
131
  setup() {
132
132
  this.stdout.write(term.altScreenEnter);
133
133
  this.stdout.write(term.cursorHide);
134
+ this.stdout.write(term.bracketedPasteEnable);
135
+ this.stdout.write(term.kittyKeyboardEnable);
134
136
  this.clear();
135
137
  this.stdout.on?.('resize', () => {
136
138
  this.width = this.stdout.columns || 80;
@@ -141,6 +143,8 @@ export class Renderer {
141
143
  });
142
144
  }
143
145
  cleanup() {
146
+ this.stdout.write(term.kittyKeyboardDisable);
147
+ this.stdout.write(term.bracketedPasteDisable);
144
148
  this.stdout.write(term.cursorShow);
145
149
  this.stdout.write(term.altScreenLeave);
146
150
  }