import "./subagent-registry-BdCHUwJF.js";
import { Dt as theme, _ as defaultRuntime, xt as setVerbose } from "./entry.js";
import "./auth-profiles-BGjbqScX.js";
import "./exec-CBKBIMpA.js";
import "./agent-scope-p68ICeNQ.js";
import "./github-copilot-token-CyWpbkHJ.js";
import "./model-OTR4fRIX.js";
import "./pi-model-discovery-BDrA0RUW.js";
import "./frontmatter-DRl3Sa-X.js";
import "./skills-Ho_2X6WT.js";
import "./manifest-registry-CYUiqtAr.js";
import "./skills-status-BAafc0ar.js";
import "./config-xHYx2cij.js";
import "./client-fwA5zyHb.js";
import "./call-BOB-Te5P.js";
import "./message-channel-B9mgJ1nn.js";
import "./sessions-BwDGf9Sn.js";
import "./tokens-DNhq_l0Z.js";
import "./normalize-B8nBEyAK.js";
import "./accounts-BSDGn_Eo.js";
import "./bindings-B_ZIo7YE.js";
import "./logging-5MtSkLpb.js";
import "./send-YkSDctU7.js";
import "./plugins-B1ojCJHx.js";
import "./send-CsZYxWdf.js";
import "./with-timeout-DEXcYOPT.js";
import "./deliver-5Uvc7ymL.js";
import "./diagnostic-BrjZno3V.js";
import "./diagnostic-session-state-CAYi3DRc.js";
import "./accounts-DUB7WjhZ.js";
import "./send-33rhg_bg.js";
import "./image-ops-DGYdb3fh.js";
import "./pi-embedded-helpers-DoMXOCkN.js";
import "./sandbox-CZanUXAq.js";
import "./chrome-DfrRhznb.js";
import "./tailscale-D9FK-yno.js";
import "./auth-BFCCBoWg.js";
import "./server-context-DvoYRfwN.js";
import "./routes-ClCMoQG_.js";
import "./redact-BfDi6wIJ.js";
import "./errors-DNW-UCMb.js";
import "./paths-DqOyyjUy.js";
import "./ssrf-B_uizFky.js";
import "./store-CORMGVx_.js";
import "./ports-LWH8Y0_f.js";
import "./trash-B891j_cA.js";
import "./dock-BPcuR3ve.js";
import "./accounts-SnH-42ge.js";
import "./paths-DT4MkPF0.js";
import "./tool-images-DLc1ZwCt.js";
import "./thinking-O_pp2Bz3.js";
import "./models-config-xKUJ-Jlr.js";
import "./reply-prefix-CrkNe8Gp.js";
import "./memory-cli-Guckbc8M.js";
import "./manager-DnbrWcSO.js";
import "./gemini-auth-BF-a5GeR.js";
import "./sqlite-DZTdGqNd.js";
import "./retry-DtzRtCu9.js";
import "./common-Bi2yGPsV.js";
import "./chunk-DkEDZgsU.js";
import "./markdown-tables-I-50wDdr.js";
import "./fetch-guard-sWUTAYEJ.js";
import "./fetch-CfzM3qfj.js";
import "./ir-WbjhHhfd.js";
import "./render-CCLsW6Lz.js";
import "./commands-registry-D8TQrvT9.js";
import "./image-CWNvCgXH.js";
import "./tool-display-Ch60dmIj.js";
import "./runner-BWzWj3vE.js";
import "./model-catalog-CCane-Jh.js";
import "./session-utils-BeS2v05U.js";
import "./skill-commands-DVP91_MZ.js";
import "./workspace-dirs-CpIMMjZW.js";
import "./pairing-store-DM_ihkC1.js";
import "./fetch-mirEALun.js";
import "./nodes-screen-BNyvvjYY.js";
import "./session-cost-usage-BCIITMRg.js";
import "./project-context-DhXARJNC.js";
import "./control-service-DziHPGgw.js";
import "./stagger-BCQzFuQi.js";
import "./channel-selection-DV8cpKuI.js";
import "./send-BquvUhjS.js";
import "./outbound-attachment-DAzLnDoa.js";
import "./delivery-queue-CL2en3fg.js";
import "./send-D5voy0Gs.js";
import "./resolve-route-CAxji0MH.js";
import "./channel-activity-OK2g2kgk.js";
import "./tables-7XAEudlg.js";
import "./proxy-YU8wp1-L.js";
import { t as formatDocsLink } from "./links-rnbUL9h5.js";
import { n as runCommandWithRuntime } from "./cli-utils-f9j-_1VT.js";
import { t as formatHelpExamples } from "./help-format-5GFCgEVf.js";
import "./progress-Clpi3Ckj.js";
import "./replies-B4l-Q3Tx.js";
import "./pi-tools.policy-Cadm9ZgR.js";
import "./onboard-helpers-COs8NEvA.js";
import "./prompt-style-B_yUCLn4.js";
import "./pairing-labels-H_LS1HI0.js";
import "./dangerous-tools-B7yH-Zod.js";
import "./skill-scanner-DPFriClr.js";
import "./channels-status-issues-nYbMwx1w.js";
import { n as parsePositiveIntOrUndefined } from "./helpers-Cr6oe0QU.js";
import "./runtime-guard-kzIyHhvr.js";
import "./systemd-DkuvIs3b.js";
import "./service-BEl2-Dp4.js";
import "./diagnostics-Ca_n11SX.js";
import "./table-Bka4fasy.js";
import "./audit-BRv6URb5.js";
import { n as statusCommand } from "./status-aHA2QEB2.js";
import { r as healthCommand } from "./health-vdUao_La.js";
import "./update-check-Bswzzg2K.js";
import "./dm-policy-shared-QjhF4Fjm.js";
import "./node-service-DS-SbBDj.js";
import "./status.update-DrR6P2jh.js";
import { t as sessionsCommand } from "./sessions-CIK3cg_h.js";

