mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-14 10:41:23 +00:00
70 lines
1.9 KiB
TypeScript
70 lines
1.9 KiB
TypeScript
import type { OpenClawConfig } from "../config/config.js";
|
|
|
|
export type SupportedGatewaySecretInputPath =
|
|
| "gateway.auth.token"
|
|
| "gateway.auth.password"
|
|
| "gateway.remote.token"
|
|
| "gateway.remote.password";
|
|
|
|
export const ALL_GATEWAY_SECRET_INPUT_PATHS: SupportedGatewaySecretInputPath[] = [
|
|
"gateway.auth.token",
|
|
"gateway.auth.password",
|
|
"gateway.remote.token",
|
|
"gateway.remote.password",
|
|
];
|
|
|
|
export function isSupportedGatewaySecretInputPath(
|
|
path: string,
|
|
): path is SupportedGatewaySecretInputPath {
|
|
return ALL_GATEWAY_SECRET_INPUT_PATHS.includes(path as SupportedGatewaySecretInputPath);
|
|
}
|
|
|
|
export function readGatewaySecretInputValue(
|
|
config: OpenClawConfig,
|
|
path: SupportedGatewaySecretInputPath,
|
|
): unknown {
|
|
if (path === "gateway.auth.token") {
|
|
return config.gateway?.auth?.token;
|
|
}
|
|
if (path === "gateway.auth.password") {
|
|
return config.gateway?.auth?.password;
|
|
}
|
|
if (path === "gateway.remote.token") {
|
|
return config.gateway?.remote?.token;
|
|
}
|
|
return config.gateway?.remote?.password;
|
|
}
|
|
|
|
export function assignResolvedGatewaySecretInput(params: {
|
|
config: OpenClawConfig;
|
|
path: SupportedGatewaySecretInputPath;
|
|
value: string | undefined;
|
|
}): void {
|
|
const { config, path, value } = params;
|
|
if (path === "gateway.auth.token") {
|
|
if (config.gateway?.auth) {
|
|
config.gateway.auth.token = value;
|
|
}
|
|
return;
|
|
}
|
|
if (path === "gateway.auth.password") {
|
|
if (config.gateway?.auth) {
|
|
config.gateway.auth.password = value;
|
|
}
|
|
return;
|
|
}
|
|
if (path === "gateway.remote.token") {
|
|
if (config.gateway?.remote) {
|
|
config.gateway.remote.token = value;
|
|
}
|
|
return;
|
|
}
|
|
if (config.gateway?.remote) {
|
|
config.gateway.remote.password = value;
|
|
}
|
|
}
|
|
|
|
export function isTokenGatewaySecretInputPath(path: SupportedGatewaySecretInputPath): boolean {
|
|
return path === "gateway.auth.token" || path === "gateway.remote.token";
|
|
}
|