mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-08 14:02:55 +00:00
Extract shared normalization/coercion helpers into private @openclaw/normalization-core workspace package while preserving existing plugin SDK helper subpaths.\n\nAlso keeps direct normalization-core imports internal, wires UI/build/loader resolution, and replaces the slow PR network CodeQL lane with a fast added-line boundary scan while retaining full CodeQL for scheduled/manual runs.\n\nVerification: local moved tests, plugin SDK boundary tests, extension loader tests, agents-support shard, UI build/test, build artifacts, lint, workflow guards, autoreview, and GitHub CI passed on PR head 963d893715.
20 lines
750 B
TypeScript
20 lines
750 B
TypeScript
import { normalizeOptionalString } from "@openclaw/normalization-core/string-coerce";
|
|
import type { OpenClawConfig } from "../config/types.openclaw.js";
|
|
|
|
export type GatewayProbeTargetResolution = {
|
|
gatewayMode: "local" | "remote";
|
|
mode: "local" | "remote";
|
|
remoteUrlMissing: boolean;
|
|
};
|
|
|
|
export function resolveGatewayProbeTarget(cfg: OpenClawConfig): GatewayProbeTargetResolution {
|
|
const gatewayMode = cfg.gateway?.mode === "remote" ? "remote" : "local";
|
|
const remoteUrlRaw = normalizeOptionalString(cfg.gateway?.remote?.url) ?? "";
|
|
const remoteUrlMissing = gatewayMode === "remote" && !remoteUrlRaw;
|
|
return {
|
|
gatewayMode,
|
|
mode: gatewayMode === "remote" && !remoteUrlMissing ? "remote" : "local",
|
|
remoteUrlMissing,
|
|
};
|
|
}
|