{"id":"graph-validate","version":"1.0.0","description":"Inspect a well-formed directed simple graph and report counts, isolated nodes, and maximum degrees.","supported_operations":["graph validate","inspect directed graph structure","count isolated nodes and degrees"],"unsupported_operations":["undirected mode","weighted edges","drawing","files"],"semantics":["Input is a directed simple graph {nodes, edges} parsed with the shared graph grammar.","Output is a null-prototype object with node_count, edge_count, self_loop_count, isolated_node_count, max_in_degree, and max_out_degree as integers.","A self-loop counts once toward both in-degree and out-degree of its node.","A node is isolated when its in-degree is 0 and its out-degree is 0.","The empty graph yields 0 for every count, including max degrees.","Self-loops and cycles are data; they are not rejected."],"limits":{"max_nodes":2000,"max_edges":10000,"max_node_id_bytes":256},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["nodes","edges"],"properties":{"nodes":{"type":"array","maxItems":2000,"items":{"type":"string","minLength":1,"maxLength":256}},"edges":{"type":"array","maxItems":10000,"items":{"type":"object","additionalProperties":false,"required":["from","to"],"properties":{"from":{"type":"string","minLength":1,"maxLength":256},"to":{"type":"string","minLength":1,"maxLength":256}}}}}},"output_schema":{"type":"object","additionalProperties":false,"required":["node_count","edge_count","self_loop_count","isolated_node_count","max_in_degree","max_out_degree"],"properties":{"node_count":{"type":"integer","minimum":0},"edge_count":{"type":"integer","minimum":0},"self_loop_count":{"type":"integer","minimum":0},"isolated_node_count":{"type":"integer","minimum":0},"max_in_degree":{"type":"integer","minimum":0},"max_out_degree":{"type":"integer","minimum":0}}},"examples":[{"input":{"nodes":["a","b","c","d"],"edges":[{"from":"a","to":"b"},{"from":"a","to":"c"},{"from":"c","to":"c"}]},"output":{"node_count":4,"edge_count":3,"self_loop_count":1,"isolated_node_count":1,"max_in_degree":2,"max_out_degree":2}}],"execute_url":"/v1/tools/graph-validate/versions/1.0.0/execute"}