@gguf/claw
Version:
WhatsApp gateway CLI (Baileys web) with Pi RPC agent
194 lines (190 loc) • 7.22 kB
JavaScript
import { c as enableConsoleCapture, i as normalizeEnv, n as isTruthyEnvValue, p as defaultRuntime } from "./entry.js";
import "./auth-profiles-CfFGCDJa.js";
import "./agent-scope-jm0ZdXwM.js";
import { d as resolveConfigDir } from "./utils-PmTbZoD1.js";
import "./exec-BIMFe4XS.js";
import "./github-copilot-token-rP-6QdKv.js";
import "./pi-model-discovery-CsRo-xMp.js";
import { M as VERSION } from "./config-DCT1RAo6.js";
import "./manifest-registry-tuAcHxrV.js";
import "./server-context-CM_E6wD5.js";
import { r as formatUncaughtError } from "./errors-DdT2Dtkb.js";
import "./control-service-Ds9ompnU.js";
import { t as ensureOpenClawCliOnPath } from "./path-env-CUhrC5DA.js";
import "./tailscale-BUcKO8Rr.js";
import "./auth-viF_w60n.js";
import "./client-cU7Xg1MO.js";
import "./call-CfqL-4Nc.js";
import "./message-channel-CAFcg7mw.js";
import "./links-jGisPfXW.js";
import "./plugin-auto-enable-CIVp3SAp.js";
import "./plugins-TrKFfrLt.js";
import "./logging-fywhKCmE.js";
import "./accounts-B5QZU96b.js";
import { At as installUnhandledRejectionHandler } from "./loader-BYWxo-_j.js";
import "./progress-Dn3kWpaL.js";
import "./prompt-style-D5D7b3cX.js";
import "./note-CBiVaqG7.js";
import "./clack-prompter-BJuVh97L.js";
import "./onboard-channels-CF7lTDNu.js";
import "./archive-mFgwsll-.js";
import "./installs-C5cjVarj.js";
import "./manager-rDmdE7O9.js";
import "./paths-RvF0P6tQ.js";
import "./sqlite-B_L84oiu.js";
import "./routes-yI5QIzeL.js";
import "./pi-embedded-helpers-DJgCXZEz.js";
import "./deliver-eE21zdeQ.js";
import "./sandbox-Cnq9TXEn.js";
import "./channel-summary-BkqO8zZ9.js";
import "./wsl-DASmek7h.js";
import "./skills-DtwGIkTI.js";
import "./image-CXg7Z0WD.js";
import "./redact-CDPAzwi8.js";
import "./tool-display-BMYWrp0L.js";
import "./restart-sentinel-DywisDen.js";
import "./channel-selection-BAwiO0li.js";
import "./commands-DMKDOFmC.js";
import "./pairing-store-DMex6WWe.js";
import "./login-qr-sEcxw1_U.js";
import "./pairing-labels-C6I3dD-m.js";
import "./channels-status-issues-DRXQXvhY.js";
import { n as ensurePluginRegistryLoaded } from "./command-options-51bBgSJL.js";
import { i as getCommandPath, s as getPrimaryCommand, u as hasHelpOrVersion } from "./register.subclis-CWWz9WdX.js";
import "./gateway-rpc-CMAcradB.js";
import "./deps-wXkiMwLZ.js";
import "./daemon-runtime-ELWW7q0C.js";
import { t as assertSupportedRuntime } from "./runtime-guard-DvBpNsbR.js";
import "./service-BoDHq_LN.js";
import "./systemd-DAgZTW06.js";
import "./service-audit-Bf33pqEM.js";
import "./table-f0EgX-YI.js";
import "./widearea-dns-D4yoSNNw.js";
import "./audit-D-OqdjQu.js";
import "./onboard-skills-DdFGj9pt.js";
import "./health-format-Ct8J0fwc.js";
import "./update-runner-8XFxQglY.js";
import "./github-copilot-auth-BHLcQ1sN.js";
import "./logging-BnUUuH3y.js";
import "./hooks-status-I3Y60zVN.js";
import "./status-BIWeu5mN.js";
import "./skills-status-CWkBweWW.js";
import "./tui-DBmFYQTk.js";
import "./agent-BBI-UGkN.js";
import "./node-service-BW_LhY5w.js";
import "./status.update-ChwCPLBt.js";
import "./auth-health-DcKoxhDo.js";
import { a as findRoutedCommand, n as emitCliBanner, t as ensureConfigReady } from "./config-guard-CJuPkD5Y.js";
import "./help-format-af1XWYxC.js";
import "./configure-D0OAmW2s.js";
import "./systemd-linger-CTe0ZDxD.js";
import "./doctor-OmfNRlMS.js";
import path from "node:path";
import process$1 from "node:process";
import fs from "node:fs";
import { fileURLToPath } from "node:url";
import dotenv from "dotenv";
//#region src/infra/dotenv.ts
function loadDotEnv(opts) {
const quiet = opts?.quiet ?? true;
dotenv.config({ quiet });
const globalEnvPath = path.join(resolveConfigDir(process.env), ".env");
if (!fs.existsSync(globalEnvPath)) return;
dotenv.config({
quiet,
path: globalEnvPath,
override: false
});
}
//#endregion
//#region src/cli/route.ts
async function prepareRoutedCommand(params) {
emitCliBanner(VERSION, { argv: params.argv });
await ensureConfigReady({
runtime: defaultRuntime,
commandPath: params.commandPath
});
if (params.loadPlugins) ensurePluginRegistryLoaded();
}
async function tryRouteCli(argv) {
if (isTruthyEnvValue(process.env.OPENCLAW_DISABLE_ROUTE_FIRST)) return false;
if (hasHelpOrVersion(argv)) return false;
const path = getCommandPath(argv, 2);
if (!path[0]) return false;
const route = findRoutedCommand(path);
if (!route) return false;
await prepareRoutedCommand({
argv,
commandPath: path,
loadPlugins: route.loadPlugins
});
return route.run(argv);
}
//#endregion
//#region src/cli/run-main.ts
function rewriteUpdateFlagArgv(argv) {
const index = argv.indexOf("--update");
if (index === -1) return argv;
const next = [...argv];
next.splice(index, 1, "update");
return next;
}
async function runCli(argv = process$1.argv) {
const normalizedArgv = stripWindowsNodeExec(argv);
loadDotEnv({ quiet: true });
normalizeEnv();
ensureOpenClawCliOnPath();
assertSupportedRuntime();
if (await tryRouteCli(normalizedArgv)) return;
enableConsoleCapture();
const { buildProgram } = await import("./program-BA9_uWfO.js");
const program = buildProgram();
installUnhandledRejectionHandler();
process$1.on("uncaughtException", (error) => {
console.error("[openclaw] Uncaught exception:", formatUncaughtError(error));
process$1.exit(1);
});
const parseArgv = rewriteUpdateFlagArgv(normalizedArgv);
const primary = getPrimaryCommand(parseArgv);
if (primary) {
const { registerSubCliByName } = await import("./register.subclis-BuT7ZpPf.js");
await registerSubCliByName(program, primary);
}
if (!(!primary && hasHelpOrVersion(parseArgv))) {
const { registerPluginCliCommands } = await import("./cli-wFmvNjpg.js");
const { loadConfig } = await import("./config-jKcyRiMo.js");
registerPluginCliCommands(program, loadConfig());
}
await program.parseAsync(parseArgv);
}
function stripWindowsNodeExec(argv) {
if (process$1.platform !== "win32") return argv;
const stripControlChars = (value) => {
let out = "";
for (let i = 0; i < value.length; i += 1) {
const code = value.charCodeAt(i);
if (code >= 32 && code !== 127) out += value[i];
}
return out;
};
const normalizeArg = (value) => stripControlChars(value).replace(/^['"]+|['"]+$/g, "").trim();
const normalizeCandidate = (value) => normalizeArg(value).replace(/^\\\\\\?\\/, "");
const execPath = normalizeCandidate(process$1.execPath);
const execPathLower = execPath.toLowerCase();
const execBase = path.basename(execPath).toLowerCase();
const isExecPath = (value) => {
if (!value) return false;
const normalized = normalizeCandidate(value);
if (!normalized) return false;
const lower = normalized.toLowerCase();
return lower === execPathLower || path.basename(lower) === execBase || lower.endsWith("\\node.exe") || lower.endsWith("/node.exe") || lower.includes("node.exe") || path.basename(lower) === "node.exe" && fs.existsSync(normalized);
};
const filtered = argv.filter((arg, index) => index === 0 || !isExecPath(arg));
if (filtered.length < 3) return filtered;
const cleaned = [...filtered];
if (isExecPath(cleaned[1])) cleaned.splice(1, 1);
if (isExecPath(cleaned[2])) cleaned.splice(2, 1);
return cleaned;
}
//#endregion
export { runCli };