mirror of
https://github.com/langflow-ai/langflow.git
synced 2026-07-23 15:09:37 +08:00
`PreToolValidationWrapper.convert_langchain_tools_to_sparc_tool_specs_format` degrades to a minimal tool spec when a tool can't be introspected, but its `except` tuple omitted `RuntimeError`. On Python 3.14 + langchain-core 1.4.7, reading `tool.args` for a tool whose `args_schema` is not a usable model (e.g. a `@property` that shadows the inherited Pydantic field) returns the raw property object, so langchain's `get_all_basemodel_annotations` recurses on `get_origin(<property>) -> None -> None -> ...` and raises `RecursionError` (a `RuntimeError` subclass) -- which escaped the handler and crashed conversion (surfaced by test_altk_agent_tool_conversion.py::test_error_handling). Add `RuntimeError` to the caught tuple, matching the two sibling handlers in the same module that already catch it. This restores the intended fall-back to a minimal spec and hardens real agent runs against the same recursion.