MCPcopy Create free account
hub / github.com/google/adk-python / serialize_node_like

Function serialize_node_like

src/google/adk/cli/utils/graph_serialization.py:54–71  ·  view source on GitHub ↗

Serialize a NodeLike object (str, BaseAgent, BaseTool, Callable, BaseNode).

(item: Any)

Source from the content-addressed store, hash-verified

52
53
54def serialize_node_like(item: Any) -> Any:
55 """Serialize a NodeLike object (str, BaseAgent, BaseTool, Callable, BaseNode)."""
56 if item == "START":
57 return "START"
58 # Handle primitives
59 if isinstance(item, (str, int, float, bool)):
60 return item
61 # Handle BaseAgent
62 class_name = type(item).__name__
63 if "Agent" in class_name and hasattr(item, "model_fields"):
64 return serialize_agent(item)
65 # Handle BaseNode
66 if "Node" in class_name and hasattr(item, "get_name"):
67 return serialize_node(item)
68 # Handle callable
69 if callable(item):
70 return {"name": getattr(item, "__name__", str(item)), "type": "function"}
71 return str(item)
72
73
74def serialize_node(node: Any) -> dict[str, Any]:

Callers 1

serialize_agentFunction · 0.85

Calls 4

typeFunction · 0.85
serialize_agentFunction · 0.85
serialize_nodeFunction · 0.85
getattrFunction · 0.85

Tested by

no test coverage detected