Module 03 · Contract beta · Repository-verified core
Relay
Relay delivers user and agent conversations with stable ordering and retry-safe sends.
Start with one complete message
The shortest complete path is three documents:
- Learn the Relay concepts.
- Issue a host-signed token.
- Send a retry-safe message. The walkthrough ends with a message that can be retried after an uncertain network result without creating a duplicate.
Continue by task
- Build: Realtime recovery, channels and permissions, attachments, search, and webhooks
- Operate: Limits and errors, data lifecycle and audit, and deployment
- Reference: SDK and widget and the HTTP operation index
Maturity by surface
| Surface | Current status |
|---|---|
| Ordering, tenant isolation, and nonce idempotency | Repository-verified invariants |
| REST and WebSocket contracts | Contract beta |
| TypeScript SDK artifact | Public beta: @tonetify/relay@0.1.0-beta.1 |
| Deployment | Self-hosted reference, without published image or service objectives |
What this module owns
- Channel, member, message, reply, and reaction primitives
- Database-backed per-channel sequence
- Nonce idempotency and tenant isolation
What the host owns
- Business identity before it is expressed as a Relay user
- Business workflow and authorization decisions
- All non-conversation product truth
Invariant
same channel + same nonce = same message REST and WebSocket sends share one write path. Both receive the same membership checks, sequence assignment, validation, and nonce behavior.