33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import type { OpenClawConfig } from "../config/config.js";
|
|
|
|
export function resolveGatewayProbeAuth(params: {
|
|
cfg: OpenClawConfig;
|
|
mode: "local" | "remote";
|
|
env?: NodeJS.ProcessEnv;
|
|
}): { token?: string; password?: string } {
|
|
const env = params.env ?? process.env;
|
|
const authToken = params.cfg.gateway?.auth?.token;
|
|
const authPassword = params.cfg.gateway?.auth?.password;
|
|
const remote = params.cfg.gateway?.remote;
|
|
|
|
const token =
|
|
params.mode === "remote"
|
|
? typeof remote?.token === "string" && remote.token.trim()
|
|
? remote.token.trim()
|
|
: undefined
|
|
: env.OPENCLAW_GATEWAY_TOKEN?.trim() ||
|
|
(typeof authToken === "string" && authToken.trim() ? authToken.trim() : undefined);
|
|
|
|
const password =
|
|
env.OPENCLAW_GATEWAY_PASSWORD?.trim() ||
|
|
(params.mode === "remote"
|
|
? typeof remote?.password === "string" && remote.password.trim()
|
|
? remote.password.trim()
|
|
: undefined
|
|
: typeof authPassword === "string" && authPassword.trim()
|
|
? authPassword.trim()
|
|
: undefined);
|
|
|
|
return { token, password };
|
|
}
|