Skip to main content

Module routes

Module routes 

Source
Expand description

Route handlers for the xcodeai HTTP API.

Endpoints implemented here:

  • POST /sessions — create a new session
  • GET /sessions — list recent sessions (default: latest 50)
  • GET /sessions/:id — get one session + its messages
  • DELETE /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§

CreateSessionRequest
Body for POST /sessions.
ListSessionsQuery
Query-string parameters for GET /sessions.
MessageResponse
A single stored message.
PostMessageRequest
Request body for POST /sessions/:id/messages.
SessionDetailResponse
Full session with messages, returned by GET /sessions/:id.
SessionResponse
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.