pm-orchestrator-runner 1.0.5 → 1.0.7

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.
@@ -2,9 +2,17 @@
2
2
  /**
3
3
  * Status Commands Handler
4
4
  * Manages /status and /tasks commands
5
+ *
6
+ * UX Improvements (v2):
7
+ * - Tasks are categorized into Active/Completed/Failed/Pending sections
8
+ * - ERROR tasks no longer shown as "Current Tasks"
9
+ * - Human-readable error messages with guidance
10
+ * - Alert banners for failed tasks
5
11
  */
6
12
  Object.defineProperty(exports, "__esModule", { value: true });
7
13
  exports.StatusCommands = void 0;
14
+ exports.getHumanReadableError = getHumanReadableError;
15
+ exports.getErrorGuidance = getErrorGuidance;
8
16
  const enums_1 = require("../../models/enums");
9
17
  /**
10
18
  * Helper to normalize status for comparison
@@ -13,6 +21,65 @@ const enums_1 = require("../../models/enums");
13
21
  function normalizeStatus(status) {
14
22
  return (status || '').toUpperCase();
15
23
  }
24
+ /**
25
+ * Translate technical error messages to human-readable form
26
+ */
27
+ function getHumanReadableError(errorMessage) {
28
+ // NO_EVIDENCE / verified files error
29
+ if (errorMessage.includes('verified files') || errorMessage.includes('no evidence')) {
30
+ return 'No files were created or modified by this task';
31
+ }
32
+ // Blocked executor
33
+ if (errorMessage.includes('BLOCKED') || errorMessage.includes('blocked')) {
34
+ return 'Task was interrupted (may require interactive input)';
35
+ }
36
+ // Timeout
37
+ if (errorMessage.includes('timeout') || errorMessage.includes('TIMEOUT')) {
38
+ return 'Task took too long and was stopped';
39
+ }
40
+ // Default: return original but truncate if too long
41
+ if (errorMessage.length > 100) {
42
+ return errorMessage.substring(0, 100) + '...';
43
+ }
44
+ return errorMessage;
45
+ }
46
+ /**
47
+ * Get guidance for specific error types
48
+ */
49
+ function getErrorGuidance(status) {
50
+ const normalizedStatus = normalizeStatus(status);
51
+ switch (normalizedStatus) {
52
+ case 'NO_EVIDENCE':
53
+ return [
54
+ 'The task ran but no files were verified on disk.',
55
+ '',
56
+ 'To resolve:',
57
+ ' 1. Check task description - was a file path specified?',
58
+ ' 2. Run /logs <task-id> to see execution details',
59
+ ' 3. Try rephrasing your request with explicit file paths',
60
+ ' Example: "Create a file at src/utils/helper.ts with..."',
61
+ ];
62
+ case 'ERROR':
63
+ return [
64
+ 'The task encountered an error during execution.',
65
+ '',
66
+ 'To resolve:',
67
+ ' 1. Run /logs <task-id> --full for detailed error logs',
68
+ ' 2. Check if the task description is clear and specific',
69
+ ' 3. Retry the task or break it into smaller steps',
70
+ ];
71
+ case 'INVALID':
72
+ return [
73
+ 'The task or its result was invalid.',
74
+ '',
75
+ 'To resolve:',
76
+ ' 1. Run /logs <task-id> to see what went wrong',
77
+ ' 2. Ensure your request is clear and actionable',
78
+ ];
79
+ default:
80
+ return [];
81
+ }
82
+ }
16
83
  /**
17
84
  * Status commands handler
18
85
  */
@@ -41,11 +108,11 @@ class StatusCommands {
41
108
  return this.formatStatus(sessionState, overallStatus, taskResults);
42
109
  }
43
110
  catch (err) {
44
- return `Error getting status: ${err.message}`;
111
+ return 'Error getting status: ' + err.message;
45
112
  }
46
113
  }
47
114
  /**
48
- * Get current tasks
115
+ * Get current tasks - with improved categorization
49
116
  */
