k2-im 0.1.58 → 0.2.1

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.
Files changed (470) hide show
  1. package/README.md +3 -1
  2. package/dist/browser.js +1 -1
  3. package/dist/chat-kit-pinia.d.ts +225 -170
  4. package/dist/chat-kit-pinia.js +1 -1
  5. package/dist/chat-kit-vue.d.ts +64 -44
  6. package/dist/chat-kit-vue.js +1 -1
  7. package/dist/chat-kit.d.ts +226 -171
  8. package/dist/chat-kit.js +1 -1
  9. package/dist/crypto.worker.js +17 -25
  10. package/dist/i18n.d.ts +61 -41
  11. package/dist/i18n.js +1 -1
  12. package/dist/index.d.ts +241 -186
  13. package/dist/index.js +1 -1
  14. package/dist/modules/api-protocol-client/src/bi-feedback.js +1 -0
  15. package/dist/modules/api-protocol-client/src/browser.js +1 -0
  16. package/dist/modules/api-protocol-client/src/client.js +1 -0
  17. package/dist/modules/api-protocol-client/src/config.js +1 -0
  18. package/dist/modules/api-protocol-client/src/constants.js +1 -0
  19. package/dist/modules/api-protocol-client/src/json.js +1 -0
  20. package/dist/modules/api-protocol-client/src/nonce.js +1 -0
  21. package/dist/modules/api-protocol-client/src/transports/axios.js +1 -0
  22. package/dist/modules/api-protocol-client/src/utils.js +1 -0
  23. package/dist/modules/crypto/browser.js +1 -0
  24. package/dist/modules/crypto/driver.js +1 -0
  25. package/dist/modules/crypto/vendor/crypto/index_bg.js +1 -0
  26. package/dist/modules/im-browser/src/crypto/channel-key-service.js +1 -0
  27. package/dist/modules/im-browser/src/crypto/collect-tea.js +1 -0
  28. package/dist/modules/im-browser/src/crypto/crypto-task-executor.js +1 -0
  29. package/dist/modules/im-browser/src/crypto/crypto-worker-factory.js +1 -0
  30. package/dist/modules/im-browser/src/crypto/crypto-worker-protocol.js +1 -0
  31. package/dist/modules/im-browser/src/crypto/encrypt-key-service.js +1 -0
  32. package/dist/modules/im-browser/src/crypto/group-key-service.js +1 -0
  33. package/dist/modules/im-browser/src/crypto/peer-public-key-service.js +1 -0
  34. package/dist/modules/im-browser/src/crypto/rsa-private-key.js +1 -0
  35. package/dist/modules/im-browser/src/crypto/rsa-tea-crypto-adapter.js +1 -0
  36. package/dist/modules/im-browser/src/crypto/stale-key-refresh.js +1 -0
  37. package/dist/modules/im-browser/src/crypto/tea.js +1 -0
  38. package/dist/modules/im-browser/src/crypto/wait-for-key-signal.js +1 -0
  39. package/dist/modules/im-browser/src/http/application-http-adapters.js +1 -0
  40. package/dist/modules/im-browser/src/http/channel-http-adapter.js +1 -0
  41. package/dist/modules/im-browser/src/http/channel-join-application-http-adapter.js +1 -0
  42. package/dist/modules/im-browser/src/http/channel-member-http-adapter.js +1 -0
  43. package/dist/modules/im-browser/src/http/channel-mention-member-http-adapter.js +1 -0
  44. package/dist/modules/im-browser/src/http/cm-http-adapter.js +1 -0
  45. package/dist/modules/im-browser/src/http/directory-http-adapter.js +1 -0
  46. package/dist/modules/im-browser/src/http/expression-http-adapter.js +1 -0
  47. package/dist/modules/im-browser/src/http/lazy-api-protocol-client.js +1 -0
  48. package/dist/modules/im-browser/src/http/profile-http-adapter.js +1 -0
  49. package/dist/modules/im-browser/src/http/requests/applications.js +1 -0
  50. package/dist/modules/im-browser/src/http/requests/bind-robot-conversation.js +1 -0
  51. package/dist/modules/im-browser/src/http/requests/board-pinned-message-validation.js +1 -0
  52. package/dist/modules/im-browser/src/http/requests/channel-join-applications.js +1 -0
  53. package/dist/modules/im-browser/src/http/requests/channel-management.js +1 -0
  54. package/dist/modules/im-browser/src/http/requests/channel-members.js +1 -0
  55. package/dist/modules/im-browser/src/http/requests/channel-mention-members.js +1 -0
  56. package/dist/modules/im-browser/src/http/requests/channel-message-context.js +1 -0
  57. package/dist/modules/im-browser/src/http/requests/channel-mini-program-rel.js +1 -0
  58. package/dist/modules/im-browser/src/http/requests/channel-profile.js +1 -0
  59. package/dist/modules/im-browser/src/http/requests/channel-read-index.js +1 -0
  60. package/dist/modules/im-browser/src/http/requests/contact-blocklist.js +1 -0
  61. package/dist/modules/im-browser/src/http/requests/contact-friendship.js +1 -0
  62. package/dist/modules/im-browser/src/http/requests/contact-report.js +1 -0
  63. package/dist/modules/im-browser/src/http/requests/core-json-request.js +1 -0
  64. package/dist/modules/im-browser/src/http/requests/create-channel.js +1 -0
  65. package/dist/modules/im-browser/src/http/requests/create-face-to-face-group.js +1 -0
  66. package/dist/modules/im-browser/src/http/requests/create-group.js +1 -0
  67. package/dist/modules/im-browser/src/http/requests/customer-service-profile.js +1 -0
  68. package/dist/modules/im-browser/src/http/requests/get-board-pinned-message.js +1 -0
  69. package/dist/modules/im-browser/src/http/requests/get-channel-board-pinned-message.js +1 -0
  70. package/dist/modules/im-browser/src/http/requests/get-channel-secret-key.js +1 -0
  71. package/dist/modules/im-browser/src/http/requests/get-conversation-background-presets.js +1 -0
  72. package/dist/modules/im-browser/src/http/requests/get-group-encrypt-info.js +1 -0
  73. package/dist/modules/im-browser/src/http/requests/get-group-info.js +1 -0
  74. package/dist/modules/im-browser/src/http/requests/get-group-member-list.js +1 -0
  75. package/dist/modules/im-browser/src/http/requests/get-user-encrypt-info.js +1 -0
  76. package/dist/modules/im-browser/src/http/requests/get-user-info-friend.js +1 -0
  77. package/dist/modules/im-browser/src/http/requests/get-user-info-other.js +1 -0
  78. package/dist/modules/im-browser/src/http/requests/group-management.js +1 -0
  79. package/dist/modules/im-browser/src/http/requests/mark-group-read-all.js +1 -0
  80. package/dist/modules/im-browser/src/http/requests/membership-join.js +1 -0
  81. package/dist/modules/im-browser/src/http/requests/pin-board-message.js +1 -0
  82. package/dist/modules/im-browser/src/http/requests/pin-channel-board-message.js +1 -0
  83. package/dist/modules/im-browser/src/http/requests/pull-messages-by-id.js +1 -0
  84. package/dist/modules/im-browser/src/http/requests/pull-offline-channel.js +1 -0
  85. package/dist/modules/im-browser/src/http/requests/pull-offline-chat.js +1 -0
  86. package/dist/modules/im-browser/src/http/requests/pull-offline-group.js +1 -0
  87. package/dist/modules/im-browser/src/http/requests/pull-offline-signal.js +1 -0
  88. package/dist/modules/im-browser/src/http/requests/robot-menu-reply.js +1 -0
  89. package/dist/modules/im-browser/src/http/requests/robot-profile.js +1 -0
  90. package/dist/modules/im-browser/src/http/requests/search-robots.js +1 -0
  91. package/dist/modules/im-browser/src/http/requests/set-conversation-undisturb.js +1 -0
  92. package/dist/modules/im-browser/src/http/requests/set-friend-remark.js +1 -0
  93. package/dist/modules/im-browser/src/http/requests/set-group-nickname.js +1 -0
  94. package/dist/modules/im-browser/src/http/requests/unpin-board-message.js +1 -0
  95. package/dist/modules/im-browser/src/http/requests/unpin-channel-board-message.js +1 -0
  96. package/dist/modules/im-browser/src/http/requests/update-group-info.js +1 -0
  97. package/dist/modules/im-browser/src/http/session-favorite-http-adapter.js +1 -0
  98. package/dist/modules/im-browser/src/media/file-md5.js +1 -0
  99. package/dist/modules/im-browser/src/media/image-clipboard.js +1 -0
  100. package/dist/modules/im-browser/src/media/image-header-dimensions.js +1 -0
  101. package/dist/modules/im-browser/src/media/media-downloader.js +1 -0
  102. package/dist/modules/im-browser/src/media/media-preview-adapter.js +1 -0
  103. package/dist/modules/im-browser/src/media/media-preview-preparation-executor.js +1 -0
  104. package/dist/modules/im-browser/src/media/media-request-limiter.js +1 -0
  105. package/dist/modules/im-browser/src/media/media-transfer-adapter.js +1 -0
  106. package/dist/modules/im-browser/src/media/media-transfer-errors.js +1 -0
  107. package/dist/modules/im-browser/src/media/media-transfer-policy.js +1 -0
  108. package/dist/modules/im-browser/src/media/media-upload-credentials.js +1 -0
  109. package/dist/modules/im-browser/src/media/media-upload-recovery-codec.js +1 -0
  110. package/dist/modules/im-browser/src/media/media-upload-recovery-store.js +1 -0
  111. package/dist/modules/im-browser/src/media/media-upload-source-fingerprint.js +1 -0
  112. package/dist/modules/im-browser/src/media/s3-multipart-uploader.js +1 -0
  113. package/dist/modules/im-browser/src/media/xhr-upload-idle-timeout.js +1 -0
  114. package/dist/modules/im-browser/src/network/browser-connection-ownership.js +1 -0
  115. package/dist/modules/im-browser/src/network/network-monitor.js +1 -0
  116. package/dist/modules/im-browser/src/scheduling/yield-to-browser.js +1 -0
  117. package/dist/modules/im-browser/src/storage/indexed-db-storage-adapter.js +1 -0
  118. package/dist/modules/im-browser/src/transport/ws-transport.js +1 -0
  119. package/dist/modules/im-browser/src/voice/voice-amplitude.js +1 -0
  120. package/dist/modules/im-browser/src/voice/voice-capabilities.js +1 -0
  121. package/dist/modules/im-browser/src/voice/voice-codec.js +1 -0
  122. package/dist/modules/im-browser/src/voice/voice-errors.js +1 -0
  123. package/dist/modules/im-browser/src/voice/voice-playback.js +1 -0
  124. package/dist/modules/im-browser/src/voice/voice-player.js +1 -0
  125. package/dist/modules/im-browser/src/voice/voice-recorder.js +1 -0
  126. package/dist/modules/im-chat-kit/src/i18n/use-im-text.js +1 -0
  127. package/dist/modules/im-chat-kit/src/pinia/applications.store.js +1 -0
  128. package/dist/modules/im-chat-kit/src/pinia/capabilities.store.js +1 -0
  129. package/dist/modules/im-chat-kit/src/pinia/composer.store.js +1 -0
  130. package/dist/modules/im-chat-kit/src/pinia/context.js +1 -0
  131. package/dist/modules/im-chat-kit/src/pinia/conversation-activation.js +1 -0
  132. package/dist/modules/im-chat-kit/src/pinia/conversation-deletion.js +1 -0
  133. package/dist/modules/im-chat-kit/src/pinia/conversation-list.store.js +1 -0
  134. package/dist/modules/im-chat-kit/src/pinia/expression.store.js +1 -0
  135. package/dist/modules/im-chat-kit/src/pinia/history-return-after-send.js +1 -0
  136. package/dist/modules/im-chat-kit/src/pinia/media-transfer-estimate.js +1 -0
  137. package/dist/modules/im-chat-kit/src/pinia/media.store.js +1 -0
  138. package/dist/modules/im-chat-kit/src/pinia/message-operations.store.js +1 -0
  139. package/dist/modules/im-chat-kit/src/pinia/profile-directory.store.js +1 -0
  140. package/dist/modules/im-chat-kit/src/pinia/quoted-message.store.js +1 -0
  141. package/dist/modules/im-chat-kit/src/pinia/reaction.store.js +1 -0
  142. package/dist/modules/im-chat-kit/src/pinia/search-senders.js +1 -0
  143. package/dist/modules/im-chat-kit/src/pinia/search.store.js +1 -0
  144. package/dist/modules/im-chat-kit/src/pinia/session-favorites.store.js +1 -0
  145. package/dist/modules/im-chat-kit/src/pinia/session.store.js +1 -0
  146. package/dist/modules/im-chat-kit/src/pinia/thread-paging.store.js +1 -0
  147. package/dist/modules/im-chat-kit/src/pinia/thread-return-to-latest.js +1 -0
  148. package/dist/modules/im-chat-kit/src/pinia/thread.store.js +1 -0
  149. package/dist/modules/im-chat-kit/src/presentation/channel-mini-program-open.js +1 -0
  150. package/dist/modules/im-chat-kit/src/presentation/channel-mini-program-rels.js +1 -0
  151. package/dist/modules/im-chat-kit/src/presentation/conversation-list.js +1 -0
  152. package/dist/modules/im-chat-kit/src/presentation/conversation-unread.js +1 -0
  153. package/dist/modules/im-chat-kit/src/presentation/delayed-loading-indicator.js +1 -0
  154. package/dist/modules/im-chat-kit/src/presentation/media-source-priority.js +1 -0
  155. package/dist/modules/im-chat-kit/src/presentation/message-notification.js +1 -0
  156. package/dist/modules/im-chat-kit/src/presentation/message-search.js +1 -0
  157. package/dist/modules/im-chat-kit/src/presentation/mini-program-game-preview.js +1 -0
  158. package/dist/modules/im-chat-kit/src/presentation/mini-program-open-url.js +1 -0
  159. package/dist/modules/im-chat-kit/src/runtime/chat-runtime.js +1 -0
  160. package/dist/modules/im-chat-kit/src/runtime/conversation-prefetch-controller.js +1 -0
  161. package/dist/modules/im-chat-kit/src/runtime/media-object-url-registry.js +1 -0
  162. package/dist/modules/im-chat-kit/src/runtime/runtime-operation.js +1 -0
  163. package/dist/modules/im-chat-kit/src/services/capabilities.js +1 -0
  164. package/dist/modules/im-chat-kit/src/services/channel-member-management.service.js +1 -0
  165. package/dist/modules/im-chat-kit/src/services/channel-profile-management.service.js +1 -0
  166. package/dist/modules/im-chat-kit/src/services/channel-send-restriction.js +1 -0
  167. package/dist/modules/im-chat-kit/src/services/direct-contact-management.service.js +1 -0
  168. package/dist/modules/im-chat-kit/src/services/forward.service.js +1 -0
  169. package/dist/modules/im-chat-kit/src/services/group-member-management.service.js +1 -0
  170. package/dist/modules/im-chat-kit/src/services/group-profile-management.service.js +1 -0
  171. package/dist/modules/im-chat-kit/src/services/image-copy.service.js +1 -0
  172. package/dist/modules/im-chat-kit/src/services/media-file-classification.js +1 -0
  173. package/dist/modules/im-chat-kit/src/services/media.service.js +1 -0
  174. package/dist/modules/im-chat-kit/src/services/message.service.js +1 -0
  175. package/dist/modules/im-chat-kit/src/services/pinned-message-rules.js +1 -0
  176. package/dist/modules/im-chat-kit/src/services/pinned-message.service.js +1 -0
  177. package/dist/modules/im-chat-kit/src/services/profile-access.service.js +1 -0
  178. package/dist/modules/im-chat-kit/src/services/profile-directory.service.js +1 -0
  179. package/dist/modules/im-chat-kit/src/services/profile-display.js +1 -0
  180. package/dist/modules/im-chat-kit/src/services/profile.service.js +1 -0
  181. package/dist/modules/im-chat-kit/src/services/read.service.js +1 -0
  182. package/dist/modules/im-chat-kit/src/services/robot-sender-profile.js +1 -0
  183. package/dist/modules/im-chat-kit/src/services/search.service.js +1 -0
  184. package/dist/modules/im-chat-kit/src/services/send.service.js +1 -0
  185. package/dist/modules/im-chat-kit/src/thread/active-date.js +1 -0
  186. package/dist/modules/im-chat-kit/src/thread/create-thread-items.js +1 -0
  187. package/dist/modules/im-chat-kit/src/thread/message-locate-result.js +1 -0
  188. package/dist/modules/im-chat-kit/src/thread/new-message-badge.js +1 -0
  189. package/dist/modules/im-chat-kit/src/thread/resolve-message-body-kind.js +1 -0
  190. package/dist/modules/im-chat-kit/src/thread/resolve-quoted-message-presentation.js +1 -0
  191. package/dist/modules/im-chat-kit/src/thread/viewport-rules.js +1 -0
  192. package/dist/modules/im-chat-kit/src/utils/emoji/emoji-legacy-catalog.json.js +1 -0
  193. package/dist/modules/im-chat-kit/src/utils/emoji/index.js +1 -0
  194. package/dist/modules/im-chat-kit/src/utils/emoji/recent.js +1 -0
  195. package/dist/modules/im-chat-kit/src/utils/emoji/unicode-emoji-catalog.json.js +1 -0
  196. package/dist/modules/im-chat-kit/src/utils/emoji/unicode.js +1 -0
  197. package/dist/modules/im-chat-kit/src/utils/highlight.js +1 -0
  198. package/dist/modules/im-chat-kit/src/utils/link.js +1 -0
  199. package/dist/modules/im-chat-kit/src/utils/media-batch.js +1 -0
  200. package/dist/modules/im-chat-kit/src/utils/media-dimensions.js +1 -0
  201. package/dist/modules/im-chat-kit/src/utils/media-format.js +1 -0
  202. package/dist/modules/im-chat-kit/src/utils/media-transfer-presentation.js +1 -0
  203. package/dist/modules/im-chat-kit/src/utils/time-display.js +1 -0
  204. package/dist/modules/im-chat-kit/src/utils/waveform.js +1 -0
  205. package/dist/modules/im-chat-kit/src/vue/thread/ImThreadBodySwitch.js +1 -0
  206. package/dist/modules/im-chat-kit/src/vue/thread/ImThreadItems.js +1 -0
  207. package/dist/modules/im-chat-kit/src/vue/thread/ImThreadSurface.js +1 -0
  208. package/dist/modules/im-chat-kit/src/vue/thread/ImThreadViewport.js +1 -0
  209. package/dist/modules/im-chat-kit/src/vue/thread/message-renderer-registry.js +1 -0
  210. package/dist/modules/im-chat-kit/src/vue/thread/thread-idle-task.js +1 -0
  211. package/dist/modules/im-chat-kit/src/vue/thread/thread-layout-measurements.js +1 -0
  212. package/dist/modules/im-chat-kit/src/vue/thread/thread-read-actions-context.js +1 -0
  213. package/dist/modules/im-chat-kit/src/vue/thread/thread-surface-context.js +1 -0
  214. package/dist/modules/im-chat-kit/src/vue/thread/thread-viewport-context.js +1 -0
  215. package/dist/modules/im-chat-kit/src/vue/thread/thread-visibility-target-group.js +1 -0
  216. package/dist/modules/im-chat-kit/src/vue/thread/thread-visibility-targets.js +1 -0
  217. package/dist/modules/im-chat-kit/src/vue/thread/use-im-thread-layout-measurement.js +1 -0
  218. package/dist/modules/im-core/src/abort.js +1 -0
  219. package/dist/modules/im-core/src/cache-namespace.js +1 -0
  220. package/dist/modules/im-core/src/connection/backoff.js +1 -0
  221. package/dist/modules/im-core/src/connection/connection-manager.js +1 -0
  222. package/dist/modules/im-core/src/connection/heartbeat-manager.js +1 -0
  223. package/dist/modules/im-core/src/conversation-identity.js +1 -0
  224. package/dist/modules/im-core/src/diagnostics.js +1 -0
  225. package/dist/modules/im-core/src/event-emitter.js +1 -0
  226. package/dist/modules/im-core/src/login/login-handler.js +1 -0
  227. package/dist/modules/im-core/src/mapping/bot-sender.js +1 -0
  228. package/dist/modules/im-core/src/mapping/call-record-body.js +1 -0
  229. package/dist/modules/im-core/src/mapping/channel-message-mapper.js +1 -0
  230. package/dist/modules/im-core/src/mapping/channel-notify-mapper.js +1 -0
  231. package/dist/modules/im-core/src/mapping/channel-offline-mapper.js +1 -0
  232. package/dist/modules/im-core/src/mapping/channel-pinned-message-mapper.js +1 -0
  233. package/dist/modules/im-core/src/mapping/channel-read-position.js +1 -0
  234. package/dist/modules/im-core/src/mapping/contact-body.js +1 -0
  235. package/dist/modules/im-core/src/mapping/content-body.js +1 -0
  236. package/dist/modules/im-core/src/mapping/conversation.js +1 -0
  237. package/dist/modules/im-core/src/mapping/crypto-batch-preparation.js +1 -0
  238. package/dist/modules/im-core/src/mapping/customer-service-body.js +1 -0
  239. package/dist/modules/im-core/src/mapping/customer-service-message-mapper.js +1 -0
  240. package/dist/modules/im-core/src/mapping/decrypt-recovery.js +1 -0
  241. package/dist/modules/im-core/src/mapping/file-body.js +1 -0
  242. package/dist/modules/im-core/src/mapping/files-album-body.js +1 -0
  243. package/dist/modules/im-core/src/mapping/game-body.js +1 -0
  244. package/dist/modules/im-core/src/mapping/gift-body.js +1 -0
  245. package/dist/modules/im-core/src/mapping/group-message-mapper.js +1 -0
  246. package/dist/modules/im-core/src/mapping/group-notify-mapper.js +1 -0
  247. package/dist/modules/im-core/src/mapping/group-offline-mapper.js +1 -0
  248. package/dist/modules/im-core/src/mapping/image-body.js +1 -0
  249. package/dist/modules/im-core/src/mapping/live-room-body.js +1 -0
  250. package/dist/modules/im-core/src/mapping/media-album-body.js +1 -0
  251. package/dist/modules/im-core/src/mapping/merge.js +1 -0
  252. package/dist/modules/im-core/src/mapping/mes-chat-mapper.js +1 -0
  253. package/dist/modules/im-core/src/mapping/message-id.js +1 -0
  254. package/dist/modules/im-core/src/mapping/message-mapper.js +1 -0
  255. package/dist/modules/im-core/src/mapping/messages-by-id.js +1 -0
  256. package/dist/modules/im-core/src/mapping/mini-program-body.js +1 -0
  257. package/dist/modules/im-core/src/mapping/offline-mapper.js +1 -0
  258. package/dist/modules/im-core/src/mapping/pinned-message-mapper.js +1 -0
  259. package/dist/modules/im-core/src/mapping/profile-mapper.js +1 -0
  260. package/dist/modules/im-core/src/mapping/reaction-mapper.js +1 -0
  261. package/dist/modules/im-core/src/mapping/recall-mapper.js +1 -0
  262. package/dist/modules/im-core/src/mapping/red-packet-body.js +1 -0
  263. package/dist/modules/im-core/src/mapping/robot-body.js +1 -0
  264. package/dist/modules/im-core/src/mapping/robot-message-mapper.js +1 -0
  265. package/dist/modules/im-core/src/mapping/search-text.js +1 -0
  266. package/dist/modules/im-core/src/mapping/session-mapper.js +1 -0
  267. package/dist/modules/im-core/src/mapping/signal-offline-mapper.js +1 -0
  268. package/dist/modules/im-core/src/mapping/sort.js +1 -0
  269. package/dist/modules/im-core/src/mapping/sticker-body.js +1 -0
  270. package/dist/modules/im-core/src/mapping/stored-message.js +1 -0
  271. package/dist/modules/im-core/src/mapping/system-event-timeline-policy.js +1 -0
  272. package/dist/modules/im-core/src/mapping/text-segments.js +1 -0
  273. package/dist/modules/im-core/src/mapping/transfer-body.js +1 -0
  274. package/dist/modules/im-core/src/mapping/transfer-status.js +1 -0
  275. package/dist/modules/im-core/src/mapping/unread-divider.js +1 -0
  276. package/dist/modules/im-core/src/mapping/video-body.js +1 -0
  277. package/dist/modules/im-core/src/mapping/voice-body.js +1 -0
  278. package/dist/modules/im-core/src/message-flow/call/direct-call-manager.js +1 -0
  279. package/dist/modules/im-core/src/message-flow/call/direct-call-record.js +1 -0
  280. package/dist/modules/im-core/src/message-flow/call/direct-p2p-call.js +1 -0
  281. package/dist/modules/im-core/src/message-flow/call/group-call-manager.js +1 -0
  282. package/dist/modules/im-core/src/message-flow/call/group-call-record.js +1 -0
  283. package/dist/modules/im-core/src/message-flow/conversation-support.js +1 -0
  284. package/dist/modules/im-core/src/message-flow/edit/edit-frame.js +1 -0
  285. package/dist/modules/im-core/src/message-flow/edit/edit-manager.js +1 -0
  286. package/dist/modules/im-core/src/message-flow/edit/edit-receive-handlers.js +1 -0
  287. package/dist/modules/im-core/src/message-flow/edit/edit-strategy.js +1 -0
  288. package/dist/modules/im-core/src/message-flow/expression/expression-message.js +1 -0
  289. package/dist/modules/im-core/src/message-flow/forward/can-transmit.js +1 -0
  290. package/dist/modules/im-core/src/message-flow/forward/forward-content-spec.js +1 -0
  291. package/dist/modules/im-core/src/message-flow/forward/forward-messages.js +1 -0
  292. package/dist/modules/im-core/src/message-flow/game/game-message.js +1 -0
  293. package/dist/modules/im-core/src/message-flow/gift/gift-message.js +1 -0
  294. package/dist/modules/im-core/src/message-flow/live-room/live-room-message.js +1 -0
  295. package/dist/modules/im-core/src/message-flow/media/media-sender.js +1 -0
  296. package/dist/modules/im-core/src/message-flow/mini-program/mini-program-message.js +1 -0
  297. package/dist/modules/im-core/src/message-flow/reaction/can-react.js +1 -0
  298. package/dist/modules/im-core/src/message-flow/reaction/reaction-manager.js +1 -0
  299. package/dist/modules/im-core/src/message-flow/reaction/reaction-receive-handlers.js +1 -0
  300. package/dist/modules/im-core/src/message-flow/read/channel-read-receive-handlers.js +1 -0
  301. package/dist/modules/im-core/src/message-flow/read/channel-read-strategy.js +1 -0
  302. package/dist/modules/im-core/src/message-flow/read/customer-service-read-strategy.js +1 -0
  303. package/dist/modules/im-core/src/message-flow/read/direct-read-sync.js +1 -0
  304. package/dist/modules/im-core/src/message-flow/read/group-read-strategy.js +1 -0
  305. package/dist/modules/im-core/src/message-flow/read/read-strategy.js +1 -0
  306. package/dist/modules/im-core/src/message-flow/read/robot-read-strategy.js +1 -0
  307. package/dist/modules/im-core/src/message-flow/recall/channel-message-deletion-manager.js +1 -0
  308. package/dist/modules/im-core/src/message-flow/recall/recall-frame.js +1 -0
  309. package/dist/modules/im-core/src/message-flow/recall/recall-manager.js +1 -0
  310. package/dist/modules/im-core/src/message-flow/recall/recall-receive-handlers.js +1 -0
  311. package/dist/modules/im-core/src/message-flow/recall/recall-strategy.js +1 -0
  312. package/dist/modules/im-core/src/message-flow/receive/channel-application-receive-handlers.js +1 -0
  313. package/dist/modules/im-core/src/message-flow/receive/channel-notify-receive-handlers.js +1 -0
  314. package/dist/modules/im-core/src/message-flow/receive/channel-receive-handlers.js +1 -0
  315. package/dist/modules/im-core/src/message-flow/receive/command-handler-registry.js +1 -0
  316. package/dist/modules/im-core/src/message-flow/receive/contact-application-answer-receive-handlers.js +1 -0
  317. package/dist/modules/im-core/src/message-flow/receive/contact-application-receive-handlers.js +1 -0
  318. package/dist/modules/im-core/src/message-flow/receive/direct-receive-handlers.js +1 -0
  319. package/dist/modules/im-core/src/message-flow/receive/friend-action-receive-handlers.js +1 -0
  320. package/dist/modules/im-core/src/message-flow/receive/group-event-receive-handlers.js +1 -0
  321. package/dist/modules/im-core/src/message-flow/receive/group-receive-handlers.js +1 -0
  322. package/dist/modules/im-core/src/message-flow/receive/mes-chat-receive-handlers.js +1 -0
  323. package/dist/modules/im-core/src/message-flow/receive/robot-receive-handlers.js +1 -0
  324. package/dist/modules/im-core/src/message-flow/receive/session-favorite-receive-handlers.js +1 -0
  325. package/dist/modules/im-core/src/message-flow/receive/wallet-notify-receive-handlers.js +1 -0
  326. package/dist/modules/im-core/src/message-flow/send/channel-outgoing-frame.js +1 -0
  327. package/dist/modules/im-core/src/message-flow/send/channel-send-strategy.js +1 -0
  328. package/dist/modules/im-core/src/message-flow/send/direct-outgoing-frame.js +1 -0
  329. package/dist/modules/im-core/src/message-flow/send/direct-send-strategy.js +1 -0
  330. package/dist/modules/im-core/src/message-flow/send/group-outgoing-frame.js +1 -0
  331. package/dist/modules/im-core/src/message-flow/send/group-send-strategy.js +1 -0
  332. package/dist/modules/im-core/src/message-flow/send/robot-outgoing-frame.js +1 -0
  333. package/dist/modules/im-core/src/message-flow/send/robot-send-strategy.js +1 -0
  334. package/dist/modules/im-core/src/message-flow/send/send-strategy-registry.js +1 -0
  335. package/dist/modules/im-core/src/message-flow/transfer/transfer-message.js +1 -0
  336. package/dist/modules/im-core/src/outbox/outbox-manager.js +1 -0
  337. package/dist/modules/im-core/src/packet-router.js +1 -0
  338. package/dist/modules/im-core/src/ports/crypto-port.js +1 -0
  339. package/dist/modules/im-core/src/ports/crypto-task-executor.js +1 -0
  340. package/dist/modules/im-core/src/ports/http-port.js +1 -0
  341. package/dist/modules/im-core/src/ports/media-asset-cache-port.js +1 -0
  342. package/dist/modules/im-core/src/push/push-registration.js +1 -0
  343. package/dist/modules/im-core/src/read/read-reporter.js +1 -0
  344. package/dist/modules/im-core/src/request-tracker.js +1 -0
  345. package/dist/modules/im-core/src/session-favorite-album.js +1 -0
  346. package/dist/modules/im-core/src/session-favorite-files.js +1 -0
  347. package/dist/modules/im-core/src/state/channel-permissions.js +1 -0
  348. package/dist/modules/im-core/src/state/channel-restriction-coordinator.js +1 -0
  349. package/dist/modules/im-core/src/state/domain-state.js +1 -0
  350. package/dist/modules/im-core/src/state/draft-store.js +1 -0
  351. package/dist/modules/im-core/src/state/group-restriction-coordinator.js +1 -0
  352. package/dist/modules/im-core/src/state/local-message-window-read-error.js +1 -0
  353. package/dist/modules/im-core/src/state/message-reactions.js +1 -0
  354. package/dist/modules/im-core/src/state/message-store.js +1 -0
  355. package/dist/modules/im-core/src/state/message-window-store.js +1 -0
  356. package/dist/modules/im-core/src/state/pinned-message-coordinator.js +1 -0
  357. package/dist/modules/im-core/src/state/pinned-message-store.js +1 -0
  358. package/dist/modules/im-core/src/state/read-store.js +1 -0
  359. package/dist/modules/im-core/src/state/session-sort.js +1 -0
  360. package/dist/modules/im-core/src/state/session-store.js +1 -0
  361. package/dist/modules/im-core/src/sync/channel-sync-checkpoint.js +1 -0
  362. package/dist/modules/im-core/src/sync/sync-manager.js +1 -0
  363. package/dist/modules/im-i18n/src/catalog/en-US.js +1 -0
  364. package/dist/modules/im-i18n/src/catalog/index.js +1 -0
  365. package/dist/modules/im-i18n/src/catalog/th-TH.js +1 -0
  366. package/dist/modules/im-i18n/src/catalog/vi-VN.js +1 -0
  367. package/dist/modules/im-i18n/src/catalog/zh-CN.js +1 -0
  368. package/dist/modules/im-i18n/src/catalog/zh-TW.js +1 -0
  369. package/dist/modules/im-i18n/src/create-im-i18n.js +1 -0
  370. package/dist/modules/im-i18n/src/format/failure.js +1 -0
  371. package/dist/modules/im-i18n/src/format/last-message.js +1 -0
  372. package/dist/modules/im-i18n/src/format/media.js +1 -0
  373. package/dist/modules/im-i18n/src/format/mention.js +1 -0
  374. package/dist/modules/im-i18n/src/format/service-text.js +1 -0
  375. package/dist/modules/im-i18n/src/format/system-message.js +1 -0
  376. package/dist/modules/im-i18n/src/internal/duration.js +1 -0
  377. package/dist/modules/im-i18n/src/internal/interpolate.js +1 -0
  378. package/dist/modules/im-i18n/src/locale.js +1 -0
  379. package/dist/modules/im-protocol/src/board-pinned-message.js +1 -0
  380. package/dist/modules/im-protocol/src/frame-codec.js +1 -0
  381. package/dist/modules/im-protocol/src/protobuf/gen/channel_pb.js +1 -0
  382. package/dist/modules/im-protocol/src/protobuf/gen/group_pb.js +1 -0
  383. package/dist/modules/im-protocol/src/protobuf/gen/im.app.msg_pb.js +1 -0
  384. package/dist/modules/im-protocol/src/protobuf/gen/im.channel_pb.js +1 -0
  385. package/dist/modules/im-protocol/src/protobuf/gen/im.group_pb.js +1 -0
  386. package/dist/modules/im-protocol/src/protobuf/gen/im.login_pb.js +1 -0
  387. package/dist/modules/im-protocol/src/protobuf/gen/im.msg_pb.js +1 -0
  388. package/dist/modules/im-protocol/src/protobuf/gen/im.pub_pb.js +1 -0
  389. package/dist/modules/im-protocol/src/protobuf/gen/im.robot_pb.js +1 -0
  390. package/dist/modules/im-protocol/src/protobuf/gen/im.sig_pb.js +1 -0
  391. package/dist/modules/im-protocol/src/protobuf/gen/msg_pb.js +1 -0
  392. package/dist/modules/im-protocol/src/protobuf/registry.js +1 -0
  393. package/dist/modules/im-sdk/src/cache-prefix-migration.js +1 -0
  394. package/dist/modules/im-sdk/src/create-im-client.js +1 -0
  395. package/dist/modules/im-sdk/src/domains/channel.js +1 -0
  396. package/dist/modules/im-sdk/src/domains/contact.js +1 -0
  397. package/dist/modules/im-sdk/src/domains/conversation.js +1 -0
  398. package/dist/modules/im-sdk/src/domains/group.js +1 -0
  399. package/dist/modules/im-sdk/src/domains/media-byte-computation.js +1 -0
  400. package/dist/modules/im-sdk/src/domains/media.js +1 -0
  401. package/dist/modules/im-sdk/src/domains/message.js +1 -0
  402. package/dist/modules/im-sdk/src/domains/pinned-message-source.js +1 -0
  403. package/dist/modules/im-sdk/src/domains/pinned-message.js +1 -0
  404. package/dist/modules/im-sdk/src/domains/session.js +1 -0
  405. package/dist/modules/im-sdk/src/product/applications.js +1 -0
  406. package/dist/modules/im-sdk/src/product/calls.js +1 -0
  407. package/dist/modules/im-sdk/src/product/capabilities.js +1 -0
  408. package/dist/modules/im-sdk/src/product/channel-mention-candidates.js +1 -0
  409. package/dist/modules/im-sdk/src/product/conversation-background.js +1 -0
  410. package/dist/modules/im-sdk/src/product/conversation-entry-unread.js +1 -0
  411. package/dist/modules/im-sdk/src/product/conversation-handle.js +1 -0
  412. package/dist/modules/im-sdk/src/product/conversations.js +1 -0
  413. package/dist/modules/im-sdk/src/product/customer-service.js +1 -0
  414. package/dist/modules/im-sdk/src/product/diagnostic-memory-buffer.js +1 -0
  415. package/dist/modules/im-sdk/src/product/diagnostics.js +1 -0
  416. package/dist/modules/im-sdk/src/product/directory.js +1 -0
  417. package/dist/modules/im-sdk/src/product/draft.js +1 -0
  418. package/dist/modules/im-sdk/src/product/emoji-catalog.js +1 -0
  419. package/dist/modules/im-sdk/src/product/emoji-catalog.json.js +1 -0
  420. package/dist/modules/im-sdk/src/product/events.js +1 -0
  421. package/dist/modules/im-sdk/src/product/expressions.js +1 -0
  422. package/dist/modules/im-sdk/src/product/face-to-face-group.js +1 -0
  423. package/dist/modules/im-sdk/src/product/group-calls.js +1 -0
  424. package/dist/modules/im-sdk/src/product/image-format.js +1 -0
  425. package/dist/modules/im-sdk/src/product/local-data.js +1 -0
  426. package/dist/modules/im-sdk/src/product/media.js +1 -0
  427. package/dist/modules/im-sdk/src/product/mention.js +1 -0
  428. package/dist/modules/im-sdk/src/product/message.js +1 -0
  429. package/dist/modules/im-sdk/src/product/messages-by-id.js +1 -0
  430. package/dist/modules/im-sdk/src/product/outbox.js +1 -0
  431. package/dist/modules/im-sdk/src/product/profiles.js +1 -0
  432. package/dist/modules/im-sdk/src/product/resource-uploader.js +1 -0
  433. package/dist/modules/im-sdk/src/product/robots.js +1 -0
  434. package/dist/modules/im-sdk/src/product/search.js +1 -0
  435. package/dist/modules/im-sdk/src/product/session-favorites.js +1 -0
  436. package/dist/modules/im-sdk/src/product/settings.js +1 -0
  437. package/dist/modules/im-sdk/src/runtime/advanced-message-diagnostics.js +1 -0
  438. package/dist/modules/im-sdk/src/runtime/channel-read-summary-refresh.js +1 -0
  439. package/dist/modules/im-sdk/src/runtime/customer-service-legacy-recovery.js +1 -0
  440. package/dist/modules/im-sdk/src/runtime/decrypt-diagnostics.js +1 -0
  441. package/dist/modules/im-sdk/src/runtime/foreground-work-coordinator.js +1 -0
  442. package/dist/modules/im-sdk/src/runtime/group-history-page-boundary.js +1 -0
  443. package/dist/modules/im-sdk/src/runtime/key-prefetch.js +1 -0
  444. package/dist/modules/im-sdk/src/runtime/local-media-preview.js +1 -0
  445. package/dist/modules/im-sdk/src/runtime/media-cache-maintenance.js +1 -0
  446. package/dist/modules/im-sdk/src/runtime/media-upload-recovery.js +1 -0
  447. package/dist/modules/im-sdk/src/runtime/protobuf-wire-shape.js +1 -0
  448. package/dist/modules/im-sdk/src/runtime/receiving-activity.js +1 -0
  449. package/dist/modules/im-sdk/src/runtime/recent-history-fetcher.js +1 -0
  450. package/dist/modules/im-sdk/src/runtime/recent-history-prefetch.js +1 -0
  451. package/dist/modules/im-sdk/src/runtime/session-http-clients.js +1 -0
  452. package/dist/modules/im-sdk/src/runtime/session-runtime.js +1 -0
  453. package/dist/modules/im-sdk/src/runtime/signal-offline-poller.js +1 -0
  454. package/dist/request-crypto.js +1 -1
  455. package/dist/sdk.d.ts +170 -111
  456. package/dist/sdk.js +1 -1
  457. package/package.json +2 -2
  458. package/dist/browser-GFKMMRZD.js +0 -1
  459. package/dist/browser-RTCHWSQ2.js +0 -2
  460. package/dist/chunk-2U2JMY5V.js +0 -1
  461. package/dist/chunk-B5V2O54N.js +0 -1
  462. package/dist/chunk-I7YY5G76.js +0 -1
  463. package/dist/chunk-IDECJJXC.js +0 -0
  464. package/dist/chunk-PHJQ6QKU.js +0 -2
  465. package/dist/chunk-Q2DEFN53.js +0 -1
  466. package/dist/chunk-SXY56EVC.js +0 -0
  467. package/dist/chunk-TIQ37Q7E.js +0 -2
  468. package/dist/chunk-VMNZGJNM.js +0 -2
  469. package/dist/chunk-WOT6VMZA.js +0 -1
  470. package/dist/chunk-X7ZBIWYF.js +0 -8
@@ -1,2 +0,0 @@
1
- import {C,fb,bb,mb,lb,D,q,u,v,x,B,Ya,t,m,n,jb,c as c$1,j,ab,$a,f,i,g,a,ha as ha$1,Ja,Ba as Ba$1,Ca as Ca$1,U,oa,db,ib,b,gb as gb$1,hb as hb$1,w,aa as aa$1,ba as ba$2,W,V,$ as $$1,Y,_,X,Ta as Ta$1,ua,Ua as Ua$1,va as va$1,Ha as Ha$1,Ia,Da as Da$1,Ea as Ea$1,Qa,ca,d,Sa as Sa$1,da,ea,Va as Va$2,Ra as Ra$1,h,Z,fa,ga,xa as xa$1,Fa as Fa$1,Ga as Ga$1,o,p as p$1,ia,T,wa as wa$1,za as za$1,Aa as Aa$1,ya,Wa as Wa$1,e as e$1,Xa as Xa$1,y,pa,k as k$1,r,z as z$1,A as A$1,l as l$1,s,ma,la,ka,ja as ja$1,ra,qa as qa$1,na,S,O as O$1,N as N$1,M as M$1,L as L$1,K,J,R,Q,ta,sa as sa$1,P as P$1,I,H as H$1,G as G$1,Oa as Oa$1,Na as Na$2,Ma as Ma$2,La as La$2,F as F$1,E as E$1,Pa as Pa$1,Ka as Ka$2,kb as kb$1}from'./chunk-X7ZBIWYF.js';import {c,Ib,ba as ba$1,Kb,Jb,bb as bb$1,L,a as a$1,$,Gb,Db,Eb,Cb,Fb,nb,ob,pb,qb,Ka as Ka$1,La as La$1,Ma as Ma$1,Na as Na$1,eb,fb as fb$1,yb,tb,zb,sb,rb,Ab,wb,Bb,vb,ub,p,D as D$1,xb,cb,Xa,hb,gb,lb as lb$1,kb,mb as mb$1,Lb,Hb,C as C$1,Sb,aa,k,db as db$1,B as B$1,F,N,sa,jb as jb$1,Wa,Va as Va$1,Da as Da$2,Ba as Ba$2,m as m$1,A,E,ca as ca$1,e,_ as _$1,d as d$1,H,Z as Z$1,Za,Ya as Ya$1,M,t as t$1,Rb,Ja as Ja$1,_a as _a$1,O,P,l,v as v$1,u as u$1,z,x as x$1,q as q$1,G,ib as ib$1,j as j$1,Ea as Ea$2,r as r$1,o as o$1,Aa as Aa$2}from'./chunk-PHJQ6QKU.js';async function zp(e){let n=c(e.fromPrefix),r=c(e.toPrefix);n.forAccount(e.accountId),r.forAccount(e.accountId);let d={accountId:e.accountId,fromPrefix:n.hostPrefix,toPrefix:r.hostPrefix,fromNamespaceFactory:n,toNamespaceFactory:r};if(d.fromPrefix===d.toPrefix)throw new Error("cache prefix \u8FC1\u79FB\u7684\u6E90\u524D\u7F00\u4E0E\u76EE\u6807\u524D\u7F00\u4E0D\u80FD\u76F8\u540C");try{await e.migrator.migrate(d);}catch(s){try{await e.migrator.rollback(d,s);}catch(c){throw new AggregateError([s,c],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw s}}var je=class extends Error{operation;kind;code;retryable;constructor(n){super(n.message,n.cause===void 0?void 0:{cause:n.cause}),this.name="ImPinnedMessageOperationError",this.operation=n.operation,this.kind=n.kind,this.code=n.code,this.retryable=n.retryable??false;}};function bt(e,n,r){return n===39081?new je({operation:e,kind:"forbidden",code:n,message:r||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new je({operation:e,kind:"business",code:n,message:r||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function Mt(e,n){return n instanceof je?n:n instanceof d?new je({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new je({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function bo(e,n){let r={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(r)}`}function Vp(e){return Object.freeze({version:e.version,total:e.total,...e.currentUserEmoji===void 0?{}:{currentUserEmoji:e.currentUserEmoji},aggregates:Object.freeze(e.aggregates.map(n=>Object.freeze({emoji:n.emoji,count:n.count,mine:n.mine,latestAt:n.latestAt,participantIds:Object.freeze([...n.participantIds])})))})}function ir(e){let{teaKey:n,fileEncryptType:r,...d}=e;return d}function qp(e){return Object.freeze({...e.text===void 0?{}:{text:e.text},...e.system===void 0?{}:{system:Object.freeze({...e.system})},...e.image===void 0?{}:{image:Object.freeze(ir(e.image))},...e.video===void 0?{}:{video:Object.freeze(ir(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(ir(e.voice))},...e.filesAlbum===void 0?{}:{filesAlbum:Object.freeze({...e.filesAlbum.caption===void 0?{}:{caption:e.filesAlbum.caption},items:Object.freeze(e.filesAlbum.items.map(n=>Object.freeze(ir(n))))})},...e.file===void 0?{}:{file:Object.freeze(ir(e.file))},...e.sticker===void 0?{}:{sticker:Object.freeze({...e.sticker})},...e.game===void 0?{}:{game:Object.freeze({...e.game})},...e.miniProgram===void 0?{}:{miniProgram:Object.freeze({...e.miniProgram})},...e.robot===void 0?{}:{robot:Object.freeze({modules:Object.freeze([...e.robot.modules]),commands:Object.freeze(e.robot.commands.map(n=>Object.freeze([...n])))})},...e.transfer===void 0?{}:{transfer:Object.freeze({...e.transfer})},...e.gift===void 0?{}:{gift:Object.freeze({...e.gift})},...e.liveRoom===void 0?{}:{liveRoom:Object.freeze({...e.liveRoom})},...e.redPacket===void 0?{}:{redPacket:Object.freeze({...e.redPacket})},...e.contact===void 0?{}:{contact:Object.freeze({...e.contact})},...e.call===void 0?{}:{call:Object.freeze({...e.call})},...e.mediaAlbum===void 0?{}:{mediaAlbum:Object.freeze({...e.mediaAlbum.caption===void 0?{}:{caption:e.mediaAlbum.caption},items:Object.freeze(e.mediaAlbum.items.map(n=>Object.freeze(ir(n))))})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function Mo(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:qp(e.body),createdAt:e.createdAt,status:e.status,receipt:e.receipt,encryption:Object.freeze({...e.encryption}),...e.failure===void 0?{}:{failure:Object.freeze({...e.failure})},...e.serverTime===void 0?{}:{serverTime:e.serverTime},...e.mention===void 0?{}:{mention:Object.freeze({...e.mention,atUserIds:[...e.mention.atUserIds],...e.mention.ranges===void 0?{}:{ranges:e.mention.ranges.map(n=>({...n}))},...e.mention.atUsersName===void 0?{}:{atUsersName:Object.freeze({...e.mention.atUsersName})}})},...e.refMessageId===void 0?{}:{refMessageId:e.refMessageId},...e.edited===void 0?{}:{edited:e.edited},...e.recalled===void 0?{}:{recalled:Object.freeze({...e.recalled})},...e.deletedForEveryone===void 0?{}:{deletedForEveryone:Object.freeze({...e.deletedForEveryone})},...e.reactions===void 0?{}:{reactions:Vp(e.reactions)}})}function wd(e,n){return va(e,n)}function va(e,n){if(Object.is(e,n))return true;if(e===null||n===null||typeof e!="object"||typeof n!="object")return false;if(e instanceof Uint8Array||n instanceof Uint8Array){if(!(e instanceof Uint8Array)||!(n instanceof Uint8Array)||e.byteLength!==n.byteLength)return false;for(let u=0;u<e.byteLength;u+=1)if(e[u]!==n[u])return false;return true}if(Array.isArray(e)||Array.isArray(n))return Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((u,p)=>va(u,n[p]));let r=Object.getPrototypeOf(e),d=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null||d!==Object.prototype&&d!==null)return false;let s=e,c=n,o=Object.keys(s);return o.length===Object.keys(c).length&&o.every(u=>Object.prototype.hasOwnProperty.call(c,u)&&va(s[u],c[u]))}function sr(e){return {id:e.id,ref:Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId}),senderId:e.senderId,contentType:e.contentType,createdAt:e.createdAt,status:e.status,preview:Ba$2(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function oe(e){let n=$(e.cause)?e.cause.reason:e.code==="IM_SDK_CRYPTO_EXECUTION_FAILED"?e.details?.reason:void 0;return {...e,...n==="unavailable"||n==="load-failed"||n==="messageerror"||n==="crashed"||n==="timeout"||n==="protocol-mismatch"?{recovery:"reload-app",retryable:false}:{},...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function kr(e,n,r){return oe({...{"no-crypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"preview-failed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"encrypt-failed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"upload-failed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},offline:{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},empty:{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},cancelled:{code:"IM_SDK_MEDIA_CANCELLED",category:"state",retryable:false},paused:{code:"IM_SDK_MEDIA_PAUSED",category:"state",retryable:false},"invalid-duration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"content-too-large":{code:"IM_SDK_MEDIA_CONTENT_TOO_LARGE",category:"validation",retryable:false}}[e],operation:n,conversation:r})}function Kt(e,n,r){return oe({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:r,cause:e})}async function cr(e,n){let r=new Uint8Array(await n.arrayBuffer()),d=typeof File<"u"&&n instanceof File?n.name:void 0,c=(await e.uploadAvatar({data:r,...d===void 0?{}:{filename:d},...n.type===""?{}:{mimeType:n.type}})).url.trim();if(c==="")throw new Error("\u5934\u50CF\u4E0A\u4F20\u5931\u8D25\uFF1A\u5BF9\u8C61\u5B58\u50A8\u672A\u8FD4\u56DE\u6587\u4EF6 URL");return c}async function Po(e,n){let r=await n(e.conversationId,[e.messageId]),d=r.messages.filter(o=>o.id===e.messageId),s=d[0],c=r.missingMessageIds.includes(e.messageId);if(d.length>1||s!==void 0&&(c||s.conversationType!==e.conversationType||s.conversationId!==e.conversationId))throw new je({operation:"get",kind:"contract",message:"\u7F6E\u9876\u539F\u6587\u67E5\u8BE2\u8FD4\u56DE\u51B2\u7A81\u6216\u9519\u8BEF\u4F1A\u8BDD\u7684\u6D88\u606F"});if(s===void 0){if(c)return null;throw new je({operation:"get",kind:"contract",message:"\u7F6E\u9876\u539F\u6587\u67E5\u8BE2\u672A\u8FD4\u56DE\u6D88\u606F\u6216\u660E\u786E\u7F3A\u5931\u7ED3\u679C"})}return s.recalled!==void 0||s.deletedForEveryone!==void 0?null:{...e,preview:{state:"ready",message:s}}}var Wp="IM_SDK_GROUP_NOT_MEMBER",$p="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",Jp="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",Yp="IM_SDK_GROUP_MANAGEMENT_FAILED";function Ed(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Xp(e,n,r){if(Ed(e))return e;let d$1=e instanceof e$1?e.businessCode:void 0,s=e instanceof pa?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":d$1===39011?Wp:d$1===39029?$p:d$1===39033?Jp:e instanceof e$1?Yp:e instanceof d?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(s===void 0)return;let c=e instanceof pa?"contract":e instanceof d?"network":d$1===39029?"permission":"state",o=oe({code:s,category:c,operation:n,retryable:e instanceof d,conversation:{conversationType:"group",conversationId:r},...d$1===void 0?{}:{details:Object.freeze({businessCode:d$1})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u666E\u901A\u7FA4\u7BA1\u7406\u5931\u8D25"),o)}async function Bt(e,n,r){try{return await r()}catch(d){throw Xp(d,e,n)??d}}var Rd=39005,Qp=39057,Zp=39061;function Ad(e){let n=new Map,r=new Map,d=true,s=I=>({conversationType:"group",conversationId:I});function c(I){r.set(I,(r.get(I)??0)+1);}function o(I,k=true){let D=k?v("get",I):e.coreClient;if(D===void 0)return Promise.reject(new je({operation:"get",kind:"unavailable",message:"\u7F6E\u9876\u67E5\u8BE2\u672A\u914D\u7F6E coreClient"}));if(!d)return Promise.reject(new DOMException("\u7F6E\u9876\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E","AbortError"));let q=r.get(I)??0,y=n.get(I);if(y?.version===q)return y.task;let S=()=>d&&(r.get(I)??0)===q&&e.domainState.getConversationContext(s(I))?.type==="group",i=()=>e.domainState.getPinnedMessage(s(I))??null,a=(async()=>{let P=await fa({client:D,groupId:I});if(!S())return i();if(!P.ok)throw bt("get",P.code,P.message);if(P.data===null)return e.domainState.clearPinnedMessage(s(I),"reconcile"),null;let h=A(P.data.messageContent,{conversationId:I}),x=await Po(h,e.fetchMessagesById);return S()?x===null?(e.domainState.clearPinnedMessage(s(I),"reconcile"),e.onSourceUnavailable?.(h),null):(e.domainState.setPinnedMessage(x,"reconcile"),i()):i()})();n.set(I,{version:q,task:a});let g=()=>{n.get(I)?.task===a&&n.delete(I);};return a.then(g,g),a}function u(I){if(!d)return;let k=r.get(I)??0;n.get(I)?.version!==k&&o(I,false).catch(D=>{!d||(r.get(I)??0)!==k||e.emitter.emit({type:"error",error:{scope:"http",message:"GROUP \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:D}});});}let p=db$1({domainState:e.domainState,emitter:e.emitter,requestReconcile:u}),f=e.emitter.subscribe(I=>{if(I.type==="session:removed"&&I.conversation.conversationType==="group"){c(I.conversation.conversationId);return}if(I.type!=="message:received"&&I.type!=="message:updated"||I.message.conversationType!=="group")return;let k=I.message.body.system?.pinnedMessageAction;(k?.type==="pin"||k?.type==="unpin")&&c(I.message.conversationId),p.handleMessage(I.message);});function C(I,k){if(k.trim()==="")throw new je({operation:I,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let D=e.domainState.getConversationContext(s(k));if(D===void 0)throw new je({operation:I,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(D.type!=="group")throw new je({operation:I,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function v(I,k){if(e.coreClient===void 0)throw new je({operation:I,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return C(I,k),e.coreClient}return {operations:{pinMessage:async({groupId:I,messageId:k})=>{let D=v("pin",I),q=e.domainState.getConversationMessage(s(I),k);if(q===void 0)throw new je({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(q.conversationType!=="group")throw new je({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(q.conversationId!==I)throw new je({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:y,pinnedMessage:S}=B$1(q),i=await ua({client:D,groupId:I,messageContent:y});if(!i.ok)throw bt("pin",i.code,i.message);c(I),e.domainState.setPinnedMessage(S,"http:pin");let a=e.domainState.getPinnedMessage(s(I));if(a===void 0)throw new je({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(y){throw Mt("pin",y)}},unpinMessage:async I=>{let k=v("unpin",I);try{let D=await Ta$1({client:k,groupId:I});if(!D.ok)throw bt("unpin",D.code,D.message);c(I),e.domainState.clearPinnedMessage(s(I),"http:unpin");}catch(D){throw Mt("unpin",D)}},getPinnedMessage:async I=>{try{return await o(I)}catch(k){throw Mt("get",k)}},peekPinnedMessage:I=>(C("get",I),e.domainState.getPinnedMessage(s(I))??null)},dispose:()=>{d&&(d=false,f());}}}function Td(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u7FA4\u7EC4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u7FA4\u7EC4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},r=new Map,d$1=new Map,s=new Map;function c(a){if(a.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(a.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function o(a){let g=[],P=new Set;for(let h of a){if(h.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");P.has(h.userId)||(P.add(h.userId),g.push(Object.freeze({userId:h.userId,displayName:h.nickName.trim()===""?h.userId:h.nickName})));}return Object.freeze(g)}async function u(a,g){c(a);let P=e.profile?.listGroupMembers;if(P===void 0)throw new Error("GROUP @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u666E\u901A\u7FA4\u5B8C\u6574\u6210\u5458 provider");let h=a.conversationId,x=r.get(h);if(!g&&x!==void 0)return x;let U=s.get(h);if(U!==void 0&&(!g||U.refresh))return U.promise;let W=(d$1.get(h)??0)+1;d$1.set(h,W);let ce=Promise.resolve().then(()=>P(h,g?{forceRefresh:true}:void 0)).then(le=>{if(le===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let T=o(le);return d$1.get(h)===W&&r.set(h,T),T}).finally(()=>{s.get(h)?.promise===ce&&s.delete(h);});return s.set(h,{refresh:g,promise:ce}),ce}function p(a,g,P,h){let U=oe({code:a,category:a==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":a==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:a==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...P===void 0?{}:{details:P},...h===void 0?{}:{cause:h}});return Object.assign(new Error(g),U)}function f(a,g,P,h){let x=oe({code:a,category:a==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":a==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:a==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...P===void 0?{}:{details:P},...h===void 0?{}:{cause:h}});return Object.assign(new Error(g),x)}function C(a){if(a===null||typeof a!="object"||a===void 0)throw f("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let g=a.group_id;if(typeof g!="string"&&typeof g!="number"||String(g).trim()==="")throw f("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let P=typeof a.status=="number"?a.status:Number(a.status);if(!Number.isSafeInteger(P)||P!==1&&P!==2)throw f("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u5305\u542B\u672A\u77E5\u6FC0\u6D3B\u72B6\u6001");let h=String(g),x=a.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:h}),activation:P===1?"pending":"active",...x===void 0||x===""?{}:{avatarUrl:x},qrPayload:bo(h,x)})}function v(a){if(a===void 0)return;let g=typeof a=="number"?a:Number(a);return Number.isSafeInteger(g)?g:void 0}function R(a){if(typeof a=="boolean")return a;if(a===1||a==="1"||a==="true")return true;if(a===0||a==="0"||a==="false")return false}function I(a){if(a===null||typeof a!="object"||a===void 0)throw p("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let g=a.group_id;if(typeof g!="string"&&typeof g!="number"||String(g).trim()==="")throw p("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let P=String(g),h=a,x=h.name?.trim()??"";if(x==="")throw p("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let U=v(h.total_users),W=v(h.status),ce=v(h.verify_way),le=v(h.update_version),T=R(h.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:P}),name:x,...h.head_img_url?.trim()===""||h.head_img_url===void 0?{}:{avatar:h.head_img_url},...h.user_id===void 0?{}:{ownerId:String(h.user_id)},...U===void 0?{}:{memberCount:U},...W===void 0?{}:{status:W},...T===void 0?{}:{isInGroup:T},...ce===void 0?{}:{verifyWay:ce},...le===void 0?{}:{updateVersion:le},...h.invite_code===void 0?{}:{inviteCode:h.invite_code}}}function k(a){let g=a.name.trim();if(g==="")throw p("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(g.length>40)throw p("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let P=a.memberIds;if(!Array.isArray(P))throw p("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let h=P.map(U=>typeof U=="string"?U.trim():"");if(h.includes(""))throw p("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let x=[...new Set(h)];if(x.length>40)throw p("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:g,memberIds:x}}function D(a,g){let P=a.trim();if(P==="")throw new Error(`${g}\u4E0D\u80FD\u4E3A\u7A7A`);return P}function q(){if(e.coreClient===void 0)throw new Error("\u666E\u901A\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function y(a){if(!Array.isArray(a))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let g=a.map(P=>D(P,"\u7FA4\u6210\u5458 id"));return [...new Set(g)]}function S(a,g,P){if(a!==1&&a!==2&&a!==4){let x=oe({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:P}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),x)}if(a!==4)return {verifyWay:a};let h=g?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(h)){let x=oe({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:P}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),x)}return {verifyWay:a,inviteCode:h}}function i(a){r.delete(a),d$1.set(a,(d$1.get(a)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:a});}return {...n,mentions:{listAll:a=>u(a,false),refreshAll:a=>u(a,true)},getProfile:(a,g)=>e.profile?.getGroupProfile(a,g)??Promise.resolve(null),listMembers:(a,g)=>e.profile?.listGroupMembers?.(a,g)??Promise.resolve(null),getMemberNames:(a,g)=>e.profile?.getGroupMemberNames?.(a,g)??Promise.resolve(null),peekMembers:a=>e.profile?.peekGroupMembers?.(a)??Promise.resolve(null),peekMemberNames:a=>e.profile?.peekGroupMemberNames?.(a)??Promise.resolve(null),peekProfile:a=>e.profile?.peekGroupProfile?.(a)??Promise.resolve(null),updateName:async(a,g)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let P=g.trim();if(a===""||P==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await Va$2({client:e.coreClient,groupId:a,name:P}),e.domainState.updateConversationProfile({conversationType:"group",conversationId:a},{title:P}),e.emitter.emit({type:"profile:updated",profileType:"group",id:a});},updateAvatar:async(a,g)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");if(a==="")throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");let P=await cr(e.avatarTransfer,g);return await Va$2({client:e.coreClient,groupId:a,avatarUrl:P}),e.domainState.updateConversationProfile({conversationType:"group",conversationId:a},{avatar:P}),e.emitter.emit({type:"profile:updated",profileType:"group",id:a}),P},uploadAvatar:async a=>{if(e.avatarTransfer===void 0)throw p("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return cr(e.avatarTransfer,a)},create:async a=>{if(e.coreClient===void 0)throw p("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.prepareConversation===void 0)throw p("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let g=k(a);try{let P=await ea({client:e.coreClient,name:g.name,memberIds:g.memberIds,...a.avatarUrl===void 0?{}:{avatarUrl:a.avatarUrl}});if(!P.ok){let x=P.code===Rd?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":P.code===Qp?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":P.code===Zp?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw p(x,P.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:P.code,message:P.message}))}let h=I(P.data);return e.domainState.prepareConversation({id:h.ref.conversationId,type:"group",title:h.name,...h.avatar===void 0?{}:{avatar:h.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:h})}catch(P){throw P!==void 0&&typeof P=="object"&&P!==null&&"code"in P&&String(P.code).startsWith("IM_SDK_")?P:P instanceof d?p("IM_SDK_GROUP_CREATE_NETWORK_FAILED",P.message,void 0,P):p("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,P)}},createFaceToFace:async()=>{if(e.coreClient===void 0)throw f("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");try{let a=await da({client:e.coreClient});if(!a.ok){let g=a.code===Rd?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw f(g,a.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:a.code}))}return Object.freeze({group:C(a.data)})}catch(a){throw Ed(a)?a:a instanceof d?f("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",a.message,void 0,a):f("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,a)}},setMyNickname:async(a,g)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(a==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await Sa$1({client:e.coreClient,groupId:a,nickname:g}),e.emitter.emit({type:"profile:updated",profileType:"group",id:a});},updateVerification:async(a,g,P)=>{let h=q(),x=D(a,"\u7FA4 id"),U=S(g,P,x);await Bt("groups.updateVerification",x,()=>na({client:h,groupId:x,verifyWay:U.verifyWay,...U.inviteCode===void 0?{}:{inviteCode:U.inviteCode}})),i(x);},requestJoin:async(a,g)=>{let P=q(),h=D(a,"\u7FA4 id"),x=g?.remarks?.trim();return Bt("groups.requestJoin",h,()=>qa$1({client:P,groupId:h,...x===void 0?{}:{remarks:x}}))},joinByInviteCode:async(a,g)=>{let P=q(),h=D(a,"\u7FA4 id"),x=g.trim();if(!/^\d{6}$/.test(x))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Bt("groups.joinByInviteCode",h,()=>ra({client:P,groupId:h,inviteCode:x}))},inviteMembers:async(a,g)=>{let P=q(),h=D(a,"\u7FA4 id"),x=y(g);if(x.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Bt("groups.inviteMembers",h,()=>ja$1({client:P,groupId:h,userIds:x})),i(h);},removeMember:async(a,g)=>{let P=q(),h=D(a,"\u7FA4 id"),x=D(g,"\u5F85\u79FB\u9664\u6210\u5458 id");await Bt("groups.removeMember",h,()=>ka({client:P,groupId:h,userId:x})),i(h);},transferOwnership:async(a,g)=>{let P=q(),h=D(a,"\u7FA4 id"),x=D(g,"\u65B0\u7FA4\u4E3B id");await Bt("groups.transferOwnership",h,()=>la({client:P,groupId:h,userId:x})),i(h);},leave:async(a,g)=>{let P=q();if(e.domainState.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u7FA4\u7EC4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let h=D(a,"\u7FA4 id"),x=g?.newOwnerId===void 0?void 0:D(g.newOwnerId,"\u65B0\u7FA4\u4E3B id");await Bt("groups.leave",h,()=>ma({client:P,groupId:h,...x===void 0?{}:{newOwnerId:x}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:h},"group_left"),i(h);},...e.pinned}}var em="image/jpeg,image/png,image/webp";async function So(e){let n=new Uint8Array(await e.slice(0,12).arrayBuffer()),r;n.length>=3&&n[0]===255&&n[1]===216&&n[2]===255?r="image/jpeg":n.length>=8&&[137,80,78,71,13,10,26,10].every((s,c)=>n[c]===s)?r="image/png":n.length>=12&&n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&n[8]===87&&n[9]===69&&n[10]===66&&n[11]===80&&(r="image/webp");let d=e.type.trim().toLowerCase();return r!==void 0&&(d===""||d==="application/octet-stream"||d===r)}function _d(e){let n={...e.body.text===void 0?{}:{text:e.body.text},...e.body.system===void 0?{}:{system:e.body.system},...e.body.image===void 0?{}:{image:{url:e.body.image.url,width:e.body.image.width,height:e.body.image.height,...e.body.image.md5===void 0?{}:{md5:e.body.image.md5},...e.body.image.imageType===void 0?{}:{imageType:e.body.image.imageType},...e.body.image.size===void 0?{}:{size:e.body.image.size}}},...e.body.video===void 0?{}:{video:{url:e.body.video.url,width:e.body.video.width,height:e.body.video.height,...e.body.video.duration===void 0?{}:{duration:e.body.video.duration},...e.body.video.md5===void 0?{}:{md5:e.body.video.md5},...e.body.video.size===void 0?{}:{size:e.body.video.size},...e.body.video.describe===void 0?{}:{describe:e.body.video.describe}}},...e.body.voice===void 0?{}:{voice:{url:e.body.voice.url,durationMs:e.body.voice.durationMs,...e.body.voice.md5===void 0?{}:{md5:e.body.voice.md5},...e.body.voice.size===void 0?{}:{size:e.body.voice.size},...e.body.voice.waveform===void 0?{}:{waveform:[...e.body.voice.waveform]}}},...e.body.file===void 0?{}:{file:{url:e.body.file.url,fileName:e.body.file.fileName,...e.body.file.size===void 0?{}:{size:e.body.file.size},...e.body.file.extension===void 0?{}:{extension:e.body.file.extension},...e.body.file.fileType===void 0?{}:{fileType:e.body.file.fileType},...e.body.file.mimeType===void 0?{}:{mimeType:e.body.file.mimeType},...e.body.file.md5===void 0?{}:{md5:e.body.file.md5}}},...e.body.sticker===void 0?{}:{sticker:{url:e.body.sticker.url,width:e.body.sticker.width,height:e.body.sticker.height,exprType:e.body.sticker.exprType,imageType:e.body.sticker.imageType,...e.body.sticker.size===void 0?{}:{size:e.body.sticker.size},...e.body.sticker.describe===void 0?{}:{describe:e.body.sticker.describe},...e.body.sticker.contentId===void 0?{}:{contentId:e.body.sticker.contentId},...e.body.sticker.packageName===void 0?{}:{packageName:e.body.sticker.packageName}}},...e.body.contact===void 0?{}:{contact:e.body.contact},...e.body.unknown===void 0?{}:{unknown:e.body.unknown}};return {id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:n,createdAt:e.createdAt,status:e.status,...e.failure===void 0?{}:{failure:e.failure},...e.serverTime===void 0?{}:{serverTime:e.serverTime},receipt:e.receipt,encryption:e.encryption,...e.mention===void 0?{}:{mention:e.mention},...e.refMessageId===void 0?{}:{refMessageId:e.refMessageId},...e.edited===void 0?{}:{edited:e.edited},...e.recalled===void 0?{}:{recalled:e.recalled},...e.deletedForEveryone===void 0?{}:{deletedForEveryone:e.deletedForEveryone}}}var kd=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto","call"]);function Od(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function ha(e,n){let r=e===true||typeof e=="object"&&e.enabled,d=typeof e=="object"?e:void 0,s=Od();return Ib({enabled:r,level:d?.level??"trace",categories:d?.categories??kd,...r?{sink:d?.sink??s,fallbackSink:s}:{},getRuntimeContext:n})}var xd=[{code:"666",tokens:["[666]"],file:"666.webp"},{code:"AlmostCrying",tokens:["[AlmostCrying]","[\u8981\u54ED\u4E86]"],file:"AlmostCrying.webp"},{code:"Amazed",tokens:["[Amazed]","[\u60CA\u8BB6]"],file:"Amazed.webp"},{code:"Anger",tokens:["[Anger]","[\u6124\u6012]"],file:"Anger.webp"},{code:"Arrogance",tokens:["[Arrogance]","[\u50B2\u6162]"],file:"Arrogance.webp"},{code:"BearCried",tokens:["[BearCried]","[\u718A\u54ED\u4E86]"],file:"BearCried.webp"},{code:"Bearish",tokens:["[Bearish]","[\u770B\u8DCC]"],file:"Bearish.webp"},{code:"Bitter",tokens:["[Bitter]","[\u82E6\u6DA9]"],file:"Bitter.webp"},{code:"Blink",tokens:["[Blink]","[\u7728\u773C]"],file:"Blink.webp"},{code:"Block",tokens:["[Block]","[\u65B9\u5757]"],file:"Block.webp"},{code:"blush",tokens:["[blush]","[\u8138\u7EA2]"],file:"blush.webp"},{code:"Bomb",tokens:["[Bomb]","[\u70B8\u5F39]"],file:"Bomb.webp"},{code:"Bullish",tokens:["[Bullish]","[\u770B\u6DA8]"],file:"Bullish.webp"},{code:"BullMarket",tokens:["[BullMarket]","[\u725B\u5E02]"],file:"BullMarket.webp"},{code:"Cake",tokens:["[Cake]","[\u751F\u65E5\u86CB\u7CD5]"],file:"Cake.webp"},{code:"Candy",tokens:["[Candy]","[\u7CD6\u679C]"],file:"Candy.webp"},{code:"Celebration",tokens:["[Celebration]","[\u5E86\u795D]"],file:"Celebration.webp"},{code:"Cheers",tokens:["[Cheers]","[\u5E72\u676F]"],file:"Cheers.webp"},{code:"Coffee",tokens:["[Coffee]","[\u5496\u5561]"],file:"Coffee.webp"},{code:"Cold",tokens:["[Cold]","[\u611F\u5192]"],file:"Cold.webp"},{code:"Contemplation",tokens:["[Contemplation]","[\u9119\u89C6]"],file:"Contemplation.webp"},{code:"Cool",tokens:["[Cool]","[\u9177]"],file:"Cool.webp"},{code:"Coveryourface",tokens:["[Coveryourface]","[\u6342\u8138]"],file:"Coveryourface.webp"},{code:"Cracking",tokens:["[Cracking]","[\u88C2\u5F00]"],file:"Cracking.webp"},{code:"Crying",tokens:["[Crying]","[\u5927\u54ED]"],file:"Crying.webp"},{code:"Decline",tokens:["[Decline]","[\u8870]"],file:"Decline.webp"},{code:"Disappointed",tokens:["[Disappointed]","[\u5931\u671B]"],file:"Disappointed.webp"},{code:"Doghead",tokens:["[Doghead]","[\u72D7\u5934]"],file:"Doghead.webp"},{code:"Dull",tokens:["[Dull]","[\u5446\u6EDE]"],file:"Dull.webp"},{code:"EatingMelons",tokens:["[EatingMelons]","[\u5403\u74DC]"],file:"EatingMelons.webp"},{code:"Embrace",tokens:["[Embrace]","[\u62E5\u62B1]"],file:"Embrace.webp"},{code:"Faint",tokens:["[Faint]","[\u6655]"],file:"Faint.webp"},{code:"Farce",tokens:["[Farce]","[\u95F9\u5267]"],file:"Farce.webp"},{code:"Favorite",tokens:["[Favorite]","[\u559C\u7231]"],file:"Favorite.webp"},{code:"Fear",tokens:["[Fear]","[\u6050\u60E7]"],file:"Fear.webp"},{code:"Firecrackers",tokens:["[Firecrackers]","[\u7206\u7AF9]"],file:"Firecrackers.webp"},{code:"Fireworks",tokens:["[Fireworks]","[\u70DF\u82B1]"],file:"Fireworks.webp"},{code:"FlyingKiss",tokens:["[FlyingKiss]","[\u98DE\u543B]"],file:"FlyingKiss.webp"},{code:"Fortune",tokens:["[Fortune]","[\u798F]"],file:"Fortune.webp"},{code:"Frowns",tokens:["[Frowns]","[\u76B1\u7709]"],file:"Frowns.webp"},{code:"Gift",tokens:["[Gift]","[\u793C\u7269]"],file:"Gift.webp"},{code:"Giggle",tokens:["[Giggle]","[\u50BB\u7B11]"],file:"Giggle.webp"},{code:"Goodbye",tokens:["[Goodbye]","[\u62DC\u62DC]"],file:"Goodbye.webp"},{code:"Great",tokens:["[Great]","[\u8D5E]"],file:"Great.webp"},{code:"Grieve",tokens:["[Grieve]","[\u4F24\u5FC3]"],file:"Grieve.webp"},{code:"Handshake",tokens:["[Handshake]","[\u63E1\u624B]"],file:"Handshake.webp"},{code:"Harvesting",tokens:["[Harvesting]","[\u6536\u5272]"],file:"Harvesting.webp"},{code:"Heartbreak",tokens:["[Heartbreak]","[\u5FC3\u788E]"],file:"Heartbreak.webp"},{code:"Heidi",tokens:["[Heidi]","[\u6D77\u8482]"],file:"Heidi.webp"},{code:"Heyha",tokens:["[Heyha]","[\u563F\u54C8]"],file:"Heyha.webp"},{code:"Hugging",tokens:["[Hugging]","[\u62B1\u62F3]"],file:"Hugging.webp"},{code:"Idle",tokens:["[Idle]","[\u957F\u8349]"],file:"Idle.webp"},{code:"Injustice",tokens:["[Injustice]","[\u59D4\u5C48]"],file:"Injustice.webp"},{code:"Knife",tokens:["[Knife]","[\u83DC\u5200]"],file:"Knife.webp"},{code:"Laughingawkwardly",tokens:["[Laughingawkwardly]","[\u5C2C\u7B11]"],file:"Laughingawkwardly.webp"},{code:"LaughingCrying",tokens:["[LaughingCrying]","[\u7B11\u54ED]"],file:"LaughingCrying.webp"},{code:"Laughing",tokens:["[Laughing]","[\u5927\u7B11]"],file:"Laughing.webp"},{code:"Lips",tokens:["[Lips]","[\u5634\u5507]"],file:"Lips.webp"},{code:"Lockbox",tokens:["[Lockbox]","[\u9501\u7BB1]"],file:"Lockbox.webp"},{code:"Lostinthought",tokens:["[Lostinthought]","[\u53D1\u5446]"],file:"Lostinthought.webp"},{code:"Love",tokens:["[Love]","[\u7231\u5FC3]"],file:"Love.webp"},{code:"Mahjong",tokens:["[Mahjong]","[\u9EBB\u5C06]"],file:"Mahjong.webp"},{code:"Mischievous",tokens:["[Mischievous]","[\u8C03\u76AE]"],file:"Mischievous.webp"},{code:"Money",tokens:["[Money]","[\u91D1\u94B1]"],file:"Money.webp"},{code:"Moon",tokens:["[Moon]","[\u6708\u4EAE]"],file:"Moon.webp"},{code:"MovingBricks",tokens:["[MovingBricks]","[\u642C\u7816]"],file:"MovingBricks.webp"},{code:"Nosepicking",tokens:["[Nosepicking]","[\u62A0\u9F3B]"],file:"Nosepicking.webp"},{code:"OK",tokens:["[OK]"],file:"OK.webp"},{code:"Palmtogether",tokens:["[Palmtogether]","[\u5408\u638C]"],file:"Palmtogether.webp"},{code:"Parachute",tokens:["[Parachute]","[\u964D\u843D\u4F1E]"],file:"Parachute.webp"},{code:"Pig",tokens:["[Pig]","[\u732A]"],file:"Pig.webp"},{code:"Pleasure",tokens:["[Pleasure]","[\u6109\u60A6]"],file:"Pleasure.webp"},{code:"Poop",tokens:["[Poop]","[\u4FBF\u4FBF]"],file:"Poop.webp"},{code:"Poor",tokens:["[Poor]","[\u53EF\u601C]"],file:"Poor.webp"},{code:"Questionmark",tokens:["[Questionmark]","[\u95EE\u53F7]"],file:"Questionmark.webp"},{code:"Quickwitted",tokens:["[Quickwitted]","[\u673A\u667A]"],file:"Quickwitted.webp"},{code:"Received",tokens:["[Received]","[\u6536\u5230]"],file:"Received.webp"},{code:"Redenvelope",tokens:["[Redenvelope]","[\u7EA2\u5305]"],file:"Redenvelope.webp"},{code:"Regret",tokens:["[Regret]","[\u61CA\u607C]"],file:"Regret.webp"},{code:"Rose",tokens:["[Rose]","[\u73AB\u7470]"],file:"Rose.webp"},{code:"Sad",tokens:["[Sad]","[\u96BE\u8FC7]"],file:"Sad.webp"},{code:"Shy",tokens:["[Shy]","[\u5BB3\u7F9E]"],file:"Shy.webp"},{code:"Sighs",tokens:["[Sighs]","[\u53F9\u6C14]"],file:"Sighs.webp"},{code:"Skeleton",tokens:["[Skeleton]","[\u9AB7\u9AC5]"],file:"Skeleton.webp"},{code:"Sleepiness",tokens:["[Sleepiness]","[\u56F0]"],file:"Sleepiness.webp"},{code:"Sleep",tokens:["[Sleep]","[\u7761\u89C9]"],file:"Sleep.webp"},{code:"smirk",tokens:["[smirk]","[\u5978\u7B11]"],file:"smirk.webp"},{code:"Sneak",tokens:["[Sneak]","[\u5077\u7B11]"],file:"Sneak.webp"},{code:"Society",tokens:["[Society]","[\u793E\u4F1A]"],file:"Society.webp"},{code:"Speechless",tokens:["[Speechless]","[\u65E0\u8BED]"],file:"Speechless.webp"},{code:"Step",tokens:["[Step]","[\u8E29]"],file:"Step.webp"},{code:"Strike",tokens:["[Strike]","[\u6253\u51FB]"],file:"Strike.webp"},{code:"Struggle",tokens:["[Struggle]","[\u594B\u6597]"],file:"Struggle.webp"},{code:"Sun",tokens:["[Sun]","[\u592A\u9633]"],file:"Sun.webp"},{code:"Surprised",tokens:["[Surprised]","[\u5403\u60CA]"],file:"Surprised.webp"},{code:"Swearing",tokens:["[Swearing]","[\u5492\u9A82]"],file:"Swearing.webp"},{code:"Sweating",tokens:["[Sweating]","[\u5192\u6C57]"],file:"Sweating.webp"},{code:"Sweat",tokens:["[Sweat]","[\u6C57]"],file:"Sweat.webp"},{code:"Teasing",tokens:["[Teasing]","[\u620F\u5F04]"],file:"Teasing.webp"},{code:"Trapped",tokens:["[Trapped]","[\u56F0\u4F4F]"],file:"Trapped.webp"},{code:"Unscrupulous",tokens:["[Unscrupulous]","[\u9634\u9669]"],file:"Unscrupulous.webp"},{code:"Vomit",tokens:["[Vomit]","[\u5455\u5410]"],file:"Vomit.webp"},{code:"WhiteEyes",tokens:["[WhiteEyes]","[\u767D\u773C]"],file:"WhiteEyes.webp"},{code:"Withering",tokens:["[Withering]","[\u51CB\u96F6]"],file:"Withering.webp"},{code:"Worried",tokens:["[Worried]","[\u62C5\u5FC3]"],file:"Worried.webp"},{code:"Wow",tokens:["[Wow]","[\u54C7]"],file:"Wow.webp"},{code:"Yeah2",tokens:["[Yeah2]"],file:"Yeah2.webp"},{code:"Yeah",tokens:["[Yeah]","[\u8036]"],file:"Yeah.webp"},{code:"ALLIN",tokens:["[ALLIN]"],file:"ALLIN.webp"},{code:"Dollarsfly",tokens:["[Dollarsfly]","[\u7F8E\u5143]"],file:"Dollarsfly.webp"}];var Ca=Object.freeze(xd.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),Nd=new Map(Ca.flatMap(e=>e.tokens.map(n=>[n,e])));function Ld(e){return Nd.get(e)}function Ud(e){return Nd.has(e)}function gt(e){let n=oe(e);return Object.assign(new Error(n.code),n,{name:"ImSessionFavoriteOperationError"})}function Fd(e,n){return n instanceof Wa$1?gt({code:"IM_SDK_SESSION_FAVORITE_UNAVAILABLE",category:"contract",operation:e,retryable:false,cause:n}):n instanceof Xa$1?gt({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:e,retryable:false,cause:n}):n instanceof e$1?gt({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:n.businessCode>=500,cause:n}):gt({code:"IM_SDK_SESSION_FAVORITE_REQUEST_FAILED",category:"network",operation:e,retryable:true,cause:n})}function dr(e){let n=e?.trim()??"";return /^https?:\/\//i.test(n)?n:""}function ba(e){if(e===void 0||e.length===0)return "";let n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let d=0;d<e.length;d+=3){let s=e[d]??0,c=e[d+1]??0,o=e[d+2]??0,u=s<<16|c<<8|o;r+=n.charAt(u>>>18&63),r+=n.charAt(u>>>12&63),r+=d+1<e.length?n.charAt(u>>>6&63):"=",r+=d+2<e.length?n.charAt(u&63):"=";}return r}function wo(e){if(e.encryption?.decryptFailed===true)return null;switch(e.contentType){case "text":case "image":case "video":case "voice":case "file":case "mediaAlbum":return e.contentType;case "liveRoom":return null;case "filesAlbum":{let n=e.body.filesAlbum;return n!==void 0&&n.items.length>0&&n.items.every(r=>dr(r.url)!==""&&r.fileName.trim()!=="")?"filesAlbum":null}default:return null}}function Ma(e){let n=wo(e);if(n==="text"){let r=(e.body.text??"").trim();return r===""?null:{content:r}}if(n==="image"){let r=dr(e.body.image?.url),d=ba(e.body.image?.thumbData);return r===""||d===""?null:{content:r,imageURL:r,thumbData:d,width:e.body.image?.width??0,height:e.body.image?.height??0}}if(n==="video"){let r=dr(e.body.video?.url),d=ba(e.body.video?.thumbData);return r===""||d===""?null:{content:r,videoURL:r,thumbData:d,width:e.body.video?.width??0,height:e.body.video?.height??0,duration:e.body.video?.duration??0}}if(n==="voice"){let r=dr(e.body.voice?.url);return r===""?null:{content:r,voiceURL:r,duration:e.body.voice?.durationMs??0}}if(n==="file"){let r=dr(e.body.file?.url),d=(e.body.file?.fileName??"").trim();return r===""||d===""?null:{content:d,fileURL:r,fileName:d,size:e.body.file?.size??0}}if(n==="mediaAlbum"){let r=e.body.mediaAlbum;if(r===void 0||r.items.length===0)return null;let d=r.items.map(s=>({mediaType:s.kind==="video"?2:1,url:dr(s.url),width:s.width,height:s.height,...s.durationMs!==void 0&&s.durationMs>0?{duration:s.durationMs}:{},...s.thumbUrl!==void 0&&s.thumbUrl!==""?{thumbUrl:s.thumbUrl}:{},...s.thumbData!==void 0&&s.thumbData.length>0?{thumbData:ba(s.thumbData)}:{},...s.md5!==void 0&&s.md5!==""?{md5:s.md5}:{},...s.size!==void 0&&s.size>0?{fileSize:s.size}:{},...s.hd!==void 0?{hd:s.hd}:{}}));return d.some(s=>s.url==="")?null:{contentType:"28",items:d,...r.caption!==void 0&&r.caption.trim()!==""?{caption:r.caption}:{}}}return null}function tm(e,n,r){return e.senderId.trim()===n.trim()?r:n.trim()}function Kd(e){return Object.freeze({...e,body:e.kind==="filesAlbum"?Rb(e.body):Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function zd(e){function n(c){if(!e.isActive())throw gt({code:"IM_SDK_SESSION_FAVORITE_RUNTIME_INACTIVE",category:"state",operation:c,retryable:false})}async function r(c,o){if(n(c),e.provider===void 0)throw Fd(c,new Wa$1);let u;try{u=await o(e.provider);}catch(p){throw n(c),Fd(c,p)}return n(c),u}async function d(c,o,u){n(u);let p;try{p=await e.resolveMessage?.(c,o);}catch(f){throw n(u),gt({code:"IM_SDK_SESSION_FAVORITE_SOURCE_READ_FAILED",category:"state",operation:u,retryable:true,cause:f})}if(n(u),p?.contentType!=="filesAlbum"||p.body.filesAlbum===void 0||p.id!==o||p.conversationId!==c.conversationId||p.conversationType!==c.conversationType||p.status!=="sent"||p.recalled!==void 0||p.deletedForEveryone!==void 0||p.encryption.decryptFailed===true)return null;try{return t$1(p.body.filesAlbum)}catch(f){throw gt({code:"IM_SDK_SESSION_FAVORITE_MAPPING_INVALID",category:"validation",operation:u,retryable:false,cause:f})}}return {api:{list:async()=>{let c=await r("sessionFavorites.list",o=>o.list());return Object.freeze(c.map(Kd))},addFromMessage:async c=>{let o="sessionFavorites.addFromMessage",u=wo(c.message),p=Ma(c.message);u==="filesAlbum"&&(p=await d(c.conversation,c.message.id,o));let f=c.selfId.trim(),C=c.message.id.trim();if(u===null||p===null||f===""||C==="")throw gt({code:"IM_SDK_SESSION_FAVORITE_UNSUPPORTED",category:"validation",operation:o,retryable:false});let v={messageId:C,conversation:c.conversation,senderId:c.message.senderId.trim(),createdAt:c.message.createdAt,kind:u,plainBody:p,peerId:tm(c.message,f,c.conversation.conversationId)},R=await r(o,I=>I.add(v));return Kd(R)},delete:async c=>{let o="sessionFavorites.delete",u=[...new Set(c.map(p=>p.trim()).filter(p=>p!==""))];if(u.length===0)throw gt({code:"IM_SDK_SESSION_FAVORITE_INPUT_INVALID",category:"validation",operation:o,retryable:false});await r(o,p=>p.delete(u));}}}}var Vd="settings:read-receipts:v1",qd="settings:appearance:v1",Eo=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function dt(e){return oe({...e,retryable:e.retryable??false})}function wa(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function Ra(){return {fontScale:1}}function Pa(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function rm(e){if(typeof e!="object"||e===null)return wa();let n=e,r=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[d,s]of Object.entries(n.peerOverrides))d.trim()!==""&&typeof s=="boolean"&&(r[d]=s);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:r}}function om(e){if(typeof e!="object"||e===null)return Ra();let n=e.fontScale;return {fontScale:Wd(n)?n:1}}function Wd(e){return typeof e=="number"&&Eo.includes(e)}function Sa(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw dt({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function Ro(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw dt({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function $d(e){let n=false,r=false,d=false,s,c,o=wa(),u=Promise.resolve(),p=false,f,C=Ra(),v=Promise.resolve();function R(g){return dt({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:g})}function I(g){if(n)throw R(g)}async function k(g,P){if(I(P),r)return;let h;try{h=Ro(e.storage,P);}catch(x){if(!g)return;throw x}try{let x=await h.getMeta(Vd);I(P),o=rm(x),r=!0,d=!1;}catch(x){throw n?R(P):(d=true,dt({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:P,cause:x}))}}function D(g){return I(g),r?Promise.resolve():(s===void 0&&(s=k(true,g).finally(()=>{s=void 0;})),s)}async function q(g){if(I(g),!p)try{let P=await Ro(e.storage,g).getMeta(qd);I(g),C=om(P),p=!0;}catch(P){throw n?R(g):typeof P=="object"&&P!==null&&"code"in P?P:dt({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:g,cause:P})}}function y(g){return I(g),p?Promise.resolve():(f===void 0&&(f=q(g).finally(()=>{f=void 0;})),f)}async function S(g,P,h){I(g);let x=u.then(async()=>{I(g),await D(g),I(g);let U=Pa(o),W=P(Pa(o));try{await Ro(e.storage,g).setMeta(Vd,Pa(W));}catch(ce){throw n?R(g):typeof ce=="object"&&ce!==null&&"code"in ce?ce:dt({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:g,cause:ce})}I(g),o=W,h?.(U,W);});return u=x.catch(()=>{}),x}let i={async getGlobal(){let g="settings.readReceipts.getGlobal";return I(g),await D(g),I(g),o.globalEnabled},setGlobal(g){return typeof g!="boolean"?Promise.reject(dt({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):S("settings.readReceipts.setGlobal",P=>({...P,globalEnabled:g}),(P,h)=>{P.globalEnabled&&!h.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(g){let P="settings.readReceipts.getConversation";I(P);let h=Sa(g,P);await D(P),I(P);let x=o.peerOverrides[h.conversationId]??true;return Object.freeze({enabled:x,effectiveEnabled:o.globalEnabled&&x})},setConversation(g,P){let h="settings.readReceipts.setConversation",x;try{x=Sa(g,h);}catch(U){return Promise.reject(U)}return typeof P!="boolean"?Promise.reject(dt({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:h,conversation:x})):S(h,U=>(U.peerOverrides[x.conversationId]=P,U),(U,W)=>{let ce=x.conversationId,le=U.globalEnabled&&(U.peerOverrides[ce]??true),T=W.globalEnabled&&(W.peerOverrides[ce]??true);le&&!T&&e.onDirectReadReceiptDisabled?.(ce);})},resetConversation(g){let P="settings.readReceipts.resetConversation",h;try{h=Sa(g,P);}catch(x){return Promise.reject(x)}return S(P,x=>(delete x.peerOverrides[h.conversationId],x))}},a={fontScale:Object.freeze({async get(){let g="settings.appearance.fontScale.get";return await y(g),I(g),C.fontScale},set(g){let P="settings.appearance.fontScale.set";if(!Wd(g))return Promise.reject(dt({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:P,details:{supportedValues:[...Eo]}}));let h=v.then(async()=>{I(P),await y(P),I(P);let x={fontScale:g};try{await Ro(e.storage,P).setMeta(qd,x);}catch(U){throw n?R(P):typeof U=="object"&&U!==null&&"code"in U?U:dt({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:P,cause:U})}I(P),C=x;});return v=h.catch(()=>{}),h}})};return {api:Object.freeze({readReceipts:Object.freeze(i),appearance:Object.freeze(a),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){I("settings.readReceipts.hydrate"),!r&&(s===void 0&&(s=k(false,"settings.readReceipts.hydrate").finally(()=>{s=void 0;})),await s);},isDirectReadReceiptEnabled(g){return !n&&!d&&o.globalEnabled&&(o.peerOverrides[g]??true)},dispose(){if(c!==void 0)return c;n=true,o=wa(),C=Ra();let g=s,P=u,h=f,x=v;return c=Promise.allSettled([...g===void 0?[]:[g],P,...h===void 0?[]:[h],x]).then(()=>{}),c}}}var In=Object.freeze({availability:"available",reason:"ok"});function Nn(e){return Object.freeze({availability:"unavailable",reason:e})}function dn(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function Or(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function xr(e){return `${e.conversationType}:${e.conversationId}`}function am(){return Object.freeze({sendMessages:false})}function im(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function sm(e){switch(e){case "left":return "left";case "removed":return "removed";case "dismissed":return "dismissed";case "unknown_restricted":case "unknown":return "unknown-restricted";case "active":return "ok"}}function cm(e,n){return e==="active"?"ok":e==="muted"?n==="all-members"?"muted-all":n==="current-user"?"muted-self":"muted":e==="guest"?"guest":e==="left"?"left":e==="removed"?"removed":e==="dismissed"?"dismissed":e==="blacklisted"?"blacklisted":"unknown-restricted"}function dm(e,n){if(e?.ref.conversationType!=="channel"||e.channelAccessSnapshot?.allMembersMuted!==true||e.channelAccessSnapshot.mutePeriod===void 0)return;let r=/^(\d{1,2}):(\d{2})_(\d{1,2}):(\d{2})$/.exec(e.channelAccessSnapshot.mutePeriod);if(r===null)return;let d=Number(r[1]),s=Number(r[2]),c=Number(r[3]),o=Number(r[4]);if(d>23||c>23||s>59||o>59)return;let u=new Date(n);u.setHours(d,s,0,0);let p=new Date(n);if(p.setHours(c,o,59,999),u.getTime()<=n&&n<=p.getTime())return p.getTime()+1;if(n<u.getTime())return u.getTime();let f=u;return f.setDate(f.getDate()+1),f.getTime()}function Gt(e,n,r){let d=n.get(xr(e));if(d!==void 0)for(let s of [...d])s(r);}function Jd(e){let n=new Map,r=new Map,d=new Map,s=new Map,c=new Map,o=new Map,u,p,f=new Set,C=e.getSessionUserId(),v=0;function R(W){W.conversationType==="direct"?n.delete(W.conversationId):W.conversationType==="group"?r.delete(W.conversationId):W.conversationType==="channel"&&d.delete(W.conversationId);}function I(){n.clear(),r.clear(),d.clear(),o.clear(),f=new Set;}function k(){let W=e.getSessionUserId();return W!==C&&(C=W,I()),W}function D(W){k();let ce=++v;return o.set(xr(W),ce),ce}function q(W,ce){return k(),o.get(xr(W))===ce}function y(W,ce={}){k();let le=ce.nowMs??Date.now(),T=e.getConversation(W);if(W.conversationType==="direct"){let _e=Or({conversationType:"direct",conversationId:W.conversationId}),xe=n.get(W.conversationId),Oe=xe?.relationship??"unknown",rn=im(Oe),Ze=rn==="ok"?In:rn==="relationship-unknown"?dn(rn):Nn(rn),ln=Oe==="friend"?In:Oe==="unknown"?dn(rn):Nn(rn);return Object.freeze({ref:_e,conversationType:"direct",evaluatedAt:le,value:Object.freeze({relationship:Oe,...xe===void 0?{}:{relationshipCheckedAt:xe.checkedAt},canSendMessages:Ze,canOpenProfile:In,canUseMessageActions:Ze,canManageRelationship:ln})})}if(W.conversationType==="robot"){let _e=Or({conversationType:"robot",conversationId:W.conversationId});return Object.freeze({ref:_e,conversationType:"robot",evaluatedAt:le,value:Object.freeze({canSendMessages:In,canOpenProfile:In,canUseMessageActions:In,canReadHistory:In})})}if(W.conversationType==="group"){let _e=Or({conversationType:"group",conversationId:W.conversationId}),xe=r.get(W.conversationId),Oe=T?.ref.conversationType==="group"?T.groupState??"active":"unknown",rn=sm(Oe),Ze=rn==="ok",ln=e.getSessionUserId(),re=xe?.ownerId,nt=ln!==void 0&&re!==void 0&&ln===re,sn=Ze?In:Nn(rn),fn=Ze?xe===void 0?dn("not-ready"):nt?In:Nn("role-insufficient"):Nn(rn);return Object.freeze({ref:_e,conversationType:"group",evaluatedAt:le,value:Object.freeze({membership:Oe,...re===void 0?{}:{ownerId:re},isOwner:nt,canSendMessages:sn,canOpenProfile:sn,canReadHistory:In,canUseMessageActions:sn,canViewMembers:sn,canEditProfile:fn,canInviteMembers:sn,canManageMembers:fn,canPinMessages:fn,canUnpinMessages:fn,canTransferOwnership:fn,canLeave:sn,canUpdateVerification:fn})})}let ae=Or({conversationType:"channel",conversationId:W.conversationId}),pe=d.get(W.conversationId),ve=T?.ref.conversationType==="channel"&&T.channelState!==void 0?T.channelState:pe?.state;if(ve===void 0)return Object.freeze({ref:ae,conversationType:"channel",evaluatedAt:le,value:Object.freeze({state:"unknown",role:pe?.role??"unknown",permissions:am(),canSendMessages:dn("unknown-restricted"),canOpenProfile:dn("unknown-restricted"),canReadHistory:In,canUseMessageActions:dn("unknown-restricted"),canMutateMessages:dn("unknown-restricted"),canPinMessages:dn("unknown-restricted"),canUnpinMessages:dn("unknown-restricted"),canDeleteMessagesForEveryone:dn("unknown-restricted"),canMentionAll:dn("unknown-restricted"),canViewMembers:dn("unknown-restricted"),canEditProfile:dn("unknown-restricted"),canManageMembers:dn("unknown-restricted"),canManageMute:dn("unknown-restricted"),canDismiss:dn("unknown-restricted"),canTransferOwnership:dn("unknown-restricted"),canLeave:dn("unknown-restricted"),canInviteMembers:dn("unknown-restricted"),canSetMemberAdmin:dn("unknown-restricted"),canRemoveMembers:dn("unknown-restricted"),canSetMemberPrivateChat:dn("unknown-restricted")})});let w=Wa({channelState:ve,nowMs:le,...T?.ref.conversationType==="channel"&&T.channelAccessSnapshot!==void 0?{snapshot:T.channelAccessSnapshot}:{},...T?.ref.conversationType==="channel"&&T.channelPermissions!==void 0?{permissions:T.channelPermissions}:pe?.permissions===void 0?{}:{permissions:pe.permissions}}),$=cm(w.channelState,w.muteReason),ge=w.channelState==="active"||w.channelState==="muted",ye=w.channelState==="active"?w.permissions.sendMessages?In:Nn("unknown-restricted"):Nn($),F=_e=>ge&&_e?In:Nn(ge?"role-insufficient":$),Y=_e=>w.channelState==="active"&&_e?In:Nn(w.channelState==="muted"?$:ge?"role-insufficient":$),X=pe?.memberPrivateChatDisabled===false||w.permissions.manageMembers===true,ie=ge?pe===void 0&&w.permissions.manageMembers!==true?dn("not-ready"):F(X):Nn($),ue=w.channelState==="muted"?Nn($):ge?In:Nn($),Te=dm(T,le);return Object.freeze({ref:ae,conversationType:"channel",evaluatedAt:le,...Te===void 0?{}:{nextEvaluationAt:Te},value:Object.freeze({state:w.channelState,role:pe?.role??T?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...w.permissions}),...w.muteReason===void 0?{}:{muteReason:w.muteReason},canSendMessages:ye,canOpenProfile:ge?In:Nn($),canReadHistory:In,canUseMessageActions:ge?In:Nn($),canMutateMessages:ue,canPinMessages:Y(w.permissions.moderateMessages===true),canUnpinMessages:Y(w.permissions.moderateMessages===true),canDeleteMessagesForEveryone:Y(w.permissions.moderateMessages===true),canMentionAll:F(w.permissions.mentionAll===true),canViewMembers:ie,canEditProfile:F(w.permissions.editProfile===true),canManageMembers:F(w.permissions.manageMembers===true),canManageMute:F(w.permissions.manageMute===true),canDismiss:F(w.permissions.dismissChannel===true),canTransferOwnership:F(w.permissions.transferOwnership===true),canLeave:ge?In:Nn($),canInviteMembers:F(w.permissions.manageMembers===true),canSetMemberAdmin:F(w.permissions.manageAdmins===true),canRemoveMembers:F(w.permissions.manageMembers===true),canSetMemberPrivateChat:F(w.permissions.manageMute===true)})})}async function S(W,ce={}){let le=D(W);if(W.conversationType==="direct"){let T=await e.getRelationship(W.conversationId);q(W,le)&&i(W.conversationId,T,le);}else if(W.conversationType==="group"){let T={conversationType:"group",conversationId:W.conversationId},ae=await e.getGroupProfile(T,{forceRefresh:true});q(W,le)&&a(T,ae,le);}else if(W.conversationType==="channel"){let T={conversationType:"channel",conversationId:W.conversationId},ae=await e.getChannelProfile(T,{forceRefresh:true});q(W,le)&&g(T,ae,le);}return y(W,ce)}function i(W,ce,le){let T={conversationType:"direct",conversationId:W};q(T,le)&&(n.set(W,{relationship:ce,checkedAt:Date.now()}),Gt(T,s,y(T)));}function a(W,ce,le){q(W,le)&&(r.set(W.conversationId,ce),Gt(W,s,y(W)));}function g(W,ce,le){q(W,le)&&(d.set(W.conversationId,ce),Gt(W,s,y(W)));}function P(W,ce,le={}){k();let T=xr(W),ae=s.get(T)??new Set;return ae.add(ce),s.set(T,ae),c.set(T,Or(W)),ce(y(W,le)),p===void 0&&(p=e.subscribeContext?.(pe=>{k(),Gt(pe,s,y(pe));})),u===void 0&&(u=e.subscribeConversations(pe=>{k();let ve=Date.now(),w=new Set(pe.map($=>xr($.ref)));for(let $ of pe){let ge=y($.ref,{nowMs:ve});Gt($.ref,s,ge);}for(let[$,ge]of c){if(!f.has($)||w.has($))continue;R(ge);let ye=y(ge,{nowMs:ve});Gt(ge,s,ye);}f=w;})),()=>{ae.delete(ce),ae.size===0&&s.delete(T),s.has(T)||c.delete(T),s.size===0&&(p?.(),p=void 0,u?.(),u=void 0,f=new Set);}}function h(){I();let W=Date.now();for(let ce of c.values())Gt(ce,s,y(ce,{nowMs:W}));}function x(){p?.(),p=void 0,u?.(),u=void 0,s.clear(),c.clear(),I();}let U=Object.freeze({get:y,refresh:S,subscribe:P});return Object.freeze({...U,api:U,beginProjectionUpdate:D,updateRelationshipProjection:i,updateGroupProfileProjection:a,updateChannelProfileProjection:g,reset:h,dispose:x})}var lm=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function et(e,n){let r=e?.conversationType,d=e?.conversationId;if(r==="supergroup")throw oe({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(r!=="direct"&&r!=="group"&&r!=="channel"&&r!=="robot"||typeof d!="string"||d.trim()==="")throw oe({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:r,conversationId:d})}function um(e){return e===null?null:Object.freeze({ref:et(e.ref,"conversations.list"),text:e.text,mentions:Object.freeze(e.mentions.map(n=>Object.freeze({...n}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function pm(e){if(e!==void 0){if(e.kind==="text")return Object.freeze({kind:"text",text:e.text});if(e.kind==="voice")return Object.freeze({kind:"voice",...e.durationMs===void 0?{}:{durationMs:e.durationMs}});if(e.kind==="game")return Object.freeze({kind:"game",gameType:e.gameType});if(e.kind==="call")return Object.freeze({kind:"call",callKind:e.callKind});if(e.kind==="recalled")return Object.freeze({kind:"recalled",by:e.by});if(e.kind==="channel-moderation-deleted")return Object.freeze({kind:"channel-moderation-deleted",by:e.by});if(e.kind==="filesAlbum")return Object.freeze({kind:"filesAlbum",count:e.count,...e.caption===void 0?{}:{caption:e.caption}});if(e.kind==="mediaAlbum")return Object.freeze({kind:"mediaAlbum",imageCount:e.imageCount,videoCount:e.videoCount,...e.caption===void 0?{}:{caption:e.caption},...e.firstItemKind===void 0?{}:{firstItemKind:e.firstItemKind}});if(e.kind==="system"){let n=e.system;return Object.freeze({kind:"system",system:Object.freeze({eventType:n.eventType,...n.operatorId===void 0?{}:{operatorId:n.operatorId},...n.targetUserIds===void 0?{}:{targetUserIds:Object.freeze([...n.targetUserIds])},...n.fallbackText===void 0?{}:{fallbackText:n.fallbackText}})})}if(e.kind==="liveRoom"){let n=e.title?.trim()??"";return Object.freeze(n===""?{kind:"liveRoom"}:{kind:"liveRoom",title:n})}return Object.freeze({kind:e.kind})}}function Ao(e){let n=pm(e.lastMessageSummary),r=e.lastMessageMention===void 0?void 0:Object.freeze({atAll:e.lastMessageMention.atAll,atUserIds:Object.freeze([...e.lastMessageMention.atUserIds]),...e.lastMessageMention.atUsersName===void 0?{}:{atUsersName:Object.freeze({...e.lastMessageMention.atUsersName})}}),d=e.channelPermissions===void 0?void 0:Object.freeze({...e.channelPermissions}),s=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:et({conversationType:e.type,conversationId:e.id},"conversations.list"),title:e.title,...e.avatar===void 0?{}:{avatar:e.avatar},lastMessagePreview:e.lastMessagePreview,...n===void 0?{}:{lastMessageSummary:n},...e.lastMessageSenderId===void 0?{}:{lastMessageSenderId:e.lastMessageSenderId},...e.lastMessageSystemEvent===void 0?{}:{lastMessageSystemEvent:e.lastMessageSystemEvent},...e.lastMessageSystemTargetsSelf===void 0?{}:{lastMessageSystemTargetsSelf:e.lastMessageSystemTargetsSelf},...r===void 0?{}:{lastMessageMention:r},...e.lastMessageRecalled===void 0?{}:{lastMessageRecalled:Object.freeze({...e.lastMessageRecalled})},...e.lastMessageDeletedForEveryone===void 0?{}:{lastMessageDeletedForEveryone:Object.freeze({...e.lastMessageDeletedForEveryone})},...e.lastMessageSendState===void 0?{}:{lastMessageSendState:e.lastMessageSendState},...e.lastMessageReceipt===void 0?{}:{lastMessageReceipt:e.lastMessageReceipt},timestamp:e.timestamp,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===true?1:0,...e.manuallyUnread===true?{manuallyUnread:true}:{},mentionUnreadCount:e.mentionUnreadCount??0,pinned:e.pinned,muted:e.muted,...e.type==="group"&&e.groupState!==void 0?{groupState:e.groupState}:{},...e.type==="channel"&&e.channelState!==void 0?{channelState:e.channelState}:{},...e.type==="channel"&&d!==void 0?{channelPermissions:d}:{},...e.type==="channel"&&s!==void 0?{channelAccessSnapshot:s}:{},draft:um(e.draft)})}function mm(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function jt(e,n,r,d){return mm(e)?e:oe({code:n==="conversations.refresh"?"IM_SDK_CONVERSATIONS_REFRESH_FAILED":"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:r,...d===void 0?{}:{conversation:d},cause:e})}function Yd(e){let n=new Set,r,d,s;function c(){return Object.freeze(e.getCompatibilityApi().list().map(Ao))}function o(){let v=e.getSessionState();return v==="preparing"?"loading":v==="ready"?"ready":"idle"}function u(){try{let v=c();return Object.freeze({state:d??o(),items:v,totalUnread:e.getCompatibilityApi().getTotalUnread(),...s===void 0?{}:{error:Object.freeze(s)}})}catch(v){let R=jt(v,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(R)})}}function p(){let v=u();for(let R of [...n])R(v);}function f(v){return n.add(v),v(u()),r===void 0&&(r=e.subscribeEvents(R=>{lm.has(R.type)&&p();})),()=>{n.delete(v),n.size===0&&(r?.(),r=void 0);}}return {api:{list:c,getBackground:v=>e.getCompatibilityApi().getBackground(et(v,"conversations.getBackground")),setBackground:(v,R)=>e.getCompatibilityApi().setBackground(et(v,"conversations.setBackground"),R),resetBackground:v=>e.getCompatibilityApi().resetBackground(et(v,"conversations.resetBackground")),getDefaultBackground:()=>e.getCompatibilityApi().getDefaultBackground(),setDefaultBackground:v=>e.getCompatibilityApi().setDefaultBackground(v),resetDefaultBackground:()=>e.getCompatibilityApi().resetDefaultBackground(),listBackgroundPresets:v=>e.getCompatibilityApi().listBackgroundPresets(v),getSnapshot:u,subscribe:f,prefetchRecent:(v,R)=>e.getCompatibilityApi().prefetchRecent(v.map(I=>et(I,"conversations.prefetchRecent")),R),async refresh(){d="loading",s=void 0,p();try{await e.getCompatibilityApi().sync(),d=void 0,p();}catch(v){throw d="error",s=jt(v,"conversations.refresh",true),p(),s}},getTotalUnread(v){return c(),e.getCompatibilityApi().getTotalUnread(v)},setPinned(v,R){let I=et(v,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(I,R);}catch(k){throw jt(k,"conversations.setPinned",false,I)}},async setMuted(v,R){let I=et(v,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(I,R);}catch(k){throw jt(k,"conversations.setMuted",true,I)}},async markRead(v){let R=et(v,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(R);}catch(I){throw jt(I,"conversations.markRead",true,R)}},markUnread(v){let R=et(v,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(R);}catch(I){throw jt(I,"conversations.markUnread",false,R)}},deleteLocal(v){let R=et(v,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(R);}catch(I){throw jt(I,"conversations.deleteLocal",false,R)}}},dispose(){r?.(),r=void 0,n.clear();}}}var fm=128,gm=8,ym=64*1024*1024,Im=3,vm=8,hm=1440*60*1e3,Lr=10080*60*1e3,Cm=512*1024*1024,To=1024*1024;function bm(e){let n=0,r=false,d=[];function s(){if(!r)for(;n<e&&d.length>0;){d.sort((u,p)=>p.getPriority()-u.getPriority());let c=d.shift();if(c.signal.removeEventListener("abort",c.onAbort),c.signal.aborted){c.reject(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));continue}n+=1;let o=false;c.resolve(()=>{o||(o=true,n=Math.max(0,n-1),s());});}}return {acquire(c,o){return r?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((u,p)=>{let f={resolve:u,reject:p,signal:c,getPriority:o,onAbort:()=>{let C=d.indexOf(f);C>=0&&d.splice(C,1),p(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};c.addEventListener("abort",f.onAbort,{once:true}),d.push(f),s();})},dispose(){r=true;for(let c of d.splice(0))c.signal.removeEventListener("abort",c.onAbort),c.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E"));}}}function Qd(){return ba$1([{kind:"image",softMaxBytes:512*To,maxEntries:512,maxEntryBytes:30*To,maxIdleMs:Lr},{kind:"video",softMaxBytes:1792*To,maxEntries:64,maxEntryBytes:200*To,maxIdleMs:Lr}])}function Ea(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function Mm(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Ur(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Nr(e,n,r,d){let s=`${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(r)}`;return d===void 0?s:`${s}:${d}`}function Aa(e){let n=e.ref.conversationType,r=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||r.trim()==="")throw Ue({code:n==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_MEDIA_TASK_REF_INVALID",category:n==="supergroup"?"unsupported":"contract",operation:"media.tasks.project",retryable:false});let d=Ur({conversationType:n,conversationId:r});return Zd({id:Nr(e.direction,d,e.messageId),messageId:e.messageId,ref:d,direction:e.direction,state:e.state,percent:Ea(e.percent),...e.items===void 0?{}:{items:e.items},...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.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:Pm(e.failure,d)}})}function Ue(e){let n=oe(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function Xd(e){return e.recalled===void 0&&e.deletedForEveryone===void 0&&(e.status==="failed"||e.status==="uploading")&&!(e.failure?.displayCode==="media.cancelled"&&e.failure.retryable!==true)&&!(e.failure?.displayCode==="media.uploadTimeout"&&e.failure.retryable===false)}function Pm(e,n){if(e===void 0)return;let r=e.displayCode,s=r===void 0?void 0:{"media.empty":{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},"media.noCrypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"media.previewFailed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"media.encryptFailed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"media.uploadFailed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},"media.uploadTimeout":{code:"IM_SDK_MEDIA_UPLOAD_TIMEOUT",category:"network",retryable:true},"media.resumeUnavailable":{code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",retryable:true},"media.cleanupUnconfirmed":{code:"IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED",category:"state",retryable:true},"media.cancelled":{code:"IM_SDK_MEDIA_UPLOAD_CANCELED",category:"state",retryable:true},"media.invalidDuration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"media.uploadInterrupted":{code:"IM_SDK_MEDIA_UPLOAD_INTERRUPTED",category:"network",retryable:true}}[r];return Object.freeze(oe({...s??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},...e.retryable===false?{retryable:false}:{},operation:"media.upload",conversation:n}))}function Zd(e){return Object.freeze({...e,ref:Ur(e.ref),...e.items===void 0?{}:{items:Object.freeze(e.items.map(n=>Object.freeze({...n})))},...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function Do(e){let n=e?.conversation,r=n?.conversationType,d=n?.conversationId;if(r==="supergroup")throw Ue({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false});if(r!=="direct"&&r!=="group"&&r!=="channel"||typeof d!="string"||d.trim()===""||typeof e?.messageId!="string"||e.messageId.trim()==="")throw Ue({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return Ur({conversationType:r,conversationId:d})}function el(e){let n=true,r=e.now??Date.now,d=0,s=0,c=new Map,o=new Set,u=new Map,p=new Map,f=new Map,C=new Map,v=new Map,R=new Set,I=false,k=new Map,D=new Set,q=e.maxDownloadCheckpointBytes??Cm;function y(E){return Ue({code:"IM_SDK_MEDIA_DOWNLOAD_RESTART_REQUIRED",category:"state",operation:"media.download",retryable:true,conversation:E})}function S(E,z){k.delete(E),D.add(E);let Z=c.get(E);if(Z!==void 0){let B={...Z,recoveryReason:z,...Z.state==="failed"||Z.state==="canceled"?{error:y(Z.ref)}:{}};Z.state==="running"?ge(B):ye(B);}}function i(E,z,Z){k.delete(E),k.set(E,{url:z,state:Z}),D.delete(E);let B=[...k.values()].reduce((he,Re)=>he+Re.state.bytesDownloaded,0);for(;k.size>vm||B>q;){let he=k.entries().next().value;if(he===void 0)break;B-=he[1].state.bytesDownloaded,S(he[0],"download-checkpoint-limit");}}let a=bm(Im),g,P=e.maxCachedBlobs??gm,h=e.maxCachedBlobBytes??ym,x=0;function U(){if(!n||!e.isActive())throw Ue({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function W(){return Object.freeze([...c.values()])}function ce(){let E=W();for(let z of [...o])try{z(E);}catch(Z){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:Z}});}}function le(){I||!n||!e.isActive()||(I=true,queueMicrotask(()=>{if(I=false,!(!n||!e.isActive()))for(let E of [...R])try{E();}catch(z){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u7F13\u5B58\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:z}});}}));}function T(E){let z=f.get(E);z!==void 0&&(x-=z.size,f.delete(E),C.delete(E),v.delete(E),le());}function ae(){if(!n||!e.isActive())return;let E=r();for(let[z,Z]of k)!p.has(z)&&Z.idleSince!==void 0&&E-Z.idleSince>=hm&&S(z,"download-checkpoint-expired");for(let[z,Z]of C)!p.has(z)&&E-Z>=Lr&&T(z);le();}function pe(E,z){let Z=f.get(E);if(Z!==void 0){if(v.get(E)!==z||r()-C.get(E)>=Lr){T(E);return}return f.delete(E),f.set(E,Z),C.set(E,r()),Z}}function ve(){d+=1,f.clear(),C.clear(),v.clear(),le(),x=0;for(let E of [...k.keys()])S(E,"download-checkpoint-cleared");}function w(E){c.delete(E),u.delete(E),k.delete(E),D.delete(E),T(E);}function $$1(){for(;c.size>fm;){let E=[...c.values()].find(z=>z.state==="completed"||z.state==="failed"||z.state==="canceled");if(E===void 0)return;w(E.id);}}function ge(E){c.set(E.id,Zd(E)),$$1();}function ye(E){if(!n||!e.isActive())return;ge(E);let z=c.get(E.id);if(ce(),!n||!e.isActive()||z===void 0||c.get(E.id)!==z)return;let Z={id:z.id,messageId:z.messageId,ref:z.ref,direction:"download",state:z.state,percent:z.percent};e.emitter.emit({type:"media-task:updated",conversation:z.ref,task:Z});}function F(E,z,Z){if(T(E),!(z.size>h))for(f.set(E,z),v.set(E,Z),le(),C.set(E,r()),x+=z.size;f.size>P||x>h;){let B=f.keys().next().value;if(B===void 0)break;T(B);}}function Y(E,z=true){let Z=Do(E),B=e.domainState.getConversationMessage(Z,E.messageId);if(B===void 0)throw Ue({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:Z});let he,Re,Ne,He;if(B.contentType==="image")he=B.body.image,Re=e.loaders?.loadImage,He="image";else if(B.contentType==="video")he=B.body.video,Re=e.loaders?.loadVideo,He="video";else if(B.contentType==="voice")he=B.body.voice,Re=e.loaders?.loadVoice;else if(B.contentType==="file")he=B.body.file,Re=e.loaders?.loadFile,Ne=B.body.file?.mimeType;else if(B.contentType==="filesAlbum"){let Fe=E.itemIndex;if(he=Fe===void 0?void 0:B.body.filesAlbum?.items[Fe],he===void 0)throw Ue({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:Z});Re=e.loaders?.loadFile;}else if(B.contentType==="mediaAlbum"){let Fe=B.body.mediaAlbum?.items,De=E.itemIndex,ze=De===void 0||Fe===void 0?void 0:Fe[De];if(ze===void 0)throw Ue({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:Z});he=ze,Re=ze.kind==="video"?e.loaders?.loadVideo:e.loaders?.loadImage,He=ze.kind;}if(B.contentType!=="mediaAlbum"&&B.contentType!=="filesAlbum"&&E.itemIndex!==void 0)throw Ue({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:"media.download",retryable:false,conversation:Z});if(he===void 0)throw Ue({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:Z});if(z&&Re===void 0)throw Ue({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:Z});if(he.url.trim()===""||he.url.startsWith("blob:"))throw Ue({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:Z});return {ref:Z,messageId:B.id,...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex},...Ne===void 0?{}:{mimeType:Ne},...He===void 0?{}:{cacheKind:He,resourceVersion:ca$1(he.url,{conversation:Z,itemIndex:E.itemIndex})},...Re===void 0?{}:{load:Re},input:{url:he.url,...he.size===void 0?{}:{expectedBytes:he.size},...he.teaKey===void 0?{}:{teaKey:he.teaKey},...he.fileEncryptType===void 0?{}:{fileEncryptType:he.fileEncryptType}}}}function X(E){return Ue({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:E})}function ie(){return Ue({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function ue(E,z,Z=d){if(U(),Z!==d)return null;let B=Nr("download",E.ref,E.messageId,E.itemIndex),he=pe(B,E.resourceVersion);if(he!==void 0)return he;if(e.assetCache===void 0||E.cacheKind===void 0||E.resourceVersion===void 0)return null;let Re;try{Re=await e.assetCache.get({kind:E.cacheKind,messageId:E.messageId,resourceVersion:E.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:Re===null?"miss":"hit",kind:E.cacheKind,messageId:E.messageId,...Re===null?{}:{byteLength:Re.blob.size}});}catch(De){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:E.cacheKind,messageId:E.messageId,cause:De}),z)throw Ue({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:E.ref});return null}if(Re===null||(U(),Z!==d))return null;let Ne=Re.blob,He=Re.mimeType??E.mimeType??"",Fe=Ne.type===He?Ne:Ne.slice(0,Ne.size,He);return F(B,Fe,E.resourceVersion),Fe}function Te(E,z){ae();let Z=k.get(E);if(Z!==void 0&&Z.url!==z.input.url&&S(E,"download-object-changed"),D.has(E)){let B=y(z.ref),he=c.get(E);throw he!==void 0&&(he.state==="failed"||he.state==="canceled")&&ye({...he,error:B}),B}return Z?.state}function _e(E,z=false){let Z=d,B=Nr("download",E.ref,E.messageId,E.itemIndex),he=p.get(B);if(he!==void 0&&!he.controller.signal.aborted)return he.promise;if(!z){let ze=pe(B,E.resourceVersion);if(ze!==void 0)return ye({id:B,ref:Ur(E.ref),messageId:E.messageId,...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex},direction:"download",state:"completed",percent:100}),Promise.resolve(ze)}T(B);let Re=(()=>{let ze=Te(B,E);return ze===void 0?{percent:0}:{percent:Math.min(99,Math.round(ze.bytesDownloaded/ze.bytesTotal*100)),bytesTransferred:ze.bytesDownloaded,bytesTotal:ze.bytesTotal}})(),Ne=Ur(E.ref);u.set(B,Object.freeze({conversation:Ne,messageId:E.messageId,...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex}}));let He={id:B,messageId:E.messageId,ref:Ne,direction:"download",...E.itemIndex===void 0?{}:{itemIndex:E.itemIndex}},Fe=new AbortController,De=Promise.resolve().then(async()=>{let ze;try{if(!n||!e.isActive())throw ie();if(Fe.signal.aborted)throw X(Ne);if(ze=await a.acquire(Fe.signal,()=>g===B?1:0),!n||!e.isActive())throw ie();if(Fe.signal.aborted)throw X(Ne);if(ye({...He,...Re,state:"running"}),!n||!e.isActive())throw ie();if(Fe.signal.aborted)throw X(Ne);if(!z&&e.assetCache!==void 0&&E.cacheKind!==void 0&&E.resourceVersion!==void 0){let Ye=await ue(E,!1,Z);if(Ye!==null){if(Fe.signal.aborted)throw X(Ne);return k.delete(B),D.delete(B),ye({...c.get(B),...He,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),Ye}}let en=E.load;if(en===void 0)throw Ue({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:Ne});let Gn=Te(B,E);if(Re.bytesTransferred!==void 0&&(Gn===void 0||Z!==d))throw S(B,"download-checkpoint-cleared"),y(Ne);let _n=await en({...E.input,getPriority:()=>g===B?1:0,...Gn===void 0?{}:{resume:Gn},onResumable:Ye=>{!n||!e.isActive()||Z!==d||p.get(B)?.controller!==Fe||i(B,E.input.url,Ye);},onResumeInvalidated:()=>{!n||!e.isActive()||Z!==d||p.get(B)?.controller!==Fe||S(B,"download-checkpoint-invalid");},signal:Fe.signal,onTransferProgress:Ye=>{let Qe=c.get(B);!n||!e.isActive()||Fe.signal.aborted||p.get(B)?.controller!==Fe||Qe?.state!=="running"||ye({...Qe,state:"running",percent:Math.min(99,Ea(Ye.percent)),bytesTransferred:Ye.bytesTransferred,bytesTotal:Ye.bytesTotal,phase:Ye.bytesTotal>0&&Ye.bytesTransferred>=Ye.bytesTotal?"finalizing":"transferring"});},onProgress:Ye=>{let Qe=c.get(B);if(!n||!e.isActive()||Fe.signal.aborted||p.get(B)?.controller!==Fe||Qe?.state!=="running")return;let Wn=Math.min(99,Ea(Ye));Wn<=Qe.percent||ye({...Qe,state:"running",percent:Wn});}});if(!n||!e.isActive())throw ie();if(Fe.signal.aborted)throw X(Ne);let yt=_n instanceof Blob?void 0:_n,kn=yt===void 0?_n:new Blob([yt],E.mimeType===void 0?void 0:{type:E.mimeType});if(E.mimeType!==void 0&&kn.type!==E.mimeType&&(kn=kn.slice(0,kn.size,E.mimeType)),Z===d&&F(B,kn,E.resourceVersion),Z===d&&e.assetCache!==void 0&&E.cacheKind!==void 0&&E.resourceVersion!==void 0){let Ye=kn.size;e.assetCache.put({kind:E.cacheKind,messageId:E.messageId,resourceVersion:E.resourceVersion,blob:kn,...E.mimeType===void 0?{}:{mimeType:E.mimeType}}).then(Qe=>{le(),e.onAssetCacheEvent?.({operation:"put",outcome:Qe,kind:E.cacheKind,messageId:E.messageId,byteLength:Ye});}).catch(Qe=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:E.cacheKind,messageId:E.messageId,byteLength:Ye,cause:Qe});});}if(k.delete(B),D.delete(B),ye({...c.get(B),...He,state:"completed",percent:100,error:void 0,recoveryReason:void 0}),!n||!e.isActive())throw ie();return kn}catch(en){if(!n||!e.isActive())throw ie();if(Fe.signal.aborted||typeof en=="object"&&en!==null&&"code"in en&&en.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let _n=X(Ne);throw p.get(B)?.controller===Fe&&c.get(B)?.state!=="canceled"&&ye({...c.get(B),...He,state:"canceled",percent:c.get(B)?.percent??0,error:D.has(B)?y(Ne):_n}),_n}let Gn=D.has(B)?y(Ne):$(en)?Ue({code:"IM_SDK_CRYPTO_EXECUTION_FAILED",category:"state",operation:"crypto.execute",retryable:en.reason==="queue-full",conversation:Ne,details:{reason:en.reason}}):en instanceof Error&&en.name==="ImMediaTaskOperationError"?en:Ue({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:Ne});throw p.get(B)?.controller===Fe&&ye({...c.get(B),...He,state:"failed",percent:c.get(B)?.percent??0,error:Gn}),Gn}finally{if(ze?.(),p.get(B)?.controller===Fe){p.delete(B);let en=k.get(B);en!==void 0&&(en.idleSince=r());}}});return p.set(B,{controller:Fe,promise:De}),ye({...He,...Re,state:"queued"}),De}function xe(E){U();let z=Do(E);g=Nr("download",z,E.messageId,E.itemIndex);}function Oe(E){try{return U(),_e(Y(E))}catch(z){return Promise.reject(z)}}async function rn(E){U();let z=d,Z=E.map(De=>Y(De,false)),B=new Map,he=r(),Re=Z.map(De=>{let ze=Nr("download",De.ref,De.messageId,De.itemIndex);return f.has(ze)&&v.get(ze)===De.resourceVersion&&he-(C.get(ze)??0)<Lr});Z.forEach((De,ze)=>{if(Re[ze]||De.cacheKind===void 0||De.resourceVersion===void 0)return;let en={kind:De.cacheKind,messageId:De.messageId,resourceVersion:De.resourceVersion};B.set(JSON.stringify(en),en);});let Ne=[...B.values()],He=Ne.map(()=>false);if(Ne.length>0&&e.assetCache!==void 0){if(e.assetCache.hasMany===void 0)throw Ue({code:"IM_SDK_MEDIA_CACHE_PROBE_UNAVAILABLE",category:"contract",operation:"media.probeCached",retryable:false});try{if(He=await e.assetCache.hasMany(Ne),He.length!==Ne.length||He.some(De=>typeof De!="boolean"))throw new Error("\u5A92\u4F53\u7F13\u5B58\u67E5\u8BE2\u7ED3\u679C\u6570\u91CF\u6216\u7C7B\u578B\u4E0D\u7B26")}catch(De){throw U(),e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:Ne[0].kind,messageId:Ne[0].messageId,cause:De}),Ue({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.probeCached",retryable:true})}}if(U(),z!==d)throw Ue({code:"IM_SDK_MEDIA_CACHE_QUERY_STALE",category:"state",operation:"media.probeCached",retryable:true});let Fe=new Map(Ne.map((De,ze)=>[JSON.stringify(De),He[ze]]));return Object.freeze(Z.map((De,ze)=>Re[ze]||Fe.get(JSON.stringify({kind:De.cacheKind,messageId:De.messageId,resourceVersion:De.resourceVersion}))===true))}async function Ze(E){let z=Y(E,false);return z.cacheKind===void 0?null:await ue(z,true)}async function ln(E){if(U(),a$1(E.signal),e.preparePreview===void 0)throw Ue({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalPreview",retryable:false});let z;try{z=await e.preparePreview({operationId:`media.prepareLocalPreview:${++s}`,kind:E.kind,file:E.file,...E.kind==="video"&&E.includeDisplayPoster?{includeDisplayPoster:!0}:{},...E.signal===void 0?{}:{signal:E.signal}});}catch(B){if(E.signal?.aborted===true||B instanceof Error&&B.name==="AbortError")throw B;return e.onLocalPreviewError?.({kind:E.kind,byteLength:E.file.size,cause:B}),null}return U(),a$1(E.signal),!Number.isFinite(z.width)||!Number.isFinite(z.height)||z.width<=0||z.height<=0?(e.onLocalPreviewError?.({kind:E.kind,byteLength:E.file.size,cause:new Error(`\u9884\u89C8\u7AEF\u53E3\u8FD4\u56DE\u4E86\u4E0D\u53EF\u7528\u7684\u5C3A\u5BF8 ${z.width}\xD7${z.height}`)}),null):E.kind==="video"?{width:z.width,height:z.height,...z.duration===void 0?{}:{duration:z.duration},...z.posterData===void 0?{}:{posterData:z.posterData},...E.includeDisplayPoster&&z.displayPosterData?.byteLength?{displayPoster:new Blob([z.displayPosterData],{type:"image/jpeg"})}:{}}:{width:z.width,height:z.height}}async function re(E){if(U(),a$1(E.signal),e.prepareVideoPoster===void 0)throw Ue({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalVideoPoster",retryable:false});let z;try{z=await e.prepareVideoPoster({operationId:`media.prepareLocalVideoPoster:${++s}`,kind:"video",file:E.file,...E.signal===void 0?{}:{signal:E.signal}});}catch(Z){if(a$1(E.signal),Z instanceof Error&&Z.name==="AbortError")throw Z;return U(),e.onLocalPreviewError?.({kind:"video",byteLength:E.file.size,cause:Z}),null}return a$1(E.signal),U(),!Number.isFinite(z.width)||!Number.isFinite(z.height)||z.width<=0||z.height<=0||!z.posterData?.byteLength?(e.onLocalPreviewError?.({kind:"video",byteLength:E.file.size,cause:new Error("\u89C6\u9891\u5C01\u9762\u89E3\u7801\u6CA1\u6709\u8FD4\u56DE\u6709\u6548\u5C3A\u5BF8\u548C JPEG \u5B57\u8282")}),null):new Blob([z.posterData],{type:"image/jpeg"})}async function nt(E){if(U(),a$1(E.signal),e.prepareImageThumbnail===void 0)throw Ue({code:"IM_SDK_MEDIA_PREVIEW_UNAVAILABLE",category:"contract",operation:"media.prepareLocalImageThumbnail",retryable:false});try{let z=new Uint8Array(await E.file.slice(0,3).arrayBuffer());if(a$1(E.signal),U(),z[0]!==255||z[1]!==216||z[2]!==255)return E.file;let Z=E.file.type==="image/jpeg"?E.file:E.file.slice(0,E.file.size,"image/jpeg"),B=await e.prepareImageThumbnail({operationId:`media.prepareLocalImageThumbnail:${++s}`,kind:"image",file:Z,...E.signal===void 0?{}:{signal:E.signal}});if(a$1(E.signal),U(),!Number.isFinite(B.width)||!Number.isFinite(B.height)||B.width<=0||B.height<=0||!B.posterData?.byteLength)throw new Error("\u56FE\u7247\u7F29\u7565\u56FE\u89E3\u7801\u6CA1\u6709\u8FD4\u56DE\u6709\u6548\u5C3A\u5BF8\u548C JPEG \u5B57\u8282");return new Blob([B.posterData],{type:"image/jpeg"})}catch(z){if(a$1(E.signal),z instanceof Error&&z.name==="AbortError")throw z;return U(),e.onLocalPreviewError?.({kind:"image",byteLength:E.file.size,cause:z}),null}}function sn(E,z){U();let Z=c.get(E);if(Z===void 0)throw Ue({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:z,retryable:false});return Z}function fn(E,z){return Ue({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:z,retryable:false,conversation:E.ref,details:Object.freeze({state:E.state,direction:E.direction})})}let qn=e.emitter.subscribe(E=>{!n||E.type!=="media-task:updated"||E.task.direction!=="upload"||Mm(E.conversation,E.task.ref)&&(ge(Aa(E.task)),ce());});return {api:{async clearCache(){U(),e.connection.invalidateMediaAssetCacheWrites?.(),ve();try{await e.assetCache?.clear();}catch(E){throw U(),e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5A92\u4F53\u7F13\u5B58\u6E05\u7406\u5931\u8D25",cause:E}}),Ue({code:"IM_SDK_MEDIA_CACHE_CLEAR_FAILED",category:"state",operation:"media.clearCache",retryable:true})}U(),le();},getSnapshot(){return U(),W()},subscribe(E){return U(),o.add(E),()=>o.delete(E)},async cancel(E,z){let Z=sn(E,"media.cancel");if(Z.state!=="queued"&&Z.state!=="running"&&!(Z.direction==="upload"&&Z.state==="paused"))throw fn(Z,"media.cancel");if(Z.direction==="upload"){if(!(z===void 0?e.connection.cancelMediaUpload(Z.messageId):e.connection.cancelMediaUpload(Z.messageId,z)))throw Ue({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:Z.ref});return}let B=p.get(E);if(B===void 0)throw fn(Z,"media.cancel");B.controller.abort();let he=D.has(E)?y(Z.ref):X(Z.ref);ye({...Z,state:"canceled",error:he});},async pause(E){let z=sn(E,"media.pause");if(z.direction!=="upload"||z.state!=="queued"&&z.state!=="running")throw fn(z,"media.pause");if(!await e.connection.pauseMediaUpload?.(z.messageId))throw Ue({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.pause",retryable:false,conversation:z.ref});U();},async resume(E){let z=sn(E,"media.resume");if(z.direction!=="upload"||z.state!=="paused")throw fn(z,"media.resume");if(!e.connection.resumeMediaUpload?.(z.messageId))throw Ue({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.resume",retryable:false,conversation:z.ref})},async retry(E,z){let Z=sn(E,"media.retry");if(Z.state!=="failed"&&Z.state!=="canceled")throw fn(Z,"media.retry");if(Z.direction==="upload"){if(z?.restartDownload!==void 0)throw fn(Z,"media.retry");if((Z.error?.code==="IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED"||Z.error?.code==="IM_SDK_MEDIA_UPLOAD_CLEANUP_UNCONFIRMED")&&z?.restartUpload!==true)throw Ue({code:"IM_SDK_MEDIA_UPLOAD_RESTART_REQUIRED",category:"state",operation:"media.retry",retryable:true,conversation:Z.ref});if(!(z===void 0?e.connection.retryMediaUpload(Z.messageId):e.connection.retryMediaUpload(Z.messageId,z)))throw Ue({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:Z.ref});return}if(z?.restartUpload!==void 0)throw fn(Z,"media.retry");if(p.has(E)&&!p.get(E).controller.signal.aborted)throw Ue({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:Z.ref});let B=u.get(E);if(B===void 0)throw Ue({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});z?.restartDownload===true&&(k.delete(E),D.delete(E)),await _e(Y(B),true);},async getUploadRecovery(E){U();let z=Do(E);if(E.itemIndex!==void 0)return {available:false,reason:"unsupported"};let Z=E.messageId;if(e.recoveryPort===void 0)return {available:false,reason:"unavailable"};let B=e.domainState.getConversationMessage(z,Z);if(B===void 0)return {available:false,reason:"not-found"};if(!Xd(B))return {available:false,reason:"invalid-state"};try{let he=await e.recoveryPort.get(z,Z);U();let Re=e.domainState.getConversationMessage(z,Z);return Re===void 0?{available:!1,reason:"not-found"}:Xd(Re)?he===void 0?{available:!1,reason:"not-found"}:{available:!0,expiresAt:he.savedAt+1440*60*1e3}:{available:!1,reason:"invalid-state"}}catch(he){return U(),{available:false,reason:typeof he=="object"&&he!==null&&"reason"in he?String(he.reason):"storage"}}},async resumeUpload(E,z){U();let Z=Do(E);if(E.itemIndex!==void 0||e.connection.recoverMediaUpload===void 0)throw Ue({code:"IM_SDK_MEDIA_RECOVERY_UNAVAILABLE",category:"state",operation:"media.resumeUpload",retryable:false,conversation:Z});try{let B=await e.connection.recoverMediaUpload(Z,E.messageId,z.file);if(U(),!B.ok&&B.reason==="paused")throw Ue({code:"IM_SDK_MEDIA_PAUSED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:Z});if(!B.ok&&B.reason==="cancelled")throw Ue({code:"IM_SDK_MEDIA_CANCELLED",category:"state",operation:"media.resumeUpload",retryable:!1,conversation:Z});if(!B.ok)throw Ue({code:"IM_SDK_MEDIA_RECOVERY_UPLOAD_FAILED",category:"state",operation:"media.resumeUpload",retryable:!0,conversation:Z})}catch(B){if(U(),typeof B=="object"&&B!==null&&"code"in B&&typeof B.code=="string"&&B.code.startsWith("IM_SDK_"))throw B;let he=B instanceof Error&&B.message==="IM_MEDIA_RECOVERY_FILE_MISMATCH"?"IM_SDK_MEDIA_RECOVERY_FILE_MISMATCH":"IM_SDK_MEDIA_RECOVERY_FAILED";throw Ue({code:he,category:"state",operation:"media.resumeUpload",retryable:false,conversation:Z})}},download:Oe,prioritizeDownload:xe,probeCached:rn,subscribeCacheChanges(E){return U(),R.add(E),()=>R.delete(E)},getCached:Ze,prepareLocalPreview:ln,prepareLocalVideoPoster:re,prepareLocalImageThumbnail:nt},clearCache:ve,prune:ae,dispose(){if(n){n=false,d+=1,qn();for(let E of p.values())E.controller.abort();a.dispose(),g=void 0,p.clear(),o.clear(),R.clear(),v.clear(),c.clear(),u.clear(),f.clear(),C.clear(),k.clear(),D.clear(),x=0;}}}}var Sm={timeout:{code:"IM_SDK_OUTBOX_TIMEOUT",category:"network"},rejected:{code:"IM_SDK_OUTBOX_REJECTED",category:"state"},encrypt_failed:{code:"IM_SDK_OUTBOX_ENCRYPT_FAILED",category:"state"},network:{code:"IM_SDK_OUTBOX_NETWORK_FAILED",category:"network"},unsupported:{code:"IM_SDK_OUTBOX_UNSUPPORTED",category:"unsupported"},unknown:{code:"IM_SDK_OUTBOX_FAILED",category:"state"}},wm={"not-found":"IM_SDK_OUTBOX_NOT_FOUND","in-flight":"IM_SDK_OUTBOX_IN_FLIGHT","not-retryable":"IM_SDK_OUTBOX_NOT_RETRYABLE","invalid-state":"IM_SDK_OUTBOX_INVALID_STATE","delivery-uncertain":"IM_SDK_OUTBOX_DELIVERY_UNCERTAIN"};function nl(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Rm(e,n){let r=Sm[e.reason];return Object.freeze(oe({...r,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function Ta(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:Rm(e.failure,n)}})}function Em(e){let n=nl(e);return Ta({messageId:e.id,conversation:n,state:e.status==="pending"?"queued":e.status,...e.lastError===void 0?{}:{failure:{reason:e.lastError.reason,retryable:e.lastError.retryable}}})}function Am(e,n,r){let d=oe({code:wm[n],category:"state",operation:e,retryable:false,...r===void 0?{}:{conversation:r},details:Object.freeze({reason:n})});return Object.assign(new Error(d.code),d,{name:"ImOutboxOperationError"})}function tl(e){let n=true,r=new Set;function d(){if(!n||!e.isActive())throw new Error("Outbox facade \u5DF2\u968F\u8D26\u53F7 runtime teardown \u5931\u6548")}function s(){return d(),Object.freeze(e.operations.getPending().map(Em))}async function c(u,p){d();let f=e.operations.getPending().find(v=>v.id===p),C=u==="outbox.retry"?e.operations.retry(p):e.operations.cancel(p);if(!C.accepted)throw Am(u,C.reason,f===void 0?void 0:nl(f))}return {api:{getSnapshot:s,subscribe(u){d();let p=e.emitter.subscribe(C=>{C.type==="outbox:updated"&&n&&u(s());}),f=()=>{p(),r.delete(f);};return r.add(f),f},retry:u=>c("outbox.retry",u),cancel:u=>c("outbox.cancel",u)},dispose(){if(n){n=false;for(let u of [...r])u();}}}}function Tm(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function _o(e){return Object.freeze({type:"error",error:Object.freeze(oe(e))})}function Rn(e){throw oe(e)}function Ke(e,n,r){return (typeof e!="string"||e.trim()==="")&&Rn({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,...r===void 0?{}:{conversation:r},details:Object.freeze({field:n})}),e}function tn(e,n){let r=e,d=r?.conversationType,s=r?.conversationId;return d==="supergroup"&&Rn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:d,conversationId:typeof s=="string"?s:""},details:Object.freeze({eventType:n})}),(d!=="direct"&&d!=="group"&&d!=="channel"&&d!=="robot"||typeof s!="string"||s.trim()==="")&&Rn({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:d,conversationId:s})}function Dm(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Fr(e,n){let r=tn(e,n);return r.conversationType!=="direct"&&Rn({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:"direct",conversationId:r.conversationId})}function lr(e,n){let r=tn(e,n);return r.conversationType!=="group"&&Rn({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:"group",conversationId:r.conversationId})}function Ht(e,n,r){Dm(e,n)||Rn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:r})});}function _m(e){return Object.freeze({...e})}function km(e,n){return Ht(tn(e.ref,"draft:updated"),n,"draft:updated"),Object.freeze({ref:n,text:e.text,mentions:Object.freeze(e.mentions.map(r=>Object.freeze({...r}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function Om(e){let n=Ke(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let r=tn(e.conversation,"application:updated");r.conversationType!=="group"&&Rn({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r});let d=Object.freeze({conversationType:"group",conversationId:r.conversationId});return Object.freeze({domain:"group",applicationId:n,conversation:d})}if(e.domain==="channel"){let r=tn(e.conversation,"application:updated");r.conversationType!=="channel"&&Rn({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:r});let d=Object.freeze({conversationType:"channel",conversationId:r.conversationId});return Object.freeze({domain:"channel",applicationId:n,conversation:d})}return Rn({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function xm(e){return Object.freeze({ref:Om(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function Nm(e){let n={token_expired:{code:"IM_SDK_AUTH_TOKEN_EXPIRED",reason:"token-expired"},kicked:{code:"IM_SDK_AUTH_KICKED",reason:"kicked"},banned:{code:"IM_SDK_AUTH_BANNED",reason:"banned"},unknown:{code:"IM_SDK_AUTH_INVALID",reason:"unknown"}},r=e.lastLoginTime;return Object.freeze(r===void 0||!Number.isFinite(r)||r<=0?n[e.reason]:{...n[e.reason],lastLoginTime:r})}function Lm(e){return $(e.cause)?Object.freeze(oe({code:"IM_SDK_CRYPTO_EXECUTION_FAILED",category:"state",operation:"crypto.execute",retryable:false,details:Object.freeze({reason:e.cause.reason})})):Object.freeze(oe({...{transport:{code:"IM_SDK_TRANSPORT_ERROR",category:"network",retryable:true},protocol:{code:"IM_SDK_PROTOCOL_ERROR",category:"protocol",retryable:false},login:{code:"IM_SDK_AUTH_ERROR",category:"auth",retryable:false},sync:{code:"IM_SDK_SYNC_ERROR",category:"network",retryable:true},crypto:{code:"IM_SDK_CRYPTO_ERROR",category:"state",retryable:false},http:{code:"IM_SDK_HTTP_ERROR",category:"network",retryable:true},storage:{code:"IM_SDK_STORAGE_ERROR",category:"state",retryable:true},unknown:{code:"IM_SDK_INTERNAL_ERROR",category:"state",retryable:false}}[e.scope],operation:`core.${e.scope}`}))}function Um(e,n){if(Tm(e)){let{cause:r,...d}=e;return _o(d)}return _o({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function Fm(e,n){try{switch(e.type){case "conversation-context:updated":return null;case "connection:changed":return Object.freeze({type:e.type,snapshot:_m(n.getLifecycleSnapshot())});case "session:replaced":return Object.freeze({type:e.type});case "message:received":case "message:updated":{let r=tn(e.conversation,e.type);return Ht(tn({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),r,e.type),e.source!=="offline"&&e.source!=="live"&&Rn({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:r,details:Object.freeze({field:"source"})}),Object.freeze({type:e.type,ref:r,message:Object.freeze(sr(e.message)),source:e.source})}case "message:removed":{let r=tn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,messageId:Ke(e.messageId,"messageId",r),scope:"local-only"})}case "conversation-history:cleared":{let r=tn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,scope:"local-only"})}case "media:progress":{let r=tn(e.conversation,e.type),d=Number.isFinite(e.percent)?Math.max(0,Math.min(100,Math.round(e.percent))):0;return Object.freeze({type:e.type,ref:r,messageId:Ke(e.messageId,"messageId",r),percent:d})}case "media-task:updated":{let r=tn(e.conversation,e.type);Ht(tn(e.task.ref,e.type),r,e.type);let d=Aa(e.task);return Object.freeze({type:e.type,ref:r,task:d})}case "session:updated":{let r=tn(e.conversation,e.type);Ht(tn({conversationType:e.session.type,conversationId:e.session.id},e.type),r,e.type);let d=n.getConversation(r);return d===void 0&&Rn({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Ht(d.ref,r,e.type),Object.freeze({type:e.type,ref:r,conversation:d})}case "session:removed":{let r=tn(e.conversation,e.type);return e.conversationId!==r.conversationId&&Rn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:r})}case "pinned-message:updated":{let r=tn(e.conversation,e.type);r.conversationType!=="group"&&r.conversationType!=="channel"&&Rn({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:r}),e.pinnedMessage!==null&&Ht(tn({conversationType:e.pinnedMessage.conversationType,conversationId:e.pinnedMessage.conversationId},e.type),r,e.type);let d=Object.freeze({conversationType:r.conversationType,conversationId:r.conversationId});return Object.freeze({type:e.type,ref:d,messageId:e.pinnedMessage?.messageId??null})}case "profile:updated":{let r=Ke(e.id,"profile.id");return e.profileType==="user"?Object.freeze({type:e.type,profile:Object.freeze({profileType:"user",userId:r})}):Object.freeze({type:e.type,profile:Object.freeze({profileType:"group",ref:Object.freeze({conversationType:"group",conversationId:r})})})}case "channel-profile:updated":{let r=tn(e.conversation,e.type);return (r.conversationType!=="channel"||e.channelId!==r.conversationId)&&Rn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:r.conversationId})})}case "channel-join-application:received":{let r=tn(e.conversation,e.type);return (r.conversationType!=="channel"||e.notification.channelId!==r.conversationId)&&Rn({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:r.conversationId})})}case "contact-application:received":return Object.freeze({type:e.type,applicantId:Ke(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?Rn({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:Ke(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let r=tn(e.conversation,e.type);return (e.conversationId!==r.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&Rn({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:r}),Object.freeze({type:e.type,ref:r,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===!0?1:0,...e.manuallyUnread===!0?{manuallyUnread:!0}:{}})}case "draft:updated":{let r=tn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,draft:km(e.draft,r)})}case "draft:cleared":{let r=tn(e.conversation,e.type);return Object.freeze({type:e.type,ref:r})}case "outbox:updated":{let r=tn(e.conversation,e.type);return Ht(tn(e.item.conversation,e.type),r,e.type),Object.freeze({type:e.type,ref:r,item:Ta(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:Ke(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:xm(e.application)});case "session-favorites:changed":return Object.freeze({type:e.type});case "receiving:changed":return Object.freeze({type:e.type,receiving:e.receiving});case "syncing:changed":return Object.freeze({type:e.type,syncing:e.syncing});case "sync:complete":return Object.freeze({type:e.type,conversations:Object.freeze(e.conversations.map(r=>tn(r,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...Nm(e.issue)});case "error":return Object.freeze({type:e.type,error:Lm(e.error)});case "call:incoming":{let r=Fr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ke(e.callId,"callId",r),peerId:Ke(e.peerId,"peerId",r),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let r=Fr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ke(e.callId,"callId",r),peerId:Ke(e.peerId,"peerId",r),result:e.result})}case "call:hangup":{let r=Fr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ke(e.callId,"callId",r),peerId:Ke(e.peerId,"peerId",r),outcome:e.outcome})}case "call:peer-audio-begin":case "call:peer-video-begin":{let r=Fr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ke(e.callId,"callId",r),peerId:Ke(e.peerId,"peerId",r)})}case "call:failed":{let r=Fr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ke(e.callId,"callId",r),peerId:Ke(e.peerId,"peerId",r),reason:e.reason})}case "group-call:incoming":{let r=lr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ke(e.callId,"callId",r),groupId:Ke(e.groupId,"groupId",r),inviterId:Ke(e.inviterId,"inviterId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Ke(d,"inviteId",r))),createdAt:e.createdAt,expired:e.expired===!0})}case "group-call:answered":{let r=lr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ke(e.callId,"callId",r),groupId:Ke(e.groupId,"groupId",r),userId:Ke(e.userId,"userId",r),agreed:e.agreed===!0})}case "group-call:joined":{let r=lr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ke(e.callId,"callId",r),groupId:Ke(e.groupId,"groupId",r),userId:Ke(e.userId,"userId",r),inviteIds:Object.freeze(e.inviteIds.map(d=>Ke(d,"inviteId",r))),isInvite:e.isInvite===!0})}case "group-call:left":case "group-call:finished":{let r=lr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ke(e.callId,"callId",r),groupId:Ke(e.groupId,"groupId",r),userId:Ke(e.userId,"userId",r)})}case "group-call:busy":{let r=lr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ke(e.callId,"callId",r),groupId:Ke(e.groupId,"groupId",r),userId:Ke(e.userId,"userId",r),hintUserId:Ke(e.hintUserId,"hintUserId",r)})}case "group-call:failed":{let r=lr(e.conversation,e.type);return Object.freeze({type:e.type,ref:r,callId:Ke(e.callId,"callId",r),groupId:Ke(e.groupId,"groupId",r),reason:e.reason})}case "notification":return null}}catch(r){return Um(r,e)}}function Km(e){let{type:n,...r}=e;return Object.freeze(r)}function Bm(e){if(e.type!=="message:received"||e.message.conversationType!=="group"||e.message.contentType!=="system"||e.message.body.system?.eventType!=="group_activated")return null;let n=tn(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function rl(e){let n=new WeakMap;function r(s,c){let o=n.get(s);if(o!==void 0)return o;let u=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:c,messageId:s.notification.messageId}));return n.set(s,u),u}function d(s){let c=true,o=e.subscribeCore(u=>{if(u.type==="contact-application:answered"&&u.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){s(_o({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let C=Ke(u.notification.responderId,"contactApplicationAnswer.responderId");r(u,C).then(v=>{if(!c||v===null)return;let R=Object.freeze({type:"contact-application:answered",peerId:C,result:v});s(R);}).catch(()=>{c&&s(_o({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let p=Fm(u,e);p!==null&&s(p);let f=Bm(u);f!==null&&s(Object.freeze({type:"group:activated",...f}));});return ()=>{c=false,o();}}return {subscribe:s=>d(s),on:(s,c)=>d(o=>{o.type===s&&c(Km(o));})}}function Pt(e){let n=oe({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.accountScope===void 0?{}:{details:Object.freeze({accountScope:e.accountScope})},...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImLocalDataOperationError"})}function ol(e){function n(r){let d=e.getAccountId().trim();if(!e.isActive()||d==="")throw Pt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:r,retryable:false});return d}return {async getInfo(){let r=n("localData.getInfo");return Object.freeze({hostPrefix:e.namespaceFactory.hostPrefix,accountScope:r})},async clearRebuildableCaches(){let r=n("localData.clearRebuildableCaches");if(e.storage!==void 0&&e.storage.clearRebuildableCaches===void 0)throw Pt({code:"IM_SDK_LOCAL_DATA_CLEAR_UNAVAILABLE",category:"contract",operation:"localData.clearRebuildableCaches",retryable:false,accountScope:r});try{e.clearMemoryCaches(),await e.storage?.clearRebuildableCaches?.();}catch(d){throw Pt({code:"IM_SDK_LOCAL_DATA_CLEAR_FAILED",category:"state",operation:"localData.clearRebuildableCaches",retryable:true,accountScope:r,cause:d})}e.emitter.emit({type:"local-data:cleared",accountScope:r,category:"rebuildable"});}}}function al(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function Kr(e,n,r,d){return oe({code:"IM_SDK_PROFILE_ID_MISMATCH",category:"contract",operation:e,retryable:false,...d===void 0?{}:{conversation:d},details:Object.freeze({expectedId:n,actualId:r})})}function il(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function sl(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function cl(e,n){if(n.id!==e)throw Kr("contacts.getProfile",e,n.id);let r=n.remark?.trim(),d=n.nickname;return Object.freeze({userId:e,displayName:r===void 0||r===""?d||e:n.remark,nickname:d,...n.remark===void 0?{}:{remark:n.remark},...n.avatar===void 0?{}:{avatar:n.avatar},...n.signature===void 0?{}:{signature:n.signature},...n.miCallId===void 0?{}:{miCallId:n.miCallId},...n.birthday===void 0?{}:{birthday:n.birthday},...n.age===void 0?{}:{age:n.age},...n.remarkEmail===void 0?{}:{remarkEmails:Object.freeze([...n.remarkEmail])},...n.remarkPhones===void 0?{}:{remarkPhones:Object.freeze(n.remarkPhones.map(s=>Object.freeze({countryCode:s.countryCode,mobile:s.mobile})))}})}function dl(e,n){if(n.id!==e.conversationId)throw Kr("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:il(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 Gm(e){return Object.freeze({sendMessages:e.sendMessages,...e.mentionAll===void 0?{}:{mentionAll:e.mentionAll},...e.editProfile===void 0?{}:{editProfile:e.editProfile},...e.manageMembers===void 0?{}:{manageMembers:e.manageMembers},...e.manageAdmins===void 0?{}:{manageAdmins:e.manageAdmins},...e.moderateMessages===void 0?{}:{moderateMessages:e.moderateMessages},...e.manageMute===void 0?{}:{manageMute:e.manageMute},...e.dismissChannel===void 0?{}:{dismissChannel:e.dismissChannel},...e.transferOwnership===void 0?{}:{transferOwnership:e.transferOwnership}})}function ll(e,n){if(n.id!==e.conversationId)throw Kr("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:sl(e),name:n.name,...n.avatar===void 0?{}:{avatar:n.avatar},...n.description===void 0?{}:{description:n.description},...n.announcement===void 0?{}:{announcement:n.announcement},...n.ownerId===void 0?{}:{ownerId:n.ownerId},...n.memberCount===void 0?{}:{memberCount:n.memberCount},...n.verifyType===void 0?{}:{verifyType:n.verifyType},...n.inviteCode===void 0?{}:{inviteCode:n.inviteCode},role:n.role,permissions:Gm(n.permissions),state:n.channelState,...n.allMembersMuted===void 0?{}:{allMembersMuted:n.allMembersMuted},...n.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:n.memberPrivateChatDisabled},...n.miniProgramRels===void 0?{}:{miniProgramRels:Object.freeze(n.miniProgramRels.map(r=>Object.freeze({...r})))}})}function ul(e){return e.state==="ready"?Object.freeze({state:"ready",message:Mo(e.message)}):Object.freeze({state:"partial",...e.senderId===void 0?{}:{senderId:e.senderId},...e.createdAt===void 0?{}:{createdAt:e.createdAt},...e.previewText===void 0?{}:{previewText:e.previewText},reason:e.reason})}function ko(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw Kr("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:il(e),messageId:n.messageId,preview:ul(n.preview)})}function Oo(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw Kr("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:sl(e),messageId:n.messageId,preview:ul(n.preview)})}function jm(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Hm(e){switch(e){case "forbidden":return "permission";case "network":return "network";case "contract":return "contract";case "unsupported":return "unsupported";case "invalid-input":return "validation";default:return "state"}}function zm(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function Da(e,n,r){return jm(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&zm(e)?oe({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:Hm(e.kind),operation:n,retryable:e.retryable===true,...r===void 0?{}:{conversation:r},cause:e}):oe({code:n.endsWith(".getProfile")?"IM_SDK_PROFILE_READ_FAILED":"IM_SDK_PROFILE_OPERATION_FAILED",category:"state",operation:n,retryable:false,...r===void 0?{}:{conversation:r},cause:e})}var pl=new WeakMap;function _a(e,n){pl.set(e,n);}function ml(e){let n=pl.get(e);if(n===void 0)throw new Error("advanced message diagnostics \u53EA\u80FD\u7ED1\u5B9A\u7531 SDK \u5DE5\u5382\u521B\u5EFA\u7684 client");return n()}var Vm="IM_SDK_CHANNEL_NOT_MEMBER",qm="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",Wm="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",$m="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function Jm(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Ym(e,n,r){if(Jm(e))return e;let d$1=e instanceof e$1?e.businessCode:void 0,s=e instanceof pa?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":d$1===40542?Vm:d$1===40527?qm:d$1===40547?Wm:e instanceof e$1?$m:e instanceof d?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(s===void 0)return;let c=e instanceof pa?"contract":e instanceof d?"network":d$1===40527?"permission":"state",o=oe({code:s,category:c,operation:n,retryable:e instanceof d,conversation:{conversationType:"channel",conversationId:r},...d$1===void 0?{}:{details:Object.freeze({businessCode:d$1})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u793E\u7FA4\u7BA1\u7406\u5931\u8D25"),o)}async function bn(e,n,r){try{return await r()}catch(d){throw Ym(d,e,n)??d}}var Xm={pinMessage:()=>Promise.reject(new je({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new je({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new je({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new je({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function fl(e){let n=new Map,r=new Map,d=true,s=I=>({conversationType:"channel",conversationId:I}),c=I=>{r.set(I,(r.get(I)??0)+1);};function o(I,k=true){let D=k?v("get",I):e.coreClient;if(D===void 0)return Promise.reject(new je({operation:"get",kind:"unavailable",message:"\u7F6E\u9876\u67E5\u8BE2\u672A\u914D\u7F6E coreClient"}));if(!d)return Promise.reject(new DOMException("\u7F6E\u9876\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E","AbortError"));let q=r.get(I)??0,y=n.get(I);if(y?.version===q)return y.task;let S=()=>d&&(r.get(I)??0)===q&&e.domainState.getConversationContext(s(I))?.type==="channel",i=()=>e.domainState.getPinnedMessage(s(I))??null,a=(async()=>{let P=await ga({client:D,channelId:I});if(!S())return i();if(!P.ok)throw bt("get",P.code,P.message);if(P.data===null)return e.domainState.clearPinnedMessage(s(I),"reconcile"),null;let h=E(P.data.messageContent,{conversationId:I}),x=await Po(h,e.fetchMessagesById);return S()?x===null?(e.domainState.clearPinnedMessage(s(I),"reconcile"),e.onSourceUnavailable?.(h),null):(e.domainState.setPinnedMessage(x,"reconcile"),i()):i()})();n.set(I,{version:q,task:a});let g=()=>{n.get(I)?.task===a&&n.delete(I);};return a.then(g,g),a}function u(I){if(!d)return;let k=r.get(I)??0;n.get(I)?.version!==k&&o(I,false).catch(D=>{!d||(r.get(I)??0)!==k||e.emitter.emit({type:"error",error:{scope:"http",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:D}});});}let p=db$1({domainState:e.domainState,emitter:e.emitter,requestReconcile:u}),f=e.emitter.subscribe(I=>{if(I.type==="session:removed"&&I.conversation.conversationType==="channel"){c(I.conversation.conversationId);return}if(I.type!=="message:received"&&I.type!=="message:updated")return;let k=I.message;if(k.conversationType!=="channel")return;let D=k.body.system?.pinnedMessageAction;D!==void 0&&I.source!=="live"&&I.channelLifecycleEffects!==true||((D?.type==="pin"||D?.type==="unpin")&&c(k.conversationId),p.handleMessage(k));});function C(I,k){if(k.trim()==="")throw new je({operation:I,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let D=e.domainState.getConversationContext(s(k));if(D===void 0)throw new je({operation:I,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(D.type!=="channel")throw new je({operation:I,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function v(I,k){if(e.coreClient===void 0)throw new je({operation:I,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return C(I,k),e.coreClient}return {operations:{pinMessage:async({channelId:I,messageId:k})=>{let D=v("pin",I),q=e.domainState.getConversationMessage(s(I),k);if(q===void 0)throw new je({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(q.conversationType!=="channel")throw new je({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(q.conversationId!==I)throw new je({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:y,pinnedMessage:S}=F(q),i=await va$1({client:D,channelId:I,messageContent:y});if(!i.ok)throw bt("pin",i.code,i.message);c(I),e.domainState.setPinnedMessage(S,"http:pin");let a=e.domainState.getPinnedMessage(s(I));if(a===void 0)throw new je({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return a}catch(y){throw Mt("pin",y)}},unpinMessage:async I=>{let k=v("unpin",I);try{let D=await Ua$1({client:k,channelId:I});if(!D.ok)throw bt("unpin",D.code,D.message);c(I),e.domainState.clearPinnedMessage(s(I),"http:unpin");}catch(D){throw Mt("unpin",D)}},getPinnedMessage:async I=>{try{return await o(I)}catch(k){throw Mt("get",k)}},peekPinnedMessage:I=>(C("get",I),e.domainState.getPinnedMessage(s(I))??null)},dispose:()=>{d&&(d=false,f());}}}async function St(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var Qm={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:St,prefetchFirstPage:St,refreshFirstPage:St,listFirstPage:St,listNextPage:St,searchFirstPage:St,refreshSearchFirstPage:St,searchNextPage:St},Zm=new Set(["unknown_restricted","left","removed","dismissed"]);function pn(e){return Zm.has(e)}function gl(e){let n=true;function r(){if(!n)throw new Error("CHANNEL \u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function d(){if(!n)throw new Error("CHANNEL \u5165\u7FA4\u7533\u8BF7\u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function s(){if(d(),e.joinApplications===void 0)throw new Error("CHANNEL \u7533\u8BF7\u5BA1\u6838\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelJoinApplications");return e.joinApplications}function c(C){let v=C.trim();if(v==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return v}async function o(C){let R=await s().listJoinApplications({limit:C?.limit??20,...C?.cursor===void 0?{}:{cursor:C.cursor}});return d(),R}async function u(C,v){d();let R=c(C),I=s();await(v==="accept"?I.acceptJoinApplication(R):I.ignoreJoinApplication(R)),d();}async function p(C,v,R,I,k){r(),a$1(k);let D=await T({signal:k,http:e.http,userId:R,clientType:e.clientType,channelId:C,index:v,containAnchor:I,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:q=>e.prepareKey(q,k)},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return r(),a$1(k),D}async function f(C,v,R,I){let k=await p(C,v,R,true,I),D=k.messages.find(q=>q.extensions?.historyCursor===v);if(D===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${C}, index=${v}\uFF09`);return {context:k,message:D}}return {applications:{listJoinApplications:o,acceptJoinApplication:C=>u(C,"accept"),ignoreJoinApplication:C=>u(C,"ignore")},loadMessageContext:f,loadNewerPage:(C,v,R,I)=>p(C,v,R,false,I),dispose:()=>{n=false;}}}function yl(e){async function n(s,c,o){let u=new Map(c.filter(G).sort((f,C)=>f.sortKey.localeCompare(C.sortKey)).map(f=>[f.id,f]));if(u.size===0)return;let p=await e.authProvider.getLoginContext();if(p===null){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${s}\uFF09\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587`}});return}for(;u.size>0;){let f=u.values().next().value;u.delete(f.id);let C=f.extensions?.historyCursor;if(typeof C!="string"||C.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${s}, messageId=${f.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let v=e.getHistoryGeneration(),R=e.getHistoryEpoch(s);try{let{context:I,message:k}=await e.loadMessageContext(s,C,p.userId);if(!e.isActive()||v!==e.getHistoryGeneration()||R!==e.getHistoryEpoch(s))return;if(k.id!==f.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${C}, expected=${f.id}, actual=${k.id}\uFF09`);if(k.contentType!=="system"||G(k))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${C}, messageId=${f.id}\uFF09`);let D=I.messages.filter(q=>q.id===f.id||u.has(q.id));if(D.some(q=>q.contentType!=="system"||G(q)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${C}\uFF09`);e.domainState.upsertMessages(D,"offline",{backfillOnly:!0}),o.applyIncoming(D.flatMap(q=>{let y=e.domainState.getConversationMessage(q,q.id);return y===void 0?[]:[y]}));for(let q of D)u.delete(q.id);}catch(I){if(!e.isActive())return;e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${s}, messageId=${f.id}\uFF09`,cause:I}});}}}function r(s,c){return s?.conversationType===c.conversationType&&s.conversationId===c.conversationId}async function d(s,c=e.domainState.messageWindow){if(s.stale||!s.messages.some(G))return s;let o=c.info().conversation;if(o===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${s.conversationId}\uFF09`);let u=e.domainState.getConversationContext(o);if(u?.type!=="channel"||u.channelState!==void 0&&pn(u.channelState))return s;let p=c.getRevision();if(await n(o.conversationId,s.messages,c),c.getRevision()!==p||!r(c.info().conversation,o))return {...s,stale:true};let f=new Map(c.list().map(C=>[C.id,C]));return {...s,messages:s.messages.map(C=>f.get(C.id)??C)}}return {reconcilePage:d}}function Il(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))};function r(y,S,i,a){let P=oe({code:y,category:y==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":y==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:y==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...i===void 0?{}:{details:i},...a===void 0?{}:{cause:a}});return Object.assign(new Error(S),P)}function d$1(y){let S=y.name.trim();if(S==="")throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(S.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let i=y.memberIds;if(!Array.isArray(i))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let a=i.map(P=>typeof P=="string"?P.trim():"");if(a.includes(""))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let g=[...new Set(a)];if(g.length>40)throw r("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:S,memberIds:g}}function s(){if(e.crypto===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u6D88\u606F\u5BC6\u94A5\u751F\u6210\u80FD\u529B");let y=e.crypto.randomTeaKey();if(!(y instanceof Uint8Array)||y.length!==16)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let S="";for(let i of y)S+=String.fromCharCode(i);return globalThis.btoa(S)}function c(y,S){let i=y.trim();if(i==="")throw new Error(`${S}\u4E0D\u80FD\u4E3A\u7A7A`);return i}function o(y){let S=y.trim();if(S==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...S].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return S}function u(y){let S=y.trim();if(S==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...S].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return S}async function p(y){let S=(await e.getSelfUserId?.()??"").trim();return S!==""&&S===y.trim()}function f(){if(e.coreClient===void 0)throw new Error("\u793E\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function C(y,S,i){if(y!==1&&y!==2&&y!==4){let g=oe({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:i}});throw Object.assign(new Error("\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),g)}if(y!==4)return {verifyType:y};let a=S?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(a)){let g=oe({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:i}});throw Object.assign(new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),g)}return {verifyType:y,inviteCode:a}}function v(y){if(!Array.isArray(y))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(y.map(S=>c(S,"\u793E\u7FA4\u6210\u5458 id")))]}function R$1(y){e.emitter?.emit({type:"channel-profile:updated",channelId:y,conversation:{conversationType:"channel",conversationId:y}});}function I$1(y){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(y).catch(S=>{e.emitter?.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u89D2\u8272\u53D8\u66F4\u540E\u7684\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:{conversationId:y,error:S}}});});}function k(y){if(y===void 0)return;let S=typeof y=="number"?y:Number(y);return Number.isSafeInteger(S)?S:void 0}function D(y){if(typeof y=="boolean")return y;if(y===1||y==="1"||y==="true")return true;if(y===0||y==="0"||y==="false")return false}function q(y){if(y===null||typeof y!="object"||y===void 0)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let S=y.id??y.radio_id;if(typeof S!="string"&&typeof S!="number"||String(S).trim()==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let i=y.name?.trim()??"";if(i==="")throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let a=String(S),g=k(y.total_users),P=k(y.status),h=k(y.verify_way),x=k(y.update_version),U=D(y.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:a}),name:i,...y.head_img_url?.trim()===""||y.head_img_url===void 0?{}:{avatar:y.head_img_url},...y.user_id===void 0?{}:{ownerId:String(y.user_id)},...g===void 0?{}:{memberCount:g},...P===void 0?{}:{status:P},...U===void 0?{}:{isInChannel:U},...h===void 0?{}:{verifyWay:h},...x===void 0?{}:{updateVersion:x},...y.invite_code===void 0?{}:{inviteCode:y.invite_code}}}return {...n,mentions:e.mentionCandidates??Qm,uploadAvatar:async y=>{if(e.avatarTransfer===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return cr(e.avatarTransfer,y)},create:async y=>{if(e.coreClient===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState?.prepareConversation===void 0)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let S=d$1(y),i=s();try{let a=await ca({client:e.coreClient,name:S.name,memberIds:S.memberIds,secretKey:i,...y.avatarUrl===void 0?{}:{avatarUrl:y.avatarUrl}});if(!a.ok){let h=a.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw r(h,a.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:a.code,message:a.message}))}let g=q(a.data);e.cacheCreatedSecretKey?.(g.ref.conversationId,i);let P=g.status===3?"dismissed":g.status===void 0||g.status===2?"active":"unknown_restricted";return e.domainState.prepareConversation({id:g.ref.conversationId,type:"channel",title:g.name,...g.avatar===void 0?{}:{avatar:g.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:P,channelPermissions:Va$1("owner",P)}),Object.freeze({channel:g})}catch(a){throw a!==void 0&&typeof a=="object"&&a!==null&&"code"in a&&String(a.code).startsWith("IM_SDK_")?a:a instanceof d?r("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",a.message,void 0,a):r("IM_SDK_CHANNEL_CREATE_FAILED","\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",void 0,a)}},listProfiles:y=>e.channelProfile?.listProfiles(y)??Promise.resolve([]),getProfile:(y,S)=>e.channelProfile?.getProfile(y,S)??Promise.resolve(null),listMembers:y=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listMembers({channelId:y.channelId,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),prefetchMembers:y=>e.channelMembers?.prefetchMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.prefetchMembers(y),getCachedMembers:y=>e.channelMembers?.getCachedMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getCachedMembers(y),refreshMembers:y=>e.channelMembers?.refreshMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.refreshMembers(y),searchMembers:y=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.searchMembers({channelId:y.channelId,query:y.query,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),listMentionMembers:y=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.listMentionMembers({channelId:y.channelId,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),searchMentionMembers:y=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.searchMentionMembers({channelId:y.channelId,query:y.query,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),listAdmins:y=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listAdmins({channelId:y.channelId,limit:y.limit??18,...y.cursor===void 0?{}:{cursor:y.cursor}}),getMembersByIds:(y,S,i)=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getMembersByIds(y,S,i),updateName:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id"),g=c(S,"\u793E\u7FA4\u540D\u79F0");await bn("channels.updateName",a,()=>G$1({client:i,channelId:a,name:g})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:a},{title:g}),R$1(a);},updateDescription:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id"),g=u(S);await bn("channels.updateDescription",a,()=>G$1({client:i,channelId:a,description:g})),R$1(a);},updateAvatar:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u793E\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");let g=await bn("channels.updateAvatar",a,()=>cr(e.avatarTransfer,S));return await bn("channels.updateAvatar",a,()=>G$1({client:i,channelId:a,avatarUrl:g})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:a},{avatar:g}),R$1(a),g},setMyNickname:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id"),g=o(S);await bn("channels.setMyNickname",a,()=>H$1({client:i,channelId:a,nickname:g})),R$1(a);},setMemberNickname:async(y,S,i)=>{let a=f(),g=c(y,"\u793E\u7FA4 id"),P=c(S,"\u793E\u7FA4\u6210\u5458 id");if(await p(P))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let h=o(i);await bn("channels.setMemberNickname",g,()=>I({client:a,channelId:g,userId:P,nickname:h})),R$1(g);},updateVerification:async(y,S,i)=>{let a=f(),g=c(y,"\u793E\u7FA4 id"),P=C(S,i,g);await bn("channels.updateVerification",g,()=>P$1({client:a,channelId:g,verifyType:P.verifyType,...P.inviteCode===void 0?{}:{inviteCode:P.inviteCode}})),R$1(g);},requestJoin:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id"),g=S?.remarks?.trim();return bn("channels.requestJoin",a,()=>sa$1({client:i,channelId:a,...g===void 0?{}:{remarks:g}}))},joinByInviteCode:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id"),g=S.trim();if(!/^\d{6}$/.test(g))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return bn("channels.joinByInviteCode",a,()=>ta({client:i,channelId:a,inviteCode:g}))},setAllMuted:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id");await bn("channels.setAllMuted",a,()=>Q({client:i,channelId:a,muted:S})),e.domainState?.refreshConversationProfile?.(a,"channel"),R$1(a);},setMemberPrivateChatDisabled:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id");await bn("channels.setMemberPrivateChatDisabled",a,()=>R({client:i,channelId:a,disabled:S})),e.domainState?.refreshConversationProfile?.(a,"channel"),R$1(a);},inviteMembers:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id"),g=v(S);if(g.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await bn("channels.inviteMembers",a,()=>J({client:i,channelId:a,userIds:g})),R$1(a);},removeMember:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id"),g=c(S,"\u5F85\u79FB\u9664\u6210\u5458 id");await bn("channels.removeMember",a,()=>K({client:i,channelId:a,userId:g})),R$1(a);},addAdmin:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id"),g=c(S,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await bn("channels.addAdmin",a,()=>L$1({client:i,channelId:a,userId:g})),I$1(a),R$1(a);},removeAdmin:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id"),g=c(S,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await bn("channels.removeAdmin",a,()=>M$1({client:i,channelId:a,userId:g})),I$1(a),R$1(a);},transferOwnership:async(y,S)=>{let i=f(),a=c(y,"\u793E\u7FA4 id"),g=c(S,"\u65B0\u793E\u7FA4\u4E3B id");await bn("channels.transferOwnership",a,()=>N$1({client:i,channelId:a,userId:g})),I$1(a),e.domainState?.refreshConversationProfile?.(a,"channel"),R$1(a);},leave:async(y,S)=>{let i=f();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let a=c(y,"\u793E\u7FA4 id"),g=S?.newOwnerId===void 0?void 0:c(S.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await bn("channels.leave",a,()=>O$1({client:i,channelId:a,...g===void 0?{}:{newOwnerId:g}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:a},"channel_left"),R$1(a);},dismiss:async y=>{let S$1=f();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u89E3\u6563\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let i=c(y,"\u793E\u7FA4 id");await bn("channels.dismiss",i,()=>S({client:S$1,channelId:i})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:i},"channel_dismissed"),R$1(i);},...e.applications,...e.pinned??Xm}}function ef(e){let r=oe({...{"hidden-contact":{code:"IM_SDK_CONTACT_HIDDEN_RELATION",category:"state",retryable:false},"own-friend-limit":{code:"IM_SDK_CONTACT_OWN_FRIEND_LIMIT_REACHED",category:"state",retryable:false},"target-friend-limit":{code:"IM_SDK_CONTACT_TARGET_FRIEND_LIMIT_REACHED",category:"state",retryable:false},remote:{code:"IM_SDK_CONTACT_FRIENDSHIP_REQUEST_FAILED",category:"network",retryable:true}}[e.kind],operation:"contacts.requestFriendship",cause:e});return Object.assign(new Error(r.code),r)}function nf(e){let n=e.responseCode===Z,s=oe({code:n?"IM_SDK_CONTACT_SEARCH_NO_MATCH":"IM_SDK_CONTACT_SEARCH_FAILED",category:n?"state":"network",operation:"contacts.searchUser",retryable:!n,cause:e});return Object.assign(new Error(s.code),s)}function tf(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function vl(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},r=new Map,d=new Map,s=new Map,c=new Map,o=0,u=false,p=5e3;function f(i,a,g){if(u)return "unknown";if(g!==void 0&&r.get(i)!==g)return d.get(i)??"unknown";let P=d.get(i);return d.set(i,a),s.set(i,Date.now()),P!==a&&e.onRelationshipChanged?.(i,a),a}function C(i,a){if(u)return;let g=R(i,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");r.set(g,++o),f(g,a);}function v(i){if(e.coreClient===void 0)throw new Error(`${i}\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09`);return e.coreClient}function R(i,a){let g=i.trim();if(g==="")throw new Error(`${a}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return g}function I(i,a){e.profile!==void 0&&e.profile.getUserProfile(i,{forceRefresh:true}).catch(g=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${a}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:g}});});}async function k$1(i,a){if(e.coreClient===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(i===""||a.name===void 0&&a.email===void 0&&a.phones===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\uFF1A\u9700\u63D0\u4F9B userId \u4E14\u81F3\u5C11\u4E00\u9879\uFF08\u5907\u6CE8\u540D / \u5907\u6CE8\u90AE\u7BB1 / \u5907\u6CE8\u624B\u673A\u53F7\uFF09");await Ra$1({client:e.coreClient,userId:i,...a.name===void 0?{}:{name:a.name},...a.email===void 0?{}:{email:a.email},...a.phones===void 0?{}:{phones:a.phones.map(g=>({countryCode:g.countryCode,mobile:g.mobile}))}}),e.domainState.refreshConversationProfile(i,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:i});}function D(i){switch(i){case 0:return "pending";case 1:return "friend";case 2:return "blocked";case 5:return "friend";case 3:case 4:return "none";default:return "unknown"}}async function q(i,a){if(u)throw new Error("\u8054\u7CFB\u4EBA\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u67E5\u8BE2\u5173\u7CFB");if(e.coreClient===void 0)throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let g=i.trim();if(g==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let P=c.get(g);if(a&&P!==void 0)return P;let h$1=++o;r.set(g,h$1);let x=h(e.coreClient,{userId:g}).then(U=>f(g,D(U?.friend_status),h$1)).finally(()=>{c.get(g)===x&&c.delete(g);});return c.set(g,x),x}function y(i){return q(i,true)}async function S(i,a){let g=R(i,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),P;try{P=await q(g,!1);}catch(h){return u||e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u4E14\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25",cause:{peerId:g,error:h}}}),null}if(u)return null;if(P==="unknown")return e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u670D\u52A1\u7AEF\u8054\u7CFB\u4EBA\u5173\u7CFB\u4ECD\u672A\u77E5",cause:{peerId:g}}}),null;if(P!=="friend")return "rejected";C(g,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(g,a,Date.now());}catch(h){return u||e.emitter.emit({type:"error",error:{scope:"storage",message:"\u8054\u7CFB\u4EBA\u5173\u7CFB\u5DF2\u786E\u8BA4\uFF0C\u4F46\u672C\u5730\u7CFB\u7EDF\u63D0\u793A\u534F\u8C03\u5931\u8D25",cause:{peerId:g,error:h}}}),null}return u?null:(e.domainState.refreshConversationProfile(g,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:g}),I(g,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(i,a)=>e.profile?.getUserProfile(i,a)??Promise.resolve(null),peekProfile:i=>e.profile?.peekUserProfile?.(i)??Promise.resolve(null),setRemark:k$1,searchUser:i=>e.coreClient===void 0?Promise.reject(new Error("\u641C\u7D22\u7528\u6237\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09")):_(e.coreClient,{query:i}).catch(a=>{throw a instanceof X?nf(a):a}).then(a=>{if(a===null)return null;let g=D(a.friendStatus);return C(a.userId,g),Object.freeze({userId:a.userId,displayName:a.nickname||a.miCallId||a.username||a.userId,nickname:a.nickname,relationship:g,...a.avatarUrl===void 0?{}:{avatarUrl:a.avatarUrl},...a.username===void 0?{}:{username:a.username},...a.miCallId===void 0?{}:{miCallId:a.miCallId},...a.signature===void 0?{}:{signature:a.signature}})}),getRelationship:y,requestFriendship:async(i,a)=>{if(e.coreClient===void 0)throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let g=R(i,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),P;try{P=await $$1(e.coreClient,{userId:g,message:a.message,...a.remark===void 0?{}:{remark:a.remark}});}catch(x){throw x instanceof Y?ef(x):x}let h=tf(P.status);return C(g,h==="sent"?"pending":"friend"),h==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(g,k(),Date.now()),e.domainState.refreshConversationProfile(g,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:g}),I(g,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:h,...P.message===void 0?{}:{message:P.message}})},blockUser:async i=>{let a=R(i,"\u52A0\u5165\u9ED1\u540D\u5355");await W(v("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:a,blocked:true}),C(a,"blocked"),e.terminateConversationSending?.({conversationType:"direct",conversationId:a},"contact_blocked"),e.domainState.removeConversation({conversationType:"direct",conversationId:a}),e.emitter.emit({type:"profile:updated",profileType:"user",id:a}),I(a,"\u52A0\u5165\u9ED1\u540D\u5355");},listBlocked:async()=>{let i=await V(v("\u8BFB\u53D6\u9ED1\u540D\u5355"));return Object.freeze(i.map(a=>Object.freeze({userId:a.userId,displayName:a.displayName,nickname:a.nickname,...a.remark===void 0?{}:{remark:a.remark},...a.avatarUrl===void 0?{}:{avatarUrl:a.avatarUrl}})))},unblockUser:async i=>{let a=R(i,"\u79FB\u51FA\u9ED1\u540D\u5355");await W(v("\u79FB\u51FA\u9ED1\u540D\u5355"),{userId:a,blocked:false}),C(a,"unknown"),q(a,false).catch(g=>{e.emitter.emit({type:"error",error:{scope:"http",message:"\u79FB\u51FA\u9ED1\u540D\u5355\u540E\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\u5931\u8D25",cause:g}});}),e.emitter.emit({type:"profile:updated",profileType:"user",id:a}),I(a,"\u79FB\u51FA\u9ED1\u540D\u5355");},reportUser:async(i,a)=>{let g=R(i,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),P=a.trim();if(P==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let h=e.getSelfId?.().trim()??"";if(h==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await ba$2(v("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:h,targetUserId:g,problem:P});},deleteFriendship:async i=>{if(e.coreClient===void 0)throw new Error("\u5220\u9664\u597D\u53CB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let a=i.trim();if(a==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await aa$1(e.coreClient,{userId:a}),C(a,"none"),e.terminateConversationSending?.({conversationType:"direct",conversationId:a},"friendship_deleted"),e.domainState.removeConversation({conversationType:"direct",conversationId:a});try{await e.resetDirectReadReceiptPreference?.(a);}catch(g){e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u597D\u53CB\u540E\u91CD\u7F6E\u5355\u804A\u5DF2\u8BFB\u56DE\u6267\u504F\u597D\u5931\u8D25",cause:g}});}I(a,"\u5220\u9664\u597D\u53CB");},peekRelationship:i=>d.get(i.trim()),ensureRelationship(i){let a=R(i,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),g=s.get(a);return g!==void 0&&Date.now()-g<p?Promise.resolve(d.get(a)??"unknown"):y(a)},updateRelationshipFromEvent:C,resolveApplicationAnswer:S,dispose:()=>{u=true,o+=1,r.clear(),d.clear(),s.clear(),c.clear();}}}function hl(e){return (n,r)=>{if(typeof n!="string"){if(n.conversationType==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return n}let d=e().filter(c=>c.id===n);if(d.length===0)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u96F6\u547D\u4E2D\uFF08conversationId=${n}\uFF09`);if(d.length>1)throw new Error(`${r}\uFF1A\u65E7\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF08conversationId=${n}\uFF09`);let s=d[0];if(s.type==="supergroup")throw new Error(`${r}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:s.type,conversationId:s.id}}}function Cl(e){return {...e.operations,getTotalUnread:n=>e.domainState.getTotalUnread(n),setPinned:(n,r)=>e.domainState.setPinned(e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u7F6E\u9876"),r),setMuted:async(n,r)=>{let d=e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u514D\u6253\u6270");if(e.coreClient===void 0)throw new Error("\u4F1A\u8BDD\u514D\u6253\u6270\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let s=e.domainState.getConversationContext(d);if(s===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${d.conversationType}, conversationId=${d.conversationId}\uFF09`);await Qa({client:e.coreClient,conversationType:s.type,targetId:s.id,muted:r}),e.domainState.setMuted(d,r);},markConversationRead:async n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),d=e.domainState.getSession(r);if(d===void 0)return;if(d.unreadCount===0&&d.manuallyUnread===true){e.domainState.clearConversationManualUnread(r);return}if(d.unreadCount===0&&(d.type!=="channel"||(d.mentionUnreadCount??0)===0))return;if(d.type!=="robot"&&e.settleConversationRead!==void 0){await e.settleConversationRead(r);return}let s=e.domainState.getMessagesByConversation(r),c=s.at(-1)?.id??d.readCursor??"";if(d.type==="direct"||d.type==="robot"){c!==""&&e.domainState.advanceRead(r,c),e.domainState.clearConversationManualUnread(r);return}if(d.type==="group"){let o=await e.authProvider.getLoginContext();if(o===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await oa({http:e.http,userId:o.userId,groupId:r.conversationId}),e.domainState.applyServerUnread(r,0,c===""?void 0:c),e.domainState.clearConversationManualUnread(r);return}if(d.type==="channel"){let o=jb$1(s);if(o===void 0)throw new Error(`CHANNEL \u6807\u8BB0\u5DF2\u8BFB\u7F3A\u5C11\u6700\u65B0\u53EF\u4FE1 historyCursor\uFF08channelId=${r.conversationId}\uFF09`);await e.markChannelRead(r.conversationId,o),e.domainState.clearConversationManualUnread(r);return}throw new Error(`\u6807\u8BB0\u5DF2\u8BFB\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${d.type}`)},markConversationUnread:n=>{let r=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u672A\u8BFB");e.domainState.markConversationUnread(r);},deleteConversation:n=>{let r=e.resolveInput(n,"\u5220\u9664\u4F1A\u8BDD");e.beforeDeleteConversation?.(r),e.terminateConversationSending?.(r,"conversation_deleted"),e.domainState.removeConversation(r),e.resetConversationBackground?.(r).catch(d=>e.reportStorageError?.("\u5220\u9664\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",d));}}}function Ml(e){let n=0;function r(o){if(a$1(o),!e.isActive()){let u=new Error("Media calculation belongs to an inactive account");throw u.name="AbortError",u}}async function d(o,u){r(u);let p=await e.executor.decryptTea({operationId:`media-tea:${++n}`,generation:e.generation,priority:"background",input:o,...u===void 0?{}:{signal:u}});if(r(u),p.byteLength!==o.cipherData.byteLength)throw new _$1("protocol-mismatch");return p}async function s(o,u){r(u);let p=new Uint8Array(o.cipherData.byteLength),f=0;do{r(u);let C=Math.min(f+262144,o.cipherData.byteLength),v=await d({teaKey:o.teaKey,cipherData:o.cipherData.subarray(f,C)},u);r(u),p.set(v,f),f=C;}while(f<o.cipherData.byteLength);return r(u),p}async function c(o,u,p){return r(p),Pl(u,async f=>(r(p),d({teaKey:o,cipherData:f},p)),()=>r(p))}return {assertCurrent:r,decrypt:s,decryptBlob:c}}async function Pl(e,n,r){let d=[],s=0;do{r();let c=Math.min(s+262144,e.size),o=new Uint8Array(await e.slice(s,c).arrayBuffer());r();let u=await n(o);if(r(),u.byteLength!==o.byteLength)throw new _$1("protocol-mismatch");d.push(new Blob([u])),s=c;}while(s<e.size);return new Blob(d)}function Sl(e){let n=0;return async r=>{function d(){if(a$1(r.signal),!e.isActive())throw Object.assign(new Error("Media calculation belongs to an inactive account"),{name:"AbortError"})}return Pl(r.plain,s=>e.executor.encryptTea({operationId:`media-upload-tea:${++n}`,generation:e.generation,priority:"background",input:{teaKey:r.teaKey,plain:s},...r.signal===void 0?{}:{signal:r.signal}}),d)}}var Oa=1,rf=3;function xa(e){return typeof Blob<"u"&&e instanceof Blob}async function wl(e){return xa(e)?new Uint8Array(await e.arrayBuffer()):e}function Rl(e){let n=Ml(e.mediaCrypto);async function r(w){return e.connection.sendText(w)}async function d(w){return e.connection.sendContact(w)}async function s(w){return e.connection.forwardMessages(w)}async function c(w){return e.connection.recallMessage(w)}async function o(w){return e.connection.editMessage(w)}async function u(w){return e.connection.sendImage(w)}async function p(w){return e.connection.sendVideo(w)}async function f(w){return e.connection.sendVoice(w)}async function C(w){return e.connection.sendFile(w)}async function v(w){return e.connection.sendMediaAlbum(w)}async function R(w){return e.connection.sendGif(w)}async function I(w){return e.connection.sendExpression(w)}async function k(w){return e.connection.sendGame(w)}async function D(w){return e.connection.sendMiniProgram(w)}async function q(w){return e.connection.sendTransfer(w)}async function y(w){return e.connection.sendGift(w)}async function S(w){return e.connection.sendLiveRoom(w)}async function i(w,$){return e.connection.replaceInterruptedVideo(w,$)}async function a(w,$){return e.connection.replaceInterruptedFile(w,$)}function g(w){e.connection.cancelMedia(w);}function P(w,$){return {url:w.url,...w.getPriority===void 0?{}:{getPriority:w.getPriority},...w.expectedBytes===void 0?{}:{expectedBytes:w.expectedBytes},...w.onProgress===void 0&&w.onTransferProgress===void 0?{}:{onProgress:ge=>{w.onTransferProgress?.(ge),w.onProgress?.(ge.percent);}},...w.signal!==void 0?{signal:w.signal}:{},...w.resume===void 0?{}:{resume:w.resume},...w.onResumable===void 0?{}:{onResumable:w.onResumable},...w.onResumeInvalidated===void 0?{}:{onResumeInvalidated:w.onResumeInvalidated},...$?{preferBlob:true}:{}}}async function h(w){if(n.assertCurrent(w.signal),e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let $=await e.mediaTransfer.download(P(w,false));n.assertCurrent(w.signal);let ge=await wl($);return n.assertCurrent(w.signal),w.teaKey!==void 0&&w.teaKey.length>0&&w.fileEncryptType!==Oa?n.decrypt({teaKey:w.teaKey,cipherData:ge},w.signal):ge}async function x(w){if(n.assertCurrent(w.signal),e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let $=await e.mediaTransfer.download(P(w,true));if(n.assertCurrent(w.signal),w.teaKey===void 0||w.teaKey.length===0||w.fileEncryptType===Oa)return $;let ge=w.teaKey;return xa($)?n.decryptBlob(ge,$,w.signal):n.decrypt({teaKey:ge,cipherData:$},w.signal)}async function U(w){if(e.mediaTransfer===void 0)throw new Error("\u6587\u4EF6\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");if(w.fileEncryptType===rf)return x(w);let $=await e.mediaTransfer.download(P(w,true));if(w.teaKey===void 0||w.teaKey.length===0||w.fileEncryptType===Oa)return $;let ye=w.teaKey;if(!xa($))return e.crypto.decryptFileSimple({teaKey:ye,cipherData:$});if($.size<=32){let X=e.crypto.decryptFileSimple({teaKey:ye,cipherData:await wl($)});return new Blob([X],{type:$.type})}let F=new Uint8Array(await $.slice(0,32).arrayBuffer()),Y=e.crypto.decryptFileSimple({teaKey:ye,cipherData:F});return new Blob([Y,$.slice(32)],{type:$.type})}function W(w){e.connection.retryMessage(w);}function ce(w,$){let ge={conversationType:"channel",conversationId:w},ye=e.domainState.getLoadedMessagesByConversation(ge),Y=e.domainState.getConversationMessage(ge,$)??ye.find(ie=>ib$1(ie)===$),X=ib$1(Y);if(Y===void 0||typeof X!="string"||X.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${w}, input=${$}\uFF09`);return Y.id}async function le(w){let $=w.conversationType??e.domainState.getSession(w.conversationId)?.type;if($==="channel"){let ge=ce(w.conversationId,w.readCursor);await e.connection.markRead(w.conversationId,ge,"channel");return}await e.connection.markRead(w.conversationId,w.readCursor,w.conversationType),$==="direct"&&await e.prepareDirectReadReceipt?.(w.conversationId);}function T(w){if(w.conversationType!=="direct"&&w.conversationType!=="group"&&w.conversationType!=="channel")throw new Error(`\u4F1A\u8BDD\u5DF2\u8BFB\u672A\u652F\u6301\u7C7B\u578B\uFF1A${w.conversationType}`)}async function ae(w,$){T(w);let ge={...w};if($===void 0){let Y=e.domainState.getSession(ge);if((Y?.unreadCount??0)>0||(Y?.mentionUnreadCount??0)>0){if(ge.conversationType!=="group")throw new Error(`${ge.conversationType==="channel"?"CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor":"\u4F1A\u8BDD\u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1\u6700\u65B0\u6D88\u606F\u4F4D\u7F6E"}\uFF08conversationId=${ge.conversationId}\uFF09`);if(e.settleEmptyGroupRead===void 0)throw new Error("GROUP \u65E0\u6B63\u6587\u6574\u4F1A\u8BDD\u5DF2\u8BFB\u5C1A\u672A\u88C5\u914D");await e.settleEmptyGroupRead({conversationType:"group",conversationId:ge.conversationId});}e.domainState.clearConversationManualUnread?.(ge);return}let ye=e.connection.settleConversationRead;if(ye===void 0)throw new Error("\u4F1A\u8BDD\u5DF2\u8BFB\u7ED3\u7B97\u5C1A\u672A\u88C5\u914D");let F=ge.conversationType==="channel"?ce(ge.conversationId,$):$;await ye(ge,F),e.domainState.clearConversationManualUnread?.(ge);}async function pe(w,$){if(T(w),w.conversationType!=="direct"||$.length===0)return;let ge=e.connection.reportVisibleMessages;if(ge===void 0)throw new Error("\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u5C1A\u672A\u88C5\u914D");ge(w,$),await e.prepareDirectReadReceipt?.(w.conversationId);}async function ve(w,$){e.connection.reportDirectMediaConsumed?.(w,$),await e.prepareDirectReadReceipt?.(w);}return {operations:{sendText:r,sendContact:d,forwardMessages:s,recallMessage:c,editMessage:o,sendImage:u,sendVideo:p,sendVoice:f,sendFile:C,sendGif:R,sendMediaAlbum:v,sendExpression:I,sendGame:k,sendMiniProgram:D,sendTransfer:q,sendGift:y,sendLiveRoom:S,replaceInterruptedVideo:i,replaceInterruptedFile:a,cancelMediaUpload:g,loadImage:h,loadVideo:x,loadVoice:h,loadFile:U,retry:W,markRead:le,markConversationRead:ae,markVisibleMessages:pe,markDirectMediaConsumed:ve}}}function El(e){return {...e.operations,get state(){return e.getState()}}}var of=50,af=1e3,Dn={ALREADY_CONTACT:40101,CONTACT_PERMISSION_DENIED:40109,CONTACT_LIMIT_REACHED:40121,PEER_CONTACT_LIMIT_REACHED:40122,ALREADY_GROUP_MEMBER:40508,LEGACY_ALREADY_GROUP_MEMBER:39016,GROUP_MEMBER_LIMIT_REACHED:40506,LEGACY_GROUP_MEMBER_LIMIT_REACHED:39057,GROUP_DISBANDED:40610,GROUP_PERMISSION_DENIED:40501,REQUEST_ALREADY_HANDLED:40108,OPERATION_FAILED:1017,GROUP_OPERATION_FAILED:39014,GROUP_APPLICATION_UNAVAILABLE_40521:40521,GROUP_APPLICATION_UNAVAILABLE_40612:40612,GROUP_APPLICATION_UNAVAILABLE_40617:40617};function mn(e){let n=oe({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImApplicationOperationError"})}function sf(e,n){switch(e){case Dn.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case Dn.CONTACT_PERMISSION_DENIED:case Dn.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case Dn.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case Dn.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case Dn.ALREADY_GROUP_MEMBER:case Dn.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case Dn.GROUP_MEMBER_LIMIT_REACHED:case Dn.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case Dn.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case Dn.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case Dn.OPERATION_FAILED:case Dn.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case Dn.GROUP_APPLICATION_UNAVAILABLE_40521:case Dn.GROUP_APPLICATION_UNAVAILABLE_40612:case Dn.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function cf(e){if(e instanceof k$1||e instanceof r)return e.code}function df(e){return e instanceof l$1||e instanceof s?{category:"contract",retryable:false}:e instanceof d?{category:"network",retryable:true}:{category:"state",retryable:false}}function Al(e,n,r){let d=cf(r),s=sf(d,e),c=df(r);return mn({code:s,category:c.category,operation:n,retryable:c.retryable,cause:r})}function Tl(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function Ln(e,n){if(typeof e!="string"&&typeof e!="number")throw mn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u7F3A\u5931`)});let r=String(e).trim();if(r==="")throw mn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return r}function Na(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw mn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("createdAt \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570\u6BEB\u79D2\u65F6\u95F4\u6233")});return e}}function zt(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({...e.conversation})}):Object.freeze({domain:"channel",applicationId:e.applicationId,conversation:Object.freeze({...e.conversation})})}function lf(e,n,r="pending"){return Object.freeze({ref:zt(e),...n===void 0?{}:{createdAt:n},state:r})}function uf(e){let n=Na(e.createdAt),r=wt(e.applicantAvatar,"contact.applicantAvatar"),d=wt(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:zt({domain:"contact",applicationId:Ln(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:Ln(e.applicantId,"contact.applicantId"),name:Ln(e.applicantName,"contact.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),message:La(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function pf(e){if(e.kind!=="request"&&e.kind!=="invite")throw mn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=Na(e.createdAt),r=wt(e.actor.avatarUrl,"group.actor.avatarUrl"),d=wt(e.actor.displayId,"group.actor.displayId"),s=wt(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:zt({domain:"group",applicationId:Ln(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:Ln(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:Ln(e.actor.id,"group.actor.id"),name:Ln(e.actor.name,"group.actor.name"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:Ln(e.target.id,"group.target.id"),name:Ln(e.target.name,"group.target.name"),...s===void 0?{}:{avatarUrl:s}}),message:La(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function wt(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw mn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u975E\u6587\u672C`)});let r=String(e).trim();return r===""?void 0:r}function La(e,n){if(typeof e!="string"&&typeof e!="number")throw mn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u975E\u6587\u672C`)});return String(e).trim()}function mf(e){let n=Na(e.createdAt),r=wt(e.applicantAvatar,"channel.applicantAvatar"),d=wt(e.applicantDisplayId,"channel.applicantDisplayId"),s=wt(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:zt({domain:"channel",applicationId:Ln(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:Ln(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:Ln(e.applicantId,"channel.applicantId"),name:Ln(e.applicantName,"channel.applicantName"),...r===void 0?{}:{avatarUrl:r},...d===void 0?{}:{displayId:d}}),target:Object.freeze({id:Ln(e.channelId,"channel.channelId"),name:Ln(e.channelName,"channel.channelName"),...s===void 0?{}:{avatarUrl:s}}),message:La(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Br(e){return `${e.domain}:${e.applicationId}`}function Dl(e){let n=false,r=0,d=0,s=new Map,c=new Map,o=new Map;function u(I,k){if(n||!e.isActive()||k!==void 0&&r!==k)throw mn({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:I,retryable:false})}function p(I){if(u(I),e.contact===void 0||e.group===void 0||e.channel===void 0)throw mn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:I,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function f(I,k){let D=[],q=new Set,y;for(let S=0;S<af;S+=1){let i=await k({limit:of,...y===void 0?{}:{cursor:y}});if(!Array.isArray(i.items)||typeof i.exhausted!="boolean")throw mn({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:I,retryable:false});if(D.push(...i.items),i.exhausted)return D;let a=typeof i.nextCursor=="string"?i.nextCursor.trim():"";if(a===""||q.has(a))throw mn({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:I,retryable:false});q.add(a),y=a;}throw mn({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:I,retryable:false})}async function C(){let I="applications.listPending",k=p(I),D=r,q=++d;try{let[y,S,i]=await Promise.all([f(I,h=>k.contact.listPendingApplications(h)),f(I,h=>k.group.listPendingApplications(h)),f(I,h=>k.channel.listJoinApplications(h))]);u(I,D);let a=[...y.map(uf),...S.map(pf),...i.map(mf)],g=new Map;for(let h of a){let x=Br(h.ref);if(c.has(x))continue;let U=g.get(x);if(U!==void 0&&JSON.stringify(U.ref)!==JSON.stringify(h.ref))throw mn({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:I,retryable:!1});(U===void 0||(h.createdAt??0)>(U.createdAt??0))&&g.set(x,h);}let P=[...g.values()].sort((h,x)=>{let U=(x.createdAt??0)-(h.createdAt??0);return U!==0?U:Br(h.ref).localeCompare(Br(x.ref))});if(q===d){s.clear();for(let h of P)s.set(Br(h.ref),h);}return Object.freeze(P)}catch(y){throw Tl(y)?y:(u(I,D),Al("IM_SDK_APPLICATION_LIST_FAILED",I,y))}}function v(I,k){if(u(k),I===null||typeof I!="object")throw mn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:k,retryable:false});let D=typeof I?.applicationId=="string"?I.applicationId.trim():"";if(D==="")throw mn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:k,retryable:false});if(I.domain==="contact")return zt({domain:"contact",applicationId:D});let q=typeof I.conversation?.conversationId=="string"?I.conversation.conversationId.trim():"";if(I.domain==="group"&&I.conversation?.conversationType==="group"&&q!=="")return zt({domain:"group",applicationId:D,conversation:{conversationType:"group",conversationId:q}});if(I.domain==="channel"&&I.conversation?.conversationType==="channel"&&q!=="")return zt({domain:"channel",applicationId:D,conversation:{conversationType:"channel",conversationId:q}});throw mn({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:k,retryable:false})}function R(I,k){let D=k==="accepted"?"applications.accept":"applications.ignore",q=v(I,D),y=Br(q),S=c.get(y);if(S===k)return Promise.resolve();if(S!==void 0)return Promise.reject(mn({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:D,retryable:false}));let i=o.get(y);if(i!==void 0)return i.state===k?i.promise:Promise.reject(mn({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:D,retryable:true}));let a=r,g=Promise.resolve().then(async()=>{try{let h;if(q.domain==="contact"){if(e.contact===void 0)throw mn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:D,retryable:!1});h=k==="accepted"?e.contact.acceptApplication(q.applicationId):e.contact.ignoreApplication(q.applicationId);}else if(q.domain==="group"){if(e.group===void 0)throw mn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:D,retryable:!1});h=k==="accepted"?e.group.acceptApplication(q.applicationId):e.group.ignoreApplication(q.applicationId);}else {if(e.channel===void 0)throw mn({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:D,retryable:!1});h=k==="accepted"?e.channel.acceptJoinApplication(q.applicationId):e.channel.ignoreJoinApplication(q.applicationId);}if(await h,u(D,a),k==="accepted"&&q.domain==="contact"){let U=s.get(y);U?.kind==="contact-request"&&await e.onContactAccepted?.(U.applicant.id,q.applicationId);}c.set(y,k);let x=lf(q,s.get(y)?.createdAt,k);s.delete(y),e.emitter.emit({type:"application:updated",application:x});}catch(h){throw Tl(h)?h:(u(D,a),Al("IM_SDK_APPLICATION_ACTION_FAILED",D,h))}}),P=()=>{o.get(y)?.promise===g&&o.delete(y);};return o.set(y,{state:k,promise:g}),g.then(P,P),g}return {api:{listPending:C,accept:async I=>R(I,"accepted"),ignore:async I=>R(I,"ignored")},dispose(){n||(n=true,r+=1,s.clear(),c.clear(),o.clear());}}}function Vt(e,n,r){try{r();}catch(d){let s=d instanceof Error?d.message:String(d);throw s.includes("\u672A\u9274\u6743")?oe({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):s.includes("\u53EA\u5B9E\u73B0")||s.includes("\u5F53\u524D\u901A\u8BDD\u4E0D\u662F")?oe({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):s.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?oe({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):s.includes("\u6CA1\u6709\u5339\u914D")||s.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?oe({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d}):oe({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:d})}}function _l(e){return {invite(n){let r={conversationType:"direct",conversationId:n.peerId},d;return Vt("calls.invite",r,()=>{d=e.invite({peerId:n.peerId,callId:n.callId,callKind:n.callKind??"audio"});}),d},accept(n){Vt("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){Vt("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){Vt("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){Vt("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){Vt("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));},notifyPeerVideoBegin(n){Vt("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerVideoBegin(n));}}}var Ua=18,ff=12,gf=300*1e3,yf=64,kl=Object.freeze([]),If=0;function vf(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Ol(e){let n=e.now??(()=>Date.now()),r=e.cacheTtlMs??gf,d=e.maxCacheEntries??yf;if(!Number.isFinite(r)||r<=0)throw new Error("CHANNEL @\u5019\u9009 cacheTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(d)||d<=0)throw new Error("CHANNEL @\u5019\u9009 maxCacheEntries \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let s=++If,c=new Map,o=new Map,u=new Map,p=new Map,f=new Map,C=new Map,v=new Map,R=new Set,I=0,k=true,D=F=>p.get(F)??0;function q(){if(!k)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function y(F){if(F.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let Y=F.conversationId.trim();if(Y==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return Y}function S(F){let Y=c.get(F);c.delete(F),Y?.page.nextPageToken!==void 0&&u.delete(Y.page.nextPageToken);}function i(F,Y){let X=c.get(F);return X===void 0?null:X.generation!==Y||X.expiresAt<=n()?(S(F),null):(c.delete(F),c.set(F,X),X.page)}function a(F,Y){for(S(F),c.set(F,Y);c.size>d;){let X=c.keys().next().value;if(typeof X!="string")break;S(X);}}function g(F){let Y=[],X=new Map;for(let ie of F){let ue=ie.userId.trim();if(ue==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");X.has(ue)||Y.push(ue);let Te=ie.displayName.trim()||ue,_e=ie.avatar?.trim();X.set(ue,Object.freeze({userId:ue,displayName:Te,..._e===void 0||_e===""?{}:{avatar:_e}}));}return Object.freeze(Y.map(ie=>X.get(ie)))}async function P(F,Y){let X=await Da$2(Y);return Object.freeze(F.filter(ie=>X.match(ie.displayName)!==null||X.match(ie.userId,{pinyin:false})!==null))}async function h(F,Y){let X=await ve(F);return X===null?kl:P(X.page.items,Y)}function x(F,Y){let X=[...F.items],ie=new Set(X.map(ue=>ue.userId));for(let ue of Y)ie.has(ue.userId)||(ie.add(ue.userId),X.push(ue));return Object.freeze({...F,items:Object.freeze(X)})}function U(F,Y){let X=F.map(ue=>ue.userId),ie=new Map(F.map(ue=>[ue.userId,ue]));for(let ue of Y)ie.has(ue.userId)||X.push(ue.userId),ie.set(ue.userId,ue);return X.map(ue=>ie.get(ue))}function W(F,Y,X){let ie=`im-channel-mention:${s}:${++I}`;for(u.set(ie,{...F,generation:Y,expiresAt:X});u.size>d;){let ue=u.keys().next().value;if(typeof ue!="string")break;u.delete(ue);}return ie}function ce(F){let Y=F.nextCursor?.trim();if(F.exhausted&&Y!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!F.exhausted&&(Y===void 0||Y===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return Y}function le(F,Y,X,ie){let ue=ce(F),Te=ue===void 0?void 0:W({...Y,cursor:ue},X,ie);return Object.freeze({items:g(F.items),...Te===void 0?{}:{nextPageToken:Te},exhausted:F.exhausted})}function T(){if(e.provider===void 0)throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u4E13\u7528 mention member provider");return e.provider}function ae(F,Y){let X=f.get(F);for(X?.page.nextPageToken!==void 0&&u.delete(X.page.nextPageToken),f.delete(F),f.set(F,Y);f.size>d;){let ie=f.keys().next().value;if(ie===void 0)break;let ue=f.get(ie);ue?.page.nextPageToken!==void 0&&u.delete(ue.page.nextPageToken),f.delete(ie);}}function pe(F,Y){let X=n()+r,ie={channelId:F.channelId,kind:"list"},ue=F.nextCursor===void 0?void 0:W({...ie,cursor:F.nextCursor},Y,X);return {generation:Y,updatedAt:F.updatedAt,page:Object.freeze({items:g(F.items),...ue===void 0?{}:{nextPageToken:ue},exhausted:F.exhausted})}}function ve(F){q();let Y=f.get(F);if(Y!==void 0)return Promise.resolve(Y);if(R.has(F)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let X=v.get(F);if(X!==void 0)return X;let ie=D(F),ue=e.storage.getChannelMentionCandidateSnapshot(F).then(Te=>{if(q(),Te===null||Te.channelId!==F||D(F)!==ie||R.has(F))return null;let _e=pe(Te,ie);return ae(F,_e),_e}).finally(()=>{v.get(F)===ue&&v.delete(F);});return v.set(F,ue),ue}function w(F){q();let Y=C.get(F);if(Y!==void 0)return Y;let X=D(F),ie=T(),ue=(async()=>{let Te,_e=false,xe=[];for(let ln=0;ln<ff&&!_e;ln+=1){let re=await ie.listMentionMembers({channelId:F,limit:Ua,...Te===void 0?{}:{cursor:Te}});if(q(),D(F)!==X)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");Te=ce(re),_e=re.exhausted,xe=U(xe,re.items);}let Oe=n(),rn={channelId:F,items:xe,...Te===void 0?{}:{nextCursor:Te},exhausted:_e,updatedAt:Oe};if(D(F)!==X)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(rn),q(),D(F)!==X)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Ze=pe(rn,X);return ae(F,Ze),Ze.page})().finally(()=>{C.get(F)===ue&&C.delete(F);});return C.set(F,ue),ue}function $(F,Y=false){q();let X=D(F.channelId),ie=vf(F);if(!Y){let Oe=i(ie,X);if(Oe!==null)return Promise.resolve(Oe)}let ue=o.get(ie);if(ue!==void 0&&ue.generation===X)return ue.promise;let Te=T(),_e=F.kind==="list"?Te.listMentionMembers({channelId:F.channelId,limit:Ua,...F.cursor===void 0?{}:{cursor:F.cursor}}):Te.searchMentionMembers({channelId:F.channelId,query:F.keyword,limit:Ua,...F.cursor===void 0?{}:{cursor:F.cursor}}),xe=Promise.resolve(_e).then(async Oe=>{q();let rn=F.kind==="search"&&F.cursor===void 0?await h(F.channelId,F.keyword):kl;if(q(),D(F.channelId)!==X)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let Ze=n()+r,ln=le(Oe,F,X,Ze),re=rn.length===0?ln:x(ln,rn);return D(F.channelId)===X&&a(ie,{channelId:F.channelId,generation:X,expiresAt:Ze,page:re}),re}).finally(()=>{o.get(ie)?.promise===xe&&o.delete(ie);});return o.set(ie,{generation:X,promise:xe}),xe}function ge(F,Y){q();let X=u.get(F);if(X===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(X.kind!==Y)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${Y} \u5206\u9875`);if(X.expiresAt<=n())throw u.delete(F),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(D(X.channelId)!==X.generation)throw u.delete(F),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return X}return {api:{peekFirstPage(F){if(!k)return null;let Y=y(F),X=f.get(Y);return X===void 0||X.generation!==D(Y)?null:(ae(Y,X),X.page)},peekSearchCandidates(F,Y){if(!k)return Object.freeze([]);let X=y(F),ie=Y.trim().toLocaleLowerCase();if(ie==="")return Object.freeze([]);let ue=f.get(X);return ue===void 0||ue.generation!==D(X)?Object.freeze([]):(ae(X,ue),Object.freeze(ue.page.items.filter(Te=>Te.displayName.toLocaleLowerCase().includes(ie)||Te.userId.toLocaleLowerCase().includes(ie))))},async getCachedPage(F,Y){let X=y(F),ie=await ve(X);if(ie===null)return null;let ue=Y?.trim()??"";if(ue==="")return ie.page;let Te=await P(ie.page.items,ue);return q(),ie.generation!==D(X)?null:Object.freeze({items:Te,exhausted:true})},async prefetchFirstPage(F){let Y=y(F),X=await ve(Y);X!==null&&X.updatedAt+r>n()||await w(Y);},async refreshFirstPage(F){return w(y(F))},async listFirstPage(F){let Y=y(F),X=f.get(Y);if(X!==void 0&&X.generation===D(Y))return ae(Y,X),X.page;let ie=await ve(Y);return ie!==null?ie.page:w(Y)},async listNextPage(F){return $(ge(F,"list"))},async searchFirstPage(F,Y){let X=y(F),ie=Y.trim();return ie===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):$({channelId:X,kind:"search",keyword:ie})},async refreshSearchFirstPage(F,Y){let X=y(F),ie=Y.trim();return ie===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):$({channelId:X,kind:"search",keyword:ie},true)},async searchNextPage(F){return $(ge(F,"search"))}},async invalidate(F){if(!k)return;let Y=F.trim();if(Y==="")return;p.set(Y,D(Y)+1),R.add(Y);let X=f.get(Y);X?.page.nextPageToken!==void 0&&u.delete(X.page.nextPageToken),f.delete(Y),C.delete(Y),v.delete(Y);for(let[ie,ue]of c)ue.channelId===Y&&S(ie);for(let[ie,ue]of u)ue.channelId===Y&&u.delete(ie);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(Y),R.delete(Y));},clear(){if(!k)return;let F=new Set;for(let Y of c.values())F.add(Y.channelId);for(let Y of u.values())F.add(Y.channelId);for(let Y of F)p.set(Y,D(Y)+1);c.clear(),u.clear(),o.clear(),f.clear(),C.clear(),v.clear(),R.clear();},dispose(){k&&(k=false,c.clear(),u.clear(),o.clear(),f.clear(),C.clear(),v.clear(),R.clear());}}}var hf=20*1024*1024;function lt(e){return oe({...e,retryable:e.retryable??false})}function Fa(e,n){if(e?.conversationType==="supergroup")throw lt({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,conversation:e});if(e?.conversationType!=="direct"&&e?.conversationType!=="group"&&e?.conversationType!=="channel"&&e?.conversationType!=="robot"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw lt({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function Cf(e,n){if(e!==void 0&&e.getConversationBackground!==void 0&&e.saveConversationBackground!==void 0&&e.deleteConversationBackground!==void 0&&e.getDefaultConversationBackground!==void 0&&e.saveDefaultConversationBackground!==void 0&&e.deleteDefaultConversationBackground!==void 0)return e;throw lt({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function bf(e,n){try{let r=new URL(e);if(r.protocol==="http:"||r.protocol==="https:")return e}catch{}throw lt({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function xl(e,n,r){if(e.kind==="preset"){if(e.presetId.trim()==="")throw lt({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:bf(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>r)throw lt({code:e.blob instanceof Blob&&e.blob.size>r?"IM_SDK_CONVERSATION_BACKGROUND_TOO_LARGE":"IM_SDK_CONVERSATION_BACKGROUND_IMAGE_INVALID",category:"validation",operation:n});let d=new Uint8Array(await e.blob.arrayBuffer());return {kind:"custom",mimeType:e.mimeType,bytes:d}}function Ka(e){if(e.kind==="preset")return Object.freeze({kind:"preset",presetId:e.presetId,url:e.url});let n=e.bytes.slice();return Object.freeze({kind:"custom",mimeType:e.mimeType,blob:new Blob([n.buffer],{type:e.mimeType})})}function Mf(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Nl(e){let n=e.maxCustomImageBytes??hf,r=false,d=0,s,c;async function o(p,f){try{return await f(Cf(e.storage,p))}catch(C){throw typeof C=="object"&&C!==null&&"code"in C?C:lt({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:p,cause:C})}}return {api:{async getBackground(p){let f="conversations.getBackground",C=Fa(p,f);return o(f,async v=>{let R=await v.getConversationBackground(C);if(R!==null)return Object.freeze({source:"conversation",selection:Ka(R)});let I=await v.getDefaultConversationBackground();return Object.freeze(I===null?{source:"builtin",selection:null}:{source:"default",selection:Ka(I)})})},async setBackground(p,f){let C="conversations.setBackground",v=Fa(p,C),R=await xl(f,C,n);await o(C,I=>I.saveConversationBackground(v,R));},async resetBackground(p){let f="conversations.resetBackground",C=Fa(p,f);await o(f,v=>v.deleteConversationBackground(C));},async getDefaultBackground(){return o("conversations.getDefaultBackground",async f=>{let C=await f.getDefaultConversationBackground();return Object.freeze(C===null?{source:"builtin",selection:null}:{source:"default",selection:Ka(C)})})},async setDefaultBackground(p){let f="conversations.setDefaultBackground",C=await xl(p,f,n);await o(f,v=>v.saveDefaultConversationBackground(C));},async resetDefaultBackground(){await o("conversations.resetDefaultBackground",f=>f.deleteDefaultConversationBackground());},listBackgroundPresets(p){let f="conversations.listBackgroundPresets";if(r)return Promise.reject(lt({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:f}));if(!p?.forceRefresh&&s!==void 0)return Promise.resolve(s);if(!p?.forceRefresh&&c!==void 0)return c;if(e.coreClient===void 0)return Promise.reject(lt({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:f}));let C=++d,v=ia(e.coreClient).then(R=>{let I=Object.freeze(R.map(Mf));return !r&&C===d&&(s=I),I}).catch(R=>{throw lt({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:f,retryable:true,cause:R})}).finally(()=>{C===d&&(c=void 0);});return c=v,v}},dispose(){r=true,d+=1,s=void 0,c=void 0;}}}var Gr=class extends Error{code="IM_SDK_HISTORY_PAGE_STALLED";category="protocol";retryable=true;operation;conversation;constructor(n,r){super("\u7FA4\u5386\u53F2\u6EE1\u9875\u672A\u63D0\u4F9B\u53EF\u7EE7\u7EED\u7684\u5206\u9875\u4F4D\u7F6E\uFF0C\u65E0\u6CD5\u786E\u8BA4\u662F\u5426\u5DF2\u7ECF\u5230\u8FBE\u672B\u5C3E"),this.name="GroupHistoryPageBoundaryError",this.operation=r==="older"?"history.loadOlder":"history.loadNewer",this.conversation={conversationType:"group",conversationId:n};}};function jr(e){if(e.batchSize<e.limit)return {exhausted:true};let n=e.boundaryTime;if(n===void 0||!Number.isSafeInteger(n)||n<0||(e.direction==="older"?n>=e.baseTime:n<=e.baseTime))throw new Gr(e.conversationId,e.direction);return {exhausted:false,nextCursor:String(n)}}var Ll=2;async function Pf(e){e.readCursorSortKey!==void 0&&await e.openAt(e.readCursorSortKey);let n=new Map,r=new Set,d,s,c,o=f=>Ul(e.entryUpperSortKey===void 0?f:f.filter(C=>C.sortKey<=e.entryUpperSortKey),e.selfId,s,e.isEntryUnread).unreadMessages;for(let f=0;f<=(e.maxExtraPages??Ll);f+=1){a$1(e.signal);let C=await e.loadReadCursorPage(d);if(a$1(e.signal),C===void 0)break;if(s!==void 0&&s!==C.readCursorSortKey)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u5DF2\u8BFB\u8FB9\u754C\u53D1\u751F\u53D8\u5316");s=C.readCursorSortKey,c=C;for(let k of C.messages){if(k.conversationId!==e.conversation.conversationId||k.conversationType!==e.conversation.conversationType)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u7684\u4F1A\u8BDD\u8EAB\u4EFD\u4E0D\u4E00\u81F4");n.set(k.id,k);}let v=[...n.values()].sort(o$1),R=o(v),I=e.entryUpperSortKey!==void 0&&C.messages.some(k=>k.sortKey>=e.entryUpperSortKey);if(Ba(R)&&(C.exhausted||I))return await e.openLatest(),a$1(e.signal),Object.freeze({state:"none"});if(I||R.some(k=>k.contentType!=="system")||C.exhausted||C.nextCursor===void 0||C.nextCursor===d||r.has(C.nextCursor))break;r.add(C.nextCursor),d=C.nextCursor;}let u=[...n.values()].sort(o$1),p=o(u)[0];return p!==void 0&&c!==void 0?(await e.openAt(p.sortKey,{messages:u,hasNewer:!c.exhausted,...c.nextCursor===void 0?{}:{nextCursor:c.nextCursor}}),a$1(e.signal),Fl(p.id,e.unreadCount)):Object.freeze({state:"unavailable"})}function Ba(e){return e.length>0&&e.every(n=>n.contentType==="system")}function Sf(e){return Ea$2(e)&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Ul(e,n,r,d){let s=[];for(let c of e)!Sf(c)||r!==void 0&&c.sortKey<=r||(d?.(c)??Ja$1(c,n))&&s.push(c);return {unreadMessages:s}}function Fl(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function Ga(e){if(a$1(e.signal),e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.loadReadCursorPage!==void 0)return Pf(e);let n=new Map,r=()=>{let k=e.list();for(let D of k)n.delete(D.id);for(let D of Ul(k,e.selfId,e.readCursorSortKey,e.isEntryUnread).unreadMessages)e.entryUpperSortKey!==void 0&&D.sortKey>e.entryUpperSortKey||n.set(D.id,{id:D.id,sortKey:D.sortKey,contentType:D.contentType});return [...n.values()].sort(o$1)},d=e.readCursorSortKey!==void 0;d?await e.openAt(e.readCursorSortKey):await e.openLatest(),a$1(e.signal);let s=d&&e.list().some(k=>k.sortKey===e.readCursorSortKey),c=false,o=()=>{s&&e.entryUpperSortKey!==void 0&&e.list().some(k=>k.sortKey>=e.entryUpperSortKey)&&(c=true);};o();let u=r(),p=e.maxExtraPages??Ll,f=e.paginationKey??(()=>JSON.stringify(e.list().map(k=>[k.id,k.sortKey]))),C=new Set,v=()=>!c&&(u.length<e.unreadCount||d&&Ba(u));for(let k=0;v()&&(d?e.hasNewer():e.hasOlder())&&k<p&&(a$1(e.signal),C.add(f()),await(d?e.loadNewer():e.loadOlder()),a$1(e.signal),u=r(),o(),!(e.maxExtraPages!==void 0&&C.has(f())));k+=1);if(u.length<e.unreadCount&&!c)return d?await e.openAt(e.readCursorSortKey):await e.openLatest(),Object.freeze({state:"unavailable"});let R=d?u:u.slice(-e.unreadCount);if(c&&R.length===0||(!d||!e.hasNewer()||c)&&Ba(R))return await e.openLatest(),Object.freeze({state:"none"});let I=R[0];return I===void 0?Object.freeze({state:"unavailable"}):((!e.preserveLocatedWindow||!e.list().some(k=>k.id===I.id))&&await e.openAt(I.sortKey),a$1(e.signal),Fl(I.id,e.unreadCount))}function Hr(e){if(e===void 0||e.length===0)return;let n=false,r=[],d={},s=new Set;for(let c of e){if(c.userId==="0"){n=true;continue}s.has(c.userId)||(s.add(c.userId),r.push(c.userId),c.displayName.trim()!==""&&(d[c.userId]=c.displayName));}return {atAll:n,atUserIds:r,...Object.keys(d).length===0?{}:{atUsersName:d}}}function wf(e){return j$1(e)?[...new Set([e.toLowerCase(),e.toUpperCase(),e])]:[e]}function Kl(e){let n=new Map;for(let r of e){let d=r.trim(),s=P([d])[0];if(s===void 0)continue;let c=l(s),o=n.get(c)??{sourceIds:new Map,queryIds:new Set};o.sourceIds.has(s)||o.sourceIds.set(s,d);for(let u of wf(s))o.queryIds.add(u);if(o.queryIds.size>O)throw new RangeError("\u540C\u4E00\u6D88\u606F\u7684\u67E5\u8BE2\u5F62\u5F0F\u8D85\u8FC7\u5355\u6B21\u8BF7\u6C42\u4E0A\u9650");n.set(c,o);}return [...n].map(([r,d])=>({id:r,sourceIds:[...d.sourceIds.values()],queryIds:[...d.queryIds]}))}function Bl(e){let n=[],r=[],d=0;for(let s of e)d+s.queryIds.length>O&&(n.push(r),r=[],d=0),r.push(s),d+=s.queryIds.length;return r.length>0&&n.push(r),n}async function xo(e,n){let r=new Map,d=new Set;for(let s of Bl(Kl(e))){let c=s.flatMap(u=>u.queryIds),o=await n(c);if(o.messages.some(u=>o.missingMessageIds.includes(u.id)))throw new Error("\u6309 ID \u67E5\u8BE2\u540C\u65F6\u8FD4\u56DE\u539F\u6D88\u606F\u4E0E\u8BE5\u6D88\u606F\u5168\u90E8\u5F62\u5F0F\u7F3A\u5931");for(let u of o.messages){let p=`${L(u)}:${u.id}`,f=r.get(p);r.set(p,f===void 0?u:M(f,u));}for(let u of o.missingMessageIds)d.add(u);}return {messages:[...r.values()],missingMessageIds:[...d]}}function Rf(e){return e instanceof aa?e.status===403||e.status===400?{retryable:false,error:e}:{retryable:true,error:e}:{retryable:true,error:e}}async function Gl(e){let n=Kl(e.messageIds);if(n.length===0)return {messages:[],missingMessageIds:[],unresolvedMessageIds:[]};let r=[],d=[],s=[],c;for(let o of Bl(n)){let u=o.map(p=>p.id);if(!e.isCurrent()){s.push(...u);continue}try{let p=await e.fetchBatch(o.flatMap(I=>I.sourceIds));if(!e.isCurrent()){s.push(...u);continue}let f=new Set(u),C=p.messages.filter(I=>f.has(I.id)),v=new Set(C.map(I=>I.id)),R=new Set(p.missingMessageIds.filter(I=>f.has(I)));r.push(...C.map(e.projectMessage)),d.push(...R);for(let I of u)!v.has(I)&&!R.has(I)&&s.push(I);}catch(p){s.push(...u),c=Rf(p);}}return {messages:r,missingMessageIds:d,unresolvedMessageIds:s,...c===void 0?{}:{failure:c}}}function ja(e,n,r){return e instanceof Gr?oe({code:e.code,category:e.category,retryable:e.retryable,operation:n,conversation:r,cause:e}):Kt(e,n,r)}var za=new WeakMap;function Lo(e,n){let r=za.get(n);if(r===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");za.set(e,r);}var Ef={pinned:{code:"IM_SDK_MESSAGE_PINNED",category:"state",retryable:false},"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},"not-own":{code:"IM_SDK_RECALL_NOT_OWN",category:"permission",retryable:false},"not-sent":{code:"IM_SDK_RECALL_NOT_SENT",category:"state",retryable:false},expired:{code:"IM_SDK_RECALL_EXPIRED",category:"state",retryable:false},"server-expired":{code:"IM_SDK_RECALL_EXPIRED",category:"state",retryable:false},unsupported:{code:"IM_SDK_RECALL_UNSUPPORTED",category:"unsupported",retryable:false},timeout:{code:"IM_SDK_RECALL_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_RECALL_FAILED",category:"state",retryable:false},disconnected:{code:"IM_SDK_RECALL_DISCONNECTED",category:"network",retryable:true}},Af={pinned:{code:"IM_SDK_MESSAGE_PINNED",category:"state",retryable:false},"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},"not-own":{code:"IM_SDK_EDIT_NOT_OWN",category:"permission",retryable:false},"not-sent":{code:"IM_SDK_EDIT_NOT_SENT",category:"state",retryable:false},recalled:{code:"IM_SDK_EDIT_RECALLED",category:"state",retryable:false},deleted:{code:"IM_SDK_EDIT_DELETED",category:"state",retryable:false},expired:{code:"IM_SDK_EDIT_EXPIRED",category:"state",retryable:false},unsupported:{code:"IM_SDK_EDIT_UNSUPPORTED",category:"unsupported",retryable:false},empty:{code:"IM_SDK_EDIT_EMPTY",category:"validation",retryable:false},restricted:{code:"IM_SDK_EDIT_RESTRICTED",category:"permission",retryable:false},"unsupported-content":{code:"IM_SDK_EDIT_CONTENT_UNSUPPORTED",category:"unsupported",retryable:false},"no-key":{code:"IM_SDK_EDIT_KEY_UNAVAILABLE",category:"state",retryable:false},"encrypt-failed":{code:"IM_SDK_EDIT_ENCRYPT_FAILED",category:"state",retryable:false},timeout:{code:"IM_SDK_EDIT_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_EDIT_FAILED",category:"state",retryable:false},disconnected:{code:"IM_SDK_EDIT_DISCONNECTED",category:"network",retryable:true}},jl={"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},"unsupported-message":{code:"IM_SDK_REACTION_MESSAGE_UNSUPPORTED",category:"unsupported",retryable:false},"invalid-emoji":{code:"IM_SDK_REACTION_EMOJI_INVALID",category:"validation",retryable:false},restricted:{code:"IM_SDK_REACTION_FORBIDDEN",category:"permission",retryable:false},disconnected:{code:"IM_SDK_REACTION_DISCONNECTED",category:"network",retryable:true},timeout:{code:"IM_SDK_REACTION_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_REACTION_FAILED",category:"state",retryable:false}},Hl={pinned:{code:"IM_SDK_MESSAGE_PINNED",category:"state",retryable:false},"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},unsupported:{code:"IM_SDK_CHANNEL_DELETE_UNSUPPORTED",category:"unsupported",retryable:false},"not-sent":{code:"IM_SDK_CHANNEL_DELETE_NOT_SENT",category:"state",retryable:false},unavailable:{code:"IM_SDK_CHANNEL_DELETE_UNAVAILABLE",category:"state",retryable:false},forbidden:{code:"IM_SDK_CHANNEL_DELETE_FORBIDDEN",category:"permission",retryable:false},timeout:{code:"IM_SDK_CHANNEL_DELETE_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_CHANNEL_DELETE_FAILED",category:"state",retryable:false},disconnected:{code:"IM_SDK_CHANNEL_DELETE_DISCONNECTED",category:"network",retryable:true}};function zl(e,n,r){let d=oe({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(d.code,void 0),d)}function No(e,n,r,d){if((n.conversationType==="group"||n.conversationType==="channel")&&e.getPinnedMessage(n)?.messageId===r){let s=oe({code:"IM_SDK_MESSAGE_PINNED",category:"state",operation:d,retryable:false,conversation:n,details:{messageId:r}});throw Object.assign(new Error(s.code),s)}}function Tf(e,n){let r=oe({code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",operation:"history.loadAround",retryable:false,conversation:e,details:{messageId:n}});return Object.assign(new Error(r.code),r)}function zr(e,n){let r=oe({code:"IM_SDK_MESSAGE_ANCHOR_UNAVAILABLE",category:"state",operation:"history.loadAround",retryable:true,conversation:e,details:{messageId:n}});return Object.assign(new Error(r.code),r)}var Df=3*1024*1024,Ha=200*1024*1024,Vl=2*1024*1024*1024,ql=30*1024*1024,Wl=4294967295,_f=6,kf=4,Of=16*1024;async function xf(e){let n=e.type.trim().toLowerCase();if(n!==""&&n!=="image/gif")return false;let r=new Uint8Array(await e.slice(0,6).arrayBuffer());if(r.length!==6)return false;let d=String.fromCharCode(...r);return d==="GIF87a"||d==="GIF89a"}var Nf={"empty-input":{code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",retryable:false},"too-many-targets":{code:"IM_SDK_FORWARD_TOO_MANY_TARGETS",category:"validation",retryable:false},"unsupported-target-type":{code:"IM_SDK_FORWARD_TARGET_UNSUPPORTED",category:"unsupported",retryable:false},"type-not-allowed":{code:"IM_SDK_FORWARD_CONTENT_UNSUPPORTED",category:"unsupported",retryable:false},"media-not-ready":{code:"IM_SDK_FORWARD_MEDIA_NOT_READY",category:"state",retryable:true},"album-item-not-found":{code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",retryable:false},"conversation-blocked":{code:"IM_SDK_FORWARD_TARGET_BLOCKED",category:"permission",retryable:false},"send-failed":{code:"IM_SDK_FORWARD_SEND_FAILED",category:"state",retryable:false}};async function Uo(e,n,r,d,s={},c={}){a$1(c.signal);let o=Object.freeze({...e}),u=n.pageSize??30,p={historySource:o.conversationType==="group"||o.conversationType==="channel"?"remote":"local",retention:{maxMessages:u*_f},...s.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(m,b)=>s.shouldEstablishRemoteLatestOnOpen?.(b)===true}},f=n.domainState.createMessageWindow({...p}),C=new WeakSet,v=new WeakSet,R=new Set,I=new Set,k=new Map,D,q,y=false,S=false,i=false,a=true,g=0,P=Object.freeze({state:"none"}),h=c.captureEntryUnread===true&&o.conversationType!=="robot",x=h?n.domainState.getSession(o):void 0,U=Math.max(0,x?.manuallyUnread===true?0:x?.unreadCount??0),W=h?n.domainState.getReadState(o):void 0,ce=n.getSelfId(),le=new Map,T=new Set,ae,pe,ve=W?.readCursorSortKey,w=h?Object.freeze(U>0?{state:"pending",count:U}:{state:"none"}):void 0,$=0,ge;function ye(m=new DOMException("\u5386\u53F2\u5BFC\u822A\u5DF2\u88AB\u65B0\u7684\u64CD\u4F5C\u53D6\u4EE3","AbortError")){let b=ge;ge=void 0;let A=++$;return b?.controller.abort(m),A}function F(){let m={version:ye(),controller:new AbortController};return ge=m,m}function Y(m){ge===m&&(ge=void 0);}let X,ie,ue=0,Te=false,_e,xe;if(h)for(let m of n.domainState.getLoadedMessagesByConversation(o))le.set(m.id,Ja$1(m,ce)),W?.readCursor===(o.conversationType==="channel"?m.extensions?.historyCursor:m.id)&&(ve=m.sortKey);let Oe=new AbortController,rn=new WeakMap,Ze=new Map,ln;function re(){if(S)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function nt(){let m=f.window.info();return {messages:f.window.list(),context:n.domainState.getConversationContext(o),draft:n.domainState.getDraft(o),loading:k.size>0,stale:y,hasOlder:m.hasMore,hasNewer:m.hasNewer,error:q,entryUnread:P,entryUnreadNavigation:w}}function sn(m,b){return m.length===b.length&&m.every((A,L)=>A===b[L])}function fn(m,b){return sn(m.messages,b.messages)&&(m.context?.title??"")===(b.context?.title??"")&&(m.context?.avatar??"")===(b.context?.avatar??"")&&m.draft===b.draft&&m.loading===b.loading&&m.stale===b.stale&&m.hasOlder===b.hasOlder&&m.hasNewer===b.hasNewer&&m.error===b.error&&m.entryUnread===b.entryUnread&&m.entryUnreadNavigation===b.entryUnreadNavigation}function qn(m){let b=rn.get(m);if(b!==void 0)return b;let A=Mo(m),L=Ze.get(m.id),Q=L!==void 0&&wd(L,A)?L:A;return rn.set(m,Q),Q}function At(m){let b=m.context,A=Object.freeze(m.messages.map(qn));return Ze=new Map(A.map(L=>[L.id,L])),{ref:o,...b===void 0?{}:{display:Object.freeze({title:b.title,...b.avatar===void 0?{}:{avatar:b.avatar}})},messages:A,entryUnread:m.entryUnread,...m.entryUnreadNavigation===void 0?{}:{entryUnreadNavigation:m.entryUnreadNavigation},draft:m.draft,loading:m.loading,stale:m.stale,hasOlder:m.hasOlder,hasNewer:m.hasNewer,...m.error===void 0?{}:{error:m.error}}}function E(){return re(),At(nt())}function z$1(){Ye();let m=nt();if(ln!==void 0&&fn(ln,m))return;ln=m;let b=At(m);for(let A of R)try{A(b);}catch(L){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:L}});}}async function Z(m){let b=f.window.list().find(L=>L.id===m)??n.domainState.getConversationMessage(o,m);if(b!==void 0)return {anchor:b,fallbackSeed:b};let A=await n.domainState.resolveConversationMessage(o,m,{throwOnStorageError:true});return A===void 0?void 0:{anchor:A,fallbackSeed:A}}async function B(m,b){if(b(),D!==void 0)throw new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D");let A=await Z(m);b();let L=A?.fallbackSeed;if(A!==void 0&&(o.conversationType!=="channel"||L!==void 0&&Vr(L)))return o.conversationType==="channel"&&f.window.info().remotePagination===true?{...A,remoteSeed:L}:A;if(n.fetchMessagesByIdBatch===void 0)throw zr(o,m);if(D!==void 0)throw new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D");let Q=await n.fetchMessagesByIdBatch([m]);b();let fe=Q.messages.find(Pe=>Pe.id===m&&Pe.conversationType===o.conversationType&&Pe.conversationId===o.conversationId);if(fe!==void 0){if(o.conversationType==="channel"){if(!Vr(fe))throw zr(o,m);return {anchor:fe,remoteSeed:fe}}return {anchor:fe,fallbackSeed:fe}}if(!Q.missingMessageIds.includes(m))throw zr(o,m)}async function he(m,b,A,L=false){A();let{anchor:Q}=b;if(b.remoteSeed!==void 0)return Re(m,b.remoteSeed,A,L);let fe=await m.openAt(o,{anchorSortKey:Q.sortKey,limit:u});A();let Pe=m.list().find(se=>se.id===Q.id);if(m.info().remotePagination===true&&Pe!==void 0)return Re(m,Pe,A,L);if(m.list().some(se=>se.id===Q.id))return fe;if(b.fallbackSeed===void 0)throw zr(o,Q.id);if(p.historySource==="local"){let se=m.info();return m.openAt(o,{anchorSortKey:Q.sortKey,limit:u,seedMessages:[...fe.messages,b.fallbackSeed],seedHasOlder:se.hasMore,seedHasNewer:se.hasNewer})}return Re(m,b.fallbackSeed,A,L)}async function Re(m,b,A,L){let Q=await m.openAt(o,{anchorSortKey:b.sortKey,limit:u,seedMessages:[b],seedHasNewer:true,seedRemotePagination:{}});return A(),L?(await Ne(m,b,A),{...Q,messages:m.list()}):Q}async function Ne(m,b,A){for(let L of ["older","newer"])if(!m.list().some(Q=>Ea$2(Q)&&(L==="older"?Q.sortKey<b.sortKey:Q.sortKey>b.sortKey)))for(let Q=0;Q<kf;Q+=1){A();let fe=m.info();if(!(L==="older"?fe.hasMore:fe.hasNewer))break;let Pe=L==="older"?await m.loadOlder({limit:u}):await m.loadNewer({limit:u});if(A(),Pe.stale)throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");if(Pe.messages.length>0)break}}function He(m,b,A){re();let L=f,Q=A?.window??L.window,fe=A?.isCurrent??(()=>!S&&f===L),Pe=()=>{if(re(),!fe())throw new DOMException("\u5386\u53F2\u64CD\u4F5C\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")};if(D!==void 0)return Promise.reject(new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D"));let se=k.get(m);if(se!==void 0)return se;let Se=n.beginReceiving?.();q=void 0;let ke=Promise.resolve().then(()=>(Pe(),b())).then(Je=>(Pe(),s.reconcilePage===void 0?Je:s.reconcilePage(Je,Q))).then(Je=>{Pe(),y=Je.stale===true;}),Be=(A?.cancelled===void 0?ke:Promise.race([ke,A.cancelled])).catch(Je=>{let jn=Je instanceof _a$1?Je.cause:Je;throw fe()&&(q=ja(jn,`history.${m}`,o)),a?Je:jn}).finally(()=>{Se?.(),k.delete(m),S||z$1();});return k.set(m,Be),z$1(),Be}function Fe(){f.window.applyIncoming(n.domainState.getMessagesByConversation(o).slice(-u));}function De(m){return s.shouldEstablishRemoteLatestOnOpen?.(m.list())===true||m.info().remotePagination===true&&(U>0||c.initialPosition==="first-unread"&&(n.domainState.getSession(o)?.unreadCount??0)>0)}async function ze(){Te=false,i?i=false:await He("latest",()=>f.window.open(o,{limit:u})),Fe(),De(f.window)&&(await He("latest:remote",()=>f.window.loadOlder({limit:u,establishLatestOnly:true})),Fe()),Te=!y,_n(f.window.list());}function en(){if(re(),ie?.version===$)return ie.promise;let m=F(),{version:b}=m,A=Gn(m).finally(()=>{Y(m),ie?.version===b&&(ie=void 0);});return ie={version:b,promise:A},A}async function Gn({version:m,controller:b}){let A=f,L=n.domainState.createMessageWindow(p),Q=()=>!S&&!b.signal.aborted&&$===m&&f===A,fe=()=>{if(!Q())throw new DOMException("\u56DE\u6700\u65B0\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},Pe=false,se,Se=new Promise((rt,ot)=>{se=ot;}),ke=()=>{Pe||L.dispose(),se(b.signal.reason);};b.signal.addEventListener("abort",ke,{once:true});let Be={window:L.window,isCurrent:Q,cancelled:Se},Je=(rt,ot)=>He(rt,async()=>{let Pn=await ot();if(Pn.stale)throw new DOMException("\u6700\u65B0\u5386\u53F2\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");return Pn},Be),jn=(async()=>{await Je(`latest:${m}`,()=>L.window.open(o,{limit:u})),fe(),L.window.applyIncoming(n.domainState.getMessagesByConversation(o).slice(-u)),De(L.window)&&(await Je(`latest:remote:${m}`,()=>L.window.loadOlder({limit:u,establishLatestOnly:true})),fe(),L.window.applyIncoming(n.domainState.getMessagesByConversation(o).slice(-u))),f=L,Pe=true,A.dispose(),Te=true,y=false,_n(L.window.list()),z$1();})();try{await Promise.race([jn,Se]);}finally{b.signal.removeEventListener("abort",ke),Pe||L.dispose();}}function _n(m){let b=s.resolveReadMessageId?.(m);_e=s.resolveReadMessageId===void 0?m.at(-1):m.find(A=>A.id===b);}function yt(m){return T.has(m.id)||ae===void 0||m.sortKey>ae||ve!==void 0&&m.sortKey<=ve?false:le.get(m.id)??Ja$1(m,ce)}function kn(){if(!h||U<=0||f.window.info().remotePagination===true&&!Te&&P.state!=="located")return;v.add(f.window);let b=f.window.list().filter(A=>!T.has(A.id));ae=b.at(-1)?.sortKey;for(let A of b)le.has(A.id)||le.set(A.id,Ja$1(A,ce));if(c.initialPosition==="first-unread"&&P.state==="located"){pe=P.firstMessageId,w=Object.freeze({state:"located",count:U,firstMessageId:P.firstMessageId});return}Ye();}function Ye(){if(!h||U<=0||pe!==void 0||ae===void 0||w?.state==="none")return;let m=f.window.list();if(!m.some(Q=>Q.sortKey===ae))return;let b=m.filter(Q=>yt(Q)&&Ea$2(Q)&&Q.recalled===void 0&&Q.deletedForEveryone===void 0);if(b.length<U)return;let A=b.slice(-U);if(A.every(Q=>Q.contentType==="system")){w=Object.freeze({state:"none"});return}let L=A[0];pe=L.id,P=Object.freeze({state:"located",firstMessageId:L.id,count:U}),w=Object.freeze({state:"located",firstMessageId:L.id,count:U});}function Qe(m={}){if(re(),m.signal?.aborted)return Promise.reject(m.signal.reason);if(X!==void 0){if(!X.controller.signal.aborted&&X.version===$&&X.callerSignal===m.signal)return X.promise;X.controller.abort();}if(w===void 0||w.state==="none")return Promise.resolve(false);let b=F(),{version:A,controller:L}=b,Q=f.window.list(),fe=Q.find(un=>un.id===pe),Pe=f.window.info();if(D===void 0&&k.size===0&&!y&&!Oe.signal.aborted&&v.has(f.window)&&fe!==void 0&&Ea$2(fe)&&fe.recalled===void 0&&fe.deletedForEveryone===void 0&&(!Pe.hasMore||Q.some(un=>Ea$2(un)&&un.sortKey<fe.sortKey))&&(!Pe.hasNewer||Q.some(un=>Ea$2(un)&&un.sortKey>fe.sortKey)))return P=Object.freeze({state:"located",firstMessageId:fe.id,count:U}),w=Object.freeze({state:"located",firstMessageId:fe.id,count:U}),z$1(),Y(b),Promise.resolve(true);let se=n.domainState.createMessageWindow(p),Se=()=>!S&&!L.signal.aborted&&$===A,ke=()=>{if(!Se())throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},Be=async un=>{ke();let On=await un();if(ke(),s.reconcilePage!==void 0&&(On=await s.reconcilePage(On,se.window)),ke(),On.stale)throw new DOMException("\u8FDB\u5165\u672A\u8BFB\u7A97\u53E3\u5DF2\u5931\u6548","AbortError");se.window.applyIncoming(se.window.list().map(Hn=>n.domainState.getConversationMessage(o,Hn.id)??Hn));},Je=false,jn,rt=new Promise((un,On)=>{jn=On;}),ot=()=>{Je||se.dispose(),jn(L.signal.reason);},Pn=()=>L.abort(m.signal?.reason),on=()=>L.abort(Oe.signal.reason);L.signal.addEventListener("abort",ot,{once:true}),m.signal?.addEventListener("abort",Pn,{once:true}),Oe.signal.addEventListener("abort",on,{once:true}),Oe.signal.aborted&&on();let Qr=n.beginReceiving?.(),gn=(async()=>{try{let un=!1;ae===void 0&&(await Be(()=>se.window.open(o,{limit:u})),De(se.window)&&await Be(()=>se.window.loadOlder({limit:u,establishLatestOnly:!0})),ae=se.window.list().filter(xn=>!T.has(xn.id)).at(-1)?.sortKey,un=!0);let On=pe,Hn=On===void 0?void 0:await Z(On);if(ke(),On!==void 0&&Hn===void 0)return w=Object.freeze({state:"unavailable",count:U}),!1;let Jn=Hn===void 0?await Ga({conversation:o,pageSize:u,maxExtraPages:Number.POSITIVE_INFINITY,preserveLocatedWindow:se.window.info().remotePagination===!0,...ae===void 0?{}:{entryUpperSortKey:ae},unreadCount:U,...ve===void 0?{}:{readCursorSortKey:ve},signal:L.signal,selfId:ce,isEntryUnread:yt,...o.conversationType!=="channel"||!W?.readCursor||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async xn=>{let zn=await n.loadEntryUnreadPage({readCursor:W.readCursor,...xn===void 0?{}:{cursor:xn},signal:L.signal,isCurrent:Se});return ke(),zn}},paginationKey:()=>se.window.getPaginationKey(),list:()=>se.window.list(),hasOlder:()=>se.window.info().hasMore,hasNewer:()=>se.window.info().hasNewer,openLatest:async()=>{if(un){un=!1;return}await Be(()=>se.window.open(o,{limit:u})),De(se.window)&&await Be(()=>se.window.loadOlder({limit:u,establishLatestOnly:!0}));},openAt:(xn,zn)=>(un=!1,Be(()=>se.window.openAt(o,{anchorSortKey:xn,limit:u,...zn===void 0?{}:{seedMessages:zn.messages.map(yr=>n.domainState.getConversationMessage(o,yr.id)??yr),seedHasNewer:zn.hasNewer,seedRemotePagination:zn.nextCursor===void 0?{}:{newerCursor:zn.nextCursor}}}))),loadOlder:()=>Be(()=>se.window.loadOlder({limit:u})),loadNewer:()=>Be(()=>se.window.loadNewer({limit:u}))}):await(async()=>(await Be(()=>he(se.window,Hn,ke)),{state:"located",firstMessageId:Hn.anchor.id,count:U}))();if(ke(),Jn.state!=="located")return w=Object.freeze(Jn.state==="none"?{state:"none"}:{state:"unavailable",count:U}),!1;let Dt=se.window.list().find(xn=>xn.id===Jn.firstMessageId);if(Dt===void 0||!Ea$2(Dt)||Dt.recalled!==void 0||Dt.deletedForEveryone!==void 0)return w=Object.freeze({state:"unavailable",count:U}),!1;se.window.info().remotePagination===!0&&await Be(async()=>(await Ne(se.window,Dt,ke),{conversationId:o.conversationId,messages:se.window.list(),stale:!1})),ke();let Kn=se.window.list().find(xn=>xn.id===Jn.firstMessageId);if(Kn===void 0||!Ea$2(Kn)||Kn.recalled!==void 0||Kn.deletedForEveryone!==void 0)return w=Object.freeze({state:"unavailable",count:U}),!1;let at=f;return f=se,Je=!0,at.dispose(),v.add(se.window),pe=Jn.firstMessageId,P=Jn,w=Object.freeze({state:"located",count:U,firstMessageId:Jn.firstMessageId}),q=void 0,!0}catch(un){let On=un instanceof _a$1?un.cause:un;if(Se()){let Hn=ja(On,"history.loadEntryUnread",o);w=Object.freeze({state:"failed",count:U,error:Hn});}throw On}})(),Ge=Promise.race([gn,rt]).finally(()=>{L.signal.removeEventListener("abort",ot),Y(b),m.signal?.removeEventListener("abort",Pn),Oe.signal.removeEventListener("abort",on),Je||se.dispose(),Qr?.(),X?.controller===L&&(X=void 0),S||z$1();});return X={version:A,callerSignal:m.signal,controller:L,promise:Ge},Ge}async function Wn(){if(Te){let A=new Map,L=n.domainState.getLoadedMessagesByConversation(o);for(let fe of [_e,...L])fe!==void 0&&A.set(fe.id,n.domainState.getConversationMessage(o,fe.id)??fe);let Q=[...A.values()].sort((fe,Pe)=>fe.sortKey.localeCompare(Pe.sortKey));return _n(Q),_e?.id}let m=ue,b=n.domainState.createMessageWindow(p);try{let A=await b.window.open(o,{limit:u});if(re(),A.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C");if(De(b.window)){let Q=await b.window.loadOlder({limit:u,establishLatestOnly:!0});if(re(),Q.stale)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4F1A\u8BDD\u8FDC\u7AEF\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C")}if(m!==ue)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");_n(b.window.list()),Te=!0;let L=b.window.list();return s.resolveReadMessageId===void 0?L.at(-1)?.id:s.resolveReadMessageId(L)}finally{b.dispose();}}async function An(){let m=n.domainState.getSession(o),b=Math.max(0,m?.manuallyUnread===true?0:m?.unreadCount??0),A=n.domainState.getReadState(o),L=A?.readCursor,fe=(L===void 0||L===""?void 0:o.conversationType==="channel"?n.domainState.getLoadedMessagesByConversation(o).find(Pe=>Pe.extensions?.historyCursor===L):n.domainState.getConversationMessage(o,L))?.sortKey??A?.readCursorSortKey;if(P=await Ga({conversation:o,pageSize:u,unreadCount:b,...fe===void 0?{}:{readCursorSortKey:fe},signal:Oe.signal,...o.conversationType!=="channel"||L===void 0||L===""||n.loadEntryUnreadPage===void 0?{}:{loadReadCursorPage:async Pe=>{let se=f.window.getRevision(),Se=()=>!S&&!Oe.signal.aborted&&f.window.getRevision()===se,ke=await n.loadEntryUnreadPage({readCursor:L,...Pe===void 0?{}:{cursor:Pe},signal:Oe.signal,isCurrent:Se});if(a$1(Oe.signal),!Se())throw new DOMException("\u9996\u672A\u8BFB\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u7A97\u53E3\u64CD\u4F5C\u4F5C\u5E9F","AbortError");return ke}},selfId:n.getSelfId(),list:()=>f.window.list(),hasOlder:()=>f.window.info().hasMore,hasNewer:()=>f.window.info().hasNewer,openLatest:ze,openAt:(Pe,se)=>{if(se===void 0&&o.conversationType==="channel"&&L!==void 0&&L!==""&&n.loadEntryUnreadPage!==void 0)return Promise.resolve();i=false;let Se=se?.messages.map(Je=>n.domainState.getConversationMessage(o,Je.id)??Je),ke=se?.messages.find(Je=>Je.sortKey===Pe)?.id,Be=ke===void 0?Pe:Se?.find(Je=>Je.id===ke)?.sortKey??Pe;return He(`entry-unread:${Pe}`,()=>f.window.openAt(o,{anchorSortKey:Be,limit:u,...se===void 0?{}:{seedMessages:Se,seedHasNewer:se.hasNewer,seedRemotePagination:se.nextCursor===void 0?{}:{newerCursor:se.nextCursor}}}))},loadOlder:()=>He("entry-unread:older",()=>f.window.loadOlder({limit:u})),loadNewer:()=>He("entry-unread:newer",()=>f.window.loadNewer({limit:u}))}),P.state==="located"&&f.window.info().remotePagination===true){let Pe=P.firstMessageId,se=f.window.list().find(ke=>ke.id===Pe);se!==void 0&&await He("entry-unread:context",async()=>(await Ne(f.window,se,()=>{a$1(Oe.signal),re();}),{conversationId:o.conversationId,messages:f.window.list(),stale:false}));let Se=f.window.list().find(ke=>ke.id===Pe);(Se===void 0||!Ea$2(Se)||Se.recalled!==void 0||Se.deletedForEveryone!==void 0)&&(P=Object.freeze({state:"unavailable"}));}}let vn=n.emitter.subscribe(m=>{if(!(S||!("conversation"in m)||m.conversation===void 0)&&!(m.conversation.conversationType!==o.conversationType||m.conversation.conversationId!==o.conversationId)){if((m.type==="conversation-history:cleared"||m.type==="session:removed")&&(Oe.abort(),ye(),P=Object.freeze({state:"none"}),h&&(w=Object.freeze({state:"none"})),ue+=1,xe?.dispose(),xe=void 0,Te=false,_e=void 0),m.type==="message:received"&&m.source==="live"&&(h&&T.add(m.message.id),Te&&(_e===void 0||m.message.sortKey>_e.sortKey)&&(s.resolveReadMessageId===void 0||s.resolveReadMessageId([m.message])===m.message.id)&&(_e=m.message)),m.type==="draft:updated"||m.type==="draft:cleared"){let b=m.type==="draft:updated"?m.draft:null;for(let A of I)try{A(b);}catch(L){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:L}});}}z$1();}});function mr(){return c.initialPosition==="first-unread"?An():ze()}let fr=()=>{Oe.abort(c.signal?.reason),f.dispose();};c.signal?.addEventListener("abort",fr,{once:true});try{if(a$1(c.signal),c.initialLoad==="local-first"){await He("initial:local",()=>f.window.open(o,{limit:u})),a$1(c.signal),Fe(),i=!0;try{await mr();}catch(m){if(a$1(c.signal),m instanceof _a$1)throw m;q=ja(m,"history.initial",o),c.initialPosition==="first-unread"&&(P=Object.freeze({state:"unavailable"}));}finally{i=!1;}}else await mr();a$1(c.signal);}catch(m){throw S=true,Oe.abort(),vn(),R.clear(),f.dispose(),m instanceof _a$1?m.cause:m}finally{c.signal?.removeEventListener("abort",fr);}a=false,kn();function Le(m,b){let A=n.domainState.getConversationMessage(o,m);return A!==void 0&&A.conversationType===o.conversationType&&A.conversationId===o.conversationId?{ok:true,message:sr(A)}:{ok:false,error:oe({code:A===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:o})}}async function nn(m,b,A){let L=await s.getSendPermissionError?.(m);if(re(),L!==void 0){if(A===void 0)return {ok:false,error:L};let Q=await A(L);return re(),Q}try{let Q=await b();return re(),Q}catch(Q){if(S)throw Q;return {ok:false,error:Kt(Q,m,o)}}}async function It(m,b={}){let A="name"in m?m.name:void 0,L=b.fileName??(typeof A=="string"&&A!==""?A:void 0);return {...o,data:m,...m.type===""?{}:{mimeType:m.type},...L===void 0?{}:{filename:L},...o.conversationType==="robot"?{encrypted:false}:{},...b.localPreviewUrl===void 0?{}:{localPreviewUrl:b.localPreviewUrl},...b.localPreviewMetadata===void 0?{}:{localPreviewMetadata:b.localPreviewMetadata},...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}}}function tt(m){return m===void 0||Number.isFinite(m.width)&&m.width>0&&Number.isFinite(m.height)&&m.height>0}function $n(m){return tt(m)&&(m?.duration===void 0||Number.isFinite(m.duration)&&m.duration>0)&&(m?.posterData===void 0||m.posterData instanceof Uint8Array&&m.posterData.length>0&&m.posterData.length<=Of)}function $t(m){return m!==void 0&&"duration"in m&&m.duration!==void 0&&Number.isFinite(m.duration)&&m.duration>0}function Ee(m,b,A){return {ok:false,error:oe({code:m,category:b,operation:A,retryable:false,conversation:o})}}function Jt(m,b){if(m===null||typeof m!="object"||m.kind!==b||!Number.isSafeInteger(m.width)||m.width<=0||m.width>Wl||!Number.isSafeInteger(m.height)||m.height<=0||m.height>Wl)return false;let A;try{A=new URL(m.url);}catch{return false}if(A.protocol!=="http:"&&A.protocol!=="https:"||A.username!==""||A.password!=="")return false;let L=m.resourceId;if(L!==void 0&&(typeof L!="string"||L.trim()===""))return false;if(b==="gif")return !Object.prototype.hasOwnProperty.call(m,"packageId");let Q=m.packageId;return typeof L=="string"&&L.trim()!==""&&typeof Q=="string"&&Q.trim()!==""}function Mn(m){return Object.assign(new Error(m.code),m,{name:"ImMessageActionError"})}function Wr(m,b,A){if(m==="direct"||m==="group"||m==="channel"||m==="robot")return Object.freeze({conversationType:m,conversationId:b});throw Mn(oe({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:A,retryable:false,conversation:o,details:{targetConversationType:m,targetConversationId:b}}))}async function $r(m,b,A){let L;try{L=await n.forwardMessages({messages:b,targets:A.map(Q=>({...Q}))});}catch(Q){throw Mn(Kt(Q,m,o))}return re(),Object.freeze({sent:Object.freeze(L.results.flatMap(Q=>Q.ok?[{conversation:Wr(Q.targetConversationType,Q.targetConversationId,m),messageId:Q.newMessageId}]:[])),failed:Object.freeze(L.results.flatMap(Q=>Q.ok?[]:[{sourceMessageId:Q.sourceMessageId,conversation:Object.freeze({conversationType:Q.targetConversationType,conversationId:Q.targetConversationId}),error:oe({...Nf[Q.reason],operation:m,conversation:{conversationType:Q.targetConversationType,conversationId:Q.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...L.skippedSourceIds])})}function vt(m,b){let A=n.domainState.getConversationMessage(o,m);if(A===void 0){let L=n.domainState.getMessagesById(m)[0];throw Mn(oe({code:L===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:o}))}if(A.conversationType!==o.conversationType||A.conversationId!==o.conversationId)throw Mn(oe({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:b,retryable:false,conversation:o}));return A}function Tt(m,b){return Mn(oe({...b,operation:m,conversation:o}))}function Yt(m,b){let A=oe({code:m,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:o,...b===void 0?{}:{cause:b}});return Object.assign(new Error(m),A,{name:"ImLocalMessageDeletionError"})}function ht(m,b){let A=oe({code:m,category:"state",operation:"history.clearLocal",retryable:false,conversation:o,...b===void 0?{}:{cause:b}});return Object.assign(new Error(m),A,{name:"ImLocalConversationHistoryClearError"})}function Jr(){if(S)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(D!==void 0)return D;let m=new DOMException("\u672C\u6B21\u6E05\u5386\u53F2\u5DF2\u53D6\u6D88\u65E7\u7A97\u53E3\u5BFC\u822A","AbortError");ye(m),n.invalidateHistory?.(o,m);let b=[...k.values()],A=Promise.all(b.map(L=>L.catch(Q=>{if(Q!==m)throw Q}))).then(async()=>{re();let L=[...n.domainState.getMessagesByConversation(o),...f.window.list()];if(n.hasOutboxForConversation(o)||L.some(Q=>n.isOutboxOwned(Q.id)))throw ht("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(L.some(Q=>Q.status==="pending"||Q.status==="uploading"||Q.status==="sending"))throw ht("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(o),re(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(L=>{throw L instanceof Error&&L.name==="ImLocalConversationHistoryClearError"?L:ht("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",L)}).finally(()=>{D===A&&(D=void 0);});return D=A,A}async function gr(m,b){if(m!==void 0)try{await n.domainState.clearDraftIfUnchanged(o,m);}catch(A){n.emitter.emit({type:"error",error:{scope:"storage",message:`\u6D88\u606F\u5DF2\u88AB\u672C\u5730\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u8349\u7A3F\u5931\u8D25\uFF08${b}\uFF09`,cause:A}});}}async function G(m,b,A,L,Q){return nn(m,async()=>{if(b==="image"){let Se=await So(A);if(re(),!Se)return Ee("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",m)}let fe=await It(A,L);if(re(),b!==void 0&&fe.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Se=new AbortController,ke=await n.prepareMediaPreview({operationId:`${o.conversationType}:${o.conversationId}:${m}:${++g}`,kind:b,file:A,signal:Se.signal});if(re(),ke===void 0||(b==="image"?!tt(ke):!$n(ke)))return Ee(b==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",m);fe.localPreviewMetadata=ke;}if(b==="video"&&(n.prepareMediaPreview!==void 0||fe.localPreviewMetadata!==void 0)&&!$t(fe.localPreviewMetadata))return Ee("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",m);let Pe=s.recheckSendPermissionError?.(m);if(Pe!==void 0)return {ok:!1,error:Pe};let se=await Q({...fe,...L.filesAlbum===void 0?{}:{filesAlbum:L.filesAlbum},...L.caption===void 0||L.caption===""?{}:{caption:L.caption}});return se.ok?(re(),Le(se.messageId,m)):{ok:!1,error:kr(se.reason,m,o)}})}async function Bo(m,b){let A="messages.sendMediaAlbum";if(m.length===0)return Ee("IM_SDK_MEDIA_ALBUM_EMPTY","validation",A);if(m.length>r$1)return Ee("IM_SDK_MEDIA_ALBUM_TOO_MANY","validation",A);if(b.caption!==void 0&&Array.from(b.caption).length>q$1)return Ee("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation",A);for(let L of m){if(L.file.type==="image/gif")return Ee("IM_SDK_MEDIA_ALBUM_GIF_UNSUPPORTED","unsupported",A);if(L.kind==="image"){if(L.file.size>ql)return Ee("IM_SDK_IMAGE_TOO_LARGE","validation",A);if(!tt(L.localPreviewMetadata))return Ee("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",A)}else {if(L.file.size>Ha)return Ee("IM_SDK_VIDEO_TOO_LARGE","validation",A);if(!$n(L.localPreviewMetadata))return Ee("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",A)}}return nn(A,async()=>{for(let se of m){if(se.kind!=="image")continue;let Se=await So(se.file);if(re(),!Se)return Ee("IM_SDK_IMAGE_FORMAT_UNSUPPORTED","unsupported",A)}let L=await Promise.all(m.map(async se=>{if(se.localPreviewMetadata!==void 0||n.prepareMediaPreview===void 0)return se.localPreviewMetadata;let Se=new AbortController;return n.prepareMediaPreview({operationId:`${o.conversationType}:${o.conversationId}:${A}:${++g}`,kind:se.kind,file:se.file,signal:Se.signal})}));re();let Q=[];for(let[se,Se]of m.entries()){let ke=L[se];if(Se.kind==="image"&&!tt(ke))return Ee("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation",A);if(Se.kind==="video"){if(!$n(ke))return Ee("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",A);if(n.prepareMediaPreview!==void 0&&!$t(ke))return Ee("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",A)}let Be="name"in Se.file?Se.file.name:void 0;Q.push({kind:Se.kind,data:Se.file,...Se.file.type===""?{}:{mimeType:Se.file.type},...typeof Be=="string"&&Be!==""?{filename:Be}:{},...Se.localPreviewUrl===void 0?{}:{localPreviewUrl:Se.localPreviewUrl},...ke===void 0?{}:{localPreviewMetadata:ke}});}let fe=s.recheckSendPermissionError?.(A);if(fe!==void 0)return {ok:!1,error:fe};let Pe=await n.sendMediaAlbum({...o,items:Q,...b.caption===void 0||b.caption.trim()===""?{}:{caption:b.caption},...b.hd===void 0?{}:{hd:b.hd},...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return Pe.ok?(re(),Le(Pe.messageId,A)):{ok:!1,error:kr(Pe.reason,A,o)}})}function Yr(m,b,A){let L=vt(m,A);if(!(L.contentType===b||b==="file"&&L.contentType==="filesAlbum"&&L.body.filesAlbum?.items.length===1)||L.status!=="failed"||!(L.failure?.displayCode==="media.uploadInterrupted"||L.failure?.displayCode==="media.cancelled"||L.failure?.displayCode==="media.uploadTimeout"&&L.failure.retryable===false)||n.isOutboxOwned(m))throw Mn(oe({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:A,retryable:false,conversation:o}));return L}async function Xr(m,b,A,L,Q,fe){return Yr(b,A,m),nn(m,async()=>{let Pe=await It(L,Q);if(A==="video"&&Pe.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let ke=new AbortController,Be=await n.prepareMediaPreview({operationId:`${o.conversationType}:${o.conversationId}:${m}:${++g}`,kind:"video",file:L,signal:ke.signal});if(re(),Be===void 0||!$n(Be))return Ee("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",m);Pe.localPreviewMetadata=Be;}if(A==="video"&&(n.prepareMediaPreview!==void 0||Pe.localPreviewMetadata!==void 0)&&!$t(Pe.localPreviewMetadata))return Ee("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",m);let se=s.recheckSendPermissionError?.(m);if(se!==void 0)return {ok:!1,error:se};Yr(b,A,m);let Se=await fe(b,{...Pe,...Q.caption===void 0||Q.caption===""?{}:{caption:Q.caption}});return Se.ok?(re(),Le(Se.messageId,m)):{ok:!1,error:kr(Se.reason,m,o)}})}let Fn={ref:o,getSnapshot:E,subscribe(m){return re(),R.add(m),()=>R.delete(m)},resolveMessage:async m=>{re();let b=f.window.list().find(A=>A.id===m)??await n.domainState.resolveConversationMessage(o,m);return b===void 0?null:qn(b)},history:{loadEntryUnread:m=>Qe(m),loadLatest:async()=>en(),loadOlder:async()=>(re(),ye(),He("older",()=>f.window.loadOlder({limit:u}))),loadNewer:async()=>{re(),ye(),await He("newer",()=>f.window.loadNewer({limit:u})),re(),f.window.info().hasNewer||(Fe(),z$1());},loadAround:async(m,b={})=>{if(re(),b.signal?.aborted===true)throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u53D6\u6D88","AbortError");let A=F(),{version:L,controller:Q}=A;if(D===void 0&&o.conversationType==="channel"&&C.has(f.window)&&n.domainState.getPinnedMessage(o)?.messageId===m&&f.window.list().some(Pn=>Pn.id===m&&Vr(Pn))){Y(A);return}let fe=f,Pe=()=>!S&&!Q.signal.aborted&&$===L&&f===fe,se=()=>{if(re(),!Pe())throw new DOMException("\u6D88\u606F\u5B9A\u4F4D\u5DF2\u88AB\u65B0\u7684\u5BFC\u822A\u53D6\u4EE3","AbortError")},Se,ke=false,Be,Je=new Promise((Pn,on)=>{Be=on;}),jn=()=>{ke||Se?.dispose(),Be(Q.signal.reason);},rt=()=>Q.abort(b.signal?.reason);Q.signal.addEventListener("abort",jn,{once:true}),b.signal?.addEventListener("abort",rt,{once:true});let ot=(async()=>{let Pn=await B(m,se);if(se(),Pn===void 0)throw Tf(o,m);if(Pn.anchor.conversationType!==o.conversationType||Pn.anchor.conversationId!==o.conversationId)throw zr(o,m);Se=n.domainState.createMessageWindow(p);let on=Se.window;await He(`around:${m}:${L}`,async()=>(se(),he(on,Pn,se,true)),{window:on,isCurrent:Pe,cancelled:Je}),se(),f=Se,Pn.remoteSeed!==void 0&&C.add(on),ke=true,fe.dispose(),z$1();})();try{await Promise.race([ot,Je]);}finally{b.signal?.removeEventListener("abort",rt),Q.signal.removeEventListener("abort",jn),Y(A),ke||Se?.dispose();}},clearLocal:async()=>(re(),Jr())},messages:{sendText:async(m,b={})=>{re();let A=r(o,m,b);if("code"in A)return {ok:false,error:A};let L=n.domainState.getDraft(o)?.updatedAt;return nn("messages.sendText",async()=>{let Q=await n.sendText(A);return re(),await gr(L,"messages.sendText"),Le(Q.id,"messages.sendText")},async Q=>{let fe=s.appendTextPermissionFailure?.(A);return fe===void 0?{ok:false,error:Q}:(await gr(L,"messages.sendText"),{ok:true,message:sr(fe)})})},sendContact:async(m,b={})=>{re();let A=m.targetId.trim(),L=m.displayName.trim();if(A===""||L==="")return {ok:false,error:oe({code:A===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:o})};let Q={...o,contact:{...m,targetId:A,displayName:L},encrypted:o.conversationType!=="direct"&&o.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}};return nn("messages.sendContact",async()=>{let fe=await n.sendContact(Q);return Le(fe.id,"messages.sendContact")})},sendImage:async(m,b={})=>(re(),m.size>ql?Ee("IM_SDK_IMAGE_TOO_LARGE","validation","messages.sendImage"):b.caption!==void 0&&b.caption!==""?Ee("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):tt(b.localPreviewMetadata)?G("messages.sendImage","image",m,b,n.sendImage):Ee("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendMediaAlbum:async(m,b={})=>(re(),Bo(m,b)),sendVideo:async(m,b={})=>(re(),m.size>Ha?Ee("IM_SDK_VIDEO_TOO_LARGE","validation","messages.sendVideo"):$n(b.localPreviewMetadata)?G("messages.sendVideo","video",m,b,n.sendVideo):Ee("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(m,b,A={})=>(re(),b.size>Ha?Ee("IM_SDK_VIDEO_TOO_LARGE","validation","messages.replaceInterruptedVideo"):$n(A.localPreviewMetadata)?Xr("messages.replaceInterruptedVideo",m,"video",b,A,n.replaceVideo):Ee("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(m,b)=>(re(),nn("messages.sendVoice",async()=>{let A=await It(m,b),L=s.recheckSendPermissionError?.("messages.sendVoice");if(L!==void 0)return {ok:!1,error:L};let Q=await n.sendVoice({...A,durationMs:b.durationMs,...b.waveform===void 0?{}:{waveform:[...b.waveform]}});return Q.ok?(re(),Le(Q.messageId,"messages.sendVoice")):{ok:!1,error:kr(Q.reason,"messages.sendVoice",o)}})),sendFile:async(m,b={})=>{if(re(),m.size>Vl)return Ee("IM_SDK_FILE_TOO_LARGE","validation","messages.sendFile");if(b.caption!==void 0&&Array.from(b.caption).length>q$1)return Ee("IM_SDK_MEDIA_ALBUM_CAPTION_TOO_LONG","validation","messages.sendFile");let A=b.fileName??("name"in m?m.name:void 0);return typeof A!="string"||A.trim()===""?Ee("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):G("messages.sendFile",void 0,m,b,n.sendFile)},sendGif:async(m,b={})=>(re(),m.size>Df?Ee("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await xf(m)?G("messages.sendGif",void 0,m,b,A=>n.sendGif(A)):Ee("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(m,b={})=>(re(),Jt(m,"sticker")?nn("messages.sendSticker",async()=>{let A=await n.sendExpression({...o,asset:m,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return Le(A.id,"messages.sendSticker")}):Ee("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(m,b={})=>(re(),Jt(m,"gif")?nn("messages.sendGifAsset",async()=>{let A=await n.sendExpression({...o,asset:m,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return Le(A.id,"messages.sendGifAsset")}):Ee("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(m,b={})=>(re(),m!=="rock-paper-scissors"&&m!=="dice"?Ee("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):nn("messages.sendGame",async()=>{let A=await n.sendGame({...o,gameType:m,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return Le(A.id,"messages.sendGame")})),sendMiniProgram:async(m,b={})=>(re(),x$1(m)?nn("messages.sendMiniProgram",async()=>{let A=await n.sendMiniProgram({...o,miniProgram:m,encrypted:o.conversationType!=="direct"&&o.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return Le(A.id,"messages.sendMiniProgram")}):Ee("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(m,b={})=>(re(),o.conversationType==="channel"||o.conversationType==="robot"?Ee("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):z(m)?nn("messages.sendTransfer",async()=>{let A=await n.sendTransfer({...o,transfer:m,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return Le(A.id,"messages.sendTransfer")}):Ee("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),sendGift:async(m,b={})=>(re(),o.conversationType==="channel"||o.conversationType==="robot"?Ee("IM_SDK_GIFT_CHANNEL_UNSUPPORTED","unsupported","messages.sendGift"):u$1(m)?nn("messages.sendGift",async()=>{let A=await n.sendGift({...o,gift:m,...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return Le(A.id,"messages.sendGift")}):Ee("IM_SDK_GIFT_BODY_INVALID","validation","messages.sendGift")),sendLiveRoom:async(m,b={})=>(re(),v$1(m)?nn("messages.sendLiveRoom",async()=>{let A=await n.sendLiveRoom({...o,liveRoom:m,encrypted:o.conversationType!=="direct"&&o.conversationType!=="robot",...b.replyToMessageId===void 0?{}:{refMessageId:b.replyToMessageId}});return Le(A.id,"messages.sendLiveRoom")}):Ee("IM_SDK_LIVE_ROOM_BODY_INVALID","validation","messages.sendLiveRoom")),toggleReaction:async(m,b)=>{re(),vt(m,"messages.toggleReaction");let A=await n.setReaction({conversation:o,parentMessageId:m,emoji:b,action:"toggle"});if(re(),!A.ok)throw Tt("messages.toggleReaction",jl[A.reason]);return Object.freeze({messageId:m,eventId:A.event.id,emoji:A.event.emoji,action:A.event.action===0?"add":"remove"})},setReaction:async(m,b,A)=>{re(),vt(m,"messages.setReaction");let L=await n.setReaction({conversation:o,parentMessageId:m,emoji:b,action:A});if(re(),!L.ok)throw Tt("messages.setReaction",jl[L.reason]);return Object.freeze({messageId:m,eventId:L.event.id,emoji:L.event.emoji,action:L.event.action===0?"add":"remove"})},replaceInterruptedFile:async(m,b,A={})=>{if(re(),b.size>Vl)return Ee("IM_SDK_FILE_TOO_LARGE","validation","messages.replaceInterruptedFile");if(A.caption!==void 0&&A.caption!=="")return Ee("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let L=A.fileName??("name"in b?b.name:void 0);return typeof L!="string"||L.trim()===""?Ee("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):Xr("messages.replaceInterruptedFile",m,"file",b,{...A,fileName:L},n.replaceFile)},editText:async(m,b,A={})=>{re(),vt(m,"messages.editText"),No(n.domainState,o,m,"messages.editText");let L=d(o,m,b,A);if("code"in L)throw Mn(L);let Q;try{Q=await n.editMessage(L);}catch(fe){throw Mn(Kt(fe,"messages.editText",o))}if(re(),!Q.ok)throw Tt("messages.editText",Af[Q.reason]);return sr(vt(m,"messages.editText"))},recall:async m=>{re(),vt(m,"messages.recall"),No(n.domainState,o,m,"messages.recall");let b;try{b=await n.recallMessage({...o,messageId:m});}catch(A){throw Mn(Kt(A,"messages.recall",o))}if(re(),!b.ok)throw Tt("messages.recall",Ef[b.reason])},deleteLocal:async m=>{re(),No(n.domainState,o,m,"messages.deleteLocal");let b=n.domainState.getConversationMessage(o,m);if(n.isOutboxOwned(m))throw Yt("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(b!==void 0&&b.conversationType===o.conversationType&&b.conversationId===o.conversationId&&(b.status==="pending"||b.status==="uploading"||b.status==="sending"))throw Yt("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{n.invalidateHistory?.(o);let A=await n.domainState.deleteLocalMessage(o,m);return re(),Object.freeze({scope:"local-only",messageId:m,deleted:A,remoteHistory:"remote-history-may-restore"})}catch(A){throw A instanceof Error&&"code"in A&&A.code==="IM_MESSAGE_PINNED"?Yt("IM_SDK_MESSAGE_PINNED",A):A instanceof Error&&A.name==="ImLocalMessageDeletionError"?A:Yt("IM_SDK_LOCAL_DELETE_FAILED",A)}},forward:async(m,b)=>{if(re(),m.length===0||b.length===0)throw Mn(oe({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:o}));return $r("messages.forward",m.map(A=>({id:A,...o})),b)},forwardMediaAlbumItem:async(m,b,A)=>{re();let L="messages.forwardMediaAlbumItem";if(m.trim()===""||A.length===0)throw Mn(oe({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:L,retryable:false,conversation:o}));if(!Number.isInteger(b)||b<0)throw Mn(oe({code:"IM_SDK_MEDIA_ALBUM_ITEM_INVALID",category:"validation",operation:L,retryable:false,conversation:o,details:{itemIndex:b}}));return $r(L,[{id:m,...o,itemIndex:b}],A)},fetchByIds:async m=>{re();let b=n.fetchMessagesByIdBatch;if(b===void 0)throw Mn(oe({code:"IM_SDK_MESSAGE_LOOKUP_UNSUPPORTED",category:"unsupported",operation:"messages.fetchByIds",retryable:false,conversation:o}));let A=n.beginReceiving?.();try{let L=await Gl({messageIds:m,fetchBatch:b,isCurrent:()=>!S,projectMessage:qn});return Object.freeze({messages:Object.freeze([...L.messages]),missingMessageIds:Object.freeze([...L.missingMessageIds]),unresolvedMessageIds:Object.freeze([...L.unresolvedMessageIds]),...L.failure===void 0?{}:{failure:Object.freeze(L.failure)}})}finally{A?.();}}},draft:{get:async()=>(re(),n.drafts.get(o)),save:async m=>(re(),n.drafts.save(o,m)),clear:async()=>{re(),await n.drafts.clear(o);},subscribe(m){return re(),I.add(m),()=>I.delete(m)}},markRead:async m=>{re();let b=f.window.list();if(m!==void 0&&!b.some(L=>L.id===m))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${m}`);let A=s.resolveReadMessageId===void 0?m??b.at(-1)?.id:s.resolveReadMessageId(b,m);A!==void 0&&await n.markRead({...o,readCursor:A});},markConversationRead:async()=>{if(re(),n.markConversationRead===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u6574\u4F1A\u8BDD\u5DF2\u8BFB\u80FD\u529B");let m=ue,b=await Wn();if(re(),m!==ue)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError");if(o.conversationType==="channel"&&b===void 0&&f.window.list().length>0)throw new Error("\u5F53\u524D\u9891\u9053\u7F3A\u5C11\u53EF\u4FE1\u7684\u6700\u65B0\u5DF2\u8BFB\u6D88\u606F");if(b!==void 0&&n.domainState.getConversationMessage(o,b)===void 0){let A=_e?.id===b?_e:void 0;if(A===void 0)throw new Error("\u7F3A\u5C11\u4F1A\u8BDD\u6700\u65B0\u5DF2\u8BFB\u8FB9\u754C\u7684\u6D88\u606F\u8BC1\u660E");xe??=n.domainState.createMessageWindow({retention:{maxMessages:u}});let L=await xe.window.openAt(o,{anchorSortKey:A.sortKey,limit:u,seedMessages:[A],seedHasNewer:false});if(re(),L.stale||m!==ue)throw new DOMException("\u4F1A\u8BDD\u5DF2\u8BFB\u786E\u8BA4\u5DF2\u5931\u6548","AbortError")}await n.markConversationRead(o,b);},markVisibleMessages:async m=>{if(re(),n.markVisibleMessages===void 0)throw new Error("\u5F53\u524D\u4F1A\u8BDD\u672A\u88C5\u914D\u53EF\u89C1\u6D88\u606F\u56DE\u6267\u80FD\u529B");let b=[...new Set(m)];if(b.some(A=>!f.window.list().some(L=>L.id===A)))throw new Error("\u53EF\u89C1\u56DE\u6267\u5305\u542B\u5F53\u524D\u8FDE\u7EED\u7A97\u53E3\u4E4B\u5916\u7684\u6D88\u606F");b.length>0&&await n.markVisibleMessages(o,b);},setMuted:async m=>(re(),n.setMuted(o,m)),close(){S||(S=true,Oe.abort(),ye(),vn(),R.clear(),I.clear(),Ze.clear(),xe?.dispose(),f.dispose());}};return za.set(Fn,{getMessages:()=>(re(),f.window.list()),resolveMessage:async m=>(re(),f.window.list().find(b=>b.id===m)??n.domainState.resolveConversationMessage(o,m))}),Fn}var Lf=5e3;async function $l(e,n,r={}){let d=false,s,c;function o(){let C=Date.now();if(s!==void 0&&C-s.checkedAt<Lf)return Promise.resolve(s.value);if(c!==void 0)return c;let v=n.getRelationship(e.conversationId).then(R=>(s={value:R,checkedAt:Date.now()},R)).catch(R=>(d=true,n.emitter.emit({type:"error",error:{scope:"http",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:R}}),s={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{c===v&&(c=void 0);});return c=v,v}async function u(C){if(!n.shouldCheckRelationship())return;let v=await o();if(v!=="friend"){if(v==="unknown"){d||(d=true,n.emitter.emit({type:"error",error:{scope:"protocol",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u72B6\u6001\u672A\u77E5\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:{conversation:e,relationship:v}}}));return}return oe({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:C,retryable:false,conversation:e,details:Object.freeze({relationship:v})})}}n.shouldCheckRelationship()&&o();let p=await Uo(e,n,(C,v,R)=>R.mentions!==void 0&&R.mentions.length>0?oe({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:C}):{...C,text:v,encrypted:true,...R.replyToMessageId===void 0?{}:{refMessageId:R.replyToMessageId}},(C,v,R,I)=>I.mentions!==void 0&&I.mentions.length>0?oe({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:C}):{...C,messageId:v,text:R},{getSendPermissionError:u,appendTextPermissionFailure:n.appendContactRequiredTextFailure},r),f={...p,messages:{...p.messages,async markMediaConsumed(C){let v=n.domainState.getConversationMessage(e,C);if(v===void 0||v.senderId===n.getSelfId()||v.contentType!=="voice"&&v.contentType!=="video"){let R=oe({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(R.code),R)}await n.markDirectMediaConsumed(e.conversationId,C);}}};return Lo(f,p),f}async function Jl(e,n,r={}){return Uo(e,n,(d,s,c)=>{let o=Hr(c.mentions);return {...d,text:s,encrypted:true,...o===void 0?{}:{mention:o},...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}}},(d,s,c,o)=>{let u=Hr(o.mentions);return {...d,messageId:s,text:c,...u===void 0?{}:{mention:u}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:d=>(r.initialPosition==="first-unread"||r.captureEntryUnread===true)&&n.domainState.getConversationContext(e)!==void 0&&Xl(d,n.pageSize??30)},r)}async function Yl(e,n,r={}){return Uo(e,n,(d,s,c)=>c.mentions!==void 0&&c.mentions.length>0?oe({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:d}):{...d,text:s,encrypted:false,...c.replyToMessageId===void 0?{}:{refMessageId:c.replyToMessageId}},(d,s,c,o)=>o.mentions!==void 0&&o.mentions.length>0?oe({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:d}):{...d,messageId:s,text:c},{shouldEstablishRemoteLatestOnOpen:()=>false},r)}var Uf=new Set(["pending","uploading","sending"]);function Xl(e,n){return e.length<n}function Vr(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function Ff(e,n,r){let d=r===void 0?e.length-1:e.findIndex(o=>o.id===r),s=e[d];if(s===void 0||Vr(s))return s?.id;let c=e.slice(0,d).findLast(o=>Vr(o));return c!==void 0?c.id:s.senderId===n&&Uf.has(s.status)?void 0:s.id}function Kf(e,n){let r=false;for(let d of e){let s=d.body.system;if(!(d.conversationType!=="channel"||s?.targetUserIds?.includes(n)!==true)){if(s.eventType==="channel_member_left"||s.eventType==="channel_member_removed"){r=true;continue}if(r&&(s.eventType==="channel_member_joined"||s.eventType==="channel_member_invited"))return true}}return false}async function Ql(e,n,r={}){let d=await Uo(e,n,(c,o,u)=>{let p=Hr(u.mentions);return {...c,text:o,encrypted:true,...p===void 0?{}:{mention:p},...u.replyToMessageId===void 0?{}:{refMessageId:u.replyToMessageId}}},(c,o,u,p)=>{let f=Hr(p.mentions);return {...c,messageId:o,text:u,...f===void 0?{}:{mention:f}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:c=>(r.initialPosition==="first-unread"||r.captureEntryUnread===true)&&n.domainState.getConversationContext(e)!==void 0&&Xl(c,n.pageSize??30)||Kf(c,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(c,o)=>Ff(c,n.getSelfId(),o)},r),s={...d,messages:{...d.messages,deleteForEveryone:async c=>{if(n.domainState.getConversationMessage(e,c)===void 0)throw zl(e,Hl["not-found"]);No(n.domainState,e,c,"messages.deleteForEveryone");let u;try{u=await n.deleteMessageForEveryone({...e,messageId:c});}catch(p){let f=Kt(p,"messages.deleteForEveryone",e);throw Object.assign(new Error(f.code,{cause:p}),f)}if(!u.ok)throw zl(e,Hl[u.reason])}}};return Lo(s,d),s}var Bf=40,Gf=100,jf=0;function Rt(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Hf(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function Zl(e){let n=++jf,r=new Map,d=new Map,s=new Map,c=new Map,o=new Map,u=0,p=true;function f(){if(!p)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function C(y){let S=y??Bf;if(!Number.isSafeInteger(S)||S<1||S>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return S}function v(y){let S=`im-directory:${n}:${++u}`;return r.set(S,y),S}function R(y,S){let i=o.get(y);i===void 0&&(i=new Map,o.set(y,i));let a=S.map(g=>Object.freeze({...g}));for(let g of a)i.set(g.id,g);return Object.freeze(a)}async function I(y,S,i){if(f(),e.provider===void 0)throw new Error(`${Rt(y)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let a=await e.provider.list({kind:y,page:S,pageSize:i});if(f(),a.exhausted===(a.nextPage!==void 0))throw new Error(`${Rt(y)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let g=a.nextPage===void 0?void 0:v({kind:y,page:a.nextPage,pageSize:i}),P=R(y,a.items);return Object.freeze({items:P,...g===void 0?{}:{nextPageToken:g},exhausted:a.exhausted})}function k(y){return {listFirstPage:S=>I(y,1,C(S?.pageSize)),listNextPage:S=>{f();let i=r.get(S);if(i===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(i.kind!==y)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${Rt(i.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${Rt(y)}`));let a=d.get(S);if(a!==void 0)return a;let g=I(y,i.page,i.pageSize).then(P=>(r.delete(S),P)).finally(()=>{d.delete(S);});return d.set(S,g),g}}}function D(y){f();let S=s.get(y);if(S!==void 0)return Promise.resolve(S);let i=c.get(y);if(i!==void 0)return i;if(e.provider===void 0)return Promise.reject(new Error(`${Rt(y)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let a=(async()=>{let g=[],P=new Map,h=new Set,x=1;for(;;){if(f(),h.has(x))throw new Error(`${Rt(y)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);h.add(x);let W=await e.provider.list({kind:y,page:x,pageSize:Gf});if(f(),W.exhausted===(W.nextPage!==void 0))throw new Error(`${Rt(y)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let ce of W.items)P.has(ce.id)||g.push(ce.id),P.set(ce.id,ce);if(W.nextPage===void 0)break;if(!Number.isSafeInteger(W.nextPage)||W.nextPage<1)throw new Error(`${Rt(y)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);x=W.nextPage;}let U=R(y,g.map(W=>P.get(W)));return f(),s.set(y,U),U})().finally(()=>{c.delete(y);});return c.set(y,a),a}async function q(y){if(f(),y.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[S,i,a,g]=await Promise.all([D("individual"),D("group"),D("channel"),Da$2(y)]);f();function P(x,U){let W=[];for(let ce of U){let le=ce==="displayName"?x.displayName:ce==="username"?x.username:x.id;if(le===void 0||le==="")continue;let T=g.match(le,{pinyin:ce==="displayName"});T!==null&&W.push(Hf(ce,T));}return W.length===0?null:Object.freeze({item:x,matches:Object.freeze(W)})}function h(x,U){return Object.freeze(x.flatMap(W=>{let ce=P(W,U);return ce===null?[]:[ce]}))}return Object.freeze({keyword:g.keyword,contacts:h(S,["displayName","username","id"]),groups:h(i,["displayName"]),channels:h(a,["displayName"])})}return {contacts:k("individual"),groups:k("group"),channels:k("channel"),search:{search:q},peekItem:(y,S)=>(f(),o.get(y)?.get(S)),dispose:()=>{p=false,r.clear(),d.clear(),s.clear(),c.clear(),o.clear();}}}function zf(e){if(e.conversationType==="supergroup")throw oe({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"drafts",retryable:false,conversation:e});if(e.conversationId.trim()==="")throw oe({code:"IM_SDK_DRAFT_CONVERSATION_INVALID",category:"validation",operation:"drafts",retryable:false,conversation:e})}function Fo(e){return zf(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Vf(e,n){let r=n.attachments;if(r!==void 0&&r.length>0)throw oe({code:"IM_SDK_DRAFT_ATTACHMENTS_UNSUPPORTED",category:"unsupported",operation:"drafts.save",retryable:false,conversation:e});return {text:n.text,...n.mentions===void 0?{}:{mentions:n.mentions},...n.replyToMessageId===void 0?{}:{replyToMessageId:n.replyToMessageId},attachments:[]}}function eu(e){let n=new Set;function r(){if(!e.isActive())throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u64CD\u4F5C\u8349\u7A3F")}return {api:{async get(s){return r(),e.domainState.getDraft(Fo(s))},async save(s,c){r();let o=Fo(s);return e.domainState.saveDraft(o,Vf(o,c))},async clear(s){r(),await e.domainState.clearDraft(Fo(s));},subscribe(s,c){r();let o=Fo(s),u=e.emitter.subscribe(f=>{f.type!=="draft:updated"&&f.type!=="draft:cleared"||f.conversation.conversationType!==o.conversationType||f.conversation.conversationId!==o.conversationId||c(f.type==="draft:updated"?f.draft:null);}),p=()=>{u(),n.delete(p);};return n.add(p),p}},dispose(){for(let s of [...n])s();}}}var qf=20,nu=50,tu=30,ru=4294967295;function qt(e){let n=oe(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function En(e,n){return qt({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function ou(e,n){if(n instanceof y)return qt({code:n.provider==="core"?"IM_SDK_CORE_API_UNAVAILABLE":"IM_SDK_GIPHY_API_KEY_MISSING",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof z$1)return qt({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof e$1)return qt({code:"IM_SDK_EXPRESSION_BUSINESS_ERROR",category:"state",operation:e,retryable:false,details:Object.freeze({businessCode:n.businessCode}),cause:n});if(n instanceof d||n instanceof A$1){let r=n instanceof A$1?n.status:void 0;return qt({code:n instanceof A$1?"IM_SDK_GIPHY_REQUEST_FAILED":"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"network",operation:e,retryable:r===void 0||r===0||r===408||r===429||r>=500,...r===void 0?{}:{details:Object.freeze({status:r})},cause:n})}return qt({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function ut(e,n,r){if(typeof e!="string"||e.trim()==="")throw En(r,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Wf(e,n){if(typeof e!="string"||e.trim()==="")throw new z$1(`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function $f(e,n,r){if(e===void 0)return "";if(typeof e!="string")throw En(r,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function Jf(e,n,r){let d=ut(e,n,r),s;try{s=new URL(d);}catch{throw En(r,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(s.protocol!=="https:"&&s.protocol!=="http:")throw En(r,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(s.username!==""||s.password!=="")throw En(r,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return d}function au(e,n,r){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>ru)throw En(r,`${n} \u5FC5\u987B\u662F 1-${ru} \u7684\u6574\u6570`);return Number(e)}function lu(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw En(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let r={url:Jf(e.url,"url",n),width:au(e.width,"width",n),height:au(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...r,packageId:ut(e.packageId,"packageId",n),resourceId:ut(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw En(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let d=e.resourceId===void 0?void 0:ut(e.resourceId,"resourceId",n);return {kind:e.kind,...r,...d===void 0?{}:{resourceId:d}}}function Yf(e,n){if(e===null||typeof e!="object")throw En(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:ut(e.token,"token",n),resourceId:ut(e.resourceId,"resourceId",n)}:lu(e,n)}function Xf(e,n){if(e!=="sticker"&&e!=="gif")throw En(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function Qf(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw En(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function iu(e,n){if(!Array.isArray(e))throw En(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let r=[...new Set(e.map(d=>ut(d,"recordId",n)))];if(r.some(d=>d.includes("|")))throw En(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(r.length===0||r.length>tu)throw En(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${tu} \u4E2A id`);return r}function su(e,n){let r=e?.offset??0,d=e?.pageSize??qf;if(!Number.isSafeInteger(r)||r<0)throw En(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(d)||d<1||d>nu)throw En(n,`pageSize \u5FC5\u987B\u662F 1-${nu} \u7684\u6574\u6570`);return {offset:r,limit:d}}function cu(e){return Object.freeze({...e})}function Zf(e){return Object.freeze({...e})}function du(e){let n=Object.freeze(e.items.map(r=>Object.freeze({...r})));return Object.freeze({items:n,offset:e.offset,totalCount:e.totalCount,...e.nextOffset===void 0?{}:{nextOffset:e.nextOffset}})}function uu(e){function n(s){if(!e.isActive())throw qt({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:s,retryable:false})}async function r(s,c){if(n(s),e.provider===void 0)throw ou(s,new y("core"));let o;try{o=await c(e.provider);}catch(u){throw n(s),ou(s,u)}return n(s),o}let d={packs:Object.freeze({list:async s=>{let c="expressions.packs.list",o=s?.version===void 0?void 0:$f(s.version,"version",c),u=await r(c,f=>f.listStickerPacks(o)),p=Object.freeze(u.items.map(f=>Object.freeze({...f})));return Object.freeze({version:u.version,items:p})},listItems:async s=>{let c="expressions.packs.listItems",o=ut(s,"packageId",c),u=await r(c,p=>p.listStickerItems(o));return Object.freeze(u.map(cu))}}),favorites:Object.freeze({list:async s=>{let c="expressions.favorites.list",o=await r(c,u=>u.listFavorites(Xf(s,c)));return Object.freeze(o.map(cu))},add:async s=>{let c="expressions.favorites.add",o=lu(s,c);await r(c,u=>u.addFavorite(o));},delete:async s=>{let c="expressions.favorites.delete",o=iu(s,c);await r(c,u=>u.deleteFavorites(o));}}),recent:Object.freeze({list:async s=>{let c="expressions.recent.list",o=await r(c,u=>u.listRecent(Qf(s,c)));return Object.freeze(o.map(Zf))},report:async s=>{let c="expressions.recent.report",o=Yf(s,c);await r(c,u=>u.reportRecent(o));},delete:async s=>{let c="expressions.recent.delete",o=iu(s,c);await r(c,u=>u.deleteRecent(o));}}),reactions:Object.freeze({listTop:async s=>{let c="expressions.reactions.listTop",o=s?.limit;if(o!==void 0&&(!Number.isSafeInteger(o)||o<1||o>50))throw En(c,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return r(c,async u=>{let p=await u.listReactionTop(o);if(!Array.isArray(p))throw new z$1("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(p.map(f=>Wf(f,"reaction emoji")))})},report:async s=>{let c="expressions.reactions.report",o=ut(s,"emoji",c);await r(c,u=>u.reportReaction(o));}}),giphy:Object.freeze({trending:async s=>{let c="expressions.giphy.trending",o=await r(c,u=>u.listGiphyTrending(su(s,c)));return du(o)},search:async(s,c)=>{let o="expressions.giphy.search",u=ut(s,"query",o),p=await r(o,f=>f.searchGiphy({query:u,...su(c,o)}));return du(p)}})};return {api:Object.freeze(d)}}function Wt(e,n,r){try{r();}catch(d){throw (d instanceof Error?d.message:String(d)).includes("\u672A\u9274\u6743")?oe({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d}):oe({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,conversation:{conversationType:"group",conversationId:n},cause:d})}}function pu(e){return {createRoom(n){Wt("groupCalls.createRoom",n.groupId,()=>e.createRoom(n.groupId,n.callId,n.inviteIds));},joinRoom(n){Wt("groupCalls.joinRoom",n.groupId,()=>e.joinRoom(n.groupId,n.callId,n.inviteIds,n.isInvite));},answer(n){Wt("groupCalls.answer",n.groupId,()=>e.answer(n.groupId,n.callId,n.agreed));},hangup(n){Wt("groupCalls.hangup",n.groupId,()=>e.hangup(n.groupId,n.callId));},finish(n){Wt("groupCalls.finish",n.groupId,()=>e.finish(n.groupId,n.callId));},setStatus(n){Wt("groupCalls.setStatus",n.groupId,()=>e.setStatus(n.groupId,n.callId,n.isMute,n.status));},busy(n){Wt("groupCalls.busy",n.groupId,()=>e.busy(n.groupId,n.callId,n.hintUserId));},inspectMeeting(n){return e.inspectMeeting(n)}}}var eg=0;function Va(e){return Object.freeze({id:e.id,displayName:e.displayName,...e.username===void 0?{}:{username:e.username},...e.avatarUrl===void 0?{}:{avatarUrl:e.avatarUrl},...e.bound===void 0?{}:{bound:e.bound}})}function ng(e){if(e.kind==="catalog")return Object.freeze({kind:"catalog"});let n=e.conversationId.trim();if(n==="")throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 conversationId \u4E0D\u80FD\u4E3A\u7A7A");return Object.freeze({kind:"conversation",conversationType:e.conversationType,conversationId:n,...e.filter===void 0?{}:{filter:e.filter}})}function tg(e){let n={page:e.page,pageSize:e.pageSize,...e.keyword===""?{}:{keyword:e.keyword}};return e.scope.kind==="catalog"?n:{...n,groupId:e.scope.conversationId,groupType:e.scope.conversationType==="group"?1:2,...e.scope.filter==="bound"?{boundOnly:true}:{}}}function mu(e){let n=e.robotId.trim(),r=e.conversationId.trim();if(n==="")throw new Error("\u7ED1\u5B9A\u673A\u5668\u4EBA robotId \u4E0D\u80FD\u4E3A\u7A7A");if(r==="")throw new Error("\u7ED1\u5B9A\u673A\u5668\u4EBA conversationId \u4E0D\u80FD\u4E3A\u7A7A");if(e.conversationType!=="group"&&e.conversationType!=="channel")throw new Error("\u7ED1\u5B9A\u673A\u5668\u4EBA\u53EA\u652F\u6301\u7FA4\u7EC4\u548C\u793E\u7FA4");return Object.freeze({robotId:n,conversationType:e.conversationType,conversationId:r})}function rg(e){return {robotId:e.robotId,conversationId:e.conversationId,groupType:e.conversationType==="group"?1:2}}function fu(e){return Object.freeze({id:e.id,displayName:e.displayName,...e.username===void 0?{}:{username:e.username},...e.avatarUrl===void 0?{}:{avatarUrl:e.avatarUrl},...e.developerName===void 0?{}:{developerName:e.developerName},...e.description===void 0?{}:{description:e.description},...e.userCount===void 0?{}:{userCount:e.userCount},...e.firstChat===void 0?{}:{firstChat:e.firstChat},...e.appId===void 0?{}:{appId:e.appId},...e.developerId===void 0?{}:{developerId:e.developerId},...e.appName===void 0?{}:{appName:e.appName},...e.domain===void 0?{}:{domain:e.domain},...e.suffixAddress===void 0?{}:{suffixAddress:e.suffixAddress},...e.h5Url===void 0?{}:{h5Url:e.h5Url},...e.dynamicHost===void 0?{}:{dynamicHost:e.dynamicHost}})}function og(e){return Object.freeze({id:e.id,name:e.name,kind:e.kind,...e.requestsReply===void 0?{}:{requestsReply:e.requestsReply},...e.appId===void 0?{}:{appId:e.appId},...e.domain===void 0?{}:{domain:e.domain},...e.path===void 0?{}:{path:e.path}})}function gu(e){let n=++eg,r=new Map,d=new Map,s=new Map,c=new Map,o=0,u=0,p=true;function f(){if(!p)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function C(y){let S=y??20;if(!Number.isSafeInteger(S)||S<1||S>100)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return S}function v(y){let S=`im-robots:${n}:${++u}`;return r.set(S,y),S}function R(y,S){return Object.freeze(y.map(i=>{f();let a=s.get(i.id),g=S<(c.get(i.id)??0),P=Va(g&&a!==void 0?{id:a.id,displayName:a.displayName,...a.username===void 0?{}:{username:a.username},...a.avatarUrl===void 0?{}:{avatarUrl:a.avatarUrl},...i.bound===void 0?{}:{bound:i.bound}}:i);return g||c.set(i.id,S),s.set(P.id,P),g||e.onProfileUpdated?.(fu(P)),P}))}function I(y,S){let i=s.get(y);i!==void 0&&s.set(y,Va({id:i.id,displayName:i.displayName,...i.username===void 0?{}:{username:i.username},...i.avatarUrl===void 0?{}:{avatarUrl:i.avatarUrl},bound:S}));}async function k(y,S){f();let i=S?e.bind:e.unbind;if(i===void 0)throw new Error("\u673A\u5668\u4EBA\u7ED1\u5B9A\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");await i(rg(y)),f(),I(y.robotId,S);}async function D(y){if(f(),e.search===void 0)throw new Error("\u673A\u5668\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");let S=++o,i=await e.search(tg(y));f();let a=R(i.items,S),g=i.exhausted?void 0:v({...y,page:y.page+1});return Object.freeze({items:a,...g===void 0?{}:{nextPageToken:g},exhausted:i.exhausted})}return {api:{listFirstPage:y=>{try{let S=ng(y?.scope??{kind:"catalog"});return D({page:1,pageSize:C(y?.pageSize),keyword:y?.keyword?.trim()??"",scope:S})}catch(S){return Promise.reject(S)}},listNextPage:y=>{f();let S=r.get(y);if(S===void 0)return Promise.reject(new Error("\u673A\u5668\u4EBA\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));let i=d.get(y);if(i!==void 0)return i;let a=D(S).then(g=>(r.delete(y),g)).finally(()=>{d.delete(y);});return d.set(y,a),a},bindToConversation:y=>{try{return k(mu(y),!0)}catch(S){return Promise.reject(S)}},unbindFromConversation:y=>{try{return k(mu(y),!1)}catch(S){return Promise.reject(S)}},getProfile:async y=>{if(f(),e.getProfile===void 0)throw new Error("\u673A\u5668\u4EBA\u8D44\u6599\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");let S=y.robotId.trim();if(S==="")throw new Error("\u673A\u5668\u4EBA\u8D44\u6599 robotId \u4E0D\u80FD\u4E3A\u7A7A");let i=++o;c.set(S,i);let a=await e.getProfile({robotId:S,...y.lang===void 0?{}:{lang:y.lang}});if(f(),a.id!==S)throw new Error("\u673A\u5668\u4EBA\u8D44\u6599\u54CD\u5E94 robotId \u4E0E\u8BF7\u6C42\u4E0D\u4E00\u81F4");let g=fu(a);if(c.get(S)===i){let P=s.get(S);s.set(S,Va({id:g.id,displayName:g.displayName,...g.username===void 0?{}:{username:g.username},...g.avatarUrl===void 0?{}:{avatarUrl:g.avatarUrl},...P?.bound===void 0?{}:{bound:P.bound}})),e.onProfileUpdated?.(g);}return g},confirmChat:async y=>{if(f(),e.confirmChat===void 0)throw new Error("\u673A\u5668\u4EBA\u5F00\u804A\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");let S=y.trim();if(S==="")throw new Error("\u786E\u8BA4\u673A\u5668\u4EBA\u5F00\u804A robotId \u4E0D\u80FD\u4E3A\u7A7A");await e.confirmChat(S),f();},listChatMenus:async y=>{if(f(),e.listChatMenus===void 0)throw new Error("\u673A\u5668\u4EBA\u6307\u4EE4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");let S=y.trim();if(S==="")throw new Error("\u673A\u5668\u4EBA\u6307\u4EE4 robotId \u4E0D\u80FD\u4E3A\u7A7A");let i=await e.listChatMenus(S);return f(),Object.freeze(i.map(og))},requestMenuReply:async y=>{if(f(),e.requestMenuReply===void 0)throw new Error("\u673A\u5668\u4EBA\u6307\u4EE4\u56DE\u590D\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi");let S=y.robotId.trim(),i=y.menuId.trim();if(S===""||i==="")throw new Error("\u673A\u5668\u4EBA\u6307\u4EE4\u56DE\u590D robotId \u548C menuId \u4E0D\u80FD\u4E3A\u7A7A");await e.requestMenuReply({robotId:S,menuId:i}),f();}},peek:y=>{let S=y.trim();return S===""?void 0:s.get(S)},dispose:()=>{p=false,r.clear(),d.clear(),s.clear(),c.clear();}}}var ag=30,ig=300*1e3,sg=64,cg=0;function dg(e,n){let r=e.contentType==="text"||e.contentType==="mediaAlbum"?n:e.contentType==="filesAlbum"?e.body.filesAlbum?.caption:void 0;if(r===void 0||r==="")return Object.freeze([Object.freeze({kind:"plain",text:n})]);let d=e.mention,s=[Object.freeze({kind:"rich-text",text:r,...d===void 0?{}:{mention:Object.freeze({atAll:d.atAll,atUserIds:[...d.atUserIds],...d.atUsersName===void 0?{}:{atUsersName:Object.freeze({...d.atUsersName})}})}})];return r.length<n.length&&s.push(Object.freeze({kind:"plain",text:n.slice(r.length)})),Object.freeze(s)}function pt(e){let n=oe({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImSearchOperationError"})}function yu(e){let n=e.now??(()=>Date.now()),r=e.pageSize??ag,d=e.tokenTtlMs??ig,s=e.maxTokens??sg;if(!Number.isInteger(r)||r<=0)throw new Error("\u641C\u7D22 pageSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(d)||d<=0)throw new Error("\u641C\u7D22 tokenTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(s)||s<=0)throw new Error("\u641C\u7D22 maxTokens \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let c=++cg,o=new Map,u=0,p=true;function f(h){if(!p)throw pt({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:h,retryable:false});if(e.isAvailable?.()===false)throw pt({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:h,retryable:false})}function C(h,x){let U=h.trim();if(U==="")throw pt({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:x,retryable:false});return U}function v(h){let x=`im-search:${c}:${++u}`;for(o.set(x,{...h,expiresAt:n()+d});o.size>s;){let U=o.keys().next().value;if(typeof U!="string")break;o.delete(U);}return x}function R(h,x){let U=x==="conversation"?"search.conversations.next":"search.messages.next";f(U);let W=o.get(h);if(W===void 0||W.expiresAt<=n())throw o.delete(h),pt({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:U,retryable:false});if(W.kind!==x)throw pt({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:U,retryable:false});return W}function I(h){let x=h.draft?.text.trim();return x===void 0||x===""?h.lastMessagePreview:x}function k(h){let x=Object.freeze({conversationType:h.type,conversationId:h.id});return Object.freeze({ref:x,title:h.title,preview:I(h)})}function D(h,x){let U=Object.freeze(h.slice(x,x+r)),W=x+U.length,ce=W>=h.length,le=ce?void 0:v({kind:"conversation",items:h,offset:W});return Object.freeze({items:U,...le===void 0?{}:{nextPageToken:le},exhausted:ce})}async function q(h,x,U){f(U);let W=C(x,U).toLowerCase(),ce=Object.freeze(e.domainState.getConversationList().filter(le=>(le.type==="direct"||le.type==="group"||le.type==="channel"||le.type==="robot")&&(h===void 0||le.type===h)&&`${le.title}
2
- ${le.id}`.toLowerCase().includes(W)).map(k));return D(ce,0)}function y(h,x,U){let W=h.conversationId.trim();if(h.conversationType!==x||W==="")throw pt({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:U,retryable:false});return Object.freeze({conversationType:x,conversationId:W})}function S(h,x){let U=h.conversationType,W=h.conversationId.trim();if(U!=="direct"&&U!=="group"&&U!=="channel"&&U!=="robot"||W==="")throw pt({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:U==="supergroup"?"unsupported":"validation",operation:x,retryable:false});return Object.freeze({conversationType:U,conversationId:W})}async function i(h){f("search.messages");let x;try{x=await e.domainState.searchMessages(h.ref,{...h.keyword===void 0?{}:{keyword:h.keyword},...h.contentTypes===void 0?{}:{contentTypes:h.contentTypes},limit:r,...h.beforeSortKey===void 0?{}:{beforeSortKey:h.beforeSortKey}});}catch(T){throw pt({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:T})}let U=new Set,W=[];for(let{message:T}of x.results){if(T.conversationType!==h.ref.conversationType||T.conversationId!==h.ref.conversationId||T.sortKey.trim()===""||h.contentTypes!==void 0&&!h.contentTypes.includes(T.contentType))throw pt({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});if(U.has(T.id))continue;U.add(T.id);let ae=Ba$2(T);W.push(Object.freeze({ref:h.ref,messageId:T.id,senderId:T.senderId,createdAt:m$1(T),contentType:T.contentType,preview:ae,previewParts:dg(T,ae)}));}let ce=x.nextBeforeSortKey?.trim();if(!x.exhausted&&(ce===void 0||ce==="")||x.exhausted&&ce!==void 0)throw pt({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let le=ce===void 0?void 0:v({kind:"message",ref:h.ref,...h.keyword===void 0?{}:{keyword:h.keyword},...h.contentTypes===void 0?{}:{contentTypes:h.contentTypes},beforeSortKey:ce});return Object.freeze({items:Object.freeze(W),...le===void 0?{}:{nextPageToken:le},exhausted:x.exhausted})}async function a(h,x,U,W){f(W);let ce=y(h,x,W);return i({ref:ce,keyword:C(U,W)})}async function g(h,x,U,W){f(U);let ce=S(h,U),le=W?.trim();return i({ref:ce,...le===void 0||le===""?{}:{keyword:le},contentTypes:Object.freeze([x])})}return {api:{conversations:{all:h=>q(void 0,h,"search.conversations.all"),direct:h=>q("direct",h,"search.conversations.direct"),groups:h=>q("group",h,"search.conversations.groups"),channels:h=>q("channel",h,"search.conversations.channels"),async next(h){let x=R(h,"conversation");return D(x.items,x.offset)}},messages:{inDirect:(h,x)=>a(h,"direct",x,"search.messages.inDirect"),inGroup:(h,x)=>a(h,"group",x,"search.messages.inGroup"),inChannel:(h,x)=>a(h,"channel",x,"search.messages.inChannel"),inRobot:(h,x)=>a(h,"robot",x,"search.messages.inRobot"),texts:async(h,x)=>(f("search.messages.texts"),g(h,"text","search.messages.texts",C(x,"search.messages.texts"))),files:(h,x)=>g(h,"file","search.messages.files",x),images:h=>g(h,"image","search.messages.images"),videos:h=>g(h,"video","search.messages.videos"),voices:h=>g(h,"voice","search.messages.voices"),async next(h){let x=R(h,"message");return i(x)}}},dispose(){p&&(p=false,o.clear());}}}function Iu(e){let n=new Map,r=new Set,d=new Map,s=new Set,c=false,o=e.schedule??(C=>{let v=setTimeout(C,120);return ()=>clearTimeout(v)});function u(C,v,R){try{e.report(C,v,R);}catch{}}async function p(C){let v={conversationType:"channel",conversationId:C};r.add(C);try{for(let R=0;R<2;R+=1){let I=n.get(C);if(c||!e.isActive()||I===void 0||e.domainState.getConversationContext(v)===void 0){n.delete(C);return}if(e.domainState.hasPendingChannelRead(v)){s.add(C),u("channel-read-summary-deferred",v,{reason:"read-pending"});return}if(n.delete(C),e.domainState.getReadState(v)?.readCursor!==I)return;let D=e.domainState.getChannelReadRevision(v),q=Date.now(),y;try{y=await e.loadSummary({channelId:C,readCursor:I});}catch(S){!c&&e.isActive()&&u("channel-read-summary-failed",v,{reason:"request-failed",durationMs:Date.now()-q,errorName:S instanceof Error?S.name:"Unknown",errorCode:typeof S=="object"&&S!==null&&"code"in S&&typeof S.code=="string"?S.code:void 0});return}if(c||!e.isActive()||e.domainState.getConversationContext(v)===void 0)return;if(e.domainState.hasPendingChannelRead(v)||e.domainState.getChannelReadRevision(v)!==D){if(u("channel-read-summary-discarded",v,{reason:"read-changed"}),e.domainState.hasPendingChannelRead(v)){n.has(C)||n.set(C,I),s.add(C);return}if(R===0&&!n.has(C)&&!e.domainState.hasPendingChannelRead(v)&&e.domainState.getReadState(v)?.readCursor===I){n.set(C,I);continue}return}if(y===void 0||y.readCursor!==I){u("channel-read-summary-discarded",v,{reason:y===void 0?"missing-channel":"cursor-mismatch"});return}e.domainState.applyChannelReadSummary(v,y),n.get(C)===I&&n.delete(C),u("channel-read-summary-applied",v,{unreadCount:y.unreadCount,durationMs:Date.now()-q});return}}finally{r.delete(C),n.has(C)&&!s.has(C)&&f(C);}}function f(C){c||s.has(C)||r.has(C)||d.has(C)||d.set(C,o(()=>{d.delete(C),p(C);}));}return {settled(C){s.delete(C.channelId),n.has(C.channelId)&&f(C.channelId);},request(C){c||!e.isActive()||(e.domainState.hasPendingChannelRead({conversationType:"channel",conversationId:C.channelId})||s.delete(C.channelId),n.set(C.channelId,C.readCursor),f(C.channelId));},dispose(){c=true;for(let C of d.values())C();d.clear(),n.clear(),s.clear();}}}function Ko(e,n){e.record("error","core","crypto","decrypt-failed",()=>{let r={...n.commandId===void 0?{}:{commandId:n.commandId},...n.payloadByteLength===void 0?{}:{payloadByteLength:n.payloadByteLength}};return {conversation:n.conversation,...n.operationId===void 0?{}:{operationId:n.operationId},data:{source:n.source,stage:"content-decrypt",strategy:n.conversation.conversationType,...n.endpoint===void 0?{}:{endpoint:n.endpoint},...n.surface===void 0?{}:{surface:n.surface},...n.decryptStage===void 0?{}:{decryptStage:n.decryptStage},messageId:n.messageId,...n.senderId===void 0?{}:{senderId:n.senderId},...n.receiverId===void 0?{}:{receiverId:n.receiverId},...n.messageType===void 0?{}:{messageType:n.messageType},...n.encrypt===void 0?{}:{encrypt:n.encrypt},...n.encryptVersion===void 0?{}:{encryptVersion:n.encryptVersion},...n.resolvedKeyVersion===void 0?{}:{resolvedKeyVersion:n.resolvedKeyVersion},reason:n.reason,resolverOutcome:n.reason==="no-key"?"miss":"decrypt-error",resolverSource:n.resolverSource,...n.keySource===void 0?{}:{keySource:n.keySource},...n.keyByteLength===void 0?{}:{keyByteLength:n.keyByteLength},...n.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:n.forceRefreshAttempted},...n.clientTypeHeader===void 0?{}:{clientTypeHeader:n.clientTypeHeader},...n.clientTypeBody===void 0?{}:{clientTypeBody:n.clientTypeBody},...n.cipherDataByteLength===void 0?{}:{cipherDataByteLength:n.cipherDataByteLength},...n.decryptedByteLength===void 0?{}:{decryptedByteLength:n.decryptedByteLength},...Object.keys(r).length===0?{}:{safeProtocolMetadata:r}},error:{message:"IM message decryption failed",code:n.reason==="no-key"?"IM_DECRYPT_NO_KEY":"IM_DECRYPT_FAILED",category:"crypto",...n.cause===void 0?{}:{data:n.cause}}}});}function vu(){let e=new Set,n=new Set,r=false;function d(){for(let c of [...n])c();}function s(c){if(a$1(c),r){let o=new Error("\u8D26\u53F7\u5DF2\u91CA\u653E\uFF0C\u540E\u53F0\u5DE5\u4F5C\u505C\u6B62\u7B49\u5F85");throw o.name="AbortError",o}}return {enterForeground(){if(r)return ()=>{};let c=Symbol("foreground-work");return e.add(c),()=>{e.delete(c)&&e.size===0&&d();}},async waitForBackground(c){for(s(c);e.size>0;)await new Promise(o=>{let u=()=>{n.delete(u),c?.removeEventListener("abort",u),o();};n.add(u),c?.addEventListener("abort",u,{once:true});}),s(c);},dispose(){r=true,e.clear(),d();}}}function hu(e){let n=new Set,r=new Map,d=false;function s(){for(;!d&&r.size<2&&n.size>0;){let c=n.values().next().value;n.delete(c);let o={canceled:false};r.set(c,o),Promise.resolve().then(()=>{if(!d&&!o.canceled)return e.fetch(c)}).catch(u=>{u instanceof Error&&u.name==="AbortError"||d||(d=true,n.clear(),e.onError(u));}).finally(()=>{r.delete(c),s();});}}return {enqueue(c){d||r.has(c)||(n.add(c),s());},remove(c){n.delete(c);let o=r.get(c);o!==void 0&&(o.canceled=true);},dispose(){d=true,n.clear();}}}function Cu(e,n){return {prepareLocalMediaPreview:async c=>{let o=await e.prepare({operationId:c.operationId,generation:n(),kind:c.kind,file:c.file,includePoster:c.kind==="video",...c.kind==="video"&&c.includeDisplayPoster?{includeDisplayPoster:true}:{},...c.kind==="video"?{maxSize:320,targetBytes:10240,maxBytes:16384,quality:.84,minQuality:.68}:{}},c.signal);return c.kind==="video"?{width:o.width,height:o.height,...o.duration===void 0?{}:{duration:o.duration},...o.posterData===void 0?{}:{posterData:new Uint8Array(o.posterData)},...o.displayPosterData===void 0?{}:{displayPosterData:new Uint8Array(o.displayPosterData)}}:{width:o.width,height:o.height}},prepareLocalVideoPoster:async c=>{let o=await e.prepare({operationId:c.operationId,generation:n(),kind:"video",file:c.file,includePoster:true,maxSize:960,targetBytes:163840,maxBytes:262144,quality:.9,minQuality:.8},c.signal);return {width:o.width,height:o.height,...o.posterData===void 0?{}:{posterData:new Uint8Array(o.posterData)}}},prepareLocalImageThumbnail:async c=>{let o=await e.prepare({operationId:c.operationId,generation:n(),kind:"image",file:c.file,includePoster:true,maxSize:256,targetBytes:262144,maxBytes:262144,quality:.9,minQuality:.9},c.signal);return {width:o.width,height:o.height,...o.posterData===void 0?{}:{posterData:new Uint8Array(o.posterData)}}}}}function bu(e){let n=false,r=false,d,s;function c(){return !n||r||!e.isActive()?Promise.resolve():(s??=Promise.resolve().then(async()=>{!r&&e.isActive()&&await e.maintain();}).catch(o=>{!r&&e.isActive()&&e.onError(o);}).finally(()=>{s=void 0;}),s)}return {start(){n||r||(n=true,d=setInterval(()=>{c();},300*1e3),c());},run:c,async dispose(){r=true,d!==void 0&&clearInterval(d),d=void 0,await s;}}}function Mu(e){let n,r,d=false,s=false,c=new AbortController;function o(){if(!n||!s||d)throw new gb$1("unavailable");return n}return {port:{get:async(...p)=>o().get(...p),list:async()=>o().list(),save:async p=>o().save(p),remove:async(...p)=>o().remove(...p),clear:async()=>o().clear(),drain:async()=>n?.drain(),fingerprint:async(...p)=>o().fingerprint(...p),acquireLease:async p=>o().acquireLease(p),close:async()=>n?.close()},prepare(p){return d?Promise.reject(new gb$1("unavailable")):(r??=(async()=>{n=hb$1({namespaceFactory:e,accountId:p}),await n.acquireLease(c.signal),await n.list(),c.signal.throwIfAborted(),s=true;})(),r)},async prune(){s&&!d&&await o().list();},async dispose(p){if(d=true,c.abort(),await r?.catch(()=>{}),!!n)try{p||await n.clear();}finally{await n.close();}}}}function Pu(e){let n=e,r=new Set;return {setOnline(d){if(n=d,n)for(let s of [...r])s();},wait(d){return d.throwIfAborted(),n?Promise.resolve():new Promise((s,c)=>{function o(){r.delete(u),d.removeEventListener("abort",p);}function u(){o(),s();}function p(){o(),c(d.reason);}r.add(u),d.addEventListener("abort",p,{once:true});})}}}function Su(e){function n(u){let p=0n;for(let f=0;f<10;f++){let C=u+f,v=e[C];if(v===void 0)return {ok:false,kind:"truncated-varint"};if(p|=BigInt(v&127)<<BigInt(f*7),(v&128)===0)return {ok:true,nextOffset:C+1,value:p}}return {ok:false,kind:"invalid-varint"}}let r=[],d,s=0;function c(u,p,f){return {protobufWireStatus:u,protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d},protobufFailureKind:p,protobufFailureOffset:f,protobufBytesRemaining:Math.max(0,e.length-f)}}function o(u){r.length<32&&!r.includes(u)&&r.push(u),d=u;}for(;s<e.length;){let u=s,p=n(u);if(!p.ok)return c(p.kind==="truncated-varint"?"truncated":"invalid",p.kind==="truncated-varint"?"truncated-tag":p.kind,u);let f=Number(p.value>>3n),C=Number(p.value&0x07n);if(!Number.isSafeInteger(f)||f<=0)return c("invalid","invalid-field-number",u);if(s=p.nextOffset,C===0){let v=s,R=n(v);if(!R.ok)return c(R.kind==="truncated-varint"?"truncated":"invalid",R.kind,v);s=R.nextOffset;}else if(C===1){if(e.length-s<8)return c("truncated","truncated-fixed64",s);s+=8;}else if(C===2){let v=s,R=n(v);if(!R.ok)return c(R.kind==="truncated-varint"?"truncated":"invalid",R.kind==="truncated-varint"?"truncated-length":R.kind,v);if(R.value>BigInt(Number.MAX_SAFE_INTEGER))return c("invalid","invalid-varint",v);s=R.nextOffset;let I=Number(R.value);if(I>e.length-s)return c("truncated","truncated-length-delimited",s);s+=I;}else if(C===5){if(e.length-s<4)return c("truncated","truncated-fixed32",s);s+=4;}else return c("invalid","invalid-wire-type",u);o(f);}return {protobufWireStatus:"complete",protobufFieldNumbers:r,...d===void 0?{}:{protobufLastCompleteFieldNumber:d}}}function qa(e){let n=new Set,r=false;return {get receiving(){return n.size>0},begin(){if(r)return ()=>{};let d=Symbol("receiving");return n.add(d),n.size===1&&e(true),()=>{n.delete(d)&&n.size===0&&e(false);}},dispose(){r=true;let d=n.size>0;n.clear(),d&&e(false);}}}function wu(e){return async(n,r)=>{a$1(r);let d=n.conversationType==="group"?e.groupAsyncDecrypt?.({conversationType:"group",conversationId:n.conversationId},r):void 0;d?.assertCurrent?.();let s=await e.authProvider.getLoginContext();if(a$1(r),s===null)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u7F3A\u5C11\u5F53\u524D\u8D26\u53F7");e.assertLoginContext?.(s.userId),d?.assertCurrent?.();let c=[],o=[],u=v=>{o.push({...v,source:"history"});},p=v=>{c.push(v);};if(n.conversationType==="group"){let v={...e.groupDecrypt(),onDecryptRecovery:u},R=Date.now(),I=await Ja({asyncDecrypt:d,http:e.http,userId:s.userId,clientType:e.clientType,groupId:n.conversationId,baseTime:R,direct:1,limit:30,decryptDeps:v,prepareKeys:D=>e.prepareGroupKeys(D,{signal:r,priority:e.keyPriority?.(n)??"foreground"}),onReaction:p,signal:r,keepRaw:false,yieldToEventLoop:b});a$1(r),d?.assertCurrent?.();let k=jr({conversationId:n.conversationId,direction:"older",baseTime:R,batchSize:I.batchSize,boundaryTime:I.oldestEntryTime,limit:30});return {messages:I.messages,reactions:c,recoveries:o,...k}}let f={...e.channelDecrypt(),onDecryptRecovery:u},C=await Ba$1({http:e.http,userId:s.userId,clientType:e.clientType,channelId:n.conversationId,count:30,decryptDeps:f,prepareKey:v=>e.prepareChannelKeys([v],{signal:r,priority:e.keyPriority?.(n)??"foreground"}),onReaction:p,signal:r,keepRaw:false,yieldToEventLoop:b});return a$1(r),{messages:C.messages,reactions:c,recoveries:o,exhausted:!C.hasOlder,...C.nextCursor===void 0?{}:{nextCursor:C.nextCursor}}}}var lg=5*6e4,ug=1440*6e4,qr=2*1024*1024,Ru=20,ur=class extends Error{constructor(r){super(r);this.reason=r;}reason};function Et(){return Object.assign(new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u53D6\u6D88"),{name:"AbortError"})}async function pg(e,n){let r=new TextEncoder,d=new WeakSet,s=0,c=0,o=performance.now();async function u(){++c%64===0&&performance.now()-o>=4&&(await n(),o=performance.now());}async function p(f){if(!(s>qr))if(await u(),typeof f=="string"){s+=8;for(let C=0;C<f.length&&s<=qr;C+=16384)s+=r.encode(f.slice(C,C+16384)).byteLength,await u();}else if(f!==null&&typeof f=="object"){if(d.has(f))return;if(d.add(f),s+=32,ArrayBuffer.isView(f)||f instanceof ArrayBuffer){s+=f.byteLength;return}for(let C in f)if(Object.hasOwn(f,C)&&(await p(C),await p(f[C]),s>qr))break}else s+=8;}return await p(e),s}function Eu(e){let n=e.now??Date.now,r=new Map,d=new Map,s=new Map,c=new Map,o,u=true,p=0,f=new WeakMap,C=new WeakSet,v=new WeakMap,R=0,I=Promise.resolve();function k(T,ae,pe){try{e.report(T,{...ae},{remainingNetworkPages:Math.max(0,Ru-R),...pe});}catch{}}function D(T,ae=n()){return T===void 0?0:Math.max(0,ae-T)}function q(T,ae,pe,ve){let w=ve?.diagnostics;k("recent-history-prefetch-result",T,{status:ae,reason:pe,queueDurationMs:D(w?.queuedAt,w?.startedAt),requestDurationMs:w?.requestDurationMs??D(w?.requestStartedAt),persistenceDurationMs:w?.persistenceDurationMs??D(w?.persistenceStartedAt)});}function y(T){let ae=I.then(T,T);return I=ae.catch(()=>{}),ae}function S(T){if(!u||T.generation!==p||T.controller.signal.aborted||T.epoch!==(r.get(T.key)??0))return false;let ae=e.fingerprint(T.ref);return ae!==void 0&&(ae===T.fingerprint||!i(T)&&[...T.consumers.values()].includes("foreground"))}function i(T){return T.cacheRevision===(d.get(T.key)??0)}function a(T){if(!S(T))throw Et()}async function g(T,ae=false){let pe=L(T),ve=r.get(pe)??0,w={key:pe,epoch:ve,generation:p,cacheRevision:d.get(pe)??0},$=p,ge=e.fingerprint(T),ye=Y=>(k("recent-history-cache-miss",T,{reason:Y,allowStale:ae}),null);if(!u||ge===void 0||e.cache===void 0)return ye(u?ge===void 0?"unavailable":"storage-unavailable":"disposed");if(await I,!u||$!==p||ve!==(r.get(pe)??0)||!i(w)||e.fingerprint(T)!==ge)return ye("invalidated");let F=await e.cache.get(T);return !u||$!==p||ve!==(r.get(pe)??0)||!i(w)||e.fingerprint(T)!==ge?ye("invalidated"):F===null?ye("empty"):F.version!==2?ye("version-mismatch"):L(F.conversation)!==pe?ye("identity-mismatch"):F.fingerprint!==ge?ye("fingerprint-mismatch"):F.fetchedAt>n()?ye("future-timestamp"):n()-F.fetchedAt>(ae?ug:lg)?ye("expired"):(f.set(F,w),F)}async function P(T){a(T);try{let $=await g(T.ref);if(a(T),$!==null&&i(T))return T.diagnostics.source="cache",k("recent-history-cache-hit",T.ref),{page:$,durable:!0}}catch($){if(a(T),T.diagnostics.failureReason="cache-read-failed",k("recent-history-cache-read-failed",T.ref,{reason:"cache-read-failed"}),![...T.consumers.values()].includes("foreground"))throw $}if(![...T.consumers.values()].includes("foreground")){if(R>=Ru)throw new ur("budget");R+=1;}let pe=n();T.diagnostics.source="network",T.diagnostics.requestStartedAt=pe;let ve;try{ve=await e.fetchPage(T.ref,T.controller.signal);}catch($){throw T.diagnostics.failureReason="request-failed",$}finally{T.diagnostics.requestDurationMs=D(pe);}a(T),await e.yieldToEventLoop(),a(T);let w={version:2,conversation:{...T.ref},fetchedAt:n(),fingerprint:T.fingerprint,messages:ve.messages,reactions:ve.reactions,exhausted:ve.exhausted,...ve.nextCursor===void 0?{}:{nextCursor:ve.nextCursor},byteLength:0};if(f.set(w,{key:T.key,epoch:T.epoch,generation:T.generation,cacheRevision:T.cacheRevision}),ve.recoveries!==void 0&&ve.recoveries.length>0&&v.set(w,ve.recoveries),v.has(w)||w.messages.some($=>$.encryption.decryptFailed===true))return C.add(w),{page:w,durable:false,reason:"decrypt-failed"};if(w.byteLength=await pg(w,e.yieldToEventLoop),a(T),k("recent-history-page-loaded",T.ref,{durationMs:n()-pe,messageCount:w.messages.length,byteLength:w.byteLength}),w.byteLength>qr)return {page:w,durable:false,reason:"page-too-large"};if(e.cache===void 0)return {page:w,durable:false,reason:"storage-unavailable"};if(!i(T))return {page:w,durable:false,reason:"invalidated"};T.diagnostics.persistenceStartedAt=n();try{let $=await y(async()=>(a(T),i(T)?e.cache.put(w):!1));return a(T),i(T)?{page:w,durable:$,...$?{}:{reason:"page-too-large"}}:{page:w,durable:!1,reason:"invalidated"}}catch($){return a(T),T.diagnostics.failureReason="cache-write-failed",k("recent-history-cache-write-failed",T.ref,{reason:"cache-write-failed"}),{page:w,durable:false,storageError:$}}finally{T.diagnostics.persistenceDurationMs=D(T.diagnostics.persistenceStartedAt);}}function h(T,ae){T.started||(T.started=true,T.diagnostics.startedAt=n(),k("recent-history-prefetch-start",T.ref,{kind:ae?"background":"foreground",queueDurationMs:D(T.diagnostics.queuedAt,T.diagnostics.startedAt)}),ae&&(o=T),P(T).then(T.resolve,T.reject).finally(async()=>{s.get(T.key)===T&&s.delete(T.key),o===T&&(o=void 0),await e.yieldToEventLoop(),x();}).catch(pe=>{if(!(pe instanceof Error&&pe.name==="AbortError"))throw pe}));}function x(){if(!u||o!==void 0||c.size>0||!e.canRunBackground())return;let T=[...s.values()].find(ae=>!ae.started&&ae.consumers.size>0);T!==void 0&&h(T,true);}function U(T,ae,pe){if(!u||pe?.aborted===true)return ae==="background"&&q(T,"cancelled","cancelled"),Promise.reject(Et());let ve=L(T),w=e.fingerprint(T);if(w===void 0)return ae==="background"&&q(T,"skipped","unavailable"),Promise.reject(new ur("unavailable"));let $=s.get(ve);$!==void 0&&!S($)&&($.controller.abort(),$.reject(Et()),s.delete(ve),$=void 0);let ge=$!==void 0;if($===void 0){let X,ie,ue=new Promise((Te,_e)=>{X=Te,ie=_e;});$={ref:{...T},key:ve,fingerprint:w,generation:p,epoch:r.get(ve)??0,cacheRevision:d.get(ve)??0,controller:new AbortController,consumers:new Map,started:false,promise:ue,resolve:X,reject:ie,diagnostics:{queuedAt:n()}},s.set(ve,$);}let ye=$,F=Symbol(ae);ye.consumers.set(F,ae),ae==="background"&&k("recent-history-prefetch-queued",T,{reason:ge?"shared-request":"new-request"});let Y=new Promise((X,ie)=>{let ue=false,Te=(xe,Oe)=>{ue||(ue=true,xe?.durable&&!i(ye)&&(xe={...xe,durable:false,reason:"invalidated"}),pe?.removeEventListener("abort",_e),ye.consumers.delete(F),ye.consumers.size===0&&(ye.controller.abort(),ye.started||(s.get(ye.key)===ye&&s.delete(ye.key),ye.reject(Et()))),ae==="background"&&(Oe instanceof ur?q(T,"skipped",Oe.reason,ye):Oe instanceof Error&&Oe.name==="AbortError"?q(T,"cancelled","cancelled",ye):Oe!==void 0||xe?.storageError!==void 0?q(T,"failed",ye.diagnostics.failureReason??"request-failed",ye):xe?.durable===true?q(T,"ready",ye.diagnostics.source==="cache"?"cache-hit":"persisted",ye):q(T,"skipped",xe?.reason??"not-persisted",ye)),Oe!==void 0?ie(Oe):X(xe));};function _e(){Te(void 0,Et());}pe?.addEventListener("abort",_e,{once:true}),ye.promise.then(xe=>Te(xe),xe=>Te(void 0,xe));});return ae==="foreground"?h(ye,false):x(),Y}function W(T){let ae=L(T);c.set(ae,(c.get(ae)??0)+1),e.onForeground?.(T),o!==void 0&&o.key!==ae&&![...o.consumers.values()].includes("foreground")&&(o.controller.abort(),o.reject(Et()));let pe=false;return ()=>{if(pe)return;pe=true;let ve=(c.get(ae)??1)-1;ve>0?c.set(ae,ve):c.delete(ae),x();}}function ce(T,ae={}){if(!u||T.conversationType!=="group"&&T.conversationType!=="channel")return;let pe={...T,conversationType:T.conversationType},ve=L(T);d.set(ve,(d.get(ve)??0)+1),ae.preserveForeground||r.set(ve,(r.get(ve)??0)+1);let w=s.get(ve);(!ae.preserveForeground||!w||![...w.consumers.values()].includes("foreground"))&&(w?.reject(ae.reason??Et()),w?.controller.abort(ae.reason),s.delete(ve)),k("recent-history-cache-invalidated",pe,{reason:ae.preserveForeground?"cache-only-invalidation":"explicit-invalidation"}),y(async()=>e.cache?.delete(pe)).catch(()=>k("recent-history-cache-delete-failed",pe,{reason:"cache-delete-failed"}));}function le(T){let ae=f.get(T);return u&&ae!==void 0&&ae.generation===p&&ae.epoch===(r.get(ae.key)??0)}return {readCached:g,isPageCurrent:le,enterForeground:W,hasForeground:T=>(c.get(L(T))??0)>0,invalidate:ce,notifySchedulingChanged:x,takeRecoveries(T){if(!le(T))return [];let ae=v.get(T)??[];return v.delete(T),ae},async confirmConsumed(T){let ae=e.fingerprint(T.conversation),pe=f.get(T);if(!le(T)||pe===void 0||!i(pe)||C.has(T)||ae===void 0||e.cache===void 0||ae===T.fingerprint||T.byteLength>qr||T.messages.some($=>$.encryption.decryptFailed===true))return;let ve=L(T.conversation),w=r.get(ve)??0;await y(async()=>{le(T)&&i(pe)&&w===(r.get(ve)??0)&&e.fingerprint(T.conversation)===ae&&await e.cache.put({...T,fingerprint:ae});}).catch(()=>k("recent-history-cache-write-failed",T.conversation,{reason:"cache-write-failed"}));},async latest(T,ae){return (await U(T,"foreground",ae)).page},async prefetchRecent(T,ae={}){let pe=[];for(let[ve,w]of T.entries()){if(ve>0&&ve%16===0&&await e.yieldToEventLoop(),ae.signal?.aborted===true||!u){q(w,"cancelled","cancelled"),pe.push({ref:w,status:"cancelled",reason:"cancelled"});continue}if(w.conversationType==="direct"||w.conversationType==="robot"){q(w,"skipped","unsupported"),pe.push({ref:w,status:"skipped",reason:"unsupported"});continue}if(e.cache===void 0){q(w,"skipped","storage-unavailable"),pe.push({ref:w,status:"skipped",reason:"storage-unavailable"});continue}try{let $=await U({...w,conversationType:w.conversationType},"background",ae.signal);if($.storageError!==void 0)throw $.storageError;pe.push({ref:w,status:$.durable?"ready":"skipped",...$.reason===void 0?{}:{reason:$.reason}});}catch($){$ instanceof ur?pe.push({ref:w,status:"skipped",reason:$.reason}):$ instanceof Error&&$.name==="AbortError"?pe.push({ref:w,status:"cancelled",reason:"cancelled"}):(k("recent-history-prefetch-failed",w,{reason:"prefetch-failed"}),pe.push({ref:w,status:"failed",error:oe({code:"IM_SDK_HISTORY_PREFETCH_FAILED",category:"state",operation:"conversations.prefetchRecent",retryable:true,conversation:w,cause:$})}));}}return pe},dispose(){u=false;for(let T of s.values())T.controller.abort(),T.reject(Et());return s.clear(),I.then(()=>{})},async clear(){if(u){p+=1;for(let T of [...s.values()])ce(T.ref);await y(async()=>e.cache?.clear());}}}}function mg(e){let{transportStatus:n,httpStatus:r,businessCode:d}=e,s=n==="http_error"?"http":n==="network_error"?"network":n==="invalid_response"||d===void 0?"invalid-response":d!==void 0&&d!==200?"business":void 0;return s===void 0?void 0:Object.freeze({service:"core",kind:s,...r===void 0?{}:{httpStatus:r},...d===void 0?{}:{businessCode:d}})}function Au(e){let n=p=>w({getBaseUrl:()=>e.endpointProvider.getCmHttpBaseUrl(),getAuth:p,getClientType:()=>e.clientType,fetch:r});function r(p,f){return d(),globalThis.fetch(p,f)}function d(){if(!e.isActive())throw oe({code:"IM_SDK_HTTP_RUNTIME_RELEASED",category:"state",operation:"http.request",retryable:false})}if(e.onRequestError===void 0){let p=e.coreClient,f=e.http??n(e.authProvider.getLoginContext);return {coreClient:p===void 0?void 0:async(C,v)=>{d();let R=await p(C,v);return d(),R},http:{async postProtobuf(C){d();let v=await f.postProtobuf(C);return d(),v}}}}async function s(p,f,C){if(!(!e.isActive()||C?.aborted||!f?.userId||!f.token))try{let v=await e.authProvider.getLoginContext();if(!e.isActive()||C?.aborted||v?.userId!==f.userId||v.token!==f.token)return;Promise.resolve(e.onRequestError?.(Object.freeze(p))).catch(e.onHandlerError);}catch(v){e.onHandlerError(v);}}async function c(){let p=await e.authProvider.getLoginContext();return d(),p===null?null:{...p}}let o=e.coreClient;return {coreClient:o===void 0?void 0:async(p,f)=>{let C=await c(),v,R=await o(p,{...f,token:C?.token??"",skipBusinessResponseHandler:true,onResponse:k=>{v=k;}});if(d(),v===void 0)throw oe({code:"IM_SDK_HTTP_OBSERVATION_UNAVAILABLE",category:"contract",operation:"http.observe",retryable:false});let I=mg(v);return I!==void 0&&await s(I,C,f?.signal),R},http:{async postProtobuf(p){let f=await c(),C=e.http===void 0?await e.endpointProvider.getCmHttpBaseUrl():void 0;if(C==="")throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let v=e.http??w({getBaseUrl:()=>C,getAuth:async()=>f,getClientType:()=>e.clientType,fetch:r});try{d();let R=await v.postProtobuf(p);return d(),R}catch(R){throw await s(R instanceof aa?{service:"cm",kind:"http",httpStatus:R.status}:{service:"cm",kind:"network"},f,p.signal),R}}}}}var fg=2e3,gg=8e3;function Tu(e){let n,r,d=0,s=new Set;function c(p){return n?.signal===p&&!p.aborted&&e.isActive()}function o(){let p=n;n=void 0,r!==void 0&&clearTimeout(r),r=void 0,p?.abort();}async function u(p){try{if(!c(p))return;let f=await e.getUserId();if(!c(p)||f===null)return;let C=[],v=new Set;for(;c(p);){let R=await e.pull(f,C,p);if(!c(p))return;if(R.deliveredMsgIds.length>0&&R.deliveredMsgIds.every(I=>v.has(I)))throw new Error("\u97F3\u89C6\u9891\u79BB\u7EBF\u4FE1\u4EE4\u7EED\u6279\u6CA1\u6709\u8FDB\u5C55");e.onBatch(R);for(let I of R.items){if(!c(p))return;if(!(I.msgId!==""&&s.has(I.msgId))){if(e.onItem(I),!c(p))return;I.msgId!==""&&s.add(I.msgId);}}if(R.deliveredMsgIds.length===0)break;C=R.deliveredMsgIds;for(let I of C)v.add(I);}d=0;}catch(f){if(!c(p))return;d=Math.min(d+1,2),f instanceof aa&&f.status>=400&&f.status<500&&f.status!==408&&f.status!==429&&o(),e.onError(f);}finally{if(c(p)){let f=Math.min(fg*2**d,gg);r=setTimeout(()=>{r=void 0,u(p);},f);}}}return {start(){n!==void 0||!e.isActive()||(d=0,n=new AbortController,u(n.signal));},stop:o}}var yg=2,pr=30,Ig=50,vg=5,hg=20;function Du(e,n){let r=Number(e);if(!Number.isSafeInteger(r)||r<0)throw new Error(`GROUP history cursor \u975E\u6CD5\uFF08groupId=${n}\uFF09`);return r}function Cg(e){return typeof e=="object"&&e!==null&&"get"in e&&typeof e.get=="function"&&"put"in e&&typeof e.put=="function"&&"clear"in e&&typeof e.clear=="function"}function bg(e,n){return e!==void 0&&e.senderId===n&&(e.status==="pending"||e.status==="uploading"||e.status==="sending")&&(typeof e.extensions?.historyCursor!="string"||e.extensions.historyCursor.trim()==="")}function _u(e$1,n$1,r,d=0){let s=e$1.clientType??yg,c={...e$1.authProvider,getLoginContext:async()=>{let t=await e$1.authProvider.getLoginContext();return t===null?null:{...t,clientType:s}}},o$1="",u$1=ha(e$1.debug,()=>({generation:d,...o$1===""?{}:{accountId:o$1}})),p$2=true,f$1=e$1.uploadRecovery?.enabled?Mu(r):void 0,C=Pu(globalThis.navigator?.onLine!==false),{coreClient:v$1,http:R}=Au({coreClient:e$1.coreClient,http:e$1.http,authProvider:c,endpointProvider:e$1.endpointProvider,clientType:s,isActive:()=>p$2,onRequestError:e$1.onRequestError,onHandlerError:t=>u$1.record("error","sdk","session","request-error-handler-failed",()=>({error:{message:"\u5BBF\u4E3B\u8BF7\u6C42\u9519\u8BEF\u5904\u7406\u5668\u5931\u8D25",data:t}}))}),I=e$1.transport??mb(),k=e$1.adapters?.storage,D$2=k?.create({namespaceFactory:r})??(typeof indexedDB>"u"?void 0:lb({namespaceFactory:r,mediaAssetCache:{strategies:Qd()}})),q$1=new Map,y=new Map,S=new Map,i$1=new Map,a$2=new Map,g$1=new Map,P=t=>`${L(t.conversation)}\0${t.messageId}`;function h(t,l){let M=L(t),V=(g$1.get(M)??Promise.resolve()).then(l),K=V.then(()=>{},()=>{});return g$1.set(M,K),K.then(()=>{g$1.get(M)===K&&g$1.delete(M);}),V}function x$1(t,l){return h(t.conversation,async()=>{l()&&(await D$2?.deleteDecryptRecovery?.(t.conversation,t.messageId),l()&&(a$2.delete(P(t)),i$1.delete(P(t)),q$1.delete(P(t))));})}let U$1=t=>{let l=D$2?.saveDecryptRecovery;if(l===void 0)return;let M=P(t),O=(S.get(M)??0)+1;S.set(M,O),a$2.delete(M),i$1.set(M,t);let V=L(t.conversation),K=y.get(V)??0,H=()=>p$2&&K===(y.get(V)??0)&&O===S.get(M),_=h(t.conversation,async()=>{H()&&await l(t);});q$1.set(M,_),_.then(()=>{if(q$1.get(M)===_&&q$1.delete(M),H())return eo(t)}).catch(J=>n$1.emit({type:"error",error:{scope:"storage",message:`\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08conversationType=${t.conversation.conversationType}, messageId=${t.messageId}\uFF09`,cause:J}}));},W=false,ce=Cg(D$2)?D$2:void 0,le=Nl({...D$2===void 0?{}:{storage:D$2},...v$1===void 0?{}:{coreClient:v$1}}),T$1,ae,pe=$d({...D$2===void 0?{}:{storage:D$2},conversationBackgrounds:le.api,onDirectReadReceiptDisabled:t=>T$1?.(t)}),ve=0;function w(t){return ve+=1,`channel-${t}-${d}-${ve}`}let $$1=Jb(u$1),ge=(t,l,M=o$1)=>{let O=l.fromId===M?l.toId:l.fromId;Ko(u$1,{conversation:{conversationType:"direct",conversationId:O},source:t,messageId:l.msgId,senderId:l.fromId,receiverId:l.toId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"direct-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},ye=(t,l)=>{Ko(u$1,{conversation:{conversationType:"group",conversationId:l.groupId},source:t,messageId:l.msgId,senderId:l.fromId,messageType:l.msgType,encrypt:l.encrypt,encryptVersion:l.encryptVersion,reason:l.reason,resolverSource:"group-private-key",...l.cmdId===void 0?{}:{commandId:l.cmdId},...l.cause===void 0?{}:{cause:l.cause}});},F=(t,l)=>{Ko(u$1,{conversation:{conversationType:"channel",conversationId:l.channelId},source:t,messageId:l.messageId,encrypt:l.encrypt,reason:l.reason,resolverSource:"channel-symmetric-key",endpoint:l.endpoint,surface:l.surface,decryptStage:l.decryptStage,keySource:l.keySource,keyByteLength:l.keyByteLength,payloadByteLength:l.payloadByteLength,...l.cipherDataByteLength===void 0?{}:{cipherDataByteLength:l.cipherDataByteLength},...l.decryptedByteLength===void 0?{}:{decryptedByteLength:l.decryptedByteLength},...l.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:l.forceRefreshAttempted},...l.clientTypeHeader===void 0?{}:{clientTypeHeader:l.clientTypeHeader},...l.clientTypeBody===void 0?{}:{clientTypeBody:l.clientTypeBody},...l.operationId===void 0?{}:{operationId:l.operationId},...l.cause===void 0?{}:{cause:l.cause}});},Y=t=>{u$1.record("warn","sdk","protocol","channel-content-decode",()=>({conversation:{conversationType:"channel",conversationId:t.channelId},...t.operationId===void 0?{}:{operationId:t.operationId},data:{messageId:t.messageId,encrypt:t.encrypt,contentLength:t.contentLength,...t.endpoint===void 0?{}:{endpoint:t.endpoint},...t.surface===void 0?{}:{surface:t.surface},...t.clientTypeHeader===void 0?{}:{clientTypeHeader:t.clientTypeHeader},...t.clientTypeBody===void 0?{}:{clientTypeBody:t.clientTypeBody}},error:{message:"CHANNEL \u6D88\u606F\u6B63\u6587\u89E3\u7801\u5931\u8D25",data:t.cause}}));};function X(t){return t==="left"||t==="removed"||t==="dismissed"}u$1.record("debug","sdk","session","runtime-created");let ie="empty",ue=n$1.subscribe(t=>{if(p$2){if(t.type==="connection:changed"){u$1.record("info","sdk","connection","connection-state-changed",()=>({data:{state:t.state}}));return}if(t.type==="message:received"||t.type==="message:updated"){u$1.record("trace","sdk","message",t.type,()=>({conversation:t.conversation,message:_d(t.message),data:{source:t.source,channelLifecycleEffects:t.channelLifecycleEffects}}));return}if(t.type==="auth:invalid"){u$1.record("warn","sdk","session","auth-invalid",()=>({data:t.issue}));return}if(t.type==="error"){let l=t.error.scope==="storage"?"storage":t.error.scope==="crypto"?"crypto":"session";u$1.record("error","sdk",l,"runtime-error",()=>({error:{message:t.error.message,data:t.error.cause}}));}}});function Te(t){return t.cmdId===4644||t.cmdId===8976||t.cmdId===12808}function _e(t,l){return N(t,{...t,body:l.body,contentType:l.contentType,encryption:l.encryption,edited:l.edited,recalled:l.recalled})}let xe=new Set,Oe="auto",rn=false,Ze=false,ln=0,re,nt,sn=false,fn,qn,At=()=>{},E=null,z=null,Z,B$1,he=vu(),Re=new AbortController,Ne=new Set,He=0,Fe=false,De=qa(t=>n$1.emit({type:"receiving:changed",receiving:t})),ze=qa(t=>n$1.emit({type:"syncing:changed",syncing:t})),en=false,Gn,_n,yt=new Map,kn=new Map,Ye=new Map,Qe=t=>Ye.get(L(t))?.version??0;function Wn(t,l){Ye.set(L(t),{version:Qe(t)+1,...l===void 0?{}:{reason:l}});}let An=0,vn=t=>yt.get(t)??0,mr=t=>{yt.set(t,vn(t)+1);};function fr(t,l){Wn(t,l),B$1?.invalidate(t,{reason:l}),t.conversationType==="channel"&&mr(t.conversationId),t.conversationType==="group"&&kn.set(t.conversationId,(kn.get(t.conversationId)??0)+1);}let Le=e$1.profile??(v$1===void 0?void 0:D({client:v$1,clientType:s,...D$2===void 0?{}:{storage:D$2}})),nn=e$1.channelProfile??(v$1===void 0?void 0:q({client:v$1,clientType:s,getUserId:async()=>o$1!==""?o$1:(await c.getLoginContext())?.userId??"",...D$2===void 0?{}:{storage:D$2}})),It=e$1.channelMembers??(v$1===void 0?void 0:u({client:v$1,clientType:s,isActive:()=>p$2,...D$2===void 0?{}:{storage:D$2}})),tt=e$1.channelMentionMembers??(v$1===void 0?void 0:v({client:v$1,clientType:s})),$n=Ol({...tt===void 0?{}:{provider:tt},...D$2===void 0?{}:{storage:D$2}}),$t=e$1.directory??(v$1===void 0?void 0:x({client:v$1,clientType:s,getUserId:async()=>o$1!==""?o$1:(await c.getLoginContext())?.userId??""})),Ee=Zl({...$t===void 0?{}:{provider:$t}}),Jt,Mn=gu({onProfileUpdated:Xr,...v$1===void 0?{}:{search:t=>Pa$1(v$1,{...t,...s===void 0?{}:{clientType:s}}),bind:t=>E$1(v$1,{...t,...s===void 0?{}:{clientType:s}}),unbind:t=>F$1(v$1,{...t,...s===void 0?{}:{clientType:s}}),getProfile:t=>La$2(v$1,{...t,...s===void 0?{}:{clientType:s}}),confirmChat:t=>Ma$2(v$1,{robotId:t,...s===void 0?{}:{clientType:s}}),listChatMenus:t=>Na$2(v$1,{robotId:t,...s===void 0?{}:{clientType:s}}),requestMenuReply:async t=>{let l=o$1!==""?o$1:(await c.getLoginContext())?.userId??"";if(l==="")throw new Error("\u673A\u5668\u4EBA\u6307\u4EE4\u56DE\u590D\u7F3A\u5C11\u5F53\u524D\u7528\u6237");let M=await Oa$1(R,{...t,userId:l});if(!p$2)return;let O=Aa$2({robotId:t.robotId,userId:l,msgId:M.msgId,msgTime:M.msgTime,content:M.content},{selfId:l,keepRaw:true});if(O!==void 0){if(Jt===void 0)throw new Error("\u673A\u5668\u4EBA\u6307\u4EE4\u56DE\u590D\u5C1A\u672A\u63A5\u5165\u6D88\u606F\u5B58\u50A8");await Jt(O);}}}}),Wr=e$1.expressionProvider??B({...v$1===void 0?{}:{coreClient:v$1},...e$1.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e$1.expressions.giphy.apiKey}}),$r=uu({provider:Wr,isActive:()=>p$2}),vt=e$1.sessionFavoriteProvider??Ya({...v$1===void 0?{}:{coreClient:v$1},getUserId:()=>o$1}),Tt=()=>{},Yt=ol({namespaceFactory:r,...D$2===void 0?{}:{storage:D$2},emitter:n$1,getAccountId:()=>o$1,isActive:()=>p$2,clearMemoryCaches:()=>{Le?.clearCache?.(),nn?.clearCache?.(),It?.clearCache?.(),$n.clear(),Tt(),B$1?.clear().catch(t=>n$1.emit({type:"error",error:{scope:"storage",message:"\u6E05\u7406\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",cause:t}}));}}),ht=e$1.channelJoinApplications??(v$1===void 0?void 0:t({client:v$1,clientType:s})),Jr=e$1.contactApplications??(v$1===void 0?void 0:m({client:v$1,clientType:s})),gr=e$1.groupApplications??(v$1===void 0?void 0:n({client:v$1,clientType:s})),G=bb$1({emitter:n$1,diagnostics:u$1,profile:Le,channelProfile:nn,storage:D$2,getSelfId:()=>o$1,loadOlderFromRemote:async t=>{let l=B$1?.enterForeground(t.conversation),M=he.enterForeground(),O=De.begin();try{return Z===void 0?{messages:[],exhausted:!0}:await Z(t)}finally{O(),l?.(),M();}},loadNewerFromRemote:async t=>{let l=B$1?.enterForeground(t.conversation),M=he.enterForeground(),O=De.begin();try{return _n===void 0?{messages:[],exhausted:!0}:await _n(t)}finally{O(),l?.(),M();}}});Jt=t=>G.commitReceivedMessages([t],"live");let Bo=zd({provider:vt,isActive:()=>p$2,resolveMessage:async(t,l)=>G.getConversationMessage(t,l)??await D$2?.getMessage(t,l)??void 0}),Yr=n$1.subscribe(t=>{if(t.type==="message:removed"||t.type==="conversation-history:cleared"||t.type==="session:removed"){let l=L(t.conversation);if(y.set(l,(y.get(l)??0)+1),t.type==="message:removed")a$2.delete(P({conversation:t.conversation,messageId:t.messageId}));else for(let M of a$2.keys())M.startsWith(`${l}\0`)&&a$2.delete(M);}if(D$2?.deleteDecryptRecovery!==void 0){if((t.type==="message:received"||t.type==="message:updated")&&t.message.encryption.decryptFailed!==true){let l=L(t.conversation),M=y.get(l)??0,O=P({conversation:t.conversation,messageId:t.message.id}),V=S.get(O)??0,K=()=>p$2&&M===(y.get(l)??0)&&V===(S.get(O)??0);(async()=>{let _=(await D$2.getDecryptRecoveries?.(t.conversation)??[]).find(J=>J.messageId===t.message.id);_===void 0||Te(_)||!K()||(await G.commitReceivedMessages([t.message],"offline",{backfillOnly:true}),await x$1(_,K));})().catch(H=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.message.id}\uFF09`,cause:H}}));}else if(t.type==="message:removed")i$1.delete(P({conversation:t.conversation,messageId:t.messageId})),h(t.conversation,()=>D$2.deleteDecryptRecovery(t.conversation,t.messageId)).catch(l=>n$1.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${t.messageId}\uFF09`,cause:l}}));else if(t.type==="conversation-history:cleared"){for(let[l,M]of i$1)L(M.conversation)===L(t.conversation)&&i$1.delete(l);h(t.conversation,async()=>D$2.deleteConversationDecryptRecoveries?.(t.conversation)).catch(l=>n$1.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${t.conversation.conversationId}\uFF09`,cause:l}}));}}});function Xr(t){G.updateConversationProfile({conversationType:"robot",conversationId:t.id},{title:t.displayName,avatar:t.avatarUrl??""});}let Fn=vl({directory:Ee.contacts,getSelfId:()=>o$1,...Le===void 0?{}:{profile:{getUserProfile:G.readDirectProfile,...Le.peekUserProfile===void 0?{}:{peekUserProfile:Le.peekUserProfile.bind(Le)}}},...v$1===void 0?{}:{coreClient:v$1},domainState:G,emitter:n$1,terminateConversationSending:(t,l)=>At(t,l),resetDirectReadReceiptPreference:t=>pe.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:(t,l)=>{l==="friend"?ae?.(t):l!=="unknown"&&T$1?.(t);}}),m$1=Dl({...Jr===void 0?{}:{contact:Jr},...gr===void 0?{}:{group:gr},...ht===void 0?{}:{channel:ht},onContactAccepted:async(t,l)=>{Fn.updateRelationshipFromEvent(t,"friend"),await G.reconcileDirectContactEstablishedNotice(t,`contact-application:${l}`),G.refreshConversationProfile(t,"direct");},emitter:n$1,isActive:()=>p$2&&ie==="ready"}),b$1=eu({domainState:G,emitter:n$1,isActive:()=>p$2}),A=yu({domainState:G,isAvailable:()=>p$2&&ie==="ready"}),L$1=hl(()=>G.getSessions()),Q=jb({onHidden:()=>Se(true),onVisible:()=>Se(false),onPageHide:()=>Se(true),onPageShow:()=>Se(false)},e$1.network),fe=e$1.cryptoExecutorFactory?.(d)??c$1({generation:d,diagnostics:u$1,lifecycleAware:Q.supportsLifecycle}),Pe=Sl({executor:fe,generation:d,isActive:()=>p$2}),se=e$1.crypto??{...j(),async encryptSymmetricChunked(t){try{return await Pe(t)}catch(l){throw $(l)&&p$2&&n$1.emit({type:"error",error:{scope:"crypto",message:"\u5A92\u4F53\u52A0\u5BC6\u8BA1\u7B97\u5931\u8D25",cause:l}}),l}}};function Se(t){fe.setSuspended(t);}function ke(t){!p$2||t instanceof Error&&t.name==="AbortError"||n$1.emit({type:"error",error:{scope:"crypto",message:"\u5BC6\u94A5\u8BA1\u7B97\u5931\u8D25",cause:t}});}let Be=e$1.media!==void 0?fb(e$1.media,u$1):void 0,Je=ab(),jn=$a(Je),{prepareLocalMediaPreview:rt,prepareLocalVideoPoster:ot,prepareLocalImageThumbnail:Pn}=Cu(Je,()=>d),on=v$1===void 0?void 0:f({client:v$1,crypto:se,cryptoExecutor:fe,generation:d,clientType:s,onError:(t,l)=>$$1?.("crypto",{message:t,cause:l})}),Qr=v$1===void 0?void 0:i({client:v$1,clientType:s,onError:(t,l)=>$$1?.("crypto",{scope:"send-key",message:t,cause:l})}),gn=v$1===void 0?void 0:g({client:v$1,crypto:se,cryptoExecutor:fe,generation:d,clientType:s,onError:(t,l)=>$$1?.("crypto",{scope:"group-key",message:t,cause:l})}),Ge=e$1.channelKeyService??(v$1===void 0?void 0:a({loadSecretKey:t=>ha$1(v$1,{channelId:t,clientType:s}),onError:(t,l)=>$$1?.("crypto",{scope:"channel-key",message:t,cause:l})})),un=async(t,l={})=>{if(Ge===void 0)return;let M=Ge.getCachedChannelKey(t)===null;try{await Ge.getChannelKey(t);}catch{return}if(!(l.recoverExistingMessages===false||!M||!p$2))try{await no({conversationType:"channel",conversationId:t},{recoverLegacyWithoutSidecar:!1});}catch(O){n$1.emit({type:"error",error:{scope:"storage",message:`CHANNEL key \u5C31\u7EEA\u540E\u8BFB\u53D6\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08channelId=${t}\uFF09`,cause:O}});}},On=async t=>Ge===void 0?null:Ge.getChannelKey(t),Hn=t=>{if(Ge===void 0)return null;let l=Ge.getCachedChannelKey(t);return l===null&&un(t),l},Jn=()=>on?.getCachedPrivateKey(o$1)?.privateKey??null,Dt=()=>({crypto:se,resolveChannelKey:Hn,resolveUserPrivateKey:Jn,onDecryptRecovery:U$1,onDecryptError:t=>{let l=Ge!==void 0&&D$2?.saveDecryptRecovery===void 0&&t.encrypt===2&&t.reason==="decrypt-failed";if(F("live",{...t,forceRefreshAttempted:l}),!l)return;let M=Ge.getCachedChannelKey(t.channelId)??void 0;Ge.getChannelKey(t.channelId,{staleKey:M}).catch(()=>{});}}),Kn=async(t,l={})=>{let M=[];Ge!==void 0&&M.push(...[...new Set(t)].map(O=>un(O,l))),on!==void 0&&o$1!==""&&M.push(on.getUserPrivateKey(o$1,{priority:l.priority??"background",signal:l.signal??Re.signal})),await Promise.all(M);},at=t=>({crypto:se,resolveChannelKey:l=>Ge?.getCachedChannelKey(l)??null,resolveUserPrivateKey:Jn,onDecryptError:l=>F(t,l),onDecryptRecovery:U$1}),xn=hu({fetch:async t=>{await gn?.getGroupKeys(t,{priority:"background"});},onError:ke});function zn(t){p$2&&gn!==void 0&&t!==""&&xn.enqueue(t);}function yr(){xn.dispose(),Q.stop(),on?.dispose(),gn?.dispose(),fe.dispose();}let Wa$1=async t=>{if(gn===void 0)return null;let l=await gn.getGroupKeys(t);return l===null?null:{publicKey:l.publicKey,version:l.version}},$a$1=t=>{if(gn===void 0)return null;let l=gn.getCachedGroupKeys(t);return l!==null?l.privateKey:(zn(t),null)},Xt=async(t,l={})=>{let M=l.signal??Re.signal;if(a$1(M),gn===void 0)return;let O=[...new Set(t)],V=0,K,H=async()=>{for(;K===void 0&&V<O.length;){if(!p$2)return;let _=O[V++];try{await gn.getGroupKeys(_,{priority:l.priority??"background",signal:M});}catch(J){throw K=J,J}}};await Promise.all([H(),H()]),a$1(M);},Fu=()=>({crypto:se,resolvePrivateKey:({groupId:t})=>$a$1(t),preparePrivateKey:async({groupId:t})=>gn===void 0?null:(await gn.getGroupKeys(t))?.privateKey??null,onDecryptError:t=>ye("live",t),onDecryptRecovery:U$1}),Qt=t=>({crypto:se,resolvePrivateKey:({groupId:l})=>$a$1(l),onDecryptError:l=>ye(t,l),onDecryptRecovery:U$1}),Ir=new Map,Go=new Map,Zt=new Map,jo=new Set,Ho=new Set;function vr(t){return t.encryption.decryptFailed!==true&&t.contentType!=="unknown"}function Ku(t,l){let M=L(t),O=Zt.get(M)??new Set;O.add(l),Zt.set(M,O);}function Ja$1(t){Zt.delete(L(t));}function Bu(t,l){return t.length===l.length&&t.every((M,O)=>M===l[O])}function Ya$2(t){if(t.conversation.conversationType==="group")return gn?.getCachedGroupKeyVersion(t.conversation.conversationId)??void 0}function er(t){return t.wireEncrypt===2?"channel-base64-pad-tea":t.conversation.conversationType==="group"?"group-rsa-tea":t.conversation.conversationType==="channel"?"channel-web-rsa-tea":"direct-rsa-tea"}function Gu(t){return t.contentType===101?Number.isInteger(t.type)&&t.type>0:t.contentType===27?t.gameType===0n?t.gameValue>=1n&&t.gameValue<=3n:t.gameType===1n&&t.gameValue>=1n&&t.gameValue<=6n:[1,2,3,4,5,7,8,11].includes(t.contentType)}function Xa$1(t,l){let M=new Map(G.getMessagesByConversation(t).filter(K=>l===void 0||K.id===l).map(K=>[K.id,K])),O=new Map;return {stop:n$1.subscribe(K=>{if(!p$2||K.type!=="message:received"&&K.type!=="message:updated"||K.source!=="live"||K.conversation.conversationType!==t.conversationType||K.conversation.conversationId!==t.conversationId||l!==void 0&&K.message.id!==l||K.message.encryption.decryptFailed===true)return;let H=M.get(K.message.id);if(H===void 0||!_e(H,K.message)){let _=P({conversation:t,messageId:K.message.id});O.set(_,S.get(_)??0);}}),hasChanged:K=>{let H=P(K);return O.has(H)&&O.get(H)===(S.get(H)??0)}}}let zo=0,Vo=[],Zr=new Map,qo=0;function Qa(){for(;qo<2&&Vo.length>0;){let t=Vo.shift();qo+=1,Promise.resolve().then(async()=>{if(a$1(Re.signal),!t.isCurrent())throw new DOMException("\u7AEF\u5230\u7AEF\u6392\u961F\u6062\u590D\u6240\u5C5E\u8D26\u53F7\u3001\u4F1A\u8BDD\u6216\u6D88\u606F\u5DF2\u5931\u6548","AbortError");await Wo(t.record,t.hasBodyChanged);}).then(t.resolve,t.reject).finally(()=>{qo-=1,Qa();});}}function eo(t,l){if(t.conversation.conversationType!=="direct"&&t.conversation.conversationType!=="group")return Wo(t);let M=P(t),O=S.get(M)??0,V=Zr.get(M);if(V?.version===O&&V.isCurrent())return V.promise;let K=o$1,H=L(t.conversation),_=y.get(H)??0,J=Qe(t.conversation),te=()=>p$2&&o$1===K&&_===(y.get(H)??0)&&J===Qe(t.conversation)&&O===(S.get(M)??0),j=l===void 0?Xa$1(t.conversation,t.messageId):void 0,ee=l??(()=>j.hasChanged(t)),ne=new Promise((Ie,be)=>{Vo.push({record:t,isCurrent:te,hasBodyChanged:ee,resolve:Ie,reject:be});}).finally(()=>{j?.stop(),Zr.get(M)?.promise===ne&&Zr.delete(M);});return Zr.set(M,{version:O,isCurrent:te,promise:ne}),Qa(),ne}async function Wo(t,l){let M=P(t);t=i$1.get(M)??t;let O=S.get(M)??0,V=L(t.conversation),K=y.get(V)??0,H$1=Qe(t.conversation),_=()=>p$2&&H$1===Qe(t.conversation)&&K===(y.get(V)??0)&&O===(S.get(M)??0),J=Ir.get(M);if(J!==void 0){if(Go.get(M)===O)return J;await J.catch(()=>{}),_()&&i$1.get(M)===t&&await Wo(t,l);return}let te=async()=>G.getConversationMessage(t.conversation,t.messageId)??await D$2?.getMessage(t.conversation,t.messageId)??void 0,j=(async()=>{let ee=await te();if(!_()||ee===void 0)return;let ne=Te(t),Ie=()=>t.conversation.conversationType!=="direct"&&t.conversation.conversationType!=="group"||!ne?false:(l?.()&&a$2.set(M,O),a$2.get(M)===O);if(Ie()){await G.commitReceivedMessages([ee],"offline",{backfillOnly:true}),await x$1(t,_);return}if(ee.encryption.decryptFailed!==true&&!ne){await G.commitReceivedMessages([ee],"offline",{backfillOnly:true}),await x$1(t,_);return}u$1.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:t.conversation,data:{messageId:t.messageId,messageSenderId:ee.senderId,messageCreatedAt:ee.createdAt,selfMessage:ee.senderId===o$1,source:t.source,wireEncrypt:t.wireEncrypt,sContentBytes:t.sContent.length,...t.cmdId===void 0?{}:{cmdId:t.cmdId},...t.encryptVersion===void 0?{}:{encryptVersion:t.encryptVersion}}}));let be,de,we="key-resolve",We=er(t);for(let hn of [false,true]){let Cn=hn?"force":"current",cn;try{we="bcontent";let yn=e.decode(t.sContent);if(t.wireEncrypt===1){if(yn.secretKey.length===0||yn.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");we="key-resolve";let Yn={priority:"background",signal:Re.signal,...hn?{staleKey:typeof de=="string"?de:void 0}:{}},Xn=t.conversation.conversationType==="group"?(await gn?.getGroupKeys(t.conversation.conversationId,Yn))?.privateKey??null:(await on?.getUserPrivateKey(o$1,Yn))?.privateKey??null;if(!_())return;hn&&de!==void 0&&(cn=typeof de=="string"&&Xn!==null&&de!==Xn),cn===!0&&Ja$1(t.conversation),hn||(de=Xn);let Ct=Ya$2(t);if(Xn===null){u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Cn,strategy:er(t),finalStage:we,reason:"no-key",...Ct===void 0?{}:{resolvedKeyVersion:Ct},...cn===void 0?{}:{keyChanged:cn}}}));continue}let Qn=await fe.decryptBatch({operationId:`end-to-end-recovery:${++zo}`,generation:d,items:[{itemIndex:0,input:{secretKey:yn.secretKey,cipherData:yn.cipherData,privateKey:Xn}}],priority:"background",signal:Re.signal});if(!_())return;if(Qn.length!==1||Qn[0]?.itemIndex!==0)throw new _$1("protocol-mismatch");let Tn=Qn[0].result;if(!Tn.ok)throw we=Tn.stage,new Error(`End-to-end recovery ${Tn.stage} failed`);let N=Tn.plain;u$1.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Cn,strategy:er(t),rsaCipherBytes:yn.secretKey.length,cipherDataBytes:yn.cipherData.length,cipherDataBlockRemainder:yn.cipherData.length%8,plainBytes:N.length,plainBlockRemainder:N.length%8,startsWithContentTypeField:N[0]===8,startsWithMobileCardType:N[0]===8&&N[1]===8,...Su(N)}})),we="bmessage",be=d$1.decode(N);}else if(t.conversation.conversationType==="channel"){if(yn.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");we="key-resolve";let Yn=hn?{...de instanceof Uint8Array?{staleKey:de}:{}}:void 0,Xn=Ge?.getChannelKeyCandidates===void 0?await Ge?.getChannelKey(t.conversation.conversationId,Yn).then(Tn=>[{strategy:"canonical-base64-pad",key:Tn}])??[]:await Ge.getChannelKeyCandidates(t.conversation.conversationId,Yn),Ct=Ge?.getCachedChannelKeyMetadata?.(t.conversation.conversationId);Ct!=null&&u$1.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:t.conversation,data:{messageId:t.messageId,attempt:Cn,...Ct}}));let Qn=Xn.find(Tn=>Tn.strategy==="canonical-base64-pad")?.key??null;if(hn&&de instanceof Uint8Array&&Qn!==null&&(cn=!Bu(de,Qn)),cn===!0&&Ja$1(t.conversation),hn||(de=Qn?.slice()??null),Xn.length===0){u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Cn,strategy:er(t),finalStage:we,reason:"no-key",...cn===void 0?{}:{keyChanged:cn}}}));continue}for(let Tn of Xn)try{we="tea";let N=se.decryptSymmetric({teaKey:Tn.key,cipherData:yn.cipherData});we="bmessage";let me=d$1.decode(N);if(Tn.strategy==="legacy-ascii16"&&!Gu(me))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");be=me,We=Tn.strategy,u$1.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Cn,strategy:Tn.strategy,finalStage:"recovered",reason:"recovered",...cn===void 0?{}:{keyChanged:cn}}}));break}catch(N){u$1.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,attempt:Cn,strategy:Tn.strategy,finalStage:we,reason:"decrypt-failed",...cn===void 0?{}:{keyChanged:cn}},error:{message:"CHANNEL decrypt recovery candidate failed",data:N}}));}}if(be!==void 0){u$1.record("info","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Cn,strategy:We,finalStage:"recovered",reason:"recovered",...cn===void 0?{}:{keyChanged:cn}}}));break}}catch(yn){if($(yn)||yn instanceof Error&&yn.name==="AbortError")throw yn;let Yn=Ya$2(t);u$1.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,attempt:Cn,strategy:er(t),finalStage:we,reason:"decrypt-failed",...Yn===void 0?{}:{resolvedKeyVersion:Yn},...cn===void 0?{}:{keyChanged:cn}},error:{message:"IM message decryption recovery failed",data:yn}}));}}if(!_()||be===void 0){be===void 0&&(Ku(t.conversation,t.messageId),u$1.record("warn","sdk","crypto","decrypt-recovery-exhausted",()=>({conversation:t.conversation,data:{messageId:t.messageId,source:t.source,wireEncrypt:t.wireEncrypt,strategy:er(t),attempts:2,finalStage:we}})));return}let Me=await te();if(!_()||Me===void 0||Me.encryption.decryptFailed!==true&&!ne)return;if((t.conversation.conversationType==="direct"||t.conversation.conversationType==="group")&&ne&&(Ie()||!_e(ee,Me))){a$2.set(M,O),await G.commitReceivedMessages([Me],"offline",{backfillOnly:true}),await x$1(t,_);return}let an=t.conversation.conversationType==="channel"&&(t.cmdId===12804||be.contentType===101)?H({channelId:BigInt(t.conversation.conversationId),messageId:t.messageId,occurredAt:BigInt(Me.serverTime??Me.createdAt),notifyType:be.type,operatorId:be.oprUserId,targetUserIds:be.mnpledUserId,content:be.content,...typeof Me.extensions?.historyCursor=="string"?{historyCursor:Me.extensions.historyCursor}:{},...typeof Me.extensions?.channelSequence=="string"?{sequence:BigInt(Me.extensions.channelSequence)}:{},encrypted:true},{cmdId:t.cmdId,keepRaw:Me.raw!==void 0}):{...Z$1(Me,be,o$1),...ne?{edited:true}:{}};await G.commitReceivedMessages([an],"offline",{backfillOnly:true,refreshSessionSummary:true}),await x$1(t,_);})().finally(()=>{Ir.get(M)===j&&(Ir.delete(M),Go.delete(M));});return Ir.set(M,j),Go.set(M,O),j}async function no(t,l={}){let M=t.conversationType==="direct"||t.conversationType==="group"?Xa$1(t):void 0;try{let O=L(t),V=o$1,K=y.get(O)??0,H=Qe(t),_=()=>p$2&&V===o$1&&K===(y.get(O)??0)&&H===Qe(t),J=await D$2?.getDecryptRecoveries?.(t)??[];if(!_())return;let te=Zt.get(O),j=te===void 0?J:J.filter(be=>!te.has(be.messageId));if(t.conversationType==="direct"||t.conversationType==="group"){let be=0,de=async()=>{for(;be<j.length;){if(!_())return;let Me=j[be++];await eo(Me,()=>M.hasChanged(Me));}},We=(await Promise.allSettled([de(),de()])).find(Me=>Me.status==="rejected");if(We?.status==="rejected")throw We.reason}else await Promise.all(j.map(be=>eo(be)));if(!p$2||l.recoverLegacyWithoutSidecar===!1)return;let ee=Zt.get(O),ne=new Set(J.filter(be=>ee===void 0||!ee.has(be.messageId)).map(be=>be.messageId)),Ie=G.getMessagesByConversation(t).filter(be=>be.encryption.decryptFailed===!0&&!ne.has(be.id));if(Ie.length===0||jo.has(O))return;if(jo.add(O),u$1.record("info","sdk","crypto","decrypt-repair-start",()=>({conversation:t,data:{stuckCount:Ie.length,withoutSidecar:Ie.filter(be=>!J.some(de=>de.messageId===be.id)).length}})),t.conversationType==="channel"){let be=await c.getLoginContext();if(be===null||Gn===void 0)return;for(let de of Ie.slice(0,hg)){let we=de.extensions?.historyCursor;if(typeof we!="string"||we.trim()==="")continue;let We=await Gn(t.conversationId,we,be.userId);if(!p$2)return;We.length>0&&G.upsertMessages(We,"offline");}}else t.conversationType==="group"?await ju({conversationType:"group",conversationId:t.conversationId},Ie):t.conversationType==="direct"&&await fi();}catch(O){if(!p$2||O instanceof Error&&O.name==="AbortError")return;n$1.emit({type:"error",error:{scope:"crypto",message:`\u89E3\u5BC6\u5931\u8D25\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08conversationType=${t.conversationType}, conversationId=${t.conversationId}\uFF09`,cause:O}});}finally{M?.stop();}}async function ju(t,l){if(Z===void 0)return;let M=[...l].sort((_,J)=>_.sortKey.localeCompare(J.sortKey)),O=M[0],V=M.at(-1);if(O===void 0||V===void 0)return;let K=O.serverTime??O.createdAt,H;for(let _=0;_<vg;_++){let J=await Z({conversation:t,oldestLoaded:V,...H===void 0?{}:{cursor:H},intent:"older",limit:Ig});if(!p$2||J.exhausted||J.nextCursor===void 0)return;let te=Number(J.nextCursor);if(Number.isFinite(te)&&te<=K)return;H=J.nextCursor;}}let Un=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};function $o(t,l=true){let M=t.channelPermissions,O=t.channelAccessSnapshot;return JSON.stringify([t.type==="group"?t.groupState??"active":void 0,t.channelState,M===void 0?void 0:[M.sendMessages,M.mentionAll,M.editProfile,M.manageMembers,M.manageAdmins,M.moderateMessages,M.manageMute,M.dismissChannel,M.transferOwnership],!l||O===void 0?void 0:[O.role,O.baseState,O.resolvedState,O.allMembersMuted,O.currentUserMuted,O.mutePeriod]])}let Jo=new Map;function _t(t){let l=G.getConversationContext(t);if(!p$2||l===void 0||t.conversationType==="group"&&l.groupState!==void 0&&l.groupState!=="active"||t.conversationType==="channel"&&l.channelState!==void 0&&pn(l.channelState))return;let M=G.getMessagesByConversation(t).at(-1);return JSON.stringify([o$1,M===void 0?l.timestamp:void 0,$o(l),M?.id,M?.sortKey])}let Yo=new Map;B$1=Eu({...D$2?.recentHistoryCache===void 0?{}:{cache:D$2.recentHistoryCache},fingerprint:_t,canRunBackground:Ep,onForeground:t=>{if(t.conversationType==="group"){gn?.promote(t.conversationId);for(let[l,M]of Yo)M.some(O=>O.conversationId===t.conversationId)&&fe.promote(l);}else (t.conversationType==="channel"||t.conversationType==="direct")&&on?.promote(o$1);},fetchPage:async(t,l)=>{let M=t.conversationType==="group"?mt("group",{conversationType:"group",conversationId:t.conversationId}):void 0;try{let O=await wu({http:R,authProvider:c,clientType:s,groupDecrypt:()=>Qt("history"),groupAsyncDecrypt:(V,K)=>{let H=Nt(B$1?.hasForeground(V)===!0?"foreground":"background",K);return H.assertCurrent?.(V),H},assertLoginContext:V=>{if(!p$2||o$1!==""&&V!==o$1)throw new DOMException("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError")},channelDecrypt:()=>at("history"),prepareGroupKeys:Xt,prepareChannelKeys:(V,K)=>Kn(V,{...K,recoverExistingMessages:!1}),keyPriority:V=>B$1?.hasForeground(V)===!0?"foreground":"background"})(t,l);return M===void 0?O:{...O,messages:M.messages(O.messages),recoveries:O.recoveries?.filter(M.acceptsRecovery)}}finally{M?.stop();}},yieldToEventLoop:b,report:(t,l,M)=>u$1.record(t.endsWith("failed")?"warn":"debug","sdk","history",t,()=>({conversation:l,data:M}))});let Hu=n$1.subscribe(t=>{if(t.type==="connection:changed"){t.state!=="authenticated"&&(Fe=false),B$1?.notifySchedulingChanged();return}if(t.type==="session:updated"){if(t.conversation.conversationType!=="group"&&t.conversation.conversationType!=="channel")return;let l=L(t.conversation),M=Jo.get(l),O={timestamp:t.session.timestamp,access:$o(t.session),capabilities:$o(t.session,false),state:t.session.type==="group"?t.session.groupState??"active":t.session.channelState,hasPermissions:t.session.channelPermissions!==void 0,hasSnapshot:t.session.channelAccessSnapshot!==void 0};if(Jo.set(l,O),t.conversation.conversationType==="group"&&O.state!=="active"&&M?.state!==O.state&&Wn(t.conversation),ie==="ready"&&M!==void 0&&(M.access!==O.access||!en&&M.timestamp!==O.timestamp)){let V=!M.hasSnapshot&&O.hasSnapshot&&(M.capabilities===O.capabilities||!M.hasPermissions&&M.state===O.state);B$1?.invalidate(t.conversation,{preserveForeground:M.access===O.access||V});}return}if(t.type==="session:removed"){Wn(t.conversation),Jo.delete(L(t.conversation)),ie==="ready"&&B$1?.invalidate(t.conversation);return}if(t.type==="conversation-history:cleared"){Wn(t.conversation),ie==="ready"&&B$1?.invalidate(t.conversation);return}ie!=="ready"||en||!("conversation"in t)||t.conversation===void 0||(t.type==="message:received"||t.type==="message:updated"||t.type==="message:removed")&&B$1?.invalidate(t.conversation,{preserveForeground:t.type==="message:received"});});function Za$1(t,l=true){let M=t.conversation.conversationType==="group"?Nt("foreground"):void 0;M?.assertCurrent?.({conversationType:"group",conversationId:t.conversation.conversationId}),en=true;try{if(M===void 0){t.messages.length>0&&G.upsertMessages(t.messages,"offline",{backfillOnly:!0,refreshSessionSummary:l});for(let O of t.reactions)Un(O);for(let O of B$1.takeRecoveries(t))U$1(O);}else {let O=B$1.takeRecoveries(t);for(let V of t.messages)M.publish([V],()=>G.upsertMessages([V],"offline",{backfillOnly:!0,refreshSessionSummary:l}));for(let V of t.reactions)M.publish([],()=>Un(V));for(let V of O)M.publish([],()=>U$1(V));}}finally{en=false;}}Z=async({conversation:t,oldestLoaded:l,cursor:M,intent:O,limit:V,signal:K})=>{a$1(K);let{conversationId:H}=t,_=G.getConversationContext(t);if(_===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${H}\uFF09`);if(_.type==="direct"||_.type==="robot")return {messages:[],exhausted:true};if(O==="establish-latest"&&V===30&&(_.type==="group"||_.type==="channel")){let J={conversationType:_.type,conversationId:H};if(_t(J)===void 0)return {messages:[],exhausted:true};let te=await B$1.readCached(J,true).catch(ee=>(u$1.record("warn","sdk","history","recent-history-cache-read-failed",()=>({conversation:J,error:{message:"\u8BFB\u53D6\u6700\u8FD1\u5386\u53F2\u7F13\u5B58\u5931\u8D25",data:ee}})),null));te!==null&&B$1.isPageCurrent(te)&&Date.now()-te.fetchedAt>5*6e4&&Za$1(te,false),a$1(K);let j=await B$1.latest(J,K).catch(ee=>{if(!$(ee)&&p$2&&_t(J)===void 0)return null;throw ee});if(j===null)return {messages:[],exhausted:true};if(a$1(K),!p$2||!B$1.isPageCurrent(j)||_t(J)===void 0)throw new Error("\u6700\u8FD1\u5386\u53F2\u8BF7\u6C42\u5DF2\u5931\u6548");if(Za$1(j),await B$1.confirmConsumed(j),a$1(K),!B$1.isPageCurrent(j))throw new Error("\u6700\u8FD1\u5386\u53F2\u9875\u5728\u7A97\u53E3\u63D0\u4EA4\u524D\u5DF2\u5931\u6548");return {messages:j.messages,exhausted:j.exhausted,...j.nextCursor===void 0?{}:{nextCursor:j.nextCursor},replaceWindow:true}}if(_.type==="group"){if(_.groupState!==void 0&&_.groupState!=="active")return {messages:[],exhausted:true};let J={conversationType:"group",conversationId:H},te=o$1,j=Nt(B$1?.hasForeground(t)===true?"foreground":"background",K);j.assertCurrent?.(J);let ee=mt("group",J);try{let ne=await c.getLoginContext();if(ne===null)return {messages:[],exhausted:!0};if(j.assertCurrent?.(),ne.userId!==te)throw new DOMException("GROUP \u5386\u53F2\u8BF7\u6C42\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let Ie=O==="establish-latest"?Date.now():M===void 0?l?.serverTime??l?.createdAt??Date.now():Du(M,H),be=[],de=[],we=await Ja({asyncDecrypt:j,signal:K,http:R,userId:ne.userId,clientType:s,groupId:H,baseTime:Ie,direct:1,limit:V,decryptDeps:{...Qt("history"),onDecryptRecovery:an=>de.push(an)},prepareKeys:an=>Xt(an,{signal:K,priority:B$1?.hasForeground(t)===!0?"foreground":"background"}),onReaction:an=>be.push(an)});j.assertCurrent?.();let We=ee.messages(we.messages);for(let an of We)j.publish([an],()=>G.upsertMessages([an],"offline",{backfillOnly:!0,refreshSessionSummary:O==="establish-latest"}));for(let an of be)j.publish([],()=>Un(an));for(let an of de)j.publish([],()=>{ee.acceptsRecovery(an)&&U$1(an);});j.assertCurrent?.();let Me=jr({conversationId:H,direction:"older",baseTime:Ie,batchSize:we.batchSize,boundaryTime:we.oldestEntryTime,limit:V});return {messages:We,...Me,...O==="establish-latest"?{replaceWindow:!0}:{}}}finally{ee.stop();}}if(_.type==="channel"){let J=w("history");if(_.channelState!==void 0&&pn(_.channelState))return u$1.record("info","sdk","history","channel-history-blocked",()=>({conversation:t,operationId:J,data:{state:_.channelState}})),{messages:[],exhausted:true};let te=An,j=vn(H),ee=await c.getLoginContext();if(ee===null)return {messages:[],exhausted:true};if(O==="establish-latest"){let de=await Ba$1({signal:K,http:R,userId:ee.userId,clientType:s,channelId:H,count:pr,operationId:J,decryptDeps:at("history"),prepareKey:Ge===void 0&&on===void 0?void 0:We=>Kn([We],{signal:K,priority:B$1?.hasForeground(t)===true?"foreground":"background"}),onContentDecodeError:Y,onReaction:Un});a$1(K);let we=G.getConversationContext(t);return !p$2||te!==An||j!==vn(H)||we?.type!=="channel"||we.channelState!==void 0&&pn(we.channelState)?{messages:[],exhausted:true}:(a$1(K),de.messages.length>0&&G.upsertMessages(de.messages,"offline",{backfillOnly:true,refreshSessionSummary:true}),{messages:de.messages,exhausted:!de.hasOlder,...de.nextCursor===void 0?{}:{nextCursor:de.nextCursor},replaceWindow:true})}let ne=M??"";if(M===void 0&&l!==void 0){let de=l.extensions?.historyCursor;if(typeof de=="string"&&de.trim()!=="")ne=de;else if(!bg(l,ee.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${H}, messageId=${l.id}\uFF09`)}u$1.record("debug","sdk","history","channel-history-page-start",()=>({conversation:t,operationId:J,data:{baseIndexPresent:ne!=="",direction:1,contain:0,count:pr,historyGeneration:te,historyEpoch:j,clientTypeHeader:s,clientTypeBody:s}}));let Ie;try{Ie=await Ca$1({signal:K,http:R,userId:ee.userId,clientType:s,channelId:H,baseIndex:ne,count:pr,contain:0,operationId:J,decryptDeps:at("history"),prepareKey:Ge===void 0&&on===void 0?void 0:de=>Kn([de],{signal:K,priority:B$1?.hasForeground(t)===!0?"foreground":"background"}),onContentDecodeError:Y,onReaction:Un});}catch(de){throw u$1.record("error","sdk","history","channel-history-page-failed",()=>({conversation:t,operationId:J,data:{baseIndexPresent:ne!=="",direction:1,contain:0,count:pr},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:de}})),de}a$1(K);let be=G.getConversationContext(t);return !p$2||te!==An||j!==vn(H)||be?.type!=="channel"||be.channelState!==void 0&&pn(be.channelState)?{messages:[],exhausted:true}:(a$1(K),Ie.messages.length>0&&G.upsertMessages(Ie.messages,"offline",{backfillOnly:true}),u$1.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:t,operationId:J,data:{responseBatchSize:Ie.batchSize,messageCount:Ie.messages.length,exhausted:Ie.exhausted,nextBaseIndexPresent:Ie.nextBaseIndex!==void 0}})),{messages:Ie.messages,exhausted:Ie.exhausted,...Ie.nextBaseIndex===void 0?{}:{nextCursor:Ie.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${_.type}`)};let Xo=t=>{t.length>0&&G.upsertMessages(t,"offline",{backfillOnly:true});},Qo=async()=>{let t=await c.getLoginContext();if(t===null)throw new Error("\u6309\u6D88\u606F ID \u56DE\u6E90\u5931\u8D25\uFF1A\u5F53\u524D\u6CA1\u6709\u767B\u5F55\u6001");return {userId:t.userId}},zu=async(t,l)=>{let M=mt("direct",t,l);try{let O=o$1,V=Qe(t),K=()=>{if(!p$2||o$1!==O||V!==Qe(t))throw new DOMException("DIRECT \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u6216\u5386\u53F2\u5DF2\u5931\u6548","AbortError")};K();let{userId:H}=await Qo();if(K(),H!==O)throw new DOMException("DIRECT \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let _=await ra(H,{priority:"foreground"});K();let J=[],te=[],j=await xo(l,async de=>{K();let we=await wa$1({http:R,userId:H,clientType:s,messageIds:de,asyncDecrypt:io("foreground",K),decryptDeps:{..._,onDecryptRecovery:We=>te.push(We)},onPlaintextFallback:We=>u$1.record("warn","sdk","crypto","direct-quoted-plaintext-fallback",()=>({conversation:t,data:{...We,endpoint:"/offline/v1/chat/msg/by_id",wireEncrypt:1,reason:"mislabeled-plaintext"}})),onReaction:We=>J.push(We)});if(K(),we.code!==200)throw Object.assign(new Error("DIRECT \u6309 ID \u67E5\u8BE2\u4E1A\u52A1\u5931\u8D25"),{code:we.code});return we});K();let ee=M.messages(j.messages).filter(de=>de.conversationType===t.conversationType&&de.conversationId===t.conversationId);for(let de of ee)K(),Xo([de]),K();for(let de of J)K(),de.conversation.conversationType===t.conversationType&&de.conversation.conversationId===t.conversationId&&Un(de),K();for(let de of te)K(),M.acceptsRecovery(de)&&de.conversation.conversationType===t.conversationType&&de.conversation.conversationId===t.conversationId&&U$1(de),K();let ne=ee.map(de=>{let we=G.getConversationMessage(t,de.id);if(we===void 0)throw new Error("DIRECT \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return we}),Ie=new Set(ne.map(de=>de.id)),be=new Set(j.missingMessageIds);for(let de of j.messages)Ie.has(de.id)||be.add(de.id);return {messages:ne,missingMessageIds:[...be]}}finally{M.stop();}},ei=async(t,l)=>{let M={conversationType:"group",conversationId:t},O=mt("group",M,l);try{let V=o$1,K=Qe(M),H=()=>{if(!p$2||o$1!==V||K!==Qe(M))throw new DOMException("GROUP \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u6216\u5386\u53F2\u5DF2\u5931\u6548","AbortError")},_=Nt("foreground",void 0,H);_.assertCurrent?.(M);let{userId:J}=await Qo();if(H(),J!==V)throw new DOMException("GROUP \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let te=[],j=[],ee=Qt("history"),ne=await xo(l,async de=>{H();let we=await xa$1({asyncDecrypt:_,http:R,userId:J,clientType:s,groupId:t,messageIds:de,decryptDeps:{...ee,onDecryptRecovery:We=>j.push(We)},prepareKeys:We=>Xt(We,{priority:"foreground"}),onReaction:We=>te.push(We)});if(H(),we.code!==200)throw Object.assign(new Error("GROUP \u6309 ID \u67E5\u8BE2\u4E1A\u52A1\u5931\u8D25"),{code:we.code});return we});H(),_.assertCurrent?.();let Ie=O.messages(ne.messages).filter(de=>de.conversationType===M.conversationType&&de.conversationId===M.conversationId);for(let de of Ie)_.assertCurrent?.(),Xo([de]),_.assertCurrent?.();for(let de of te)_.assertCurrent?.(),de.conversation.conversationType===M.conversationType&&de.conversation.conversationId===M.conversationId&&Un(de),_.assertCurrent?.();for(let de of j)_.assertCurrent?.(),O.acceptsRecovery(de)&&de.conversation.conversationType===M.conversationType&&de.conversation.conversationId===M.conversationId&&U$1(de),_.assertCurrent?.();return {messages:Ie.map(de=>{let we=G.getConversationMessage(M,de.id);if(we===void 0)throw new Error("GROUP \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return we}),missingMessageIds:ne.missingMessageIds}}finally{O.stop();}},ni=async(t,l)=>{let M={conversationType:"channel",conversationId:t},O=o$1,V=An,K=vn(t),H=()=>{let ne=G.getConversationContext(M);if(!p$2||o$1!==O||V!==An||K!==vn(t)||ne?.type!=="channel"||ne.channelState!==void 0&&pn(ne.channelState))throw new DOMException("CHANNEL \u6D88\u606F\u67E5\u8BE2\u6240\u5C5E\u8D26\u53F7\u6216\u5386\u53F2\u5DF2\u5931\u6548","AbortError")};H();let{userId:_}=await Qo();if(H(),_!==O)throw new DOMException("CHANNEL \u6D88\u606F\u67E5\u8BE2\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let J=[],te=[],j=await xo(l,async ne=>{H();let Ie=await ya({http:R,userId:_,clientType:s,channelId:t,messageIds:ne,operationId:w("history"),decryptDeps:{...at("history"),onDecryptRecovery:be=>te.push({...be,source:"history"})},prepareKey:Ge===void 0&&on===void 0?void 0:async be=>{await Kn([be],{recoverExistingMessages:false,priority:"foreground"}),H();},onContentDecodeError:Y,onReaction:be=>J.push(be)});if(H(),Ie.code!==0)throw Object.assign(new Error("CHANNEL \u6309 ID \u67E5\u8BE2\u4E1A\u52A1\u5931\u8D25"),{code:Ie.code});return Ie});H();for(let ne of j.messages)H(),Xo([ne]);for(let ne of J)H(),Un(ne);for(let ne of te)H(),U$1(ne);return H(),{messages:j.messages.map(ne=>{let Ie=G.getConversationMessage(M,ne.id);if(Ie===void 0)throw new Error("CHANNEL \u6309 ID \u67E5\u8BE2\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return Ie}),missingMessageIds:j.missingMessageIds}},Vu=Gb([Db({includeOppositeEnd:true,resolveOwnKey:async t=>{let l=await on?.getUserPrivateKey(t);return l?.publicKey?{publicKey:l.publicKey,version:l.version}:null}}),Eb({resolveGroupKey:Wa$1}),Cb({resolveChannelKey:On}),Fb()]),qu=nb([ob(),pb(),qb()]),Wu=Ka$1([La$1(),Ma$1(),Na$1({resolveChannelKey:On,resolveProfile:t=>nn?.getProfile(t)??Promise.resolve(null)})]),Sn=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},kt=()=>false,to=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},ti=()=>{},hr=()=>{},Cr={...G,removeConversationForMembershipTermination:(t,l)=>{ti(t,l),t.conversationType==="group"?(xn.remove(t.conversationId),Wn(t),gn?.clearGroupKeys(t.conversationId)):Ge?.clearChannelKey(t.conversationId),G.removeConversationForMembershipTermination(t,l),le.api.resetBackground(t).catch(M=>n$1.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:M}}));}},Ot=eb({domainState:G,sendFrame:t=>Sn(t),getSelfId:()=>o$1,isAuthenticated:()=>kt(),reportReaction:t=>Wr.reportReaction(t),isEmojiSupported:Ud,logger:$$1});Un=t=>{Ot.ingest(t,"offline");};let $u=fb$1({manager:Ot,getSelfId:()=>o$1,logger:$$1}),Ju=yb({domainState:G,outbox:{onChatAck:t=>to(t)},sendFrame:t=>Sn(t),getSelfId:()=>o$1,emitter:n$1,logger:$$1,keepRaw:true,decrypt:Fu(),isActive:()=>p$2}),Yu=tb({domainState:G,outbox:{onChatAck:t=>to(t)},sendFrame:t=>Sn(t),getSelfId:()=>o$1,emitter:n$1,logger:$$1,keepRaw:true,decrypt:Dt()}),Xu=zb({isActive:()=>p$2,domainState:G,outbox:{onChatAck:t=>to(t)},sendFrame:t=>Sn(t),getSelfId:()=>o$1,emitter:n$1,logger:$$1,keepRaw:true}),Qu=sb({domainState:G,sendFrame:t=>Sn(t),getSelfId:()=>o$1,emitter:n$1,logger:$$1,keepRaw:true,decrypt:{crypto:se,resolveChannelKey:Hn,resolveUserPrivateKey:Jn,onDecryptRecovery:U$1}}),Zu=rb({getSelfId:()=>o$1,sendFrame:t=>Sn(t),emitter:n$1}),ep=Ab({emitter:n$1,getSelfId:()=>o$1}),np=wb({sendFrame:t=>Sn(t),emitter:n$1,getSelfId:()=>o$1,domainState:{reconcileDirectContactEstablishedNotice:G.reconcileDirectContactEstablishedNotice,removeConversation:(t=>{if(typeof t=="string"){G.removeConversation(t);return}t.conversationType==="direct"&&At(t,"friend_relation_removed"),G.removeConversation(t);})},resetDirectReadReceiptPreference:t=>pe.api.readReceipts.resetConversation({conversationType:"direct",conversationId:t}),onRelationshipChanged:Fn.updateRelationshipFromEvent}),tp=Bb({sendFrame:t=>Sn(t),emitter:n$1,domainState:{applyTransferStatusBySerialNumber:G.applyTransferStatusBySerialNumber}}),rp=vb({getSelfId:()=>o$1,sendFrame:t=>Sn(t),emitter:n$1}),op=ub({getSelfId:()=>o$1,domainState:G,sendFrame:t=>Sn(t),emitter:n$1,onRelationshipChanged:Fn.updateRelationshipFromEvent}),Zo=p({sendFrame:t=>Sn(t),emitter:n$1,getSelfId:()=>o$1,isAuthenticated:()=>kt(),domainState:G}),ea=D$1({sendFrame:t=>Sn(t),emitter:n$1,getSelfId:()=>o$1,isAuthenticated:()=>kt(),domainState:G}),ri=[...Zo.handlers,...ea.commandHandlers],nr=Tu({isActive:()=>p$2&&kt(),getUserId:async()=>(await c.getLoginContext())?.userId??null,pull:(t,l,M)=>Ka$2({http:R,userId:t,clientType:s,deliveredMsgIds:l,signal:M}),onBatch:t=>{u$1.record("info","sdk","call","signal-offline-pull",()=>({data:{count:t.items.length,cmdIds:t.items.map(l=>`0x${l.cmdId.toString(16)}`)}})),t.items.length===0&&n$1.emit({type:"notification",cmdId:0,name:"OFFLINE_SIGNAL"});},onItem:t=>{if(n$1.emit({type:"notification",cmdId:t.cmdId,name:"OFFLINE_SIGNAL"}),!p$2||!kt())return;ri.find(M=>M.command===t.cmdId)?.handler(t.cmdId,t.body);},onError:t=>n$1.emit({type:"error",error:{scope:"sync",message:"\u97F3\u89C6\u9891\u79BB\u7EBF\u4FE1\u4EE4\u62C9\u53D6\u5931\u8D25",cause:t}})}),ap=n$1.subscribe(t=>{t.type==="connection:changed"&&t.state!=="authenticated"&&nr.stop();}),ip=xb({domainState:G,sendFrame:t=>Sn(t),getSelfId:()=>o$1,emitter:n$1,logger:$$1,keepRaw:true}),sp=cb({domainState:Cr,getSelfId:()=>o$1,prefetchGroupKey:zn,clearGroupKeys:t=>{xn.remove(t),Wn({conversationType:"group",conversationId:t}),gn?.clearGroupKeys(t);},clearConversationTermination:t=>hr(t)}),cp=n$1.subscribe(t=>{(t.type==="message:received"||t.type==="message:updated")&&sp.handleMessage(t.message);}),oi=Xa({domainState:Cr,getSelfId:()=>o$1,prepareChannelKey:t=>{u$1.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:Ge!==void 0&&Ge.getCachedChannelKey(t)!==null}})),Ge!==void 0&&Ge.getChannelKey(t).catch(()=>{});},clearChannelKey:t=>{let l=Ge!==void 0&&Ge.getCachedChannelKey(t)!==null;Ge?.clearChannelKey(t),u$1.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:t},data:{cacheHit:l}}));},clearConversationTermination:t=>hr(t),stopChannelHistory:t=>{let l=vn(t);mr(t),G.messageWindow.info().conversationId===t&&G.messageWindow.reset(),u$1.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:t},data:{previousEpoch:l,nextEpoch:vn(t)}}));}}),dp=n$1.subscribe(t=>{if(t.type==="message:received"||t.type==="message:updated"){let l=t.message;l.conversationType==="channel"&&l.body.system?.eventType!==void 0&&u$1.record("info","sdk","conversation","channel-membership-event-observed",()=>({conversation:{conversationType:"channel",conversationId:l.conversationId},messageId:l.id,data:{eventType:l.body.system?.eventType,source:t.source??"live",targetSelf:l.body.system?.targetUserIds?.includes(o$1)??false,lifecycleEffects:t.channelLifecycleEffects===true,stateBefore:G.getSession({conversationType:"channel",conversationId:l.conversationId})?.channelState??"missing"}})),oi.handleMessage(t.message,{source:t.source??"live",applyLifecycleEffects:t.channelLifecycleEffects});}}),lp=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_owner_transferred","channel_admin_added","channel_admin_removed","channel_member_renamed"]),up=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),pp=n$1.subscribe(t=>{if(t.type!=="message:received"&&t.type!=="message:updated"||(t.source??"live")!=="live"&&t.channelLifecycleEffects!==true)return;let l=t.message,M=l.body.system?.eventType;l.conversationType==="channel"&&M!==void 0&&(lp.has(M)&&It?.invalidateChannelMembers(l.conversationId).catch(O=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:O}});}),up.has(M)&&$n.invalidate(l.conversationId).catch(O=>{n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:O}});}));}),ai=Ad({fetchMessagesById:ei,onSourceUnavailable:t=>u$1.record("warn","sdk","message","pinned-source-unavailable",()=>({conversation:{conversationType:"group",conversationId:t.conversationId},data:{messageId:t.messageId,localCleared:true,serverCleanup:"requires-conditional-authorized-api"}})),...v$1===void 0?{}:{coreClient:v$1},domainState:G,emitter:n$1}),ii=fl({fetchMessagesById:ni,onSourceUnavailable:t=>u$1.record("warn","sdk","message","pinned-source-unavailable",()=>({conversation:{conversationType:"channel",conversationId:t.conversationId},data:{messageId:t.messageId,localCleared:true,serverCleanup:"requires-conditional-authorized-api"}})),...v$1===void 0?{}:{coreClient:v$1},domainState:G,emitter:n$1}),xt=gl({...ht===void 0?{}:{joinApplications:ht},http:R,clientType:s,buildOfflineDecrypt:()=>at("history"),onContentDecodeError:Y,onReaction:Un,...Ge===void 0&&on===void 0?{}:{prepareKey:(t,l)=>Kn([t],{signal:l,priority:B$1?.hasForeground({conversationType:"channel",conversationId:t})===true?"foreground":"background"})}});Gn=async(t,l,M)=>{let{context:O}=await xt.loadMessageContext(t,l,M);return O.messages};let mp=yl({authProvider:c,emitter:n$1,domainState:G,loadMessageContext:xt.loadMessageContext,isActive:()=>p$2,getHistoryGeneration:()=>An,getHistoryEpoch:vn}),na=Iu({domainState:G,isActive:()=>p$2,loadSummary:async({channelId:t,readCursor:l})=>{let M=await c.getLoginContext();if(M===null||!p$2||M.userId!==o$1)throw new Error("CHANNEL \u5DF2\u8BFB\u6458\u8981\uFF1A\u65E0\u6709\u6548\u767B\u5F55\u4E0A\u4E0B\u6587");return (await za$1({http:R,userId:M.userId,clientType:s,channels:[{channelId:t,readCursor:l}],keepRaw:false})).find(V=>V.channelId===t)},report:(t,l,M)=>u$1.record(t==="channel-read-summary-failed"?"warn":"debug","sdk","sync",t,()=>({conversation:l,data:M}))}),ta=hb({domainState:G,updateReadIndex:async({channelId:t,readCursor:l})=>{let M=await c.getLoginContext();if(M===null||!p$2||M.userId!==o$1)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await U({http:R,userId:M.userId,indexes:[{channelId:t,readCursor:l}]});},emitter:n$1,logger:$$1,onReadCommitted:na.request,onReadSettled:na.settled,syncRead:{getSelfId:()=>o$1,sendFrame:t=>Sn(t)}}),fp=gb({getSelfId:()=>o$1,applyRemoteRead:t=>ta.applyRemoteRead(t),emitter:n$1,logger:$$1}),gp=lb$1([kb({domainState:G,markGroupReadAll:async t=>{let l=await c.getLoginContext();if(l===null)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await oa({http:R,userId:l.userId,groupId:t});},emitter:n$1,logger:$$1,isAuthenticated:()=>kt(),syncRead:{getSelfId:()=>o$1,sendFrame:t=>Sn(t)}}),ta,mb$1({domainState:G})]),br=Lb({getSelfId:()=>o$1,sendFrame:t=>Sn(t),onListenerError:()=>n$1.emit({type:"error",error:{scope:"unknown",message:"\u63A8\u9001\u72B6\u6001\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38"}})}),yp=n$1.subscribe(t=>{t.type==="connection:changed"&&t.state!=="authenticated"&&br.setAuthenticated(false);}),Ae=Hb({transport:I,authProvider:c,endpointProvider:e$1.endpointProvider,emitter:n$1,domainState:G,logger:$$1,decrypt:{crypto:se,resolvePrivateKey:({msgType:t})=>t===1?on?.getCachedPrivateKey(o$1)?.privateKey??null:null,onDecryptError:t=>ge("live",t),onDecryptRecovery:U$1},encryptSend:Qr===void 0&&Ge===void 0?void 0:{crypto:se,resolvePublicKey:t=>Qr?.getPeerPublicKey(t)??Promise.resolve(null),resolveGroupKey:Wa$1},media:Be!==void 0?{transfer:Be,recoveryPort:f$1?.port,retainFailedUploads:e$1.uploadRecovery?.retainFailedUploads,shouldPersistUpload:(t,l)=>f$1!==void 0&&db(l,e$1.media?.multipartTransfer===true&&e$1.media.multipartUpload!==false).multipart,waitUntilOnline:t=>C.wait(t),preview:jn,onTransferError:t=>{u$1.record("error","core","media","media-transfer-failed",()=>({conversation:t.conversation,data:{stage:t.stage,kind:t.kind,messageId:t.messageId},error:{message:"\u5A92\u4F53\u4E0A\u4F20\u5931\u8D25",data:t.cause}}));},onAlbumContentSize:t=>{u$1.record(t.outcome==="rejected"?"error":"warn","core","media",t.outcome==="rejected"?"media-album-content-rejected":"media-album-content-large",()=>({conversation:t.conversation,data:{messageId:t.messageId,itemCount:t.itemCount,...t.contentBytes===void 0?{}:{contentBytes:t.contentBytes}},...t.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u5408\u96C6\u6B63\u6587\u672A\u901A\u8FC7\u53D1\u9001\u524D\u4F53\u79EF\u95F8\u95E8",data:t.cause}}}));},...ce===void 0?{}:{assetCache:ce,onAssetCacheError:t=>{u$1.record("warn","core","media","media-asset-cache-put-failed",()=>({data:{operation:t.operation,kind:t.kind,messageId:t.messageId,byteLength:t.byteLength},error:{message:"\u53D1\u9001\u5A92\u4F53\u5199\u5165\u672C\u673A\u7F13\u5B58\u5931\u8D25",data:t.cause}}));}},...e$1.media?.maxConcurrentUploads===void 0?{}:{maxConcurrentUploads:e$1.media.maxConcurrentUploads}}:void 0,sendStrategies:Vu,commandHandlers:[...br.commandHandlers,...np,...ep,...tp,...rp,...op,...ri,...$u,...Ju,...ip,...Yu,...Qu,...Zu,...fp,...Xu],readStrategies:gp,canSendDirectReadReceipt:t=>{if(!pe.isDirectReadReceiptEnabled(t))return false;let l=Fn.peekRelationship(t);if(!(l===void 0||l==="unknown"))return l==="friend"},recallStrategies:qu,channelMessageDeletion:{resolveProfile:t=>nn?.getProfile(t)??Promise.resolve(null),onPermissionDenied:t=>G.refreshConversationProfile(t,"channel")},editStrategies:Wu,storage:D$2,onAuthenticated:()=>{br.setAuthenticated(true);for(let l of xe)l.resumeMedia();let t=rn;rn=true,(t||Oe==="auto")&&li().catch(()=>{}),nr.start();},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e$1.connection);T$1=t=>Ae.suppressDirectReadReceipts(t),ae=t=>Ae.resumeDirectReadReceipts(t),Sn=Ae.sendFrame,kt=()=>Ae.state==="authenticated",to=Ae.onChatAck,At=Ae.terminateConversationSending,ti=Ae.markOutboxConversationTerminated,hr=Ae.clearOutboxConversationTerminated;let si=tl({operations:{getPending:Ae.getPendingOutbox,retry:Ae.retryOutboxMessage,cancel:Ae.cancelOutboxMessage},emitter:n$1,isActive:()=>p$2}),Xe=Rl({mediaCrypto:{executor:fe,generation:d,isActive:()=>p$2},connection:Ae,domainState:G,crypto:se,settleEmptyGroupRead:async t=>{let l=kn.get(t.conversationId)??0,M=G.getSession(t),O=M===void 0,V=M?.unreadCount??0,K=M?.mentionUnreadCount??0,H=V,_=K,J=()=>{let j=G.getSession(t);if(!p$2||O||j===void 0||l!==(kn.get(t.conversationId)??0)||j.groupState!==void 0&&j.groupState!=="active")throw new DOMException("\u7FA4\u5DF2\u8BFB\u8BF7\u6C42\u5DF2\u5931\u6548","AbortError");return j},te=n$1.subscribe(j=>{if(!(!("conversation"in j)||j.conversation?.conversationType!=="group"||j.conversation.conversationId!==t.conversationId)&&((j.type==="session:removed"||j.type==="conversation-history:cleared"||j.type==="session:updated"&&j.session.groupState!==void 0&&j.session.groupState!=="active")&&(O=true),j.type==="read:updated"||j.type==="session:updated")){let ee=G.getReadState(t);if(ee===void 0)return;let ne=ee.mentionUnreadCount??0;H=Math.max(0,H-Math.max(0,V-ee.unreadCount)),_=Math.max(0,_-Math.max(0,K-ne)),V=ee.unreadCount,K=ne;}});try{J();let j=await c.getLoginContext();if(J(),j===null||j.userId!==o$1)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u767B\u5F55\u4E0A\u4E0B\u6587\u5DF2\u5931\u6548");await oa({http:R,userId:j.userId,groupId:t.conversationId});let ee=J(),ne=G.getReadState(t),Ie=Math.max(0,(ne?.unreadCount??ee.unreadCount)-H),be=Math.max(0,(ne?.mentionUnreadCount??ee.mentionUnreadCount??0)-_);G.setReadState({...ne??{...t,readCursor:ee.readCursor??"",unreadCount:ee.unreadCount},mentionUnreadCount:be}),G.applyServerUnread(t,Ie);}finally{te();}},...Be===void 0?{}:{mediaTransfer:Be},prepareDirectReadReceipt:async t=>{try{await Fn.ensureRelationship(t);}catch(l){n$1.emit({type:"error",error:{scope:"http",message:"Direct \u5DF2\u8BFB\u5DF2\u5728\u672C\u5730\u63D0\u4EA4\uFF0C\u4F46\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u672A\u53D1\u9001\u5BF9\u7AEF\u53EF\u89C1\u56DE\u6267",cause:{peerId:t,error:l}}});}}}),ro=el({recoveryPort:f$1?.port,connection:Ae,domainState:G,emitter:n$1,isActive:()=>p$2,preparePreview:rt,prepareVideoPoster:ot,prepareImageThumbnail:Pn,onLocalPreviewError:({kind:t,byteLength:l,cause:M})=>{u$1.record("warn","sdk","media","local-preview-failed",()=>({generation:d,data:{kind:t,byteLength:l},error:{message:M instanceof Error?M.message:String(M)}}));},...ce===void 0?{}:{assetCache:ce,onAssetCacheEvent:t=>{u$1.record(t.outcome==="failed"?"warn":"debug","sdk","media",`media-asset-cache-${t.operation}-${t.outcome}`,()=>({data:{operation:t.operation,outcome:t.outcome,kind:t.kind,messageId:t.messageId,...t.byteLength===void 0?{}:{byteLength:t.byteLength}},...t.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u64CD\u4F5C\u5931\u8D25",data:t.cause}}}));}},...Be===void 0?{}:{loaders:{loadImage:Xe.operations.loadImage,loadVideo:Xe.operations.loadVideo,loadVoice:Xe.operations.loadVoice,loadFile:Xe.operations.loadFile}}}),oo=bu({isActive:()=>p$2&&ie==="ready"&&o$1!=="",maintain:async()=>{ro.prune(),Ae.expireRetainedUploads();let l=(await Promise.allSettled([W?ce?.prune?.():void 0,f$1?.prune()])).find(M=>M.status==="rejected");if(l?.status==="rejected")throw l.reason},onError:t=>u$1.record("warn","sdk","media","media-cache-maintenance-failed",()=>({error:{message:"\u5A92\u4F53\u8FC7\u671F\u7F13\u5B58\u6E05\u7406\u5931\u8D25",data:t}}))});Tt=()=>{Ae.invalidateMediaAssetCacheWrites(),ro.clearCache();},e$1.transport===void 0&&typeof window<"u"&&(Ae.setConnectionAllowed(false),re=ib({onChange:(t,l)=>{if(!t)return sn=true,Ae.setConnectionAllowed(false),p$2?(vp(),mi({localData:"preserve"},{requireStorageClose:true,preserveUploadRecovery:true,notifyReplacement:l==="replaced"}).then(()=>{})):qn?.then(()=>{})},onError:t=>{fn=t,n$1.emit({type:"error",error:{scope:"transport",message:"IM \u9875\u9762\u8FDE\u63A5\u534F\u8C03\u4E0D\u53EF\u7528\uFF0C\u8BF7\u4F7F\u7528\u652F\u6301 Web Locks \u7684\u5B89\u5168\u6D4F\u89C8\u5668\u73AF\u5883",cause:t}});}}));async function Ip(t){if(!(re===void 0||!p$2)){if(!sn){nt??=re.start(r.forAccount(t).name("ephemeral","connection",`client-${s}`));let l=await nt;if(!p$2)return;if(p$2&&!sn&&l&&re.owned){Ae.setConnectionAllowed(true);return}}throw Ae.setConnectionAllowed(false),await Ae.connect(),fn!==void 0?Object.assign(new Error("Browser IM coordination is unavailable"),{code:"IM_CONNECTION_OWNERSHIP_UNAVAILABLE",cause:fn}):Object.assign(new Error("Chat is active in another page; reload this page to continue here"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"})}}let ao=jb({onOnline:()=>{C.setOnline(true),Ae.notifyOnline();},onOffline:()=>{C.setOnline(false),Ae.notifyOffline();},onVisible:()=>{oo.run(),Ae.notifyVisible();for(let t of xe)t.resumeMedia();},onPageHide:()=>{Ze&&Ae.suspendForPageLifecycle();},onPageShow:()=>{if(oo.run(),Ze){Ae.resumeFromPageLifecycle(),Ae.notifyVisible();for(let t of xe)t.resumeMedia();}}},e$1.network);function vp(){p$2=false,nr.stop(),a$2.clear(),yr(),Re.abort(),he.dispose(),ze.dispose(),De.dispose(),B$1?.dispose(),Ze=false,ln+=1,ao.stop();}let hp=n$1.subscribe(t=>{!p$2||t.type!=="auth:invalid"||(nr.stop(),Ze=false,ln+=1,sn=re!==void 0,re?.terminate(),ao.stop());});async function ra(t,l={}){let M=await on?.getUserPrivateKey(t,{priority:l.priority??"background",signal:l.signal??Re.signal})??null;return {crypto:se,resolvePrivateKey:({msgType:O})=>O===1?M?.privateKey??null:null,onDecryptError:O=>ge("offline",O,t),onDecryptRecovery:U$1}}function mt(t,l,M){let O=l===void 0?G.getMessages().filter(_=>_.conversationType===t):G.getMessagesByConversation(l).filter(_=>M===void 0||M.includes(_.id)),V=new Map(O.map(_=>[P({conversation:{conversationType:_.conversationType,conversationId:_.conversationId},messageId:_.id}),_])),K=new Set,H=n$1.subscribe(_=>{if((_.type==="message:received"||_.type==="message:updated")&&_.source==="live"&&_.conversation.conversationType===t&&(l===void 0||_.conversation.conversationId===l.conversationId&&(M===void 0||M.includes(_.message.id)))){let J=P({conversation:_.conversation,messageId:_.message.id}),te=V.get(J);(te===void 0||!_e(te,_.message))&&K.add(J);}});return {stop:()=>{H(),V.clear(),K.clear();},acceptsRecovery:_=>!K.has(P(_)),messages:_=>_.map(J=>{let te={conversationType:J.conversationType,conversationId:J.conversationId};return K.has(P({conversation:te,messageId:J.id}))?G.getConversationMessage(te,J.id)??J:J})}}function io(t,l){let M=o$1,O=new Map(Ye),V=new Map,K=H=>{if(a$1(Re.signal),!p$2||M!==o$1)throw new DOMException("DIRECT \u8BA1\u7B97\u6240\u5C5E\u8D26\u53F7\u5DF2\u5931\u6548","AbortError");H!==void 0&&V.set(L(H),H);for(let[_,J]of V)if((O.get(_)?.version??0)!==Qe(J))throw Ye.get(_)?.reason!==void 0?Ye.get(_).reason:new DOMException("DIRECT \u8BA1\u7B97\u6240\u5C5E\u4F1A\u8BDD\u5DF2\u6E05\u7406","AbortError");l?.();};return {publish(H,_){K();let J=_();return K(),J},executor:fe,generation:d,operationId:`direct-batch:${++zo}`,priority:t,signal:Re.signal,assertCurrent:K,yieldToEventLoop:b}}function Nt(t,l,M){let O=o$1,V=new Map(Ye),K=new Map,H=_=>{if(a$1(Re.signal),a$1(l),!p$2||o$1!==O)throw new DOMException("GROUP \u8BA1\u7B97\u6240\u5C5E\u8D26\u53F7\u5DF2\u5931\u6548","AbortError");_!==void 0&&K.set(L(_),_);for(let[J,te]of K)if((V.get(J)?.version??0)!==Qe(te))throw Ye.get(J)?.reason!==void 0?Ye.get(J).reason:new DOMException("GROUP \u8BA1\u7B97\u6240\u5C5E\u7FA4\u5BC6\u94A5\u3001\u6743\u9650\u6216\u5386\u53F2\u5DF2\u5931\u6548","AbortError");M?.();};return {publish(_,J){H();let te=_.filter(ee=>{if(ee.conversationType!=="group"||ee.body.system===void 0)return false;let ne=C$1(ee.body.system,o$1);return ne!==null&&ne.state!=="active"}).map(ee=>({conversationType:"group",conversationId:ee.conversationId})),j=J();for(let ee of te){let ne=L(ee);Ye.get(ne)?.reason===void 0&&V.set(ne,{version:Qe(ee)});}return H(),j},executor:{async decryptBatch(_){let J=[...K.values()];Yo.set(_.operationId,J);try{let te=t==="foreground"||J.some(j=>B$1?.hasForeground(j)===!0)?"foreground":"background";return await fe.decryptBatch({..._,priority:te})}finally{Yo.delete(_.operationId);}}},generation:d,operationId:`group-batch:${++zo}`,priority:t,signal:l??Re.signal,assertCurrent:H,yieldToEventLoop:b}}async function so(t,l,M,O,V){let K=[],H;try{for(let te of l)V([],()=>{K.push(Promise.resolve(G.commitReceivedMessages([],"offline",void 0,{events:[te],apply:j=>Ot.ingest(j,"offline")})));});for(let te of t)V([te],()=>{K.push(Promise.resolve(G.commitReceivedMessages([te],"offline")));});for(let te of M)V([],()=>{U$1(te);let j=q$1.get(P(te));j!==void 0&&K.push(j);});}catch(te){H={cause:te};}let _=await Promise.allSettled(K);if(H!==void 0)throw H.cause;let J=_.find(te=>te.status==="rejected");if(J?.status==="rejected")throw J.reason;O();}function ci(t,l){return {endpoint:t,pullBatch:async({deliveredMsgInfos:M,limit:O})=>{let V=mt("direct");try{let K=[],H=o$1,_=io("background");_.assertCurrent?.();let J=await c.getLoginContext();if(J===null)throw new Error(`sync(${t}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);if(_.assertCurrent?.(),H!==""&&J.userId!==H)throw new DOMException("DIRECT \u79BB\u7EBF\u540C\u6B65\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let te=await ra(J.userId);_.assertCurrent?.();let j=[],ee=await l({http:R,userId:J.userId,clientType:s,decryptDeps:{...te,onDecryptRecovery:ne=>K.push(ne)},asyncDecrypt:_,deliveredMsgInfos:M,...O===void 0?{}:{limit:O},onReaction:ne=>j.push(ne)});return _.assertCurrent?.(),{...ee,reactions:j,commit:async()=>{try{await so(V.messages(ee.messages),j,K.filter(V.acceptsRecovery),()=>_.assertCurrent?.(),_.publish);}finally{V.stop();}}}}catch(K){throw V.stop(),K}}}}let Cp=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:t,limit:l})=>{let M=o$1,O=Nt("background"),V=mt("group");try{O.assertCurrent?.();let K=await c.getLoginContext();if(K===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");if(O.assertCurrent?.(),M!==""&&K.userId!==M)throw new DOMException("GROUP \u79BB\u7EBF\u540C\u6B65\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let H=[],_=[],J=await Ha$1({http:R,userId:K.userId,clientType:s,decryptDeps:{...Qt("offline"),onDecryptRecovery:te=>_.push(te)},asyncDecrypt:O,prepareKeys:Xt,deliveredMsgInfos:t,...l===void 0?{}:{limit:l},onReaction:te=>H.push(te)});return O.assertCurrent?.(),{...J,reactions:H,commit:async()=>{try{await so(V.messages(J.messages),H,_.filter(V.acceptsRecovery),()=>O.assertCurrent?.(),O.publish);}finally{V.stop();}}}}catch(K){throw V.stop(),K}}});async function di(t){let l=[...new Map(t.map(V=>[L(V),V])).values()],M=0;await(async()=>{for(;M<l.length;){if(!p$2)return;let V=l[M++];if(!(G.getSession(V)===void 0||_t(V)===void 0))try{if(await he.waitForBackground(Re.signal),!p$2||G.getSession(V)===void 0||_t(V)===void 0)continue;B$1.invalidate(V,{preserveForeground:!0}),await Z({conversation:V,oldestLoaded:void 0,intent:"establish-latest",limit:30});}catch(K){if(!p$2||G.getSession(V)===void 0||_t(V)===void 0)continue;n$1.emit({type:"error",error:{scope:"sync",message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:K}}),u$1.record("warn","sdk","sync","session-latest-summary-failed",()=>({conversation:V,error:{message:"\u4F1A\u8BDD\u6700\u65B0\u6D88\u606F\u540C\u6B65\u5931\u8D25",data:K}}));}}})();}async function bp(){let t=o$1,l=Nt("background"),M=mt("group");try{l.assertCurrent?.();let O=await c.getLoginContext();if(O===null)return;if(l.assertCurrent?.(),t!==""&&O.userId!==t)throw new DOMException("GROUP \u4F1A\u8BDD\u540C\u6B65\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let V=[],K=[],H=await Ia({http:R,userId:O.userId,clientType:s,decryptDeps:{...Qt("offline"),onDecryptRecovery:_=>K.push(_)},asyncDecrypt:l,prepareKeys:Xt,onReaction:_=>V.push(_)});l.assertCurrent?.();for(let _ of H.unreads)l.assertCurrent?.(),G.applyServerUnread({conversationType:"group",conversationId:_.groupId},_.unreadCount),zn(_.groupId);await so(M.messages(H.messages),V,K.filter(M.acceptsRecovery),()=>l.assertCurrent?.(),l.publish),l.assertCurrent?.(),await di(H.unreads.map(_=>({conversationType:"group",conversationId:_.groupId}))),sa(H);}finally{M.stop();}}async function Mp(){let t=w("sync");u$1.record("info","sdk","sync","channel-sync-start",()=>({operationId:t,data:{clientTypeHeader:s,sessionsClientTypeBody:"absent",offlineClientTypeBody:s}}));try{await Pp(t);}catch(l){throw u$1.record("error","sdk","sync","channel-sync-failed",()=>({operationId:t,error:{message:"CHANNEL \u540C\u6B65\u5931\u8D25",data:l}})),l}}async function Pp(t){if(nn===void 0){u$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"profile-unavailable"}}));return}let l=await c.getLoginContext();if(l===null){u$1.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:t,data:{reason:"auth-unavailable"}}));return}let M=await nn.listProfiles({forceRefresh:true});if(!p$2)return;if(M.length===0){u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let O=new Map(M.map(N=>[N.id,N]));for(let N of M){if(X(N.channelState)){Ge?.clearChannelKey(N.id),Cr.removeConversationForMembershipTermination({conversationType:"channel",conversationId:N.id},`channel_${N.channelState}`);continue}let me=N.permissions.sendMessages?void 0:`channel_${N.channelState}`;G.setChannelRestriction(N.id,N.channelState,me,{permissions:N.permissions,...N.accessSnapshot===void 0?{}:{snapshot:N.accessSnapshot}}),G.updateConversationProfile({conversationType:"channel",conversationId:N.id},{title:N.name,avatar:N.avatar}),N.muted!==void 0&&G.setMuted({conversationType:"channel",conversationId:N.id},N.muted);}let V=new Map(M.map(N=>{let me={conversationType:"channel",conversationId:N.id},Ve=G.getReadState(me),qe=G.getSession(me);return [N.id,{revision:G.getChannelReadRevision(me),pending:G.hasPendingChannelRead(me),readCursor:Ve?.readCursor??qe?.readCursor??"",unreadCount:qe?.unreadCount??Ve?.unreadCount??0,mentionUnreadCount:qe?.mentionUnreadCount??Ve?.mentionUnreadCount??0}]})),K=M.map(N=>({channelId:N.id,readCursor:V.get(N.id).readCursor}));u$1.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:t,data:{channelCount:K.length,channelsWithReadCursor:K.filter(N=>N.readCursor!=="").length,clientTypeHeader:s,clientTypeBody:s}}));let H=await za$1({http:R,userId:l.userId,clientType:s,channels:K,operationId:t,decryptDeps:at("offline"),prepareKeys:N=>Kn(N.filter(me=>{let Ve=O.get(me)?.channelState;return Ve===void 0||!pn(Ve)})),onContentDecodeError:Y,onReaction:Un});if(!p$2)return;u$1.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:t,data:{sessionCount:H.length,lastMessageCount:H.filter(N=>N.last!==void 0).length,decryptFailedLastCount:H.filter(N=>N.last?.encryption.decryptFailed===true).length,unknownContentLastCount:H.filter(N=>N.last?.contentType==="unknown"&&N.last.encryption.decryptFailed!==true).length}}));let _=new Set(H.filter(N=>{let me=V.get(N.channelId),Ve={conversationType:"channel",conversationId:N.channelId},qe=G.getReadState(Ve),it=G.getSession(Ve);return me===void 0||me.pending||G.hasPendingChannelRead(Ve)||G.getChannelReadRevision(Ve)!==me.revision||(qe?.readCursor??it?.readCursor??"")!==me.readCursor||(it?.unreadCount??qe?.unreadCount??0)!==me.unreadCount||(it?.mentionUnreadCount??qe?.mentionUnreadCount??0)!==me.mentionUnreadCount}).map(N=>N.channelId)),J=H.filter(N=>G.getConversationContext({conversationType:"channel",conversationId:N.channelId})!==void 0).map(N=>{let Ve=O.get(N.channelId)?.channelState,qe=Ve!==void 0&&pn(Ve)?Ve:pn(N.channelState)?N.channelState:Ve??N.channelState,it=qe==="active"?void 0:qe===N.channelState?N.sendDisabledReason:`channel_${qe}`;return {...N,channelState:qe,sendDisabledReason:it}});for(let N of J){let me=O.get(N.channelId);G.setChannelRestriction(N.channelId,N.channelState,N.sendDisabledReason,me===void 0?void 0:{permissions:me.permissions,...me.accessSnapshot===void 0?{}:{snapshot:me.accessSnapshot}}),me!==void 0&&(G.updateConversationProfile({conversationType:"channel",conversationId:N.channelId},{title:me.name,avatar:me.avatar}),me.muted!==void 0&&G.setMuted({conversationType:"channel",conversationId:N.channelId},me.muted)),_.has(N.channelId)||G.applyChannelReadSummary({conversationType:"channel",conversationId:N.channelId},N),pn(N.channelState)&&Ge?.clearChannelKey(N.channelId);}let te=An,j=new Map(J.map(N=>[N.channelId,vn(N.channelId)])),ee=N=>{let me=G.getConversationContext({conversationType:"channel",conversationId:N});return p$2&&te===An&&j.get(N)===vn(N)&&me!==void 0&&(me.channelState===void 0||!pn(me.channelState))},ne=N=>{if(!p$2||te!==An)return [];let me=N.filter(Ve=>ee(Ve.conversationId));return me.length>0&&G.upsertMessages(me,"offline",{applyChannelLifecycleEffects:true}),me};ne(J.flatMap(N=>N.last===void 0?[]:[N.last])),await di(J.filter(N=>N.last===void 0&&!pn(N.channelState)).map(N=>({conversationType:"channel",conversationId:N.channelId})));let Ie=J.filter(N=>!_.has(N.channelId)&&!pn(N.channelState)&&N.unreadCount>0&&N.readCursor!=="");u$1.record("debug","sdk","sync","channel-offline-plan",()=>{let N={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let me of J)_.has(me.channelId)?N.staleRead+=1:pn(me.channelState)?N.historyBlocked+=1:me.unreadCount<=0?N.zeroUnread+=1:me.readCursor===""&&(N.emptyReadCursor+=1);return {operationId:t,data:{acceptedSessionCount:J.length,eligibleChannelCount:Ie.length,staleReadSkippedCount:N.staleRead,historyBlockedSkippedCount:N.historyBlocked,zeroUnreadSkippedCount:N.zeroUnread,emptyReadCursorSkippedCount:N.emptyReadCursor,direction:0,contain:0,count:pr}}});let be=[],de=new Map(Ie.map(N=>[N.channelId,N.readCursor])),we=[];for(let N of Ie){let me={conversationType:"channel",conversationId:N.channelId},Ve=D$2?.supportsChannelSyncCheckpoint!==true?void 0:Za(await D$2.getMeta(Ya$1(me)),me);if(!ee(N.channelId))continue;let qe=Ve?.startIndex===N.readCursor;we.push({channelId:N.channelId,baseIndex:qe?Ve.baseIndex:N.readCursor}),u$1.record("debug","sdk","sync","channel-offline-resume",()=>({operationId:t,conversation:me,data:{resumed:qe}}));}let We=[],Me=[],an;if(await Aa$1({http:R,userId:l.userId,clientType:s,operationId:t,pulls:we,messageCount:pr,signal:Re.signal,beforePage:()=>he.waitForBackground(Re.signal),isChannelCurrent:ee,yieldToEventLoop:b,decryptDeps:{...at("offline"),onDecryptRecovery:N=>Me.push(N)},prepareKeys:N=>Kn(N,{recoverExistingMessages:false}),onContentDecodeError:Y,onReaction:N=>We.push(N),onPage:async(N,me)=>{let Ve=We.splice(0),qe=Me.splice(0),aa=(async()=>{for(let Lt of me.pulls){let Ii={conversationType:"channel",conversationId:Lt.channelId},Ut=()=>ee(Lt.channelId);if(!Ut())continue;let lo=qe.filter(Vn=>Vn.conversation.conversationId===Lt.channelId),vi=()=>{be.push(...ne(N.filter(Vn=>Vn.conversationId===Lt.channelId)));for(let Vn of Ve)Ut()&&Vn.conversation.conversationId===Lt.channelId&&Un(Vn);};if(D$2?.supportsChannelSyncCheckpoint!==true){vi();for(let Vn of lo)Ut()&&U$1(Vn);continue}if(!await G.commitChannelSyncPage([Ii],vi,Ut,async()=>{if(lo.length>0&&D$2.saveDecryptRecovery===void 0)throw new Error("CHANNEL \u540C\u6B65\u4E0D\u80FD\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55");for(let Vn of lo)await D$2.saveDecryptRecovery(Vn);})||!Ut())continue;let hi=me.nextBaseIndexes[Lt.channelId];hi!==void 0&&await G.saveChannelSyncCheckpoint({version:1,conversation:Ii,startIndex:de.get(Lt.channelId),baseIndex:hi},Ut);for(let Vn of lo)Ut()&&eo(Vn).catch(Hp=>n$1.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u89E3\u5BC6\u6062\u590D\u5931\u8D25",cause:Hp}}));}})();Ne.add(aa);try{await aa;}finally{Ne.delete(aa);}}}).catch(N=>{an={cause:N};}),!p$2)return;let hn=J.flatMap(N=>{let me=N.last;if(me===void 0||vr(me))return [];let Ve=me.extensions?.historyCursor;return [{summary:N,last:me,historyCursor:typeof Ve=="string"?Ve.trim():""}]}),Cn=(N,me)=>`${N}:${me}`,cn=new Map,yn=new Set;for(let{summary:N,last:me}of hn){let Ve=G.getConversationMessage({conversationType:"channel",conversationId:N.channelId},me.id);if(Ve===void 0||!vr(Ve))continue;let qe=Cn(N.channelId,me.id);cn.set(qe,Ve),yn.add(qe);}for(let N of be)vr(N)&&cn.set(Cn(N.conversationId,N.id),N);let Yn=hn.filter(({summary:N,last:me,historyCursor:Ve})=>Ve!==""&&!_.has(N.channelId)&&!pn(N.channelState)&&!cn.has(Cn(me.conversationId,me.id))&&!Ho.has(Cn(me.conversationId,me.id))),Xn=hn.filter(({summary:N,last:me})=>!_.has(N.channelId)&&!pn(N.channelState)&&!yn.has(Cn(me.conversationId,me.id))&&cn.has(Cn(me.conversationId,me.id))).length;u$1.record("debug","sdk","sync","channel-session-last-recovery-plan",()=>({operationId:t,data:{unusableLastCount:hn.length,decryptFailedLastCount:hn.filter(({last:N})=>N.encryption.decryptFailed===true).length,unknownContentLastCount:hn.filter(({last:N})=>N.contentType==="unknown"&&N.encryption.decryptFailed!==true).length,localRecoveredCount:yn.size,offlineRecoveredCount:Xn,contextRecoveryCount:Yn.length,staleReadSkippedCount:hn.filter(N=>_.has(N.summary.channelId)).length,historyBlockedSkippedCount:hn.filter(N=>pn(N.summary.channelState)).length,missingHistoryCursorCount:hn.filter(N=>N.historyCursor==="").length}}));let Ct=async({summary:N,last:me,historyCursor:Ve})=>{try{if(await he.waitForBackground(Re.signal),!ee(N.channelId))return;let{message:qe}=await xt.loadMessageContext(N.channelId,Ve,l.userId,Re.signal),it=G.getConversationContext({conversationType:"channel",conversationId:N.channelId});if(!p$2||it?.type!=="channel"||it.channelState!==void 0&&pn(it.channelState))return;if(qe.conversationType!=="channel"||qe.conversationId!==N.channelId||qe.id!==me.id)throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u7ED3\u679C\u4E0D\u5339\u914D\uFF08channelId=${N.channelId}, messageId=${me.id}\uFF09`);if(!vr(qe)){if(qe.contentType==="unknown"&&qe.encryption.decryptFailed!==!0){Ho.add(Cn(qe.conversationId,qe.id)),u$1.record("info","sdk","sync","channel-session-last-unknown-confirmed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:N.channelId},data:{messageId:me.id,reason:qe.body.unknown?.reason}}));return}throw new Error(`CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u672A\u53D6\u5F97\u53EF\u7528\u6B63\u6587\uFF08channelId=${N.channelId}, messageId=${me.id}\uFF09`)}return qe}catch(qe){u$1.record("warn","sdk","sync","channel-session-last-recovery-failed",()=>({operationId:t,conversation:{conversationType:"channel",conversationId:N.channelId},error:{message:"CHANNEL sessions.last \u7CBE\u786E\u6062\u590D\u5931\u8D25",data:qe},data:{messageId:me.id}}));return}},Qn=[];for(let N of Yn){if(!p$2)break;Qn.push(await Ct(N));}for(let N of Qn)N!==void 0&&cn.set(Cn(N.conversationId,N.id),N);let Tn=Qn.filter(N=>{if(N===void 0)return false;let me=G.getConversationMessage({conversationType:"channel",conversationId:N.conversationId},N.id);return me===void 0||!vr(me)});if(ne(Tn),an!==void 0)throw an.cause;u$1.record("info","sdk","sync","channel-sync-complete",()=>({operationId:t,data:{profileCount:M.length,terminalProfileCount:M.filter(N=>X(N.channelState)).length,sessionCount:H.length,acceptedSessionCount:J.length,sessionLastCount:J.filter(N=>N.last!==void 0).length,recoveredSessionLastCount:hn.filter(({last:N})=>cn.has(Cn(N.conversationId,N.id))).length,offlineMessageCount:be.length}}));}let Mr=null,oa$1=false;function Sp(){return Mr!==null?(oa$1=true,Mr):(Mr=(async()=>{let l;do{oa$1=false,l=void 0;try{await Mp();}catch(M){l=M;}}while(oa$1);if(l!==void 0)throw l})().finally(()=>{Mr=null;}),Mr)}async function wp(t,l=[]){if(!p$2)throw new Error("\u79BB\u7EBF\u6D88\u606F\u63D0\u4EA4\u5DF2\u53D6\u6D88");await G.commitReceivedMessages(t,"offline",void 0,{events:l??[],apply:O=>Ot.ingest(O,"offline")});let M=t.flatMap(O=>{let V=q$1.get(P({conversation:{conversationType:O.conversationType,conversationId:O.conversationId},messageId:O.id}));return V===void 0?[]:[V]});if(await Promise.all(M),!p$2)throw new Error("\u79BB\u7EBF\u6D88\u606F\u63D0\u4EA4\u5DF2\u53D6\u6D88")}let Rp=Sb({commitBatch:wp,pullers:[ci("chat",Da$1),ci("owner_chat",Ea$1),Cp()],domainState:G,emitter:n$1,logger:$$1,yieldToEventLoop:b});function Ep(){return p$2&&ie==="ready"&&Fe&&He===0&&Ae.state==="authenticated"}async function li(){if(re!==void 0&&(!re.owned||sn))throw new Error("\u5F53\u524D\u9875\u9762\u672A\u6301\u6709 IM \u8FDE\u63A5\uFF0C\u4E0D\u80FD\u540C\u6B65\u6D88\u606F");let t=De.begin(),l=ze.begin(),M=bp().catch(V=>{throw n$1.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:V}}),V}),O=Sp().catch(V=>{throw n$1.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:V}}),V});He+=1;try{let K=(await Promise.allSettled([Rp.sync({rejectOnFailure:!0}),M,O])).find(H=>H.status==="rejected");if(K?.status==="rejected")throw K.reason}finally{l(),t(),He-=1,Fe=Ae.state==="authenticated",B$1?.notifySchedulingChanged();}}async function Ap(){if(ie==="ready")return;ie="preparing";let t=await c.getLoginContext();if(p$2){if(t!==null){if(await Ip(t.userId),!p$2)return;o$1=t.userId;try{await f$1?.prepare(t.userId);}catch{n$1.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u6062\u590D\u8BB0\u5F55\u4E0D\u53EF\u7528\uFF0C\u672C\u6B21\u4E0A\u4F20\u4EC5\u652F\u6301\u5F53\u524D\u9875\u9762\u5185\u6062\u590D"}});}if(!p$2)return;if(Q.start(),on!==void 0&&on.getUserPrivateKey(t.userId,{priority:"foreground"}).catch(ke),D$2!==void 0)try{if(await D$2.open({namespace:t.userId}),W=!0,!p$2)return;try{await pe.hydrate();}catch(l){n$1.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:l}});}if(!p$2||(await G.hydrate(()=>p$2),!p$2))return;for(let l of G.getSessions())l.title===""&&l.type!=="supergroup"&&G.refreshConversationProfile(l.id,l.type);if(await Ae.hydrateOutbox(()=>p$2),!p$2)return}catch(l){n$1.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:l}});}if(!p$2)return;if(gn!==void 0)for(let l of G.getSessions())l.type==="group"&&zn(l.id);}p$2&&(ie="ready",o$1!==""&&oo.start());}}function ui(){if(sn)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(ie==="ready")return Promise.resolve();if(E!==null)return E;let t=Date.now();return u$1.record("info","sdk","session","prepare-start"),E=Ap().then(()=>u$1.record("info","sdk","session","prepare-complete",()=>({durationMs:Date.now()-t}))).catch(l=>{throw u$1.record("error","sdk","session","prepare-failed",()=>({durationMs:Date.now()-t,error:{message:"IM prepare \u5931\u8D25",data:l}})),l}).finally(()=>{E=null;}),E}function Tp(t){if(sn)return Promise.reject(Object.assign(new Error("Chat is active in another page"),{code:"IM_CONNECTION_OWNED_ELSEWHERE"}));if(!p$2||sn)return Promise.reject(new Error("IM \u8FDE\u63A5\u5DF2\u505C\u6B62\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5"));if(Ze=true,Ae.state==="authenticated")return Promise.resolve();if(z!==null)return z;Oe=t?.initialSync??"auto",rn=false;let l=Date.now();u$1.record("info","sdk","connection","connect-start",()=>({data:{initialSync:Oe}}));let M=ln;return z=(async()=>{await ui(),!(!p$2||!Ze||M!==ln)&&(ao.start(),await Ae.connect());})().then(()=>u$1.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-l}))).catch(O=>{throw u$1.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-l,error:{message:"IM connect \u5931\u8D25",data:O}})),O}).finally(()=>{z=null;}),z}function pi(t){u$1.record("info","sdk","connection","disconnect",()=>({data:{reason:t}})),Ze=false,ln+=1,nr.stop(),Ae.disconnect(t),ao.stop();}function mi(t,l={}){if(qn!==void 0)return qn;let M,O;return qn=new Promise((V,K)=>{M=V,O=K;}),Dp(t,l).then(M,O),qn}async function Dp(t,l){let M=Date.now(),O;u$1.record("info","sdk","session","teardown-start",()=>({data:{localData:t?.localData??"preserve",pendingMessages:t?.pendingMessages??"fail"}})),p$2=false,a$2.clear(),yr(),Re.abort(),he.dispose(),ze.dispose(),De.dispose(),na.dispose(),l.notifyReplacement&&n$1.emit({type:"session:replaced"});let V=oo.dispose(),K=B$1?.dispose();Hu(),yp(),br.dispose(),nr.stop(),Zo.dispose(),ea.dispose(),Ot.dispose(),si.dispose(),ro.dispose(),Je.dispose(),m$1.dispose(),Fn.dispose();let H=Ae.disposeMediaTasks({preserveRecovery:l.preserveUploadRecovery===true});for(let Ie of xe)Ie.close();xe.clear(),An+=1,Ae.markOutboxForLogout(t?.pendingMessages??"fail"),ai.dispose(),ii.dispose(),xt.dispose(),$n.dispose(),Ee.dispose(),Mn.dispose(),le.dispose();let _=pe.dispose();b$1.dispose();let J=G.invalidateAndDrainDraftOperations();A.dispose(),cp(),dp(),pp(),oi.dispose(),ta.reset(),Ge?.clearAll(),Zt.clear(),jo.clear(),Ho.clear(),pi("im-logout"),(l.requireStorageClose||re?.owned===true)&&await E?.catch(()=>{});try{await H;}catch{n$1.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u4EFB\u52A1\u6E05\u7406\u672A\u5B8C\u6210\uFF0C\u8BF7\u68C0\u67E5\u672C\u5730\u6570\u636E\u4E0E\u7F51\u7EDC\u72B6\u6001"}});}await V;try{await f$1?.dispose(l.preserveUploadRecovery===!0);}catch(Ie){O=Ie,n$1.emit({type:"error",error:{scope:"storage",message:"\u4E0A\u4F20\u6062\u590D\u8BB0\u5F55\u6E05\u7406\u5931\u8D25\uFF0C\u8BF7\u6E05\u9664\u6B64\u7AD9\u70B9\u7684\u672C\u5730\u6570\u636E"}});}await J,await _,await K,await Promise.allSettled([...Ne]),await G.waitForChannelSyncPersistence(),await Promise.allSettled([...q$1.values(),...Ir.values()]),await Promise.all([...g$1.values()]),G.clearSession();let te=t?.localData==="purge"?o$1:"",j=te===""?void 0:O,ee,ne=true;if(D$2!==void 0)try{await D$2.close();}catch(Ie){ne=false,te!==""&&(j=Ie),l.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:te===""?"\u5173\u95ED\u672C\u5730\u5B58\u50A8\u5931\u8D25":"\u5173\u95ED\u672C\u5730\u5B58\u50A8\u5931\u8D25\uFF0C\u5DF2\u8DF3\u8FC7\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93",cause:Ie}});}if(te!==""&&ne)try{k!==void 0?await k.purgeCurrentAccount({namespaceFactory:r,accountId:te}):await kb$1(te,{namespaceFactory:r}),j===void 0&&(ee=te);}catch(Ie){j=Ie,l.reportStorageErrors!==false&&n$1.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:Ie}});}if(ie="empty",u$1.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-M,data:{purgedAccountId:ee,purgeFailed:j!==void 0}})),Yr(),ue(),ap(),hp(),sn=true,(l.requireStorageClose||re!==void 0)&&!ne)throw new Error("Previous chat page could not close its account storage");return re?.stop(),{...ee===void 0?{}:{purgedAccountId:ee},...j===void 0?{}:{purgeError:j}}}function _p(){return {sessionState:ie,connectionState:Ae.state,...o$1!==""?{userId:o$1}:{},prepared:ie==="ready",connectionDesired:Ze,authenticated:Ae.state==="authenticated",receiving:De.receiving,syncing:ze.receiving}}function kp(t){return n$1.subscribe(t)}function Op(){return {connectionState:Ae.state,pendingOutbox:Ae.getPendingOutbox()}}function xp(){return G.getConversationList()}_n=async({conversation:t,newestLoaded:l,cursor:M,limit:O,signal:V})=>{a$1(V);let{conversationId:K}=t,H=G.getConversationContext(t);if(H===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${K}\uFF09`);if(H.type==="direct"||H.type==="robot")return {messages:[],exhausted:true};if(H.type==="group"){if(H.groupState!==void 0&&H.groupState!=="active")return {messages:[],exhausted:true};let _={conversationType:"group",conversationId:K},J=o$1,te=Nt(B$1?.hasForeground(t)===true?"foreground":"background",V);te.assertCurrent?.(_);let j=mt("group",_);try{let ee=await c.getLoginContext();if(ee===null)return {messages:[],exhausted:!0};if(te.assertCurrent?.(),ee.userId!==J)throw new DOMException("GROUP \u5386\u53F2\u8BF7\u6C42\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let ne=M===void 0?l?.serverTime??l?.createdAt:Du(M,K);if(ne===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${K}, messageId=${l?.id??""}\uFF09`);let Ie=[],be=[],de=await Ja({asyncDecrypt:te,signal:V,http:R,userId:ee.userId,clientType:s,groupId:K,baseTime:ne,direct:2,limit:O,decryptDeps:{...Qt("history"),onDecryptRecovery:Me=>be.push(Me)},prepareKeys:Me=>Xt(Me,{signal:V,priority:B$1?.hasForeground(t)===!0?"foreground":"background"}),onReaction:Me=>Ie.push(Me)});te.assertCurrent?.();let we=j.messages(de.messages);for(let Me of we)te.publish([Me],()=>G.upsertMessages([Me],"offline",{backfillOnly:!0}));for(let Me of Ie)te.publish([],()=>Un(Me));for(let Me of be)te.publish([],()=>{j.acceptsRecovery(Me)&&U$1(Me);});te.assertCurrent?.();let We=jr({conversationId:K,direction:"newer",baseTime:ne,batchSize:de.batchSize,boundaryTime:de.newestEntryTime,limit:O});return {messages:we,...We}}finally{j.stop();}}if(H.type==="channel"){if(H.channelState!==void 0&&pn(H.channelState))return {messages:[],exhausted:true};let _=M??l?.extensions?.historyCursor;if(typeof _!="string"||_.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${K}, messageId=${l?.id??""}\uFF09`);let J=An,te=vn(K),j=await c.getLoginContext();if(j===null)return {messages:[],exhausted:true};let ee=M===void 0?(await xt.loadMessageContext(K,_,j.userId,V)).context:await xt.loadNewerPage(K,_,j.userId,V);a$1(V);let ne=G.getConversationContext(t);return !p$2||J!==An||te!==vn(K)||ne?.type!=="channel"||ne.channelState!==void 0&&pn(ne.channelState)?{messages:[],exhausted:true}:(ee.messages.length>0&&G.upsertMessages(ee.messages,"offline",{backfillOnly:true}),{messages:ee.messages,exhausted:!ee.hasNewer,...!ee.hasNewer||ee.nextCursor===void 0?{}:{nextCursor:ee.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${H.type}`)};function Np(t){let l=t.conversationId,M=o$1,O=An,V=vn(l),K,H;return async({readCursor:_,cursor:J,signal:te,isCurrent:j})=>{let ee=he.enterForeground();try{let ne=()=>{let Me=G.getConversationContext(t);return p$2&&o$1===M&&j()&&O===An&&V===vn(l)&&Me?.type==="channel"&&(Me.channelState===void 0||!pn(Me.channelState))};if(a$1(te),!ne()||J!==void 0&&(K!==_||H===void 0))return;let Ie=await c.getLoginContext();if(a$1(te),Ie===null||Ie.userId!==M||!ne())return;let be=[],de=[],we=await T({http:R,userId:Ie.userId,clientType:s,channelId:l,index:J??_,containAnchor:J===void 0,signal:te,decryptDeps:{...at("history"),onDecryptRecovery:Me=>de.push({...Me,source:"history"})},prepareKey:Me=>Kn([Me],{recoverExistingMessages:!1,priority:"foreground",signal:te}),onContentDecodeError:Y,onReaction:Me=>be.push(Me)});if(a$1(te),!ne())return;if(J===void 0){let Me=we.messages.find(an=>an.extensions?.historyCursor===_);if(Me===void 0)return;K=_,H=Me.sortKey;}if(H===void 0||(we.messages.length>0&&G.upsertMessages(we.messages,"offline",{backfillOnly:!0}),!ne()))return;for(let Me of be){if(!ne())return;Un(Me);}for(let Me of de){if(!ne())return;U$1(Me);}return ne()?{messages:we.messages.map(Me=>{let an=G.getConversationMessage(t,Me.id);if(an===void 0)throw new Error("\u9996\u672A\u8BFB\u5386\u53F2\u90BB\u9875\u5728\u9886\u57DF\u5408\u5E76\u540E\u7F3A\u5C11\u6D88\u606F");return an}),readCursorSortKey:H,exhausted:!we.hasNewer,...we.nextCursor===void 0?{}:{nextCursor:we.nextCursor}}:void 0}finally{ee();}}}async function fi(){let t=mt("direct");try{let l=[],M=[],O=o$1,V=io("background");V.assertCurrent?.();let K=await c.getLoginContext();if(K===null)throw new Error("pullOfflineChat: \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");if(V.assertCurrent?.(),O!==""&&K.userId!==O)throw new DOMException("DIRECT \u79BB\u7EBF\u62C9\u53D6\u7684\u767B\u5F55\u8D26\u53F7\u5DF2\u6539\u53D8","AbortError");let H={...await ra(K.userId),onDecryptRecovery:j=>l.push(j)},_=await Fa$1({http:R,userId:K.userId,clientType:s,decryptDeps:H,asyncDecrypt:V,onReaction:j=>M.push(j)}),J=await Ga$1({http:R,userId:K.userId,clientType:s,decryptDeps:H,asyncDecrypt:io("background",V.assertCurrent),onReaction:j=>M.push(j)});V.assertCurrent?.();let te=t.messages([..._,...J]);return await so(te,M,l.filter(t.acceptsRecovery),()=>V.assertCurrent?.(),V.publish),te}finally{t.stop();}}async function Lp(){await li();}let Up=2;function Bn(t){let l=oe({...t,operation:"openConversation"});return Object.assign(new Error(l.code),l,{name:"ImConversationOpenError"})}function Fp(t){return t instanceof Error&&t.name==="ImConversationOpenError"&&typeof t.code=="string"}function Kp(t){if(typeof t=="object"&&t!==null&&typeof t.code=="string"&&typeof t.category=="string"&&typeof t.retryable=="boolean"){let l=t;return {code:l.code,category:l.category,retryable:l.retryable}}return t instanceof o?{code:"IM_SDK_CONVERSATION_PROFILE_READ_FAILED",category:"network",retryable:true}:t instanceof p$1||t instanceof Error&&t.name==="DirectoryMappingError"?{code:"IM_SDK_CONVERSATION_PROFILE_INVALID",category:"contract",retryable:false}:{code:"IM_SDK_CONVERSATION_OPEN_PREREQUISITE_FAILED",category:"state",retryable:false}}function gi(t){if(!p$2)throw Bn({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:t})}function Bp(t){let l=t?.conversationType,M=t?.conversationId;if(l==="supergroup")throw Bn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:t});if(l!=="direct"&&l!=="group"&&l!=="channel"&&l!=="robot"||typeof M!="string"||M.trim()==="")throw Bn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...t===void 0?{}:{conversation:t}});return Object.freeze({conversationType:l,conversationId:M.trim()})}function tr(t,l){return {id:t.conversationId,type:t.conversationType,title:l.title.trim()||t.conversationId,...l.avatar===void 0?{}:{avatar:l.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:false,muted:l.muted??false,...l.groupState===void 0?{}:{groupState:l.groupState},...l.channelState===void 0?{}:{channelState:l.channelState},...l.channelPermissions===void 0?{}:{channelPermissions:l.channelPermissions},...l.channelAccessSnapshot===void 0?{}:{channelAccessSnapshot:l.channelAccessSnapshot},...l.sendDisabledReason===void 0?{}:{sendDisabledReason:l.sendDisabledReason}}}async function Gp(t){let l=Bp(t);if(gi(l),G.getSession(l)!==void 0)return l;let M=De.begin(),O=false,V=n$1.subscribe(H=>{H.type==="session:removed"&&H.conversation.conversationType===l.conversationType&&H.conversation.conversationId===l.conversationId&&(O=true);}),K=()=>{if(gi(l),O)throw Bn({code:"IM_SDK_CONVERSATION_OPEN_INVALIDATED",category:"state",retryable:true,conversation:l})};try{if(l.conversationType==="direct"){let j=Ee.peekItem("individual",l.conversationId);if(j!==void 0)return G.prepareConversation(tr(l,{title:j.displayName||j.cardDisplayName,...j.avatarUrl===void 0?{}:{avatar:j.avatarUrl}})),l;let ee=await Fn.getRelationship(l.conversationId);if(K(),ee!=="friend")throw Bn({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:l,details:Object.freeze({relationship:ee})});let ne=await Fn.getProfile(l.conversationId);if(K(),ne===null||ne.id!==l.conversationId)throw Bn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});return G.prepareConversation(tr(l,{title:ne.remark??ne.nickname,...ne.avatar===void 0?{}:{avatar:ne.avatar},...ne.muted===void 0?{}:{muted:ne.muted}})),l}if(l.conversationType==="group"){let j=G.isMembershipTerminated(l),ee=Ee.peekItem("group",l.conversationId);if(ee!==void 0&&!j)return G.prepareConversation(tr(l,{title:ee.displayName||ee.cardDisplayName,...ee.avatarUrl===void 0?{}:{avatar:ee.avatarUrl},groupState:"active"})),l;if(Le===void 0)throw Bn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let ne=await Le.getGroupProfile(l.conversationId,j?{forceRefresh:!0}:void 0);if(K(),ne===null||ne.id!==l.conversationId)throw Bn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});if(ne.isInGroup===!1||j&&ne.isInGroup!==!0||ne.status!==void 0&&ne.status!==Up)throw Bn({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({...ne.status===void 0?{}:{status:ne.status},...ne.isInGroup===void 0?{}:{isInGroup:ne.isInGroup}})});return G.prepareConversation(tr(l,{title:ne.name,...ne.avatar===void 0?{}:{avatar:ne.avatar},...ne.muted===void 0?{}:{muted:ne.muted},groupState:"active"}),{membershipConfirmed:j}),j&&(K(),hr({conversationType:"group",conversationId:l.conversationId})),l}if(l.conversationType==="robot"){let j=Mn.peek(l.conversationId);return G.prepareConversation(tr(l,{title:j?.displayName??l.conversationId,...j?.avatarUrl===void 0?{}:{avatar:j.avatarUrl}})),l}if(nn===void 0)throw Bn({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:l});let H=G.isMembershipTerminated(l),_=await nn.getProfile(l.conversationId,H?{forceRefresh:!0}:void 0);if(K(),_===null||_.id!==l.conversationId)throw Bn({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:l});let J=_.channelState==="active"||_.channelState==="muted",te=_.channelState==="muted"&&_.accessSnapshot?.allMembersMuted===!0&&_.role!=="owner"&&_.role!=="admin";if(!J||te)throw Bn({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:l,details:Object.freeze({channelState:_.channelState,role:_.role,hiddenByAllMemberMute:te})});return G.prepareConversation(tr(l,{title:_.name,..._.avatar===void 0?{}:{avatar:_.avatar},..._.muted===void 0?{}:{muted:_.muted},channelState:_.channelState,channelPermissions:_.permissions,..._.accessSnapshot===void 0?{}:{channelAccessSnapshot:_.accessSnapshot},..._.permissions.sendMessages?{}:{sendDisabledReason:`channel_${_.channelState}`}}),{membershipConfirmed:H}),H&&(K(),hr({conversationType:"channel",conversationId:l.conversationId})),l}catch(H){if(Fp(H))throw H;let _=Kp(H);throw Bn({..._,conversation:l,cause:H})}finally{V(),M();}}let Pr={...Cl({...v$1===void 0?{}:{coreClient:v$1},authProvider:c,http:R,resolveInput:L$1,domainState:G,operations:{list:xp,pullOffline:fi,sync:Lp,prefetchRecent:(t,l)=>B$1.prefetchRecent(t,l)},beforeDeleteConversation:fr,terminateConversationSending:(t,l)=>Ae.terminateConversationSending(t,l),resetConversationBackground:t=>le.api.resetBackground(t),reportStorageError:(t,l)=>n$1.emit({type:"error",error:{scope:"storage",message:t,cause:l}}),markChannelRead:(t,l)=>Ae.markRead(t,l,"channel"),settleConversationRead:async t=>{let l=await yi(t,{initialPosition:"latest"},"read");try{await l.markConversationRead();}finally{l.close();}}}),...le.api,ensureOpenableConversation:Gp,getContext:t=>G.getConversationContext(t)};function jp(t,l=true){let M=new AbortController,O={...t,resumeMedia(){!l||!p$2||M.signal.aborted||Ae.state!=="authenticated"||t.ref.conversationType==="robot"||Ae.resumePausedMediaUploads(t.ref,M.signal).catch(()=>{p$2&&!M.signal.aborted&&n$1.emit({type:"error",error:{scope:"unknown",message:"\u5F53\u524D\u4F1A\u8BDD\u4E0A\u4F20\u6062\u590D\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6"}});});},close(){M.abort(),t.close(),xe.delete(O);}};return Lo(O,t),xe.add(O),l&&O.resumeMedia(),O}function co(t,l,M=true){if(!p$2)throw t.close(),new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");return l?.aborted&&(t.close(),a$1(l)),jp(t,M)}async function yi(t,l={},M){if(!p$2)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let O=B$1?.enterForeground(t),V=he.enterForeground(),K=De.begin();try{let H={beginReceiving:De.begin,domainState:G,invalidateHistory:fr,emitter:n$1,drafts:b$1.api,sendText:Xe.operations.sendText,sendContact:Xe.operations.sendContact,sendImage:Xe.operations.sendImage,sendVideo:Xe.operations.sendVideo,sendVoice:Xe.operations.sendVoice,sendFile:Xe.operations.sendFile,sendGif:Xe.operations.sendGif,sendMediaAlbum:Xe.operations.sendMediaAlbum,sendExpression:Xe.operations.sendExpression,sendGame:Xe.operations.sendGame,sendMiniProgram:Xe.operations.sendMiniProgram,sendTransfer:Xe.operations.sendTransfer,sendGift:Xe.operations.sendGift,sendLiveRoom:Xe.operations.sendLiveRoom,replaceVideo:Xe.operations.replaceInterruptedVideo,replaceFile:Xe.operations.replaceInterruptedFile,forwardMessages:Xe.operations.forwardMessages,recallMessage:Xe.operations.recallMessage,editMessage:Xe.operations.editMessage,setReaction:({conversation:_,parentMessageId:J,emoji:te,action:j})=>{if(_.conversationType==="robot")return Promise.resolve({ok:!1,reason:"restricted"});let ee={conversationType:_.conversationType,conversationId:_.conversationId};return j==="toggle"?Ot.toggle({conversation:ee,parentMessageId:J,emoji:te}):Ot.set({conversation:ee,parentMessageId:J,emoji:te,action:j==="add"?0:1})},markRead:Xe.operations.markRead,markConversationRead:Xe.operations.markConversationRead,markVisibleMessages:Xe.operations.markVisibleMessages,markDirectMediaConsumed:Xe.operations.markDirectMediaConsumed,prepareMediaPreview:rt,getSelfId:()=>o$1,isOutboxOwned:_=>Ae.getPendingOutbox().some(J=>J.id===_),hasOutboxForConversation:_=>Ae.getPendingOutbox().some(J=>J.conversationType===_.conversationType&&J.conversationId===_.conversationId)};switch(t.conversationType){case "direct":{let _={conversationType:"direct",conversationId:t.conversationId},J=await $l(_,{...H,getRelationship:Fn.getRelationship,shouldCheckRelationship:()=>Ae.state==="authenticated",appendContactRequiredTextFailure:j=>G.appendDirectContactRequiredTextFailure({conversationId:j.conversationId,senderId:o$1,text:j.text,...j.refMessageId===void 0?{}:{refMessageId:j.refMessageId}}),setMuted:(j,ee)=>Pr.setMuted(j,ee),fetchMessagesByIdBatch:j=>zu(_,j)},l),te=co(J,l.signal,M!=="read");return no(_),te}case "group":{let _={conversationType:"group",conversationId:t.conversationId},J=await Jl(_,{...H,getSendPermissionError:j=>{let ee=G.getConversationContext(_),ne=ee?.type==="group"?ee.groupState:"unknown";if(!(ne===void 0||ne==="active"))return oe({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:j,retryable:!1,conversation:_,details:Object.freeze({groupState:ne})})},setMuted:(j,ee)=>Pr.setMuted(j,ee),fetchMessagesByIdBatch:j=>ei(_.conversationId,j)},l),te=co(J,l.signal,M!=="read");return no(_),te}case "channel":{let _={conversationType:"channel",conversationId:t.conversationId},J=await Ql(_,{...H,loadEntryUnreadPage:Np(_),getSelfId:()=>o$1,deleteMessageForEveryone:Ae.deleteChannelMessageForEveryone,reconcilePage:mp.reconcilePage,getSendPermissionError:j=>{let ee=G.getConversationContext(_),ne=ee?.type==="channel"&&ee.channelState!==void 0?ee.channelState:"unknown_restricted",Ie=Wa({channelState:ne,nowMs:Date.now(),...ee?.type!=="channel"||ee.channelAccessSnapshot===void 0?{}:{snapshot:ee.channelAccessSnapshot},...ee?.type!=="channel"||ee.channelPermissions===void 0?{}:{permissions:ee.channelPermissions}});if(!(Ie.channelState==="active"&&Ie.permissions.sendMessages))return oe({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:j,retryable:!1,conversation:_,details:Object.freeze({channelState:Ie.channelState,...Ie.muteReason===void 0?{}:{muteReason:Ie.muteReason}})})},setMuted:(j,ee)=>Pr.setMuted(j,ee),fetchMessagesByIdBatch:j=>ni(_.conversationId,j)},l),te=co(J,l.signal,M!=="read");return no(_),te}case "robot":{let _={conversationType:"robot",conversationId:t.conversationId},J=await Yl(_,{...H,setMuted:(te,j)=>Pr.setMuted(te,j)},l);return co(J,l.signal,M!=="read")}default:throw new Error(`openConversation\uFF1A${t.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}finally{K(),O?.(),V();}}return {advancedMessageDiagnostics:{sendDirectText:async t=>{await Xe.operations.sendText({conversationId:t.peerId,conversationType:"direct",text:t.text,encrypted:t.encrypted});}},openConversation:yi,localData:Yt,directory:Ee.search,robots:Mn.api,search:A.api,applications:m$1.api,expressions:$r.api,sessionFavorites:Bo.api,outbox:si.api,drafts:b$1.api,connection:El({operations:{prepare:ui,connect:Tp,disconnect:pi,subscribe:kp,getSnapshot:Op,getLifecycle:_p},getState:()=>Ae.state}),conversations:Pr,settings:pe.api,push:br.api,contact:Fn,group:Td({directory:Ee.groups,...Le===void 0?{}:{profile:{getGroupProfile:async(t,l)=>{let M=G.beginConversationProfileRead({conversationType:"group",conversationId:t},l);try{let O=await Le.getGroupProfile(t,l);return O!==null&&M({id:O.id,title:O.name,avatar:O.avatar}),O}finally{M.finish();}},...Le.getGroupMemberNames===void 0?{}:{getGroupMemberNames:Le.getGroupMemberNames.bind(Le)},...Le.listGroupMembers===void 0?{}:{listGroupMembers:Le.listGroupMembers.bind(Le)},...Le.peekGroupMembers===void 0?{}:{peekGroupMembers:Le.peekGroupMembers.bind(Le)},...Le.peekGroupProfile===void 0?{}:{peekGroupProfile:Le.peekGroupProfile.bind(Le)},...Le.peekGroupMemberNames===void 0?{}:{peekGroupMemberNames:Le.peekGroupMemberNames.bind(Le)}}},...v$1===void 0?{}:{coreClient:v$1},...Be===void 0?{}:{avatarTransfer:Be},domainState:{...Cr,prepareConversation:t=>G.prepareConversation(t)},emitter:n$1,pinned:ai.operations}),channel:Il({directory:Ee.channels,...nn===void 0?{}:{channelProfile:{listProfiles:nn.listProfiles.bind(nn),getProfile:async(t,l)=>{let M=G.beginConversationProfileRead({conversationType:"channel",conversationId:t},l);try{let O=await nn.getProfile(t,l);return O!==null&&M({id:O.id,title:O.name,avatar:O.avatar}),O}finally{M.finish();}}}},...It===void 0?{}:{channelMembers:It},...tt===void 0?{}:{channelMentionMembers:tt},mentionCandidates:$n.api,applications:xt.applications,pinned:ii.operations,...v$1===void 0?{}:{coreClient:v$1},...Be===void 0?{}:{avatarTransfer:Be},crypto:se,domainState:{prepareConversation:t=>G.prepareConversation(t),setChannelRestriction:G.setChannelRestriction,removeConversationForMembershipTermination:Cr.removeConversationForMembershipTermination,updateConversationProfile:G.updateConversationProfile,refreshConversationProfile:G.refreshConversationProfile},emitter:n$1,...Ge===void 0?{}:{cacheCreatedSecretKey:(t,l)=>Ge.primeChannelKey(t,l)},getSelfUserId:async()=>o$1!==""?o$1:(await c.getLoginContext())?.userId??""}),media:ro.api,calls:_l(Zo),groupCalls:pu(ea),teardown:mi}}function Mg(e){let n=Pg(e);return xu(Nu(n),e.coreApi!==void 0)}function ih(e){return Nu(Sg(e))}function Pg(e){return {...ku(e),...e.coreApi===void 0?{}:{coreClient:Ou(e.authProvider,e.coreApi)}}}function ku(e){let{authProvider:n,cache:r,clientType:d,connection:s,debug:c,endpointProvider:o,expressions:u,media:p,onRequestError:f,uploadRecovery:C}=e;return {authProvider:n,onRequestError:f,cache:r,clientType:d,connection:s,debug:c,endpointProvider:o,expressions:u,media:p,uploadRecovery:C}}function Sg(e){let{adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:s,channelProfile:c,contactApplications:o,coreApi:u,coreClient:p,directory:f,expressionProvider:C,sessionFavoriteProvider:v,http:R,network:I,profile:k,groupApplications:D,transport:q}=e;return {...ku(e),adapters:n,channelJoinApplications:r,channelMembers:d,channelMentionMembers:s,channelProfile:c,contactApplications:o,directory:f,expressionProvider:C,sessionFavoriteProvider:v,...p!==void 0?{coreClient:p}:u===void 0?{}:{coreClient:Ou(e.authProvider,u)},http:R,network:I,profile:k,groupApplications:D,transport:q}}function Ou(e,n){let r=n.baseUrl.trim();if(r==="")throw new Error("coreApi.baseUrl \u4E0D\u80FD\u4E3A\u7A7A");return C({config:{...n.appVersion===void 0?{}:{appVersion:n.appVersion},...n.envType===void 0?{}:{envType:n.envType},...n.brandId===void 0?{}:{brandId:n.brandId},...n.merchantId===void 0?{}:{merchantId:n.merchantId},...n.channelId===void 0?{}:{channelId:n.channelId},targets:{core:{baseUrl:r,prefix:n.prefix??"/api/h5"}}},getToken:async()=>(await e.getLoginContext())?.token,...n.getLocale===void 0?{}:{getLocale:n.getLocale}})}function xu(e,n){let r=Yd({getCompatibilityApi:()=>e.conversations,subscribeEvents:i=>e.connection.subscribe(i),getSessionState:()=>e.session.getSnapshot().sessionState}),d={clearCache:()=>e.media.clearCache(),getSnapshot:()=>e.media.getSnapshot(),subscribe:i=>e.media.subscribe(i),cancel:(i,a)=>a===void 0?e.media.cancel(i):e.media.cancel(i,a),retry:(i,a)=>e.media.retry(i,a),pause:i=>e.media.pause(i),resume:i=>e.media.resume(i),getUploadRecovery:i=>e.media.getUploadRecovery(i),resumeUpload:(i,a)=>e.media.resumeUpload(i,a),download:i=>e.media.download(i),prioritizeDownload:i=>e.media.prioritizeDownload(i),probeCached:i=>e.media.probeCached(i),subscribeCacheChanges:i=>e.media.subscribeCacheChanges(i),getCached:i=>e.media.getCached(i),prepareLocalPreview:i=>e.media.prepareLocalPreview(i),prepareLocalVideoPoster:i=>e.media.prepareLocalVideoPoster(i),prepareLocalImageThumbnail:i=>e.media.prepareLocalImageThumbnail(i)},s=i=>Promise.reject(oe({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:i,retryable:false}));async function c(i,a,g){if(!n)return s(i);try{return await a()}catch(P){throw Da(P,i,g)}}function o(i,a,g){if(!n)throw oe({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:i,retryable:false,conversation:g});try{return a()}catch(P){throw Da(P,i,g)}}let u,p=i=>c("contacts.getRelationship",()=>e.contacts.getRelationship(i)),f=(i,a)=>c("groups.getProfile",async()=>{let g=await e.groups.getProfile(i,a);return g===null?null:dl(i,g)},i),C=(i,a)=>c("channels.getProfile",async()=>{let g=await e.channels.getProfile(i,a);return g===null?null:ll(i,g)},i),v={listFirstPage:i=>c("contacts.listFirstPage",()=>e.contacts.listFirstPage(i)),listNextPage:i=>c("contacts.listNextPage",()=>e.contacts.listNextPage(i)),getProfile:(i,a)=>c("contacts.getProfile",async()=>{let g=await e.contacts.getProfile(i,a);return g===null?null:cl(i,g)}),getRelationship:async i=>{let a=i.trim(),g={conversationType:"direct",conversationId:a},P=u?.beginProjectionUpdate(g),h=await p(i);return P!==void 0&&u?.updateRelationshipProjection(a,h,P),h},setRemark:(i,a)=>c("contacts.setRemark",()=>e.contacts.setRemark(i,{...a.name===void 0?{}:{name:a.name},...a.emails===void 0?{}:{email:[...a.emails]},...a.phones===void 0?{}:{phones:a.phones.map(g=>({countryCode:g.countryCode,mobile:g.mobile}))}})),searchUser:i=>c("contacts.searchUser",()=>e.contacts.searchUser(i)),requestFriendship:(i,a)=>c("contacts.requestFriendship",()=>e.contacts.requestFriendship(i,a)),blockUser:i=>c("contacts.blockUser",()=>e.contacts.blockUser(i),{conversationType:"direct",conversationId:i}),listBlocked:()=>c("contacts.listBlocked",()=>e.contacts.listBlocked()),unblockUser:i=>c("contacts.unblockUser",()=>e.contacts.unblockUser(i),{conversationType:"direct",conversationId:i}),reportUser:(i,a)=>c("contacts.reportUser",()=>e.contacts.reportUser(i,a),{conversationType:"direct",conversationId:i}),deleteFriendship:i=>c("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(i),{conversationType:"direct",conversationId:i})},R={search:i=>c("directory.search",()=>e.directory.search(i))},I={listFirstPage:i=>c("groups.listFirstPage",()=>e.groups.listFirstPage(i)),listNextPage:i=>c("groups.listNextPage",()=>e.groups.listNextPage(i)),uploadAvatar:i=>c("groups.uploadAvatar",()=>e.groups.uploadAvatar(i)),create:i=>c("groups.create",()=>e.groups.create(i)),createFaceToFace:()=>c("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>s("groups.mentions.listAll"),refreshAll:()=>s("groups.mentions.refreshAll")},getProfile:async(i,a)=>{let g=u?.beginProjectionUpdate(i),P=await f(i,a);return g!==void 0&&u?.updateGroupProfileProjection(i,P,g),P},updateName:(i,a)=>c("groups.updateName",()=>e.groups.updateName(i,a),i),updateAvatar:(i,a)=>c("groups.updateAvatar",()=>e.groups.updateAvatar(i,a),i),setMyNickname:(i,a)=>c("groups.setMyNickname",()=>e.groups.setMyNickname(i,a),i),updateVerification:(i,a,g)=>c("groups.updateVerification",()=>e.groups.updateVerification(i,a,g),i),requestJoin:(i,a)=>c("groups.requestJoin",()=>e.group.requestJoin(i.conversationId,a),i),joinByInviteCode:(i,a)=>c("groups.joinByInviteCode",()=>e.group.joinByInviteCode(i.conversationId,a),i),inviteMembers:(i,a)=>c("groups.inviteMembers",()=>e.group.inviteMembers(i.conversationId,a),i),removeMember:(i,a)=>c("groups.removeMember",()=>e.group.removeMember(i.conversationId,a),i),transferOwnership:(i,a)=>c("groups.transferOwnership",()=>e.group.transferOwnership(i.conversationId,a),i),leave:(i,a)=>c("groups.leave",()=>e.group.leave(i.conversationId,a),i),peekPinnedMessage:i=>o("groups.peekPinnedMessage",()=>{let a=e.group.peekPinnedMessage(i.conversationId);return a===null?null:ko(i,a)},i),getPinnedMessage:i=>c("groups.getPinnedMessage",async()=>{let a=await e.groups.getPinnedMessage(i);return a===null?null:ko(i,a)},i),pinMessage:(i,a)=>c("groups.pinMessage",async()=>{let g=await e.groups.pinMessage(i,a);return ko(i,g)},i),unpinMessage:i=>c("groups.unpinMessage",()=>e.groups.unpinMessage(i),i)},k={listFirstPage:i=>c("channels.listFirstPage",()=>e.channels.listFirstPage(i)),listNextPage:i=>c("channels.listNextPage",()=>e.channels.listNextPage(i)),uploadAvatar:i=>c("channels.uploadAvatar",()=>e.channels.uploadAvatar(i)),create:i=>c("channels.create",()=>e.channels.create(i)),mentions:n?e.channels.mentions:{peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:()=>s("channels.mentions.getCachedPage"),prefetchFirstPage:()=>s("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>s("channels.mentions.refreshFirstPage"),listFirstPage:()=>s("channels.mentions.listFirstPage"),listNextPage:()=>s("channels.mentions.listNextPage"),searchFirstPage:()=>s("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>s("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>s("channels.mentions.searchNextPage")},getProfile:async(i,a)=>{let g=u?.beginProjectionUpdate(i),P=await C(i,a);return g!==void 0&&u?.updateChannelProfileProjection(i,P,g),P},updateName:(i,a)=>c("channels.updateName",()=>e.channel.updateName(i.conversationId,a),i),updateDescription:(i,a)=>c("channels.updateDescription",()=>e.channel.updateDescription(i.conversationId,a),i),updateAvatar:(i,a)=>c("channels.updateAvatar",()=>e.channel.updateAvatar(i.conversationId,a),i),updateVerification:(i,a,g)=>c("channels.updateVerification",()=>e.channels.updateVerification(i,a,g),i),requestJoin:(i,a)=>c("channels.requestJoin",()=>e.channel.requestJoin(i.conversationId,a),i),joinByInviteCode:(i,a)=>c("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(i.conversationId,a),i),setAllMuted:(i,a)=>c("channels.setAllMuted",()=>e.channel.setAllMuted(i.conversationId,a),i),setMemberPrivateChatDisabled:(i,a)=>c("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(i.conversationId,a),i),setMyNickname:(i,a)=>c("channels.setMyNickname",()=>e.channel.setMyNickname(i.conversationId,a),i),setMemberNickname:(i,a,g)=>c("channels.setMemberNickname",()=>e.channel.setMemberNickname(i.conversationId,a,g),i),inviteMembers:(i,a)=>c("channels.inviteMembers",()=>e.channel.inviteMembers(i.conversationId,a),i),removeMember:(i,a)=>c("channels.removeMember",()=>e.channel.removeMember(i.conversationId,a),i),addAdmin:(i,a)=>c("channels.addAdmin",()=>e.channel.addAdmin(i.conversationId,a),i),removeAdmin:(i,a)=>c("channels.removeAdmin",()=>e.channel.removeAdmin(i.conversationId,a),i),transferOwnership:(i,a)=>c("channels.transferOwnership",()=>e.channel.transferOwnership(i.conversationId,a),i),leave:(i,a)=>c("channels.leave",()=>e.channel.leave(i.conversationId,a),i),dismiss:i=>c("channels.dismiss",()=>e.channel.dismiss(i.conversationId),i),peekPinnedMessage:i=>o("channels.peekPinnedMessage",()=>{let a=e.channel.peekPinnedMessage(i.conversationId);return a===null?null:Oo(i,a)},i),getPinnedMessage:i=>c("channels.getPinnedMessage",async()=>{let a=await e.channels.getPinnedMessage(i);return a===null?null:Oo(i,a)},i),pinMessage:(i,a)=>c("channels.pinMessage",async()=>{let g=await e.channels.pinMessage(i,a);return Oo(i,g)},i),unpinMessage:i=>c("channels.unpinMessage",()=>e.channels.unpinMessage(i),i)},D=Jd({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:i=>{let a=e.conversations.getContext(i);return a===void 0?void 0:Ao({...a,draft:null})},subscribeConversations:i=>r.api.subscribe(a=>i(a.items)),subscribeContext:i=>e.connection.subscribe(a=>{a.type==="conversation-context:updated"&&a.conversation.conversationType!=="supergroup"&&i({conversationType:a.conversation.conversationType,conversationId:a.conversation.conversationId});}),getRelationship:p,getGroupProfile:f,getChannelProfile:C});u=D;let q=Object.freeze({start:i=>e.session.start(i),stop:i=>e.session.stop(i),logout:async i=>{D.reset();try{await e.session.logout(i);}finally{D.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:i=>e.session.subscribe(i)});async function y(i,a={}){let g=e.conversations,P=e.openConversation,h=await g.ensureOpenableConversation(i);return h.conversationType==="direct"?P({conversationType:"direct",conversationId:h.conversationId},a):h.conversationType==="group"?P({conversationType:"group",conversationId:h.conversationId},a):h.conversationType==="robot"?P({conversationType:"robot",conversationId:h.conversationId},a):P({conversationType:"channel",conversationId:h.conversationId},a)}let S={get session(){return q},get capabilities(){return D.api},get conversations(){return r.api},get directory(){return R},get robots(){return e.robots},get contacts(){return v},get groups(){return I},get channels(){return k},get applications(){return e.applications},get expressions(){return e.expressions},get sessionFavorites(){return e.sessionFavorites},get outbox(){return e.outbox},get drafts(){return e.drafts},get search(){return e.search},get media(){return d},get settings(){return e.settings},get push(){return e.push},get localData(){return e.localData},get events(){return e.events},openConversation:y,dispose:async()=>{D.dispose(),r.dispose(),await e.dispose();}};return _a(S,()=>ml(e)),S}function sh(e,n){return xu(e,n.coreApiAvailable)}function Nu(e){let n=c(e.cache?.prefix),r=e.adapters?.namespaceFactory??n;if(r.hostPrefix!==n.hostPrefix)throw new Error("adapters.namespaceFactory.hostPrefix \u5FC5\u987B\u4E0E cache.prefix \u4E00\u81F4");let d=Kb(),s=0,c$1=()=>_u(e,d,r,s++),o=c$1(),u=false,p;async function f(i){if(u)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");let a=o;await a.teardown(i),!u&&o===a&&(o=c$1());}async function C(){if(u)throw Pt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let i=o,a=await i.localData.getInfo();if(u||o!==i)throw Pt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let g;try{g=await i.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(P){throw !u&&o===i&&(o=c$1()),Pt({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:a.accountScope,cause:P})}if(!u&&o===i&&(o=c$1()),g.purgedAccountId!==a.accountScope)throw Pt({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:a.accountScope,cause:g.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});d.emit({type:"local-data:cleared",accountScope:a.accountScope,category:"all"});}let v=al({getRuntime:()=>o.localData,purgeCurrentAccount:C}),R={start:i=>o.connection.connect(i),stop:async i=>{o.connection.disconnect(i);},logout:f,getSnapshot:()=>o.connection.getLifecycle(),subscribe:i=>(i(o.connection.getLifecycle()),o.connection.subscribe(a=>{(a.type==="connection:changed"||a.type==="receiving:changed"||a.type==="syncing:changed")&&i(o.connection.getLifecycle());}))},I=rl({subscribeCore:i=>o.connection.subscribe(i),getLifecycleSnapshot:()=>o.connection.getLifecycle(),getConversation:i=>{let a=o.conversations.list().find(g=>g.type===i.conversationType&&g.id===i.conversationId);return a===void 0?void 0:Ao(a)},resolveContactApplicationAnswer:async i=>{let a=o,g=await a.contact.resolveApplicationAnswer(i.peerId,i.messageId);return o===a?g:null}}),k={listFirstPage:i=>o.contact.listFirstPage(i),listNextPage:i=>o.contact.listNextPage(i),getProfile:(i,a)=>o.contact.getProfile(i,a),getRelationship:i=>o.contact.getRelationship(i),setRemark:(i,a)=>o.contact.setRemark(i,a),searchUser:i=>o.contact.searchUser(i),requestFriendship:(i,a)=>o.contact.requestFriendship(i,a),blockUser:i=>o.contact.blockUser(i),listBlocked:()=>o.contact.listBlocked(),unblockUser:i=>o.contact.unblockUser(i),reportUser:(i,a)=>o.contact.reportUser(i,a),deleteFriendship:i=>o.contact.deleteFriendship(i)},D={listFirstPage:i=>o.group.listFirstPage(i),listNextPage:i=>o.group.listNextPage(i),uploadAvatar:i=>o.group.uploadAvatar(i),create:i=>o.group.create(i),createFaceToFace:()=>o.group.createFaceToFace(),get mentions(){return o.group.mentions},getProfile:(i,a)=>o.group.getProfile(i.conversationId,a),updateName:(i,a)=>o.group.updateName(i.conversationId,a),updateAvatar:async(i,a)=>{await o.group.updateAvatar(i.conversationId,a);},setMyNickname:(i,a)=>o.group.setMyNickname(i.conversationId,a),updateVerification:(i,a,g)=>o.group.updateVerification(i.conversationId,a,g),requestJoin:(i,a)=>o.group.requestJoin(i.conversationId,a),joinByInviteCode:(i,a)=>o.group.joinByInviteCode(i.conversationId,a),getPinnedMessage:i=>o.group.getPinnedMessage(i.conversationId),pinMessage:(i,a)=>o.group.pinMessage({groupId:i.conversationId,messageId:a}),unpinMessage:i=>o.group.unpinMessage(i.conversationId)},q={listFirstPage:i=>o.channel.listFirstPage(i),listNextPage:i=>o.channel.listNextPage(i),uploadAvatar:i=>o.channel.uploadAvatar(i),create:i=>o.channel.create(i),get mentions(){return o.channel.mentions},getProfile:(i,a)=>o.channel.getProfile(i.conversationId,a),updateVerification:(i,a,g)=>o.channel.updateVerification(i.conversationId,a,g),requestJoin:(i,a)=>o.channel.requestJoin(i.conversationId,a),joinByInviteCode:(i,a)=>o.channel.joinByInviteCode(i.conversationId,a),setAllMuted:(i,a)=>o.channel.setAllMuted(i.conversationId,a),setMemberPrivateChatDisabled:(i,a)=>o.channel.setMemberPrivateChatDisabled(i.conversationId,a),setMyNickname:(i,a)=>o.channel.setMyNickname(i.conversationId,a),setMemberNickname:(i,a,g)=>o.channel.setMemberNickname(i.conversationId,a,g),dismiss:i=>o.channel.dismiss(i.conversationId),getPinnedMessage:i=>o.channel.getPinnedMessage(i.conversationId),pinMessage:(i,a)=>o.channel.pinMessage({channelId:i.conversationId,messageId:a}),unpinMessage:i=>o.channel.unpinMessage(i.conversationId)};function y(){return p!==void 0||(u=true,p=o.teardown({localData:"preserve"},{preserveUploadRecovery:true}).then(()=>d.clear())),p}let S={get session(){return R},get connection(){return o.connection},get conversations(){return o.conversations},get directory(){return o.directory},get robots(){return o.robots},get contacts(){return k},get groups(){return D},get channels(){return q},get events(){return I},get contact(){return o.contact},get group(){return o.group},get channel(){return o.channel},get media(){return o.media},get calls(){return o.calls},get groupCalls(){return o.groupCalls},get settings(){return o.settings},get push(){return o.push},get outbox(){return o.outbox},get localData(){return v},get search(){return o.search},get applications(){return o.applications},get expressions(){return o.expressions},get sessionFavorites(){return o.sessionFavorites},get drafts(){return o.drafts},get openConversation(){return o.openConversation},logout:f,dispose:y};return _a(S,()=>o.advancedMessageDiagnostics),S}var wg=new TextEncoder;function Lu(e,n,r){if(e===void 0)return n;if(!Number.isSafeInteger(e)||e<=0)throw new RangeError(`${r} \u5FC5\u987B\u4E3A\u6B63\u5B89\u5168\u6574\u6570`);return e}function Uu(e,n=new WeakSet){if(typeof e!="object"||e===null||n.has(e))return e;n.add(e);for(let r of Object.values(e))Uu(r,n);return Object.freeze(e)}function Rg(e){try{let n=structuredClone(e),r=JSON.stringify(n);return r===void 0?void 0:{record:Uu(n),estimatedBytes:wg.encode(r).byteLength}}catch{return}}function Eg(e){if(e.message?.id!==void 0)return e.message.id;if(typeof e.data!="object"||e.data===null)return;let n=e.data.messageId;return typeof n=="string"?n:void 0}function Ag(e,n){return !(n.accountId!==void 0&&e.accountId!==n.accountId||n.generation!==void 0&&e.generation!==n.generation||n.category!==void 0&&e.category!==n.category||n.traceId!==void 0&&e.traceId!==n.traceId||n.operationId!==void 0&&e.operationId!==n.operationId||n.messageId!==void 0&&Eg(e)!==n.messageId||n.fromTimestamp!==void 0&&e.timestamp<n.fromTimestamp||n.toTimestamp!==void 0&&e.timestamp>n.toTimestamp||n.conversation!==void 0&&(e.conversation?.conversationType!==n.conversation.conversationType||e.conversation.conversationId!==n.conversation.conversationId))}function Tg(e={}){let n=Lu(e.maxRecords,200,"maxRecords"),r=Lu(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),d=new Set,s=[],c=0,o=0,u=false;function p(v){let R=s.map(I=>I.record).filter(I=>v===void 0||Ag(I,v));return Object.freeze({records:Object.freeze(R),droppedCount:o,estimatedBytes:c,disposed:u})}function f(){let v=p();for(let R of d)try{R(v);}catch{}}function C(){s.length=0,c=0,o=0;}return {write(v){if(u)return;let R=Rg(v);if(R===void 0||R.estimatedBytes>r){o+=1,f();return}for(s.push(R),c+=R.estimatedBytes;s.length>n||c>r;){let I=s.shift();if(I===void 0)break;c-=I.estimatedBytes,o+=1;}f();},getSnapshot:p,subscribe(v){if(u)return ()=>{};d.add(v);let R=true;return ()=>{R&&(R=false,d.delete(v));}},clear(){u||(C(),f());},dispose(){u||(u=true,C(),d.clear());}}}function Dg(e){let n=fb({buckets:{...e.buckets},getUploadCredentials:e.getUploadCredentials,...e.useAccelerateEndpoint===void 0?{}:{useAccelerateEndpoint:e.useAccelerateEndpoint},...e.multipartTransfer===void 0?{}:{multipartTransfer:e.multipartTransfer},...e.multipartUpload===void 0?{}:{multipartUpload:e.multipartUpload}}),r=new Map,d;function s(o){let u=n;if(u===void 0)return Promise.reject(Object.assign(new Error("Resource uploader has been disposed"),{code:"IM_SDK_RESOURCE_UPLOADER_DISPOSED"}));if(!(o.file instanceof Blob))return Promise.reject(new bb("upload-source-invalid","Resource upload requires a File or Blob"));if(o.signal?.aborted)return Promise.reject(new DOMException("Resource upload canceled","AbortError"));let p=new AbortController,f=()=>p.abort();o.signal?.addEventListener("abort",f,{once:true});let C=true,v=()=>{if(p.signal.aborted)throw new DOMException("Resource upload canceled","AbortError")},R=o.filename??(typeof File<"u"&&o.file instanceof File?o.file.name:void 0),I=(async()=>{try{let k=await u.uploadResource({data:o.file,kind:o.kind,...R===void 0?{}:{filename:R},...o.file.type===""?{}:{mimeType:o.file.type},signal:p.signal,onProgress:D=>{C&&!p.signal.aborted&&o.onProgress?.(D);}});if(v(),k.url.trim()==="")throw new Error("Resource upload returned an empty URL");return {url:k.url}}catch(k){throw k instanceof bb&&k.code==="multipart-abort-failed"||v(),k}finally{C=false,o.signal?.removeEventListener("abort",f);}})();return r.set(p,I),I.then(()=>r.delete(p),()=>r.delete(p)),I}function c(){if(d!==void 0)return d;n=void 0;let o=[...r.values()];for(let u of r.keys())u.abort();return d=Promise.allSettled(o).then(()=>{}),d}return {upload:s,dispose:c}}export{zp as a,Qd as b,je as c,bo as d,em as e,So as f,kd as g,Od as h,ha as i,Ca as j,Ld as k,wo as l,Ma as m,Eo as n,Mg as o,ih as p,sh as q,Tg as r,Dg as s};