UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

56 lines (55 loc) 2.95 kB
import { s as readConfigFileSnapshot } from "./io.runtime-B9iJRs3w.js"; import { _ as resolveGatewayPort } from "./paths-D2sRr1a_.js"; import "./config-Cs0XXL3x.js"; import { n as resolveGatewayCredentialsWithSecretInputs } from "./credentials-secret-inputs-BlthacCl.js"; import { t as resolveGatewayStartupTiming } from "./gateway-startup-timing-D9NqKiRl.js"; import { r as resolveLocalControlUiProbeLinks } from "./control-ui-links-BY4F5DYV.js"; import { n as t } from "./i18n-hynzGFbD.js"; import { p as waitForGatewayReachable } from "./onboard-helpers-BDY-6Z-t.js"; import { n as createQuickstartNotePrompter } from "./setup-apply-BVRZv42c.js"; import { t as resolveGatewayRunOptions } from "./run-options-C9-aEnpP.js"; import { t as getGatewayRunRuntimeHooks } from "./runtime-hooks-Dp2OHV46.js"; import { n as runBrowserHatchHandoff } from "./onboard-browser-handoff-DgncNNl_.js"; //#region src/commands/onboard-quickstart-host.ts /** Own the foreground Gateway after the wizard has restored terminal input. */ async function runQuickstartForegroundGateway(params, deps = {}) { const { runtime } = params; const { config } = await (deps.readConfigSnapshot ?? readConfigFileSnapshot)(); const links = resolveLocalControlUiProbeLinks({ bind: config.gateway?.bind, port: resolveGatewayPort(config), customBindHost: config.gateway?.customBindHost, basePath: config.gateway?.controlUi?.basePath, tlsEnabled: config.gateway?.tls?.enabled === true }); const credentials = await resolveGatewayCredentialsWithSecretInputs({ config, modeOverride: "local" }); const authMode = config.gateway?.auth?.mode ?? (credentials.password ? "password" : "token"); const gateway = (deps.runGateway ?? (await import("./run-Bv5QIhyZ.js")).runGatewayCommand)(resolveGatewayRunOptions({}), getGatewayRunRuntimeHooks()); const stopped = gateway.then(() => null); const reachable = await Promise.race([stopped, (deps.waitForGateway ?? waitForGatewayReachable)({ url: links.wsUrl, token: authMode === "token" ? credentials.token : void 0, password: authMode === "password" ? credentials.password : void 0, ...resolveGatewayStartupTiming() })]); if (!reachable) return; if (reachable.ok) { const handoff = await Promise.race([stopped, (deps.runBrowserHandoff ?? runBrowserHatchHandoff)({ config, prompter: createQuickstartNotePrompter(runtime), suppressTokenOutput: params.suppressTokenOutput }).catch(() => ({ handedOff: false }))]); if (!handoff) return; if (!handoff.handedOff) runtime.log(t("wizard.guided.quickstartBrowserUnavailable")); } else runtime.log(t("wizard.guided.quickstartGatewayPending")); runtime.log(t("wizard.guided.quickstartDashboard", { url: links.httpUrl })); runtime.log(t("wizard.guided.quickstartForeground")); runtime.log(t("wizard.guided.quickstartBackground")); runtime.log(t("wizard.guided.quickstartReopen")); await gateway; } //#endregion export { runQuickstartForegroundGateway };