### Context & Goal The current `web/src/server.ts` is a monolithic file with a very long `fetch` handler. This makes it difficult to read and maintain. Modularizing the logic into separate route handlers and middleware-like functions will improve code quality and scalability. ### Dependencies - None ### Affected Files - `web/src/server.ts`: Refactor to use modular handlers. - `web/src/routes/api.ts`: New file for API route definitions. - `web/src/routes/static.ts`: New file for static file serving logic. - `web/src/routes/websocket.ts`: New file for WebSocket event handling. ### Technical Constraints & Strategy - Implementation: Move different responsibilities (API, Static, WS) into separate files. - The main `serve` configuration should just call these modules. - Ensure the SPA fallback logic remains intact. ### Definition of Done (Binary) - [ ] `web/src/server.ts` length reduced by at least 50%. - [ ] API routes moved to dedicated module. - [ ] Static file serving moved to dedicated module. - [ ] WebSocket logic moved to dedicated module. - [ ] Dashboard still loads and functions correctly. ### New Test Files - None (Verification via manual testing of the dashboard).