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    parts,
18    model,
19    provider,
20    is_summary_message,
21    metadata,
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    metadata = ?,
34    finished_at = ?,
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 = ?;