- config.py: pydantic-settings with all env vars, privacy mode, per-agent overrides - app_state.py: global singletons (pool, master agent, registry, llm_router, sweep) - main.py: FastAPI lifespan startup — DB pool, LLM router, Odoo client, agents, master - routers/dispatch.py: POST /dispatch with rate limiting and webhook secret auth - routers/approval.py: GET /approval/pending, POST /approval/respond - routers/registry.py: GET/POST /registry/agents, POST /registry/backend overrides - routers/sweep.py: POST /sweep trigger, GET /sweep/status - routers/health.py: GET /health, GET /health/detailed (DB/Odoo/Ollama checks) - requirements.txt: pinned deps (fastapi, uvicorn, asyncpg, anthropic, alembic) - Dockerfile: python:3.11-slim, single uvicorn worker - docker-compose.yml: agent-service + postgres:15, bound to 192.168.2.47:8001 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
12 lines
223 B
Plaintext
12 lines
223 B
Plaintext
fastapi==0.115.0
|
|
uvicorn[standard]==0.30.6
|
|
pydantic==2.9.2
|
|
pydantic-settings==2.5.2
|
|
asyncpg==0.29.0
|
|
anthropic==0.34.2
|
|
httpx==0.27.2
|
|
alembic==1.13.3
|
|
sqlalchemy[asyncio]==2.0.35
|
|
json-log-formatter==0.5.2
|
|
python-dotenv==1.0.1
|