/** * [ref] R9 — the verify-rounds shape (used by the developer-mode independent-verification gate, 1.44) pulled * out to a NEUTRAL LEAF: it was three copies of the same anonymous `{ maxRounds: number; costCeilingMicroUsd?: * number }` object type (route-ctx.ts ×2, runs.ts `runInBackground`'s public signature) plus four call sites in * http/server.ts that each re-derived the same "verify:true → clamp rounds + fold cost ceiling" expression from a * request body. A leaf (not server.ts itself) so route-ctx.ts — which must never value-import server.ts (that * closes the runtime module-load cycle test/module-cycle-gate.test.ts guards) — can `import type` the shape from * one place. server.ts imports {@link clampVerifyRounds} from here; tests import it from HERE too * ([ref] 兼容面全清:server.ts 的保深路径 re-export 已删). */ import type { TaskRequestBody } from "./wire-types.js"; /** Verification-rounds config threaded onto a task's `verify`/resume paths (see {@link verifyRoundsFromBody}). */ export interface VerifyRoundsSpec { maxRounds: number; costCeilingMicroUsd?: number; } /** Verification rounds requested by a caller, clamped to a safe [1,5] (default 2). */ export declare function clampVerifyRounds(v: unknown): number; /** `undefined` when `body.verify` is not `true` (the caller didn't opt into the gate); otherwise the clamped * rounds + (if `maxCostUsd` is a positive number) the same USD→micro-USD cost ceiling the cascade lane uses. * Same expression that lived inline at all four verify/resume call sites in http/server.ts (fresh-submit, * resumeCheckpoint, resumePreempted, resumePlanReview) — collected here VERBATIM ([ref] R9). */ export declare function verifyRoundsFromBody(body: Pick): VerifyRoundsSpec | undefined; //# sourceMappingURL=verify-rounds.d.ts.map