fn parse_edge_endpoint(endpoint: &str) -> Result<(String, String), String>Expand description
Parses "node_id.port" into (node_id, port), defaulting the port to
"out" when no dot is present. Splits on the last dot, so node IDs may
themselves contain dots.