Skip to content

feat: restore PublisherAdapter interfaces and platform publishers #41

@stackbilt-admin

Description

@stackbilt-admin

Context

Publishing adapters were committed then reverted (3a4e370). They belong in OSS — generic platform clients (Bluesky/Twitter/Facebook API wrappers) are infrastructure, not competitive advantage.

What to restore

  1. PublisherAdapter interface — mirrors PlatformAdapter for outbound operations
  2. BlueskyPublisher — AT Protocol client (post, like, repost, reply, follow, feed, delete)
  3. TwitterPublisher — X API v2 client (ties into existing social-sentinel#30)
  4. FacebookPublisher — Graph API client

Constraints

  • No D1 dependency — OSS version uses adapters only, no persistence
  • No cron publisher — scheduling/orchestration is the managed layer's job (Social Hub)
  • Must export clean TypeScript interfaces for downstream consumers
  • PII redaction should be available as middleware on the publish path too

Why OSS

  • Attracts contributors who add platform support (LinkedIn, Mastodon, Threads)
  • Makes Social Sentinel useful as a standalone tool (monitoring-only is half a product)
  • Establishes the adapter pattern that Social Hub extends
  • Creates adoption funnel for the commercial managed hub

Related

  • social-hub#3 — Social Hub will depend on this package instead of forking
  • social-sentinel#30 — X/Twitter posting adapter (can be implemented as part of this)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions