from __future__ import annotations from typing import Any, Protocol from content_automation.models import PublishedContentRecord class SocialNetworkAdapter(Protocol): """Contract for social network posting adapters.""" name: str def post_media(self, media_url: str, caption: str) -> Any: """Publish media and return a provider response payload.""" class PublishedContentStore(Protocol): """Contract for persisting publish operation metadata.""" def save(self, record: PublishedContentRecord) -> None: """Persist a published content record."""