/** * Shared session binding logic. * * Extracted from claudeCode/lifecycle.ts — this is the canonical session * binding implementation used by ALL harness adapters. Each adapter * passes its harness name and state-dir resolution; the core logic is * identical. */ import type { SessionState } from "../../session/types"; import type { SessionBindOptions, SessionBindResult } from "../types"; export interface SharedBindSessionArgs { /** Harness name to stamp on the result. */ harness: string; /** Resolved state directory for session files. */ stateDir: string; /** The original bind options from the CLI. */ opts: SessionBindOptions; /** * Whether this harness supports auto-releasing stale sessions * by checking terminal journal states. Claude-code does this; * simpler adapters do not (they return a fatal conflict instead). */ autoReleaseStale?: boolean; /** Extra metadata to embed in the initial SessionState. */ extraState?: Partial; } export declare function bindSession(args: SharedBindSessionArgs): Promise; //# sourceMappingURL=sessionBinding.d.ts.map