Generate a layout config from node analysis.
(self, nodes: List[NodeInfo])
| 1884 | ] |
| 1885 | |
| 1886 | def generate(self, nodes: List[NodeInfo]) -> Dict[str, List[str]]: |
| 1887 | """Generate a layout config from node analysis.""" |
| 1888 | layout: Dict[str, List[str]] = defaultdict(list) |
| 1889 | layout["__init__.py"] = [] |
| 1890 | layout["config/__init__.py"] = [] |
| 1891 | layout["utils/__init__.py"] = [] |
| 1892 | layout["llm/__init__.py"] = [] |
| 1893 | layout["agent/__init__.py"] = [] |
| 1894 | layout["skills/__init__.py"] = [] |
| 1895 | layout["session/__init__.py"] = [] |
| 1896 | layout["rag/__init__.py"] = [] |
| 1897 | layout["app/__init__.py"] = [] |
| 1898 | layout["server/__init__.py"] = [] |
| 1899 | |
| 1900 | for node in nodes: |
| 1901 | if node.kind == "import": |
| 1902 | continue |
| 1903 | module = self._classify(node) |
| 1904 | layout[module].append(node.name) |
| 1905 | |
| 1906 | return dict(layout) |
| 1907 | |
| 1908 | def _classify(self, node: NodeInfo) -> str: |
| 1909 | name = node.name |