async def run_turn(runner: Runner, user_id: str, session_id: str, query: str): """ Execute a single conversation turn with the agent. Args: runner: The Runner instance to execute the query user_id: The user identifier session_id: The session identifier query: The user's query text """ print(f"\n{'─'*70}") print(f"šŸ‘¤ USER: {query}") print('─'*70) msg = types.Content(role='user', parts=[types.Part(text=query)]) async for event in runner.run_async( user_id=user_id, session_id=session_id, new_message=msg ): if event.is_final_response(): response_text = event.content.parts[0].text if event.content and event.content.parts else "No response" print(f"\nšŸ¤– AGENT: {response_text}\n") __ __