Browse Source

feat: add lifecycle methods to BackgroundJobStore interface

Michael Henke 2 months ago
parent
commit
4e9b169eb4
1 changed files with 9 additions and 0 deletions
  1. 9 0
      src/utils/background-job-store.ts

+ 9 - 0
src/utils/background-job-store.ts

@@ -67,4 +67,13 @@ export interface BackgroundJobStore {
   hasTerminalUnreconciled(parentSessionID: string): boolean;
   hasConvergenceSignals(taskID: string, threshold?: number): boolean;
   formatForPrompt(parentSessionID: string, now?: number): string | undefined;
+
+  // ── Lifecycle policy ─────────────────────────────────────────────
+  /** Evaluate close policy. Returns true if session should close now.
+   *  Mutates deferred state: adds to deferred set if running, removes if not. */
+  deferIfRunning(sessionId: string): boolean;
+  /** Retry closing a deferred session. Returns true if session should now close. */
+  retryDeferredClose(sessionId: string): boolean;
+  /** Clear deferred close state for a session being deleted. */
+  clearDeferredClose(sessionId: string): void;
 }