feat: package Pi extensions as Bun workspaces
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import type { Task } from "./types.ts";
|
||||
import { orderedTreeRows } from "./ui.ts";
|
||||
|
||||
export const COMPACTION_REMINDER_TYPE = "pi-todo-herdr-compaction";
|
||||
export const COMPACTION_REMINDER =
|
||||
"Active tasks exist. Call list_task now; treat its result as authoritative.";
|
||||
|
||||
export const TASK_PROMPT_GUIDELINES = [
|
||||
"For work with 3+ distinct steps, explore enough to understand the scope, then call set_tasks before implementation; otherwise skip tracking. Start one task in-progress.",
|
||||
"Use patch_tasks when tasks start, block, or finish; keep statuses accurate before the final response.",
|
||||
];
|
||||
|
||||
export function formatCompactTaskTree(tasks: Task[]): string {
|
||||
if (tasks.length === 0) return "No tasks.";
|
||||
return orderedTreeRows(tasks)
|
||||
.map(({ task, prefix }) => `${prefix}${task.id} [${task.status}] ${task.name}`)
|
||||
.join("\n");
|
||||
}
|
||||
|
||||
export function hasUnfinishedTasks(tasks: Task[]): boolean {
|
||||
return tasks.some((task) => task.status !== "done");
|
||||
}
|
||||
Reference in New Issue
Block a user