Package-level declarations
Android account lifecycle and Rust-owned product state; NIP-44; Softchat chat/account values; relay sessions and persistence results; Noise and Negentropy state; attachment metadata and streams; NIP-42/NIP-98 plans; version metadata, redacted diagnostics, and stable public failures.
Types
Redacted Rust-owned connection state.
Rust-owned Android-local address-book operations.
Complete conversation commands and bounded queries.
Rust-owned database metadata.
Durable delivery operations; Android owns only transport execution.
Identity-derived non-secret account storage reference.
Redacted bounded account health suitable for logs and support UI.
One complete use-case node derived in Rust from authenticated truth.
Exact authenticated event detail and relationship queries.
Atomic incoming account operations.
Logical media operations and authenticated gallery queries.
One authenticated message view.
Complete high-level messaging commands and bounded effective-message queries.
A committed mutation carrying the revision Android should publish to observers.
Result of one idempotent outgoing operation.
Durable outgoing-operation state and observation.
Atomic outgoing account operations.
Effective profile and private follow-list commands.
One bounded authenticated projection with exact protocol truth attached.
Durable platform-token registration.
Bounded authenticated use-case queries.
One-shot recovery from retired platform storage.
Rust-owned durable relay catalog for one account.
Account-scoped cache operations used by Android HTTP and picker executors.
Complete versioned account settings after Rust validation and merging.
Typed versioned patch; unspecified fields are preserved by Rust.
Versioned account-settings queries and merge patches.
Redacted account health for support and explicit recovery flows.
Rust-owned synchronization factory; Android executes only returned transport actions.
Low-level host-owned WebSocket boundary over durable delivery and inbox state.
Accepted kind-30079 contexts.
Authenticated and self-decrypted kind-30079 application data.
Direct generic NIP-78 application data.
Profile or conversation field changed after a durable public upload.
Bounded compatibility crypto for released-client attachment values.
Incremental authenticated decryption for a private staged destination.
Incremental encryption compatible with released clients.
Canonical Softchat imeta metadata; HTTP and files remain platform-owned.
Final authentication and hash values for one staged attachment transform.
Typed complete kind-14 message with exact raw rumor retained.
Complete canonical kind-14 writer input.
Canonical message relation.
One committed exclusive lease.
One private contact-backup entry.
Complete bounded conversation row consumed directly by Android UI.
Lossless conversation-list paging position.
Portable draft state shared by Android and future Apple clients.
Stable participant-set identifier for one conversation.
One bounded complete conversation page.
Effective versioned cross-device read state for one conversation.
Newest-first conversation summary from authenticated durable projections.
Complete conversation-list use case produced by Rust in one native call.
One validated portable custom emoji saved by the account.
Typed authorized deletion request.
One bounded exclusive delivery lease.
Stable result of one relay acknowledgement.
Exact persisted delivery row consumed by Rust reducers.
Durable state of one event-copy/relay intent.
Exact event payload Android may write after a claim commits.
Durable host-owned delivery state for one authored event.
Atomic delivery-row mutation returned by Rust.
One authenticated DNS relay record supplied by Android.
Portable draft state shared by Android and future Apple clients.
Typed text-and-emoji edit.
Parsed private author-copy follow list.
Validated receive-only NIP-18 generic repost.
Authenticated product change suitable for Android notifications and refresh decisions.
Product-level change families emitted by authenticated incoming ingestion.
Durable result of one Android push or notification event batch.
Verified account-routing hint from one signed NIP-59 outer wrapper.
One bounded atomic-ingestion request for the portable session contract.
Total classification returned after one authoritative database transaction.
One Android-local address-book entry.
Lifecycle owner for the SDK-managed native relay transport.
Stable, redacted failure of the optional SDK-owned relay transport.
Complete observable state of the optional SDK-owned relay transport.
Result of acknowledging one completed attachment lease.
Direction of a logical platform-executed media transfer.
One authenticated attachment projected into a bounded media gallery.
Exclusive bounded claim for one platform media executor.
One durable logical transfer without Android URI or WorkManager identifiers.
One stable page of operations that an Android executor can resume.
Durable state of a logical media operation.
One private staged source selected for an attachment-dependent message.
Whether an upload is private encrypted content or an intentionally public asset.
Complete effective message consumed directly by Android UI.
User-authored content for a new or edited message.
Lossless newest-first message paging position.
Sparse account-local non-protocol data attached to one message.
One bounded complete message page.
Effective relationship of one authenticated message.
Bounded stateful NIP-77 client.
One item in a local NIP-77 set.
One stateful NIP-77 client result.
An immutable language-owned encrypted message.
A bounded, encoded NIP-44 payload with redacted diagnostics.
Single-use exact deployed Noise NK handshake.
Serialized authenticated Noise framing state for low-level transport callers.
Notification text privacy shared across devices.
Durable result of one idempotent high-level product command.
Aggregate operation state for UI.
User-visible aggregate state derived from durable delivery rows.
One frame removed from the relay session's bounded queue.
Durable public asset replacement with one platform upload dependency.
Aggregate lifecycle of an upload-dependent public asset replacement.
Durable message intent with ordered platform transfer dependencies.
Logical dependency state for an attachment-dependent message.
Effective authenticated profile with an optional local display-name override.
Typed profile merge patch; unspecified fields are preserved by Rust.
Authenticated projection families exposed to Android use-case queries.
Released push-registration profile selected by the platform executor.
One persisted relay catalog row.
One committed complete relay catalog.
Deterministic full relay-catalog replacement.
Pure Rust relay catalog, failover, and retry policy.
Consumer-visible ownership of one relay catalog row.
One redacted terminal or retryable relay result.
Stable relay response class.
Validated boundary between configured relay identity and its network endpoint.
Stable transport failure class consumed by the Rust retry policy.
Retry/failover action selected by Rust.
Bounded reconnect or failover plan.
Serialized relay protocol state machine for a host-owned socket lifecycle.
Platform action emitted by the pure relay session.
Redacted state snapshot for diagnostics only.
Three-state value used by typed settings patches.
The Android account entry point.
Monotonic process-local counters containing no keys or protocol contents.
Stable machine-readable Softchat failures.
Rust-validated typed readers for binding-owned rumors.
Safe, stable failures from the public Kotlin API.
A local Nostr identity backed by Rust-owned secret material.
One bounded delivery to SoftchatLogSink.
Stable subsystem category for one structured SDK diagnostic.
One SDK-named aggregate measurement.
Finite, redacted diagnostic classification.
Finite, redacted diagnostic classification.
One immutable, structured, redacted SDK diagnostic.
Optional account logging configuration.
Severity threshold and severity value for structured SDK diagnostics.
Finite, redacted diagnostic classification.
Optional application-owned receiver for batched SDK diagnostics.
Finite, redacted diagnostic classification.
Finite, redacted diagnostic classification.
One validated cached custom emoji or sticker.
Exact canonical signed event selected from Rust-owned protocol truth.
Committed ingestion result.
One committed discovery reconciliation.
Canonical group-subject writer input.
Current Rust-owned synchronization phase.
Redacted progress for the synchronization owned by the active transport run.
One correlated WebSocket effect for hosts using the low-level transport API.
Platform effects emitted by the Rust-owned transport state machine.
Complete committed transition returned to the Android system executor.
One result echoed to the Rust-owned transport state machine.
Typed outcome Android reports for one exact transport action.
Typed ephemeral typing notification.
Authenticated remote typing state retained by Rust until expiresAt.
Portable media-quality preference.
Parsed private metadata.
Private user-metadata writer fields with retained unknown JSON.
Functions
Classify one relay OK into a stable host-facing delivery decision.
Create directly signed and self-encrypted kind-30079 data.
Create one directly signed generic NIP-78 value.
Create a complete canonical message through the retained identity.
Create a canonical private deletion request.
Create a canonical text-and-emoji edit.
Create one canonical private author-copy contact list.
Create a NIP-42 authentication event bound to one relay challenge.
Create a NIP-98 authorization plan bound to one exact HTTP request.
Create a NIP-98 plan from a lowercase SHA-256 computed while streaming.
Create a canonical group-subject update.
Create an ephemeral typing notification.
Create canonical private kind-0 user metadata.
Authenticate and decrypt one self-authored kind-30079 event.
Start the optional SDK-owned WSS/Noise transport for this account.
Verify that an ingestion result accounts for every requested event exactly once and contains no unknown ID.