Add this to vyasa/extensions.py or split into vyasa/extensions/contract.py
after the first green refactor:
class VyasaExtension(Protocol):
meta: ExtensionMeta
def register(self, app: VyasaExtensionApp) -> None:
...
For developer friendliness, prefer a base class:
class VyasaExtensionBase:
meta: ExtensionMeta
def register(self, app: VyasaExtensionApp) -> None:
raise NotImplementedError