Expand description
jmap-chat-client — auth-agnostic JMAP Chat HTTP client with WebSocket and SSE support.
See PLAN.md for the full implementation plan.
§Usage
let session = client.fetch_session().await?;
let sc = client.with_chat_session(session);
// Look up previously-uploaded blobs by their content-addressed hashes.
// Pass `type_names: None` to accept any MIME type.
let blob_ids = [Id::from("sha256-...")];
let resolved = sc.blob_lookup(&blob_ids, None).await?;Re-exports§
pub use methods::blob::BlobConvertResponse;pub use methods::blob::BlobLookupEntry;pub use methods::blob::BlobLookupResponse;pub use methods::blob::BlobObject;pub use methods::quota::Quota;pub use methods::AddMemberInput;pub use methods::ChatContactPatch;pub use methods::ChatContactQueryInput;pub use methods::ChatCreateInput;pub use methods::ChatPatch;pub use methods::ChatQueryInput;pub use methods::ContactSortProperty;pub use methods::CustomEmojiCreateInput;pub use methods::CustomEmojiQueryInput;pub use methods::MessageCreateInput;pub use methods::MessagePatch;pub use methods::MessageQueryInput;pub use methods::Patch;pub use methods::PresenceStatusPatch;pub use methods::PushSubscriptionCreateInput;pub use methods::PushSubscriptionCreateResponse;pub use methods::PushSubscriptionPatch;pub use methods::ReactionChange;pub use methods::SessionClient;pub use methods::SpaceAddCategoryInput;pub use methods::SpaceAddChannelInput;pub use methods::SpaceAddMemberInput;pub use methods::SpaceAddRoleInput;pub use methods::SpaceBanCreateInput;pub use methods::SpaceCreateInput;pub use methods::SpaceInviteCreateInput;pub use methods::SpaceJoinInput;pub use methods::SpaceJoinResponse;pub use methods::SpacePatch;pub use methods::SpaceQueryInput;pub use methods::SpaceUpdateCategoryInput;pub use methods::SpaceUpdateChannelInput;pub use methods::SpaceUpdateMemberInput;pub use methods::SpaceUpdateRoleInput;pub use methods::TypingResponse;pub use methods::UpdateMemberRoleInput;pub use session::ChatCapability;pub use session::ChatPushCapability;pub use session::ChatSessionExt;pub use sse::parse_chat_sse_block;pub use sse::ChatSseEvent;pub use sse::ChatSseFrame;pub use ws::ChatWsExt;pub use ws::ChatWsFrame;
Modules§
- methods
- Typed JMAP Chat method wrappers — response types,
Patch<T>, SessionClient, input/patch structs, constants, and helpers. - session
- ChatSessionExt trait for
jmap_base_client::Session. - sse
- SSE types and frame parser for JMAP Chat push notifications.
- types
- JMAP Chat client-side auxiliary types.
- utils
- Display-formatting helpers for JMAP Chat clients.
- ws
- WebSocket frame types and extension trait for JMAP Chat.
Structs§
- Added
Item - A single item added to a query result set (RFC 8620 §5.6).
- Changes
Response - RFC 8620 §5.2 —
Foo/changesresponse shape. - GetResponse
- RFC 8620 §5.1 —
Foo/getresponse shape. - Query
Changes Response - RFC 8620 §5.6 —
Foo/queryChangesresponse shape. - Query
Response - RFC 8620 §5.5 —
Foo/queryresponse shape. - SetError
- A per-item failure in a
/setresponse (RFC 8620 §5.3). - SetResponse
- RFC 8620 §5.3 —
Foo/setresponse shape.
Enums§
- Client
Error - Errors produced by the base JMAP client.
Traits§
- Jmap
Chat Ext - Extension trait adding JMAP Chat methods to
jmap_base_client::JmapClient.