{
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Human-readable display name shown on the node, e.g. 'Auth Service'"
},
"nodeType": {
"type": "string",
"enum": [
"service",
"database",
"cache",
"queue",
"api",
"client"
],
"description": "Visual category: 'service' (backend microservice), 'database' (persistent storage), 'cache' (in-memory store), 'queue' (message broker), 'api' (gateway/proxy), 'client' (user/frontend)"
},
"id": {
"type": "string",
"description": "Optional stable identifier used in add_edge. If omitted, auto-derived from label (lowercase, spaces → hyphens). Provide explicitly when the label contains special characters or you need a predictable id."
}
},
"required": [
"label"
]
}{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "ID of the source (origin) node"
},
"target": {
"type": "string",
"description": "ID of the target (destination) node"
},
"label": {
"type": "string",
"description": "Optional short label shown on the edge, e.g. 'HTTP', 'gRPC', 'SQL'"
}
},
"required": [
"source",
"target"
]
}{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the node to remove"
}
},
"required": [
"id"
]
}{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the node to update"
},
"label": {
"type": "string",
"description": "New display label"
},
"nodeType": {
"type": "string",
"enum": [
"service",
"database",
"cache",
"queue",
"api",
"client"
],
"description": "New node type"
}
},
"required": [
"id"
]
}{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {}
}