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