@@ -598,63 +598,8 @@ func stopSpinner(result *streamingResult) {
598598 result .mu .Unlock ()
599599}
600600
601- func executeToolCalls (cfg * config.Config , activeToolCalls map [int ]* sdk.ChatCompletionMessageToolCall ) []sdk.ChatCompletionMessageToolCall {
602- var toolCalls []sdk.ChatCompletionMessageToolCall
603-
604- for _ , toolCall := range activeToolCalls {
605- if toolCall .Function .Name != "" {
606- fmt .Printf (" with arguments: %s\n " , toolCall .Function .Arguments )
607-
608- toolResult , err := executeToolCall (cfg , toolCall .Function .Name , toolCall .Function .Arguments )
609- if err != nil {
610- fmt .Printf ("❌ Tool execution failed: %v\n " , err )
611- } else {
612- fmt .Printf ("✅ Tool result:\n %s\n " , toolResult )
613- }
614-
615- toolCalls = append (toolCalls , * toolCall )
616- }
617- }
618-
619- return toolCalls
620- }
621-
622- func executeRemainingToolCalls (cfg * config.Config , activeToolCalls map [int ]* sdk.ChatCompletionMessageToolCall , processedToolCalls []sdk.ChatCompletionMessageToolCall ) []sdk.ChatCompletionMessageToolCall {
623- finalToolCalls := make ([]sdk.ChatCompletionMessageToolCall , len (processedToolCalls ))
624- copy (finalToolCalls , processedToolCalls )
625-
626- for _ , toolCall := range activeToolCalls {
627- if toolCall .Function .Name == "" {
628- continue
629- }
630-
631- if isToolCallProcessed (toolCall .Id , processedToolCalls ) {
632- continue
633- }
634-
635- fmt .Printf (" with arguments: %s\n " , toolCall .Function .Arguments )
636-
637- toolResult , err := executeToolCall (cfg , toolCall .Function .Name , toolCall .Function .Arguments )
638- if err != nil {
639- fmt .Printf ("❌ Tool execution failed: %v\n " , err )
640- } else {
641- fmt .Printf ("✅ Tool result:\n %s\n " , toolResult )
642- }
643-
644- finalToolCalls = append (finalToolCalls , * toolCall )
645- }
646601
647- return finalToolCalls
648- }
649602
650- func isToolCallProcessed (toolCallId string , processedToolCalls []sdk.ChatCompletionMessageToolCall ) bool {
651- for _ , processedCall := range processedToolCalls {
652- if processedCall .Id == toolCallId {
653- return true
654- }
655- }
656- return false
657- }
658603
659604func showSpinner (active * bool , mu * sync.Mutex ) {
660605 spinner := []string {"⠋" , "⠙" , "⠹" , "⠸" , "⠼" , "⠴" , "⠦" , "⠧" , "⠇" , "⠏" }
0 commit comments