[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"

[project]
name = "cua-agent"
version = "0.4.0"
description = "CUA (Computer Use) Agent for AI-driven computer interaction"
readme = "README.md"
authors = [
    { name = "TryCua", email = "gh@trycua.com" }
]
dependencies = [
    "httpx>=0.27.0",
    "aiohttp>=3.9.3",
    "asyncio",
    "anyio>=4.4.1",
    "typing-extensions>=4.12.2",
    "pydantic>=2.6.4",
    "rich>=13.7.1",
    "python-dotenv>=1.0.1",
    "cua-computer>=0.3.0,<0.5.0",
    "cua-core>=0.1.0,<0.2.0",
    "certifi>=2024.2.2",
    "litellm>=1.74.8"
]
requires-python = ">=3.11"

[project.optional-dependencies]
openai = []
anthropic = []
omni = [
    "ultralytics>=8.0.0",
    "cua-som>=0.1.0,<0.2.0",
]
uitars = []
uitars-mlx = [
    "mlx-vlm>=0.1.27; sys_platform == 'darwin'"
]
uitars-hf = [
    "transformers>=4.54.0"
]
ui = [
    "gradio>=5.23.3",
    "python-dotenv>=1.0.1",
]
cli = [
    "yaspin>=3.1.0",
]
all = [
    # omni requirements
    "ultralytics>=8.0.0",
    "cua-som>=0.1.0,<0.2.0",
    # uitars requirements
    "mlx-vlm>=0.1.27; sys_platform == 'darwin'",
    "transformers>=4.54.0",
    # ui requirements
    "gradio>=5.23.3",
    "python-dotenv>=1.0.1",
    # cli requirements
    "yaspin>=3.1.0",
]

[tool.uv]
constraint-dependencies = ["fastrtc>0.43.0", "mlx-audio>0.2.3"]

[tool.pdm]
distribution = true

[tool.pdm.build]
includes = ["agent/"]
