pub struct InviteResult {
pub invite_line: String,
pub expires_at_epoch: u64,
pub uses_remaining: u32,
}Expand description
Result of an Request::Invite request: the copyable mcpmesh-invite: artifact
(the ONE pairing artifact deliberately carved out of the
transport-vocabulary blocklist, so this is NOT a transport-vocab leak) plus its
absolute expiry in epoch seconds (≤ now + 24h).
invite returns BEFORE any redemption, so the SAS — which is derived from the redeemer’s
endpoint id, unknown until they redeem — cannot appear here. The inviter reads its side of
the SAS from StatusResult::recent_pairings once a redemption completes (a trust/pair
frame on the live StreamFrame stream signals that moment). See the “embedding the pairing
ceremony” note in docs/local-protocol.md (#35).
Additive-only: any future field MUST land as #[serde(default, skip_serializing_if = ...)]
so older payloads still deserialize.
Fields§
§invite_line: StringThe mcpmesh-invite:<base32> line, copied out-of-band to the redeemer.
expires_at_epoch: u64When the invite expires (epoch seconds); the daemon burns it at redemption or expiry.
uses_remaining: u32How many redemptions this invite has left (#87) — the value actually applied, after the
MAX_INVITE_USES clamp. 1 for an ordinary single-use invite.
Reported so a caller that asked for more than the cap is told what it got rather than
discovering it when the fourth colleague fails. Additive: #[serde(default = "one")], so a
response from an older daemon reads as single-use. api_minor >= 35.
Trait Implementations§
Source§impl Clone for InviteResult
impl Clone for InviteResult
Source§fn clone(&self) -> InviteResult
fn clone(&self) -> InviteResult
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more