import { describe, expectTypeOf, it } from "vitest"; import type { GetReplyOptions } from "./reply-runtime.js"; type ProgressResult = boolean | void; type ProgressCallback = GetReplyOptions[ | "onToolResult" | "onToolStart" | "onItemEvent" | "onPlanUpdate" | "onApprovalEvent" | "onCommandOutput" | "onPatchSummary"]; type ProgressBoundaryCallback = GetReplyOptions[ | "onReasoningEnd" | "onAssistantMessageStart" | "onBlockReplyQueued" | "onCompactionStart" | "onCompactionEnd"]; describe("reply runtime public progress contracts", () => { it("exports acceptance-aware progress callback results", () => { expectTypeOf>().returns.toEqualTypeOf< Promise | ProgressResult >(); expectTypeOf>().returns.toEqualTypeOf< Promise | ProgressResult >(); expectTypeOf>().returns.toEqualTypeOf< Promise | ProgressResult >(); expectTypeOf>().returns.toEqualTypeOf< Promise | ProgressResult >(); }); it("exports the snapshotted commentary delivery gate", () => { expectTypeOf().toEqualTypeOf< boolean | undefined >(); expectTypeOf< Exclude >().returns.toEqualTypeOf(); }); });