Communication Channels

communication_channels in @open-mercato/core

Unified hub bridging external chat/email channels (Slack, WhatsApp, Email) to the Messages module. Adapter contract, channel-native payload storage, reactions, and per-channel threading. OAuth state cookies are single-use via short-TTL cache markers (see lib/oauth-state.ts); multi-replica deployment

Ships with Open Mercato 0.9.0

On in a new app. Nothing to enable.

In an app from the empty preset

yarn mercato module enable @open-mercato/core --module communication_channels

Then run yarn generate. Core is already installed, so nothing is downloaded.

Anatomy

ADDS 8 TABLES · 10 PERMISSIONS · EMITS 17 EVENTS

Data

  • communication_channels
  • external_conversations
  • external_messages
  • message_channel_links
  • channel_thread_mappings
  • message_reactions
  • channel_thread_tokens
  • channel_ingest_dead_letters

API

Routes are not listed for built-in modules.

Security

communication_channels.

  • view
  • manage
  • react
  • assign
  • connect_user_channel
  • share_own_channel
  • connect_tenant_channel
  • admin
  • channel.import_history
  • channel.push.manage

Events

  • emitscommunication_channels.message.received
  • emitscommunication_channels.message.sent
  • emitscommunication_channels.message.delivery_failed
  • emitscommunication_channels.conversation.created
  • emitscommunication_channels.conversation.reassigned
  • emitscommunication_channels.contact.resolved
  • emitscommunication_channels.channel.requires_reauth
  • emitscommunication_channels.channel.disconnected
  • emitscommunication_channels.channel.deleted
  • emitscommunication_channels.channel.primary_changed
  • emitscommunication_channels.channel.visibility_changed
  • emitscommunication_channels.reaction.added
  • emitscommunication_channels.reaction.removed
  • emitscommunication_channels.push.registered
  • emitscommunication_channels.push.failed
  • emitscommunication_channels.push.renewed
  • emitscommunication_channels.push.deactivated
  • subscribescommunication_channels.channel.requires_reauth
  • subscribesmessages.message.sent
  • subscribesauth.user.deleted

UI

  • 3 backend pages
  • 4 widgets

Not present: background jobs, AI tools.

Not read: credentials and env, hosts (not in module-facts.v2.json).

From module-facts.v2.json in @open-mercato/cli 0.9.0. Read statically, not executed.