pi-long-task 0.3.14 → 0.3.15
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/CHANGELOG.md +7 -0
- package/package.json +1 -1
- package/src/index.ts +13 -7
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Notable changes to Pi Long Task are recorded here. This project follows semantic versioning.
|
|
4
4
|
|
|
5
|
+
## 0.3.15 - 2026-08-20
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Show the full active task status in a dedicated "Active status" section below the active task in the TUI sidebar, wrapping instead of truncating long status messages.
|
|
10
|
+
- Wrap the active task status message and current task line in the plain widget fallback instead of hard-truncating them.
|
|
11
|
+
|
|
5
12
|
## 0.3.14 - 2026-08-20
|
|
6
13
|
|
|
7
14
|
### Documentation and metadata
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-long-task",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.15",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Pi coding agent extension that breaks large coding requests into tracked TODOs and runs them in isolated AI worker sessions. A long-running task runner and subagent orchestrator for Pi, with a live TUI progress sidebar, retries, goal loops, and optional per-task git commits.",
|
|
6
6
|
"keywords": [
|
package/src/index.ts
CHANGED
|
@@ -275,7 +275,10 @@ function renderSidebarWidgetLines(update: CoordinatorProgressUpdate): string[] {
|
|
|
275
275
|
const progress = update.taskProgress;
|
|
276
276
|
const summary = progress?.summary;
|
|
277
277
|
const statusDetails = sidebarUpdateStateDetails(update);
|
|
278
|
-
const lines = [
|
|
278
|
+
const lines = [
|
|
279
|
+
"Pi Long Task",
|
|
280
|
+
...wrapPlainText(`${statusDetails.icon} ${statusDetails.label} · ${update.message}`, 96),
|
|
281
|
+
];
|
|
279
282
|
if (summary) {
|
|
280
283
|
lines.push(
|
|
281
284
|
`Tasks: ${summary.completedTasks}/${summary.totalTasks} · ${summary.completedPercent}%` +
|
|
@@ -290,7 +293,9 @@ function renderSidebarWidgetLines(update: CoordinatorProgressUpdate): string[] {
|
|
|
290
293
|
const currentTask = currentIndex >= 0 ? progress.tasks[currentIndex] : undefined;
|
|
291
294
|
if (currentTask) {
|
|
292
295
|
const details = taskStatusDetails(currentTask.status);
|
|
293
|
-
lines.push(
|
|
296
|
+
lines.push(
|
|
297
|
+
...wrapPlainText(`${details.label}: ${details.icon} TODO ${currentTask.taskId} — ${currentTask.title}`, 96),
|
|
298
|
+
);
|
|
294
299
|
}
|
|
295
300
|
}
|
|
296
301
|
if (update.workerCostTotal > 0) {
|
|
@@ -346,11 +351,6 @@ function renderSidebarRows(update: CoordinatorProgressUpdate | undefined, theme:
|
|
|
346
351
|
}
|
|
347
352
|
rows.push(renderSidebarStateLine(update, theme));
|
|
348
353
|
|
|
349
|
-
const message = normalizeMessageForSidebar(update.message, update);
|
|
350
|
-
if (message) {
|
|
351
|
-
rows.push(...wrapPlainText(message, width, 2).map((line) => theme.fg("dim", line)));
|
|
352
|
-
}
|
|
353
|
-
|
|
354
354
|
if (!progress || progress.tasks.length === 0) {
|
|
355
355
|
rows.push("", sidebarHeading("Context", theme), theme.fg("muted", "Waiting for TODO plan"));
|
|
356
356
|
if (update.workerCostTotal > 0) {
|
|
@@ -397,6 +397,12 @@ function renderSidebarRows(update: CoordinatorProgressUpdate | undefined, theme:
|
|
|
397
397
|
rows.push(theme.fg("success", "No active task"));
|
|
398
398
|
}
|
|
399
399
|
|
|
400
|
+
const message = normalizeMessageForSidebar(update.message, update);
|
|
401
|
+
if (currentTask && message) {
|
|
402
|
+
rows.push("", sidebarHeading("Active status", theme));
|
|
403
|
+
rows.push(...wrapPlainText(message, width, 6).map((line) => theme.fg("dim", line)));
|
|
404
|
+
}
|
|
405
|
+
|
|
400
406
|
rows.push("", sidebarHeading("Task timeline", theme));
|
|
401
407
|
const taskIndexes = centeredTaskIndexes(progress.tasks.length, currentIndex, 9);
|
|
402
408
|
const first = taskIndexes[0] ?? 0;
|