MCPcopy Create free account
hub / github.com/aurora-develop/aurora / buildToolCallFromObject

Function buildToolCallFromObject

internal/toolcall/parser.go:290–308  ·  view source on GitHub ↗

buildToolCallFromObject 从 map 抽出 name + arguments 拼成 ToolCall。 兼容字段别名: name / tool / tool_name / function。 arguments 接受 string、map、缺失三种形态。

(obj map[string]any)

Source from the content-addressed store, hash-verified

288// 兼容字段别名: name / tool / tool_name / function。
289// arguments 接受 string、map、缺失三种形态。
290func buildToolCallFromObject(obj map[string]any) *official.ToolCall {
291 if obj == nil {
292 return nil
293 }
294 name := pickString(obj, "name", "tool", "tool_name", "function")
295 if name == "" {
296 return nil
297 }
298 args := extractArguments(obj)
299 return &official.ToolCall{
300 Index: 0, // Index 在 StreamToToolCallDeltas 里统一分配
301 ID: generateCallID(),
302 Type: "function",
303 Function: official.ToolCallFunc{
304 Name: name,
305 Arguments: marshalArguments(args),
306 },
307 }
308}
309
310func pickString(obj map[string]any, keys ...string) string {
311 for _, k := range keys {

Callers 2

buildToolCallFromRawFunction · 0.85
RecoverFromTextFunction · 0.85

Calls 4

pickStringFunction · 0.85
extractArgumentsFunction · 0.85
generateCallIDFunction · 0.85
marshalArgumentsFunction · 0.85

Tested by

no test coverage detected