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

[project]
name = "navi"
version = "0.1.0"
description = "Modular agent system with REST API and WebSocket"
requires-python = ">=3.11"

dependencies = [
    # API
    "fastapi>=0.111",
    "uvicorn[standard]>=0.29",
    "python-multipart>=0.0.9",
    "aiofiles>=23.0",
    "aiosqlite>=0.20",

    # LLM backends
    "ollama>=0.2",
    "openai>=1.30",
    "anthropic>=0.26",

    # HTTP / tools
    "httpx>=0.27",
    "asyncssh>=2.14",
    "ddgs>=1.0",

    # Config
    "pydantic>=2.7",
    "pydantic-settings>=2.3",
    "python-dotenv>=1.0",

    # Utilities
    "tenacity>=8.3",
    "structlog>=24.1",
]

[project.optional-dependencies]
dev = [
    "pytest>=8.0",
    "pytest-asyncio>=0.23",
    "ruff>=0.4",
    "mypy>=1.10",
]

[tool.ruff]
line-length = 100
target-version = "py311"

[tool.pytest.ini_options]
asyncio_mode = "auto"
