//#region src/cli/gateway-cli/run-command.ts
const GATEWAY_AUTH_MODES = [
	"none",
	"token",
	"password",
	"trusted-proxy"
];
const GATEWAY_TAILSCALE_MODES = [
	"off",
	"serve",
	"funnel"
];
function formatModeChoices(modes) {
	return modes.map((mode) => `"${mode}"`).join("|");
}
function addGatewayRunCommand(cmd) {
	return cmd.option("--port <port>", "网关 WebSocket 端口").option("--bind <mode>", "绑定模式（\"loopback\"|\"lan\"|\"tailnet\"|\"auto\"|\"custom\"）。默认为配置 gateway.bind（或 loopback）。").option("--token <token>", "connect.params.auth.token 中要求的共享令牌（默认：环境变量 OPENCLAW_GATEWAY_TOKEN 如已设置）").option("--auth <mode>", `网关认证模式（${formatModeChoices(GATEWAY_AUTH_MODES)}）`).option("--password <password>", "auth mode=password 时的密码").option("--password-file <path>", "从文件读取网关密码").option("--tailscale <mode>", `Tailscale 暴露模式（${formatModeChoices(GATEWAY_TAILSCALE_MODES)}）`).option("--tailscale-reset-on-exit", "关闭时重置 Tailscale serve/funnel 配置", false).option("--allow-unconfigured", "允许网关启动而不强制配置中的 gateway.mode=local（不修复配置）", false).option("--dev", "如缺失则创建开发配置和工作区（不含 BOOTSTRAP.md）", false).option("--reset", "重置开发配置、凭证、会话和工作区（需要 --dev）", false).option("--force", "启动前终止目标端口上的任何现有监听进程", false).option("--verbose", "向 stdout/stderr 输出详细日志", false).option("--cli-backend-logs", "仅在控制台显示 CLI 后端日志（包括 stdout/stderr）", false).option("--claude-cli-logs", "已弃用，--cli-backend-logs 的别名", false).option("--ws-log <style>", "WebSocket 日志样式（\"auto\"|\"full\"|\"compact\"）", "auto").option("--compact", "\"--ws-log compact\" 的别名", false).option("--raw-stream", "将原始模型流事件记录到 jsonl", false).option("--raw-stream-path <path>", "原始流 jsonl 路径").action(async (opts, command) => {
		const { resolveGatewayRunOptions, runGatewayCommand } = await import("./run-lrh8fClJ.js");
		await runGatewayCommand(resolveGatewayRunOptions(opts, command));
	});
}
//#endregion
export { addGatewayRunCommand as t };
