Files
crewAI/lib/crewai/tests
Devin AI 128552a5fa fix: use async LLM calls in converter for async workflows (issue #5230)
When using akickoff() (async workflow), the _export_output method and
_ainvoke_guardrail_function were calling synchronous llm.call() through
the converter module, which blocks the event loop.

Changes:
- Add ato_pydantic() and ato_json() async methods to Converter class
  that use llm.acall() instead of llm.call()
- Add async utility functions: aconvert_to_model(), ahandle_partial_json(),
  aconvert_with_instructions()
- Add _aexport_output() async method to Task class
- Wire _aexport_output into _aexecute_core and _ainvoke_guardrail_function
  replacing the sync _export_output calls in async paths
- Add comprehensive async tests covering all new async converter paths

Fixes #5230

Co-Authored-By: João <joao@crewai.com>
2026-04-02 12:39:01 +00:00
..
2025-10-20 14:10:19 -07:00
2025-12-04 16:53:19 -05:00
2025-10-20 14:10:19 -07:00
2026-03-24 19:03:35 +08:00
2026-02-13 21:34:37 -03:00
2025-12-04 13:34:29 -08:00
2025-10-20 14:10:19 -07:00
2025-12-01 18:56:56 -05:00
2025-10-20 14:10:19 -07:00
2025-10-20 14:10:19 -07:00