| ... | @@ -26,7 +26,8 @@ Long term maintainability is a core priority. If you add new functionality, firs | ... | @@ -26,7 +26,8 @@ Long term maintainability is a core priority. If you add new functionality, firs |
| 26 | | 26 | |
| 27 | - `apps/server`: Node.js WebSocket server. Wraps Codex app-server (JSON-RPC over stdio), serves the React web app, and manages provider sessions. | 27 | - `apps/server`: Node.js WebSocket server. Wraps Codex app-server (JSON-RPC over stdio), serves the React web app, and manages provider sessions. |
| 28 | - `apps/web`: React/Vite UI. Owns session UX, conversation/event rendering, and client-side state. Connects to the server via WebSocket. | 28 | - `apps/web`: React/Vite UI. Owns session UX, conversation/event rendering, and client-side state. Connects to the server via WebSocket. |
| 29 | - `packages/contracts`: Shared effect/Schema schemas and TypeScript contracts for provider events, WebSocket protocol, and model/session types. | 29 | - `packages/contracts`: Shared effect/Schema schemas and TypeScript contracts for provider events, WebSocket protocol, and model/session types. Keep this package schema-only — no runtime logic. |
| | 30 | - `packages/shared`: Shared runtime utilities consumed by both server and web. Uses explicit subpath exports (e.g. `@t3tools/shared/git`) — no barrel index. |
| 30 | | 31 | |
| 31 | ## Codex App Server (Important) | 32 | ## Codex App Server (Important) |
| 32 | | 33 | |