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: ListAllMessages :many
13SELECT *
14FROM messages
15WHERE role = 'user'
16ORDER BY created_at ASC;
17
18-- name: CreateMessage :one
19INSERT INTO messages (
20 id,
21 session_id,
22 role,
23 parts,
24 model,
25 provider,
26 is_summary_message,
27 created_at,
28 updated_at
29) VALUES (
30 ?, ?, ?, ?, ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
31)
32RETURNING *;
33
34-- name: UpdateMessage :exec
35UPDATE messages
36SET
37 parts = ?,
38 finished_at = ?,
39 updated_at = strftime('%s', 'now')
40WHERE id = ?;
41
42
43-- name: DeleteMessage :exec
44DELETE FROM messages
45WHERE id = ?;
46
47-- name: DeleteSessionMessages :exec
48DELETE FROM messages
49WHERE session_id = ?;