1-- name: GetMessage :one
2SELECT *
3FROM messages
4WHERE id = ? LIMIT 1;
5
6-- name: ListMessagesBySession :many
7SELECT *
8FROM messages
9WHERE session_id = ?
10ORDER BY created_at ASC;
11
12-- name: CreateMessage :one
13INSERT INTO messages (
14 id,
15 session_id,
16 role,
17 finished,
18 content,
19 tool_calls,
20 tool_results,
21 created_at,
22 updated_at
23) VALUES (
24 ?, ?, ?, ?, ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
25)
26RETURNING *;
27
28-- name: UpdateMessage :exec
29UPDATE messages
30SET
31 content = ?,
32 thinking = ?,
33 tool_calls = ?,
34 tool_results = ?,
35 finished = ?,
36 updated_at = strftime('%s', 'now')
37WHERE id = ?;
38
39-- name: DeleteMessage :exec
40DELETE FROM messages
41WHERE id = ?;
42
43-- name: DeleteSessionMessages :exec
44DELETE FROM messages
45WHERE session_id = ?;