feat: strengthen task workflow and compaction recovery

This commit is contained in:
lesetong
2026-07-23 01:23:10 +08:00
parent fe05b278a4
commit 7d876735b2
13 changed files with 380 additions and 81 deletions
+16
View File
@@ -1,5 +1,10 @@
import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent";
import { clearCurrentTask, reportCurrentTask } from "./src/herdr.ts";
import {
COMPACTION_REMINDER,
COMPACTION_REMINDER_TYPE,
hasUnfinishedTasks,
} from "./src/prompt.ts";
import { TaskState } from "./src/state.ts";
import { registerTaskTools } from "./src/tools.ts";
import { clearTaskWidget, updateTaskWidget } from "./src/widget.ts";
@@ -23,6 +28,17 @@ export default function piTodoHerdr(pi: ExtensionAPI): void {
pi.on("session_shutdown", async (event) => {
if (event.reason === "quit") await clearCurrentTask();
});
pi.on("session_compact", () => {
if (!hasUnfinishedTasks(state.list())) return;
pi.sendMessage(
{
customType: COMPACTION_REMINDER_TYPE,
content: COMPACTION_REMINDER,
display: false,
},
{ deliverAs: "steer" },
);
});
registerTaskTools(pi, state, refresh);