@@ -263,30 +263,35 @@ def run_environment_loop(
263263 ),
264264 ],
265265 )
266- runner = runners .InMemoryRunner (
267- agent = agent ,
268- app_name = 'eval_app' ,
269- plugins = plugins ,
270- )
271- session = asyncio .run (
272- runner .session_service .create_session (
273- app_name = 'eval_app' , user_id = 'eval_user'
274- )
275- )
276- env_reset_res = env .reset (task_index = task_index )
277- initial_message = types .Content (
278- role = 'user' , parts = [types .Part (text = env_reset_res .observation )]
279- )
280- # The initial message is generated by the environment `reset` within the
281- # implementation of this function - as the first step of the trace.
282- # We yield this first step to ensure we provide a full trace to the user.
283- yield event_lib .Event (
284- author = 'user' ,
285- content = initial_message ,
286- )
287- for event in runner .run (
288- user_id = session .user_id ,
289- session_id = session .id ,
290- new_message = initial_message ,
291- ):
292- yield event
266+
267+ async def _async_run ():
268+ runner = runners .InMemoryRunner (
269+ agent = agent ,
270+ app_name = 'eval_app' ,
271+ plugins = plugins ,
272+ )
273+ session = await runner .session_service .create_session (
274+ app_name = 'eval_app' , user_id = 'eval_user'
275+ )
276+ env_reset_res = env .reset (task_index = task_index )
277+ initial_message = types .Content (
278+ role = 'user' , parts = [types .Part (text = env_reset_res .observation )]
279+ )
280+ # The initial message is generated by the environment `reset` within the
281+ # implementation of this function - as the first step of the trace.
282+ # We yield this first step to ensure we provide a full trace to the user.
283+ events = [
284+ event_lib .Event (
285+ author = 'user' ,
286+ content = initial_message ,
287+ )
288+ ]
289+ async for event in runner .run_async (
290+ user_id = session .user_id ,
291+ session_id = session .id ,
292+ new_message = initial_message ,
293+ ):
294+ events .append (event )
295+ return events
296+
297+ return asyncio .run (_async_run ())
0 commit comments