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    created_at,
21    updated_at
22) VALUES (
23    ?, ?, ?, ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
24)
25RETURNING *;
26
27-- name: UpdateMessage :exec
28UPDATE messages
29SET
30    parts = ?,
31    finished_at = ?,
32    updated_at = strftime('%s', 'now')
33WHERE id = ?;
34
35
36-- name: DeleteMessage :exec
37DELETE FROM messages
38WHERE id = ?;
39
40-- name: DeleteSessionMessages :exec
41DELETE FROM messages
42WHERE session_id = ?;