MCPcopy Index your code
hub / github.com/docker/docker-agent / formatToolCallArguments

Function formatToolCallArguments

pkg/cli/printer.go:205–245  ·  view source on GitHub ↗
(arguments string)

Source from the content-addressed store, hash-verified

203}
204
205func formatToolCallArguments(arguments string) string {
206 if arguments == "" {
207 return "()"
208 }
209
210 // Is is a map?
211 kv := orderedmap.New[string, any]()
212 if err := json.Unmarshal([]byte(arguments), &kv); err == nil {
213 if kv.Len() == 0 {
214 return "()"
215 }
216
217 var (
218 parts []string
219 multiline bool
220 )
221
222 for key, value := range kv.FromOldest() {
223 formatted := formatJSONValue(key, value)
224 parts = append(parts, formatted)
225
226 multiline = multiline || strings.Contains(formatted, "\n")
227 }
228
229 if len(parts) == 1 && !multiline {
230 return fmt.Sprintf("(%s)", parts[0])
231 }
232
233 return fmt.Sprintf("(\n %s\n)", strings.Join(parts, "\n "))
234 }
235
236 // Maybe some other JSON type?
237 var parsed any
238 if err := json.Unmarshal([]byte(arguments), &parsed); err == nil {
239 formatted, _ := json.MarshalIndent(parsed, "", " ")
240 return fmt.Sprintf("(%s)", string(formatted))
241 }
242
243 // JSON parsing failed
244 return fmt.Sprintf("(%s)", arguments)
245}
246
247func formatToolCallResponse(response string) string {
248 if response == "" {

Calls 3

formatJSONValueFunction · 0.85
LenMethod · 0.65
NewMethod · 0.45