* Extract top-level package names from DAG nodes. * Uses importedPackages which contains actual package names (e.g. "pandas") * rather than importedModules which contains local aliases (e.g. "pd").
(dag: BlockDependencyDag)
| 727 | * rather than importedModules which contains local aliases (e.g. "pd"). |
| 728 | */ |
| 729 | function extractImportsFromDag(dag: BlockDependencyDag): string[] { |
| 730 | const imports = new Set<string>() |
| 731 | for (const node of dag.nodes) { |
| 732 | for (const pkg of node.importedPackages ?? []) { |
| 733 | imports.add(pkg) |
| 734 | } |
| 735 | } |
| 736 | return Array.from(imports).sort() |
| 737 | } |
| 738 | |
| 739 | // ============================================================================ |
| 740 | // Failure Diagnosis (for auto-diagnosis feature) |