from droidrun.agent.droid import DroidAgent
# Create and run agent
agent = DroidAgent(goal="Open Gmail and check inbox", config=config)
handler = agent.run()
# Stream events in real-time
async for event in handler.stream_events():
if isinstance(event, ManagerPlanDetailsEvent):
print(f"📋 Plan: {event.plan}")
print(f"🎯 Current subgoal: {event.current_subgoal}")
elif isinstance(event, ExecutorActionEvent):
print(f"⚡ Action: {event.description}")
print(f"💭 Thought: {event.thought}")
elif isinstance(event, ScreenshotEvent):
save_screenshot(event.screenshot, "screenshot.png")
elif isinstance(event, TaskThinkingEvent):
print(f"🐍 Generated code:")
if event.code:
print(event.code)
if event.thoughts:
print(f"💭 Thoughts: {event.thoughts}")
# Wait for final result
result = await handler
print(f"✅ Success: {result.success}")
print(f"📝 Reason: {result.reason}")