pi-agent-flow 2.3.4 → 2.3.5

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.
Files changed (54) hide show
  1. package/dist/batch/batch-bash.d.ts.map +1 -1
  2. package/dist/batch/batch-bash.js +23 -0
  3. package/dist/batch/batch-bash.js.map +1 -1
  4. package/dist/batch/execute.d.ts +3 -0
  5. package/dist/batch/execute.d.ts.map +1 -1
  6. package/dist/batch/execute.js +147 -17
  7. package/dist/batch/execute.js.map +1 -1
  8. package/dist/config/config.d.ts +6 -0
  9. package/dist/config/config.d.ts.map +1 -1
  10. package/dist/config/config.js +71 -21
  11. package/dist/config/config.js.map +1 -1
  12. package/dist/core2/snapshot.d.ts +9 -1
  13. package/dist/core2/snapshot.d.ts.map +1 -1
  14. package/dist/core2/snapshot.js +62 -74
  15. package/dist/core2/snapshot.js.map +1 -1
  16. package/dist/flow/command.d.ts.map +1 -1
  17. package/dist/flow/command.js +6 -0
  18. package/dist/flow/command.js.map +1 -1
  19. package/dist/flow/continuation.d.ts +10 -0
  20. package/dist/flow/continuation.d.ts.map +1 -1
  21. package/dist/flow/continuation.js +18 -0
  22. package/dist/flow/continuation.js.map +1 -1
  23. package/dist/flow/dump-io.d.ts +2 -2
  24. package/dist/flow/dump-io.d.ts.map +1 -1
  25. package/dist/flow/dump-io.js +16 -12
  26. package/dist/flow/dump-io.js.map +1 -1
  27. package/dist/flow/index.d.ts +2 -2
  28. package/dist/flow/index.d.ts.map +1 -1
  29. package/dist/flow/index.js +2 -2
  30. package/dist/flow/index.js.map +1 -1
  31. package/dist/flow/runner.d.ts.map +1 -1
  32. package/dist/flow/runner.js +45 -12
  33. package/dist/flow/runner.js.map +1 -1
  34. package/dist/flow/store.d.ts +14 -0
  35. package/dist/flow/store.d.ts.map +1 -1
  36. package/dist/flow/store.js +138 -8
  37. package/dist/flow/store.js.map +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +11 -3
  40. package/dist/index.js.map +1 -1
  41. package/dist/io/atomic-write.d.ts +7 -0
  42. package/dist/io/atomic-write.d.ts.map +1 -1
  43. package/dist/io/atomic-write.js +25 -0
  44. package/dist/io/atomic-write.js.map +1 -1
  45. package/dist/notify/notify.d.ts.map +1 -1
  46. package/dist/notify/notify.js +14 -2
  47. package/dist/notify/notify.js.map +1 -1
  48. package/dist/snapshot/runner-events.d.ts.map +1 -1
  49. package/dist/snapshot/runner-events.js +29 -2
  50. package/dist/snapshot/runner-events.js.map +1 -1
  51. package/dist/snapshot/structured-output.d.ts.map +1 -1
  52. package/dist/snapshot/structured-output.js +19 -7
  53. package/dist/snapshot/structured-output.js.map +1 -1
  54. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/flow/runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAG3D,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,WAAW,EAIhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKjF,OAAO,EAA8C,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAsB9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AA6ClE,KAAK,kBAAkB,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AA6B1E,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,CAAC;IACtD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAsgBzE;AAMD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAChD,KAAK,EAAE,GAAG,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAC7C,OAAO,CAAC,IAAI,EAAE,CAAC,CAgBjB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/flow/runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,aAAa,CAAC;AAG3D,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,WAAW,EAIhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKjF,OAAO,EAA8C,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAsB9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AA8ClE,KAAK,kBAAkB,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AA6B1E,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,CAAC;IACtD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAiiBzE;AAMD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAChD,KAAK,EAAE,GAAG,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAC7C,OAAO,CAAC,IAAI,EAAE,CAAC,CAgBjB"}
@@ -38,6 +38,7 @@ const FLOW_FINAL_URGE_MS = getEnvInt("PI_FLOW_FINAL_URGE_MS", 135 * 1000);
38
38
  const REPORTING_GRACE_MS = getEnvInt("PI_FLOW_REPORTING_GRACE_MS", 90_000);
39
39
  const SNAP_THRESHOLD_MS = getEnvInt("PI_FLOW_SNAP_THRESHOLD_MS", 120_000);
