openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
77 lines (76 loc) • 3.29 kB
JavaScript
import { a as formatUncaughtError } from "./errors-BXgSefBE.js";
import { t as formatCliFailureLines } from "./failure-output-BT80vm9y.js";
import { r as runFatalErrorHooks } from "./fatal-error-hooks-Cu2jsdBV.js";
import { t as isMainModule } from "./is-main-CH4EEB_R.js";
import { c as isUncaughtExceptionHandled, r as isBenignUncaughtExceptionError, t as installUnhandledRejectionHandler } from "./unhandled-rejections-CifjyMHp.js";
import process from "node:process";
import { fileURLToPath } from "node:url";
//#region src/index.ts
let applyTemplate;
let createDefaultDeps;
let deriveSessionKey;
let describePortOwner;
let ensureBinary;
let ensurePortAvailable;
let getReplyFromConfig;
let handlePortError;
let loadConfig;
let loadSessionStore;
let monitorWebChannel;
let normalizeE164;
let PortInUseError;
let promptYesNo;
let resolveSessionKey;
let resolveStorePath;
let runCommandWithTimeout;
let runExec;
let saveSessionStore;
let waitForever;
async function loadLegacyCliDeps() {
const { runCli } = await import("./cli/run-main.js");
return { runCli };
}
async function runLegacyCliEntry(argv = process.argv, deps) {
const { runCli } = deps ?? await loadLegacyCliDeps();
await runCli(argv);
}
const isMain = isMainModule({ currentFile: fileURLToPath(import.meta.url) });
if (!isMain) ({applyTemplate, createDefaultDeps, deriveSessionKey, describePortOwner, ensureBinary, ensurePortAvailable, getReplyFromConfig, handlePortError, loadConfig, loadSessionStore, monitorWebChannel, normalizeE164, PortInUseError, promptYesNo, resolveSessionKey, resolveStorePath, runCommandWithTimeout, runExec, saveSessionStore, waitForever} = await import("./library-DvUDyS2K.js"));
if (isMain) {
const { restoreTerminalState } = await import("./terminal-core/restore.js");
installUnhandledRejectionHandler();
process.on("uncaughtException", (error) => {
if (isUncaughtExceptionHandled(error)) return;
if (isBenignUncaughtExceptionError(error)) {
console.warn("[openclaw] Non-fatal uncaught exception (continuing):", formatUncaughtError(error));
return;
}
for (const line of formatCliFailureLines({
title: "OpenClaw hit an unexpected runtime error.",
error,
argv: process.argv
})) console.error(line);
for (const message of runFatalErrorHooks({
reason: "uncaught_exception",
error
})) console.error("[openclaw]", message);
restoreTerminalState("uncaught exception", { resumeStdinIfPaused: false });
process.exit(1);
});
runLegacyCliEntry(process.argv).catch((err) => {
for (const line of formatCliFailureLines({
title: "The CLI command failed.",
error: err,
argv: process.argv
})) console.error(line);
for (const message of runFatalErrorHooks({
reason: "legacy_cli_failure",
error: err
})) console.error("[openclaw]", message);
restoreTerminalState("legacy cli failure", { resumeStdinIfPaused: false });
process.exit(1);
});
}
//#endregion
export { PortInUseError, applyTemplate, createDefaultDeps, deriveSessionKey, describePortOwner, ensureBinary, ensurePortAvailable, getReplyFromConfig, handlePortError, loadConfig, loadSessionStore, monitorWebChannel, normalizeE164, promptYesNo, resolveSessionKey, resolveStorePath, runCommandWithTimeout, runExec, runLegacyCliEntry, saveSessionStore, waitForever };