"""No-op mock implementations of platform provider contracts — Phase 14.7.""" from __future__ import annotations from typing import Any from uuid import UUID class MockAccountingProvider: async def create_receivable_ref( self, *, tenant_id: UUID, reference: str, payload: dict[str, Any] ) -> dict[str, Any]: return {"ok": True, "reference": reference, "provider": "mock_accounting"} class MockCRMProvider: async def resolve_contact( self, *, tenant_id: UUID, contact_ref: str ) -> dict[str, Any]: return {"ok": True, "contact_ref": contact_ref, "provider": "mock_crm"} class MockLoyaltyProvider: async def resolve_member( self, *, tenant_id: UUID, member_ref: str ) -> dict[str, Any]: return {"ok": True, "member_ref": member_ref, "provider": "mock_loyalty"} class MockCommunicationProvider: async def send( self, *, tenant_id: UUID, channel: str, template_key: str, to: str, payload: dict[str, Any], ) -> None: return None class MockDeliveryProvider: async def create_delivery_ref( self, *, tenant_id: UUID, reference: str, payload: dict[str, Any] ) -> dict[str, Any]: return {"ok": True, "reference": reference, "provider": "mock_delivery"} class MockExperienceProvider: async def resolve_site( self, *, tenant_id: UUID, site_ref: str ) -> dict[str, Any]: return {"ok": True, "site_ref": site_ref, "provider": "mock_experience"} class MockStorageProvider: async def resolve_file( self, *, tenant_id: UUID, file_ref: str ) -> dict[str, Any]: return {"ok": True, "file_ref": file_ref, "provider": "mock_storage"} class MockIdentityProvider: async def resolve_user( self, *, tenant_id: UUID, user_ref: str ) -> dict[str, Any]: return {"ok": True, "user_ref": user_ref, "provider": "mock_identity"} class MockBookingEngineProvider: async def reserve_slot( self, *, tenant_id: UUID, request: dict[str, Any] ) -> dict[str, Any]: return {"ok": True, "provider": "mock_booking_engine", "request": request}