mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-28 14:03:34 +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.
17 lines
534 B
TypeScript
17 lines
534 B
TypeScript
import { normalizeOptionalString } from "@openclaw/normalization-core/string-coerce";
|
|
|
|
export function normalizePluginHttpPath(
|
|
path?: string | null,
|
|
fallback?: string | null,
|
|
): string | null {
|
|
const trimmed = normalizeOptionalString(path);
|
|
if (!trimmed) {
|
|
const fallbackTrimmed = normalizeOptionalString(fallback);
|
|
if (!fallbackTrimmed) {
|
|
return null;
|
|
}
|
|
return fallbackTrimmed.startsWith("/") ? fallbackTrimmed : `/${fallbackTrimmed}`;
|
|
}
|
|
return trimmed.startsWith("/") ? trimmed : `/${trimmed}`;
|
|
}
|