k2-im 0.1.57 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/browser.d.ts +1 -1
- package/dist/browser.js +1 -1
- package/dist/chat-kit-pinia.d.ts +227 -170
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.d.ts +64 -44
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +244 -173
- package/dist/chat-kit.js +1 -1
- package/dist/crypto.worker.js +17 -25
- package/dist/i18n.d.ts +61 -41
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +259 -188
- package/dist/index.js +1 -1
- package/dist/modules/api-protocol-client/src/bi-feedback.js +1 -0
- package/dist/modules/api-protocol-client/src/browser.js +1 -0
- package/dist/modules/api-protocol-client/src/client.js +1 -0
- package/dist/modules/api-protocol-client/src/config.js +1 -0
- package/dist/modules/api-protocol-client/src/constants.js +1 -0
- package/dist/modules/api-protocol-client/src/json.js +1 -0
- package/dist/modules/api-protocol-client/src/nonce.js +1 -0
- package/dist/modules/api-protocol-client/src/transports/axios.js +1 -0
- package/dist/modules/api-protocol-client/src/utils.js +1 -0
- package/dist/modules/crypto/browser.js +1 -0
- package/dist/modules/crypto/driver.js +1 -0
- package/dist/modules/crypto/vendor/crypto/index_bg.js +1 -0
- package/dist/modules/im-browser/src/crypto/channel-key-service.js +1 -0
- package/dist/modules/im-browser/src/crypto/collect-tea.js +1 -0
- package/dist/modules/im-browser/src/crypto/crypto-task-executor.js +1 -0
- package/dist/modules/im-browser/src/crypto/crypto-worker-factory.js +1 -0
- package/dist/modules/im-browser/src/crypto/crypto-worker-protocol.js +1 -0
- package/dist/modules/im-browser/src/crypto/encrypt-key-service.js +1 -0
- package/dist/modules/im-browser/src/crypto/group-key-service.js +1 -0
- package/dist/modules/im-browser/src/crypto/peer-public-key-service.js +1 -0
- package/dist/modules/im-browser/src/crypto/rsa-private-key.js +1 -0
- package/dist/modules/im-browser/src/crypto/rsa-tea-crypto-adapter.js +1 -0
- package/dist/modules/im-browser/src/crypto/stale-key-refresh.js +1 -0
- package/dist/modules/im-browser/src/crypto/tea.js +1 -0
- package/dist/modules/im-browser/src/crypto/wait-for-key-signal.js +1 -0
- package/dist/modules/im-browser/src/http/application-http-adapters.js +1 -0
- package/dist/modules/im-browser/src/http/channel-http-adapter.js +1 -0
- package/dist/modules/im-browser/src/http/channel-join-application-http-adapter.js +1 -0
- package/dist/modules/im-browser/src/http/channel-member-http-adapter.js +1 -0
- package/dist/modules/im-browser/src/http/channel-mention-member-http-adapter.js +1 -0
- package/dist/modules/im-browser/src/http/cm-http-adapter.js +1 -0
- package/dist/modules/im-browser/src/http/directory-http-adapter.js +1 -0
- package/dist/modules/im-browser/src/http/expression-http-adapter.js +1 -0
- package/dist/modules/im-browser/src/http/lazy-api-protocol-client.js +1 -0
- package/dist/modules/im-browser/src/http/profile-http-adapter.js +1 -0
- package/dist/modules/im-browser/src/http/requests/applications.js +1 -0
- package/dist/modules/im-browser/src/http/requests/bind-robot-conversation.js +1 -0
- package/dist/modules/im-browser/src/http/requests/board-pinned-message-validation.js +1 -0
- package/dist/modules/im-browser/src/http/requests/channel-join-applications.js +1 -0
- package/dist/modules/im-browser/src/http/requests/channel-management.js +1 -0
- package/dist/modules/im-browser/src/http/requests/channel-members.js +1 -0
- package/dist/modules/im-browser/src/http/requests/channel-mention-members.js +1 -0
- package/dist/modules/im-browser/src/http/requests/channel-message-context.js +1 -0
- package/dist/modules/im-browser/src/http/requests/channel-mini-program-rel.js +1 -0
- package/dist/modules/im-browser/src/http/requests/channel-profile.js +1 -0
- package/dist/modules/im-browser/src/http/requests/channel-read-index.js +1 -0
- package/dist/modules/im-browser/src/http/requests/contact-blocklist.js +1 -0
- package/dist/modules/im-browser/src/http/requests/contact-friendship.js +1 -0
- package/dist/modules/im-browser/src/http/requests/contact-report.js +1 -0
- package/dist/modules/im-browser/src/http/requests/core-json-request.js +1 -0
- package/dist/modules/im-browser/src/http/requests/create-channel.js +1 -0
- package/dist/modules/im-browser/src/http/requests/create-face-to-face-group.js +1 -0
- package/dist/modules/im-browser/src/http/requests/create-group.js +1 -0
- package/dist/modules/im-browser/src/http/requests/customer-service-profile.js +1 -0
- package/dist/modules/im-browser/src/http/requests/get-board-pinned-message.js +1 -0
- package/dist/modules/im-browser/src/http/requests/get-channel-board-pinned-message.js +1 -0
- package/dist/modules/im-browser/src/http/requests/get-channel-secret-key.js +1 -0
- package/dist/modules/im-browser/src/http/requests/get-conversation-background-presets.js +1 -0
- package/dist/modules/im-browser/src/http/requests/get-group-encrypt-info.js +1 -0
- package/dist/modules/im-browser/src/http/requests/get-group-info.js +1 -0
- package/dist/modules/im-browser/src/http/requests/get-group-member-list.js +1 -0
- package/dist/modules/im-browser/src/http/requests/get-user-encrypt-info.js +1 -0
- package/dist/modules/im-browser/src/http/requests/get-user-info-friend.js +1 -0
- package/dist/modules/im-browser/src/http/requests/get-user-info-other.js +1 -0
- package/dist/modules/im-browser/src/http/requests/group-management.js +1 -0
- package/dist/modules/im-browser/src/http/requests/mark-group-read-all.js +1 -0
- package/dist/modules/im-browser/src/http/requests/membership-join.js +1 -0
- package/dist/modules/im-browser/src/http/requests/pin-board-message.js +1 -0
- package/dist/modules/im-browser/src/http/requests/pin-channel-board-message.js +1 -0
- package/dist/modules/im-browser/src/http/requests/pull-messages-by-id.js +1 -0
- package/dist/modules/im-browser/src/http/requests/pull-offline-channel.js +1 -0
- package/dist/modules/im-browser/src/http/requests/pull-offline-chat.js +1 -0
- package/dist/modules/im-browser/src/http/requests/pull-offline-group.js +1 -0
- package/dist/modules/im-browser/src/http/requests/pull-offline-signal.js +1 -0
- package/dist/modules/im-browser/src/http/requests/robot-menu-reply.js +1 -0
- package/dist/modules/im-browser/src/http/requests/robot-profile.js +1 -0
- package/dist/modules/im-browser/src/http/requests/search-robots.js +1 -0
- package/dist/modules/im-browser/src/http/requests/set-conversation-undisturb.js +1 -0
- package/dist/modules/im-browser/src/http/requests/set-friend-remark.js +1 -0
- package/dist/modules/im-browser/src/http/requests/set-group-nickname.js +1 -0
- package/dist/modules/im-browser/src/http/requests/unpin-board-message.js +1 -0
- package/dist/modules/im-browser/src/http/requests/unpin-channel-board-message.js +1 -0
- package/dist/modules/im-browser/src/http/requests/update-group-info.js +1 -0
- package/dist/modules/im-browser/src/http/session-favorite-http-adapter.js +1 -0
- package/dist/modules/im-browser/src/media/file-md5.js +1 -0
- package/dist/modules/im-browser/src/media/image-clipboard.js +1 -0
- package/dist/modules/im-browser/src/media/image-header-dimensions.js +1 -0
- package/dist/modules/im-browser/src/media/media-downloader.js +1 -0
- package/dist/modules/im-browser/src/media/media-preview-adapter.js +1 -0
- package/dist/modules/im-browser/src/media/media-preview-preparation-executor.js +1 -0
- package/dist/modules/im-browser/src/media/media-request-limiter.js +1 -0
- package/dist/modules/im-browser/src/media/media-transfer-adapter.js +1 -0
- package/dist/modules/im-browser/src/media/media-transfer-errors.js +1 -0
- package/dist/modules/im-browser/src/media/media-transfer-policy.js +1 -0
- package/dist/modules/im-browser/src/media/media-upload-credentials.js +1 -0
- package/dist/modules/im-browser/src/media/media-upload-recovery-codec.js +1 -0
- package/dist/modules/im-browser/src/media/media-upload-recovery-store.js +1 -0
- package/dist/modules/im-browser/src/media/media-upload-source-fingerprint.js +1 -0
- package/dist/modules/im-browser/src/media/s3-multipart-uploader.js +1 -0
- package/dist/modules/im-browser/src/media/xhr-upload-idle-timeout.js +1 -0
- package/dist/modules/im-browser/src/network/browser-connection-ownership.js +1 -0
- package/dist/modules/im-browser/src/network/network-monitor.js +1 -0
- package/dist/modules/im-browser/src/scheduling/yield-to-browser.js +1 -0
- package/dist/modules/im-browser/src/storage/indexed-db-storage-adapter.js +1 -0
- package/dist/modules/im-browser/src/transport/ws-transport.js +1 -0
- package/dist/modules/im-browser/src/voice/voice-amplitude.js +1 -0
- package/dist/modules/im-browser/src/voice/voice-capabilities.js +1 -0
- package/dist/modules/im-browser/src/voice/voice-codec.js +1 -0
- package/dist/modules/im-browser/src/voice/voice-errors.js +1 -0
- package/dist/modules/im-browser/src/voice/voice-playback.js +1 -0
- package/dist/modules/im-browser/src/voice/voice-player.js +1 -0
- package/dist/modules/im-browser/src/voice/voice-recorder.js +1 -0
- package/dist/modules/im-chat-kit/src/i18n/use-im-text.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/applications.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/capabilities.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/composer.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/context.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/conversation-activation.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/conversation-deletion.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/conversation-list.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/expression.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/history-return-after-send.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/media-transfer-estimate.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/media.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/message-operations.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/profile-directory.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/quoted-message.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/reaction.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/search-senders.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/search.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/session-favorites.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/session.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/thread-paging.store.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/thread-return-to-latest.js +1 -0
- package/dist/modules/im-chat-kit/src/pinia/thread.store.js +1 -0
- package/dist/modules/im-chat-kit/src/presentation/channel-mini-program-open.js +1 -0
- package/dist/modules/im-chat-kit/src/presentation/channel-mini-program-rels.js +1 -0
- package/dist/modules/im-chat-kit/src/presentation/conversation-list.js +1 -0
- package/dist/modules/im-chat-kit/src/presentation/conversation-unread.js +1 -0
- package/dist/modules/im-chat-kit/src/presentation/delayed-loading-indicator.js +1 -0
- package/dist/modules/im-chat-kit/src/presentation/media-source-priority.js +1 -0
- package/dist/modules/im-chat-kit/src/presentation/message-notification.js +1 -0
- package/dist/modules/im-chat-kit/src/presentation/message-search.js +1 -0
- package/dist/modules/im-chat-kit/src/presentation/mini-program-game-preview.js +1 -0
- package/dist/modules/im-chat-kit/src/presentation/mini-program-open-url.js +1 -0
- package/dist/modules/im-chat-kit/src/runtime/chat-runtime.js +1 -0
- package/dist/modules/im-chat-kit/src/runtime/conversation-prefetch-controller.js +1 -0
- package/dist/modules/im-chat-kit/src/runtime/media-object-url-registry.js +1 -0
- package/dist/modules/im-chat-kit/src/runtime/runtime-operation.js +1 -0
- package/dist/modules/im-chat-kit/src/services/capabilities.js +1 -0
- package/dist/modules/im-chat-kit/src/services/channel-member-management.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/channel-profile-management.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/channel-send-restriction.js +1 -0
- package/dist/modules/im-chat-kit/src/services/direct-contact-management.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/forward.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/group-member-management.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/group-profile-management.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/image-copy.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/media-file-classification.js +1 -0
- package/dist/modules/im-chat-kit/src/services/media.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/message.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/pinned-message-rules.js +1 -0
- package/dist/modules/im-chat-kit/src/services/pinned-message.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/profile-access.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/profile-directory.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/profile-display.js +1 -0
- package/dist/modules/im-chat-kit/src/services/profile.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/read.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/robot-sender-profile.js +1 -0
- package/dist/modules/im-chat-kit/src/services/search.service.js +1 -0
- package/dist/modules/im-chat-kit/src/services/send.service.js +1 -0
- package/dist/modules/im-chat-kit/src/thread/active-date.js +1 -0
- package/dist/modules/im-chat-kit/src/thread/create-thread-items.js +1 -0
- package/dist/modules/im-chat-kit/src/thread/message-locate-result.js +1 -0
- package/dist/modules/im-chat-kit/src/thread/new-message-badge.js +1 -0
- package/dist/modules/im-chat-kit/src/thread/resolve-message-body-kind.js +1 -0
- package/dist/modules/im-chat-kit/src/thread/resolve-quoted-message-presentation.js +1 -0
- package/dist/modules/im-chat-kit/src/thread/viewport-rules.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/emoji/emoji-legacy-catalog.json.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/emoji/index.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/emoji/recent.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/emoji/unicode-emoji-catalog.json.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/emoji/unicode.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/highlight.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/link.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/media-batch.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/media-dimensions.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/media-format.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/media-transfer-presentation.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/time-display.js +1 -0
- package/dist/modules/im-chat-kit/src/utils/waveform.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/ImThreadBodySwitch.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/ImThreadItems.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/ImThreadSurface.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/ImThreadViewport.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/message-renderer-registry.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/thread-idle-task.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/thread-layout-measurements.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/thread-read-actions-context.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/thread-surface-context.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/thread-viewport-context.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/thread-visibility-target-group.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/thread-visibility-targets.js +1 -0
- package/dist/modules/im-chat-kit/src/vue/thread/use-im-thread-layout-measurement.js +1 -0
- package/dist/modules/im-core/src/abort.js +1 -0
- package/dist/modules/im-core/src/cache-namespace.js +1 -0
- package/dist/modules/im-core/src/connection/backoff.js +1 -0
- package/dist/modules/im-core/src/connection/connection-manager.js +1 -0
- package/dist/modules/im-core/src/connection/heartbeat-manager.js +1 -0
- package/dist/modules/im-core/src/conversation-identity.js +1 -0
- package/dist/modules/im-core/src/diagnostics.js +1 -0
- package/dist/modules/im-core/src/event-emitter.js +1 -0
- package/dist/modules/im-core/src/login/login-handler.js +1 -0
- package/dist/modules/im-core/src/mapping/bot-sender.js +1 -0
- package/dist/modules/im-core/src/mapping/call-record-body.js +1 -0
- package/dist/modules/im-core/src/mapping/channel-message-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/channel-notify-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/channel-offline-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/channel-pinned-message-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/channel-read-position.js +1 -0
- package/dist/modules/im-core/src/mapping/contact-body.js +1 -0
- package/dist/modules/im-core/src/mapping/content-body.js +1 -0
- package/dist/modules/im-core/src/mapping/conversation.js +1 -0
- package/dist/modules/im-core/src/mapping/crypto-batch-preparation.js +1 -0
- package/dist/modules/im-core/src/mapping/customer-service-body.js +1 -0
- package/dist/modules/im-core/src/mapping/customer-service-message-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/decrypt-recovery.js +1 -0
- package/dist/modules/im-core/src/mapping/file-body.js +1 -0
- package/dist/modules/im-core/src/mapping/files-album-body.js +1 -0
- package/dist/modules/im-core/src/mapping/game-body.js +1 -0
- package/dist/modules/im-core/src/mapping/gift-body.js +1 -0
- package/dist/modules/im-core/src/mapping/group-message-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/group-notify-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/group-offline-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/image-body.js +1 -0
- package/dist/modules/im-core/src/mapping/live-room-body.js +1 -0
- package/dist/modules/im-core/src/mapping/media-album-body.js +1 -0
- package/dist/modules/im-core/src/mapping/merge.js +1 -0
- package/dist/modules/im-core/src/mapping/mes-chat-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/message-id.js +1 -0
- package/dist/modules/im-core/src/mapping/message-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/messages-by-id.js +1 -0
- package/dist/modules/im-core/src/mapping/mini-program-body.js +1 -0
- package/dist/modules/im-core/src/mapping/offline-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/pinned-message-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/profile-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/reaction-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/recall-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/red-packet-body.js +1 -0
- package/dist/modules/im-core/src/mapping/robot-body.js +1 -0
- package/dist/modules/im-core/src/mapping/robot-message-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/search-text.js +1 -0
- package/dist/modules/im-core/src/mapping/session-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/signal-offline-mapper.js +1 -0
- package/dist/modules/im-core/src/mapping/sort.js +1 -0
- package/dist/modules/im-core/src/mapping/sticker-body.js +1 -0
- package/dist/modules/im-core/src/mapping/stored-message.js +1 -0
- package/dist/modules/im-core/src/mapping/system-event-timeline-policy.js +1 -0
- package/dist/modules/im-core/src/mapping/text-segments.js +1 -0
- package/dist/modules/im-core/src/mapping/transfer-body.js +1 -0
- package/dist/modules/im-core/src/mapping/transfer-status.js +1 -0
- package/dist/modules/im-core/src/mapping/unread-divider.js +1 -0
- package/dist/modules/im-core/src/mapping/video-body.js +1 -0
- package/dist/modules/im-core/src/mapping/voice-body.js +1 -0
- package/dist/modules/im-core/src/message-flow/call/direct-call-manager.js +1 -0
- package/dist/modules/im-core/src/message-flow/call/direct-call-record.js +1 -0
- package/dist/modules/im-core/src/message-flow/call/direct-p2p-call.js +1 -0
- package/dist/modules/im-core/src/message-flow/call/group-call-manager.js +1 -0
- package/dist/modules/im-core/src/message-flow/call/group-call-record.js +1 -0
- package/dist/modules/im-core/src/message-flow/conversation-support.js +1 -0
- package/dist/modules/im-core/src/message-flow/edit/edit-frame.js +1 -0
- package/dist/modules/im-core/src/message-flow/edit/edit-manager.js +1 -0
- package/dist/modules/im-core/src/message-flow/edit/edit-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/edit/edit-strategy.js +1 -0
- package/dist/modules/im-core/src/message-flow/expression/expression-message.js +1 -0
- package/dist/modules/im-core/src/message-flow/forward/can-transmit.js +1 -0
- package/dist/modules/im-core/src/message-flow/forward/forward-content-spec.js +1 -0
- package/dist/modules/im-core/src/message-flow/forward/forward-messages.js +1 -0
- package/dist/modules/im-core/src/message-flow/game/game-message.js +1 -0
- package/dist/modules/im-core/src/message-flow/gift/gift-message.js +1 -0
- package/dist/modules/im-core/src/message-flow/live-room/live-room-message.js +1 -0
- package/dist/modules/im-core/src/message-flow/media/media-sender.js +1 -0
- package/dist/modules/im-core/src/message-flow/mini-program/mini-program-message.js +1 -0
- package/dist/modules/im-core/src/message-flow/reaction/can-react.js +1 -0
- package/dist/modules/im-core/src/message-flow/reaction/reaction-manager.js +1 -0
- package/dist/modules/im-core/src/message-flow/reaction/reaction-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/read/channel-read-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/read/channel-read-strategy.js +1 -0
- package/dist/modules/im-core/src/message-flow/read/customer-service-read-strategy.js +1 -0
- package/dist/modules/im-core/src/message-flow/read/direct-read-sync.js +1 -0
- package/dist/modules/im-core/src/message-flow/read/group-read-strategy.js +1 -0
- package/dist/modules/im-core/src/message-flow/read/read-strategy.js +1 -0
- package/dist/modules/im-core/src/message-flow/read/robot-read-strategy.js +1 -0
- package/dist/modules/im-core/src/message-flow/recall/channel-message-deletion-manager.js +1 -0
- package/dist/modules/im-core/src/message-flow/recall/recall-frame.js +1 -0
- package/dist/modules/im-core/src/message-flow/recall/recall-manager.js +1 -0
- package/dist/modules/im-core/src/message-flow/recall/recall-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/recall/recall-strategy.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/channel-application-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/channel-notify-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/channel-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/command-handler-registry.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/contact-application-answer-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/contact-application-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/direct-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/friend-action-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/group-event-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/group-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/mes-chat-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/robot-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/session-favorite-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/receive/wallet-notify-receive-handlers.js +1 -0
- package/dist/modules/im-core/src/message-flow/send/channel-outgoing-frame.js +1 -0
- package/dist/modules/im-core/src/message-flow/send/channel-send-strategy.js +1 -0
- package/dist/modules/im-core/src/message-flow/send/direct-outgoing-frame.js +1 -0
- package/dist/modules/im-core/src/message-flow/send/direct-send-strategy.js +1 -0
- package/dist/modules/im-core/src/message-flow/send/group-outgoing-frame.js +1 -0
- package/dist/modules/im-core/src/message-flow/send/group-send-strategy.js +1 -0
- package/dist/modules/im-core/src/message-flow/send/robot-outgoing-frame.js +1 -0
- package/dist/modules/im-core/src/message-flow/send/robot-send-strategy.js +1 -0
- package/dist/modules/im-core/src/message-flow/send/send-strategy-registry.js +1 -0
- package/dist/modules/im-core/src/message-flow/transfer/transfer-message.js +1 -0
- package/dist/modules/im-core/src/outbox/outbox-manager.js +1 -0
- package/dist/modules/im-core/src/packet-router.js +1 -0
- package/dist/modules/im-core/src/ports/crypto-port.js +1 -0
- package/dist/modules/im-core/src/ports/crypto-task-executor.js +1 -0
- package/dist/modules/im-core/src/ports/http-port.js +1 -0
- package/dist/modules/im-core/src/ports/media-asset-cache-port.js +1 -0
- package/dist/modules/im-core/src/push/push-registration.js +1 -0
- package/dist/modules/im-core/src/read/read-reporter.js +1 -0
- package/dist/modules/im-core/src/request-tracker.js +1 -0
- package/dist/modules/im-core/src/session-favorite-album.js +1 -0
- package/dist/modules/im-core/src/session-favorite-files.js +1 -0
- package/dist/modules/im-core/src/state/channel-permissions.js +1 -0
- package/dist/modules/im-core/src/state/channel-restriction-coordinator.js +1 -0
- package/dist/modules/im-core/src/state/domain-state.js +1 -0
- package/dist/modules/im-core/src/state/draft-store.js +1 -0
- package/dist/modules/im-core/src/state/group-restriction-coordinator.js +1 -0
- package/dist/modules/im-core/src/state/local-message-window-read-error.js +1 -0
- package/dist/modules/im-core/src/state/message-reactions.js +1 -0
- package/dist/modules/im-core/src/state/message-store.js +1 -0
- package/dist/modules/im-core/src/state/message-window-store.js +1 -0
- package/dist/modules/im-core/src/state/pinned-message-coordinator.js +1 -0
- package/dist/modules/im-core/src/state/pinned-message-store.js +1 -0
- package/dist/modules/im-core/src/state/read-store.js +1 -0
- package/dist/modules/im-core/src/state/session-sort.js +1 -0
- package/dist/modules/im-core/src/state/session-store.js +1 -0
- package/dist/modules/im-core/src/sync/channel-sync-checkpoint.js +1 -0
- package/dist/modules/im-core/src/sync/sync-manager.js +1 -0
- package/dist/modules/im-i18n/src/catalog/en-US.js +1 -0
- package/dist/modules/im-i18n/src/catalog/index.js +1 -0
- package/dist/modules/im-i18n/src/catalog/th-TH.js +1 -0
- package/dist/modules/im-i18n/src/catalog/vi-VN.js +1 -0
- package/dist/modules/im-i18n/src/catalog/zh-CN.js +1 -0
- package/dist/modules/im-i18n/src/catalog/zh-TW.js +1 -0
- package/dist/modules/im-i18n/src/create-im-i18n.js +1 -0
- package/dist/modules/im-i18n/src/format/failure.js +1 -0
- package/dist/modules/im-i18n/src/format/last-message.js +1 -0
- package/dist/modules/im-i18n/src/format/media.js +1 -0
- package/dist/modules/im-i18n/src/format/mention.js +1 -0
- package/dist/modules/im-i18n/src/format/service-text.js +1 -0
- package/dist/modules/im-i18n/src/format/system-message.js +1 -0
- package/dist/modules/im-i18n/src/internal/duration.js +1 -0
- package/dist/modules/im-i18n/src/internal/interpolate.js +1 -0
- package/dist/modules/im-i18n/src/locale.js +1 -0
- package/dist/modules/im-protocol/src/board-pinned-message.js +1 -0
- package/dist/modules/im-protocol/src/frame-codec.js +1 -0
- package/dist/modules/im-protocol/src/protobuf/gen/channel_pb.js +1 -0
- package/dist/modules/im-protocol/src/protobuf/gen/group_pb.js +1 -0
- package/dist/modules/im-protocol/src/protobuf/gen/im.app.msg_pb.js +1 -0
- package/dist/modules/im-protocol/src/protobuf/gen/im.channel_pb.js +1 -0
- package/dist/modules/im-protocol/src/protobuf/gen/im.group_pb.js +1 -0
- package/dist/modules/im-protocol/src/protobuf/gen/im.login_pb.js +1 -0
- package/dist/modules/im-protocol/src/protobuf/gen/im.msg_pb.js +1 -0
- package/dist/modules/im-protocol/src/protobuf/gen/im.pub_pb.js +1 -0
- package/dist/modules/im-protocol/src/protobuf/gen/im.robot_pb.js +1 -0
- package/dist/modules/im-protocol/src/protobuf/gen/im.sig_pb.js +1 -0
- package/dist/modules/im-protocol/src/protobuf/gen/msg_pb.js +1 -0
- package/dist/modules/im-protocol/src/protobuf/registry.js +1 -0
- package/dist/modules/im-sdk/src/cache-prefix-migration.js +1 -0
- package/dist/modules/im-sdk/src/create-im-client.js +1 -0
- package/dist/modules/im-sdk/src/domains/channel.js +1 -0
- package/dist/modules/im-sdk/src/domains/contact.js +1 -0
- package/dist/modules/im-sdk/src/domains/conversation.js +1 -0
- package/dist/modules/im-sdk/src/domains/group.js +1 -0
- package/dist/modules/im-sdk/src/domains/media-byte-computation.js +1 -0
- package/dist/modules/im-sdk/src/domains/media.js +1 -0
- package/dist/modules/im-sdk/src/domains/message.js +1 -0
- package/dist/modules/im-sdk/src/domains/pinned-message-source.js +1 -0
- package/dist/modules/im-sdk/src/domains/pinned-message.js +1 -0
- package/dist/modules/im-sdk/src/domains/session.js +1 -0
- package/dist/modules/im-sdk/src/product/applications.js +1 -0
- package/dist/modules/im-sdk/src/product/calls.js +1 -0
- package/dist/modules/im-sdk/src/product/capabilities.js +1 -0
- package/dist/modules/im-sdk/src/product/channel-mention-candidates.js +1 -0
- package/dist/modules/im-sdk/src/product/conversation-background.js +1 -0
- package/dist/modules/im-sdk/src/product/conversation-entry-unread.js +1 -0
- package/dist/modules/im-sdk/src/product/conversation-handle.js +1 -0
- package/dist/modules/im-sdk/src/product/conversations.js +1 -0
- package/dist/modules/im-sdk/src/product/customer-service.js +1 -0
- package/dist/modules/im-sdk/src/product/diagnostic-memory-buffer.js +1 -0
- package/dist/modules/im-sdk/src/product/diagnostics.js +1 -0
- package/dist/modules/im-sdk/src/product/directory.js +1 -0
- package/dist/modules/im-sdk/src/product/draft.js +1 -0
- package/dist/modules/im-sdk/src/product/emoji-catalog.js +1 -0
- package/dist/modules/im-sdk/src/product/emoji-catalog.json.js +1 -0
- package/dist/modules/im-sdk/src/product/events.js +1 -0
- package/dist/modules/im-sdk/src/product/expressions.js +1 -0
- package/dist/modules/im-sdk/src/product/face-to-face-group.js +1 -0
- package/dist/modules/im-sdk/src/product/group-calls.js +1 -0
- package/dist/modules/im-sdk/src/product/image-format.js +1 -0
- package/dist/modules/im-sdk/src/product/local-data.js +1 -0
- package/dist/modules/im-sdk/src/product/media.js +1 -0
- package/dist/modules/im-sdk/src/product/mention.js +1 -0
- package/dist/modules/im-sdk/src/product/message.js +1 -0
- package/dist/modules/im-sdk/src/product/messages-by-id.js +1 -0
- package/dist/modules/im-sdk/src/product/outbox.js +1 -0
- package/dist/modules/im-sdk/src/product/profiles.js +1 -0
- package/dist/modules/im-sdk/src/product/resource-uploader.js +1 -0
- package/dist/modules/im-sdk/src/product/robots.js +1 -0
- package/dist/modules/im-sdk/src/product/search.js +1 -0
- package/dist/modules/im-sdk/src/product/session-favorites.js +1 -0
- package/dist/modules/im-sdk/src/product/settings.js +1 -0
- package/dist/modules/im-sdk/src/runtime/advanced-message-diagnostics.js +1 -0
- package/dist/modules/im-sdk/src/runtime/channel-read-summary-refresh.js +1 -0
- package/dist/modules/im-sdk/src/runtime/customer-service-legacy-recovery.js +1 -0
- package/dist/modules/im-sdk/src/runtime/decrypt-diagnostics.js +1 -0
- package/dist/modules/im-sdk/src/runtime/foreground-work-coordinator.js +1 -0
- package/dist/modules/im-sdk/src/runtime/group-history-page-boundary.js +1 -0
- package/dist/modules/im-sdk/src/runtime/key-prefetch.js +1 -0
- package/dist/modules/im-sdk/src/runtime/local-media-preview.js +1 -0
- package/dist/modules/im-sdk/src/runtime/media-cache-maintenance.js +1 -0
- package/dist/modules/im-sdk/src/runtime/media-upload-recovery.js +1 -0
- package/dist/modules/im-sdk/src/runtime/protobuf-wire-shape.js +1 -0
- package/dist/modules/im-sdk/src/runtime/receiving-activity.js +1 -0
- package/dist/modules/im-sdk/src/runtime/recent-history-fetcher.js +1 -0
- package/dist/modules/im-sdk/src/runtime/recent-history-prefetch.js +1 -0
- package/dist/modules/im-sdk/src/runtime/session-http-clients.js +1 -0
- package/dist/modules/im-sdk/src/runtime/session-runtime.js +1 -0
- package/dist/modules/im-sdk/src/runtime/signal-offline-poller.js +1 -0
- package/dist/request-crypto.js +1 -1
- package/dist/sdk.d.ts +170 -111
- package/dist/sdk.js +1 -1
- package/package.json +2 -2
- package/dist/browser-2MUNHRDS.js +0 -1
- package/dist/browser-RTCHWSQ2.js +0 -2
- package/dist/chunk-2OCWQHFJ.js +0 -2
- package/dist/chunk-46ARFR7U.js +0 -8
- package/dist/chunk-HQDLYL3K.js +0 -2
- package/dist/chunk-IC6HI33O.js +0 -1
- package/dist/chunk-IDECJJXC.js +0 -0
- package/dist/chunk-J3TLOAQI.js +0 -2
- package/dist/chunk-Q2DEFN53.js +0 -1
- package/dist/chunk-SXY56EVC.js +0 -0
- package/dist/chunk-WL3NFQ7Y.js +0 -1
- package/dist/chunk-WOT6VMZA.js +0 -1
- package/dist/chunk-WS7BWP7C.js +0 -1
package/dist/sdk.d.ts
CHANGED
|
@@ -9,8 +9,8 @@ interface MediaTransferProgress {
|
|
|
9
9
|
phase?: 'transferring' | 'finalizing';
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
/**
|
|
13
|
-
type ConversationType = 'direct' | 'group' | 'channel' | 'supergroup' | 'robot';
|
|
12
|
+
/** 会话类型;各类型分别处理权限、收发和历史。supergroup 仅预留类型,尚未提供业务实现。 */
|
|
13
|
+
type ConversationType = 'direct' | 'group' | 'channel' | 'supergroup' | 'robot' | 'customerService';
|
|
14
14
|
/**
|
|
15
15
|
* 会话复合身份;`conversationId` 只在对应 `conversationType` 的领域内唯一。
|
|
16
16
|
*
|
|
@@ -47,8 +47,8 @@ interface ConversationDraft$1 {
|
|
|
47
47
|
attachments: readonly [];
|
|
48
48
|
updatedAt: number;
|
|
49
49
|
}
|
|
50
|
-
/** 消息内容类型。sticker=表情/贴图(BMessage contentType=7);call=单聊通话记录(contentType=10);transfer=转账(contentType=16);gift=礼品/刮刮卡(contentType=17);robot=机器人卡片(contentType=18);miniProgram=小程序分享卡(contentType=22);redPacket=红包卡(contentType=25);game=小游戏(contentType=27);liveRoom=直播间分享(contentType=30);未知 wire
|
|
51
|
-
type MessageContentType = 'text' | 'system' | 'image' | 'video' | 'voice' | 'file' | 'sticker' | 'contact' | 'miniProgram' | 'game' | 'transfer' | 'gift' | 'call' | 'redPacket' | 'mediaAlbum' | 'filesAlbum' | 'robot' | 'liveRoom' | 'unknown';
|
|
50
|
+
/** 消息内容类型。sticker=表情/贴图(BMessage contentType=7);call=单聊通话记录(contentType=10);transfer=转账(contentType=16);gift=礼品/刮刮卡(contentType=17);robot=机器人卡片(contentType=18);miniProgram=小程序分享卡(contentType=22);redPacket=红包卡(contentType=25);game=小游戏(contentType=27);liveRoom=直播间分享(contentType=30);未知 wire 正文统一转换为 unknown。 */
|
|
51
|
+
type MessageContentType = 'text' | 'system' | 'image' | 'video' | 'voice' | 'file' | 'sticker' | 'contact' | 'miniProgram' | 'game' | 'transfer' | 'gift' | 'call' | 'redPacket' | 'mediaAlbum' | 'filesAlbum' | 'robot' | 'liveRoom' | 'customerService' | 'unknown';
|
|
52
52
|
/**
|
|
53
53
|
* 发送态(客户端态):消息从本地创建到服务端确认的生命周期。
|
|
54
54
|
* `uploading` 仅媒体消息使用:文件上传阶段(uploading→pending→sending→sent);
|
|
@@ -88,10 +88,10 @@ interface ImSystemMessageBody {
|
|
|
88
88
|
pinnedMessageAction?: ImPinnedMessageAction;
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
91
|
-
*
|
|
92
|
-
* `system`
|
|
93
|
-
* EXPRESSION
|
|
94
|
-
*
|
|
91
|
+
* 会话最后一条消息的语义摘要,供存储和 im-i18n 展示使用。
|
|
92
|
+
* `system` 保存解析后的 ImSystemMessageBody,formatSystemMessage 在展示时接收 selfId。
|
|
93
|
+
* EXPRESSION 按 imageType 区分 gif 与静态 sticker。
|
|
94
|
+
* 与 lastMessagePreview 同时保存;变化检查逐字段调用 lastMessageSummaryEqual,不比较对象引用。
|
|
95
95
|
*/
|
|
96
96
|
type LastMessageSummary = {
|
|
97
97
|
kind: 'text';
|
|
@@ -287,7 +287,7 @@ interface ImVoiceBody {
|
|
|
287
287
|
teaKey?: Uint8Array;
|
|
288
288
|
/** 文件加密类型:0=跟随消息,1=不加密,3=完整 TEA(BMessage.fileEncryptType;语音与图片/视频同走完整 TEA)。 */
|
|
289
289
|
fileEncryptType?: number;
|
|
290
|
-
/** 录音振幅波形(0-255
|
|
290
|
+
/** 录音振幅波形(0-255):仅发送端本地展示缓存(随消息写入本地存储、刷新后仍可画波形),**不写入 BMessage**(协议无波形字段)。 */
|
|
291
291
|
waveform?: number[];
|
|
292
292
|
}
|
|
293
293
|
/**
|
|
@@ -394,7 +394,7 @@ interface ImRobotImageGroupModule {
|
|
|
394
394
|
/**
|
|
395
395
|
* 机器人卡片倒计时。
|
|
396
396
|
*
|
|
397
|
-
* `endTimeMs`
|
|
397
|
+
* `endTimeMs` 已转换为 epoch 毫秒;wire 秒/毫秒混用只在 mapper 转换,宿主不要再猜单位。
|
|
398
398
|
*/
|
|
399
399
|
interface ImRobotCountdownModule {
|
|
400
400
|
type: 'countdown';
|
|
@@ -487,10 +487,10 @@ interface ImGiftBody {
|
|
|
487
487
|
benCount?: string;
|
|
488
488
|
fissionNumber?: string;
|
|
489
489
|
}
|
|
490
|
-
/**
|
|
490
|
+
/** 通话媒体类型;各端 wire 0/1 的不同含义已转换成统一业务值,宿主无需读取 raw callType。 */
|
|
491
491
|
type ImCallKind = 'audio' | 'video';
|
|
492
492
|
/**
|
|
493
|
-
* 通话结束结果。Android 跨端同步把未接与取消都写成 callStatus=0
|
|
493
|
+
* 通话结束结果。Android 跨端同步把未接与取消都写成 callStatus=0,只能转换为 missed。
|
|
494
494
|
* `unknown` 仅表示该端 status 数字无法识别,不得猜成 completed。
|
|
495
495
|
*/
|
|
496
496
|
type ImCallOutcome = 'missed' | 'rejected' | 'cancelled' | 'completed' | 'busy' | 'no-permission' | 'interrupted' | 'unknown';
|
|
@@ -498,7 +498,7 @@ type ImCallOutcome = 'missed' | 'rejected' | 'cancelled' | 'completed' | 'busy'
|
|
|
498
498
|
* 单聊通话记录正文(contentType==='call',协议 BMessage.contentType=10)。
|
|
499
499
|
*
|
|
500
500
|
* @remarks JSON 在 BMessage.content。Android 本地 / Android 跨端同步 / iOS 三套字段名与 0/1 含义不同,
|
|
501
|
-
*
|
|
501
|
+
* 仅由 mapping/call-record-body 转换成统一业务值。记录由各端本地插入,不能当普通聊天发出。
|
|
502
502
|
*/
|
|
503
503
|
interface ImCallRecordBody {
|
|
504
504
|
callKind: ImCallKind;
|
|
@@ -525,7 +525,7 @@ type ImRedPacketType = 1 | 2 | 3 | 4;
|
|
|
525
525
|
* @remarks 字段来自 proto 72-79 + 复用 34/35/38/49。领域名 `packetId` 对应 wire `rad_packet_id`。
|
|
526
526
|
* 金额保持 proto string,单位是否微单位未证实,禁止默认套转账 ×1e6。
|
|
527
527
|
* HTTP 详情状态与本地「自己已领」属于宿主投影,不进本 DTO(status 39 / state 53 未裁定)。
|
|
528
|
-
*
|
|
528
|
+
* 当前不提供 `sendRedPacket`;出站字段仅用于 codec 往返闭合。
|
|
529
529
|
*/
|
|
530
530
|
interface ImRedPacketBody {
|
|
531
531
|
packetId: string;
|
|
@@ -545,7 +545,7 @@ interface ImRedPacketBody {
|
|
|
545
545
|
type ImContactKind = 'individual' | 'group' | 'channel' | 'robot' | 'unknown';
|
|
546
546
|
/**
|
|
547
547
|
* 名片消息内容体(contentType==='contact')。字段来自 BMessage contentType=8,但使用领域友好命名:
|
|
548
|
-
* id/icon/name
|
|
548
|
+
* id/icon/name 分别转换为 targetId/avatar/displayName;visitCardKey 转换为 kind,未知值放 rawKind。
|
|
549
549
|
*/
|
|
550
550
|
interface ImContactBody {
|
|
551
551
|
/** 被分享对象 id:个人 userId、普通群 groupId、频道 id 或机器人 id。 */
|
|
@@ -577,7 +577,7 @@ interface UnknownMessageBody {
|
|
|
577
577
|
* 若干项共享消息级的撤回、已读、引用与转发语义。
|
|
578
578
|
*/
|
|
579
579
|
interface ImMediaAlbumItem {
|
|
580
|
-
/** 该项是图片还是视频;由协议
|
|
580
|
+
/** 该项是图片还是视频;由协议 mediaType 转换,无法识别的项会在解析时丢弃。 */
|
|
581
581
|
kind: 'image' | 'video';
|
|
582
582
|
/** 远端地址。加密项也是这个地址,解密用本项自己的 `teaKey`。 */
|
|
583
583
|
url: string;
|
|
@@ -659,8 +659,28 @@ interface ImLiveRoomBody {
|
|
|
659
659
|
/** 点赞数十进制字符串,保持协议原文,不在 Core 换算。 */
|
|
660
660
|
liveRoomLikes?: string;
|
|
661
661
|
}
|
|
662
|
+
/** 客服正文保留一条消息内的全部附件;图片和文件各自保持服务端顺序。 */
|
|
663
|
+
interface ImCustomerServiceBody {
|
|
664
|
+
/** 原始文字;空白不被当作不存在。 */
|
|
665
|
+
text: string;
|
|
666
|
+
/** 图片直达地址,不套用普通消息的加密文件结构。 */
|
|
667
|
+
images: readonly string[];
|
|
668
|
+
/** 文件与名称、大小按协议数组索引配对,不创建伪消息 ID。 */
|
|
669
|
+
files: readonly ImCustomerServiceFile[];
|
|
670
|
+
}
|
|
671
|
+
/** 客服文件元数据。大小是服务端展示文字,不能据此认定下载完整。 */
|
|
672
|
+
interface ImCustomerServiceFile {
|
|
673
|
+
/** 服务端给出的资源地址。 */
|
|
674
|
+
url: string;
|
|
675
|
+
/** 服务端名称;缺省时从 URL 最后一个路径片段提取。 */
|
|
676
|
+
name: string;
|
|
677
|
+
/** 可缺省的原始大小描述,例如 1.5MB,并非精确字节数。 */
|
|
678
|
+
sizeLabel?: string;
|
|
679
|
+
}
|
|
662
680
|
interface ImMessageBody {
|
|
663
|
-
/**
|
|
681
|
+
/** 客服专用复合正文;不能直接作为普通消息发送。 */
|
|
682
|
+
customerService?: ImCustomerServiceBody;
|
|
683
|
+
/** 文本内容(明文,解密后的结果)。 */
|
|
664
684
|
text?: string;
|
|
665
685
|
/** contentType==='system' 时的结构化系统提示体(群通知;text 忽略)。 */
|
|
666
686
|
system?: ImSystemMessageBody;
|
|
@@ -710,7 +730,7 @@ interface MentionRange {
|
|
|
710
730
|
end: number;
|
|
711
731
|
}
|
|
712
732
|
/**
|
|
713
|
-
* 群消息 @ 提及(Android
|
|
733
|
+
* 群消息 @ 提及(Android 三写载体的统一解析):`atAll`(MESGrpChat.nNotifyCount=-1)、`atUserIds`(sNotifyUsers 被 @ 成员,
|
|
714
734
|
* 含正文 token 读边界补全)、`ranges`(extend.atRange,可选、仅诊断/兼容——展示**不依赖其坐标**)。正文 `body.text` 保留 `[userId]` token 原样(真相不变);
|
|
715
735
|
* **展示权威来源 = 正文 token + atUserIds/atAll**,由纯函数 `resolveMentionSegments` 还原为高亮段(含 @昵称/@所有人/@我),UI 不自行解析。
|
|
716
736
|
*/
|
|
@@ -732,21 +752,21 @@ type ImMessageFailureReason = 'timeout' | 'rejected' | 'encrypt_failed' | 'netwo
|
|
|
732
752
|
*/
|
|
733
753
|
type ImFailureDisplayCode = 'media.empty' | 'media.noCrypto' | 'media.previewFailed' | 'media.encryptFailed' | 'media.resumeUnavailable' | 'media.cleanupUnconfirmed' | 'media.uploadFailed' | 'media.uploadTimeout' | 'media.cancelled' | 'media.invalidDuration' | 'media.uploadInterrupted' | 'media.contentTooLarge' | 'contactRequired' | 'messageRefused' | 'forbiddenOrLeft' | 'contentRejected' | 'groupDismissed' | 'groupUnavailable' | 'channelDismissed' | 'channelMuted' | 'channelNotMember' | 'channelAdminRequired' | 'conversationUnsupported' | 'sendCanceled' | 'sessionLoggedOut' | 'timeout' | 'network' | 'unknown';
|
|
734
754
|
interface ImMessageFailure {
|
|
735
|
-
/**
|
|
755
|
+
/** 转换后的错误码(来自 MESChatAck.errcode 或本地失败码,本地码用负值)。 */
|
|
736
756
|
code: number;
|
|
737
757
|
/** 失败机器分类(重试 / fail-fast / 统计消费)。 */
|
|
738
758
|
reason: ImMessageFailureReason;
|
|
739
|
-
/**
|
|
759
|
+
/** 失败展示语义码:UI 经 im-i18n 按语言渲染,缺省时使用 message;不单独触发消息状态更新。 */
|
|
740
760
|
displayCode?: ImFailureDisplayCode;
|
|
741
|
-
/** 展示模板参数(如未支持会话类型的 type
|
|
761
|
+
/** 展示模板参数(如未支持会话类型的 type);不单独触发消息状态更新。 */
|
|
742
762
|
params?: Record<string, string | number>;
|
|
743
763
|
/** 媒体失败的媒体类型(图片/视频/语音/文件):供 displayCode 为 media.* 时渲染 label。 */
|
|
744
764
|
mediaKind?: MediaKind;
|
|
745
|
-
/**
|
|
765
|
+
/** 后端原文或诊断文案;没有专门展示码时用于展示,不单独触发消息状态更新(见 merge.failureEqual)。 */
|
|
746
766
|
message?: string;
|
|
747
767
|
/**
|
|
748
768
|
* 是否可重试(false=业务级不可重试):如 direct 非好友或 GROUP 不在群(0x8201)、内容为空/违规(0x8202)、群已解散(0x8315)→ UI 隐藏「重发」。
|
|
749
|
-
* 缺省(undefined)视为可重试(向后兼容)。由 code 决定(classifyAckFailure
|
|
769
|
+
* 缺省(undefined)视为可重试(向后兼容)。由 code 决定(classifyAckFailure),不单独触发消息状态更新。
|
|
750
770
|
*/
|
|
751
771
|
retryable?: boolean;
|
|
752
772
|
}
|
|
@@ -789,7 +809,7 @@ interface MediaTaskUpdate {
|
|
|
789
809
|
failure?: ImMessageFailure;
|
|
790
810
|
}
|
|
791
811
|
interface ImMessageEncryption {
|
|
792
|
-
/**
|
|
812
|
+
/** true=消息密文链路, false=明文链路(encrypt=0)。 */
|
|
793
813
|
encrypted: boolean;
|
|
794
814
|
/** 扩展:加密方案标识,默认 'rsa-tea'。 */
|
|
795
815
|
scheme?: 'rsa-tea';
|
|
@@ -798,16 +818,16 @@ interface ImMessageEncryption {
|
|
|
798
818
|
}
|
|
799
819
|
/** 单条消息领域模型(§4.1)。主键为客户端生成的 id(无 serverId)。 */
|
|
800
820
|
interface ImMessage {
|
|
801
|
-
/**
|
|
821
|
+
/** 客户端生成的稳定消息 ID(UUID),同时作幂等键;刷新后保持。 */
|
|
802
822
|
id: string;
|
|
803
|
-
/**
|
|
823
|
+
/** 消息所属会话的字符串 ID;必须结合 conversationType 使用。 */
|
|
804
824
|
conversationId: string;
|
|
805
825
|
conversationType: ConversationType;
|
|
806
|
-
/**
|
|
826
|
+
/** 发送者的字符串用户 ID。 */
|
|
807
827
|
senderId: string;
|
|
808
828
|
contentType: MessageContentType;
|
|
809
829
|
body: ImMessageBody;
|
|
810
|
-
/**
|
|
830
|
+
/** 统一毫秒 number(本地创建时间,乐观渲染用)。 */
|
|
811
831
|
createdAt: number;
|
|
812
832
|
/** SDK 内部排序键;有效服务端时间优先,ACK 后可以更新。宿主不解析它,消息身份始终使用 id。 */
|
|
813
833
|
sortKey: string;
|
|
@@ -816,7 +836,7 @@ interface ImMessage {
|
|
|
816
836
|
failure?: ImMessageFailure;
|
|
817
837
|
/** 服务端回传的 epoch 毫秒时间;有效时用于正式排序与展示,createdAt 仍保留创建记录。 */
|
|
818
838
|
serverTime?: number;
|
|
819
|
-
/**
|
|
839
|
+
/** 默认 'unread'。 */
|
|
820
840
|
receipt: MessageReceipt;
|
|
821
841
|
/** 离线单聊服务端标记当前账号已在其它端读过;仅用于本地未读投影,不改变对端回执 receipt。 */
|
|
822
842
|
readBySelf?: boolean;
|
|
@@ -849,7 +869,7 @@ interface ImMessage {
|
|
|
849
869
|
/** 扩展位:后端新增语义先落这里,避免污染核心字段。 */
|
|
850
870
|
extensions?: Record<string, unknown>;
|
|
851
871
|
/**
|
|
852
|
-
* 诊断快照(§4.1
|
|
872
|
+
* 诊断快照(§4.1 诊断口径):后端下发的原始协议字段(已转换为可 JSON 序列化形态)。
|
|
853
873
|
* 默认不填充,仅当映射开启 keepRaw 时附带,便于联调、与后端核对原始下发;不参与任何业务逻辑。
|
|
854
874
|
*/
|
|
855
875
|
raw?: ImMessageRaw;
|
|
@@ -966,17 +986,17 @@ type ChannelSessionState = 'active' | 'guest' | 'left' | 'removed' | 'dismissed'
|
|
|
966
986
|
interface ImSession {
|
|
967
987
|
id: string;
|
|
968
988
|
type: ConversationType;
|
|
969
|
-
/**
|
|
989
|
+
/** 由映射层从用户/群资料补齐。 */
|
|
970
990
|
title: string;
|
|
971
991
|
avatar?: string;
|
|
972
992
|
/**
|
|
973
|
-
*
|
|
993
|
+
* 会话最后一条的预览串(**已收窄**):仅承载 text 消息的正文(供会话列表 previewSegments 解析 @/表情,需原始正文串);
|
|
974
994
|
* 媒体 / 加密 / 系统 / 撤回一律空串——其语义改由 lastMessageSummary 承载、UI 经 im-i18n 渲染。旧盘遗留的中文占位在 hydrate / projectSession 重算时清空。
|
|
975
995
|
*/
|
|
976
996
|
lastMessagePreview: string;
|
|
977
997
|
/**
|
|
978
|
-
*
|
|
979
|
-
*
|
|
998
|
+
* 最后一条消息的语义摘要,持久保存并由 im-i18n 按语言生成文案。
|
|
999
|
+
* 与 lastMessagePreview 同时保存,变化检查使用逐字段比较;旧会话缺此字段时可使用 lastMessagePreview。
|
|
980
1000
|
*/
|
|
981
1001
|
lastMessageSummary?: LastMessageSummary;
|
|
982
1002
|
/** 最后一条消息发送者 id(群会话列表预览「发送者名: 内容」前缀用;`'system'`=系统提示、==自己=我发的,前缀策略由宿主定)。 */
|
|
@@ -1000,7 +1020,7 @@ interface ImSession {
|
|
|
1000
1020
|
* 会话内容仍显示最新一条消息。收到别人 @我 +1、查看/已读该会话清零。投影自 ReadState.mentionUnreadCount,与 unreadCount 同源持久化。
|
|
1001
1021
|
*/
|
|
1002
1022
|
mentionUnreadCount?: number;
|
|
1003
|
-
/**
|
|
1023
|
+
/** 排序时间(毫秒 number)。 */
|
|
1004
1024
|
timestamp: number;
|
|
1005
1025
|
/**
|
|
1006
1026
|
* 用户手工添加的本地“稍后处理”提醒。
|
|
@@ -1016,7 +1036,7 @@ interface ImSession {
|
|
|
1016
1036
|
topTime?: number;
|
|
1017
1037
|
/**
|
|
1018
1038
|
* 最新一条消息若为「己方且未完成发送」的态:'sending'(pending/uploading/sending 统一)/ 'failed'。
|
|
1019
|
-
* 派生展示字段(随最新消息变化,会话列表据此显示发送中 loading / 失败图标);运行期真相,不持久化(persistSession
|
|
1039
|
+
* 派生展示字段(随最新消息变化,会话列表据此显示发送中 loading / 失败图标);运行期真相,不持久化(persistSession 写入本地存储时剔除)。
|
|
1020
1040
|
*/
|
|
1021
1041
|
lastMessageSendState?: 'sending' | 'failed';
|
|
1022
1042
|
/**
|
|
@@ -1024,11 +1044,11 @@ interface ImSession {
|
|
|
1024
1044
|
*
|
|
1025
1045
|
* 只在自己发出且 `status='sent'` 时投影;发送中/失败、对端消息、撤回、全员删除和系统提示都不给。
|
|
1026
1046
|
* `delivered` 与尚未回执一样投影为 `unread`;当前协议没有送达通知,不能把 `sent` 当作对端已收到。
|
|
1027
|
-
*
|
|
1047
|
+
* 该字段随最新消息变化,并随会话写入本地存储,避免冷启动后
|
|
1028
1048
|
* 因「盘中缺字段 / 内存有字段」反复广播;对端已读变化必须刷新会话行。
|
|
1029
1049
|
*/
|
|
1030
1050
|
lastMessageReceipt?: 'unread' | 'read';
|
|
1031
|
-
/**
|
|
1051
|
+
/** 我方已读游标(见 §4.3)。 */
|
|
1032
1052
|
readCursor?: string;
|
|
1033
1053
|
/** 群受限状态(仅 group;来自 0x2204 群通知 side-effect)。缺省视为 'active'(可正常发送)。 */
|
|
1034
1054
|
groupState?: GroupSessionState;
|
|
@@ -1059,12 +1079,12 @@ interface OutboxUpdate {
|
|
|
1059
1079
|
}
|
|
1060
1080
|
/** 发送队列项(§4.4)。id 复用对应 ImMessage.id 以保证重试幂等。 */
|
|
1061
1081
|
interface OutboxMessage {
|
|
1062
|
-
/**
|
|
1082
|
+
/** == 对应 ImMessage.id(客户端生成,重试时复用以保证幂等)。 */
|
|
1063
1083
|
id: string;
|
|
1064
1084
|
conversationId: string;
|
|
1065
1085
|
conversationType: ConversationType;
|
|
1066
1086
|
contentType: MessageContentType;
|
|
1067
|
-
/**
|
|
1087
|
+
/** 待发送内容(明文;加密在发送管线内按 encryption 处理)。 */
|
|
1068
1088
|
body: ImMessageBody;
|
|
1069
1089
|
/** 群 @ 提及(发送侧:宿主从输入框提取;正文 body.text 已含 [userId] token / @所有人 文字,本字段供群发送策略编码 sNotifyUsers/nNotifyCount/extend)。仅群 @ 消息有。 */
|
|
1070
1090
|
mention?: ImMessageMention;
|
|
@@ -1078,7 +1098,7 @@ interface OutboxMessage {
|
|
|
1078
1098
|
/**
|
|
1079
1099
|
* 复发策略(生命周期 logout 语义):`automatic`(默认,缺省视同)= onAuthenticated/断线重连时自动复发;
|
|
1080
1100
|
* `manual` = 仅用户显式 retry 才发(logout 时把在途消息置 manual,避免退账号后下次登录无提示自动补发)。
|
|
1081
|
-
*
|
|
1101
|
+
* 持久化随账本写入本地存储,故 logout(preserve)→重登后仍为 manual,不被自动复发;retry 会翻回 automatic。缺省(旧账本)按 automatic 处理(向后兼容)。
|
|
1082
1102
|
*/
|
|
1083
1103
|
resumePolicy?: 'automatic' | 'manual';
|
|
1084
1104
|
}
|
|
@@ -1131,7 +1151,7 @@ interface ContactRemarkPhone {
|
|
|
1131
1151
|
countryCode: string;
|
|
1132
1152
|
mobile: string;
|
|
1133
1153
|
}
|
|
1134
|
-
/** 用户资料领域模型(§4.5)。由 ImProfilePort
|
|
1154
|
+
/** 用户资料领域模型(§4.5)。由 ImProfilePort 拉取、映射层转换字段。 */
|
|
1135
1155
|
interface UserProfile {
|
|
1136
1156
|
id: string;
|
|
1137
1157
|
/** 用户自设昵称(后端 `nick_name`)。 */
|
|
@@ -1156,7 +1176,7 @@ interface UserProfile {
|
|
|
1156
1176
|
remarkPhones?: ContactRemarkPhone[];
|
|
1157
1177
|
/** 扩展:消息加密公钥来源(§7 复用)。 */
|
|
1158
1178
|
publicKey?: string;
|
|
1159
|
-
/** 会话免打扰态(好友关系 `is_undisturb`
|
|
1179
|
+
/** 会话免打扰态(好友关系 `is_undisturb` 转换为布尔值):仅好友资料返回,供领域层回填 `ImSession.muted` 做多端/冷启动恢复;非好友无此字段(undefined,不覆盖本地)。 */
|
|
1160
1180
|
muted?: boolean;
|
|
1161
1181
|
extensions?: Record<string, unknown>;
|
|
1162
1182
|
}
|
|
@@ -1172,11 +1192,11 @@ interface GroupProfile {
|
|
|
1172
1192
|
verifyWay?: number;
|
|
1173
1193
|
/** 普通群邀请码;仅 `verifyWay === 4` 时有业务意义。 */
|
|
1174
1194
|
inviteCode?: string;
|
|
1175
|
-
/** 群状态(后端 status
|
|
1195
|
+
/** 群状态(后端 status,具体值语义待后端明确):保留不丢弃,供「普通成员感知群解散」兜底(解散仅通知群主)。 */
|
|
1176
1196
|
status?: number;
|
|
1177
|
-
/** 当前用户是否在群(后端 is_ingroup:false
|
|
1197
|
+
/** 当前用户是否在群(后端 is_ingroup:false=已不在群,被踢/退群的兜底禁发来源)。 */
|
|
1178
1198
|
isInGroup?: boolean;
|
|
1179
|
-
/** 当前用户对该群的免打扰态(`to_user.is_undisturb`
|
|
1199
|
+
/** 当前用户对该群的免打扰态(`to_user.is_undisturb` 转换为布尔值):供领域层回填 `ImSession.muted` 恢复;缺省(undefined)表示后端未返回,不覆盖本地。 */
|
|
1180
1200
|
muted?: boolean;
|
|
1181
1201
|
/** 扩展位:members[] 等明细留扩展。 */
|
|
1182
1202
|
extensions?: Record<string, unknown>;
|
|
@@ -1288,9 +1308,9 @@ interface ChannelProfile {
|
|
|
1288
1308
|
/** CHANNEL 独立访问限制事实;browser 新映射必须提供,legacy storage 可能缺失。 */
|
|
1289
1309
|
accessSnapshot?: ChannelAccessSnapshot;
|
|
1290
1310
|
muted?: boolean;
|
|
1291
|
-
/**
|
|
1311
|
+
/** 服务端频道类型转换后的业务值;不得用它把频道改路由到 `supergroup`。 */
|
|
1292
1312
|
channelKind?: string;
|
|
1293
|
-
/**
|
|
1313
|
+
/** 本地密钥缓存操作编号/服务端未来版本的非敏感标识;不承载 secret_key。 */
|
|
1294
1314
|
secretKeyVersion?: string;
|
|
1295
1315
|
/** `/user_radio/list` 的资料增量版本;与 secretKeyVersion 无关。 */
|
|
1296
1316
|
updateVersion?: string;
|
|
@@ -1320,7 +1340,7 @@ interface ChannelMemberPage {
|
|
|
1320
1340
|
}
|
|
1321
1341
|
/** CHANNEL @ 选择器返回的用户项;专用 UserInfo 协议不提供角色,不得写入 role-rich 成员缓存。 */
|
|
1322
1342
|
interface ChannelMentionMember {
|
|
1323
|
-
/**
|
|
1343
|
+
/** 用户 ID,以字符串表示;来自 `/user_radio/member/*` 的 `user_id`。 */
|
|
1324
1344
|
userId: string;
|
|
1325
1345
|
/** CHANNEL @ 面板展示名;按频道昵称、全局昵称、协议备用名、用户 ID 的顺序降级。 */
|
|
1326
1346
|
displayName: string;
|
|
@@ -1353,7 +1373,7 @@ interface ImError {
|
|
|
1353
1373
|
* 诊断日志钩子(§5.3,可选):宿主注入以观察核心诊断(如 ACK 原始 errcode)。
|
|
1354
1374
|
* core 不内置 console;不注入则不产生诊断输出。
|
|
1355
1375
|
*/
|
|
1356
|
-
/**
|
|
1376
|
+
/** 当前连接策略固定为 single,只连接首个端点。 */
|
|
1357
1377
|
type ConnectionStrategy = 'single' | 'race' | 'sequential';
|
|
1358
1378
|
interface ImReconnectOptions {
|
|
1359
1379
|
/** 退避基数毫秒,默认 1000。 */
|
|
@@ -1484,7 +1504,7 @@ interface ChannelJoinApplication {
|
|
|
1484
1504
|
channelAvatar?: string;
|
|
1485
1505
|
/** 申请人填写的入群说明,服务端允许为空。 */
|
|
1486
1506
|
message: string;
|
|
1487
|
-
/**
|
|
1507
|
+
/** 服务端创建时间转换为 Unix 毫秒;源字段缺失或非法时不提供。 */
|
|
1488
1508
|
createdAt?: number;
|
|
1489
1509
|
}
|
|
1490
1510
|
/**
|
|
@@ -1549,7 +1569,7 @@ interface TransportEndpoint {
|
|
|
1549
1569
|
}
|
|
1550
1570
|
|
|
1551
1571
|
interface ImEndpointProvider {
|
|
1552
|
-
/** WS
|
|
1572
|
+
/** WS 候选地址。返回单元素数组;后端下发多 host 时返回多元素。 */
|
|
1553
1573
|
getEndpoints: () => Promise<TransportEndpoint[]>;
|
|
1554
1574
|
/** CM Protobuf HTTP 基址。 */
|
|
1555
1575
|
getCmHttpBaseUrl: () => Promise<string>;
|
|
@@ -1956,7 +1976,7 @@ declare function extractSearchText(message: Pick<ImMessage, 'contentType' | 'bod
|
|
|
1956
1976
|
*
|
|
1957
1977
|
* @remarks 拉丁字母统一为 A-Z;中文按整段文本上下文取首字读音的首字母,多音字随词语变化;
|
|
1958
1978
|
* 数字、符号和 emoji 归入 `#`。
|
|
1959
|
-
*
|
|
1979
|
+
* 该工具只负责文本处理,不持有目录或 UI 状态,H5/PC 可以共享同一规则。
|
|
1960
1980
|
*/
|
|
1961
1981
|
declare function getImTextSearchInitial(text: string): Promise<string>;
|
|
1962
1982
|
/**
|
|
@@ -2030,7 +2050,7 @@ interface ResolveTextOptions<Extra = never> {
|
|
|
2030
2050
|
}
|
|
2031
2051
|
/**
|
|
2032
2052
|
* 把消息正文解析为内联富文本展示段:内置 @ matcher(协议)+ 宿主注入 matcher(应用)各自产出命中区间,
|
|
2033
|
-
* SDK
|
|
2053
|
+
* SDK 统一**按位置合并、区间不重叠**(一个字符只属于一个段)。空文本 → 单空段;无任何命中 → 整段文本。
|
|
2034
2054
|
* **冲突/重叠优先级**(稳定):① 起点靠前优先;② 同起点更长(更具体)优先;③ 仍相同按注册顺序——
|
|
2035
2055
|
* 内置 @ 最先 push(协议安全类优先),其余按 `opts.matchers` 顺序。靠后的重叠区间在 assemble 中让位跳过。
|
|
2036
2056
|
*/
|
|
@@ -2122,7 +2142,7 @@ interface MessageWindowPage {
|
|
|
2122
2142
|
|
|
2123
2143
|
/**
|
|
2124
2144
|
* 全局总未读聚合规则(mute-aware · 通用):默认排除免打扰会话(对齐主流 IM:静音会话不进 App 总角标)。
|
|
2125
|
-
* 免打扰会话的「@我未读」聚合待 `mentionUnreadCount`
|
|
2145
|
+
* 免打扰会话的「@我未读」聚合待 `mentionUnreadCount` 落地后再加(未填充)。
|
|
2126
2146
|
* @param sessions 会话快照。
|
|
2127
2147
|
* @param options 聚合选项。
|
|
2128
2148
|
* @param options.includeMuted 是否把免打扰会话也计入总数(默认 false)。
|
|
@@ -2148,7 +2168,7 @@ interface ImGroupCallMeetingSnapshot {
|
|
|
2148
2168
|
* 根据 CHANNEL 角色、生命周期和禁言事实计算稳定访问能力。
|
|
2149
2169
|
*
|
|
2150
2170
|
* 这是无副作用的权限投影:输入来自权威 profile/session,输出供发送和 UI 预检使用;服务端仍做最终
|
|
2151
|
-
* 权限裁决。未知或冲突状态不会借 GROUP
|
|
2171
|
+
* 权限裁决。未知或冲突状态不会借 GROUP 权限兜底,而是转换为受限能力与明确原因。
|
|
2152
2172
|
*/
|
|
2153
2173
|
|
|
2154
2174
|
/** CHANNEL 有效访问解析入参;`nowMs` 显式传入,使 hydrate、发送门禁与 Web 时钟使用同一纯逻辑。 */
|
|
@@ -2402,6 +2422,14 @@ interface GroupMemberItem {
|
|
|
2402
2422
|
joinType?: number;
|
|
2403
2423
|
}
|
|
2404
2424
|
|
|
2425
|
+
/** 客服号公开展示资料;不携带后台发送者身份或网络路由参数。 */
|
|
2426
|
+
interface CustomerServiceProfile {
|
|
2427
|
+
/** 当前语言的客服名称。 */
|
|
2428
|
+
displayName: string;
|
|
2429
|
+
/** 当前语言的头像地址;服务端未配置时为空。 */
|
|
2430
|
+
avatarUrl: string;
|
|
2431
|
+
}
|
|
2432
|
+
|
|
2405
2433
|
/** 服务端对入群请求的最终裁决:已入群,或已提交并等待管理员审核。 */
|
|
2406
2434
|
type MembershipJoinOutcome = 'joined' | 'waiting';
|
|
2407
2435
|
/** Browser adapter 暴露给 SDK 的稳定入群结果,不携带具体 HTTP 响应结构。 */
|
|
@@ -2410,7 +2438,7 @@ interface MembershipJoinResult {
|
|
|
2410
2438
|
outcome: MembershipJoinOutcome;
|
|
2411
2439
|
}
|
|
2412
2440
|
|
|
2413
|
-
/** 服务端按逻辑桶签发的 S3
|
|
2441
|
+
/** 服务端按逻辑桶签发的 S3 临时上传凭证(已转换为 SDK 合同字段)。 */
|
|
2414
2442
|
interface MediaUploadCredentials {
|
|
2415
2443
|
/** STS access key id(服务端字段 `access_key_id`)。 */
|
|
2416
2444
|
accessKeyId: string;
|
|
@@ -2426,7 +2454,7 @@ interface MediaUploadCredentials {
|
|
|
2426
2454
|
region: string;
|
|
2427
2455
|
/** 对象 key 前缀;STS 策略只允许写该前缀下的对象,SDK 生成的 key 必须以它开头。 */
|
|
2428
2456
|
keyPrefix?: string;
|
|
2429
|
-
/**
|
|
2457
|
+
/** 公开访问域名(已转换为带 scheme、无尾斜杠);写进消息体的媒体 URL 以它为准。 */
|
|
2430
2458
|
dnsPoint: string;
|
|
2431
2459
|
/** 服务端身份标识;SDK 不使用,仅原样透出供宿主排查。 */
|
|
2432
2460
|
identityId?: string;
|
|
@@ -2447,13 +2475,13 @@ interface MediaUploadCredentialsRequest {
|
|
|
2447
2475
|
*/
|
|
2448
2476
|
type MediaUploadCredentialsProvider = (request: MediaUploadCredentialsRequest) => Promise<MediaUploadCredentials>;
|
|
2449
2477
|
/**
|
|
2450
|
-
*
|
|
2478
|
+
* 把服务端原始回包转换为 `MediaUploadCredentials`,同时兼容 snake_case 与 camelCase。
|
|
2451
2479
|
*
|
|
2452
2480
|
* 宿主可直接用它解析自己 BFF 的返回值,避免 PC 与 H5 各写一份宽松解析;SDK 在收到 provider
|
|
2453
2481
|
* 结果后也会再跑一次本函数,因此绕过它自行构造的对象同样会被校验。
|
|
2454
2482
|
*
|
|
2455
2483
|
* @param raw 凭证对象本身(不含 code/msg 外层包装,由宿主先拆包)。
|
|
2456
|
-
* @returns
|
|
2484
|
+
* @returns 转换后的凭证;关键字段缺失或非法时抛 `MediaTransferError('credentials-invalid')`,不返回半份凭证。
|
|
2457
2485
|
*/
|
|
2458
2486
|
declare function normalizeMediaUploadCredentials(raw: unknown): MediaUploadCredentials;
|
|
2459
2487
|
|
|
@@ -3045,7 +3073,7 @@ interface MentionCandidatePage {
|
|
|
3045
3073
|
/**
|
|
3046
3074
|
* CHANNEL role-free @候选产品 sibling。
|
|
3047
3075
|
*
|
|
3048
|
-
* @remarks list/search 使用独立缓存与 token 上下文;token 只在创建它的账号 runtime
|
|
3076
|
+
* @remarks list/search 使用独立缓存与 token 上下文;token 只在创建它的账号 runtime、查询类型和频道缓存版本号内有效。
|
|
3049
3077
|
* 本 API 不读取 role-rich 成员 provider,也不包含已退场的 @消息索引/定位能力。
|
|
3050
3078
|
* @example
|
|
3051
3079
|
* ```ts
|
|
@@ -3059,13 +3087,13 @@ interface ImChannelMentionApi {
|
|
|
3059
3087
|
peekFirstPage: (channel: ConversationRef<'channel'>) => MentionCandidatePage | null;
|
|
3060
3088
|
/** 从已 hydrate 的常用候选快照做同步直接文本过滤;不发远端搜索请求。 */
|
|
3061
3089
|
peekSearchCandidates: (channel: ConversationRef<'channel'>, keyword: string) => readonly MentionCandidate[];
|
|
3062
|
-
/** hydrate 持久快照并返回本地首页或直接/拼音搜索结果;cache miss 返回 null
|
|
3090
|
+
/** hydrate 持久快照并返回本地首页或直接/拼音搜索结果;cache miss 返回 null,绝不请求服务端。 */
|
|
3063
3091
|
getCachedPage: (channel: ConversationRef<'channel'>, keyword?: string) => Promise<MentionCandidatePage | null>;
|
|
3064
3092
|
/** hydrate 持久快照,并在缺失/过期时按完整页预热约 200 人;同频道在途任务复用。 */
|
|
3065
3093
|
prefetchFirstPage: (channel: ConversationRef<'channel'>) => Promise<void>;
|
|
3066
3094
|
/** 强制从专用 mention provider 重建约 200 人常用候选快照。 */
|
|
3067
3095
|
refreshFirstPage: (channel: ConversationRef<'channel'>) => Promise<MentionCandidatePage>;
|
|
3068
|
-
/**
|
|
3096
|
+
/** 读取常用候选;内存未命中时先读本地存储,两处都没有才查询服务端。 */
|
|
3069
3097
|
listFirstPage: (channel: ConversationRef<'channel'>) => Promise<MentionCandidatePage>;
|
|
3070
3098
|
/** 使用 list 页产生的 token 继续分页;search token 会被拒绝。 */
|
|
3071
3099
|
listNextPage: (pageToken: ImPageToken) => Promise<MentionCandidatePage>;
|
|
@@ -3124,7 +3152,7 @@ interface ImDirectorySearchApi {
|
|
|
3124
3152
|
search: (keyword: string) => Promise<ImDirectorySearchResult>;
|
|
3125
3153
|
}
|
|
3126
3154
|
|
|
3127
|
-
/**
|
|
3155
|
+
/** 服务端消息查询失败的原因,以及是否允许重试。 */
|
|
3128
3156
|
interface MessagesByIdFailure {
|
|
3129
3157
|
/**
|
|
3130
3158
|
* 能否稍后重试。
|
|
@@ -3136,7 +3164,10 @@ interface MessagesByIdFailure {
|
|
|
3136
3164
|
/** 原始错误,供诊断与上报。 */
|
|
3137
3165
|
error: unknown;
|
|
3138
3166
|
}
|
|
3139
|
-
/**
|
|
3167
|
+
/**
|
|
3168
|
+
* 服务端消息查询汇总。三组 ID 互不重叠,合起来覆盖调用方传入的全部有效 ID。
|
|
3169
|
+
* @template TMessage 调用方需要的消息展示类型,由 projectMessage 从领域消息转换得到。
|
|
3170
|
+
*/
|
|
3140
3171
|
interface ImMessagesByIdResult<TMessage> {
|
|
3141
3172
|
/** 成功取回的消息。已经进了本地历史,后续本地查询就能命中。 */
|
|
3142
3173
|
readonly messages: readonly TMessage[];
|
|
@@ -3158,7 +3189,7 @@ interface ImMessagesByIdResult<TMessage> {
|
|
|
3158
3189
|
* SDK 内部 CHANNEL sibling:装配资料、成员、申请、置顶、历史限制与通知修复能力。
|
|
3159
3190
|
*
|
|
3160
3191
|
* 所有入口都要求精确 CHANNEL 身份,并把协议 I/O 结果提交到当前账号的同一 DomainState;不会复用
|
|
3161
|
-
* GROUP 端口或为 `supergroup` fallback。运行时 dispose 后,在途 HTTP
|
|
3192
|
+
* GROUP 端口或为 `supergroup` fallback。运行时 dispose 后,在途 HTTP 查询的结果必须失效,不能广播旧账号事件。
|
|
3162
3193
|
*/
|
|
3163
3194
|
|
|
3164
3195
|
/** CHANNEL 资料、成员和申请门面;已退场的 Mention 历史定位不进入产品面。 */
|
|
@@ -3183,7 +3214,7 @@ interface ImChannelApi extends ImDirectoryApi<'channel'> {
|
|
|
3183
3214
|
cursor?: string;
|
|
3184
3215
|
limit?: number;
|
|
3185
3216
|
}) => Promise<ChannelMemberPage>;
|
|
3186
|
-
/** 进入 CHANNEL
|
|
3217
|
+
/** 进入 CHANNEL 时预取含成员角色的有限列表;缓存未过期时不重复请求服务端。 */
|
|
3187
3218
|
prefetchMembers: (channelId: string) => Promise<void>;
|
|
3188
3219
|
/** 读取 role-rich 有界快照或本地搜索命中;不触发远端请求。 */
|
|
3189
3220
|
getCachedMembers: (input: {
|
|
@@ -3332,7 +3363,7 @@ interface ImContactApi extends ImDirectoryApi<'individual'> {
|
|
|
3332
3363
|
getProfile: (userId: string, opts?: {
|
|
3333
3364
|
forceRefresh?: boolean;
|
|
3334
3365
|
}) => Promise<UserProfile | null>;
|
|
3335
|
-
/**
|
|
3366
|
+
/** 只读内存或本地存储,不发 HTTP;命中时明确返回 stale,提醒调用方缓存可能已过期。 */
|
|
3336
3367
|
peekProfile: (userId: string) => Promise<{
|
|
3337
3368
|
value: UserProfile;
|
|
3338
3369
|
stale: boolean;
|
|
@@ -3382,7 +3413,7 @@ interface ConversationPrefetchOptions {
|
|
|
3382
3413
|
* skipped 表示当前类型、权限、存储或预算不允许预取;失败不改变正常打开会话的行为。
|
|
3383
3414
|
*/
|
|
3384
3415
|
interface ConversationPrefetchResult {
|
|
3385
|
-
ref: ConversationRef<'direct' | 'group' | 'channel' | 'robot'>;
|
|
3416
|
+
ref: ConversationRef<'direct' | 'group' | 'channel' | 'robot' | 'customerService'>;
|
|
3386
3417
|
status: 'ready' | 'skipped' | 'failed' | 'cancelled';
|
|
3387
3418
|
reason?: 'unsupported' | 'unavailable' | 'storage-unavailable' | 'budget' | 'page-too-large' | 'decrypt-failed' | 'invalidated' | 'cancelled';
|
|
3388
3419
|
error?: ImSdkErrorShape;
|
|
@@ -3390,7 +3421,7 @@ interface ConversationPrefetchResult {
|
|
|
3390
3421
|
|
|
3391
3422
|
/**
|
|
3392
3423
|
* 当前账号草稿的产品 DTO、跨组件 API 与 handle 绑定门面。
|
|
3393
|
-
*
|
|
3424
|
+
* 草稿按会话类型和 ID 串行保存,统一由 SDK DomainState 管理;当前不支持保存附件,非空附件输入会被明确拒绝。
|
|
3394
3425
|
*/
|
|
3395
3426
|
|
|
3396
3427
|
/** 当前产品草稿实体;只包含可持久化的 text/mention/reply,附件集合固定为空。 */
|
|
@@ -3453,7 +3484,7 @@ interface ImDraftsApi {
|
|
|
3453
3484
|
*/
|
|
3454
3485
|
|
|
3455
3486
|
/** 当前兼容门面支持的精确会话 ref。 */
|
|
3456
|
-
type ImSupportedConversationRef = ConversationRef<'direct' | 'group' | 'channel' | 'robot'>;
|
|
3487
|
+
type ImSupportedConversationRef = ConversationRef<'direct' | 'group' | 'channel' | 'robot' | 'customerService'>;
|
|
3457
3488
|
/**
|
|
3458
3489
|
* 会话 API 的迁移期入参。优先传完整 ref;旧 string 仅在当前 session 中唯一命中时可用。
|
|
3459
3490
|
*
|
|
@@ -3461,10 +3492,10 @@ type ImSupportedConversationRef = ConversationRef<'direct' | 'group' | 'channel'
|
|
|
3461
3492
|
*/
|
|
3462
3493
|
type ImConversationInput = ImSupportedConversationRef | string;
|
|
3463
3494
|
/**
|
|
3464
|
-
*
|
|
3495
|
+
* 内部会话列表数据。草稿反映当前账号的本机输入,不写入会话持久记录,也不跨端同步。
|
|
3465
3496
|
*
|
|
3466
|
-
*
|
|
3467
|
-
* @example
|
|
3497
|
+
* 保留 ImSession 的展示字段供内部调用方使用;跨类型识别会话时必须使用会话类型 + ID,不自行拼接主键。
|
|
3498
|
+
* @example client.conversations.list().find(item => item.draft !== null) 可找到当前账号有未发送草稿的会话。
|
|
3468
3499
|
*/
|
|
3469
3500
|
interface ConversationListItem$1 extends ImSession {
|
|
3470
3501
|
draft: ConversationDraft | null;
|
|
@@ -3491,7 +3522,7 @@ interface ImConversationsApi {
|
|
|
3491
3522
|
markConversationRead: (conversation: ImConversationInput) => Promise<void>;
|
|
3492
3523
|
/** 给已无真实未读的会话添加本地未读提醒;不回退消息已读状态,也不发网络请求。 */
|
|
3493
3524
|
markConversationUnread: (conversation: ImConversationInput) => void;
|
|
3494
|
-
/**
|
|
3525
|
+
/** 删除本机会话、消息、已读状态和草稿并立即发布本地事件;存储删除失败会报告 storage error,本地删除标记阻止离线消息恢复已删除内容。 */
|
|
3495
3526
|
deleteConversation: (conversation: ImConversationInput) => void;
|
|
3496
3527
|
}
|
|
3497
3528
|
|
|
@@ -3591,16 +3622,16 @@ declare class ImPinnedMessageOperationError extends Error {
|
|
|
3591
3622
|
}
|
|
3592
3623
|
|
|
3593
3624
|
/**
|
|
3594
|
-
* SDK
|
|
3625
|
+
* SDK 内部普通群模块:提供群资料、成员名称、@ 候选和群置顶操作。
|
|
3595
3626
|
*
|
|
3596
3627
|
* 本模块只接收 GROUP `ConversationRef`,使用普通群独立 HTTP/mapper,并回写当前账号唯一 DomainState。
|
|
3597
|
-
* CHANNEL
|
|
3628
|
+
* CHANNEL 的角色、申请、成员管理和置顶协议由独立模块处理;dispose 后旧查询和协调任务的结果不再生效。
|
|
3598
3629
|
*/
|
|
3599
3630
|
|
|
3600
3631
|
/**
|
|
3601
3632
|
* GROUP 完整 @候选集合产品面。
|
|
3602
3633
|
*
|
|
3603
|
-
* @remarks `listAll` 使用账号级产品缓存;`refreshAll`
|
|
3634
|
+
* @remarks `listAll` 使用账号级产品缓存;`refreshAll` 绕过缓存重新请求服务端。两者只消费普通群完整成员 provider,
|
|
3604
3635
|
* 不接受 CHANNEL 分页 cursor/provider。缺少 provider、远端失败或不完整结果会拒绝,不用空数组伪装失败。
|
|
3605
3636
|
* @example
|
|
3606
3637
|
* ```ts
|
|
@@ -3612,7 +3643,7 @@ declare class ImPinnedMessageOperationError extends Error {
|
|
|
3612
3643
|
interface ImGroupMentionApi {
|
|
3613
3644
|
/** 读取完整候选集合;同群并发读取复用请求,成功结果按 userId 稳定去重并缓存。 */
|
|
3614
3645
|
listAll: (group: ConversationRef<'group'>) => Promise<readonly MentionCandidate[]>;
|
|
3615
|
-
/**
|
|
3646
|
+
/** 显式向服务端重新查询完整候选;并发刷新复用请求,失败保留此前成功缓存。 */
|
|
3616
3647
|
refreshAll: (group: ConversationRef<'group'>) => Promise<readonly MentionCandidate[]>;
|
|
3617
3648
|
}
|
|
3618
3649
|
/** GROUP 资料、成员缓存、@候选与单条置顶门面;不与 CHANNEL 合并。 */
|
|
@@ -3631,17 +3662,17 @@ interface ImGroupApi extends ImDirectoryApi<'group'> {
|
|
|
3631
3662
|
getMemberNames: (groupId: string, opts?: {
|
|
3632
3663
|
forceRefresh?: boolean;
|
|
3633
3664
|
}) => Promise<Record<string, string> | null>;
|
|
3634
|
-
/**
|
|
3665
|
+
/** 仅读普通群成员缓存,不请求服务端。 */
|
|
3635
3666
|
peekMembers: (groupId: string) => Promise<{
|
|
3636
3667
|
value: GroupMemberItem[];
|
|
3637
3668
|
stale: boolean;
|
|
3638
3669
|
} | null>;
|
|
3639
|
-
/**
|
|
3670
|
+
/** 仅读普通群昵称缓存,不请求服务端。 */
|
|
3640
3671
|
peekMemberNames: (groupId: string) => Promise<{
|
|
3641
3672
|
value: Record<string, string>;
|
|
3642
3673
|
stale: boolean;
|
|
3643
3674
|
} | null>;
|
|
3644
|
-
/**
|
|
3675
|
+
/** 仅读普通群资料缓存,不请求服务端。 */
|
|
3645
3676
|
peekProfile: (groupId: string) => Promise<{
|
|
3646
3677
|
value: GroupProfile;
|
|
3647
3678
|
stale: boolean;
|
|
@@ -3690,7 +3721,7 @@ interface ImGroupApi extends ImDirectoryApi<'group'> {
|
|
|
3690
3721
|
}
|
|
3691
3722
|
|
|
3692
3723
|
/**
|
|
3693
|
-
* SDK
|
|
3724
|
+
* SDK 账号资源和网络连接的稳定生命周期合同。
|
|
3694
3725
|
* 账号准备、联网和 logout 保持可区分;快照不包含 token、transport、storage 句柄或宿主认证状态。
|
|
3695
3726
|
*/
|
|
3696
3727
|
|
|
@@ -3699,9 +3730,9 @@ interface ImClientSnapshot {
|
|
|
3699
3730
|
connectionState: ImConnectionState;
|
|
3700
3731
|
pendingOutbox: OutboxMessage[];
|
|
3701
3732
|
}
|
|
3702
|
-
/**
|
|
3733
|
+
/** 账号资源的准备和释放状态;网络连接状态单独记录,二者互不替代。 */
|
|
3703
3734
|
type ImSessionLifecycleState = 'empty' | 'preparing' | 'ready' | 'logging-out' | 'disposed';
|
|
3704
|
-
/**
|
|
3735
|
+
/** 账号资源状态、网络连接状态,以及由二者计算的便捷状态。 */
|
|
3705
3736
|
interface ImLifecycleSnapshot {
|
|
3706
3737
|
sessionState: ImSessionLifecycleState;
|
|
3707
3738
|
connectionState: ImConnectionState;
|
|
@@ -3810,7 +3841,7 @@ type ImApplicationItem = (ApplicationItemBase<'contact-request', ContactApplicat
|
|
|
3810
3841
|
* typed application inbox 产品面。
|
|
3811
3842
|
*
|
|
3812
3843
|
* @remarks `listPending` 只有在 contact/GROUP/CHANNEL 三个 provider 全部成功时才返回完整快照;审核动作按 ref.domain
|
|
3813
|
-
* 精确回到 sibling。CHANNEL invite type=5
|
|
3844
|
+
* 精确回到 sibling。CHANNEL invite type=5 不属于已确认 provider,因此不会出现在结果中。
|
|
3814
3845
|
* @example
|
|
3815
3846
|
* ```ts
|
|
3816
3847
|
* const pending = await client.applications.listPending()
|
|
@@ -3880,13 +3911,13 @@ interface ImDirectCallsApi {
|
|
|
3880
3911
|
}
|
|
3881
3912
|
|
|
3882
3913
|
/**
|
|
3883
|
-
*
|
|
3914
|
+
* 管理会话背景选择、预设读取和本地保存。
|
|
3884
3915
|
*
|
|
3885
|
-
* SDK 保存 builtin/preset/custom
|
|
3886
|
-
*
|
|
3916
|
+
* SDK 保存 builtin/preset/custom 选择及账号默认值;自定义图片 Blob 经 storage 保存,不持有 DOM、图片元素或 object URL。
|
|
3917
|
+
* 异步读取返回时核对运行环境版本,防止切会话或切账号后应用旧结果;宿主负责最终渲染和 URL 释放。
|
|
3887
3918
|
*/
|
|
3888
3919
|
|
|
3889
|
-
type ConversationBackgroundConversationType = 'direct' | 'group' | 'channel' | 'robot';
|
|
3920
|
+
type ConversationBackgroundConversationType = 'direct' | 'group' | 'channel' | 'robot' | 'customerService';
|
|
3890
3921
|
interface ConversationBackgroundPreset {
|
|
3891
3922
|
id: string;
|
|
3892
3923
|
url: string;
|
|
@@ -3925,9 +3956,9 @@ interface ImConversationBackgroundApi {
|
|
|
3925
3956
|
}
|
|
3926
3957
|
|
|
3927
3958
|
/**
|
|
3928
|
-
*
|
|
3959
|
+
* 把联系人、普通群和 CHANNEL 资料转换为稳定产品数据。
|
|
3929
3960
|
*
|
|
3930
|
-
*
|
|
3961
|
+
* 本文件只复制字段、统一权限格式和转换错误,不缓存资料,也不发 HTTP。GROUP/CHANNEL 各自保留业务字段,
|
|
3931
3962
|
* 公钥、访问快照、密钥版本、协议状态和 core extensions 都不会进入 default API。
|
|
3932
3963
|
*/
|
|
3933
3964
|
|
|
@@ -3950,14 +3981,14 @@ interface ImContactRemarkPhone {
|
|
|
3950
3981
|
countryCode: string;
|
|
3951
3982
|
mobile: string;
|
|
3952
3983
|
}
|
|
3953
|
-
/** default GROUP 资料 DTO
|
|
3984
|
+
/** default GROUP 资料 DTO;后端尚未确认的数值 status 与缓存扩展不进入产品面。 */
|
|
3954
3985
|
interface ImGroupProfile {
|
|
3955
3986
|
ref: ConversationRef<'group'>;
|
|
3956
3987
|
name: string;
|
|
3957
3988
|
avatar?: string;
|
|
3958
3989
|
memberCount?: number;
|
|
3959
3990
|
ownerId?: string;
|
|
3960
|
-
/** 普通群入群验证方式(1/2/4
|
|
3991
|
+
/** 普通群入群验证方式(1/2/4 为当前可设置值);未知值不能在产品层被自动改写。 */
|
|
3961
3992
|
verifyWay?: number;
|
|
3962
3993
|
/** 普通群邀请码;仅邀请码模式有意义。 */
|
|
3963
3994
|
inviteCode?: string;
|
|
@@ -4048,7 +4079,7 @@ interface ImChannelProfile {
|
|
|
4048
4079
|
*/
|
|
4049
4080
|
|
|
4050
4081
|
/** default 会话列表支持的精确类型;`supergroup` 继续受产品 Gate 约束。 */
|
|
4051
|
-
type ProductConversationListType = 'direct' | 'group' | 'channel' | 'robot';
|
|
4082
|
+
type ProductConversationListType = 'direct' | 'group' | 'channel' | 'robot' | 'customerService';
|
|
4052
4083
|
/** GROUP 会话限制状态;与 CHANNEL 状态保持独立 sibling。 */
|
|
4053
4084
|
type ImGroupConversationState = GroupSessionState;
|
|
4054
4085
|
/**
|
|
@@ -4219,8 +4250,8 @@ interface ImConversationListSnapshot {
|
|
|
4219
4250
|
* default 会话列表产品面。
|
|
4220
4251
|
*
|
|
4221
4252
|
* @remarks
|
|
4222
|
-
* `list()`
|
|
4223
|
-
* 所有写动作只接受复合身份。`deleteLocal`
|
|
4253
|
+
* `list()` 同步读取本机会话;`getSnapshot/subscribe` 为普通宿主提供同一时刻的列表和总未读。
|
|
4254
|
+
* 所有写动作只接受复合身份。`deleteLocal` 立即提交内存删除事件,但底层存储删除仍异步执行,失败会报告错误,
|
|
4224
4255
|
* 因此该方法不虚假返回代表“持久化已完成”的 Promise。
|
|
4225
4256
|
*
|
|
4226
4257
|
* @example
|
|
@@ -4282,6 +4313,17 @@ interface DirectConversationCapabilities {
|
|
|
4282
4313
|
canUseMessageActions: CapabilityDecision;
|
|
4283
4314
|
canManageRelationship: CapabilityDecision;
|
|
4284
4315
|
}
|
|
4316
|
+
/** 客服只读能力;资料、发送和消息修改均不可用,历史读取仅限本机已接收消息。 */
|
|
4317
|
+
interface CustomerServiceConversationCapabilities {
|
|
4318
|
+
/** 客服号不可发送消息。 */
|
|
4319
|
+
canSendMessages: CapabilityDecision;
|
|
4320
|
+
/** 客服号没有好友或成员资料页。 */
|
|
4321
|
+
canOpenProfile: CapabilityDecision;
|
|
4322
|
+
/** 客服号不开放消息修改与转发等动作。 */
|
|
4323
|
+
canUseMessageActions: CapabilityDecision;
|
|
4324
|
+
/** 允许读取客服本机历史。 */
|
|
4325
|
+
canReadHistory: CapabilityDecision;
|
|
4326
|
+
}
|
|
4285
4327
|
interface RobotConversationCapabilities {
|
|
4286
4328
|
canSendMessages: CapabilityDecision;
|
|
4287
4329
|
canOpenProfile: CapabilityDecision;
|
|
@@ -4356,6 +4398,8 @@ type ConversationCapabilitySnapshot = (ConversationCapabilityBase<'direct'> & {
|
|
|
4356
4398
|
value: ChannelConversationCapabilities;
|
|
4357
4399
|
}) | (ConversationCapabilityBase<'robot'> & {
|
|
4358
4400
|
value: RobotConversationCapabilities;
|
|
4401
|
+
}) | (ConversationCapabilityBase<'customerService'> & {
|
|
4402
|
+
value: CustomerServiceConversationCapabilities;
|
|
4359
4403
|
});
|
|
4360
4404
|
interface ImConversationCapabilitiesApi {
|
|
4361
4405
|
/** 只读取 SDK 当前本机真相与已刷新过的资料/关系投影,不隐式联网。 */
|
|
@@ -4507,7 +4551,7 @@ interface ImExpressionsApi {
|
|
|
4507
4551
|
*/
|
|
4508
4552
|
|
|
4509
4553
|
/** 当前已接线的产品 handle 会话类型;三者只在无会话语义原子层复用。 */
|
|
4510
|
-
type ProductHandleConversationType = 'direct' | 'group' | 'channel' | 'robot';
|
|
4554
|
+
type ProductHandleConversationType = 'direct' | 'group' | 'channel' | 'robot' | 'customerService';
|
|
4511
4555
|
/**
|
|
4512
4556
|
* 会话 handle 初始打开位置。
|
|
4513
4557
|
*
|
|
@@ -4569,9 +4613,9 @@ interface ConversationHandleSnapshot<TType extends ProductHandleConversationType
|
|
|
4569
4613
|
error?: ImSdkErrorShape;
|
|
4570
4614
|
}
|
|
4571
4615
|
/**
|
|
4572
|
-
*
|
|
4616
|
+
* 单条消息的本机删除结果。
|
|
4573
4617
|
*
|
|
4574
|
-
*
|
|
4618
|
+
* scope 固定为 local-only;该动作不发送撤回或双方删除命令,也不会让服务端标记删除,重新加载远端历史时可能再次出现同一消息。
|
|
4575
4619
|
*/
|
|
4576
4620
|
interface LocalMessageDeletionResult {
|
|
4577
4621
|
scope: 'local-only';
|
|
@@ -4844,8 +4888,8 @@ type ConversationMessageApiFor<TType extends ProductHandleConversationType> = TT
|
|
|
4844
4888
|
/**
|
|
4845
4889
|
* 绑定单个复合会话身份的产品级会话句柄。
|
|
4846
4890
|
*
|
|
4847
|
-
* @remarks 每次打开都持有独立连续窗口;`close()`
|
|
4848
|
-
*
|
|
4891
|
+
* @remarks 每次打开都持有独立连续窗口;`close()` 只释放瞬时窗口和订阅,不删除领域消息。各会话类型
|
|
4892
|
+
* 使用各自工厂;草稿经 drafts API 维护。关闭后继续读取或执行动作都会立即报错。
|
|
4849
4893
|
* @template TType 当前句柄绑定的精确会话类型。
|
|
4850
4894
|
* @example
|
|
4851
4895
|
* ```ts
|
|
@@ -4911,6 +4955,18 @@ interface ConversationHandle<TType extends ProductHandleConversationType = Produ
|
|
|
4911
4955
|
close: () => void;
|
|
4912
4956
|
}
|
|
4913
4957
|
|
|
4958
|
+
/** 只读客服号资料;账号由 SDK runtime 绑定,宿主只提供当前语言。 */
|
|
4959
|
+
interface ImCustomerServiceApi {
|
|
4960
|
+
/** 下载当前账号客服消息的指定文件;返回真实字节,不使用展示大小判断完成。 */
|
|
4961
|
+
downloadFile: (input: {
|
|
4962
|
+
messageId: string;
|
|
4963
|
+
itemIndex: number;
|
|
4964
|
+
signal?: AbortSignal;
|
|
4965
|
+
}) => Promise<Blob>;
|
|
4966
|
+
/** 获取并更新已有会话的显示资料;并发请求按语言合并,过期语言不覆盖当前页面。 */
|
|
4967
|
+
getProfile: (lang: number) => Promise<Readonly<CustomerServiceProfile>>;
|
|
4968
|
+
}
|
|
4969
|
+
|
|
4914
4970
|
/**
|
|
4915
4971
|
* SDK 对外的结构化诊断投影、过滤与 sink 装配。
|
|
4916
4972
|
*
|
|
@@ -4984,7 +5040,7 @@ interface ImDebugOptions {
|
|
|
4984
5040
|
declare const IM_DIAGNOSTIC_CATEGORIES: readonly ImDiagnosticCategory[];
|
|
4985
5041
|
/** SDK 默认控制台 sink;Core/Chat Kit/Pinia/Worker 不直接访问 console。 */
|
|
4986
5042
|
declare function createImConsoleDiagnosticSink(): ImDiagnosticSink;
|
|
4987
|
-
/** 把产品
|
|
5043
|
+
/** 把产品 debug 配置转换为当前账号唯一的诊断输出器;自定义输出失败时由默认输出器报告一次。 */
|
|
4988
5044
|
declare function createSdkDiagnosticWriter(debug: boolean | ImDebugOptions | undefined, getRuntimeContext: () => {
|
|
4989
5045
|
accountId?: string;
|
|
4990
5046
|
generation?: number;
|
|
@@ -5032,7 +5088,7 @@ interface ImMediaTask {
|
|
|
5032
5088
|
direction: 'upload' | 'download';
|
|
5033
5089
|
/** 终态 completed/failed/canceled 不会被同一尝试的迟到 progress 回退。 */
|
|
5034
5090
|
state: 'queued' | 'running' | 'paused' | 'completed' | 'failed' | 'canceled';
|
|
5035
|
-
/** 0
|
|
5091
|
+
/** 范围为 0 到 100 的整数进度。 */
|
|
5036
5092
|
percent: number;
|
|
5037
5093
|
/**
|
|
5038
5094
|
* upload 子阶段。
|
|
@@ -5215,7 +5271,7 @@ interface ImMediaTasksApi {
|
|
|
5215
5271
|
* 可靠发送账本的产品查询、订阅、重试和取消门面。
|
|
5216
5272
|
*
|
|
5217
5273
|
* Core Outbox 是唯一发送真相;产品项只暴露消息身份、状态和安全错误,不泄漏尝试次数或恢复策略。
|
|
5218
|
-
* 控制动作始终回到当前账号 connection,dispose
|
|
5274
|
+
* 控制动作始终回到当前账号 connection,dispose 后旧订阅失效,随后返回的旧结果不再生效,取消 queued 不等价于远端撤回。
|
|
5219
5275
|
*/
|
|
5220
5276
|
|
|
5221
5277
|
/** 产品可观察 Outbox 项;不包含正文、帧、ACK、attempts、加密信息或 resumePolicy。 */
|
|
@@ -5776,7 +5832,7 @@ interface ImMessageSearchApi {
|
|
|
5776
5832
|
inDirect: (conversation: ConversationRef<'direct'>, keyword: string) => Promise<ProductMessageSearchPage<MessageContentType>>;
|
|
5777
5833
|
/** 搜索 GROUP 本地历史;不得接受 CHANNEL ref 或回退 direct。 */
|
|
5778
5834
|
inGroup: (conversation: ConversationRef<'group'>, keyword: string) => Promise<ProductMessageSearchPage<MessageContentType>>;
|
|
5779
|
-
/** 搜索 CHANNEL
|
|
5835
|
+
/** 搜索 CHANNEL 本地历史;当前不调用尚未确认的远端 CHANNEL 搜索/定位协议。 */
|
|
5780
5836
|
inChannel: (conversation: ConversationRef<'channel'>, keyword: string) => Promise<ProductMessageSearchPage<MessageContentType>>;
|
|
5781
5837
|
/** 搜索 robot 本地历史;无远端历史,不得回退 direct。 */
|
|
5782
5838
|
inRobot: (conversation: ConversationRef<'robot'>, keyword: string) => Promise<ProductMessageSearchPage<MessageContentType>>;
|
|
@@ -5909,7 +5965,7 @@ declare function resolveImEmojiToken(token: string): ImEmojiCatalogEntry | undef
|
|
|
5909
5965
|
*
|
|
5910
5966
|
* 上传凭证由业务后端按登录态签发(与 iOS、prod H5 同一个接口),回包同时给出**物理桶**、区域、`key_prefix` 和
|
|
5911
5967
|
* 公开访问域名;SDK 据此拼 object key 与消息体 URL,宿主 env 里配的只是申请凭证用的逻辑桶名。凭证缓存(本地
|
|
5912
|
-
* 1 小时、按服务端过期时间提前 5
|
|
5968
|
+
* 1 小时、按服务端过期时间提前 5 分钟失效)、同桶并发请求复用和失败后重新签发由 SDK 负责,宿主只需提供「打一次接口」的纯函数。
|
|
5913
5969
|
*
|
|
5914
5970
|
* 默认单次 PUT/GET;仅 multipartTransfer=true 才允许大资源分片上传、下载。
|
|
5915
5971
|
* 各 bucket 需在对象存储侧配置 CORS 允许本站 origin 的 PUT + GET;开启分片后,超过 16MiB 的上传另需放行
|
|
@@ -6063,7 +6119,7 @@ interface ImContactsApi extends ImDirectoryApi<'individual'> {
|
|
|
6063
6119
|
* 发送好友申请。
|
|
6064
6120
|
*
|
|
6065
6121
|
* @remarks `remark` 是当前账号对目标用户设置的私有备注,按后端申请合同作为
|
|
6066
|
-
* `remark_nick_name` 提交。SDK
|
|
6122
|
+
* `remark_nick_name` 提交。SDK 不另存待处理副本;关系建立后从当前账号的权威好友资料读取并展示。
|
|
6067
6123
|
*/
|
|
6068
6124
|
requestFriendship: (userId: string, options: {
|
|
6069
6125
|
message: string;
|
|
@@ -6287,7 +6343,7 @@ interface AdvancedConversationsApi extends ImConversationsApi, ImConversationBac
|
|
|
6287
6343
|
*
|
|
6288
6344
|
* @internal
|
|
6289
6345
|
*/
|
|
6290
|
-
ensureOpenableConversation: (ref: ConversationRef) => Promise<ConversationRef<'direct' | 'group' | 'channel' | 'robot'>>;
|
|
6346
|
+
ensureOpenableConversation: (ref: ConversationRef) => Promise<ConversationRef<'direct' | 'group' | 'channel' | 'robot' | 'customerService'>>;
|
|
6291
6347
|
/**
|
|
6292
6348
|
* 读取已有会话或本次账号内已校验的目标资料;返回值不代表列表成员资格。
|
|
6293
6349
|
* @internal
|
|
@@ -6317,6 +6373,8 @@ interface ImProductClient {
|
|
|
6317
6373
|
/** 当前账号完整联系人、群组和社群目录的统一搜索。 */
|
|
6318
6374
|
readonly directory: ImDirectorySearchApi;
|
|
6319
6375
|
/** 机器人公开目录;通讯录查找与群/社群绑定列表共用分页合同。 */
|
|
6376
|
+
/** 客服号只读资料能力。 */
|
|
6377
|
+
readonly customerService: ImCustomerServiceApi;
|
|
6320
6378
|
readonly robots: ImRobotsApi;
|
|
6321
6379
|
readonly contacts: ImContactsApi;
|
|
6322
6380
|
readonly groups: ImGroupsApi;
|
|
@@ -6368,6 +6426,7 @@ interface ImClient extends Omit<ImProductClient, 'capabilities' | 'channels' | '
|
|
|
6368
6426
|
(ref: ConversationRef<'group'>, options?: ConversationOpenOptions): Promise<ConversationHandle<'group'>>;
|
|
6369
6427
|
(ref: ConversationRef<'channel'>, options?: ConversationOpenOptions): Promise<ConversationHandle<'channel'>>;
|
|
6370
6428
|
(ref: ConversationRef<'robot'>, options?: ConversationOpenOptions): Promise<ConversationHandle<'robot'>>;
|
|
6429
|
+
(ref: ConversationRef<'customerService'>, options?: ConversationOpenOptions): Promise<ConversationHandle<'customerService'>>;
|
|
6371
6430
|
};
|
|
6372
6431
|
/** 当前账号草稿产品面;按复合身份持久化,handle.draft 委托同一状态源。 */
|
|
6373
6432
|
drafts: ImDraftsApi;
|
|
@@ -6385,7 +6444,7 @@ interface ImClient extends Omit<ImProductClient, 'capabilities' | 'channels' | '
|
|
|
6385
6444
|
contact: ImContactApi;
|
|
6386
6445
|
/** 群域:群资料读取 + 修改群名/群头像/群内昵称。 */
|
|
6387
6446
|
group: ImGroupApi;
|
|
6388
|
-
/** CHANNEL
|
|
6447
|
+
/** CHANNEL 域:资料、成员管理与独立置顶能力;尚未确认的动作不进入此门面。 */
|
|
6389
6448
|
channel: ImChannelApi;
|
|
6390
6449
|
/** 可观察媒体任务与按精确消息引用下载。 */
|
|
6391
6450
|
media: ImMediaTasksApi;
|
|
@@ -6549,4 +6608,4 @@ interface ImResourceUploader {
|
|
|
6549
6608
|
declare function createImResourceUploader(config: ImResourceUploaderConfig): ImResourceUploader;
|
|
6550
6609
|
|
|
6551
6610
|
export { EDIT_WINDOW_MS, IMAGE_MESSAGE_ACCEPT, IM_CHAT_FONT_SCALES, IM_DIAGNOSTIC_CATEGORIES, IM_EMOJI_CATALOG, ImPinnedMessageOperationError, MEDIA_ALBUM_CAPTION_MAX_LENGTH, MEDIA_ALBUM_MAX_ITEMS, MediaTransferError, REACTION_SUPPORTED_CONTENT_TYPES, buildSessionFavoritePlainBody, canReactToMessage, canTransmit, canTransmitByType, canTransmitContent, classifyStickerImageType, createFaceToFaceGroupQrPayload, createImClient, createImConsoleDiagnosticSink, createImDiagnosticMemoryBuffer, createImResourceUploader, createImTextSearchMatcher, createSdkDiagnosticWriter, createVoicePlayer, createVoiceRecordingSession, detectVoiceCapabilities, extractSearchText, getImTextSearchInitial, isSupportedImageFile, mediaTransferErrorCodeOf, migrateImCachePrefix, normalizeMediaUploadCredentials, parseSessionFavoriteAlbumItems, parseSessionFavoriteFileItems, requiresForwardTypeConfirmation, resolveChannelAccess, resolveImEmojiToken, resolveMediaAlbumSendContentType, resolveSessionFavoriteAlbumCaption, resolveSessionFavoriteAlbumItemPreviewUrl, resolveSessionFavoriteKindFromMessage, resolveTextSegments, sortSessions, sumSessionsUnread, voiceErrorCodeOf };
|
|
6552
|
-
export type { CapabilityAvailability, CapabilityDecision, CapabilityReason, ChannelAccessSnapshot, ChannelBaseSessionState, ChannelConversationCapabilities, ChannelConversationMessageApi, ChannelJoinApplication, ChannelJoinApplicationNotification, ChannelJoinApplicationPage, ChannelMember, ChannelMemberPage, ChannelMentionMember, ChannelMentionMemberPage, ChannelMiniProgramRel, ChannelMiniProgramRelConfigType, ChannelMuteReason, ChannelPermissionSet, ChannelProfile, ChannelRole, ChannelSessionState, ContactCardInput, ContactMessageOptions, ConversationBackgroundPreset, ConversationBackgroundSelection, ConversationCapabilitySnapshot, ConversationDraft, ConversationDraftApi, ConversationEntryUnreadNavigation, ConversationEntryUnreadSnapshot, ConversationHandle, ConversationHandleSnapshot, ConversationInitialPosition, ConversationLastMessageSummary, ConversationListItem, ConversationListMention, ConversationMessageApi, ConversationOpenOptions, ConversationPrefetchOptions, ConversationPrefetchResult, ConversationRef, ConversationSearchPage, ConversationSearchResult, ConversationSystemSummary, ConversationType, DirectConversationCapabilities, DirectConversationMessageApi, DraftInput, EditTextOptions, ExpressionMessageOptions, FileMessageOptions, ForwardFailReason, ForwardItemStatus, ForwardMessageFailure, ForwardMessagesInput, ForwardMessagesResult, ForwardTarget, ForwardedMessageRef, GameMessageOptions, GifMessageOptions, GiftMessageOptions, GroupConversationCapabilities, GroupConversationMessageApi, GroupMemberItem, GroupProfile, ImAppearanceSettingsApi, ImApplicationItem, ImApplicationRef, ImApplicationsApi, ImAuthIssue, ImAuthProvider, ImBlockedContact, ImCacheOptions, ImCachePrefixMigrationContext, ImCachePrefixMigrator, ImCallKind, ImCallOutcome, ImCallRecordBody, ImChannelConversationAccessSnapshot, ImChannelMentionApi, ImChannelMiniProgramRel, ImChannelPermissions, ImChannelPinnedMessage, ImChannelProfile, ImChannelRole, ImChannelState, ImChannelsApi, ImChatFontScale, ImClientOptions, ImConnectionState, ImContactBody, ImContactKind, ImContactProfile, ImContactRelationship, ImContactRemarkPhone, ImContactSearchResult, ImContactsApi, ImConversationBackgroundApi, ImConversationCapabilitiesApi, ImConversationListApi, ImConversationListSnapshot, ImConversationListState, ImConversationSearchApi, ImCoreApiOptions, ImCreateChannelInput, ImCreateChannelResult, ImCreateFaceToFaceGroupResult, ImCreateGroupInput, ImCreateGroupResult, ImCreatedChannel, ImCreatedGroup, ImDebugOptions, ImDiagnosticCategory, ImDiagnosticError, ImDiagnosticLayer, ImDiagnosticLevel, ImDiagnosticMemoryBuffer, ImDiagnosticMemoryBufferFilter, ImDiagnosticMemoryBufferOptions, ImDiagnosticMemoryBufferSnapshot, ImDiagnosticMessage, ImDiagnosticRecord, ImDiagnosticSink, ImDiagnosticWriter, ImDirectCallAnswerResult, ImDirectCallFailReason, ImDirectCallHangupInput, ImDirectCallHangupReason, ImDirectCallInviteInput, ImDirectCallNotifyAudioInput, ImDirectCallTargetInput, ImDirectCallsApi, ImDirectReadReceiptSettings, ImDirectoryApi, ImDirectoryFieldMatch, ImDirectoryItem, ImDirectoryKind, ImDirectoryPage, ImDirectorySearchApi, ImDirectorySearchItem, ImDirectorySearchResult, ImDraftsApi, ImEmojiCatalogEntry, ImEndpointProvider, ImEventsApi, ImExpressionAsset, ImExpressionAssetInput, ImExpressionEmojiRecentInput, ImExpressionFavoriteKind, ImExpressionOptions, ImExpressionRecentInput, ImExpressionRecentItem, ImExpressionRecentItemKind, ImExpressionsApi, ImFaceToFaceGroup, ImFileBody, ImFilesAlbumBody, ImFriendshipRequestResult, ImGameBody, ImGameType, ImGifAssetInput, ImGiftBody, ImGiftSessionType, ImGiftStatus, ImGiftType, ImGiphyAsset, ImGiphyPage, ImGiphyPageOptions, ImGroupCallAnswerInput, ImGroupCallBusyInput, ImGroupCallCreateInput, ImGroupCallJoinInput, ImGroupCallMeetingSnapshot, ImGroupCallMember, ImGroupCallMemberStatus, ImGroupCallStatusInput, ImGroupCallTargetInput, ImGroupCallsApi, ImGroupConversationState, ImGroupMentionApi, ImGroupPinnedMessage, ImGroupProfile, ImGroupsApi, ImImageBody, ImLifecycleSnapshot, ImLiveRoomBody, ImLiveRoomStatus, ImLiveRoomType, ImLocalDataApi, ImLocalDataInfo, ImLogoutOptions, ImMediaAlbumBody, ImMediaAlbumItem, ImMediaConfig, ImMediaTask, ImMediaTasksApi, ImMembershipJoinResult, ImMessageMention, ImMessageReactionAggregate, ImMessageReactions, ImMessageRef, ImMessageSearchApi, ImMessageView, ImMessageViewBody, ImMessagesByIdResult, ImMiniProgramBody, ImMiniProgramShowType, ImOutboxApi, ImOutboxItem, ImPageToken, ImPinnedMessageErrorKind, ImPinnedMessageOperation, ImProductApplicationUpdate, ImProductAuthInvalidReason, ImProductClient, ImProductEvent, ImProductEventError, ImProductEventMap, ImProductMessage, ImPushApi, ImPushSnapshot, ImReactionChangeAction, ImReactionChangeResult, ImReadReceiptSettingsApi, ImRedPacketBody, ImRedPacketType, ImRequestError, ImRequestErrorHandler, ImResourceKind, ImResourceUploadInput, ImResourceUploadProgress, ImResourceUploadResult, ImResourceUploader, ImResourceUploaderConfig, ImRobotBody, ImRobotChatMenuItem, ImRobotCommand, ImRobotConversationBindInput, ImRobotDirectoryItem, ImRobotDirectoryPage, ImRobotDirectoryScope, ImRobotMenuReplyInput, ImRobotModule, ImRobotProfile, ImRobotProfileInput, ImRobotsApi, ImSdkErrorCategory, ImSdkErrorShape, ImSearchApi, ImSessionApi, ImSessionFavoriteAlbumItem, ImSessionFavoriteFileItem, ImSessionFavoriteItem, ImSessionFavoriteKind, ImSessionFavoritesApi, ImSessionLifecycleState, ImSettingsApi, ImStickerAssetInput, ImStickerBody, ImStickerPack, ImSupportedConversationRef, ImTextSearchMatch, ImTextSearchMatchOptions, ImTextSearchMatcher, ImTextSearchRange, ImTransferBody, ImTransferSessionType, ImTransferStatus, ImVideoBody, ImVoiceBody, ImWebPushSubscription, ImageMessageOptions, ImagePreviewMetadata, LiveRoomMessageOptions, LocalConversationHistoryClearResult, LocalMessageDeletionResult, LocalVideoPreviewMetadata, MediaAlbumItemInput, MediaAlbumMessageOptions, MediaTransferErrorCode, MediaUploadCredentials, MediaUploadCredentialsProvider, MediaUploadCredentialsRequest, MentionCandidate, MentionCandidatePage, MentionInput, MessageContentType, MessageWindowInfo, MessageWindowPage, MessagesByIdFailure, MigrateImCachePrefixInput, MiniProgramMessageOptions, ProductConversationListType, ProductHandleConversationType, ProductMessageSearchPage, ProductMessageSearchPreviewPart, ProductMessageSearchResult, ResolveTextOptions, ResolvedConversationBackground, RobotConversationCapabilities, SegmentMatch, SegmentMatcher, SendMessageResult, StickerAssetKind, TextMessageOptions, TextSegment, TransferMessageOptions, UnknownMessageBody, UserProfile, VideoMessageOptions, VideoPreviewMetadata, VoiceCapabilities, VoiceErrorCode, VoiceMessageMetadata, VoicePlayer, VoicePlayerOptions, VoicePlayerState, VoiceRecordingResult, VoiceRecordingSession, VoiceRecordingSessionOptions, VoiceRecordingState, VoiceToggleOptions };
|
|
6611
|
+
export type { CapabilityAvailability, CapabilityDecision, CapabilityReason, ChannelAccessSnapshot, ChannelBaseSessionState, ChannelConversationCapabilities, ChannelConversationMessageApi, ChannelJoinApplication, ChannelJoinApplicationNotification, ChannelJoinApplicationPage, ChannelMember, ChannelMemberPage, ChannelMentionMember, ChannelMentionMemberPage, ChannelMiniProgramRel, ChannelMiniProgramRelConfigType, ChannelMuteReason, ChannelPermissionSet, ChannelProfile, ChannelRole, ChannelSessionState, ContactCardInput, ContactMessageOptions, ConversationBackgroundPreset, ConversationBackgroundSelection, ConversationCapabilitySnapshot, ConversationDraft, ConversationDraftApi, ConversationEntryUnreadNavigation, ConversationEntryUnreadSnapshot, ConversationHandle, ConversationHandleSnapshot, ConversationInitialPosition, ConversationLastMessageSummary, ConversationListItem, ConversationListMention, ConversationMessageApi, ConversationOpenOptions, ConversationPrefetchOptions, ConversationPrefetchResult, ConversationRef, ConversationSearchPage, ConversationSearchResult, ConversationSystemSummary, ConversationType, CustomerServiceConversationCapabilities, DirectConversationCapabilities, DirectConversationMessageApi, DraftInput, EditTextOptions, ExpressionMessageOptions, FileMessageOptions, ForwardFailReason, ForwardItemStatus, ForwardMessageFailure, ForwardMessagesInput, ForwardMessagesResult, ForwardTarget, ForwardedMessageRef, GameMessageOptions, GifMessageOptions, GiftMessageOptions, GroupConversationCapabilities, GroupConversationMessageApi, GroupMemberItem, GroupProfile, ImAppearanceSettingsApi, ImApplicationItem, ImApplicationRef, ImApplicationsApi, ImAuthIssue, ImAuthProvider, ImBlockedContact, ImCacheOptions, ImCachePrefixMigrationContext, ImCachePrefixMigrator, ImCallKind, ImCallOutcome, ImCallRecordBody, ImChannelConversationAccessSnapshot, ImChannelMentionApi, ImChannelMiniProgramRel, ImChannelPermissions, ImChannelPinnedMessage, ImChannelProfile, ImChannelRole, ImChannelState, ImChannelsApi, ImChatFontScale, ImClientOptions, ImConnectionState, ImContactBody, ImContactKind, ImContactProfile, ImContactRelationship, ImContactRemarkPhone, ImContactSearchResult, ImContactsApi, ImConversationBackgroundApi, ImConversationCapabilitiesApi, ImConversationListApi, ImConversationListSnapshot, ImConversationListState, ImConversationSearchApi, ImCoreApiOptions, ImCreateChannelInput, ImCreateChannelResult, ImCreateFaceToFaceGroupResult, ImCreateGroupInput, ImCreateGroupResult, ImCreatedChannel, ImCreatedGroup, ImCustomerServiceApi, ImDebugOptions, ImDiagnosticCategory, ImDiagnosticError, ImDiagnosticLayer, ImDiagnosticLevel, ImDiagnosticMemoryBuffer, ImDiagnosticMemoryBufferFilter, ImDiagnosticMemoryBufferOptions, ImDiagnosticMemoryBufferSnapshot, ImDiagnosticMessage, ImDiagnosticRecord, ImDiagnosticSink, ImDiagnosticWriter, ImDirectCallAnswerResult, ImDirectCallFailReason, ImDirectCallHangupInput, ImDirectCallHangupReason, ImDirectCallInviteInput, ImDirectCallNotifyAudioInput, ImDirectCallTargetInput, ImDirectCallsApi, ImDirectReadReceiptSettings, ImDirectoryApi, ImDirectoryFieldMatch, ImDirectoryItem, ImDirectoryKind, ImDirectoryPage, ImDirectorySearchApi, ImDirectorySearchItem, ImDirectorySearchResult, ImDraftsApi, ImEmojiCatalogEntry, ImEndpointProvider, ImEventsApi, ImExpressionAsset, ImExpressionAssetInput, ImExpressionEmojiRecentInput, ImExpressionFavoriteKind, ImExpressionOptions, ImExpressionRecentInput, ImExpressionRecentItem, ImExpressionRecentItemKind, ImExpressionsApi, ImFaceToFaceGroup, ImFileBody, ImFilesAlbumBody, ImFriendshipRequestResult, ImGameBody, ImGameType, ImGifAssetInput, ImGiftBody, ImGiftSessionType, ImGiftStatus, ImGiftType, ImGiphyAsset, ImGiphyPage, ImGiphyPageOptions, ImGroupCallAnswerInput, ImGroupCallBusyInput, ImGroupCallCreateInput, ImGroupCallJoinInput, ImGroupCallMeetingSnapshot, ImGroupCallMember, ImGroupCallMemberStatus, ImGroupCallStatusInput, ImGroupCallTargetInput, ImGroupCallsApi, ImGroupConversationState, ImGroupMentionApi, ImGroupPinnedMessage, ImGroupProfile, ImGroupsApi, ImImageBody, ImLifecycleSnapshot, ImLiveRoomBody, ImLiveRoomStatus, ImLiveRoomType, ImLocalDataApi, ImLocalDataInfo, ImLogoutOptions, ImMediaAlbumBody, ImMediaAlbumItem, ImMediaConfig, ImMediaTask, ImMediaTasksApi, ImMembershipJoinResult, ImMessageMention, ImMessageReactionAggregate, ImMessageReactions, ImMessageRef, ImMessageSearchApi, ImMessageView, ImMessageViewBody, ImMessagesByIdResult, ImMiniProgramBody, ImMiniProgramShowType, ImOutboxApi, ImOutboxItem, ImPageToken, ImPinnedMessageErrorKind, ImPinnedMessageOperation, ImProductApplicationUpdate, ImProductAuthInvalidReason, ImProductClient, ImProductEvent, ImProductEventError, ImProductEventMap, ImProductMessage, ImPushApi, ImPushSnapshot, ImReactionChangeAction, ImReactionChangeResult, ImReadReceiptSettingsApi, ImRedPacketBody, ImRedPacketType, ImRequestError, ImRequestErrorHandler, ImResourceKind, ImResourceUploadInput, ImResourceUploadProgress, ImResourceUploadResult, ImResourceUploader, ImResourceUploaderConfig, ImRobotBody, ImRobotChatMenuItem, ImRobotCommand, ImRobotConversationBindInput, ImRobotDirectoryItem, ImRobotDirectoryPage, ImRobotDirectoryScope, ImRobotMenuReplyInput, ImRobotModule, ImRobotProfile, ImRobotProfileInput, ImRobotsApi, ImSdkErrorCategory, ImSdkErrorShape, ImSearchApi, ImSessionApi, ImSessionFavoriteAlbumItem, ImSessionFavoriteFileItem, ImSessionFavoriteItem, ImSessionFavoriteKind, ImSessionFavoritesApi, ImSessionLifecycleState, ImSettingsApi, ImStickerAssetInput, ImStickerBody, ImStickerPack, ImSupportedConversationRef, ImTextSearchMatch, ImTextSearchMatchOptions, ImTextSearchMatcher, ImTextSearchRange, ImTransferBody, ImTransferSessionType, ImTransferStatus, ImVideoBody, ImVoiceBody, ImWebPushSubscription, ImageMessageOptions, ImagePreviewMetadata, LiveRoomMessageOptions, LocalConversationHistoryClearResult, LocalMessageDeletionResult, LocalVideoPreviewMetadata, MediaAlbumItemInput, MediaAlbumMessageOptions, MediaTransferErrorCode, MediaUploadCredentials, MediaUploadCredentialsProvider, MediaUploadCredentialsRequest, MentionCandidate, MentionCandidatePage, MentionInput, MessageContentType, MessageWindowInfo, MessageWindowPage, MessagesByIdFailure, MigrateImCachePrefixInput, MiniProgramMessageOptions, ProductConversationListType, ProductHandleConversationType, ProductMessageSearchPage, ProductMessageSearchPreviewPart, ProductMessageSearchResult, ResolveTextOptions, ResolvedConversationBackground, RobotConversationCapabilities, SegmentMatch, SegmentMatcher, SendMessageResult, StickerAssetKind, TextMessageOptions, TextSegment, TransferMessageOptions, UnknownMessageBody, UserProfile, VideoMessageOptions, VideoPreviewMetadata, VoiceCapabilities, VoiceErrorCode, VoiceMessageMetadata, VoicePlayer, VoicePlayerOptions, VoicePlayerState, VoiceRecordingResult, VoiceRecordingSession, VoiceRecordingSessionOptions, VoiceRecordingState, VoiceToggleOptions };
|