{"id":"schedule-asap-layers","version":"1.0.0","description":"Partition a DAG into ASAP topological generations: each layer is the nodes that become ready together.","supported_operations":["schedule asap layers","topological generations","ASAP depth layers of a DAG"],"unsupported_operations":["ALAP layers","processor counts","node durations and earliest finish","resource and capacity constraints"],"semantics":["Input is a directed simple graph { nodes, edges } parsed by the shared graph grammar.","Edge from→to means from is a prerequisite of to and must complete before to starts.","The graph must be a DAG; a cycle including a self-loop throws invalid_input with a message containing cycle.","Layer 0 is every node with indegree 0, listed in declared node-index order.","Each later layer is the nodes whose remaining indegree hits 0 when the previous layer is removed, listed in declared index order.","Equivalently, a node is in layer k iff every predecessor is in an earlier layer and at least one predecessor is in layer k-1 (sources have no predecessors).","The empty graph returns { layers: [] }. Isolated nodes share one layer in declared index order.","Unknown fields, duplicate node ids, duplicate directed pairs, missing endpoints, and oversize graphs are 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":["layers"],"properties":{"layers":{"type":"array","maxItems":2000,"items":{"type":"array","maxItems":2000,"items":{"type":"string","minLength":1,"maxLength":256}}}}},"examples":[{"input":{"nodes":["fetch","compile","lint","link","docs"],"edges":[{"from":"fetch","to":"compile"},{"from":"fetch","to":"lint"},{"from":"compile","to":"link"},{"from":"lint","to":"link"}]},"output":{"layers":[["fetch","docs"],["compile","lint"],["link"]]}}],"execute_url":"/v1/tools/schedule-asap-layers/versions/1.0.0/execute"}