import type { FnState } from "./runtime-state.ts"; export interface CooldownRule { atCount: number; cooldownTurns: number; } export interface SafetyConfig { globalMaxTurns: number; perFnMax: number; /** * When `continuationCount` reaches `atCount`, force a cooldown of * `cooldownTurns` turns. Defaults to {@link DEFAULT_COOLDOWN_RULES}. */ cooldownRules?: CooldownRule[]; } export declare const DEFAULT_COOLDOWN_RULES: CooldownRule[]; export interface ContinuationDecision { shouldContinue: boolean; reminder?: string; reason: string; } export interface ContinuationInput { fnName: string; st: FnState; reason: string; cfg: SafetyConfig; totalContinuationsThisBurst: number; lastTwoOutputsIdentical?: boolean; modelAskedQuestion?: boolean; } /** * SIDE EFFECT: when continuation is allowed this mutates `opts.st` * (increments `continuationCount` and may set `cooldownUntilTurn`). Call * exactly once per decision point — a second call counts as another turn. */ export declare function decideContinuation(opts: ContinuationInput): ContinuationDecision; //# sourceMappingURL=continuation.d.ts.map