Spaces:
Runtime error
Runtime error
File size: 1,079 Bytes
cd8bd0a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | export type CodexWireApi = "chat" | "responses";
function normalizeUrlPath(pathname: string, wireApi: CodexWireApi): string {
let path = pathname.replace(/\/+$/g, "");
if (wireApi === "responses") {
path = path.replace(/\/responses(?:\/.*)?$/i, "");
}
path = path.replace(/\/v1$/i, "").replace(/\/api$/i, "");
const apiPath = `${path}/api/v1`.replace(/\/{2,}/g, "/");
return apiPath.startsWith("/") ? apiPath : `/${apiPath}`;
}
export function normalizeCodexBaseUrl(baseUrl: string, wireApi: CodexWireApi = "chat"): string {
const trimmed = baseUrl.trim().replace(/\/+$/g, "");
if (!trimmed) return trimmed;
try {
const parsed = new URL(trimmed);
parsed.search = "";
parsed.hash = "";
parsed.pathname = normalizeUrlPath(parsed.pathname, wireApi);
return parsed.toString().replace(/\/+$/g, "");
} catch {
let normalized = trimmed;
if (wireApi === "responses") {
normalized = normalized.replace(/\/responses(?:\/.*)?$/i, "");
}
return normalized.replace(/\/v1$/i, "").replace(/\/api$/i, "") + "/api/v1";
}
}
|