MCPcopy Create free account
hub / github.com/GongShichen/LuminaCode / serializeTaskResult

Function serializeTaskResult

agent/agent_tool.go:403–431  ·  view source on GitHub ↗
(value any)

Source from the content-addressed store, hash-verified

401}
402
403func serializeTaskResult(value any) any {
404 switch v := value.(type) {
405 case AgentTaskRecord:
406 return serializeTaskPayload(v.ToMap())
407 case *AgentTaskRecord:
408 if v == nil {
409 return nil
410 }
411 return serializeTaskPayload(v.ToMap())
412 case map[string]any:
413 out := make(map[string]any, len(v))
414 for key, item := range v {
415 if key == "tasks" {
416 if tasks, ok := item.([]map[string]any); ok {
417 serialized := make([]map[string]any, 0, len(tasks))
418 for _, task := range tasks {
419 serialized = append(serialized, serializeTaskPayload(task))
420 }
421 out[key] = serialized
422 continue
423 }
424 }
425 out[key] = item
426 }
427 return out
428 default:
429 return value
430 }
431}
432
433func serializeTaskPayload(data map[string]any) map[string]any {
434 payload := make(map[string]any, len(data)+4)

Callers 3

NewTaskWaitToolFunction · 0.85
NewTaskStopToolFunction · 0.85
NewSendMessageToolFunction · 0.85

Calls 2

serializeTaskPayloadFunction · 0.85
ToMapMethod · 0.45

Tested by

no test coverage detected