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.
- package/dist/core/runner-core.d.ts +17 -0
- package/dist/core/runner-core.d.ts.map +1 -1
- package/dist/core/runner-core.js +46 -3
- package/dist/core/runner-core.js.map +1 -1
- package/dist/executor/recovery-executor.d.ts +101 -0
- package/dist/executor/recovery-executor.d.ts.map +1 -0
- package/dist/executor/recovery-executor.js +228 -0
- package/dist/executor/recovery-executor.js.map +1 -0
- package/dist/logging/task-log-manager.d.ts +17 -2
- package/dist/logging/task-log-manager.d.ts.map +1 -1
- package/dist/logging/task-log-manager.js +153 -63
- package/dist/logging/task-log-manager.js.map +1 -1
- package/dist/models/repl/task-log.d.ts +9 -0
- package/dist/models/repl/task-log.d.ts.map +1 -1
- package/dist/models/repl/task-log.js.map +1 -1
- package/dist/repl/commands/keys.d.ts.map +1 -1
- package/dist/repl/commands/keys.js +9 -1
- package/dist/repl/commands/keys.js.map +1 -1
- package/dist/repl/commands/logs.d.ts +3 -1
- package/dist/repl/commands/logs.d.ts.map +1 -1
- package/dist/repl/commands/logs.js +23 -3
- package/dist/repl/commands/logs.js.map +1 -1
- package/dist/repl/commands/status.d.ts +21 -3
- package/dist/repl/commands/status.d.ts.map +1 -1
- package/dist/repl/commands/status.js +205 -60
- package/dist/repl/commands/status.js.map +1 -1
- package/dist/repl/repl-interface.d.ts +98 -2
- package/dist/repl/repl-interface.d.ts.map +1 -1
- package/dist/repl/repl-interface.js +366 -34
- package/dist/repl/repl-interface.js.map +1 -1
- package/package.json +5 -2
|
@@ -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
|
|
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.
|
|
129
|
+
return this.formatTasksImproved(taskResults);
|
|
63
130
|
}
|
|
64
131
|
catch (err) {
|
|
65
|
-
return
|
|
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:
|
|
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:
|
|
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
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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(
|
|
225
|
+
lines.push('Tasks: ' + completed + '/' + total + ' completed');
|
|
130
226
|
}
|
|
131
227
|
if (overallStatus) {
|
|
132
|
-
lines.push(
|
|
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
|
-
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
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":";AAAA;;;
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAoB,MAAM,mCAAmC,CAAC;AAkBzF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3C;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACrC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED
|
|
1
|
+
{"version":3,"file":"repl-interface.d.ts","sourceRoot":"","sources":["../../src/repl/repl-interface.ts"],"names":[],"mappings":"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"}
|