Improve model capability checks for AIMLAPI

ad516c864ace0b2efd4eba000f3cee30b04c2c9c

Cohee <18619528+Cohee1207@users.noreply.github.com>

2 files changed, +9 -1Ignore whitespace
public/scripts/openai.js+2 -1
@@ -5439,7 +5439,7 @@ export function isImageInliningSupported() {
54395439 case chat_completion_sources.XAI:
54405440 return visionSupportedModels.some(model => oai_settings.xai_model.includes(model));
54415441 case chat_completion_sources.AIMLAPI:
5442- return visionSupportedModels.some(model => oai_settings.aimlapi_model.includes(model));
5442+ return (Array.isArray(model_list) && model_list.find(m => m.id === oai_settings.aimlapi_model)?.features?.includes('openai/chat-completion.vision'));
54435443 case chat_completion_sources.POLLINATIONS:
54445444 return (Array.isArray(model_list) && model_list.find(m => m.id === oai_settings.pollinations_model)?.vision);
54455445 case chat_completion_sources.MOONSHOT:
@@ -6086,6 +6086,7 @@ export function initOpenAI() {
60866086
60876087 $('#custom_prompt_post_processing').on('change', function () {
60886088 oai_settings.custom_prompt_post_processing = String($(this).val());
6089+ updateFeatureSupportFlags();
60896090 saveSettingsDebounced();
60906091 });
60916092
public/scripts/tool-calling.js+7 -0
@@ -626,6 +626,13 @@ export class ToolManager {
626626 }
627627 }
628628
629+ if (oai_settings.chat_completion_source === chat_completion_sources.AIMLAPI && Array.isArray(model_list)) {
630+ const currentModel = model_list.find(model => model.id === oai_settings.aimlapi_model);
631+ if (Array.isArray(currentModel?.features)) {
632+ return currentModel.features.includes('openai/chat-completion.function');
633+ }
634+ }
635+
629636 const supportedSources = [
630637 chat_completion_sources.OPENAI,
631638 chat_completion_sources.CUSTOM,