[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"

[project]
name = "act-ect-poc"
version = "0.1.0"
description = "End-to-end PoC: LangGraph agent calling MCP tools with ACT mandate + ECT execution context"
requires-python = ">=3.11"
dependencies = [
    # Our refimpls (installed from sibling packages)
    "ietf-act",
    "ietf-ect",
    # MCP server + client
    "mcp>=1.6.0",
    # LangGraph + LLM plumbing
    "langgraph>=0.3.0",
    "langchain>=0.3.0",
    "langchain-core>=0.3.0",
    "langchain-ollama>=0.2.0",
    "langchain-mcp-adapters>=0.1.0",
    # HTTP server + client
    "fastapi>=0.110",
    "uvicorn[standard]>=0.29",
    "httpx>=0.27",
    # Crypto / JWT
    "cryptography>=42.0",
    "PyJWT>=2.8.0",
]

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

[project.scripts]
poc-server = "poc.server:main"
poc-agent = "poc.agent:main"
poc-verify = "poc.verify_cli:main"

[tool.setuptools.packages.find]
where = ["src"]

[tool.uv.sources]
ietf-act = { path = "../../workspace/packages/act", editable = true }
ietf-ect = { path = "../../workspace/packages/ect", editable = true }

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