refactor: move tool call parsing and formatting logic to a dedicated internal/toolcall package

This commit is contained in:
CJACK
2026-04-06 03:19:18 +08:00
parent 2857a171cc
commit 1530246e4f
39 changed files with 261 additions and 159 deletions

View File

@@ -1,6 +1,7 @@
package gemini
import (
"ds2api/internal/toolcall"
"bytes"
"encoding/json"
"io"
@@ -186,9 +187,9 @@ func buildGeminiUsage(finalPrompt, finalThinking, finalText string, outputTokens
}
func buildGeminiPartsFromFinal(finalText, finalThinking string, toolNames []string) []map[string]any {
detected := util.ParseToolCalls(finalText, toolNames)
detected := toolcall.ParseToolCalls(finalText, toolNames)
if len(detected) == 0 && finalThinking != "" {
detected = util.ParseToolCalls(finalThinking, toolNames)
detected = toolcall.ParseToolCalls(finalThinking, toolNames)
}
if len(detected) > 0 {
parts := make([]map[string]any, 0, len(detected))