import type { ThinkingLevel } from "@ch1nyzzz/pi-agent-core"; import type { EvoPaths } from "../paths.ts"; import type { ModelRunner } from "../reflect/model-runner.ts"; export interface TriageHypothesis { direction: string; summary: string; evidenceSessions: string[]; } export interface SessionTriageOutcome { /** False when fewer than `everyNSessions` new complete sessions accumulated. */ ran: boolean; newSessions: number; hypotheses: TriageHypothesis[]; inboxFiles: string[]; } export interface RunSessionTriageOptions { paths: EvoPaths; runner: ModelRunner; model: string; thinkingLevel?: ThinkingLevel; everyNSessions: number; cwd?: string; agentDir?: string; signal?: AbortSignal; now?: () => Date; } export interface SessionTriageStatus { /** ISO timestamp of the last triage run, absent when triage never ran. */ lastRunAt?: string; /** Complete sessions recorded since the cursor (all sessions when no cursor). */ newSessions: number; } /** Read-only view of the triage cursor and the backlog behind it. */ export declare function getSessionTriageStatus(paths: EvoPaths): Promise; /** * The streaming-triage stage: every N completed sessions, a minimum-cost model * scans the new session digests and files structured improvement hypotheses * into the inbox, where the (expensive) research phase later consumes them as * pre-triaged evidence. Never advances the evolution evidence cursor. */ export declare function runSessionTriage(options: RunSessionTriageOptions): Promise; //# sourceMappingURL=triage.d.ts.map