From 40392e6da3faf56c4c531e89db35c2fb95f59d40 Mon Sep 17 00:00:00 2001 From: John Costa Date: Fri, 4 Apr 2025 22:17:58 +0100 Subject: [PATCH] refactor(tool-calls): to be handled more generally --- backend/agents/client/client.go | 24 ++++++++++++++++++++++++ backend/agents/event_location_agent.go | 23 +---------------------- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/backend/agents/client/client.go b/backend/agents/client/client.go index c137b8a..59ea381 100644 --- a/backend/agents/client/client.go +++ b/backend/agents/client/client.go @@ -263,3 +263,27 @@ func (client AgentClient) Request(request *AgentRequestBody) (AgentResponse, err return agentResponse, nil } + +func (client AgentClient) Process(info ToolHandlerInfo, request AgentRequestBody) error { + var err error + + for err == nil { + log.Printf("Latest message: %+v\n", request.AgentMessages.Messages[len(request.AgentMessages.Messages)-1]) + + response, requestError := client.Request(&request) + if requestError != nil { + return requestError + } + + log.Println(response) + + a, innerErr := client.ToolHandler.Handle(info, &request) + + err = innerErr + + log.Println(a) + log.Println("--------------------------") + } + + return nil +} diff --git a/backend/agents/event_location_agent.go b/backend/agents/event_location_agent.go index d131d19..eb2a41b 100644 --- a/backend/agents/event_location_agent.go +++ b/backend/agents/event_location_agent.go @@ -185,28 +185,7 @@ func (agent EventLocationAgent) GetLocations(userId uuid.UUID, imageId uuid.UUID UserId: userId, } - // TODO: this should go into a loop with toolHandler Handle function and not be here bruh. - _, err = agent.toolHandler.Handle(toolHandlerInfo, &request) - - for err == nil { - log.Printf("Latest message: %+v\n", request.AgentMessages.Messages[len(request.AgentMessages.Messages)-1]) - - response, requestError := agent.client.Request(&request) - if requestError != nil { - return requestError - } - - log.Println(response) - - a, innerErr := agent.toolHandler.Handle(toolHandlerInfo, &request) - - err = innerErr - - log.Println(a) - log.Println("--------------------------") - } - - return err + return agent.client.Process(toolHandlerInfo, request) } func NewLocationEventAgent(locationModel models.LocationModel, eventModel models.EventModel, contactModel models.ContactModel) (EventLocationAgent, error) {