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    parts,
18    model,
19    provider,
20    is_summary_message,
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    parts = ?,
32    finished_at = ?,
33    updated_at = strftime('%s', 'now')
34WHERE id = ?;
35
36
37-- name: DeleteMessage :exec
38DELETE FROM messages
39WHERE id = ?;
40
41-- name: DeleteSessionMessages :exec
42DELETE FROM messages
43WHERE session_id = ?;