Skip to content
Meshline
SDK 1.1.0 · NamespaceView source on GitHub

Developer guide · API index

Meshline.Sdk

Meshline.Models.Protocol Namespace

Protocol documents, requests, responses, and notifications exchanged with relays, with JSON serialization and validation support.

Classes
AccountAuthenticationRequest Carries an account's response to a relay authentication challenge.
AccountContactSync Synchronizes contact records between devices of the same account or requests a snapshot.
AccountDeviceState Contains the complete account-signed list of authorized device certificates at one revision.
AccountGroupHistorySecretSync Transfers group history secrets between devices of the same account.
AccountGroupPrivateStateRequest Requests private group membership state from another device of the same account.
AccountGroupPrivateStateSync Transfers private group membership state between devices of the same account.
AccountProfile Contains an account's device-signed profile and public discovery preference.
AccountQuery Selects an account by its protocol identifier.
AccountRoute Binds an account to its home relay at a signed, expiring revision.
AuthenticationChallenge Contains a relay-issued authentication nonce and its validity window.
ChannelCloseRequest Carries the revision, update time, and signature used to close a channel.
ChannelDescriptor Contains a channel's signed identity, metadata, moderation list, and lifecycle state.
ChannelEvent Wraps a channel timeline payload with its sequence, descriptor revision, and signer information.
ChannelPost Contains the device-signed content of a public channel post.
ChannelPostDelete Requests deletion of a channel post identified by its original timeline sequence.
ChannelPostEdit Carries signed body and attachment updates for an existing channel post.
ChannelReadPage Contains channel timeline events and the certificates needed to verify their signers.
ChannelReadQuery Selects the latest, preceding, or following page of a channel timeline.
ChannelReportRequest Reports a channel post to its hosting relay with a reason.
ChannelResolveQuery Selects a channel descriptor, optionally at a specific revision.
ChannelResolveResult Contains a channel descriptor and its signer's device certificate.
ChannelSubscriptionRequest Identifies channels for a relay notification subscription operation.
ChannelTimelineChangedNotification Announces the current head of a channel timeline.
ContactConsent Carries device authorization evidence and a contact grant, with an optional request note.
ContactGrant Authorizes a grantee to contact a grantor using signatures from the grantor's devices.
ContactInvite Contains an expiring, device-signed invitation to contact an account.
ContactRecord Carries a contact relationship and its grants for synchronization between account devices.
ContentEncryption Describes the algorithm, key, and nonce used to encrypt an attachment.
ContentReference Identifies external content by location, plaintext digest, media type, and size.
DeviceAuthenticationRequest Carries a device's signed response to a relay authentication challenge.
DeviceCertificate Binds device signing and encryption keys to an account for a fixed validity period.
DeviceStateChanged Announces a new account device-state revision inside an account message.
DeviceStateChangedNotification Announces a new account device-state revision through relay notifications.
DeviceStatePublishResponse Reports whether a device state was accepted or temporarily staged by a relay.
DirectMessage Contains the plaintext body, attachments, and reply reference encrypted in a direct message.
DirectMessageReference Identifies a direct message by its sender and message identifier.
EncryptedPayload Contains an authenticated-encryption algorithm, nonce, and ciphertext.
GroupAccountsRequest Selects a set of accounts for an operation on one group.
GroupApplication Contains a signed request to join a group using an invitation and a member encryption key.
GroupApplicationApproval Approves group admission for the listed accounts and their member encryption keys.
GroupApplicationApproveRequest Combines an admission approval with the client-secret commitment and encrypted member boxes.
GroupApplicationChangedNotification Announces a change to a group's pending admission applications.
GroupApplicationEntry Contains an admission application, its signer certificate, and relay acceptance time.
GroupApplicationPage Contains a page of pending group admission applications.
GroupClose Closes a group through its signed management chain.
GroupCreate Contains a signed group creation document and the initial owner's encryption identity.
GroupCreateRequest Combines a group creation document with the owner's encrypted client-secret box.
GroupEvent Wraps a group timeline payload with its sequence, key epoch, and acceptance information.
GroupHistorySecret Contains the application secret needed to decrypt messages from a historical group epoch.
GroupInvite Contains a device-signed, expiring invitation to join a group.
GroupInviteEntry Contains a signed group invitation, signer identifier, and use count.
GroupInvitePage Contains a page of group invitations and their signer certificates.
GroupInviteQuery Selects an invitation within a group.
GroupInviteResolveResult Contains a resolved group invitation, its signer certificate, and use count.
GroupKeyEntry Contains encrypted client and relay secrets for one group epoch.
GroupKeyPage Contains a sequence of group epoch key entries.
GroupKeyRotated Marks a relay-side group key rotation in the group timeline.
GroupListQuery Selects a cursor-based page of group administration records.
GroupManagementOperation Provides the group identifier, previous management hash, and signature for a management-chain operation.
GroupMember Contains a group member's account identifier, role, and encryption public key.
GroupMemberBan Bans the listed accounts through the group's signed management chain.
GroupMemberKey Associates an account with its group-specific encryption public key.
GroupMemberLeave Records a member's departure through the group's signed management chain.
GroupMemberNicknameUpdate Updates or clears the sender's nickname inside encrypted group content.
GroupMemberPrivateState Contains the group-specific private encryption key synchronized between an account's devices.
GroupMemberRecoveryApproval Approves replacement member encryption keys for the listed group accounts.
GroupMemberRecoveryRequest Requests recovery of group access using a replacement member encryption public key.
GroupMemberRemoval Removes the listed accounts from group membership.
GroupMemberUnban Clears group bans for the listed accounts.
GroupMessage Contains plaintext message content encrypted within a group message envelope.
GroupMessageEnvelope Contains a signed encrypted group message bound to one group and key epoch.
GroupOwnerTransfer Transfers group ownership to another member through the management chain.
GroupRecoveryApproveRequest Combines member key recovery approval with encrypted client-secret boxes.
GroupRecoveryChangedNotification Announces a change to a group's pending member key recovery requests.
GroupRecoveryEntry Contains a member key recovery request and its relay-assigned validity window.
GroupRecoveryPage Contains a page of pending member key recovery requests.
GroupRecoverySubmitResult Reports when a submitted member key recovery request was accepted and will expire.
GroupResolveQuery Selects group state, optionally using an invitation as access evidence.
GroupRoleUpdate Changes a member's role through the group's signed management chain.
GroupRotationPrepareRequest Stages new encrypted client-secret boxes against the current client-secret commitment.
GroupRotationPrepareResult Reports how many member boxes were prepared and when the preparation expires.
GroupSecretBox Contains a group secret encrypted to a member's encryption key using HPKE.
GroupSecretRotation Commits a new group client secret and optionally replaces the owner's member encryption key.
GroupSequenceQuery Selects group records after an exclusive sequence or epoch cursor.
GroupState Contains the relay-visible metadata, membership count, and lifecycle state of a group.
GroupSubscriptionRequest Identifies groups for a relay notification subscription operation.
GroupSyncPage Contains group timeline events and certificates needed to verify their signers.
GroupTimelineChangedNotification Announces the current head of a group timeline.
GroupUpdate Changes group metadata through a signed management-chain operation.
Identifiers Derives, creates, and validates device, group, channel, message, and invitation identifiers.
MessageBody Contains a text body and its protocol-supported media type.
MessageDeliveryQuery Selects the relay delivery status of a message by identifier.
MessageDeliveryStatus Contains a relay-reported delivery state, acceptance time, and optional failure.
MessageEnvelope Contains a signed encrypted account message with sender, recipient, and creation time.
MessageKeyBox Contains a message key encrypted to one device using HPKE.
MessageSendRequest Combines an encrypted message envelope with device key boxes and optional contact authorization.
MessageTimelineChangedNotification Announces the current head of the account message timeline.
MessageTimelineEntry Contains an accepted account message and the key box for the requesting device.
MessageTimelinePage Contains a page of account messages and the certificates needed to verify them.
MessageTimelineQuery Selects account messages after an exclusive timeline sequence.
ProfileResolveResult Contains an account profile and its signer's device certificate.
ProtocolModel Provides protocol JSON serialization and an overridable validation entry point.
RelayDescriptor Contains a relay's signed identity, endpoints, capabilities, and expiration time.
RelayError Contains a symbolic relay error code, diagnostic message, and optional structured details.
RelayInfo Contains a relay's public name, server time, and advertised operational limits.
RelayLimits Contains relay retention periods and optional channel and group limits.
RpcError Contains a JSON-RPC error number, message, and optional structured details.
RpcFailure Represents a failed JSON-RPC response.
RpcRequest Represents a JSON-RPC request or notification.
RpcResponse Provides the JSON-RPC version shared by successful and failed responses.
RpcSuccess Represents a successful JSON-RPC response with a possibly null result.
SequenceResult Reports the timeline sequence assigned to an accepted operation.
SessionCredentials Contains a relay session bearer token, authentication mode, and expiration time.
SignedDeviceStateQuery Requests account device state using signed device identity and authorization evidence.
TypedProtocolModel Adds a protocol type discriminator and network-bound signing input to a protocol model.
Enums
ChannelStatus Indicates whether a channel remains active or has been closed.
ContactRelationshipState Indicates whether a contact relationship is active or deleted.
DeviceStatePublishStatus Indicates whether published device state is authoritative or only staged.
GroupInvitePolicy Determines which members may create targeted or shareable group invitations.
GroupRole Identifies a member's authority within a group.
GroupStatus Indicates whether a group remains active or has been closed.
MessageDeliveryState Describes the relay's delivery progress for an accepted message.
RouteComparison Describes how an account route compares with another route for the same account.
SessionMode Distinguishes account-authorized sessions from device-authorized sessions.