"""Calendar plugin contract — public interface for cross-plugin access.""" from __future__ import annotations from app.plugins.builtins.contracts import get_contract_registry from app.plugins.builtins.calendar.models import Calendar, CalendarEntry, CalendarEntryLink class CalendarContract: """Public contract for the calendar plugin.""" contract_name = "calendar" Calendar = Calendar CalendarEntry = CalendarEntry CalendarEntryLink = CalendarEntryLink # ─── self-registration ─── _contract = CalendarContract() get_contract_registry().register("calendar", _contract) # Backward-compatible local accessor _contract_instance: CalendarContract | None = None def get_contract() -> CalendarContract: global _contract_instance if _contract_instance is None: _contract_instance = CalendarContract() return _contract_instance __all__ = ["CalendarContract", "Calendar", "CalendarEntry", "CalendarEntryLink"]