Skip to content

Capabilities

Steven Enamakel edited this page Oct 22, 2026 · 2 revisions

Capabilities

This page is the master index of TinyChannels functionality.

Channel Contracts

  • ChannelMessage - legacy received/sent message shape.
  • SendMessage - legacy outbound message request with subject, thread, and idempotency support.
  • ChannelInboundEnvelope - normalized inbound message event.
  • ChannelOutboundIntent - normalized outbound send request.
  • ContentPart / OutboundContentPart - ordered typed content, including voice notes; media is represented by typed references, not marker strings.
  • OutboundPayload - text, media, voice, files, poll, presentation blocks, or native channel data.
  • MessageReceipt - normalized platform result for one logical send.
  • ChannelCapabilities (version 2) - one configured account's content, voice, event, addressing, action, text, delivery, and account facts.
  • ChannelStaticCapabilities and ChannelPresentationCapabilities - frozen v1 projections for legacy consumers; they are not independent declarations.

See Channel Contracts.

Adapter Contracts

  • ChannelAdapter - base start/stop/send/status adapter surface.
  • ChannelInboundSink - normalized inbound envelope sink.
  • ChannelReceiveAckPolicy - when inbound receive should be acknowledged.
  • Optional adapter traits:
    • ChannelSetup
    • ChannelDirectory
    • ChannelResolver
    • ChannelTyping
    • ChannelReaction
    • ChannelEdit
    • ChannelDelete
    • ChannelStreamingDraft

The adapter contract and v2 capability descriptor are available, but provider migration is still in progress. Most built-in provider implementations still implement the legacy Channel trait; the existence of the contract does not mean every provider passes v2 conformance yet.

Host Capabilities

  • ChannelHost - optional capability aggregator.
  • ProviderContext - standard provider construction context.
  • HostCapabilities - cheap capability descriptor.
  • TurnDispatcher - run a channel turn through the host harness.
  • Transcriber and SpeechSynthesizer - voice input/output.
  • ApprovalGate and ReactionGate - human approval and response gating.
  • ConversationStore - durable per-session history.
  • EventSink - host domain events.
  • LifecycleRegistry - provider shutdown hooks.
  • RunLedger - run and telemetry records.

See Host Boundary.

Relay Contracts

  • CapabilityDescriptor - connector handshake descriptor.
  • RelayPlatformEntry and RelayDescriptorOptions - descriptor projection inputs.
  • GatewayToConnectorFrame - gateway frames: hello, outbound, interrupt, going idle, inbound ack.
  • ConnectorToGatewayFrame - connector frames: descriptor, inbound, outbound result, interrupt inbound, going idle ack, passthrough forward.
  • Relay auth helpers - signed upgrade and delivery payload verification.
  • relay_send_action_from_outbound_intent - outbound intent to relay send action projection.
  • RelayTransport and related traits - reconnectable frame transport.

See Relay.

Delivery Capabilities

  • DeliveryDurability - required, best effort, or disabled.
  • DurableFinalDeliveryCapability - text, media, poll, payload, reply, thread, reconciliation, after-send, and after-commit capability flags.
  • negotiate_delivery_durability - downgrade missing durable capabilities to best effort.
  • compute_backoff_ms - OpenClaw-compatible recovery backoff.
  • recover_pending_deliveries - drain pending entries in enqueue order.
  • Unknown-send reconciliation for crash or transport ambiguity after platform send starts.

See Delivery.

Controller And Backend Capabilities

  • ChannelDefinition - UI setup metadata.
  • ChannelAuthMode - API key, bot token, OAuth, managed DM.
  • ChannelCapability - runtime UI capability list.
  • ChannelManager - validation plus backend delegation.
  • ChannelBackend - OpenHuman-owned implementation for connect, disconnect, status, test, send, reactions, threads, Telegram login, Discord link, and default-channel management.

See Controller API.

Built-In Providers

Exported providers include:

  • DingTalkChannel
  • DiscordChannel
  • EmailChannel
  • IMessageChannel
  • IrcChannel
  • LarkChannel
  • LinqChannel
  • MattermostChannel
  • QQChannel
  • SignalChannel
  • SlackChannel
  • WhatsAppChannel
  • YuanbaoChannel

See Providers.

Contract and Migration Status

The normative target, compatibility rules, and inventory of implemented versus proposed fields are in the v2 contract specification. Use that document for wire semantics. Use the pages linked above for the current crate APIs. Do not infer provider support from the presence of a contract type: each configured provider needs an adapter declaration and conformance evidence before a capability is promised.

TinyChannels

Channel and messaging contracts for OpenHuman.

Getting started

Concepts

Modules

Contributing


Clone this wiki locally