@tencent-rtc/mcp 1.4.7 → 1.6.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 (553) hide show
  1. package/cursor-setting.png +0 -0
  2. package/index.js +0 -1
  3. package/knowledge/bm25-cache.js +73 -0
  4. package/knowledge/bm25.js +147 -0
  5. package/knowledge/build-index.js +69 -0
  6. package/knowledge/chunker.js +167 -0
  7. package/knowledge/content-loader.js +39 -0
  8. package/knowledge/doc-url-resolver.js +142 -0
  9. package/knowledge/extractors.js +25 -0
  10. package/knowledge/path-meta.js +184 -0
  11. package/knowledge/search/exact-lookup.js +497 -0
  12. package/knowledge/search/filter-pool.js +104 -0
  13. package/knowledge/search/product-scope-intent.js +40 -0
  14. package/knowledge/search/requires-framework.js +81 -0
  15. package/knowledge/search/search-knowledge.js +229 -0
  16. package/mcp-server-prompt.png +0 -0
  17. package/package.json +1 -1
  18. package/resource/_schema/feature-aliases.yaml +10 -0
  19. package/resource/_schema/goal-tags.yaml +72 -0
  20. package/resource/_schema/products.yaml +19 -0
  21. package/resource/_schema/trtc-intents.yaml +27 -0
  22. package/resource/_schema/types.yaml +43 -0
  23. package/resource/index/component-slugs.json +1 -0
  24. package/resource/index/doc-source-urls.json +1 -0
  25. package/resource/index/manifest.json +1 -0
  26. package/resource/{doc → integration}/callkit/preset/android/integration.md +34 -28
  27. package/resource/integration/callkit/preset/flutter/integration.md +346 -0
  28. package/resource/integration/callkit/preset/ios/integration.md +408 -0
  29. package/resource/integration/callkit/preset/react/integration.md +362 -0
  30. package/resource/integration/callkit/preset/vue/integration.md +356 -0
  31. package/resource/integration/chat/preset/android/integration.md +500 -0
  32. package/resource/integration/chat/preset/flutter/integration.md +370 -0
  33. package/resource/integration/chat/preset/ios/integration.md +566 -0
  34. package/resource/integration/chat/preset/react/integration.md +490 -0
  35. package/resource/integration/chat/preset/vue/integration.md +504 -0
  36. package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +26 -22
  37. package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +22 -18
  38. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +309 -0
  39. package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +47 -39
  40. package/resource/integration/roomkit/preset/vue/integration.md +562 -0
  41. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +828 -0
  42. package/resource/knowledge/callkit/core-sdk/android/make-call.md +897 -0
  43. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +363 -0
  44. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1111 -0
  45. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1132 -0
  46. package/resource/{doc → knowledge}/callkit/core-sdk/flutter/offline-push.md +174 -151
  47. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1084 -0
  48. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1252 -0
  49. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +534 -0
  50. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
  51. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
  52. package/resource/knowledge/callkit/faq/android.md +92 -0
  53. package/resource/{doc/callkit/faq/android-faq.md → knowledge/callkit/faq/common.md} +11 -12
  54. package/resource/knowledge/callkit/faq/error-code.md +67 -0
  55. package/resource/knowledge/callkit/faq/flutter.md +52 -0
  56. package/resource/knowledge/callkit/faq/ios.md +104 -0
  57. package/resource/knowledge/callkit/faq/web.md +74 -0
  58. package/resource/knowledge/callkit/preset/android/api.md +412 -0
  59. package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
  60. package/resource/knowledge/callkit/preset/ios/api.md +234 -0
  61. package/resource/knowledge/callkit/preset/web/api.md +83 -0
  62. package/resource/knowledge/chat/preset/android/features/chat-setting.md +74 -0
  63. package/resource/knowledge/chat/preset/android/features/contact-list.md +43 -0
  64. package/resource/knowledge/chat/preset/android/features/conversation-list.md +117 -0
  65. package/resource/knowledge/chat/preset/android/features/language.md +136 -0
  66. package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
  67. package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
  68. package/resource/knowledge/chat/preset/android/features/search.md +64 -0
  69. package/resource/knowledge/chat/preset/android/features/theme.md +222 -0
  70. package/resource/knowledge/chat/preset/android-view/integration.md +300 -0
  71. package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +64 -0
  72. package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
  73. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
  74. package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
  75. package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
  76. package/resource/knowledge/chat/preset/flutter/features/message-list.md +158 -0
  77. package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
  78. package/resource/knowledge/chat/preset/flutter/features/theme.md +261 -0
  79. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +94 -0
  80. package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
  81. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
  82. package/resource/knowledge/chat/preset/ios/features/language.md +125 -0
  83. package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
  84. package/resource/knowledge/chat/preset/ios/features/message-list.md +162 -0
  85. package/resource/knowledge/chat/preset/ios/features/search.md +93 -0
  86. package/resource/knowledge/chat/preset/ios/features/theme.md +270 -0
  87. package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +160 -158
  88. package/resource/knowledge/chat/preset/react/features/chat-setting.md +101 -0
  89. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +43 -41
  90. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +215 -0
  91. package/resource/knowledge/chat/preset/react/features/conversation-list.md +339 -0
  92. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +101 -0
  93. package/resource/knowledge/chat/preset/react/features/conversation-search.md +61 -0
  94. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +117 -156
  95. package/resource/knowledge/chat/preset/react/features/message-list.md +297 -0
  96. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/search.md +65 -59
  97. package/resource/knowledge/chat/preset/react/features/theme.md +93 -0
  98. package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
  99. package/resource/knowledge/chat/preset/vue/features/chat-setting.md +79 -0
  100. package/resource/knowledge/chat/preset/vue/features/contact-list.md +277 -0
  101. package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +234 -0
  102. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +331 -0
  103. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +216 -0
  104. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +13 -13
  105. package/resource/knowledge/chat/preset/vue/features/message-input.md +551 -0
  106. package/resource/knowledge/chat/preset/vue/features/message-list.md +350 -0
  107. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +79 -73
  108. package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
  109. package/resource/knowledge/chat/urls/error-code.md +17 -0
  110. package/resource/knowledge/chat/urls/product.md +43 -0
  111. package/resource/knowledge/chat/urls/restapi.md +204 -0
  112. package/resource/knowledge/chat/urls/sdk/android.md +80 -0
  113. package/resource/knowledge/chat/urls/sdk/flutter.md +71 -0
  114. package/resource/knowledge/chat/urls/sdk/ios.md +80 -0
  115. package/resource/knowledge/chat/urls/sdk/web.md +80 -0
  116. package/resource/knowledge/chat/urls/webhook.md +68 -0
  117. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +286 -0
  118. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
  119. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
  120. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +55 -0
  121. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
  122. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
  123. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
  124. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
  125. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +51 -0
  126. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
  127. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
  128. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +488 -0
  129. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +219 -0
  130. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +282 -0
  131. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
  132. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +153 -0
  133. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
  134. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
  135. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
  136. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +426 -0
  137. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
  138. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +52 -0
  139. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
  140. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +150 -0
  141. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +438 -0
  142. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +190 -0
  143. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +291 -0
  144. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
  145. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
  146. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
  147. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
  148. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
  149. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
  150. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
  151. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +51 -0
  152. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
  153. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
  154. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +487 -0
  155. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +183 -0
  156. package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +736 -0
  157. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +53 -47
  158. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +28 -24
  159. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +22 -18
  160. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +17 -15
  161. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +19 -18
  162. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +102 -89
  163. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +41 -37
  164. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +45 -43
  165. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +23 -20
  166. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +41 -41
  167. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +70 -69
  168. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +68 -71
  169. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +43 -47
  170. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +59 -56
  171. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +103 -105
  172. package/resource/knowledge/livekit/core-sdk/live/flutter/live-host-interaction.md +869 -0
  173. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +84 -87
  174. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +43 -40
  175. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +11 -10
  176. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +28 -24
  177. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +22 -18
  178. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +15 -14
  179. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +19 -18
  180. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +54 -50
  181. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +41 -37
  182. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +40 -40
  183. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +19 -18
  184. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +53 -47
  185. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +28 -24
  186. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +22 -18
  187. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +41 -33
  188. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +94 -81
  189. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +35 -30
  190. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +45 -42
  191. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-room-list.md +23 -20
  192. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +260 -0
  193. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +598 -0
  194. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-barrage.md +490 -0
  195. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +65 -59
  196. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +424 -0
  197. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +69 -76
  198. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-room-list.md +726 -0
  199. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +11 -10
  200. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +28 -24
  201. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +22 -18
  202. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +41 -33
  203. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +54 -50
  204. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +35 -30
  205. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +49 -46
  206. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-room-list.md +19 -18
  207. package/resource/knowledge/livekit/faq/error-code.md +193 -0
  208. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/barrage.md +56 -53
  209. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-audience-list.md +22 -21
  210. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-view.md +34 -32
  211. package/resource/knowledge/push/config/android.md +92 -0
  212. package/resource/knowledge/push/config/harmonyos.md +83 -0
  213. package/resource/knowledge/push/config/ios.md +254 -0
  214. package/resource/knowledge/push/config/react-native.md +254 -0
  215. package/resource/knowledge/push/config/unity.md +209 -0
  216. package/resource/knowledge/push/config/unreal-engine.md +194 -0
  217. package/resource/knowledge/push/integration/android.md +404 -0
  218. package/resource/knowledge/push/integration/flutter.md +465 -0
  219. package/resource/knowledge/push/integration/harmonyos.md +63 -0
  220. package/resource/knowledge/push/integration/ios.md +246 -0
  221. package/resource/knowledge/push/integration/react-native.md +366 -0
  222. package/resource/knowledge/push/integration/uni-app.md +208 -0
  223. package/resource/knowledge/push/integration/unity.md +389 -0
  224. package/resource/knowledge/push/integration/unreal-engine.md +390 -0
  225. package/resource/knowledge/push/overview/prepare.md +60 -0
  226. package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +241 -0
  227. package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +588 -0
  228. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +364 -0
  229. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +340 -0
  230. package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
  231. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +797 -0
  232. package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +325 -0
  233. package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +325 -0
  234. package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +233 -0
  235. package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +569 -0
  236. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +325 -0
  237. package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +322 -0
  238. package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +221 -0
  239. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +49 -48
  240. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +461 -0
  241. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +216 -0
  242. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +370 -0
  243. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-participant-state.md +61 -60
  244. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +280 -0
  245. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-view.md +57 -56
  246. package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +319 -0
  247. package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +267 -0
  248. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +261 -0
  249. package/resource/knowledge/roomkit/preset/android/integration.md +396 -0
  250. package/resource/knowledge/roomkit/preset/flutter/integration.md +404 -0
  251. package/resource/knowledge/roomkit/preset/ios/integration.md +369 -0
  252. package/resource/knowledge/roomkit/preset/react/integration.md +576 -0
  253. package/resource/knowledge/rtcengine/web/how_to_run_web_sdk_demo.md +44 -0
  254. package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +8 -2
  255. package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +19 -1
  256. package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
  257. package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +8 -8
  258. package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
  259. package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +6 -6
  260. package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +3 -3
  261. package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +18 -0
  262. package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
  263. package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +2 -2
  264. package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +1 -1
  265. package/resource/knowledge/trtc/android/TRTCCloud.md +1915 -0
  266. package/resource/knowledge/trtc/android/TRTCCloudDef.md +1029 -0
  267. package/resource/knowledge/trtc/android/TRTCCloudListener.md +1095 -0
  268. package/resource/knowledge/trtc/android/TRTCStatistics.md +68 -0
  269. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +502 -0
  270. package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
  271. package/resource/knowledge/trtc/android/TXDeviceManager.md +169 -0
  272. package/resource/knowledge/trtc/android/TXLiteAVCode.md +125 -0
  273. package/resource/knowledge/trtc/c++/ITRTCCloud.md +2069 -0
  274. package/resource/knowledge/trtc/c++/ITRTCStatistics.md +73 -0
  275. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
  276. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +391 -0
  277. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1191 -0
  278. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +931 -0
  279. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +127 -0
  280. package/resource/knowledge/trtc/ios/TRTCCloud.md +2118 -0
  281. package/resource/knowledge/trtc/ios/TRTCCloudDef.md +975 -0
  282. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1131 -0
  283. package/resource/knowledge/trtc/ios/TRTCStatistics.md +68 -0
  284. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +423 -0
  285. package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
  286. package/resource/knowledge/trtc/ios/TXDeviceManager.md +387 -0
  287. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +127 -0
  288. package/server-config.js +0 -1
  289. package/server.js +35 -12
  290. package/streamable-http.js +0 -1
  291. package/tools/call/get_native_call_uikit_integration.js +2 -4
  292. package/tools/call/get_native_callkit_core_integration.js +2 -6
  293. package/tools/call/get_web_call_uikit_integration.js +2 -4
  294. package/tools/chat/get_native_chat_uikit_integration.js +2 -4
  295. package/tools/chat/get_web_chat_uikit_integration.js +2 -4
  296. package/tools/common/get_usersig.js +0 -1
  297. package/tools/common/present_framework_choice.js +19 -14
  298. package/tools/common/record_answer.js +19 -26
  299. package/tools/common/record_feedback.js +17 -31
  300. package/tools/common/search_trtc_knowledge.js +44 -0
  301. package/tools/definitions/get_native_call_uikit_integration_def.js +3 -2
  302. package/tools/definitions/get_native_callkit_core_integration_def.js +5 -4
  303. package/tools/definitions/get_native_chat_uikit_integration_def.js +5 -3
  304. package/tools/definitions/get_native_livekit_core_integration_def.js +6 -6
  305. package/tools/definitions/get_usersig_def.js +0 -1
  306. package/tools/definitions/get_web_call_uikit_integration_def.js +4 -3
  307. package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -1
  308. package/tools/definitions/get_web_live_uikit_integration_def.js +5 -6
  309. package/tools/definitions/get_web_room_core_integration_def.js +49 -0
  310. package/tools/definitions/get_web_room_uikit_integration_def.js +5 -5
  311. package/tools/definitions/integration-boundary.js +5 -0
  312. package/tools/definitions/present_framework_choice_def.js +12 -11
  313. package/tools/definitions/record_answer_def.js +19 -18
  314. package/tools/definitions/record_feedback_def.js +14 -14
  315. package/tools/definitions/search_trtc_knowledge_def.js +39 -0
  316. package/tools/index.js +5 -37
  317. package/tools/live/get_native_livekit_core_integration.js +1 -4
  318. package/tools/live/get_web_live_uikit_integration.js +2 -5
  319. package/tools/room/get_web_room_core_integration.js +47 -0
  320. package/tools/room/get_web_room_uikit_integration.js +2 -4
  321. package/utils/generate-structured-result.js +24 -31
  322. package/utils/generate-usersig.js +0 -1
  323. package/utils/get-device-identifier.js +0 -1
  324. package/utils/get-doc-content.js +14 -9
  325. package/utils/http-get.js +0 -1
  326. package/utils/http-post.js +0 -1
  327. package/utils/report-cls-client.js +18 -21
  328. package/utils/report-es-client.js +1 -2
  329. package/index.js.map +0 -1
  330. package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
  331. package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -852
  332. package/resource/doc/callkit/core-sdk/android/make-call.md +0 -954
  333. package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -361
  334. package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1160
  335. package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1205
  336. package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1090
  337. package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1248
  338. package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -485
  339. package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -950
  340. package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1052
  341. package/resource/doc/callkit/faq/common/error-code.md +0 -47
  342. package/resource/doc/callkit/faq/flutter-faq.md +0 -115
  343. package/resource/doc/callkit/faq/ios-faq.md +0 -115
  344. package/resource/doc/callkit/faq/web-faq.md +0 -36
  345. package/resource/doc/callkit/preset/android/api.md +0 -296
  346. package/resource/doc/callkit/preset/flutter/api.md +0 -410
  347. package/resource/doc/callkit/preset/flutter/integration.md +0 -164
  348. package/resource/doc/callkit/preset/ios/api.md +0 -80
  349. package/resource/doc/callkit/preset/ios/integration.md +0 -187
  350. package/resource/doc/callkit/preset/react/api.md +0 -501
  351. package/resource/doc/callkit/preset/react/integration.md +0 -86
  352. package/resource/doc/callkit/preset/vue/api.md +0 -501
  353. package/resource/doc/callkit/preset/vue/integration.md +0 -83
  354. package/resource/doc/chatkit/android/faq.md +0 -111
  355. package/resource/doc/chatkit/android/features/theme.md +0 -219
  356. package/resource/doc/chatkit/android/integration.md +0 -490
  357. package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -281
  358. package/resource/doc/chatkit/faq/common/product.md +0 -7
  359. package/resource/doc/chatkit/faq/common/server.md +0 -44
  360. package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
  361. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -199
  362. package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -53
  363. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -235
  364. package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
  365. package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -287
  366. package/resource/doc/chatkit/flutter/faq.md +0 -23
  367. package/resource/doc/chatkit/flutter/features/theme.md +0 -235
  368. package/resource/doc/chatkit/flutter/integration.md +0 -344
  369. package/resource/doc/chatkit/ios/faq.md +0 -111
  370. package/resource/doc/chatkit/ios/features/theme.md +0 -267
  371. package/resource/doc/chatkit/react/components/avatar.md +0 -104
  372. package/resource/doc/chatkit/react/components/chat-header.md +0 -148
  373. package/resource/doc/chatkit/react/components/chat-setting.md +0 -57
  374. package/resource/doc/chatkit/react/components/chat.md +0 -38
  375. package/resource/doc/chatkit/react/components/component-list.md +0 -37
  376. package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
  377. package/resource/doc/chatkit/react/components/conversation-list.md +0 -333
  378. package/resource/doc/chatkit/react/components/conversation-preview.md +0 -118
  379. package/resource/doc/chatkit/react/components/conversation-search.md +0 -60
  380. package/resource/doc/chatkit/react/components/message-list.md +0 -293
  381. package/resource/doc/chatkit/react/components/tuikit.md +0 -34
  382. package/resource/doc/chatkit/react/faq.md +0 -26
  383. package/resource/doc/chatkit/react/integration.md +0 -416
  384. package/resource/doc/chatkit/vue/components/avatar.md +0 -104
  385. package/resource/doc/chatkit/vue/components/chat-header.md +0 -148
  386. package/resource/doc/chatkit/vue/components/chat-setting.md +0 -62
  387. package/resource/doc/chatkit/vue/components/chat.md +0 -45
  388. package/resource/doc/chatkit/vue/components/component-list.md +0 -87
  389. package/resource/doc/chatkit/vue/components/contact-list.md +0 -271
  390. package/resource/doc/chatkit/vue/components/conversation-actions.md +0 -228
  391. package/resource/doc/chatkit/vue/components/conversation-list.md +0 -320
  392. package/resource/doc/chatkit/vue/components/conversation-preview.md +0 -213
  393. package/resource/doc/chatkit/vue/components/message-input.md +0 -1054
  394. package/resource/doc/chatkit/vue/components/message-list.md +0 -433
  395. package/resource/doc/chatkit/vue/components/tuikit.md +0 -31
  396. package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
  397. package/resource/doc/chatkit/vue/faq.md +0 -36
  398. package/resource/doc/chatkit/vue/integration.md +0 -428
  399. package/resource/doc/livekit/core-sdk/live/flutter/live-host-interaction.md +0 -866
  400. package/resource/doc/livekit/faq/common/error-code.md +0 -88
  401. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
  402. package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -91
  403. package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -112
  404. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -215
  405. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +0 -300
  406. package/resource/doc/roomkit/faq/common/error-code.md +0 -67
  407. package/resource/doc/roomkit/vue/features/call-user-to-room.md +0 -220
  408. package/resource/doc/roomkit/vue/features/device-state.md +0 -460
  409. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +0 -215
  410. package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
  411. package/resource/doc/roomkit/vue/features/room-state.md +0 -282
  412. package/resource/doc/roomkit/vue/features/schedule-room.md +0 -318
  413. package/resource/doc/roomkit/vue/features/screen-share.md +0 -265
  414. package/resource/doc/roomkit/vue/features/virtual-background.md +0 -271
  415. package/resource/doc/roomkit/vue/integration.md +0 -315
  416. package/resource/doc/rtcengine/faq/common/error_code.md +0 -1
  417. package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
  418. package/resource/doc/rtcengine/web/.gitkeep +0 -0
  419. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +0 -59
  420. package/resource/doc/trtc/C++/ITRTCCloud.md +0 -1970
  421. package/resource/doc/trtc/C++/ITRTCStatistics.md +0 -70
  422. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -469
  423. package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -387
  424. package/resource/doc/trtc/C++/TRTCCloudCallback.md +0 -1082
  425. package/resource/doc/trtc/C++/TRTCTypeDef.md +0 -925
  426. package/resource/doc/trtc/C++/TXLiteAVCode.md +0 -129
  427. package/resource/doc/trtc/android/TRTCCloud.md +0 -1815
  428. package/resource/doc/trtc/android/TRTCCloudDef.md +0 -992
  429. package/resource/doc/trtc/android/TRTCCloudListener.md +0 -1004
  430. package/resource/doc/trtc/android/TRTCStatistics.md +0 -65
  431. package/resource/doc/trtc/android/TXAudioEffectManager.md +0 -469
  432. package/resource/doc/trtc/android/TXBeautyManager.md +0 -402
  433. package/resource/doc/trtc/android/TXDeviceManager.md +0 -173
  434. package/resource/doc/trtc/android/TXLiteAVCode.md +0 -127
  435. package/resource/doc/trtc/iOS/TRTCCloud.md +0 -2028
  436. package/resource/doc/trtc/iOS/TRTCCloudDef.md +0 -958
  437. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +0 -1046
  438. package/resource/doc/trtc/iOS/TRTCStatistics.md +0 -65
  439. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +0 -397
  440. package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -403
  441. package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -381
  442. package/resource/doc/trtc/iOS/TXLiteAVCode.md +0 -130
  443. package/server-config.js.map +0 -1
  444. package/server.js.map +0 -1
  445. package/streamable-http.js.map +0 -1
  446. package/tools/call/get_callkit_api.js +0 -33
  447. package/tools/call/get_callkit_api.js.map +0 -1
  448. package/tools/call/get_native_call_uikit_integration.js.map +0 -1
  449. package/tools/call/get_native_callkit_core_integration.js.map +0 -1
  450. package/tools/call/get_web_call_uikit_integration.js.map +0 -1
  451. package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
  452. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
  453. package/tools/chat/get_native_chat_uikit_integration.js.map +0 -1
  454. package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
  455. package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
  456. package/tools/chat/get_web_chat_uikit_integration.js.map +0 -1
  457. package/tools/common/get_faq.js +0 -266
  458. package/tools/common/get_faq.js.map +0 -1
  459. package/tools/common/get_usersig.js.map +0 -1
  460. package/tools/common/present_framework_choice.js.map +0 -1
  461. package/tools/common/record_answer.js.map +0 -1
  462. package/tools/common/record_feedback.js.map +0 -1
  463. package/tools/common/record_skill_session.js +0 -69
  464. package/tools/common/record_skill_session.js.map +0 -1
  465. package/tools/definitions/get_callkit_api_def.js +0 -29
  466. package/tools/definitions/get_callkit_api_def.js.map +0 -1
  467. package/tools/definitions/get_faq_def.js +0 -47
  468. package/tools/definitions/get_faq_def.js.map +0 -1
  469. package/tools/definitions/get_native_call_uikit_integration_def.js.map +0 -1
  470. package/tools/definitions/get_native_callkit_core_integration_def.js.map +0 -1
  471. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
  472. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
  473. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +0 -1
  474. package/tools/definitions/get_native_livekit_core_features_def.js +0 -34
  475. package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
  476. package/tools/definitions/get_native_livekit_core_integration_def.js.map +0 -1
  477. package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
  478. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
  479. package/tools/definitions/get_usersig_def.js.map +0 -1
  480. package/tools/definitions/get_web_call_uikit_integration_def.js.map +0 -1
  481. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
  482. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
  483. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +0 -1
  484. package/tools/definitions/get_web_live_uikit_integration_def.js.map +0 -1
  485. package/tools/definitions/get_web_livekit_api_def.js +0 -30
  486. package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
  487. package/tools/definitions/get_web_livekit_component_detail_def.js +0 -32
  488. package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
  489. package/tools/definitions/get_web_room_uikit_integration_def.js.map +0 -1
  490. package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -31
  491. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
  492. package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -27
  493. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
  494. package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -27
  495. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
  496. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -27
  497. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
  498. package/tools/definitions/present_framework_choice_def.js.map +0 -1
  499. package/tools/definitions/record_answer_def.js.map +0 -1
  500. package/tools/definitions/record_feedback_def.js.map +0 -1
  501. package/tools/definitions/record_skill_session_def.js +0 -31
  502. package/tools/definitions/record_skill_session_def.js.map +0 -1
  503. package/tools/index.js.map +0 -1
  504. package/tools/live/get_native_livekit_core_features.js +0 -68
  505. package/tools/live/get_native_livekit_core_features.js.map +0 -1
  506. package/tools/live/get_native_livekit_core_integration.js.map +0 -1
  507. package/tools/live/get_web_live_uikit_integration.js.map +0 -1
  508. package/tools/live/get_web_livekit_api.js +0 -33
  509. package/tools/live/get_web_livekit_api.js.map +0 -1
  510. package/tools/live/get_web_livekit_component_detail.js +0 -35
  511. package/tools/live/get_web_livekit_component_detail.js.map +0 -1
  512. package/tools/room/get_web_room_uikit_integration.js.map +0 -1
  513. package/tools/room/get_web_roomkit_feature_detail.js +0 -69
  514. package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
  515. package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
  516. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
  517. package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
  518. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
  519. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
  520. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
  521. package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
  522. package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
  523. package/utils/build-session-directives.js +0 -120
  524. package/utils/build-session-directives.js.map +0 -1
  525. package/utils/generate-structured-result.js.map +0 -1
  526. package/utils/generate-usersig.js.map +0 -1
  527. package/utils/get-device-identifier.js.map +0 -1
  528. package/utils/get-doc-content.js.map +0 -1
  529. package/utils/handle-framework.js +0 -9
  530. package/utils/handle-framework.js.map +0 -1
  531. package/utils/handle-state-name.js +0 -29
  532. package/utils/handle-state-name.js.map +0 -1
  533. package/utils/http-get.js.map +0 -1
  534. package/utils/http-post.js.map +0 -1
  535. package/utils/report-cls-client.js.map +0 -1
  536. package/utils/report-es-client.js.map +0 -1
  537. package/utils/report-runtime-error-cls-client.js +0 -91
  538. package/utils/report-runtime-error-cls-client.js.map +0 -1
  539. /package/resource/{doc/livekit/preset/live/vue/faq.md → knowledge/push/config/donut.md} +0 -0
  540. /package/resource/{doc/roomkit/vue/faq.md → knowledge/push/integration/donut.md} +0 -0
  541. /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
  542. /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
  543. /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
  544. /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
  545. /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
  546. /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
  547. /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
  548. /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
  549. /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
  550. /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
  551. /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
  552. /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
  553. /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
