summaryrefslogtreecommitdiffhomepage
path: root/internal/db/messages.sql.go
diff options
context:
space:
mode:
authorKujtim Hoxha <[email protected]>2025-03-27 22:35:48 +0100
committerKujtim Hoxha <[email protected]>2025-04-01 13:38:54 +0200
commitafd9ad0560d76c2a6d161dad52553b10ff428905 (patch)
tree69f78b05ff0d7952cd3e3c9332f001e66abb2faf /internal/db/messages.sql.go
parent904061c243f70696bfe781e97bf4e392e6954d07 (diff)
downloadopencode-afd9ad0560d76c2a6d161dad52553b10ff428905.tar.gz
opencode-afd9ad0560d76c2a6d161dad52553b10ff428905.zip
rework llm
Diffstat (limited to 'internal/db/messages.sql.go')
-rw-r--r--internal/db/messages.sql.go89
1 files changed, 77 insertions, 12 deletions
diff --git a/internal/db/messages.sql.go b/internal/db/messages.sql.go
index d0f69458f..3f2846740 100644
--- a/internal/db/messages.sql.go
+++ b/internal/db/messages.sql.go
@@ -7,34 +7,56 @@ package db
import (
"context"
+ "database/sql"
)
const createMessage = `-- name: CreateMessage :one
INSERT INTO messages (
id,
session_id,
- message_data,
+ role,
+ finished,
+ content,
+ tool_calls,
+ tool_results,
created_at,
updated_at
) VALUES (
- ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
+ ?, ?, ?, ?, ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
)
-RETURNING id, session_id, message_data, created_at, updated_at
+RETURNING id, session_id, role, content, thinking, finished, tool_calls, tool_results, created_at, updated_at
`
type CreateMessageParams struct {
- ID string `json:"id"`
- SessionID string `json:"session_id"`
- MessageData string `json:"message_data"`
+ ID string `json:"id"`
+ SessionID string `json:"session_id"`
+ Role string `json:"role"`
+ Finished bool `json:"finished"`
+ Content string `json:"content"`
+ ToolCalls sql.NullString `json:"tool_calls"`
+ ToolResults sql.NullString `json:"tool_results"`
}
func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) (Message, error) {
- row := q.queryRow(ctx, q.createMessageStmt, createMessage, arg.ID, arg.SessionID, arg.MessageData)
+ row := q.queryRow(ctx, q.createMessageStmt, createMessage,
+ arg.ID,
+ arg.SessionID,
+ arg.Role,
+ arg.Finished,
+ arg.Content,
+ arg.ToolCalls,
+ arg.ToolResults,
+ )
var i Message
err := row.Scan(
&i.ID,
&i.SessionID,
- &i.MessageData,
+ &i.Role,
+ &i.Content,
+ &i.Thinking,
+ &i.Finished,
+ &i.ToolCalls,
+ &i.ToolResults,
&i.CreatedAt,
&i.UpdatedAt,
)
@@ -62,7 +84,7 @@ func (q *Queries) DeleteSessionMessages(ctx context.Context, sessionID string) e
}
const getMessage = `-- name: GetMessage :one
-SELECT id, session_id, message_data, created_at, updated_at
+SELECT id, session_id, role, content, thinking, finished, tool_calls, tool_results, created_at, updated_at
FROM messages
WHERE id = ? LIMIT 1
`
@@ -73,7 +95,12 @@ func (q *Queries) GetMessage(ctx context.Context, id string) (Message, error) {
err := row.Scan(
&i.ID,
&i.SessionID,
- &i.MessageData,
+ &i.Role,
+ &i.Content,
+ &i.Thinking,
+ &i.Finished,
+ &i.ToolCalls,
+ &i.ToolResults,
&i.CreatedAt,
&i.UpdatedAt,
)
@@ -81,7 +108,7 @@ func (q *Queries) GetMessage(ctx context.Context, id string) (Message, error) {
}
const listMessagesBySession = `-- name: ListMessagesBySession :many
-SELECT id, session_id, message_data, created_at, updated_at
+SELECT id, session_id, role, content, thinking, finished, tool_calls, tool_results, created_at, updated_at
FROM messages
WHERE session_id = ?
ORDER BY created_at ASC
@@ -99,7 +126,12 @@ func (q *Queries) ListMessagesBySession(ctx context.Context, sessionID string) (
if err := rows.Scan(
&i.ID,
&i.SessionID,
- &i.MessageData,
+ &i.Role,
+ &i.Content,
+ &i.Thinking,
+ &i.Finished,
+ &i.ToolCalls,
+ &i.ToolResults,
&i.CreatedAt,
&i.UpdatedAt,
); err != nil {
@@ -115,3 +147,36 @@ func (q *Queries) ListMessagesBySession(ctx context.Context, sessionID string) (
}
return items, nil
}
+
+const updateMessage = `-- name: UpdateMessage :exec
+UPDATE messages
+SET
+ content = ?,
+ thinking = ?,
+ tool_calls = ?,
+ tool_results = ?,
+ finished = ?,
+ updated_at = strftime('%s', 'now')
+WHERE id = ?
+`
+
+type UpdateMessageParams struct {
+ Content string `json:"content"`
+ Thinking string `json:"thinking"`
+ ToolCalls sql.NullString `json:"tool_calls"`
+ ToolResults sql.NullString `json:"tool_results"`
+ Finished bool `json:"finished"`
+ ID string `json:"id"`
+}
+
+func (q *Queries) UpdateMessage(ctx context.Context, arg UpdateMessageParams) error {
+ _, err := q.exec(ctx, q.updateMessageStmt, updateMessage,
+ arg.Content,
+ arg.Thinking,
+ arg.ToolCalls,
+ arg.ToolResults,
+ arg.Finished,
+ arg.ID,
+ )
+ return err
+}