/** * `hq outposts session-host` — serve this box's Claude sessions to the HQ * desktop app. * * Runs ON an Outpost, under systemd, and is hidden: operators never run it by * hand. It listens on loopback only, and the Mac reaches it through the * Outpost's private port-forward — the same SSM channel `hq outposts terminal` * already uses, so no new way into the box is opened. * * It refuses to start unless the box's own HQ sign-in names an owner, because * that owner's sign-in is the only one the hello check will ever accept. A * service nobody could connect to is better reported than left running. */ import type { Command } from "commander"; export interface SessionHostConfigInput { /** The box's own cached ID token. */ idToken: string | undefined; home: string; env: Record; port?: string; cwd?: string; } export type SessionHostConfig = { ok: true; ownerSub: string; issuer: string; host: string; port: number; defaultCwd: string; } | { ok: false; message: string; }; export declare function resolveSessionHostConfig(input: SessionHostConfigInput): SessionHostConfig; export interface SessionHostCommandDeps { /** The hq-cloud version, reported in the welcome line. */ version: string; /** Override the box's cached ID token lookup — used by tests. */ loadIdToken?: () => string | undefined; } export declare function registerSessionHostCommand(outposts: Command, deps: SessionHostCommandDeps): void; //# sourceMappingURL=session-host-command.d.ts.map