feat: strengthen task workflow and compaction recovery
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user