@@ -23,6 +23,9 @@ func ToolNormalizer(tool string) string {
23
23
24
24
parts := strings .Split (lastTool , "/" )
25
25
tool = parts [len (parts )- 1 ]
26
+ if parts [len (parts )- 1 ] == "tool.gpt" && len (parts ) > 1 && len (parts [len (parts )- 2 ]) > 2 {
27
+ tool = parts [len (parts )- 2 ]
28
+ }
26
29
if strings .HasSuffix (tool , system .Suffix ) {
27
30
tool = strings .TrimSuffix (tool , filepath .Ext (tool ))
28
31
}
@@ -38,16 +41,26 @@ func ToolNormalizer(tool string) string {
38
41
39
42
tool = invalidChars .ReplaceAllString (tool , "_" )
40
43
41
- var result []string
42
- for i , part := range strings .Split (tool , "_" ) {
44
+ var (
45
+ result []string
46
+ appended bool
47
+ )
48
+ for _ , part := range strings .Split (tool , "_" ) {
43
49
lower := strings .ToLower (part )
44
- if i != 0 && len (lower ) > 0 {
50
+ if appended && len (lower ) > 0 {
45
51
lower = strings .ToTitle (lower [0 :1 ]) + lower [1 :]
46
52
}
47
- result = append (result , lower )
53
+ if lower != "" {
54
+ result = append (result , lower )
55
+ appended = true
56
+ }
48
57
}
49
58
50
- return strings .Join (result , "" )
59
+ final := strings .Join (result , "" )
60
+ if final == "" {
61
+ return "tool"
62
+ }
63
+ return final
51
64
}
52
65
53
66
func SplitToolRef (targetToolName string ) (toolName , subTool string ) {
0 commit comments