click>=8.1
rich>=13.0
toml>=0.10
aiohttp>=3.9
aiosqlite>=0.19
watchfiles>=0.22
pydantic>=2.0
keyring>=25.0
playwright>=1.52
python-telegram-bot>=21.0
discord.py>=2.3
slack-bolt>=1.18
qrcode>=7.4

[all]
python-telegram-bot>=21.0
discord.py>=2.3
slack-bolt>=1.18
playwright>=1.52
sqlite-vec>=0.1
mss>=9.0
pyautogui>=0.9
pillow>=10.0
edge-tts>=6.1
ffmpeg-python>=0.2
PyNaCl>=1.5
google-api-python-client>=2.0
google-auth-oauthlib>=1.2
google-auth-httplib2>=0.2
msal>=1.30
pystray>=0.19

[all-channels]
python-telegram-bot>=21.0
discord.py>=2.3
slack-bolt>=1.18

[browser]
playwright>=1.52

[desktop]
mss>=9.0
pyautogui>=0.9
pillow>=10.0

[dev]
pytest>=8.0
pytest-asyncio>=0.23
ruff>=0.3

[discord]
discord.py>=2.3

[google]
google-api-python-client>=2.0
google-auth-oauthlib>=1.2
google-auth-httplib2>=0.2

[microsoft]
msal>=1.30

[sessions]
playwright>=1.52

[slack]
slack-bolt>=1.18

[telegram]
python-telegram-bot>=21.0

[tray]
pystray>=0.19
pillow>=10.0

[vector]
sqlite-vec>=0.1

[voice]
edge-tts>=6.1
ffmpeg-python>=0.2
PyNaCl>=1.5
