@masslessai/push-todo 3.6.9 → 3.7.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.
- package/lib/daemon.js +3 -3
- package/lib/utils/format.js +6 -0
- package/lib/watch.js +2 -2
- package/package.json +1 -1
package/lib/daemon.js
CHANGED
|
@@ -341,7 +341,7 @@ async function updateTaskStatus(displayNumber, status, extra = {}) {
|
|
|
341
341
|
// Auto-generate execution event for timeline
|
|
342
342
|
if (!payload.event) {
|
|
343
343
|
const eventType = status === 'running' ? 'started'
|
|
344
|
-
: status === '
|
|
344
|
+
: status === 'session_finished' ? 'session_finished'
|
|
345
345
|
: status === 'failed' ? 'failed'
|
|
346
346
|
: null;
|
|
347
347
|
if (eventType) {
|
|
@@ -940,7 +940,7 @@ function handleTaskCompletion(displayNumber, exitCode) {
|
|
|
940
940
|
executionSummary += ` PR: ${prUrl}`;
|
|
941
941
|
}
|
|
942
942
|
|
|
943
|
-
updateTaskStatus(displayNumber, '
|
|
943
|
+
updateTaskStatus(displayNumber, 'session_finished', {
|
|
944
944
|
duration,
|
|
945
945
|
sessionId,
|
|
946
946
|
summary: executionSummary
|
|
@@ -960,7 +960,7 @@ function handleTaskCompletion(displayNumber, exitCode) {
|
|
|
960
960
|
summary,
|
|
961
961
|
completedAt: new Date().toISOString(),
|
|
962
962
|
duration,
|
|
963
|
-
status: '
|
|
963
|
+
status: 'session_finished',
|
|
964
964
|
prUrl,
|
|
965
965
|
sessionId
|
|
966
966
|
});
|
package/lib/utils/format.js
CHANGED
|
@@ -58,6 +58,8 @@ export function formatTaskForDisplay(task) {
|
|
|
58
58
|
statusPrefix = '🔄 '; // Running on Mac
|
|
59
59
|
} else if (execStatus === 'queued') {
|
|
60
60
|
statusPrefix = '⚡ '; // Queued for Mac
|
|
61
|
+
} else if (execStatus === 'session_finished') {
|
|
62
|
+
statusPrefix = '🏁 '; // Session finished on Mac
|
|
61
63
|
} else if (execStatus === 'failed') {
|
|
62
64
|
statusPrefix = '❌ '; // Failed
|
|
63
65
|
} else if (execStatus === 'needs_clarification') {
|
|
@@ -135,6 +137,8 @@ export function formatTaskForDisplay(task) {
|
|
|
135
137
|
lines.push('**Status:** 🔄 Running');
|
|
136
138
|
} else if (execStatus === 'queued') {
|
|
137
139
|
lines.push('**Status:** ⚡ Queued for Mac execution');
|
|
140
|
+
} else if (execStatus === 'session_finished') {
|
|
141
|
+
lines.push('**Status:** 🏁 Session finished');
|
|
138
142
|
} else if (execStatus === 'failed') {
|
|
139
143
|
const error = task.executionError || task.execution_error || 'Unknown error';
|
|
140
144
|
lines.push(`**Status:** ❌ Failed: ${error}`);
|
|
@@ -223,6 +227,8 @@ export function formatTaskTable(tasks) {
|
|
|
223
227
|
status = '🔄 Running';
|
|
224
228
|
} else if (taskExecStatus === 'queued') {
|
|
225
229
|
status = '⚡ Queued';
|
|
230
|
+
} else if (taskExecStatus === 'session_finished') {
|
|
231
|
+
status = '🏁 Finished';
|
|
226
232
|
} else if (taskExecStatus === 'failed') {
|
|
227
233
|
status = '❌ Failed';
|
|
228
234
|
} else if (task.isBacklog || task.is_backlog) {
|
package/lib/watch.js
CHANGED
|
@@ -50,7 +50,7 @@ function formatTaskLine(task) {
|
|
|
50
50
|
statusIcon = '●';
|
|
51
51
|
statusColor = codes.green;
|
|
52
52
|
break;
|
|
53
|
-
case '
|
|
53
|
+
case 'session_finished':
|
|
54
54
|
statusIcon = '✓';
|
|
55
55
|
statusColor = codes.green;
|
|
56
56
|
break;
|
|
@@ -191,7 +191,7 @@ function formatUI(status) {
|
|
|
191
191
|
lines.push('');
|
|
192
192
|
|
|
193
193
|
for (const task of completedToday.slice(-3)) {
|
|
194
|
-
lines.push(formatTaskLine({ ...task, status: '
|
|
194
|
+
lines.push(formatTaskLine({ ...task, status: 'session_finished' }));
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
if (completedToday.length > 3) {
|