import asyncio
import os
import sys

sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))

from dotenv import load_dotenv

load_dotenv()

from openbrowser import Agent, Browser, ChatGoogle

# Connect to your existing Chrome browser
browser = Browser(
	executable_path='/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
	user_data_dir='~/Library/Application Support/Google/Chrome',
	profile_directory='Default',
)


# NOTE: You have to close all Chrome browsers before running this example so that we can launch chrome in debug mode.
async def main():
	# save storage state
	agent = Agent(
		llm=ChatGoogle(model='gemini-flash-latest'),
		# Google blocks this approach, so we use a different search engine
		task='go to amazon.com and search for pens to draw on whiteboards',
		browser=browser,
	)
	await agent.run()


if __name__ == '__main__':
	asyncio.run(main())
