k2-im 0.1.57 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/README.md +3 -1
  2. package/dist/browser.d.ts +1 -1
  3. package/dist/browser.js +1 -1
  4. package/dist/chat-kit-pinia.d.ts +227 -170
  5. package/dist/chat-kit-pinia.js +1 -1
  6. package/dist/chat-kit-vue.d.ts +64 -44
  7. package/dist/chat-kit-vue.js +1 -1
  8. package/dist/chat-kit.d.ts +244 -173
  9. package/dist/chat-kit.js +1 -1
  10. package/dist/crypto.worker.js +17 -25
  11. package/dist/i18n.d.ts +61 -41
  12. package/dist/i18n.js +1 -1
  13. package/dist/index.d.ts +259 -188
  14. package/dist/index.js +1 -1
  15. package/dist/modules/api-protocol-client/src/bi-feedback.js +1 -0
  16. package/dist/modules/api-protocol-client/src/browser.js +1 -0
  17. package/dist/modules/api-protocol-client/src/client.js +1 -0
  18. package/dist/modules/api-protocol-client/src/config.js +1 -0
  19. package/dist/modules/api-protocol-client/src/constants.js +1 -0
  20. package/dist/modules/api-protocol-client/src/json.js +1 -0
  21. package/dist/modules/api-protocol-client/src/nonce.js +1 -0
  22. package/dist/modules/api-protocol-client/src/transports/axios.js +1 -0
  23. package/dist/modules/api-protocol-client/src/utils.js +1 -0
  24. package/dist/modules/crypto/browser.js +1 -0
  25. package/dist/modules/crypto/driver.js +1 -0
  26. package/dist/modules/crypto/vendor/crypto/index_bg.js +1 -0
  27. package/dist/modules/im-browser/src/crypto/channel-key-service.js +1 -0
  28. package/dist/modules/im-browser/src/crypto/collect-tea.js +1 -0
  29. package/dist/modules/im-browser/src/crypto/crypto-task-executor.js +1 -0
  30. package/dist/modules/im-browser/src/crypto/crypto-worker-factory.js +1 -0
  31. package/dist/modules/im-browser/src/crypto/crypto-worker-protocol.js +1 -0
  32. package/dist/modules/im-browser/src/crypto/encrypt-key-service.js +1 -0
  33. package/dist/modules/im-browser/src/crypto/group-key-service.js +1 -0
  34. package/dist/modules/im-browser/src/crypto/peer-public-key-service.js +1 -0
  35. package/dist/modules/im-browser/src/crypto/rsa-private-key.js +1 -0
  36. package/dist/modules/im-browser/src/crypto/rsa-tea-crypto-adapter.js +1 -0
  37. package/dist/modules/im-browser/src/crypto/stale-key-refresh.js +1 -0
  38. package/dist/modules/im-browser/src/crypto/tea.js +1 -0
  39. package/dist/modules/im-browser/src/crypto/wait-for-key-signal.js +1 -0
  40. package/dist/modules/im-browser/src/http/application-http-adapters.js +1 -0
  41. package/dist/modules/im-browser/src/http/channel-http-adapter.js +1 -0
  42. package/dist/modules/im-browser/src/http/channel-join-application-http-adapter.js +1 -0
  43. package/dist/modules/im-browser/src/http/channel-member-http-adapter.js +1 -0
  44. package/dist/modules/im-browser/src/http/channel-mention-member-http-adapter.js +1 -0
  45. package/dist/modules/im-browser/src/http/cm-http-adapter.js +1 -0
  46. package/dist/modules/im-browser/src/http/directory-http-adapter.js +1 -0
  47. package/dist/modules/im-browser/src/http/expression-http-adapter.js +1 -0
  48. package/dist/modules/im-browser/src/http/lazy-api-protocol-client.js +1 -0
  49. package/dist/modules/im-browser/src/http/profile-http-adapter.js +1 -0
  50. package/dist/modules/im-browser/src/http/requests/applications.js +1 -0
  51. package/dist/modules/im-browser/src/http/requests/bind-robot-conversation.js +1 -0
  52. package/dist/modules/im-browser/src/http/requests/board-pinned-message-validation.js +1 -0
  53. package/dist/modules/im-browser/src/http/requests/channel-join-applications.js +1 -0
  54. package/dist/modules/im-browser/src/http/requests/channel-management.js +1 -0
  55. package/dist/modules/im-browser/src/http/requests/channel-members.js +1 -0
  56. package/dist/modules/im-browser/src/http/requests/channel-mention-members.js +1 -0
  57. package/dist/modules/im-browser/src/http/requests/channel-message-context.js +1 -0
  58. package/dist/modules/im-browser/src/http/requests/channel-mini-program-rel.js +1 -0
  59. package/dist/modules/im-browser/src/http/requests/channel-profile.js +1 -0
  60. package/dist/modules/im-browser/src/http/requests/channel-read-index.js +1 -0
  61. package/dist/modules/im-browser/src/http/requests/contact-blocklist.js +1 -0
  62. package/dist/modules/im-browser/src/http/requests/contact-friendship.js +1 -0
  63. package/dist/modules/im-browser/src/http/requests/contact-report.js +1 -0
  64. package/dist/modules/im-browser/src/http/requests/core-json-request.js +1 -0
  65. package/dist/modules/im-browser/src/http/requests/create-channel.js +1 -0
  66. package/dist/modules/im-browser/src/http/requests/create-face-to-face-group.js +1 -0
  67. package/dist/modules/im-browser/src/http/requests/create-group.js +1 -0
  68. package/dist/modules/im-browser/src/http/requests/customer-service-profile.js +1 -0
  69. package/dist/modules/im-browser/src/http/requests/get-board-pinned-message.js +1 -0
  70. package/dist/modules/im-browser/src/http/requests/get-channel-board-pinned-message.js +1 -0
  71. package/dist/modules/im-browser/src/http/requests/get-channel-secret-key.js +1 -0
  72. package/dist/modules/im-browser/src/http/requests/get-conversation-background-presets.js +1 -0
  73. package/dist/modules/im-browser/src/http/requests/get-group-encrypt-info.js +1 -0
  74. package/dist/modules/im-browser/src/http/requests/get-group-info.js +1 -0
  75. package/dist/modules/im-browser/src/http/requests/get-group-member-list.js +1 -0
  76. package/dist/modules/im-browser/src/http/requests/get-user-encrypt-info.js +1 -0
  77. package/dist/modules/im-browser/src/http/requests/get-user-info-friend.js +1 -0
  78. package/dist/modules/im-browser/src/http/requests/get-user-info-other.js +1 -0
  79. package/dist/modules/im-browser/src/http/requests/group-management.js +1 -0
  80. package/dist/modules/im-browser/src/http/requests/mark-group-read-all.js +1 -0
  81. package/dist/modules/im-browser/src/http/requests/membership-join.js +1 -0
  82. package/dist/modules/im-browser/src/http/requests/pin-board-message.js +1 -0
  83. package/dist/modules/im-browser/src/http/requests/pin-channel-board-message.js +1 -0
  84. package/dist/modules/im-browser/src/http/requests/pull-messages-by-id.js +1 -0
  85. package/dist/modules/im-browser/src/http/requests/pull-offline-channel.js +1 -0
  86. package/dist/modules/im-browser/src/http/requests/pull-offline-chat.js +1 -0
  87. package/dist/modules/im-browser/src/http/requests/pull-offline-group.js +1 -0
  88. package/dist/modules/im-browser/src/http/requests/pull-offline-signal.js +1 -0
  89. package/dist/modules/im-browser/src/http/requests/robot-menu-reply.js +1 -0
  90. package/dist/modules/im-browser/src/http/requests/robot-profile.js +1 -0
  91. package/dist/modules/im-browser/src/http/requests/search-robots.js +1 -0
  92. package/dist/modules/im-browser/src/http/requests/set-conversation-undisturb.js +1 -0
  93. package/dist/modules/im-browser/src/http/requests/set-friend-remark.js +1 -0
  94. package/dist/modules/im-browser/src/http/requests/set-group-nickname.js +1 -0
  95. package/dist/modules/im-browser/src/http/requests/unpin-board-message.js +1 -0
  96. package/dist/modules/im-browser/src/http/requests/unpin-channel-board-message.js +1 -0
  97. package/dist/modules/im-browser/src/http/requests/update-group-info.js +1 -0
  98. package/dist/modules/im-browser/src/http/session-favorite-http-adapter.js +1 -0
  99. package/dist/modules/im-browser/src/media/file-md5.js +1 -0
  100. package/dist/modules/im-browser/src/media/image-clipboard.js +1 -0
  101. package/dist/modules/im-browser/src/media/image-header-dimensions.js +1 -0
  102. package/dist/modules/im-browser/src/media/media-downloader.js +1 -0
  103. package/dist/modules/im-browser/src/media/media-preview-adapter.js +1 -0
  104. package/dist/modules/im-browser/src/media/media-preview-preparation-executor.js +1 -0
  105. package/dist/modules/im-browser/src/media/media-request-limiter.js +1 -0
  106. package/dist/modules/im-browser/src/media/media-transfer-adapter.js +1 -0
  107. package/dist/modules/im-browser/src/media/media-transfer-errors.js +1 -0
  108. package/dist/modules/im-browser/src/media/media-transfer-policy.js +1 -0
  109. package/dist/modules/im-browser/src/media/media-upload-credentials.js +1 -0
  110. package/dist/modules/im-browser/src/media/media-upload-recovery-codec.js +1 -0
  111. package/dist/modules/im-browser/src/media/media-upload-recovery-store.js +1 -0
  112. package/dist/modules/im-browser/src/media/media-upload-source-fingerprint.js +1 -0
  113. package/dist/modules/im-browser/src/media/s3-multipart-uploader.js +1 -0
  114. package/dist/modules/im-browser/src/media/xhr-upload-idle-timeout.js +1 -0
  115. package/dist/modules/im-browser/src/network/browser-connection-ownership.js +1 -0
  116. package/dist/modules/im-browser/src/network/network-monitor.js +1 -0
  117. package/dist/modules/im-browser/src/scheduling/yield-to-browser.js +1 -0
  118. package/dist/modules/im-browser/src/storage/indexed-db-storage-adapter.js +1 -0
  119. package/dist/modules/im-browser/src/transport/ws-transport.js +1 -0
  120. package/dist/modules/im-browser/src/voice/voice-amplitude.js +1 -0
  121. package/dist/modules/im-browser/src/voice/voice-capabilities.js +1 -0
  122. package/dist/modules/im-browser/src/voice/voice-codec.js +1 -0
  123. package/dist/modules/im-browser/src/voice/voice-errors.js +1 -0
  124. package/dist/modules/im-browser/src/voice/voice-playback.js +1 -0
  125. package/dist/modules/im-browser/src/voice/voice-player.js +1 -0
  126. package/dist/modules/im-browser/src/voice/voice-recorder.js +1 -0
  127. package/dist/modules/im-chat-kit/src/i18n/use-im-text.js +1 -0
  128. package/dist/modules/im-chat-kit/src/pinia/applications.store.js +1 -0
  129. package/dist/modules/im-chat-kit/src/pinia/capabilities.store.js +1 -0
  130. package/dist/modules/im-chat-kit/src/pinia/composer.store.js +1 -0
  131. package/dist/modules/im-chat-kit/src/pinia/context.js +1 -0
  132. package/dist/modules/im-chat-kit/src/pinia/conversation-activation.js +1 -0
  133. package/dist/modules/im-chat-kit/src/pinia/conversation-deletion.js +1 -0
  134. package/dist/modules/im-chat-kit/src/pinia/conversation-list.store.js +1 -0
  135. package/dist/modules/im-chat-kit/src/pinia/expression.store.js +1 -0
  136. package/dist/modules/im-chat-kit/src/pinia/history-return-after-send.js +1 -0
  137. package/dist/modules/im-chat-kit/src/pinia/media-transfer-estimate.js +1 -0
  138. package/dist/modules/im-chat-kit/src/pinia/media.store.js +1 -0
  139. package/dist/modules/im-chat-kit/src/pinia/message-operations.store.js +1 -0
  140. package/dist/modules/im-chat-kit/src/pinia/profile-directory.store.js +1 -0
  141. package/dist/modules/im-chat-kit/src/pinia/quoted-message.store.js +1 -0
  142. package/dist/modules/im-chat-kit/src/pinia/reaction.store.js +1 -0
  143. package/dist/modules/im-chat-kit/src/pinia/search-senders.js +1 -0
  144. package/dist/modules/im-chat-kit/src/pinia/search.store.js +1 -0
  145. package/dist/modules/im-chat-kit/src/pinia/session-favorites.store.js +1 -0
  146. package/dist/modules/im-chat-kit/src/pinia/session.store.js +1 -0
  147. package/dist/modules/im-chat-kit/src/pinia/thread-paging.store.js +1 -0
  148. package/dist/modules/im-chat-kit/src/pinia/thread-return-to-latest.js +1 -0
  149. package/dist/modules/im-chat-kit/src/pinia/thread.store.js +1 -0
  150. package/dist/modules/im-chat-kit/src/presentation/channel-mini-program-open.js +1 -0
  151. package/dist/modules/im-chat-kit/src/presentation/channel-mini-program-rels.js +1 -0
  152. package/dist/modules/im-chat-kit/src/presentation/conversation-list.js +1 -0
  153. package/dist/modules/im-chat-kit/src/presentation/conversation-unread.js +1 -0
  154. package/dist/modules/im-chat-kit/src/presentation/delayed-loading-indicator.js +1 -0
  155. package/dist/modules/im-chat-kit/src/presentation/media-source-priority.js +1 -0
  156. package/dist/modules/im-chat-kit/src/presentation/message-notification.js +1 -0
  157. package/dist/modules/im-chat-kit/src/presentation/message-search.js +1 -0
  158. package/dist/modules/im-chat-kit/src/presentation/mini-program-game-preview.js +1 -0
  159. package/dist/modules/im-chat-kit/src/presentation/mini-program-open-url.js +1 -0
  160. package/dist/modules/im-chat-kit/src/runtime/chat-runtime.js +1 -0
  161. package/dist/modules/im-chat-kit/src/runtime/conversation-prefetch-controller.js +1 -0
  162. package/dist/modules/im-chat-kit/src/runtime/media-object-url-registry.js +1 -0
  163. package/dist/modules/im-chat-kit/src/runtime/runtime-operation.js +1 -0
  164. package/dist/modules/im-chat-kit/src/services/capabilities.js +1 -0
  165. package/dist/modules/im-chat-kit/src/services/channel-member-management.service.js +1 -0
  166. package/dist/modules/im-chat-kit/src/services/channel-profile-management.service.js +1 -0
  167. package/dist/modules/im-chat-kit/src/services/channel-send-restriction.js +1 -0
  168. package/dist/modules/im-chat-kit/src/services/direct-contact-management.service.js +1 -0
  169. package/dist/modules/im-chat-kit/src/services/forward.service.js +1 -0
  170. package/dist/modules/im-chat-kit/src/services/group-member-management.service.js +1 -0
  171. package/dist/modules/im-chat-kit/src/services/group-profile-management.service.js +1 -0
  172. package/dist/modules/im-chat-kit/src/services/image-copy.service.js +1 -0
  173. package/dist/modules/im-chat-kit/src/services/media-file-classification.js +1 -0
  174. package/dist/modules/im-chat-kit/src/services/media.service.js +1 -0
  175. package/dist/modules/im-chat-kit/src/services/message.service.js +1 -0
  176. package/dist/modules/im-chat-kit/src/services/pinned-message-rules.js +1 -0
  177. package/dist/modules/im-chat-kit/src/services/pinned-message.service.js +1 -0
  178. package/dist/modules/im-chat-kit/src/services/profile-access.service.js +1 -0
  179. package/dist/modules/im-chat-kit/src/services/profile-directory.service.js +1 -0
  180. package/dist/modules/im-chat-kit/src/services/profile-display.js +1 -0
  181. package/dist/modules/im-chat-kit/src/services/profile.service.js +1 -0
  182. package/dist/modules/im-chat-kit/src/services/read.service.js +1 -0
  183. package/dist/modules/im-chat-kit/src/services/robot-sender-profile.js +1 -0
  184. package/dist/modules/im-chat-kit/src/services/search.service.js +1 -0
  185. package/dist/modules/im-chat-kit/src/services/send.service.js +1 -0
  186. package/dist/modules/im-chat-kit/src/thread/active-date.js +1 -0
  187. package/dist/modules/im-chat-kit/src/thread/create-thread-items.js +1 -0
  188. package/dist/modules/im-chat-kit/src/thread/message-locate-result.js +1 -0
  189. package/dist/modules/im-chat-kit/src/thread/new-message-badge.js +1 -0
  190. package/dist/modules/im-chat-kit/src/thread/resolve-message-body-kind.js +1 -0
  191. package/dist/modules/im-chat-kit/src/thread/resolve-quoted-message-presentation.js +1 -0
  192. package/dist/modules/im-chat-kit/src/thread/viewport-rules.js +1 -0
  193. package/dist/modules/im-chat-kit/src/utils/emoji/emoji-legacy-catalog.json.js +1 -0
  194. package/dist/modules/im-chat-kit/src/utils/emoji/index.js +1 -0
  195. package/dist/modules/im-chat-kit/src/utils/emoji/recent.js +1 -0
  196. package/dist/modules/im-chat-kit/src/utils/emoji/unicode-emoji-catalog.json.js +1 -0
  197. package/dist/modules/im-chat-kit/src/utils/emoji/unicode.js +1 -0
  198. package/dist/modules/im-chat-kit/src/utils/highlight.js +1 -0
  199. package/dist/modules/im-chat-kit/src/utils/link.js +1 -0
  200. package/dist/modules/im-chat-kit/src/utils/media-batch.js +1 -0
  201. package/dist/modules/im-chat-kit/src/utils/media-dimensions.js +1 -0
  202. package/dist/modules/im-chat-kit/src/utils/media-format.js +1 -0
  203. package/dist/modules/im-chat-kit/src/utils/media-transfer-presentation.js +1 -0
  204. package/dist/modules/im-chat-kit/src/utils/time-display.js +1 -0
  205. package/dist/modules/im-chat-kit/src/utils/waveform.js +1 -0
  206. package/dist/modules/im-chat-kit/src/vue/thread/ImThreadBodySwitch.js +1 -0
  207. package/dist/modules/im-chat-kit/src/vue/thread/ImThreadItems.js +1 -0
  208. package/dist/modules/im-chat-kit/src/vue/thread/ImThreadSurface.js +1 -0
  209. package/dist/modules/im-chat-kit/src/vue/thread/ImThreadViewport.js +1 -0
  210. package/dist/modules/im-chat-kit/src/vue/thread/message-renderer-registry.js +1 -0
  211. package/dist/modules/im-chat-kit/src/vue/thread/thread-idle-task.js +1 -0
  212. package/dist/modules/im-chat-kit/src/vue/thread/thread-layout-measurements.js +1 -0
  213. package/dist/modules/im-chat-kit/src/vue/thread/thread-read-actions-context.js +1 -0
  214. package/dist/modules/im-chat-kit/src/vue/thread/thread-surface-context.js +1 -0
  215. package/dist/modules/im-chat-kit/src/vue/thread/thread-viewport-context.js +1 -0
  216. package/dist/modules/im-chat-kit/src/vue/thread/thread-visibility-target-group.js +1 -0
  217. package/dist/modules/im-chat-kit/src/vue/thread/thread-visibility-targets.js +1 -0
  218. package/dist/modules/im-chat-kit/src/vue/thread/use-im-thread-layout-measurement.js +1 -0
  219. package/dist/modules/im-core/src/abort.js +1 -0
  220. package/dist/modules/im-core/src/cache-namespace.js +1 -0
  221. package/dist/modules/im-core/src/connection/backoff.js +1 -0
  222. package/dist/modules/im-core/src/connection/connection-manager.js +1 -0
  223. package/dist/modules/im-core/src/connection/heartbeat-manager.js +1 -0
  224. package/dist/modules/im-core/src/conversation-identity.js +1 -0
  225. package/dist/modules/im-core/src/diagnostics.js +1 -0
  226. package/dist/modules/im-core/src/event-emitter.js +1 -0
  227. package/dist/modules/im-core/src/login/login-handler.js +1 -0
  228. package/dist/modules/im-core/src/mapping/bot-sender.js +1 -0
  229. package/dist/modules/im-core/src/mapping/call-record-body.js +1 -0
  230. package/dist/modules/im-core/src/mapping/channel-message-mapper.js +1 -0
  231. package/dist/modules/im-core/src/mapping/channel-notify-mapper.js +1 -0
  232. package/dist/modules/im-core/src/mapping/channel-offline-mapper.js +1 -0
  233. package/dist/modules/im-core/src/mapping/channel-pinned-message-mapper.js +1 -0
  234. package/dist/modules/im-core/src/mapping/channel-read-position.js +1 -0
  235. package/dist/modules/im-core/src/mapping/contact-body.js +1 -0
  236. package/dist/modules/im-core/src/mapping/content-body.js +1 -0
  237. package/dist/modules/im-core/src/mapping/conversation.js +1 -0
  238. package/dist/modules/im-core/src/mapping/crypto-batch-preparation.js +1 -0
  239. package/dist/modules/im-core/src/mapping/customer-service-body.js +1 -0
  240. package/dist/modules/im-core/src/mapping/customer-service-message-mapper.js +1 -0
  241. package/dist/modules/im-core/src/mapping/decrypt-recovery.js +1 -0
  242. package/dist/modules/im-core/src/mapping/file-body.js +1 -0
  243. package/dist/modules/im-core/src/mapping/files-album-body.js +1 -0
  244. package/dist/modules/im-core/src/mapping/game-body.js +1 -0
  245. package/dist/modules/im-core/src/mapping/gift-body.js +1 -0
  246. package/dist/modules/im-core/src/mapping/group-message-mapper.js +1 -0
  247. package/dist/modules/im-core/src/mapping/group-notify-mapper.js +1 -0
  248. package/dist/modules/im-core/src/mapping/group-offline-mapper.js +1 -0
  249. package/dist/modules/im-core/src/mapping/image-body.js +1 -0
  250. package/dist/modules/im-core/src/mapping/live-room-body.js +1 -0
  251. package/dist/modules/im-core/src/mapping/media-album-body.js +1 -0
  252. package/dist/modules/im-core/src/mapping/merge.js +1 -0
  253. package/dist/modules/im-core/src/mapping/mes-chat-mapper.js +1 -0
  254. package/dist/modules/im-core/src/mapping/message-id.js +1 -0
  255. package/dist/modules/im-core/src/mapping/message-mapper.js +1 -0
  256. package/dist/modules/im-core/src/mapping/messages-by-id.js +1 -0
  257. package/dist/modules/im-core/src/mapping/mini-program-body.js +1 -0
  258. package/dist/modules/im-core/src/mapping/offline-mapper.js +1 -0
  259. package/dist/modules/im-core/src/mapping/pinned-message-mapper.js +1 -0
  260. package/dist/modules/im-core/src/mapping/profile-mapper.js +1 -0
  261. package/dist/modules/im-core/src/mapping/reaction-mapper.js +1 -0
  262. package/dist/modules/im-core/src/mapping/recall-mapper.js +1 -0
  263. package/dist/modules/im-core/src/mapping/red-packet-body.js +1 -0
  264. package/dist/modules/im-core/src/mapping/robot-body.js +1 -0
  265. package/dist/modules/im-core/src/mapping/robot-message-mapper.js +1 -0
  266. package/dist/modules/im-core/src/mapping/search-text.js +1 -0
  267. package/dist/modules/im-core/src/mapping/session-mapper.js +1 -0
  268. package/dist/modules/im-core/src/mapping/signal-offline-mapper.js +1 -0
  269. package/dist/modules/im-core/src/mapping/sort.js +1 -0
  270. package/dist/modules/im-core/src/mapping/sticker-body.js +1 -0
  271. package/dist/modules/im-core/src/mapping/stored-message.js +1 -0
  272. package/dist/modules/im-core/src/mapping/system-event-timeline-policy.js +1 -0
  273. package/dist/modules/im-core/src/mapping/text-segments.js +1 -0
  274. package/dist/modules/im-core/src/mapping/transfer-body.js +1 -0
  275. package/dist/modules/im-core/src/mapping/transfer-status.js +1 -0
  276. package/dist/modules/im-core/src/mapping/unread-divider.js +1 -0
  277. package/dist/modules/im-core/src/mapping/video-body.js +1 -0
  278. package/dist/modules/im-core/src/mapping/voice-body.js +1 -0
  279. package/dist/modules/im-core/src/message-flow/call/direct-call-manager.js +1 -0
  280. package/dist/modules/im-core/src/message-flow/call/direct-call-record.js +1 -0
  281. package/dist/modules/im-core/src/message-flow/call/direct-p2p-call.js +1 -0
  282. package/dist/modules/im-core/src/message-flow/call/group-call-manager.js +1 -0
  283. package/dist/modules/im-core/src/message-flow/call/group-call-record.js +1 -0
  284. package/dist/modules/im-core/src/message-flow/conversation-support.js +1 -0
  285. package/dist/modules/im-core/src/message-flow/edit/edit-frame.js +1 -0
  286. package/dist/modules/im-core/src/message-flow/edit/edit-manager.js +1 -0
  287. package/dist/modules/im-core/src/message-flow/edit/edit-receive-handlers.js +1 -0
  288. package/dist/modules/im-core/src/message-flow/edit/edit-strategy.js +1 -0
  289. package/dist/modules/im-core/src/message-flow/expression/expression-message.js +1 -0
  290. package/dist/modules/im-core/src/message-flow/forward/can-transmit.js +1 -0
  291. package/dist/modules/im-core/src/message-flow/forward/forward-content-spec.js +1 -0
  292. package/dist/modules/im-core/src/message-flow/forward/forward-messages.js +1 -0
  293. package/dist/modules/im-core/src/message-flow/game/game-message.js +1 -0
  294. package/dist/modules/im-core/src/message-flow/gift/gift-message.js +1 -0
  295. package/dist/modules/im-core/src/message-flow/live-room/live-room-message.js +1 -0
  296. package/dist/modules/im-core/src/message-flow/media/media-sender.js +1 -0
  297. package/dist/modules/im-core/src/message-flow/mini-program/mini-program-message.js +1 -0
  298. package/dist/modules/im-core/src/message-flow/reaction/can-react.js +1 -0
  299. package/dist/modules/im-core/src/message-flow/reaction/reaction-manager.js +1 -0
  300. package/dist/modules/im-core/src/message-flow/reaction/reaction-receive-handlers.js +1 -0
  301. package/dist/modules/im-core/src/message-flow/read/channel-read-receive-handlers.js +1 -0
  302. package/dist/modules/im-core/src/message-flow/read/channel-read-strategy.js +1 -0
  303. package/dist/modules/im-core/src/message-flow/read/customer-service-read-strategy.js +1 -0
  304. package/dist/modules/im-core/src/message-flow/read/direct-read-sync.js +1 -0
  305. package/dist/modules/im-core/src/message-flow/read/group-read-strategy.js +1 -0
  306. package/dist/modules/im-core/src/message-flow/read/read-strategy.js +1 -0
  307. package/dist/modules/im-core/src/message-flow/read/robot-read-strategy.js +1 -0
  308. package/dist/modules/im-core/src/message-flow/recall/channel-message-deletion-manager.js +1 -0
  309. package/dist/modules/im-core/src/message-flow/recall/recall-frame.js +1 -0
  310. package/dist/modules/im-core/src/message-flow/recall/recall-manager.js +1 -0
  311. package/dist/modules/im-core/src/message-flow/recall/recall-receive-handlers.js +1 -0
  312. package/dist/modules/im-core/src/message-flow/recall/recall-strategy.js +1 -0
  313. package/dist/modules/im-core/src/message-flow/receive/channel-application-receive-handlers.js +1 -0
  314. package/dist/modules/im-core/src/message-flow/receive/channel-notify-receive-handlers.js +1 -0
  315. package/dist/modules/im-core/src/message-flow/receive/channel-receive-handlers.js +1 -0
  316. package/dist/modules/im-core/src/message-flow/receive/command-handler-registry.js +1 -0
  317. package/dist/modules/im-core/src/message-flow/receive/contact-application-answer-receive-handlers.js +1 -0
  318. package/dist/modules/im-core/src/message-flow/receive/contact-application-receive-handlers.js +1 -0
  319. package/dist/modules/im-core/src/message-flow/receive/direct-receive-handlers.js +1 -0
  320. package/dist/modules/im-core/src/message-flow/receive/friend-action-receive-handlers.js +1 -0
  321. package/dist/modules/im-core/src/message-flow/receive/group-event-receive-handlers.js +1 -0
  322. package/dist/modules/im-core/src/message-flow/receive/group-receive-handlers.js +1 -0
  323. package/dist/modules/im-core/src/message-flow/receive/mes-chat-receive-handlers.js +1 -0
  324. package/dist/modules/im-core/src/message-flow/receive/robot-receive-handlers.js +1 -0
  325. package/dist/modules/im-core/src/message-flow/receive/session-favorite-receive-handlers.js +1 -0
  326. package/dist/modules/im-core/src/message-flow/receive/wallet-notify-receive-handlers.js +1 -0
  327. package/dist/modules/im-core/src/message-flow/send/channel-outgoing-frame.js +1 -0
  328. package/dist/modules/im-core/src/message-flow/send/channel-send-strategy.js +1 -0
  329. package/dist/modules/im-core/src/message-flow/send/direct-outgoing-frame.js +1 -0
  330. package/dist/modules/im-core/src/message-flow/send/direct-send-strategy.js +1 -0
  331. package/dist/modules/im-core/src/message-flow/send/group-outgoing-frame.js +1 -0
  332. package/dist/modules/im-core/src/message-flow/send/group-send-strategy.js +1 -0
  333. package/dist/modules/im-core/src/message-flow/send/robot-outgoing-frame.js +1 -0
  334. package/dist/modules/im-core/src/message-flow/send/robot-send-strategy.js +1 -0
  335. package/dist/modules/im-core/src/message-flow/send/send-strategy-registry.js +1 -0
  336. package/dist/modules/im-core/src/message-flow/transfer/transfer-message.js +1 -0
  337. package/dist/modules/im-core/src/outbox/outbox-manager.js +1 -0
  338. package/dist/modules/im-core/src/packet-router.js +1 -0
  339. package/dist/modules/im-core/src/ports/crypto-port.js +1 -0
  340. package/dist/modules/im-core/src/ports/crypto-task-executor.js +1 -0
  341. package/dist/modules/im-core/src/ports/http-port.js +1 -0
  342. package/dist/modules/im-core/src/ports/media-asset-cache-port.js +1 -0
  343. package/dist/modules/im-core/src/push/push-registration.js +1 -0
  344. package/dist/modules/im-core/src/read/read-reporter.js +1 -0
  345. package/dist/modules/im-core/src/request-tracker.js +1 -0
  346. package/dist/modules/im-core/src/session-favorite-album.js +1 -0
  347. package/dist/modules/im-core/src/session-favorite-files.js +1 -0
  348. package/dist/modules/im-core/src/state/channel-permissions.js +1 -0
  349. package/dist/modules/im-core/src/state/channel-restriction-coordinator.js +1 -0
  350. package/dist/modules/im-core/src/state/domain-state.js +1 -0
  351. package/dist/modules/im-core/src/state/draft-store.js +1 -0
  352. package/dist/modules/im-core/src/state/group-restriction-coordinator.js +1 -0
  353. package/dist/modules/im-core/src/state/local-message-window-read-error.js +1 -0
  354. package/dist/modules/im-core/src/state/message-reactions.js +1 -0
  355. package/dist/modules/im-core/src/state/message-store.js +1 -0
  356. package/dist/modules/im-core/src/state/message-window-store.js +1 -0
  357. package/dist/modules/im-core/src/state/pinned-message-coordinator.js +1 -0
  358. package/dist/modules/im-core/src/state/pinned-message-store.js +1 -0
  359. package/dist/modules/im-core/src/state/read-store.js +1 -0
  360. package/dist/modules/im-core/src/state/session-sort.js +1 -0
  361. package/dist/modules/im-core/src/state/session-store.js +1 -0
  362. package/dist/modules/im-core/src/sync/channel-sync-checkpoint.js +1 -0
  363. package/dist/modules/im-core/src/sync/sync-manager.js +1 -0
  364. package/dist/modules/im-i18n/src/catalog/en-US.js +1 -0
  365. package/dist/modules/im-i18n/src/catalog/index.js +1 -0
  366. package/dist/modules/im-i18n/src/catalog/th-TH.js +1 -0
  367. package/dist/modules/im-i18n/src/catalog/vi-VN.js +1 -0
  368. package/dist/modules/im-i18n/src/catalog/zh-CN.js +1 -0
  369. package/dist/modules/im-i18n/src/catalog/zh-TW.js +1 -0
  370. package/dist/modules/im-i18n/src/create-im-i18n.js +1 -0
  371. package/dist/modules/im-i18n/src/format/failure.js +1 -0
  372. package/dist/modules/im-i18n/src/format/last-message.js +1 -0
  373. package/dist/modules/im-i18n/src/format/media.js +1 -0
  374. package/dist/modules/im-i18n/src/format/mention.js +1 -0
  375. package/dist/modules/im-i18n/src/format/service-text.js +1 -0
  376. package/dist/modules/im-i18n/src/format/system-message.js +1 -0
  377. package/dist/modules/im-i18n/src/internal/duration.js +1 -0
  378. package/dist/modules/im-i18n/src/internal/interpolate.js +1 -0
  379. package/dist/modules/im-i18n/src/locale.js +1 -0
  380. package/dist/modules/im-protocol/src/board-pinned-message.js +1 -0
  381. package/dist/modules/im-protocol/src/frame-codec.js +1 -0
  382. package/dist/modules/im-protocol/src/protobuf/gen/channel_pb.js +1 -0
  383. package/dist/modules/im-protocol/src/protobuf/gen/group_pb.js +1 -0
  384. package/dist/modules/im-protocol/src/protobuf/gen/im.app.msg_pb.js +1 -0
  385. package/dist/modules/im-protocol/src/protobuf/gen/im.channel_pb.js +1 -0
  386. package/dist/modules/im-protocol/src/protobuf/gen/im.group_pb.js +1 -0
  387. package/dist/modules/im-protocol/src/protobuf/gen/im.login_pb.js +1 -0
  388. package/dist/modules/im-protocol/src/protobuf/gen/im.msg_pb.js +1 -0
  389. package/dist/modules/im-protocol/src/protobuf/gen/im.pub_pb.js +1 -0
  390. package/dist/modules/im-protocol/src/protobuf/gen/im.robot_pb.js +1 -0
  391. package/dist/modules/im-protocol/src/protobuf/gen/im.sig_pb.js +1 -0
  392. package/dist/modules/im-protocol/src/protobuf/gen/msg_pb.js +1 -0
  393. package/dist/modules/im-protocol/src/protobuf/registry.js +1 -0
  394. package/dist/modules/im-sdk/src/cache-prefix-migration.js +1 -0
  395. package/dist/modules/im-sdk/src/create-im-client.js +1 -0
  396. package/dist/modules/im-sdk/src/domains/channel.js +1 -0
  397. package/dist/modules/im-sdk/src/domains/contact.js +1 -0
  398. package/dist/modules/im-sdk/src/domains/conversation.js +1 -0
  399. package/dist/modules/im-sdk/src/domains/group.js +1 -0
  400. package/dist/modules/im-sdk/src/domains/media-byte-computation.js +1 -0
  401. package/dist/modules/im-sdk/src/domains/media.js +1 -0
  402. package/dist/modules/im-sdk/src/domains/message.js +1 -0
  403. package/dist/modules/im-sdk/src/domains/pinned-message-source.js +1 -0
  404. package/dist/modules/im-sdk/src/domains/pinned-message.js +1 -0
  405. package/dist/modules/im-sdk/src/domains/session.js +1 -0
  406. package/dist/modules/im-sdk/src/product/applications.js +1 -0
  407. package/dist/modules/im-sdk/src/product/calls.js +1 -0
  408. package/dist/modules/im-sdk/src/product/capabilities.js +1 -0
  409. package/dist/modules/im-sdk/src/product/channel-mention-candidates.js +1 -0
  410. package/dist/modules/im-sdk/src/product/conversation-background.js +1 -0
  411. package/dist/modules/im-sdk/src/product/conversation-entry-unread.js +1 -0
  412. package/dist/modules/im-sdk/src/product/conversation-handle.js +1 -0
  413. package/dist/modules/im-sdk/src/product/conversations.js +1 -0
  414. package/dist/modules/im-sdk/src/product/customer-service.js +1 -0
  415. package/dist/modules/im-sdk/src/product/diagnostic-memory-buffer.js +1 -0
  416. package/dist/modules/im-sdk/src/product/diagnostics.js +1 -0
  417. package/dist/modules/im-sdk/src/product/directory.js +1 -0
  418. package/dist/modules/im-sdk/src/product/draft.js +1 -0
  419. package/dist/modules/im-sdk/src/product/emoji-catalog.js +1 -0
  420. package/dist/modules/im-sdk/src/product/emoji-catalog.json.js +1 -0
  421. package/dist/modules/im-sdk/src/product/events.js +1 -0
  422. package/dist/modules/im-sdk/src/product/expressions.js +1 -0
  423. package/dist/modules/im-sdk/src/product/face-to-face-group.js +1 -0
  424. package/dist/modules/im-sdk/src/product/group-calls.js +1 -0
  425. package/dist/modules/im-sdk/src/product/image-format.js +1 -0
  426. package/dist/modules/im-sdk/src/product/local-data.js +1 -0
  427. package/dist/modules/im-sdk/src/product/media.js +1 -0
  428. package/dist/modules/im-sdk/src/product/mention.js +1 -0
  429. package/dist/modules/im-sdk/src/product/message.js +1 -0
  430. package/dist/modules/im-sdk/src/product/messages-by-id.js +1 -0
  431. package/dist/modules/im-sdk/src/product/outbox.js +1 -0
  432. package/dist/modules/im-sdk/src/product/profiles.js +1 -0
  433. package/dist/modules/im-sdk/src/product/resource-uploader.js +1 -0
  434. package/dist/modules/im-sdk/src/product/robots.js +1 -0
  435. package/dist/modules/im-sdk/src/product/search.js +1 -0
  436. package/dist/modules/im-sdk/src/product/session-favorites.js +1 -0
  437. package/dist/modules/im-sdk/src/product/settings.js +1 -0
  438. package/dist/modules/im-sdk/src/runtime/advanced-message-diagnostics.js +1 -0
  439. package/dist/modules/im-sdk/src/runtime/channel-read-summary-refresh.js +1 -0
  440. package/dist/modules/im-sdk/src/runtime/customer-service-legacy-recovery.js +1 -0
  441. package/dist/modules/im-sdk/src/runtime/decrypt-diagnostics.js +1 -0
  442. package/dist/modules/im-sdk/src/runtime/foreground-work-coordinator.js +1 -0
  443. package/dist/modules/im-sdk/src/runtime/group-history-page-boundary.js +1 -0
  444. package/dist/modules/im-sdk/src/runtime/key-prefetch.js +1 -0
  445. package/dist/modules/im-sdk/src/runtime/local-media-preview.js +1 -0
  446. package/dist/modules/im-sdk/src/runtime/media-cache-maintenance.js +1 -0
  447. package/dist/modules/im-sdk/src/runtime/media-upload-recovery.js +1 -0
  448. package/dist/modules/im-sdk/src/runtime/protobuf-wire-shape.js +1 -0
  449. package/dist/modules/im-sdk/src/runtime/receiving-activity.js +1 -0
  450. package/dist/modules/im-sdk/src/runtime/recent-history-fetcher.js +1 -0
  451. package/dist/modules/im-sdk/src/runtime/recent-history-prefetch.js +1 -0
  452. package/dist/modules/im-sdk/src/runtime/session-http-clients.js +1 -0
  453. package/dist/modules/im-sdk/src/runtime/session-runtime.js +1 -0
  454. package/dist/modules/im-sdk/src/runtime/signal-offline-poller.js +1 -0
  455. package/dist/request-crypto.js +1 -1
  456. package/dist/sdk.d.ts +170 -111
  457. package/dist/sdk.js +1 -1
  458. package/package.json +2 -2
  459. package/dist/browser-2MUNHRDS.js +0 -1
  460. package/dist/browser-RTCHWSQ2.js +0 -2
  461. package/dist/chunk-2OCWQHFJ.js +0 -2
  462. package/dist/chunk-46ARFR7U.js +0 -8
  463. package/dist/chunk-HQDLYL3K.js +0 -2
  464. package/dist/chunk-IC6HI33O.js +0 -1
  465. package/dist/chunk-IDECJJXC.js +0 -0
  466. package/dist/chunk-J3TLOAQI.js +0 -2
  467. package/dist/chunk-Q2DEFN53.js +0 -1
  468. package/dist/chunk-SXY56EVC.js +0 -0
  469. package/dist/chunk-WL3NFQ7Y.js +0 -1
  470. package/dist/chunk-WOT6VMZA.js +0 -1
  471. package/dist/chunk-WS7BWP7C.js +0 -1
