summaryrefslogtreecommitdiff
path: root/session.go
diff options
context:
space:
mode:
authorGrail Finder <wohilas@gmail.com>2024-12-09 19:26:26 +0300
committerGrail Finder <wohilas@gmail.com>2024-12-09 19:26:26 +0300
commit67f36d417fa97c4087e326623508370f60d3d3b8 (patch)
tree1a4466737b8bd854238d508d48945bde84ad0e31 /session.go
parentbdd40ea8df60b6b161da3c1d201e9ec05ef743d1 (diff)
Feat: load char/agent; agent-chat flow
Diffstat (limited to 'session.go')
-rw-r--r--session.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/session.go b/session.go
index c3d826f..21b5b9e 100644
--- a/session.go
+++ b/session.go
@@ -79,6 +79,24 @@ func loadHistoryChat(chatName string) ([]models.RoleMsg, error) {
return chat.ToHistory()
}
+func loadAgentsLastChat(agent string) ([]models.RoleMsg, error) {
+ chat, err := store.GetLastChatByAgent(agent)
+ if err != nil {
+ return nil, err
+ }
+ history, err := chat.ToHistory()
+ if err != nil {
+ return nil, err
+ }
+ if chat.Name == "" {
+ logger.Warn("empty chat name", "id", chat.ID)
+ chat.Name = fmt.Sprintf("%s_%d", chat.Agent, chat.ID)
+ }
+ chatMap[chat.Name] = chat
+ activeChatName = chat.Name
+ return history, nil
+}
+
func loadOldChatOrGetNew() []models.RoleMsg {
newChat := &models.Chat{
ID: 0,