messages.sql

 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 = ?;