sessions.sql 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. -- name: CreateSession :one
  2. INSERT INTO sessions (
  3. id,
  4. parent_session_id,
  5. title,
  6. message_count,
  7. prompt_tokens,
  8. completion_tokens,
  9. cost,
  10. summary_message_id,
  11. updated_at,
  12. created_at
  13. ) VALUES (
  14. ?,
  15. ?,
  16. ?,
  17. ?,
  18. ?,
  19. ?,
  20. ?,
  21. null,
  22. strftime('%s', 'now'),
  23. strftime('%s', 'now')
  24. ) RETURNING *;
  25. -- name: GetSessionByID :one
  26. SELECT *
  27. FROM sessions
  28. WHERE id = ? LIMIT 1;
  29. -- name: GetLastSession :one
  30. SELECT *
  31. FROM sessions
  32. ORDER BY updated_at DESC
  33. LIMIT 1;
  34. -- name: ListSessions :many
  35. SELECT *
  36. FROM sessions
  37. WHERE parent_session_id is NULL
  38. ORDER BY updated_at DESC;
  39. -- name: UpdateSession :one
  40. UPDATE sessions
  41. SET
  42. title = ?,
  43. prompt_tokens = ?,
  44. completion_tokens = ?,
  45. summary_message_id = ?,
  46. cost = ?,
  47. todos = ?
  48. WHERE id = ?
  49. RETURNING *;
  50. -- name: UpdateSessionTitleAndUsage :exec
  51. UPDATE sessions
  52. SET
  53. title = ?,
  54. prompt_tokens = prompt_tokens + ?,
  55. completion_tokens = completion_tokens + ?,
  56. cost = cost + ?,
  57. updated_at = strftime('%s', 'now')
  58. WHERE id = ?;
  59. -- name: RenameSession :exec
  60. UPDATE sessions
  61. SET
  62. title = ?
  63. WHERE id = ?;
  64. -- name: DeleteSession :exec
  65. DELETE FROM sessions
  66. WHERE id = ?;