50
117
  async getTasks() {
51
118
  if (!this.session.sessionId) {
@@ -59,53 +126,84 @@ class StatusCommands {
59
126
  if (!taskResults || taskResults.length === 0) {
60
127
  return 'No tasks in current session.';
61
128
  }
62
- return this.formatTasks(taskResults);
129
+ return this.formatTasksImproved(taskResults);
63
130
  }
64
131
  catch (err) {
65
- return `Error getting tasks: ${err.message}`;
132
+ return 'Error getting tasks: ' + err.message;
133
+ }
134
+ }
135
+ /**
136
+ * Categorize tasks by status
137
+ */
138
+ categorizeTasks(tasks) {
139
+ const result = {
140
+ active: [],
141
+ completed: [],
142
+ failed: [],
143
+ pending: [],
144
+ };
145
+ for (const task of tasks) {
146
+ const status = normalizeStatus(task.status);
147
+ if (status === enums_1.TaskStatus.IN_PROGRESS) {
148
+ result.active.push(task);
149
+ }
150
+ else if (status === enums_1.TaskStatus.COMPLETE || status === enums_1.TaskStatus.COMPLETED) {
151
+ result.completed.push(task);
152
+ }
153
+ else if (status === enums_1.TaskStatus.ERROR ||
154
+ status === enums_1.TaskStatus.NO_EVIDENCE ||
155
+ status === enums_1.TaskStatus.INVALID ||
156
+ status === 'FAILED') {
157
+ result.failed.push(task);
158
+ }
159
+ else if (status === enums_1.TaskStatus.PENDING) {
160
+ result.pending.push(task);
161
+ }
162
+ else {
163
+ // Unknown status - treat as pending
164
+ result.pending.push(task);
165
+ }
66
166
  }
167
+ return result;
67
168
  }
68
169
  /**
69
170
  * Format no session message
70
171
  */
71
172
  formatNoSession() {
72
- return `
73
- Session Status
74
- ==============
75
- Status: No active session
76
-
77
- To start a session:
78
- /start [project-path]
79
-
80
- To continue a session:
81
- /continue [session-id]
82
- `;
173
+ return '\n' +
174
+ 'Session Status\n' +
175
+ '==============\n' +
176
+ 'Status: No active session\n' +
177
+ '\n' +
178
+ 'To start a session:\n' +
179
+ ' /start [project-path]\n' +
180
+ '\n' +
181
+ 'To continue a session:\n' +
182
+ ' /continue [session-id]\n';
83
183
  }
84
184
  /**
85
185
  * Format no runner message
86
186
  */
87
187
  formatNoRunner() {
88
- return `
89
- Session Status
90
- ==============
91
- Session ID: ${this.session.sessionId}
92
- Status: Runner not initialized
93
-
94
- Use /start to initialize the runner.
95
- `;
188
+ return '\n' +
189
+ 'Session Status\n' +
190
+ '==============\n' +
191
+ 'Session ID: ' + this.session.sessionId + '\n' +
192
+ 'Status: Runner not initialized\n' +
193
+ '\n' +
194
+ 'Use /start to initialize the runner.\n';
96
195
  }
97
196
  /**
98
197
  * Format no state message
99
198
  */
100
199
  formatNoState() {
101
- return `
102
- Session Status
103
- ==============
104
- Session ID: ${this.session.sessionId}
105
- Status: State not available
106
-
107
- The session may have been corrupted. Try /start to begin a new session.
108
- `;
200
+ return '\n' +
201
+ 'Session Status\n' +
202
+ '==============\n' +
203
+ 'Session ID: ' + this.session.sessionId + '\n' +
204
+ 'Status: State not available\n' +
205
+ '\n' +
206
+ 'The session may have been corrupted. Try /start to begin a new session.\n';
109
207
  }
110
208
  /**
111
209
  * Format status from state
@@ -115,48 +213,95 @@ The session may have been corrupted. Try /start to begin a new session.
115
213
  '',
116
214
  'Session Status',
117
215
  '==============',
118
- `Session ID: ${sessionState.session_id || this.session.sessionId}`,
119
- `Phase: ${sessionState.current_phase || 'unknown'}`,
120
- `Status: ${this.session.status}`,
121
- `Project: ${this.session.projectPath}`,
216
+ 'Session ID: ' + (sessionState.session_id || this.session.sessionId),
217
+ 'Phase: ' + (sessionState.current_phase || 'unknown'),
218
+ 'Status: ' + this.session.status,
219
+ 'Project: ' + this.session.projectPath,
122
220
  ];
123
221
  if (taskResults && taskResults.length > 0) {
124
- // Use case-insensitive comparison since TaskStatus enum uses UPPERCASE
125
- // but some code paths may use lowercase
126
222
  const completed = taskResults.filter((t) => normalizeStatus(t.status) === enums_1.TaskStatus.COMPLETED ||
127
223
  normalizeStatus(t.status) === enums_1.TaskStatus.COMPLETE).length;
128
224
  const total = taskResults.length;
129
- lines.push(`Tasks: ${completed}/${total} completed`);
225
+ lines.push('Tasks: ' + completed + '/' + total + ' completed');
130
226
  }
131
227
  if (overallStatus) {
132
- lines.push(`Overall: ${overallStatus}`);
228
+ lines.push('Overall: ' + overallStatus);
133
229
  }
134
230
  lines.push('');
135
231
  return lines.join('\n');
136
232
  }
137
233
  /**
138
- * Format tasks list
234
+ * Format tasks list - IMPROVED with categorization and guidance
139
235
  */
140
- formatTasks(tasks) {
141
- const lines = [
142
- '',
143
- 'Current Tasks',
144
- '=============',
145
- ];
146
- for (const task of tasks) {
147
- const statusIcon = this.getStatusIcon(task.status);
148
- const taskId = task.task_id || task.id || 'unknown';
149
- lines.push(`${statusIcon} ${taskId}: ${task.status || 'unknown'}`);
150
- }
151
- // Summary - use case-insensitive comparison for consistency
152
- const completed = tasks.filter((t) => normalizeStatus(t.status) === enums_1.TaskStatus.COMPLETED ||
153
- normalizeStatus(t.status) === enums_1.TaskStatus.COMPLETE).length;
154
- const pending = tasks.filter((t) => normalizeStatus(t.status) === enums_1.TaskStatus.PENDING).length;
155
- const running = tasks.filter((t) => normalizeStatus(t.status) === enums_1.TaskStatus.IN_PROGRESS).length;
156
- const failed = tasks.filter((t) => normalizeStatus(t.status) === enums_1.TaskStatus.ERROR ||
157
- normalizeStatus(t.status) === 'FAILED').length;
158
- lines.push('');
159
- lines.push(`Summary: ${completed} completed, ${running} running, ${pending} pending, ${failed} failed`);
236
+ formatTasksImproved(tasks) {
237
+ const categorized = this.categorizeTasks(tasks);
238
+ const lines = [''];
239
+ // Show alert banner if there are failed tasks
240
+ if (categorized.failed.length > 0) {
241
+ lines.push('!!! ALERT: ' + categorized.failed.length + ' task(s) failed !!!');
242
+ lines.push('');
243
+ }
244
+ // Failed Tasks section (show first if any - most important for UX)
245
+ if (categorized.failed.length > 0) {
246
+ lines.push('Failed Tasks');
247
+ lines.push('------------');
248
+ for (const task of categorized.failed) {
249
+ const taskId = task.task_id || task.id || 'unknown';
250
+ const status = task.status || 'ERROR';
251
+ lines.push('[!] ' + taskId + ': ' + status);
252
+ // Show human-readable error
253
+ if (task.error?.message) {
254
+ const humanError = getHumanReadableError(task.error.message);
255
+ lines.push(' Error: ' + humanError);
256
+ }
257
+ }
258
+ // Show guidance for failed tasks
259
+ if (categorized.failed.length > 0) {
260
+ const firstFailedStatus = normalizeStatus(categorized.failed[0].status);
261
+ const guidance = getErrorGuidance(firstFailedStatus);
262
+ if (guidance.length > 0) {
263
+ lines.push('');
264
+ for (const line of guidance) {
265
+ lines.push(' ' + line);
266
+ }
267
+ }
268
+ }
269
+ lines.push('');
270
+ }
271
+ // Active Tasks section
272
+ if (categorized.active.length > 0) {
273
+ lines.push('Active Tasks');
274
+ lines.push('------------');
275
+ for (const task of categorized.active) {
276
+ const taskId = task.task_id || task.id || 'unknown';
277
+ lines.push('[>] ' + taskId + ': IN_PROGRESS');
278
+ }
279
+ lines.push('');
280
+ }
281
+ // Pending Tasks section
282
+ if (categorized.pending.length > 0) {
283
+ lines.push('Pending Tasks');
284
+ lines.push('-------------');
285
+ for (const task of categorized.pending) {
286
+ const taskId = task.task_id || task.id || 'unknown';
287
+ lines.push('[ ] ' + taskId + ': PENDING');
288
+ }
289
+ lines.push('');
290
+ }
291
+ // Completed Tasks section (at the end - less urgent)
292
+ if (categorized.completed.length > 0) {
293
+ lines.push('Completed Tasks');
294
+ lines.push('---------------');
295
+ for (const task of categorized.completed) {
296
+ const taskId = task.task_id || task.id || 'unknown';
297
+ lines.push('[x] ' + taskId + ': COMPLETED');
298
+ }
299
+ lines.push('');
300
+ }
301
+ // Summary
302
+ lines.push('Summary');
303
+ lines.push('-------');
304
+ lines.push(categorized.completed.length + ' completed, ' + categorized.active.length + ' running, ' + categorized.pending.length + ' pending, ' + categorized.failed.length + ' failed');
160
305
  lines.push('');
161
306
  return lines.join('\n');
162
307
  }
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/repl/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/repl/commands/status.ts"],"names":[],"mappings":"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"}
@@ -106,7 +106,46 @@ export interface CommandResult {
106
106
  };
107
107
  }
108
108
  /**
109
- * REPL session state
109
+ * Task log status - per spec 05_DATA_MODELS.md
110
+ * Terminal states: complete | incomplete | error
111
+ */
112
+ export type TaskLogStatus = 'queued' | 'running' | 'complete' | 'incomplete' | 'error';
113
+ /**
114
+ * Task queue state - for non-blocking task execution
115
+ * QUEUED: Waiting to be executed
116
+ * RUNNING: Currently executing
117
+ * COMPLETE/INCOMPLETE/ERROR: Terminal states
118
+ */
119
+ export type TaskQueueState = 'QUEUED' | 'RUNNING' | 'COMPLETE' | 'INCOMPLETE' | 'ERROR';
120
+ /**
121
+ * Queued task structure for non-blocking execution
122
+ * Allows multiple tasks to be submitted while previous tasks are running
123
+ */
124
+ export interface QueuedTask {
125
+ /** Task ID (task-{timestamp}) */
126
+ id: string;
127
+ /** Task description / prompt */
128
+ description: string;
129
+ /** Current state */
130
+ state: TaskQueueState;
131
+ /** Timestamp when queued */
132
+ queuedAt: number;
133
+ /** Timestamp when started (null if not started) */
134
+ startedAt: number | null;
135
+ /** Timestamp when completed (null if not completed) */
136
+ completedAt: number | null;
137
+ /** Result status (set on completion) */
138
+ resultStatus?: string;
139
+ /** Error message (set on error) */
140
+ errorMessage?: string;
141
+ /** Files modified (set on completion) */
142
+ filesModified?: string[];
143
+ /** Response summary (set on completion) */
144
+ responseSummary?: string;
145
+ }
146
+ /**
147
+ * REPL session state - per spec 05_DATA_MODELS.md
148
+ * Extended with current_task_id / last_task_id tracking
110
149
  */
111
150
  interface REPLSession {
112
151
  sessionId: string | null;
@@ -114,6 +153,10 @@ interface REPLSession {
114
153
  runner: RunnerCore | null;
115
154
  supervisor: ExecutorSupervisor | null;
116
155
  status: 'idle' | 'running' | 'paused';
156
+ /** Currently running task ID (null when no task or terminal state) */
157
+ current_task_id: string | null;
158
+ /** Last completed/failed task ID (preserved across tasks) */
159
+ last_task_id: string | null;
117
160
  }
118
161
  /**
119
162
  * REPL Interface class
@@ -132,6 +175,8 @@ export declare class REPLInterface extends EventEmitter {
132
175
  private hasError;
133
176
  private hasIncompleteTasks;
134
177
  private sessionCompleted;
178
+ private taskQueue;
179
+ private isTaskWorkerRunning;
135
180
  private projectMode;
136
181
  private verificationRoot;
137
182
  private tempVerificationRoot;
@@ -229,14 +274,40 @@ export declare class REPLInterface extends EventEmitter {
229
274
  */
230
275
  processCommand(input: string): Promise<CommandResult>;
231
276
  /**
232
- * Process natural language input
277
+ * Check if input is a bare "exit" typo (should use /exit)
278
+ * Per spec 10_REPL_UX.md: Exit Typo Safety
279
+ * Pattern: ^exit\s*$ (case-insensitive, trimmed)
280
+ */
281
+ private isExitTypo;
282
+ /**
283
+ * Process natural language input - NON-BLOCKING
233
284
  * Per spec 10_REPL_UX.md L117-118: Model selection is REPL-local
234
285
  * Model is read from .claude/repl.json and passed to executor via runner
235
286
  *
287
+ * Non-blocking design:
288
+ * - Creates task and adds to queue immediately
289
+ * - Returns control to input prompt right away
290
+ * - Background worker processes tasks asynchronously
291
+ *
236
292
  * Auto-start: In non-interactive mode, automatically start a session if none exists
237
293
  * This improves CLI usability for piped input and scripting
294
+ *
295
+ * Exit Typo Safety (per spec 10_REPL_UX.md):
296
+ * - Detects bare "exit" input (without slash)
297
+ * - Shows error and suggests /exit
298
+ * - Never passes "exit" to Claude Code
238
299
  */
239
300
  private processNaturalLanguage;
301
+ /**
302
+ * Background task worker - processes queued tasks asynchronously
303
+ * Runs in background, allowing input to continue while tasks execute
304
+ */
305
+ private startTaskWorker;
306
+ /**
307
+ * Execute a single queued task
308
+ * Updates task state and prints results
309
+ */
310
+ private executeQueuedTask;
240
311
  /**
241
312
  * Handle clarification needed - prompt user interactively
242
313
  * Returns true if clarification was requested (and will be processed separately)
@@ -289,6 +360,8 @@ export declare class REPLInterface extends EventEmitter {
289
360
  private handleLogs;
290
361
  /**
291
362
  * Handle /tasks command
363
+ * Shows task queue with RUNNING/QUEUED/COMPLETE/ERROR/INCOMPLETE states
364
+ * Per redesign: proves non-blocking by showing multiple tasks simultaneously
292
365
  */
293
366
  private handleTasks;
294
367
  /**
@@ -313,14 +386,37 @@ export declare class REPLInterface extends EventEmitter {
313
386
  * Per spec 10_REPL_UX.md: Ensure clean exit with flushed output
314
387
  *
315
388
  * Guarantees:
389
+ * - Waits for running tasks to complete (task worker)
316
390
  * - Session state is persisted before exit
317
391
  * - All output is flushed before readline closes
318
392
  * - Double-completion is prevented via sessionCompleted flag
319
393
  */
320
394
  private handleExit;
395
+ /**
396
+ * Map OverallStatus to TaskLogStatus
397
+ * Per spec 05_DATA_MODELS.md: Terminal states are complete/incomplete/error
398
+ */
399
+ private mapToTaskLogStatus;
400
+ /**
401
+ * Check if status is terminal
402
+ * Per spec 05_DATA_MODELS.md: Terminal states are complete/incomplete/error
403
+ */
404
+ private isTerminalStatus;
405
+ /**
406
+ * Print immediate summary block
407
+ * Per spec 10_REPL_UX.md: Immediate Summary Output
408
+ *
409
+ * COMPLETE (4 lines fixed):
410
+ * RESULT: COMPLETE / TASK / NEXT: (none) / HINT
411
+ *
412
+ * INCOMPLETE/ERROR (5 lines fixed, WHY required):
413
+ * RESULT / TASK / NEXT: /logs <id> / WHY / HINT
414
+ */
415
+ private printImmediateSummary;
321
416
  /**
322
417
  * Print execution result
323
418
  * Per spec 10_REPL_UX.md: Error details must be visible for fail-closed debugging
419
+ * Also prints Immediate Summary for terminal states (per Property 39)
324
420
  */
325
421
  private printExecutionResult;
326
422
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"repl-interface.d.ts","sourceRoot":"","sources":["../../src/repl/repl-interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repl-interface.d.ts","sourceRoot":"","sources":["../../src/repl/repl-interface.ts"],"names":[],"mappings":"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"}