Changeset 0.10.0 (#56)
This commit is contained in:
@@ -14,6 +14,7 @@ import (
|
||||
"git.gobha.me/xcaliber/chat-switchboard/crypto"
|
||||
"git.gobha.me/xcaliber/chat-switchboard/database"
|
||||
"git.gobha.me/xcaliber/chat-switchboard/providers"
|
||||
"git.gobha.me/xcaliber/chat-switchboard/store"
|
||||
"git.gobha.me/xcaliber/chat-switchboard/tools"
|
||||
)
|
||||
|
||||
@@ -55,13 +56,14 @@ type cursorRequest struct {
|
||||
}
|
||||
|
||||
// MessageHandler holds dependencies for message endpoints.
|
||||
type MessageHandler struct{
|
||||
vault *crypto.KeyResolver
|
||||
type MessageHandler struct {
|
||||
vault *crypto.KeyResolver
|
||||
stores store.Stores
|
||||
}
|
||||
|
||||
// NewMessageHandler creates a new message handler.
|
||||
func NewMessageHandler(vault *crypto.KeyResolver) *MessageHandler {
|
||||
return &MessageHandler{vault: vault}
|
||||
func NewMessageHandler(vault *crypto.KeyResolver, stores store.Stores) *MessageHandler {
|
||||
return &MessageHandler{vault: vault, stores: stores}
|
||||
}
|
||||
|
||||
// ── List Messages (flat, all branches) ──────
|
||||
@@ -356,7 +358,7 @@ func (h *MessageHandler) Regenerate(c *gin.Context) {
|
||||
|
||||
// ── Resolve model + provider ──
|
||||
|
||||
comp := NewCompletionHandler(h.vault)
|
||||
comp := NewCompletionHandler(h.vault, h.stores)
|
||||
|
||||
var presetSystemPrompt string
|
||||
model := req.Model
|
||||
@@ -396,7 +398,7 @@ func (h *MessageHandler) Regenerate(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
providerCfg, providerID, model, configID, err := comp.resolveConfig(userID, channelID, completionRequest{
|
||||
providerCfg, providerID, model, configID, providerScope, err := comp.resolveConfig(userID, channelID, completionRequest{
|
||||
Model: model,
|
||||
APIConfigID: apiConfigID,
|
||||
})
|
||||
@@ -497,6 +499,11 @@ func (h *MessageHandler) Regenerate(c *gin.Context) {
|
||||
|
||||
_, _ = database.DB.Exec(`UPDATE channels SET updated_at = NOW() WHERE id = $1`, channelID)
|
||||
}
|
||||
|
||||
// Log usage for regeneration
|
||||
comp.logUsage(c, channelID, userID, configID, providerScope, model,
|
||||
result.InputTokens, result.OutputTokens,
|
||||
result.CacheCreationTokens, result.CacheReadTokens)
|
||||
}
|
||||
|
||||
// ── Switch Branch (update cursor) ───────────
|
||||
|
||||
Reference in New Issue
Block a user