Skip to main content

Crate jmap_chat_client

Crate jmap_chat_client 

Source
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§

AddedItem
A single item added to a query result set (RFC 8620 §5.6).
ChangesResponse
RFC 8620 §5.2 — Foo/changes response shape.
GetResponse
RFC 8620 §5.1 — Foo/get response shape.
QueryChangesResponse
RFC 8620 §5.6 — Foo/queryChanges response shape.
QueryResponse
RFC 8620 §5.5 — Foo/query response shape.
SetError
A per-item failure in a /set response (RFC 8620 §5.3).
SetResponse
RFC 8620 §5.3 — Foo/set response shape.

Enums§

ClientError
Errors produced by the base JMAP client.

Traits§

JmapChatExt
Extension trait adding JMAP Chat methods to jmap_base_client::JmapClient.