All error are panic now

This commit is contained in:
2024-05-20 09:24:02 +02:00
parent 74e9673fc4
commit ac94ae08f9
13 changed files with 60 additions and 168 deletions
+15 -34
View File
@@ -2,8 +2,6 @@ package main
import (
"context"
"fmt"
"log"
"sort"
"time"
@@ -27,8 +25,7 @@ func DeleteMessageHandler(c *fiber.Ctx) error {
messageUUID, err := edgedb.ParseUUID(messageId)
if err != nil {
fmt.Println("Error in uuid.FromString: in DeleteMessageHandler")
fmt.Println(err)
panic(err)
}
// Delete all messages
@@ -39,8 +36,7 @@ func DeleteMessageHandler(c *fiber.Ctx) error {
FILTER .position >= messageArea.position AND .conversation = messageArea.conversation;
`, messageUUID)
if err != nil {
fmt.Println("Error in edgeClient.Execute: in DeleteMessageHandler")
fmt.Println(err)
panic(err)
}
return c.SendString(generateChatHTML())
@@ -146,7 +142,7 @@ func GetMessageContentHandler(c *fiber.Ctx) error {
.id = <uuid>$0;
`, &selectedMessage, messageUUID)
if err != nil {
log.Fatal(err)
panic(err)
}
if onlyContent == "true" {
@@ -172,7 +168,7 @@ func GetMessageContentHandler(c *fiber.Ctx) error {
SET {selected := false};
`, messageUUID)
if err != nil {
log.Fatal(err)
panic(err)
}
_ = edgeClient.Execute(edgeCtx, `
@@ -254,7 +250,7 @@ func GetEditMessageFormHandler(c *fiber.Ctx) error {
FILTER .id = <uuid>$0;
`, &message, idUUID)
if err != nil {
log.Fatal(err)
panic(err)
}
tmpl := pongo2.Must(pongo2.FromFile("views/partials/edit-message-form.html"))
@@ -277,15 +273,12 @@ func RedoMessageHandler(c *fiber.Ctx) error {
FILTER .position > messageArea.position AND .conversation = messageArea.conversation;
`, messageUUID)
if err != nil {
fmt.Println("Error in edgeClient.Execute: in DeleteMessageHandler")
fmt.Println(err)
panic(err)
}
messageOut, err := botTmpl.Execute(pongo2.Context{"IsPlaceholder": true})
if err != nil {
c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
"error": "Error rendering template",
})
panic(err)
}
return c.SendString(messageOut)
@@ -298,8 +291,7 @@ func ClearChatHandler(c *fiber.Ctx) error {
FILTER .user = global currentUser AND .name = "Default";
`)
if err != nil {
fmt.Println("Error in edgeClient.Execute: in ClearChatHandler")
fmt.Println(err)
panic(err)
}
return c.SendString(generateChatHTML())
@@ -321,8 +313,7 @@ func LoadUsageKPIHandler(c *fiber.Ctx) error {
SELECT sum(U.input_cost) + sum(U.output_cost)
`, &TotalUsage)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in LoadUsageKPIHandler")
log.Fatal(err)
panic(err)
}
now := time.Now()
@@ -338,8 +329,7 @@ func LoadUsageKPIHandler(c *fiber.Ctx) error {
SELECT sum(U.input_cost) + sum(U.output_cost)
`, &TodayUsage, now.Add(time.Hour*-24))
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in LoadUsageKPIHandler")
log.Fatal(err)
panic(err)
}
var WeekUsage float32
@@ -368,9 +358,7 @@ func LoadUsageKPIHandler(c *fiber.Ctx) error {
"TotalUsage": TotalUsage, "TodayUsage": TodayUsage, "WeekUsage": WeekUsage, "MonthUsage": MonthUsage,
})
if err != nil {
c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
"error": "Error rendering template",
})
panic(err)
}
return c.SendString(out)
}
@@ -392,9 +380,7 @@ func LoadKeysHandler(c *fiber.Ctx) error {
"AnyExists": openaiExists || anthropicExists || mistralExists || groqExists || gooseaiExists || googleExists,
})
if err != nil {
c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
"error": "Error rendering template",
})
panic(err)
}
return c.SendString(out)
}
@@ -419,8 +405,7 @@ func LoadModelSelectionHandler(c *fiber.Ctx) error {
FILTER .user = global currentUser AND .name != 'none'
`, &llms)
if err != nil {
fmt.Println("Error in edgeClient.Query: in LoadModelSelectionHandler")
log.Fatal(err)
panic(err)
}
for i := 0; i < len(llms); i++ {
@@ -442,9 +427,7 @@ func LoadModelSelectionHandler(c *fiber.Ctx) error {
"LLMs": llms,
})
if err != nil {
c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
"error": "Error rendering template",
})
panic(err)
}
return c.SendString(out)
@@ -456,9 +439,7 @@ func LoadSettingsHandler(c *fiber.Ctx) error {
}
out, err := pongo2.Must(pongo2.FromFile("views/partials/popover-settings.html")).Execute(pongo2.Context{"IsLogin": checkIfLogin()})
if err != nil {
c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
"error": "Error rendering template",
})
panic(err)
}
return c.SendString(out)
}
+2 -7
View File
@@ -1,8 +1,6 @@
package main
import (
"fmt"
"github.com/edgedb/edgedb-go"
"github.com/flosch/pongo2"
"github.com/gofiber/fiber/v2"
@@ -18,8 +16,7 @@ func deleteLLM(c *fiber.Ctx) error {
FILTER .id = <uuid>$0;
`, idUUID)
if err != nil {
fmt.Println("Error in edgeClient.Execute: in deleteLLM")
fmt.Println(err)
panic(err)
}
return c.SendString("")
@@ -28,9 +25,7 @@ func deleteLLM(c *fiber.Ctx) error {
func openLlmModal(c *fiber.Ctx) error {
out, err := pongo2.Must(pongo2.FromFile("views/partials/modal-llm-setting.html")).Execute(pongo2.Context{})
if err != nil {
c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
"error": "Error rendering template",
})
panic(err)
}
return c.SendString(out)
}
+4 -9
View File
@@ -3,7 +3,6 @@ package main
import (
"context"
"fmt"
"log"
"strings"
"sync"
"time"
@@ -50,8 +49,7 @@ func GeneratePlaceholderHandler(c *fiber.Ctx) error {
.id = <uuid>$0;
`, &selectedLLM, idUUID)
if err != nil {
fmt.Println("Error trying to select the unique LLM")
log.Fatal(err)
panic(err)
}
selectedLLMs = append(selectedLLMs, selectedLLM)
}
@@ -136,8 +134,7 @@ func GenerateMultipleMessagesHandler(c *fiber.Ctx) error {
FILTER .id = <uuid>$0;
`, &message, messageID)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in HandleGenerateMultipleMessages 1")
log.Fatal(err)
panic(err)
}
templateMessage := TemplateMessage{
@@ -165,8 +162,7 @@ func GenerateMultipleMessagesHandler(c *fiber.Ctx) error {
"ConversationAreaId": message.Area.Position,
})
if err != nil {
fmt.Println("Error in modelSelecBtnTmpl.Execute: in HandleGenerateMultipleMessages 3")
log.Fatal(err)
panic(err)
}
outBtn = strings.ReplaceAll(outBtn, "\n", "")
@@ -192,8 +188,7 @@ func GenerateMultipleMessagesHandler(c *fiber.Ctx) error {
"ConversationAreaId": message.Area.Position,
})
if err != nil {
fmt.Println("Error in modelSelecBtnTmpl.Execute: in HandleGenerateMultipleMessages 3")
log.Fatal(err)
panic(err)
}
// Replace newline characters to prevent premature termination
+1 -2
View File
@@ -40,7 +40,7 @@ func addAnthropicMessage(llm LLM, selected bool) edgedb.UUID {
chatCompletion, err := RequestAnthropic(llm.Model.ModelID, Messages, int(llm.Model.MaxToken), float64(llm.Temperature))
if err != nil {
fmt.Println("Error:", err)
panic(err)
} else if len(chatCompletion.Content) == 0 {
fmt.Println("No response from Anthropic")
id := insertBotMessage("No response from Anthropic", selected, llm.ID)
@@ -49,7 +49,6 @@ func addAnthropicMessage(llm LLM, selected bool) edgedb.UUID {
id := insertBotMessage(chatCompletion.Content[0].Text, selected, llm.ID)
return id
}
return edgedb.UUID{}
}
func TestAnthropicKey(apiKey string) bool {
+1 -2
View File
@@ -49,7 +49,7 @@ func addGoogleMessage(llm LLM, selected bool) edgedb.UUID {
chatCompletion, err := RequestGoogle(llm.Model.ModelID, Messages, float64(llm.Temperature))
if err != nil {
fmt.Println("Error:", err)
panic(err)
} else if len(chatCompletion.Choices) == 0 {
fmt.Println("No response from OpenAI")
id := insertBotMessage("No response from OpenAI", selected, llm.ID)
@@ -59,7 +59,6 @@ func addGoogleMessage(llm LLM, selected bool) edgedb.UUID {
id := insertBotMessage(Content, selected, llm.ID)
return id
}
return edgedb.UUID{}
}
func TestGoogleKey(apiKey string) bool {
+1 -2
View File
@@ -34,7 +34,7 @@ func addGooseaiMessage(llm LLM, selected bool) edgedb.UUID {
chatCompletion, err := RequestGooseai(llm.Model.ModelID, Messages, float64(llm.Temperature))
if err != nil {
fmt.Println("Error:", err)
panic(err)
} else if len(chatCompletion.Choices) == 0 {
fmt.Println("No response from GooseAI")
id := insertBotMessage("No response from GooseAI", selected, llm.ID)
@@ -44,7 +44,6 @@ func addGooseaiMessage(llm LLM, selected bool) edgedb.UUID {
id := insertBotMessage(Content, selected, llm.ID)
return id
}
return edgedb.UUID{}
}
func TestGooseaiKey(apiKey string) bool {
+1 -2
View File
@@ -42,7 +42,7 @@ func addGroqMessage(llm LLM, selected bool) edgedb.UUID {
chatCompletion, err := RequestGroq(llm.Model.ModelID, Messages, float64(llm.Temperature))
if err != nil {
fmt.Println("Error:", err)
panic(err)
} else if len(chatCompletion.Choices) == 0 {
fmt.Println("No response from Groq")
id := insertBotMessage("No response from Groq", selected, llm.ID)
@@ -52,7 +52,6 @@ func addGroqMessage(llm LLM, selected bool) edgedb.UUID {
id := insertBotMessage(Content, selected, llm.ID)
return id
}
return edgedb.UUID{}
}
func TestGroqKey(apiKey string) bool {
+1 -2
View File
@@ -41,7 +41,7 @@ func addMistralMessage(llm LLM, selected bool) edgedb.UUID {
chatCompletion, err := RequestMistral(llm.Model.ModelID, Messages, float64(llm.Temperature))
if err != nil {
fmt.Println("Error:", err)
panic(err)
} else if len(chatCompletion.Choices) == 0 {
fmt.Println("No response from Mistral")
id := insertBotMessage("No response from Mistral", selected, llm.ID)
@@ -51,7 +51,6 @@ func addMistralMessage(llm LLM, selected bool) edgedb.UUID {
id := insertBotMessage(Content, selected, llm.ID)
return id
}
return edgedb.UUID{}
}
func TestMistralKey(apiKey string) bool {
+1 -2
View File
@@ -42,7 +42,7 @@ func addOpenaiMessage(llm LLM, selected bool) edgedb.UUID {
chatCompletion, err := RequestOpenai(llm.Model.ModelID, Messages, float64(llm.Temperature))
if err != nil {
fmt.Println("Error:", err)
panic(err)
} else if len(chatCompletion.Choices) == 0 {
fmt.Println("No response from OpenAI")
id := insertBotMessage("No response from OpenAI", selected, llm.ID)
@@ -52,7 +52,6 @@ func addOpenaiMessage(llm LLM, selected bool) edgedb.UUID {
id := insertBotMessage(Content, selected, llm.ID)
return id
}
return edgedb.UUID{}
}
func TestOpenaiKey(apiKey string) bool {
-37
View File
@@ -1,37 +0,0 @@
package main
import (
"github.com/gofiber/fiber/v2"
)
type Command struct {
Name string
Trigger string
Handler func(c *fiber.Ctx) string
}
var Commands []Command
func init() {
Commands = []Command{
{
Name: "Clear",
Trigger: "clear",
Handler: ClearCommandHandler,
},
}
}
func ClearCommandHandler(c *fiber.Ctx) string {
// DOTO clear the chat
return "<hx hx-get='/loadChat' hx-trigger='load' hx-swap='outerHTML' hx-target='#chat-container'></hx>"
}
func DetectCommand(message string, c *fiber.Ctx) (string, bool) {
for _, command := range Commands {
if command.Trigger == message {
return command.Handler(c), true
}
}
return "", false // No command detected
}
+11 -24
View File
@@ -2,8 +2,6 @@ package main
import (
"context"
"fmt"
"log"
"time"
"github.com/edgedb/edgedb-go"
@@ -93,8 +91,7 @@ func init() {
var ctx = context.Background()
client, err := edgedb.CreateClient(ctx, edgedb.Options{})
if err != nil {
fmt.Println("Error in edgedb.CreateClient: in init")
log.Fatal(err)
panic(err)
}
edgeCtx = ctx
@@ -110,8 +107,7 @@ func getLastArea() edgedb.UUID {
limit 1
`, &inserted)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in getLastArea")
log.Fatal(err)
panic(err)
}
return inserted.id
}
@@ -135,8 +131,7 @@ func addUsage(inputCost float32, outputCost float32, inputToken int32, outputTok
}
`, inputCost, outputCost, inputToken, outputToken, modelID)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addUsage")
log.Fatal(err)
panic(err)
}
}
@@ -149,8 +144,7 @@ func insertNewConversation() edgedb.UUID {
}
`, &inserted)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in insertNewConversation")
log.Fatal(err)
panic(err)
}
return inserted.id
}
@@ -182,8 +176,7 @@ func insertArea() (edgedb.UUID, int64) {
}
`, &inserted)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in insertArea")
log.Fatal(err)
panic(err)
}
var positionSet struct{ position int64 }
@@ -196,8 +189,7 @@ func insertArea() (edgedb.UUID, int64) {
LIMIT 1
`, &positionSet)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in insertArea")
log.Fatal(err)
panic(err)
}
return inserted.id, positionSet.position
@@ -227,8 +219,7 @@ func insertUserMessage(content string) edgedb.UUID {
}
`, &inserted, "user", content, lastAreaID)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in insertUserMessage")
log.Fatal(err)
panic(err)
}
return inserted.id
}
@@ -259,8 +250,7 @@ func insertBotMessage(content string, selected bool, llmUUID edgedb.UUID) edgedb
}
`, &inserted, "bot", llmUUID, content, selected, lastAreaID)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in insertBotMessage")
log.Fatal(err)
panic(err)
}
return inserted.id
}
@@ -294,8 +284,7 @@ func getAllMessages() []Message {
ORDER BY .date ASC
`, &messages)
if err != nil {
fmt.Println("Error in edgedb.Query: in getAllMessages")
fmt.Println(err)
panic(err)
}
return messages
@@ -328,8 +317,7 @@ func getAllSelectedMessages() []Message {
ORDER BY .date ASC
`, &messages)
if err != nil {
fmt.Println("Error in edgedb.Query: in getAllMessages")
fmt.Println(err)
panic(err)
}
return messages
@@ -339,8 +327,7 @@ func getCurrentUserKeys() []Key {
var result []Key
err := edgeClient.Query(edgeCtx, "SELECT global currentUser.setting.keys", &result)
if err != nil {
fmt.Println("Error in edgedb.Query: in getCurrentUserKeys")
fmt.Println(err)
panic(err)
}
return result
}
+22 -37
View File
@@ -3,11 +3,13 @@ package main
import (
"bufio"
"fmt"
"log"
"sync"
"github.com/flosch/pongo2"
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/logger"
"github.com/gofiber/fiber/v2/middleware/recover"
"github.com/gofiber/template/django/v3"
)
@@ -54,6 +56,7 @@ func main() {
// Add default logger
app.Use(logger.New())
app.Use(recover.New())
// Add static files
app.Static("/", "./static")
@@ -133,7 +136,7 @@ func main() {
})
// Start server
app.Listen(":8080")
log.Fatal(app.Listen(":3000"))
}
func addKeys(c *fiber.Ctx) error {
@@ -160,8 +163,7 @@ func addKeys(c *fiber.Ctx) error {
);
`, &Exists)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addOpenaiKey")
fmt.Println(err)
panic(err)
}
if Exists {
@@ -173,8 +175,7 @@ func addKeys(c *fiber.Ctx) error {
}
`, "openai", openaiKey)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addOpenaiKey")
fmt.Println(err)
panic(err)
}
} else {
err = edgeClient.Execute(edgeCtx, `
@@ -191,8 +192,7 @@ func addKeys(c *fiber.Ctx) error {
)
}`, openaiKey)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addOpenaiKey")
fmt.Println(err)
panic(err)
}
}
}
@@ -212,8 +212,7 @@ func addKeys(c *fiber.Ctx) error {
);
`, &Exists)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addAnthropicKey")
fmt.Println(err)
panic(err)
}
if Exists {
@@ -224,8 +223,7 @@ func addKeys(c *fiber.Ctx) error {
}
`, anthropicKey)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addAnthropicKey")
fmt.Println(err)
panic(err)
}
} else {
err = edgeClient.Execute(edgeCtx, `
@@ -242,8 +240,7 @@ func addKeys(c *fiber.Ctx) error {
)
}`, anthropicKey)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addAnthropicKey")
fmt.Println(err)
panic(err)
}
}
}
@@ -263,8 +260,7 @@ func addKeys(c *fiber.Ctx) error {
);
`, &Exists)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addMistralKey")
fmt.Println(err)
panic(err)
}
if Exists {
@@ -275,8 +271,7 @@ func addKeys(c *fiber.Ctx) error {
}
`, mistralKey)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addMistralKey")
fmt.Println(err)
panic(err)
}
} else {
err = edgeClient.Execute(edgeCtx, `
@@ -293,8 +288,7 @@ func addKeys(c *fiber.Ctx) error {
)
}`, mistralKey)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addMistralKey")
fmt.Println(err)
panic(err)
}
}
}
@@ -314,8 +308,7 @@ func addKeys(c *fiber.Ctx) error {
);
`, &Exists)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addGroqKey")
fmt.Println(err)
panic(err)
}
if Exists {
@@ -326,8 +319,7 @@ func addKeys(c *fiber.Ctx) error {
}
`, groqKey)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addGroqKey")
fmt.Println(err)
panic(err)
}
} else {
err = edgeClient.Execute(edgeCtx, `
@@ -344,8 +336,7 @@ func addKeys(c *fiber.Ctx) error {
)
}`, groqKey)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addGroqKey")
fmt.Println(err)
panic(err)
}
}
}
@@ -365,8 +356,7 @@ func addKeys(c *fiber.Ctx) error {
);
`, &Exists)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addGooseaiKey")
fmt.Println(err)
panic(err)
}
if Exists {
@@ -377,8 +367,7 @@ func addKeys(c *fiber.Ctx) error {
}
`, gooseaiKey)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addGooseaiKey")
fmt.Println(err)
panic(err)
}
} else {
err = edgeClient.Execute(edgeCtx, `
@@ -395,8 +384,7 @@ func addKeys(c *fiber.Ctx) error {
)
}`, gooseaiKey)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addGooseaiKey")
fmt.Println(err)
panic(err)
}
}
}
@@ -416,8 +404,7 @@ func addKeys(c *fiber.Ctx) error {
);
`, &Exists)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addGoogleKey")
fmt.Println(err)
panic(err)
}
if Exists {
@@ -428,8 +415,7 @@ func addKeys(c *fiber.Ctx) error {
}
`, googleKey)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addGoogleKey")
fmt.Println(err)
panic(err)
}
} else {
err = edgeClient.Execute(edgeCtx, `
@@ -446,8 +432,7 @@ func addKeys(c *fiber.Ctx) error {
)
}`, googleKey)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle: in addGoogleKey")
fmt.Println(err)
panic(err)
}
}
}
-8
View File
@@ -2,7 +2,6 @@ package main
import (
"bytes"
"fmt"
"regexp"
"github.com/yuin/goldmark"
@@ -59,8 +58,6 @@ func getExistingKeys() (bool, bool, bool, bool, bool, bool) {
);
`, &openaiExists)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle checking for openai: ", err)
//fatal error
panic(err)
}
@@ -71,7 +68,6 @@ func getExistingKeys() (bool, bool, bool, bool, bool, bool) {
);
`, &anthropicExists)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle checking for anthropic: ", err)
panic(err)
}
@@ -82,7 +78,6 @@ func getExistingKeys() (bool, bool, bool, bool, bool, bool) {
);
`, &mistralExists)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle checking for mistral: ", err)
panic(err)
}
@@ -93,7 +88,6 @@ func getExistingKeys() (bool, bool, bool, bool, bool, bool) {
);
`, &groqExists)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle checking for mistral: ", err)
panic(err)
}
@@ -104,7 +98,6 @@ func getExistingKeys() (bool, bool, bool, bool, bool, bool) {
);
`, &gooseaiExists)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle checking for gooseai: ", err)
panic(err)
}
@@ -115,7 +108,6 @@ func getExistingKeys() (bool, bool, bool, bool, bool, bool) {
);
`, &googleExists)
if err != nil {
fmt.Println("Error in edgedb.QuerySingle checking for google: ", err)
panic(err)
}