#!/usr/bin/env node import { startRemoteConsoleServer } from '../../../services/remote-console/remote-console.js'; /** @purpose Defines parsed CLI arguments for remote-console command execution. */ export type RemoteConsoleCommandArgs = { /** @purpose Overrides default server port when provided by operator. */ port?: number; /** @purpose Overrides default loopback bind host for server startup. */ host?: string; /** @purpose Provides optional page URL to open with remote-console activation flag. */ url?: string; }; /** @purpose Describes injectable dependencies for command testing and runtime orchestration. */ export type RemoteConsoleCommandDeps = { /** @purpose Starts remote-console server runtime and returns lifecycle handle. */ startServer: typeof startRemoteConsoleServer; /** * @purpose Opens target URL in default browser process. * @param targetUrl Absolute browser URL provided by CLI user. * @returns Promise resolving after the browser opens. */ openBrowser: (targetUrl: string) => Promise; /** * @purpose Emits informational command diagnostics for operator feedback. * @param args Format arguments passed to console.info. */ info: (...args: unknown[]) => void; /** * @purpose Emits degraded-path diagnostics when optional browser opening fails. * @param args Format arguments passed to console.warn. */ warn: (...args: unknown[]) => void; }; /** * @purpose Runs remote-console CLI command, starts server and optionally opens a browser URL with activation flag. * @param argv Process argv or compatible command argument list. * @param [deps] Optional dependency overrides for deterministic tests. * @returns void — process stays alive while server runs. * @sideEffect Network: starts HTTP server runtime for remote console envelopes. * @sideEffect Process: writes startup diagnostics to stdout. * @sideEffect OS: opens default browser when --url is passed. */ export declare function runRemoteConsoleCommand(argv: string[], deps?: RemoteConsoleCommandDeps): Promise; /** * @purpose Parses command arguments for remote-console startup options. * @param argv Raw process argument vector. * @returns Normalized command arguments with optional port, host and url values. */ export declare function parseRemoteConsoleCommandArgs(argv: string[]): RemoteConsoleCommandArgs; /** * @purpose Adds deterministic activation query flag without dropping existing query params or hash fragment. * @param targetUrl Absolute browser URL provided by CLI user. * @throws {Error} When URL cannot be parsed as absolute URL. * @returns Mutated URL with `__remote_console__=1` query parameter. */ export declare function composeRemoteConsoleActivationUrl(targetUrl: string): string;