{"id":"graph-shortest-unweighted-path","version":"1.0.0","description":"Find a shortest directed path by fewest edges from source to target.","supported_operations":["graph shortest unweighted path","fewest directed edges from source to target","unweighted shortest path between two nodes"],"unsupported_operations":["weighted shortest path","k-shortest paths","negative-weight shortest path","all-pairs shortest paths","undirected shortest path"],"semantics":["Input is a directed simple graph plus source and target, which must both be existing node ids.","length is the number of directed edges on the path, equal to path.length - 1.","When source equals target, the result is reachable with path [source] and length 0, even if a self-loop or cycle exists.","Otherwise the path is a BFS from source: first visit wins, outgoing neighbors follow declared edge order, and the route is reconstructed from parent pointers.","If target is unreachable, reachable is false, path is [], and length is null.","Self-loops and directed cycles are allowed; they do not change the first-visit BFS rule."],"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","source","target"],"properties":{"nodes":{"type":"array","maxItems":2000,"uniqueItems":true,"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}}}},"source":{"type":"string","minLength":1,"maxLength":256},"target":{"type":"string","minLength":1,"maxLength":256}}},"output_schema":{"type":"object","additionalProperties":false,"required":["reachable","path","length"],"properties":{"reachable":{"type":"boolean"},"path":{"type":"array","items":{"type":"string"}},"length":{"type":["integer","null"],"minimum":0}}},"examples":[{"input":{"nodes":["start","left","right","end"],"edges":[{"from":"start","to":"right"},{"from":"start","to":"left"},{"from":"left","to":"end"},{"from":"right","to":"end"}],"source":"start","target":"end"},"output":{"reachable":true,"path":["start","right","end"],"length":2}}],"execute_url":"/v1/tools/graph-shortest-unweighted-path/versions/1.0.0/execute"}