@gguf/claw
Version:
WhatsApp gateway CLI (Baileys web) with Pi RPC agent
194 lines (190 loc) • 7.25 kB
JavaScript
import { c as enableConsoleCapture, i as normalizeEnv, n as isTruthyEnvValue, p as defaultRuntime } from "./entry.js";
import "./auth-profiles-CYBuGiBb.js";
import { d as resolveConfigDir } from "./utils-DX85MiPR.js";
import "./exec-B8JKbXKW.js";
import "./agent-scope-C9VjJXEK.js";
import "./github-copilot-token-SLWintYd.js";
import "./pi-model-discovery-DzEIEgHL.js";
import { j as VERSION } from "./config-CKLedg5Y.js";
import "./manifest-registry-C69Z-I4v.js";
import "./server-context-yKyxyxOJ.js";
import { r as formatUncaughtError } from "./errors-CZ9opC6L.js";
import "./control-service-D2E9NKqQ.js";
import { t as ensureOpenClawCliOnPath } from "./path-env-h3xp5PqO.js";
import "./tailscale-9MusRvOi.js";
import "./auth-DksjO6WG.js";
import "./client-CxbkcEZ7.js";
import "./call-90HgQQ8o.js";
import "./message-channel-BlgPSDAh.js";
import "./links-D0uzJbi6.js";
import "./plugin-auto-enable-DyW8lHTT.js";
import "./plugins-BUPpq5aS.js";
import "./logging-CfEk_PnX.js";
import "./accounts-Dto4p9zB.js";
import { At as installUnhandledRejectionHandler } from "./loader-_Pj-TZS2.js";
import "./progress-Da1ehW-x.js";
import "./prompt-style-Dc0C5HC9.js";
import "./note-Ci08TSbV.js";
import "./clack-prompter-DuBVnTKy.js";
import "./onboard-channels-D-ZQTy5V.js";
import "./archive-D0z3LZDK.js";
import "./skill-scanner-Bp1D9gra.js";
import "./installs-DsJkyWfL.js";
import "./manager-BXiIQku7.js";
import "./paths-CTg8F3AE.js";
import "./sqlite-DqUEZnjO.js";
import "./routes-BSfXf8a5.js";
import "./pi-embedded-helpers-DF8SAHU-.js";
import "./deliver-Cau4HL7W.js";
import "./sandbox-DuqLKN5J.js";
import "./channel-summary-D9nzC5WB.js";
import "./wsl-ATjkMwMA.js";
import "./skills-CmU0Q92f.js";
import "./image-nRwqkmtf.js";
import "./redact-B8YiFlwn.js";
import "./tool-display-DmgKs6-V.js";
import "./channel-selection-PZuuCvrp.js";
import "./session-cost-usage-BTXosU1k.js";
import "./commands-DAC7XMAT.js";
import "./pairing-store-DTfv_FGA.js";
import "./login-qr-Cmsf7BGt.js";
import "./pairing-labels-BbydDT7w.js";
import "./channels-status-issues-CJ8PJgDc.js";
import { n as ensurePluginRegistryLoaded } from "./command-options-DUUINcz0.js";
import { a as getCommandPath, c as getPrimaryCommand, d as hasHelpOrVersion } from "./register.subclis-BpIR6Iqi.js";
import "./completion-cli-BbhA_JbG.js";
import "./gateway-rpc-CWnTaSEY.js";
import "./deps-ytXmI88x.js";
import { h as assertSupportedRuntime } from "./daemon-runtime-BCn_QIHK.js";
import "./service-_JwSmGSn.js";
import "./systemd-8sIc6isV.js";
import "./service-audit-DDX1kO3k.js";
import "./table-CJSx0YID.js";
import "./widearea-dns-CsSylzXH.js";
import "./audit-BWbjQmyv.js";
import "./onboard-skills-YobctE-R.js";
import "./health-format-ND2rUbQO.js";
import "./update-runner-2i8_mIG5.js";
import "./github-copilot-auth-B_lK1g__.js";
import "./logging-Cc7m6PTv.js";
import "./hooks-status-CKmUPU-M.js";
import "./status-BRXuHUsK.js";
import "./skills-status-DtXrj3fy.js";
import "./tui-DPorsF4z.js";
import "./agent-DztWhVCH.js";
import "./node-service-Lc1LlnFH.js";
import "./auth-health-C4bElkgf.js";
import { a as findRoutedCommand, n as emitCliBanner, t as ensureConfigReady } from "./config-guard-a5ynrKd-.js";
import "./help-format-CfZ94KRN.js";
import "./configure-ChnTy7Jz.js";
import "./systemd-linger-SsSOsJST.js";
import "./doctor-JnMryC_M.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-oR55MCAT.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-BpIR6Iqi.js").then((n) => n.i);
await registerSubCliByName(program, primary);
}
if (!(!primary && hasHelpOrVersion(parseArgv))) {
const { registerPluginCliCommands } = await import("./cli-DBAccB3n.js");
const { loadConfig } = await import("./config-CKLedg5Y.js").then((n) => n.t);
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 };