infrasynth-backend-kit/infrasynth/workflows/validators.py
2026-08-28 14:38:47 -05:00

18 lines
469 B
Python

from typing import Protocol, runtime_checkable
@runtime_checkable
class DataValidatorProtocol(Protocol):
def validate(self, node, data, context) -> dict: ...
class DataValidatorRegistry:
_validators: dict[str, DataValidatorProtocol] = {}
@classmethod
def register(cls, workflow_slug, validator):
cls._validators[workflow_slug] = validator
@classmethod
def get(cls, workflow_slug):
return cls._validators.get(workflow_slug)