Add search and RAG workspace flows
This commit is contained in:
@@ -43,6 +43,34 @@ function toUniqueList(values: string[]) {
|
||||
return Array.from(new Set(values));
|
||||
}
|
||||
|
||||
function isLoopbackHostname(hostname: string) {
|
||||
return hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '::1';
|
||||
}
|
||||
|
||||
function replaceOriginHostname(origin: string, hostname: string) {
|
||||
const url = new URL(origin);
|
||||
url.hostname = hostname;
|
||||
url.hash = '';
|
||||
url.search = '';
|
||||
|
||||
const pathName = url.pathname.replace(/\/$/, '');
|
||||
return `${url.origin}${pathName === '/' ? '' : pathName}`;
|
||||
}
|
||||
|
||||
function buildTrustedOrigins(publicOrigin: string, configuredOrigins: string | undefined) {
|
||||
const trustedOrigins = [publicOrigin];
|
||||
const publicOriginUrl = new URL(publicOrigin);
|
||||
|
||||
if (isLoopbackHostname(publicOriginUrl.hostname)) {
|
||||
trustedOrigins.push(replaceOriginHostname(publicOrigin, 'localhost'));
|
||||
trustedOrigins.push(replaceOriginHostname(publicOrigin, '127.0.0.1'));
|
||||
}
|
||||
|
||||
trustedOrigins.push(...parseCsvList(configuredOrigins));
|
||||
|
||||
return toUniqueList(trustedOrigins).join(',');
|
||||
}
|
||||
|
||||
function coercePort(port: string | undefined) {
|
||||
const parsed = Number.parseInt(port ?? '', 10);
|
||||
if (Number.isInteger(parsed) && parsed > 0 && parsed <= 65535) {
|
||||
@@ -113,10 +141,7 @@ export function buildLocalDevConfig(sourceEnv: EnvMap = process.env): LocalDevCo
|
||||
? DEFAULT_DATABASE_URL
|
||||
: trim(sourceEnv.DATABASE_URL) ?? DEFAULT_DATABASE_URL;
|
||||
const secret = trim(sourceEnv.BETTER_AUTH_SECRET);
|
||||
const trustedOrigins = toUniqueList([
|
||||
publicOrigin,
|
||||
...parseCsvList(sourceEnv.BETTER_AUTH_TRUSTED_ORIGINS)
|
||||
]).join(',');
|
||||
const trustedOrigins = buildTrustedOrigins(publicOrigin, sourceEnv.BETTER_AUTH_TRUSTED_ORIGINS);
|
||||
|
||||
const env: EnvMap = {
|
||||
...sourceEnv,
|
||||
|
||||
Reference in New Issue
Block a user