@@ -0,0 +1 @@
1
+ import{fileDesc as E}from"@bufbuild/protobuf/codegenv2";const _=/* @__PURE__ */E("CgxpbS5wdWIucHJvdG8SCmltLmFwcC5wdGwiGwoKU3lzdGVtUGluZxINCgVtc2dJZBgBIAEoCSrcOQoFQ21kSWQSEAoMRVhDRVBUX0NNRElEEAASFAoQU1lTVEVNX0hFQVJUQkVBVBABEhgKFFNZU1RFTV9IRUFSVEJFQVRfQUNLEAISDwoLU1lTVEVNX1BJTkcQAxITCg9TWVNURU1fUElOR19BQ0sQBBIcChhTWVNURU1fVE9PX01BTllfUkVRVUVTVFMQBhIbChdDTV9TWU5DX0FQUF9QUklWQVRFX0tFWRBlEiIKHkNNX1NZTkNfQVBQX1BSSVZBVEVfS0VZX0VNU0FDSxBmEh8KG0NNX1NZTkNfQVBQX1BSSVZBVEVfS0VZX0FDSxBnEiAKHENNX1NZTkNfQVBQX1NFTkRfUFJJVkFURV9LRVkQaBInCiNDTV9TWU5DX0FQUF9TRU5EX1BSSVZBVEVfS0VZX0VNU0FDSxBpEiQKIENNX1NZTkNfQVBQX1NFTkRfUFJJVkFURV9LRVlfQUNLEGoSIgoeQ01fREVWSUNFX09OTElORV9TVEFUVVNfTk9USUZZEGwSDQoIQ01fTE9HSU4QgQISEQoMQ01fTE9HSU5fQUNLEIICEg4KCUNNX0xPR09VVBCDAhISCg1DTV9MT0dPVVRfQUNLEIQCEhUKEENNX1BVU0hUT0tFTlNZTkMQhQISGQoUQ01fUFVTSFRPS0VOU1lOQ19BQ0sQhgISHAoXQ01fS0lDS09VVF9OT1RJRklDQVRJT04QiAISFgoRQ01fTE9HT1VUX0NPTkZJUk0QiQISGgoVQ01fTE9HT1VUX0NPTkZJUk1fQUNLEIoCEhoKFUNNX0ZSRUVaRV9VU0VSX05PVElGWRCLAhINCghNRVNfQ0hBVBCBIBIRCgxNRVNfQ0hBVF9BQ0sQgiASGQoUTUVTX0NIQVRfREVMSVZFUl9BQ0sQgyASFQoQTUVTX0NIQVRfREVMSVZFUhCEIBIoCiNNRVNfQ0hBVF9ERUxJVkVSRURfTk9USUZJQ0FUSU9OX0FDSxCFIBIkCh9NRVNfQ0hBVF9ERUxJVkVSRURfTk9USUZJQ0FUSU9OEIYgEhIKDU1FU19DSEFUX1JFQUQQhyASFgoRTUVTX0NIQVRfUkVBRF9BQ0sQiCASHgoZTUVTX0NIQVRfUkVBRF9ERUxJVkVSX0FDSxCJIBIaChVNRVNfQ0hBVF9SRUFEX0RFTElWRVIQiiASEwoOTUVTX0NIQVRDQU5DRUwQiyASFwoSTUVTX0NIQVRDQU5DRUxfQUNLEIwgEh8KGk1FU19DSEFUQ0FOQ0VMX0RFTElWRVJfQUNLEI0gEhsKFk1FU19DSEFUQ0FOQ0VMX0RFTElWRVIQjiASGgoVTUVTX0NIQVRfT1BQT1NJVEVfRU5EEJEgEiIKHU1FU19DSEFUX09QUE9TSVRFX0VORF9FTVNfQUNLEJIgEiIKHU1FU19DSEFUX09QUE9TSVRFX0VORF9SRUNFSVZFEJMgEiYKIU1FU19DSEFUX09QUE9TSVRFX0VORF9SRUNFSVZFX0FDSxCUIBIfChpNRVNfQ0hBVF9TWU5DX1JFQURfTVNHX0MyQxCVIBIjCh5NRVNfQ0hBVF9TWU5DX1JFQURfTVNHX0MyQ19BQ0sQliASJwoiTUVTX0NIQVRfU1lOQ19SRUFEX01TR19ERUxJVkVSX0MyQxCXIBISCg1NRVNfQURERlJJRU5EEIEiEhYKEU1FU19BRERGUklFTkRfQUNLEIIiEh4KGU1FU19BRERGUklFTkRfREVMSVZFUl9BQ0sQgyISGgoVTUVTX0FEREZSSUVORF9ERUxJVkVSEIQiEhYKEU1FU19BRERGUklFTkRfQU5TEIUiEhoKFU1FU19BRERGUklFTkRfQU5TX0FDSxCGIhIiCh1NRVNfQURERlJJRU5EX0FOU19ERUxJVkVSX0FDSxCHIhIeChlNRVNfQURERlJJRU5EX0FOU19ERUxJVkVSEIgiEiAKG01FU19VU0VSX0lORk9fTU9ESUZZX05PVElGWRCFJBIkCh9NRVNfVVNFUl9JTkZPX01PRElGWV9OT1RJRllfQUNLEIYkEigKI01FU19VU0VSX0lORk9fTU9ESUZZX05PVElGWV9ERUxJVkVSEIgkEiwKJ01FU19VU0VSX0lORk9fTU9ESUZZX05PVElGWV9ERUxJVkVSX0FDSxCHJBIdChhNRVNfREVMRVRFX0ZSSUVORF9OT1RJRlkQiSQSIQocTUVTX0RFTEVURV9GUklFTkRfTk9USUZZX0FDSxCQJBIaChVNRVNfQ0hBVF9FRElUX01TR19DMkMQpCQSHwoaTUVTX0NIQVRfRURJVF9PUFBPU0lURV9FTkQQpSQSGgoVTUVTX0NIQVRfTVNHX0VESVRfQUNLEKYkEh4KGU1FU19DSEFUX1JFQUNUSU9OX01TR19DMkMQqiQSIwoeTUVTX0NIQVRfUkVBQ1RJT05fT1BQT1NJVEVfRU5EEKskEh4KGU1FU19DSEFUX1JFQUNUSU9OX01TR19BQ0sQrCQSHgoZTUVTX0NIQVRfUkVBQ1RJT05fREVMSVZFUhCtJBIUCg9NU19DT01NT05OT1RJRlkQgSQSGAoTTVNfQ09NTU9OTk9USUZZX0FDSxCCJBIgChtNU19DT01NT05OT1RJRllfREVMSVZFUl9BQ0sQgyQSHAoXTVNfQ09NTU9OTk9USUZZX0RFTElWRVIQhCQSEwoOTVNHX1NFVF9VTlJFQUQQkSQSFwoSTVNHX1NFVF9VTlJFQURfQUNLEJIkEhwKF01TX1dBTExFVE5PVElGWV9ERUxJVkVSEJMkEiAKG01TX1dBTExFVE5PVElGWV9ERUxJVkVSX0FDSxCUJBInCiJNRVNfRlJJRU5EX0JMQUNLTElTVF9DSEFOR0VfTk9USUZZEJUkEisKJk1FU19GUklFTkRfQkxBQ0tMSVNUX0NIQU5HRV9OT1RJRllfQUNLEJYkEhYKEU1FU19GUklFTkRfTk9USUZZEJckEhoKFU1FU19GUklFTkRfTk9USUZZX0FDSxCYJBIqCiVNRVNfVVNFUl9GQVZPUklURV9MSVNUX0NIQU5HRURfTk9USUZZEJkkEh8KGk1FU19VU0VSX1NXSVRDSF9TRVRfTk9USUZZEKAkEiMKHk1FU19VU0VSX1NXSVRDSF9TRVRfTk9USUZZX0FDSxChJBIkCh9NRVNfVVNFUl9BUFBMWV9ERURVQ1RJT05fTk9USUZZEMckEhwKF01FU19HSVZFX0xPVFRFUllfTk9USUZZEKIkEiAKG01FU19HSVZFX0xPVFRFUllfTk9USUZZX0FDSxCjJBIPCgpHUk9VUF9DSEFUEIFAEhMKDkdST1VQX0NIQVRfQUNLEIJAEhwKF01FU19HUlBDSEFUX0RFTElWRVJfQUNLEINAEhgKE01FU19HUlBDSEFUX0RFTElWRVIQhEASFQoQR1JPVVBfQ0hBVENBTkNFTBCFQBIZChRHUk9VUF9DSEFUQ0FOQ0VMX0FDSxCGQBIhChxHUk9VUF9DSEFUQ0FOQ0VMX0RFTElWRVJfQUNLEIdAEh0KGEdST1VQX0NIQVRDQU5DRUxfREVMSVZFUhCIQBIQCgtNRVNfSk9JTkdSUBCBQhIUCg9NRVNfSk9JTkdSUF9BQ0sQgkISHAoXTUVTX0pPSU5HUlBfREVMSVZFUl9BQ0sQg0ISGAoTTUVTX0pPSU5HUlBfREVMSVZFUhCEQhIeChlNRVNfR1JQTk9USUZZX0RFTElWRVJfQUNLEINEEhoKFU1FU19HUlBOT1RJRllfREVMSVZFUhCERBIVChBNRVNfRVhDSEFOR0VfS0VZEIFGEhkKFE1FU19FWENIQU5HRV9LRVlfQUNLEIJGEiEKHE1FU19FWENIQU5HRV9LRVlfREVMSVZFUl9BQ0sQg0YSHQoYTUVTX0VYQ0hBTkdFX0tFWV9ERUxJVkVSEIRGEikKJE1FU19FWENIQU5HRV9LRVlfREVMSVZFUkRfTk9USUZZX0FDSxCFRhIlCiBNRVNfRVhDSEFOR0VfS0VZX0RFTElWRVJEX05PVElGWRCGRhIiCh1NRVNfR1JQQ0hBVF9TWU5DX1JFQURfTVNHX0MyQxCHRhImCiFNRVNfR1JQQ0hBVF9TWU5DX1JFQURfTVNHX0MyQ19BQ0sQiEYSKgolTUVTX0dSUENIQVRfU1lOQ19SRUFEX01TR19ERUxJVkVSX0MyQxCJRhIdChhNRVNfR1JQQ0hBVF9FRElUX01TR19DMkMQkEYSIQocTUVTX0dSUENIQVRfRURJVF9NU0dfQzJDX0FDSxCRRhIhChxNRVNfR1JQQ0hBVF9SRUFDVElPTl9NU0dfQzJDEJJGEiUKIE1FU19HUlBDSEFUX1JFQUNUSU9OX01TR19DMkNfQUNLEJNGEiEKHE1FU19HUlBDSEFUX1JFQUNUSU9OX0RFTElWRVIQlEYSDwoKUkFESU9fQ0hBVBCBYBITCg5SQURJT19DSEFUX0FDSxCCYBIbChZSQURJT19DSEFUX0RFTElWRVJfQUNLEINgEhcKElJBRElPX0NIQVRfREVMSVZFUhCEYBIcChdSQURJT19BRE1JTl9DQU5DRUxfQ0hBVBCFYBIgChtSQURJT19BRE1JTl9DQU5DRUxfQ0hBVF9BQ0sQhmASKAojUkFESU9fQURNSU5fQ0FOQ0VMX0NIQVRfREVMSVZFUl9BQ0sQh2ASJAofUkFESU9fQURNSU5fQ0FOQ0VMX0NIQVRfREVMSVZFUhCIYBIWChFSQURJT19DQU5DRUxfQ0hBVBCJYBIaChVSQURJT19DQU5DRUxfQ0hBVF9BQ0sQimASIgodUkFESU9fQ0FOQ0VMX0NIQVRfREVMSVZFUl9BQ0sQi2ASHgoZUkFESU9fQ0FOQ0VMX0NIQVRfREVMSVZFUhCMYBIcChdSQURJT19BUFBMWV9ERUxJVkVSX0FDSxCDYhIYChNSQURJT19BUFBMWV9ERUxJVkVSEIRiEh0KGFJBRElPX0lOVklURV9ERUxJVkVSX0FDSxCHYhIZChRSQURJT19JTlZJVEVfREVMSVZFUhCIYhIdChhSQURJT19OT1RJRllfREVMSVZFUl9BQ0sQg2QSGQoUUkFESU9fTk9USUZZX0RFTElWRVIQhGQSIAobTUVTX1JBRElPX1NZTkNfUkVBRF9NU0dfQzJDEIVkEiQKH01FU19SQURJT19TWU5DX1JFQURfTVNHX0MyQ19BQ0sQhmQSKAojTUVTX1JBRElPX1NZTkNfUkVBRF9NU0dfREVMSVZFUl9DMkMQh2QSGwoWTUVTX1JBRElPX0VESVRfTVNHX0MyQxCIZBIfChpNRVNfUkFESU9fRURJVF9NU0dfQzJDX0FDSxCJZBIhChxNRVNfUkFESU9fUkVEX1BBQ0tFVF9HUkFCQkVEEJBkEh8KGk1FU19SQURJT19SRUFDVElPTl9NU0dfQzJDEJFkEiMKHk1FU19SQURJT19SRUFDVElPTl9NU0dfQzJDX0FDSxCSZBIfChpNRVNfUkFESU9fUkVBQ1RJT05fREVMSVZFUhCTZBIYChJTSUdfU1BPTlNPUlAyUENBTEwQgYABEhwKFlNJR19TUE9OU09SUDJQQ0FMTF9BQ0sQgoABEiQKHlNJR19TUE9OU09SUDJQQ0FMTF9ERUxJVkVSX0FDSxCDgAESIAoaU0lHX1NQT05TT1JQMlBDQUxMX0RFTElWRVIQhIABEhwKFlNJR19TUE9OU09SUDJQQ0FMTF9BTlMQhYABEiAKGlNJR19TUE9OU09SUDJQQ0FMTF9BTlNfQUNLEIaAARIoCiJTSUdfU1BPTlNPUlAyUENBTExfQU5TX0RFTElWRVJfQUNLEIeAARIkCh5TSUdfU1BPTlNPUlAyUENBTExfQU5TX0RFTElWRVIQiIABEiIKHFNJR19QMlBDQUxMX0VYQ0hBTkdFX05BVElORk8QiYABEiYKIFNJR19QMlBDQUxMX0VYQ0hBTkdFX05BVElORk9fQUNLEIqAARIuCihTSUdfUDJQQ0FMTF9FWENIQU5HRV9OQVRJTkZPX0RFTElWRVJfQUNLEIuAARIqCiRTSUdfUDJQQ0FMTF9FWENIQU5HRV9OQVRJTkZPX0RFTElWRVIQjIABEhcKEVNJR19QMlBDQUxMSEFOR1VQEI2AARIbChVTSUdfUDJQQ0FMTEhBTkdVUF9BQ0sQjoABEiIKHFNJR19QMlBDQUxMSEFOR1VQREVsSVZFUl9BQ0sQj4ABEh4KGFNJR19QMlBDQUxMSEFOR1VQREVsSVZFUhCQgAESHAoWU0lHX1AyUENBTExTVEFURU5PVElGWRCRgAESIAoaU0lHX1AyUENBTExTVEFURU5PVElGWV9BQ0sQkoABEicKIVNJR19QMlBDQUxMU1RBVEVOT1RJRllERWxJVkVSX0FDSxCTgAESIwodU0lHX1AyUENBTExTVEFURU5PVElGWURFbElWRVIQlIABEhoKFFNJR19TUE9OU09SR1JPVVBDQUxMEIGCARIeChhTSUdfU1BPTlNPUkdST1VQQ0FMTF9BQ0sQgoIBEiYKIFNJR19TUE9OU09SR1JPVVBDQUxMX0RFTElWRVJfQUNLEIOCARIiChxTSUdfU1BPTlNPUkdST1VQQ0FMTF9ERUxJVkVSEISCARIXChFTSUdfR1JPVVBDQUxMX0FOUxCFggESGwoVU0lHX0dST1VQQ0FMTF9BTlNfQUNLEIaCARIjCh1TSUdfR1JPVVBDQUxMX0FOU19ERUxJVkVSX0FDSxCHggESHwoZU0lHX0dST1VQQ0FMTF9BTlNfREVMSVZFUhCIggESGAoSU0lHX0dST1VQQ0FMTF9KT0lOEImCARIcChZTSUdfR1JPVVBDQUxMX0pPSU5fQUNLEIqCARIkCh5TSUdfR1JPVVBDQUxMX0pPSU5fREVMSVZFUl9BQ0sQi4IBEiAKGlNJR19HUk9VUENBTExfSk9JTl9ERUxJVkVSEIyCARIaChRTSUdfR1JPVVBDQUxMX0hBTkdVUBCNggESHgoYU0lHX0dST1VQQ0FMTF9IQU5HVVBfQUNLEI6CARImCiBTSUdfR1JPVVBDQUxMX0hBTkdVUF9ERUxJVkVSX0FDSxCPggESIgocU0lHX0dST1VQQ0FMTF9IQU5HVVBfREVMSVZFUhCQggESGgoUU0lHX0dST1VQQ0FMTF9GSU5JU0gQkYIBEh4KGFNJR19HUk9VUENBTExfRklOSVNIX0FDSxCSggESJgogU0lHX0dST1VQQ0FMTF9GSU5JU0hfREVMSVZFUl9BQ0sQk4IBEiIKHFNJR19HUk9VUENBTExfRklOSVNIX0RFTElWRVIQlIIBEhoKFFNJR19HUk9VUENBTExfU1RBVFVTEJWCARIeChhTSUdfR1JPVVBDQUxMX1NUQVRVU19BQ0sQloIBEiYKIFNJR19HUk9VUENBTExfU1RBVFVTX0RFTElWRVJfQUNLEJeCARIiChxTSUdfR1JPVVBDQUxMX1NUQVRVU19ERUxJVkVSEJiCARIgChpTSUdfR1JPVVBDQUxMX0RJU0NPTk5FQ1RFRBCZggESJAoeU0lHX0dST1VQQ0FMTF9ESVNDT05ORUNURURfQUNLEJqCARIsCiZTSUdfR1JPVVBDQUxMX0RJU0NPTk5FQ1RFRF9ERUxJVkVSX0FDSxCbggESKAoiU0lHX0dST1VQQ0FMTF9ESVNDT05ORUNURURfREVMSVZFUhCcggESGAoSU0lHX0dST1VQQ0FMTF9CVVNZEJ2CARIcChZTSUdfR1JPVVBDQUxMX0JVU1lfQUNLEJ6CARIkCh5TSUdfR1JPVVBDQUxMX0JVU1lfREVMSVZFUl9BQ0sQn4IBEiAKGlNJR19HUk9VUENBTExfQlVTWV9ERUxJVkVSEKCCARIbChVTSUdfU1lOQ19SRUFEX01TR19DMkMQoYIBEh8KGVNJR19TWU5DX1JFQURfTVNHX0MyQ19BQ0sQooIBEiMKHVNJR19TWU5DX1JFQURfTVNHX0RFTElWRVJfQzJDEKOCARIiChxOT1RJRklDQVRJT05fQ09NTU9OX0NIQU5ORUxTEIGgARImCiBOT1RJRklDQVRJT05fQ09NTU9OX0NIQU5ORUxTX0FDSxCCoAESLgooTk9USUZJQ0FUSU9OX0NPTU1PTl9DSEFOTkVMU19ERUxJVkVSX0FDSxCDoAESKgokTk9USUZJQ0FUSU9OX0NPTU1PTl9DSEFOTkVMU19ERUxJVkVSEISgARIYChJCT1RfTVNHX0dST1VQX1NFTkQQgcABEhgKEkJPVF9NU0dfUkFESU9fU0VORBCCwAESHwoZQk9UX01TR19ST0JPVF9ERUxFVEVfU0VORBCDwAESFwoSTUVTX0NIQVRfTUVTX1JPQk9UEKckEhsKFk1FU19DSEFUX01FU19ST0JPVF9BQ0sQqCQSHQoYTUVTX0NIQVRfTUVTX1JPQk9UX1JFUExZEKkkEg4KCFBDX0xPR0lOENHhAhIRCgtQQ19MT0dJTkFDSxDS4QISDwoJUENfS0lUT1VUENThAhIPCglQQ19MT0dPVVQQ1eECEhkKE1BDX1BDU1lOTUVTU0FHRVRPR1cQ1+ECEhoKFFBDX0dXU1lOTUVTU0FHRVRPQVBQENjhAhIdChdQQ19HV1NZTk1FU1NBR0VUT0FQUEFDSxDZ4QISHAoWUENfUENTWU5NRVNTQUdFVE9HV0FDSxDa4QISGgoUUENfQVBQU1lOTUVTU0FHRVRPR1cQ2+ECEhkKE1BDX0dXU1lOTUVTU0FHRVRPUEMQ3OECEhwKFlBDX0dXU1lOTUVTU0FHRVRPUENBQ0sQ3eECEh0KF1BDX0FQUFNZTk1FU1NBR0VUT0dXQUNLEN7hAhITCg1QQ19IRUFSVEJFQVJUEODhAhIWChBQQ19IRUFSVEJFQVJUQUNLEOHhAhIXChFQQ19DSEVDS0FQUEFDVElWRRDi4QISGgoUUENfQ0hFQ0tBUFBBQ1RJVkVBQ0sQ4+ECEhgKElBDX1JFUE9SVEFQUEFDVElWRRDk4QISGQoTUENfUENTVEFUVVNTWU5UT0FQUBDl4QISHAoWUENfUENTVEFUVVNTWU5UT0FQUEFDSxDm4QISGQoTUENfQVBQU1RBVFVTU1lOVE9QQxDn4QISHAoWUENfQVBQU1RBVFVTU1lOVE9QQ0FDSxDo4QISGQoTUENfQVBQU1lOTk9USUZZVE9HVxDp4QISHAoWUENfQVBQU1lOTk9USUZZVE9HV0FDSxDq4QISGAoSUENfR1dTWU5OT1RJRllUT1BDEOvhAhIbChVQQ19HV1NZTk5PVElGWVRPUENBQ0sQ7OECEhgKEk1FU19PRkZMSU5FU1VNTUFSWRCR4AISHAoWTUVTX09GRkxJTkVTVU1NQVJZX0FDSxCS4AISFgoQTUVTX09GRkxJTkVUT1RBTBCT4AISGgoUTUVTX09GRkxJTkVUT1RBTF9BQ0sQlOACEhQKDk1FU19PRkZMSU5FTVNHEJXgAhIYChJNRVNfT0ZGTElORU1TR19BQ0sQluACEh4KGE1FU19PRkZMSU5FTVNHX0RFTElWRVJFRBCX4AISIgocTUVTX09GRkxJTkVNU0dfREVMSVZFUkVEX0FDSxCY4AISLwopTUVTX09GRkxJTkVNU0dfREVMSVZFUkVEX05PVElGSUNBVElPTl9BQ0sQmeACEisKJU1FU19PRkZMSU5FTVNHX0RFTElWRVJFRF9OT1RJRklDQVRJT04QmuACKskNCgdFcnJDb2RlEg4KCkVYQ0VQVF9FUlIQABINCgdOT05fRVJSEICAAhIUCg5FUlJfU1lTX1JFR0lTVBCBgAISGgoURVJSX1NZU19JTlRFUk5BTF9FUlIQgoACEhQKDkVSUl9MT0dJTl9BVVRIEIGCAhIZChNFUlJfTE9HSU5fRk9SQklEREVOEIKCAhIQCgpFUlJfTE9HT1VUEIOCAhIeChhFUlJfREVWSUNFU1lOQ19QQVJBTUVURVIQhIICEh4KGEVSUl9ERVZJQ0VTWU5DX0ZPUkJJRERFThCFggISHgoYRVJSX0RFVklDRVNZTkNfRVhDRVBUSU9OEIaCAhIgChpFUlJfVFJBTlNNSVNTSU9OX0ZPUkJJRERFThCHggISHgoYRVJSX1RSQU5TTUlTU0lPTl9TRVNTSU9OEIiCAhIWChBFUlJfQ01fRVhDRVBUSU9OEImCAhIbChVFUlJfQ01fQVVUSF9LSUNLRURPVVQQkIICEhUKD0VSUl9DTV9QSFBfQVVUSBCRggISIgocRVJSX0NNX0FVVEhfS0lDS0VET1VUX0JZX0FQUBCSggISGAoSRVJSX0NNX1VTRVJfRlJFRVpFEJOCAhIYChJFUlJfQ0hBVF9GT1JCSURERU4QgYQCEhgKEkVSUl9DSEFUX1VOSEVBTFRIWRCChAISGAoSRVJSX0NIQVRfUEFSQU1FVEVSEIOEAhIdChdFUlJfQ0hBVF9DQU5DRUxfT1VUVElNRRCEhAISHAoWRVJSX0NIQVRfRlJJRU5EX1JFRlVTRRCRhAISGwoVRVJSX0NIQVRfRlJJRU5EX0JMT0NLEJKEAhIZChNFUlJfQ0hBVF9GUklFTkRfREVMEJOEAhIbChVFUlJfQ0hBVF9GUklFTkRfQURERUQQlIQCEhwKFkVSUl9DSEFUX0ZSSUVORF9BRERJTkcQlYQCEiAKGkVSUl9DSEFUX0ZSSUVORF9ISURFTkFEREVEEJaEAhIdChdFUlJfQ0hBVF9ERUVOQ1JZX0ZBSUxFRBCjhAISGAoSSU5GT19HUk9VUF9QRU5ESU5HEICGAhIZChNFUlJfR1JPVVBfUEFSQU1FVEVSEIGGAhIcChZFUlJfR1JPVVBfT1ZFUkNSRUFUSU9OEIKGAhIYChJFUlJfR1JPVVBfT1ZFUkpPSU4Qg4YCEiAKGkVSUl9HUk9VUF9ORVRXT1JLRVhDRVBUSU9OEISGAhIZChNFUlJfR1JPVVBfRk9SQklEREVOEIWGAhIeChhFUlJfR1JPVVBfSU5URVJFWENFUFRJT04QhoYCEhsKFUVSUl9HUk9VUF9NRU1CRVJFWElTVBCHhgISHgoYRVJSX0dST1VQX01FTUJFUk5PTkVYSVNUEIiGAhIfChlFUlJfR1JPVVBfSU5URVJQRVJNSVNTSU9OEImGAhIdChdFUlJfR1JPVVBfTk9OUEVSTUlTU0lPThCQhgISFgoQRVJSX0dST1VQX01BU1RFUhCRhgISGQoTRVJSX0dST1VQX05PVE1BU1RFUhCShgISHwoZRVJSX0dST1VQX0lOVklURUVYQ0VQVElPThCThgISHQoXRVJSX0dST1VQX0lOVklURVNVQ0NFU1MQlIYCEhkKE0VSUl9HUk9VUF9ESVNNSVNTRUQQlYYCEiAKGkVSUl9HUk9VUF9NRU1CRVJFWElTVF9ISURFEJaGAhIbChVFUlJfR1JPVVBfSk9JTl9SRUpFQ1QQoIYCEh0KF0VSUl9HUk9VUF9OT1RJRllfUkVKRUNUEKGGAhIbChVFUlJfR1JPVVBfTUFTVEVSX1FVSVQQooYCEhUKD0VSUl9DQUxMX1JFRlVTRRCAiAISEwoNRVJSX0NBTExfQlVTWRCBiAISGwoVRVJSX0NBTExfUEVFUl9PRkZMSU5FEIKIAhIcChZFUlJfQ0FMTF9DQUxMRVJfQ0FOQ0VMEIOIAhIjCh1FUlJfQ0FMTF9DQUxMRUVfTElWRUtJVF9UT0tFThCEiAISIgocRVJSX0NBTExfQ0FMTEVFX0xJVkVLSVRfQ09OThCFiAISIQobRVJSX0NBTExfUEVFUl9TVEFSVF9USU1FT1VUEIaIAhIYChJFUlJfQ0FMTF9QRUVSX0xPU1QQh4gCEh8KGUVSUl9DQUxMX0NBTExFRV9OT19BTlNXRVIQiIgCEhcKEUVSUl9SQURJT19ESVNNSVNTEIGKAhIXChFFUlJfUkFESU9fTk9TUEVBSxCCigISGAoSRVJSX1JBRElPX0lTREVMRVRFEIOKAhIVCg9FUlJfUkFESU9fQURNSU4QhIoCKswBCgdNc2dUeXBlEgsKB0RFRkFVTFQQABIRCg1QRVJTT05BTF9UQUxLEAESDgoKR1JPVVBfVEFMSxACEgwKCENPTlRBQ1RTEAMSCwoHU1lTX01TRxAEEhQKEEFEVkVSVElTTUVOVF9NU0cQBRIQCgxHUlBfQ09OVEFDVFMQBhINCglDSE5OX1RBTEsQBxIPCgtDSE5OX05PVElGWRAIEgwKCEJPVF9UQUxLEAsSDAoIUDJQX0NBTEwQEBISCg5SRUZFUkVOQ0VfQ0FMTBARKmcKCkRpdmVjZVR5cGUSCgoGVU5LTk9XEAASCwoHSFdfUFVTSBAQEgsKB1hNX1BVU0gQERIOCgpHT09HTEVfRkNNEBISCQoFSlBVU0gQExINCghBUE5TX0RFVhD+ARIJCgRBUE5TEP8BKrgBCg9DbG9zZUxpbmtSZWFzb24SGAoUQ2xPU0VfUkVBU09OX1VOS05PV04QABIcChhDTE9TRV9SRUFTT05fU2VsZl9Mb2dvdXQQARImCiJDTE9TRV9SRUFTT05fS2lja2VkX0JZX090aGVyRGV2aWNlEAISHgoaQ0xPU0VfUkVBU09OX0tpY2tlZF9CWV9BUFAQAxIlCiFDTE9TRV9SRUFTT05fUmVDb25uZWN0S2lja09sZExpbmsQBCpNChRQdWxsSGlzdG9yeU1zZ0RpcmVjdBISCg5EaXJlY3RfVW5rbm93bhAAEg0KCURpcmVjdF9VcBABEhIKDkRpcmVjdGlvbl9Eb3duEAJCHwoTY29tLm1vc2FudC5pbS5wcm90b0gDWgYuLi9hcHBiBnByb3RvMw");var R=/* @__PURE__ */(E=>(E[E.EXCEPT_CMDID=0]="EXCEPT_CMDID",E[E.SYSTEM_HEARTBEAT=1]="SYSTEM_HEARTBEAT",E[E.SYSTEM_HEARTBEAT_ACK=2]="SYSTEM_HEARTBEAT_ACK",E[E.SYSTEM_PING=3]="SYSTEM_PING",E[E.SYSTEM_PING_ACK=4]="SYSTEM_PING_ACK",E[E.SYSTEM_TOO_MANY_REQUESTS=6]="SYSTEM_TOO_MANY_REQUESTS",E[E.CM_SYNC_APP_PRIVATE_KEY=101]="CM_SYNC_APP_PRIVATE_KEY",E[E.CM_SYNC_APP_PRIVATE_KEY_EMSACK=102]="CM_SYNC_APP_PRIVATE_KEY_EMSACK",E[E.CM_SYNC_APP_PRIVATE_KEY_ACK=103]="CM_SYNC_APP_PRIVATE_KEY_ACK",E[E.CM_SYNC_APP_SEND_PRIVATE_KEY=104]="CM_SYNC_APP_SEND_PRIVATE_KEY",E[E.CM_SYNC_APP_SEND_PRIVATE_KEY_EMSACK=105]="CM_SYNC_APP_SEND_PRIVATE_KEY_EMSACK",E[E.CM_SYNC_APP_SEND_PRIVATE_KEY_ACK=106]="CM_SYNC_APP_SEND_PRIVATE_KEY_ACK",E[E.CM_DEVICE_ONLINE_STATUS_NOTIFY=108]="CM_DEVICE_ONLINE_STATUS_NOTIFY",E[E.CM_LOGIN=257]="CM_LOGIN",E[E.CM_LOGIN_ACK=258]="CM_LOGIN_ACK",E[E.CM_LOGOUT=259]="CM_LOGOUT",E[E.CM_LOGOUT_ACK=260]="CM_LOGOUT_ACK",E[E.CM_PUSHTOKENSYNC=261]="CM_PUSHTOKENSYNC",E[E.CM_PUSHTOKENSYNC_ACK=262]="CM_PUSHTOKENSYNC_ACK",E[E.CM_KICKOUT_NOTIFICATION=264]="CM_KICKOUT_NOTIFICATION",E[E.CM_LOGOUT_CONFIRM=265]="CM_LOGOUT_CONFIRM",E[E.CM_LOGOUT_CONFIRM_ACK=266]="CM_LOGOUT_CONFIRM_ACK",E[E.CM_FREEZE_USER_NOTIFY=267]="CM_FREEZE_USER_NOTIFY",E[E.MES_CHAT=4097]="MES_CHAT",E[E.MES_CHAT_ACK=4098]="MES_CHAT_ACK",E[E.MES_CHAT_DELIVER_ACK=4099]="MES_CHAT_DELIVER_ACK",E[E.MES_CHAT_DELIVER=4100]="MES_CHAT_DELIVER",E[E.MES_CHAT_DELIVERED_NOTIFICATION_ACK=4101]="MES_CHAT_DELIVERED_NOTIFICATION_ACK",E[E.MES_CHAT_DELIVERED_NOTIFICATION=4102]="MES_CHAT_DELIVERED_NOTIFICATION",E[E.MES_CHAT_READ=4103]="MES_CHAT_READ",E[E.MES_CHAT_READ_ACK=4104]="MES_CHAT_READ_ACK",E[E.MES_CHAT_READ_DELIVER_ACK=4105]="MES_CHAT_READ_DELIVER_ACK",E[E.MES_CHAT_READ_DELIVER=4106]="MES_CHAT_READ_DELIVER",E[E.MES_CHATCANCEL=4107]="MES_CHATCANCEL",E[E.MES_CHATCANCEL_ACK=4108]="MES_CHATCANCEL_ACK",E[E.MES_CHATCANCEL_DELIVER_ACK=4109]="MES_CHATCANCEL_DELIVER_ACK",E[E.MES_CHATCANCEL_DELIVER=4110]="MES_CHATCANCEL_DELIVER",E[E.MES_CHAT_OPPOSITE_END=4113]="MES_CHAT_OPPOSITE_END",E[E.MES_CHAT_OPPOSITE_END_EMS_ACK=4114]="MES_CHAT_OPPOSITE_END_EMS_ACK",E[E.MES_CHAT_OPPOSITE_END_RECEIVE=4115]="MES_CHAT_OPPOSITE_END_RECEIVE",E[E.MES_CHAT_OPPOSITE_END_RECEIVE_ACK=4116]="MES_CHAT_OPPOSITE_END_RECEIVE_ACK",E[E.MES_CHAT_SYNC_READ_MSG_C2C=4117]="MES_CHAT_SYNC_READ_MSG_C2C",E[E.MES_CHAT_SYNC_READ_MSG_C2C_ACK=4118]="MES_CHAT_SYNC_READ_MSG_C2C_ACK",E[E.MES_CHAT_SYNC_READ_MSG_DELIVER_C2C=4119]="MES_CHAT_SYNC_READ_MSG_DELIVER_C2C",E[E.MES_ADDFRIEND=4353]="MES_ADDFRIEND",E[E.MES_ADDFRIEND_ACK=4354]="MES_ADDFRIEND_ACK",E[E.MES_ADDFRIEND_DELIVER_ACK=4355]="MES_ADDFRIEND_DELIVER_ACK",E[E.MES_ADDFRIEND_DELIVER=4356]="MES_ADDFRIEND_DELIVER",E[E.MES_ADDFRIEND_ANS=4357]="MES_ADDFRIEND_ANS",E[E.MES_ADDFRIEND_ANS_ACK=4358]="MES_ADDFRIEND_ANS_ACK",E[E.MES_ADDFRIEND_ANS_DELIVER_ACK=4359]="MES_ADDFRIEND_ANS_DELIVER_ACK",E[E.MES_ADDFRIEND_ANS_DELIVER=4360]="MES_ADDFRIEND_ANS_DELIVER",E[E.MES_USER_INFO_MODIFY_NOTIFY=4613]="MES_USER_INFO_MODIFY_NOTIFY",E[E.MES_USER_INFO_MODIFY_NOTIFY_ACK=4614]="MES_USER_INFO_MODIFY_NOTIFY_ACK",E[E.MES_USER_INFO_MODIFY_NOTIFY_DELIVER=4616]="MES_USER_INFO_MODIFY_NOTIFY_DELIVER",E[E.MES_USER_INFO_MODIFY_NOTIFY_DELIVER_ACK=4615]="MES_USER_INFO_MODIFY_NOTIFY_DELIVER_ACK",E[E.MES_DELETE_FRIEND_NOTIFY=4617]="MES_DELETE_FRIEND_NOTIFY",E[E.MES_DELETE_FRIEND_NOTIFY_ACK=4624]="MES_DELETE_FRIEND_NOTIFY_ACK",E[E.MES_CHAT_EDIT_MSG_C2C=4644]="MES_CHAT_EDIT_MSG_C2C",E[E.MES_CHAT_EDIT_OPPOSITE_END=4645]="MES_CHAT_EDIT_OPPOSITE_END",E[E.MES_CHAT_MSG_EDIT_ACK=4646]="MES_CHAT_MSG_EDIT_ACK",E[E.MES_CHAT_REACTION_MSG_C2C=4650]="MES_CHAT_REACTION_MSG_C2C",E[E.MES_CHAT_REACTION_OPPOSITE_END=4651]="MES_CHAT_REACTION_OPPOSITE_END",E[E.MES_CHAT_REACTION_MSG_ACK=4652]="MES_CHAT_REACTION_MSG_ACK",E[E.MES_CHAT_REACTION_DELIVER=4653]="MES_CHAT_REACTION_DELIVER",E[E.MS_COMMONNOTIFY=4609]="MS_COMMONNOTIFY",E[E.MS_COMMONNOTIFY_ACK=4610]="MS_COMMONNOTIFY_ACK",E[E.MS_COMMONNOTIFY_DELIVER_ACK=4611]="MS_COMMONNOTIFY_DELIVER_ACK",E[E.MS_COMMONNOTIFY_DELIVER=4612]="MS_COMMONNOTIFY_DELIVER",E[E.MSG_SET_UNREAD=4625]="MSG_SET_UNREAD",E[E.MSG_SET_UNREAD_ACK=4626]="MSG_SET_UNREAD_ACK",E[E.MS_WALLETNOTIFY_DELIVER=4627]="MS_WALLETNOTIFY_DELIVER",E[E.MS_WALLETNOTIFY_DELIVER_ACK=4628]="MS_WALLETNOTIFY_DELIVER_ACK",E[E.MES_FRIEND_BLACKLIST_CHANGE_NOTIFY=4629]="MES_FRIEND_BLACKLIST_CHANGE_NOTIFY",E[E.MES_FRIEND_BLACKLIST_CHANGE_NOTIFY_ACK=4630]="MES_FRIEND_BLACKLIST_CHANGE_NOTIFY_ACK",E[E.MES_FRIEND_NOTIFY=4631]="MES_FRIEND_NOTIFY",E[E.MES_FRIEND_NOTIFY_ACK=4632]="MES_FRIEND_NOTIFY_ACK",E[E.MES_USER_FAVORITE_LIST_CHANGED_NOTIFY=4633]="MES_USER_FAVORITE_LIST_CHANGED_NOTIFY",E[E.MES_USER_SWITCH_SET_NOTIFY=4640]="MES_USER_SWITCH_SET_NOTIFY",E[E.MES_USER_SWITCH_SET_NOTIFY_ACK=4641]="MES_USER_SWITCH_SET_NOTIFY_ACK",E[E.MES_USER_APPLY_DEDUCTION_NOTIFY=4679]="MES_USER_APPLY_DEDUCTION_NOTIFY",E[E.MES_GIVE_LOTTERY_NOTIFY=4642]="MES_GIVE_LOTTERY_NOTIFY",E[E.MES_GIVE_LOTTERY_NOTIFY_ACK=4643]="MES_GIVE_LOTTERY_NOTIFY_ACK",E[E.GROUP_CHAT=8193]="GROUP_CHAT",E[E.GROUP_CHAT_ACK=8194]="GROUP_CHAT_ACK",E[E.MES_GRPCHAT_DELIVER_ACK=8195]="MES_GRPCHAT_DELIVER_ACK",E[E.MES_GRPCHAT_DELIVER=8196]="MES_GRPCHAT_DELIVER",E[E.GROUP_CHATCANCEL=8197]="GROUP_CHATCANCEL",E[E.GROUP_CHATCANCEL_ACK=8198]="GROUP_CHATCANCEL_ACK",E[E.GROUP_CHATCANCEL_DELIVER_ACK=8199]="GROUP_CHATCANCEL_DELIVER_ACK",E[E.GROUP_CHATCANCEL_DELIVER=8200]="GROUP_CHATCANCEL_DELIVER",E[E.MES_JOINGRP=8449]="MES_JOINGRP",E[E.MES_JOINGRP_ACK=8450]="MES_JOINGRP_ACK",E[E.MES_JOINGRP_DELIVER_ACK=8451]="MES_JOINGRP_DELIVER_ACK",E[E.MES_JOINGRP_DELIVER=8452]="MES_JOINGRP_DELIVER",E[E.MES_GRPNOTIFY_DELIVER_ACK=8707]="MES_GRPNOTIFY_DELIVER_ACK",E[E.MES_GRPNOTIFY_DELIVER=8708]="MES_GRPNOTIFY_DELIVER",E[E.MES_EXCHANGE_KEY=8961]="MES_EXCHANGE_KEY",E[E.MES_EXCHANGE_KEY_ACK=8962]="MES_EXCHANGE_KEY_ACK",E[E.MES_EXCHANGE_KEY_DELIVER_ACK=8963]="MES_EXCHANGE_KEY_DELIVER_ACK",E[E.MES_EXCHANGE_KEY_DELIVER=8964]="MES_EXCHANGE_KEY_DELIVER",E[E.MES_EXCHANGE_KEY_DELIVERD_NOTIFY_ACK=8965]="MES_EXCHANGE_KEY_DELIVERD_NOTIFY_ACK",E[E.MES_EXCHANGE_KEY_DELIVERD_NOTIFY=8966]="MES_EXCHANGE_KEY_DELIVERD_NOTIFY",E[E.MES_GRPCHAT_SYNC_READ_MSG_C2C=8967]="MES_GRPCHAT_SYNC_READ_MSG_C2C",E[E.MES_GRPCHAT_SYNC_READ_MSG_C2C_ACK=8968]="MES_GRPCHAT_SYNC_READ_MSG_C2C_ACK",E[E.MES_GRPCHAT_SYNC_READ_MSG_DELIVER_C2C=8969]="MES_GRPCHAT_SYNC_READ_MSG_DELIVER_C2C",E[E.MES_GRPCHAT_EDIT_MSG_C2C=8976]="MES_GRPCHAT_EDIT_MSG_C2C",E[E.MES_GRPCHAT_EDIT_MSG_C2C_ACK=8977]="MES_GRPCHAT_EDIT_MSG_C2C_ACK",E[E.MES_GRPCHAT_REACTION_MSG_C2C=8978]="MES_GRPCHAT_REACTION_MSG_C2C",E[E.MES_GRPCHAT_REACTION_MSG_C2C_ACK=8979]="MES_GRPCHAT_REACTION_MSG_C2C_ACK",E[E.MES_GRPCHAT_REACTION_DELIVER=8980]="MES_GRPCHAT_REACTION_DELIVER",E[E.RADIO_CHAT=12289]="RADIO_CHAT",E[E.RADIO_CHAT_ACK=12290]="RADIO_CHAT_ACK",E[E.RADIO_CHAT_DELIVER_ACK=12291]="RADIO_CHAT_DELIVER_ACK",E[E.RADIO_CHAT_DELIVER=12292]="RADIO_CHAT_DELIVER",E[E.RADIO_ADMIN_CANCEL_CHAT=12293]="RADIO_ADMIN_CANCEL_CHAT",E[E.RADIO_ADMIN_CANCEL_CHAT_ACK=12294]="RADIO_ADMIN_CANCEL_CHAT_ACK",E[E.RADIO_ADMIN_CANCEL_CHAT_DELIVER_ACK=12295]="RADIO_ADMIN_CANCEL_CHAT_DELIVER_ACK",E[E.RADIO_ADMIN_CANCEL_CHAT_DELIVER=12296]="RADIO_ADMIN_CANCEL_CHAT_DELIVER",E[E.RADIO_CANCEL_CHAT=12297]="RADIO_CANCEL_CHAT",E[E.RADIO_CANCEL_CHAT_ACK=12298]="RADIO_CANCEL_CHAT_ACK",E[E.RADIO_CANCEL_CHAT_DELIVER_ACK=12299]="RADIO_CANCEL_CHAT_DELIVER_ACK",E[E.RADIO_CANCEL_CHAT_DELIVER=12300]="RADIO_CANCEL_CHAT_DELIVER",E[E.RADIO_APPLY_DELIVER_ACK=12547]="RADIO_APPLY_DELIVER_ACK",E[E.RADIO_APPLY_DELIVER=12548]="RADIO_APPLY_DELIVER",E[E.RADIO_INVITE_DELIVER_ACK=12551]="RADIO_INVITE_DELIVER_ACK",E[E.RADIO_INVITE_DELIVER=12552]="RADIO_INVITE_DELIVER",E[E.RADIO_NOTIFY_DELIVER_ACK=12803]="RADIO_NOTIFY_DELIVER_ACK",E[E.RADIO_NOTIFY_DELIVER=12804]="RADIO_NOTIFY_DELIVER",E[E.MES_RADIO_SYNC_READ_MSG_C2C=12805]="MES_RADIO_SYNC_READ_MSG_C2C",E[E.MES_RADIO_SYNC_READ_MSG_C2C_ACK=12806]="MES_RADIO_SYNC_READ_MSG_C2C_ACK",E[E.MES_RADIO_SYNC_READ_MSG_DELIVER_C2C=12807]="MES_RADIO_SYNC_READ_MSG_DELIVER_C2C",E[E.MES_RADIO_EDIT_MSG_C2C=12808]="MES_RADIO_EDIT_MSG_C2C",E[E.MES_RADIO_EDIT_MSG_C2C_ACK=12809]="MES_RADIO_EDIT_MSG_C2C_ACK",E[E.MES_RADIO_RED_PACKET_GRABBED=12816]="MES_RADIO_RED_PACKET_GRABBED",E[E.MES_RADIO_REACTION_MSG_C2C=12817]="MES_RADIO_REACTION_MSG_C2C",E[E.MES_RADIO_REACTION_MSG_C2C_ACK=12818]="MES_RADIO_REACTION_MSG_C2C_ACK",E[E.MES_RADIO_REACTION_DELIVER=12819]="MES_RADIO_REACTION_DELIVER",E[E.SIG_SPONSORP2PCALL=16385]="SIG_SPONSORP2PCALL",E[E.SIG_SPONSORP2PCALL_ACK=16386]="SIG_SPONSORP2PCALL_ACK",E[E.SIG_SPONSORP2PCALL_DELIVER_ACK=16387]="SIG_SPONSORP2PCALL_DELIVER_ACK",E[E.SIG_SPONSORP2PCALL_DELIVER=16388]="SIG_SPONSORP2PCALL_DELIVER",E[E.SIG_SPONSORP2PCALL_ANS=16389]="SIG_SPONSORP2PCALL_ANS",E[E.SIG_SPONSORP2PCALL_ANS_ACK=16390]="SIG_SPONSORP2PCALL_ANS_ACK",E[E.SIG_SPONSORP2PCALL_ANS_DELIVER_ACK=16391]="SIG_SPONSORP2PCALL_ANS_DELIVER_ACK",E[E.SIG_SPONSORP2PCALL_ANS_DELIVER=16392]="SIG_SPONSORP2PCALL_ANS_DELIVER",E[E.SIG_P2PCALL_EXCHANGE_NATINFO=16393]="SIG_P2PCALL_EXCHANGE_NATINFO",E[E.SIG_P2PCALL_EXCHANGE_NATINFO_ACK=16394]="SIG_P2PCALL_EXCHANGE_NATINFO_ACK",E[E.SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER_ACK=16395]="SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER_ACK",E[E.SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER=16396]="SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER",E[E.SIG_P2PCALLHANGUP=16397]="SIG_P2PCALLHANGUP",E[E.SIG_P2PCALLHANGUP_ACK=16398]="SIG_P2PCALLHANGUP_ACK",E[E.SIG_P2PCALLHANGUPDElIVER_ACK=16399]="SIG_P2PCALLHANGUPDElIVER_ACK",E[E.SIG_P2PCALLHANGUPDElIVER=16400]="SIG_P2PCALLHANGUPDElIVER",E[E.SIG_P2PCALLSTATENOTIFY=16401]="SIG_P2PCALLSTATENOTIFY",E[E.SIG_P2PCALLSTATENOTIFY_ACK=16402]="SIG_P2PCALLSTATENOTIFY_ACK",E[E.SIG_P2PCALLSTATENOTIFYDElIVER_ACK=16403]="SIG_P2PCALLSTATENOTIFYDElIVER_ACK",E[E.SIG_P2PCALLSTATENOTIFYDElIVER=16404]="SIG_P2PCALLSTATENOTIFYDElIVER",E[E.SIG_SPONSORGROUPCALL=16641]="SIG_SPONSORGROUPCALL",E[E.SIG_SPONSORGROUPCALL_ACK=16642]="SIG_SPONSORGROUPCALL_ACK",E[E.SIG_SPONSORGROUPCALL_DELIVER_ACK=16643]="SIG_SPONSORGROUPCALL_DELIVER_ACK",E[E.SIG_SPONSORGROUPCALL_DELIVER=16644]="SIG_SPONSORGROUPCALL_DELIVER",E[E.SIG_GROUPCALL_ANS=16645]="SIG_GROUPCALL_ANS",E[E.SIG_GROUPCALL_ANS_ACK=16646]="SIG_GROUPCALL_ANS_ACK",E[E.SIG_GROUPCALL_ANS_DELIVER_ACK=16647]="SIG_GROUPCALL_ANS_DELIVER_ACK",E[E.SIG_GROUPCALL_ANS_DELIVER=16648]="SIG_GROUPCALL_ANS_DELIVER",E[E.SIG_GROUPCALL_JOIN=16649]="SIG_GROUPCALL_JOIN",E[E.SIG_GROUPCALL_JOIN_ACK=16650]="SIG_GROUPCALL_JOIN_ACK",E[E.SIG_GROUPCALL_JOIN_DELIVER_ACK=16651]="SIG_GROUPCALL_JOIN_DELIVER_ACK",E[E.SIG_GROUPCALL_JOIN_DELIVER=16652]="SIG_GROUPCALL_JOIN_DELIVER",E[E.SIG_GROUPCALL_HANGUP=16653]="SIG_GROUPCALL_HANGUP",E[E.SIG_GROUPCALL_HANGUP_ACK=16654]="SIG_GROUPCALL_HANGUP_ACK",E[E.SIG_GROUPCALL_HANGUP_DELIVER_ACK=16655]="SIG_GROUPCALL_HANGUP_DELIVER_ACK",E[E.SIG_GROUPCALL_HANGUP_DELIVER=16656]="SIG_GROUPCALL_HANGUP_DELIVER",E[E.SIG_GROUPCALL_FINISH=16657]="SIG_GROUPCALL_FINISH",E[E.SIG_GROUPCALL_FINISH_ACK=16658]="SIG_GROUPCALL_FINISH_ACK",E[E.SIG_GROUPCALL_FINISH_DELIVER_ACK=16659]="SIG_GROUPCALL_FINISH_DELIVER_ACK",E[E.SIG_GROUPCALL_FINISH_DELIVER=16660]="SIG_GROUPCALL_FINISH_DELIVER",E[E.SIG_GROUPCALL_STATUS=16661]="SIG_GROUPCALL_STATUS",E[E.SIG_GROUPCALL_STATUS_ACK=16662]="SIG_GROUPCALL_STATUS_ACK",E[E.SIG_GROUPCALL_STATUS_DELIVER_ACK=16663]="SIG_GROUPCALL_STATUS_DELIVER_ACK",E[E.SIG_GROUPCALL_STATUS_DELIVER=16664]="SIG_GROUPCALL_STATUS_DELIVER",E[E.SIG_GROUPCALL_DISCONNECTED=16665]="SIG_GROUPCALL_DISCONNECTED",E[E.SIG_GROUPCALL_DISCONNECTED_ACK=16666]="SIG_GROUPCALL_DISCONNECTED_ACK",E[E.SIG_GROUPCALL_DISCONNECTED_DELIVER_ACK=16667]="SIG_GROUPCALL_DISCONNECTED_DELIVER_ACK",E[E.SIG_GROUPCALL_DISCONNECTED_DELIVER=16668]="SIG_GROUPCALL_DISCONNECTED_DELIVER",E[E.SIG_GROUPCALL_BUSY=16669]="SIG_GROUPCALL_BUSY",E[E.SIG_GROUPCALL_BUSY_ACK=16670]="SIG_GROUPCALL_BUSY_ACK",E[E.SIG_GROUPCALL_BUSY_DELIVER_ACK=16671]="SIG_GROUPCALL_BUSY_DELIVER_ACK",E[E.SIG_GROUPCALL_BUSY_DELIVER=16672]="SIG_GROUPCALL_BUSY_DELIVER",E[E.SIG_SYNC_READ_MSG_C2C=16673]="SIG_SYNC_READ_MSG_C2C",E[E.SIG_SYNC_READ_MSG_C2C_ACK=16674]="SIG_SYNC_READ_MSG_C2C_ACK",E[E.SIG_SYNC_READ_MSG_DELIVER_C2C=16675]="SIG_SYNC_READ_MSG_DELIVER_C2C",E[E.NOTIFICATION_COMMON_CHANNELS=20481]="NOTIFICATION_COMMON_CHANNELS",E[E.NOTIFICATION_COMMON_CHANNELS_ACK=20482]="NOTIFICATION_COMMON_CHANNELS_ACK",E[E.NOTIFICATION_COMMON_CHANNELS_DELIVER_ACK=20483]="NOTIFICATION_COMMON_CHANNELS_DELIVER_ACK",E[E.NOTIFICATION_COMMON_CHANNELS_DELIVER=20484]="NOTIFICATION_COMMON_CHANNELS_DELIVER",E[E.BOT_MSG_GROUP_SEND=24577]="BOT_MSG_GROUP_SEND",E[E.BOT_MSG_RADIO_SEND=24578]="BOT_MSG_RADIO_SEND",E[E.BOT_MSG_ROBOT_DELETE_SEND=24579]="BOT_MSG_ROBOT_DELETE_SEND",E[E.MES_CHAT_MES_ROBOT=4647]="MES_CHAT_MES_ROBOT",E[E.MES_CHAT_MES_ROBOT_ACK=4648]="MES_CHAT_MES_ROBOT_ACK",E[E.MES_CHAT_MES_ROBOT_REPLY=4649]="MES_CHAT_MES_ROBOT_REPLY",E[E.PC_LOGIN=45265]="PC_LOGIN",E[E.PC_LOGINACK=45266]="PC_LOGINACK",E[E.PC_KITOUT=45268]="PC_KITOUT",E[E.PC_LOGOUT=45269]="PC_LOGOUT",E[E.PC_PCSYNMESSAGETOGW=45271]="PC_PCSYNMESSAGETOGW",E[E.PC_GWSYNMESSAGETOAPP=45272]="PC_GWSYNMESSAGETOAPP",E[E.PC_GWSYNMESSAGETOAPPACK=45273]="PC_GWSYNMESSAGETOAPPACK",E[E.PC_PCSYNMESSAGETOGWACK=45274]="PC_PCSYNMESSAGETOGWACK",E[E.PC_APPSYNMESSAGETOGW=45275]="PC_APPSYNMESSAGETOGW",E[E.PC_GWSYNMESSAGETOPC=45276]="PC_GWSYNMESSAGETOPC",E[E.PC_GWSYNMESSAGETOPCACK=45277]="PC_GWSYNMESSAGETOPCACK",E[E.PC_APPSYNMESSAGETOGWACK=45278]="PC_APPSYNMESSAGETOGWACK",E[E.PC_HEARTBEART=45280]="PC_HEARTBEART",E[E.PC_HEARTBEARTACK=45281]="PC_HEARTBEARTACK",E[E.PC_CHECKAPPACTIVE=45282]="PC_CHECKAPPACTIVE",E[E.PC_CHECKAPPACTIVEACK=45283]="PC_CHECKAPPACTIVEACK",E[E.PC_REPORTAPPACTIVE=45284]="PC_REPORTAPPACTIVE",E[E.PC_PCSTATUSSYNTOAPP=45285]="PC_PCSTATUSSYNTOAPP",E[E.PC_PCSTATUSSYNTOAPPACK=45286]="PC_PCSTATUSSYNTOAPPACK",E[E.PC_APPSTATUSSYNTOPC=45287]="PC_APPSTATUSSYNTOPC",E[E.PC_APPSTATUSSYNTOPCACK=45288]="PC_APPSTATUSSYNTOPCACK",E[E.PC_APPSYNNOTIFYTOGW=45289]="PC_APPSYNNOTIFYTOGW",E[E.PC_APPSYNNOTIFYTOGWACK=45290]="PC_APPSYNNOTIFYTOGWACK",E[E.PC_GWSYNNOTIFYTOPC=45291]="PC_GWSYNNOTIFYTOPC",E[E.PC_GWSYNNOTIFYTOPCACK=45292]="PC_GWSYNNOTIFYTOPCACK",E[E.MES_OFFLINESUMMARY=45073]="MES_OFFLINESUMMARY",E[E.MES_OFFLINESUMMARY_ACK=45074]="MES_OFFLINESUMMARY_ACK",E[E.MES_OFFLINETOTAL=45075]="MES_OFFLINETOTAL",E[E.MES_OFFLINETOTAL_ACK=45076]="MES_OFFLINETOTAL_ACK",E[E.MES_OFFLINEMSG=45077]="MES_OFFLINEMSG",E[E.MES_OFFLINEMSG_ACK=45078]="MES_OFFLINEMSG_ACK",E[E.MES_OFFLINEMSG_DELIVERED=45079]="MES_OFFLINEMSG_DELIVERED",E[E.MES_OFFLINEMSG_DELIVERED_ACK=45080]="MES_OFFLINEMSG_DELIVERED_ACK",E[E.MES_OFFLINEMSG_DELIVERED_NOTIFICATION_ACK=45081]="MES_OFFLINEMSG_DELIVERED_NOTIFICATION_ACK",E[E.MES_OFFLINEMSG_DELIVERED_NOTIFICATION=45082]="MES_OFFLINEMSG_DELIVERED_NOTIFICATION",E))(R||{}),S=/* @__PURE__ */(E=>(E[E.EXCEPT_ERR=0]="EXCEPT_ERR",E[E.NON_ERR=32768]="NON_ERR",E[E.ERR_SYS_REGIST=32769]="ERR_SYS_REGIST",E[E.ERR_SYS_INTERNAL_ERR=32770]="ERR_SYS_INTERNAL_ERR",E[E.ERR_LOGIN_AUTH=33025]="ERR_LOGIN_AUTH",E[E.ERR_LOGIN_FORBIDDEN=33026]="ERR_LOGIN_FORBIDDEN",E[E.ERR_LOGOUT=33027]="ERR_LOGOUT",E[E.ERR_DEVICESYNC_PARAMETER=33028]="ERR_DEVICESYNC_PARAMETER",E[E.ERR_DEVICESYNC_FORBIDDEN=33029]="ERR_DEVICESYNC_FORBIDDEN",E[E.ERR_DEVICESYNC_EXCEPTION=33030]="ERR_DEVICESYNC_EXCEPTION",E[E.ERR_TRANSMISSION_FORBIDDEN=33031]="ERR_TRANSMISSION_FORBIDDEN",E[E.ERR_TRANSMISSION_SESSION=33032]="ERR_TRANSMISSION_SESSION",E[E.ERR_CM_EXCEPTION=33033]="ERR_CM_EXCEPTION",E[E.ERR_CM_AUTH_KICKEDOUT=33040]="ERR_CM_AUTH_KICKEDOUT",E[E.ERR_CM_PHP_AUTH=33041]="ERR_CM_PHP_AUTH",E[E.ERR_CM_AUTH_KICKEDOUT_BY_APP=33042]="ERR_CM_AUTH_KICKEDOUT_BY_APP",E[E.ERR_CM_USER_FREEZE=33043]="ERR_CM_USER_FREEZE",E[E.ERR_CHAT_FORBIDDEN=33281]="ERR_CHAT_FORBIDDEN",E[E.ERR_CHAT_UNHEALTHY=33282]="ERR_CHAT_UNHEALTHY",E[E.ERR_CHAT_PARAMETER=33283]="ERR_CHAT_PARAMETER",E[E.ERR_CHAT_CANCEL_OUTTIME=33284]="ERR_CHAT_CANCEL_OUTTIME",E[E.ERR_CHAT_FRIEND_REFUSE=33297]="ERR_CHAT_FRIEND_REFUSE",E[E.ERR_CHAT_FRIEND_BLOCK=33298]="ERR_CHAT_FRIEND_BLOCK",E[E.ERR_CHAT_FRIEND_DEL=33299]="ERR_CHAT_FRIEND_DEL",E[E.ERR_CHAT_FRIEND_ADDED=33300]="ERR_CHAT_FRIEND_ADDED",E[E.ERR_CHAT_FRIEND_ADDING=33301]="ERR_CHAT_FRIEND_ADDING",E[E.ERR_CHAT_FRIEND_HIDENADDED=33302]="ERR_CHAT_FRIEND_HIDENADDED",E[E.ERR_CHAT_DEENCRY_FAILED=33315]="ERR_CHAT_DEENCRY_FAILED",E[E.INFO_GROUP_PENDING=33536]="INFO_GROUP_PENDING",E[E.ERR_GROUP_PARAMETER=33537]="ERR_GROUP_PARAMETER",E[E.ERR_GROUP_OVERCREATION=33538]="ERR_GROUP_OVERCREATION",E[E.ERR_GROUP_OVERJOIN=33539]="ERR_GROUP_OVERJOIN",E[E.ERR_GROUP_NETWORKEXCEPTION=33540]="ERR_GROUP_NETWORKEXCEPTION",E[E.ERR_GROUP_FORBIDDEN=33541]="ERR_GROUP_FORBIDDEN",E[E.ERR_GROUP_INTEREXCEPTION=33542]="ERR_GROUP_INTEREXCEPTION",E[E.ERR_GROUP_MEMBEREXIST=33543]="ERR_GROUP_MEMBEREXIST",E[E.ERR_GROUP_MEMBERNONEXIST=33544]="ERR_GROUP_MEMBERNONEXIST",E[E.ERR_GROUP_INTERPERMISSION=33545]="ERR_GROUP_INTERPERMISSION",E[E.ERR_GROUP_NONPERMISSION=33552]="ERR_GROUP_NONPERMISSION",E[E.ERR_GROUP_MASTER=33553]="ERR_GROUP_MASTER",E[E.ERR_GROUP_NOTMASTER=33554]="ERR_GROUP_NOTMASTER",E[E.ERR_GROUP_INVITEEXCEPTION=33555]="ERR_GROUP_INVITEEXCEPTION",E[E.ERR_GROUP_INVITESUCCESS=33556]="ERR_GROUP_INVITESUCCESS",E[E.ERR_GROUP_DISMISSED=33557]="ERR_GROUP_DISMISSED",E[E.ERR_GROUP_MEMBEREXIST_HIDE=33558]="ERR_GROUP_MEMBEREXIST_HIDE",E[E.ERR_GROUP_JOIN_REJECT=33568]="ERR_GROUP_JOIN_REJECT",E[E.ERR_GROUP_NOTIFY_REJECT=33569]="ERR_GROUP_NOTIFY_REJECT",E[E.ERR_GROUP_MASTER_QUIT=33570]="ERR_GROUP_MASTER_QUIT",E[E.ERR_CALL_REFUSE=33792]="ERR_CALL_REFUSE",E[E.ERR_CALL_BUSY=33793]="ERR_CALL_BUSY",E[E.ERR_CALL_PEER_OFFLINE=33794]="ERR_CALL_PEER_OFFLINE",E[E.ERR_CALL_CALLER_CANCEL=33795]="ERR_CALL_CALLER_CANCEL",E[E.ERR_CALL_CALLEE_LIVEKIT_TOKEN=33796]="ERR_CALL_CALLEE_LIVEKIT_TOKEN",E[E.ERR_CALL_CALLEE_LIVEKIT_CONN=33797]="ERR_CALL_CALLEE_LIVEKIT_CONN",E[E.ERR_CALL_PEER_START_TIMEOUT=33798]="ERR_CALL_PEER_START_TIMEOUT",E[E.ERR_CALL_PEER_LOST=33799]="ERR_CALL_PEER_LOST",E[E.ERR_CALL_CALLEE_NO_ANSWER=33800]="ERR_CALL_CALLEE_NO_ANSWER",E[E.ERR_RADIO_DISMISS=34049]="ERR_RADIO_DISMISS",E[E.ERR_RADIO_NOSPEAK=34050]="ERR_RADIO_NOSPEAK",E[E.ERR_RADIO_ISDELETE=34051]="ERR_RADIO_ISDELETE",E[E.ERR_RADIO_ADMIN=34052]="ERR_RADIO_ADMIN",E))(S||{});export{R as CmdId,S as ErrCode,_ as file_im_pub};
@@ -0,0 +1 @@
1
+ import{messageDesc as A,fileDesc as g}from"@bufbuild/protobuf/codegenv2";import{file_im_pub as b}from"./im.pub_pb.js";const B=/* @__PURE__ */g("Cg5pbS5yb2JvdC5wcm90bxIKaW0uYXBwLnB0bCJdCghSb2JvdE1zZxIOCgZ1c2VySWQYASABKAMSDwoHcm9ib3RJZBgCIAEoCRIPCgdjb250ZW50GAMgASgJEg8KB21zZ1RpbWUYBCABKAMSDgoGc01zZ0lkGAUgASgJImMKC1JvYm90TXNnQWNrEg4KBnVzZXJJZBgBIAEoAxIPCgdyb2JvdElkGAIgASgJEiQKB2VyckNvZGUYAyABKA4yEy5pbS5hcHAucHRsLkVyckNvZGUSDQoFbXNnSWQYBCABKAkiZgoRUm9ib3RSZXBseVVzZXJNc2cSDgoGdXNlcklkGAEgASgDEg8KB3JvYm90SWQYAiABKAkSDgoGc01zZ0lkGAMgASgJEg8KB2NvbnRlbnQYBCABKAkSDwoHbXNnVGltZRgFIAEoA0IfChNjb20ubW9zYW50LmltLnByb3RvSANaBi4uL2FwcGIGcHJvdG8z",[b]),S=/* @__PURE__ */A(B,0),o=/* @__PURE__ */A(B,1),c=/* @__PURE__ */A(B,2);export{o as RobotMsgAckSchema,S as RobotMsgSchema,c as RobotReplyUserMsgSchema,B as file_im_robot};
@@ -0,0 +1 @@
1
+ import{messageDesc as A,fileDesc as g}from"@bufbuild/protobuf/codegenv2";import{file_im_pub as B}from"./im.pub_pb.js";const E=/* @__PURE__ */g("CgxpbS5zaWcucHJvdG8SCmltLmFwcC5wdGwimwEKDlNJR1Nwb25zb3JDYWxsEhEKCXNJbnZpdGVJZBgBIAEoAxIPCgdzRnJvbUlkGAIgASgDEg4KBnNNc2dJZBgDIAEoCRIPCgdtc2dUaW1lGAQgASgEEg8KB2VuY3J5cHQYBSABKA0SEAoIc0NvbnRlbnQYBiABKAkSEAoIY2FsbFR5cGUYByABKA0SDwoHc2NhbGxJZBgIIAEoCSJYChFTSUdTcG9uc29yQ2FsbEFjaxINCgVzVG9JZBgBIAEoAxIOCgZzTXNnSWQYAiABKAkSJAoHZXJyY29kZRgDIAEoDjITLmltLmFwcC5wdGwuRXJyQ29kZSI7ChhTSUdTcG9uc29yQ2FsbERlbGl2ZXJBY2sSDwoHc1VzZXJJZBgBIAEoAxIOCgZzTXNnSWQYAiABKAkirgEKEVNJR1Nwb25zb3JDYWxsQW5zEg0KBXNUb0lkGAEgASgDEg8KB3NGcm9tSWQYAiABKAMSDgoGc01zZ0lkGAMgASgJEg8KB21zZ1RpbWUYBCABKAQSDwoHZW5jcnlwdBgFIAEoDRIQCghzQ29udGVudBgGIAEoCRIkCgdlcnJjb2RlGAcgASgOMhMuaW0uYXBwLnB0bC5FcnJDb2RlEg8KB3NjYWxsSWQYCCABKAkiWwoUU0lHU3BvbnNvckNhbGxBbnNBY2sSDQoFc1RvSWQYASABKAMSDgoGc01zZ0lkGAIgASgJEiQKB2VycmNvZGUYAyABKA4yEy5pbS5hcHAucHRsLkVyckNvZGUiPgobU0lHU3BvbnNvckNhbGxBbnNEZWxpdmVyQUNLEg8KB3NVc2VySWQYASABKAMSDgoGc01zZ0lkGAIgASgJIn8KGVNJR1AyUENhbGxFeGNoYW5nZU5hdEluZm8SDQoFc1RvSWQYASABKAMSDwoHc0Zyb21JZBgCIAEoAxIOCgZzTXNnSWQYAyABKAkSEAoIc0NvbnRlbnQYBCABKAkSDwoHbXNnVGltZRgFIAEoBBIPCgdzY2FsbElkGAYgASgJImMKHFNJR1AyUENhbGxFeGNoYW5nZU5hdEluZm9BY2sSDQoFc1RvSWQYASABKAMSDgoGc01zZ0lkGAIgASgJEiQKB2VycmNvZGUYAyABKA4yEy5pbS5hcHAucHRsLkVyckNvZGUiRgojU0lHUDJQQ2FsbEV4Y2hhbmdlTmF0SW5mb0RlbGl2ZXJBY2sSDwoHc1VzZXJJZBgBIAEoAxIOCgZzTXNnSWQYAiABKAkijAEKCVNJR0hhbmdVcBINCgVzVG9JZBgBIAEoAxIPCgdzRnJvbUlkGAIgASgDEg4KBnNNc2dJZBgDIAEoCRIPCgdtc2dUaW1lGAQgASgEEg8KB3NjYWxsSWQYBSABKAkSLQoQaGFuZ3VwUmVhc29uQ29kZRgGIAEoDjITLmltLmFwcC5wdGwuRXJyQ29kZSJTCgxTSUdIYW5nVXBBY2sSDQoFc1RvSWQYASABKAMSDgoGc01zZ0lkGAIgASgJEiQKB2VycmNvZGUYAyABKA4yEy5pbS5hcHAucHRsLkVyckNvZGUiNgoTU0lHSGFuZ1VwRGVsaXZlckFjaxIPCgdzVXNlcklkGAEgASgDEg4KBnNNc2dJZBgCIAEoCSKSAQoVU0lHUDJQQ2FsbFN0YXRlTm90aWZ5Eg0KBXNUb0lkGAEgASgDEg8KB3NGcm9tSWQYAiABKAMSDgoGc01zZ0lkGAMgASgJEg8KB21zZ1RpbWUYBCABKAQSEgoKbm90aWZ5VHlwZRgIIAEoDRITCgtub3RpZnlWYWx1ZRgJIAEoDRIPCgdzY2FsbElkGAogASgJIl8KGFNJR1AyUENhbGxTdGF0ZU5vdGlmeUFDSxINCgVzVG9JZBgBIAEoAxIOCgZzTXNnSWQYAiABKAkSJAoHZXJyY29kZRgDIAEoDjITLmltLmFwcC5wdGwuRXJyQ29kZSJCCh9TSUdQMlBDYWxsU3RhdGVOb3RpZnlEZWxpdmVyQWNrEg8KB3NVc2VySWQYASABKAMSDgoGc01zZ0lkGAIgASgJIooBChNTSUdTUG9uc29yR3JvdXBDYWxsEg8KB2dyb3VwSWQYASABKAMSDgoGdXNlcklkGAIgASgDEg0KBW1zZ0lkGAMgASgJEg8KB21zZ1RpbWUYBCABKAQSDgoGY2FsbElkGAUgASgJEhEKCWludml0ZUlkcxgGIAMoAxIPCgdjb250ZW50GAcgASgJImcKD1NJR0dyb3VwQ2FsbEFjaxIOCgZ1c2VySWQYASABKAMSDQoFbXNnSWQYAiABKAkSJAoHZXJyQ29kZRgDIAEoDjITLmltLmFwcC5wdGwuRXJyQ29kZRIPCgdtc2dUaW1lGAQgASgEIjcKFlNJR0dyb3VwQ2FsbERlbGl2ZXJBY2sSDgoGdXNlcklkGAEgASgDEg0KBW1zZ0lkGAIgASgJIpQBCg9TSUdHcm91cENhbGxBbnMSDwoHZ3JvdXBJZBgBIAEoAxIOCgZ1c2VySWQYAiABKAMSDQoFbXNnSWQYAyABKAkSDwoHbXNnVGltZRgEIAEoBBIwCgdhbnNUeXBlGAUgASgOMh8uaW0uYXBwLnB0bC5HUk9VUF9DQUxMX0FOU19UWVBFEg4KBmNhbGxJZBgGIAEoCSKqAQoQU0lHR3JvdXBDYWxsSm9pbhIPCgdncm91cElkGAEgASgDEg4KBnVzZXJJZBgCIAEoAxINCgVtc2dJZBgDIAEoCRIyCghqb2luVHlwZRgEIAEoDjIgLmltLmFwcC5wdGwuR1JPVVBfQ0FMTF9KT0lOX1RZUEUSEQoJaW52aXRlSWRzGAUgAygDEg8KB21zZ1RpbWUYBiABKAQSDgoGY2FsbElkGAcgASgJImUKElNJR0dyb3VwQ2FsbEZpbmlzaBIPCgdncm91cElkGAEgASgDEg4KBnVzZXJJZBgCIAEoAxINCgVtc2dJZBgDIAEoCRIPCgdtc2dUaW1lGAQgASgEEg4KBmNhbGxJZBgFIAEoCSKtAQoSU0lHR3JvdXBDYWxsU3RhdHVzEg8KB2dyb3VwSWQYASABKAMSDgoGdXNlcklkGAIgASgDEg0KBW1zZ0lkGAMgASgJEjYKCnN0YXR1c1R5cGUYBCABKA4yIi5pbS5hcHAucHRsLkdST1VQX0NBTExfU1RBVFVTX1RZUEUSDgoGc3RhdHVzGAUgASgFEg8KB21zZ1RpbWUYBiABKAQSDgoGY2FsbElkGAcgASgJInoKGFNJR0dyb3VwQ2FsbERpc2Nvbm5lY3RlZBIPCgdncm91cElkGAEgASgDEg4KBnVzZXJJZBgCIAEoAxINCgVtc2dJZBgDIAEoCRINCgV1c2VycxgEIAMoAxIPCgdtc2dUaW1lGAUgASgEEg4KBmNhbGxJZBgGIAEoCSJ1ChBTSUdHcm91cENhbGxCdXN5Eg8KB2dyb3VwSWQYASABKAMSDgoGdXNlcklkGAIgASgDEg0KBW1zZ0lkGAMgASgJEhAKCGhpbnRVc2VyGAQgASgDEg8KB21zZ1RpbWUYBSABKAQSDgoGY2FsbElkGAYgASgJKocBChpQMlBfQ0FMTF9TVEFURV9OT1RJRllfVFlQRRILCgdVTktOT1dOEAASCAoETVVURRABEhIKDlNZU1RFTV9DQUxMSU5HEAISBwoDVFdPEAMSCQoFVEhSRUUQBBIUChBQRUVSX0FVRElPX0JFR0lOEAUSFAoQUEVFUl9WSURFT19CRUdJThAGKj8KE0dST1VQX0NBTExfQU5TX1RZUEUSEwoPQ0FMTF9BTlNfUkVGVVNFEAASEwoPQ0FMTF9BTlNfQUdSRUVEEAEqQQoUR1JPVVBfQ0FMTF9KT0lOX1RZUEUSEwoPQ0FMTF9KT0lOX0FQUExZEAASFAoQQ0FMTF9KT0lOX0lOVklURRABKkUKFkdST1VQX0NBTExfU1RBVFVTX1RZUEUSFQoRQ0FMTF9TVEFUVVNfVklERU8QABIUChBDQUxMX1NUQVRVU19NVVRFEAFCHwoTY29tLm1vc2FudC5pbS5wcm90b0gDWgYuLi9hcHBiBnByb3RvMw",[B]),S=/* @__PURE__ */A(E,0),G=/* @__PURE__ */A(E,1),I=/* @__PURE__ */A(E,2),R=/* @__PURE__ */A(E,3),U=/* @__PURE__ */A(E,4),l=/* @__PURE__ */A(E,5),o=/* @__PURE__ */A(E,6),c=/* @__PURE__ */A(E,8),Q=/* @__PURE__ */A(E,9),Z=/* @__PURE__ */A(E,10),N=/* @__PURE__ */A(E,11),V=/* @__PURE__ */A(E,12),K=/* @__PURE__ */A(E,13),C=/* @__PURE__ */A(E,14),J=/* @__PURE__ */A(E,15),b=/* @__PURE__ */A(E,16),F=/* @__PURE__ */A(E,17),d=/* @__PURE__ */A(E,18),D=/* @__PURE__ */A(E,19),Y=/* @__PURE__ */A(E,20),k=/* @__PURE__ */A(E,21),W=/* @__PURE__ */A(E,22),T=/* @__PURE__ */A(E,23);var X=/* @__PURE__ */(A=>(A[A.CALL_ANS_REFUSE=0]="CALL_ANS_REFUSE",A[A.CALL_ANS_AGREED=1]="CALL_ANS_AGREED",A))(X||{}),m=/* @__PURE__ */(A=>(A[A.CALL_JOIN_APPLY=0]="CALL_JOIN_APPLY",A[A.CALL_JOIN_INVITE=1]="CALL_JOIN_INVITE",A))(m||{});export{X as GROUP_CALL_ANS_TYPE,m as GROUP_CALL_JOIN_TYPE,b as SIGGroupCallAckSchema,d as SIGGroupCallAnsSchema,T as SIGGroupCallBusySchema,F as SIGGroupCallDeliverAckSchema,W as SIGGroupCallDisconnectedSchema,Y as SIGGroupCallFinishSchema,D as SIGGroupCallJoinSchema,k as SIGGroupCallStatusSchema,Z as SIGHangUpAckSchema,N as SIGHangUpDeliverAckSchema,Q as SIGHangUpSchema,c as SIGP2PCallExchangeNatInfoDeliverAckSchema,o as SIGP2PCallExchangeNatInfoSchema,K as SIGP2PCallStateNotifyACKSchema,C as SIGP2PCallStateNotifyDeliverAckSchema,V as SIGP2PCallStateNotifySchema,J as SIGSPonsorGroupCallSchema,G as SIGSponsorCallAckSchema,U as SIGSponsorCallAnsAckSchema,l as SIGSponsorCallAnsDeliverACKSchema,R as SIGSponsorCallAnsSchema,I as SIGSponsorCallDeliverAckSchema,S as SIGSponsorCallSchema,E as file_im_sig};
@@ -0,0 +1 @@
1
+ import{messageDesc as A,fileDesc as g}from"@bufbuild/protobuf/codegenv2";const N=/* @__PURE__ */g("Cgltc2cucHJvdG8SE2NvbS5tb3NhbnQuaW0ucHJvdG8iPwoORGVsaXZlck1zZ0luZm8SDQoFbXNnSWQYASABKAkSDwoHbXNnVGltZRgCIAEoBBINCgVjbWRJZBgDIAEoDSKVAQoRT2ZmbGluZUNoYXRNc2dSZXESDgoGdXNlcklkGAEgASgDEg0KBW1zZ0lkGAIgASgJEj4KEWRlbGl2ZXJlZE1zZ0luZm9zGAMgAygLMiMuY29tLm1vc2FudC5pbS5wcm90by5EZWxpdmVyTXNnSW5mbxINCgVsaW1pdBgEIAEoBRISCgpjbGllbnRUeXBlGAUgASgNImkKEk9mZmxpbmVDaGF0TXNnUmVzcBIOCgZ1c2VySWQYASABKAMSDQoFbXNnSWQYAiABKAkSNAoHbXNnTGlzdBgDIAMoCzIjLmNvbS5tb3NhbnQuaW0ucHJvdG8uT2ZmbGluZUNoYXRNc2ciuQEKDk9mZmxpbmVDaGF0TXNnEg0KBWNtZElkGAEgASgNEhAKCHNNc2dEYXRhGAIgASgMEg4KBnNNc2dJZBgDIAEoCRIPCgdzRnJvbUlkGAQgASgDEg0KBXNUb0lkGAUgASgDEg8KB21zZ1RpbWUYBiABKAQSEAoIaXNDYW5jZWwYByABKA0SEwoLcGFyZW50TXNnSWQYCCABKAkSDgoGaXNSZWFkGAkgASgNEg4KBmlzRWRpdBgKIAEoDSJHChFHZXRDaGF0TXNnQnlJZFJlcRIOCgZ1c2VySWQYASABKAMSDgoGbXNnSWRzGAIgAygJEhIKCmNsaWVudFR5cGUYAyABKA0ibwoSR2V0Q2hhdE1zZ0J5SWRSZXNwEgwKBGNvZGUYASABKAUSNAoHbXNnTGlzdBgCIAMoCzIjLmNvbS5tb3NhbnQuaW0ucHJvdG8uT2ZmbGluZUNoYXRNc2cSFQoNbWlzc2luZ01zZ0lkcxgDIAMoCWIGcHJvdG8z"),S=/* @__PURE__ */A(N,1),b=/* @__PURE__ */A(N,2),G=/* @__PURE__ */A(N,4),Z=/* @__PURE__ */A(N,5);export{G as GetChatMsgByIdReqSchema,Z as GetChatMsgByIdRespSchema,S as OfflineChatMsgReqSchema,b as OfflineChatMsgRespSchema,N as file_msg};
@@ -0,0 +1 @@
1
+ import{create as _,fromBinary as E,toBinary as A}from"@bufbuild/protobuf";import{PullChnnMessageReqSchema as C,PullChnnMessageRspSchema as I,PullChnnMsgByIdReqSchema as S,PullChnnMsgByIdRspSchema as R,PullChnnSessionReqSchema as L,PullChnnSessionRspSchema as D,UpdateReadIndexReqSchema as O,UpdateReadIndexRspSchema as G}from"./gen/channel_pb.js";import{GroupReadAllMsgReqSchema as N,GroupReadAllMsgRespSchema as T,GetGroupMsgByIdReqSchema as P,GetGroupMsgByIdRespSchema as M,OfflineGroupSessionReqSchema as H,OfflineGroupSessionRespSchema as K,GetGroupHistoryMsgReqSchema as V,GetGroupHistoryMsgRespSchema as U,OfflineGroupMsgReqSchema as o,OfflineGroupMsgRespSchema as m}from"./gen/group_pb.js";import{BContentSchema as r,BMessageSchema as e}from"./gen/im.app.msg_pb.js";import{RadioChatAckSchema as Y,RadioChatSchema as n,RadioJoinSchema as F,RadioJoinAckSchema as p,RadioChatDeliveredAckSchema as t,RadioCancelChatSchema as i,MESRadioEditMsgC2CSchema as s,MESRadioSyncReadMsgC2CSchema as g}from"./gen/im.channel_pb.js";import{GroupChatAckSchema as c,MESGrpChatSchema as f,MESGroupSyncReadMsgC2CSchema as b,MESGrpNotifySchema as a,MESGrpNotifyDeliverAckSchema as u,MESJoinGrpSchema as j,MESJoinGrpDeliverAckSchema as B,MESExchangeKeyDeliverSchema as d,MESExchangeKeyDeliverAckSchema as l,MESExchangeKeyDeliverNotifyAckSchema as X,GroupChatCancelAckSchema as h,MESGrpChatDeliveredAckSchema as J,MesGrpMsgEditSchema as W,GroupChatCancelSchema as w}from"./gen/im.group_pb.js";import{CMPushTokenSyncSchema as x,CMLoginSchema as k,CMKickoutNotificationSchema as q,CCMPushTokenSyncAckSchema as v,CMLoginAckSchema as y}from"./gen/im.login_pb.js";import{MESSyncReadMsgC2CACKSchema as z,MESChatDeliveredAckSchema as Q,MESRobotDeleteNotifySchema as Z,MESUserFavoriteListChangedNotifySchema as $,MESFriendActionNotifySchema as __,MESFriendActionNotifyAckSchema as E_,MsgWalletNotifySchema as A_,TransferReturnNotifySchema as C_,MESChatCancelAckSchema as I_,MesMsgEditAckSchema as S_,MESChatSchema as R_,MESReactionContentSchema as L_,MsgWalletNotifyDeliverAckSchema as D_,MESChatReadSchema as O_,MESChatCancelSchema as G_,MESSyncReadMsgC2CSchema as N_,MesMsgEditSchema as T_,MESChatAckSchema as P_,MESChatReadAckSchema as M_,MESChatDeliveredNotificationAckSchema as H_,MESChatReadDelivereAckSchema as K_,MESAddFriendSchema as V_,MESAddFriendDeliverAckSchema as U_,MESAddFriendAnsSchema as o_,MESAddFriendAnsDeliverACKSchema as m_}from"./gen/im.msg_pb.js";import{RobotMsgAckSchema as r_,RobotReplyUserMsgSchema as e_,RobotMsgSchema as Y_}from"./gen/im.robot_pb.js";import{SIGSponsorCallSchema as n_,SIGSponsorCallAckSchema as F_,SIGSponsorCallAnsSchema as p_,SIGHangUpSchema as t_,SIGP2PCallStateNotifySchema as i_,SIGP2PCallExchangeNatInfoSchema as s_,SIGSPonsorGroupCallSchema as g_,SIGGroupCallAckSchema as c_,SIGGroupCallAnsSchema as f_,SIGGroupCallJoinSchema as b_,SIGGroupCallFinishSchema as a_,SIGGroupCallBusySchema as u_,SIGGroupCallDisconnectedSchema as j_,SIGGroupCallStatusSchema as B_,SIGSponsorCallDeliverAckSchema as d_,SIGSponsorCallAnsDeliverACKSchema as l_,SIGHangUpDeliverAckSchema as X_,SIGP2PCallStateNotifyDeliverAckSchema as h_,SIGP2PCallExchangeNatInfoDeliverAckSchema as J_,SIGGroupCallDeliverAckSchema as W_,SIGSponsorCallAnsAckSchema as w_,SIGHangUpAckSchema as x_,SIGP2PCallStateNotifyACKSchema as k_}from"./gen/im.sig_pb.js";import{GetChatMsgByIdReqSchema as q_,GetChatMsgByIdRespSchema as v_,OfflineChatMsgReqSchema as y_,OfflineChatMsgRespSchema as z_}from"./gen/msg_pb.js";import{CmdId as Q_}from"./gen/im.pub_pb.js";function Z_(C,I){return{command:C,schema:I,encode:_=>A(I,_),decode:_=>E(I,_),create:E=>_(I,E)}}function $_(C){return{schema:C,encode:_=>A(C,_),decode:_=>E(C,_),create:E=>_(C,E)}}function _E(_=[]){const E=/* @__PURE__ */new Map,A=_=>{E.set(_.command,_)};for(const E of _)A(E);return{register:A,get:_=>E.get(_),has:_=>E.has(_)}}const EE=Z_(Q_.CM_LOGIN,k),AE=Z_(Q_.CM_PUSHTOKENSYNC,x),CE=Z_(Q_.CM_PUSHTOKENSYNC_ACK,v),IE=Z_(Q_.CM_LOGIN_ACK,y),SE=Z_(Q_.CM_KICKOUT_NOTIFICATION,q),RE=Z_(Q_.MES_CHAT,R_),LE=Z_(Q_.MES_CHAT_ACK,P_),DE=Z_(Q_.MES_CHAT_DELIVER,R_),OE=Z_(Q_.MES_CHAT_DELIVER_ACK,Q),GE=Z_(Q_.MES_CHAT_MES_ROBOT,Y_),NE=Z_(Q_.MES_CHAT_MES_ROBOT_ACK,r_),TE=Z_(Q_.MES_CHAT_MES_ROBOT_REPLY,e_),PE=Z_(Q_.BOT_MSG_ROBOT_DELETE_SEND,Z),ME=Z_(Q_.MES_CHAT_REACTION_MSG_C2C,R_),HE=Z_(Q_.MES_CHAT_REACTION_OPPOSITE_END,R_),KE=Z_(Q_.MES_CHAT_REACTION_MSG_ACK,P_),VE=Z_(Q_.MES_CHAT_REACTION_DELIVER,R_),UE=Z_(Q_.MES_FRIEND_NOTIFY,__),oE=Z_(Q_.MES_FRIEND_NOTIFY_ACK,E_),mE=Z_(Q_.MES_USER_FAVORITE_LIST_CHANGED_NOTIFY,$),rE=Z_(Q_.MS_WALLETNOTIFY_DELIVER,A_),eE=Z_(Q_.MS_WALLETNOTIFY_DELIVER_ACK,D_),YE=$_(C_),nE=Z_(Q_.MES_ADDFRIEND_DELIVER,V_),FE=Z_(Q_.MES_ADDFRIEND_DELIVER_ACK,U_),pE=Z_(Q_.MES_ADDFRIEND_ANS_DELIVER,o_),tE=Z_(Q_.MES_ADDFRIEND_ANS_DELIVER_ACK,m_),iE=Z_(Q_.MES_CHATCANCEL,G_),sE=Z_(Q_.MES_CHATCANCEL_ACK,I_),gE=Z_(Q_.MES_CHATCANCEL_DELIVER,G_),cE=Z_(Q_.MES_CHATCANCEL_DELIVER_ACK,I_),fE=Z_(Q_.GROUP_CHATCANCEL,w),bE=Z_(Q_.GROUP_CHATCANCEL_ACK,h),aE=Z_(Q_.MES_CHAT_EDIT_MSG_C2C,T_),uE=Z_(Q_.MES_CHAT_MSG_EDIT_ACK,S_),jE=Z_(Q_.MES_GRPCHAT_EDIT_MSG_C2C,W),BE=Z_(Q_.MES_GRPCHAT_EDIT_MSG_C2C_ACK,c),dE=Z_(Q_.MES_CHAT_DELIVERED_NOTIFICATION,Q),lE=Z_(Q_.MES_CHAT_DELIVERED_NOTIFICATION_ACK,H_),XE=Z_(Q_.MES_CHAT_READ,O_),hE=Z_(Q_.MES_CHAT_READ_ACK,M_),JE=Z_(Q_.MES_CHAT_READ_DELIVER,O_),WE=Z_(Q_.MES_CHAT_READ_DELIVER_ACK,K_),wE=Z_(Q_.MES_CHAT_SYNC_READ_MSG_C2C,N_),xE=Z_(Q_.MES_CHAT_SYNC_READ_MSG_C2C_ACK,z),kE=Z_(Q_.MES_CHAT_SYNC_READ_MSG_DELIVER_C2C,N_),qE=Z_(Q_.GROUP_CHAT,f),vE=Z_(Q_.GROUP_CHAT_ACK,c),yE=Z_(Q_.MES_GRPCHAT_DELIVER,f),zE=Z_(Q_.MES_GRPCHAT_DELIVER_ACK,J),QE=Z_(Q_.MES_GRPCHAT_REACTION_MSG_C2C,f),ZE=Z_(Q_.MES_GRPCHAT_REACTION_MSG_C2C_ACK,c),$E=Z_(Q_.MES_GRPCHAT_REACTION_DELIVER,f),_A=Z_(Q_.MES_GRPCHAT_SYNC_READ_MSG_C2C,b),EA=Z_(Q_.MES_GRPCHAT_SYNC_READ_MSG_C2C_ACK,z),AA=Z_(Q_.MES_GRPCHAT_SYNC_READ_MSG_DELIVER_C2C,b),CA=Z_(Q_.MES_GRPNOTIFY_DELIVER,a),IA=Z_(Q_.MES_GRPNOTIFY_DELIVER_ACK,u),SA=Z_(Q_.MES_JOINGRP_DELIVER,j),RA=Z_(Q_.MES_JOINGRP_DELIVER_ACK,B),LA=Z_(Q_.MES_EXCHANGE_KEY_DELIVER,d),DA=Z_(Q_.MES_EXCHANGE_KEY_DELIVER_ACK,l),OA=Z_(Q_.MES_EXCHANGE_KEY_DELIVERD_NOTIFY,l),GA=Z_(Q_.MES_EXCHANGE_KEY_DELIVERD_NOTIFY_ACK,X),NA=Z_(Q_.RADIO_CHAT,n),TA=Z_(Q_.RADIO_CHAT_ACK,Y),PA=Z_(Q_.RADIO_CHAT_DELIVER_ACK,t),MA=Z_(Q_.RADIO_CHAT_DELIVER,n),HA=Z_(Q_.MES_RADIO_RED_PACKET_GRABBED,n),KA=Z_(Q_.MES_RADIO_REACTION_MSG_C2C,n),VA=Z_(Q_.MES_RADIO_REACTION_MSG_C2C_ACK,Y),UA=Z_(Q_.MES_RADIO_REACTION_DELIVER,n),oA=Z_(Q_.RADIO_ADMIN_CANCEL_CHAT,i),mA=Z_(Q_.RADIO_ADMIN_CANCEL_CHAT_ACK,Y),rA=Z_(Q_.RADIO_ADMIN_CANCEL_CHAT_DELIVER_ACK,t),eA=Z_(Q_.RADIO_ADMIN_CANCEL_CHAT_DELIVER,i),YA=Z_(Q_.RADIO_CANCEL_CHAT,i),nA=Z_(Q_.RADIO_CANCEL_CHAT_ACK,Y),FA=Z_(Q_.RADIO_CANCEL_CHAT_DELIVER_ACK,t),pA=Z_(Q_.RADIO_CANCEL_CHAT_DELIVER,i),tA=Z_(Q_.RADIO_APPLY_DELIVER_ACK,p),iA=Z_(Q_.RADIO_APPLY_DELIVER,F),sA=Z_(Q_.RADIO_INVITE_DELIVER_ACK,p),gA=Z_(Q_.RADIO_INVITE_DELIVER,F),cA=Z_(Q_.RADIO_NOTIFY_DELIVER_ACK,t),fA=Z_(Q_.RADIO_NOTIFY_DELIVER,n),bA=Z_(Q_.MES_RADIO_SYNC_READ_MSG_C2C,g),aA=Z_(Q_.MES_RADIO_SYNC_READ_MSG_C2C_ACK,z),uA=Z_(Q_.MES_RADIO_SYNC_READ_MSG_DELIVER_C2C,g),jA=Z_(Q_.MES_RADIO_EDIT_MSG_C2C,s),BA=Z_(Q_.MES_RADIO_EDIT_MSG_C2C_ACK,Y),dA=Z_(Q_.SIG_SPONSORP2PCALL,n_),lA=Z_(Q_.SIG_SPONSORP2PCALL_ACK,F_),XA=Z_(Q_.SIG_SPONSORP2PCALL_DELIVER_ACK,d_),hA=Z_(Q_.SIG_SPONSORP2PCALL_DELIVER,n_),JA=Z_(Q_.SIG_SPONSORP2PCALL_ANS,p_),WA=Z_(Q_.SIG_SPONSORP2PCALL_ANS_ACK,w_),wA=Z_(Q_.SIG_SPONSORP2PCALL_ANS_DELIVER_ACK,l_),xA=Z_(Q_.SIG_SPONSORP2PCALL_ANS_DELIVER,p_);Z_(Q_.SIG_P2PCALL_EXCHANGE_NATINFO,s_);const kA=Z_(Q_.SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER_ACK,J_),qA=Z_(Q_.SIG_P2PCALL_EXCHANGE_NATINFO_DELIVER,s_),vA=Z_(Q_.SIG_P2PCALLHANGUP,t_),yA=Z_(Q_.SIG_P2PCALLHANGUP_ACK,x_),zA=Z_(Q_.SIG_P2PCALLHANGUPDElIVER_ACK,X_),QA=Z_(Q_.SIG_P2PCALLHANGUPDElIVER,t_),ZA=Z_(Q_.SIG_P2PCALLSTATENOTIFY,i_),$A=Z_(Q_.SIG_P2PCALLSTATENOTIFY_ACK,k_),_C=Z_(Q_.SIG_P2PCALLSTATENOTIFYDElIVER_ACK,h_),EC=Z_(Q_.SIG_P2PCALLSTATENOTIFYDElIVER,i_),AC=Z_(Q_.SIG_SPONSORGROUPCALL,g_),CC=Z_(Q_.SIG_SPONSORGROUPCALL_ACK,c_),IC=Z_(Q_.SIG_SPONSORGROUPCALL_DELIVER_ACK,W_),SC=Z_(Q_.SIG_SPONSORGROUPCALL_DELIVER,g_),RC=Z_(Q_.SIG_GROUPCALL_ANS,f_),LC=Z_(Q_.SIG_GROUPCALL_ANS_ACK,c_),DC=Z_(Q_.SIG_GROUPCALL_ANS_DELIVER_ACK,W_),OC=Z_(Q_.SIG_GROUPCALL_ANS_DELIVER,f_),GC=Z_(Q_.SIG_GROUPCALL_JOIN,b_),NC=Z_(Q_.SIG_GROUPCALL_JOIN_ACK,c_),TC=Z_(Q_.SIG_GROUPCALL_JOIN_DELIVER_ACK,W_),PC=Z_(Q_.SIG_GROUPCALL_JOIN_DELIVER,b_),MC=Z_(Q_.SIG_GROUPCALL_HANGUP,a_),HC=Z_(Q_.SIG_GROUPCALL_HANGUP_ACK,c_),KC=Z_(Q_.SIG_GROUPCALL_HANGUP_DELIVER_ACK,W_),VC=Z_(Q_.SIG_GROUPCALL_HANGUP_DELIVER,a_),UC=Z_(Q_.SIG_GROUPCALL_FINISH,a_),oC=Z_(Q_.SIG_GROUPCALL_FINISH_ACK,c_),mC=Z_(Q_.SIG_GROUPCALL_FINISH_DELIVER_ACK,W_),rC=Z_(Q_.SIG_GROUPCALL_FINISH_DELIVER,a_),eC=Z_(Q_.SIG_GROUPCALL_STATUS,B_),YC=Z_(Q_.SIG_GROUPCALL_STATUS_ACK,c_),nC=Z_(Q_.SIG_GROUPCALL_STATUS_DELIVER_ACK,W_),FC=Z_(Q_.SIG_GROUPCALL_STATUS_DELIVER,B_),pC=Z_(Q_.SIG_GROUPCALL_DISCONNECTED,j_),tC=Z_(Q_.SIG_GROUPCALL_DISCONNECTED_ACK,c_),iC=Z_(Q_.SIG_GROUPCALL_DISCONNECTED_DELIVER_ACK,W_),sC=Z_(Q_.SIG_GROUPCALL_DISCONNECTED_DELIVER,j_),gC=Z_(Q_.SIG_GROUPCALL_BUSY,u_),cC=Z_(Q_.SIG_GROUPCALL_BUSY_ACK,c_),fC=Z_(Q_.SIG_GROUPCALL_BUSY_DELIVER_ACK,W_),bC=Z_(Q_.SIG_GROUPCALL_BUSY_DELIVER,u_),aC=$_(e),uC=$_(r),jC=$_(L_),BC=$_(y_),dC=$_(z_),lC=$_(q_),XC=$_(v_),hC=$_(H),JC=$_(K),WC=$_(o),wC=$_(m),xC=$_(V),kC=$_(U),qC=$_(P),vC=$_(M),yC=$_(N),zC=$_(T),QC=$_(L),ZC=$_(D),$C=$_(C),_I=$_(I),EI=$_(O),AI=$_(G),CI=$_(S),II=$_(R);_E([EE,AE,CE,IE,RE,LE,GE,NE,TE,PE,DE,OE,ME,HE,KE,VE,UE,oE,mE,rE,eE,nE,FE,pE,tE,iE,sE,gE,cE,uE,dE,lE,XE,hE,JE,WE,wE,xE,kE,qE,vE,fE,bE,BE,yE,zE,QE,ZE,$E,_A,EA,AA,CA,IA,SA,RA,LA,DA,OA,GA,NA,TA,PA,MA,HA,KA,VA,UA,oA,mA,rA,eA,YA,nA,FA,pA,tA,iA,sA,gA,cA,fA,bA,aA,uA,BA,dA,lA,XA,hA,JA,WA,wA,xA,kA,qA,vA,yA,zA,QA,ZA,$A,_C,EC,AC,CC,IC,SC,RC,LC,DC,OC,GC,NC,TC,PC,MC,HC,KC,VC,UC,oC,mC,rC,eC,YC,nC,FC,pC,tC,iC,sC,gC,cC,fC,bC]);export{uC as bContentCodec,aC as bMessageCodec,SE as cmKickoutNotificationCodec,IE as cmLoginAckCodec,EE as cmLoginCodec,CE as cmPushTokenSyncAckCodec,AE as cmPushTokenSyncCodec,tE as contactApplicationAnswerDeliverAckCodec,pE as contactApplicationAnswerDeliverCodec,FE as contactApplicationDeliverAckCodec,nE as contactApplicationDeliverCodec,_E as createImMessageRegistry,Z_ as defineMessageCodec,$_ as defineNestedCodec,oE as friendActionNotifyAckCodec,UE as friendActionNotifyCodec,lC as getChatMsgByIdReqCodec,XC as getChatMsgByIdRespCodec,xC as getGroupHistoryMsgReqCodec,kC as getGroupHistoryMsgRespCodec,qC as getGroupMsgByIdReqCodec,vC as getGroupMsgByIdRespCodec,vE as groupChatAckCodec,bE as groupChatCancelAckCodec,fE as groupChatCancelCodec,yC as groupReadAllMsgReqCodec,zC as groupReadAllMsgRespCodec,LE as mesChatAckCodec,sE as mesChatCancelAckCodec,iE as mesChatCancelCodec,cE as mesChatCancelDeliverAckCodec,gE as mesChatCancelDeliverCodec,RE as mesChatCodec,OE as mesChatDeliverAckCodec,DE as mesChatDeliverCodec,lE as mesChatDeliveredNotificationAckCodec,dE as mesChatDeliveredNotificationCodec,KE as mesChatReactionAckCodec,ME as mesChatReactionCodec,VE as mesChatReactionDeliverCodec,HE as mesChatReactionOppositeEndCodec,hE as mesChatReadAckCodec,XE as mesChatReadCodec,WE as mesChatReadDeliverAckCodec,JE as mesChatReadDeliverCodec,xE as mesChatSyncReadMsgC2cAckCodec,wE as mesChatSyncReadMsgC2cCodec,kE as mesChatSyncReadMsgDeliverC2cCodec,DA as mesExchangeKeyDeliverAckCodec,LA as mesExchangeKeyDeliverCodec,GA as mesExchangeKeyDeliverNotifyAckCodec,OA as mesExchangeKeyDeliverNotifyCodec,EA as mesGroupSyncReadMsgC2cAckCodec,_A as mesGroupSyncReadMsgC2cCodec,AA as mesGroupSyncReadMsgDeliverC2cCodec,qE as mesGrpChatCodec,zE as mesGrpChatDeliverAckCodec,yE as mesGrpChatDeliverCodec,ZE as mesGrpChatReactionAckCodec,QE as mesGrpChatReactionCodec,$E as mesGrpChatReactionDeliverCodec,BE as mesGrpMsgEditAckCodec,jE as mesGrpMsgEditCodec,IA as mesGrpNotifyDeliverAckCodec,CA as mesGrpNotifyDeliverCodec,RA as mesJoinGrpDeliverAckCodec,SA as mesJoinGrpDeliverCodec,uE as mesMsgEditAckCodec,aE as mesMsgEditCodec,BA as mesRadioEditMsgAckCodec,jA as mesRadioEditMsgCodec,aA as mesRadioSyncReadAckCodec,uA as mesRadioSyncReadDeliverCodec,bA as mesRadioSyncReadMsgCodec,jC as mesReactionContentCodec,PE as mesRobotDeleteNotifyCodec,BC as offlineChatMsgReqCodec,dC as offlineChatMsgRespCodec,WC as offlineGroupMsgReqCodec,wC as offlineGroupMsgRespCodec,hC as offlineGroupSessionReqCodec,JC as offlineGroupSessionRespCodec,CI as pullChannelMessagesByIdReqCodec,II as pullChannelMessagesByIdRespCodec,$C as pullChannelMessagesReqCodec,_I as pullChannelMessagesRespCodec,QC as pullChannelSessionsReqCodec,ZC as pullChannelSessionsRespCodec,mA as radioAdminCancelChatAckCodec,oA as radioAdminCancelChatCodec,rA as radioAdminCancelChatDeliverAckCodec,eA as radioAdminCancelChatDeliverCodec,tA as radioApplyDeliverAckCodec,iA as radioApplyDeliverCodec,nA as radioCancelChatAckCodec,YA as radioCancelChatCodec,FA as radioCancelChatDeliverAckCodec,pA as radioCancelChatDeliverCodec,TA as radioChatAckCodec,NA as radioChatCodec,PA as radioChatDeliverAckCodec,MA as radioChatDeliverCodec,VA as radioChatReactionAckCodec,KA as radioChatReactionCodec,UA as radioChatReactionDeliverCodec,sA as radioInviteDeliverAckCodec,gA as radioInviteDeliverCodec,cA as radioNotifyDeliverAckCodec,fA as radioNotifyDeliverCodec,HA as radioRedPacketGrabbedCodec,NE as robotMsgAckCodec,GE as robotMsgCodec,TE as robotReplyUserMsgCodec,LC as sigGroupCallAnsAckCodec,RC as sigGroupCallAnsCodec,DC as sigGroupCallAnsDeliverAckCodec,OC as sigGroupCallAnsDeliverCodec,cC as sigGroupCallBusyAckCodec,gC as sigGroupCallBusyCodec,fC as sigGroupCallBusyDeliverAckCodec,bC as sigGroupCallBusyDeliverCodec,tC as sigGroupCallDisconnectedAckCodec,pC as sigGroupCallDisconnectedCodec,iC as sigGroupCallDisconnectedDeliverAckCodec,sC as sigGroupCallDisconnectedDeliverCodec,oC as sigGroupCallFinishAckCodec,UC as sigGroupCallFinishCodec,mC as sigGroupCallFinishDeliverAckCodec,rC as sigGroupCallFinishDeliverCodec,HC as sigGroupCallHangupAckCodec,MC as sigGroupCallHangupCodec,KC as sigGroupCallHangupDeliverAckCodec,VC as sigGroupCallHangupDeliverCodec,NC as sigGroupCallJoinAckCodec,GC as sigGroupCallJoinCodec,TC as sigGroupCallJoinDeliverAckCodec,PC as sigGroupCallJoinDeliverCodec,YC as sigGroupCallStatusAckCodec,eC as sigGroupCallStatusCodec,nC as sigGroupCallStatusDeliverAckCodec,FC as sigGroupCallStatusDeliverCodec,yA as sigHangUpAckCodec,vA as sigHangUpCodec,zA as sigHangUpDeliverAckCodec,QA as sigHangUpDeliverCodec,kA as sigP2pCallExchangeNatInfoDeliverAckCodec,qA as sigP2pCallExchangeNatInfoDeliverCodec,$A as sigP2pCallStateNotifyAckCodec,ZA as sigP2pCallStateNotifyCodec,_C as sigP2pCallStateNotifyDeliverAckCodec,EC as sigP2pCallStateNotifyDeliverCodec,lA as sigSponsorCallAckCodec,WA as sigSponsorCallAnsAckCodec,JA as sigSponsorCallAnsCodec,wA as sigSponsorCallAnsDeliverAckCodec,xA as sigSponsorCallAnsDeliverCodec,dA as sigSponsorCallCodec,XA as sigSponsorCallDeliverAckCodec,hA as sigSponsorCallDeliverCodec,CC as sigSponsorGroupCallAckCodec,AC as sigSponsorGroupCallCodec,IC as sigSponsorGroupCallDeliverAckCodec,SC as sigSponsorGroupCallDeliverCodec,YE as transferReturnNotifyCodec,EI as updateChannelReadIndexReqCodec,AI as updateChannelReadIndexRespCodec,mE as userFavoriteListChangedNotifyCodec,eE as walletNotifyDeliverAckCodec,rE as walletNotifyDeliverCodec};
@@ -0,0 +1 @@
1
+ import{createImCacheNamespaceFactory as r}from"../../im-core/src/cache-namespace.js";async function o(o){const c=r(o.fromPrefix),t=r(o.toPrefix);c.forAccount(o.accountId),t.forAccount(o.accountId);const a={accountId:o.accountId,fromPrefix:c.hostPrefix,toPrefix:t.hostPrefix,fromNamespaceFactory:c,toNamespaceFactory:t};if(a.fromPrefix===a.toPrefix)throw new Error("cache prefix 迁移的源前缀与目标前缀不能相同");try{await o.migrator.migrate(a)}catch(r){try{await o.migrator.rollback(a,r)}catch(o){throw new AggregateError([r,o],"cache prefix 迁移失败,且 rollback 未完成")}throw r}}export{o as migrateImCachePrefix};
@@ -0,0 +1 @@
1
+ import{createConversationCapabilitiesApi as e}from"./product/capabilities.js";import{toProductConversationListItem as n,createProductConversationsApi as t}from"./product/conversations.js";import{createProductEventsApi as r}from"./product/events.js";import{createLocalDataApi as o,createLocalDataError as a}from"./product/local-data.js";import{createImSdkError as s}from"./product/message.js";import{toProductProfileError as i,toProductGroupProfile as c,toProductChannelProfile as l,toProductContactProfile as p,toProductGroupPinnedMessage as u,toProductChannelPinnedMessage as d}from"./product/profiles.js";import{registerAdvancedMessageDiagnosticOperations as g,getAdvancedMessageDiagnosticOperations as v}from"./runtime/advanced-message-diagnostics.js";import{createSessionRuntime as h}from"./runtime/session-runtime.js";import{createImCacheNamespaceFactory as m}from"../../im-core/src/cache-namespace.js";import{createLazyBrowserApiProtocolClient as P}from"../../im-browser/src/http/lazy-api-protocol-client.js";import{createImEventEmitter as b}from"../../im-core/src/event-emitter.js";function y(e){const n=function(e){const n=f(e);return{...n,...void 0===e.coreApi?{}:{coreClient:A(e.authProvider,e.coreApi)}}}(e);return M(F(n),void 0!==e.coreApi)}function I(e){return F(function(e){const{adapters:n,channelJoinApplications:t,channelMembers:r,channelMentionMembers:o,channelProfile:a,contactApplications:s,coreApi:i,coreClient:c,directory:l,expressionProvider:p,sessionFavoriteProvider:u,http:d,network:g,profile:v,groupApplications:h,transport:m}=e,P=f(e);return{...P,adapters:n,channelJoinApplications:t,channelMembers:r,channelMentionMembers:o,channelProfile:a,contactApplications:s,directory:l,expressionProvider:p,sessionFavoriteProvider:u,...void 0!==c?{coreClient:c}:void 0===i?{}:{coreClient:A(e.authProvider,i)},http:d,network:g,profile:v,groupApplications:h,transport:m}}(e))}function f(e){const{authProvider:n,cache:t,clientType:r,connection:o,debug:a,endpointProvider:s,expressions:i,media:c,onRequestError:l,uploadRecovery:p}=e;return{authProvider:n,onRequestError:l,cache:t,clientType:r,connection:o,debug:a,endpointProvider:s,expressions:i,media:c,uploadRecovery:p}}function A(e,n){const t=n.baseUrl.trim();if(""===t)throw new Error("coreApi.baseUrl 不能为空");return P({config:{...void 0===n.appVersion?{}:{appVersion:n.appVersion},...void 0===n.envType?{}:{envType:n.envType},...void 0===n.brandId?{}:{brandId:n.brandId},...void 0===n.merchantId?{}:{merchantId:n.merchantId},...void 0===n.channelId?{}:{channelId:n.channelId},targets:{core:{baseUrl:t,prefix:n.prefix??"/api/h5"}}},getToken:async()=>(await e.getLoginContext())?.token,...void 0===n.getLocale?{}:{getLocale:n.getLocale}})}function M(r,o){const a=t({getCompatibilityApi:()=>r.conversations,subscribeEvents:e=>r.connection.subscribe(e),getSessionState:()=>r.session.getSnapshot().sessionState}),h={clearCache:()=>r.media.clearCache(),getSnapshot:()=>r.media.getSnapshot(),subscribe:e=>r.media.subscribe(e),cancel:(e,n)=>void 0===n?r.media.cancel(e):r.media.cancel(e,n),retry:(e,n)=>r.media.retry(e,n),pause:e=>r.media.pause(e),resume:e=>r.media.resume(e),getUploadRecovery:e=>r.media.getUploadRecovery(e),resumeUpload:(e,n)=>r.media.resumeUpload(e,n),download:e=>r.media.download(e),prioritizeDownload:e=>r.media.prioritizeDownload(e),probeCached:e=>r.media.probeCached(e),subscribeCacheChanges:e=>r.media.subscribeCacheChanges(e),getCached:e=>r.media.getCached(e),prepareLocalPreview:e=>r.media.prepareLocalPreview(e),prepareLocalVideoPoster:e=>r.media.prepareLocalVideoPoster(e),prepareLocalImageThumbnail:e=>r.media.prepareLocalImageThumbnail(e)},m=e=>Promise.reject(s({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:e,retryable:!1}));async function P(e,n,t){if(!o)return m(e);try{return await n()}catch(n){throw i(n,e,t)}}function b(e,n,t){if(!o)throw s({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:e,retryable:!1,conversation:t});try{return n()}catch(n){throw i(n,e,t)}}let y;const I=e=>P("contacts.getRelationship",()=>r.contacts.getRelationship(e)),f=(e,n)=>P("groups.getProfile",async()=>{const t=await r.groups.getProfile(e,n);return null===t?null:c(e,t)},e),A=(e,n)=>P("channels.getProfile",async()=>{const t=await r.channels.getProfile(e,n);return null===t?null:l(e,t)},e),M={listFirstPage:e=>P("contacts.listFirstPage",()=>r.contacts.listFirstPage(e)),listNextPage:e=>P("contacts.listNextPage",()=>r.contacts.listNextPage(e)),getProfile:(e,n)=>P("contacts.getProfile",async()=>{const t=await r.contacts.getProfile(e,n);return null===t?null:p(e,t)}),getRelationship:async e=>{const n=e.trim(),t={conversationType:"direct",conversationId:n},r=y?.beginProjectionUpdate(t),o=await I(e);return void 0!==r&&y?.updateRelationshipProjection(n,o,r),o},setRemark:(e,n)=>P("contacts.setRemark",()=>r.contacts.setRemark(e,{...void 0===n.name?{}:{name:n.name},...void 0===n.emails?{}:{email:[...n.emails]},...void 0===n.phones?{}:{phones:n.phones.map(e=>({countryCode:e.countryCode,mobile:e.mobile}))}})),searchUser:e=>P("contacts.searchUser",()=>r.contacts.searchUser(e)),requestFriendship:(e,n)=>P("contacts.requestFriendship",()=>r.contacts.requestFriendship(e,n)),blockUser:e=>P("contacts.blockUser",()=>r.contacts.blockUser(e),{conversationType:"direct",conversationId:e}),listBlocked:()=>P("contacts.listBlocked",()=>r.contacts.listBlocked()),unblockUser:e=>P("contacts.unblockUser",()=>r.contacts.unblockUser(e),{conversationType:"direct",conversationId:e}),reportUser:(e,n)=>P("contacts.reportUser",()=>r.contacts.reportUser(e,n),{conversationType:"direct",conversationId:e}),deleteFriendship:e=>P("contacts.deleteFriendship",()=>r.contacts.deleteFriendship(e),{conversationType:"direct",conversationId:e})},C={search:e=>P("directory.search",()=>r.directory.search(e))},F={listFirstPage:e=>P("groups.listFirstPage",()=>r.groups.listFirstPage(e)),listNextPage:e=>P("groups.listNextPage",()=>r.groups.listNextPage(e)),uploadAvatar:e=>P("groups.uploadAvatar",()=>r.groups.uploadAvatar(e)),create:e=>P("groups.create",()=>r.groups.create(e)),createFaceToFace:()=>P("groups.createFaceToFace",()=>r.groups.createFaceToFace()),mentions:o?r.groups.mentions:{listAll:()=>m("groups.mentions.listAll"),refreshAll:()=>m("groups.mentions.refreshAll")},getProfile:async(e,n)=>{const t=y?.beginProjectionUpdate(e),r=await f(e,n);return void 0!==t&&y?.updateGroupProfileProjection(e,r,t),r},updateName:(e,n)=>P("groups.updateName",()=>r.groups.updateName(e,n),e),updateAvatar:(e,n)=>P("groups.updateAvatar",()=>r.groups.updateAvatar(e,n),e),setMyNickname:(e,n)=>P("groups.setMyNickname",()=>r.groups.setMyNickname(e,n),e),updateVerification:(e,n,t)=>P("groups.updateVerification",()=>r.groups.updateVerification(e,n,t),e),requestJoin:(e,n)=>P("groups.requestJoin",()=>r.group.requestJoin(e.conversationId,n),e),joinByInviteCode:(e,n)=>P("groups.joinByInviteCode",()=>r.group.joinByInviteCode(e.conversationId,n),e),inviteMembers:(e,n)=>P("groups.inviteMembers",()=>r.group.inviteMembers(e.conversationId,n),e),removeMember:(e,n)=>P("groups.removeMember",()=>r.group.removeMember(e.conversationId,n),e),transferOwnership:(e,n)=>P("groups.transferOwnership",()=>r.group.transferOwnership(e.conversationId,n),e),leave:(e,n)=>P("groups.leave",()=>r.group.leave(e.conversationId,n),e),peekPinnedMessage:e=>b("groups.peekPinnedMessage",()=>{const n=r.group.peekPinnedMessage(e.conversationId);return null===n?null:u(e,n)},e),getPinnedMessage:e=>P("groups.getPinnedMessage",async()=>{const n=await r.groups.getPinnedMessage(e);return null===n?null:u(e,n)},e),pinMessage:(e,n)=>P("groups.pinMessage",async()=>{const t=await r.groups.pinMessage(e,n);return u(e,t)},e),unpinMessage:e=>P("groups.unpinMessage",()=>r.groups.unpinMessage(e),e)},w={listFirstPage:e=>P("channels.listFirstPage",()=>r.channels.listFirstPage(e)),listNextPage:e=>P("channels.listNextPage",()=>r.channels.listNextPage(e)),uploadAvatar:e=>P("channels.uploadAvatar",()=>r.channels.uploadAvatar(e)),create:e=>P("channels.create",()=>r.channels.create(e)),mentions:o?r.channels.mentions:{peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:()=>m("channels.mentions.getCachedPage"),prefetchFirstPage:()=>m("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>m("channels.mentions.refreshFirstPage"),listFirstPage:()=>m("channels.mentions.listFirstPage"),listNextPage:()=>m("channels.mentions.listNextPage"),searchFirstPage:()=>m("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>m("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>m("channels.mentions.searchNextPage")},getProfile:async(e,n)=>{const t=y?.beginProjectionUpdate(e),r=await A(e,n);return void 0!==t&&y?.updateChannelProfileProjection(e,r,t),r},updateName:(e,n)=>P("channels.updateName",()=>r.channel.updateName(e.conversationId,n),e),updateDescription:(e,n)=>P("channels.updateDescription",()=>r.channel.updateDescription(e.conversationId,n),e),updateAvatar:(e,n)=>P("channels.updateAvatar",()=>r.channel.updateAvatar(e.conversationId,n),e),updateVerification:(e,n,t)=>P("channels.updateVerification",()=>r.channels.updateVerification(e,n,t),e),requestJoin:(e,n)=>P("channels.requestJoin",()=>r.channel.requestJoin(e.conversationId,n),e),joinByInviteCode:(e,n)=>P("channels.joinByInviteCode",()=>r.channel.joinByInviteCode(e.conversationId,n),e),setAllMuted:(e,n)=>P("channels.setAllMuted",()=>r.channel.setAllMuted(e.conversationId,n),e),setMemberPrivateChatDisabled:(e,n)=>P("channels.setMemberPrivateChatDisabled",()=>r.channel.setMemberPrivateChatDisabled(e.conversationId,n),e),setMyNickname:(e,n)=>P("channels.setMyNickname",()=>r.channel.setMyNickname(e.conversationId,n),e),setMemberNickname:(e,n,t)=>P("channels.setMemberNickname",()=>r.channel.setMemberNickname(e.conversationId,n,t),e),inviteMembers:(e,n)=>P("channels.inviteMembers",()=>r.channel.inviteMembers(e.conversationId,n),e),removeMember:(e,n)=>P("channels.removeMember",()=>r.channel.removeMember(e.conversationId,n),e),addAdmin:(e,n)=>P("channels.addAdmin",()=>r.channel.addAdmin(e.conversationId,n),e),removeAdmin:(e,n)=>P("channels.removeAdmin",()=>r.channel.removeAdmin(e.conversationId,n),e),transferOwnership:(e,n)=>P("channels.transferOwnership",()=>r.channel.transferOwnership(e.conversationId,n),e),leave:(e,n)=>P("channels.leave",()=>r.channel.leave(e.conversationId,n),e),dismiss:e=>P("channels.dismiss",()=>r.channel.dismiss(e.conversationId),e),peekPinnedMessage:e=>b("channels.peekPinnedMessage",()=>{const n=r.channel.peekPinnedMessage(e.conversationId);return null===n?null:d(e,n)},e),getPinnedMessage:e=>P("channels.getPinnedMessage",async()=>{const n=await r.channels.getPinnedMessage(e);return null===n?null:d(e,n)},e),pinMessage:(e,n)=>P("channels.pinMessage",async()=>{const t=await r.channels.pinMessage(e,n);return d(e,t)},e),unpinMessage:e=>P("channels.unpinMessage",()=>r.channels.unpinMessage(e),e)},N=e({getSessionUserId:()=>r.session.getSnapshot().userId,getConversation:e=>{const t=r.conversations.getContext(e);return void 0===t?void 0:n({...t,draft:null})},subscribeConversations:e=>a.api.subscribe(n=>e(n.items)),subscribeContext:e=>r.connection.subscribe(n=>{"conversation-context:updated"===n.type&&"supergroup"!==n.conversation.conversationType&&e({conversationType:n.conversation.conversationType,conversationId:n.conversation.conversationId})}),getRelationship:I,getGroupProfile:f,getChannelProfile:A});y=N;const k=Object.freeze({start:e=>r.session.start(e),stop:e=>r.session.stop(e),logout:async e=>{N.reset();try{await r.session.logout(e)}finally{N.reset()}},getSnapshot:()=>r.session.getSnapshot(),subscribe:e=>r.session.subscribe(e)});const x={get session(){return k},get capabilities(){return N.api},get conversations(){return a.api},get directory(){return C},get customerService(){return r.customerService},get robots(){return r.robots},get contacts(){return M},get groups(){return F},get channels(){return w},get applications(){return r.applications},get expressions(){return r.expressions},get sessionFavorites(){return r.sessionFavorites},get outbox(){return r.outbox},get drafts(){return r.drafts},get search(){return r.search},get media(){return h},get settings(){return r.settings},get push(){return r.push},get localData(){return r.localData},get events(){return r.events},openConversation:async function(e,n={}){const t=r.conversations,o=r.openConversation,a=await t.ensureOpenableConversation(e);return"direct"===a.conversationType?o({conversationType:"direct",conversationId:a.conversationId},n):"group"===a.conversationType?o({conversationType:"group",conversationId:a.conversationId},n):"customerService"===a.conversationType?o({conversationType:"customerService",conversationId:a.conversationId},n):"robot"===a.conversationType?o({conversationType:"robot",conversationId:a.conversationId},n):o({conversationType:"channel",conversationId:a.conversationId},n)},dispose:async()=>{N.dispose(),a.dispose(),await r.dispose()}};return g(x,()=>v(r)),x}function C(e,n){return M(e,n.coreApiAvailable)}function F(e){const t=m(e.cache?.prefix),s=e.adapters?.namespaceFactory??t;if(s.hostPrefix!==t.hostPrefix)throw new Error("adapters.namespaceFactory.hostPrefix 必须与 cache.prefix 一致");const i=b();let c=0;const l=()=>h(e,i,s,c++);let p,u=l(),d=!1;async function v(e){if(d)throw new Error("IM SDK 已 dispose,不能 logout");const n=u;await n.teardown(e),d||u!==n||(u=l())}const P=o({getRuntime:()=>u.localData,purgeCurrentAccount:async function(){if(d)throw a({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:!1});const e=u,n=await e.localData.getInfo();if(d||u!==e)throw a({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:!1});let t;try{t=await e.teardown({localData:"purge"},{reportStorageErrors:!1})}catch(t){throw d||u!==e||(u=l()),a({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:!0,accountScope:n.accountScope,cause:t})}if(d||u!==e||(u=l()),t.purgedAccountId!==n.accountScope)throw a({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:!0,accountScope:n.accountScope,cause:t.purgeError??new Error("账号本地数据未完成删除")});i.emit({type:"local-data:cleared",accountScope:n.accountScope,category:"all"})}}),y={start:e=>u.connection.connect(e),stop:async e=>{u.connection.disconnect(e)},logout:v,getSnapshot:()=>u.connection.getLifecycle(),subscribe:e=>(e(u.connection.getLifecycle()),u.connection.subscribe(n=>{"connection:changed"!==n.type&&"receiving:changed"!==n.type&&"syncing:changed"!==n.type||e(u.connection.getLifecycle())}))},I=r({subscribeCore:e=>u.connection.subscribe(e),getLifecycleSnapshot:()=>u.connection.getLifecycle(),getConversation:e=>{const t=u.conversations.list().find(n=>n.type===e.conversationType&&n.id===e.conversationId);return void 0===t?void 0:n(t)},resolveContactApplicationAnswer:async e=>{const n=u,t=await n.contact.resolveApplicationAnswer(e.peerId,e.messageId);return u===n?t:null}}),f={listFirstPage:e=>u.contact.listFirstPage(e),listNextPage:e=>u.contact.listNextPage(e),getProfile:(e,n)=>u.contact.getProfile(e,n),getRelationship:e=>u.contact.getRelationship(e),setRemark:(e,n)=>u.contact.setRemark(e,n),searchUser:e=>u.contact.searchUser(e),requestFriendship:(e,n)=>u.contact.requestFriendship(e,n),blockUser:e=>u.contact.blockUser(e),listBlocked:()=>u.contact.listBlocked(),unblockUser:e=>u.contact.unblockUser(e),reportUser:(e,n)=>u.contact.reportUser(e,n),deleteFriendship:e=>u.contact.deleteFriendship(e)},A={listFirstPage:e=>u.group.listFirstPage(e),listNextPage:e=>u.group.listNextPage(e),uploadAvatar:e=>u.group.uploadAvatar(e),create:e=>u.group.create(e),createFaceToFace:()=>u.group.createFaceToFace(),get mentions(){return u.group.mentions},getProfile:(e,n)=>u.group.getProfile(e.conversationId,n),updateName:(e,n)=>u.group.updateName(e.conversationId,n),updateAvatar:async(e,n)=>{await u.group.updateAvatar(e.conversationId,n)},setMyNickname:(e,n)=>u.group.setMyNickname(e.conversationId,n),updateVerification:(e,n,t)=>u.group.updateVerification(e.conversationId,n,t),requestJoin:(e,n)=>u.group.requestJoin(e.conversationId,n),joinByInviteCode:(e,n)=>u.group.joinByInviteCode(e.conversationId,n),getPinnedMessage:e=>u.group.getPinnedMessage(e.conversationId),pinMessage:(e,n)=>u.group.pinMessage({groupId:e.conversationId,messageId:n}),unpinMessage:e=>u.group.unpinMessage(e.conversationId)},M={listFirstPage:e=>u.channel.listFirstPage(e),listNextPage:e=>u.channel.listNextPage(e),uploadAvatar:e=>u.channel.uploadAvatar(e),create:e=>u.channel.create(e),get mentions(){return u.channel.mentions},getProfile:(e,n)=>u.channel.getProfile(e.conversationId,n),updateVerification:(e,n,t)=>u.channel.updateVerification(e.conversationId,n,t),requestJoin:(e,n)=>u.channel.requestJoin(e.conversationId,n),joinByInviteCode:(e,n)=>u.channel.joinByInviteCode(e.conversationId,n),setAllMuted:(e,n)=>u.channel.setAllMuted(e.conversationId,n),setMemberPrivateChatDisabled:(e,n)=>u.channel.setMemberPrivateChatDisabled(e.conversationId,n),setMyNickname:(e,n)=>u.channel.setMyNickname(e.conversationId,n),setMemberNickname:(e,n,t)=>u.channel.setMemberNickname(e.conversationId,n,t),dismiss:e=>u.channel.dismiss(e.conversationId),getPinnedMessage:e=>u.channel.getPinnedMessage(e.conversationId),pinMessage:(e,n)=>u.channel.pinMessage({channelId:e.conversationId,messageId:n}),unpinMessage:e=>u.channel.unpinMessage(e.conversationId)};const C={get session(){return y},get connection(){return u.connection},get conversations(){return u.conversations},get directory(){return u.directory},get customerService(){return u.customerService},get robots(){return u.robots},get contacts(){return f},get groups(){return A},get channels(){return M},get events(){return I},get contact(){return u.contact},get group(){return u.group},get channel(){return u.channel},get media(){return u.media},get calls(){return u.calls},get groupCalls(){return u.groupCalls},get settings(){return u.settings},get push(){return u.push},get outbox(){return u.outbox},get localData(){return P},get search(){return u.search},get applications(){return u.applications},get expressions(){return u.expressions},get sessionFavorites(){return u.sessionFavorites},get drafts(){return u.drafts},get openConversation(){return u.openConversation},logout:v,dispose:function(){return void 0!==p||(d=!0,p=u.teardown({localData:"preserve"},{preserveUploadRecovery:!0}).then(()=>i.clear())),p}};return g(C,()=>u.advancedMessageDiagnostics),C}export{I as createAdvancedImClient,y as createImClient,C as createProductClientFacade};
@@ -0,0 +1 @@
1
+ import{createImSdkError as e}from"../product/message.js";import{uploadAvatarResource as n}from"./media.js";import{normalizePinnedOperationError as t,pinnedOperationFailure as r,ImPinnedMessageOperationError as i}from"./pinned-message.js";import{validatePinnedMessageSource as o}from"./pinned-message-source.js";import{createChannel as a}from"../../../im-browser/src/http/requests/create-channel.js";import{resolveChannelPermissions as s}from"../../../im-core/src/state/channel-permissions.js";import{CoreJsonTransportError as c,CoreJsonBusinessError as d}from"../../../im-browser/src/http/requests/core-json-request.js";import{createPinnedMessageCoordinator as l}from"../../../im-core/src/state/pinned-message-coordinator.js";import{unpinChannelBoardMessage as m}from"../../../im-browser/src/http/requests/unpin-channel-board-message.js";import{buildChannelBoardPinnedMessage as h,mapChannelBoardPinnedMessage as p}from"../../../im-core/src/mapping/channel-pinned-message-mapper.js";import{pinChannelBoardMessage as u}from"../../../im-browser/src/http/requests/pin-channel-board-message.js";import{getChannelBoardPinnedMessage as f}from"../../../im-browser/src/http/requests/get-channel-board-pinned-message.js";import{isLegacyChannelNotifyPlaceholder as v}from"../../../im-core/src/mapping/channel-notify-mapper.js";import{MembershipJoinMappingError as E,joinChannelByInviteCode as N,requestChannelMembership as g}from"../../../im-browser/src/http/requests/membership-join.js";import{throwIfAborted as w}from"../../../im-core/src/abort.js";import{pullChannelMessageContext as I}from"../../../im-browser/src/http/requests/channel-message-context.js";import{dismissChannel as C,leaveChannel as A,transferChannelOwnership as M,removeChannelAdmin as y,addChannelAdmin as _,removeChannelMember as b,inviteChannelMembers as L,setChannelMemberPrivateChatDisabled as S,setChannelAllMuted as H,updateChannelVerification as D,setChannelMemberNickname as P,setChannelMyNickname as T,updateChannelInfo as j}from"../../../im-browser/src/http/requests/channel-management.js";function R(n,t,r){if((i=n)instanceof Error&&"string"==typeof i.code&&"string"==typeof i.category&&"string"==typeof i.operation&&"boolean"==typeof i.retryable)return n;var i;const o=n instanceof d?n.businessCode:void 0,a=n instanceof E?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":40542===o?"IM_SDK_CHANNEL_NOT_MEMBER":40527===o?"IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED":40547===o?"IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED":n instanceof d?"IM_SDK_CHANNEL_MANAGEMENT_FAILED":n instanceof c?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(void 0===a)return;const s=e({code:a,category:n instanceof E?"contract":n instanceof c?"network":40527===o?"permission":"state",operation:t,retryable:n instanceof c,conversation:{conversationType:"channel",conversationId:r},...void 0===o?{}:{details:Object.freeze({businessCode:o})},cause:n});return Object.assign(new Error(n instanceof Error?n.message:"社群管理失败"),s)}async function K(e,n,t){try{return await t()}catch(t){throw R(t,e,n)??t}}const k={pinMessage:()=>Promise.reject(new i({operation:"pin",kind:"unavailable",message:"CHANNEL 置顶消息能力未启用"})),unpinMessage:()=>Promise.reject(new i({operation:"unpin",kind:"unavailable",message:"CHANNEL 置顶消息能力未启用"})),getPinnedMessage:()=>Promise.reject(new i({operation:"get",kind:"unavailable",message:"CHANNEL 置顶消息能力未启用"})),peekPinnedMessage:()=>{throw new i({operation:"get",kind:"unavailable",message:"CHANNEL 置顶消息能力未启用"})}};function O(e){const n=/* @__PURE__ */new Map,a=/* @__PURE__ */new Map;let s=!0;const c=e=>({conversationType:"channel",conversationId:e}),d=e=>{a.set(e,(a.get(e)??0)+1)};function v(t,d=!0){const l=d?w("get",t):e.coreClient;if(void 0===l)return Promise.reject(new i({operation:"get",kind:"unavailable",message:"置顶查询未配置 coreClient"}));if(!s)return Promise.reject(new DOMException("置顶运行时已释放","AbortError"));const m=a.get(t)??0,h=n.get(t);if(h?.version===m)return h.task;const u=()=>s&&(a.get(t)??0)===m&&"channel"===e.domainState.getConversationContext(c(t))?.type,v=()=>e.domainState.getPinnedMessage(c(t))??null,E=(async()=>{const n=await f({client:l,channelId:t});if(!u())return v();if(!n.ok)throw r("get",n.code,n.message);if(null===n.data)return e.domainState.clearPinnedMessage(c(t),"reconcile"),null;const i=p(n.data.messageContent,{conversationId:t}),a=await o(i,e.fetchMessagesById);return u()?null===a?(e.domainState.clearPinnedMessage(c(t),"reconcile"),e.onSourceUnavailable?.(i),null):(e.domainState.setPinnedMessage(a,"reconcile"),v()):v()})();n.set(t,{version:m,task:E});const N=()=>{n.get(t)?.task===E&&n.delete(t)};return E.then(N,N),E}const E=l({domainState:e.domainState,emitter:e.emitter,requestReconcile:function(t){if(!s)return;const r=a.get(t)??0;n.get(t)?.version!==r&&v(t,!1).catch(n=>{s&&(a.get(t)??0)===r&&e.emitter.emit({type:"error",error:{scope:"http",message:"CHANNEL 置顶消息校准失败",cause:n}})})}}),N=e.emitter.subscribe(e=>{if("session:removed"===e.type&&"channel"===e.conversation.conversationType)return void d(e.conversation.conversationId);if("message:received"!==e.type&&"message:updated"!==e.type)return;const n=e.message;if("channel"!==n.conversationType)return;const t=n.body.system?.pinnedMessageAction;void 0!==t&&"live"!==e.source&&!0!==e.channelLifecycleEffects||("pin"!==t?.type&&"unpin"!==t?.type||d(n.conversationId),E.handleMessage(n))});function g(n,t){if(""===t.trim())throw new i({operation:n,kind:"invalid-input",message:"CHANNEL id 不能为空"});const r=e.domainState.getConversationContext(c(t));if(void 0===r)throw new i({operation:n,kind:"invalid-input",message:"目标 CHANNEL 会话不存在"});if("channel"!==r.type)throw new i({operation:n,kind:"unsupported",message:"当前会话类型不支持 CHANNEL 置顶门面"})}function w(n,t){if(void 0===e.coreClient)throw new i({operation:n,kind:"unavailable",message:"CHANNEL 置顶消息能力未启用:未注入 coreClient"});return g(n,t),e.coreClient}return{operations:{pinMessage:async({channelId:n,messageId:o})=>{const a=w("pin",n),s=e.domainState.getConversationMessage(c(n),o);if(void 0===s)throw new i({operation:"pin",kind:"invalid-input",message:"待置顶 CHANNEL 消息不存在"});if("channel"!==s.conversationType)throw new i({operation:"pin",kind:"unsupported",message:"只有 CHANNEL 消息可以调用此置顶门面"});if(s.conversationId!==n)throw new i({operation:"pin",kind:"invalid-input",message:"消息不属于目标 CHANNEL"});try{const{messageContent:t,pinnedMessage:o}=h(s),l=await u({client:a,channelId:n,messageContent:t});if(!l.ok)throw r("pin",l.code,l.message);d(n),e.domainState.setPinnedMessage(o,"http:pin");const m=e.domainState.getPinnedMessage(c(n));if(void 0===m)throw new i({operation:"pin",kind:"contract",message:"CHANNEL 置顶消息提交后无法读取"});return m}catch(e){throw t("pin",e)}},unpinMessage:async n=>{const i=w("unpin",n);try{const t=await m({client:i,channelId:n});if(!t.ok)throw r("unpin",t.code,t.message);d(n),e.domainState.clearPinnedMessage(c(n),"http:unpin")}catch(e){throw t("unpin",e)}},getPinnedMessage:async e=>{try{return await v(e)}catch(e){throw t("get",e)}},peekPinnedMessage:n=>(g("get",n),e.domainState.getPinnedMessage(c(n))??null)},dispose:()=>{s&&(s=!1,N())}}}async function V(){throw new Error("CHANNEL @候选能力未启用")}const F={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:V,prefetchFirstPage:V,refreshFirstPage:V,listFirstPage:V,listNextPage:V,searchFirstPage:V,refreshSearchFirstPage:V,searchNextPage:V},x=/* @__PURE__ */new Set(["unknown_restricted","left","removed","dismissed"]);function $(e){return x.has(e)}function q(e){let n=!0;function t(){if(!n)throw new Error("CHANNEL 操作因 runtime teardown/logout 已失效")}function r(){if(!n)throw new Error("CHANNEL 入群申请操作因 runtime teardown/logout 已失效")}function i(){if(r(),void 0===e.joinApplications)throw new Error("CHANNEL 申请审核能力未启用:需注入 coreClient 或 channelJoinApplications");return e.joinApplications}async function o(e,n){r();const t=function(e){const n=e.trim();if(""===n)throw new Error("CHANNEL 申请记录 id 不能为空");return n}(e),o=i();await("accept"===n?o.acceptJoinApplication(t):o.ignoreJoinApplication(t)),r()}async function a(n,r,i,o,a){t(),w(a);const s=await I({signal:a,http:e.http,userId:i,clientType:e.clientType,channelId:n,index:r,containAnchor:o,decryptDeps:e.buildOfflineDecrypt(),...void 0===e.prepareKey?{}:{prepareKey:n=>e.prepareKey(n,a)},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return t(),w(a),s}return{applications:{listJoinApplications:async function(e){const n=i(),t=await n.listJoinApplications({limit:e?.limit??20,...void 0===e?.cursor?{}:{cursor:e.cursor}});return r(),t},acceptJoinApplication:e=>o(e,"accept"),ignoreJoinApplication:e=>o(e,"ignore")},loadMessageContext:async function(e,n,t,r){const i=await a(e,n,t,!0,r),o=i.messages.find(e=>e.extensions?.historyCursor===n);if(void 0===o)throw new Error(`CHANNEL 历史上下文缺少目标消息(channelId=${e}, index=${n})`);return{context:i,message:o}},loadNewerPage:(e,n,t,r)=>a(e,n,t,!1,r),dispose:()=>{n=!1}}}function B(e){return{reconcilePage:async function(n,t=e.domainState.messageWindow){if(n.stale||!n.messages.some(v))return n;const r=t.info().conversation;if(void 0===r)throw new Error(`CHANNEL 历史恢复缺少窗口复合身份(conversationId=${n.conversationId})`);const i=e.domainState.getConversationContext(r);if("channel"!==i?.type||void 0!==i.channelState&&$(i.channelState))return n;const o=t.getRevision();if(await async function(n,t,r){const i=new Map(t.filter(v).sort((e,n)=>e.sortKey.localeCompare(n.sortKey)).map(e=>[e.id,e]));if(0===i.size)return;const o=await e.authProvider.getLoginContext();if(null!==o)for(;i.size>0;){const t=i.values().next().value;i.delete(t.id);const a=t.extensions?.historyCursor;if("string"!=typeof a||""===a.trim()){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL 历史系统消息恢复失败(channelId=${n}, messageId=${t.id})`,cause:new Error("旧 CHANNEL 101 占位缺少可信 historyCursor")}});continue}const s=e.getHistoryGeneration(),c=e.getHistoryEpoch(n);try{const{context:d,message:l}=await e.loadMessageContext(n,a,o.userId);if(!e.isActive()||s!==e.getHistoryGeneration()||c!==e.getHistoryEpoch(n))return;if(l.id!==t.id)throw new Error(`CHANNEL 历史系统消息 cursor 与 messageId 不一致(cursor=${a}, expected=${t.id}, actual=${l.id})`);if("system"!==l.contentType||v(l))throw new Error(`CHANNEL 历史系统消息回源未恢复 system 语义(cursor=${a}, messageId=${t.id})`);const m=d.messages.filter(e=>e.id===t.id||i.has(e.id));if(m.some(e=>"system"!==e.contentType||v(e)))throw new Error(`CHANNEL 历史系统消息上下文包含未恢复占位(cursor=${a})`);e.domainState.upsertMessages(m,"offline",{backfillOnly:!0}),r.applyIncoming(m.flatMap(n=>{const t=e.domainState.getConversationMessage(n,n.id);return void 0===t?[]:[t]}));for(const e of m)i.delete(e.id)}catch(r){if(!e.isActive())return;e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL 历史系统消息恢复失败(channelId=${n}, messageId=${t.id})`,cause:r}})}}else e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL 历史系统消息恢复失败(channelId=${n}):无登录上下文`}})}(r.conversationId,n.messages,t),t.getRevision()!==o||(a=t.info().conversation,s=r,a?.conversationType!==s.conversationType||a.conversationId!==s.conversationId))return{...n,stale:!0};var a,s;const c=new Map(t.list().map(e=>[e.id,e]));return{...n,messages:n.messages.map(e=>c.get(e.id)??e)}}}}function U(t){function r(n,t,r,i){const o=e({code:n,category:"IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"===n?"network":"IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"===n?"contract":"validation",operation:"channels.create",retryable:"IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"===n,...void 0===r?{}:{details:r},...void 0===i?{}:{cause:i}});return Object.assign(new Error(t),o)}function i(e,n){const t=e.trim();if(""===t)throw new Error(`${n}不能为空`);return t}function o(e){const n=e.trim();if(""===n)throw new Error("社群昵称不能为空");if([...n].length>15)throw new Error("社群昵称不能超过 15 个字符");return n}function d(){if(void 0===t.coreClient)throw new Error("社群管理能力未启用:需注入 coreClient");return t.coreClient}function l(e){t.emitter?.emit({type:"channel-profile:updated",channelId:e,conversation:{conversationType:"channel",conversationId:e}})}function m(e){void 0!==t.channelMembers?.invalidateChannelMembers&&t.channelMembers.invalidateChannelMembers(e).catch(n=>{t.emitter?.emit({type:"error",error:{scope:"storage",message:"CHANNEL 成员角色变更后的缓存失效失败",cause:{conversationId:e,error:n}}})})}function h(e){if(void 0===e)return;const n="number"==typeof e?e:Number(e);return Number.isSafeInteger(n)?n:void 0}return{...t.directory??{listFirstPage:()=>Promise.reject(new Error("社群目录能力未启用:需注入 directory provider")),listNextPage:()=>Promise.reject(new Error("社群目录能力未启用:需注入 directory provider"))},mentions:t.mentionCandidates??F,uploadAvatar:async e=>{if(void 0===t.avatarTransfer)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","创建社群头像上传未启用:需注入 app-header 对象存储配置");return n(t.avatarTransfer,e)},create:async e=>{if(void 0===t.coreClient)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","创建社群未启用:需注入 coreClient");if(void 0===t.domainState?.prepareConversation)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","创建社群未启用:缺少 DomainState 会话提交能力");const n=function(e){const n=e.name.trim();if(""===n)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","社群名称不能为空");if(n.length>75)throw r("IM_SDK_CHANNEL_CREATE_INVALID_NAME","社群名称不能超过 75 个字符");const t=e.memberIds;if(!Array.isArray(t))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","社群成员 id 必须是数组");const i=t.map(e=>"string"==typeof e?e.trim():"");if(i.includes(""))throw r("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","社群成员 id 不能为空");const o=[...new Set(i)];if(o.length>40)throw r("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","社群成员数量不能超过 40 人");return{name:n,memberIds:o}}(e),i=function(){if(void 0===t.crypto)throw r("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","创建社群未启用:缺少消息密钥生成能力");const e=t.crypto.randomTeaKey();if(!(e instanceof Uint8Array)||16!==e.length)throw r("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","创建社群密钥必须是 16 字节");let n="";for(const t of e)n+=String.fromCharCode(t);return globalThis.btoa(n)}();try{const o=await a({client:t.coreClient,name:n.name,memberIds:n.memberIds,secretKey:i,...void 0===e.avatarUrl?{}:{avatarUrl:e.avatarUrl}});if(!o.ok){throw r(39057===o.code?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED",o.message||"创建社群失败",Object.freeze({code:o.code,message:o.message}))}const c=function(e){if(null===e||"object"!=typeof e||void 0===e)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","创建社群响应缺少 data");const n=e.id??e.radio_id;if("string"!=typeof n&&"number"!=typeof n||""===String(n).trim())throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","创建社群响应缺少有效 id");const t=e.name?.trim()??"";if(""===t)throw r("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","创建社群响应缺少有效 name");const i=String(n),o=h(e.total_users),a=h(e.status),s=h(e.verify_way),c=h(e.update_version),d="boolean"==typeof(l=e.is_in)?l:1===l||"1"===l||"true"===l||0!==l&&"0"!==l&&"false"!==l&&void 0;var l;return{ref:Object.freeze({conversationType:"channel",conversationId:i}),name:t,...""===e.head_img_url?.trim()||void 0===e.head_img_url?{}:{avatar:e.head_img_url},...void 0===e.user_id?{}:{ownerId:String(e.user_id)},...void 0===o?{}:{memberCount:o},...void 0===a?{}:{status:a},...void 0===d?{}:{isInChannel:d},...void 0===s?{}:{verifyWay:s},...void 0===c?{}:{updateVersion:c},...void 0===e.invite_code?{}:{inviteCode:e.invite_code}}}(o.data);t.cacheCreatedSecretKey?.(c.ref.conversationId,i);const d=3===c.status?"dismissed":void 0===c.status||2===c.status?"active":"unknown_restricted";return t.domainState.prepareConversation({id:c.ref.conversationId,type:"channel",title:c.name,...void 0===c.avatar?{}:{avatar:c.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:d,channelPermissions:s("owner",d)}),Object.freeze({channel:c})}catch(e){if(void 0!==e&&"object"==typeof e&&null!==e&&"code"in e&&String(e.code).startsWith("IM_SDK_"))throw e;if(e instanceof c)throw r("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",e.message,void 0,e);throw r("IM_SDK_CHANNEL_CREATE_FAILED","创建社群失败",void 0,e)}},listProfiles:e=>t.channelProfile?.listProfiles(e)??Promise.resolve([]),getProfile:(e,n)=>t.channelProfile?.getProfile(e,n)??Promise.resolve(null),listMembers:e=>void 0===t.channelMembers?Promise.reject(new Error("CHANNEL 成员能力未启用:需注入 coreClient 或 channelMembers")):t.channelMembers.listMembers({channelId:e.channelId,limit:e.limit??18,...void 0===e.cursor?{}:{cursor:e.cursor}}),prefetchMembers:e=>void 0===t.channelMembers?.prefetchMembers?Promise.reject(new Error("CHANNEL 成员能力未启用:需注入 coreClient 或 channelMembers")):t.channelMembers.prefetchMembers(e),getCachedMembers:e=>void 0===t.channelMembers?.getCachedMembers?Promise.reject(new Error("CHANNEL 成员能力未启用:需注入 coreClient 或 channelMembers")):t.channelMembers.getCachedMembers(e),refreshMembers:e=>void 0===t.channelMembers?.refreshMembers?Promise.reject(new Error("CHANNEL 成员能力未启用:需注入 coreClient 或 channelMembers")):t.channelMembers.refreshMembers(e),searchMembers:e=>void 0===t.channelMembers?Promise.reject(new Error("CHANNEL 成员能力未启用:需注入 coreClient 或 channelMembers")):t.channelMembers.searchMembers({channelId:e.channelId,query:e.query,limit:e.limit??18,...void 0===e.cursor?{}:{cursor:e.cursor}}),listMentionMembers:e=>void 0===t.channelMentionMembers?Promise.reject(new Error("CHANNEL @ 成员能力未启用:需注入 coreClient 或 channelMentionMembers")):t.channelMentionMembers.listMentionMembers({channelId:e.channelId,limit:e.limit??18,...void 0===e.cursor?{}:{cursor:e.cursor}}),searchMentionMembers:e=>void 0===t.channelMentionMembers?Promise.reject(new Error("CHANNEL @ 成员能力未启用:需注入 coreClient 或 channelMentionMembers")):t.channelMentionMembers.searchMentionMembers({channelId:e.channelId,query:e.query,limit:e.limit??18,...void 0===e.cursor?{}:{cursor:e.cursor}}),listAdmins:e=>void 0===t.channelMembers?Promise.reject(new Error("CHANNEL 成员能力未启用:需注入 coreClient 或 channelMembers")):t.channelMembers.listAdmins({channelId:e.channelId,limit:e.limit??18,...void 0===e.cursor?{}:{cursor:e.cursor}}),getMembersByIds:(e,n,r)=>void 0===t.channelMembers?Promise.reject(new Error("CHANNEL 成员能力未启用:需注入 coreClient 或 channelMembers")):t.channelMembers.getMembersByIds(e,n,r),updateName:async(e,n)=>{const r=d(),o=i(e,"社群 id"),a=i(n,"社群名称");await K("channels.updateName",o,()=>j({client:r,channelId:o,name:a})),t.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:o},{title:a}),l(o)},updateDescription:async(e,n)=>{const t=d(),r=i(e,"社群 id"),o=function(e){const n=e.trim();if(""===n)throw new Error("社群简介不能为空");if([...n].length>100)throw new Error("社群简介不能超过 100 个字符");return n}(n);await K("channels.updateDescription",r,()=>j({client:t,channelId:r,description:o})),l(r)},updateAvatar:async(e,r)=>{const o=d(),a=i(e,"社群 id");if(void 0===t.avatarTransfer)throw new Error("修改社群头像未启用:需注入 app-header 对象存储配置");const s=await K("channels.updateAvatar",a,()=>n(t.avatarTransfer,r));return await K("channels.updateAvatar",a,()=>j({client:o,channelId:a,avatarUrl:s})),t.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:a},{avatar:s}),l(a),s},setMyNickname:async(e,n)=>{const t=d(),r=i(e,"社群 id"),a=o(n);await K("channels.setMyNickname",r,()=>T({client:t,channelId:r,nickname:a})),l(r)},setMemberNickname:async(e,n,r)=>{const a=d(),s=i(e,"社群 id"),c=i(n,"社群成员 id");if(await async function(e){const n=(await(t.getSelfUserId?.())??"").trim();return""!==n&&n===e.trim()}(c))throw new Error("修改自己的社群昵称必须使用 channels.setMyNickname");const m=o(r);await K("channels.setMemberNickname",s,()=>P({client:a,channelId:s,userId:c,nickname:m})),l(s)},updateVerification:async(n,t,r)=>{const o=d(),a=i(n,"社群 id"),s=function(n,t,r){if(1!==n&&2!==n&&4!==n){const n=e({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:!1,conversation:{conversationType:"channel",conversationId:r}});throw Object.assign(new Error("社群入群验证方式仅支持 1、2、4"),n)}if(4!==n)return{verifyType:n};const i=t?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(i)){const n=e({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:!1,conversation:{conversationType:"channel",conversationId:r}});throw Object.assign(new Error("社群邀请码必须是 6 位字母或数字"),n)}return{verifyType:n,inviteCode:i}}(t,r,a);await K("channels.updateVerification",a,()=>D({client:o,channelId:a,verifyType:s.verifyType,...void 0===s.inviteCode?{}:{inviteCode:s.inviteCode}})),l(a)},requestJoin:async(e,n)=>{const t=d(),r=i(e,"社群 id"),o=n?.remarks?.trim();return K("channels.requestJoin",r,()=>g({client:t,channelId:r,...void 0===o?{}:{remarks:o}}))},joinByInviteCode:async(e,n)=>{const t=d(),r=i(e,"社群 id"),o=n.trim();if(!/^\d{6}$/.test(o))throw new Error("社群邀请码必须是 6 位数字");return K("channels.joinByInviteCode",r,()=>N({client:t,channelId:r,inviteCode:o}))},setAllMuted:async(e,n)=>{const r=d(),o=i(e,"社群 id");await K("channels.setAllMuted",o,()=>H({client:r,channelId:o,muted:n})),t.domainState?.refreshConversationProfile?.(o,"channel"),l(o)},setMemberPrivateChatDisabled:async(e,n)=>{const r=d(),o=i(e,"社群 id");await K("channels.setMemberPrivateChatDisabled",o,()=>S({client:r,channelId:o,disabled:n})),t.domainState?.refreshConversationProfile?.(o,"channel"),l(o)},inviteMembers:async(e,n)=>{const t=d(),r=i(e,"社群 id"),o=function(e){if(!Array.isArray(e))throw new Error("社群成员 id 必须是数组");return[...new Set(e.map(e=>i(e,"社群成员 id")))]}(n);if(0===o.length)throw new Error("至少选择一名待邀请成员");await K("channels.inviteMembers",r,()=>L({client:t,channelId:r,userIds:o})),l(r)},removeMember:async(e,n)=>{const t=d(),r=i(e,"社群 id"),o=i(n,"待移除成员 id");await K("channels.removeMember",r,()=>b({client:t,channelId:r,userId:o})),l(r)},addAdmin:async(e,n)=>{const t=d(),r=i(e,"社群 id"),o=i(n,"待任命管理员 id");await K("channels.addAdmin",r,()=>_({client:t,channelId:r,userId:o})),m(r),l(r)},removeAdmin:async(e,n)=>{const t=d(),r=i(e,"社群 id"),o=i(n,"待取消管理员 id");await K("channels.removeAdmin",r,()=>y({client:t,channelId:r,userId:o})),m(r),l(r)},transferOwnership:async(e,n)=>{const r=d(),o=i(e,"社群 id"),a=i(n,"新社群主 id");await K("channels.transferOwnership",o,()=>M({client:r,channelId:o,userId:a})),m(o),t.domainState?.refreshConversationProfile?.(o,"channel"),l(o)},leave:async(e,n)=>{const r=d();if(void 0===t.domainState?.removeConversationForMembershipTermination)throw new Error("退出社群能力未启用:缺少 DomainState 终态清理能力");const o=i(e,"社群 id"),a=void 0===n?.newOwnerId?void 0:i(n.newOwnerId,"新社群主 id");await K("channels.leave",o,()=>A({client:r,channelId:o,...void 0===a?{}:{newOwnerId:a}})),t.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:o},"channel_left"),l(o)},dismiss:async e=>{const n=d();if(void 0===t.domainState?.removeConversationForMembershipTermination)throw new Error("解散社群能力未启用:缺少 DomainState 终态清理能力");const r=i(e,"社群 id");await K("channels.dismiss",r,()=>C({client:n,channelId:r})),t.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:r},"channel_dismissed"),l(r)},...t.applications,...t.pinned??k}}export{U as createChannelApi,B as createChannelLegacyMessageRepair,q as createChannelOperationsRuntime,O as createChannelPinnedRuntime,$ as isChannelHistoryBlocked};
@@ -0,0 +1 @@
1
+ import{createImSdkError as e}from"../product/message.js";import{deleteContactFriendship as r,requestContactFriendship as t,ContactFriendshipRequestError as o,searchContactUser as n,ContactUserSearchError as i,CONTACT_USER_SEARCH_NO_MATCH_CODE as s}from"../../../im-browser/src/http/requests/contact-friendship.js";import{reportContact as a}from"../../../im-browser/src/http/requests/contact-report.js";import{setContactBlocked as c,listBlockedContacts as d}from"../../../im-browser/src/http/requests/contact-blocklist.js";import{newClientMessageId as l}from"../../../im-core/src/mapping/message-id.js";import{setFriendRemark as u}from"../../../im-browser/src/http/requests/set-friend-remark.js";import{getUserInfoOther as m}from"../../../im-browser/src/http/requests/get-user-info-other.js";function p(p){const f=p.directory??{listFirstPage:()=>Promise.reject(new Error("联系人目录能力未启用:需注入 directory provider")),listNextPage:()=>Promise.reject(new Error("联系人目录能力未启用:需注入 directory provider"))},w=/* @__PURE__ */new Map,h=/* @__PURE__ */new Map,v=/* @__PURE__ */new Map,y=/* @__PURE__ */new Map;let C=0,g=!1;function I(e,r,t){if(g)return"unknown";if(void 0!==t&&w.get(e)!==t)return h.get(e)??"unknown";const o=h.get(e);return h.set(e,r),v.set(e,Date.now()),o!==r&&p.onRelationshipChanged?.(e,r),r}function E(e,r){if(g)return;const t=_(e,"更新联系人关系事件");w.set(t,++C),I(t,r)}function k(e){if(void 0===p.coreClient)throw new Error(`${e}未启用:需注入 coreClient(core JSON 客户端)`);return p.coreClient}function _(e,r){const t=e.trim();if(""===t)throw new Error(`${r}:userId 不能为空`);return t}function b(e,r){void 0!==p.profile&&p.profile.getUserProfile(e,{forceRefresh:!0}).catch(e=>{p.emitter.emit({type:"error",error:{scope:"http",message:`${r}后刷新用户资料失败`,cause:e}})})}function T(e){switch(e){case 0:return"pending";case 1:case 5:return"friend";case 2:return"blocked";case 3:case 4:return"none";default:return"unknown"}}async function S(e,r){if(g)throw new Error("联系人运行时已释放,不能查询关系");if(void 0===p.coreClient)throw new Error("查询联系人关系未启用:需注入 coreClient(core JSON 客户端)");const t=e.trim();if(""===t)throw new Error("查询联系人关系:userId 不能为空");const o=y.get(t);if(r&&void 0!==o)return o;const n=++C;w.set(t,n);const i=m(p.coreClient,{userId:t}).then(e=>I(t,T(e?.friend_status),n)).finally(()=>{y.get(t)===i&&y.delete(t)});return y.set(t,i),i}function N(e){return S(e,!0)}return{...f,getProfile:(e,r)=>p.profile?.getUserProfile(e,r)??Promise.resolve(null),peekProfile:e=>p.profile?.peekUserProfile?.(e)??Promise.resolve(null),setRemark:async function(e,r){if(void 0===p.coreClient)throw new Error("设置好友备注未启用:需注入 coreClient(core JSON 客户端)");if(""===e||void 0===r.name&&void 0===r.email&&void 0===r.phones)throw new Error("设置好友备注:需提供 userId 且至少一项(备注名 / 备注邮箱 / 备注手机号)");await u({client:p.coreClient,userId:e,...void 0===r.name?{}:{name:r.name},...void 0===r.email?{}:{email:r.email},...void 0===r.phones?{}:{phones:r.phones.map(e=>({countryCode:e.countryCode,mobile:e.mobile}))}}),p.domainState.refreshConversationProfile(e,"direct"),p.emitter.emit({type:"profile:updated",profileType:"user",id:e})},searchUser:r=>void 0===p.coreClient?Promise.reject(new Error("搜索用户未启用:需注入 coreClient(core JSON 客户端)")):n(p.coreClient,{query:r}).catch(r=>{if(r instanceof i)throw function(r){const t=r.responseCode===s,o=e({code:t?"IM_SDK_CONTACT_SEARCH_NO_MATCH":"IM_SDK_CONTACT_SEARCH_FAILED",category:t?"state":"network",operation:"contacts.searchUser",retryable:!t,cause:r});return Object.assign(new Error(o.code),o)}(r);throw r}).then(e=>{if(null===e)return null;const r=T(e.friendStatus);return E(e.userId,r),Object.freeze({userId:e.userId,displayName:e.nickname||e.miCallId||e.username||e.userId,nickname:e.nickname,relationship:r,...void 0===e.avatarUrl?{}:{avatarUrl:e.avatarUrl},...void 0===e.username?{}:{username:e.username},...void 0===e.miCallId?{}:{miCallId:e.miCallId},...void 0===e.signature?{}:{signature:e.signature}})}),getRelationship:N,requestFriendship:async(r,n)=>{if(void 0===p.coreClient)throw new Error("发送好友申请未启用:需注入 coreClient(core JSON 客户端)");const i=_(r,"发送好友申请");let s;try{s=await t(p.coreClient,{userId:i,message:n.message,...void 0===n.remark?{}:{remark:n.remark}})}catch(r){if(r instanceof o)throw function(r){const t=e({...{"hidden-contact":{code:"IM_SDK_CONTACT_HIDDEN_RELATION",category:"state",retryable:!1},"own-friend-limit":{code:"IM_SDK_CONTACT_OWN_FRIEND_LIMIT_REACHED",category:"state",retryable:!1},"target-friend-limit":{code:"IM_SDK_CONTACT_TARGET_FRIEND_LIMIT_REACHED",category:"state",retryable:!1},remote:{code:"IM_SDK_CONTACT_FRIENDSHIP_REQUEST_FAILED",category:"network",retryable:!0}}[r.kind],operation:"contacts.requestFriendship",cause:r});return Object.assign(new Error(t.code),t)}(r);throw r}const a=function(e){switch(e){case 1:return"added";case 2:return"already-friend";default:return"sent"}}(s.status);return E(i,"sent"===a?"pending":"friend"),"added"===a&&(await p.domainState.reconcileDirectContactEstablishedNotice(i,l(),Date.now()),p.domainState.refreshConversationProfile(i,"direct"),p.emitter.emit({type:"profile:updated",profileType:"user",id:i}),b(i,"添加好友")),Object.freeze({status:a,...void 0===s.message?{}:{message:s.message}})},blockUser:async e=>{const r=_(e,"加入黑名单");await c(k("加入黑名单"),{userId:r,blocked:!0}),E(r,"blocked"),p.terminateConversationSending?.({conversationType:"direct",conversationId:r},"contact_blocked"),p.domainState.removeConversation({conversationType:"direct",conversationId:r}),p.emitter.emit({type:"profile:updated",profileType:"user",id:r}),b(r,"加入黑名单")},listBlocked:async()=>{const e=await d(k("读取黑名单"));return Object.freeze(e.map(e=>Object.freeze({userId:e.userId,displayName:e.displayName,nickname:e.nickname,...void 0===e.remark?{}:{remark:e.remark},...void 0===e.avatarUrl?{}:{avatarUrl:e.avatarUrl}})))},unblockUser:async e=>{const r=_(e,"移出黑名单");await c(k("移出黑名单"),{userId:r,blocked:!1}),E(r,"unknown"),S(r,!1).catch(e=>{p.emitter.emit({type:"error",error:{scope:"http",message:"移出黑名单后查询联系人关系失败",cause:e}})}),p.emitter.emit({type:"profile:updated",profileType:"user",id:r}),b(r,"移出黑名单")},reportUser:async(e,r)=>{const t=_(e,"举报联系人"),o=r.trim();if(""===o)throw new Error("举报联系人:problem 不能为空");const n=p.getSelfId?.().trim()??"";if(""===n)throw new Error("举报联系人未启用:当前账号不可用");await a(k("举报联系人"),{reporterUserId:n,targetUserId:t,problem:o})},deleteFriendship:async e=>{if(void 0===p.coreClient)throw new Error("删除好友未启用:需注入 coreClient(core JSON 客户端)");const t=e.trim();if(""===t)throw new Error("删除好友:userId 不能为空");await r(p.coreClient,{userId:t}),E(t,"none"),p.terminateConversationSending?.({conversationType:"direct",conversationId:t},"friendship_deleted"),p.domainState.removeConversation({conversationType:"direct",conversationId:t});try{await(p.resetDirectReadReceiptPreference?.(t))}catch(e){p.emitter.emit({type:"error",error:{scope:"storage",message:"删除好友后重置单聊已读回执偏好失败",cause:e}})}b(t,"删除好友")},peekRelationship:e=>h.get(e.trim()),ensureRelationship(e){const r=_(e,"读取联系人关系策略"),t=v.get(r);return void 0!==t&&Date.now()-t<5e3?Promise.resolve(h.get(r)??"unknown"):N(r)},updateRelationshipFromEvent:E,resolveApplicationAnswer:async function(e,r){const t=_(e,"校准好友申请应答");let o;try{o=await S(t,!1)}catch(e){return g||p.emitter.emit({type:"error",error:{scope:"http",message:"好友申请应答缺少可靠成功标记,且联系人关系查询失败",cause:{peerId:t,error:e}}}),null}if(g)return null;if("unknown"===o)return p.emitter.emit({type:"error",error:{scope:"http",message:"好友申请应答缺少可靠成功标记,服务端联系人关系仍未知",cause:{peerId:t}}}),null;if("friend"!==o)return"rejected";E(t,"friend");try{await p.domainState.reconcileDirectContactEstablishedNotice(t,r,Date.now())}catch(e){return g||p.emitter.emit({type:"error",error:{scope:"storage",message:"联系人关系已确认,但本地系统提示协调失败",cause:{peerId:t,error:e}}}),null}return g?null:(p.domainState.refreshConversationProfile(t,"direct"),p.emitter.emit({type:"profile:updated",profileType:"user",id:t}),b(t,"好友申请通过"),"accepted")},dispose:()=>{g=!0,C+=1,w.clear(),h.clear(),v.clear(),y.clear()}}}export{p as createContactApi};
@@ -0,0 +1 @@
1
+ import{markGroupReadAll as e}from"../../../im-browser/src/http/requests/mark-group-read-all.js";import{getLatestChannelMessageReadCursor as r}from"../../../im-core/src/message-flow/read/channel-read-strategy.js";import{setConversationUndisturb as t}from"../../../im-browser/src/http/requests/set-conversation-undisturb.js";function o(e){return(r,t)=>{if("string"!=typeof r){if("supergroup"===r.conversationType)throw new Error(`${t}:supergroup 未实现`);return r}const o=e().filter(e=>e.id===r);if(0===o.length)throw new Error(`${t}:旧裸 conversationId 零命中(conversationId=${r})`);if(o.length>1)throw new Error(`${t}:旧裸 conversationId 存在多类型歧义(conversationId=${r})`);const n=o[0];if("supergroup"===n.type)throw new Error(`${t}:supergroup 未实现`);return{conversationType:n.type,conversationId:n.id}}}function n(o){return{...o.operations,getTotalUnread:e=>o.domainState.getTotalUnread(e),setPinned:(e,r)=>{const t=o.resolveInput(e,"设置会话置顶");if("customerService"===t.conversationType)throw new Error("客服会话不支持置顶");o.domainState.setPinned(t,r)},setMuted:async(e,r)=>{const n=o.resolveInput(e,"设置会话免打扰");if("customerService"===n.conversationType)throw new Error("客服会话不支持免打扰设置");if(void 0===o.coreClient)throw new Error("会话免打扰未启用:需注入 coreClient(core JSON 客户端)");const a=o.domainState.getConversationContext(n);if(void 0===a)throw new Error(`会话免打扰:会话不存在(conversationType=${n.conversationType}, conversationId=${n.conversationId})`);await t({client:o.coreClient,conversationType:a.type,targetId:a.id,muted:r}),o.domainState.setMuted(n,r)},markConversationRead:async t=>{const n=o.resolveInput(t,"标记会话已读"),a=o.domainState.getSession(n);if(void 0===a)return;if(0===a.unreadCount&&!0===a.manuallyUnread)return void o.domainState.clearConversationManualUnread(n);if(0===a.unreadCount&&("channel"!==a.type||0===(a.mentionUnreadCount??0)))return;if("robot"!==a.type&&void 0!==o.settleConversationRead)return void await o.settleConversationRead(n);const i=o.domainState.getMessagesByConversation(n),s=i.at(-1)?.id??a.readCursor??"";if("direct"===a.type||"robot"===a.type||"customerService"===a.type)return""!==s&&o.domainState.advanceRead(n,s),void o.domainState.clearConversationManualUnread(n);if("group"===a.type){const r=await o.authProvider.getLoginContext();if(null===r)throw new Error("标记已读:无登录上下文");return await e({http:o.http,userId:r.userId,groupId:n.conversationId}),o.domainState.applyServerUnread(n,0,""===s?void 0:s),void o.domainState.clearConversationManualUnread(n)}if("channel"===a.type){const e=r(i);if(void 0===e)throw new Error(`CHANNEL 标记已读缺少最新可信 historyCursor(channelId=${n.conversationId})`);return await o.markChannelRead(n.conversationId,e),void o.domainState.clearConversationManualUnread(n)}throw new Error(`标记已读未支持会话类型:${a.type}`)},markConversationUnread:e=>{const r=o.resolveInput(e,"标记会话未读");if("customerService"===r.conversationType)throw new Error("客服会话不支持标记会话未读");o.domainState.markConversationUnread(r)},deleteConversation:e=>{const r=o.resolveInput(e,"删除会话");if("customerService"===r.conversationType)throw new Error("客服会话不支持删除会话");o.beforeDeleteConversation?.(r),o.terminateConversationSending?.(r,"conversation_deleted"),o.domainState.removeConversation(r),o.resetConversationBackground?.(r).catch(e=>o.reportStorageError?.("删除会话背景失败",e))}}}export{o as createConversationInputResolver,n as createConversationsApi};
@@ -0,0 +1 @@
1
+ import{createFaceToFaceGroupQrPayload as e}from"../product/face-to-face-group.js";import{createImSdkError as r}from"../product/message.js";import{uploadAvatarResource as t}from"./media.js";import{normalizePinnedOperationError as o,pinnedOperationFailure as n,ImPinnedMessageOperationError as i}from"./pinned-message.js";import{validatePinnedMessageSource as s}from"./pinned-message-source.js";import{setGroupNickname as a}from"../../../im-browser/src/http/requests/set-group-nickname.js";import{createFaceToFaceGroup as c}from"../../../im-browser/src/http/requests/create-face-to-face-group.js";import{CoreJsonTransportError as d,CoreJsonBusinessError as p}from"../../../im-browser/src/http/requests/core-json-request.js";import{createGroup as u}from"../../../im-browser/src/http/requests/create-group.js";import{updateGroupInfo as _}from"../../../im-browser/src/http/requests/update-group-info.js";import{createPinnedMessageCoordinator as m}from"../../../im-core/src/state/pinned-message-coordinator.js";import{unpinBoardMessage as f}from"../../../im-browser/src/http/requests/unpin-board-message.js";import{buildBoardPinnedMessage as g,mapBoardPinnedMessage as l}from"../../../im-core/src/mapping/pinned-message-mapper.js";import{pinBoardMessage as v}from"../../../im-browser/src/http/requests/pin-board-message.js";import{getBoardPinnedMessage as E}from"../../../im-browser/src/http/requests/get-board-pinned-message.js";import{MembershipJoinMappingError as I,joinGroupByInviteCode as w,requestGroupMembership as y}from"../../../im-browser/src/http/requests/membership-join.js";import{leaveGroup as A,transferGroupOwnership as h,removeGroupMember as M,inviteGroupMembers as O,updateGroupVerification as R}from"../../../im-browser/src/http/requests/group-management.js";function S(e){return e instanceof Error&&"string"==typeof e.code&&"string"==typeof e.category&&"string"==typeof e.operation&&"boolean"==typeof e.retryable}async function C(e,t,o){try{return await o()}catch(o){throw function(e,t,o){if(S(e))return e;const n=e instanceof p?e.businessCode:void 0,i=e instanceof I?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":39011===n?"IM_SDK_GROUP_NOT_MEMBER":39029===n?"IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED":39033===n?"IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED":e instanceof p?"IM_SDK_GROUP_MANAGEMENT_FAILED":e instanceof d?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(void 0===i)return;const s=r({code:i,category:e instanceof I?"contract":e instanceof d?"network":39029===n?"permission":"state",operation:t,retryable:e instanceof d,conversation:{conversationType:"group",conversationId:o},...void 0===n?{}:{details:Object.freeze({businessCode:n})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"普通群管理失败"),s)}(o,e,t)??o}}function P(e){const r=/* @__PURE__ */new Map,t=/* @__PURE__ */new Map;let a=!0;const c=e=>({conversationType:"group",conversationId:e});function d(e){t.set(e,(t.get(e)??0)+1)}function p(o,d=!0){const p=d?w("get",o):e.coreClient;if(void 0===p)return Promise.reject(new i({operation:"get",kind:"unavailable",message:"置顶查询未配置 coreClient"}));if(!a)return Promise.reject(new DOMException("置顶运行时已释放","AbortError"));const u=t.get(o)??0,_=r.get(o);if(_?.version===u)return _.task;const m=()=>a&&(t.get(o)??0)===u&&"group"===e.domainState.getConversationContext(c(o))?.type,f=()=>e.domainState.getPinnedMessage(c(o))??null,g=(async()=>{const r=await E({client:p,groupId:o});if(!m())return f();if(!r.ok)throw n("get",r.code,r.message);if(null===r.data)return e.domainState.clearPinnedMessage(c(o),"reconcile"),null;const t=l(r.data.messageContent,{conversationId:o}),i=await s(t,e.fetchMessagesById);return m()?null===i?(e.domainState.clearPinnedMessage(c(o),"reconcile"),e.onSourceUnavailable?.(t),null):(e.domainState.setPinnedMessage(i,"reconcile"),f()):f()})();r.set(o,{version:u,task:g});const v=()=>{r.get(o)?.task===g&&r.delete(o)};return g.then(v,v),g}const u=m({domainState:e.domainState,emitter:e.emitter,requestReconcile:function(o){if(!a)return;const n=t.get(o)??0;r.get(o)?.version!==n&&p(o,!1).catch(r=>{a&&(t.get(o)??0)===n&&e.emitter.emit({type:"error",error:{scope:"http",message:"GROUP 置顶消息校准失败",cause:r}})})}}),_=e.emitter.subscribe(e=>{if("session:removed"===e.type&&"group"===e.conversation.conversationType)return void d(e.conversation.conversationId);if("message:received"!==e.type&&"message:updated"!==e.type)return;if("group"!==e.message.conversationType)return;const r=e.message.body.system?.pinnedMessageAction;"pin"!==r?.type&&"unpin"!==r?.type||d(e.message.conversationId),u.handleMessage(e.message)});function I(r,t){if(""===t.trim())throw new i({operation:r,kind:"invalid-input",message:"群 id 不能为空"});const o=e.domainState.getConversationContext(c(t));if(void 0===o)throw new i({operation:r,kind:"invalid-input",message:"目标群会话不存在"});if("group"!==o.type)throw new i({operation:r,kind:"unsupported",message:"当前会话类型不支持普通群置顶门面"})}function w(r,t){if(void 0===e.coreClient)throw new i({operation:r,kind:"unavailable",message:"置顶消息能力未启用:未注入 coreClient"});return I(r,t),e.coreClient}return{operations:{pinMessage:async({groupId:r,messageId:t})=>{const s=w("pin",r),a=e.domainState.getConversationMessage(c(r),t);if(void 0===a)throw new i({operation:"pin",kind:"invalid-input",message:"待置顶消息不存在"});if("group"!==a.conversationType)throw new i({operation:"pin",kind:"unsupported",message:"只有普通群消息可以调用此置顶门面"});if(a.conversationId!==r)throw new i({operation:"pin",kind:"invalid-input",message:"消息不属于目标群"});try{const{messageContent:t,pinnedMessage:o}=g(a),p=await v({client:s,groupId:r,messageContent:t});if(!p.ok)throw n("pin",p.code,p.message);d(r),e.domainState.setPinnedMessage(o,"http:pin");const u=e.domainState.getPinnedMessage(c(r));if(void 0===u)throw new i({operation:"pin",kind:"contract",message:"置顶消息提交后无法读取"});return u}catch(e){throw o("pin",e)}},unpinMessage:async r=>{const t=w("unpin",r);try{const o=await f({client:t,groupId:r});if(!o.ok)throw n("unpin",o.code,o.message);d(r),e.domainState.clearPinnedMessage(c(r),"http:unpin")}catch(e){throw o("unpin",e)}},getPinnedMessage:async e=>{try{return await p(e)}catch(e){throw o("get",e)}},peekPinnedMessage:r=>(I("get",r),e.domainState.getPinnedMessage(c(r))??null)},dispose:()=>{a&&(a=!1,_())}}}function D(o){const n=o.directory??{listFirstPage:()=>Promise.reject(new Error("群组目录能力未启用:需注入 directory provider")),listNextPage:()=>Promise.reject(new Error("群组目录能力未启用:需注入 directory provider"))},i=/* @__PURE__ */new Map,s=/* @__PURE__ */new Map,p=/* @__PURE__ */new Map;async function m(e,r){!function(e){if("group"!==e.conversationType)throw new Error("GROUP @候选只接受普通群会话");if(""===e.conversationId.trim())throw new Error("GROUP @候选:群 id 不能为空")}(e);const t=o.profile?.listGroupMembers;if(void 0===t)throw new Error("GROUP @候选能力未启用:缺少普通群完整成员 provider");const n=e.conversationId,a=i.get(n);if(!r&&void 0!==a)return a;const c=p.get(n);if(void 0!==c&&(!r||c.refresh))return c.promise;const d=(s.get(n)??0)+1;s.set(n,d);const u=Promise.resolve().then(()=>t(n,r?{forceRefresh:!0}:void 0)).then(e=>{if(null===e)throw new Error("GROUP @候选不可用:成员 provider 未返回完整集合");const r=function(e){const r=[],t=/* @__PURE__ */new Set;for(const o of e){if(""===o.userId.trim())throw new Error("GROUP @候选成员 userId 不能为空");t.has(o.userId)||(t.add(o.userId),r.push(Object.freeze({userId:o.userId,displayName:""===o.nickName.trim()?o.userId:o.nickName})))}return Object.freeze(r)}(e);return s.get(n)===d&&i.set(n,r),r}).finally(()=>{p.get(n)?.promise===u&&p.delete(n)});return p.set(n,{refresh:r,promise:u}),u}function f(e,t,o,n){const i=r({code:e,category:"IM_SDK_GROUP_CREATE_NETWORK_FAILED"===e?"network":"IM_SDK_GROUP_CREATE_RESPONSE_INVALID"===e?"contract":"validation",operation:"groups.create",retryable:"IM_SDK_GROUP_CREATE_NETWORK_FAILED"===e,...void 0===o?{}:{details:o},...void 0===n?{}:{cause:n}});return Object.assign(new Error(t),i)}function g(e,t,o,n){const i=r({code:e,category:"IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"===e?"network":"IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"===e?"contract":"validation",operation:"groups.createFaceToFace",retryable:"IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"===e,...void 0===o?{}:{details:o},...void 0===n?{}:{cause:n}});return Object.assign(new Error(t),i)}function l(r){if(null===r||"object"!=typeof r||void 0===r)throw g("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","面对面建群响应缺少 data");const t=r.group_id;if("string"!=typeof t&&"number"!=typeof t||""===String(t).trim())throw g("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","面对面建群响应缺少有效 group_id");const o="number"==typeof r.status?r.status:Number(r.status);if(!Number.isSafeInteger(o)||1!==o&&2!==o)throw g("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","面对面建群响应包含未知激活状态");const n=String(t),i=r.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n}),activation:1===o?"pending":"active",...void 0===i||""===i?{}:{avatarUrl:i},qrPayload:e(n,i)})}function v(e){if(void 0===e)return;const r="number"==typeof e?e:Number(e);return Number.isSafeInteger(r)?r:void 0}function E(e,r){const t=e.trim();if(""===t)throw new Error(`${r}不能为空`);return t}function I(){if(void 0===o.coreClient)throw new Error("普通群管理能力未启用:需注入 coreClient");return o.coreClient}function P(e){i.delete(e),s.set(e,(s.get(e)??0)+1),o.emitter.emit({type:"profile:updated",profileType:"group",id:e})}return{...n,mentions:{listAll:e=>m(e,!1),refreshAll:e=>m(e,!0)},getProfile:(e,r)=>o.profile?.getGroupProfile(e,r)??Promise.resolve(null),listMembers:(e,r)=>o.profile?.listGroupMembers?.(e,r)??Promise.resolve(null),getMemberNames:(e,r)=>o.profile?.getGroupMemberNames?.(e,r)??Promise.resolve(null),peekMembers:e=>o.profile?.peekGroupMembers?.(e)??Promise.resolve(null),peekMemberNames:e=>o.profile?.peekGroupMemberNames?.(e)??Promise.resolve(null),peekProfile:e=>o.profile?.peekGroupProfile?.(e)??Promise.resolve(null),updateName:async(e,r)=>{if(void 0===o.coreClient)throw new Error("修改群资料未启用:需注入 coreClient(core JSON 客户端)");const t=r.trim();if(""===e||""===t)throw new Error("修改群名:群 id 与新群名不能为空");await _({client:o.coreClient,groupId:e,name:t}),o.domainState.updateConversationProfile({conversationType:"group",conversationId:e},{title:t}),o.emitter.emit({type:"profile:updated",profileType:"group",id:e})},updateAvatar:async(e,r)=>{if(void 0===o.coreClient)throw new Error("修改群资料未启用:需注入 coreClient(core JSON 客户端)");if(void 0===o.avatarTransfer)throw new Error("修改群头像未启用:需注入 app-header 对象存储配置");if(""===e)throw new Error("修改群头像:群 id 不能为空");const n=await t(o.avatarTransfer,r);return await _({client:o.coreClient,groupId:e,avatarUrl:n}),o.domainState.updateConversationProfile({conversationType:"group",conversationId:e},{avatar:n}),o.emitter.emit({type:"profile:updated",profileType:"group",id:e}),n},uploadAvatar:async e=>{if(void 0===o.avatarTransfer)throw f("IM_SDK_GROUP_CREATE_UNAVAILABLE","创建群组头像上传未启用:需注入 app-header 对象存储配置");return t(o.avatarTransfer,e)},create:async e=>{if(void 0===o.coreClient)throw f("IM_SDK_GROUP_CREATE_UNAVAILABLE","创建群组未启用:需注入 coreClient");if(void 0===o.domainState.prepareConversation)throw f("IM_SDK_GROUP_CREATE_UNAVAILABLE","创建群组未启用:缺少 DomainState 会话提交能力");const r=function(e){const r=e.name.trim();if(""===r)throw f("IM_SDK_GROUP_CREATE_INVALID_NAME","群名称不能为空");if(r.length>40)throw f("IM_SDK_GROUP_CREATE_INVALID_NAME","群名称不能超过 40 个字符");const t=e.memberIds;if(!Array.isArray(t))throw f("IM_SDK_GROUP_CREATE_INVALID_MEMBER","群成员 id 必须是数组");const o=t.map(e=>"string"==typeof e?e.trim():"");if(o.includes(""))throw f("IM_SDK_GROUP_CREATE_INVALID_MEMBER","群成员 id 不能为空");const n=[...new Set(o)];if(n.length>40)throw f("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","群成员数量不能超过 40 人");return{name:r,memberIds:n}}(e);try{const t=await u({client:o.coreClient,name:r.name,memberIds:r.memberIds,...void 0===e.avatarUrl?{}:{avatarUrl:e.avatarUrl}});if(!t.ok){throw f(39005===t.code?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":39057===t.code?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":39061===t.code?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED",t.message||"创建群组失败",Object.freeze({code:t.code,message:t.message}))}const n=function(e){if(null===e||"object"!=typeof e||void 0===e)throw f("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","创建群组响应缺少 data");const r=e.group_id;if("string"!=typeof r&&"number"!=typeof r||""===String(r).trim())throw f("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","创建群组响应缺少有效 group_id");const t=String(r),o=e,n=o.name?.trim()??"";if(""===n)throw f("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","创建群组响应缺少有效 name");const i=v(o.total_users),s=v(o.status),a=v(o.verify_way),c=v(o.update_version),d="boolean"==typeof(p=o.is_exist)?p:1===p||"1"===p||"true"===p||0!==p&&"0"!==p&&"false"!==p&&void 0;var p;return{ref:Object.freeze({conversationType:"group",conversationId:t}),name:n,...""===o.head_img_url?.trim()||void 0===o.head_img_url?{}:{avatar:o.head_img_url},...void 0===o.user_id?{}:{ownerId:String(o.user_id)},...void 0===i?{}:{memberCount:i},...void 0===s?{}:{status:s},...void 0===d?{}:{isInGroup:d},...void 0===a?{}:{verifyWay:a},...void 0===c?{}:{updateVersion:c},...void 0===o.invite_code?{}:{inviteCode:o.invite_code}}}(t.data);return o.domainState.prepareConversation({id:n.ref.conversationId,type:"group",title:n.name,...void 0===n.avatar?{}:{avatar:n.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:n})}catch(e){if(void 0!==e&&"object"==typeof e&&null!==e&&"code"in e&&String(e.code).startsWith("IM_SDK_"))throw e;if(e instanceof d)throw f("IM_SDK_GROUP_CREATE_NETWORK_FAILED",e.message,void 0,e);throw f("IM_SDK_GROUP_CREATE_FAILED","创建群组失败",void 0,e)}},createFaceToFace:async()=>{if(void 0===o.coreClient)throw g("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","面对面建群未启用:需注入 coreClient");try{const e=await c({client:o.coreClient});if(!e.ok){throw g(39005===e.code?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED",e.message||"面对面建群失败",Object.freeze({businessCode:e.code}))}return Object.freeze({group:l(e.data)})}catch(e){if(S(e))throw e;if(e instanceof d)throw g("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",e.message,void 0,e);throw g("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","面对面建群失败",void 0,e)}},setMyNickname:async(e,r)=>{if(void 0===o.coreClient)throw new Error("修改群内昵称未启用:需注入 coreClient(core JSON 客户端)");if(""===e)throw new Error("修改群内昵称:群 id 不能为空");await a({client:o.coreClient,groupId:e,nickname:r}),o.emitter.emit({type:"profile:updated",profileType:"group",id:e})},updateVerification:async(e,t,o)=>{const n=I(),i=E(e,"群 id"),s=function(e,t,o){if(1!==e&&2!==e&&4!==e){const e=r({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:!1,conversation:{conversationType:"group",conversationId:o}});throw Object.assign(new Error("普通群入群验证方式仅支持 1、2、4"),e)}if(4!==e)return{verifyWay:e};const n=t?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(n)){const e=r({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:!1,conversation:{conversationType:"group",conversationId:o}});throw Object.assign(new Error("普通群邀请码必须是 6 位字母或数字"),e)}return{verifyWay:e,inviteCode:n}}(t,o,i);await C("groups.updateVerification",i,()=>R({client:n,groupId:i,verifyWay:s.verifyWay,...void 0===s.inviteCode?{}:{inviteCode:s.inviteCode}})),P(i)},requestJoin:async(e,r)=>{const t=I(),o=E(e,"群 id"),n=r?.remarks?.trim();return C("groups.requestJoin",o,()=>y({client:t,groupId:o,...void 0===n?{}:{remarks:n}}))},joinByInviteCode:async(e,r)=>{const t=I(),o=E(e,"群 id"),n=r.trim();if(!/^\d{6}$/.test(n))throw new Error("普通群邀请码必须是 6 位数字");return C("groups.joinByInviteCode",o,()=>w({client:t,groupId:o,inviteCode:n}))},inviteMembers:async(e,r)=>{const t=I(),o=E(e,"群 id"),n=function(e){if(!Array.isArray(e))throw new Error("群成员 id 必须是数组");const r=e.map(e=>E(e,"群成员 id"));return[...new Set(r)]}(r);if(0===n.length)throw new Error("至少选择一名待邀请成员");await C("groups.inviteMembers",o,()=>O({client:t,groupId:o,userIds:n})),P(o)},removeMember:async(e,r)=>{const t=I(),o=E(e,"群 id"),n=E(r,"待移除成员 id");await C("groups.removeMember",o,()=>M({client:t,groupId:o,userId:n})),P(o)},transferOwnership:async(e,r)=>{const t=I(),o=E(e,"群 id"),n=E(r,"新群主 id");await C("groups.transferOwnership",o,()=>h({client:t,groupId:o,userId:n})),P(o)},leave:async(e,r)=>{const t=I();if(void 0===o.domainState.removeConversationForMembershipTermination)throw new Error("退出群组能力未启用:缺少 DomainState 终态清理能力");const n=E(e,"群 id"),i=void 0===r?.newOwnerId?void 0:E(r.newOwnerId,"新群主 id");await C("groups.leave",n,()=>A({client:t,groupId:n,...void 0===i?{}:{newOwnerId:i}})),o.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:n},"group_left"),P(n)},...o.pinned}}export{i as ImPinnedMessageOperationError,D as createGroupApi,P as createGroupPinnedRuntime};
@@ -0,0 +1 @@
1
+ import{CRYPTO_TEA_MAX_INPUT_BYTES as t,CryptoExecutionError as e}from"../../../im-core/src/ports/crypto-task-executor.js";import{throwIfAborted as n}from"../../../im-core/src/abort.js";function a(a){let i=0;function o(t){if(n(t),!a.isActive()){const t=new Error("Media calculation belongs to an inactive account");throw t.name="AbortError",t}}async function c(t,n){o(n);const r=await a.executor.decryptTea({operationId:"media-tea:"+ ++i,generation:a.generation,priority:"background",input:t,...void 0===n?{}:{signal:n}});if(o(n),r.byteLength!==t.cipherData.byteLength)throw new e("protocol-mismatch");return r}return{assertCurrent:o,decrypt:async function(e,n){o(n);const a=new Uint8Array(e.cipherData.byteLength);let r=0;do{o(n);const i=Math.min(r+t,e.cipherData.byteLength),s=await c({teaKey:e.teaKey,cipherData:e.cipherData.subarray(r,i)},n);o(n),a.set(s,r),r=i}while(r<e.cipherData.byteLength);return o(n),a},decryptBlob:async function(t,e,n){return o(n),r(e,async e=>(o(n),c({teaKey:t,cipherData:e},n)),()=>o(n))}}}async function r(n,a,r){const i=[];let o=0;do{r();const c=Math.min(o+t,n.size),s=new Uint8Array(await n.slice(o,c).arrayBuffer());r();const u=await a(s);if(r(),u.byteLength!==s.byteLength)throw new e("protocol-mismatch");i.push(new Blob([u])),o=c}while(o<n.size);return new Blob(i)}function i(t){let e=0;return async a=>r(a.plain,n=>t.executor.encryptTea({operationId:"media-upload-tea:"+ ++e,generation:t.generation,priority:"background",input:{teaKey:a.teaKey,plain:n},...void 0===a.signal?{}:{signal:a.signal}}),function(){if(n(a.signal),!t.isActive())throw Object.assign(new Error("Media calculation belongs to an inactive account"),{name:"AbortError"})})}export{a as createMediaByteComputation,i as createMediaUploadComputation};
@@ -0,0 +1 @@
1
+ async function e(e,a){const r=new Uint8Array(await a.arrayBuffer()),t="undefined"!=typeof File&&a instanceof File?a.name:void 0,i=(await e.uploadAvatar({data:r,...void 0===t?{}:{filename:t},...""===a.type?{}:{mimeType:a.type}})).url.trim();if(""===i)throw new Error("头像上传失败:对象存储未返回文件 URL");return i}export{e as uploadAvatarResource};
@@ -0,0 +1 @@
1
+ import{createMediaByteComputation as e}from"./media-byte-computation.js";import{SIMPLE_ENCRYPT_HEAD_BYTES as n}from"../../../im-core/src/ports/crypto-port.js";import{getChannelMessageReadCursor as r}from"../../../im-core/src/message-flow/read/channel-read-strategy.js";function t(e){return"undefined"!=typeof Blob&&e instanceof Blob}async function o(e){return t(e)?new Uint8Array(await e.arrayBuffer()):e}function i(i){const a=e(i.mediaCrypto);function c(e,n){return{url:e.url,...void 0===e.getPriority?{}:{getPriority:e.getPriority},...void 0===e.expectedBytes?{}:{expectedBytes:e.expectedBytes},...void 0===e.onProgress&&void 0===e.onTransferProgress?{}:{onProgress:n=>{e.onTransferProgress?.(n),e.onProgress?.(n.percent)}},...void 0!==e.signal?{signal:e.signal}:{},...void 0===e.resume?{}:{resume:e.resume},...void 0===e.onResumable?{}:{onResumable:e.onResumable},...void 0===e.onResumeInvalidated?{}:{onResumeInvalidated:e.onResumeInvalidated},...n?{preferBlob:!0}:{}}}async function s(e){if(a.assertCurrent(e.signal),void 0===i.mediaTransfer)throw new Error("媒体加载不可用:createImClient 未注入 media 配置(对象存储 S3 配置)");const n=await i.mediaTransfer.download(c(e,!1));a.assertCurrent(e.signal);const r=await o(n);return a.assertCurrent(e.signal),void 0!==e.teaKey&&e.teaKey.length>0&&1!==e.fileEncryptType?a.decrypt({teaKey:e.teaKey,cipherData:r},e.signal):r}async function d(e){if(a.assertCurrent(e.signal),void 0===i.mediaTransfer)throw new Error("媒体加载不可用:createImClient 未注入 media 配置(对象存储 S3 配置)");const n=await i.mediaTransfer.download(c(e,!0));if(a.assertCurrent(e.signal),void 0===e.teaKey||0===e.teaKey.length||1===e.fileEncryptType)return n;const r=e.teaKey;return t(n)?a.decryptBlob(r,n,e.signal):a.decrypt({teaKey:r,cipherData:n},e.signal)}function u(e,n){const t={conversationType:"channel",conversationId:e},o=i.domainState.getLoadedMessagesByConversation(t),a=i.domainState.getConversationMessage(t,n)??o.find(e=>r(e)===n),c=r(a);if(void 0===a||"string"!=typeof c||""===c.trim())throw new Error(`CHANNEL 已读缺少可信 historyCursor(channelId=${e}, input=${n})`);return a.id}function y(e){if("direct"!==e.conversationType&&"group"!==e.conversationType&&"channel"!==e.conversationType&&"customerService"!==e.conversationType)throw new Error(`会话已读未支持类型:${e.conversationType}`)}return{operations:{sendText:async function(e){return i.connection.sendText(e)},sendContact:async function(e){return i.connection.sendContact(e)},forwardMessages:async function(e){return i.connection.forwardMessages(e)},recallMessage:async function(e){return i.connection.recallMessage(e)},editMessage:async function(e){return i.connection.editMessage(e)},sendImage:async function(e){return i.connection.sendImage(e)},sendVideo:async function(e){return i.connection.sendVideo(e)},sendVoice:async function(e){return i.connection.sendVoice(e)},sendFile:async function(e){return i.connection.sendFile(e)},sendGif:async function(e){return i.connection.sendGif(e)},sendMediaAlbum:async function(e){return i.connection.sendMediaAlbum(e)},sendExpression:async function(e){return i.connection.sendExpression(e)},sendGame:async function(e){return i.connection.sendGame(e)},sendMiniProgram:async function(e){return i.connection.sendMiniProgram(e)},sendTransfer:async function(e){return i.connection.sendTransfer(e)},sendGift:async function(e){return i.connection.sendGift(e)},sendLiveRoom:async function(e){return i.connection.sendLiveRoom(e)},replaceInterruptedVideo:async function(e,n){return i.connection.replaceInterruptedVideo(e,n)},replaceInterruptedFile:async function(e,n){return i.connection.replaceInterruptedFile(e,n)},cancelMediaUpload:function(e){i.connection.cancelMedia(e)},loadImage:s,loadVideo:d,loadVoice:s,loadFile:async function(e){if(void 0===i.mediaTransfer)throw new Error("文件加载不可用:createImClient 未注入 media 配置(对象存储 S3 配置)");if(3===e.fileEncryptType)return d(e);const r=await i.mediaTransfer.download(c(e,!0));if(void 0===e.teaKey||0===e.teaKey.length||1===e.fileEncryptType)return r;const a=e.teaKey;if(!t(r))return i.crypto.decryptFileSimple({teaKey:a,cipherData:r});if(r.size<=n){const e=i.crypto.decryptFileSimple({teaKey:a,cipherData:await o(r)});return new Blob([e],{type:r.type})}const s=new Uint8Array(await r.slice(0,n).arrayBuffer()),u=i.crypto.decryptFileSimple({teaKey:a,cipherData:s});return new Blob([u,r.slice(n)],{type:r.type})},retry:function(e){i.connection.retryMessage(e)},markRead:async function(e){const n=e.conversationType??i.domainState.getSession(e.conversationId)?.type;if("channel"===n){const n=u(e.conversationId,e.readCursor);return void await i.connection.markRead(e.conversationId,n,"channel")}await i.connection.markRead(e.conversationId,e.readCursor,e.conversationType),"direct"===n&&await(i.prepareDirectReadReceipt?.(e.conversationId))},markConversationRead:async function(e,n){y(e);const r={...e};if(void 0===n){const e=i.domainState.getSession(r);if((e?.unreadCount??0)>0||(e?.mentionUnreadCount??0)>0){if("group"!==r.conversationType)throw new Error(`${"channel"===r.conversationType?"CHANNEL 已读缺少可信 historyCursor":"会话已读缺少可信最新消息位置"}(conversationId=${r.conversationId})`);if(void 0===i.settleEmptyGroupRead)throw new Error("GROUP 无正文整会话已读尚未装配");await i.settleEmptyGroupRead({conversationType:"group",conversationId:r.conversationId})}return void i.domainState.clearConversationManualUnread?.(r)}const t=i.connection.settleConversationRead;if(void 0===t)throw new Error("会话已读结算尚未装配");const o="channel"===r.conversationType?u(r.conversationId,n):n;await t(r,o),i.domainState.clearConversationManualUnread?.(r)},markVisibleMessages:async function(e,n){if(y(e),"direct"!==e.conversationType||0===n.length)return;const r=i.connection.reportVisibleMessages;if(void 0===r)throw new Error("可见消息回执尚未装配");r(e,n),await(i.prepareDirectReadReceipt?.(e.conversationId))},markDirectMediaConsumed:async function(e,n){i.connection.reportDirectMediaConsumed?.(e,n),await(i.prepareDirectReadReceipt?.(e))}}}}export{i as createMessageOperationsRuntime};
@@ -0,0 +1 @@
1
+ import{ImPinnedMessageOperationError as e}from"./pinned-message.js";async function n(n,s){const o=await s(n.conversationId,[n.messageId]),t=o.messages.filter(e=>e.id===n.messageId),i=t[0],a=o.missingMessageIds.includes(n.messageId);if(t.length>1||void 0!==i&&(a||i.conversationType!==n.conversationType||i.conversationId!==n.conversationId))throw new e({operation:"get",kind:"contract",message:"置顶原文查询返回冲突或错误会话的消息"});if(void 0===i){if(a)return null;throw new e({operation:"get",kind:"contract",message:"置顶原文查询未返回消息或明确缺失结果"})}return void 0!==i.recalled||void 0!==i.deletedForEveryone?null:{...n,preview:{state:"ready",message:i}}}export{n as validatePinnedMessageSource};
@@ -0,0 +1 @@
1
+ var e=Object.defineProperty,r=(r,s,o)=>((r,s,o)=>s in r?e(r,s,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[s]=o)(r,"symbol"!=typeof s?s+"":s,o);import{CoreJsonTransportError as s}from"../../../im-browser/src/http/requests/core-json-request.js";class o extends Error{constructor(e){super(e.message,void 0===e.cause?void 0:{cause:e.cause}),r(this,"operation"),r(this,"kind"),r(this,"code"),r(this,"retryable"),this.name="ImPinnedMessageOperationError",this.operation=e.operation,this.kind=e.kind,this.code=e.code,this.retryable=e.retryable??!1}}function t(e,r,s){return new o(39081===r?{operation:e,kind:"forbidden",code:r,message:s||"无权执行置顶消息操作"}:{operation:e,kind:"business",code:r,message:s||"置顶消息操作失败",retryable:r>=500})}function n(e,r){return r instanceof o?r:new o(r instanceof s?{operation:e,kind:"network",code:r.code,message:r.message,retryable:!0,cause:r}:{operation:e,kind:"contract",message:"置顶消息协议响应不符合合同",cause:r})}export{o as ImPinnedMessageOperationError,n as normalizePinnedOperationError,t as pinnedOperationFailure};
@@ -0,0 +1 @@
1
+ function t(t){return{...t.operations,get state(){return t.getState()}}}export{t as createConnectionApi};
@@ -0,0 +1 @@
1
+ import{createImSdkError as t}from"./message.js";import{ApplicationHttpError as e,ApplicationMappingError as a}from"../../../im-browser/src/http/application-http-adapters.js";import{ChannelJoinApplicationHttpError as n,ChannelJoinApplicationMappingError as o}from"../../../im-browser/src/http/channel-join-application-http-adapter.js";import{CoreJsonTransportError as r}from"../../../im-browser/src/http/requests/core-json-request.js";const c=40101,i=40109,p=40121,s=40122,I=40508,d=39016,l=40506,A=39057,_=40610,u=40501,g=40108,f=1017,P=39014,y=40521,m=40612,v=40617;function L(e){const a=t({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...void 0===e.cause?{}:{cause:e.cause}});return Object.assign(new Error(a.code),a,{name:"ImApplicationOperationError"})}function D(t,D,N){const h=function(t){if(t instanceof e||t instanceof n)return t.code}(N),O=function(t,e){switch(t){case c:return"IM_SDK_APPLICATION_ALREADY_CONTACT";case i:case u:return"IM_SDK_APPLICATION_PERMISSION_DENIED";case p:return"IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case s:return"IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case I:case d:return"IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case l:case A:return"IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case _:return"IM_SDK_APPLICATION_GROUP_DISBANDED";case g:return"IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case f:case P:return"IM_SDK_APPLICATION_OPERATION_FAILED";case y:case m:case v:return"IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return e}}(h,t),E=function(t){return t instanceof a||t instanceof o?{category:"contract",retryable:!1}:t instanceof r?{category:"network",retryable:!0}:{category:"state",retryable:!1}}(N);return L({code:O,category:E.category,operation:D,retryable:E.retryable,cause:N})}function N(t){const e=t?.code;return"string"==typeof e&&e.startsWith("IM_SDK_APPLICATION_")}function h(t,e){if("string"!=typeof t&&"number"!=typeof t)throw L({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:!1,cause:new Error(`${e} 缺失`)});const a=String(t).trim();if(""===a)throw L({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:!1,cause:new Error(`${e} 为空`)});return a}function O(t){if(void 0!==t){if("number"!=typeof t||!Number.isSafeInteger(t)||t<=0)throw L({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:!1,cause:new Error("createdAt 必须是正安全整数毫秒时间戳")});return t}}function E(t){return"contact"===t.domain?Object.freeze({domain:"contact",applicationId:t.applicationId}):"group"===t.domain?Object.freeze({domain:"group",applicationId:t.applicationId,conversation:Object.freeze({...t.conversation})}):Object.freeze({domain:"channel",applicationId:t.applicationId,conversation:Object.freeze({...t.conversation})})}function T(t){const e=O(t.createdAt),a=S(t.applicantAvatar,"contact.applicantAvatar"),n=S(t.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:E({domain:"contact",applicationId:h(t.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:h(t.applicantId,"contact.applicantId"),name:h(t.applicantName,"contact.applicantName"),...void 0===a?{}:{avatarUrl:a},...void 0===n?{}:{displayId:n}}),message:C(t.message,"contact.message"),...void 0===e?{}:{createdAt:e},state:"pending"})}function b(t){if("request"!==t.kind&&"invite"!==t.kind)throw L({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:!1,cause:new Error("group.kind 非法")});const e=O(t.createdAt),a=S(t.actor.avatarUrl,"group.actor.avatarUrl"),n=S(t.actor.displayId,"group.actor.displayId"),o=S(t.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:"invite"===t.kind?"group-invite":"group-request",ref:E({domain:"group",applicationId:h(t.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:h(t.groupId,"group.groupId")}}),applicant:Object.freeze({id:h(t.actor.id,"group.actor.id"),name:h(t.actor.name,"group.actor.name"),...void 0===a?{}:{avatarUrl:a},...void 0===n?{}:{displayId:n}}),target:Object.freeze({id:h(t.target.id,"group.target.id"),name:h(t.target.name,"group.target.name"),...void 0===o?{}:{avatarUrl:o}}),message:C(t.message,"group.message"),...void 0===e?{}:{createdAt:e},state:"pending"})}function S(t,e){if(void 0===t)return;if("string"!=typeof t&&"number"!=typeof t)throw L({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:!1,cause:new Error(`${e} 非文本`)});const a=String(t).trim();return""===a?void 0:a}function C(t,e){if("string"!=typeof t&&"number"!=typeof t)throw L({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:!1,cause:new Error(`${e} 非文本`)});return String(t).trim()}function M(t){const e=O(t.createdAt),a=S(t.applicantAvatar,"channel.applicantAvatar"),n=S(t.applicantDisplayId,"channel.applicantDisplayId"),o=S(t.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:E({domain:"channel",applicationId:h(t.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:h(t.channelId,"channel.channelId")}}),applicant:Object.freeze({id:h(t.applicantId,"channel.applicantId"),name:h(t.applicantName,"channel.applicantName"),...void 0===a?{}:{avatarUrl:a},...void 0===n?{}:{displayId:n}}),target:Object.freeze({id:h(t.channelId,"channel.channelId"),name:h(t.channelName,"channel.channelName"),...void 0===o?{}:{avatarUrl:o}}),message:C(t.message,"channel.message"),...void 0===e?{}:{createdAt:e},state:"pending"})}function w(t){return`${t.domain}:${t.applicationId}`}function R(t){let e=!1,a=0,n=0;const o=/* @__PURE__ */new Map,r=/* @__PURE__ */new Map,c=/* @__PURE__ */new Map;function i(n,o){if(e||!t.isActive()||void 0!==o&&a!==o)throw L({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:n,retryable:!1})}async function p(t,e){const a=[],n=/* @__PURE__ */new Set;let o;for(let r=0;r<1e3;r+=1){const r=await e({limit:50,...void 0===o?{}:{cursor:o}});if(!Array.isArray(r.items)||"boolean"!=typeof r.exhausted)throw L({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:t,retryable:!1});if(a.push(...r.items),r.exhausted)return a;const c="string"==typeof r.nextCursor?r.nextCursor.trim():"";if(""===c||n.has(c))throw L({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:t,retryable:!1});n.add(c),o=c}throw L({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:t,retryable:!1})}function s(e,n){const p="accepted"===n?"applications.accept":"applications.ignore",s=function(t,e){if(i(e),null===t||"object"!=typeof t)throw L({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:e,retryable:!1});const a="string"==typeof t?.applicationId?t.applicationId.trim():"";if(""===a)throw L({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:e,retryable:!1});if("contact"===t.domain)return E({domain:"contact",applicationId:a});const n="string"==typeof t.conversation?.conversationId?t.conversation.conversationId.trim():"";if("group"===t.domain&&"group"===t.conversation?.conversationType&&""!==n)return E({domain:"group",applicationId:a,conversation:{conversationType:"group",conversationId:n}});if("channel"===t.domain&&"channel"===t.conversation?.conversationType&&""!==n)return E({domain:"channel",applicationId:a,conversation:{conversationType:"channel",conversationId:n}});throw L({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:e,retryable:!1})}(e,p),I=w(s),d=r.get(I);if(d===n)return Promise.resolve();if(void 0!==d)return Promise.reject(L({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:p,retryable:!1}));const l=c.get(I);if(void 0!==l)return l.state===n?l.promise:Promise.reject(L({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:p,retryable:!0}));const A=a,_=Promise.resolve().then(async()=>{try{let e;if("contact"===s.domain){if(void 0===t.contact)throw L({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:p,retryable:!1});e="accepted"===n?t.contact.acceptApplication(s.applicationId):t.contact.ignoreApplication(s.applicationId)}else if("group"===s.domain){if(void 0===t.group)throw L({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:p,retryable:!1});e="accepted"===n?t.group.acceptApplication(s.applicationId):t.group.ignoreApplication(s.applicationId)}else{if(void 0===t.channel)throw L({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:p,retryable:!1});e="accepted"===n?t.channel.acceptJoinApplication(s.applicationId):t.channel.ignoreJoinApplication(s.applicationId)}if(await e,i(p,A),"accepted"===n&&"contact"===s.domain){const e=o.get(I);"contact-request"===e?.kind&&await(t.onContactAccepted?.(e.applicant.id,s.applicationId))}r.set(I,n);const a=function(t,e,a="pending"){return Object.freeze({ref:E(t),...void 0===e?{}:{createdAt:e},state:a})}(s,o.get(I)?.createdAt,n);o.delete(I),t.emitter.emit({type:"application:updated",application:a})}catch(t){if(N(t))throw t;throw i(p,A),D("IM_SDK_APPLICATION_ACTION_FAILED",p,t)}}),u=()=>{c.get(I)?.promise===_&&c.delete(I)};return c.set(I,{state:n,promise:_}),_.then(u,u),_}return{api:{listPending:async function(){const e="applications.listPending",c=function(e){if(i(e),void 0===t.contact||void 0===t.group||void 0===t.channel)throw L({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:e,retryable:!1});return{contact:t.contact,group:t.group,channel:t.channel}}(e),s=a,I=++n;try{const[t,a,d]=await Promise.all([p(e,t=>c.contact.listPendingApplications(t)),p(e,t=>c.group.listPendingApplications(t)),p(e,t=>c.channel.listJoinApplications(t))]);i(e,s);const l=[...t.map(T),...a.map(b),...d.map(M)],A=/* @__PURE__ */new Map;for(const t of l){const a=w(t.ref);if(r.has(a))continue;const n=A.get(a);if(void 0!==n&&JSON.stringify(n.ref)!==JSON.stringify(t.ref))throw L({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:e,retryable:!1});(void 0===n||(t.createdAt??0)>(n.createdAt??0))&&A.set(a,t)}const _=[...A.values()].sort((t,e)=>{const a=(e.createdAt??0)-(t.createdAt??0);return 0!==a?a:w(t.ref).localeCompare(w(e.ref))});if(I===n){o.clear();for(const t of _)o.set(w(t.ref),t)}return Object.freeze(_)}catch(t){if(N(t))throw t;throw i(e,s),D("IM_SDK_APPLICATION_LIST_FAILED",e,t)}},accept:async t=>s(t,"accepted"),ignore:async t=>s(t,"ignored")},dispose(){e||(e=!0,a+=1,o.clear(),r.clear(),c.clear())}}}export{R as createApplicationsRuntime};
@@ -0,0 +1 @@
1
+ import{createImSdkError as e}from"./message.js";function o(o,r,n){try{n()}catch(n){const t=n instanceof Error?n.message:String(n);if(t.includes("未鉴权"))throw e({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:o,retryable:!1,...void 0===r?{}:{conversation:r},cause:n});if(t.includes("只实现")||t.includes("当前通话不是"))throw e({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:o,retryable:!1,...void 0===r?{}:{conversation:r},cause:n});if(t.includes("已有进行中"))throw e({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:o,retryable:!1,...void 0===r?{}:{conversation:r},cause:n});if(t.includes("没有匹配")||t.includes("当前状态不能"))throw e({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:o,retryable:!1,...void 0===r?{}:{conversation:r},cause:n});throw e({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:o,retryable:!1,...void 0===r?{}:{conversation:r},cause:n})}}function r(e){return{invite(r){let n;return o("calls.invite",{conversationType:"direct",conversationId:r.peerId},()=>{n=e.invite({peerId:r.peerId,callId:r.callId,callKind:r.callKind??"audio"})}),n},accept(r){o("calls.accept",{conversationType:"direct",conversationId:r.peerId},()=>e.accept(r))},reject(r){o("calls.reject",{conversationType:"direct",conversationId:r.peerId},()=>e.reject(r))},busy(r){o("calls.busy",{conversationType:"direct",conversationId:r.peerId},()=>e.busy(r))},hangup(r){o("calls.hangup",{conversationType:"direct",conversationId:r.peerId},()=>e.hangup(r))},notifyPeerAudioBegin(r){o("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:r.peerId},()=>e.notifyPeerAudioBegin(r))},notifyPeerVideoBegin(r){o("calls.notifyPeerVideoBegin",{conversationType:"direct",conversationId:r.peerId},()=>e.notifyPeerVideoBegin(r))}}}export{r as createDirectCallsApi};
@@ -0,0 +1 @@
1
+ import{resolveChannelAccess as e}from"../../../im-core/src/state/channel-permissions.js";const n=Object.freeze({availability:"available",reason:"ok"});function s(e){return Object.freeze({availability:"unavailable",reason:e})}function t(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function o(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function r(e){return`${e.conversationType}:${e.conversationId}`}function a(e,n,s){const t=n.get(r(e));if(void 0!==t)for(const e of[...t])e(s)}function i(i){const c=/* @__PURE__ */new Map,d=/* @__PURE__ */new Map,u=/* @__PURE__ */new Map,l=/* @__PURE__ */new Map,v=/* @__PURE__ */new Map,p=/* @__PURE__ */new Map;let f,m,g=/* @__PURE__ */new Set,M=i.getSessionUserId(),w=0;function b(e){"direct"===e.conversationType?c.delete(e.conversationId):"group"===e.conversationType?d.delete(e.conversationId):"channel"===e.conversationType&&u.delete(e.conversationId)}function h(){c.clear(),d.clear(),u.clear(),p.clear(),g=/* @__PURE__ */new Set}function k(){const e=i.getSessionUserId();return e!==M&&(M=e,h()),e}function y(e){k();const n=++w;return p.set(r(e),n),n}function T(e,n){return k(),p.get(r(e))===n}function S(r,a={}){k();const l=a.nowMs??Date.now(),v=i.getConversation(r);if("direct"===r.conversationType){const e=o({conversationType:"direct",conversationId:r.conversationId}),a=c.get(r.conversationId),i=a?.relationship??"unknown",d=function(e){switch(e){case"friend":return"ok";case"blocked":return"blocked";case"none":case"pending":return"not-friend";case"unknown":return"relationship-unknown"}}(i),u="ok"===d?n:"relationship-unknown"===d?t(d):s(d),v="friend"===i?n:"unknown"===i?t(d):s(d);return Object.freeze({ref:e,conversationType:"direct",evaluatedAt:l,value:Object.freeze({relationship:i,...void 0===a?{}:{relationshipCheckedAt:a.checkedAt},canSendMessages:u,canOpenProfile:n,canUseMessageActions:u,canManageRelationship:v})})}if("customerService"===r.conversationType)return Object.freeze({ref:o({conversationType:"customerService",conversationId:r.conversationId}),conversationType:"customerService",evaluatedAt:l,value:Object.freeze({canSendMessages:s("unsupported-type"),canOpenProfile:s("unsupported-type"),canUseMessageActions:s("unsupported-type"),canReadHistory:n})});if("robot"===r.conversationType){const e=o({conversationType:"robot",conversationId:r.conversationId});return Object.freeze({ref:e,conversationType:"robot",evaluatedAt:l,value:Object.freeze({canSendMessages:n,canOpenProfile:n,canUseMessageActions:n,canReadHistory:n})})}if("group"===r.conversationType){const e=o({conversationType:"group",conversationId:r.conversationId}),a=d.get(r.conversationId),c="group"===v?.ref.conversationType?v.groupState??"active":"unknown",u=function(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"}}(c),p="ok"===u,f=i.getSessionUserId(),m=a?.ownerId,g=void 0!==f&&void 0!==m&&f===m,M=p?n:s(u),w=p?void 0===a?t("not-ready"):g?n:s("role-insufficient"):s(u);return Object.freeze({ref:e,conversationType:"group",evaluatedAt:l,value:Object.freeze({membership:c,...void 0===m?{}:{ownerId:m},isOwner:g,canSendMessages:M,canOpenProfile:M,canReadHistory:n,canUseMessageActions:M,canViewMembers:M,canEditProfile:w,canInviteMembers:M,canManageMembers:w,canPinMessages:w,canUnpinMessages:w,canTransferOwnership:w,canLeave:M,canUpdateVerification:w})})}const p=o({conversationType:"channel",conversationId:r.conversationId}),f=u.get(r.conversationId),m="channel"===v?.ref.conversationType&&void 0!==v.channelState?v.channelState:f?.state;if(void 0===m)return Object.freeze({ref:p,conversationType:"channel",evaluatedAt:l,value:Object.freeze({state:"unknown",role:f?.role??"unknown",permissions:Object.freeze({sendMessages:!1}),canSendMessages:t("unknown-restricted"),canOpenProfile:t("unknown-restricted"),canReadHistory:n,canUseMessageActions:t("unknown-restricted"),canMutateMessages:t("unknown-restricted"),canPinMessages:t("unknown-restricted"),canUnpinMessages:t("unknown-restricted"),canDeleteMessagesForEveryone:t("unknown-restricted"),canMentionAll:t("unknown-restricted"),canViewMembers:t("unknown-restricted"),canEditProfile:t("unknown-restricted"),canManageMembers:t("unknown-restricted"),canManageMute:t("unknown-restricted"),canDismiss:t("unknown-restricted"),canTransferOwnership:t("unknown-restricted"),canLeave:t("unknown-restricted"),canInviteMembers:t("unknown-restricted"),canSetMemberAdmin:t("unknown-restricted"),canRemoveMembers:t("unknown-restricted"),canSetMemberPrivateChat:t("unknown-restricted")})});const g=e({channelState:m,nowMs:l,..."channel"===v?.ref.conversationType&&void 0!==v.channelAccessSnapshot?{snapshot:v.channelAccessSnapshot}:{},..."channel"===v?.ref.conversationType&&void 0!==v.channelPermissions?{permissions:v.channelPermissions}:void 0===f?.permissions?{}:{permissions:f.permissions}}),M=(w=g.channelState,b=g.muteReason,"active"===w?"ok":"muted"===w?"all-members"===b?"muted-all":"current-user"===b?"muted-self":"muted":"guest"===w?"guest":"left"===w?"left":"removed"===w?"removed":"dismissed"===w?"dismissed":"blacklisted"===w?"blacklisted":"unknown-restricted");var w,b;const h="active"===g.channelState||"muted"===g.channelState,y="active"===g.channelState?g.permissions.sendMessages?n:s("unknown-restricted"):s(M),T=e=>h&&e?n:s(h?"role-insufficient":M),S=e=>"active"===g.channelState&&e?n:s("muted"===g.channelState?M:h?"role-insufficient":M),I=!1===f?.memberPrivateChatDisabled||!0===g.permissions.manageMembers,O=h?void 0===f&&!0!==g.permissions.manageMembers?t("not-ready"):T(I):s(M),A="muted"===g.channelState?s(M):h?n:s(M),P=function(e,n){if("channel"!==e?.ref.conversationType||!0!==e.channelAccessSnapshot?.allMembersMuted||void 0===e.channelAccessSnapshot.mutePeriod)return;const s=/^(\d{1,2}):(\d{2})_(\d{1,2}):(\d{2})$/.exec(e.channelAccessSnapshot.mutePeriod);if(null===s)return;const t=Number(s[1]),o=Number(s[2]),r=Number(s[3]),a=Number(s[4]);if(t>23||r>23||o>59||a>59)return;const i=new Date(n);i.setHours(t,o,0,0);const c=new Date(n);if(c.setHours(r,a,59,999),i.getTime()<=n&&n<=c.getTime())return c.getTime()+1;if(n<i.getTime())return i.getTime();const d=i;return d.setDate(d.getDate()+1),d.getTime()}(v,l);return Object.freeze({ref:p,conversationType:"channel",evaluatedAt:l,...void 0===P?{}:{nextEvaluationAt:P},value:Object.freeze({state:g.channelState,role:f?.role??v?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({...g.permissions}),...void 0===g.muteReason?{}:{muteReason:g.muteReason},canSendMessages:y,canOpenProfile:h?n:s(M),canReadHistory:n,canUseMessageActions:h?n:s(M),canMutateMessages:A,canPinMessages:S(!0===g.permissions.moderateMessages),canUnpinMessages:S(!0===g.permissions.moderateMessages),canDeleteMessagesForEveryone:S(!0===g.permissions.moderateMessages),canMentionAll:T(!0===g.permissions.mentionAll),canViewMembers:O,canEditProfile:T(!0===g.permissions.editProfile),canManageMembers:T(!0===g.permissions.manageMembers),canManageMute:T(!0===g.permissions.manageMute),canDismiss:T(!0===g.permissions.dismissChannel),canTransferOwnership:T(!0===g.permissions.transferOwnership),canLeave:h?n:s(M),canInviteMembers:T(!0===g.permissions.manageMembers),canSetMemberAdmin:T(!0===g.permissions.manageAdmins),canRemoveMembers:T(!0===g.permissions.manageMembers),canSetMemberPrivateChat:T(!0===g.permissions.manageMute)})})}function I(e,n,s){const t={conversationType:"direct",conversationId:e};T(t,s)&&(c.set(e,{relationship:n,checkedAt:Date.now()}),a(t,l,S(t)))}function O(e,n,s){T(e,s)&&(d.set(e.conversationId,n),a(e,l,S(e)))}function A(e,n,s){T(e,s)&&(u.set(e.conversationId,n),a(e,l,S(e)))}const P=Object.freeze({get:S,refresh:async function(e,n={}){const s=y(e);if("direct"===e.conversationType){const n=await i.getRelationship(e.conversationId);T(e,s)&&I(e.conversationId,n,s)}else if("group"===e.conversationType){const n={conversationType:"group",conversationId:e.conversationId},t=await i.getGroupProfile(n,{forceRefresh:!0});T(e,s)&&O(n,t,s)}else if("channel"===e.conversationType){const n={conversationType:"channel",conversationId:e.conversationId},t=await i.getChannelProfile(n,{forceRefresh:!0});T(e,s)&&A(n,t,s)}return S(e,n)},subscribe:function(e,n,s={}){k();const t=r(e),c=l.get(t)??/* @__PURE__ */new Set;return c.add(n),l.set(t,c),v.set(t,o(e)),n(S(e,s)),void 0===m&&(m=i.subscribeContext?.(e=>{k(),a(e,l,S(e))})),void 0===f&&(f=i.subscribeConversations(e=>{k();const n=Date.now(),s=new Set(e.map(e=>r(e.ref)));for(const s of e){const e=S(s.ref,{nowMs:n});a(s.ref,l,e)}for(const[e,t]of v){if(!g.has(e)||s.has(e))continue;b(t);const o=S(t,{nowMs:n});a(t,l,o)}g=s})),()=>{c.delete(n),0===c.size&&l.delete(t),l.has(t)||v.delete(t),0===l.size&&(m?.(),m=void 0,f?.(),f=void 0,g=/* @__PURE__ */new Set)}}});return Object.freeze({...P,api:P,beginProjectionUpdate:y,updateRelationshipProjection:I,updateGroupProfileProjection:O,updateChannelProfileProjection:A,reset:function(){h();const e=Date.now();for(const n of v.values())a(n,l,S(n,{nowMs:e}))},dispose:function(){m?.(),m=void 0,f?.(),f=void 0,l.clear(),v.clear(),h()}})}export{i as createConversationCapabilitiesApi};
@@ -0,0 +1 @@
1
+ import{createImTextSearchMatcher as e}from"../../../im-core/src/mapping/search-text.js";const n=Object.freeze([]);let t=0;function r(r){const o=r.now??(()=>Date.now()),a=r.cacheTtlMs??3e5,s=r.maxCacheEntries??64;if(!Number.isFinite(a)||a<=0)throw new Error("CHANNEL @候选 cacheTtlMs 必须为正数");if(!Number.isInteger(s)||s<=0)throw new Error("CHANNEL @候选 maxCacheEntries 必须为正整数");const i=++t,c=/* @__PURE__ */new Map,d=/* @__PURE__ */new Map,l=/* @__PURE__ */new Map,u=/* @__PURE__ */new Map,f=/* @__PURE__ */new Map,h=/* @__PURE__ */new Map,g=/* @__PURE__ */new Map,p=/* @__PURE__ */new Set;let w=0,m=!0;const v=e=>u.get(e)??0;function N(){if(!m)throw new Error("CHANNEL @候选 runtime 已释放")}function C(e){if("channel"!==e.conversationType)throw new Error("CHANNEL @候选只接受频道会话");const n=e.conversationId.trim();if(""===n)throw new Error("CHANNEL @候选:频道 id 不能为空");return n}function E(e){const n=c.get(e);c.delete(e),void 0!==n?.page.nextPageToken&&l.delete(n.page.nextPageToken)}function x(e){const n=[],t=/* @__PURE__ */new Map;for(const r of e){const e=r.userId.trim();if(""===e)throw new Error("CHANNEL @候选分页合同错误:userId 不能为空");t.has(e)||n.push(e);const o=r.displayName.trim()||e,a=r.avatar?.trim();t.set(e,Object.freeze({userId:e,displayName:o,...void 0===a||""===a?{}:{avatar:a}}))}return Object.freeze(n.map(e=>t.get(e)))}async function I(n,t){const r=await e(t);return Object.freeze(n.filter(e=>null!==r.match(e.displayName)||null!==r.match(e.userId,{pinyin:!1})))}function k(e,n){const t=e.map(e=>e.userId),r=new Map(e.map(e=>[e.userId,e]));for(const e of n)r.has(e.userId)||t.push(e.userId),r.set(e.userId,e);return t.map(e=>r.get(e))}function y(e,n,t){const r=`im-channel-mention:${i}:${++w}`;for(l.set(r,{...e,generation:n,expiresAt:t});l.size>s;){const e=l.keys().next().value;if("string"!=typeof e)break;l.delete(e)}return r}function A(e){const n=e.nextCursor?.trim();if(e.exhausted&&void 0!==n)throw new Error("CHANNEL @候选分页合同错误:exhausted 页不得返回 nextCursor");if(!e.exhausted&&(void 0===n||""===n))throw new Error("CHANNEL @候选分页合同错误:未结束页必须返回 nextCursor");return n}function L(){if(void 0===r.provider)throw new Error("CHANNEL @候选能力未启用:缺少专用 mention member provider");return r.provider}function P(e,n){const t=f.get(e);for(void 0!==t?.page.nextPageToken&&l.delete(t.page.nextPageToken),f.delete(e),f.set(e,n);f.size>s;){const e=f.keys().next().value;if(void 0===e)break;const n=f.get(e);void 0!==n?.page.nextPageToken&&l.delete(n.page.nextPageToken),f.delete(e)}}function b(e,n){const t=o()+a,r={channelId:e.channelId,kind:"list"},s=void 0===e.nextCursor?void 0:y({...r,cursor:e.nextCursor},n,t);return{generation:n,updatedAt:e.updatedAt,page:Object.freeze({items:x(e.items),...void 0===s?{}:{nextPageToken:s},exhausted:e.exhausted})}}function M(e){N();const n=f.get(e);if(void 0!==n)return Promise.resolve(n);if(p.has(e)||void 0===r.storage?.getChannelMentionCandidateSnapshot)return Promise.resolve(null);const t=g.get(e);if(void 0!==t)return t;const o=v(e),a=r.storage.getChannelMentionCandidateSnapshot(e).then(n=>{if(N(),null===n||n.channelId!==e||v(e)!==o||p.has(e))return null;const t=b(n,o);return P(e,t),t}).finally(()=>{g.get(e)===a&&g.delete(e)});return g.set(e,a),a}function H(e){N();const n=h.get(e);if(void 0!==n)return n;const t=v(e),a=L(),s=(async()=>{let n,s=!1,i=[];for(let r=0;r<12&&!s;r+=1){const r=await a.listMentionMembers({channelId:e,limit:18,...void 0===n?{}:{cursor:n}});if(N(),v(e)!==t)throw new Error("CHANNEL @候选预取已因成员变化失效");n=A(r),s=r.exhausted,i=k(i,r.items)}const c=o(),d={channelId:e,items:i,...void 0===n?{}:{nextCursor:n},exhausted:s,updatedAt:c};if(v(e)!==t)throw new Error("CHANNEL @候选预取已因成员变化失效");if(await(r.storage?.saveChannelMentionCandidateSnapshot?.(d)),N(),v(e)!==t)throw new Error("CHANNEL @候选预取已因成员变化失效");const l=b(d,t);return P(e,l),l.page})().finally(()=>{h.get(e)===s&&h.delete(e)});return h.set(e,s),s}function j(e,t=!1){N();const r=v(e.channelId),i=function(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}(e);if(!t){const e=function(e,n){const t=c.get(e);return void 0===t?null:t.generation!==n||t.expiresAt<=o()?(E(e),null):(c.delete(e),c.set(e,t),t.page)}(i,r);if(null!==e)return Promise.resolve(e)}const l=d.get(i);if(void 0!==l&&l.generation===r)return l.promise;const u=L(),f="list"===e.kind?u.listMentionMembers({channelId:e.channelId,limit:18,...void 0===e.cursor?{}:{cursor:e.cursor}}):u.searchMentionMembers({channelId:e.channelId,query:e.keyword,limit:18,...void 0===e.cursor?{}:{cursor:e.cursor}}),h=Promise.resolve(f).then(async t=>{N();const d="search"===e.kind&&void 0===e.cursor?await async function(e,t){const r=await M(e);return null===r?n:I(r.page.items,t)}(e.channelId,e.keyword):n;if(N(),v(e.channelId)!==r)throw new Error("CHANNEL @候选搜索已因成员变化失效");const l=o()+a,u=function(e,n,t,r){const o=A(e),a=void 0===o?void 0:y({...n,cursor:o},t,r);return Object.freeze({items:x(e.items),...void 0===a?{}:{nextPageToken:a},exhausted:e.exhausted})}(t,e,r,l),f=0===d.length?u:function(e,n){const t=[...e.items],r=new Set(t.map(e=>e.userId));for(const e of n)r.has(e.userId)||(r.add(e.userId),t.push(e));return Object.freeze({...e,items:Object.freeze(t)})}(u,d);return v(e.channelId)===r&&function(e,n){for(E(e),c.set(e,n);c.size>s;){const e=c.keys().next().value;if("string"!=typeof e)break;E(e)}}(i,{channelId:e.channelId,generation:r,expiresAt:l,page:f}),f}).finally(()=>{d.get(i)?.promise===h&&d.delete(i)});return d.set(i,{generation:r,promise:h}),h}function z(e,n){N();const t=l.get(e);if(void 0===t)throw new Error("CHANNEL @候选 page token 无效或不属于当前账号 runtime");if(t.kind!==n)throw new Error(`CHANNEL @候选 token 不能用于 ${n} 分页`);if(t.expiresAt<=o())throw l.delete(e),new Error("CHANNEL @候选 page token 已过期");if(v(t.channelId)!==t.generation)throw l.delete(e),new Error("CHANNEL @候选 page token 已因成员变化失效");return t}return{api:{peekFirstPage(e){if(!m)return null;const n=C(e),t=f.get(n);return void 0===t||t.generation!==v(n)?null:(P(n,t),t.page)},peekSearchCandidates(e,n){if(!m)return Object.freeze([]);const t=C(e),r=n.trim().toLocaleLowerCase();if(""===r)return Object.freeze([]);const o=f.get(t);return void 0===o||o.generation!==v(t)?Object.freeze([]):(P(t,o),Object.freeze(o.page.items.filter(e=>e.displayName.toLocaleLowerCase().includes(r)||e.userId.toLocaleLowerCase().includes(r))))},async getCachedPage(e,n){const t=C(e),r=await M(t);if(null===r)return null;const o=n?.trim()??"";if(""===o)return r.page;const a=await I(r.page.items,o);return N(),r.generation!==v(t)?null:Object.freeze({items:a,exhausted:!0})},async prefetchFirstPage(e){const n=C(e),t=await M(n);null!==t&&t.updatedAt+a>o()||await H(n)},refreshFirstPage:async e=>H(C(e)),async listFirstPage(e){const n=C(e),t=f.get(n);if(void 0!==t&&t.generation===v(n))return P(n,t),t.page;const r=await M(n);return null!==r?r.page:H(n)},listNextPage:async e=>j(z(e,"list")),async searchFirstPage(e,n){const t=C(e),r=n.trim();return""===r?Promise.reject(new Error("CHANNEL @候选搜索关键词不能为空")):j({channelId:t,kind:"search",keyword:r})},async refreshSearchFirstPage(e,n){const t=C(e),r=n.trim();return""===r?Promise.reject(new Error("CHANNEL @候选搜索关键词不能为空")):j({channelId:t,kind:"search",keyword:r},!0)},searchNextPage:async e=>j(z(e,"search"))},async invalidate(e){if(!m)return;const n=e.trim();if(""===n)return;u.set(n,v(n)+1),p.add(n);const t=f.get(n);void 0!==t?.page.nextPageToken&&l.delete(t.page.nextPageToken),f.delete(n),h.delete(n),g.delete(n);for(const[e,t]of c)t.channelId===n&&E(e);for(const[e,t]of l)t.channelId===n&&l.delete(e);void 0!==r.storage?.deleteChannelMentionCandidateSnapshot&&(await r.storage.deleteChannelMentionCandidateSnapshot(n),p.delete(n))},clear(){if(!m)return;const e=/* @__PURE__ */new Set;for(const n of c.values())e.add(n.channelId);for(const n of l.values())e.add(n.channelId);for(const n of e)u.set(n,v(n)+1);c.clear(),l.clear(),d.clear(),f.clear(),h.clear(),g.clear(),p.clear()},dispose(){m&&(m=!1,c.clear(),l.clear(),d.clear(),f.clear(),h.clear(),g.clear(),p.clear())}}}export{r as createChannelMentionCandidatesRuntime};
@@ -0,0 +1 @@
1
+ import{createImSdkError as e}from"./message.js";import{getConversationBackgroundPresets as o}from"../../../im-browser/src/http/requests/get-conversation-background-presets.js";function t(o){return e({...o,retryable:o.retryable??!1})}function r(e,o){if("supergroup"===e?.conversationType)throw t({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:o,conversation:e});if("direct"!==e?.conversationType&&"group"!==e?.conversationType&&"channel"!==e?.conversationType&&"robot"!==e?.conversationType&&"customerService"!==e?.conversationType||"string"!=typeof e.conversationId||""===e.conversationId.trim())throw t({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:o,...void 0===e?{}:{conversation:e}});return{conversationType:e.conversationType,conversationId:e.conversationId}}function n(e,o){try{const o=new URL(e);if("http:"===o.protocol||"https:"===o.protocol)return e}catch{}throw t({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:o})}async function a(e,o,r){if("preset"===e.kind){if(""===e.presetId.trim())throw t({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:o});return{kind:"preset",presetId:e.presetId,url:n(e.url,o)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||0===e.blob.size||e.blob.size>r)throw t({code:e.blob instanceof Blob&&e.blob.size>r?"IM_SDK_CONVERSATION_BACKGROUND_TOO_LARGE":"IM_SDK_CONVERSATION_BACKGROUND_IMAGE_INVALID",category:"validation",operation:o});const a=new Uint8Array(await e.blob.arrayBuffer());return{kind:"custom",mimeType:e.mimeType,bytes:a}}function c(e){if("preset"===e.kind)return Object.freeze({kind:"preset",presetId:e.presetId,url:e.url});const o=e.bytes.slice();return Object.freeze({kind:"custom",mimeType:e.mimeType,blob:new Blob([o.buffer],{type:e.mimeType})})}function i(e){return Object.freeze({id:e.id,url:e.url,...void 0===e.name?{}:{name:e.name}})}function s(e){const n=e.maxCustomImageBytes??20971520;let s,u,d=!1,l=0;async function f(o,r){try{return await r(function(e,o){if(void 0!==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)return e;throw t({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:o})}(e.storage,o))}catch(e){if("object"==typeof e&&null!==e&&"code"in e)throw e;throw t({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:o,cause:e})}}return{api:{async getBackground(e){const o="conversations.getBackground",t=r(e,o);return f(o,async e=>{const o=await e.getConversationBackground(t);if(null!==o)return Object.freeze({source:"conversation",selection:c(o)});const r=await e.getDefaultConversationBackground();return null===r?Object.freeze({source:"builtin",selection:null}):Object.freeze({source:"default",selection:c(r)})})},async setBackground(e,o){const t="conversations.setBackground",c=r(e,t),i=await a(o,t,n);await f(t,e=>e.saveConversationBackground(c,i))},async resetBackground(e){const o="conversations.resetBackground",t=r(e,o);await f(o,e=>e.deleteConversationBackground(t))},getDefaultBackground:async()=>f("conversations.getDefaultBackground",async e=>{const o=await e.getDefaultConversationBackground();return null===o?Object.freeze({source:"builtin",selection:null}):Object.freeze({source:"default",selection:c(o)})}),async setDefaultBackground(e){const o="conversations.setDefaultBackground",t=await a(e,o,n);await f(o,e=>e.saveDefaultConversationBackground(t))},async resetDefaultBackground(){await f("conversations.resetDefaultBackground",e=>e.deleteDefaultConversationBackground())},listBackgroundPresets(r){const n="conversations.listBackgroundPresets";if(d)return Promise.reject(t({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:n}));if(!r?.forceRefresh&&void 0!==s)return Promise.resolve(s);if(!r?.forceRefresh&&void 0!==u)return u;if(void 0===e.coreClient)return Promise.reject(t({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:n}));const a=++l,c=o(e.coreClient).then(e=>{const o=Object.freeze(e.map(i));return d||a!==l||(s=o),o}).catch(e=>{throw t({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:n,retryable:!0,cause:e})}).finally(()=>{a===l&&(u=void 0)});return u=c,c}},dispose(){d=!0,l+=1,s=void 0,u=void 0}}}export{s as createConversationBackgroundRuntime};
@@ -0,0 +1 @@
1
+ import{throwIfAborted as e}from"../../../im-core/src/abort.js";import{compareBySortKey as r}from"../../../im-core/src/mapping/sort.js";import{isConversationUnreadMessage as t}from"../../../im-core/src/mapping/unread-divider.js";import{isMessageVisibleInTimeline as o}from"../../../im-core/src/mapping/session-mapper.js";function s(e){return e.length>0&&e.every(e=>"system"===e.contentType)}function n(e){return o(e)&&void 0===e.recalled&&void 0===e.deletedForEveryone}function a(e,r,o,s){const a=[];for(const i of e)!n(i)||void 0!==o&&i.sortKey<=o||(s?.(i)??t(i,r))&&a.push(i);return{unreadMessages:a}}function i(e,r){return Object.freeze({state:"located",firstMessageId:e,...void 0===r?{}:{count:r}})}async function d(t){if(e(t.signal),t.unreadCount<=0)return await t.openLatest(),Object.freeze({state:"none"});if(void 0!==t.loadReadCursorPage)return async function(t){void 0!==t.readCursorSortKey&&await t.openAt(t.readCursorSortKey);const o=/* @__PURE__ */new Map,n=/* @__PURE__ */new Set;let d,u,c;const y=e=>a(void 0===t.entryUpperSortKey?e:e.filter(e=>e.sortKey<=t.entryUpperSortKey),t.selfId,u,t.isEntryUnread).unreadMessages;for(let a=0;a<=(t.maxExtraPages??2);a+=1){e(t.signal);const a=await t.loadReadCursorPage(d);if(e(t.signal),void 0===a)break;if(void 0!==u&&u!==a.readCursorSortKey)throw new Error("首未读历史邻页的已读边界发生变化");u=a.readCursorSortKey,c=a;for(const e of a.messages){if(e.conversationId!==t.conversation.conversationId||e.conversationType!==t.conversation.conversationType)throw new Error("首未读历史邻页的会话身份不一致");o.set(e.id,e)}const i=y([...o.values()].sort(r)),p=void 0!==t.entryUpperSortKey&&a.messages.some(e=>e.sortKey>=t.entryUpperSortKey);if(s(i)&&(a.exhausted||p))return await t.openLatest(),e(t.signal),Object.freeze({state:"none"});if(p||i.some(e=>"system"!==e.contentType))break;if(a.exhausted||void 0===a.nextCursor||a.nextCursor===d||n.has(a.nextCursor))break;n.add(a.nextCursor),d=a.nextCursor}const p=[...o.values()].sort(r),l=y(p)[0];return void 0!==l&&void 0!==c?(await t.openAt(l.sortKey,{messages:p,hasNewer:!c.exhausted,...void 0===c.nextCursor?{}:{nextCursor:c.nextCursor}}),e(t.signal),i(l.id,t.unreadCount)):Object.freeze({state:"unavailable"})}(t);const o=/* @__PURE__ */new Map,n=()=>{const e=t.list();for(const r of e)o.delete(r.id);for(const r of a(e,t.selfId,t.readCursorSortKey,t.isEntryUnread).unreadMessages)void 0!==t.entryUpperSortKey&&r.sortKey>t.entryUpperSortKey||o.set(r.id,{id:r.id,sortKey:r.sortKey,contentType:r.contentType});return[...o.values()].sort(r)},d=void 0!==t.readCursorSortKey;d?await t.openAt(t.readCursorSortKey):await t.openLatest(),e(t.signal);const u=d&&t.list().some(e=>e.sortKey===t.readCursorSortKey);let c=!1;const y=()=>{u&&void 0!==t.entryUpperSortKey&&t.list().some(e=>e.sortKey>=t.entryUpperSortKey)&&(c=!0)};y();let p=n();const l=t.maxExtraPages??2,f=t.paginationKey??(()=>JSON.stringify(t.list().map(e=>[e.id,e.sortKey]))),v=/* @__PURE__ */new Set,g=()=>!c&&(p.length<t.unreadCount||d&&s(p));for(let r=0;g()&&(d?t.hasNewer():t.hasOlder())&&r<l&&(e(t.signal),v.add(f()),await(d?t.loadNewer():t.loadOlder()),e(t.signal),p=n(),y(),void 0===t.maxExtraPages||!v.has(f()));r+=1);if(p.length<t.unreadCount&&!c)return d?await t.openAt(t.readCursorSortKey):await t.openLatest(),Object.freeze({state:"unavailable"});const m=d?p:p.slice(-t.unreadCount);if(c&&0===m.length||(!d||!t.hasNewer()||c)&&s(m))return await t.openLatest(),Object.freeze({state:"none"});const K=m[0];return void 0===K?Object.freeze({state:"unavailable"}):(t.preserveLocatedWindow&&t.list().some(e=>e.id===K.id)||await t.openAt(K.sortKey),e(t.signal),i(K.id,t.unreadCount))}export{d as resolveConversationEntryUnread};