1-- name: InsertLLMRequest :one
2INSERT INTO llm_requests (
3 conversation_id,
4 model,
5 provider,
6 url,
7 request_body,
8 response_body,
9 status_code,
10 error,
11 duration_ms,
12 prefix_request_id,
13 prefix_length
14) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
15RETURNING *;
16
17-- name: GetLastRequestForConversation :one
18SELECT * FROM llm_requests
19WHERE conversation_id = ?
20ORDER BY id DESC
21LIMIT 1;
22
23-- name: GetLLMRequestByID :one
24SELECT * FROM llm_requests WHERE id = ?;
25
26-- name: ListRecentLLMRequests :many
27SELECT
28 r.id,
29 r.conversation_id,
30 r.model,
31 m.display_name as model_display_name,
32 r.provider,
33 r.url,
34 LENGTH(r.request_body) as request_body_length,
35 LENGTH(r.response_body) as response_body_length,
36 r.status_code,
37 r.error,
38 r.duration_ms,
39 r.created_at,
40 r.prefix_request_id,
41 r.prefix_length
42FROM llm_requests r
43LEFT JOIN models m ON r.model = m.model_id
44ORDER BY r.id DESC
45LIMIT ?;
46
47-- name: GetLLMRequestBody :one
48SELECT request_body FROM llm_requests WHERE id = ?;
49
50-- name: GetLLMResponseBody :one
51SELECT response_body FROM llm_requests WHERE id = ?;
52
53