Spaces:
Configuration error
Configuration error
| import type { Command } from "commander"; | |
| import { formatDocsLink } from "../../terminal/links.js"; | |
| import { theme } from "../../terminal/theme.js"; | |
| import { createDefaultDeps } from "../deps.js"; | |
| import { | |
| runDaemonInstall, | |
| runDaemonRestart, | |
| runDaemonStart, | |
| runDaemonStatus, | |
| runDaemonStop, | |
| runDaemonUninstall, | |
| } from "./runners.js"; | |
| export function registerDaemonCli(program: Command) { | |
| const daemon = program | |
| .command("daemon") | |
| .description("Manage the Gateway service (launchd/systemd/schtasks)") | |
| .addHelpText( | |
| "after", | |
| () => | |
| `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/gateway", "docs.molt.bot/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); | |
| }); | |
| // Build default deps (parity with other commands). | |
| void createDefaultDeps(); | |
| } | |