@tencent-rtc/mcp 1.4.6 → 1.6.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/cursor-setting.png +0 -0
  2. package/knowledge/bm25-cache.js +74 -0
  3. package/knowledge/bm25-cache.js.map +1 -0
  4. package/knowledge/bm25.js +148 -0
  5. package/knowledge/bm25.js.map +1 -0
  6. package/knowledge/build-index.js +70 -0
  7. package/knowledge/build-index.js.map +1 -0
  8. package/knowledge/chunker.js +168 -0
  9. package/knowledge/chunker.js.map +1 -0
  10. package/knowledge/content-loader.js +40 -0
  11. package/knowledge/content-loader.js.map +1 -0
  12. package/knowledge/doc-url-resolver.js +143 -0
  13. package/knowledge/doc-url-resolver.js.map +1 -0
  14. package/knowledge/extractors.js +26 -0
  15. package/knowledge/extractors.js.map +1 -0
  16. package/knowledge/path-meta.js +185 -0
  17. package/knowledge/path-meta.js.map +1 -0
  18. package/knowledge/search/exact-lookup.js +498 -0
  19. package/knowledge/search/exact-lookup.js.map +1 -0
  20. package/knowledge/search/filter-pool.js +105 -0
  21. package/knowledge/search/filter-pool.js.map +1 -0
  22. package/knowledge/search/product-scope-intent.js +41 -0
  23. package/knowledge/search/product-scope-intent.js.map +1 -0
  24. package/knowledge/search/requires-framework.js +82 -0
  25. package/knowledge/search/requires-framework.js.map +1 -0
  26. package/knowledge/search/search-knowledge.js +230 -0
  27. package/knowledge/search/search-knowledge.js.map +1 -0
  28. package/mcp-server-prompt.png +0 -0
  29. package/package.json +1 -1
  30. package/resource/_schema/feature-aliases.yaml +10 -0
  31. package/resource/_schema/goal-tags.yaml +72 -0
  32. package/resource/_schema/products.yaml +19 -0
  33. package/resource/_schema/trtc-intents.yaml +27 -0
  34. package/resource/_schema/types.yaml +43 -0
  35. package/resource/index/component-slugs.json +1 -0
  36. package/resource/index/doc-source-urls.json +1 -0
  37. package/resource/index/manifest.json +1 -0
  38. package/resource/{doc → integration}/callkit/preset/android/integration.md +34 -28
  39. package/resource/integration/callkit/preset/flutter/integration.md +346 -0
  40. package/resource/integration/callkit/preset/ios/integration.md +408 -0
  41. package/resource/integration/callkit/preset/react/integration.md +362 -0
  42. package/resource/integration/callkit/preset/vue/integration.md +356 -0
  43. package/resource/integration/chat/preset/android/integration.md +500 -0
  44. package/resource/integration/chat/preset/flutter/integration.md +370 -0
  45. package/resource/integration/chat/preset/ios/integration.md +566 -0
  46. package/resource/integration/chat/preset/react/integration.md +490 -0
  47. package/resource/integration/chat/preset/vue/integration.md +504 -0
  48. package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +26 -22
  49. package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +22 -18
  50. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +309 -0
  51. package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +47 -39
  52. package/resource/integration/roomkit/preset/vue/integration.md +562 -0
  53. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +828 -0
  54. package/resource/knowledge/callkit/core-sdk/android/make-call.md +897 -0
  55. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +363 -0
  56. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1111 -0
  57. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1132 -0
  58. package/resource/{doc → knowledge}/callkit/core-sdk/flutter/offline-push.md +174 -151
  59. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1084 -0
  60. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1252 -0
  61. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +534 -0
  62. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
  63. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
  64. package/resource/knowledge/callkit/faq/android.md +92 -0
  65. package/resource/{doc/callkit/faq/android-faq.md → knowledge/callkit/faq/common.md} +11 -12
  66. package/resource/knowledge/callkit/faq/error-code.md +67 -0
  67. package/resource/knowledge/callkit/faq/flutter.md +52 -0
  68. package/resource/knowledge/callkit/faq/ios.md +104 -0
  69. package/resource/knowledge/callkit/faq/web.md +74 -0
  70. package/resource/knowledge/callkit/preset/android/api.md +412 -0
  71. package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
  72. package/resource/knowledge/callkit/preset/ios/api.md +234 -0
  73. package/resource/knowledge/callkit/preset/web/api.md +83 -0
  74. package/resource/knowledge/chat/preset/android/features/chat-setting.md +74 -0
  75. package/resource/knowledge/chat/preset/android/features/contact-list.md +43 -0
  76. package/resource/knowledge/chat/preset/android/features/conversation-list.md +117 -0
  77. package/resource/knowledge/chat/preset/android/features/language.md +136 -0
  78. package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
  79. package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
  80. package/resource/knowledge/chat/preset/android/features/search.md +64 -0
  81. package/resource/knowledge/chat/preset/android/features/theme.md +222 -0
  82. package/resource/knowledge/chat/preset/android-view/integration.md +300 -0
  83. package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +64 -0
  84. package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
  85. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
  86. package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
  87. package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
  88. package/resource/knowledge/chat/preset/flutter/features/message-list.md +158 -0
  89. package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
  90. package/resource/knowledge/chat/preset/flutter/features/theme.md +261 -0
  91. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +94 -0
  92. package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
  93. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
  94. package/resource/knowledge/chat/preset/ios/features/language.md +125 -0
  95. package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
  96. package/resource/knowledge/chat/preset/ios/features/message-list.md +162 -0
  97. package/resource/knowledge/chat/preset/ios/features/search.md +93 -0
  98. package/resource/knowledge/chat/preset/ios/features/theme.md +270 -0
  99. package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +160 -158
  100. package/resource/knowledge/chat/preset/react/features/chat-setting.md +101 -0
  101. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +43 -41
  102. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +215 -0
  103. package/resource/knowledge/chat/preset/react/features/conversation-list.md +339 -0
  104. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +101 -0
  105. package/resource/knowledge/chat/preset/react/features/conversation-search.md +61 -0
  106. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +117 -156
  107. package/resource/knowledge/chat/preset/react/features/message-list.md +297 -0
  108. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/search.md +65 -59
  109. package/resource/knowledge/chat/preset/react/features/theme.md +93 -0
  110. package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
  111. package/resource/knowledge/chat/preset/vue/features/chat-setting.md +79 -0
  112. package/resource/knowledge/chat/preset/vue/features/contact-list.md +277 -0
  113. package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +234 -0
  114. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +331 -0
  115. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +216 -0
  116. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +13 -13
  117. package/resource/knowledge/chat/preset/vue/features/message-input.md +551 -0
  118. package/resource/knowledge/chat/preset/vue/features/message-list.md +350 -0
  119. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +79 -73
  120. package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
  121. package/resource/knowledge/chat/urls/error-code.md +17 -0
  122. package/resource/knowledge/chat/urls/product.md +43 -0
  123. package/resource/knowledge/chat/urls/restapi.md +204 -0
  124. package/resource/knowledge/chat/urls/sdk/android.md +80 -0
  125. package/resource/knowledge/chat/urls/sdk/flutter.md +71 -0
  126. package/resource/knowledge/chat/urls/sdk/ios.md +80 -0
  127. package/resource/knowledge/chat/urls/sdk/web.md +80 -0
  128. package/resource/knowledge/chat/urls/webhook.md +68 -0
  129. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +286 -0
  130. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
  131. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
  132. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +55 -0
  133. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
  134. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
  135. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
  136. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
  137. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +51 -0
  138. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
  139. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
  140. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +488 -0
  141. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +219 -0
  142. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +282 -0
  143. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
  144. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +153 -0
  145. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
  146. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
  147. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
  148. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +426 -0
  149. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
  150. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +52 -0
  151. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
  152. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +150 -0
  153. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +438 -0
  154. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +190 -0
  155. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +291 -0
  156. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
  157. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
  158. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
  159. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
  160. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
  161. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
  162. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
  163. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +51 -0
  164. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
  165. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
  166. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +487 -0
  167. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +183 -0
  168. package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +736 -0
  169. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +53 -47
  170. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +28 -24
  171. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +22 -18
  172. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +17 -15
  173. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +19 -18
  174. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +102 -89
  175. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +41 -37
  176. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +45 -43
  177. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +23 -20
  178. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +41 -41
  179. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +70 -69
  180. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +68 -71
  181. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +43 -47
  182. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +59 -56
  183. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +103 -105
  184. package/resource/knowledge/livekit/core-sdk/live/flutter/live-host-interaction.md +869 -0
  185. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +84 -87
  186. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +43 -40
  187. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +11 -10
  188. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +28 -24
  189. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +22 -18
  190. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +15 -14
  191. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +19 -18
  192. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +54 -50
  193. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +41 -37
  194. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +40 -40
  195. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +19 -18
  196. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +53 -47
  197. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +28 -24
  198. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +22 -18
  199. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +41 -33
  200. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +94 -81
  201. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +35 -30
  202. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +45 -42
  203. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-room-list.md +23 -20
  204. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +260 -0
  205. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +598 -0
  206. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-barrage.md +490 -0
  207. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +65 -59
  208. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +424 -0
  209. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +69 -76
  210. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-room-list.md +726 -0
  211. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +11 -10
  212. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +28 -24
  213. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +22 -18
  214. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +41 -33
  215. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +54 -50
  216. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +35 -30
  217. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +49 -46
  218. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-room-list.md +19 -18
  219. package/resource/knowledge/livekit/faq/error-code.md +193 -0
  220. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/barrage.md +56 -53
  221. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-audience-list.md +22 -21
  222. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-view.md +34 -32
  223. package/resource/knowledge/push/config/android.md +92 -0
  224. package/resource/knowledge/push/config/harmonyos.md +83 -0
  225. package/resource/knowledge/push/config/ios.md +254 -0
  226. package/resource/knowledge/push/config/react-native.md +254 -0
  227. package/resource/knowledge/push/config/unity.md +209 -0
  228. package/resource/knowledge/push/config/unreal-engine.md +194 -0
  229. package/resource/knowledge/push/integration/android.md +404 -0
  230. package/resource/knowledge/push/integration/flutter.md +465 -0
  231. package/resource/knowledge/push/integration/harmonyos.md +63 -0
  232. package/resource/knowledge/push/integration/ios.md +246 -0
  233. package/resource/knowledge/push/integration/react-native.md +366 -0
  234. package/resource/knowledge/push/integration/uni-app.md +208 -0
  235. package/resource/knowledge/push/integration/unity.md +389 -0
  236. package/resource/knowledge/push/integration/unreal-engine.md +390 -0
  237. package/resource/knowledge/push/overview/prepare.md +60 -0
  238. package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +241 -0
  239. package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +588 -0
  240. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +364 -0
  241. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +340 -0
  242. package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
  243. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +797 -0
  244. package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +325 -0
  245. package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +325 -0
  246. package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +233 -0
  247. package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +569 -0
  248. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +325 -0
  249. package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +322 -0
  250. package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +221 -0
  251. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +49 -48
  252. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +461 -0
  253. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +216 -0
  254. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +370 -0
  255. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-participant-state.md +61 -60
  256. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +280 -0
  257. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-view.md +57 -56
  258. package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +319 -0
  259. package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +267 -0
  260. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +261 -0
  261. package/resource/knowledge/roomkit/preset/android/integration.md +396 -0
  262. package/resource/knowledge/roomkit/preset/flutter/integration.md +404 -0
  263. package/resource/knowledge/roomkit/preset/ios/integration.md +369 -0
  264. package/resource/knowledge/roomkit/preset/react/integration.md +576 -0
  265. package/resource/knowledge/rtcengine/web/how_to_run_web_sdk_demo.md +44 -0
  266. package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +8 -2
  267. package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +19 -1
  268. package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
  269. package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +8 -8
  270. package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
  271. package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +6 -6
  272. package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +3 -3
  273. package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +18 -0
  274. package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
  275. package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +2 -2
  276. package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +1 -1
  277. package/resource/knowledge/trtc/android/TRTCCloud.md +1915 -0
  278. package/resource/knowledge/trtc/android/TRTCCloudDef.md +1029 -0
  279. package/resource/knowledge/trtc/android/TRTCCloudListener.md +1095 -0
  280. package/resource/knowledge/trtc/android/TRTCStatistics.md +68 -0
  281. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +502 -0
  282. package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
  283. package/resource/knowledge/trtc/android/TXDeviceManager.md +169 -0
  284. package/resource/knowledge/trtc/android/TXLiteAVCode.md +125 -0
  285. package/resource/knowledge/trtc/c++/ITRTCCloud.md +2069 -0
  286. package/resource/knowledge/trtc/c++/ITRTCStatistics.md +73 -0
  287. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
  288. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +391 -0
  289. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1191 -0
  290. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +931 -0
  291. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +127 -0
  292. package/resource/knowledge/trtc/ios/TRTCCloud.md +2118 -0
  293. package/resource/knowledge/trtc/ios/TRTCCloudDef.md +975 -0
  294. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1131 -0
  295. package/resource/knowledge/trtc/ios/TRTCStatistics.md +68 -0
  296. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +423 -0
  297. package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
  298. package/resource/knowledge/trtc/ios/TXDeviceManager.md +387 -0
  299. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +127 -0
  300. package/server.js +35 -10
  301. package/server.js.map +1 -1
  302. package/tools/call/get_native_call_uikit_integration.js +2 -3
  303. package/tools/call/get_native_call_uikit_integration.js.map +1 -1
  304. package/tools/call/get_native_callkit_core_integration.js +2 -5
  305. package/tools/call/get_native_callkit_core_integration.js.map +1 -1
  306. package/tools/call/get_web_call_uikit_integration.js +2 -3
  307. package/tools/call/get_web_call_uikit_integration.js.map +1 -1
  308. package/tools/chat/get_native_chat_uikit_integration.js +2 -3
  309. package/tools/chat/get_native_chat_uikit_integration.js.map +1 -1
  310. package/tools/chat/get_web_chat_uikit_integration.js +2 -3
  311. package/tools/chat/get_web_chat_uikit_integration.js.map +1 -1
  312. package/tools/common/present_framework_choice.js +19 -13
  313. package/tools/common/present_framework_choice.js.map +1 -1
  314. package/tools/common/record_answer.js +19 -25
  315. package/tools/common/record_answer.js.map +1 -1
  316. package/tools/common/record_feedback.js +17 -30
  317. package/tools/common/record_feedback.js.map +1 -1
  318. package/tools/common/search_trtc_knowledge.js +45 -0
  319. package/tools/common/search_trtc_knowledge.js.map +1 -0
  320. package/tools/definitions/get_native_call_uikit_integration_def.js +3 -1
  321. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  322. package/tools/definitions/get_native_callkit_core_integration_def.js +5 -3
  323. package/tools/definitions/get_native_callkit_core_integration_def.js.map +1 -1
  324. package/tools/definitions/get_native_chat_uikit_integration_def.js +5 -2
  325. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  326. package/tools/definitions/get_native_livekit_core_integration_def.js +6 -5
  327. package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -1
  328. package/tools/definitions/get_web_call_uikit_integration_def.js +4 -2
  329. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
  330. package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -0
  331. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  332. package/tools/definitions/get_web_live_uikit_integration_def.js +5 -5
  333. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
  334. package/tools/definitions/get_web_room_core_integration_def.js +50 -0
  335. package/tools/definitions/get_web_room_core_integration_def.js.map +1 -0
  336. package/tools/definitions/get_web_room_uikit_integration_def.js +5 -4
  337. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
  338. package/tools/definitions/integration-boundary.js +6 -0
  339. package/tools/definitions/integration-boundary.js.map +1 -0
  340. package/tools/definitions/present_framework_choice_def.js +12 -10
  341. package/tools/definitions/present_framework_choice_def.js.map +1 -1
  342. package/tools/definitions/record_answer_def.js +19 -17
  343. package/tools/definitions/record_answer_def.js.map +1 -1
  344. package/tools/definitions/record_feedback_def.js +14 -13
  345. package/tools/definitions/record_feedback_def.js.map +1 -1
  346. package/tools/definitions/search_trtc_knowledge_def.js +40 -0
  347. package/tools/definitions/search_trtc_knowledge_def.js.map +1 -0
  348. package/tools/index.js +5 -36
  349. package/tools/index.js.map +1 -1
  350. package/tools/live/get_native_livekit_core_integration.js +1 -3
  351. package/tools/live/get_native_livekit_core_integration.js.map +1 -1
  352. package/tools/live/get_web_live_uikit_integration.js +2 -4
  353. package/tools/live/get_web_live_uikit_integration.js.map +1 -1
  354. package/tools/room/get_web_room_core_integration.js +48 -0
  355. package/tools/room/get_web_room_core_integration.js.map +1 -0
  356. package/tools/room/get_web_room_uikit_integration.js +2 -3
  357. package/tools/room/get_web_room_uikit_integration.js.map +1 -1
  358. package/utils/generate-structured-result.js +24 -30
  359. package/utils/generate-structured-result.js.map +1 -1
  360. package/utils/get-doc-content.js +14 -8
  361. package/utils/get-doc-content.js.map +1 -1
  362. package/utils/report-cls-client.js +18 -20
  363. package/utils/report-cls-client.js.map +1 -1
  364. package/utils/report-es-client.js +1 -1
  365. package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
  366. package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -852
  367. package/resource/doc/callkit/core-sdk/android/make-call.md +0 -954
  368. package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -361
  369. package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1160
  370. package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1205
  371. package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1090
  372. package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1248
  373. package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -485
  374. package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -950
  375. package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1052
  376. package/resource/doc/callkit/faq/common/error-code.md +0 -47
  377. package/resource/doc/callkit/faq/flutter-faq.md +0 -115
  378. package/resource/doc/callkit/faq/ios-faq.md +0 -115
  379. package/resource/doc/callkit/faq/web-faq.md +0 -36
  380. package/resource/doc/callkit/preset/android/api.md +0 -296
  381. package/resource/doc/callkit/preset/flutter/api.md +0 -410
  382. package/resource/doc/callkit/preset/flutter/integration.md +0 -164
  383. package/resource/doc/callkit/preset/ios/api.md +0 -80
  384. package/resource/doc/callkit/preset/ios/integration.md +0 -187
  385. package/resource/doc/callkit/preset/react/api.md +0 -501
  386. package/resource/doc/callkit/preset/react/integration.md +0 -86
  387. package/resource/doc/callkit/preset/vue/api.md +0 -501
  388. package/resource/doc/callkit/preset/vue/integration.md +0 -83
  389. package/resource/doc/chatkit/android/faq.md +0 -111
  390. package/resource/doc/chatkit/android/features/theme.md +0 -219
  391. package/resource/doc/chatkit/android/integration.md +0 -490
  392. package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -281
  393. package/resource/doc/chatkit/faq/common/product.md +0 -7
  394. package/resource/doc/chatkit/faq/common/server.md +0 -44
  395. package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
  396. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -199
  397. package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -53
  398. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -235
  399. package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
  400. package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -287
  401. package/resource/doc/chatkit/flutter/faq.md +0 -23
  402. package/resource/doc/chatkit/flutter/features/theme.md +0 -235
  403. package/resource/doc/chatkit/flutter/integration.md +0 -344
  404. package/resource/doc/chatkit/ios/faq.md +0 -111
  405. package/resource/doc/chatkit/ios/features/theme.md +0 -267
  406. package/resource/doc/chatkit/react/components/avatar.md +0 -104
  407. package/resource/doc/chatkit/react/components/chat-header.md +0 -148
  408. package/resource/doc/chatkit/react/components/chat-setting.md +0 -57
  409. package/resource/doc/chatkit/react/components/chat.md +0 -38
  410. package/resource/doc/chatkit/react/components/component-list.md +0 -37
  411. package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
  412. package/resource/doc/chatkit/react/components/conversation-list.md +0 -333
  413. package/resource/doc/chatkit/react/components/conversation-preview.md +0 -118
  414. package/resource/doc/chatkit/react/components/conversation-search.md +0 -60
  415. package/resource/doc/chatkit/react/components/message-list.md +0 -293
  416. package/resource/doc/chatkit/react/components/tuikit.md +0 -34
  417. package/resource/doc/chatkit/react/faq.md +0 -26
  418. package/resource/doc/chatkit/react/integration.md +0 -416
  419. package/resource/doc/chatkit/vue/components/avatar.md +0 -104
  420. package/resource/doc/chatkit/vue/components/chat-header.md +0 -148
  421. package/resource/doc/chatkit/vue/components/chat-setting.md +0 -62
  422. package/resource/doc/chatkit/vue/components/chat.md +0 -45
  423. package/resource/doc/chatkit/vue/components/component-list.md +0 -87
  424. package/resource/doc/chatkit/vue/components/contact-list.md +0 -271
  425. package/resource/doc/chatkit/vue/components/conversation-actions.md +0 -228
  426. package/resource/doc/chatkit/vue/components/conversation-list.md +0 -320
  427. package/resource/doc/chatkit/vue/components/conversation-preview.md +0 -213
  428. package/resource/doc/chatkit/vue/components/message-input.md +0 -1054
  429. package/resource/doc/chatkit/vue/components/message-list.md +0 -433
  430. package/resource/doc/chatkit/vue/components/tuikit.md +0 -31
  431. package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
  432. package/resource/doc/chatkit/vue/faq.md +0 -36
  433. package/resource/doc/chatkit/vue/integration.md +0 -428
  434. package/resource/doc/livekit/core-sdk/live/flutter/live-host-interaction.md +0 -866
  435. package/resource/doc/livekit/faq/common/error-code.md +0 -88
  436. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
  437. package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -91
  438. package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -112
  439. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -215
  440. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +0 -300
  441. package/resource/doc/roomkit/faq/common/error-code.md +0 -67
  442. package/resource/doc/roomkit/vue/features/call-user-to-room.md +0 -220
  443. package/resource/doc/roomkit/vue/features/device-state.md +0 -460
  444. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +0 -215
  445. package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
  446. package/resource/doc/roomkit/vue/features/room-state.md +0 -282
  447. package/resource/doc/roomkit/vue/features/schedule-room.md +0 -318
  448. package/resource/doc/roomkit/vue/features/screen-share.md +0 -265
  449. package/resource/doc/roomkit/vue/features/virtual-background.md +0 -271
  450. package/resource/doc/roomkit/vue/integration.md +0 -315
  451. package/resource/doc/rtcengine/faq/common/error_code.md +0 -1
  452. package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
  453. package/resource/doc/rtcengine/web/.gitkeep +0 -0
  454. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +0 -59
  455. package/resource/doc/trtc/C++/ITRTCCloud.md +0 -1970
  456. package/resource/doc/trtc/C++/ITRTCStatistics.md +0 -70
  457. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -469
  458. package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -387
  459. package/resource/doc/trtc/C++/TRTCCloudCallback.md +0 -1082
  460. package/resource/doc/trtc/C++/TRTCTypeDef.md +0 -925
  461. package/resource/doc/trtc/C++/TXLiteAVCode.md +0 -129
  462. package/resource/doc/trtc/android/TRTCCloud.md +0 -1815
  463. package/resource/doc/trtc/android/TRTCCloudDef.md +0 -992
  464. package/resource/doc/trtc/android/TRTCCloudListener.md +0 -1004
  465. package/resource/doc/trtc/android/TRTCStatistics.md +0 -65
  466. package/resource/doc/trtc/android/TXAudioEffectManager.md +0 -469
  467. package/resource/doc/trtc/android/TXBeautyManager.md +0 -402
  468. package/resource/doc/trtc/android/TXDeviceManager.md +0 -173
  469. package/resource/doc/trtc/android/TXLiteAVCode.md +0 -127
  470. package/resource/doc/trtc/iOS/TRTCCloud.md +0 -2028
  471. package/resource/doc/trtc/iOS/TRTCCloudDef.md +0 -958
  472. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +0 -1046
  473. package/resource/doc/trtc/iOS/TRTCStatistics.md +0 -65
  474. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +0 -397
  475. package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -403
  476. package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -381
  477. package/resource/doc/trtc/iOS/TXLiteAVCode.md +0 -130
  478. package/tools/call/get_callkit_api.js +0 -33
  479. package/tools/call/get_callkit_api.js.map +0 -1
  480. package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
  481. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
  482. package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
  483. package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
  484. package/tools/common/get_faq.js +0 -266
  485. package/tools/common/get_faq.js.map +0 -1
  486. package/tools/common/record_skill_session.js +0 -69
  487. package/tools/common/record_skill_session.js.map +0 -1
  488. package/tools/definitions/get_callkit_api_def.js +0 -29
  489. package/tools/definitions/get_callkit_api_def.js.map +0 -1
  490. package/tools/definitions/get_faq_def.js +0 -49
  491. package/tools/definitions/get_faq_def.js.map +0 -1
  492. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
  493. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
  494. package/tools/definitions/get_native_livekit_core_features_def.js +0 -34
  495. package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
  496. package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
  497. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
  498. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
  499. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
  500. package/tools/definitions/get_web_livekit_api_def.js +0 -30
  501. package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
  502. package/tools/definitions/get_web_livekit_component_detail_def.js +0 -32
  503. package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
  504. package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -31
  505. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
  506. package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -27
  507. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
  508. package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -27
  509. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
  510. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -27
  511. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
  512. package/tools/definitions/record_skill_session_def.js +0 -31
  513. package/tools/definitions/record_skill_session_def.js.map +0 -1
  514. package/tools/live/get_native_livekit_core_features.js +0 -68
  515. package/tools/live/get_native_livekit_core_features.js.map +0 -1
  516. package/tools/live/get_web_livekit_api.js +0 -33
  517. package/tools/live/get_web_livekit_api.js.map +0 -1
  518. package/tools/live/get_web_livekit_component_detail.js +0 -35
  519. package/tools/live/get_web_livekit_component_detail.js.map +0 -1
  520. package/tools/room/get_web_roomkit_feature_detail.js +0 -69
  521. package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
  522. package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
  523. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
  524. package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
  525. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
  526. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
  527. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
  528. package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
  529. package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
  530. package/utils/build-session-directives.js +0 -120
  531. package/utils/build-session-directives.js.map +0 -1
  532. package/utils/handle-framework.js +0 -9
  533. package/utils/handle-framework.js.map +0 -1
  534. package/utils/handle-state-name.js +0 -29
  535. package/utils/handle-state-name.js.map +0 -1
  536. package/utils/report-runtime-error-cls-client.js +0 -91
  537. package/utils/report-runtime-error-cls-client.js.map +0 -1
  538. /package/resource/{doc/livekit/preset/live/vue/faq.md → knowledge/push/config/donut.md} +0 -0
  539. /package/resource/{doc/roomkit/vue/faq.md → knowledge/push/integration/donut.md} +0 -0
  540. /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
  541. /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
  542. /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
  543. /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
  544. /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
  545. /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
  546. /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
  547. /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
  548. /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
  549. /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
  550. /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
  551. /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
  552. /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
