mirror of
https://github.com/open-webui/mcpo.git
synced 2026-07-16 02:44:00 -04:00
[PR #119] [CLOSED] Bugfix/117 support of complex schemas #166
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/open-webui/mcpo/pull/119
Author: @dmytroDragan
Created: 5/3/2025
Status: ❌ Closed
Base:
dev← Head:bugfix/117-support-of-complex-schemas📝 Commits (5)
e37d0ebMerge pull request #108 from open-webui/devdc48d27feat: add comprehensive schema processing tests and utilities5796e00feat: refactor filter handling to align with flat filter structure51ececafeat: implement PatchedClientSession with enhanced tool execution and logging426558cfeat: improve error handling for tool execution in FastAPI📊 Changes
15 files changed (+2331 additions, -566 deletions)
View changed files
📝
src/mcpo/main.py(+111 -52)➕
src/mcpo/tests/__init__.py(+0 -0)➕
src/mcpo/tests/conftest.py(+54 -0)➕
src/mcpo/tests/test_complex_types.py(+187 -0)➕
src/mcpo/tests/test_integration.py(+220 -0)📝
src/mcpo/tests/test_main.py(+3 -3)➕
src/mcpo/tests/test_primitive_types.py(+142 -0)➕
src/mcpo/tests/test_references.py(+166 -0)➕
src/mcpo/tests/test_schema_composition.py(+172 -0)➕
src/mcpo/tests/test_schema_processing.py(+483 -0)➕
src/mcpo/tests/test_validation.py(+181 -0)➕
src/mcpo/utils/__init__.py(+41 -0)➕
src/mcpo/utils/common_logging.py(+9 -0)📝
src/mcpo/utils/main.py(+322 -272)📝
uv.lock(+240 -239)📄 Description
Pull Request Checklist
Before submitting, make sure you've checked the following:
devbranch.Changelog Entry
Description
Adds robust support for complex and recursive JSON schemas, enabling dynamic FastAPI endpoint generation for tools with advanced input/output structures. Improves schema parsing, validation, and error handling to ensure correct processing of deeply nested, recursive, and mutually recursive schemas.
Added
Changed
Deprecated
Removed
Fixed
Security
Breaking Changes
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.