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

[project]
name = "supply-agent"
version = "0.1.0"
description = "A modern, extensible AI Agent framework with OpenRouter, Tools, and Skills support"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
    "openai>=1.50.0",
    "pydantic>=2.0",
    "pydantic-settings>=2.0",
    "httpx>=0.27.0",
    "rich>=13.0",
    "sqlalchemy>=2.0",
    "pymysql>=1.1",
    "apscheduler>=3.10",
    "python-dotenv>=1.0",
    "oss2>=2.18.0",
    "fastapi>=0.115.0",
    "uvicorn[standard]>=0.32.0",
    "markdown>=3.6",
]

[project.optional-dependencies]
odps = ["pyodps>=0.12"]
dev = [
    "pytest>=8.0",
    "pytest-asyncio>=0.24",
    "ruff>=0.8",
]

[tool.hatch.build.targets.wheel]
packages = ["supply_agent", "supply_infra", "agents", "api"]

[project.scripts]
supply-scheduler = "supply_infra.scheduler.app:run_scheduler"
supply-visualize = "supply_agent.logging.cli:main"
supply-api = "api.run:main"

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

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