fix(interactive-subagents): harden parallel lifecycle delivery
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
||||
import { Box, Text } from "@earendil-works/pi-tui";
|
||||
import { Type } from "typebox";
|
||||
import { writeFileSync } from "node:fs";
|
||||
import { renameSync, writeFileSync } from "node:fs";
|
||||
import { createSubagentActivityRecorder } from "./activity.ts";
|
||||
|
||||
export function shouldMarkUserTookOver(agentStarted: boolean): boolean {
|
||||
@@ -373,7 +373,10 @@ export default function (pi: ExtensionAPI) {
|
||||
agent: process.env.PI_SUBAGENT_AGENT ?? "",
|
||||
question: params.question,
|
||||
};
|
||||
writeFileSync(`${sessionFile}.ask`, JSON.stringify(askData));
|
||||
const askFile = `${sessionFile}.ask`;
|
||||
const tempAskFile = `${askFile}.tmp-${process.pid}-${Math.random().toString(16).slice(2, 8)}`;
|
||||
writeFileSync(tempAskFile, JSON.stringify(askData));
|
||||
renameSync(tempAskFile, askFile);
|
||||
|
||||
return {
|
||||
content: [
|
||||
|
||||
Reference in New Issue
Block a user