import { f as theme } from "./globals-D5pM_phR.js";
import { t as formatDocsLink } from "./links-BKmnIRTU.js";
import { t as createDefaultDeps } from "./deps-BDkDEJDb.js";
import { a as runDaemonInstall, i as runDaemonUninstall, n as runDaemonStart, r as runDaemonStop, t as runDaemonRestart } from "./runners-tzpWaOR5.js";
import { t as runDaemonStatus } from "./status-J7E8eYs2.js";

//#region ../../src/cli/daemon-cli/register.ts
function registerDaemonCli(program) {
	const daemon = program.command("daemon").description("Manage the Gateway service (launchd/systemd/schtasks)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/gateway", "docs.edwinpai.com/cli/gateway")}\n`);
	daemon.command("status").description("Show service install status + probe the Gateway").option("--url <url>", "Gateway WebSocket URL (defaults to config/remote/local)").option("--token <token>", "Gateway token (if required)").option("--password <password>", "Gateway password (password auth)").option("--timeout <ms>", "Timeout in ms", "10000").option("--no-probe", "Skip RPC probe").option("--deep", "Scan system-level services", false).option("--json", "Output JSON", false).action(async (opts) => {
		await runDaemonStatus({
			rpc: opts,
			probe: Boolean(opts.probe),
			deep: Boolean(opts.deep),
			json: Boolean(opts.json)
		});
	});
	daemon.command("install").description("Install the Gateway service (launchd/systemd/schtasks)").option("--port <port>", "Gateway port").option("--runtime <runtime>", "Daemon runtime (node|bun). Default: node").option("--token <token>", "Gateway token (token auth)").option("--force", "Reinstall/overwrite if already installed", false).option("--json", "Output JSON", false).action(async (opts) => {
		await runDaemonInstall(opts);
	});
	daemon.command("uninstall").description("Uninstall the Gateway service (launchd/systemd/schtasks)").option("--json", "Output JSON", false).action(async (opts) => {
		await runDaemonUninstall(opts);
	});
	daemon.command("start").description("Start the Gateway service (launchd/systemd/schtasks)").option("--json", "Output JSON", false).action(async (opts) => {
		await runDaemonStart(opts);
	});
	daemon.command("stop").description("Stop the Gateway service (launchd/systemd/schtasks)").option("--json", "Output JSON", false).action(async (opts) => {
		await runDaemonStop(opts);
	});
	daemon.command("restart").description("Restart the Gateway service (launchd/systemd/schtasks)").option("--json", "Output JSON", false).action(async (opts) => {
		await runDaemonRestart(opts);
	});
	createDefaultDeps();
}

//#endregion
export { registerDaemonCli as t };