From 3ac41f1868b816091198667e1b6b150024c5f73c Mon Sep 17 00:00:00 2001 From: ju6ge Date: Mon, 30 Mar 2026 16:34:30 +0200 Subject: [PATCH] add resolving of inner schemas for oneOf types - also explicit usage of keys() function "Zen of Python, explicit is better than implicit" --- backend/open_webui/utils/tools.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/open_webui/utils/tools.py b/backend/open_webui/utils/tools.py index c25b908373..571b15976d 100644 --- a/backend/open_webui/utils/tools.py +++ b/backend/open_webui/utils/tools.py @@ -703,7 +703,7 @@ def resolve_schema(schema, components): if not schema: return {} - if '$ref' in schema: + if '$ref' in schema.keys(): ref_path = schema['$ref'] ref_parts = ref_path.strip('#/').split('/') resolved = components @@ -721,6 +721,10 @@ def resolve_schema(schema, components): if 'items' in resolved_schema: resolved_schema['items'] = resolve_schema(resolved_schema['items'], components) + if 'oneOf' in resolved_schema: + for i, inner_schema in enumerate(resolved_schema['oneOf']): + resolved_schema['oneOf'][i] = resolve_schema(inner_schema, components) + return resolved_schema