import * as z from "zod/v4-mini"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdk-validation-error.js"; /** * Capture a running Helix session's own transcript into a snapshot */ export type PostApiSandboxByIdCheckpointRequestBody = { /** * The Helix session to capture — from the `start` that created it. The harness writes its session file LAZILY, so a session that has not completed a turn has nothing to capture and answers 409. */ sessionId: string; }; export type PostApiSandboxByIdCheckpointRequest = { id: string; /** * Capture a running Helix session's own transcript into a snapshot */ body: PostApiSandboxByIdCheckpointRequestBody; }; /** * A stored checkpoint of the agent’s own conversation state */ export type PostApiSandboxByIdCheckpointResponse = { /** * Names the snapshot in a later restore. */ snapshotId: string; /** * Size of the captured file in RAW bytes, not base64. */ bytes: number; /** * sha256 of the raw bytes, hex. A restore re-reads this from the receiving box and refuses to switch the session if it differs. */ sha256: string; /** * The harness's OWN session id, from inside the file. Distinct from the control-plane sessionId, and the one that survives a restore. */ harnessSessionId: string; /** * Messages the harness reported at capture time. Never zero — a zero capture is refused. */ messageCount: number; /** * Where the file lived on the origin box. Diagnostic only — a restore derives its path from the RECEIVING box, since cwd is a per-session choice. */ sourcePath: string; /** * Where the settings-and-queue manifest was written in the object store, or null when this deployment has none. The manifest also holds the workspace and extension-state archive references. */ manifestKey: string | null; /** * Size of the workspace archive that travelled with this checkpoint. Null when none did. */ workspaceBytes: number | null; /** * How many files that archive holds. Null when no workspace travelled. */ workspaceFiles: number | null; /** * One line per leg that did NOT travel, each naming the leg and the reason. Empty means everything was captured. Read this before treating a 200 as a full-state checkpoint: a capture that stored the conversation and carried no workspace is a legitimate outcome and must not look like one that carried it. */ notCaptured: Array; }; /** @internal */ export type PostApiSandboxByIdCheckpointRequestBody$Outbound = { sessionId: string; }; /** @internal */ export declare const PostApiSandboxByIdCheckpointRequestBody$outboundSchema: z.ZodMiniType; export declare function postApiSandboxByIdCheckpointRequestBodyToJSON(postApiSandboxByIdCheckpointRequestBody: PostApiSandboxByIdCheckpointRequestBody): string; /** @internal */ export type PostApiSandboxByIdCheckpointRequest$Outbound = { id: string; body: PostApiSandboxByIdCheckpointRequestBody$Outbound; }; /** @internal */ export declare const PostApiSandboxByIdCheckpointRequest$outboundSchema: z.ZodMiniType; export declare function postApiSandboxByIdCheckpointRequestToJSON(postApiSandboxByIdCheckpointRequest: PostApiSandboxByIdCheckpointRequest): string; /** @internal */ export declare const PostApiSandboxByIdCheckpointResponse$inboundSchema: z.ZodMiniType; export declare function postApiSandboxByIdCheckpointResponseFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=post-api-sandbox-by-id-checkpoint.d.ts.map