"""No-op mock implementations of platform provider contracts — Phase 12.7. Used only by the local Connectors shell to simulate dispatch acknowledgement without any real network calls or cross-service imports. Real integrations are owned by their respective platform services and reached via API/events only, never via httpx or direct imports from this package. """ 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 MockWebsiteBuilderProvider: async def resolve_site( self, *, tenant_id: UUID, site_ref: str ) -> dict[str, Any]: return {"ok": True, "site_ref": site_ref, "provider": "mock_website_builder"}