The default value '{}' for func_info.get('arguments', '{}') was a truthy
string that prevented the 'or' operator from falling through to
tool_call.get('input') for Bedrock-style dict tool calls. This caused
tool arguments to be silently replaced with an empty dict, resulting in
_run() being called without required arguments.
Changed to: func_info.get('arguments') or tool_call.get('input') or {}
Added regression tests covering Bedrock-style, OpenAI-style, and
multi-argument dict tool calls.
Co-Authored-By: João <joao@crewai.com>