import type { SessionEvent, WorkspaceCaptureDegradedReason, WorkspaceCaptureManifest } from "@opengeni/sdk"; import { type ClientOverride } from "../provider.js"; export type UseWorkspaceCaptureOptions = ClientOverride & { /** Live event log (usually `useSessionEvents().events`) — a * `workspace.revision.captured` for a NEWER revision refreshes the manifest. */ events?: SessionEvent[] | undefined; /** Hold off the mount fetch (e.g. the workbench panel is collapsed). Default true. */ enabled?: boolean | undefined; }; export type UseWorkspaceCaptureResult = { /** The resolved manifest (tree index + per-repo diffs + file refs), or null when * no capture exists (falls back to the live/wake path — status quo). */ capture: WorkspaceCaptureManifest | null; /** The loaded capture's monotonic revision, or null when unavailable. */ revision: number | null; /** When the loaded capture was taken (ISO), for the "as of