AsyncEventBridge bridges sync EventEmitter to asyncio consumers. FastAPI app with session management, discussion control, roles/providers. WebSocket for real-time events + inject, SSE for read-only streaming. Minimal dark-theme HTML/JS UI. `meeting-room serve` CLI subcommand. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
791 B
791 B
v2-p2-fastapi-app
Goal
Create FastAPI application with REST API endpoints for session management and discussion control.
Key files
meeting_room/server.py— FastAPI app, routes, session store
Decisions log
- 2026-05-04: In-memory session store (dict). Persistent storage deferred.
- 2026-05-04: REST routes under /api prefix, WebSocket/SSE on root
Open questions
- None
Completed steps
- FastAPI app with lifespan handler
- Session + SessionStore models
- REST endpoints: POST /api/sessions, GET /api/sessions, GET /api/sessions/{id}, POST /api/sessions/{id}/start, POST /api/sessions/{id}/inject, GET /api/sessions/{id}/messages
- GET /api/roles, GET /api/providers
- Session start runs engine in asyncio.to_thread
- Tests (12 passing)