@@ -50,44 +50,45 @@ func (b *agentTool) Run(ctx context.Context, call tools.ToolCall) (tools.ToolRes
5050
5151sessionID , messageID := tools .GetContextValues (ctx )
5252if sessionID == "" || messageID == "" {
53- return tools .NewTextErrorResponse ( "session ID and message ID are required" ), nil
53+ return tools.ToolResponse {}, fmt . Errorf ( "session_id and message_id are required" )
5454}
5555
5656agent , err := NewTaskAgent (b .lspClients )
5757if err != nil {
58- return tools .NewTextErrorResponse ( fmt .Sprintf ("error creating agent: %s" , err )), nil
58+ return tools.ToolResponse {}, fmt .Errorf ("error creating agent: %s" , err )
5959}
6060
6161session , err := b .sessions .CreateTaskSession (ctx , call .ID , sessionID , "New Agent Session" )
6262if err != nil {
63- return tools .NewTextErrorResponse ( fmt .Sprintf ("error creating session: %s" , err )), nil
63+ return tools.ToolResponse {}, fmt .Errorf ("error creating session: %s" , err )
6464}
6565
6666err = agent .Generate (ctx , session .ID , params .Prompt )
6767if err != nil {
68- return tools .NewTextErrorResponse ( fmt .Sprintf ("error generating agent: %s" , err )), nil
68+ return tools.ToolResponse {}, fmt .Errorf ("error generating agent: %s" , err )
6969}
7070
7171messages , err := b .messages .List (ctx , session .ID )
7272if err != nil {
73- return tools .NewTextErrorResponse ( fmt .Sprintf ("error listing messages: %s" , err )), nil
73+ return tools.ToolResponse {}, fmt .Errorf ("error listing messages: %s" , err )
7474}
75+
7576if len (messages ) == 0 {
76- return tools .NewTextErrorResponse ("no messages found " ), nil
77+ return tools .NewTextErrorResponse ("no response " ), nil
7778}
7879
7980response := messages [len (messages )- 1 ]
8081if response .Role != message .Assistant {
81- return tools .NewTextErrorResponse ("no assistant message found " ), nil
82+ return tools .NewTextErrorResponse ("no response " ), nil
8283}
8384
8485updatedSession , err := b .sessions .Get (ctx , session .ID )
8586if err != nil {
86- return tools .NewTextErrorResponse ( fmt .Sprintf ("error: %s" , err )), nil
87+ return tools.ToolResponse {}, fmt .Errorf ("error getting session : %s" , err )
8788}
8889parentSession , err := b .sessions .Get (ctx , sessionID )
8990if err != nil {
90- return tools .NewTextErrorResponse ( fmt .Sprintf ("error: %s" , err )), nil
91+ return tools.ToolResponse {}, fmt .Errorf ("error getting parent session : %s" , err )
9192}
9293
9394parentSession .Cost += updatedSession .Cost
@@ -96,7 +97,7 @@ func (b *agentTool) Run(ctx context.Context, call tools.ToolCall) (tools.ToolRes
9697
9798_ , err = b .sessions .Save (ctx , parentSession )
9899if err != nil {
99- return tools .NewTextErrorResponse ( fmt .Sprintf ("error: %s" , err )), nil
100+ return tools.ToolResponse {}, fmt .Errorf ("error saving parent session : %s" , err )
100101}
101102return tools .NewTextResponse (response .Content ().String ()), nil
102103}
0 commit comments