diff --git a/src/llama_stack_client/lib/agents/agent.py b/src/llama_stack_client/lib/agents/agent.py index 3c43bc0e..6177f4ad 100644 --- a/src/llama_stack_client/lib/agents/agent.py +++ b/src/llama_stack_client/lib/agents/agent.py @@ -257,7 +257,18 @@ def create_turn( chunks = [x for x in self._create_turn_streaming(messages, session_id, toolgroups, documents)] if not chunks: raise Exception("Turn did not complete") - return chunks[-1].event.payload.turn + + last_chunk = chunks[-1] + if hasattr(last_chunk, "error"): + if "message" in last_chunk.error: + error_msg = last_chunk.error["message"] + else: + error_msg = str(last_chunk.error) + raise RuntimeError(f"Turn did not complete. Error: {error_msg}") + try: + return last_chunk.event.payload.turn + except AttributeError: + raise RuntimeError(f"Turn did not complete. Output: {last_chunk}") from None def _create_turn_streaming( self,