(rel_path: str)
| 396 | |
| 397 | |
| 398 | def _classify_artifact(rel_path: str) -> str: |
| 399 | if rel_path == "figure.png": |
| 400 | return "figure" |
| 401 | if rel_path == "samed.png": |
| 402 | return "samed" |
| 403 | if rel_path.endswith("_nobg.png"): |
| 404 | return "icon_nobg" |
| 405 | if rel_path.startswith("icons/") and rel_path.endswith(".png"): |
| 406 | return "icon_raw" |
| 407 | if rel_path == "template.svg": |
| 408 | return "template_svg" |
| 409 | if rel_path == "final.svg": |
| 410 | return "final_svg" |
| 411 | return "artifact" |
| 412 | |
| 413 | |
| 414 | def _port_in_use(port: int) -> bool: |