import type { ContextPercentProbe } from '../../services/context/auto-compact-types.js'; /** * The harness half of the probe: the window sync, its warning, the witness read * and its notice. Lifted verbatim from the action body — it reads only its * parameters. */ export declare function readContextNowHarness(canonicalProjectRoot: string, sessionId: string, outerSessionId: string | null | undefined, probe: ContextPercentProbe): { harnessWindow: import("../../services/context/harness-window-config.js").HarnessWindowSyncResult | null; harnessWindowWarning: string | null; harnessWitness: import("../../services/context/harness-context-witness.js").HarnessWitnessComparison; witnessNotice: string | null; }; type ContextNowHarness = ReturnType; /** * Slice H4 (rid=h4-context-now-mode-blind): ONE table, ONE mode * resolver. The hard-coded ladder that used to live in the action read no mode * at all, so on a 24h run (`partial` = 0.65/0.70/0.85) it answered `soft-warn` * + `next: null` across [0.70, 0.85) — the band in which * `peaks code auto-compact` had already decided to compact. */ export declare function resolveContextNowDecision(canonicalProjectRoot: string, ratio: number, isJobMode: boolean): { action: "ok" | "soft-warn" | "red-line" | "auto-compact-now"; next: string | null; verdict: string; bands: { softWarn: string; preCompact: string; redLine: string; preCompactRatio: string; redLineRatio: string; }; gateModeNotice: string; }; type ContextNowDecision = ReturnType; /** The envelope's `data` record, lifted verbatim out of the action body. */ export declare function buildContextNowData(args: { probe: ContextPercentProbe; ratioPct: string; isJobMode: boolean; promptSizeBytes: number | undefined; decision: ContextNowDecision; harness: ContextNowHarness; }): { ratio: number; ratioPct: string; verdict: string; action: "ok" | "soft-warn" | "red-line" | "auto-compact-now"; next: string | null; jobMode: boolean; source: string; ide: string; capacityBytes: number | undefined; rawBytes: number | null; rawTokens: number | null; capacityTokens: number | null; capacitySource: string | null; bytesPrompt: number | null; capturedAt: string; harnessWindow: import("../../services/context/harness-window-config.js").HarnessWindowSyncResult | null; harnessWitness: import("../../services/context/harness-context-witness.js").HarnessWitnessComparison; }; /** The envelope's `warnings` array, lifted verbatim out of the action body. */ export declare function buildContextNowWarnings(harness: ContextNowHarness): string[]; /** The envelope's `nextActions` array, lifted verbatim out of the action body. */ export declare function buildContextNowNextActions(decision: ContextNowDecision, harness: ContextNowHarness): string[]; export {};