feat: extend calendar scheduling reconciliation contract

This commit is contained in:
2026-08-20 07:44:16 +02:00
parent 8f642bd618
commit 0fae09ba3c
2 changed files with 36 additions and 0 deletions
+30
View File
@@ -45,6 +45,15 @@ class CalendarEventRef:
outbox_operation_id: str | None = None
@dataclass(frozen=True, slots=True)
class CalendarEventReleaseRef:
event_id: str
accepted: bool = True
already_released: bool = False
external_state: str = "local_released"
outbox_operation_id: str | None = None
@dataclass(frozen=True, slots=True)
class CalendarInvitationAttendeeRequest:
address: str
@@ -156,6 +165,27 @@ class CalendarSchedulingProvider(Protocol):
) -> CalendarEventRef:
...
def promote_event(
self,
session: object,
*,
tenant_id: str,
user_id: str | None,
event_id: str,
request: CalendarEventRequest,
) -> CalendarEventRef:
...
def release_event(
self,
session: object,
*,
tenant_id: str,
user_id: str | None,
event_id: str,
) -> CalendarEventReleaseRef:
...
@runtime_checkable
class CalendarOutboxProvider(Protocol):