Package-level declarations
Types
Keep the shared transport in step with the process lifecycle. Set enabled before the first Android client factory call to opt out. The observer owns no client and lives for the process.
A field that a backend offers apps. A new conversation registers it when in_groups or in_dms selects the conversation kind.
The attachment a failed transfer reports, with its failure cause.
The failure of an attachment operation. A thrown XmtpError.Attachment and a Failed pending status carry the same record.
Why an attachment operation failed. Each value is one ATCH failure cause.
Limits for attachment downloads and for pending uploads.
The attachment an attachment.* event reports.
The attachments of one client. The paths it returns name files under the client's attachments directory; in the browser they name OPFS entries.
The attachment service a deployment offers.
The attachments of one client. The paths it returns name files under the client's attachments directory; in the browser they name OPFS entries.
The data of a new attachment. The SDK copies it into its own storage at create, so later changes to the source do not change the attachment.
Use connection options or an existing backend connection.
A write to one field. A map or set delta applies atomically: inserting a present key, or updating or deleting an absent key, rejects the whole write.
A field's insert, update and delete policies.
Transport state for one subscription reader.
A content codec with a typed value (Ref Public surface, Host codecs). The send helpers run its steps before the send: encode, then fallback when the envelope has none, then shouldPush when the send has no explicit shouldPush option and the type is not a catalogue type. A step that throws fails the send with XmtpException.CodecEncodeFailed, and the SDK makes no publish attempt.
Exclusive replay position for a named conversation.
A pull reader for new stored conversations.
A pull reader for new stored conversations.
Which credential step failed, for the Credential cause.
A verified attachment in the attachments directory.
Content at this boundary is uncompressed. Send options control wire compression.
The kind of a façade failure.
Stable information carried by each error variant.
A scalar value or map value.
The current handle of an inbox changed: the client stored a newer association state for the inbox whose display handle differs.
Handle settings the deployment applies when it admits a claim. They are for apps, for example to check a name as a user types it. The SDK never fails an operation or omits a handle because of them: the backend's answer when it admits a claim decides.
A plaintext attachment file this client keeps.
An exportable Ethereum signing key. Only explicit export methods reveal its private key.
An exportable Ethereum signing key. Only explicit export methods reveal its private key.
One key change to a map field.
A received or stored message. MessageFields holds its fields and equality.
A message value contains records and enums only.
The fields of a received message, and value equality over all of its data. Message adds its decoded content and actions.
A chronological Published page and the raw prefix it consumed. First and last positions follow the requested output direction. Empty messages can still have consumed positions and more history.
A sent-time boundary with a committed database-local delivery position. Keep the cursor opaque. A retained boundary remains valid after deletion. A whole-database restore or another database rejects the cursor.
Retained messages and their replay boundary from one database snapshot.
Fixed selection and replay position for an all-conversation message reader.
A chronological pending page and the raw prefix it consumed.
A sent-time boundary with an opaque database-local raw message key. The boundary remains valid after deletion or publication of the row.
The shape of a field's value.
A field of a conversation, with its committed type and policies.
Names a metadata field: its component ID and, when one exists, its well-known or backend catalogue name.
A field and its value. The value is absent when the conversation holds none.
The type of a map or set key.
A member policy for inserting, updating or deleting a field.
The type of a scalar field or of a map value.
A field value.
Counts records in the completed archive, before import deduplication.
A staged attachment and its upload.
A staged attachment and its upload.
The upload state of a pending attachment, read from the database.
Closed legacy storage and a separate output path. Keep both keys private.
Turn every host failure into the error declared by its foreign trait.
One key change to a set field.
A request for an identity update. The caller adds signatures before applying it.
A request for an identity update. The caller adds signatures before applying it.
A standard value that can be encoded without a client.
Safe cause fields. Use the kind and code for control flow.
The typed cause of one unfinished topic obligation.
Every unfinished topic from one failed barrier.
Why a barrier stopped waiting. Pending work remains stored.
One fixed topic obligation and its stored processing progress.
Typed details from the core error, including all sibling barriers.
The operation with unfinished fixed processing obligations.
Catch-up progress that remains committed after an incomplete result.
Sets the caller's own value of a user field, or clears it when value is absent.
One inbox's value of a user field.
A public well-known metadata field.
Errors returned by the SDK façade.
Functions
Write native logs in the app's files directory.
Open an existing identity with the same Android storage and lifecycle rules.
Returns one entry per core identity. Keys use ethereum:<core text>, passkey:<lowercase core hex>, or handle:<canonical handle>. A handle is available when the backend names an inbox for it.
The catalogue push value. Unknown custom content types default to push.
Try to stop the file writer and return the number of files deleted.
Create a client with Android default storage and process lifecycle control.
Read a content envelope and apply the shared decompression limits.
Serialize a content envelope with the shared wire format.
Read one event only when the flow collector requests it.
Calculate an inbox ID from a public identity and a nonce. An omitted nonce is 0, as in client creation. This operation does not use a backend or storage.
Generate an exportable local key without a backend or client database.
Keep the retained hexadecimal conversion, including an odd first digit.
The inbox of an account or a handle. An account with no live inbox gets the inbox ID it would create with nonce 0. A handle never derives an inbox ID: it resolves only when the inbox the backend names holds it in its own identity log, and fails with IdentityNotFound otherwise. An old handle of an inbox still resolves to it.
True when content_type is an XMTP catalogue content type. A catalogue type keeps its catalogue push default; a host content codec's push hook applies only to other types.
Read inbox update counts without opening a client or local storage.
The ref of a well-known field, named with its protocol name.
Prepare an archive without creating a client. Close the legacy SDK first. Source bytes stay unchanged. Import the completed archive into the correct inbox.
Project an app-hosted encrypted attachment with the shared content URL rule.
Resume shared process streams from their durable progress.
Install or clear the optional asynchronous app sink.
Resolve Android default storage from the app's internal files directory.
This cold Flow holds its client. Each collection opens a conversation reader.
This cold Flow holds its client before and between collections. Each collection opens a reader. With direct sequential collection, the next read acknowledges the previous message after the collector returns. A buffer or asynchronous operator can let acknowledgement start before downstream work finishes. Cancellation cannot undo an acknowledgement that has started.
This cold Flow holds its client before and between collections. Each collection opens a reader. With direct sequential collection, the next read acknowledges the previous message after the collector returns. A buffer or asynchronous operator can let acknowledgement start before downstream work finishes. Cancellation cannot undo an acknowledgement that has started.
Suspend shared process streams and keep their durable progress.
Reject the retained forbidden prefix. Native operations validate the full ID.
Apply the retained prefix check to each inbox ID.