Files
crewAI/lib
Devin AI d97d58d2c3 fix: pass tools to llm.call() for native function calling support
This fixes issue #4238 where Gemini models fail with UNEXPECTED_TOOL_CALL
errors because tools were not being passed to the LLM call.

Changes:
- Add _extract_tools_from_context() helper function to extract tools from
  executor context (CrewAgentExecutor or LiteAgent) and convert them to
  dict format compatible with LLM providers
- Update get_llm_response() to extract and pass tools to llm.call()
- Update aget_llm_response() to extract and pass tools to llm.acall()
- Add comprehensive tests for the new functionality

Co-Authored-By: João <joao@crewai.com>
2026-01-14 22:48:48 +00:00
..