diff options
| -rw-r--r-- | Omni/Agent/Telegram.hs | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/Omni/Agent/Telegram.hs b/Omni/Agent/Telegram.hs index 76a7be9..07c8e4b 100644 --- a/Omni/Agent/Telegram.hs +++ b/Omni/Agent/Telegram.hs @@ -990,11 +990,22 @@ processEngagedMessage tgConfig provider engineCfg msg uid userName chatId userMe if isEmailAuthorized userName then Email.allEmailTools else [] - pythonTools = [Python.pythonExecTool] - httpTools = Http.allHttpTools - outreachTools = Outreach.allOutreachTools - feedbackTools = Feedback.allFeedbackTools - fileTools = [Tools.readFileTool] + pythonTools = + [Python.pythonExecTool | isBenAuthorized userName] + httpTools = + if isBenAuthorized userName + then Http.allHttpTools + else [] + outreachTools = + if isBenAuthorized userName + then Outreach.allOutreachTools + else [] + feedbackTools = + if isBenAuthorized userName + then Feedback.allFeedbackTools + else [] + fileTools = + [Tools.readFileTool | isBenAuthorized userName] tools = memoryTools <> searchTools <> webReaderTools <> pdfTools <> notesTools <> calendarTools <> todoTools <> messageTools <> hledgerTools <> emailTools <> pythonTools <> httpTools <> outreachTools <> feedbackTools <> fileTools let agentCfg = @@ -1065,6 +1076,11 @@ isEmailAuthorized userName = let lowerName = Text.toLower userName in "ben" `Text.isInfixOf` lowerName +isBenAuthorized :: Text -> Bool +isBenAuthorized userName = + let lowerName = Text.toLower userName + in "ben" `Text.isInfixOf` lowerName + checkAndSummarize :: Text -> Text -> Int -> IO () checkAndSummarize openRouterKey uid chatId = do (_, currentTokens) <- Memory.getConversationContext uid chatId maxConversationTokens |
