refactor(store): replace project and skill models with generated models
Some checks failed
CI / build-and-test (push) Failing after -31m25s
Some checks failed
CI / build-and-test (push) Failing after -31m25s
* Update project creation and retrieval to use generated models * Modify skill addition and listing to utilize generated models * Refactor thought handling to incorporate generated models * Adjust tool annotations to align with new model structure * Update API calls in the UI to use new ResolveSpec-based endpoints * Enhance stats retrieval logic to aggregate thought metadata
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"github.com/google/uuid"
|
||||
"github.com/jackc/pgx/v5"
|
||||
|
||||
"git.warky.dev/wdevs/amcs/internal/generatedmodels"
|
||||
ext "git.warky.dev/wdevs/amcs/internal/types"
|
||||
)
|
||||
|
||||
@@ -34,9 +35,13 @@ func (db *DB) SaveChatHistory(ctx context.Context, h ext.ChatHistory) (ext.ChatH
|
||||
)
|
||||
|
||||
created := h
|
||||
if err := row.Scan(&created.ID, &created.CreatedAt, &created.UpdatedAt); err != nil {
|
||||
var model generatedmodels.ModelPublicChatHistories
|
||||
if err := row.Scan(&model.ID, &model.CreatedAt, &model.UpdatedAt); err != nil {
|
||||
return ext.ChatHistory{}, fmt.Errorf("insert chat history: %w", err)
|
||||
}
|
||||
created.ID = model.ID.UUID()
|
||||
created.CreatedAt = model.CreatedAt.Time()
|
||||
created.UpdatedAt = model.UpdatedAt.Time()
|
||||
return created, nil
|
||||
}
|
||||
|
||||
@@ -157,26 +162,33 @@ type rowScanner interface {
|
||||
}
|
||||
|
||||
func scanChatHistory(row rowScanner) (ext.ChatHistory, error) {
|
||||
var h ext.ChatHistory
|
||||
var title, channel, agentID, summary *string
|
||||
var messagesJSON, metaJSON []byte
|
||||
|
||||
var model generatedmodels.ModelPublicChatHistories
|
||||
if err := row.Scan(
|
||||
&h.ID, &h.SessionID, &title, &channel, &agentID, &h.ProjectID,
|
||||
&messagesJSON, &summary, &metaJSON, &h.CreatedAt, &h.UpdatedAt,
|
||||
&model.ID, &model.SessionID, &model.Title, &model.Channel, &model.AgentID, &model.ProjectID,
|
||||
&model.Messages, &model.Summary, &model.Metadata, &model.CreatedAt, &model.UpdatedAt,
|
||||
); err != nil {
|
||||
return ext.ChatHistory{}, err
|
||||
}
|
||||
|
||||
h.Title = strVal(title)
|
||||
h.Channel = strVal(channel)
|
||||
h.AgentID = strVal(agentID)
|
||||
h.Summary = strVal(summary)
|
||||
h := ext.ChatHistory{
|
||||
ID: model.ID.UUID(),
|
||||
SessionID: model.SessionID.String(),
|
||||
Title: model.Title.String(),
|
||||
Channel: model.Channel.String(),
|
||||
AgentID: model.AgentID.String(),
|
||||
Summary: model.Summary.String(),
|
||||
CreatedAt: model.CreatedAt.Time(),
|
||||
UpdatedAt: model.UpdatedAt.Time(),
|
||||
}
|
||||
if model.ProjectID.Valid {
|
||||
id := model.ProjectID.UUID()
|
||||
h.ProjectID = &id
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(messagesJSON, &h.Messages); err != nil {
|
||||
if err := json.Unmarshal(model.Messages, &h.Messages); err != nil {
|
||||
return ext.ChatHistory{}, fmt.Errorf("unmarshal messages: %w", err)
|
||||
}
|
||||
if err := json.Unmarshal(metaJSON, &h.Metadata); err != nil {
|
||||
if err := json.Unmarshal(model.Metadata, &h.Metadata); err != nil {
|
||||
return ext.ChatHistory{}, fmt.Errorf("unmarshal metadata: %w", err)
|
||||
}
|
||||
if h.Messages == nil {
|
||||
|
||||
Reference in New Issue
Block a user