feat: track conversations inside connectors (#92)

* switch to observer pattern

Signed-off-by: mudler <mudler@localai.io>

* keep conversation history in telegram and slack

* generalize with conversation tracker

---------

Signed-off-by: mudler <mudler@localai.io>
This commit is contained in:
Ettore Di Giacinto
2025-03-25 16:31:03 +01:00
committed by GitHub
parent 53c1554d55
commit d0cfc4c317
8 changed files with 422 additions and 92 deletions

View File

@@ -6,6 +6,7 @@ import (
"time"
"github.com/mudler/LocalAgent/core/types"
"github.com/sashabaranov/go-openai"
)
type Option func(*options) error
@@ -49,6 +50,8 @@ type options struct {
conversationsPath string
mcpServers []MCPServer
newConversationsSubscribers []func(openai.ChatCompletionMessage)
}
func (o *options) SeparatedMultimodalModel() bool {
@@ -125,6 +128,13 @@ func EnableKnowledgeBaseWithResults(results int) Option {
}
}
func WithNewConversationSubscriber(sub func(openai.ChatCompletionMessage)) Option {
return func(o *options) error {
o.newConversationsSubscribers = append(o.newConversationsSubscribers, sub)
return nil
}
}
var EnableInitiateConversations = func(o *options) error {
o.initiateConversations = true
return nil