Expand description
Route handlers for the xcodeai HTTP API.
Endpoints implemented here:
POST /sessions— create a new sessionGET /sessions— list recent sessions (default: latest 50)GET /sessions/:id— get one session + its messagesDELETE /sessions/:id— delete a session and its messages
Agent execution (POST /sessions/:id/messages) is implemented in Task 34.
§Locking convention
All handlers acquire state.store.lock().await before any DB call,
because rusqlite’s Connection is !Sync (uses RefCell internally).
Structs§
- Create
Session Request - Body for
POST /sessions. - List
Sessions Query - Query-string parameters for
GET /sessions. - Message
Response - A single stored message.
- Post
Message Request - Request body for
POST /sessions/:id/messages. - Session
Detail Response - Full session with messages, returned by
GET /sessions/:id. - Session
Response - A single session entry returned in list / get responses.
Functions§
- create_
session POST /sessions— create a new session.- delete_
session DELETE /sessions/:id— delete a session and all its messages.- get_
session GET /sessions/:id— get a single session with all messages.- list_
sessions GET /sessions?limit=N— list recent sessions.- post_
message POST /sessions/:id/messages- session_
router - Build the session sub-router.