fix(core): Do not use url.includes to check for domain names (#13802)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2025-03-19 12:29:00 +01:00
committed by GitHub
parent 9d698edceb
commit d3bc80c22b
6 changed files with 13 additions and 11 deletions

View File

@@ -104,8 +104,8 @@ export class LmChatOpenAi implements INodeType {
properties: {
// If the baseURL is not set or is set to api.openai.com, include only chat models
pass: `={{
($parameter.options?.baseURL && !$parameter.options?.baseURL?.includes('api.openai.com')) ||
($credentials?.url && !$credentials.url.includes('api.openai.com')) ||
($parameter.options?.baseURL && !$parameter.options?.baseURL?.startsWith('https://api.openai.com/')) ||
($credentials?.url && !$credentials.url.startsWith('https://api.openai.com/')) ||
$responseItem.id.startsWith('ft:') ||
$responseItem.id.startsWith('o1') ||
$responseItem.id.startsWith('o3') ||

View File

@@ -15,8 +15,9 @@ export async function searchModels(
const { data: models = [] } = await openai.models.list();
const filteredModels = models.filter((model: { id: string }) => {
const url = baseURL && new URL(baseURL);
const isValidModel =
(baseURL && !baseURL.includes('api.openai.com')) ||
(url && url.hostname !== 'api.openai.com') ||
model.id.startsWith('ft:') ||
model.id.startsWith('o1') ||
model.id.startsWith('o3') ||

View File

@@ -77,7 +77,8 @@ export async function modelSearch(
filter?: string,
): Promise<INodeListSearchResult> {
const credentials = await this.getCredentials<{ url: string }>('openAiApi');
const isCustomAPI = credentials.url && !credentials.url.includes('api.openai.com');
const url = credentials.url && new URL(credentials.url);
const isCustomAPI = url && url.hostname !== 'api.openai.com';
return await getModelSearch(
(model) =>