@@ -0,0 +1,562 @@
1
+ TUIRoomKit is a UI solution for audio/video conferencing rooms provided by TRTC. This guide explains how to integrate TUIRoomKit into an existing Vue3 project and how to customize its styles, layouts, and features.
2
+ - Desktop Multi-Party Conference
3
+
4
+ - H5 Multi-Party Conference
5
+
6
+ ## Prerequisites
7
+
8
+ ### Activate the Service
9
+
10
+ See [Activate the Service](https://trtc.io/document/59973) to obtain the TUIRoomKit trial version and retrieve your **SDKAppID** and **SDKSecretKey**.
11
+ - **SDKAppID**: Application identifier. TRTC uses `SDKAppID` for billing statistics.
12
+
13
+ - **SDKSecretKey**: Application secret, used to initialize configuration files with sensitive information.
14
+
15
+ ### Environment Setup
16
+ - Node.js: ≥ 18.19.1 (official LTS version recommended)
17
+
18
+ - Vue: ≥ 3.4.21
19
+
20
+ - Modern browsers: Browsers that support [WebRTC APIs](https://trtc.io/document/41664)
21
+
22
+ - Devices: Camera, microphone, speaker
23
+
24
+ ## Quick Integration
25
+
26
+ ### Step 1: Install Dependencies
27
+
28
+ Install the following dependencies in your project.
29
+
30
+ 【npm】
31
+ ``` bash
32
+ npm install @tencentcloud/roomkit-web-vue3@5 tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
33
+ ```
34
+
35
+ 【pnpm】
36
+ ``` bash
37
+ pnpm install @tencentcloud/roomkit-web-vue3@5 tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
38
+ ```
39
+
40
+ 【yarn】
41
+ ``` bash
42
+ yarn add @tencentcloud/roomkit-web-vue3@5 tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
43
+ ```
44
+
45
+ ### Step 2: Import TUIRoomKit Components
46
+ ``` typescript
47
+ <template>
48
+ <UIKitProvider theme="light" language="zh-CN">
49
+ <ConferenceMainView v-if="isPC"></ConferenceMainView>
50
+ <ConferenceMainViewH5 v-else></ConferenceMainViewH5>
51
+ </UIKitProvider>
52
+ </template>
53
+
54
+ <script setup lang="ts">
55
+ import { ref } from 'vue';
56
+ import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
57
+ import { ConferenceMainView, ConferenceMainViewH5 } from '@tencentcloud/roomkit-web-vue3';
58
+ import { getPlatform } from '@tencentcloud/universal-api';
59
+
60
+ const isPC = ref(getPlatform() === 'pc');
61
+ </script>
62
+ ```
63
+
64
+ ### Step 3: User Authentication
65
+
66
+ Authentication is required to access all TUIRoomKit features. Call conference.login as soon as your user is authenticated—for example, right after a user logs into your web page. After calling `conference.login`, we recommend calling `conference.setSelfInfo` to set the user’s display name and avatar, which are shown in the participant video area and the member list.
67
+
68
+ > **Note:**
69
+ >
70
+
71
+ > Make sure to use the generated UserSig in your configuration. In production, generate UserSig on your server and have the client request a dynamic UserSig from your business server for authentication as needed. See [How to calculate UserSig for production](https://trtc.io/document/35166).
72
+ >
73
+
74
+ ``` typescript
75
+ import { onMounted } from 'vue';
76
+ import { conference } from '@tencentcloud/roomkit-web-vue3';
77
+
78
+ // Replace these parameters with your actual business data and SDKAppID from the console
79
+ const SDKAppID = 0;
80
+ const userId = 'your_user_id';
81
+ const userSig = 'your_dynamic_user_sig';
82
+ const userName = 'Display Name';
83
+
84
+ onMounted(async () => {
85
+ try {
86
+ // 1. SDK authentication
87
+ await conference.login({
88
+ sdkAppId: SDKAppID,
89
+ userId,
90
+ userSig,
91
+ });
92
+ // 2. (Optional) Set display name and avatar
93
+ await conference.setSelfInfo({
94
+ userName,
95
+ avatarUrl: 'https://your-avatar-url.com/image.png',
96
+ });
97
+ } catch (error) {
98
+ console.error('TUIRoomKit login failed:', error);
99
+ }
100
+ });
101
+ ```
102
+
103
+ #### Integration Issue: Listening for Authentication Success Across Routes
104
+
105
+ If your authentication and Enter Room pages use different routes, the Enter Room page may load before `conference.login` finishes. Use Vue's `watch` to monitor `loginUserInfo.value?.userId`. When this value is non-empty, authentication is successful.
106
+ ``` typescript
107
+ import { watch } from 'vue';
108
+ import { useLoginState } from 'tuikit-atomicx-vue3/room';
109
+ import { conference } from '@tencentcloud/roomkit-web-vue3';
110
+
111
+ const { loginUserInfo } = useLoginState();
112
+
113
+ watch(() => loginUserInfo.value?.userId, async (userId) => {
114
+ if (userId) {
115
+ await conference.createAndJoinRoom({ roomId: '123456' });
116
+ }
117
+ }, { immediate: true });
118
+ ```
119
+
120
+ ### Step 4: Create a Room
121
+
122
+ The **Room ID** is the core identifier for a meeting and must be generated and managed by your business system (it must be globally unique). Choose the creation method that fits your business scenario:
123
+
124
+ #### Scenario 1: Quick Meeting Created by the Client App
125
+
126
+ **Use Case**: The user clicks "Quick Meeting" and the client app immediately creates a room and enters it (for example, ad-hoc communication or IM chat–initiated meetings).
127
+
128
+ **Implementation**: The client app either generates the Room ID locally or requests a unique Room ID from the backend, then calls conference.createAndJoinRoom to create the room and enter it.
129
+ ``` typescript
130
+ import { conference } from '@tencentcloud/roomkit-web-vue3';
131
+
132
+ const startQuickMeeting = async () => {
133
+ // 1. Generate a unique Room ID
134
+ const myRoomId = `room_${Date.now()}`;
135
+
136
+ // 2. Create and Enter Room
137
+ await conference.createAndJoinRoom({
138
+ roomId: myRoomId,
139
+ options: {
140
+ roomName: 'My Quick Meeting',
141
+ },
142
+ });
143
+ };
144
+ ```
145
+
146
+ #### Scenario 2: Meeting Scheduled by the Client App
147
+
148
+ **Use Case**: Meetings scheduled for a future time (for example, weekly team meetings or online training). Users can set the meeting title, scheduled time, and invitees in advance.
149
+
150
+ **Implementation**: The client app generates (or requests) a unique Room ID from your backend, then calls the scheduleRoom API with the scheduled time and other parameters to create the reservation. After the reservation is created successfully, the meeting details are synced to the invitees’ meeting lists.
151
+ ``` typescript
152
+ import { useRoomState } from 'tuikit-atomicx-vue3/room';
153
+
154
+ const { scheduleRoom } = useRoomState();
155
+
156
+ const createSchedule = async () => {
157
+ try {
158
+ // Room ID: string, required, recommended to be generated by backend for uniqueness
159
+ const roomId = '123456';
160
+
161
+ // Note: Timestamp must be in seconds (Date.getTime() returns milliseconds, divide by 1000)
162
+ const startTime = Math.floor(new Date().getTime() / 1000) + 3600; // Starts in 1 hour
163
+ const duration = 1800; // 30 minutes
164
+
165
+ const options = {
166
+ roomName: 'Product Requirement Review',
167
+ scheduleStartTime: startTime, // unit: seconds
168
+ scheduleEndTime: startTime + duration, // unit: seconds
169
+ scheduleAttendees: ['userA', 'userB'], // List of participant IDs
170
+ password: '123', // Optional: meeting password
171
+ };
172
+
173
+ await scheduleRoom({ roomId, options });
174
+ } catch (error) {
175
+ console.error('Scheduling failed', error);
176
+ }
177
+ };
178
+ ```
179
+
180
+ #### Scenario 3: Server-Side Room Creation
181
+
182
+ **Use Case:** Highly regulated industries such as government, healthcare, and large enterprises.
183
+
184
+ **Implementation:** Your backend service initiates room creation by calling the [Server REST API to create a room](https://trtc.io/document/60707).
185
+ ``` bash
186
+ POST /v4/room_engine_http_srv/create_room
187
+ {
188
+ "roomId": "your-room-id",
189
+ "roomName": "Meeting Name",
190
+ "startTime": 1710000000,
191
+ "endTime": 1710003600,
192
+ "invitees": ["userId1", "userId2"]
193
+ }
194
+ ```
195
+
196
+ ### Step 5: Join a Room
197
+
198
+ When participants join a room, select the method that fits your business logic.
199
+
200
+ #### Scenario 1: Join Existing Room by Room ID
201
+
202
+ **Use Case:** The room has already been created by the host or server, and participants have received the Room ID or meeting invite link.
203
+
204
+ **Implementation:** Participants enter the Room ID or parse it from the invite link, then call `conference.joinRoom` to Enter Room.
205
+ ``` typescript
206
+ import { conference } from '@tencentcloud/roomkit-web-vue3';
207
+
208
+ const joinExistingMeeting = async (sharedRoomId: string) => {
209
+ await conference.joinRoom({
210
+ roomId: sharedRoomId,
211
+ });
212
+ };
213
+ ```
214
+
215
+ #### Scenario 2: Join from Meeting List
216
+
217
+ **Use Case:** Meetings scheduled via "Client Scheduling" or "Server-Side Creation". Users can go to the "Meeting List" page to view their scheduled or invited meetings and join quickly.
218
+
219
+ **Implementation:** Use the `getScheduledRoomList` API from `useRoomState` to fetch the user's scheduled meetings and render them. When the user clicks a meeting, retrieve its Room ID and call `conference.joinRoom` to Enter Room.
220
+ ``` typescript
221
+ <template>
222
+ <div>
223
+ <h3>My Scheduled Meetings</h3>
224
+ <ul v-if="roomList.length > 0">
225
+ <li v-for="room in roomList" :key="room.roomId" class="item">
226
+ <div class="info">
227
+ <b>{{ room.roomName || 'Unnamed Meeting' }}</b>
228
+ <span>Room ID: {{ room.roomId }}</span>
229
+ </div>
230
+ <button class="btn" @click="handleJoinRoom(room.roomId)">Join Meeting</button>
231
+ </li>
232
+ </ul>
233
+ <div v-else>No scheduled meetings to join</div>
234
+ </div>
235
+ </template>
236
+
237
+ <script setup lang="ts">
238
+ import { ref, watch } from 'vue';
239
+ import { conference } from '@tencentcloud/roomkit-web-vue3';
240
+ import { useRoomState, useLoginState } from 'tuikit-atomicx-vue3/room';
241
+
242
+ const { getScheduledRoomList } = useRoomState();
243
+ const { loginUserInfo } = useLoginState();
244
+ const roomList = ref<any[]>([]);
245
+
246
+ // 1. Listen for authentication, fetch meeting list after login
247
+ watch(
248
+ () => loginUserInfo.value?.userId,
249
+ async (userId) => {
250
+ if (userId) {
251
+ try {
252
+ roomList.value = await getScheduledRoomList() || [];
253
+ } catch (error) {
254
+ console.error('Failed to fetch scheduled meeting list:', error);
255
+ }
256
+ }
257
+ },
258
+ { immediate: true }
259
+ );
260
+
261
+ // 2. Join room on click
262
+ const handleJoinRoom = async (roomId: string) => {
263
+ try {
264
+ await conference.joinRoom({ roomId });
265
+ } catch (error) {
266
+ console.error(`Failed to join meeting (${roomId}):`, error);
267
+ }
268
+ };
269
+ </script>
270
+
271
+ <style scoped>
272
+ /* Minimal base styles */
273
+ ul { padding: 0; list-style: none; }
274
+ .item { display: flex; justify-content: space-between; padding: 10px; border-bottom: 1px solid #eee; }
275
+ .info { display: flex; flex-direction: column; font-size: 14px; color: #666; }
276
+ .info b { font-size: 16px; color: #333; }
277
+ .btn { background: #006eff; color: #fff; border: none; padding: 6px 12px; border-radius: 4px; cursor: pointer; }
278
+ </style>
279
+ ```
280
+
281
+ #### Scenario 3: Enter Room When Existence Is Uncertain
282
+
283
+ **Use Case:** Peer-to-peer scenarios (e.g., online consultation, 1v1 video customer service) where you cannot determine if the room has been created.
284
+
285
+ **Implementation:** Both parties use a shared business document number (e.g., order number) as Room ID and call `conference.createAndJoinRoom` to Enter Room.
286
+ ``` typescript
287
+ import { conference } from '@tencentcloud/roomkit-web-vue3';
288
+
289
+ const enterDualMeeting = async (bizOrderId: string) => {
290
+ // No need to check if room exists; SDK handles creation and Enter Room logic automatically
291
+ await conference.createAndJoinRoom({
292
+ roomId: bizOrderId,
293
+ options: {
294
+ roomName: `Business Communication: ${bizOrderId}`,
295
+ },
296
+ });
297
+ };
298
+ ```
299
+
300
+ > **Note:**
301
+ >
302
+
303
+ > The `conference.createAndJoinRoom` API handles: "If the room does not exist, create it (become host); if it exists, join it (become participant)", resolving state conflicts under high concurrency.
304
+ >
305
+
306
+ ### Step 6: Leave Room or End Room
307
+
308
+ TUIRoomKit provides built-in UI buttons for leaving or ending the room. Users can click **"Leave Room"** or **"End Room"** directly.
309
+
310
+ To trigger leave or end actions programmatically, use the following APIs.
311
+
312
+ #### Scenario 1: Leave Room
313
+
314
+ Both participants and hosts can call `leaveRoom()` to leave the meeting. This does not affect other members; the room remains active.
315
+ ``` typescript
316
+ import { conference } from '@tencentcloud/roomkit-web-vue3';
317
+
318
+ await conference.leaveRoom();
319
+ ```
320
+
321
+ > **Note:**
322
+ >
323
+
324
+ > When the host leaves the room or closes the web page, the room is not automatically ended. Other participants can continue using TUIRoomKit features. The system will automatically reclaim room resources 6 hours after the scheduled end time, provided the room is empty.
325
+ >
326
+
327
+ #### Scenario 2: End a Room
328
+
329
+ When the host calls `endRoom()`, all participants receive a notification that the room has ended.
330
+ ``` typescript
331
+ import { conference } from '@tencentcloud/roomkit-web-vue3';
332
+
333
+ await conference.endRoom();
334
+ ```
335
+
336
+ > **Note:**
337
+ >
338
+
339
+ > `endRoom()` must be called by the host after successfully Entered Room. Calling as a non-host or before Enter Room will result in an error.
340
+ >
341
+
342
+ ### Step 7: Listen to the Room State
343
+
344
+ In real-world audio/video conferencing, room state can change due to factors like the host ending the meeting, account login on another device, or network issues causing Enter Room failure.
345
+
346
+ TUIRoomKit automatically handles audio/video resource cleanup and UI prompts, but routing transitions must be managed by your business layer. Register state listeners when the meeting component mounts (`onMounted`), and remove listeners when the component unmounts (`onUnmounted`).
347
+ ``` typescript
348
+ <template>
349
+ <ConferenceMainView></ConferenceMainView>
350
+ </template>
351
+
352
+ <script setup lang="ts">
353
+ import { ref, onMounted, onUnmounted } from 'vue';
354
+ import { ConferenceMainView, conference, RoomEvent } from '@tencentcloud/roomkit-web-vue3';
355
+
356
+ const backToHome = () => {};
357
+ const backToLogin = () => {};
358
+
359
+ onMounted(() => {
360
+ conference.on(RoomEvent.ROOM_DISMISS, backToHome);
361
+ conference.on(RoomEvent.ROOM_LEAVE, backToHome);
362
+ conference.on(RoomEvent.ROOM_ERROR, backToHome);
363
+ conference.on(RoomEvent.KICKED_OUT, backToHome);
364
+ conference.on(RoomEvent.KICKED_OFFLINE, backToLogin);
365
+ conference.on(RoomEvent.USER_SIG_EXPIRED, backToLogin);
366
+ });
367
+
368
+ onUnmounted(() => {
369
+ conference.off(RoomEvent.ROOM_DISMISS, backToHome);
370
+ conference.off(RoomEvent.ROOM_LEAVE, backToHome);
371
+ conference.off(RoomEvent.ROOM_ERROR, backToHome);
372
+ conference.off(RoomEvent.KICKED_OUT, backToHome);
373
+ conference.off(RoomEvent.KICKED_OFFLINE, backToLogin);
374
+ conference.off(RoomEvent.USER_SIG_EXPIRED, backToLogin);
375
+ });
376
+ </script>
377
+ ```
378
+
379
+ |Event|Trigger Timing|Recommended Handling|
380
+ |---------|---------|---------|
381
+ |`RoomEvent.ROOM_DISMISS`|Room ended, triggers for all participants|Return to home or meeting list|
382
+ |`RoomEvent.ROOM_LEAVE`|User clicks "Leave" button in TUIRoomKit UI|Return to home or meeting list|
383
+ |`RoomEvent.ROOM_ERROR`|Enter Room failure or unhandled error in room|Return to home or meeting list|
384
+ |`RoomEvent.KICKED_OUT`|Kicked out by host|Return to home or meeting list|
385
+ |`RoomEvent.KICKED_OFFLINE`|Same account logged in on another device, current device forced offline|Redirect to login page|
386
+ |`RoomEvent.USER_SIG_EXPIRED`|UserSig expired|Redirect to login page|
387
+
388
+ ## Start the Project
389
+
390
+ 【npm】
391
+ ``` bash
392
+ npm run dev
393
+ ```
394
+
395
+ 【pnpm】
396
+ ``` bash
397
+ pnpm run dev
398
+ ```
399
+
400
+ 【yarn】
401
+ ``` bash
402
+ yarn run dev
403
+ ```
404
+
405
+ After the project starts successfully, open the debug address in your browser (usually http://localhost:5173) to access the application. You will see a meeting interface like the following:
406
+
407
+ ## Next Steps
408
+
409
+ After completing the basic integration, you can further customize the UI to fit your business requirements.
410
+
411
+ ### Configure Theme and Language
412
+
413
+ Change the default theme and language by setting the `UIKitProvider` parameters in `App.vue`.
414
+
415
+ |`UIKitProvider` Parameter|Optional Values|Default Value|
416
+ |---------|---------|---------|
417
+ |theme|"light" |"dark"|
418
+ |language|"zh-CN" |"en-US"|
419
+
420
+ ``` typescript
421
+ <UIKitProvider theme="light" language="zh-CN">
422
+ <router-view />
423
+ </UIKitProvider>
424
+
425
+ <script setup lang="ts">
426
+ import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
427
+ ```
428
+
429
+ ### Configure User Contact List
430
+
431
+ TUIRoomKit's built-in invite and scheduling selection components use the TRTC IM user relationship chain (friend list) by default. To display your company's internal organization or a custom friend list, first use the Server APIs to sync your business contacts to the TRTC IM system:
432
+ 1. Use [Account Management > Import Multiple Accounts](https://trtc.io/document/34954) REST API to batch import user accounts.
433
+
434
+ 2. Use [Friend Management > Import Friends](https://trtc.io/document/34903) REST API to batch import user relationships.
435
+
436
+ ### Modify Room Share Link
437
+
438
+ By default, TUIRoomKit uses the current page address as the Room Share Link.
439
+
440
+ To customize the link, call `conference.setFeatureConfig` to update the Room Share Link.
441
+ ``` typescript
442
+ import { conference } from '@tencentcloud/roomkit-web-vue3';
443
+
444
+ // Call after conference.createAndJoinRoom or conference.joinRoom succeeds, ensuring Room ID is available
445
+ const roomId = '123456';
446
+ conference.setFeatureConfig({
447
+ shareLink: `https://your-domain.com/room?roomId=${roomId}`,
448
+ });
449
+ ```
450
+
451
+ ### Configure Video Stream Layout
452
+
453
+ TUIRoomKit supports three video stream layouts: grid, sidebar, and top bar. The default is grid layout. To change the layout, call `conference.setFeatureConfig`.
454
+ ``` typescript
455
+ import { RoomLayoutTemplate } from 'tuikit-atomicx-vue3/room';
456
+
457
+ // Option 1: Set sidebar layout as default
458
+ conference.setFeatureConfig({ layoutTemplate: RoomLayoutTemplate.SidebarLayout });
459
+
460
+ // Option 2: Set top bar layout as default
461
+ conference.setFeatureConfig({ layoutTemplate: RoomLayoutTemplate.CinemaLayout });
462
+ ```
463
+
464
+ ## FAQs
465
+
466
+ ### Does the meeting end immediately if the host closes the web page or exits unexpectedly?
467
+
468
+ No. If the host closes the browser or disconnects due to network issues, the meeting does not end immediately. The meeting continues, and other participants can interact as usual.
469
+
470
+ To conserve resources, proactively end the room when the meeting finishes by:
471
+ - UI operation: Host clicks the "End Room" button in TUIRoomKit UI
472
+
473
+ - Client APIs: Call `conference.endRoom()`
474
+
475
+ - Server APIs: Use REST API for remote destruction
476
+
477
+ Note: If not ended proactively, the system will automatically reclaim resources 6 hours after the scheduled end time, provided the room is empty.
478
+
479
+ ### Can multiple devices use the same userId to join the same meeting at the same time?
480
+
481
+ No. TUIRoomKit does not allow the same userId to join the same room from multiple devices simultaneously.
482
+ - Kick-out mechanism: If a later device attempts to Enter Room with the same userId, the device already in the room will be forcibly logged out.
483
+
484
+ - Solution: To support multi-device (e.g., phone and PC) joining the same meeting, assign a unique userId to each device.
485
+
486
+ ### Why does it work locally but fail to access the camera or microphone after deployment?
487
+ - Cause: Browsers enforce strict security and privacy controls for audio/video device access (microphone, camera). Only secure environments are allowed: https://, localhost, file://, etc. HTTP is considered insecure and browsers will block media device access.
488
+
489
+ - Solution: If local (localhost) tests work but deployment fails, check if your web page is served over HTTP. You must use HTTPS and ensure a valid security certificate.
490
+
491
+ - Related resources: See [URL domain and protocol restrictions](https://trtc.io/document/59733) for more details.
492
+
493
+ ### Is iframe integration supported?
494
+
495
+ Yes. To integrate TUIRoomKit via iframe, configure the allow attribute to grant necessary browser permissions (microphone, camera, screen sharing, fullscreen, etc), as shown:
496
+ ``` typescript
497
+ // Enable microphone, camera, screen sharing, fullscreen permissions
498
+ <iframe src="https://your-domain.com/index.html" allow="microphone; camera; display-capture; display; fullscreen;">
499
+ ```
500
+
501
+ ### Is intranet proxy supported?
502
+
503
+ Yes. Set intranet proxy parameters as shown below. For more information, see [Firewall Restrictions](https://trtc.io/document/59667).
504
+ ``` typescript
505
+ // Set intranet proxy parameters before Enter Room
506
+ import TUIRoomEngine from '@tencentcloud/tuiroom-engine-js';
507
+ import { useRoomEngine } from 'tuikit-atomicx-vue3/room';
508
+ const { roomEngine } = useRoomEngine();
509
+
510
+ TUIRoomEngine.once('ready', () => {
511
+ const trtcCloud = roomEngine.instance?.getTRTCCloud();
512
+ trtcCloud.callExperimentalAPI(JSON.stringify({
513
+ api: 'setNetworkProxy',
514
+ params: {
515
+ websocketProxy: "wss://proxy.example.com/ws/",
516
+ turnServer: [{
517
+ url: '14.3.3.3:3478',
518
+ username: 'turn',
519
+ credential: 'turn',
520
+ }],
521
+ iceTransportPolicy: 'relay',
522
+ },
523
+ }));
524
+ });
525
+ ```
526
+
527
+ ### Can I modify the TUIRoomKit source code directly?
528
+
529
+ TUIRoomKit offers rich customization out of the box—custom themes and languages, UI tweaks, custom video layouts and widgets, watermarking, and more—so you can meet most UI and interaction requirements without changing the source.
530
+
531
+ For maintainability, we recommend using the built-in customization options whenever possible, rather than exporting the source. Once exported, you’re no longer on TUIRoomKit’s standard npm upgrade path, which usually means higher long-term maintenance and fewer benefits from future releases (new features, bug fixes, and performance improvements).
532
+
533
+ **Recommended**: Start with the options in the UI customization documentation. If the current APIs don’t cover your use case, [contact us](https://trtc.io/contact).
534
+
535
+ If you’ve assessed the trade-offs and still need deep customization that changes the underlying architecture, you can export the source code as follows:
536
+
537
+ 【Vue3】
538
+ 1. Run the source export script. The default copy path is `./src/components/RoomKit`
539
+
540
+ ``` bash
541
+ node ./node_modules/@tencentcloud/roomkit-web-vue3/scripts/eject.js
542
+ ```
543
+ 2. Follow the script prompt to confirm whether to copy TUIRoomKit source code to `./src/components/RoomKit`. Enter `y` to customize the copy directory, otherwise enter `n`.
544
+
545
+ 3. After exporting, TUIRoomKit source code will be added to your specified project path. Update the import path for ConferenceMainView, ConferenceMainViewH5, and the conference object from the npm package to the relative path of the TUIRoom source.
546
+
547
+ ``` typescript
548
+ - import { ConferenceMainView, ConferenceMainViewH5, conference } from '@tencentcloud/roomkit-web-vue3';
549
+ // Change import path to the actual TUIRoomKit source path
550
+ + import { ConferenceMainView, ConferenceMainViewH5, conference } from './components/RoomKit/index.ts';
551
+ ```
552
+ 4. Configure ESLint
553
+
554
+ If you encounter ESLint errors after exporting TUIRoomKit source, add the RoomKit folder to `.eslintignore` to ignore ESLint validation.
555
+ ``` javascript
556
+ // Replace with actual TUIRoomKit source path
557
+ src/components/RoomKit
558
+ ```
559
+
560
+ ## Contact Us
561
+
562
+ If you have any questions or suggestions during integration or usage, [contact us](https://trtc.io/contact) for support.