ultisuite-client/lib/ai/embed-url.ts
R3D347HR4Y d6d18f911b
Some checks failed
E2E / Playwright e2e (push) Has been cancelled
Lots of stuff and mobile app
2026-06-17 00:13:28 +02:00

26 lines
913 B
TypeScript

import { getAiOrigin } from "@/lib/runtime-config"
/** Public path for OpenWebUI (default /ai). */
export function resolveAiEmbedBase(publicPath = "/ai"): string {
const path = (publicPath || "/ai").replace(/\/$/, "") || "/ai"
const normalized = path.startsWith("/") ? path : `/${path}`
const origin = getAiOrigin()?.trim().replace(/\/$/, "")
return origin ? `${origin}${normalized}` : normalized
}
export function resolveAiEmbedOrigin(publicPath = "/ai"): string {
const base = resolveAiEmbedBase(publicPath)
if (base.startsWith("http://") || base.startsWith("https://")) {
return new URL(base).origin
}
if (typeof window !== "undefined") {
return window.location.origin
}
return ""
}
export function buildAiEmbedUrl(publicPath: string, searchParams: string): string {
const base = resolveAiEmbedBase(publicPath)
return searchParams ? `${base}/?${searchParams}` : `${base}/`
}