@@ -0,0 +1,569 @@
1
+ `RoomParticipantStore` is a specialized module within `AtomicXCore` designed for managing participants in a conference room. It provides essential functionality for multi-party conference scenarios, enabling you to build a robust participant management system.
2
+
3
+ ## Core Features
4
+ - **Get the participant list**: Retrieve details for everyone currently in the room.
5
+
6
+ - **Transfer room ownership**: The current owner can transfer ownership to another participant.
7
+
8
+ - **Grant/revoke admin role**: The owner can promote participants to admins and revoke admin privileges.
9
+
10
+ - **Remove a participant**: The owner or an admin can remove a participant from the room.
11
+
12
+ - **Update participant profile**: Participants can update their own in-room profile information.
13
+
14
+ - **Manage audio/video devices**: Invite participants to enable camera/mic, remotely turn off another participant’s camera/mic, and (for owners/admins) mute all or disable all video.
15
+
16
+ ## Core Concepts
17
+
18
+ The core concepts of `RoomParticipantStore` is summarized as follows:
19
+ | Core Concept | Type | Core Responsibilities & Description |
20
+ | --- | --- | --- |
21
+ | <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomparticipant">RoomParticipant</a> | <code>struct</code> | Represents the participant data model, encapsulating participant information and state management.<br>Main functions include managing participant basic information (user ID, user name, user avatar, in-room role) and managing device status (microphone, camera, screen sharing, message status). |
22
+ | <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomparticipantstate">RoomParticipantState</a> | <code>struct</code> | Represents the participant state management structure, responsible for maintaining participant-related state information in the room. Main properties:<br>- <code>participantList</code>collection of all participant information in the current room.<br>- <code>participantListCursor</code>snapshot for paginated participant list.<br>- <code>localParticipant</code>current user's participant information in the room. |
23
+ | <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomparticipantevent">RoomParticipantEvent</a> | <code>enum</code> | Represents real-time participant events in the room. Main categories: participant join/leave, role changes, device control events. |
24
+ | <a href="https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomparticipantstore">RoomParticipantStore</a> | <code>class</code> | Core class for participant control. Features: manage participant audio/video status, perform participant operations, receive real-time events via <code>participantEventPublisher</code>. |
25
+
26
+ ## Implementation Steps
27
+
28
+ ### Step 1: Add the SDK
29
+
30
+ Follow the Integration Overview to integrate the **AtomicXCore SDK**. Make sure you have completed the Login Logic Implementation.
31
+
32
+ ### Step 2: Retrieve the Participant List
33
+
34
+ After joining a room, use the `getParticipantList` method in `RoomParticipantStore` to fetch the participant list.
35
+ ``` swift
36
+ import Foundation
37
+ import AtomicXCore
38
+
39
+ func getParticipantList() {
40
+ // Prerequisite: You must have joined the room and initialized RoomParticipantStore with roomID
41
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
42
+
43
+ // Retrieve participant list starting from the first page
44
+ let initialCursor: String? = nil // nil means fetch from the first page
45
+
46
+ participantStore.getParticipantList(cursor: initialCursor) { result in
47
+ switch result {
48
+ case .success(let participantInfo):
49
+ print("Participant list retrieved, count: \(participantInfo.0.count)")
50
+ case .failure(let error):
51
+ print("Failed to get participant list [Error code: \(error.code)]: \(error.message)")
52
+ }
53
+ }
54
+ }
55
+ ```
56
+
57
+ ### Step 3: Search Room Members
58
+
59
+ Once you've joined the room, use `searchUsers` to search for members by keyword.
60
+ ``` swift
61
+ import Foundation
62
+ import AtomicXCore
63
+
64
+ func searchUsers() {
65
+ // Prerequisite: You must have joined the room.
66
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
67
+
68
+ // Search by user name keyword
69
+ let keyword = "userName"
70
+
71
+ participantStore.searchUsers(keyword: keyword) { result in
72
+ switch result {
73
+ case .success(let usersInfo):
74
+ print("Room members found, count: \(usersInfo.0.count)")
75
+ case .failure(let error):
76
+ print("Failed to search room members [Error code: \(error.code)]: \(error.message)")
77
+ }
78
+ }
79
+ }
80
+ ```
81
+
82
+ ### Step 4: Transfer the Room Ownership
83
+
84
+ If you are the owner, use `transferOwner` to transfer ownership to any participant. The original owner becomes a regular participant; each room can have only one owner.
85
+ ``` swift
86
+ import Foundation
87
+ import AtomicXCore
88
+
89
+ func transferOwner(to userID: String) {
90
+ // Prerequisite: You must have joined the room and initialized RoomParticipantStore with roomID
91
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
92
+
93
+ // Only the current owner can transfer ownership
94
+ participantStore.transferOwner(userID: userID) { result in
95
+ switch result {
96
+ case .success():
97
+ print("Ownership transferred. New owner: \(userID)")
98
+ case .failure(let error):
99
+ print("Ownership transfer failed [Error code: \(error.code)]: \(error.message)")
100
+ }
101
+ }
102
+ }
103
+ ```
104
+
105
+ Participants can subscribe to the `onOwnerChanged` event via `participantEventPublisher` to receive ownership change notifications.
106
+ ``` swift
107
+ import Foundation
108
+ import AtomicXCore
109
+ import Combine
110
+
111
+ private var cancellableSet = Set<AnyCancellable>()
112
+
113
+ private func subscribeParticipantEvent() {
114
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
115
+
116
+ participantStore.participantEventPublisher
117
+ .receive(on: DispatchQueue.main)
118
+ .sink { event in
119
+ switch event {
120
+ case .onOwnerChanged(let newOwner, let oldOwner):
121
+ print("Ownership changed: newOwner: \(newOwner), oldOwner: \(oldOwner)")
122
+ default: break
123
+ }
124
+ }
125
+ .store(in: &cancellableSet)
126
+ }
127
+ ```
128
+
129
+ ### Step 5: Grant or Revoke the Admin Privileges
130
+
131
+ As the owner, use `setAdmin` to assign admin privileges or `revokeAdmin` to remove them.
132
+ ``` swift
133
+ import Foundation
134
+ import AtomicXCore
135
+
136
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
137
+
138
+ func setUserAsAdmin(userID: String) {
139
+ participantStore.setAdmin(userID: userID) { result in
140
+ switch result {
141
+ case .success:
142
+ print("User \(userID) set as admin")
143
+ case .failure(let error):
144
+ print("Failed to set admin [Error code: \(error.code)]: \(error.message)")
145
+ }
146
+ }
147
+ }
148
+
149
+ func revokeUserAdmin(userID: String) {
150
+ participantStore.revokeAdmin(userID: userID) { result in
151
+ switch result {
152
+ case .success:
153
+ print("Admin privileges revoked for user \(userID)")
154
+ case .failure(let error):
155
+ print("Failed to revoke admin [Error code: \(error.code)]: \(error.message)")
156
+ }
157
+ }
158
+ }
159
+ ```
160
+
161
+ Participants can subscribe to `onAdminSet` and `onAdminRevoked` events to be notified of changes.
162
+ ``` swift
163
+ import Foundation
164
+ import AtomicXCore
165
+
166
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
167
+ private var cancellableSet = Set<AnyCancellable>()
168
+
169
+ private func subscribeParticipantEvents() {
170
+ participantStore.participantEventPublisher
171
+ .receive(on: DispatchQueue.main)
172
+ .sink { event in
173
+ switch event {
174
+ case .onAdminSet(let userInfo):
175
+ print("Admin assigned: \(userInfo)")
176
+ case .onAdminRevoked(let userInfo):
177
+ print("Admin revoked: \(userInfo)")
178
+ default: break
179
+ }
180
+ }
181
+ .store(in: &cancellableSet)
182
+ }
183
+ ```
184
+
185
+ ### Step 6: Remove Participants
186
+
187
+ Owners and admins can use `kickUser` to remove participants from the room.
188
+ ``` swift
189
+ import Foundation
190
+ import AtomicXCore
191
+
192
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
193
+
194
+ func kickUser(userID: String) {
195
+ // Only owners and admins have permission
196
+ participantStore.kickUser(userID: userID) { result in
197
+ switch result {
198
+ case .success():
199
+ print("User \(userID) removed from room")
200
+ case .failure(let error):
201
+ print("Failed to remove user [Error code: \(error.code)]: \(error.message)")
202
+ }
203
+ }
204
+ }
205
+ ```
206
+
207
+ Participants can listen for the `onKickedFromRoom` event to receive removal notifications.
208
+ ``` swift
209
+ import Foundation
210
+ import AtomicXCore
211
+ import Combine
212
+
213
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
214
+ private var cancellableSet = Set<AnyCancellable>()
215
+
216
+ private func subscribeParticipantEvent() {
217
+ participantStore.participantEventPublisher
218
+ .receive(on: DispatchQueue.main)
219
+ .sink { event in
220
+ switch event {
221
+ case .onKickedFromRoom(let reason, let message):
222
+ print("Removed from room: reason: \(reason), info: \(message)")
223
+ default:
224
+ break
225
+ }
226
+ }
227
+ .store(in: &cancellableSet)
228
+ }
229
+ ```
230
+
231
+ ### Step 7: Update the Participant Information
232
+
233
+ After joining, call `updateParticipantNameCard` and `updateParticipantMetaData` to update your information, including display name and custom metadata.
234
+ ``` swift
235
+ import Foundation
236
+ import AtomicXCore
237
+
238
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
239
+
240
+ func updateParticipantNameCard(userID: String, nameCard: String) {
241
+ // Display name or custom identifier
242
+ // Usually only admins or the participant themselves can modify
243
+ participantStore.updateParticipantNameCard(userID: userID, nameCard: nameCard) { result in
244
+ switch result {
245
+ case .success():
246
+ print("Name card updated: user \(userID), new value: \(nameCard)")
247
+ case .failure(let error):
248
+ print("Failed to update name card [Error code: \(error.code)]: \(error.message)")
249
+ }
250
+ }
251
+ }
252
+
253
+ func updateParticipantMetaData(userID: String, metaData: [String: String]) {
254
+ // Custom business data such as tags or extended attributes
255
+ // Key length ≤ 50 bytes, value length ≤ 200 bytes
256
+ participantStore.updateParticipantMetaData(userID: userID, metaData: metaData) { result in
257
+ switch result {
258
+ case .success():
259
+ print("Custom metadata updated: user \(userID), keys: \(metaData.count)")
260
+ case .failure(let error):
261
+ print("Failed to update metadata [Error code: \(error.code)]: \(error.message)")
262
+ }
263
+ }
264
+ }
265
+ ```
266
+
267
+ ### Step 8: Invite Participants to Enable Devices
268
+
269
+ Owners and admins can use `inviteToOpenDevice` to prompt participants to turn on their camera or microphone.
270
+ ``` swift
271
+ import Foundation
272
+ import AtomicXCore
273
+
274
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
275
+
276
+ func inviteUserToOpenDevice(userID: String, device: DeviceType, timeout: Int = 30) {
277
+ // Invite participant to enable device (microphone, camera, screen sharing)
278
+ // Participants receive a notification and can accept or decline
279
+ participantStore.inviteToOpenDevice(userID: userID, device: device, timeout: timeout) { result in
280
+ switch result {
281
+ case .success():
282
+ print("Device invitation sent: user \(userID), device: \(device)")
283
+ case .failure(let error):
284
+ print("Failed to send invitation [Error code: \(error.code)]: \(error.message)")
285
+ }
286
+ }
287
+ }
288
+ ```
289
+
290
+ Participants:
291
+ - Subscribe to `onDeviceInvitationReceived` for device invitation notifications.
292
+
293
+ - Call `acceptOpenDeviceInvitation` or `declineOpenDeviceInvitation` to accept or decline.
294
+
295
+ ``` swift
296
+ import Foundation
297
+ import AtomicXCore
298
+ import Combine
299
+
300
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
301
+ private var cancellableSet = Set<AnyCancellable>()
302
+
303
+ private func subscribeDeviceInvitationEvent() {
304
+ participantStore.participantEventPublisher
305
+ .receive(on: DispatchQueue.main)
306
+ .sink { event in
307
+ switch event {
308
+ case .onDeviceInvitationReceived(let invitation):
309
+ print("Device invitation received: device: \(invitation.device), sender: \(invitation.senderUserName)")
310
+ // Handle accept/decline
311
+ default: break
312
+ }
313
+ }
314
+ .store(in: &cancellableSet)
315
+ }
316
+
317
+ func acceptOpenDeviceInvitation(userID: String, device: DeviceType) {
318
+ participantStore.acceptOpenDeviceInvitation(userID: userID, device: device) { result in
319
+ switch result {
320
+ case .success():
321
+ print("Device invitation accepted: \(device)")
322
+ case .failure(let error):
323
+ print("Failed to accept invitation [Error code: \(error.code)]: \(error.message)")
324
+ }
325
+ }
326
+ }
327
+
328
+ func declineOpenDeviceInvitation(userID: String, device: DeviceType) {
329
+ participantStore.declineOpenDeviceInvitation(userID: userID, device: device) { result in
330
+ switch result {
331
+ case .success():
332
+ print("Device invitation declined: \(device)")
333
+ case .failure(let error):
334
+ print("Failed to decline invitation [Error code: \(error.code)]: \(error.message)")
335
+ }
336
+ }
337
+ }
338
+ ```
339
+
340
+ ### Step 9: Close Remote Devices
341
+
342
+ Owners and admins can use `closeParticipantDevice` to remotely disable a participant's camera or microphone.
343
+ ``` swift
344
+ import Foundation
345
+ import AtomicXCore
346
+
347
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
348
+
349
+ func closeParticipantDevice(userID: String, device: DeviceType) {
350
+ // Remotely disable specified participant’s device
351
+ participantStore.closeParticipantDevice(userID: userID, device: device) { result in
352
+ switch result {
353
+ case .success():
354
+ print("Closed device: user \(userID), device: \(device)")
355
+ case .failure(let error):
356
+ print("Failed to close device [Error code: \(error.code)]: \(error.message)")
357
+ }
358
+ }
359
+ }
360
+ ```
361
+
362
+ Participants can listen for the `onParticipantDeviceClosed` event to receive device closure notifications.
363
+ ``` swift
364
+ import Foundation
365
+ import AtomicXCore
366
+ import Combine
367
+
368
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
369
+ private var cancellableSet = Set<AnyCancellable>()
370
+
371
+ private func subscribeDeviceClosedEvent() {
372
+ participantStore.participantEventPublisher
373
+ .receive(on: DispatchQueue.main)
374
+ .sink { event in
375
+ switch event {
376
+ case .onParticipantDeviceClosed(let device, let operatorUser):
377
+ print("Device closed: \(device), operator: \(operatorUser.userName)")
378
+ default:
379
+ break
380
+ }
381
+ }
382
+ .store(in: &cancellableSet)
383
+ }
384
+ ```
385
+
386
+ ### Step 10: Request Permission to Turn On Devices
387
+
388
+ Participants can use `requestToOpenDevice` to ask the owner or admins for permission to enable their camera or microphone when restricted.
389
+ ``` swift
390
+ import Foundation
391
+ import AtomicXCore
392
+
393
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
394
+
395
+ func requestToOpenDevice(device: DeviceType, timeout: Int = 30) {
396
+ // Request to enable device
397
+ participantStore.requestToOpenDevice(device: device, timeout: timeout) { result in
398
+ switch result {
399
+ case .success():
400
+ print("Enable device request sent: \(device)")
401
+ case .failure(let error):
402
+ print("Failed to send request [Error code: \(error.code)]: \(error.message)")
403
+ }
404
+ }
405
+ }
406
+ ```
407
+
408
+ Owners and admins:
409
+ - Subscribe to `onDeviceRequestReceived` for device enable requests.
410
+
411
+ - Call `approveOpenDeviceRequest` or `rejectOpenDeviceRequest` to approve or deny.
412
+
413
+ ``` swift
414
+ import Foundation
415
+ import AtomicXCore
416
+ import Combine
417
+
418
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
419
+ private var cancellableSet = Set<AnyCancellable>()
420
+
421
+ private func subscribeDeviceRequestEvent() {
422
+ participantStore.participantEventPublisher
423
+ .receive(on: DispatchQueue.main)
424
+ .sink { event in
425
+ switch event {
426
+ case .onDeviceRequestReceived(let request):
427
+ print("Device request received: user \(request.senderUserName), device: \(request.device)")
428
+ // Approve or reject request
429
+ default:
430
+ break
431
+ }
432
+ }
433
+ .store(in: &cancellableSet)
434
+ }
435
+
436
+ func approveOpenDeviceRequest(device: DeviceType, userID: String) {
437
+ participantStore.approveOpenDeviceRequest(device: device, userID: userID) { result in
438
+ switch result {
439
+ case .success():
440
+ print("Device request approved: user \(userID), device: \(device)")
441
+ case .failure(let error):
442
+ print("Failed to approve request: \(error.message)")
443
+ }
444
+ }
445
+ }
446
+
447
+ func rejectOpenDeviceRequest(device: DeviceType, userID: String) {
448
+ participantStore.rejectOpenDeviceRequest(device: device, userID: userID) { result in
449
+ switch result {
450
+ case .success():
451
+ print("Device request rejected: user \(userID), device: \(device)")
452
+ case .failure(let error):
453
+ print("Failed to reject request [Error code: \(error.code)]: \(error.message)")
454
+ }
455
+ }
456
+ }
457
+ ```
458
+
459
+ ### Step 11: Mute All Microphones or Disable All Cameras
460
+
461
+ Owners and admins can use `disableAllDevices` to mute all microphones or disable all cameras in the room. Participants will not be able to enable these devices unless approved.
462
+ ``` swift
463
+ import Foundation
464
+ import AtomicXCore
465
+
466
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
467
+
468
+ func disableAllDevices(device: DeviceType, disable: Bool) {
469
+ // Mute/unmute all microphones or disable/enable all cameras
470
+ participantStore.disableAllDevices(device: device, disable: disable) { result in
471
+ switch result {
472
+ case .success():
473
+ let action = disable ? "Disabled" : "Enabled"
474
+ print("\(action) all \(device) successfully")
475
+ case .failure(let error):
476
+ let action = disable ? "Disabled" : "Enabled"
477
+ print("\(action) all \(device) failed [Error code: \(error.code)]: \(error.message)")
478
+ }
479
+ }
480
+ }
481
+ ```
482
+
483
+ Participants can subscribe to `onAllDevicesDisabled` to stay updated on mute-all or disable-all camera actions and synchronize their UI. When restricted, participants must request permission to enable their devices.
484
+ ``` swift
485
+ import Foundation
486
+ import AtomicXCore
487
+ import Combine
488
+
489
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
490
+ private var cancellableSet = Set<AnyCancellable>()
491
+
492
+ private func subscribeAllDevicesDisabledEvent() {
493
+ participantStore.participantEventPublisher
494
+ .receive(on: DispatchQueue.main)
495
+ .sink { event in
496
+ switch event {
497
+ case .onAllDevicesDisabled(let device, let disable, let operatorUser):
498
+ let action = disable ? "Disabled" : "Enabled"
499
+ print("All \(device) have been \(action) by \(operatorUser.userName)")
500
+ default:
501
+ break
502
+ }
503
+ }
504
+ .store(in: &cancellableSet)
505
+ }
506
+ ```
507
+
508
+ ### Step 12: Listen for Participant Events
509
+
510
+ Subscribe to `RoomParticipantEvent` for participant join/leave notifications.
511
+ ``` swift
512
+ import Foundation
513
+ import AtomicXCore
514
+ import Combine
515
+
516
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
517
+ private var cancellableSet = Set<AnyCancellable>()
518
+
519
+ private func subscribeParticipantEvent() {
520
+ participantStore.participantEventPublisher
521
+ .receive(on: DispatchQueue.main)
522
+ .sink { event in
523
+ switch event {
524
+ case .onParticipantJoined(let participant):
525
+ print("Participant joined: \(participant.userName), ID: \(participant.userID)")
526
+ case .onParticipantLeft(let participant):
527
+ print("Participant left: \(participant.userName), ID: \(participant.userID)")
528
+ default:
529
+ break
530
+ }
531
+ }
532
+ .store(in: &cancellableSet)
533
+ }
534
+ ```
535
+
536
+ Subscribe to changes in `RoomParticipantState` properties, such as tracking users who are currently speaking.
537
+ ``` swift
538
+ import Foundation
539
+ import AtomicXCore
540
+ import Combine
541
+
542
+ let participantStore = RoomParticipantStore.create(roomID: "your_room_id")
543
+ private var cancellableSet = Set<AnyCancellable>()
544
+
545
+ private func subscribeParticipantState() {
546
+ participantStore.state
547
+ .subscribe(StatePublisherSelector(keyPath: \.speakingUsers))
548
+ .map { $0 }
549
+ .removeDuplicates { oldValue, newValue in
550
+ // Prevent redundant processing
551
+ return oldValue == newValue
552
+ }
553
+ .receive(on: DispatchQueue.main)
554
+ .sink { speakingUsers in
555
+ print("Speaking users updated: count = \(speakingUsers.count)")
556
+ }
557
+ .store(in: &cancellableSet)
558
+ }
559
+ ```
560
+
561
+ ## API Documentation
562
+
563
+ |**Store/Component**|**Description**|**API Documentation**|
564
+ |---------|---------|---------|
565
+ |**RoomParticipantStore**|Manage participants in the room: assign admin roles, transfer ownership, retrieve participant list, remove participants, control participant devices (e.g., close, invite to enable camera/microphone), request device enable (e.g., request to enable camera/microphone).|[API Documentation](https://tencent-rtc.github.io/TUIKit_iOS/documentation/atomicxcore/roomparticipantstore)|
566
+
567
+ ## Contact Us
568
+
569
+ If you have any questions or suggestions during integration or use, please contact info_rtc@tencent.com.