//#region src/cli/program/register.status-health-sessions.ts
function resolveVerbose(opts) {
	return Boolean(opts.verbose || opts.debug);
}
function parseTimeoutMs(timeout) {
	const parsed = parsePositiveIntOrUndefined(timeout);
	if (timeout !== void 0 && parsed === void 0) {
		defaultRuntime.error("--timeout must be a positive integer (milliseconds)");
		defaultRuntime.exit(1);
		return null;
	}
	return parsed;
}
function registerStatusHealthSessionsCommands(program) {
	program.command("status").description("Show channel health and recent session recipients").option("--json", "Output JSON instead of text", false).option("--all", "Full diagnosis (read-only, pasteable)", false).option("--usage", "Show model provider usage/quota snapshots", false).option("--deep", "Probe channels (WhatsApp Web + Telegram + Discord + Slack + Signal)", false).option("--timeout <ms>", "Probe timeout in milliseconds", "10000").option("--verbose", "Verbose logging", false).option("--debug", "Alias for --verbose", false).addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([
		["openclaw status", "Show channel health + session summary."],
		["openclaw status --all", "Full diagnosis (read-only)."],
		["openclaw status --json", "Machine-readable output."],
		["openclaw status --usage", "Show model provider usage/quota snapshots."],
		["openclaw status --deep", "Run channel probes (WA + Telegram + Discord + Slack + Signal)."],
		["openclaw status --deep --timeout 5000", "Tighten probe timeout."]
	])}`).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/status", "docs.openclaw.ai/cli/status")}\n`).action(async (opts) => {
		const verbose = resolveVerbose(opts);
		setVerbose(verbose);
		const timeout = parseTimeoutMs(opts.timeout);
		if (timeout === null) return;
		await runCommandWithRuntime(defaultRuntime, async () => {
			await statusCommand({
				json: Boolean(opts.json),
				all: Boolean(opts.all),
				deep: Boolean(opts.deep),
				usage: Boolean(opts.usage),
				timeoutMs: timeout,
				verbose
			}, defaultRuntime);
		});
	});
	program.command("health").description("Fetch health from the running gateway").option("--json", "Output JSON instead of text", false).option("--timeout <ms>", "Connection timeout in milliseconds", "10000").option("--verbose", "Verbose logging", false).option("--debug", "Alias for --verbose", false).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/health", "docs.openclaw.ai/cli/health")}\n`).action(async (opts) => {
		const verbose = resolveVerbose(opts);
		setVerbose(verbose);
		const timeout = parseTimeoutMs(opts.timeout);
		if (timeout === null) return;
		await runCommandWithRuntime(defaultRuntime, async () => {
			await healthCommand({
				json: Boolean(opts.json),
				timeoutMs: timeout,
				verbose
			}, defaultRuntime);
		});
	});
	program.command("sessions").description("List stored conversation sessions").option("--json", "Output as JSON", false).option("--verbose", "Verbose logging", false).option("--store <path>", "Path to session store (default: resolved from config)").option("--active <minutes>", "Only show sessions updated within the past N minutes").addHelpText("after", () => `\n${theme.heading("Examples:")}\n${formatHelpExamples([
		["openclaw sessions", "List all sessions."],
		["openclaw sessions --active 120", "Only last 2 hours."],
		["openclaw sessions --json", "Machine-readable output."],
		["openclaw sessions --store ./tmp/sessions.json", "Use a specific session store."]
	])}\n\n${theme.muted("Shows token usage per session when the agent reports it; set agents.defaults.contextTokens to cap the window and show %.")}`).addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/sessions", "docs.openclaw.ai/cli/sessions")}\n`).action(async (opts) => {
		setVerbose(Boolean(opts.verbose));
		await sessionsCommand({
			json: Boolean(opts.json),
			store: opts.store,
			active: opts.active
		}, defaultRuntime);
	});
}

//#endregion
export { registerStatusHealthSessionsCommands };