Spaces:
Running
Running
| # Architecture | |
| ## Overview | |
| `autonomy-labs` is a single-container FastAPI app intended to run on Hugging Face Spaces (Docker). It serves: | |
| - static pages (`static/index.html`, `static/dashboard.html`) | |
| - REST APIs for chat + Codex + MCP | |
| - a WebSocket PTY-backed terminal (`/ws/terminal`) | |
| ## Backend layout | |
| - `main.py`: minimal entrypoint (loads dotenv, creates app). | |
| - `app/server.py`: app factory + lifespan lifecycle. | |
| - `app/routes/*`: feature routers: | |
| - `base.py`: `/`, `/health`, `/config` | |
| - `chat.py`: `/api/chat`, `/api/proxy/models` | |
| - `codex.py`: `/api/codex*` and Codex login helpers | |
| - `mcp.py`: `/api/mcp/*` | |
| - `terminal.py`: `/ws/terminal` | |
| - `user.py`: `/api/me` and per-user persisted config (e.g., MCP registry) | |
| - `app/auth.py`: Supabase access-token verification (server-side) with small TTL cache. | |
| - `app/storage.py`: per-user server-side persistence directory selection (`/data` preferred). | |
| ## Frontend layout | |
| Currently the UI is primarily `static/dashboard.html` with inline JS/CSS and CDN dependencies (Tailwind, xterm, etc). | |
| ## Execution safety model | |
| The following capabilities are high-risk and gated: | |
| - web terminal | |
| - Codex execution endpoints | |
| - MCP tool calls | |
| Auth is enforced server-side via Supabase access tokens. Feature flags can disable them entirely. | |