Files
agent-framework/python/packages
T
Eduard van Valkenburg fc9c81b0b1 Python: [BREAKING] Remove FunctionTool[Any] compatibility shim for schema passthrough (#3600) (#3907)
* Fix #3600: Pass JSON schemas through without Pydantic conversion

This change optimizes FunctionTool and MCP flows by passing JSON schemas
directly to providers without converting them to Pydantic models first.

Key changes:
- Store JSON schema as-is when supplied to FunctionTool
- Skip Pydantic model_validate for schema-supplied tools in invoke()
- Return MCP tool schemas directly without conversion
- Add comprehensive tests for schema passthrough behavior

Performance benefits:
- Eliminates expensive Pydantic model creation for supplied schemas
- Preserves exact schema structure (additionalProperties, custom fields, etc.)
- Reduces memory overhead and initialization time

Maintains backward compatibility:
- Function signature inference still uses Pydantic models
- Explicit Pydantic models passed as input_model work as before
- All existing tests pass

* Fix schema passthrough validation and remove helper

* Simplify FunctionTool without generic model dependency

* Fix FunctionTool typing fallout in 3600

* Remove FunctionTool[Any] compatibility shim

* Use serializable kwargs in OTEL tool args
fc9c81b0b1 ยท 2026-02-14 10:12:21 +00:00
History
..
2026-02-13 00:00:57 +00:00
2026-02-13 00:00:57 +00:00
2026-02-13 00:00:57 +00:00
2026-02-13 00:00:57 +00:00
2026-02-13 00:00:57 +00:00
2026-02-13 00:00:57 +00:00
2026-02-13 00:00:57 +00:00
2026-02-13 00:00:57 +00:00
2026-02-13 00:00:57 +00:00
2026-02-13 00:00:57 +00:00