40
40
  const FLOW_TOOL_SUMMARY_GRACE_MS = FLOW_FINAL_URGE_MS;
41
+ const MAX_STDERR_BYTES = 100 * 1024; // 100KB cap for stderr accumulation
41
42
  import { FLOW_DEPTH_ENV, FLOW_MAX_DEPTH_ENV, FLOW_STACK_ENV, FLOW_PREVENT_CYCLES_ENV, FLOW_TOOL_OPTIMIZE_ENV, } from "./depth.js";
42
43
  import { computeChildPropagation, } from "./transition.js";
43
44
  const FLOW_DEADLINE_ENV = "PI_FLOW_DEADLINE_MS";
@@ -185,7 +186,9 @@ export async function runFlow(opts) {
185
186
  }
186
187
  const dumpPath = process.env[FLOW_DUMP_SNAPSHOT_ENV] || inheritedCliArgs.dumpPath;
187
188
  if (dumpPath) {
188
- cleanupStaleDumps(dumpPath, resolveDumpMaxAgeHours());
189
+ cleanupStaleDumps(dumpPath, resolveDumpMaxAgeHours()).catch((err) => {
190
+ logWarn(`[pi-agent-flow] Background cleanupStaleDumps failed: ${err}`);
191
+ });
189
192
  const effectiveTier = flow.tier ?? getFlowTier(flow.name);
190
193
  const sanitizationHeader = `<!-- pi-agent-flow dump | Flow: ${flow.name} | Tier: ${effectiveTier} | Pipeline: ${pipelineVersion} | Generated: ${new Date().toISOString()} -->`;
191
194
  const markdownParts = [
@@ -209,7 +212,9 @@ export async function runFlow(opts) {
209
212
  }
210
213
  }
211
214
  if (opts.debugMode) {
212
- cleanupStaleDebugDumps(cwd, resolveDumpMaxAgeHours());
215
+ cleanupStaleDebugDumps(cwd, resolveDumpMaxAgeHours()).catch((err) => {
216
+ logWarn(`[pi-agent-flow] Background cleanupStaleDebugDumps failed: ${err}`);
217
+ });
213
218
  const safeFlowName = flow.name.replace(/[^\w.-]+/g, "_");
214
219
  const uniqueSuffix = `${Date.now()}.${Math.random().toString(36).slice(2, 8)}`;
215
220
  const debugDir = getDebugDir(cwd, forkSessionSnapshotJsonl);
@@ -310,7 +315,7 @@ export async function runFlow(opts) {
310
315
  });
311
316
  proc.stdin.end();
312
317
  let abortHandler;
313
- let buffer = "";
318
+ let chunks = []; // Fix P2: Replace O(n^2) string concatenation with Buffer array accumulation
314
319
  let didClose = false;
315
320
  let settled = false;
316
321
  let timeoutFired = false;
@@ -318,6 +323,8 @@ export async function runFlow(opts) {
318
323
  let countdownTimer;
319
324
  let renderTimer;
320
325
  let finishKillTimer;
326
+ let hasNewData = false; // Fix P3: Dirty flag for render optimization
327
+ let stderrTruncated = false; // Fix P2: Prevent redundant stderr re-truncation
321
328
  const clearSemanticCompletionTimer = () => {
322
329
  if (semanticCompletionTimer) {
323
330
  clearTimeout(semanticCompletionTimer);
@@ -388,23 +395,38 @@ export async function runFlow(opts) {
388
395
  semanticCompletionTimer = setTimeout(() => {
389
396
  if (didClose || settled || !result.sawAgentEnd)
390
397
  return;
391
- if (buffer.trim()) {
392
- flushBufferedLines(buffer);
393
- buffer = "";
398
+ const text = Buffer.concat(chunks).toString();
399
+ if (text.trim()) {
400
+ flushBufferedLines(text);
401
+ chunks = [];
394
402
  }
395
403
  finish(0);
396
404
  }, AGENT_END_GRACE_MS);
397
405
  semanticCompletionTimer.unref();
398
406
  };
399
407
  const onStdoutData = (chunk) => {
400
- buffer += chunk.toString();
401
- const lines = buffer.split(/\r?\n/);
402
- buffer = lines.pop() || "";
408
+ hasNewData = true; // Fix P3: Set BEFORE data processing to avoid race condition
409
+ chunks.push(chunk);
410
+ const text = Buffer.concat(chunks).toString();
411
+ const lines = text.split(/\r?\n/);
412
+ const remainder = lines.pop() || "";
413
+ chunks = remainder ? [Buffer.from(remainder)] : [];
403
414
  for (const line of lines)
404
415
  flushLine(line);
405
416
  };
406
417
  const onStderrData = (chunk) => {
407
- result.stderr += chunk.toString();
418
+ // Fix P6: Cap stderr accumulation at 100KB to prevent unbounded growth
419
+ if (stderrTruncated)
420
+ return;
421
+ const chunkStr = chunk.toString();
422
+ if (result.stderr.length + chunkStr.length > MAX_STDERR_BYTES) {
423
+ stderrTruncated = true;
424
+ const keepBytes = Math.max(0, MAX_STDERR_BYTES - 1000);
425
+ result.stderr = result.stderr.slice(0, keepBytes) + "\n... [stderr truncated]";
426
+ }
427
+ else {
428
+ result.stderr += chunkStr;
429
+ }
408
430
  };
409
431
  proc.stdout.on("data", onStdoutData);
410
432
  proc.stderr.on("data", onStderrData);
@@ -412,6 +434,10 @@ export async function runFlow(opts) {
412
434
  renderTimer = setInterval(() => {
413
435
  if (didClose || settled)
414
436
  return;
437
+ // Fix P3: Skip render updates when no new streaming data arrived
438
+ if (!hasNewData)
439
+ return;
440
+ hasNewData = false;
415
441
  emitUpdate();
416
442
  }, 200);
417
443
  renderTimer.unref();
@@ -419,6 +445,10 @@ export async function runFlow(opts) {
419
445
  countdownTimer = setInterval(() => {
420
446
  if (didClose || settled)
421
447
  return;
448
+ // Fix P3: Skip render updates when no new streaming data arrived
449
+ if (!hasNewData)
450
+ return;
451
+ hasNewData = false;
422
452
  emitUpdate();
423
453
  }, 1000);
424
454
  countdownTimer.unref();
@@ -431,13 +461,16 @@ export async function runFlow(opts) {
431
461
  if (proc.pid !== undefined) {
432
462
  unregisterChildGroup(proc.pid);
433
463
  }
434
- if (buffer.trim())
435
- flushBufferedLines(buffer);
464
+ const text = Buffer.concat(chunks).toString();
465
+ if (text.trim())
466
+ flushBufferedLines(text);
436
467
  finish(code ?? 0);
437
468
  });
438
469
  proc.on("error", (err) => {
439
470
  if (!result.stderr.trim())
440
471
  result.stderr = err.message;
472
+ if (proc.pid !== undefined)
473
+ unregisterChildGroup(proc.pid); // Fix L1: Unregister child group on spawn error (error event suppresses close)
441
474
  finish(1);
442
475
  });
443
476
  if (signal) {
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/flow/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/flow/runner.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,20 @@
6
6
  import type { GoalEntry, GoalState, GoalStatus } from "./types.js";
7
7
  export declare function readState(cwd: string): GoalState;
8
8
  export declare function writeState(cwd: string, state: GoalState): void;
9
+ /** Flush all pending writes. For tests or graceful shutdown. */
10
+ export declare function flushAllStoreCaches(): Promise<void>;
11
+ /**
12
+ * Synchronous flush of all cached store entries.
13
+ *
14
+ * This is the **shutdown-path fallback** only. The normal async flush
15
+ * (`flushAllStoreCaches`) is preferred during normal operation because it
16
+ * yields to the event loop. `process.on('exit')` handlers cannot await,
17
+ * so this sync variant guarantees data is persisted before the process
18
+ * terminates.
19
+ */
20
+ export declare function flushAllStoreCachesSync(): void;
21
+ /** Clear the in-memory cache. For tests. */
22
+ export declare function _clearStoreCache(): void;
9
23
  export declare function getGoal(cwd: string): GoalEntry | undefined;
10
24
  export declare function getGoalForSession(cwd: string, sessionId: string | undefined): GoalEntry | undefined;
11
25
  export declare function setGoal(cwd: string, objective: string, opts?: {
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/flow/store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAanE,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAehD;AAeD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAE9D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAKnG;AAED,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACxF,SAAS,CAmCX;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAW3C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAQ3G;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,GAAG,SAAS,CAQvB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAClD,SAAS,GAAG,SAAS,CAevB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAU5E"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/flow/store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAwCnE,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAMhD;AAgCD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAO9D;AAkCD,gEAAgE;AAChE,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CA8B9C;AAED,4CAA4C;AAC5C,wBAAgB,gBAAgB,IAAI,IAAI,CAavC;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAKnG;AAED,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACxF,SAAS,CAmCX;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAW3C;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAQ3G;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,GAAG,SAAS,CAQvB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAClD,SAAS,GAAG,SAAS,CAevB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAU5E"}
@@ -6,16 +6,22 @@
6
6
  import * as fs from "node:fs";
7
7
  import * as path from "node:path";
8
8
  import { logWarn } from "../config/log.js";
9
- import { atomicWriteJsonSync } from "../io/atomic-write.js";
10
- function ensureDir(dir) {
11
- if (!fs.existsSync(dir)) {
12
- fs.mkdirSync(dir, { recursive: true });
13
- }
14
- }
9
+ import { atomicWriteJsonSync, atomicWriteJsonAsync } from "../io/atomic-write.js";
10
+ /*
11
+ * NOTE: No manual ensureDir is needed here. atomicWriteFile{Sync,Async}
12
+ * already creates the target directory via recursive mkdir.
13
+ */
15
14
  function getStorePath(cwd) {
16
15
  return path.join(cwd, ".pi", "flow.json");
17
16
  }
18
- export function readState(cwd) {
17
+ // Fix P9: Use in-memory cache with async flush to avoid blocking the event loop on goal state I/O
18
+ const _cache = new Map();
19
+ const _flushScheduled = new Set();
20
+ const _inFlightFlushes = new Map();
21
+ const _flushHandles = new Map();
22
+ const _flushResolvers = new Map();
23
+ const _syncFlushGeneration = new Map(); // Generation counter for sync/async flush coordination
24
+ function readFromDisk(cwd) {
19
25
  const filePath = getStorePath(cwd);
20
26
  if (!fs.existsSync(filePath)) {
21
27
  return { history: [] };
@@ -34,6 +40,17 @@ export function readState(cwd) {
34
40
  return { history: [] };
35
41
  }
36
42
  }
43
+ function deepCopy(obj) {
44
+ return JSON.parse(JSON.stringify(obj));
45
+ }
46
+ export function readState(cwd) {
47
+ const cached = _cache.get(cwd);
48
+ if (cached)
49
+ return deepCopy(cached);
50
+ const state = readFromDisk(cwd);
51
+ _cache.set(cwd, state);
52
+ return deepCopy(state);
53
+ }
37
54
  const MAX_HISTORY_ENTRIES = 5;
38
55
  const MAX_INTENT_LENGTH = 200;
39
56
  function pruneHistory(state) {
@@ -44,8 +61,121 @@ function pruneHistory(state) {
44
61
  function truncateIntent(intent) {
45
62
  return intent.length > MAX_INTENT_LENGTH ? intent.slice(0, MAX_INTENT_LENGTH) : intent;
46
63
  }
64
+ function _scheduleFlush(cwd) {
65
+ if (_inFlightFlushes.has(cwd))
66
+ return;
67
+ const promise = new Promise((resolve) => {
68
+ _flushResolvers.set(cwd, resolve);
69
+ const handle = setImmediate(() => {
70
+ _flushHandles.delete(cwd);
71
+ flushState(cwd).finally(() => {
72
+ _flushResolvers.delete(cwd);
73
+ resolve();
74
+ });
75
+ });
76
+ _flushHandles.set(cwd, handle);
77
+ });
78
+ _inFlightFlushes.set(cwd, promise);
79
+ promise.finally(() => _inFlightFlushes.delete(cwd));
80
+ }
47
81
  export function writeState(cwd, state) {
48
- atomicWriteJsonSync(getStorePath(cwd), state);
82
+ _cache.set(cwd, deepCopy(state));
83
+ _flushScheduled.add(cwd);
84
+ // Capture generation at scheduling time. If a sync flush increments the
85
+ // counter before this async flush runs, the flush will detect the mismatch
86
+ // and abort its rename to avoid overwriting fresher data.
87
+ _scheduleFlush(cwd);
88
+ }
89
+ async function flushState(cwd) {
90
+ while (_flushScheduled.has(cwd)) {
91
+ _flushScheduled.delete(cwd);
92
+ const state = _cache.get(cwd);
93
+ if (!state)
94
+ return;
95
+ // Capture generation at entry. If a sync flush increments this counter
96
+ // while our async write is in-flight, our data becomes stale.
97
+ const capturedGeneration = _syncFlushGeneration.get(cwd) ?? 0;
98
+ try {
99
+ await atomicWriteJsonAsync(getStorePath(cwd), state, {
100
+ // If a sync flush incremented the generation during our async write,
101
+ // the sync flush already persisted the latest state. Abort our rename
102
+ // to avoid overwriting it with stale data.
103
+ shouldAbort: () => (_syncFlushGeneration.get(cwd) ?? 0) !== capturedGeneration,
104
+ });
105
+ }
106
+ catch (err) {
107
+ logWarn(`[pi-agent-flow] Async flush failed for ${cwd}: ${err instanceof Error ? err.message : String(err)}`);
108
+ return;
109
+ }
110
+ // If a sync flush happened while we were writing, the sync flush already
111
+ // persisted the latest state. Continue to process any newly scheduled writes.
112
+ if ((_syncFlushGeneration.get(cwd) ?? 0) !== capturedGeneration) {
113
+ continue;
114
+ }
115
+ // Loop if more writes were scheduled during the async write
116
+ }
117
+ }
118
+ /** Flush all pending writes. For tests or graceful shutdown. */
119
+ export function flushAllStoreCaches() {
120
+ // Ensure every scheduled cwd has an in-flight flush
121
+ for (const cwd of Array.from(_flushScheduled)) {
122
+ _scheduleFlush(cwd);
123
+ }
124
+ // Wait for all in-flight flushes (deduplicated per cwd)
125
+ return Promise.all(Array.from(_inFlightFlushes.values())).then(() => { });
126
+ }
127
+ /**
128
+ * Synchronous flush of all cached store entries.
129
+ *
130
+ * This is the **shutdown-path fallback** only. The normal async flush
131
+ * (`flushAllStoreCaches`) is preferred during normal operation because it
132
+ * yields to the event loop. `process.on('exit')` handlers cannot await,
133
+ * so this sync variant guarantees data is persisted before the process
134
+ * terminates.
135
+ */
136
+ export function flushAllStoreCachesSync() {
137
+ for (const cwd of Array.from(_cache.keys())) {
138
+ const state = _cache.get(cwd);
139
+ if (!state)
140
+ continue;
141
+ // Cancel any pending setImmediate flush and resolve its promise
142
+ const handle = _flushHandles.get(cwd);
143
+ if (handle) {
144
+ clearImmediate(handle);
145
+ _flushHandles.delete(cwd);
146
+ const resolver = _flushResolvers.get(cwd);
147
+ if (resolver) {
148
+ resolver();
149
+ _flushResolvers.delete(cwd);
150
+ }
151
+ }
152
+ _flushScheduled.delete(cwd);
153
+ // Increment generation BEFORE writing. This ensures any in-flight async
154
+ // flush will see the generation change and abort its rename.
155
+ const currentGen = _syncFlushGeneration.get(cwd) ?? 0;
156
+ _syncFlushGeneration.set(cwd, currentGen + 1);
157
+ try {
158
+ atomicWriteJsonSync(getStorePath(cwd), state);
159
+ }
160
+ catch (err) {
161
+ logWarn(`[pi-agent-flow] Sync flush failed for ${cwd}: ${err instanceof Error ? err.message : String(err)}`);
162
+ }
163
+ }
164
+ }
165
+ /** Clear the in-memory cache. For tests. */
166
+ export function _clearStoreCache() {
167
+ for (const handle of _flushHandles.values()) {
168
+ clearImmediate(handle);
169
+ }
170
+ for (const resolver of _flushResolvers.values()) {
171
+ resolver();
172
+ }
173
+ _flushHandles.clear();
174
+ _flushResolvers.clear();
175
+ _cache.clear();
176
+ _flushScheduled.clear();
177
+ _inFlightFlushes.clear();
178
+ _syncFlushGeneration.clear();
49
179
  }
50
180
  export function getGoal(cwd) {
51
181
  return readState(cwd).current;
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/flow/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/flow/store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AA2DtF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAE7B,OAAO,CAAC,MAAM,CAAC;IACd,IAAI,mCAAmC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7D;AAyFD,eAAO,MAAM,UAAU,KAgCrB,CAAC;AAKH,eAAO,MAAM,qBAAqB,iSAC6P,CAAC;AAEhS,eAAO,MAAM,wBAAwB,+FACwD,CAAC;AAE9F,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAKxD,CAAC;AAuEF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAM5D,MAAM,CAAC,OAAO,WAAW,EAAE,EAAE,YAAY,QAknBxC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AA6DtF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAE7B,OAAO,CAAC,MAAM,CAAC;IACd,IAAI,mCAAmC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7D;AAyFD,eAAO,MAAM,UAAU,KAgCrB,CAAC;AAKH,eAAO,MAAM,qBAAqB,iSAC6P,CAAC;AAEhS,eAAO,MAAM,wBAAwB,+FACwD,CAAC;AAE9F,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAKxD,CAAC;AAuEF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAM5D,MAAM,CAAC,OAAO,WAAW,EAAE,EAAE,YAAY,QAynBxC"}
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ import { resetLoopGuard } from "./tools/loop-guard.js";
18
18
  import { createBatchTool, createBatchReadTool, BashProcessTracker, createBatchBashPollTool, runBashWithLimits, } from "./batch/index.js";
19
19
  import { createAskUserTool } from "./tools/ask-user.js";
20
20
  import { stripSteeringHintText, stripSteeringHintsFromMessages, makeSteeringHintMessage, configureSteering, } from "./steering/sliding-prompt.js";
21
- import { registerFlow, getGoal, getGoalForSession, recordFlowCompletion, addTokens, shutdownWakeup } from "./flow/index.js";
21
+ import { registerFlow, getGoal, getGoalForSession, recordFlowCompletion, addTokens, shutdownWakeup, clearAllContinuationState, flushAllStoreCachesSync } from "./flow/index.js";
22
22
  import * as sessionRegistry from "./flow/session-registry.js";
23
23
  import { createTimedBashToolDefinition } from "./tools/timed-bash.js";
24
24
  import { createTraceTool } from "./tools/trace.js";
@@ -28,7 +28,7 @@ import { runWebOps } from "./tools/web-ops.js";
28
28
  import { BASH_DEFAULT_TIMEOUT_MS } from "./batch/constants.js";
29
29
  import { resolveFlowDepthConfig, } from "./flow/depth.js";
30
30
  import { buildSnapshotWithCompression, parseSharedContext } from "./core2/snapshot.js";
31
- import { resolveFlowModelCandidates, resolveModelContextWindow, } from "./config/config.js";
31
+ import { resolveFlowModelCandidates, resolveModelContextWindow, invalidateSettingsCache, flushAllSettingsCachesSync, } from "./config/config.js";
32
32
  import { resolveSettings, } from "./config/settings-resolver.js";
33
33
  import { getSkipFlowTools, clearClassificationCache } from "./tools/skip-flow.js";
34
34
  import { scrambleManager } from "./tui/scramble/index.js";
@@ -292,9 +292,10 @@ export default function (pi) {
292
292
  let _sessionCtx;
293
293
  let bashTracker;
294
294
  // Auto-discover flows on session start
295
+ // Fix L2: registerFlow() already handles sessionRegistry.register() — removed duplicate here.
295
296
  pi.on("session_start", async (_event, ctx) => {
296
297
  clearClassificationCache();
297
- sessionRegistry.register(ctx.cwd, ctx.sessionManager.getSessionId());
298
+ invalidateSettingsCache();
298
299
  _sessionCtx = ctx;
299
300
  resolved = resolveSettings(pi, ctx.cwd);
300
301
  // Wire resolved settings to modules
@@ -330,8 +331,12 @@ export default function (pi) {
330
331
  }
331
332
  });
332
333
  // Clean up global mutable state on session shutdown
334
+ // Fix L2: Clean up session registry on shutdown.
333
335
  pi.on("session_shutdown", () => {
336
+ if (_sessionCtx)
337
+ sessionRegistry.unregister(_sessionCtx.cwd);
334
338
  shutdownWakeup();
339
+ clearAllContinuationState(); // Fix L3: Prevent unbounded Map growth by cleaning up session tracking state
335
340
  _sessionCtx = undefined;
336
341
  // bashTracker and its pending OS processes are discarded on restart.
337
342
  // This is expected — child process state is not serializable.
@@ -753,6 +758,9 @@ export default function (pi) {
753
758
  }
754
759
  terminateAllChildGroups();
755
760
  shutdownWakeup();
761
+ clearAllContinuationState(); // Fix L3: Prevent unbounded Map growth by cleaning up session tracking state
762
+ flushAllStoreCachesSync(); // Fix P9: Ensure goal state is persisted before process exit
763
+ flushAllSettingsCachesSync(); // Fix P17: Ensure settings are persisted before process exit
756
764
  if (typeof pi.emit === "function") {
757
765
  pi.emit("pi-agent-flow:shutdown", { reason: "process-exit" });
758
766
  }