k2-im 0.1.58 → 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.js +1 -1
- package/dist/chat-kit-pinia.d.ts +225 -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 +226 -171
- 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 +241 -186
- 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-GFKMMRZD.js +0 -1
- package/dist/browser-RTCHWSQ2.js +0 -2
- package/dist/chunk-2U2JMY5V.js +0 -1
- package/dist/chunk-B5V2O54N.js +0 -1
- package/dist/chunk-I7YY5G76.js +0 -1
- package/dist/chunk-IDECJJXC.js +0 -0
- package/dist/chunk-PHJQ6QKU.js +0 -2
- package/dist/chunk-Q2DEFN53.js +0 -1
- package/dist/chunk-SXY56EVC.js +0 -0
- package/dist/chunk-TIQ37Q7E.js +0 -2
- package/dist/chunk-VMNZGJNM.js +0 -2
- package/dist/chunk-WOT6VMZA.js +0 -1
- package/dist/chunk-X7ZBIWYF.js +0 -8
package/dist/chat-kit-pinia.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {u,Ca,ra as ra$1,s,y,qa,pa,oa,ma,la as la$1,ka,ja,ha,L,M,K,ya,Ba,Aa,ta as ta$1,ua as ua$1,xa,wa,va,F,D,E,C,A,Ka,d,za,B,z,Ja,Ia,Ha,Ga,Fa,Ea,c,b,k,h}from'./chunk-2U2JMY5V.js';export{t as resolveMessageNotificationDecision}from'./chunk-2U2JMY5V.js';import {a}from'./chunk-Q2DEFN53.js';import'./chunk-VMNZGJNM.js';import'./chunk-X7ZBIWYF.js';import {Sa,Pa}from'./chunk-PHJQ6QKU.js';import'./chunk-WOT6VMZA.js';import {defineStore,getActivePinia}from'pinia';import {shallowRef,ref,computed,watch,reactive,shallowReactive,nextTick,toRaw}from'vue';function hc(e,n,r={}){let o=u(n);try{return Ri(e,Ci({runtime:o,...r}))}catch(s){throw o.dispose(),s}}function yc(e){Ca(Oe(e).runtime);}var Yn=new WeakMap;function ze(e){let n=e??getActivePinia();if(n===void 0)throw new Error("\u672A\u627E\u5230\u5F53\u524D Pinia\uFF1B\u8BF7\u5728 Vue setup \u5185\u8C03\u7528\uFF0C\u6216\u663E\u5F0F\u4F20\u5165 Pinia \u5B9E\u4F8B");return n}function Ci(e){return Object.freeze({runtime:e.runtime,...e.expressionRecentPersistence===void 0?{}:{expressionRecentPersistence:e.expressionRecentPersistence}})}function Ri(e,n){let r=Yn.get(e);if(r!==void 0&&!r.disposed){if(r.context===n)return r.installation;throw new Error("\u5F53\u524D Pinia \u5DF2\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext\uFF0C\u8BF7\u5148 dispose \u518D\u5207\u6362 runtime")}let o={context:n,storeDisposers:new Set,disposed:false},s=Object.freeze({context:n,dispose:()=>{if(!o.disposed){o.disposed=true;for(let c of [...o.storeDisposers])c();o.storeDisposers.clear(),n.runtime.dispose(),Yn.get(e)===o&&Yn.delete(e);}}});return o.installation=s,Yn.set(e,o),s}function Oe(e){let n=Yn.get(e);if(n===void 0||n.disposed)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext");return n.context}function Ge(e,n){let r=Yn.get(e);if(r===void 0||r.disposed)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u5B89\u88C5\u6D3B\u52A8 ImChatKitContext");return r.storeDisposers.add(n),()=>r.storeDisposers.delete(n)}function bc(e){Yn.get(e)?.installation.dispose();}function wr(e){return `${e.domain}:${e.applicationId}`}function Rc(e){return e.domain==="contact"?Object.freeze({domain:"contact",applicationId:e.applicationId}):e.domain==="group"?Object.freeze({domain:"group",applicationId:e.applicationId,conversation:Object.freeze({conversationType:"group",conversationId:e.conversation.conversationId})}):Object.freeze({domain:"channel",applicationId:e.applicationId,conversation:Object.freeze({conversationType:"channel",conversationId:e.conversation.conversationId})})}function Pc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Er(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_APPLICATIONS_ACTION_FAILED",category:r!==null&&Pc(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`applications.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="reload"})}function kc(e){return e.code==="IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED"||e.code==="IM_SDK_APPLICATION_ALREADY_HANDLED"}function Mc(e){return defineStore("k2-im-applications",()=>{let n=Oe(e).runtime,r=ref([]),o=ref(false),s=shallowRef(null),c=ref({}),m=shallowRef({}),g=computed(()=>r.value.length),x=computed(()=>{let P=0,G=0,O=0;for(let N of r.value)N.ref.domain==="contact"?P+=1:N.ref.domain==="group"?G+=1:O+=1;return Object.freeze({contact:P,group:G,channel:O})}),D=false,K=0,A=0,W=0,h=false,v=0,z=new Map;function V(){K+=1,A+=1,W+=1,v+=1,h=false,z.clear(),r.value=[],o.value=false,s.value=null,c.value={},m.value={};}function H(P){return {client:P,generation:n.getGeneration(),stateEpoch:K}}function F(P){return !D&&P.client===n.getProductClient()&&P.generation===n.getGeneration()&&P.stateEpoch===K}async function R(){if(D)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let P=++A,G;try{G=H(n.ensureProductClient());}catch(O){let N=Er(O,"reload");return s.value=N,o.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:N})}o.value=true,s.value=null;try{let O=await G.client.applications.listPending();return P!==A||!F(G)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(r.value=Object.freeze([...O]),Object.freeze({ok:!0,operation:"reload"}))}catch(O){if(P!==A||!F(G))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let N=Er(O,"reload");return s.value=N,Object.freeze({ok:false,operation:"reload",reason:"failed",error:N})}finally{P===A&&F(G)&&(o.value=false);}}function C(){if(D||h)return;h=true;let P=K,G=++v;queueMicrotask(()=>{G===v&&(h=false,!(D||P!==K)&&R());});}function L(P){(P.type==="contact-application:received"||P.type==="channel-join-application:received"||P.type==="application:updated")&&C();}let Q=n.subscribeProductEvents(L);async function pe(P,G){let O=Rc(P),N=wr(O);if(D)return Object.freeze({ok:false,operation:G,reason:"stale",application:O});let ne=++W;z.set(N,ne),c.value={...c.value,[N]:G};let{[N]:se,...fe}=m.value;m.value=fe;let Ie;try{Ie=H(n.ensureProductClient());}catch(ie){let te=Er(ie,G);m.value={...m.value,[N]:te};let{[N]:ae,...Pe}=c.value;return c.value=Pe,z.delete(N),Object.freeze({ok:false,operation:G,reason:"failed",application:O,error:te})}let Se=()=>F(Ie)&&z.get(N)===ne;try{return await Ie.client.applications[G](O),Se()?(A+=1,o.value=!1,r.value=Object.freeze(r.value.filter(ie=>wr(ie.ref)!==N)),Object.freeze({ok:!0,operation:G,application:O})):Object.freeze({ok:!1,operation:G,reason:"stale",application:O})}catch(ie){if(!Se())return Object.freeze({ok:false,operation:G,reason:"stale",application:O});let te=Er(ie,G);return kc(te)?(A+=1,o.value=false,r.value=Object.freeze(r.value.filter(ae=>wr(ae.ref)!==N)),Object.freeze({ok:false,operation:G,reason:"failed",application:O,error:te})):(m.value={...m.value,[N]:te},Object.freeze({ok:false,operation:G,reason:"failed",application:O,error:te}))}finally{if(Se()){z.delete(N);let{[N]:ie,...te}=c.value;c.value=te;}}}function B(P){return pe(P,"accept")}function y(P){return pe(P,"ignore")}function $(){D||V();}function oe(){D||(D=true,Q(),V());}return {items:r,loading:o,error:s,processingKeys:c,itemErrors:m,pendingCount:g,domainCounts:x,reload:R,accept:B,ignore:y,reset:$,dispose:oe}})}var Mi=new WeakMap,jr=new WeakMap;function Oc(e=ze()){Oe(e);let n=Mi.get(e);n===void 0&&(n=Mc(e),Mi.set(e,n));let r=n(e);return jr.get(e)!==r&&(jr.set(e,r),Ge(e,()=>{r.dispose(),r.$dispose(),jr.get(e)===r&&jr.delete(e);})),r}function Ti(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Tc(e,n){return e.length===n.length&&e.every((r,o)=>r===n[o])}var Oi=Object.freeze({state:"none"});function Ec(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_THREAD_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:Ti(r)}})}function jc(e){return defineStore("k2-im-thread",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=shallowRef(null),s=shallowRef(null),c=shallowRef([]),m=shallowRef(Oi),g=shallowRef(),x=shallowRef(null),D=ref(false),K=ref(false),A=ref(false),W=ref(false),h=ref(false),v=shallowRef(null),z=ref(0),V=false,H,F=0,R=0,C,L,Q,pe,B,y=[],$=new Map,oe=new Set,P=new WeakSet,G=new WeakMap;function O(){y.length=0,z.value=0;}let N=n.subscribeEvents(T=>{if(V||T.type!=="message:received"||(T.source??"live")!=="live")return;let Z=o.value;Z===null||T.message.conversationId!==Z.conversationId||T.message.conversationType!==Z.conversationType||T.message.senderId===n.getCredentials().userId||!Ie(T.message)||(y.push(T.message.id),z.value+=1);});function ne(T=null){O(),o.value=T,s.value=null,c.value=[],m.value=Oi,g.value=void 0,x.value=null,D.value=T!==null,K.value=false,A.value=false,W.value=false,h.value=false,v.value=null;}function se(T){if(($.get(T)??0)>0){oe.add(T);return}T.close();}function fe(){B?.(),B=void 0,pe?.(),pe=void 0;let T=Q;Q=void 0,T!==void 0&&se(T);}function Ie(T){if(T.body.system?.timelineVisibility==="hidden")return false;if(T.conversationType!=="channel"||T.deletedForEveryone===void 0)return true;let Z=n.ensureProductClient().capabilities.get({conversationType:"channel",conversationId:T.conversationId});return Z.conversationType==="channel"&&Z.ref.conversationType==="channel"&&Z.ref.conversationId===T.conversationId&&(Z.value.role==="owner"||Z.value.role==="admin")}function Se(T,Z,le){let xe=o.value;if(V||Q!==T||n.getGeneration()!==le||xe===null||Z.ref.conversationId!==xe.conversationId||Z.ref.conversationType!==xe.conversationType)return false;let Fe=Z.messages.filter(Ie);if(Tc(c.value,Fe)||(c.value=Object.freeze(Fe)),m.value=Z.entryUnread,g.value=Z.entryUnreadNavigation,Z.entryUnread.state==="located"){let Ue=Z.entryUnread.firstMessageId,$e=Z.messages.findIndex(Ne=>Ne.id===Ue);if($e>=0&&!Fe.some(Ne=>Ne.id===Ue)){let Ne=Z.messages.slice($e+1).find(Ie);m.value=Object.freeze(Ne===void 0?{state:"unavailable"}:{...Z.entryUnread,firstMessageId:Ne.id});}}return s.value=Z.display??null,x.value=Z.draft,D.value=Z.loading,K.value=K.value||Fe.length>0||!Z.loading,A.value=Z.stale,W.value=Z.hasOlder,h.value=Z.hasNewer,v.value=Z.error??null,true}async function ie(T,Z){let le=n.ensureProductClient();return T.conversationType==="direct"?le.openConversation({conversationType:"direct",conversationId:T.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:Z}):T.conversationType==="group"?le.openConversation({conversationType:"group",conversationId:T.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:Z}):T.conversationType==="robot"?le.openConversation({conversationType:"robot",conversationId:T.conversationId},{initialPosition:"first-unread",initialLoad:"local-first",signal:Z}):le.openConversation({conversationType:"channel",conversationId:T.conversationId},{initialPosition:"latest",captureEntryUnread:true,initialLoad:"local-first",signal:Z})}async function te(T){try{let Z=n.ensureProductClient();if(Z.conversations.list().find(xe=>xe.ref.conversationType===T.conversationType&&xe.ref.conversationId===T.conversationId)?.manuallyUnread!==!0)return;await Z.conversations.markRead(T);}catch(Z){r.record("warn","pinia","conversation","thread-open-clear-manual-unread-failed",()=>({conversation:T,error:{message:"\u4F1A\u8BDD\u5DF2\u6253\u5F00\uFF0C\u4F46\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u6E05\u9664\u5931\u8D25",data:Z}}));}}async function ae(T,Z){if(V)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");R+=1,C=void 0,L=void 0;let le=Ti(T);H?.abort();let xe=new AbortController;H=xe;let Fe=++F,Ue=n.getGeneration();r.record("debug","pinia","history","thread-open-start",()=>({generation:Ue,conversation:le}));let $e;try{$e=await ie(le,xe.signal),!V&&Fe===F&&Ue===n.getGeneration()&&await Z?.beforeCommit?.();}catch(an){if($e?.close(),xe.signal.aborted)return;throw !V&&Fe===F&&Ue===n.getGeneration()&&r.record("warn","pinia","history","thread-open-failed",()=>({generation:Ue,conversation:le,error:{message:"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:Ec(an,"thread.open",le)}})),an}finally{H===xe&&(H=void 0);}let Ne=$e;if(V||Fe!==F||Ue!==n.getGeneration()){Ne.close(),r.record("debug","pinia","history","thread-open-stale-result-dropped",()=>({generation:Ue,conversation:le}));return}return J(),fe(),ne(le),Q=Ne,pe=Ne.subscribe(an=>Se(Ne,an,Ue)),Se(Ne,Ne.getSnapshot(),Ue),le.conversationType==="channel"&&(B=n.ensureProductClient().capabilities.subscribe(le,()=>{!V&&Q===Ne&&n.getGeneration()===Ue&&Se(Ne,Ne.getSnapshot(),Ue);})),te(le),r.record("debug","pinia","history","thread-open-complete",()=>({generation:Ue,conversation:le})),Ne}function Pe(){H?.abort(),H=void 0,F+=1;}function Te(T){if(V||Q===void 0)throw new Error(`Thread Store \u6CA1\u6709\u6D3B\u52A8 handle\uFF0C\u65E0\u6CD5\u6267\u884C ${T}`);return Q}function ke(T,Z,le){return !V&&R===T&&Q===Z&&n.getGeneration()===le}async function _(T,Z){if(C!==void 0||L!==void 0)return false;let le=Te(T),xe=n.getGeneration(),Fe=++R;C=Fe;try{return await Z(le),ke(Fe,le,xe)?(Se(le,le.getSnapshot(),xe),!0):!1}finally{C===Fe&&(C=void 0);}}async function U(T,Z,le){let xe=Te(T),Fe=n.getGeneration(),Ue=++R;C=void 0,L=Ue;try{if(await Z(xe),!ke(Ue,xe,Fe))return !1;let $e=xe.getSnapshot();return le($e)?(Se(xe,$e,Fe),!0):!1}finally{L===Ue&&(L=void 0);}}function ge(T){return T?.skipIfLatest===true&&K.value&&!D.value&&!A.value&&v.value===null&&!h.value&&L===void 0&&C===void 0?Promise.resolve(true):U("loadLatest",Z=>Z.history.loadLatest(),Z=>!Z.hasNewer)}function be(T){let Z=false;return U("loadEntryUnread",async le=>{Z=await le.history.loadEntryUnread(T);},le=>Z&&le.entryUnread.state==="located")}function he(T){let Z=G.get(T);if(Z!==void 0)return Z;let le=T.markConversationRead().finally(()=>{G.get(T)===le&&G.delete(T);});return G.set(T,le),le}function Ve(){let T=Te("markConversationRead");return P.add(T),he(T)}function k(T){return Te("markVisibleMessages").markVisibleMessages(T)}function J(){let T=Q;if(T===void 0||!P.has(T))return;let Z=M(T),le=n.getGeneration(),xe=G.get(T);(xe===void 0?he(T):xe.catch(()=>{}).then(()=>he(T))).catch(Ue=>{le===n.getGeneration()&&r.record("warn","pinia","conversation","thread-leave-read-failed",()=>({conversation:T.ref,error:{message:"\u79BB\u5F00\u4F1A\u8BDD\u65F6\u5DF2\u8BFB\u786E\u8BA4\u5931\u8D25",data:Ue}}));}).finally(Z);}function me(){J(),ue();}function Re(){return _("loadOlder",T=>T.history.loadOlder())}function we(){return _("loadNewer",T=>T.history.loadNewer())}function Me(T,Z){return Z?.signal?.aborted?Promise.reject(new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u53D6\u6D88","AbortError")):Z?.skipIfLoaded===true&&K.value&&!D.value&&!A.value&&v.value===null&&L===void 0&&C===void 0&&c.value.some(le=>le.id===T)?Promise.resolve(true):U("loadAround",le=>Z?.signal===void 0?le.history.loadAround(T):le.history.loadAround(T,{signal:Z.signal}),le=>le.messages.some(xe=>xe.id===T)).then(le=>le?c.value.some(xe=>xe.id===T):false)}function j(T){return Te("resolveMessage").resolveMessage(T)}function M(T=Te("retainHandle")){if(V)throw new Error("Thread Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u4FDD\u7559 handle");$.set(T,($.get(T)??0)+1);let Z=false;return ()=>{if(Z)return;Z=true;let le=($.get(T)??1)-1;if(le>0){$.set(T,le);return}$.delete(T),oe.delete(T)&&T.close();}}function q(){return M()}function ue(){H?.abort(),H=void 0,F+=1,R+=1,C=void 0,L=void 0,fe(),ne();}function de(T){let Z=o.value;return Z===null||Z.conversationType!==T.conversationType||Z.conversationId!==T.conversationId?false:(R+=1,C=void 0,L=void 0,fe(),ne(),true)}function De(){H?.abort(),H=void 0,F+=1,R+=1,C=void 0,L=void 0,pe?.(),pe=void 0,B?.(),B=void 0;let T=new Set([...Q===void 0?[]:[Q],...oe,...$.keys()]);Q=void 0,oe.clear(),$.clear();for(let Z of T)Z.close();ne();}function He(){V||(De(),V=true,N());}function Ae(){return y.splice(0,y.length)}return {display:s,activeRef:o,messages:c,entryUnread:m,entryUnreadNavigation:g,draft:x,loading:D,ready:K,stale:A,hasOlder:W,hasNewer:h,error:v,activeRemoteMessageRevision:z,open:ae,invalidatePendingOpen:Pe,loadLatest:ge,loadEntryUnread:be,markConversationRead:Ve,markVisibleMessages:k,leave:me,loadOlder:Re,loadNewer:we,loadAround:Me,resolveMessage:j,retainHandle:M,retainCurrentHandle:q,close:ue,closeActiveConversation:de,reset:De,dispose:He,drainActiveRemoteMessageIds:Ae,getHandle:()=>Q}})}var Si=new WeakMap,xr=new WeakMap;function Be(e=ze()){Oe(e);let n=Si.get(e);n===void 0&&(n=jc(e),Si.set(e,n));let r=n(e);return xr.get(e)!==r&&(xr.set(e,r),Ge(e,()=>{r.dispose(),r.$dispose(),xr.get(e)===r&&xr.delete(e);})),r}var Fr=new WeakMap;function No(e){let n=Fr.get(e);if(n===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImComposerStore");return n}function ht(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Gr(e){return {text:e.text,...e.mentions===void 0?{}:{mentions:e.mentions.map(n=>({userId:n.userId,displayName:n.displayName}))},...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:[]}}function ji(e){return e===null?null:Gr({text:e.text,mentions:e.mentions,...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId}})}function _o(e){return e.text===""&&(e.mentions?.length??0)===0&&e.replyToMessageId===void 0}function Ko(e,n){return e===null||e.text!==n.text||e.replyToMessageId!==n.replyToMessageId||(e.mentions?.length??0)!==(n.mentions?.length??0)?false:(e.mentions??[]).every((r,o)=>{let s=n.mentions?.[o];return s!==void 0&&r.userId===s.userId&&r.displayName===s.displayName})}function Ac(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"}function Qt(e,n,r){return Ac(e)?e:Object.freeze({code:n==="composer.draft"?"IM_CHAT_KIT_DRAFT_SAVE_FAILED":"IM_CHAT_KIT_COMPOSER_OPERATION_FAILED",category:"state",operation:n,retryable:n==="composer.draft",...r===void 0?{}:{conversation:ht(r)},cause:e})}function zr(e,n){return e.conversationId===n.ref.conversationId&&e.conversationType===n.ref.conversationType}function zc(e){return defineStore("k2-im-composer",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=Be(e),s=shallowRef(null),c=shallowRef(null),m=shallowRef(null),g=ref(false),x=ref(0),D=shallowRef(null),K=false,A=0,W=0,h=0,v,z=Promise.resolve(),V=Promise.resolve(),H=new Set,F=new Map,R,C;function L(){return o.getHandle()}function Q(_,U){let ge=o.activeRef;return !K&&L()===_&&n.getGeneration()===U&&ge!==null&&ge.conversationId===_.ref.conversationId&&ge.conversationType===_.ref.conversationType}function pe(_=L()){if(_===void 0)return false;let U=n.getGeneration();return v?.handle===_&&v.generation===U||[...H].some(ge=>ge.handle===_&&ge.generation===U)}async function B(_=L()){if(_===void 0)return;let U=n.getGeneration(),ge=v?.handle===_&&v.generation===U?v:void 0;if(ge===void 0){let k=[...H].filter(J=>J.handle===_&&J.generation===U).map(J=>J.promise);k.length>0?await Promise.all(k):await V;return}v=void 0;let he=z.then(async()=>{_o(ge.input)?await _.draft.clear():await _.draft.save(ge.input);}),Ve={handle:_,generation:U,promise:he};H.add(Ve),V=he,z=he.catch(()=>{});try{await he,Q(_,U)&&(D.value=null,x.value+=1,r.record("debug","pinia","draft","composer-draft-flush-complete",()=>({generation:U,conversation:ht(_.ref)})));}catch(k){throw Q(_,U)&&(v===void 0&&h===ge.version&&(v=ge),D.value=Qt(k,"composer.draft",_.ref),r.record("error","pinia","draft","composer-draft-flush-failed",()=>({generation:U,conversation:ht(_.ref),error:{message:"Composer \u8349\u7A3F\u6301\u4E45\u5316\u5931\u8D25",data:D.value}}))),k}finally{H.delete(Ve);}}function y(_){let U=L(),ge=n.getGeneration();if(U===void 0||!Q(U,ge))return D.value=Qt(new Error("\u5F53\u524D\u4F1A\u8BDD\u5C1A\u672A\u5C31\u7EEA"),"composer.draft"),false;let be=Gr(_);return h+=1,s.value=_o(be)?null:be,v={handle:U,generation:ge,version:h,input:be},D.value=null,$(),_o(be)&&B(U).catch(()=>{}),true}async function $(){if(m.value!==null)return;let _=s.value?.replyToMessageId;if(_===void 0){W+=1,c.value=null;return}let U=L();if(U===void 0){c.value=null;return}let ge=o.messages.find(k=>k.id===_);if(ge!==void 0){W+=1,c.value=ge;return}let be=n.getGeneration(),he=++W,Ve=await U.resolveMessage(_).catch(()=>null);he!==W||!Q(U,be)||m.value!==null||s.value?.replyToMessageId!==_||(c.value=Ve);}function oe(_){let U=L();return U===void 0||!zr(_,U)?false:(m.value=null,c.value=_,y({...s.value??{text:"",attachments:[]},replyToMessageId:_.id}))}function P(_){if(_!==void 0&&s.value?.replyToMessageId!==_)return;c.value=null;let U=s.value;if(U===null)return;let{replyToMessageId:ge,...be}=U;y({...be});}function G(_){let U=L();return U===void 0||!zr(_,U)?false:(c.value=null,m.value=_,true)}function O(){m.value=null,$();}function N(){W+=1,c.value=null,m.value=null;}function ne(_,U){return !K&&n.getGeneration()===_&&A===U}function se(_){return [...F.values()].some(U=>U.handle===_)}function fe(_,U){return _!==null&&Ko(ji(_),U)}function Ie(_,U,ge){!Q(_,U)||s.value===null||!Ko(s.value,ge)||(h+=1,v?.handle===_&&v.generation===U&&Ko(v.input,ge)&&(v=void 0),s.value=null,W+=1,c.value=null);}async function Se(_){let U=[...H].filter(be=>be.handle===_.handle&&be.generation===_.generation).map(be=>be.promise.catch(()=>{}));if(U.length>0&&await Promise.all(U),!Q(_.handle,_.generation))return;let ge=await _.handle.draft.get();if(!fe(ge,_.input)){R?.token===_.token&&(R=void 0);return}R=_;try{await _.handle.draft.clear(),R?.token===_.token&&(R=void 0);}catch(be){if(Q(_.handle,_.generation)){if(s.value===null&&v===void 0){let he={text:"",attachments:[]};h+=1,v={handle:_.handle,generation:_.generation,version:h,input:he};}D.value=Qt(be,"composer.draft",_.handle.ref),r.record("error","pinia","draft","composer-accepted-draft-clear-failed",()=>({generation:_.generation,conversation:ht(_.handle.ref),error:{message:"\u6D88\u606F\u5DF2\u88AB\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u5BF9\u5E94\u8349\u7A3F\u5931\u8D25",data:D.value}}));}}}function ie(_){if(!Q(_.handle,_.generation)||s.value!==null)return;R=void 0;let U=Gr(_.input);h+=1,s.value=U,v={handle:_.handle,generation:_.generation,version:h,input:U},$();}async function te(_){let U=m.value,ge=U===null?"send":"edit";if(U!==null&&C!==void 0)return Object.freeze({ok:false,operation:"edit",reason:"busy"});let be=L(),he=n.getGeneration();if(be===void 0||!Q(be,he))return Object.freeze({ok:false,operation:ge,reason:"not-ready"});let Ve=_.text.trim();if(Ve==="")return Object.freeze({ok:false,operation:ge,reason:"empty"});let k=A;if(U!==null&&!zr(U,be))return Object.freeze({ok:false,operation:"edit",reason:"not-ready"});let J=Symbol(ge);U!==null&&(C=J),g.value=C!==void 0,D.value=null;let me=o.retainHandle(be),Re;if(U===null){let we=Gr(_);Re={token:J,handle:be,generation:he,input:we},F.set(J,Re),Ie(be,he,we);}r.record("debug","pinia","message","composer-submit-start",()=>({generation:he,operation:ge,conversation:ht(be.ref),...U===null?{}:{messageId:U.id}}));try{if(U===null){if(!ne(he,k)||!Q(be,he))return Object.freeze({ok:!1,operation:"send",reason:"stale"});let we=await be.messages.sendText(Ve,{..._.mentions===void 0?{}:{mentions:_.mentions},..._.replyToMessageId===void 0?{}:{replyToMessageId:_.replyToMessageId}});if(!ne(he,k)||!Q(be,he))return Object.freeze({ok:!1,operation:"send",reason:"stale"});if(!we.ok)return Re!==void 0&&ie(Re),D.value=we.error,Object.freeze({ok:!1,operation:"send",reason:"sdk-rejected",error:we.error});if(Re!==void 0&&(await Se(Re),!ne(he,k)||!Q(be,he)))return Object.freeze({ok:!1,operation:"send",reason:"stale"})}else {try{await be.messages.editText(U.id,Ve,{..._.mentions===void 0?{}:{mentions:_.mentions}});}catch(we){if(!ne(he,k)||!Q(be,he))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});let Me=Qt(we,"composer.edit",be.ref);return D.value=Me,Object.freeze({ok:!1,operation:"edit",reason:"sdk-rejected",error:Me})}if(!ne(he,k)||!Q(be,he))return Object.freeze({ok:!1,operation:"edit",reason:"stale"});m.value===U&&O();}return D.value=null,r.record("debug","pinia","message","composer-submit-complete",()=>({generation:he,operation:ge,conversation:ht(be.ref)})),Object.freeze({ok:!0,operation:ge})}catch(we){if(!ne(he,k)||!Q(be,he))return Object.freeze({ok:false,operation:ge,reason:"stale"});Re!==void 0&&ie(Re);let Me=Qt(we,`composer.${ge}`,be.ref);return D.value=Me,Object.freeze({ok:false,operation:ge,reason:"sdk-rejected",error:Me})}finally{me(),F.delete(J),C===J&&(C=void 0),g.value=C!==void 0,Q(be,he)&&ae();}}function ae(){let _=L();if(_===void 0)return;let U=R,ge=U!==void 0&&U.handle===_&&U.generation===n.getGeneration()&&fe(o.draft,U.input);U!==void 0&&!ge&&(R=void 0),!pe(_)&&!se(_)&&!ge&&(s.value=ji(o.draft)),m.value!==null&&!zr(m.value,_)&&(m.value=null),$();}function Pe(){A+=1,W+=1,h+=1,v=void 0,F.clear(),R=void 0,z=Promise.resolve(),V=Promise.resolve(),s.value=null,c.value=null,m.value=null,C=void 0,g.value=false,x.value=0,D.value=null;}let Te=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,draft:o.draft,messages:o.messages}),(_,U)=>{if(_.ref!==U?.ref){Pe(),_.ref!==null&&ae();return}ae();},{immediate:true});function ke(){K||(K=true,Te(),Pe());}return Fr.set(e,Object.freeze({suspendInteraction:N,syncReplyTarget:$,dispose:ke})),{input:s,replyTo:c,editingMessage:m,submitting:g,draftCommitVersion:x,error:D,updateDraft:y,flush:B,hasPendingWork:pe,submitText:te,setReplyTo:oe,clearReplyTo:P,setEditing:G,clearEditing:O,reset:Pe}})}var wi=new WeakMap,Dr=new WeakMap;function et(e=ze()){Oe(e);let n=wi.get(e);n===void 0&&(n=zc(e),wi.set(e,n));let r=n(e),o=No(e);return Dr.get(e)!==r&&(Dr.set(e,r),Ge(e,()=>{o.dispose(),r.$dispose(),Dr.get(e)===r&&(Dr.delete(e),Fr.get(e)===o&&Fr.delete(e));})),r}var Kr=new WeakMap;function Xt(e){return e.status==="sent"&&e.contentType!=="system"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function zi(e){return [...e]}function Fc(e){return defineStore("k2-im-message-operations",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=Be(e),s=et(e),c=No(e),m=shallowRef(null),g=ref(false),x=ref([]),D=ref(null),K=ref(false),A=ref([]),W=shallowRef(null),h=false,v=0,z=0,V=0;function H(){return o.getHandle()}function F(k,J=H()){let me=o.activeRef;return !h&&J!==void 0&&me!==null&&k.conversationType!=="supergroup"&&me.conversationId===k.conversationId&&me.conversationType===k.conversationType&&J.ref.conversationId===k.conversationId&&J.ref.conversationType===k.conversationType}function R(k){return y(m.value,k)}function C(){K.value=false,A.value=[];}function L(){D.value=null;}function Q(){let k=g.value;C(),L(),g.value=false,x.value=[],k&&c.syncReplyTarget();}function pe(k){if(k!==void 0){if(!F(k))return Object.freeze({ok:false,reason:"not-ready"});if(!Xt(k))return Object.freeze({ok:false,reason:"not-selectable"});if(R(k))return Object.freeze({ok:false,reason:"pinned-protected"})}return c.suspendInteraction(),g.value=true,x.value=k===void 0?[]:[k],Object.freeze({ok:true})}function B(k){return x.value.some(J=>J.id===k)}function y$1(k){return !g.value||!F(k)?Object.freeze({ok:false,reason:"not-ready"}):Xt(k)?R(k)?Object.freeze({ok:false,reason:"pinned-protected"}):(B(k.id)?x.value=x.value.filter(J=>J.id!==k.id):x.value=[...x.value,k],Object.freeze({ok:true})):Object.freeze({ok:false,reason:"not-selectable"})}function $(k){let J=H();return k.length===0||!k.every(me=>F(me,J))?Object.freeze({ok:false,reason:"not-ready"}):(D.value=zi(k),Object.freeze({ok:true}))}function oe(){let k=x.value;if(k.length===0)return Object.freeze({outcome:"empty"});let J=k.filter(Sa);return k.some(Pa)?(A.value=J,K.value=true,Object.freeze({outcome:"confirmation-required"})):J.length===0?Object.freeze({outcome:"all-skipped"}):($(J),Object.freeze({outcome:"picker-opened"}))}function P(){let k=zi(A.value);return C(),k.length===0?Object.freeze({outcome:"all-skipped"}):($(k),Object.freeze({outcome:"picker-opened"}))}async function G(k){let J=D.value,me=H();if(J===null)return Object.freeze({ok:false,operation:"forward",reason:"empty-input"});let Re=n.getGeneration(),we=++v,Me=await ha(n,{handle:me,messages:J,targets:k});return h||we!==v||n.getGeneration()!==Re||H()!==me?Object.freeze({ok:false,operation:"forward",reason:"stale"}):((Me.ok||Me.reason!=="stale")&&L(),Me.ok&&Q(),W.value=Me.ok?null:Me.error??null,r.record(Me.ok?"debug":"error","pinia","message","message-forward-settled",()=>({generation:Re,conversation:me===void 0?void 0:{...me.ref},result:Me.ok?{ok:true,sentCount:Me.sentCount,skippedCount:Me.skippedCount}:{ok:false,reason:Me.reason,error:Me.error}})),Me)}function O(k,J,me){W.value=k.ok?null:k.error??null,r.record(k.ok?"debug":"error","pinia","message",`message-${k.operation}-settled`,()=>({generation:n.getGeneration(),conversation:me===void 0?void 0:{...me.ref},messageId:J,result:k.ok?{ok:true}:{ok:false,reason:k.reason,error:k.error}}));}function N(k,J){return J!==void 0&&(h||H()!==J)?Object.freeze({ok:false,operation:k.operation,reason:"stale"}):k}async function ne(k){let J=H(),me=N(await ja(n,{handle:J,message:k}),J);return O(me,k.id,J),me}async function se(k){let J=H(),me=N(await ka(n,{handle:J,message:k}),J);return O(me,k.id,J),me}async function fe(k){let J=H(),me=N(await la$1(n,{handle:J,message:k}),J);return O(me,k.id,J),me}async function Ie(k,J){let me=H(),Re=N(await ma(n,{handle:me,messageId:k,options:J}),me);return O(Re,k,me),Re}function Se(){let k=o.activeRef;if(!(k?.conversationType!=="group"&&k?.conversationType!=="channel"))return Object.freeze({conversationId:k.conversationId,conversationType:k.conversationType})}function ie(k,J,me){let Re=Se();return !h&&k===z&&J!==void 0&&H()===J&&Re?.conversationId===me.conversationId&&Re.conversationType===me.conversationType}function te(k,J,me){let Re=Se();return !h&&k===V&&H()===J&&Re?.conversationId===me.conversationId&&Re.conversationType===me.conversationType}function ae(k){if(x.value=x.value.filter(J=>J.id!==k),A.value=A.value.filter(J=>J.id!==k),D.value!==null){let J=D.value.filter(me=>me.id!==k);D.value=J.length===0?null:J;}s.editingMessage?.id===k&&s.clearEditing();}async function Pe(k){let J=Se(),me=H();if(J===void 0||!F(k,me))return Object.freeze({ok:false,operation:"pin",reason:"not-ready"});let Re=++z;V+=1;let we=await oa(n,{conversation:J,message:k});return ie(Re,me,J)?(we.ok&&we.operation==="pin"?(m.value=we.value,ae(we.value.messageId),W.value=null):W.value=we.ok?null:we.error??null,we):Object.freeze({ok:false,operation:"pin",reason:"stale"})}async function Te(){let k=Se(),J=H();if(k===void 0||J===void 0)return Object.freeze({ok:false,operation:"unpin",reason:"not-ready"});let me=++z;V+=1;let Re=await pa(n,k);return ie(me,J,k)?(Re.ok&&Re.operation==="unpin"?(m.value=null,W.value=null):W.value=Re.ok?null:Re.error??null,Re):Object.freeze({ok:false,operation:"unpin",reason:"stale"})}function ke(){let k=Se();if(k===void 0){m.value=null;return}try{m.value=ra$1(n,k);}catch{m.value=null;}}async function _(){let k=Se(),J=H();if(k===void 0||J===void 0)return Object.freeze({ok:false,operation:"sync-pin",reason:"not-ready"});let me=n.getGeneration(),Re=++V;ke();let we=await qa(n,k);return n.getGeneration()!==me||!te(Re,J,k)?Object.freeze({ok:false,operation:"sync-pin",reason:"stale"}):(we.ok&&we.operation==="sync-pin"?(m.value=we.value,W.value=null):W.value=we.ok?null:we.error??null,we)}function U(k){let J=new Map(k.map(Me=>[Me.id,Me])),me=Me=>{let j=Me.flatMap(M=>{let q=J.get(M.id);return q!==void 0&&Xt(q)?[q]:[]});return j.length===Me.length&&j.every((M,q)=>toRaw(Me[q])===toRaw(M))?Me:j};if(x.value=me(x.value),A.value=me(A.value),D.value!==null){let Me=me(D.value);D.value=Me.length===0?null:Me;}let Re=s.editingMessage;if(Re!==null){let Me=J.get(Re.id);(Me===void 0||!Xt(Me))&&s.clearEditing();}let we=s.input?.replyToMessageId;if(we!==void 0){let Me=J.get(we);Me!==void 0&&!Xt(Me)&&s.clearReplyTo(we);}}let ge=watch(()=>({ref:o.activeRef===null?null:`${o.activeRef.conversationType}:${o.activeRef.conversationId}`,messages:o.messages}),(k,J)=>{k.ref!==J?.ref&&(v+=1,z+=1,V+=1,ke(),g.value=false,x.value=[],D.value=null,C(),W.value=null),U(k.messages);},{immediate:true}),be=n.subscribeEvents(k=>{if(k.type!=="pinned-message:updated")return;let J=Se();if(!(J===void 0||J.conversationId!==k.conversation.conversationId||J.conversationType!==k.conversation.conversationType)){if(V+=1,k.pinnedMessage===null){m.value=null;return}try{m.value=ra$1(n,J),ae(k.pinnedMessage.messageId);}catch{}}});function he(){v+=1,z+=1,V+=1,g.value=false,x.value=[],D.value=null,C(),W.value=null,ke();}function Ve(){h||(h=true,ge(),be(),he());}return Kr.set(e,Object.freeze({dispose:Ve})),{activePinnedMessage:m,isMessageMultiSelect:g,selectedMessages:x,forwardPickerMessages:D,forwardTypeConfirmOpen:K,pendingForwardReadyMessages:A,error:W,enterMultiSelect:pe,exitMultiSelect:Q,isSelected:B,toggleSelection:y$1,openForwardPicker:$,closeForwardPicker:L,prepareForwardFromSelection:oe,cancelForwardTypeConfirmation:C,confirmForwardTypeConfirmation:P,forward:G,recall:ne,deleteLocal:se,deleteForEveryone:fe,retry:Ie,pin:Pe,unpin:Te,syncPinned:_,isPinnedMessageProtected:R,reset:he}})}var Di=new WeakMap,_r=new WeakMap;function Yt(e=ze()){Oe(e);let n=Di.get(e);n===void 0&&(n=Fc(e),Di.set(e,n));let r=n(e),o=Kr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImMessageOperationsStore");return _r.get(e)!==r&&(_r.set(e,r),Ge(e,()=>{o.dispose(),r.$dispose(),_r.get(e)===r&&(_r.delete(e),Kr.get(e)===o&&Kr.delete(e));})),r}var Ho=Object.freeze({availability:"unknown",reason:"not-ready"});function Hc(e){return defineStore("k2-im-capabilities",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=Be(e),s=Yt(e),c=shallowRef(null),m=false,g,x,D;function K$1(){x!==void 0&&(clearTimeout(x),x=void 0);}function A(y){K$1();let $=y.nextEvaluationAt;if($===void 0)return;let oe=Math.max(0,$-Date.now());x=setTimeout(()=>{x=void 0,v();},oe);}function W(y){m||(c.value=y,A(y));}function h(y){let $=o.activeRef;return $!==null&&$.conversationType===y.conversationType&&$.conversationId===y.conversationId}function v(y=Date.now()){let $=o.activeRef,oe=n.getProductClient();$===null||oe===null||W(oe.capabilities.get($,{nowMs:y}));}function z(){g?.(),g=void 0,K$1(),c.value=null;let y=o.activeRef,$=n.getProductClient();y===null||$===null||(g=$.capabilities.subscribe(y,W));}function V(){z();}function H(){g?.(),g=void 0,K$1(),c.value=null;}async function F(){let y=o.activeRef,$=n.getProductClient();if(y===null||$===null)return;let oe=n.getGeneration();try{let P=await $.capabilities.refresh(y);if(m||oe!==n.getGeneration()||!h(y))return;W(P);}catch(P){if(m||oe!==n.getGeneration()||!h(y))return;r.record("warn","pinia","profile","capability-refresh-failed",()=>({conversation:{...y},error:{message:"\u5237\u65B0\u4F1A\u8BDD\u80FD\u529B\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u672C\u673A\u5FEB\u7167",data:P}})),W($.capabilities.get(y));}}function R(y){return c.value===null?Ho:K(c.value,y)}function C(y){return R(y)}function L$1(y){return R(y)}function Q(y,$){let oe=c.value;return oe===null?Ho:M(y,{snapshot:oe,selfId:n.getCredentials().userId,...$})}function pe(y,$){let oe=c.value;return oe===null?Ho:L(y,{snapshot:oe,message:$,selfId:n.getCredentials().userId,pinnedMessage:s.activePinnedMessage})}function B(){m||(m=true,D?.(),D=void 0,H());}return D=watch(()=>o.activeRef,z,{deep:true,immediate:true}),{activeSnapshot:c,start:V,reset:H,refresh:F,conversationAction:R,profileAction:C,memberAction:L$1,memberTargetAction:Q,messageAction:pe,dispose:B}})}var Gi=new WeakMap,Nr=new WeakMap;function Lc(e=ze()){Oe(e);let n=Gi.get(e);n===void 0&&(n=Hc(e),Gi.set(e,n));let r=n(e);return Nr.get(e)!==r&&(Nr.set(e,r),Ge(e,()=>{r.dispose(),r.$dispose(),Nr.get(e)===r&&Nr.delete(e);})),r}var Zt=new WeakMap;function _i(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Uc(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function qc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Fi(e,n,r){let o=typeof e=="object"&&e!==null?e:null,s=n==="flush"?"IM_CHAT_KIT_DRAFT_SAVE_FAILED":"IM_CHAT_KIT_THREAD_OPERATION_FAILED";return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:s,category:o!==null&&qc(o.category)?o.category:"state",operation:`conversation.activate.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="flush",conversation:_i(r)})}function Ki(e,n){return e?.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Vc(e=ze()){let n=Oe(e),r=Zt.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=et(e),m=Be(e),g={conversation:null,epoch:0,disposed:false,invalidatePendingOpen:m.invalidatePendingOpen};async function x(D,K){let A=_i(D),W=K?.signal;if(W?.aborted===true)return Object.freeze({ok:false,reason:"stale",conversation:A});g.conversation=A;let h=++g.epoch,v=o.getGeneration(),z=()=>!g.disposed&&g.epoch===h&&o.getGeneration()===v;m.invalidatePendingOpen();let V=()=>{z()&&(g.epoch+=1,m.invalidatePendingOpen());};W?.addEventListener("abort",V,{once:true});try{if(s.record("debug","pinia","conversation","conversation-activation-start",()=>({generation:v,conversation:A})),!Uc(A))return s.record("warn","pinia","conversation","conversation-activation-unsupported",()=>({generation:v,conversation:A})),Object.freeze({ok:!1,reason:"unsupported",conversation:A});let H=m.getHandle(),F=async()=>{if(H!==void 0)for(;z()&&c.hasPendingWork(H);)await c.flush(H);};if(H!==void 0&&c.hasPendingWork(H))try{await F();}catch(C){if(!z())return Object.freeze({ok:!1,reason:"stale",conversation:A});let L=Fi(C,"flush",A);return s.record("warn","pinia","conversation","conversation-activation-draft-save-failed",()=>({generation:v,conversation:A,error:{message:"\u4F1A\u8BDD\u6FC0\u6D3B\u524D\u4FDD\u5B58\u8349\u7A3F\u5931\u8D25",data:L}})),Object.freeze({ok:!1,reason:"draft-save-failed",conversation:A,error:L})}if(!z())return Object.freeze({ok:!1,reason:"stale",conversation:A});if(m.getHandle()!==void 0&&Ki(m.activeRef,A))return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:v,conversation:A,data:{reused:!0}})),Object.freeze({ok:!0,status:"opened",conversation:A});let R=!1;try{if(await m.open(A,{beforeCommit:async()=>{try{await F();}catch(L){throw R=!0,L}}})===void 0||!z())return Object.freeze({ok:!1,reason:"stale",conversation:A})}catch(C){if(!z())return Object.freeze({ok:!1,reason:"stale",conversation:A});let L=Fi(C,R?"flush":"open",A);return s.record("warn","pinia","conversation",R?"conversation-activation-draft-save-failed":"conversation-activation-open-failed",()=>({generation:v,conversation:A,error:{message:R?"\u5207\u6362\u524D\u4FDD\u5B58\u65B0\u589E\u8349\u7A3F\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B":"\u76EE\u6807\u4F1A\u8BDD\u6253\u5F00\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:L}})),Object.freeze({ok:!1,reason:R?"draft-save-failed":"open-failed",conversation:A,error:L})}return s.record("debug","pinia","conversation","conversation-activation-complete",()=>({generation:v,conversation:A})),Object.freeze({ok:!0,status:"opened",conversation:A})}finally{W?.removeEventListener("abort",V);}}return g.coordinator=Object.freeze({activate:x}),Zt.set(e,g),Ge(e,()=>{g.disposed=true,g.conversation=null,g.epoch+=1,Zt.get(e)===g&&Zt.delete(e);}),g.coordinator}function Ni(e,n){let r=Zt.get(e);r===void 0||r.disposed||!Ki(r.conversation,n)||(r.epoch+=1,r.invalidatePendingOpen());}function Hi(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Qc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function yt(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CONVERSATION_LIST_ACTION_FAILED",category:o!==null&&Qc(o.category)?o.category:"state",operation:o!==null&&typeof o.operation=="string"?o.operation:`conversation-list.${n}`,retryable:o!==null&&typeof o.retryable=="boolean"?o.retryable:n==="refresh"||n==="set-muted"||n==="mark-read",...r===void 0?{}:{conversation:r}})}function Jc(e){return defineStore("k2-im-conversation-list",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=ref([]),s$1=ref("idle"),c=ref(0),m=computed(()=>s(o.value)),g=shallowRef(null),x=false,D=null,K,A=0;function W(P="idle"){o.value=[],s$1.value=P,c.value=0,g.value=null;}function h(P,G,O){x||D!==G||n.getGeneration()!==O||(o.value=P.items,s$1.value=P.state,c.value=P.totalUnread,g.value=P.error??null);}function v(P){if(x)throw new Error("Conversation List Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(D===P||(K?.(),K=void 0,D=P,A+=1,W(),P===null))return;let G=n.getGeneration();K=P.conversations.subscribe(O=>h(O,P,G)),r.record("debug","pinia","conversation","conversation-list-subscribed",()=>({generation:G}));}function z(){v(n.getProductClient());}function V(){v(null);}function H(P){return !x&&D===P.client&&n.getProductClient()===P.client&&n.getGeneration()===P.generation&&A===P.bindingEpoch}function F(){let P=n.ensureProductClient();return v(P),{client:P,generation:n.getGeneration(),bindingEpoch:A}}async function R(){if(x)return Object.freeze({ok:false,operation:"refresh",reason:"stale"});let P;try{P=F();}catch(G){return Object.freeze({ok:false,operation:"refresh",reason:"failed",error:yt(G,"refresh")})}try{return await P.client.conversations.refresh(),H(P)?Object.freeze({ok:!0,operation:"refresh"}):Object.freeze({ok:!1,operation:"refresh",reason:"stale"})}catch(G){return H(P)?Object.freeze({ok:false,operation:"refresh",reason:"failed",error:yt(G,"refresh")}):Object.freeze({ok:false,operation:"refresh",reason:"stale"})}}function C(P,G,O){let N=Hi(G);if(x)return Object.freeze({ok:false,operation:P,reason:"stale",conversation:N});let ne;try{ne=F();}catch(se){return Object.freeze({ok:false,operation:P,reason:"failed",conversation:N,error:yt(se,P,N)})}try{O(ne.client,N);}catch(se){return H(ne)?Object.freeze({ok:false,operation:P,reason:"failed",conversation:N,error:yt(se,P,N)}):Object.freeze({ok:false,operation:P,reason:"stale",conversation:N})}return H(ne)?Object.freeze({ok:true,operation:P,conversation:N}):Object.freeze({ok:false,operation:P,reason:"stale",conversation:N})}async function L(P,G,O){let N=Hi(G);if(x)return Object.freeze({ok:false,operation:P,reason:"stale",conversation:N});let ne;try{ne=F();}catch(se){return Object.freeze({ok:false,operation:P,reason:"failed",conversation:N,error:yt(se,P,N)})}try{return await O(ne.client,N),H(ne)?Object.freeze({ok:!0,operation:P,conversation:N}):Object.freeze({ok:!1,operation:P,reason:"stale",conversation:N})}catch(se){return H(ne)?Object.freeze({ok:false,operation:P,reason:"failed",conversation:N,error:yt(se,P,N)}):Object.freeze({ok:false,operation:P,reason:"stale",conversation:N})}}function Q(P,G){return C("set-pinned",P,(O,N)=>O.conversations.setPinned(N,G))}function pe(P,G){return L("set-muted",P,(O,N)=>O.conversations.setMuted(N,G))}function B(P){return L("mark-read",P,(G,O)=>G.conversations.markRead(O))}function y(P){return C("mark-unread",P,(G,O)=>G.conversations.markUnread(O))}function $(P){return C("delete-local",P,(G,O)=>G.conversations.deleteLocal(O))}function oe(){x||(K?.(),K=void 0,D=null,W(),x=true);}return {items:o,state:s$1,totalUnread:c,unreadConversationCount:m,error:g,start:z,reset:V,refresh:R,setPinned:Q,setMuted:pe,markRead:B,markUnread:y,deleteLocal:$,dispose:oe}})}var Li=new WeakMap,Hr=new WeakMap;function Uo(e=ze()){Oe(e);let n=Li.get(e);n===void 0&&(n=Jc(e),Li.set(e,n));let r=n(e);return Hr.get(e)!==r&&(Hr.set(e,r),Ge(e,()=>{r.dispose(),r.$dispose(),Hr.get(e)===r&&Hr.delete(e);})),r}function nt(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function Lr(e){return Object.freeze({userId:e.userId.trim(),role:e.role})}function Xc(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Yc(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_FAILED",category:o!==null&&Xc(o.category)?o.category:"state",operation:`channel-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function bt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Ct(e,n){return bt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_INVALID_INPUT",category:"validation",operation:`channel-member-management.${e}`,retryable:false,conversation:n}))}function Zc(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`channel-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function Ui(e,n){return n!==void 0&&n.userId!==""&&n.userId!==e.getCredentials().userId&&(n.role==="member"||n.role==="admin")}function eu(e,n,r,o,s){let c=n.capabilities.get(r);if(c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(o==="invite-members")return c.value.canInviteMembers;if(o==="remove-member")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):M("members.removeTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="add-admin"||o==="remove-admin")return s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):M(o==="add-admin"?"members.setAdminTarget":"members.unsetAdminTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role});if(o==="transfer-ownership")return Ui(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"});if(o==="leave"){if(s===void 0)return c.value.canLeave;let m=c.value.canLeave;return m.availability!=="available"?m:Ui(e,s)?c.value.canTransferOwnership:Object.freeze({availability:"unavailable",reason:"role-insufficient"})}return c.value.canDismiss}function nu(e,n,r,o){let s=nt(r);if(s.conversationId==="")return {ok:false,result:Ct(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:bt(n,s,"not-ready")};let m=e.getGeneration(),g=eu(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:bt(n,s,"not-allowed",Zc(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Rt(e,n,r,o,s){let c=nu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:bt(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return bt(n,c.captured.conversation,"stale");let g=Yc(m,n,c.captured.conversation),x=n==="leave"&&g.code==="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return bt(n,c.captured.conversation,x,g)}}function tu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function qi(e,n,r){let o=nt(n),s=tu(r);return s.length===0?Promise.resolve(Ct("invite-members",o)):Rt(e,"invite-members",o,async({client:c})=>(await c.channels.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Vi(e,n,r){let o=nt(n),s=Lr(r);return s.userId===""?Promise.resolve(Ct("remove-member",o)):Rt(e,"remove-member",o,async({client:c})=>(await c.channels.removeMember(o,s.userId),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Bi(e,n,r,o){let s=nt(n),c=Lr(r),m=o?"add-admin":"remove-admin";return c.userId===""?Promise.resolve(Ct(m,s)):Rt(e,m,s,async({client:g})=>(o?await g.channels.addAdmin(s,c.userId):await g.channels.removeAdmin(s,c.userId),Object.freeze({ok:!0,operation:m,conversation:s,outcome:o?"admin-added":"admin-removed",memberId:c.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),c)}function $i(e,n,r){return Bi(e,n,r,true)}function Wi(e,n,r){return Bi(e,n,r,false)}function Qi(e,n,r){let o=nt(n),s=Lr(r);return s.userId===""?Promise.resolve(Ct("transfer-ownership",o)):Rt(e,"transfer-ownership",o,async({client:c})=>(await c.channels.transferOwnership(o,s.userId),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s.userId,stale:!1,projectionUpdated:!1,refreshRequired:!0})),s)}function Ji(e,n,r){let o=nt(n),s=r===void 0?void 0:Lr(r);return s!==void 0&&s.userId===""?Promise.resolve(Ct("leave",o)):Rt(e,"leave",o,async({client:c})=>(await c.channels.leave(o,s===void 0?void 0:{newOwnerId:s.userId}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s.userId},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s)}function Xi(e,n){let r=nt(n);return Rt(e,"dismiss",r,async({client:o})=>(await o.channels.dismiss(r),Object.freeze({ok:!0,operation:"dismiss",conversation:r,outcome:"dismissed",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function er(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId.trim()})}function ru(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function ou(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_CHANNEL_PROFILE_OPERATION_FAILED",category:o!==null&&ru(o.category)?o.category:"state",operation:`channel-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function Pt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function kt(e,n){return Pt(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_INVALID_INPUT",category:"validation",operation:`channel-profile.${e}`,retryable:false,conversation:n}))}function au(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_CHANNEL_PROFILE_ACTION_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`channel-profile.${e}`,retryable:r.availability==="unknown",conversation:n})}function iu(e,n,r,o,s){let c=n.capabilities.get(r);return c.conversationType!=="channel"||c.ref.conversationId!==r.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):o==="set-my-nickname"?c.value.canLeave:o==="set-member-nickname"?s===void 0?Object.freeze({availability:"unknown",reason:"not-ready"}):M("members.editNicknameTarget",{snapshot:c,selfId:e.getCredentials().userId,targetUserId:s.userId,targetRole:s.role}):o==="set-all-muted"?c.value.canManageMute:o==="set-member-private-chat-disabled"?c.value.canSetMemberPrivateChat:c.value.canEditProfile}function su(e,n,r,o){let s=er(r);if(s.conversationId==="")return {ok:false,result:kt(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Pt(n,s,"not-ready")};let m=e.getGeneration(),g=iu(e,c,s,n,o);return g.availability!=="available"?{ok:false,result:Pt(n,s,"not-allowed",au(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function Ln(e,n,r,o,s){let c=su(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:Pt(n,c.captured.conversation,"stale")}catch(m){return c.captured.isCurrent()?Pt(n,c.captured.conversation,"failed",ou(m,n,c.captured.conversation)):Pt(n,c.captured.conversation,"stale")}}function Yi(e,n,r){let o=er(n),s=r.trim();return s===""||[...s].length>15?{ok:false,result:kt(e,o)}:{ok:true,value:s}}function Zi(e,n,r){let o=r.trim();return o===""?Promise.resolve(kt("update-name",er(n))):Ln(e,"update-name",n,async({client:s,conversation:c})=>(await s.channels.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}var lu=100;function es(e,n,r){let o=r.trim();return o===""||[...o].length>lu?Promise.resolve(kt("update-description",er(n))):Ln(e,"update-description",n,async({client:s,conversation:c})=>(await s.channels.updateDescription(c,o),Object.freeze({ok:!0,operation:"update-description",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function ns(e,n,r){return Ln(e,"update-avatar",n,async({client:o,conversation:s})=>{let c=(await o.channels.updateAvatar(s,r)).trim();return c===""?kt("update-avatar",s):Object.freeze({ok:!0,operation:"update-avatar",conversation:s,outcome:"updated",avatar:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})})}function ts(e,n,r){let o=Yi("set-my-nickname",n,r);return o.ok?Ln(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.channels.setMyNickname(c,o.value),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1}))):Promise.resolve(o.result)}function rs(e,n,r,o,s){let c=r.trim(),m=Yi("set-member-nickname",n,s);if(c===""||!m.ok)return Promise.resolve(m.ok?kt("set-member-nickname",er(n)):m.result);let g=Object.freeze({userId:c,role:o});return Ln(e,"set-member-nickname",n,async({client:x,conversation:D})=>(await x.channels.setMemberNickname(D,c,m.value),Object.freeze({ok:!0,operation:"set-member-nickname",conversation:D,outcome:"updated",memberId:c,stale:!1,projectionUpdated:!1,refreshRequired:!1})),g)}function os(e,n,r,o){return Ln(e,"update-verification",n,async({client:s,conversation:c})=>(await s.channels.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function as(e,n,r){return Ln(e,"set-all-muted",n,async({client:o,conversation:s})=>(await o.channels.setAllMuted(s,r),Object.freeze({ok:!0,operation:"set-all-muted",conversation:s,outcome:"updated",muted:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function is(e,n,r){return Ln(e,"set-member-private-chat-disabled",n,async({client:o,conversation:s})=>(await o.channels.setMemberPrivateChatDisabled(s,r),Object.freeze({ok:!0,operation:"set-member-private-chat-disabled",conversation:s,outcome:"updated",disabled:r,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function cu(e){return Object.freeze({conversationType:"direct",conversationId:e.conversationId.trim()})}function uu(e){return Object.freeze({conversationType:"direct",conversationId:e.trim()})}function du(e){let n=e.getProductClient();if(n===null)return null;let r=e.getGeneration();return Object.freeze({client:n,isCurrent:()=>e.getGeneration()===r&&e.getProductClient()===n})}function fu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function mu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_DIRECT_CONTACT_OPERATION_FAILED",category:o!==null&&fu(o.category)?o.category:"state",operation:`direct-contact.${n}`,retryable:o?.retryable===true,...r===null?{}:{conversation:r}})}function tt(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Ur(e,n){return Object.freeze({code:"IM_CHAT_KIT_DIRECT_CONTACT_INVALID_INPUT",category:"validation",operation:`direct-contact.${e}`,retryable:false,...n===null?{}:{conversation:n}})}async function rt(e,n,r,o){let s=du(e);if(s===null)return {ok:false,result:tt(n,r,"not-ready")};try{let c=await o(s.client);return s.isCurrent()?{ok:!0,value:c}:{ok:!1,result:tt(n,r,"stale")}}catch(c){return s.isCurrent()?{ok:false,result:tt(n,r,"failed",mu(c,n,r))}:{ok:false,result:tt(n,r,"stale")}}}function Mt(e,n){let r=cu(n);return r.conversationId===""?{ok:false,result:tt(e,r,"failed",Ur(e,r))}:{ok:true,conversation:r}}async function ss(e,n,r){let o=Mt("set-remark",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await rt(e,"set-remark",s,m=>m.contacts.setRemark(s.conversationId,Object.freeze({...r.name===void 0?{}:{name:r.name},...r.emails===void 0?{}:{emails:Object.freeze([...r.emails])},...r.phones===void 0?{}:{phones:Object.freeze(r.phones.map(g=>Object.freeze({countryCode:g.countryCode,mobile:g.mobile})))}})));return c.ok?Object.freeze({ok:true,operation:"set-remark",conversation:s,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:false}):c.result}async function ls(e,n){let r=Mt("block",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await rt(e,"block",o,c=>c.contacts.blockUser(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"block",conversation:o,outcome:"blocked",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function cs(e,n,r){let o=Mt("report",n);if(!o.ok)return o.result;let{conversation:s}=o,c=r.trim();if(c==="")return tt("report",s,"failed",Ur("report",s));let m=await rt(e,"report",s,g=>g.contacts.reportUser(s.conversationId,c));return m.ok?Object.freeze({ok:true,operation:"report",conversation:s,outcome:"reported",stale:false,projectionUpdated:false,refreshRequired:false}):m.result}async function us(e,n){let r=Mt("delete-friendship",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await rt(e,"delete-friendship",o,c=>c.contacts.deleteFriendship(o.conversationId));return s.ok?Object.freeze({ok:true,operation:"delete-friendship",conversation:o,outcome:"deleted",stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ds(e,n){let r=n.trim();if(r==="")return tt("search-user",null,"failed",Ur("search-user",null));let o=await rt(e,"search-user",null,m=>m.contacts.searchUser(r));if(!o.ok)return !o.result.ok&&!o.result.stale&&o.result.error?.code==="IM_SDK_CONTACT_SEARCH_NO_MATCH"?Object.freeze({ok:true,operation:"search-user",conversation:null,outcome:"not-found",target:null,stale:false,projectionUpdated:false,refreshRequired:false}):o.result;let s=o.value,c=s===null?null:uu(s.userId);return Object.freeze({ok:true,operation:"search-user",conversation:c,outcome:s===null?"not-found":"found",target:s,stale:false,projectionUpdated:false,refreshRequired:false})}async function fs(e,n){let r=Mt("resolve-application-target",n);if(!r.ok)return r.result;let{conversation:o}=r,s=await rt(e,"resolve-application-target",o,async c=>{let[m,g]=await Promise.all([c.contacts.getProfile(o.conversationId),c.contacts.getRelationship(o.conversationId)]);if(m===null)return null;if(m.userId!==o.conversationId)throw Ur("resolve-application-target",o);return Object.freeze({userId:m.userId,displayName:m.displayName,nickname:m.nickname,relationship:g,...m.avatar===void 0?{}:{avatarUrl:m.avatar},...m.miCallId===void 0?{}:{miCallId:m.miCallId},...m.signature===void 0?{}:{signature:m.signature},...m.age===void 0?{}:{age:m.age}})});return s.ok?Object.freeze({ok:true,operation:"resolve-application-target",conversation:o,outcome:s.value===null?"not-found":"found",target:s.value,stale:false,projectionUpdated:false,refreshRequired:false}):s.result}async function ms(e,n,r){let o=Mt("request-friendship",n);if(!o.ok)return o.result;let{conversation:s}=o,c=await rt(e,"request-friendship",s,m=>m.contacts.requestFriendship(s.conversationId,Object.freeze({message:r.message,...r.remark===void 0?{}:{remark:r.remark}})));return c.ok?Object.freeze({ok:true,operation:"request-friendship",conversation:s,outcome:c.value.status,stale:false,projectionUpdated:false,refreshRequired:false}):c.result}function nr(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function pu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function vu(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_FAILED",category:o!==null&&pu(o.category)?o.category:"state",operation:`group-member-management.${n}`,retryable:o?.retryable===true,conversation:r})}function Ot(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function tr(e,n){return Ot(e,n,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_INVALID_INPUT",category:"validation",operation:`group-member-management.${e}`,retryable:false,conversation:n}))}function gu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_MEMBER_MANAGEMENT_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-member-management.${e}`,retryable:r.availability==="unknown",conversation:n})}function Iu(e,n,r,o){let s=e.capabilities.get(n);if(s.conversationType!=="group"||s.ref.conversationId!==n.conversationId)return Object.freeze({availability:"unknown",reason:"not-ready"});if(r==="invite-members")return s.value.canInviteMembers;if(r==="remove-member")return s.value.canManageMembers;if(r==="transfer-ownership")return s.value.canTransferOwnership;let c=s.value.canLeave;return c.availability!=="available"||!o?c:s.value.canTransferOwnership}function hu(e,n,r,o=false){let s=nr(r);if(s.conversationId==="")return {ok:false,result:tr(n,s)};let c=e.getProductClient();if(c===null)return {ok:false,result:Ot(n,s,"not-ready")};let m=e.getGeneration(),g=Iu(c,s,n,o);return g.availability!=="available"?{ok:false,result:Ot(n,s,"not-allowed",gu(n,s,g))}:{ok:true,captured:Object.freeze({client:c,conversation:s,isCurrent:()=>e.getGeneration()===m&&e.getProductClient()===c})}}async function qr(e,n,r,o,s=false){let c=hu(e,n,r,s);if(!c.ok)return c.result;try{let m=await o(c.captured);return c.captured.isCurrent()?m:Ot(n,c.captured.conversation,"stale")}catch(m){if(!c.captured.isCurrent())return Ot(n,c.captured.conversation,"stale");let g=vu(m,n,c.captured.conversation),x=n==="leave"&&g.code==="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED"?"transfer-required":"failed";return Ot(n,c.captured.conversation,x,g)}}function yu(e){return Object.freeze([...new Set(e.map(n=>n.trim()).filter(Boolean))])}function ps(e,n,r){let o=nr(n),s=yu(r);return s.length===0?Promise.resolve(tr("invite-members",o)):qr(e,"invite-members",o,async({client:c})=>(await c.groups.inviteMembers(o,s),Object.freeze({ok:!0,operation:"invite-members",conversation:o,outcome:"invited",memberIds:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function vs(e,n,r){let o=nr(n),s=r.trim();return s===""?Promise.resolve(tr("remove-member",o)):qr(e,"remove-member",o,async({client:c})=>(await c.groups.removeMember(o,s),Object.freeze({ok:!0,operation:"remove-member",conversation:o,outcome:"removed",memberId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function gs(e,n,r){let o=nr(n),s=r.trim();return s===""?Promise.resolve(tr("transfer-ownership",o)):qr(e,"transfer-ownership",o,async({client:c})=>(await c.groups.transferOwnership(o,s),Object.freeze({ok:!0,operation:"transfer-ownership",conversation:o,outcome:"transferred",ownerId:s,stale:!1,projectionUpdated:!1,refreshRequired:!0})))}function Is(e,n,r={}){let o=nr(n),s=r.newOwnerId?.trim();return r.newOwnerId!==void 0&&s===""?Promise.resolve(tr("leave",o)):qr(e,"leave",o,async({client:c})=>(await c.groups.leave(o,s===void 0?void 0:{newOwnerId:s}),Object.freeze({ok:!0,operation:"leave",conversation:o,outcome:"left",...s===void 0?{}:{newOwnerId:s},stale:!1,projectionUpdated:!1,refreshRequired:!1})),s!==void 0)}function qo(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId.trim()})}function bu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function hs(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:o!==null&&typeof o.code=="string"?o.code:"IM_CHAT_KIT_GROUP_PROFILE_OPERATION_FAILED",category:o!==null&&bu(o.category)?o.category:"state",operation:`group-profile.${n}`,retryable:o?.retryable===true,conversation:r})}function pn(e,n,r,o){return Object.freeze({ok:false,operation:e,conversation:n,outcome:r,stale:r==="stale",projectionUpdated:false,refreshRequired:false,...o===void 0?{}:{error:o}})}function Cu(e,n,r){return Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_ACTION_UNAVAILABLE",category:r.availability==="unavailable"?"permission":"state",operation:`group-profile.${e}`,retryable:r.availability==="unknown",conversation:n})}function Ru(e,n,r){let o=e.capabilities.get(n);return o.conversationType!=="group"||o.ref.conversationId!==n.conversationId?Object.freeze({availability:"unknown",reason:"not-ready"}):r==="update-verification"?o.value.canUpdateVerification:r==="set-my-nickname"?o.value.membership==="active"?Object.freeze({availability:"available",reason:"ok"}):Object.freeze({availability:o.value.membership==="unknown"?"unknown":"unavailable",reason:o.value.membership==="unknown_restricted"?"unknown-restricted":o.value.membership}):o.value.canEditProfile}function ys(e,n,r){let o=qo(r);if(o.conversationId==="")return {ok:false,result:pn(n,o,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:`group-profile.${n}`,retryable:false,conversation:o}))};let s=e.getProductClient();if(s===null)return {ok:false,result:pn(n,o,"not-ready")};let c=e.getGeneration(),m=Ru(s,o,n);return m.availability!=="available"?{ok:false,result:pn(n,o,"not-allowed",Cu(n,o,m))}:{ok:true,captured:Object.freeze({client:s,conversation:o,isCurrent:()=>e.getGeneration()===c&&e.getProductClient()===s})}}async function Vo(e,n,r,o){let s=ys(e,n,r);if(!s.ok)return s.result;try{let c=await o(s.captured);return s.captured.isCurrent()?c:pn(n,s.captured.conversation,"stale")}catch(c){return s.captured.isCurrent()?pn(n,s.captured.conversation,"failed",hs(c,n,s.captured.conversation)):pn(n,s.captured.conversation,"stale")}}function bs(e,n,r){let o=r.trim();if(o===""){let s=qo(n);return Promise.resolve(pn("update-name",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.update-name",retryable:false,conversation:s})))}return Vo(e,"update-name",n,async({client:s,conversation:c})=>(await s.groups.updateName(c,o),Object.freeze({ok:!0,operation:"update-name",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Cs(e,n,r){let o=r.trim();if(o===""){let s=qo(n);return Promise.resolve(pn("set-my-nickname",s,"failed",Object.freeze({code:"IM_CHAT_KIT_GROUP_PROFILE_INVALID_INPUT",category:"validation",operation:"group-profile.set-my-nickname",retryable:false,conversation:s})))}return Vo(e,"set-my-nickname",n,async({client:s,conversation:c})=>(await s.groups.setMyNickname(c,o),Object.freeze({ok:!0,operation:"set-my-nickname",conversation:c,outcome:"updated",memberId:e.getCredentials().userId,stale:!1,projectionUpdated:!1,refreshRequired:!1})))}function Rs(e,n,r,o){return Vo(e,"update-verification",n,async({client:s,conversation:c})=>(await s.groups.updateVerification(c,r,o),Object.freeze({ok:!0,operation:"update-verification",conversation:c,outcome:"updated",stale:!1,projectionUpdated:!1,refreshRequired:!1})))}async function Ps(e,n,r){let o=ys(e,"update-avatar",n);if(!o.ok)return o.result;let{captured:s}=o;try{await s.client.groups.updateAvatar(s.conversation,r);}catch(c){return s.isCurrent()?pn("update-avatar",s.conversation,"failed",hs(c,"update-avatar",s.conversation)):pn("update-avatar",s.conversation,"stale")}if(!s.isCurrent())return pn("update-avatar",s.conversation,"stale");try{let c=await s.client.groups.getProfile(s.conversation,{forceRefresh:!0});if(!s.isCurrent())return pn("update-avatar",s.conversation,"stale");let m=c?.avatar?.trim();return Object.freeze({ok:!0,operation:"update-avatar",conversation:s.conversation,outcome:"updated",...m===void 0||m===""?{}:{avatar:m},stale:!1,projectionUpdated:!1,refreshRequired:m===void 0||m===""})}catch{return s.isCurrent()?Object.freeze({ok:true,operation:"update-avatar",conversation:s.conversation,outcome:"updated",stale:false,projectionUpdated:false,refreshRequired:true}):pn("update-avatar",s.conversation,"stale")}}function Pu(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ku(e,n){if(n.id!==e.conversationId)throw new Error("GROUP \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({ref:Pu(e),name:n.name,...n.avatar===void 0?{}:{avatar:n.avatar},...n.memberCount===void 0?{}:{memberCount:n.memberCount},...n.ownerId===void 0?{}:{ownerId:n.ownerId},...n.verifyWay===void 0?{}:{verifyWay:n.verifyWay},...n.inviteCode===void 0?{}:{inviteCode:n.inviteCode},...n.isInGroup===void 0?{}:{isInGroup:n.isInGroup}})}function ks(e){return Object.freeze(e.map(n=>Object.freeze({userId:n.userId,nickname:n.nickName,...n.joinType===void 0?{}:{joinType:n.joinType}})))}async function Ms(e,n,r={}){let o=e.ensureProductClient(),[s,c]=await Promise.all([r.forceRefresh===true?o.contacts.getProfile(n.conversationId,r):o.contacts.getProfile(n.conversationId),o.contacts.getRelationship(n.conversationId)]);return Object.freeze({profile:s,relationship:c})}async function Os(e,n){let r=await e.getClient()?.group.peekProfile(n.conversationId)??null;return r===null?null:ku(n,r.value)}function Ss(e,n,r){return e.ensureProductClient().groups.getProfile(n,r)}async function Ts(e,n){let r=n.trim();if(r==="")return Object.freeze([]);let o=e.ensureProductClient(),s=e.getClient();if(s===null)throw new Error("\u5171\u540C\u7FA4\u7EC4\u80FD\u529B\u672A\u8FDE\u63A5");let c=[],m=await o.groups.listFirstPage({pageSize:100});for(c.push(...m.items);!m.exhausted&&m.nextPageToken!==void 0;)m=await o.groups.listNextPage(m.nextPageToken),c.push(...m.items);let g=[];for(let x of c){let D=await s.group.listMembers(x.id,{forceRefresh:false});D!==null&&D.some(K=>K.userId===r)&&g.push(Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:x.id}),name:x.displayName||x.cardDisplayName||x.id,...x.avatarUrl===void 0?{}:{avatar:x.avatarUrl}}));}return Object.freeze(g)}async function Es(e,n){let r=await e.getClient()?.group.peekMembers(n.conversationId)??null;return r===null?null:Object.freeze({items:ks(r.value),stale:r.stale})}async function js(e,n){let r=await e.getClient()?.group.listMembers(n.conversationId,{forceRefresh:true})??null;return r===null?null:ks(r)}async function ws(e,n,r){let o=await e.ensureProductClient().channels.getProfile(n,r);if(o===null)return null;if(o.ref.conversationId!==n.conversationId)throw new Error("CHANNEL \u8D44\u6599\u54CD\u5E94\u8EAB\u4EFD\u4E0D\u5339\u914D");return Object.freeze({...o,canViewMembers:o.permissions.manageMembers===true||o.memberPrivateChatDisabled===false})}function xs(e,n,r){let o=e.ensureProductClient(),s=n==="individual"?o.contacts:n==="group"?o.groups:o.channels;return r===void 0?s.listFirstPage():s.listNextPage(r)}function As(e,n){return e.ensureProductClient().directory.search(n)}async function zs(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r.query?.trim()??"",c=s===""?await o.channel.listMembers({channelId:n.conversationId,cursor:r.cursor,limit:18}):await o.channel.searchMembers({channelId:n.conversationId,query:s,cursor:r.cursor,limit:18});return Bo(c)}function Bo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,...n.nickname===void 0?{}:{nickname:n.nickname},displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar},role:n.role}))),...e.nextCursor===void 0?{}:{nextCursor:e.nextCursor},exhausted:e.exhausted})}async function Ds(e,n,r,o={}){let s=e.getClient();if(s===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let c=r.trim();if(c==="")return null;let g=(await s.channel.getMembersByIds(n.conversationId,[c],o.forceRefresh===true?{forceRefresh:true}:void 0)).find(x=>x.userId===c);return g===void 0?null:Object.freeze({userId:g.userId,...g.nickname===void 0?{}:{nickname:g.nickname},displayName:g.displayName,...g.avatar===void 0?{}:{avatar:g.avatar},role:g.role})}async function $o(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"",c=await o.channel.getCachedMembers({channelId:n.conversationId,...s===""?{}:{query:s}});return c===null?null:Bo(c)}async function Gs(e,n,r){let o=e.getClient();if(o===null)throw new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u8FDE\u63A5");let s=r?.trim()??"";return Bo(await o.channel.refreshMembers({channelId:n.conversationId,...s===""?{}:{query:s}}))}function Wo(e){return Object.freeze({items:Object.freeze(e.items.map(n=>Object.freeze({userId:n.userId,displayName:n.displayName,...n.avatar===void 0?{}:{avatar:n.avatar}}))),...e.nextPageToken===void 0?{}:{nextPageToken:e.nextPageToken},exhausted:e.exhausted})}async function Qo(e,n,r){let o=await e.ensureProductClient().channels.mentions.getCachedPage(n,r);return o===null?null:Wo(o)}async function Fs(e,n,r){let o=e.ensureProductClient().channels.mentions,s=r?.trim()??"",c=s===""?await o.refreshFirstPage(n):await o.refreshSearchFirstPage(n,s);return Wo(c)}async function _s(e,n,r){let o=e.ensureProductClient().channels.mentions,s=n.trim()===""?await o.listNextPage(r):await o.searchNextPage(r);return Wo(s)}function Ks(e,n){let r=e.map(s=>`${s.kind}:${s.id}`),o=new Map(e.map(s=>[`${s.kind}:${s.id}`,s]));for(let s of n){let c=`${s.kind}:${s.id}`;o.has(c)||r.push(c),o.set(c,s);}return Object.freeze(r.map(s=>o.get(s)))}var Su=new Set(["group_member_joined","group_member_invited","group_member_left","group_member_removed","group_member_renamed"]),Tu=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_owner_transferred","channel_admin_added","channel_admin_removed","channel_member_renamed"]),Ns=new Set(["channel_member_joined","channel_member_invited","channel_member_left","channel_member_removed","channel_member_renamed"]);function je(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function ee(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function ot(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Vr(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Un(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function at(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function On(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function rr(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"not-allowed",stale:false,projectionUpdated:false,refreshRequired:false})}function it(e,n){return Object.freeze({ok:false,operation:e,conversation:n,outcome:"stale",stale:true,projectionUpdated:false,refreshRequired:false})}function Eu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function tn(e,n,r){let o=typeof e=="object"&&e!==null?e:null;return o!==null&&typeof o.code=="string"&&Eu(o.category)?Object.freeze({code:o.code,category:o.category,operation:n,retryable:o.retryable===true,...r===void 0?{}:{conversation:je(r)}}):Object.freeze({code:"IM_CHAT_KIT_PROFILE_DIRECTORY_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:je(r)}})}function Br(){return {items:[],loading:false,loaded:false,exhausted:false,error:null}}function ju(e){return defineStore("k2-im-profile-directory",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=ref(0),s=ref({}),c=shallowRef(null),m=shallowRef(null),g=ref("unknown"),x=ref(false),D$1=shallowRef(null),K=shallowRef([]),A$1=ref(false),W=shallowRef(null),h=shallowRef(null),v=shallowRef(null),z=shallowRef([]),V=ref(false),H=ref(false),F$1=shallowRef(null),R=shallowRef(null),C$1=shallowRef(null),L=ref(false),Q=shallowRef(null),pe=reactive({individual:Br(),group:Br(),channel:Br()}),B=ref(""),y=shallowRef(null),$=ref(false),oe=shallowRef(null),P=shallowRef(null),G=shallowRef([]),O=ref(""),N=ref(false),ne=ref(false),se=shallowRef(null),fe=shallowRef(null),Ie=shallowRef(null),Se=ref(false),ie=shallowRef(null),te=shallowRef(null),ae=shallowRef([]),Pe=ref(""),Te=ref(false),ke=ref(false),_=shallowRef(null),U=false,ge=new Map,be={direct:0,group:0,channel:0},he={direct:0,group:0,channel:0},Ve=0,k={"set-remark":0,block:0,report:0,"delete-friendship":0,"search-user":0,"resolve-application-target":0,"request-friendship":0},J={"update-name":0,"update-avatar":0,"set-my-nickname":0,"update-verification":0},me={"invite-members":0,"remove-member":0,"transfer-ownership":0,leave:0},Re=new Map,we=0,Me=new Map,j=new Map,M=new Set,q=new Set,ue=new Map,de=new Map,De=0,He={"invite-members":0,"remove-member":0,"add-admin":0,"remove-admin":0,"transfer-ownership":0,leave:0,dismiss:0},Ae=new Map,T=new Map,Z=0,le=new Set,xe=new Map,Fe=new Map,Ue=0,$e=0,Ne=0,an=0,Ze=new Map,Ye=new Map,Sn=new Map,nn=new Map,un=new Map,yn=new Map,sn=new Map,bn=new Map,Tn=ref(0),$n={individual:0,group:0,channel:0},An=new Map,lt=0,Wn,zn,kn,En=0,Mn,ln,Cn,jn=0,gn,dn,Rn;function sr(a){return s.value[a.conversationId]??0}function po(a,i,t){o.value;let l=n.getSenderProfileCache();if(a.conversationType==="channel"){let u=C(l,n.getChannelMemberProfiles(),a.conversationId,i),f=(t??"").trim();return u===i&&f!==""?f:u}return a.conversationType==="group"?A(l,n.getGroupMemberNames(),a.conversationId,i,t):a.conversationType==="direct"?A(l,n.getGroupMemberNames(),"",i,t):(t??"").trim()||i}function vo(a,i){o.value;let t=n.getSenderProfileCache();return a.conversationType==="channel"?D(t,n.getChannelMemberProfiles(),a.conversationId,i):E(t,i)}function lr(a){return o.value,F(n.getSenderProfileCache(),a)}function zt(a,i){return va(n,a,i)}function Dt(a,i){return wa(n,a.conversationId,i)}function Gt(a,i,t){let l=n.getGeneration(),u=ge.get(a.conversationId)??0;return xa(n,a.conversationId,i,{...t?.forceRefresh===true?{forceRefresh:true}:{},isCurrent:()=>!U&&n.getGeneration()===l&&(ge.get(a.conversationId)??0)===u&&t?.isCurrent?.()!==false})}function ct(a,i){let t=a.conversationId.trim();if(t==="")return;ge.set(t,(ge.get(t)??0)+1);let l={...n.getChannelMemberProfiles()},u=[...new Set((i??[]).map(f=>f.trim()).filter(Boolean))];if(u.length===0)delete l[t];else {let f={...l[t]??{}};for(let E of u)delete f[E];Object.keys(f).length===0?delete l[t]:l[t]=f;}n.setChannelMemberProfiles(l);}function Dn(a,i){let t=a.conversationId.trim();t!==""&&(ct(a,i),s.value={...s.value,[t]:(s.value[t]??0)+1});}function Ft(a,i,t){let l=t.trim();if(l==="")return;let u=a.get(i)??new Set;u.add(l),a.set(i,u);}function _t(a,i,t){let l=a.get(i);l!==void 0&&(l.delete(t.trim()),l.size===0&&a.delete(i));}function cr(a,i,t){let l=t.trim();return l!==""&&a.get(i)?.has(l)===true}function In(a,i,t){let l=a.get(i);return l===void 0||l.size===0?t:t.filter(u=>!l.has(u.userId))}function ur(a,i,t={}){let l=yn.get(a);if(l===void 0||l.size===0)return i;let u=new Set(i.map(X=>X.userId)),f=new Map(l),E=i.map(X=>{let Y=l.get(X.userId);return Y===void 0?X:(t.reconcile===true&&Y===X.nickname&&f.delete(X.userId),Object.freeze({...X,nickname:Y}))});if(t.reconcile===true)for(let X of f.keys())u.has(X)||f.delete(X);return f.size===0?yn.delete(a):yn.set(a,f),Object.freeze(E)}function ut(a,i){let t=yn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&yn.delete(a));}function dt(a,i){let t=sn.get(a);return t===void 0||t.size===0?i:Object.freeze(i.map(l=>{let u=t.get(l.userId);return u===void 0?l:Object.freeze({...l,displayName:u.displayName})}))}function d(a,i){let t=sn.get(a),l=bn.get(a),u=R.value?.conversationId===a?C$1.value?.ownerId:un.get(a)?.ownerId;return (t===void 0||t.size===0)&&(l===void 0||l.size===0)&&u===void 0?i:Object.freeze(i.map(f=>{let E=t?.get(f.userId),X=l?.get(f.userId),Y=u!==void 0&&f.userId===u;if(E===void 0&&X===void 0&&!Y)return f;let{nickname:Ee,...cn}=f;return Object.freeze({...cn,...E===void 0?f.nickname===void 0?{}:{nickname:f.nickname}:E.nickname===""?{}:{nickname:E.nickname},displayName:E?.displayName??f.displayName,role:Y?"owner":X??f.role})}))}function p(a,i){let t=sn.get(a);if(t===void 0)return;let l=false;for(let u of i)t.get(u.userId)?.nickname===(u.nickname??"")&&(t.delete(u.userId),l=true);t.size===0&&sn.delete(a),l&&(Tn.value+=1);}function I(a,i){let t=sn.get(a);t!==void 0&&t.delete(i.trim())&&(t.size===0&&sn.delete(a),Tn.value+=1);}function b(a,i){let t=bn.get(a);if(t!==void 0){for(let l of i)t.get(l.userId)===l.role&&t.delete(l.userId);t.size===0&&bn.delete(a);}}function S(a,i){let t=bn.get(a);t!==void 0&&(t.delete(i.trim()),t.size===0&&bn.delete(a));}function w(a,i,t,l){let u=a.conversationType==="direct"?c.value:a.conversationType==="group"?h.value:R.value;return !U&&n.getGeneration()===i&&be[a.conversationType]===t&&he[a.conversationType]===l&&ee(u,a)}async function re(a,i={}){let t=je(a),l=++be.direct,u=he.direct,f=n.getGeneration(),E=!ee(c.value,t);c.value=t,E&&(m.value=null,g.value="unknown"),x.value=true,D$1.value=null;let X=ua$1(n,t.conversationId,i.forceRefresh===true);try{let Y=await Ms(n,t,i);return w(t,f,l,u)?X.isCurrent()?(Y.profile!==null&&X.commit({remark:(Y.profile.remark??"").trim(),nickname:Y.profile.nickname.trim(),avatar:(Y.profile.avatar??"").trim()}),m.value=Y.profile,g.value=Y.relationship,x.value=!1,Y.profile===null?Object.freeze({ok:!1,operation:"direct-profile",reason:"not-found"}):Object.freeze({ok:!0,operation:"direct-profile"})):(x.value=!1,Object.freeze({ok:!1,operation:"direct-profile",reason:"stale"})):Object.freeze({ok:!1,operation:"direct-profile",reason:"stale"})}catch(Y){if(!w(t,f,l,u))return Object.freeze({ok:false,operation:"direct-profile",reason:"stale"});let Ee=tn(Y,"profile.direct",t);return D$1.value=Ee,x.value=false,Object.freeze({ok:false,operation:"direct-profile",reason:"failed",error:Ee})}finally{X.finish();}}async function ve(a,i,t={}){let l=i.trim();if(l==="")return Object.freeze({ok:false,reason:"direct-profile",result:Object.freeze({ok:false,operation:"direct-profile",reason:"not-found"})});let u=t.forceRefresh===true,f;if(a.conversationType==="channel"){let X=await Vt({conversationType:"channel",conversationId:a.conversationId},{forceRefresh:u});if(!X.ok)return Object.freeze({ok:false,reason:"channel-profile",result:X});if(f=ee(R.value,a)?C$1.value:null,ta$1({conversation:a,relationship:"unknown",channelProfile:f})==="blocked")return Object.freeze({ok:true,destination:"blocked"})}let E=await re({conversationType:"direct",conversationId:l},{forceRefresh:u});return E.ok?Object.freeze({ok:true,destination:ta$1({conversation:a,relationship:g.value,channelProfile:f})}):Object.freeze({ok:false,reason:"direct-profile",result:E})}async function ce(a){let i=je(a),t=++Ve,l=n.getGeneration();c.value=i,A$1.value=true,W.value=null;try{let u=await Ts(n,i.conversationId);return !ee(c.value,i)||l!==n.getGeneration()||t!==Ve?Object.freeze({ok:!1,operation:"direct-mutual-groups",reason:"stale"}):(K.value=u,A$1.value=!1,Object.freeze({ok:!0,operation:"direct-mutual-groups"}))}catch(u){if(!ee(c.value,i)||l!==n.getGeneration()||t!==Ve)return Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"stale"});let f=tn(u,"profile.direct-mutual-groups",i);return W.value=f,A$1.value=false,Object.freeze({ok:false,operation:"direct-mutual-groups",reason:"failed",error:f})}}function ye(a){return k[a]+=1,k[a]}function Ce(a,i){return !U&&k[a]===i}async function qe(a,i){let t=je(a),l=ye("set-remark"),u=await ss(n,t,i);if(!Ce("set-remark",l)||!ee(c.value,t))return ot("set-remark",t);if(!u.ok)return u;let f=m.value,E=f!==null&&f.userId===t.conversationId;return E&&(m.value=Object.freeze({...f,...i.name===void 0?{}:{remark:i.name},...i.emails===void 0?{}:{remarkEmails:Object.freeze([...i.emails])},...i.phones===void 0?{}:{remarkPhones:Object.freeze(i.phones.map(X=>Object.freeze({countryCode:X.countryCode,mobile:X.mobile})))}})),Object.freeze({...u,projectionUpdated:E})}async function We(a){let i=je(a),t=ye("block"),l=await ls(n,i);return !Ce("block",t)||!ee(c.value,i)?ot("block",i):l.ok?(g.value="blocked",Object.freeze({...l,projectionUpdated:true})):l}async function _e(a,i){let t=je(a),l=ye("report"),u=await cs(n,t,i);return !Ce("report",l)||!ee(c.value,t)?ot("report",t):u}async function Je(a){let i=je(a),t=ye("delete-friendship"),l=await us(n,i);return !Ce("delete-friendship",t)||!ee(c.value,i)?ot("delete-friendship",i):l.ok?(g.value="none",Object.freeze({...l,projectionUpdated:true})):l}async function fn(a){let i=ye("search-user"),t=await ds(n,a);return Ce("search-user",i)?t:ot("search-user",t.conversation)}async function ft(a){let i=je(a),t=ye("resolve-application-target"),l=await fs(n,i);return Ce("resolve-application-target",t)?l:ot("resolve-application-target",i)}async function Kt(a,i){let t=je(a),l=ye("request-friendship"),u=await ms(n,t,i);return Ce("request-friendship",l)?u:ot("request-friendship",t)}function Pn(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function Nt(a,i){J[a]+=1;let t=n.getGeneration(),l=he.group,u=Pn(i,a,t,l);return Me.set(u,(Me.get(u)??0)+1),Object.freeze({epoch:J[a],generation:t,key:u,resetEpoch:l})}function Ht(a,i){let t=Me.get(i.key)??0;t<=1?Me.delete(i.key):Me.set(i.key,t-1),ma(a);}function Ke(a,i){return !U&&n.getGeneration()===i.generation&&he.group===i.resetEpoch&&J[a]===i.epoch}function rn(a,i){let t=n.getGeneration(),l=he.group;return i!==void 0?(Me.get(Pn(a,i,t,l))??0)>0:Object.keys(J).some(u=>(Me.get(Pn(a,u,t,l))??0)>0)}async function Gn(a,i){let t=je(a),l=i.trim(),u=Nt("update-name",t);try{let f=await bs(n,t,l);if(!Ke("update-name",u)||!ee(h.value,t))return Vr("update-name",t);if(!f.ok)return f;let E=v.value!==null;return E&&Zl(t,l),Object.freeze({...f,projectionUpdated:E})}finally{Ht(t,u);}}async function Fn(a,i){let t=je(a),l=Nt("update-avatar",t);try{let u=await Ps(n,t,i);if(!Ke("update-avatar",l)||!ee(h.value,t))return Vr("update-avatar",t);if(!u.ok)return u;let f=v.value!==null&&u.avatar!==void 0;return f&&ec(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{Ht(t,l);}}async function go(a,i){let t=je(a),l=i.trim(),u=Nt("set-my-nickname",t);try{let f=await Cs(n,t,l);if(!Ke("set-my-nickname",u)||!ee(h.value,t))return Vr("set-my-nickname",t);if(!f.ok)return f;let E=z.value.some(X=>X.userId===f.memberId);return Ra(t,f.memberId,l),Aa(n,t.conversationId,f.memberId,l),Object.freeze({...f,projectionUpdated:E})}finally{Ht(t,u);}}async function dr(a,i,t){let l=je(a),u=i===4?t?.trim():void 0,f=Nt("update-verification",l);try{let E=await Rs(n,l,i,u);if(!Ke("update-verification",f)||!ee(h.value,l))return Vr("update-verification",l);if(!E.ok)return E;let X=v.value!==null;return X&&nc(l,i,u),Object.freeze({...E,projectionUpdated:X})}finally{Ht(l,f);}}function Io(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function Le(a,i,t="profile"){let l=n.getGeneration(),u=he.channel,f=Io(i,a,t,l,u),E=++De;return ue.set(f,E),de.set(f,(de.get(f)??0)+1),Object.freeze({conversation:je(i),epoch:E,generation:l,resetEpoch:u,key:f})}function on(a){let i=de.get(a.key)??0;i<=1?de.delete(a.key):de.set(a.key,i-1),ue.get(a.key)===a.epoch&&ue.delete(a.key),Ia(a.conversation);}function _n(a){return !U&&n.getGeneration()===a.generation&&he.channel===a.resetEpoch&&ue.get(a.key)===a.epoch}function fr(a,i,t){let l=`${n.getGeneration()}:${he.channel}:${a.conversationType}:${a.conversationId}:`;for(let[u,f]of de){let E=i===void 0?l:`${l}${i}:`;if(f>0&&u.startsWith(E)&&(t===void 0||u===`${E}${t.trim()}`))return true}return false}function da(a,i,t){let l=n.getChannelMemberProfiles(),u=l[a.conversationId],f=u?.[i];u===void 0||f===void 0||n.setChannelMemberProfiles({...l,[a.conversationId]:{...u,[i]:{...f,displayName:t}}});}async function Cl(a,i){let t=je(a);if(hn(t))return at("update-name",t);let l=i.trim(),u=Le("update-name",t);try{let f=await Zi(n,t,l);if(!_n(u)||!ee(R.value,t))return Un("update-name",t);if(!f.ok)return f;let E=C$1.value!==null;return E&&Ma(t,l),Object.freeze({...f,projectionUpdated:E})}finally{on(u);}}async function Rl(a,i){let t=je(a);if(hn(t))return at("update-description",t);let l=i.trim(),u=Le("update-description",t);try{let f=await es(n,t,l);if(!_n(u)||!ee(R.value,t))return Un("update-description",t);if(!f.ok)return f;let E=C$1.value!==null;return E&&Oa(t,l),Object.freeze({...f,projectionUpdated:E})}finally{on(u);}}async function Pl(a,i){let t=je(a);if(hn(t))return at("update-avatar",t);let l=Le("update-avatar",t);try{let u=await ns(n,t,i);if(!_n(l)||!ee(R.value,t))return Un("update-avatar",t);if(!u.ok)return u;let f=C$1.value!==null;return f&&Sa(t,u.avatar),Object.freeze({...u,projectionUpdated:f})}finally{on(l);}}async function kl(a,i){let t=je(a),l=i.trim(),u=Le("set-my-nickname",t,n.getCredentials().userId);try{let f=await ts(n,t,l);return !_n(u)||!ee(R.value,t)?Un("set-my-nickname",t):f.ok?(ko(t,f.memberId,l,l),da(t,f.memberId,l),Object.freeze({...f,projectionUpdated:!0})):f}finally{on(u);}}async function Ml(a,i,t){let l=je(a);if(hn(l))return at("set-member-nickname",l);let u=i.trim(),f=t.trim(),E=Bt(l,u),X=Le("set-member-nickname",l,u);try{let Y=await rs(n,l,u,E?.role??"unknown",f);return !_n(X)||!ee(R.value,l)?Un("set-member-nickname",l):Y.ok?(ko(l,Y.memberId,f,f),da(l,Y.memberId,f),Object.freeze({...Y,projectionUpdated:!0})):Y}finally{on(X);}}async function Ol(a,i,t){let l=je(a);if(hn(l))return at("update-verification",l);let u=i===4?t?.trim():void 0,f=Le("update-verification",l);try{let E=await os(n,l,i,u);if(!_n(f)||!ee(R.value,l))return Un("update-verification",l);if(!E.ok)return E;let X=C$1.value!==null;return X&&Ta(l,i,u),Object.freeze({...E,projectionUpdated:X})}finally{on(f);}}async function Sl(a,i){let t=je(a);if(hn(t))return at("set-all-muted",t);let l=Le("set-all-muted",t);try{let u=await as(n,t,i);if(!_n(l)||!ee(R.value,t))return Un("set-all-muted",t);if(!u.ok)return u;let f=C$1.value!==null;return f&&Po(t,{allMembersMuted:i}),Object.freeze({...u,projectionUpdated:f})}finally{on(l);}}async function Tl(a,i){let t=je(a);if(hn(t))return at("set-member-private-chat-disabled",t);let l=Le("set-member-private-chat-disabled",t);try{let u=await is(n,t,i);if(!_n(l)||!ee(R.value,t))return Un("set-member-private-chat-disabled",t);if(!u.ok)return u;let f=C$1.value!==null;return f&&Po(t,{memberPrivateChatDisabled:i}),Object.freeze({...u,projectionUpdated:f})}finally{on(l);}}function El(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function ho(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function mr(a,i,t){let l=n.getGeneration(),u=me[a],f=ho(i,a,l,u),E=El(i,a,t,l,u),X=++we;return Re.set(E,X),j.set(f,(j.get(f)??0)+1),Object.freeze({actionEpoch:X,actionKey:E,generation:l,resetEpoch:u,writeKey:f})}function pr(a,i){let t=j.get(i.writeKey)??0;t<=1?j.delete(i.writeKey):j.set(i.writeKey,t-1),Re.get(i.actionKey)===i.actionEpoch&&Re.delete(i.actionKey),ma(a);}function vr(a,i){return !U&&n.getGeneration()===i.generation&&me[a]===i.resetEpoch&&Re.get(i.actionKey)===i.actionEpoch}function gr(a,i){let t=n.getGeneration();return i!==void 0?(j.get(ho(a,i,t,me[i]))??0)>0:Object.keys(me).some(l=>(j.get(ho(a,l,t,me[l]))??0)>0)}function jl(a,i){let t=i.trim();t!==""&&Sn.set(a.conversationId,{ownerId:t,expiresAt:Date.now()+3e4});}function wl(a,i){if(i===null||i.isInGroup===false)return Sn.delete(a.conversationId),i;let t=Sn.get(a.conversationId);return t===void 0?i:t.expiresAt<=Date.now()||i.ownerId===t.ownerId?(Sn.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId})}function fa(a){ee(h.value,a)&>(a,{forceRefresh:true,preserveExisting:true}).then(i=>{!i.ok||!ee(h.value,a)||Ir(a);});}function Lt(a){ee(h.value,a)&&qt(a,{forceRefresh:true});}function ma(a){rn(a)||gr(a)||(M.delete(a.conversationId)&&Lt(a),q.delete(a.conversationId)&&jo(a));}function Ir(a){ee(h.value,a)&&za(n,a.conversationId,z.value.map(i=>({userId:i.userId,nickName:i.nickname,...i.joinType===void 0?{}:{joinType:i.joinType}})));}async function xl(a,i){let t=je(a),l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=mr("invite-members",t,l);try{let f=await ps(n,t,i);if(!vr("invite-members",u))return it("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&ee(h.value,t)&&Lt(t),f;if(!ee(h.value,t))return it("invite-members",t);let E=f.memberIds.some(X=>ka(t,X));for(let X of f.memberIds)Co(t,X);return fa(t),Object.freeze({...f,projectionUpdated:E,refreshRequired:!1})}finally{pr(t,u);}}async function Al(a,i){let t=je(a),l=mr("remove-member",t,i.trim());try{let u=await vs(n,t,i);if(!vr("remove-member",l))return it("remove-member",t);if(!u.ok)return u.outcome!=="stale"&&ee(h.value,t)&&Lt(t),u;if(!ee(h.value,t))return it("remove-member",t);let f=z.value.some(E=>E.userId===u.memberId);return bo(t,u.memberId),fa(t),Object.freeze({...u,projectionUpdated:f,refreshRequired:!1})}finally{pr(t,l);}}async function zl(a,i){let t=je(a),l=mr("transfer-ownership",t,"group-owner");try{let u=await gs(n,t,i);if(!vr("transfer-ownership",l))return it("transfer-ownership",t);if(!u.ok)return u.outcome!=="stale"&&ee(h.value,t)&&Lt(t),u;if(!ee(h.value,t))return it("transfer-ownership",t);jl(t,u.ownerId);let f=v.value,E=f!==null;return f!==null&&(v.value=Object.freeze({...f,ownerId:u.ownerId})),Lt(t),Object.freeze({...u,projectionUpdated:E,refreshRequired:!1})}finally{pr(t,l);}}async function Dl(a,i={}){let t=je(a),l=mr("leave",t,"membership");try{let u=await Is(n,t,i);if(!u.ok&&!vr("leave",l))return it("leave",t);if(!u.ok)return u.outcome==="transfer-required"&&ee(h.value,t)&&await qt(t,{forceRefresh:!0}),u;Ro(t),Ba(n,t.conversationId,{clearCachedNames:!0}),Sn.delete(t.conversationId);let f=ee(h.value,t)&&(v.value!==null||z.value.length>0);return ee(h.value,t)&&(h.value=null,v.value=null,z.value=[],V.value=!1,H.value=!1,F$1.value=null),Object.freeze({...u,projectionUpdated:f})}finally{pr(t,l);}}function Gl(a,i,t,l,u){return `${l}:${u}:${a.conversationType}:${a.conversationId}:${i}:${t}`}function pa(a,i,t,l){return `${t}:${l}:${a.conversationType}:${a.conversationId}:${i}`}function mt(a,i,t){let l=n.getGeneration(),u=He[a],f=Gl(i,a,t,l,u),E=pa(i,a,l,u),X=++Z;return Ae.set(f,X),T.set(E,(T.get(E)??0)+1),Object.freeze({actionEpoch:X,actionKey:f,conversation:je(i),writeKey:E,generation:l,resetEpoch:u})}function pt(a){let i=T.get(a.writeKey)??0;i<=1?T.delete(a.writeKey):T.set(a.writeKey,i-1),Ae.get(a.actionKey)===a.actionEpoch&&Ae.delete(a.actionKey),Ia(a.conversation);}function vt(a,i){return !U&&n.getGeneration()===i.generation&&He[a]===i.resetEpoch&&Ae.get(i.actionKey)===i.actionEpoch}function hr(a,i){let t=n.getGeneration();return (i===void 0?Object.keys(He):[i]).some(u=>(T.get(pa(a,u,t,He[u]))??0)>0)}function yr(a,i){let t=i.trim();if(t==="")return;let l=Bt(a,t);return l===void 0?void 0:Object.freeze({userId:t,role:l.role})}function Fl(a,i){let t=i.trim();t!==""&&un.set(a.conversationId,{ownerId:t});}function hn(a){let i=un.get(a.conversationId);return i===void 0?false:i.ownerId!==n.getCredentials().userId}function va$1(a,i){if(i===null)return un.delete(a.conversationId),null;let t=un.get(a.conversationId);return t===void 0?i:i.ownerId===t.ownerId&&i.role!=="owner"||i.ownerId!==n.getCredentials().userId&&i.role!=="owner"?(un.delete(a.conversationId),i):Object.freeze({...i,ownerId:t.ownerId,role:"member",permissions:Object.freeze({sendMessages:i.permissions.sendMessages}),canViewMembers:i.memberPrivateChatDisabled===false})}function _l(a){return !ee(R.value,a)||C$1.value===null?false:(C$1.value=va$1(a,C$1.value),true)}function Kl(a){ee(P.value,a)&&Eo(a,{preserveExisting:true});}function Ut(a){ee(R.value,a)&&Vt(a,{forceRefresh:true});}function br(a){Ut(a),Kl(a);}function Nl(a,i,t,l){let u=xe.get(a.conversationId)??{allTargets:false,affectsMentions:false,resolvesProfiles:false,userIds:new Set},f=l.map(E=>E.trim()).filter(Boolean);f.length===0&&(u.allTargets=true);for(let E of f)u.userIds.add(E);u.affectsMentions||=i,u.resolvesProfiles||=t,xe.set(a.conversationId,u);}function ga(a,i){let t=xe.get(a.conversationId);if(!(t===void 0||t.allTargets)){for(let l of i)t.userIds.delete(l.trim());t.userIds.size===0&&xe.delete(a.conversationId);}}function Ia(a){if(fr(a)||hr(a))return;le.delete(a.conversationId)&&Aa$1(a);let i=xe.get(a.conversationId);if(i===void 0)return;xe.delete(a.conversationId);let t=i.allTargets?void 0:[...i.userIds];i.affectsMentions?Dn(a,t):ct(a,t),i.resolvesProfiles&&t!==void 0&&t.length>0&&Gt(a,t,{forceRefresh:true}),kr(a);}function Hl(a,i){let t=n.getChannelMemberProfiles(),l=t[a.conversationId];if(l===void 0||l[i]===void 0)return false;let u={...l};return delete u[i],n.setChannelMemberProfiles({...t,[a.conversationId]:u}),true}function ha(a){let i=n.getChannelMemberProfiles();if(i[a.conversationId]===void 0)return false;let t={...i};return delete t[a.conversationId],n.setChannelMemberProfiles(t),true}async function Ll(a,i){let t=je(a);if(hn(t))return rr("invite-members",t);let l=JSON.stringify([...new Set(i.map(f=>f.trim()).filter(Boolean))].sort()),u=mt("invite-members",t,l);try{let f=await qi(n,t,i);if(!vt("invite-members",u))return On("invite-members",t);if(!f.ok)return f.outcome!=="stale"&&Ut(t),f;if(!ee(R.value,t))return On("invite-members",t);let E=f.memberIds.some(X=>So(t,X));for(let X of f.memberIds)Oo(t,X);return Dn(t,f.memberIds),ga(t,f.memberIds),br(t),Object.freeze({...f,projectionUpdated:E,refreshRequired:!1})}finally{pt(u);}}async function Ul(a,i){let t=je(a);if(hn(t))return rr("remove-member",t);let l=yr(t,i),u=mt("remove-member",t,i.trim());try{let f=await Vi(n,t,l??{userId:i,role:"unknown"});if(!vt("remove-member",u))return On("remove-member",t);if(!f.ok)return f.outcome!=="stale"&&Ut(t),f;if(!ee(R.value,t))return On("remove-member",t);let E=Hl(t,f.memberId),X=G.value.some(Y=>Y.userId===f.memberId)||ae.value.some(Y=>Y.userId===f.memberId)||E;return Mo(t,f.memberId),Dn(t,[f.memberId]),ga(t,[f.memberId]),br(t),Object.freeze({...f,projectionUpdated:X,refreshRequired:!1})}finally{pt(u);}}async function ql(a,i,t){let l=je(a),u=yr(l,i),f=t?"add-admin":"remove-admin";if(hn(l))return rr(f,l);let E=mt(f,l,i.trim());try{let X=t?await $i(n,l,u??{userId:i,role:"unknown"}):await Wi(n,l,u??{userId:i,role:"unknown"});if(!vt(f,E))return On(f,l);if(!X.ok)return X.outcome!=="stale"&&Ut(l),X;if(!ee(R.value,l))return On(f,l);let Y=t?"admin":"member",Ee=u?.role!==Y;return Qn(l,X.memberId,Y),br(l),Object.freeze({...X,projectionUpdated:Ee,refreshRequired:!1})}finally{pt(E);}}async function Vl(a,i){let t=je(a);if(hn(t))return rr("transfer-ownership",t);let l=yr(t,i),u=mt("transfer-ownership",t,"channel-owner");try{let f=await Qi(n,t,l??{userId:i,role:"unknown"});if(!vt("transfer-ownership",u))return On("transfer-ownership",t);if(!f.ok)return f.outcome!=="stale"&&Ut(t),f;if(!ee(R.value,t))return On("transfer-ownership",t);Fl(t,f.ownerId);let E=_l(t);return Qn(t,f.ownerId,"owner"),Qn(t,n.getCredentials().userId,"member"),br(t),Object.freeze({...f,projectionUpdated:E,refreshRequired:!1})}finally{pt(u);}}async function Bl(a,i={}){let t=je(a),l=i.newOwnerId===void 0?void 0:yr(t,i.newOwnerId)??{userId:i.newOwnerId,role:"unknown"},u=mt("leave",t,"membership");try{let f=await Ji(n,t,l);if(!f.ok&&!vt("leave",u))return On("leave",t);if(!f.ok)return f;let E=ee(R.value,t)&&(C$1.value!==null||G.value.length>0||ae.value.length>0);return Cr(t),un.delete(t.conversationId),ha(t),ee(R.value,t)&&Mr(),Object.freeze({...f,projectionUpdated:E})}finally{pt(u);}}async function $l(a){let i=je(a);if(hn(i))return rr("dismiss",i);let t=mt("dismiss",i,"membership");try{let l=await Xi(n,i);if(!l.ok&&!vt("dismiss",t))return On("dismiss",i);if(!l.ok)return l;let u=ee(R.value,i)&&(C$1.value!==null||G.value.length>0||ae.value.length>0);return Cr(i),un.delete(i.conversationId),ha(i),ee(R.value,i)&&Mr(),Object.freeze({...l,projectionUpdated:u})}finally{pt(t);}}async function qt(a,i={}){let t=je(a),l=++be.group,u=he.group,f=n.getGeneration(),E=!ee(h.value,t);h.value=t,E&&(v.value=null,$e+=1,z.value=[],H.value=false),V.value=true,F$1.value=null;try{let X=i.forceRefresh===!0?null:await Os(n,t);if(!w(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});if(X!==null&&(v.value=X),i.restricted===!0)return i.includeMembers===!0&&await gt(t,{restricted:!0,forceRefresh:!0}),w(t,f,l,u)?(V.value=!1,v.value===null?Object.freeze({ok:!1,operation:"group-profile",reason:"not-found"}):Object.freeze({ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let Y=await Ss(n,t,i.forceRefresh===!0?{forceRefresh:!0}:void 0);if(!w(t,f,l,u))return Object.freeze({ok:!1,operation:"group-profile",reason:"stale"});let Ee=wl(t,Y);return r.record("debug","pinia","profile","group-profile-membership-resolved",()=>({conversation:t,data:{profileId:Ee?.ref.conversationId??null,name:Ee?.name??null,isInGroup:Ee?.isInGroup??null,verifyWay:Ee?.verifyWay??null,memberCount:Ee?.memberCount??null,membershipDecision:Ee?.isInGroup===!0?"joined":Ee?.isInGroup===!1?"not-joined":"unknown"}})),Ee===null||Ee.isInGroup===!1?($e+=1,z.value=[],H.value=!1,Ro(t),Ba(n,t.conversationId,{clearCachedNames:!0})):i.includeMembers===!0&&await gt(t,{restricted:!1,forceRefresh:!0}),w(t,f,l,u)?(v.value=Ee,V.value=!1,Object.freeze(Ee===null?{ok:!1,operation:"group-profile",reason:"not-found"}:{ok:!0,operation:"group-profile"})):Object.freeze({ok:!1,operation:"group-profile",reason:"stale"})}catch(X){if(!w(t,f,l,u))return Object.freeze({ok:false,operation:"group-profile",reason:"stale"});let Y=tn(X,"profile.group",t);return i.forceRefresh===true&&(v.value=null,$e+=1,z.value=[],H.value=false),F$1.value=Y,V.value=false,Object.freeze({ok:false,operation:"group-profile",reason:"failed",error:Y})}}async function gt(a,i={}){let t=je(a);if(ee(h.value,t)||(h.value=t,z.value=[]),ee(h.value,t)&&v.value?.ref.conversationId===t.conversationId&&v.value.isInGroup===false)return $e+=1,z.value=[],H.value=false,Object.freeze({ok:true,operation:"group-members"});if(z.value.length>0&&i.forceRefresh!==true)return Object.freeze({ok:true,operation:"group-members"});let l=++$e,u=n.getGeneration();H.value=true;try{let f=i.preserveExisting===!0?null:await Es(n,t);if(U||n.getGeneration()!==u||l!==$e||!ee(h.value,t))return Object.freeze({ok:!1,operation:"group-members",reason:"stale"});let E=f===null?null:In(Ye,t.conversationId,f.items);if(E!==null&&(z.value=ur(t.conversationId,E),Ir(t)),i.restricted===!0||i.forceRefresh!==!0&&E!==null&&E.length>0)return H.value=!1,Object.freeze({ok:!0,operation:"group-members"});let X=await js(n,t);return U||n.getGeneration()!==u||l!==$e||!ee(h.value,t)?Object.freeze({ok:!1,operation:"group-members",reason:"stale"}):(X!==null&&(z.value=ur(t.conversationId,In(Ye,t.conversationId,X),{reconcile:!0}),Ir(t)),H.value=!1,Object.freeze({ok:!0,operation:"group-members"}))}catch(f){if(U||n.getGeneration()!==u||l!==$e||!ee(h.value,t))return Object.freeze({ok:false,operation:"group-members",reason:"stale"});let E=tn(f,"profile.group-members",t);return F$1.value=E,H.value=false,Object.freeze({ok:false,operation:"group-members",reason:"failed",error:E})}}async function Vt(a,i){let t=je(a),l=++be.channel,u=he.channel,f=n.getGeneration(),E=!ee(R.value,t);R.value=t,E&&(C$1.value=null,Jn(t)),L.value=true,Q.value=null;try{let X=await ws(n,t,i);if(!w(t,f,l,u))return Object.freeze({ok:!1,operation:"channel-profile",reason:"stale"});let Y=va$1(t,X);return C$1.value=Y,Y!==null&&ee(P.value,t)&&(G.value=d(t.conversationId,G.value)),Y===null?(Cr(t),Jn()):Y.canViewMembers!==!0&&Jn(),L.value=!1,Object.freeze(Y===null?{ok:!1,operation:"channel-profile",reason:"not-found"}:{ok:!0,operation:"channel-profile"})}catch(X){if(!w(t,f,l,u))return Object.freeze({ok:false,operation:"channel-profile",reason:"stale"});let Y=tn(X,"profile.channel",t);return i?.forceRefresh===true&&(C$1.value=null,Jn()),Q.value=Y,L.value=false,Object.freeze({ok:false,operation:"channel-profile",reason:"failed",error:Y})}}async function Wl(a,i={}){let t=a.conversationType==="group"?Object.freeze({conversationType:"group",conversationId:a.conversationId}):Object.freeze({conversationType:"channel",conversationId:a.conversationId}),l=t.conversationType==="group"?"request-group-join":"request-channel-join",u=n.getProductClient();if(u===null)return Object.freeze({ok:false,operation:l,reason:"not-ready"});let f=`${t.conversationType}:${t.conversationId}`,E=++Ue,X=n.getGeneration(),Y=he[t.conversationType],Ee=t.conversationType==="group"?h.value:R.value,cn=Ee!==null&&ee(Ee,t);Fe.set(f,E);let wo=()=>{let Hn=t.conversationType==="group"?h.value:R.value;return Ee===null?Hn===null:Hn!==null&&ee(Hn,Ee)},mn=()=>!U&&n.getGeneration()===X&&he[t.conversationType]===Y&&Fe.get(f)===E&&wo();try{let Hn=t.conversationType==="group"?i.inviteCode===void 0?i.remarks===void 0?await u.groups.requestJoin(t):await u.groups.requestJoin(t,{remarks:i.remarks}):await u.groups.joinByInviteCode(t,i.inviteCode):i.inviteCode===void 0?i.remarks===void 0?await u.channels.requestJoin(t):await u.channels.requestJoin(t,{remarks:i.remarks}):await u.channels.joinByInviteCode(t,i.inviteCode);if(!mn())return Object.freeze({ok:!1,operation:l,reason:"stale"});if(Hn.outcome==="joined")if(cn)t.conversationType==="group"?await qt(t,{forceRefresh:!0}):await Vt(t,{forceRefresh:!0});else try{t.conversationType==="group"?await u.groups.getProfile(t,{forceRefresh:!0}):await u.channels.getProfile(t,{forceRefresh:!0});}catch(vc){mn()&&r.record("error","pinia","profile","membership-join-profile-refresh-failed",()=>({conversation:t,data:{error:tn(vc,l,t)}}));}return mn()?Object.freeze({ok:!0,operation:l,outcome:Hn.outcome}):Object.freeze({ok:!1,operation:l,reason:"stale"})}catch(Hn){return mn()?Object.freeze({ok:false,operation:l,reason:"failed",error:tn(Hn,l,t)}):Object.freeze({ok:false,operation:l,reason:"stale"})}finally{Fe.get(f)===E&&Fe.delete(f);}}async function ya$1(a,i,t){let l=pe[a];if(l.loading&&!t)return Object.freeze({ok:false,operation:"directory",reason:"busy"});if(i&&l.exhausted)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});if(!i&&l.loaded&&!t)return Object.freeze({ok:true,operation:"directory"});let u=i?An.get(a):void 0;if(i&&u===void 0)return Object.freeze({ok:false,operation:"directory",reason:"exhausted"});let f=++$n[a],E=n.getGeneration();l.loading=true,l.error=null;try{let X=await xs(n,a,u);return U||E!==n.getGeneration()||f!==$n[a]?Object.freeze({ok:!1,operation:"directory",reason:"stale"}):(l.items=Ks(i?l.items:[],X.items),l.loaded=!0,l.exhausted=X.exhausted,l.loading=!1,X.nextPageToken===void 0?An.delete(a):An.set(a,X.nextPageToken),Object.freeze({ok:!0,operation:"directory"}))}catch(X){if(U||E!==n.getGeneration()||f!==$n[a])return Object.freeze({ok:false,operation:"directory",reason:"stale"});let Y=tn(X,`directory.${a}`);return l.error=Y,l.loading=false,Object.freeze({ok:false,operation:"directory",reason:"failed",error:Y})}}function Ql(a,i=false){return ya$1(a,i,false)}function Jl(a){return ya$1(a,false,true)}function ba(){Wn!==void 0&&(clearTimeout(Wn),Wn=void 0),zn?.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"stale"})),zn=void 0;}async function Xl(a,i){let t=n.getGeneration();try{let l=await As(n,a);return U||t!==n.getGeneration()||i!==lt?Object.freeze({ok:!1,operation:"directory-search",reason:"stale"}):(y.value=l,$.value=!1,Object.freeze({ok:!0,operation:"directory-search"}))}catch(l){if(U||t!==n.getGeneration()||i!==lt)return Object.freeze({ok:false,operation:"directory-search",reason:"stale"});let u=tn(l,"directory.search");return oe.value=u,$.value=false,Object.freeze({ok:false,operation:"directory-search",reason:"failed",error:u})}}function yo(){lt+=1,ba(),B.value="",y.value=null,$.value=false,oe.value=null,kn=void 0;}function Yl(a,i={}){let t=a.trim();if(t==="")return yo(),Promise.resolve(Object.freeze({ok:false,operation:"directory-search",reason:"not-ready"}));if(!i.immediate&&zn?.keyword===t)return zn.promise;if(kn?.keyword===t)return kn.promise;if(!i.immediate&&B.value===t&&y.value?.keyword===t.toLocaleLowerCase()&&oe.value===null)return Promise.resolve(Object.freeze({ok:true,operation:"directory-search"}));let l=++lt;ba(),B.value=t,y.value=null,$.value=true,oe.value=null;let u=()=>{let X=Xl(t,l);return kn={keyword:t,promise:X},X.finally(()=>{kn?.promise===X&&(kn=void 0);}),X};if(i.immediate)return u();let f,E=new Promise(X=>{f=X;});return zn={keyword:t,promise:E,resolve:f},Wn=setTimeout(()=>{Wn=void 0,zn=void 0,u().then(f);},300),E}function Ca(a,i){let t=a.map(u=>u.userId),l=new Map(a.map(u=>[u.userId,u]));for(let u of i)l.has(u.userId)||t.push(u.userId),l.set(u.userId,u);return Object.freeze(t.map(u=>l.get(u)))}function Zl(a,i){!ee(h.value,a)||v.value===null||(v.value=Object.freeze({...v.value,name:i}));}function ec(a,i){!ee(h.value,a)||v.value===null||(v.value=Object.freeze({...v.value,avatar:i}));}function nc(a,i,t){if(!ee(h.value,a)||v.value===null)return;let{inviteCode:l,...u}=v.value;v.value=Object.freeze({...u,verifyWay:i,...t===void 0?{}:{inviteCode:t}});}function Ra(a,i,t){let l=i.trim();if(l==="")return;let u=t.trim(),f=yn.get(a.conversationId)??new Map;f.set(l,u),yn.set(a.conversationId,f),ee(h.value,a)&&(z.value=Object.freeze(z.value.map(E=>E.userId===l?Object.freeze({...E,nickname:u}):E)));}function Pa(a,i){ut(a.conversationId,i);}function bo(a,i){let t=i.trim();if(t===""||(ut(a.conversationId,t),Ft(Ye,a.conversationId,t),!ee(h.value,a)))return;let l=z.value.filter(f=>f.userId!==t),u=l.length!==z.value.length;u&&(z.value=Object.freeze(l),Ir(a)),u&&v.value!==null&&v.value.memberCount!==void 0&&(v.value=Object.freeze({...v.value,memberCount:Math.max(0,v.value.memberCount-1)}));}function Co(a,i){ut(a.conversationId,i),_t(Ye,a.conversationId,i);}function ka(a,i){return cr(Ye,a.conversationId,i)}function Ro(a){Ye.delete(a.conversationId),yn.delete(a.conversationId);}function Ma(a,i){!ee(R.value,a)||C$1.value===null||(C$1.value=Object.freeze({...C$1.value,name:i}));}function Oa(a,i){!ee(R.value,a)||C$1.value===null||(C$1.value=Object.freeze({...C$1.value,description:i}));}function Sa(a,i){!ee(R.value,a)||C$1.value===null||(C$1.value=Object.freeze({...C$1.value,avatar:i}));}function Ta(a,i,t){if(!ee(R.value,a)||C$1.value===null)return;let{inviteCode:l,...u}=C$1.value;C$1.value=Object.freeze({...u,verifyType:i,...t===void 0?{}:{inviteCode:t}});}function Po(a,i){if(!ee(R.value,a)||C$1.value===null)return;let t={...C$1.value,...i.allMembersMuted===void 0?{}:{allMembersMuted:i.allMembersMuted},...i.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:i.memberPrivateChatDisabled}};C$1.value=Object.freeze({...t,canViewMembers:t.permissions.manageMembers===true||t.memberPrivateChatDisabled===false});}function ko(a,i,t,l){let u=i.trim();if(u==="")return;let f=t.trim(),E=f||l?.trim()||u,X=sn.get(a.conversationId)??new Map;X.set(u,{nickname:f,displayName:E}),sn.set(a.conversationId,X),Tn.value+=1,ee(P.value,a)&&(G.value=d(a.conversationId,G.value)),Kn(a,u)&&(Ie.value=d(a.conversationId,Ie.value===null?[]:[Ie.value])[0]??null),ee(te.value,a)&&(ae.value=Object.freeze(ae.value.map(Y=>Y.userId===u?Object.freeze({...Y,displayName:E}):Y)));}function Qn(a,i,t){let l=i.trim();if(l==="")return;let u=bn.get(a.conversationId)??new Map;u.set(l,t),bn.set(a.conversationId,u),ee(P.value,a)&&(G.value=d(a.conversationId,G.value)),Kn(a,l)&&(Ie.value=d(a.conversationId,Ie.value===null?[]:[Ie.value])[0]??null);}function Ea(a,i){I(a.conversationId,i);}function tc(a,i){return Tn.value,sn.get(a.conversationId)?.get(i.trim())?.nickname}function Mo(a,i){let t=i.trim();if(t==="")return;let l=ee(P.value,a),u=ee(te.value,a);if(I(a.conversationId,t),S(a.conversationId,t),Ft(nn,a.conversationId,t),!l&&!u)return;let f=l&&G.value.some(X=>X.userId===t),E=u&&ae.value.some(X=>X.userId===t);l&&(G.value=Object.freeze(G.value.filter(X=>X.userId!==t))),u&&(ae.value=Object.freeze(ae.value.filter(X=>X.userId!==t))),Kn(a,t)&&(Ie.value=null),(f||E)&&ee(R.value,a)&&C$1.value?.memberCount!==void 0&&(C$1.value=Object.freeze({...C$1.value,memberCount:Math.max(0,C$1.value.memberCount-1)}));}function Oo(a,i){I(a.conversationId,i),S(a.conversationId,i),_t(nn,a.conversationId,i);}function So(a,i){return cr(nn,a.conversationId,i)}function Cr(a){nn.delete(a.conversationId),bn.delete(a.conversationId),sn.delete(a.conversationId)&&(Tn.value+=1);}function wn(a,i,t){return !U&&n.getGeneration()===i&&En===t&&ee(P.value,a)}function Kn(a,i,t,l){let u=fe.value;return !U&&(t===void 0||n.getGeneration()===t)&&(l===void 0||Ne===l)&&u!==null&&ee(u,a)&&u.userId===i}function Bt(a,i){let t=i.trim();if(t!==""){if(ee(P.value,a)){let l=G.value.find(u=>u.userId===t);if(l!==void 0)return l}return Kn(a,t)?Ie.value??void 0:void 0}}async function rc(a,i,t={forceRefresh:true}){let l=je(a),u=i.trim();if(u==="")return Object.freeze({ok:false,operation:"channel-member",reason:"not-found"});let f=++Ne,E=++an,X=n.getGeneration();fe.value=Object.freeze({...l,userId:u}),Ie.value=null,Se.value=true,ie.value=null;try{let Y=await Ds(n,l,u,{forceRefresh:t.forceRefresh!==!1});if(!Kn(l,u,X,f))return Object.freeze({ok:!1,operation:"channel-member",reason:"stale"});if(ee(P.value,l)&&((Ze.get(u)??0)>E?Y=Bt(l,u)??null:Ze.set(u,E)),Y===null||So(l,u))return ee(P.value,l)&&(G.value=Object.freeze(G.value.filter(cn=>cn.userId!==u))),Object.freeze({ok:!1,operation:"channel-member",reason:"not-found"});Ie.value=d(l.conversationId,[Y])[0]??null;let Ee=Ie.value;return Ee!==null&&ee(P.value,l)&&(G.value=Object.freeze(G.value.map(cn=>cn.userId===u?Ee:cn))),Object.freeze({ok:!0,operation:"channel-member"})}catch(Y){if(!Kn(l,u,X,f))return Object.freeze({ok:false,operation:"channel-member",reason:"stale"});let Ee=tn(Y,"profile.channel-member",l);return ie.value=Ee,Object.freeze({ok:false,operation:"channel-member",reason:"failed",error:Ee})}finally{Kn(l,u,X,f)&&(Se.value=false);}}function Rr(a,i,t){return i.flatMap(l=>{if((Ze.get(l.userId)??0)>t){let u=Bt(a,l.userId);return u===void 0?[]:[u]}return Ze.set(l.userId,t),Kn(a,l.userId)&&Ie.value!==null&&(Ie.value=d(a.conversationId,[l])[0]??null),[l]})}async function To(a,i,t){N.value=true,se.value=null;let l=++an;try{let u=await Gs(n,a,O.value);if(!wn(a,i,t))return Object.freeze({ok:!1,operation:"channel-members",reason:"stale"});let f=Rr(a,u.items,l);return p(a.conversationId,u.items),b(a.conversationId,u.items),G.value=d(a.conversationId,In(nn,a.conversationId,f)),Mn=u.nextCursor,ne.value=u.exhausted||u.nextCursor===void 0,Cn=void 0,N.value=!1,Object.freeze({ok:!0,operation:"channel-members"})}catch(u){if(!wn(a,i,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let f=tn(u,"profile.channel-members.refresh",a);return Cn="initial",se.value=f,N.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:f})}}async function ja(a){if(N.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});let i=je(a),t=En,l=n.getGeneration();N.value=true,se.value=null;let u=++an;try{let f=await $o(n,i,O.value);return wn(i,l,t)?(f!==null&&(G.value=d(i.conversationId,In(nn,i.conversationId,Rr(i,f.items,u))),Mn=f.nextCursor,ne.value=f.exhausted||f.nextCursor===void 0),await To(i,l,t)):Object.freeze({ok:!1,operation:"channel-members",reason:"stale"})}catch(f){if(!wn(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let E=tn(f,"profile.channel-members.cache",i);return Cn="initial",se.value=E,N.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:E})}}async function wa$1(a){if(N.value)return Object.freeze({ok:false,operation:"channel-members",reason:"busy"});if(ne.value||Mn===void 0)return Object.freeze({ok:false,operation:"channel-members",reason:"exhausted"});let i=je(a),t=En,l=n.getGeneration();N.value=true,se.value=null;let u=++an;try{let f=await zs(n,i,{query:O.value,cursor:Mn});if(!wn(i,l,t))return Object.freeze({ok:!1,operation:"channel-members",reason:"stale"});let E=Rr(i,f.items,u);return p(i.conversationId,f.items),b(i.conversationId,f.items),G.value=d(i.conversationId,In(nn,i.conversationId,Ca(G.value,E))),Mn=f.nextCursor,ne.value=f.exhausted||f.nextCursor===void 0,Cn=void 0,N.value=!1,Object.freeze({ok:!0,operation:"channel-members"})}catch(f){if(!wn(i,l,t))return Object.freeze({ok:false,operation:"channel-members",reason:"stale"});let E=tn(f,"profile.channel-members.page",i);return Cn="more",se.value=E,N.value=false,Object.freeze({ok:false,operation:"channel-members",reason:"failed",error:E})}}function Jn(a=null){Ze.clear(),ln!==void 0&&(clearTimeout(ln),ln=void 0),En+=1,P.value=a===null?null:je(a),G.value=[],O.value="",N.value=false,ne.value=false,se.value=null,Mn=void 0,Cn=void 0;}function Eo(a,i={}){let t=je(a);if(i.preserveExisting===true&&ee(P.value,t)){ln!==void 0&&(clearTimeout(ln),ln=void 0);let l=++En,u=n.getGeneration();return se.value=null,To(t,u,l)}return Jn(t),ja(t)}function oc(a){let i=P.value;if(i===null)return;O.value=a,En+=1,Ze.clear(),G.value=[],ne.value=false,se.value=null,Mn=void 0,N.value=false,ln!==void 0&&clearTimeout(ln);let t=En,l=n.getGeneration(),u=++an;(async()=>{try{let f=await $o(n,i,O.value);if(!wn(i,l,t))return;f!==null&&(G.value=d(i.conversationId,In(nn,i.conversationId,Rr(i,f.items,u))),Mn=f.nextCursor,ne.value=f.exhausted||f.nextCursor===void 0);}catch(f){if(!wn(i,l,t))return;se.value=tn(f,"profile.channel-members.cache",i);}wn(i,l,t)&&(ln=setTimeout(()=>{ln=void 0,To(i,l,t);},300));})();}function ac(){let a=P.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):wa$1(a)}function ic(){let a=P.value;return a===null||Cn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-members",reason:"not-ready"})):Cn==="more"?wa$1(a):ja(a)}function Nn(a,i,t){return !U&&n.getGeneration()===i&&jn===t&&ee(te.value,a)}async function $t(a,i={}){if(Te.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});let t=je(a),l=jn,u=n.getGeneration();Te.value=true,_.value=null;try{let f=i.useCache===!1?null:await Qo(n,t,Pe.value||void 0);if(!Nn(t,u,l))return Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"});f!==null&&(ae.value=dt(t.conversationId,In(nn,t.conversationId,f.items)),gn=f.nextPageToken,ke.value=f.exhausted||f.nextPageToken===void 0);let E=await Fs(n,t,Pe.value||void 0);return Nn(t,u,l)?(ae.value=dt(t.conversationId,In(nn,t.conversationId,E.items)),gn=E.nextPageToken,ke.value=E.exhausted||E.nextPageToken===void 0,Rn=void 0,Te.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(f){if(!Nn(t,u,l))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let E=tn(f,"profile.channel-mentions",t);return Rn="initial",_.value=E,Te.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:E})}}async function xa$1(){let a=te.value,i=gn;if(a===null)return Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"});if(Te.value)return Object.freeze({ok:false,operation:"channel-mentions",reason:"busy"});if(ke.value||i===void 0)return Object.freeze({ok:false,operation:"channel-mentions",reason:"exhausted"});let t=jn,l=n.getGeneration();Te.value=true,_.value=null;try{let u=await _s(n,Pe.value,i);return Nn(a,l,t)?(ae.value=dt(a.conversationId,In(nn,a.conversationId,Ca(ae.value,u.items))),gn=u.nextPageToken,ke.value=u.exhausted||u.nextPageToken===void 0,Rn=void 0,Te.value=!1,Object.freeze({ok:!0,operation:"channel-mentions"})):Object.freeze({ok:!1,operation:"channel-mentions",reason:"stale"})}catch(u){if(!Nn(a,l,t))return Object.freeze({ok:false,operation:"channel-mentions",reason:"stale"});let f=tn(u,"profile.channel-mentions.page",a);return Rn="more",_.value=f,Te.value=false,Object.freeze({ok:false,operation:"channel-mentions",reason:"failed",error:f})}}function Pr(a=null,i=""){dn!==void 0&&(clearTimeout(dn),dn=void 0),jn+=1,te.value=a===null?null:je(a),ae.value=[],Pe.value=i,Te.value=false,ke.value=false,_.value=null,gn=void 0,Rn=void 0;}function sc(a,i=""){return ee(te.value,a)&&Pe.value===i?(dn!==void 0&&(clearTimeout(dn),dn=void 0),jn+=1,Te.value=false,_.value=null,gn=void 0,Rn=void 0,$t(a,{useCache:false})):(Pr(a,i),$t(a))}function lc(a){let i=te.value;if(i===null)return;Pr(i,a);let t=jn,l=n.getGeneration();(async()=>{try{let u=await Qo(n,i,a||void 0);if(!Nn(i,l,t))return;u!==null&&(ae.value=dt(i.conversationId,In(nn,i.conversationId,u.items)),gn=u.nextPageToken,ke.value=u.exhausted||u.nextPageToken===void 0);}catch(u){if(!Nn(i,l,t))return;_.value=tn(u,"profile.channel-mentions.cache",i);}Nn(i,l,t)&&(dn=setTimeout(()=>{dn=void 0,$t(i);},300));})();}function cc(){let a=te.value;return a===null?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):(dn!==void 0&&(clearTimeout(dn),dn=void 0),jn+=1,Te.value=false,_.value=null,gn=void 0,ke.value=false,Rn=void 0,$t(a,{useCache:false}))}function uc(){let a=te.value;return a===null||Rn===void 0?Promise.resolve(Object.freeze({ok:false,operation:"channel-mentions",reason:"not-ready"})):Rn==="more"?xa$1():$t(a)}function jo(a){ee(h.value,a)&&(Dt(a,{forceRefresh:true}),gt(a,{forceRefresh:true,preserveExisting:true}));}function kr(a){ee(P.value,a)&&Eo(a,{preserveExisting:true});}async function Aa$1(a){if(!ee(R.value,a))return;(await Vt(a,{forceRefresh:true})).ok&&C$1.value?.canViewMembers===true&&kr(a);}function dc(a){if(a.type==="profile:updated"){if(a.profileType==="user")c.value?.conversationId===a.id?re({conversationType:"direct",conversationId:a.id},{forceRefresh:true}):zt(a.id,{forceRefresh:true});else {let Y={conversationType:"group",conversationId:a.id};if(rn(Y)||gr(Y)){M.add(Y.conversationId);return}ee(h.value,Y)?qt(Y,{includeMembers:true,forceRefresh:true}):Dt(Y,{forceRefresh:true});}return}if(a.type==="channel-profile:updated"){let Y={conversationType:"channel",conversationId:a.channelId};fr(Y)||hr(Y)?le.add(Y.conversationId):Aa$1(Y);return}if(a.type==="sync:complete"){for(let Y of a.conversations)if(Y.conversationType==="group"){let Ee={conversationType:"group",conversationId:Y.conversationId};ee(h.value,Ee)&&jo(Ee);}else if(Y.conversationType==="channel"){let Ee={conversationType:"channel",conversationId:Y.conversationId};(ee(R.value,Ee)||ee(P.value,Ee)||ee(te.value,Ee))&&(Dn(Ee),kr(Ee));}return}if(a.type!=="message:received"&&a.type!=="message:updated")return;let i=a.message,t=i.body.system?.eventType;if(t===void 0)return;let l=i.body.system?.targetUserIds??[],u=n.getCredentials().userId;if(i.conversationType==="group"&&Su.has(t)){let Y={conversationType:"group",conversationId:i.conversationId},Ee=(a.source??"live")==="live",cn=t==="group_member_renamed"&&l.some(mn=>mn.trim()===u)&&rn(Y,"set-my-nickname"),wo=t==="group_member_renamed"&&!cn;if(t==="group_member_renamed"){cn||ya(n,i);for(let mn of l)cn&&mn.trim()===u||Pa(Y,mn);}if(t==="group_member_joined"||t==="group_member_invited")for(let mn of l)Co(Y,mn);if(Ee&&(t==="group_member_left"||t==="group_member_removed"))for(let mn of l)bo(Y,mn);if(gr(Y)){q.add(Y.conversationId);return}Ee&&!cn&&(wo?ee(h.value,Y)&>(Y,{forceRefresh:true,preserveExisting:true}):jo(Y));return}let f=(a.source??"live")==="live"||a.channelLifecycleEffects===true;if(i.conversationType!=="channel"||!Tu.has(t)||!f)return;let E={conversationType:"channel",conversationId:i.conversationId};if(!(t==="channel_member_renamed"&&l.some(Y=>fr(E,Y.trim()===u?"set-my-nickname":"set-member-nickname",Y)))){if(t==="channel_member_renamed")for(let Y of l)Ea(E,Y);if(t==="channel_admin_added"||t==="channel_admin_removed"){let Y=t==="channel_admin_added"?"admin":"member";for(let Ee of l)Qn(E,Ee,Y);}if(t==="channel_owner_transferred"){for(let Ee of l)Qn(E,Ee,"owner");let Y=i.body.system?.operatorId;Y!==void 0&&!l.includes(Y)&&Qn(E,Y,"member");}if(t==="channel_member_joined"||t==="channel_member_invited")for(let Y of l)Oo(E,Y);if(t==="channel_member_left"||t==="channel_member_removed")for(let Y of l)Mo(E,Y);if(hr(E)){Nl(E,Ns.has(t),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0,l);return}Ns.has(t)?Dn(E,l):ct(E,l),t!=="channel_member_left"&&t!=="channel_member_removed"&&l.length>0&&Gt(E,l,{forceRefresh:true}),kr(E);}}let fc=n.subscribeProfileChange(()=>{o.value+=1;}),mc=n.subscribeEvents(dc);function za$1(){k["set-remark"]+=1,k.block+=1,k.report+=1,k["delete-friendship"]+=1,he.direct+=1,c.value=null,m.value=null,g.value="unknown",x.value=false,D$1.value=null,Ve+=1,K.value=[],A$1.value=false,W.value=null;}function Da(){for(let a of Object.keys(J))J[a]+=1;for(let a of Object.keys(me))me[a]+=1;Me.clear(),j.clear(),Re.clear(),M.clear(),q.clear(),he.group+=1,$e+=1,h.value=null,v.value=null,z.value=[],V.value=false,H.value=false,F$1.value=null;}function Mr(){for(let a of Object.keys(He))He[a]+=1;T.clear(),Ae.clear(),de.clear(),ue.clear(),le.clear(),xe.clear(),he.channel+=1,R.value=null,C$1.value=null,L.value=false,Q.value=null,Ne+=1,fe.value=null,Ie.value=null,Se.value=false,ie.value=null,Jn(),Pr();}function Ga(){za$1(),k["search-user"]+=1,k["resolve-application-target"]+=1,k["request-friendship"]+=1,Da(),Mr(),Fe.clear();for(let a of ["individual","group","channel"])$n[a]+=1,Object.assign(pe[a],Br());An.clear(),yo(),Ye.clear(),Sn.clear(),nn.clear(),un.clear(),yn.clear(),bn.clear(),ge.clear(),s.value={},sn.size>0&&(sn.clear(),Tn.value+=1);}function pc(){U||(Ga(),U=true,Me.clear(),j.clear(),Re.clear(),de.clear(),ue.clear(),T.clear(),Ae.clear(),fc(),mc(),r.record("debug","pinia","profile","profile-directory-disposed"));}return {profileRevision:o,directRef:c,directProfile:m,directRelationship:g,directLoading:x,directError:D$1,directMutualGroups:K,directMutualGroupsLoading:A$1,directMutualGroupsError:W,groupRef:h,groupProfile:v,groupMembers:z,groupLoading:V,groupMembersLoading:H,groupError:F$1,channelRef:R,channelProfile:C$1,channelLoading:L,channelError:Q,directories:pe,directorySearchKeyword:B,directorySearchResult:y,directorySearchLoading:$,directorySearchError:oe,channelMembersRef:P,channelMembers:G,channelMemberQuery:O,channelMembersLoading:N,channelMembersExhausted:ne,channelMembersError:se,channelMemberDetailRef:fe,channelMemberDetail:Ie,channelMemberDetailLoading:Se,channelMemberDetailError:ie,channelMentionsRef:te,channelMentions:ae,channelMentionQuery:Pe,channelMentionsLoading:Te,channelMentionsExhausted:ke,channelMentionsError:_,resolveDisplayName:po,resolveAvatarUrl:vo,resolvePublicNickname:lr,resolveSenderProfile:zt,resolveGroupMemberProfiles:Dt,resolveChannelMemberProfiles:Gt,invalidateChannelMemberProfiles:ct,invalidateChannelMemberSet:Dn,channelMentionRevision:sr,loadDirect:re,resolveProfileAccess:ve,loadDirectMutualGroups:ce,setDirectContactRemark:qe,blockDirectContact:We,reportDirectContact:_e,deleteDirectFriendship:Je,searchDirectContact:fn,resolveDirectContactTarget:ft,requestDirectFriendship:Kt,loadGroup:qt,updateGroupName:Gn,updateGroupAvatar:Fn,setMyGroupNickname:go,updateGroupVerification:dr,isGroupProfileWritePending:rn,inviteGroupMembers:xl,removeGroupMember:Al,transferGroupOwnership:zl,leaveGroup:Dl,isGroupMemberManagementPending:gr,ensureGroupMembers:gt,loadChannel:Vt,requestMembershipJoin:Wl,updateChannelName:Cl,updateChannelDescription:Rl,updateChannelAvatar:Pl,setMyChannelNickname:kl,setChannelMemberNickname:Ml,updateChannelVerification:Ol,setChannelAllMuted:Sl,setChannelMemberPrivateChatDisabled:Tl,isChannelProfileWritePending:fr,inviteChannelMembers:Ll,removeChannelMember:Ul,setChannelMemberAdmin:ql,transferChannelOwnership:Vl,leaveChannel:Bl,dismissChannel:$l,isChannelMemberManagementPending:hr,loadDirectory:Ql,refreshDirectory:Jl,searchDirectory:Yl,clearDirectorySearch:yo,openChannelMembers:Eo,getChannelMember:Bt,loadChannelMember:rc,setChannelMemberQuery:oc,loadMoreChannelMembers:ac,retryChannelMembers:ic,resetChannelMembers:Jn,updateGroupMemberNicknameProjection:Ra,clearGroupMemberNicknameProjection:Pa,removeGroupMemberProjection:bo,restoreGroupMemberProjection:Co,isGroupMemberRemovedProjection:ka,clearGroupMemberProjections:Ro,updateChannelNameProjection:Ma,updateChannelDescriptionProjection:Oa,updateChannelAvatarProjection:Sa,updateChannelVerificationProjection:Ta,updateChannelManagementProjection:Po,updateChannelMemberDisplayNameProjection:ko,updateChannelMemberRoleProjection:Qn,clearChannelMemberDisplayNameProjection:Ea,channelMemberNicknameProjection:tc,removeChannelMemberProjection:Mo,restoreChannelMemberProjection:Oo,isChannelMemberRemovedProjection:So,clearChannelMemberProjections:Cr,openChannelMentions:sc,setChannelMentionQuery:lc,loadMoreChannelMentions:xa$1,refreshChannelMentions:cc,retryChannelMentions:uc,resetChannelMentions:Pr,resetDirect:za$1,resetGroup:Da,resetChannel:Mr,reset:Ga,dispose:pc}})}var Hs=new WeakMap,$r=new WeakMap;function Jo(e=ze()){Oe(e);let n=Hs.get(e);n===void 0&&(n=ju(e),Hs.set(e,n));let r=n(e);return $r.get(e)!==r&&($r.set(e,r),Ge(e,()=>{r.dispose(),r.$dispose(),$r.get(e)===r&&$r.delete(e);})),r}function Ls(e,n,r){let o=ref({}),s=0,c=()=>false,m,g=shallowRef([]),x=[],D$1=0;function K(){for(;D$1<4&&x.length>0;){let F=x.shift();D$1+=1,F.run().then(F.resolve,F.reject).finally(()=>{D$1-=1,K();});}}function A(F){return new Promise((R,C)=>{x.push({run:F,resolve:R,reject:C}),K();})}function W(){s+=1,o.value={},g.value=[],c=()=>false;for(let F of x.splice(0))F.resolve();}function h(F){let R={name:"",avatarUrl:""};if(!c()||r.activeRef?.conversationType!==F.ref.conversationType||r.activeRef.conversationId!==F.ref.conversationId)return {...R,status:"unavailable"};m?.profileRevision;let C=n.getSenderProfileCache();if(F.senderId===n.getCredentials().userId)return {...R,status:"self",avatarUrl:E(C,F.senderId)};if(F.senderId==="system")return {...R,status:"system"};if(F.ref.conversationType==="robot"){let pe=r.display,B=F.senderId===F.ref.conversationId&&pe?.title!==F.ref.conversationId?pe?.title.trim()??"":"";return {name:B,avatarUrl:B===""?"":pe?.avatar??"",status:B===""?"unavailable":"ready"}}let L=F.ref.conversationType==="channel"?B(C,n.getChannelMemberProfiles(),F.ref.conversationId,F.senderId):z(C,n.getGroupMemberNames(),F.ref.conversationType==="group"?F.ref.conversationId:"",F.senderId),Q=F.ref.conversationType==="channel"?D(C,n.getChannelMemberProfiles(),F.ref.conversationId,F.senderId):E(C,F.senderId);return {name:L,avatarUrl:Q,status:L===""?o.value[F.senderId]??"unavailable":"ready"}}async function v(F,R,C=false){if(!R()||F.length===0)return;c=R,C||(g.value=F);let L=s,Q=()=>L===s&&R(),pe=F[0].ref;if(pe.conversationType==="robot")return;m??=Jo(e);let B=m,y=F.flatMap(P=>[P.senderId,...P.previewParts.flatMap(G=>G.kind==="rich-text"?G.mention?.atUserIds??[]:[])]),$=[...new Set(y)].filter(P=>P!==""&&P!=="system"&&P!==n.getCredentials().userId&&o.value[P]!=="loading"&&(C||o.value[P]===void 0));if($.length===0)return;for(let P of $)o.value[P]="loading";let oe=Promise.allSettled([Promise.resolve().then(()=>Q()?pe.conversationType==="group"?B.resolveGroupMemberProfiles({conversationType:"group",conversationId:pe.conversationId},{forceRefresh:C}):pe.conversationType==="channel"?B.resolveChannelMemberProfiles({conversationType:"channel",conversationId:pe.conversationId},$,{forceRefresh:C,isCurrent:Q}):true:false)]).then(([P])=>P.status==="fulfilled"&&P.value);await Promise.all($.map(P=>A(async()=>{if(!Q())return;let[G,O]=await Promise.allSettled([oe,Promise.resolve().then(()=>B.resolveSenderProfile(P,{forceRefresh:C}))]);if(!Q())return;let N=G.status==="rejected"||G.value===false||O.status==="rejected"||O.value===false;o.value[P]=N?"failed":"unavailable";})));}function z$1(){return g.value.flatMap(F=>{if(F.ref.conversationType==="robot")return [];let R=F.previewParts.flatMap(C=>C.kind==="rich-text"?(C.mention?.atUserIds??[]).filter(L=>!C.mention?.atUsersName?.[L]?.trim()):[]);return [F.senderId,...R].map(C=>({...F,senderId:C,previewParts:[]})).filter(C=>["failed","unavailable"].includes(h(C).status))})}let V=computed(()=>z$1().length>0);async function H(){await v(z$1(),c,true);}return {senderFor:h,prepare:v,reset:W,hasRetryableSenderProfiles:V,retrySenderProfiles:H}}var _u=250,Ku=2e3;function qs(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Xo(e,n){return e!==null&&e.conversationId===n.conversationId&&e.conversationType===n.conversationType}function Yo(e,n,r){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"?e:Object.freeze({code:"IM_CHAT_KIT_SEARCH_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:qs(r)}})}function Nu(e){return defineStore("k2-im-search",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=Be(e),s=Ls(e,n,o),c=ref(""),m=ref([]),g=ref(false),x=ref(false),D=ref("all"),K=ref(""),A=ref(""),W=shallowRef(null),h=false,v=0,z=0,V,H,F,R,C;function L(){let ie=o.activeRef,te=o.getHandle();if(!(h||ie===null||te===void 0||!Xo(ie,te.ref)))return {ref:qs(ie),handle:te,generation:n.getGeneration()}}function Q(ie){return !h&&n.getGeneration()===ie.generation&&o.getHandle()===ie.handle&&Xo(o.activeRef,ie.ref)}function pe(){let ie=F;ie!==void 0&&(clearTimeout(ie.timer),F=void 0,ie.resolve(Object.freeze({ok:false,operation:"search",reason:"stale"})));}function B(){R!==void 0&&(clearTimeout(R),R=void 0);}function y(ie,te){return te===v&&(g.value=false),Object.freeze({ok:false,operation:ie,reason:"stale"})}function $(ie,te){return ie===z&&K.value===te&&(K.value=""),Object.freeze({ok:false,operation:"locate",reason:"stale"})}function oe(ie,te,ae){switch(ae){case "all":return Ea(n,{conversation:ie.ref,keyword:te});case "text":return Fa(n,{conversation:ie.ref,keyword:te});case "file":return Ga(n,{conversation:ie.ref,keyword:te});case "image":return Ha(n,{conversation:ie.ref});case "video":return Ia(n,{conversation:ie.ref});case "voice":return Ja(n,{conversation:ie.ref})}}function P(ie,te){return ie!==""?true:te!=="all"&&te!=="text"}function G(ie){c.value=ie,pe();let te=++v,ae=ie.trim(),Pe=D.value,Te=P(ae,Pe);if(H=void 0,m.value=[],s.reset(),x.value=false,W.value=null,!Te)return g.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"no-condition"}));let ke=L();return ke===void 0?(g.value=false,Promise.resolve(Object.freeze({ok:false,operation:"search",reason:"not-ready"}))):(g.value=true,new Promise(_=>{let U=setTimeout(()=>{if(F?.timer===U&&(F=void 0),te!==v||!Q(ke)){_(y("search",te));return}r.record("debug","pinia","history","search-start",()=>({generation:ke.generation,conversation:ke.ref,category:Pe})),oe(ke,ae,Pe).then(ge=>{if(te!==v||!Q(ke)){_(y("search",te));return}m.value=[...ge.results],s.prepare(m.value,()=>Q(ke)),H=ge.nextPageToken,x.value=!ge.exhausted,g.value=false,_(Object.freeze({ok:true,operation:"search"}));}).catch(ge=>{if(te!==v||!Q(ke)){_(y("search",te));return}let be=Yo(ge,"search.first-page",ke.ref);W.value=be,g.value=false,_(Object.freeze({ok:false,operation:"search",reason:"failed",error:be}));});},_u);F={timer:U,resolve:_};}))}function O(ie){return D.value=ie,(ie==="image"||ie==="video"||ie==="voice")&&(c.value=""),G(c.value)}async function N(){if(g.value)return Object.freeze({ok:false,operation:"load-more",reason:"busy"});if(!x.value||H===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"exhausted"});let ie=L();if(ie===void 0)return Object.freeze({ok:false,operation:"load-more",reason:"not-ready"});let te=H,ae=++v;g.value=true,W.value=null;try{let Pe=await Ka(n,te);return ae!==v||!Q(ie)?y("load-more",ae):(m.value=[...m.value,...Pe.results],s.prepare(m.value,()=>Q(ie)),H=Pe.nextPageToken,x.value=!Pe.exhausted,g.value=!1,Object.freeze({ok:!0,operation:"load-more"}))}catch(Pe){if(ae!==v||!Q(ie))return y("load-more",ae);let Te=Yo(Pe,"search.next-page",ie.ref);return W.value=Te,g.value=false,Object.freeze({ok:false,operation:"load-more",reason:"failed",error:Te})}}async function ne(ie,te){let ae=L();if(ae===void 0||!Xo(ae.ref,ie))return Object.freeze({ok:false,operation:"locate",reason:"not-ready"});let Pe=++z;V?.abort();let Te=new AbortController;V=Te,B(),A.value="",K.value="",K.value=te,W.value=null;try{return !await o.loadAround(te,{skipIfLoaded:!0,signal:Te.signal})||(await nextTick(),Pe!==z||!Q(ae))?$(Pe,te):(A.value=te,Object.freeze({ok:!0,operation:"locate"}))}catch(ke){if(Pe!==z||!Q(ae))return $(Pe,te);let _=Yo(ke,"search.locate",ae.ref),U=a(ke).reason;return U==="load-failed"&&r.record("warn","pinia","search","message-locate-failed",()=>({conversation:ae.ref,error:{message:"\u8BFB\u53D6\u6D88\u606F\u5B9A\u4F4D\u7A97\u53E3\u5931\u8D25",data:ke}})),K.value="",W.value=U==="cancelled"?null:_,Object.freeze({ok:false,operation:"locate",reason:U==="load-failed"||U==="not-visible"?"failed":U,...U==="cancelled"?{}:{error:_}})}finally{V===Te&&(V=void 0);}}function se(ie){if(K.value!==ie)return false;K.value="";let te=z,ae=L();return B(),ae===void 0||A.value!==ie||(R=setTimeout(()=>{R=void 0,te===z&&Q(ae)&&A.value===ie&&(A.value="");},Ku)),true}function fe(){z+=1,V?.abort(),V=void 0,B(),K.value="",A.value="";}function Ie(ie){v+=1,pe(),c.value="",m.value=[],s.reset(),g.value=false,x.value=false,D.value="all",H=void 0,W.value=null,ie?.preserveLocation!==true&&fe();}function Se(){h||(Ie(),h=true,C?.(),C=void 0);}return C=watch(()=>o.activeRef===null?"":`${o.activeRef.conversationType}\0${o.activeRef.conversationId}`,()=>Ie(),{flush:"sync"}),{keyword:c,results:m,senderFor:s.senderFor,hasRetryableSenderProfiles:s.hasRetryableSenderProfiles,retrySenderProfiles:s.retrySenderProfiles,searching:g,hasMore:x,category:D,locatingMessageId:K,highlightMessageId:A,error:W,search:G,setCategory:O,loadMore:N,locate:ne,completeLocation:se,clearLocation:fe,reset:Ie,dispose:Se}})}var Us=new WeakMap,Wr=new WeakMap;function xn(e=ze()){Oe(e);let n=Us.get(e);n===void 0&&(n=Nu(e),Us.set(e,n));let r=n(e);return Wr.get(e)!==r&&(Wr.set(e,r),Ge(e,()=>{r.dispose(),r.$dispose(),Wr.get(e)===r&&Wr.delete(e);})),r}var Qr=new WeakMap;function Vs(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Hu(e){return e.conversationType==="direct"||e.conversationType==="group"||e.conversationType==="channel"||e.conversationType==="robot"}function Lu(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Uu(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_CONVERSATION_DELETE_FAILED",category:r!==null&&Lu(r.category)?r.category:"state",operation:"conversation.deleteLocal",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:Vs(n)})}function qu(e=ze()){let n=Oe(e),r=Qr.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Uo(e),m=Be(e),g=et(e),x=Yt(e),D=xn(e),K={disposed:false};function A(W){let h=Vs(W);if(K.disposed)return Object.freeze({ok:false,reason:"stale",conversation:h});let v=o.getGeneration(),z=m.activeRef!==null&&m.activeRef.conversationType===h.conversationType&&m.activeRef.conversationId===h.conversationId;if(s.record("debug","pinia","conversation","conversation-delete-start",()=>({generation:v,conversation:h})),!Hu(h))return Object.freeze({ok:false,reason:"unsupported",conversation:h});let V=c.deleteLocal(h);if(!V.ok){if(V.reason==="stale")return Object.freeze({ok:false,reason:"stale",conversation:h});let R=Uu(V.error,h);return s.record("warn","pinia","conversation","conversation-delete-failed",()=>({generation:v,conversation:h,error:{message:"\u672C\u673A\u4F1A\u8BDD\u5220\u9664\u5931\u8D25\uFF0C\u4FDD\u7559\u5F53\u524D\u7EBF\u7A0B",data:R}})),Object.freeze({ok:false,reason:"delete-failed",conversation:h,error:R})}if(K.disposed||o.getGeneration()!==v)return Object.freeze({ok:false,reason:"stale",conversation:h});Ni(e,h);let H=m.closeActiveConversation(h),F=z||H;return F&&(g.reset(),x.reset(),D.reset()),s.record("debug","pinia","conversation","conversation-delete-complete",()=>({generation:v,conversation:h,data:{activeConversationCleared:F}})),Object.freeze({ok:true,status:"deleted",conversation:h,activeConversationCleared:F})}return K.coordinator=Object.freeze({deleteLocal:A}),Qr.set(e,K),Ge(e,()=>{K.disposed=true,Qr.get(e)===K&&Qr.delete(e);}),K.coordinator}var Bs=30,Bu=15,$u=20,Wu=4294967295,$s=new WeakMap;function Xr(e){return typeof e=="object"&&e!==null}function wt(e,n){if(typeof e!="string"||e.trim()==="")throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Ws(e,n){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Wu)throw new TypeError(`expression recent persistence ${n} \u5FC5\u987B\u662F\u6B63 uint32`);return Number(e)}function Qu(e,n){if(!Xr(e)||e.kind!==n)throw new TypeError("expression recent persistence asset kind \u65E0\u6548");let r=wt(e.url,"asset.url"),o;try{o=new URL(r);}catch{throw new TypeError("expression recent persistence asset.url \u5FC5\u987B\u662F\u5408\u6CD5 URL")}if(o.protocol!=="http:"&&o.protocol!=="https:"||o.username!==""||o.password!=="")throw new TypeError("expression recent persistence asset.url \u53EA\u5141\u8BB8\u65E0\u51ED\u636E HTTP(S)");let s=Ws(e.width,"asset.width"),c=Ws(e.height,"asset.height");if(n==="sticker")return Object.freeze({kind:"sticker",packageId:wt(e.packageId,"asset.packageId"),resourceId:wt(e.resourceId,"asset.resourceId"),url:r,width:s,height:c});if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw new TypeError("expression recent persistence GIF \u4E0D\u5141\u8BB8 packageId");let m=e.resourceId===void 0?void 0:wt(e.resourceId,"asset.resourceId");return Object.freeze({kind:"gif",...m===void 0?{}:{resourceId:m},url:r,width:s,height:c})}function ar(e,n){let r=$s.get(e);r===void 0&&(r=new Map,$s.set(e,r));let o=r.get(n);return o===void 0&&(o={revision:0,kindRevisions:{sticker:0,gif:0,emoji:0},status:"idle",tail:Promise.resolve(),latestSnapshot:null,error:null},r.set(n,o)),o}function Qs(e,n,r,o){let s=ar(e,n),c=++s.revision;for(let g of o)s.kindRevisions[g]+=1;s.status="pending",s.latestSnapshot=r,s.error=null;let m=s.tail.catch(()=>{}).then(()=>e.save(n,r));return s.tail=m,m.then(()=>{s.revision===c&&(s.status="saved",s.error=null);},g=>{s.revision===c&&(s.status="failed",s.error=g);}),{coordinator:s,revision:c,promise:m}}var Yr=new WeakMap;function or(){return reactive({loading:false,loaded:false,error:null})}function Tt(e){return {sticker:e(),gif:e()}}function Js(e){return {sticker:e(),gif:e(),emoji:e()}}function qn(e,n){return Object.freeze({loading:e.loading,loaded:e.loaded,empty:e.loaded&&!e.loading&&e.error===null&&n===0,error:e.error})}function Ju(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function Et(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_EXPRESSION_OPERATION_FAILED",category:r!==null&&Ju(r.category)?r.category:"state",operation:r!==null&&typeof r.operation=="string"?r.operation:`expressions.${n}`,retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:n==="hydrate-recent"||n.startsWith("load-")})}function Zo(e){return Object.freeze({code:e.code,category:e.category??"state",operation:e.operation,retryable:e.retryable??false})}function Xs(e){let n=e.trim();if(n==="")throw new TypeError("expression recordId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");return n}function jt(e){return "recordId"in e?e.recordId:void 0}function Xu(e){let n=[];for(let r=0;r<e.length;r+=Bs)n.push(e.slice(r,r+Bs));return n}function Zr(e){return e==="gif"?$u:Bu}function Xe(e){return e.kind==="sticker"?["sticker",e.packageId.trim(),e.resourceId.trim()].join("\0"):["gif",e.resourceId?.trim()||e.url].join("\0")}function ea(e,n){let r=Xe(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>o.kind==="emoji"?true:Xe(o)!==r)].slice(0,Zr(n.kind)))}function Yu(e,n){let r=Xe(n);return Object.freeze([Object.freeze({...n}),...e.filter(o=>Xe(o)!==r)])}function Ys(e,n,r){let o=[],s=new Set;for(let c of [...r.values(),...n]){if(c.kind==="emoji")continue;let m=Xe(c);if(!(c.kind!==e||s.has(m))&&(s.add(m),o.push(Object.freeze({...c})),o.length===Zr(e)))break}return Object.freeze(o)}function Zs(e){let n=new Set;return Object.freeze(e.filter(r=>n.has(r.resourceId)?false:(n.add(r.resourceId),true)))}function ra(e){let n=k(e.token);return n!==void 0?`token:${n.code}`:h(e.resourceId)?.stableKey??h(e.token)?.stableKey??`server:${e.resourceId}`}function na(e,n,r){let o=e.filter(g=>g.kind==="emoji").slice(0,14).map(g=>Object.freeze({kind:"emoji",stableKey:ra(g),token:g.token,resourceId:g.resourceId})),s=n.filter(g=>g.kind==="game"||r.has(g.stableKey)),c=[],m=new Set;for(let g of [...s,...o])if(!m.has(g.stableKey)&&(m.add(g.stableKey),c.push(g),c.length===14))break;return Object.freeze(c)}function ta(e){return Object.freeze({kind:"game",gameType:e,stableKey:e==="dice"?c:b})}function Zu(e){return defineStore("k2-im-expression",()=>{let n=Oe(e),r=n.runtime,o=n.expressionRecentPersistence,s=r.getDiagnostics(),c=ref(""),m=ref([]),g=ref({}),x=or(),D=reactive({}),K=ref({sticker:[],gif:[]}),A=Tt(or),W=ref({sticker:[],gif:[]}),h=ref({sticker:[],gif:[],emoji:[]}),v=Js(or),z=ref({sticker:[],gif:[],emoji:[]}),V=ref([]),H=ref("idle"),F=ref(""),R=ref([]),C=ref(0),L=or(),Q=ref(void 0),pe=computed(()=>qn(x,m.value.length)),B=computed(()=>{let d=new Set([...Object.keys(D),...Object.keys(g.value)]);return Object.fromEntries([...d].map(p=>{let I=D[p]??{loading:false,loaded:true,error:null};return [p,qn(I,g.value[p]?.length??0)]}))}),y=computed(()=>({sticker:qn(A.sticker,K.value.sticker.length),gif:qn(A.gif,K.value.gif.length)})),$=computed(()=>({sticker:qn(v.sticker,h.value.sticker.length),gif:qn(v.gif,h.value.gif.length),emoji:qn(v.emoji,V.value.length)})),oe=computed(()=>qn(L,R.value.length)),P=computed(()=>Q.value!==void 0),G=false,O=0,N=0,ne={},se=Tt(()=>0),fe=Js(()=>0),Ie=0,Se=0,ie=0,te=0,ae=0,Pe=null,Te=null,ke=null,_="emoji",U=new Set,ge=[],be=null,he=null,Ve=null,k=null,J=Tt(()=>new Map),me=Tt(()=>new Map),Re=new Map,we=new Map,Me=Tt(()=>Promise.resolve());function j(){let d=r.getCredentials();return {client:r.ensureProductClient(),generation:r.getGeneration(),stateEpoch:O,accountId:d.userId}}function M(d){return !G&&d.client===r.getProductClient()&&d.generation===r.getGeneration()&&d.stateEpoch===O&&d.accountId===r.getCredentials().userId}function q(d){return Object.freeze({ok:false,operation:d,reason:"stale"})}function ue(d,p,I){let b=Et(p,d);return I.error=b,Object.freeze({ok:false,operation:d,reason:"failed",error:b})}function de(){return Object.freeze({ok:false,reason:"stale"})}function De(d){return d.kind==="emoji"?null:d.kind==="sticker"?Object.freeze({kind:"sticker",packageId:d.packageId,resourceId:d.resourceId,url:d.url,width:d.width,height:d.height}):Object.freeze({kind:"gif",...d.resourceId===void 0||d.resourceId===""?{}:{resourceId:d.resourceId},url:d.url,width:d.width,height:d.height})}function He(){let d=p=>Object.freeze(h.value[p].flatMap(I=>{let b=De(I);return b===null?[]:[Object.freeze({asset:b,pendingSync:J[p].has(Xe(b))})]}).slice(0,Zr(p)));return Object.freeze({version:1,sticker:d("sticker"),gif:d("gif"),emoji:Object.freeze(V.value.map(p=>p.kind==="game"?Object.freeze({...p}):Object.freeze({...p,pendingSync:Re.has(p.stableKey)})))})}function Ae(){for(let d of ["sticker","gif","emoji"])v[d].error?.code==="IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED"&&(v[d].error=null);}function T(d,p){let I=Zo({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return p.error=I,Object.freeze({ok:false,operation:d,reason:"failed",error:I})}function Z(d,p,I,b=[p]){let S=o,w=++ie,re=Qs(S,d.accountId,I,b);ae=re.revision;let ve=re.promise.then(()=>(M(d)&&w===ie&&Ae(),true),ce=>{if(!M(d)||w!==ie)return false;let ye=Zo({code:"IM_CHAT_KIT_EXPRESSION_RECENT_PERSIST_FAILED",operation:"expressions.recent.persist",retryable:true});return v[p].error=ye,s.record("warn","pinia","storage","expression-recent-persist-failed",()=>({generation:d.generation,error:{message:ye.code,data:ce}})),false});return {...re,settled:ve}}function le(d){return Pe!==null&&nn(Pe,d)}function xe(d){if(Ve!==null)return Ve;let I=(async()=>{for(;M(d)&&!le(d);){let S=k!==null&&nn(k.context,d)?k:null;if(S!==null){let re=await S.promise;if(re.ok||!M(d)||re.reason!=="stale")return;continue}let w=await un();if(w.ok||!M(d)||w.reason!=="stale")return}})();Ve=I;let b=()=>{Ve===I&&(Ve=null);};return I.then(b,b),I}function Fe(d,p,I){if(!M(d))return Promise.resolve();if(te+=1,o===void 0||d.accountId==="")return Pe=d,Promise.resolve();let b=He();return le(d)?Z(d,p,b).settled.then(()=>{}):(ke=b,_=p,U.add(p),ge.push(I),xe(d))}function Ue(){return {sticker:Object.freeze([]),gif:Object.freeze([]),emoji:Object.freeze([]),pendingSticker:new Map,pendingGif:new Map,pendingEmoji:new Map}}function $e(d$1,p){let I=[...d$1.sticker],b=[...d$1.gif],S=[...d$1.emoji],w=new Map(d$1.pendingSticker),re=new Map(d$1.pendingGif),ve=new Map(d$1.pendingEmoji);for(let ce of p){if(ce.type==="prepend-asset"){(ce.kind==="sticker"?w:re).set(Xe(ce.asset),ce.asset),ce.kind==="sticker"?I=[...ea(I,ce.asset)]:b=[...ea(b,ce.asset)];continue}if(ce.type==="prepend-emoji"||ce.type==="prepend-emojis"){let Ce=ce.type==="prepend-emoji"?[ce.entry]:ce.entries;for(let qe of Ce)qe.kind==="emoji"&&ve.set(qe.stableKey,qe),S=[...d(S,qe)];continue}if(ce.type==="authoritative"){if(ce.kind==="emoji"){for(let Ce of ce.items)if(Ce.kind==="emoji")for(let[qe,We]of ve)We.resourceId===Ce.resourceId&&ve.delete(qe);S=[...na(ce.items,S,new Set(ve.keys()))];}else {let Ce=ce.kind==="sticker"?w:re;for(let We of ce.items)We.kind===ce.kind&&Ce.delete(Xe(We));let qe=Ys(ce.kind,ce.items,Ce);ce.kind==="sticker"?I=[...qe]:b=[...qe];}continue}if(ce.type==="delete-assets"){let Ce=new Set(ce.identities),qe=ce.kind==="sticker"?w:re,We=_e=>_e.kind==="emoji"||!Ce.has(Xe(_e))||qe.has(Xe(_e));ce.kind==="sticker"?I=I.filter(We):b=b.filter(We);continue}let ye=new Set(ce.resourceIds);S=S.filter(Ce=>Ce.kind==="game"||!ye.has(Ce.resourceId)||ve.has(Ce.stableKey));}return {sticker:Object.freeze(I),gif:Object.freeze(b),emoji:Object.freeze(S),pendingSticker:w,pendingGif:re,pendingEmoji:ve}}function Ne(d){if(!Xr(d)||d.version!==1||!Array.isArray(d.sticker)||!Array.isArray(d.gif)||!Array.isArray(d.emoji))throw new TypeError("expression recent persistence snapshot \u683C\u5F0F\u6216\u7248\u672C\u65E0\u6548");let p=(ve,ce)=>{let ye=[],Ce=new Map,qe=new Set;for(let We of ce){if(!Xr(We)||typeof We.pendingSync!="boolean")throw new TypeError("expression recent persistence asset entry \u683C\u5F0F\u65E0\u6548");let _e=Qu(We.asset,ve),Je=Xe(_e);qe.has(Je)||(qe.add(Je),ye.length<Zr(ve)&&(ye.push(_e),We.pendingSync&&Ce.set(Je,_e)));}return {items:Object.freeze(ye),pending:Ce}},I=p("sticker",d.sticker),b=p("gif",d.gif),S=[],w=new Map,re=new Set;for(let ve of d.emoji){if(!Xr(ve)||typeof ve.stableKey!="string"||ve.stableKey.trim()===""||ve.kind!=="emoji"&&ve.kind!=="game")throw new TypeError("expression recent persistence emoji entry \u683C\u5F0F\u65E0\u6548");let ce=ve.stableKey.trim(),ye,Ce=false;if(ve.kind==="game"){if(ve.gameType!=="dice"&&ve.gameType!=="rock-paper-scissors")throw new TypeError("expression recent persistence gameType \u65E0\u6548");if(ye=ta(ve.gameType),ye.stableKey!==ce)throw new TypeError("expression recent persistence game stableKey \u65E0\u6548")}else {let qe=wt(ve.token,"emoji.token"),We=wt(ve.resourceId,"emoji.resourceId");if(typeof ve.pendingSync!="boolean")throw new TypeError("expression recent persistence emoji.pendingSync \u65E0\u6548");Ce=ve.pendingSync,ye=Object.freeze({kind:"emoji",stableKey:ce,token:qe,resourceId:We});}re.has(ce)||(re.add(ce),S.length<14&&(S.push(ye),ye.kind==="emoji"&&Ce&&w.set(ce,ye)));}return {sticker:I.items,gif:b.items,emoji:Object.freeze(S),pendingSticker:I.pending,pendingGif:b.pending,pendingEmoji:w}}function an(d){h.value={sticker:d.sticker,gif:d.gif,emoji:[]},z.value={sticker:[],gif:[],emoji:[]},V.value=d.emoji,J.sticker.clear(),J.gif.clear(),Re.clear();for(let[p,I]of d.pendingSticker)J.sticker.set(p,I);for(let[p,I]of d.pendingGif)J.gif.set(p,I);for(let[p,I]of d.pendingEmoji)Re.set(p,I);for(let p of ["sticker","gif","emoji"])Object.assign(v[p],{loading:false,loaded:true,error:null});}function Ze(d,p){if(o===void 0||d.accountId==="")return 0;let I=ar(o,d.accountId);return p===void 0?I.revision:I.kindRevisions[p]}function Ye(d){if(o===void 0||d.accountId===""||!le(d))return;let p=ar(o,d.accountId);if(p.revision===ae)return;let I=p.latestSnapshot===null?Ue():Ne(p.latestSnapshot),b=(S,w)=>{let re=S==="sticker"?I.pendingSticker:I.pendingGif,ve=new Map(h.value[S].flatMap(ce=>ce.kind==="emoji"||ce.kind!==S?[]:[[Xe(ce),ce]]));return Object.freeze(w.map(ce=>{if(ce.kind==="emoji"||ce.kind!==S)return ce;let ye=Xe(ce);if(re.has(ye))return ce;let Ce=jt(ve.get(ye)??ce);return Object.freeze({...ce,...Ce===void 0?{}:{recordId:Ce}})}))};h.value={sticker:b("sticker",I.sticker),gif:b("gif",I.gif),emoji:h.value.emoji},V.value=I.emoji,J.sticker.clear(),J.gif.clear(),Re.clear();for(let[S,w]of I.pendingSticker)J.sticker.set(S,w);for(let[S,w]of I.pendingGif)J.gif.set(S,w);for(let[S,w]of I.pendingEmoji)Re.set(S,w);for(let S of ["sticker","gif"]){let w=new Set(h.value[S].flatMap(re=>jt(re)===void 0?[]:[jt(re)]));z.value={...z.value,[S]:Object.freeze(z.value[S].filter(re=>w.has(re)))};}ae=p.revision;}async function Sn(d,p,I,b){let S="hydrate-recent";v.emoji.error=null;try{let w=null,re=0;if(o!==void 0&&d.accountId!==""){w=ar(o,d.accountId);let _e=w.latestSnapshot;if(!b&&w.status==="failed"&&_e!==null&&Qs(o,d.accountId,_e,[]),re=w.revision,await w.tail.catch(()=>{}),p!==Se||!M(d)||te!==I||w.revision!==re)return q(S);if(!b&&w.status==="failed")return T(S,v.emoji);w.status==="saved"&&be!==null&&w.latestSnapshot===be&&ke===he&&(ke=null,U.clear(),ge.length=0,be=null,he=null);}let ve=o===void 0||d.accountId===""?null:await o.load(d.accountId);if(p!==Se||!M(d)||te!==I||w!==null&&w.revision!==re)return q(S);let ce;try{ce=ve===null?Ue():Ne(ve);}catch(_e){let Je=o?.clearInvalid;if(ve!==null&&d.accountId!==""&&Je!==void 0)try{await Je(d.accountId,ve);}catch(fn){throw new Error("expression recent persistence \u635F\u574F\u5FEB\u7167\u6E05\u7406\u5931\u8D25",{cause:fn})}throw _e}let ye=b?null:ke,Ce=new Set(U),qe=[...ge],We=ye===null?ce:$e(ce,qe);if(an(We),ae=re,b){if(ke=null,U.clear(),ge.length=0,be=null,he=null,w!==null){w.revision+=1;for(let _e of ["sticker","gif","emoji"])w.kindRevisions[_e]+=1;w.status="saved",w.latestSnapshot=ve,w.error=null,ae=w.revision;}return Pe=d,Ae(),Object.freeze({ok:!0,operation:S})}if(ye!==null&&o!==void 0&&d.accountId!==""){let _e=He();be=_e,he=ye;let Je=Z(d,_,_e,[...Ce]),fn=await Je.settled;if(p!==Se||!M(d)||te!==I||Je.coordinator.revision!==Je.revision)return q(S);if(!fn)return T(S,v.emoji);ke===ye&&(ke=null,U.clear(),ge.length=0,be=null,he=null);}return Pe=d,Object.freeze({ok:!0,operation:S})}catch(w){return p!==Se||!M(d)?q(S):ue(S,w,v.emoji)}}function nn(d,p){return d.client===p.client&&d.generation===p.generation&&d.stateEpoch===p.stateEpoch&&d.accountId===p.accountId}function un(d={}){let p="hydrate-recent";if(G)return Promise.resolve(q(p));let I;try{I=j();}catch(ye){let Ce=ue(p,ye,v.emoji);return !Ce.ok&&Ce.reason==="failed"&&(Te=Ce.error??v.emoji.error),Promise.resolve(Ce)}let b=o===void 0||I.accountId===""?null:ar(o,I.accountId);if(!d.force&&le(I)&&ke===null&&(b===null||(b.status==="idle"||b.status==="saved")&&b.revision===ae))return Te=null,Promise.resolve(Object.freeze({ok:true,operation:p}));if(!d.force&&k!==null&&!k.force&&k.stateRevision===te&&nn(k.context,I))return k.promise;let S=++Se,w=te,re=Sn(I,S,w,d.force===true).then(ye=>(ye.ok?Te=null:ye.reason==="failed"&&(Te=ye.error??v.emoji.error),ye)),ve={context:I,stateRevision:w,force:d.force===true,promise:re};k=ve;let ce=()=>{k===ve&&(k=null);};return re.then(ce,ce),re}async function yn(d){let p="load-packs";if(G)return q(p);let I=++N,b;try{b=j();}catch(S){return ue(p,S,x)}x.loading=true,x.error=null;try{let S=await b.client.expressions.packs.list(d);return I!==N||!M(b)?q(p):(c.value=S.version,m.value=Object.freeze([...S.items]),x.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(S){return I!==N||!M(b)?q(p):ue(p,S,x)}finally{I===N&&M(b)&&(x.loading=false);}}async function sn(d){let p="load-pack-items";if(G)return q(p);let I=d.trim();if(I===""){let re=Et(new TypeError("packageId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32"),p);return Object.freeze({ok:false,operation:p,reason:"failed",error:re})}let b=D[I]??=or(),S=(ne[I]??0)+1;ne[I]=S;let w;try{w=j();}catch(re){return ue(p,re,b)}b.loading=true,b.error=null;try{let re=await w.client.expressions.packs.listItems(I);return ne[I]!==S||!M(w)?q(p):(g.value={...g.value,[I]:Object.freeze([...re])},b.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(re){return ne[I]!==S||!M(w)?q(p):ue(p,re,b)}finally{ne[I]===S&&M(w)&&(b.loading=false);}}async function bn(d){let p="load-favorites";if(G)return q(p);let I=++se[d],b=A[d],S;try{S=j();}catch(w){return ue(p,w,b)}b.loading=true,b.error=null;try{let w=await S.client.expressions.favorites.list(d);return se[d]!==I||!M(S)?q(p):(Tn(d,w),b.loaded=!0,Object.freeze({ok:!0,operation:p}))}catch(w){return se[d]!==I||!M(S)?q(p):ue(p,w,b)}finally{se[d]===I&&M(S)&&(b.loading=false);}}function Tn(d,p){for(let w of p)me[d].delete(Xe(w));let I=[],b=new Set;for(let w of [...me[d].values(),...p]){let re=Xe(w);b.has(re)||(b.add(re),I.push(Object.freeze({...w})));}K.value={...K.value,[d]:Object.freeze(I)};let S=new Set(p.flatMap(w=>w.recordId===void 0?[]:[w.recordId]));W.value={...W.value,[d]:Object.freeze(W.value[d].filter(w=>S.has(w)))};}async function $n(d,p,I){let b=A[p];try{let S=await d.client.expressions.favorites.list(p);if(se[p]!==I||!M(d))return;Tn(p,S),b.loaded=!0;}catch(S){se[p]===I&&M(d)&&(b.error=Et(S,"load-favorites"));}}function An(d,p){let I="set-favorite";if(G)return Promise.resolve(q(I));let b=Xe(d),S=we.get(b);if(S?.desired===p)return S.promise;let w;try{w=j();}catch(ye){return Promise.resolve(ue(I,ye,A[d.kind]))}let re=S?.promise.catch(()=>{})??Promise.resolve(),ve=Me[d.kind].catch(()=>{}),ce=Promise.all([re,ve]).then(async()=>{if(!M(w))return q(I);let ye=d.kind,Ce=A[ye];Ce.error=null;let qe=K.value[ye].find(_e=>Xe(_e)===b);if(p&&qe!==void 0)return Object.freeze({ok:true,operation:I});if(!p&&qe?.recordId===void 0){let _e=Zo({code:"IM_CHAT_KIT_EXPRESSION_FAVORITE_RECORD_REQUIRED",operation:"expressions.favorites.unset",retryable:true});return Ce.error=_e,Object.freeze({ok:false,operation:I,reason:"failed",error:_e})}let We=++se[ye];try{if(p?await w.client.expressions.favorites.add(d):await w.client.expressions.favorites.delete([qe.recordId]),!M(w))return q(I);p?(me[ye].set(b,Object.freeze({...d})),K.value={...K.value,[ye]:Yu(K.value[ye],d)}):(me[ye].delete(b),K.value={...K.value,[ye]:Object.freeze(K.value[ye].filter(Je=>Je.recordId!==qe.recordId))});let _e=++se[ye];return We=_e,await $n(w,ye,_e),!M(w)||se[ye]!==_e?q(I):Object.freeze({ok:!0,operation:I})}catch(_e){return !M(w)||se[ye]!==We?q(I):ue(I,_e,Ce)}finally{se[ye]===We&&M(w)&&(Ce.loading=false);}});return we.set(b,{desired:p,promise:ce}),Me[d.kind]=ce.then(()=>{},()=>{}),ce.finally(()=>{we.get(b)?.promise===ce&&we.delete(b);}),ce}async function lt(d){let p=await An(d,true);return Object.freeze({...p,operation:"add-favorite"})}function Wn(d){return An(d,false)}function zn(d,p,I){if(G)return;let b=Xs(p),S=new Set(W.value[d]);I??!S.has(b)?S.add(b):S.delete(b),W.value={...W.value,[d]:Object.freeze([...S])};}function kn(d,p,I){if(Ye(I),d==="emoji"){for(let S of p)if(S.kind==="emoji")for(let[w,re]of Re)re.resourceId===S.resourceId&&Re.delete(w);h.value={...h.value,emoji:Object.freeze([...p])},V.value=na(p,V.value,new Set(Re.keys()));}else {for(let S of p)S.kind===d&&J[d].delete(Xe(S));h.value={...h.value,[d]:Ys(d,p,J[d])};}let b=new Set(p.flatMap(S=>S.recordId===void 0?[]:[S.recordId]));z.value={...z.value,[d]:Object.freeze(z.value[d].filter(S=>b.has(S)))},v[d].loaded=true,Fe(I,d,Object.freeze({type:"authoritative",kind:d,items:Object.freeze([...p])}));}async function En(d){let p="load-recent";if(G)return q(p);let I=v[d],b=await un();if(!b.ok)return b.reason==="stale"?q(p):(I.error=b.error??v.emoji.error,Object.freeze({...b,operation:p}));let S=++fe[d],w;try{w=j();}catch(re){return ue(p,re,I)}I.loading=true,I.error=null;try{let re=Ze(w,d),ve=await w.client.expressions.recent.list(d);return fe[d]!==S||!M(w)?q(p):Ze(w,d)!==re?(Ye(w),q(p)):(kn(d,ve,w),Object.freeze({ok:!0,operation:p}))}catch(re){return fe[d]!==S||!M(w)?q(p):ue(p,re,I)}finally{fe[d]===S&&M(w)&&(I.loading=false);}}async function Mn(d,p){if(!M(d))return;let I=++fe[p],b=v[p];b.loading=true,b.error=null;try{Ye(d);let S=Ze(d,p),w=await d.client.expressions.recent.list(p);if(fe[p]!==I||!M(d))return;if(Ze(d,p)!==S){Ye(d);return}kn(p,w,d);}catch(S){fe[p]===I&&M(d)&&(b.error=Et(S,"load-recent"));}finally{fe[p]===I&&M(d)&&(b.loading=false);}}function ln(d,p){if(!M(d))return false;Ye(d),Se+=1;let I=p.kind,b=Object.freeze({...p});return J[I].set(Xe(b),b),h.value={...h.value,[I]:ea(h.value[I],b)},v[I].loaded=true,Fe(d,I,Object.freeze({type:"prepend-asset",kind:I,asset:b})),true}function Cn(d$1,p){if(!M(d$1))return false;Ye(d$1),Se+=1;let I=Object.freeze(p.map(S=>Object.freeze({...S}))),b=V.value;for(let S of I)Re.set(S.stableKey,S),b=d(b,S);return V.value=b,v.emoji.loaded=true,Fe(d$1,"emoji",Object.freeze({type:"prepend-emojis",entries:I})),true}function jn(d,p){return Cn(d,[p])}async function gn(d,p,I=true){let b="report-recent";if(!M(d))return q(b);let S=p.kind,w=++fe[S],re=v[S];re.error=null;try{if(await d.client.expressions.recent.report(p),fe[S]!==w||!M(d))return q(b);if(!I)return Object.freeze({ok:!0,operation:b});try{Ye(d);let ve=Ze(d,S),ce=await d.client.expressions.recent.list(S);if(fe[S]!==w||!M(d))return q(b);if(Ze(d,S)!==ve)return Ye(d),q(b);kn(S,ce,d);}catch(ve){fe[S]===w&&M(d)&&(re.error=Et(ve,"load-recent"));}return Object.freeze({ok:!0,operation:b})}catch(ve){return fe[S]!==w||!M(d)?q(b):ue(b,ve,re)}}async function dn(d){let p="report-recent";if(G)return q(p);let I;try{I=j();}catch(b){return ue(p,b,v[d.kind])}return d.kind==="emoji"?jn(I,Object.freeze({...d,stableKey:ra(d)})):ln(I,d),gn(I,d)}function Rn(d,p,I){if(G)return;let b=Xs(p),S=new Set(z.value[d]);I??!S.has(b)?S.add(b):S.delete(b),z.value={...z.value,[d]:Object.freeze([...S])};}async function sr(d,p,I){let b=d==="favorites"?"delete-favorites":"delete-recent";if(G)return q(b);let S=d==="favorites"?W:z,w=d==="favorites"?se:fe,re=d==="favorites"?A:v,ve=I?.selected??S.value[p];if(ve.length===0)return Object.freeze({ok:false,operation:b,reason:"empty"});let ce=re[p];if(ce.loading)return Object.freeze({ok:false,operation:b,reason:"busy"});let ye=++w[p],Ce;try{Ce=I?.context??j();}catch(Ke){return ue(b,Ke,ce)}d==="recent"&&Ye(Ce);let qe=d==="recent"?Ze(Ce,p):0,We=new Set(ve),_e=d==="recent"?h.value[p].filter(Ke=>{let rn=jt(Ke);return rn!==void 0&&We.has(rn)}):[];ce.loading=true,ce.error=null;let Je=[],fn=new Set,ft,Kt,Pn=false;for(let Ke of Xu(ve)){if(!M(Ce))return q(b);if(d==="recent"&&w[p]!==ye){Pn=true;break}try{d==="favorites"?await Ce.client.expressions.favorites.delete(Ke):await Ce.client.expressions.recent.delete(Ke);for(let rn of Ke)fn.add(rn);}catch(rn){let Gn=Et(rn,b);ft??=Gn,Je.push(...Ke);}}if(!M(Ce))return q(b);if(d==="recent"&&w[p]!==ye&&(Pn=true),d==="recent"&&Ze(Ce,p)!==qe&&(Pn=true),d==="favorites"){let Ke=p;K.value={...K.value,[Ke]:Object.freeze(K.value[Ke].filter(Fn=>Fn.recordId===void 0||!fn.has(Fn.recordId)))};let rn=new Set(ve),Gn=W.value[Ke].filter(Fn=>!rn.has(Fn));if(W.value={...W.value,[Ke]:Object.freeze([...new Set([...Gn,...Je])])},Kt=++se[Ke],await $n(Ce,Ke,Kt),!M(Ce))return q(b)}else {let Ke=p;Ye(Ce);let rn=_e.filter(Le=>{let on=jt(Le);return on!==void 0&&fn.has(on)}),Gn=new Set(rn.filter(Le=>Le.kind==="emoji").map(Le=>Le.resourceId)),Fn=new Set(rn.filter(Le=>Le.kind!=="emoji").map(Xe));Ke==="emoji"&&(V.value=Object.freeze(V.value.filter(Le=>Le.kind==="game"||!Gn.has(Le.resourceId)||Re.has(Le.stableKey)))),h.value={...h.value,[Ke]:Object.freeze(h.value[Ke].filter(Le=>{let on=jt(Le);return on===void 0||!fn.has(on)}))};let go=new Set(ve),dr=Pn?z.value[Ke].filter(Le=>!fn.has(Le)):z.value[Ke].filter(Le=>!go.has(Le));if(z.value={...z.value,[Ke]:Object.freeze(Pn?dr:[...new Set([...dr,...Je])])},Ke==="emoji"){let Le=h.value.emoji.filter(on=>on.kind==="emoji");V.value=na(Le,V.value,new Set(Re.keys()));}let Io=Object.freeze(Ke==="emoji"?{type:"delete-emojis",resourceIds:Object.freeze([...Gn])}:{type:"delete-assets",kind:Ke,identities:Object.freeze([...Fn])});if(Fe(Ce,Ke,Io),Pn&&fn.size>0&&await Mn(Ce,Ke),!M(Ce))return q(b)}return (d==="recent"?fe[p]===ye:se[p]===Kt)&&(ce.loaded=true,(ft!==void 0||d==="recent")&&(ce.error=ft??null),ce.loading=false),Pn?q(b):Je.length===0?Object.freeze({ok:true,operation:b}):Object.freeze({ok:false,operation:b,reason:fn.size===0?"failed":"partial",error:ft,failedRecordIds:Object.freeze(Je)})}function po(d){let p="delete-favorites";if(G)return Promise.resolve(q(p));let I=Object.freeze([...W.value[d]]);if(I.length===0)return Promise.resolve(Object.freeze({ok:false,operation:p,reason:"empty"}));let b;try{b=j();}catch(re){return Promise.resolve(ue(p,re,A[d]))}let w=Me[d].catch(()=>{}).then(()=>M(b)?sr("favorites",d,{context:b,selected:I}):q(p));return Me[d]=w.then(()=>{},()=>{}),w}function vo(d){return sr("recent",d)}function lr(d,p){let I=++Ie;return H.value=d,F.value=p,R.value=[],C.value=0,Q.value=void 0,L.loading=true,L.loaded=false,L.error=null,I}async function zt(d,p){let I="load-giphy";if(G)return q(I);let b={mode:H.value,query:F.value,items:R.value,totalCount:C.value,nextOffset:Q.value,loaded:L.loaded},S=lr(d,p),w=()=>{H.value=b.mode,F.value=b.query,R.value=b.items,C.value=b.totalCount,Q.value=b.nextOffset,L.loaded=b.loaded;},re;try{re=j();}catch(ve){return w(),L.loading=false,ue(I,ve,L)}try{let ve=d==="trending"?await re.client.expressions.giphy.trending():await re.client.expressions.giphy.search(p);return S!==Ie||!M(re)?q(I):(R.value=Zs(ve.items),C.value=ve.totalCount,Q.value=ve.nextOffset,L.loaded=!0,Object.freeze({ok:!0,operation:I}))}catch(ve){return S!==Ie||!M(re)?q(I):(w(),ue(I,ve,L))}finally{S===Ie&&M(re)&&(L.loading=false);}}function Dt(){return zt("trending","")}function Gt(d){if(G)return Promise.resolve(q("load-giphy"));let p=d.trim();return p===""?(lr("search",""),L.loading=false,L.loaded=true,Promise.resolve(Object.freeze({ok:false,operation:"load-giphy",reason:"empty"}))):zt("search",p)}async function ct(){let d="load-more-giphy";if(G)return q(d);if(L.loading)return Object.freeze({ok:false,operation:d,reason:"busy"});if(H.value==="idle"||Q.value===void 0)return Object.freeze({ok:false,operation:d,reason:"exhausted"});let p=++Ie,I=H.value,b=F.value,S=Q.value,w;try{w=j();}catch(re){return ue(d,re,L)}L.loading=true,L.error=null;try{let re=I==="trending"?await w.client.expressions.giphy.trending({offset:S}):await w.client.expressions.giphy.search(b,{offset:S});return p!==Ie||!M(w)?q(d):(R.value=Zs([...R.value,...re.items]),C.value=re.totalCount,Q.value=re.nextOffset,L.loaded=!0,Object.freeze({ok:!0,operation:d}))}catch(re){return p!==Ie||!M(w)?q(d):ue(d,re,L)}finally{p===Ie&&M(w)&&(L.loading=false);}}async function Dn(d){return Ft([d])}async function Ft(d){let p="report-recent";if(G)return q(p);if(d.length===0)return Object.freeze({ok:true,operation:p});let I;try{I=j();}catch(w){return ue(p,w,v.emoji)}let b=Object.freeze(d.map(w=>Object.freeze({...w,stableKey:ra(w)})));if(!Cn(I,b))return q(p);let S=Object.freeze({ok:true,operation:p});for(let[w,re]of b.entries())if(S=await gn(I,{kind:"emoji",token:re.token,resourceId:re.resourceId},w===b.length-1),!S.ok&&S.reason==="stale")return S;return S}function _t(d,p){gn(d,p).then(I=>{s.record(I.ok?"debug":"warn","pinia","message","expression-recent-report-settled",()=>({generation:d.generation,data:{kind:p.kind,ok:I.ok}}));});}async function cr(d,p){if(G)return de();let I;try{I=j();}catch{return de()}let b;try{b=await d.messages.sendSticker(p);}catch(S){if(!M(I))return de();throw S}return M(I)?(b.ok&&ln(I,p)&&_t(I,p),b):de()}async function In(d,p){if(G)return de();let I;try{I=j();}catch{return de()}let b;try{b=await d.messages.sendGifAsset(p);}catch(S){if(!M(I))return de();throw S}return M(I)?(b.ok&&ln(I,p)&&_t(I,p),b):de()}async function ur(d$1,p){if(G)return de();let I;try{I=j();}catch{return de()}let b;try{b=await d$1.messages.sendGame(p);}catch(S){if(!M(I))return de();throw S}return M(I)?(b.ok&&(Ye(I),Se+=1,V.value=d(V.value,ta(p)),v.emoji.loaded=true,Fe(I,"emoji",Object.freeze({type:"prepend-emoji",entry:ta(p)}))),b):de()}function ut(d={}){if(G)return;let p=d.preserveRecentHydrationFailure===true?Te:null;O+=1,N+=1,Ie+=1,Se+=1,ie+=1,te=0,ae=0,Pe=null,ke=null,U.clear(),ge.length=0,be=null,he=null,Ve=null,k=null,Te=p,we.clear(),Me=Tt(()=>Promise.resolve()),c.value="",m.value=[],g.value={},Object.assign(x,{loading:false,loaded:false,error:null});for(let I of Object.keys(D))delete D[I];for(let I of Object.keys(ne))ne[I]=(ne[I]??0)+1;K.value={sticker:[],gif:[]},W.value={sticker:[],gif:[]};for(let I of ["sticker","gif"])se[I]+=1,Object.assign(A[I],{loading:false,loaded:false,error:null});h.value={sticker:[],gif:[],emoji:[]},z.value={sticker:[],gif:[],emoji:[]},V.value=[],J.sticker.clear(),J.gif.clear(),me.sticker.clear(),me.gif.clear(),Re.clear();for(let I of ["sticker","gif","emoji"])fe[I]+=1,Object.assign(v[I],{loading:false,loaded:false,error:null});p!==null&&(v.emoji.error=p),H.value="idle",F.value="",R.value=[],C.value=0,Q.value=void 0,Object.assign(L,{loading:false,loaded:false,error:null});}function dt(){G||(ut(),G=true);}return Yr.set(e,Object.freeze({dispose:dt})),{packVersion:c,packs:m,packItemsByPackage:g,packStatus:pe,packItemStatus:B,favorites:K,favoriteStatus:y,favoriteSelection:W,recent:h,recentStatus:$,recentSelection:z,emojiRecent:V,giphyMode:H,giphyQuery:F,giphyItems:R,giphyTotalCount:C,giphyHasMore:P,giphyStatus:oe,hydrateRecent:un,loadPacks:yn,loadPackItems:sn,loadFavorites:bn,addFavorite:lt,setFavorite:An,unsetFavorite:Wn,toggleFavoriteSelection:zn,deleteSelectedFavorites:po,loadRecent:En,reportRecent:dn,rememberEmoji:Dn,rememberEmojis:Ft,toggleRecentSelection:Rn,deleteSelectedRecent:vo,loadGiphyTrending:Dt,searchGiphy:Gt,loadMoreGiphy:ct,sendSticker:cr,sendGif:In,sendGame:ur,reset:ut}})}var el=new WeakMap,Jr=new WeakMap;function ed(e=ze()){Oe(e);let n=el.get(e);n===void 0&&(n=Zu(e),el.set(e,n));let r=n(e),o=Yr.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImExpressionStore");return Jr.get(e)!==r&&(Jr.set(e,r),Ge(e,()=>{o.dispose(),r.$dispose(),Jr.get(e)===r&&(Jr.delete(e),Yr.get(e)===o&&Yr.delete(e));})),r}var eo=new WeakMap;function tl(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function no(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function nd(e){return e?.conversationType==="direct"||e?.conversationType==="group"||e?.conversationType==="channel"||e?.conversationType==="robot"}function td(e){return e==="auth"||e==="network"||e==="protocol"||e==="permission"||e==="validation"||e==="state"||e==="unsupported"||e==="contract"}function rd(e,n){let r=typeof e=="object"&&e!==null?e:null;return Object.freeze({code:r!==null&&typeof r.code=="string"?r.code:"IM_CHAT_KIT_HISTORY_RETURN_FAILED",category:r!==null&&td(r.category)?r.category:"state",operation:"history.returnAfterSend",retryable:r!==null&&typeof r.retryable=="boolean"?r.retryable:false,conversation:tl(n)})}function od(e=ze()){let n=Oe(e),r=eo.get(e);if(r!==void 0&&!r.disposed)return r.coordinator;let o=n.runtime,s=o.getDiagnostics(),c=Be(e),m=xn(e),g={disposed:false};function x(v){return !g.disposed&&o.getGeneration()===v.generation&&c.getHandle()===v.handle&&no(c.activeRef,v.conversation)}function D(){let v=g.activeIntent;v!==void 0&&(g.activeIntent=void 0,v.complete(Object.freeze({status:"stale",conversation:v.conversation})));}async function K(v){if(!x(v)){v.complete(Object.freeze({status:"stale",conversation:v.conversation}));return}m.clearLocation(),s.record("debug","pinia","history","history-return-after-send-start",()=>({generation:v.generation,conversation:v.conversation}));try{if(!await c.loadLatest()||!x(v)){v.complete(Object.freeze({status:"stale",conversation:v.conversation}));return}s.record("debug","pinia","history","history-return-after-send-complete",()=>({generation:v.generation,conversation:v.conversation})),v.complete(Object.freeze({status:"applied",conversation:v.conversation}));}catch(z){if(!x(v)){v.complete(Object.freeze({status:"stale",conversation:v.conversation}));return}let V=rd(z,v.conversation);s.record("warn","pinia","history","history-return-after-send-failed",()=>({generation:v.generation,conversation:v.conversation,error:{message:"\u53D1\u9001\u540E\u8FD4\u56DE\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:V}})),v.complete(Object.freeze({status:"failed",conversation:v.conversation,error:V}));}}function A(v){let z=g.activeIntent;z===void 0||v.type!=="message:received"||v.source!=="live"||v.message.senderId!==z.selfId||v.message.status==="sent"||!no(v.ref,z.conversation)||(g.activeIntent=void 0,K(z));}async function W(v,z){let V=c.getHandle();if(!nd(v)||g.disposed||!c.hasNewer||V===void 0||!no(V.ref,v)||!no(c.activeRef,v))return Object.freeze({value:await z(),history:Object.freeze({status:"not-needed"})});D();let H=tl(v),F,R=new Promise(L=>{let Q=false;F=pe=>{Q||(Q=true,L(pe));};}),C={token:Symbol("history-return-after-send"),conversation:H,handle:V,generation:o.getGeneration(),selfId:o.getCredentials().userId,complete:F};g.activeIntent=C;try{let L=await z();return g.activeIntent?.token===C.token&&(g.activeIntent=void 0,C.complete(x(C)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:H}))),Object.freeze({value:L,history:await R})}catch(L){throw g.activeIntent?.token===C.token&&(g.activeIntent=void 0,C.complete(x(C)?Object.freeze({status:"not-needed"}):Object.freeze({status:"stale",conversation:H}))),await R,L}}let h=o.subscribeProductEvents(A);return g.coordinator=Object.freeze({run:W}),eo.set(e,g),Ge(e,()=>{g.disposed=true,D(),h(),eo.get(e)===g&&eo.delete(e);}),g.coordinator}function rl(e,n,r){let o=e.bytesTransferred,s=e.bytesTotal;if(e.state!=="running"||e.phase!=="transferring"||o===void 0||s===void 0||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(r)||o<0||s<=0||o>=s)return {};let c=n===void 0||n.attempt!==e.attempt||n.bytesTotal!==s||o<n.lastBytes||r<n.lastAt||r-n.lastAt>=3e4,m=c?[{at:r,bytes:o}]:[...n.measurements];!c&&o>n.lastBytes&&r-m.at(-1).at>=1e3&&m.push({at:r,bytes:o});let g=!c&&o===n.lastBytes?n.lastAt:r;for(;m.length>1&&m[1].at<=g-5e3;)m.shift();let x=m[0],D={startedAt:x.at,startedBytes:x.bytes,lastBytes:o,lastAt:!c&&o===n.lastBytes?n.lastAt:r,bytesTotal:s,attempt:e.attempt,measurements:m},K=D.lastAt-D.startedAt,A=o-D.startedBytes;if(K<1e3||A<=0)return {sample:D};let W=A*1e3/K,h=(s-o)*1e3/W;return !Number.isFinite(W)||!Number.isFinite(h)?{sample:D}:{sample:D,estimate:{bytesPerSecond:W,estimatedRemainingMs:Math.ceil(h)}}}function ld(e){let n,r,o=false,s=false;for(let c of e)c.direction==="upload"&&(n=c,(c.state==="queued"||c.state==="running"||c.state==="paused")&&(r=c.state==="queued"?0:c.percent),o||=c.state==="queued"&&c.phase==="waiting-upload-slot",s||=c.state==="running"&&c.phase==="finalizing");return Object.freeze({...n===void 0?{}:{task:n},...r===void 0?{}:{percent:r},waiting:o,finalizing:s})}function la(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function sl(e){return Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.recovery===void 0?{}:{recovery:e.recovery},...e.conversation===void 0?{}:{conversation:la(e.conversation)}})}function cd(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function to(e,n){return cd(e)?sl(e):Object.freeze({code:"IM_CHAT_KIT_MEDIA_OPERATION_FAILED",category:"state",operation:`media.${n}`,retryable:n==="retry"})}function ud(e,n){return Object.freeze({id:e.id,messageId:e.messageId,ref:la(e.ref),direction:e.direction,state:e.state,percent:e.percent,...e.attempt===void 0?{}:{attempt:e.attempt},...e.maxAttempts===void 0?{}:{maxAttempts:e.maxAttempts},...e.bytesTransferred===void 0?{}:{bytesTransferred:e.bytesTransferred},...e.bytesTotal===void 0?{}:{bytesTotal:e.bytesTotal},...e.recovery===void 0?{}:{recovery:e.recovery},...e.recoveryReason===void 0?{}:{recoveryReason:e.recoveryReason},...e.items===void 0?{}:{items:Object.freeze(e.items.map(r=>Object.freeze({...r})))},...n,...e.itemIndex===void 0?{}:{itemIndex:e.itemIndex},...e.phase===void 0?{}:{phase:e.phase},...e.error===void 0?{}:{error:sl(e.error)}})}function ll(e,n){if(Object.is(e,n))return true;if(e===null||n===null||typeof e!="object"||typeof n!="object"||Array.isArray(e)!==Array.isArray(n))return false;let r=Object.keys(e);return r.length===Object.keys(n).length&&r.every(o=>Object.prototype.hasOwnProperty.call(n,o)&&ll(e[o],n[o]))}var dd=Object.freeze([]);function al(e){return JSON.stringify([e.conversationType,e.conversationId,e.id])}function fd(e){return JSON.stringify([e.id,e.ref.conversationType,e.ref.conversationId,e.messageId,e.direction,e.itemIndex??null])}function cl(e,n){return n===void 0?e:`${e}\0${n}`}function xt(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function aa(e,n){if(e.status!=="sent")return;let o=(e.contentType==="mediaAlbum"?n===void 0?void 0:e.body.mediaAlbum?.items[n]:n!==void 0?void 0:e.contentType==="image"?e.body.image:e.contentType==="video"?e.body.video:void 0)?.url;return o===void 0||o===""||/^(?:blob|data):/i.test(o)?void 0:o}function ia(e,n){return JSON.stringify([e.conversationType,e.conversationId,e.id,n??null])}function sa(e,n){return e.contentType==="mediaAlbum"&&n!==void 0?`mediaAlbum:${e.body.mediaAlbum?.items[n]?.kind}`:e.contentType}function md(e){return defineStore("k2-im-media",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=Be(e),s=ref([]),c=shallowReactive(new Map),m=new Map;function g(j){return c.get(al(j))??dd}let x=new WeakMap;function D(j){let M=g(j),q=x.get(M);return q===void 0&&(q=ld(M),x.set(M,q)),q}function K(){s.value=[],c.clear(),m.clear(),x=new WeakMap;}let A=shallowRef(null),W=shallowRef(null),h=shallowRef({}),v=ref(false),z=false,V=0,H=null,F=-1,R,C,L=0,Q,pe=false,B=computed(()=>{let j=[],M=o.activeRef;for(let q of o.messages){if(M===null||q.conversationType!==M.conversationType||q.conversationId!==M.conversationId)continue;let ue=q.contentType==="mediaAlbum"?q.body.mediaAlbum?.items.map((de,De)=>De)??[]:[void 0];for(let de of ue){let De=aa(q,de);De!==void 0&&j.push({key:ia(q,de),url:De,kind:sa(q,de),message:{conversation:la(M),messageId:q.id,...de===void 0?{}:{itemIndex:de}}});}}return j});async function y(){if(z||H===null||Q!==void 0||!pe)return;pe=false;let j=H,M=V,q=F,ue=L,de=B.value;if(de.length===0||n.getGeneration()!==q){v.value=false;return}let De={};Q=De;let He=()=>!z&&H===j&&V===M&&n.getGeneration()===q&&L===ue;try{let Ae=await j.media.probeCached(de.map(T=>T.message));if(!He())return;if(Ae.length!==de.length||Ae.some(T=>typeof T!="boolean"))throw new Error("\u5A92\u4F53\u7F13\u5B58\u67E5\u8BE2\u7ED3\u679C\u5FC5\u987B\u4E0E\u6D88\u606F\u5F15\u7528\u4E00\u4E00\u5BF9\u5E94");h.value=Object.freeze(Object.fromEntries(de.map((T,Z)=>[T.key,Ae[Z]]))),A.value?.operation==="media.probeCached"&&(A.value=null);}catch(Ae){if(!He())return;let T=to(Ae,"probeCached");A.value=T,r.record("error","pinia","media","media-cache-probe-failed",()=>({generation:q,data:{count:de.length},error:{message:T.code,data:T}}));}finally{Q===De&&(Q=void 0,pe?y():He()&&(v.value=false));}}function $(){if(L+=1,h.value={},z||H===null||n.getGeneration()!==F||B.value.length===0){v.value=false;return}v.value=true,pe||(pe=true,Promise.resolve().then(y));}let oe=watch(()=>JSON.stringify(B.value),$,{flush:"sync"});function P(j,M){if(z||H===null||n.getGeneration()!==F)return;let q=ia(j,M),ue=aa(j,M),de=B.value.find(De=>De.key===q);return ue!==void 0&&de?.url===ue&&de.kind===sa(j,M)?h.value[q]:void 0}function G(j,M){if(!v.value||z||H===null||n.getGeneration()!==F)return false;let q=ia(j,M),ue=aa(j,M),de=B.value.find(De=>De.key===q);return ue!==void 0&&de?.url===ue&&de.kind===sa(j,M)}let O=new Map,N=computed(()=>{let j={};for(let M of s.value)M.direction==="upload"&&xt(o.activeRef,M.ref)&&(j[M.messageId]=D({...M.ref,id:M.messageId}));return j}),ne=computed(()=>Object.fromEntries(Object.entries(N.value).flatMap(([j,M])=>M.task===void 0?[]:[[j,M.task]]))),se=computed(()=>Object.fromEntries(Object.entries(N.value).flatMap(([j,M])=>M.percent===void 0?[]:[[j,M.percent]]))),fe=computed(()=>{let j={};for(let M of s.value)M.direction==="download"&&xt(o.activeRef,M.ref)&&(j[cl(M.messageId,M.itemIndex)]=M);return j}),Ie=computed(()=>{let j={};for(let[M,q]of Object.entries(fe.value))(q.state==="queued"||q.state==="running")&&(j[M]=q.percent);return j}),Se=computed(()=>Object.fromEntries(Object.entries(N.value).filter(([,j])=>j.waiting).map(([j])=>[j,true]))),ie=computed(()=>Object.fromEntries(Object.entries(N.value).filter(([,j])=>j.finalizing).map(([j])=>[j,true])));function te(j,M,q){if(z||H!==M||F!==q||n.getGeneration()!==q)return;let ue=new Set,de=Date.now(),De=new Map,He=new Map,Ae=j.map(T=>{let Z=fd(T);ue.add(Z);let le=m.get(Z),xe=le!==void 0&&le.state===T.state&&le.phase===T.phase&&le.attempt===T.attempt&&le.bytesTotal===T.bytesTotal&&le.bytesTransferred===T.bytesTransferred,{sample:Fe,estimate:Ue}=xe?{sample:O.get(Z),estimate:le.bytesPerSecond===void 0||le.estimatedRemainingMs===void 0?void 0:{bytesPerSecond:le.bytesPerSecond,estimatedRemainingMs:le.estimatedRemainingMs}}:rl(T,O.get(Z),de);Fe===void 0?O.delete(Z):O.set(Z,Fe);let $e=ud(T,Ue),Ne=le!==void 0&&ll(le,$e)?le:$e;De.set(Z,Ne);let an=al({...T.ref,id:T.messageId}),Ze=He.get(an);return Ze===void 0?He.set(an,[Ne]):Ze.push(Ne),Ne});m=De;for(let T of c.keys())He.has(T)||c.delete(T);for(let[T,Z]of He){let le=c.get(T);(le===void 0||le.length!==Z.length||Z.some((xe,Fe)=>le[Fe]!==xe))&&c.set(T,Object.freeze(Z));}(Ae.length!==s.value.length||Ae.some((T,Z)=>s.value[Z]!==T))&&(s.value=Ae);for(let T of O.keys())ue.has(T)||O.delete(T);}function ae(j){let M=n.getGeneration();if(z)throw new Error("Media Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u7ED1\u5B9A");if(H===j&&F===M||(V+=1,R?.(),R=void 0,C?.(),C=void 0,L+=1,Q=void 0,pe=false,h.value={},v.value=false,H=j,F=j===null?-1:M,K(),O.clear(),A.value=null,W.value=null,j===null))return;let q=false;R=j.media.subscribe(de=>{q=true,te(de,j,M);});let ue=V;C=j.media.subscribeCacheChanges(()=>{!z&&H===j&&V===ue&&n.getGeneration()===M&&$();}),$(),q||te(j.media.getSnapshot(),j,M),r.record("debug","pinia","media","media-tasks-subscribed",()=>({generation:M}));}function Pe(){ae(n.getProductClient());}function Te(){ae(null),W.value=null;}async function ke(j,M,q){let ue=n.getProductClient();if(ue===null)return Object.freeze({ok:false,operation:j,reason:"not-ready"});if(ae(ue),!s.value.some(He=>He.id===M))return Object.freeze({ok:false,operation:j,reason:"not-found"});let de=n.getGeneration(),De=V;A.value=null;try{return j==="retry"&&q!==void 0?await ue.media.retry(M,q):j==="cancel"&&q!==void 0?await ue.media.cancel(M,q):await ue.media[j](M),z||De!==V||n.getGeneration()!==de||H!==ue?Object.freeze({ok:!1,operation:j,reason:"stale"}):Object.freeze({ok:!0,operation:j})}catch(He){if(z||De!==V||n.getGeneration()!==de||H!==ue)return Object.freeze({ok:false,operation:j,reason:"stale"});let Ae=to(He,j);return A.value=Ae,r.record("error","pinia","media",`media-task-${j}-failed`,()=>({generation:de,data:{taskId:M},error:{message:Ae.code,data:Ae}})),Object.freeze({ok:false,operation:j,reason:"failed",error:Ae})}}function _(j,M){return ke("cancel",j,M)}function U(j,M){return ke("retry",j,M)}function ge(j){return ke("pause",j)}function be(j){return ke("resume",j)}async function he(j){let M=n.getProductClient();if(M===null)return {available:false,reason:"not-ready"};ae(M);let q=n.getGeneration(),ue=V;try{let de=await M.media.getUploadRecovery(j);return z||ue!==V||n.getGeneration()!==q||H!==M?{available:!1,reason:"stale"}:Object.freeze({available:de.available,...de.reason===void 0?{}:{reason:de.reason},...de.expiresAt===void 0?{}:{expiresAt:de.expiresAt}})}catch(de){return z||ue!==V||n.getGeneration()!==q||H!==M?{available:false,reason:"stale"}:(A.value=to(de,"getUploadRecovery"),{available:false,reason:"failed"})}}async function Ve(j,M){let q="resumeUpload",ue=n.getProductClient();if(ue===null)return Object.freeze({ok:false,operation:q,reason:"not-ready"});ae(ue);let de=n.getGeneration(),De=V;A.value=null;try{return await ue.media.resumeUpload(j,M),z||De!==V||n.getGeneration()!==de||H!==ue?Object.freeze({ok:!1,operation:q,reason:"stale"}):Object.freeze({ok:!0,operation:q})}catch(He){if(z||De!==V||n.getGeneration()!==de||H!==ue)return Object.freeze({ok:false,operation:q,reason:"stale"});let Ae=to(He,q);return Ae.code!=="IM_SDK_MEDIA_PAUSED"&&Ae.code!=="IM_SDK_MEDIA_CANCELLED"&&(A.value=Ae),Object.freeze({ok:false,operation:q,reason:"failed",error:Ae})}}async function k(j,M){let q=o.activeRef,ue=s.value.find(De=>De.direction==="upload"&&(De.state==="queued"||De.state==="running"||De.state==="paused")&&De.messageId===j&&xt(q,De.ref));if(ue===void 0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});let de=await _(ue.id,M);return xt(o.activeRef,ue.ref)?de:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}async function J(j,M){let q=typeof j=="string"?j:j.messageId,ue=typeof j=="string"?M:j.itemIndex,de=s.value.filter(Ae=>Ae.direction==="download"&&(Ae.state==="queued"||Ae.state==="running")&&Ae.messageId===q&&Ae.itemIndex===ue&&(typeof j=="string"||xt(j.conversation,Ae.ref)));if(de.length===0)return Object.freeze({ok:false,operation:"cancel",reason:"not-found"});if(de.length!==1)return Object.freeze({ok:false,operation:"cancel",reason:"ambiguous"});let De=de[0],He=await _(De.id);return xt(o.activeRef,De.ref)?He:Object.freeze({ok:false,operation:"cancel",reason:"stale"})}function me(j){let M=o.activeRef;return j.status!=="failed"||!(j.failure?.displayCode==="media.uploadInterrupted"||j.failure?.displayCode==="media.cancelled"||j.failure?.displayCode==="media.uploadTimeout"&&j.failure.retryable===false)||j.contentType!=="video"&&j.contentType!=="file"&&!(j.contentType==="filesAlbum"&&j.body.filesAlbum?.items.length===1)||M===null||j.conversationId!==M.conversationId||j.conversationType!==M.conversationType?false:(W.value=Object.freeze({messageId:j.id,conversationId:j.conversationId,conversationType:j.conversationType,kind:j.contentType==="video"?"video":"file"}),true)}function Re(){let j=W.value;return W.value=null,j}function we(){W.value=null;}function Me(){z||(V+=1,oe(),C?.(),C=void 0,L+=1,Q=void 0,pe=false,h.value={},v.value=false,R?.(),R=void 0,H=null,F=-1,K(),O.clear(),A.value=null,W.value=null,z=true);}return {tasks:s,tasksForMessage:g,uploadForMessage:D,error:A,uploadProgress:se,uploadTasks:ne,downloadTasks:fe,downloadProgress:Ie,uploadWaiting:Se,uploadFinalizing:ie,replacementRequest:W,cacheAvailability:h,cachedAvailability:P,cacheProbePending:v,cacheAvailabilityPending:G,start:Pe,reset:Te,cancel:_,retry:U,pause:ge,resume:be,getUploadRecovery:he,resumeUpload:Ve,cancelUpload:k,cancelDownload:J,requestReplacement:me,takeReplacementRequest:Re,clearReplacementRequest:we,dispose:Me}})}var il=new WeakMap,ro=new WeakMap;function pd(e=ze()){Oe(e);let n=il.get(e);n===void 0&&(n=md(e),il.set(e,n));let r=n(e);return ro.get(e)!==r&&(ro.set(e,r),Ge(e,()=>{r.dispose(),r.$dispose(),ro.get(e)===r&&ro.delete(e);})),r}var ao=new WeakMap,yd=Object.freeze({status:"loading",message:null}),ul=Object.freeze({status:"missing",message:null});function ca(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function ua(e){let n=new Set;for(let r of e){let o=r.trim();o!==""&&n.add(o);}return [...n]}function bd(e){return defineStore("k2-im-quoted-message",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=Be(e),s=shallowRef({}),c=new Set,m=new Set,g=new Set,x=0,D=new Map,K=false,A=false,W=false,h=computed(()=>{let O=new Map;for(let N of o.messages)O.set(N.id,N);return O});function v(){x+=1,c.clear(),m.clear(),D.clear(),g=new Set,A=false,W=false,s.value={};}let z=watch(()=>o.activeRef,v,{flush:"sync"}),V=n.subscribeEvents(O=>{K||O.type!=="connection:changed"||O.state!=="authenticated"||oe();});function H(O){return O?.conversationType==="direct"&&O.encryption.decryptFailed===true&&O.recalled===void 0&&O.deletedForEveryone===void 0}function F(O){return H(O)&&!m.has(O.id)}function R(O){let N=h.value.get(O);return N!==void 0&&!H(N)}function C(O){let N=O.trim();if(N==="")return ul;let ne=h.value.get(N),se=s.value[N];return H(ne)&&(se?.status==="missing"||se?.status==="failed")?se:ne!==void 0?Object.freeze({status:"ready",message:ne}):se??yd}function L(O,N){if(O.length===0)return;let ne={...s.value},se=false;for(let[fe,Ie]of O)!g.has(fe)||R(fe)||N.get(fe)===(D.get(fe)??0)&&(ne[fe]=Ie,se=true);se&&(s.value=ne);}async function Q(O){let N=x,ne=new Map(O.map(ae=>[ae,D.get(ae)??0])),se=n.getGeneration(),fe=o.getHandle(),Ie=ca(o.activeRef);if(fe===void 0||ca(fe.ref)!==Ie)return;let Se=()=>!K&&x===N&&n.getGeneration()===se&&o.getHandle()===fe&&ca(o.activeRef)===Ie,ie=[],te=[];try{let ae=await Promise.all(O.map(async Pe=>({messageId:Pe,message:await fe.resolveMessage(Pe)})));if(!Se())return;for(let{messageId:Pe,message:Te}of ae)Te===null||F(Te)?te.push(Pe):ie.push([Pe,Object.freeze({status:"ready",message:Te})]);}catch(ae){if(!Se())return;L(O.map(Pe=>[Pe,Object.freeze({status:"failed",message:null,retryable:true})]),ne),r.record("error","pinia","message","quoted-message-local-lookup-failed",()=>({generation:se,conversation:{...fe.ref},data:{requestedCount:O.length},error:{message:"\u8BFB\u53D6\u672C\u673A\u5386\u53F2\u89E3\u6790\u5F15\u7528\u539F\u6587\u5931\u8D25",data:ae}}));return}if(L(ie,ne),te.length!==0)try{if(fe.ref.conversationType==="direct")for(let ke of te)m.add(ke);let ae=await fe.messages.fetchByIds(te);if(!Se())return;let Pe=[];for(let ke of ae.messages)Pe.push([ke.id,Object.freeze({status:"ready",message:ke})]);for(let ke of ae.missingMessageIds)Pe.push([ke,ul]);let Te=ae.failure?.retryable??!0;for(let ke of ae.unresolvedMessageIds)Pe.push([ke,Object.freeze({status:"failed",message:null,retryable:Te})]);L(Pe,ne),r.record("debug","pinia","message","quoted-message-remote-lookup-settled",()=>({generation:se,conversation:{...fe.ref},data:{requestedCount:te.length,resolvedCount:ae.messages.length,missingCount:ae.missingMessageIds.length,unresolvedCount:ae.unresolvedMessageIds.length,retryable:ae.failure?.retryable}}));}catch(ae){if(!Se())return;L(te.map(Pe=>[Pe,Object.freeze({status:"failed",message:null,retryable:false})]),ne),r.record("error","pinia","message","quoted-message-remote-lookup-failed",()=>({generation:se,conversation:{...fe.ref},data:{requestedCount:te.length},error:{message:"\u6309\u6D88\u606F ID \u56DE\u6E90\u5F15\u7528\u539F\u6587\u5931\u8D25",data:ae}}));}}function pe(){let O=[];for(let N of g){let ne=h.value.get(N);if(c.has(N)||ne!==void 0&&!F(ne))continue;let se=s.value[N];(se===void 0||se.status==="ready"&&F(se.message))&&O.push(N);}return O}function B(){if(K)return;if(A){W=true;return}let O=pe();if(O.length===0)return;let N=x;A=true;for(let ne of O)c.add(ne);Q(O).catch(ne=>{r.record("error","pinia","message","quoted-message-resolve-crashed",()=>({data:{requestedCount:O.length},error:{message:"\u5F15\u7528\u539F\u6587\u89E3\u6790\u6279\u6B21\u5F02\u5E38\u7EC8\u6B62",data:ne}}));}).finally(()=>{if(N===x){for(let ne of O)c.delete(ne);A=false,W&&(W=false,B());}});}function y(O){if(K)return;g=new Set(ua(O));let N=Object.fromEntries(Object.entries(s.value).filter(([ne])=>g.has(ne)&&!R(ne)));Object.keys(N).length!==Object.keys(s.value).length&&(s.value=N),B();}function $(O){if(K)return;let N=ua(O).filter(se=>s.value[se]!==void 0||c.has(se)||g.has(se));if(N.length===0)return;let ne={...s.value};for(let se of N)delete ne[se],c.delete(se),D.set(se,(D.get(se)??0)+1);s.value=ne,B();}function oe(O){if(K)return;let ne=(O===void 0?[...g]:ua(O)).filter(fe=>{let Ie=s.value[fe];return Ie?.status==="failed"&&Ie.retryable});if(ne.length===0)return;let se={...s.value};for(let fe of ne)m.delete(fe),delete se[fe],c.delete(fe),D.set(fe,(D.get(fe)??0)+1);s.value=se,B();}function P(){v();}function G(){K||(K=true,z(),V(),v());}return ao.set(e,Object.freeze({dispose:G})),{lookup:C,prefetch:y,retry:oe,invalidate:$,reset:P}})}var dl=new WeakMap,oo=new WeakMap;function Cd(e=ze()){Oe(e);let n=dl.get(e);n===void 0&&(n=bd(e),dl.set(e,n));let r=n(e),o=ao.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImQuotedMessageStore");return oo.get(e)!==r&&(oo.set(e,r),Ge(e,()=>{o.dispose(),r.$dispose(),oo.get(e)===r&&(oo.delete(e),ao.get(e)===o&&ao.delete(e));})),r}var lo=new WeakMap;function io(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function Od(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Sd(e,n){return Od(e)?Object.freeze({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}):Object.freeze({code:"IM_CHAT_KIT_REACTION_OPERATION_FAILED",category:"state",operation:`reaction.${n}`,retryable:false})}function Td(e){return defineStore("k2-im-reaction",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=Be(e),s=ref([]),c=shallowRef(null),m=false,g=0,x=new Map;function D(){g+=1,x.clear(),s.value=[],c.value=null;}let K=watch(()=>io(o.activeRef),(R,C)=>{R!==C&&D();},{flush:"sync"});function A(R,C){let L=o.activeRef,Q=o.getHandle(),pe=io(L);if(m||L===null||Q===void 0||io(Q.ref)!==pe||!o.messages.some(y=>y.id===R))return Object.freeze({ok:false,operation:C,reason:"not-ready"});if(x.has(R))return Object.freeze({ok:false,operation:C,reason:"busy"});let B=Symbol(R);return x.set(R,B),s.value=Object.freeze([...x.keys()]),{generation:n.getGeneration(),contextEpoch:g,handle:Q,conversationKey:pe,token:B}}function W(R){return !m&&R.contextEpoch===g&&R.generation===n.getGeneration()&&o.getHandle()===R.handle&&io(o.activeRef)===R.conversationKey}function h(R,C){x.get(R)===C&&(x.delete(R),s.value=Object.freeze([...x.keys()]));}async function v(R,C,L){let Q=A(R,C);if(!("handle"in Q))return Q;try{let pe=await L(Q.handle);return W(Q)?(c.value=null,r.record("debug","pinia","message",`reaction-${C}-settled`,()=>({generation:Q.generation,conversation:{...Q.handle.ref},messageId:R,result:{ok:!0,action:pe.action}})),Object.freeze({ok:!0,operation:C,change:pe})):Object.freeze({ok:!1,operation:C,reason:"stale"})}catch(pe){if(!W(Q))return Object.freeze({ok:false,operation:C,reason:"stale"});let B=Sd(pe,C);return c.value=B,r.record("error","pinia","message",`reaction-${C}-settled`,()=>({generation:Q.generation,conversation:{...Q.handle.ref},messageId:R,result:{ok:false,reason:"sdk-rejected",error:B}})),Object.freeze({ok:false,operation:C,reason:"sdk-rejected",error:B})}finally{h(R,Q.token);}}function z(R,C){return v(R,"toggle",L=>L.messages.toggleReaction(R,C))}function V(R,C,L){return v(R,"set",Q=>Q.messages.setReaction(R,C,L))}function H(){D();}function F(){m||(m=true,K(),D());}return lo.set(e,Object.freeze({dispose:F})),{operatingMessageIds:s,error:c,toggle:z,set:V,reset:H}})}var fl=new WeakMap,so=new WeakMap;function Ed(e=ze()){Oe(e);let n=fl.get(e);n===void 0&&(n=Td(e),fl.set(e,n));let r=n(e),o=lo.get(e);if(o===void 0)throw new Error("\u5F53\u524D Pinia \u5C1A\u672A\u521B\u5EFA ImReactionStore");return so.get(e)!==r&&(so.set(e,r),Ge(e,()=>{o.dispose(),r.$dispose(),so.get(e)===r&&(so.delete(e),lo.get(e)===o&&lo.delete(e));})),r}function co(e,n){let r=e;return Object.freeze({code:typeof r.code=="string"?r.code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:r.category??"network",operation:r.operation??n,retryable:r.retryable===true})}function Ad(e){let n=ze(e),r=Oe(n).runtime;return defineStore("im-session-favorites",()=>{let o=shallowRef([]),s=ref(false),c=shallowRef(null),m=computed(()=>{let B=new Map;for(let y of o.value)y.msgId!==""&&y.collectId!==""&&B.set(y.msgId,y.collectId);return B}),g=false,x=0,D=0,K,A;function W(){x+=1,D+=1,o.value=[],s.value=false,c.value=null;}function h(B){return {client:B,generation:r.getGeneration(),stateEpoch:x}}function v(B){return !g&&B.client===r.getProductClient()&&B.generation===r.getGeneration()&&B.stateEpoch===x}function z(B){return m.value.get(B.trim())??""}function V(B){return z(B)!==""}async function H(){if(g)return Object.freeze({ok:false,operation:"reload",reason:"stale"});let B=++D,y;try{y=h(r.ensureProductClient()),pe(y.client);}catch($){let oe=co($,"reload");return c.value=oe,s.value=false,Object.freeze({ok:false,operation:"reload",reason:"failed",error:oe})}s.value=true,c.value=null;try{let $=await y.client.sessionFavorites.list();return B!==D||!v(y)?Object.freeze({ok:!1,operation:"reload",reason:"stale"}):(o.value=$,Object.freeze({ok:!0,operation:"reload"}))}catch($){if(B!==D||!v(y))return Object.freeze({ok:false,operation:"reload",reason:"stale"});let oe=co($,"reload");return c.value=oe,Object.freeze({ok:false,operation:"reload",reason:"failed",error:oe})}finally{B===D&&v(y)&&(s.value=false);}}function F(){D+=1,s.value=false;}async function R(B){if(g)return Object.freeze({ok:false,operation:"add",reason:"stale"});let y;try{y=h(r.ensureProductClient()),pe(y.client);let $=await y.client.sessionFavorites.addFromMessage(B);return v(y)?(F(),o.value=Object.freeze([$,...o.value.filter(oe=>oe.collectId!==$.collectId)]),Object.freeze({ok:!0,operation:"add",collectId:$.collectId})):Object.freeze({ok:!1,operation:"add",reason:"stale"})}catch($){return Object.freeze({ok:false,operation:"add",reason:"failed",error:co($,"add")})}}async function C(B){if(g)return Object.freeze({ok:false,operation:"delete",reason:"stale"});let y=[...new Set(B.map($=>$.trim()).filter($=>$!==""))];if(y.length===0)return Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})});try{let $=h(r.ensureProductClient());if(await $.client.sessionFavorites.delete(y),!v($))return Object.freeze({ok:!1,operation:"delete",reason:"stale"});F();let oe=new Set(y);return o.value=Object.freeze(o.value.filter(P=>!oe.has(P.collectId))),Object.freeze({ok:!0,operation:"delete",collectId:y[0]??""})}catch($){return Object.freeze({ok:false,operation:"delete",reason:"failed",error:co($,"delete")})}}async function L(B){let y=z(B);return y===""?Object.freeze({ok:false,operation:"delete",reason:"failed",error:Object.freeze({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:"delete",retryable:false})}):C([y])}function Q(){K?.(),K=void 0,A=void 0,W();}function pe(B){if(A===B)return;K?.(),A=B;let y=h(B);K=B.events.subscribe($=>{A===B&&v(y)&&$.type==="session-favorites:changed"&&H();});}return Ge(n,()=>{g=true,K?.(),K=void 0,A=void 0,W();}),{items:o,loading:s,error:c,collectIdOf:z,isFavorited:V,reload:H,addFromMessage:R,removeByCollectIds:C,removeByMessageId:L,reset:Q}})(n)}function Dd(e){return defineStore("k2-im-session",()=>{let n=Oe(e).runtime,r=ref(""),o=ref(n.getConnectionState()),s=ref(n.getClient()?.connection.getLifecycle().receiving??false),c=ref(n.getClient()?.connection.getLifecycle().syncing??false),m=ref(n.getGeneration()),g=ref("idle"),x=ref(""),D=ref({}),K=false,A=0,W="",h=n.getDiagnostics(),v=n.subscribeEvents(B=>{if(!K){if(B.type==="syncing:changed"&&(c.value=B.syncing),B.type==="receiving:changed"&&(s.value=B.receiving),B.type==="session:replaced"){A+=1,g.value="error",s.value=false,c.value=false,o.value=n.getConnectionState(),x.value="lifecycle.connectionOccupied",D.value={};return}B.type==="connection:changed"&&(o.value=B.state,B.state==="authenticated"&&(g.value="ready"));}});function z(B,y){return !K&&B===A&&n.getGeneration()===y}function V(B){if(K)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u91CD\u65B0\u914D\u7F6E\u5BBF\u4E3B");n.configureHost(B);}function H(B){if(K)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD\u5E94\u7528\u8D26\u53F7");let y=B.session===null?"":`${B.session.userId}\0${B.session.token}`;y!==W&&(A+=1,W=y);let $=n.applySession(B.session,B.endpoints,B.deviceToken);return s.value=n.getClient()?.connection.getLifecycle().receiving??false,c.value=n.getClient()?.connection.getLifecycle().syncing??false,r.value=B.session?.userId??"",m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value=o.value==="authenticated"?"ready":"idle",x.value="",D.value={},h.record("info","pinia","session","session-applied",()=>({generation:m.value,...r.value===""?{}:{accountId:r.value},data:{hasToken:$.hasToken,didReset:$.didReset}})),$}async function F(B,y,$){if(K)return {ok:false,errorKey:"lifecycle.disposed"};let oe=++A,P=n.getGeneration(),G=Date.now();g.value=B,x.value="",D.value={},h.record("info","pinia",y==="prepare"?"session":"connection",`${y}-start`,()=>({generation:P}));let O=await $();return z(oe,P)?(m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value=O.ok?o.value==="authenticated"?"ready":"idle":"error",x.value=O.errorKey??"",D.value=O.errorParams??{},h.record(O.ok?"info":"error","pinia",y==="prepare"?"session":"connection",`${y}-${O.ok?"complete":"failed"}`,()=>({generation:m.value,durationMs:Date.now()-G,...O.ok?{}:{error:{message:O.errorKey??`${y}-failed`,data:O.errorParams}}})),O):(h.record("debug","pinia","session",`${y}-stale-result-dropped`,()=>({generation:P,durationMs:Date.now()-G})),O)}function R(){return F("preparing","prepare",()=>n.prepare())}function C(){return F("connecting","connect",()=>n.connect())}function L(){K||(A+=1,n.disconnect(),o.value=n.getConnectionState(),g.value="idle");}async function Q(B){if(K)throw new Error("Session Store \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");A+=1;try{await n.logout(B);}finally{r.value="",s.value=false,c.value=false,W="",m.value=n.getGeneration(),o.value=n.getConnectionState(),g.value="idle",x.value="",D.value={};}}function pe(){K||(K=true,A+=1,v(),r.value="",o.value="idle",s.value=false,c.value=false,m.value=n.getGeneration(),g.value="disposed",x.value="",D.value={});}return {accountId:r,connectionState:o,receiving:s,syncing:c,generation:m,phase:g,errorKey:x,errorParams:D,configureHost:V,applySession:H,prepare:R,connect:C,disconnect:L,logout:Q,dispose:pe,getRuntime:()=>n}})}var pl=new WeakMap,uo=new WeakMap;function Gd(e=ze()){Oe(e);let n=pl.get(e);n===void 0&&(n=Dd(e),pl.set(e,n));let r=n(e);return uo.get(e)!==r&&(uo.set(e,r),Ge(e,()=>{r.dispose(),r.$dispose(),uo.get(e)===r&&uo.delete(e);})),r}function gl(e){return typeof e=="object"&&e!==null&&e.name==="AbortError"}function Il(e,n){return e!==null&&n!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function bl(e){return e===null?"":`${e.conversationType}\0${e.conversationId}`}function ir(e,n){return `${bl(e)}\0${n}`}function At(e,n){return n==="older"?e[0]?.id??"":e[e.length-1]?.id??""}function hl(e){return e instanceof Error?{message:e.message,name:e.name}:typeof e=="string"?{message:e}:{message:"Unknown paging error"}}function _d(e){return defineStore("k2-im-thread-paging",()=>{let n=Oe(e).runtime,r=n.getDiagnostics(),o=Be(e),s=xn(e),c=ref(false),m=ref(false),g=ref(null),x=ref(null),D=false,K="",A="",W=0,h=()=>({ref:o.activeRef,generation:n.getGeneration(),olderBoundary:At(o.messages,"older"),newerBoundary:At(o.messages,"newer")}),v=(y,$)=>{let oe=h();return !D&&$===W&&y.generation===oe.generation&&Il(y.ref,oe.ref)&&y.ref!==null},z=y=>{(y===void 0||y==="older")&&(K="",g.value=null),(y===void 0||y==="newer")&&(A="",x.value=null);},V=()=>{W+=1,c.value=false,m.value=false,z();},H=async(y,$)=>{let oe=h(),P=y==="older"?K:A,G=y==="older"?o.hasOlder:o.hasNewer;if(oe.ref===null||!G||(y==="older"?c.value:m.value))return 0;let O=oe.ref,N=y==="older"?oe.olderBoundary:oe.newerBoundary,ne=ir(O,N);if(y==="older"?m.value:c.value)return 0;if(!$&&P!==""&&P===ne)return r.record("debug","pinia","history",`thread-paging-${y}-circuit-open`,()=>({conversation:O,data:{boundary:N}})),0;$&&(z(y),r.record("debug","pinia","history",`thread-paging-${y}-retry`,()=>({conversation:O})));let se=new Set(o.messages.map(Ie=>Ie.id)),fe=++W;y==="older"?c.value=true:m.value=true,r.record("debug","pinia","history",`thread-paging-${y}-start`,()=>({conversation:O,generation:oe.generation,data:{boundary:N,force:$}}));try{let Ie=y==="older"?await o.loadOlder():await o.loadNewer();if(!v(oe,fe))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:O,generation:oe.generation,data:{side:y}})),0;if(!Ie)return 0;z(y);let Se=o.messages.reduce((ie,te)=>ie+ +!se.has(te.id),0);return r.record("debug","pinia","history",`thread-paging-${y}-success`,()=>({conversation:O,generation:oe.generation,data:{added:Se}})),Se}catch(Ie){if(!v(oe,fe))return r.record("debug","pinia","history","thread-paging-stale-result-dropped",()=>({conversation:O,generation:oe.generation,data:{side:y,outcome:"failed"}})),0;if(gl(Ie))return r.record("debug","pinia","history",`thread-paging-${y}-cancelled`,()=>({conversation:O,generation:oe.generation})),0;throw At(o.messages,y)===N&&(y==="older"?(K=ne,g.value=Ie):(A=ne,x.value=Ie),r.record("warn","pinia","history",`thread-paging-${y}-failed`,()=>({conversation:O,generation:oe.generation,error:{message:`\u6D88\u606F\u7EBF\u7A0B ${y} \u5206\u9875\u5931\u8D25`,data:hl(Ie)}}))),Ie}finally{fe===W&&(y==="older"?c.value=false:m.value=false);}},F=(y={})=>H("older",y.force===true),R=(y={})=>H("newer",y.force===true),C=async y=>{if(y!==void 0&&!Il(o.activeRef,y))return false;s.clearLocation(),V();let $=h();if($.ref===null)return false;let oe=$.ref;r.record("debug","pinia","history","thread-paging-jump-latest-start",()=>({conversation:oe}));let P,G=W;try{let O=o.loadLatest({skipIfLatest:!0});G=W,P=await O;}catch(O){if(!v($,G)||gl(O))return r.record("debug","pinia","history","thread-paging-jump-latest-cancelled",()=>({conversation:oe})),false;let N=At(o.messages,"newer");throw A=ir(oe,N),x.value=O,r.record("warn","pinia","history","thread-paging-jump-latest-failed",()=>({conversation:oe,generation:$.generation,error:{message:"\u8DF3\u8F6C\u6700\u65B0\u6D88\u606F\u5931\u8D25",data:hl(O)}})),O}return v($,G)?(z("newer"),P):(r.record("debug","pinia","history","thread-paging-jump-latest-stale-result-dropped",()=>({conversation:oe})),false)},L=watch(()=>bl(o.activeRef),()=>V(),{flush:"sync"}),Q=watch(()=>`${ir(o.activeRef,At(o.messages,"older"))}\0${At(o.messages,"newer")}`,()=>{let y=h(),$=ir(y.ref,y.olderBoundary),oe=ir(y.ref,y.newerBoundary);K!==""&&K!==$&&z("older"),A!==""&&A!==oe&&z("newer");},{flush:"sync"}),pe=o.$onAction(({name:y})=>{(y==="loadLatest"||y==="loadAround"||y==="loadEntryUnread"||y==="open"||y==="close"||y==="reset")&&V();});return {loadingOlder:c,loadingNewer:m,olderError:g,newerError:x,loadOlder:F,loadNewer:R,retryOlder:()=>F({force:true}),retryNewer:()=>R({force:true}),jumpToLatest:C,reset:V,dispose:()=>{D||(D=true,L(),Q(),pe(),V());}}})}var yl=new WeakMap,mo=new WeakMap;function Kd(e=ze()){Oe(e);let n=yl.get(e);n===void 0&&(n=_d(e),yl.set(e,n));let r=n(e);return mo.get(e)!==r&&(mo.set(e,r),Ge(e,()=>{r.dispose(),r.$dispose(),mo.get(e)===r&&mo.delete(e);})),r}function Nd(e,n){return e!==null&&e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Hd(e=ze()){let n=Be(e),r=xn(e);return Object.freeze({async returnToLatest(o){return Nd(n.activeRef,o)?(r.clearLocation(),n.hasNewer?n.loadLatest():true):false}})}export{wr as applicationKey,hc as createAndInstallImChatKit,Ci as createImChatKitContext,bc as disposeImChatKit,yc as ensureImChatKitSelfProfile,Oe as getImChatKitContext,cl as imMediaDownloadKey,Ri as installImChatKit,Oc as useImApplicationsStore,Lc as useImCapabilitiesStore,et as useImComposerStore,Vc as useImConversationActivationCoordinator,qu as useImConversationDeletionCoordinator,Uo as useImConversationListStore,ed as useImExpressionStore,od as useImHistoryReturnAfterSendCoordinator,pd as useImMediaStore,Yt as useImMessageOperationsStore,Jo as useImProfileDirectoryStore,Cd as useImQuotedMessageStore,Ed as useImReactionStore,xn as useImSearchStore,Ad as useImSessionFavoritesStore,Gd as useImSessionStore,Kd as useImThreadPagingStore,Hd as useImThreadReturnToLatestCoordinator,Be as useImThreadStore};
|
|
1
|
+
import{applicationKey as i,useImApplicationsStore as t}from"./modules/im-chat-kit/src/pinia/applications.store.js";import{createAndInstallImChatKit as o,createImChatKitContext as s,disposeImChatKit as r,ensureImChatKitSelfProfile as m,getImChatKitContext as e,installImChatKit as a}from"./modules/im-chat-kit/src/pinia/context.js";import{imMediaDownloadKey as c,useImMediaStore as p}from"./modules/im-chat-kit/src/pinia/media.store.js";import{resolveMessageNotificationDecision as n}from"./modules/im-chat-kit/src/presentation/message-notification.js";import{useImCapabilitiesStore as d}from"./modules/im-chat-kit/src/pinia/capabilities.store.js";import{useImComposerStore as l}from"./modules/im-chat-kit/src/pinia/composer.store.js";import{useImConversationActivationCoordinator as h}from"./modules/im-chat-kit/src/pinia/conversation-activation.js";import{useImConversationDeletionCoordinator as f}from"./modules/im-chat-kit/src/pinia/conversation-deletion.js";import{useImConversationListStore as u}from"./modules/im-chat-kit/src/pinia/conversation-list.store.js";import{useImExpressionStore as j}from"./modules/im-chat-kit/src/pinia/expression.store.js";import{useImHistoryReturnAfterSendCoordinator as k}from"./modules/im-chat-kit/src/pinia/history-return-after-send.js";import{useImMessageOperationsStore as g}from"./modules/im-chat-kit/src/pinia/message-operations.store.js";import{useImProfileDirectoryStore as v}from"./modules/im-chat-kit/src/pinia/profile-directory.store.js";import{useImQuotedMessageStore as x}from"./modules/im-chat-kit/src/pinia/quoted-message.store.js";import{useImReactionStore as y}from"./modules/im-chat-kit/src/pinia/reaction.store.js";import{useImSearchStore as b}from"./modules/im-chat-kit/src/pinia/search.store.js";import{useImSessionFavoritesStore as q}from"./modules/im-chat-kit/src/pinia/session-favorites.store.js";import{useImSessionStore as w}from"./modules/im-chat-kit/src/pinia/session.store.js";import{useImThreadPagingStore as z}from"./modules/im-chat-kit/src/pinia/thread-paging.store.js";import{useImThreadReturnToLatestCoordinator as A}from"./modules/im-chat-kit/src/pinia/thread-return-to-latest.js";import{useImThreadStore as B}from"./modules/im-chat-kit/src/pinia/thread.store.js";export{i as applicationKey,o as createAndInstallImChatKit,s as createImChatKitContext,r as disposeImChatKit,m as ensureImChatKitSelfProfile,e as getImChatKitContext,c as imMediaDownloadKey,a as installImChatKit,n as resolveMessageNotificationDecision,t as useImApplicationsStore,d as useImCapabilitiesStore,l as useImComposerStore,h as useImConversationActivationCoordinator,f as useImConversationDeletionCoordinator,u as useImConversationListStore,j as useImExpressionStore,k as useImHistoryReturnAfterSendCoordinator,p as useImMediaStore,g as useImMessageOperationsStore,v as useImProfileDirectoryStore,x as useImQuotedMessageStore,y as useImReactionStore,b as useImSearchStore,q as useImSessionFavoritesStore,w as useImSessionStore,z as useImThreadPagingStore,A as useImThreadReturnToLatestCoordinator,B as useImThreadStore};
|