UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

38 lines (37 loc) • 2.08 kB
import { p as resolveManagedGatewayServiceCommand } from "./service-layout-BLuPA_nr.mjs"; import { o as readDaemonRuntimePinForInstall } from "./runtime-pin-state-Ayh4hBAN.mjs"; import { l as resolveRecordedDaemonRuntime } from "./runtime-paths-Bf_3a024.mjs"; import "./daemon-runtime-B_YYWgfz.mjs"; import { a as resolveRunningBunFallback } from "./daemon-install-runtime-warning-DRCH7Zx6.mjs"; //#region src/commands/gateway-setup-runtime.ts /** Resolve setup runtime intent without turning automatic choices into persistent pins. */ async function resolveGatewaySetupRuntime(params) { const expected = readDaemonRuntimePinForInstall({ kind: "gateway", env: params.env }, params.existingCommand, params.runtime !== void 0); const pin = params.runtime === void 0 ? expected.pin : void 0; const existing = resolveManagedGatewayServiceCommand(params.existingCommand); const env = { ...params.env, OPENCLAW_WRAPPER: params.env.OPENCLAW_WRAPPER ?? existing?.environment?.OPENCLAW_WRAPPER }; const recordedRuntime = params.runtime === void 0 && !pin && !env.OPENCLAW_WRAPPER?.trim() ? await resolveRecordedDaemonRuntime(existing?.programArguments[0], env) : void 0; const retainedRuntime = recordedRuntime?.status === "supported" ? recordedRuntime : void 0; const bunFallbackPath = params.selectRuntime && params.runtime === void 0 && !pin && !retainedRuntime && !env.OPENCLAW_WRAPPER?.trim() ? await resolveRunningBunFallback({ env }) : void 0; const suggestedRuntime = retainedRuntime?.runtime ?? (bunFallbackPath ? "bun" : "node"); const runtime = params.runtime ?? pin?.runtime ?? (params.selectRuntime ? await params.selectRuntime(suggestedRuntime) : suggestedRuntime); return { runtime, runtimeExplicit: params.runtime !== void 0 || pin !== void 0 || params.selectRuntime !== void 0, runtimePath: runtime === retainedRuntime?.runtime ? retainedRuntime.path : runtime === "bun" ? bunFallbackPath : void 0, pinnedRuntimePath: pin?.path, runtimePinUpdate: { expected, pin }, env }; } //#endregion export { resolveGatewaySetupRuntime as t };