import { type Connector } from "@cotal-ai/core"; import { type SeatCheckpoint } from "@cotal-ai/workspace"; /** The selection rule the untracked set is produced under, recorded in the checkpoint so a * destination that cannot reproduce it refuses. * * Two clauses, and the second is not an optimization. `--exclude-standard` honors `.gitignore`, * so an ignored file the seat actually needs is outside the checkpoint and has to be named * separately by the operator. The `.cotal/` exclusion is a SECRECY boundary: when a seat's cwd is * also the mesh root, which is what an operator gets by running `cotal up` and `cotal spawn` in * one directory, the control directory is untracked and the unfiltered selection pulls * `auth/broker.json`, the space account, the manager instance identity's private seed and the * seat's own `.creds` into the artifact. A checkpoint carries credential REFERENCES, never * values, so the control directory never travels; the destination resolves that material itself. */ export declare const UNTRACKED_SELECTION = "git ls-files --others --exclude-standard -z, excluding .cotal/"; /** Default freshness horizon: 24 hours. A property of the deployment, carried in every record so a * destination and an operator cannot disagree about what was promised. */ export declare const DEFAULT_RECENCY_HORIZON_MS: number; export interface SeatCaptureRequest { /** The seat's working tree, from `ManagerResumeAgent.launch.cwd`. */ readonly cwd: string; readonly space: string; readonly name: string; readonly lifecycleUid: string; /** The generation this cut is taken at. The destination advances past it. */ readonly generation: number; readonly recencyHorizonMs?: number; readonly profile: SeatCheckpoint["profile"]; /** The connector's declared capabilities, for `sessionContinuityClass`. Never the connector's * name: a continuity promise may not be inferred from a package name. Unknown capabilities are * default-deny and therefore drain-only. */ readonly connector: Pick | undefined; readonly sessionId?: string; /** The connector's session pointer file, when it declares one. */ readonly sessionStatePath?: string; /** The workspace root this cut was taken in. A pointer under it travels anchored on the * DESTINATION's root, which is the only spelling that survives a different host. */ readonly workspaceRoot?: string; /** The harness transcript store, an operator input: this repository names the pointer file and * not the store, and a default written here would be a guess presented as a fact. */ readonly sessionStorePaths?: readonly string[]; } /** * Capture and seal. Returns the sealed record. Throws, leaving no checkpoint directory behind, * when anything cannot be captured: a partial checkpoint that looks complete is worse than none. */ export declare function captureSeatCheckpoint(destination: string, entry: Entry, request: SeatCaptureRequest): SeatCheckpoint; //# sourceMappingURL=seat-capture.d.ts.map