@@ -23,6 +23,9 @@ func ToolNormalizer(tool string) string {
2323
2424 parts := strings .Split (lastTool , "/" )
2525 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+ }
2629 if strings .HasSuffix (tool , system .Suffix ) {
2730 tool = strings .TrimSuffix (tool , filepath .Ext (tool ))
2831 }
@@ -38,16 +41,26 @@ func ToolNormalizer(tool string) string {
3841
3942 tool = invalidChars .ReplaceAllString (tool , "_" )
4043
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 , "_" ) {
4349 lower := strings .ToLower (part )
44- if i != 0 && len (lower ) > 0 {
50+ if appended && len (lower ) > 0 {
4551 lower = strings .ToTitle (lower [0 :1 ]) + lower [1 :]
4652 }
47- result = append (result , lower )
53+ if lower != "" {
54+ result = append (result , lower )
55+ appended = true
56+ }
4857 }
4958
50- return strings .Join (result , "" )
59+ final := strings .Join (result , "" )
60+ if final == "" {
61+ return "tool"
62+ }
63+ return final
5164}
5265
5366func SplitToolRef (targetToolName string ) (toolName , subTool string ) {
0 commit comments