{"id":"graph-dependency-impact","version":"1.0.0","description":"List nodes downstream of a removed set: not themselves removed, reachable by a directed path of length at least 1.","supported_operations":["graph dependency impact","downstream impact of removed nodes","nodes affected by removing dependencies"],"unsupported_operations":["version-range resolution","rebuilding a remaining schedule","undirected impact","upstream-only ancestor impact"],"semantics":["Input is a directed simple graph plus removed, a non-empty array of unique existing node ids.","Cycles and self-loops are allowed; they are not rejected.","A node is impacted if and only if it is not in removed and a directed path of length at least 1 exists from at least one removed node to it.","Output impacted lists those node ids in declared nodes array order, and impacted_count is that array length as an integer.","A removed node whose outgoing paths only reach other removed nodes contributes nothing to impacted.","Empty graph cannot name a removed id and is rejected.","Unknown fields, duplicate nodes or edges, missing endpoints, and unknown or duplicate removed ids are rejected."],"limits":{"max_nodes":2000,"max_edges":10000,"max_node_id_bytes":256,"max_removed":2000},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["nodes","edges","removed"],"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}}}},"removed":{"type":"array","minItems":1,"maxItems":2000,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":256}}}},"output_schema":{"type":"object","additionalProperties":false,"required":["impacted","impacted_count"],"properties":{"impacted":{"type":"array","maxItems":2000,"items":{"type":"string","minLength":1,"maxLength":256}},"impacted_count":{"type":"integer","minimum":0,"maximum":2000}}},"examples":[{"input":{"nodes":["fetch","compile","lint","test","package","deploy"],"edges":[{"from":"fetch","to":"compile"},{"from":"fetch","to":"lint"},{"from":"compile","to":"test"},{"from":"compile","to":"package"},{"from":"lint","to":"package"},{"from":"test","to":"deploy"},{"from":"package","to":"deploy"}],"removed":["compile"]},"output":{"impacted":["test","package","deploy"],"impacted_count":3}}],"execute_url":"/v1/tools/graph-dependency-impact/versions/1.0.0/execute"}