"""Node modules — versioned nodes + shared (unversioned) nodes.""" # Shared nodes (pure code, no LLM, no versioning) from .sensor import SensorNode from .ui import UINode # Versioned nodes — v1 (current) from .input_v1 import InputNode as InputNodeV1 from .thinker_v1 import ThinkerNode as ThinkerNodeV1 from .output_v1 import OutputNode as OutputNodeV1 from .memorizer_v1 import MemorizerNode as MemorizerNodeV1 from .director_v1 import DirectorNode as DirectorNodeV1 # Default aliases (used by runtime.py until engine.py takes over) InputNode = InputNodeV1 ThinkerNode = ThinkerNodeV1 OutputNode = OutputNodeV1 MemorizerNode = MemorizerNodeV1 DirectorNode = DirectorNodeV1 # Registry — engine.py uses this to look up node classes by name NODE_REGISTRY = { "sensor": SensorNode, "ui": UINode, "input_v1": InputNodeV1, "thinker_v1": ThinkerNodeV1, "output_v1": OutputNodeV1, "memorizer_v1": MemorizerNodeV1, "director_v1": DirectorNodeV1, } __all__ = [ "SensorNode", "UINode", "InputNodeV1", "ThinkerNodeV1", "OutputNodeV1", "MemorizerNodeV1", "DirectorNodeV1", "InputNode", "ThinkerNode", "OutputNode", "MemorizerNode", "DirectorNode", "NODE_REGISTRY", ]