pydantic>=2.6
click>=8.1
pyyaml>=6.0
fastapi>=0.118
uvicorn>=0.32
databricks-mcp>=0.6.0

[a2a-client]
httpx>=0.27

[a2a-grpc]
grpcio>=1.70.0
grpcio-status>=1.70.0
grpcio-tools>=1.70.0
googleapis-common-protos>=1.66.0
protobuf>=5.26.0

[a2a-server]
fastapi>=0.118

[cli]
ag-ui-protocol>=0.0.42
jinja2>=3.1
fastapi>=0.118
uvicorn>=0.32

[dev]
mypy>=1.8
pytest>=7.4
pytest-asyncio>=0.23
pytest-cov>=4.0
coverage[toml]>=7.0
hypothesis>=6.103
ruff>=0.2
ag-ui-protocol>=0.0.42
jsonschema>=4.23
fastapi>=0.118
httpx>=0.27
jinja2>=3.1
pyyaml>=6.0
uvicorn>=0.32
tenacity>=9.0.0
aiohttp>=3.9.0
grpcio>=1.70.0
grpcio-status>=1.70.0
grpcio-tools>=1.70.0
googleapis-common-protos>=1.66.0
protobuf>=5.26.0
openai>=2.0.0
anthropic>=0.75.0
google-genai>=1.57.0
boto3>=1.42.0

[docs]
mkdocs>=1.6
mkdocs-material<9.7,>=9.6
mkdocstrings[python]>=0.25

[llm]
openai>=2.0.0
anthropic>=0.75.0
google-genai>=1.57.0
boto3>=1.42.0
databricks-sdk>=0.77.0

[planner]
litellm>=1.77.3
dspy>=3.0.3
fastmcp>=2.13.0
utcp>=1.1.0
utcp-http>=1.0.0
tenacity>=9.0.0
aiohttp>=3.9.0
jsonschema>=4.23

[tools-cli]
utcp-cli>=1.0.0

[tools-websocket]
utcp-websocket>=1.0.0
