function trimNonEmpty(value: string | null | undefined): string | null { if (typeof value !== "string") { return null; } const trimmed = value.trim(); return trimmed.length > 0 ? trimmed : null; } export function normalizeWorkspaceIdentity(value: string | null | undefined): string | null { const trimmed = trimNonEmpty(value); if (!trimmed) { return null; } const withUnixSeparators = trimmed.replace(/\\/g, "/"); if (withUnixSeparators === "/") { return withUnixSeparators; } const withoutTrailingSlash = withUnixSeparators.replace(/\/+$/, ""); return withoutTrailingSlash.length > 0 ? withoutTrailingSlash : "/"; }