/** * The activation exchange a prepared session answers, and nothing else. * * A prepared session holds discoverable endpoint authority while its readiness * stays withheld; activation is the one request that asks it to publish that * readiness. Every caller shares this exchange whatever proved the endpoint * authority beforehand: the `gjc notify activate-thread` CLI resolves it from * the local session index, and the Coordinator resolves it from the broker's * incarnation-bound binding. * * It lives outside `sdk/bus` on purpose. The existing-thread module reaches the * chat-daemon and settings graph to prove a Slack binding, and the Coordinator * MCP entrypoint may not reach that graph at all, so the exchange the machine * entrypoint needs carries no notification, daemon, or settings dependency. */ export type SessionActivationErrorCode = "session_not_live" | "not_prepared" | "not_bound" | "activation_unavailable" | "activation_outcome_unknown"; /** A fail-closed rejection while activating a prepared session. */ export declare class SessionActivationError extends Error { readonly code: SessionActivationErrorCode; constructor(code: SessionActivationErrorCode, message: string); } /** Safe confirmation of an activation. It carries identifiers only. */ export interface ActivatedPreparedSession { sessionId: string; endpointGeneration: number; status: "activated" | "already"; } /** The narrow transport surface activation needs from an SDK connection. */ export interface PreparedSessionActivationClient { request(frame: Record): Promise>; close(): Promise; } /** * Ask one already-connected session to publish the readiness it withheld. * * The frame names the exact session and endpoint generation, and the answer is * accepted only when it proves both, so a replacement session can never be * activated in place of the requested one. Activation is idempotent: an exact * retry answers `already` without a second readiness signal. */ export declare function requestPreparedSessionActivation(client: PreparedSessionActivationClient, sessionId: string, endpointGeneration: number): Promise;