Abstract base for language analyzers, defining nodes and edges output.
# Source: https://github.com/hoangsonww/AI-Agents-Orchestrator | License: MIT | Copyright 2026 Son Nguyen
# Provided via justclaw.it.com; keep this notice with the code.
"""
Base analyzer interface for all language analyzers.
"""
from __future__ import annotations
import abc
from dataclasses import dataclass, field
from graphify.core.schema import Edge, Node
@dataclass
class AnalysisResult:
"""Container for analyzer output."""
nodes: list[Node] = field(default_factory=list)
edges: list[Edge] = field(default_factory=list)
class BaseAnalyzer(abc.ABC):
"""Abstract base for language-specific analyzers."""
@abc.abstractmethod
def analyze(
self,
source: str,
file_path: str,
file_node_id: str,
project_id: str,
) -> Analy
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key