@tencent-rtc/mcp 1.3.9 → 1.4.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 (435) hide show
  1. package/package.json +2 -2
  2. package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/android-faq.md} +10 -22
  3. package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/flutter-faq.md} +10 -22
  4. package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/ios-faq.md} +10 -22
  5. package/resource/doc/callkit/preset/android/api.md +296 -0
  6. package/resource/doc/{tuicallkit → callkit/preset}/android/integration.md +53 -365
  7. package/resource/doc/callkit/preset/flutter/api.md +410 -0
  8. package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +35 -97
  9. package/resource/doc/callkit/preset/ios/api.md +80 -0
  10. package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +37 -118
  11. package/resource/doc/callkit/preset/react/api.md +501 -0
  12. package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +5 -20
  13. package/resource/doc/callkit/preset/vue/api.md +501 -0
  14. package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +4 -19
  15. package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -38
  16. package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
  17. package/resource/doc/{chatuikit → chatkit}/android/integration.md +28 -121
  18. package/resource/doc/chatkit/faq/android_sdk/client-api.md +281 -0
  19. package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +0 -1
  20. package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -1
  21. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +199 -0
  22. package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
  23. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +235 -0
  24. package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +3 -3
  25. package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
  26. package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +18 -87
  27. package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -38
  28. package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
  29. package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +47 -165
  30. package/resource/doc/{chatuikit → chatkit}/react/components/avatar.md +0 -33
  31. package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +8 -49
  32. package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +6 -35
  33. package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +0 -6
  34. package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -11
  35. package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +96 -502
  36. package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
  37. package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
  38. package/resource/doc/chatkit/react/components/conversation-preview.md +118 -0
  39. package/resource/doc/chatkit/react/components/conversation-search.md +60 -0
  40. package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -337
  41. package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +20 -212
  42. package/resource/doc/chatkit/react/components/search.md +243 -0
  43. package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +1 -47
  44. package/resource/doc/{chatuikit → chatkit}/react/integration.md +21 -81
  45. package/resource/doc/{chatuikit → chatkit}/vue/components/avatar.md +0 -33
  46. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -48
  47. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +3 -5
  48. package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +0 -5
  49. package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -15
  50. package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
  51. package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
  52. package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -492
  53. package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
  54. package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
  55. package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +2 -223
  56. package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -252
  57. package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
  58. package/resource/doc/{chatuikit → chatkit}/vue/components/tuikit.md +7 -21
  59. package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +3 -62
  60. package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
  61. package/resource/doc/{chatuikit → chatkit}/vue/integration.md +22 -23
  62. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +18 -89
  63. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
  64. package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +28 -141
  65. package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +20 -112
  66. package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +59 -193
  67. package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
  68. package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +94 -344
  69. package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +107 -515
  70. package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +33 -173
  71. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +14 -93
  72. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -179
  73. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +19 -107
  74. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -166
  75. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -163
  76. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +69 -443
  77. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
  78. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-integration.md +107 -492
  79. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +23 -165
  80. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +35 -111
  81. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +35 -193
  82. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +31 -144
  83. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +24 -116
  84. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +37 -171
  85. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +79 -459
  86. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +69 -320
  87. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +85 -502
  88. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +32 -169
  89. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audience-list.md +18 -89
  90. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-audio-effect.md +34 -192
  91. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-barrage.md +28 -141
  92. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-co-guest-interaction.md +50 -259
  93. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-gift.md +75 -455
  94. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-host-interaction.md +51 -265
  95. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-integration.md +61 -427
  96. package/resource/doc/livekit/{voice → core-sdk/voice}/android/voice-room-list.md +33 -173
  97. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-co-guest-interaction.md +44 -203
  98. package/resource/doc/livekit/{voice → core-sdk/voice}/flutter/voice-integration.md +56 -416
  99. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audience-list.md +35 -111
  100. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-audio-effect.md +35 -193
  101. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-barrage.md +31 -144
  102. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-co-guest-interaction.md +43 -252
  103. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-gift.md +79 -459
  104. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-host-interaction.md +46 -264
  105. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-integration.md +61 -445
  106. package/resource/doc/livekit/{voice → core-sdk/voice}/ios/voice-room-list.md +32 -169
  107. package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -2
  108. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
  109. package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
  110. package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +10 -49
  111. package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +26 -144
  112. package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +12 -75
  113. package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +36 -227
  114. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +215 -0
  115. package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
  116. package/resource/doc/livekit/preset/live/vue/live-list-integration.md +241 -0
  117. package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +299 -0
  118. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +300 -0
  119. package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +743 -0
  120. package/resource/doc/roomkit/vue/faq.md +1 -0
  121. package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
  122. package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
  123. package/resource/doc/roomkit/vue/features/device-state.md +24 -44
  124. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
  125. package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
  126. package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
  127. package/resource/doc/roomkit/vue/features/room-state.md +25 -34
  128. package/resource/doc/roomkit/vue/features/room-view.md +30 -125
  129. package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
  130. package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
  131. package/resource/doc/roomkit/vue/features/virtual-background.md +13 -29
  132. package/resource/doc/roomkit/vue/integration.md +21 -76
  133. package/resource/doc/rtcengine/faq/common/error_code.md +1 -0
  134. package/resource/doc/rtcengine/faq/web/web.md +14 -24
  135. package/resource/doc/rtcengine/web/api.md +1 -3
  136. package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +3 -10
  137. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +1 -5
  138. package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -2
  139. package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -4
  140. package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +3 -5
  141. package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +1 -7
  142. package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +0 -2
  143. package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -8
  144. package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +11 -11
  145. package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +12 -88
  146. package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -5
  147. package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +30 -37
  148. package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +13 -90
  149. package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -2
  150. package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +1 -2
  151. package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +19 -19
  152. package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
  153. package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -5
  154. package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
  155. package/resource/doc/trtc/C++/ITRTCCloud.md +686 -2835
  156. package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
  157. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +202 -1022
  158. package/resource/doc/trtc/C++/ITXDeviceManager.md +126 -767
  159. package/resource/doc/trtc/C++/TRTCCloudCallback.md +579 -2147
  160. package/resource/doc/trtc/C++/TRTCTypeDef.md +703 -3378
  161. package/resource/doc/trtc/C++/TXLiteAVCode.md +116 -908
  162. package/resource/doc/trtc/android/TRTCCloud.md +606 -2573
  163. package/resource/doc/trtc/android/TRTCCloudDef.md +752 -3640
  164. package/resource/doc/trtc/android/TRTCCloudListener.md +581 -2008
  165. package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
  166. package/resource/doc/trtc/android/TXAudioEffectManager.md +202 -1022
  167. package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
  168. package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
  169. package/resource/doc/trtc/android/TXLiteAVCode.md +114 -892
  170. package/resource/doc/trtc/iOS/TRTCCloud.md +694 -2904
  171. package/resource/doc/trtc/iOS/TRTCCloudDef.md +726 -3498
  172. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +543 -2028
  173. package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
  174. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +174 -877
  175. package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
  176. package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
  177. package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
  178. package/server.js +1 -5
  179. package/server.js.map +1 -1
  180. package/tools/call/get_callkit_api.js +32 -0
  181. package/tools/call/get_callkit_api.js.map +1 -0
  182. package/tools/call/get_native_call_uikit_integration.js +34 -0
  183. package/tools/call/get_native_call_uikit_integration.js.map +1 -0
  184. package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
  185. package/tools/call/get_web_call_uikit_integration.js.map +1 -0
  186. package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
  187. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
  188. package/tools/chat/get_native_chat_uikit_integration.js +45 -0
  189. package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
  190. package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
  191. package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
  192. package/tools/chat/get_web_chat_uikit_integration.js +45 -0
  193. package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
  194. package/tools/common/get_faq.js +265 -0
  195. package/tools/common/get_faq.js.map +1 -0
  196. package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
  197. package/tools/common/get_usersig.js.map +1 -0
  198. package/tools/common/present_framework_choice.js +63 -0
  199. package/tools/common/present_framework_choice.js.map +1 -0
  200. package/tools/common/record_skill_session.js +58 -0
  201. package/tools/common/record_skill_session.js.map +1 -0
  202. package/tools/definitions/get_callkit_api_def.js +29 -0
  203. package/tools/definitions/get_callkit_api_def.js.map +1 -0
  204. package/tools/definitions/get_faq_def.js +17 -18
  205. package/tools/definitions/get_faq_def.js.map +1 -1
  206. package/tools/definitions/get_native_call_uikit_integration_def.js +15 -34
  207. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  208. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
  209. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
  210. package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -41
  211. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  212. package/tools/definitions/get_native_livekit_core_features_def.js +34 -0
  213. package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
  214. package/tools/definitions/get_native_livekit_core_integration_def.js +34 -0
  215. package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
  216. package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
  217. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
  218. package/tools/definitions/get_usersig_def.js +17 -22
  219. package/tools/definitions/get_usersig_def.js.map +1 -1
  220. package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
  221. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
  222. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
  223. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
  224. package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
  225. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  226. package/tools/definitions/get_web_live_uikit_integration_def.js +15 -18
  227. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
  228. package/tools/definitions/get_web_livekit_api_def.js +30 -0
  229. package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
  230. package/tools/definitions/get_web_livekit_component_detail_def.js +32 -0
  231. package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
  232. package/tools/definitions/get_web_room_uikit_integration_def.js +15 -46
  233. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
  234. package/tools/definitions/get_web_roomkit_feature_detail_def.js +31 -0
  235. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
  236. package/tools/definitions/get_web_trtc_sdk_api_def.js +27 -0
  237. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
  238. package/tools/definitions/get_web_trtc_sdk_integration_def.js +27 -0
  239. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
  240. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +27 -0
  241. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
  242. package/tools/definitions/present_framework_choice_def.js +24 -12
  243. package/tools/definitions/present_framework_choice_def.js.map +1 -1
  244. package/tools/definitions/record_skill_session_def.js +31 -0
  245. package/tools/definitions/record_skill_session_def.js.map +1 -0
  246. package/tools/index.js +49 -61
  247. package/tools/index.js.map +1 -1
  248. package/tools/live/get_native_livekit_core_features.js +65 -0
  249. package/tools/live/get_native_livekit_core_features.js.map +1 -0
  250. package/tools/live/get_native_livekit_core_integration.js +59 -0
  251. package/tools/live/get_native_livekit_core_integration.js.map +1 -0
  252. package/tools/live/get_web_live_uikit_integration.js +48 -0
  253. package/tools/live/get_web_live_uikit_integration.js.map +1 -0
  254. package/tools/live/get_web_livekit_api.js +32 -0
  255. package/tools/live/get_web_livekit_api.js.map +1 -0
  256. package/tools/live/get_web_livekit_component_detail.js +34 -0
  257. package/tools/live/get_web_livekit_component_detail.js.map +1 -0
  258. package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
  259. package/tools/room/get_web_room_uikit_integration.js.map +1 -0
  260. package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
  261. package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
  262. package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
  263. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
  264. package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
  265. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
  266. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
  267. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
  268. package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
  269. package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
  270. package/utils/generate-structured-result.js +61 -17
  271. package/utils/generate-structured-result.js.map +1 -1
  272. package/utils/report-cls-client.js +21 -1
  273. package/utils/report-cls-client.js.map +1 -1
  274. package/utils/report-es-client.js +2 -2
  275. package/resource/doc/chatuikit/android/workflow.md +0 -713
  276. package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1371
  277. package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -932
  278. package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1119
  279. package/resource/doc/chatuikit/flutter/workflow.md +0 -941
  280. package/resource/doc/chatuikit/react/components/conversation-list.md +0 -1017
  281. package/resource/doc/chatuikit/react/components/search.md +0 -745
  282. package/resource/doc/chatuikit/react/create-group.md +0 -23
  283. package/resource/doc/chatuikit/react/init.md +0 -26
  284. package/resource/doc/chatuikit/react/workflow.md +0 -258
  285. package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
  286. package/resource/doc/chatuikit/vue/create-group.md +0 -25
  287. package/resource/doc/chatuikit/vue/init.md +0 -40
  288. package/resource/doc/chatuikit/vue/workflow.md +0 -395
  289. package/resource/doc/livekit/live/android/workflow.md +0 -320
  290. package/resource/doc/livekit/live/flutter/workflow.md +0 -353
  291. package/resource/doc/livekit/live/ios/workflow.md +0 -454
  292. package/resource/doc/livekit/live/vue/components/barrage.md +0 -616
  293. package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -446
  294. package/resource/doc/livekit/live/vue/faq.md +0 -0
  295. package/resource/doc/livekit/live/vue/live-list-integration.md +0 -200
  296. package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -269
  297. package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -269
  298. package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -595
  299. package/resource/doc/livekit/live/vue/states/live-state.md +0 -3591
  300. package/resource/doc/livekit/live/vue/workflow.md +0 -218
  301. package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -312
  302. package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -430
  303. package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -679
  304. package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -671
  305. package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -271
  306. package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
  307. package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
  308. package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
  309. package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
  310. package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -865
  311. package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -657
  312. package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -437
  313. package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -335
  314. package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
  315. package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -327
  316. package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -507
  317. package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
  318. package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -659
  319. package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
  320. package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -814
  321. package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1000
  322. package/resource/doc/roomkit/vue/features/workflow.md +0 -553
  323. package/resource/doc/roomkit/vue/workflow.md +0 -733
  324. package/resource/doc/tuicallkit/android/workflow.md +0 -441
  325. package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -784
  326. package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -610
  327. package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -938
  328. package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -897
  329. package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -469
  330. package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -781
  331. package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -398
  332. package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
  333. package/resource/doc/tuicallkit/react/api.md +0 -1404
  334. package/resource/doc/tuicallkit/vue/api.md +0 -1406
  335. package/resource/doc/tuicallkit/vue/faq.md +0 -36
  336. package/tools/call/get-native-call-integration.js +0 -43
  337. package/tools/call/get-native-call-integration.js.map +0 -1
  338. package/tools/call/get-web-call-api.js +0 -27
  339. package/tools/call/get-web-call-api.js.map +0 -1
  340. package/tools/call/get-web-call-integration.js.map +0 -1
  341. package/tools/chat/get-native-chat-feature-detail.js +0 -30
  342. package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
  343. package/tools/chat/get-native-chat-integration.js +0 -45
  344. package/tools/chat/get-native-chat-integration.js.map +0 -1
  345. package/tools/chat/get-web-chat-component-detail.js +0 -31
  346. package/tools/chat/get-web-chat-component-detail.js.map +0 -1
  347. package/tools/chat/get-web-chat-integration.js +0 -45
  348. package/tools/chat/get-web-chat-integration.js.map +0 -1
  349. package/tools/chat/get-web-chat-uikit-init.js +0 -28
  350. package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
  351. package/tools/chat/get-web-create-group-doc.js +0 -28
  352. package/tools/chat/get-web-create-group-doc.js.map +0 -1
  353. package/tools/common/get-faq.js +0 -91
  354. package/tools/common/get-faq.js.map +0 -1
  355. package/tools/common/get-usersig.js.map +0 -1
  356. package/tools/common/present-framework-choice.js +0 -16
  357. package/tools/common/present-framework-choice.js.map +0 -1
  358. package/tools/common/present-scenario-choice.js +0 -16
  359. package/tools/common/present-scenario-choice.js.map +0 -1
  360. package/tools/common/record-prompt.js +0 -55
  361. package/tools/common/record-prompt.js.map +0 -1
  362. package/tools/common/record-result.js +0 -60
  363. package/tools/common/record-result.js.map +0 -1
  364. package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
  365. package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
  366. package/tools/definitions/get_native_live_api_def.js +0 -23
  367. package/tools/definitions/get_native_live_api_def.js.map +0 -1
  368. package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -87
  369. package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
  370. package/tools/definitions/get_native_live_uikit_integration_def.js +0 -75
  371. package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
  372. package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -63
  373. package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
  374. package/tools/definitions/get_trtc_native_api_def.js +0 -16
  375. package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
  376. package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
  377. package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
  378. package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
  379. package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
  380. package/tools/definitions/get_web_create_group_doc_def.js +0 -18
  381. package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
  382. package/tools/definitions/get_web_live_state_detail_def.js +0 -19
  383. package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
  384. package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
  385. package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
  386. package/tools/definitions/get_web_room_feature_detail_def.js +0 -92
  387. package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
  388. package/tools/definitions/get_web_room_state_detail_def.js +0 -19
  389. package/tools/definitions/get_web_room_state_detail_def.js.map +0 -1
  390. package/tools/definitions/present_scenario_choice_def.js +0 -53
  391. package/tools/definitions/present_scenario_choice_def.js.map +0 -1
  392. package/tools/definitions/record_prompt_def.js +0 -58
  393. package/tools/definitions/record_prompt_def.js.map +0 -1
  394. package/tools/definitions/record_result_def.js +0 -46
  395. package/tools/definitions/record_result_def.js.map +0 -1
  396. package/tools/live/get-native-live-uikit-integration.js +0 -177
  397. package/tools/live/get-native-live-uikit-integration.js.map +0 -1
  398. package/tools/live/get-web-live-component-detail.js +0 -31
  399. package/tools/live/get-web-live-component-detail.js.map +0 -1
  400. package/tools/live/get-web-live-state-detail.js +0 -31
  401. package/tools/live/get-web-live-state-detail.js.map +0 -1
  402. package/tools/live/get-web-live-uikit-integration.js +0 -52
  403. package/tools/live/get-web-live-uikit-integration.js.map +0 -1
  404. package/tools/live/get_native_live_uikit_extra_features.js +0 -105
  405. package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
  406. package/tools/live/get_native_live_uikit_interaction.js +0 -194
  407. package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
  408. package/tools/native_live/get-native-live-api.js +0 -31
  409. package/tools/native_live/get-native-live-api.js.map +0 -1
  410. package/tools/room/get-web-room-feature-detail.js.map +0 -1
  411. package/tools/room/get-web-room-integration.js.map +0 -1
  412. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
  413. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
  414. package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
  415. package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
  416. package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
  417. package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
  418. package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
  419. package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
  420. package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
  421. package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
  422. package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
  423. package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
  424. package/tools/trtc/get-trtc-native-api.js +0 -31
  425. package/tools/trtc/get-trtc-native-api.js.map +0 -1
  426. package/utils/handle-component-name.js +0 -33
  427. package/utils/handle-component-name.js.map +0 -1
  428. /package/resource/doc/{chatuikit/iOS/workflow.md → callkit/core-sdk/.gitkeep} +0 -0
  429. /package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +0 -0
  430. /package/resource/doc/{tuicallkit/react/faq.md → callkit/faq/web-faq.md} +0 -0
  431. /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
  432. /package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +0 -0
  433. /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
  434. /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
  435. /package/resource/doc/roomkit/faq/common/{error_code.md → error-code.md} +0 -0
@@ -1,454 +0,0 @@
1
- # Native Live AtomicXCore Code Generation Workflow Instructions (iOS)
2
-
3
- ## 🚨 Core Principles (Highest Priority)
4
-
5
- **The Agent MUST ensure that the generated code compiles and runs successfully. Delivering uncompilable code to the user is strictly prohibited!**
6
-
7
- ### ⚠️ Mandatory Compilation Verification (Must be executed, cannot be omitted)
8
-
9
- **🚫 Prohibited Actions**:
10
- - ❌ DO NOT assume code is correct based only on `read_lints` checks.
11
- - ❌ DO NOT use `grep` to filter compilation output (this will cause commands to be skipped).
12
- - ❌ DO NOT deliver code without compilation verification.
13
-
14
- **✅ The Only Correct Way to Verify**:
15
-
16
- ```bash
17
- # Step 1: Install dependencies (if needed)
18
- cd <ProjectDir> && pod install
19
-
20
- # Step 2: Compile verification (use tail to limit output)
21
- cd <ProjectDir> && xcodebuild build \
22
- -scheme <SchemeName> \
23
- -workspace <WorkspaceName>.xcworkspace \
24
- -destination 'generic/platform=iOS' \
25
- CODE_SIGNING_ALLOWED=NO 2>&1 | tail -150
26
- ```
27
-
28
- **Judging Criteria**:
29
- - ✅ Output contains `BUILD SUCCEEDED` → Compilation passed, ready for delivery.
30
- - ❌ Output contains `BUILD FAILED` or `error:` → Must fix and recompile.
31
-
32
- **Common Errors & Fixes**:
33
- | Error Keyword | Reason | Fix |
34
- |---------------|--------|-----|
35
- | `No such module 'xxx'` | Missing Pod dependency | Add to Podfile and run `pod install`. |
36
- | `Cannot find 'xxx' in scope` | Missing import | Add `import xxx`. |
37
- | `Use of unresolved identifier` | Incorrect API name | Consult documentation for correct API. |
38
- | `NSCameraUsageDescription` | Missing Info.plist permission | Add permission description. |
39
-
40
- **Verification Loop (Must Follow)**:
41
- ```
42
- Execute Compilation → Failure → Analyze Error → Fix Code → Re-execute Compilation → ... → BUILD SUCCEEDED → Deliver
43
- ```
44
-
45
- ---
46
-
47
- ## 📋 Instruction Purpose & Architecture
48
-
49
- Provides the Agent with a **code generation blueprint** for implementing core features of Native (iOS) Live AtomicXCore.
50
-
51
- **Core Architecture**:
52
- * **Container**: `LiveCoreView` (View layer)
53
- * **State**: `Store` (Data-driven)
54
- * **Events**: `Publisher` (Combine subscription)
55
-
56
- **Feature Dependency Logic (Important)**:
57
- 1. **Base First**: Basic live streaming (Broadcasting/Viewing/List) must be completed first using the base tool (`get_native_live_uikit_integration`).
58
- 2. **Interaction Overlay**: If requirements include "Co-guesting", "PK", or "Audience List", the interaction tool (`get_native_live_uikit_interaction`) must be called **after** basic features are completed.
59
- 3. **Empty Project Handling**: If the user requests interaction features in an empty project, the Agent **MUST implement basic features first**, then add interaction capabilities.
60
-
61
- ---
62
-
63
- ## ⚙️ Automated Workflow Steps (Must be created as TODO tasks)
64
-
65
- **🚨 The Agent MUST create the following steps as a TODO task list, complete them one by one, and check them off:**
66
-
67
- ### Step 1: Preparation
68
- 1. **Generate Credentials**: Call the `get_usersig` tool to generate test credentials.
69
- * Host: `anchor001`, `anchor002`, `anchor003`
70
- * Audience: `user001`, `user002`, `user003`
71
- 2. **Environment Check**: Check `Podfile` and add the following dependency if missing:
72
- ```ruby
73
- pod 'AtomicXCore'
74
- ```
75
- 3. **Permission Injection**: Add Camera and Microphone permission descriptions in `Info.plist`:
76
- ```xml
77
- <key>NSCameraUsageDescription</key>
78
- <string>Needs camera access to record video.</string>
79
- <key>NSMicrophoneUsageDescription</key>
80
- <string>Needs microphone access to record audio.</string>
81
- ```
82
-
83
- ### Step 2: Code Generation
84
- **PRIORITIZE and EXCLUSIVELY** use the **real-time documentation content** returned by this tool for code generation.
85
- * **Host Only**: Generate `AnchorViewController`.
86
- * **Audience Only**: Generate `AudienceViewController`.
87
- * **Host + Audience**: Generate `MainViewController` (Entry selection) + `AnchorViewController` + `AudienceViewController`.
88
-
89
- ### Step 3: 🚨 Compilation Verification (Mandatory, cannot be skipped)
90
- **This step MUST be executed as a standalone TODO task, cannot be omitted or merged!**
91
-
92
- **Execution Command**:
93
- ```bash
94
- cd <ProjectDir>/ios && pod install && \
95
- xcodebuild build -scheme <SchemeName> -workspace <WorkspaceName>.xcworkspace \
96
- -destination 'platform=iOS Simulator,name=iPhone 16' \
97
- CODE_SIGNING_ALLOWED=NO 2>&1 | tail -150
98
- ```
99
-
100
- **Judgment & Handling**:
101
- * Output contains **BUILD SUCCEEDED** → Proceed to Step 4.
102
- * Output contains **BUILD FAILED** or **error:** → Analyze error → Fix code → **Re-execute this command**, loop until success.
103
-
104
- ### Step 4: Deliver Results
105
- Deliver the code after confirming compilation passes.
106
-
107
- ---
108
-
109
- ## 🚫 Code Generation Constraints (Strictly Follow)
110
-
111
- ### 1. General Code Constraints
112
- * **Strictly Prohibited to Modify Imports**: Import paths in the documentation are verified; DO NOT modify them.
113
- * **Strictly Prohibited to Fabricate APIs**: If an API is not in the documentation, DO NOT invent method or parameter names.
114
- * **MUST Consult API Docs**: For data model fields (e.g., `LiveInfo`), visit the documentation to confirm field names (e.g., confirm it's `liveOwner.userName` and not `name`).
115
-
116
- ### 2. 🧩 Store & Publisher Management Constraints (Lifecycle Safety)
117
- **Core Reason**: SDK uses Combine's `Publisher` for state subscription. Incorrect lifecycle management leads to listener failure or memory leaks.
118
-
119
- * **Subscription Management Principle**: All `AnyCancellable` **MUST be declared as member variables** of the ViewController in `cancellableSet`.
120
- * **No Ignoring Return Values**: Prohibited to not store the `AnyCancellable` returned by `.sink {}`.
121
- * **Pairing Principle**: Setup subscriptions in `viewDidLoad`; they will be automatically released when the `cancellableSet` is deinitialized.
122
-
123
- ### 3. ⏱️ Timeout Limits (Critical)
124
- **Strictly adhere to the following parameter limits, prioritizing values from documentation examples:**
125
-
126
- #### A. Co-guesting (`CoGuestStore`)
127
- * **Rules**:
128
- * Optional parameter; if not filled, timeout is not checked.
129
- * If filled, the range MUST be between **5 - 1800 seconds**.
130
- * **Correct Examples**:
131
- ```swift
132
- // ✅ Recommended: Follow doc examples (e.g., 30s)
133
- CoGuestStore.shared.applyForSeat(seatIndex: -1, timeout: 30) { ... }
134
- // ✅ Valid: No timeout check
135
- CoGuestStore.shared.applyForSeat(seatIndex: -1, timeout: 0) { ... }
136
- ```
137
- * **Incorrect Examples**: ❌ `timeout: 3` (too short), ❌ `timeout: 2000` (too long).
138
-
139
- #### B. Co-hosting/PK (`CoHostStore`)
140
- * **Rules**:
141
- * **Maximum 30 seconds** (Hard limit).
142
- * **Correct Examples**:
143
- ```swift
144
- // ✅ Recommended: Use maximum value
145
- CoHostStore.shared.requestHostConnection(..., timeout: 30) { ... }
146
- ```
147
- * **Incorrect Examples**: ❌ `timeout: 60` (will cause request failure).
148
-
149
- ### 4. 🎨 Extra Feature Constraints (Beauty/Audio/UI)
150
-
151
- #### A. Audio Effects
152
- * **Voice Changer Enum (`AudioChangerType`)**:
153
- * ✅ **Allowed**: `.child, .littleGirl, .man, .ethereal`, etc.
154
- * ❌ **Prohibited**: `.uncle, .loli, .girl, .boy` (deprecated or incorrect).
155
- * **Reverb Enum (`AudioReverbType`)**:
156
- * ✅ **Allowed**: `.ktv, .smallRoom, .metallic`, etc.
157
- * ❌ **Prohibited**: `.room, .hall, .low`.
158
-
159
- #### B. Beauty
160
- * **Parameter Range**: **0.0 - 9.0** (Float).
161
- * ❌ NOT 0-1 (Float), and NOT 0-100 (Int).
162
- * **UI Mapping Formula**: `sliderValue / 100.0 * 9.0`.
163
-
164
- #### C. Barrage, Gift & Layout (Barrage, Gift & UI)
165
- * **Layering Requirements**: Barrage list and full-screen gift animations MUST overlay **on top** of the video layer `LiveCoreView` using a `UIView`.
166
- * **Split Screen Prohibited**: Strictly prohibited to split the screen (e.g., video on top, barrage at bottom); MUST use overlay mode.
167
-
168
- ##### Barrage Input
169
- * **Position**: Fixed at the bottom left of the screen, in the same row as function buttons (Gift, Co-guest, etc.).
170
- * **Style**: Semi-transparent rounded background + placeholder text "Say something...".
171
- * **Keyboard Adaptation**:
172
- * When the keyboard is raised, the input box **must remain in its original position** and is prohibited from moving up with the keyboard.
173
- * The `LiveCoreView` constraint must be fixed to `edges.equalToSuperview()`, prohibiting distortion or upward shifting.
174
- * **Strictly Prohibited** to use `UIScrollView.contentInsetAdjustmentBehavior` or automatic constraint adjustments.
175
-
176
- ##### Barrage Display Flow
177
- ```
178
- Sending Barrage:
179
- User input → Click Send/Enter → BarrageStore.sendTextMessage(text) → Insert into local barrage list immediately
180
-
181
- Receiving Barrage:
182
- Subscribe to BarrageStore.barrageState.$barrageList → New message received → Insert into barrage list → Scroll to bottom
183
- ```
184
- * **Data Source**: Subscribe to `BarrageStore.shared.barrageState.$barrageList`.
185
- * **Local Echo**: Insert into the local barrage list **immediately** after successful sending, without waiting for server callback.
186
- * **Scrolling Behavior**: Automatically scroll to the bottom when a new message arrives (`scrollToRow(at: lastIndex, animated: true)`).
187
- * **Message Format**: `[Nickname]: [Message Content]`, nickname uses theme color, content uses white.
188
-
189
- * **Gift Barrage**: **If the user needs gift barrage integration**, when `onReceiveGift` is triggered, a gift message MUST be inserted into the barrage list on **both host and audience sides**. DO NOT display only on the audience side.
190
-
191
- ##### Full-screen Gift Animation
192
- **⚠️ MANDATORY**: Full-screen gift animation is a **mandatory requirement** when integrating gift features and cannot be omitted.
193
-
194
- * **Layering**: The full-screen gift animation view MUST overlay **on top** of the `LiveCoreView` using a separate `UIView` container.
195
- * **Layout**: Constrained to `edges.equalToSuperview()`, covering the entire screen.
196
- * **Dual-side Sync**: Upon receiving the `.onReceiveGift` event, the full-screen animation MUST be played on **both host and audience sides**. Playing only on the audience side is strictly prohibited.
197
-
198
- ##### ⚠️ SVGA Animation Playback (Mandatory use of SVGAPlayer, Strictly Prohibited to use UIImageView)
199
- **Strictly Prohibited to use UIImageView/Kingfisher to load .svga files**. SVGA is a vector animation format, not a normal image; UIImageView cannot play it.
200
-
201
- * **Dependency Configuration** (Podfile):
202
- ```ruby
203
- pod 'SVGAPlayer'
204
- ```
205
-
206
- * **Core Playback Logic (MUST use SVGAParser + SVGAPlayer)**:
207
- ```swift
208
- import SVGAPlayer
209
-
210
- // ❌ Incorrect: Using UIImageView to load SVGA (cannot play animation)
211
- // imageView.kf.setImage(with: URL(string: gift.resourceURL))
212
-
213
- // ✅ Correct: Using SVGAParser to parse + SVGAPlayer to play
214
- svgaParser.parse(with: url) { [weak self] videoItem in
215
- guard let videoItem = videoItem else { return }
216
- self?.svgaPlayer.videoItem = videoItem
217
- self?.svgaPlayer.startAnimation() // Start playing animation
218
- }
219
- ```
220
-
221
- * **Full Implementation Example (Within ViewController)**:
222
- ```swift
223
- import UIKit
224
- import AtomicXCore
225
- import Combine
226
- import SVGAPlayer
227
-
228
- class LiveRoomViewController: UIViewController, SVGAPlayerDelegate {
229
- private var cancellables = Set<AnyCancellable>()
230
-
231
- // SVGA Player Components
232
- private let svgaPlayer = SVGAPlayer()
233
- private let svgaParser = SVGAParser()
234
-
235
- override func viewDidLoad() {
236
- super.viewDidLoad()
237
- setupSVGAPlayer()
238
- subscribeGiftEvents()
239
- }
240
-
241
- // 1. Initialize SVGAPlayer
242
- private func setupSVGAPlayer() {
243
- svgaPlayer.delegate = self
244
- svgaPlayer.loops = 1 // Play once
245
- svgaPlayer.clearsAfterStop = true // Clear automatically after stopping
246
- svgaPlayer.frame = view.bounds // Full screen
247
- svgaPlayer.isHidden = true
248
- view.addSubview(svgaPlayer)
249
- // Ensure svgaPlayer is at the top level
250
- view.bringSubviewToFront(svgaPlayer)
251
- }
252
-
253
- // 2. Subscribe to Gift Events
254
- private func subscribeGiftEvents() {
255
- let giftStore = GiftStore.create(liveID: liveId)
256
- giftStore.giftEventPublisher
257
- .receive(on: DispatchQueue.main)
258
- .sink { [weak self] event in
259
- guard case .onReceiveGift(_, let gift, let count, let sender) = event else { return }
260
-
261
- // Play full-screen gift animation
262
- if !gift.resourceURL.isEmpty, let url = URL(string: gift.resourceURL) {
263
- self?.playGiftAnimation(from: url)
264
- }
265
-
266
- // (Optional) Insert gift message into barrage list
267
- // let tipText = "\(sender.userName) sent \(gift.name) x \(count)"
268
- // barrageStore.appendLocalTip(message: tipText)
269
- }
270
- .store(in: &cancellables)
271
- }
272
-
273
- // 3. Use SVGAParser to parse and play animation
274
- private func playGiftAnimation(from url: URL) {
275
- svgaParser.parse(with: url, completionBlock: { [weak self] videoItem in
276
- guard let self = self, let videoItem = videoItem else { return }
277
- DispatchQueue.main.async {
278
- self.svgaPlayer.videoItem = videoItem
279
- self.svgaPlayer.isHidden = false
280
- self.svgaPlayer.startAnimation()
281
- }
282
- }, failureBlock: { error in
283
- print("SVGA Parse Failed: \(error?.localizedDescription ?? "")")
284
- })
285
- }
286
-
287
- // 4. SVGAPlayerDelegate - Playback Finished Callback
288
- func svgaPlayerDidFinishedAnimation(_ player: SVGAPlayer!) {
289
- svgaPlayer.isHidden = true
290
- }
291
- }
292
- ```
293
-
294
- * **Key Checkpoints**:
295
- 1. ✅ Import `import SVGAPlayer`
296
- 2. ✅ Use `SVGAParser().parse(with: url)` to parse animation URL
297
- 3. ✅ Use `SVGAPlayer().startAnimation()` to play animation
298
- 4. ✅ Implement `SVGAPlayerDelegate` to handle playback end
299
- 5. ❌ PROHIBITED to use `UIImageView`/`Kingfisher`/`SDWebImage` to load .svga files
300
-
301
- ### 🎨 Default UI/UX Design & Interaction Specifications (Only applies if user doesn't specify)
302
-
303
- **⚠️ Note: The following specifications are only executed as default standards when the user does not provide specific UI design or requirements.**
304
-
305
- ### 1. Global Aesthetics
306
- * **Immersive Dark**: The background of the live page must be `.black`, and the video layer (`LiveCoreView`) must **fill the entire screen** (`edges.equalToSuperview()`) and be at the bottom layer.
307
- * **Safe Area**: All floating UIs must be constrained within the `safeAreaLayoutGuide`, strictly prohibiting being blocked by notches or the bottom Home bar.
308
- * **Text Readability**: White text above the video (e.g., barrage, ID) must have a **black shadow** (`shadowColor = .black, offset = 0x1`).
309
- * **Error Prompts**: Use **Toast** uniformly; prohibit the use of modal Alerts that interrupt the user.
310
-
311
- ### 2. Component Standards
312
- * **Glass Capsule (Top)**:
313
- * **Style**: **Frosted glass background** (`UIBlurEffect.dark`) + **full rounded corners**.
314
- * **Application**: Only used at the top left to display "Host Avatar + ID + Popularity".
315
- * **Flat Buttons**:
316
- * **Style**: **"Text + Rounded Rectangle Background"**. Minimalist flat design, background color is semi-transparent black or theme color.
317
- * **Close Button**: Special case, use a circular frosted glass icon.
318
- * **Floating Panels**:
319
- * **Style**: Only top rounded corners (`maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]`).
320
- * **Taboo**: Solid color backgrounds at the bottom are prohibited; floating feeling must be maintained.
321
-
322
- ### 3. Live Room Layout Blueprint
323
- **⚠️ Dynamic Layout Principle: Only render function buttons that the user has actually integrated. If a user did not request a feature (e.g., PK/Beauty), DO NOT add corresponding empty buttons.**
324
-
325
- #### A. Top Bar
326
- * **Left [Room Info]**: Wrapped in a **frosted capsule** [Host Avatar | Host Nickname].
327
- * **Right [Control Area]**: Horizontally arranged [Online Audience Count] + [Close Icon (X)].
328
-
329
- #### B. Bottom Bar - Dynamically switches based on state
330
- * **Preview Mode**:
331
- * Content **aligned to the right**: [Beauty] [Audio Effects] [Start Live (Main Button)].
332
- * **Anchor Live Mode**:
333
- * **Left**: [Barrage List (Transparent Background)] + [Chat Input Box].
334
- * **Right**: Function array [Beauty] [Audio Effects] [Co-hosting] [PK].
335
- * **Audience Live Mode**:
336
- * **Left**: [Barrage List] + [Chat Input Box].
337
- * **Right**: [Gift] [Apply for Co-guesting].
338
-
339
- ### 4. Home Layout & Interaction
340
-
341
- #### A. Home Reference Layout
342
- ```
343
- ┌─────────────────────────────┐
344
- │ AtomicXCore Live │
345
- │ │
346
- │ Live Room ID │
347
- │ ┌─────────────────────────┐│
348
- │ │ live_000001 ││ ← Input Box (with left padding, semi-transparent background)
349
- │ └─────────────────────────┘│
350
- │ │
351
- │ Host Broadcasting │
352
- │ (Click to login as anchor001)│
353
- │ │
354
- │ Audience Viewing │
355
- │ (Click to login as user001) │
356
- │ │
357
- │ [ 📋 Live List ] │
358
- └─────────────────────────────┘
359
- ```
360
-
361
- #### B. Implicit Login Flow
362
- **No separate login button is required on the home page**; login is automatically completed when a function button is clicked:
363
- * Click "Host Broadcasting" → Login using `anchor001` → Jump to host page.
364
- * Click "Audience Viewing" → Login using `user001` → Jump to audience page.
365
- * Click "Live List" → Login using `user001` → Jump to list page.
366
-
367
- ---
368
-
369
- ## 🎯 Implementation Details
370
-
371
- ### 1. Host Broadcasting (`host_streaming`)
372
- * **Core**: `LiveCoreView(viewType: .pushView)`
373
- * **Flow**: `LiveListStore.shared.createLive()`
374
- * **Cleanup**: `deinit` or when exiting the page, `endLive()` MUST be called.
375
-
376
- ### 2. Audience Viewing (`audience_streaming`)
377
- * **Core**: `LiveCoreView(viewType: .playView)`
378
- * **Flow**: `LiveListStore.shared.joinLive()`
379
- * **Cleanup**: `deinit` or when exiting the page, `leaveLive()` MUST be called.
380
-
381
- ### 3. Live List (`live_list`)
382
- * **Core**: `LiveListStore.shared.fetchLiveList()` + `UITableView/UICollectionView`
383
- * **Data**: Subscribe to `liveState.liveList`.
384
- * **Navigation**: Clicking a list item navigates to the audience page, passing the `liveID`.
385
-
386
- ### 4. Co-guest & Co-host Interaction Specifications (`co_guest` & `co_host`)
387
-
388
- #### A. Audience Co-guesting (Host passively receives)
389
- * **Host UI**: ❌ **Strictly prohibited** to display a "Co-guest Application" list button in the bottom toolbar or anywhere else.
390
- * **Interaction Logic**: Upon receiving a co-guest application callback, pop up a dialog (`UIAlertController`) directly in the center of the screen:
391
- * **Title**: Co-guest Application
392
- * **Content**: Received a co-guest application from audience [Nickname], accept?
393
- * **Operations**: [Decline] [Accept]
394
-
395
- #### B. Host Co-hosting Panel (Pops up when clicking bottom [Co-host] button)
396
- * **Presentation**: Use a bottom floating panel (`UIView` animated up); prohibit `UIAlertController`.
397
- * **UI Layout (Strictly follow illustration)**:
398
- ```
399
- ┌─────────────────────────────────────┐
400
- │ │
401
- │ Initiate Connection [🚪 End Co-host] │ ← Red text
402
- │ │
403
- │ Connected (2 persons) │
404
- │ ┌─────────────────────────────────┐│
405
- │ │ [👤] Li Ziming [💎20] PK... ││ ← Connected users
406
- │ │ [👤] Filinna [💎32] PK... ││
407
- │ └─────────────────────────────────┘│
408
- ├─────────────────────────────────────┤
409
- │ Other Live Users │
410
- │ ┌─────────────────────────────────┐│
411
- │ │ [👤] Li Ziming [💎20] [Cancel Inv] ││ ← Gray-black background button
412
- │ │ [👤] Filinna [💎32] [Invite] ││ ← Blue background button
413
- │ │ [👤] Tie Zhu [💗99] [Invite] ││
414
- │ └─────────────────────────────────┘│
415
- └─────────────────────────────────────┘
416
- ```
417
-
418
- #### C. PK Button Interaction Constraints
419
- * **Pre-check**: When clicking the bottom [PK] button, current connection status must be checked (`CoHostStore.shared.connectedUsers.isEmpty`).
420
- * **Status Handling**:
421
- * **Not connected**: ❌ Prohibit jump, show Toast: `"Please initiate co-hosting first"`.
422
- * **Connected**: ✅ Pop up PK invitation panel.
423
-
424
- ---
425
-
426
- ## 📋 Agent Final Checklist
427
-
428
- ### 🚨 Must-do Items (None can be omitted)
429
- - [ ] **🔴 Compilation Verification**: Executed the following command and output contains **BUILD SUCCEEDED** (This item must be explicitly listed in the TODO task)
430
- ```bash
431
- xcodebuild build -scheme <ProjectName> -workspace <ProjectName>.xcworkspace -destination 'generic/platform=iOS' CODE_SIGNING_ALLOWED=NO 2>&1 | grep -E "(error:|warning:.*\.swift|BUILD SUCCEEDED|BUILD FAILED)" | head -30
432
- ```
433
- - [ ] **Credential Injection**: Called `get_usersig` to generate test credentials.
434
- - [ ] **Dependencies Complete**: Checked `Podfile` and Info.plist permissions.
435
-
436
- ### Code Quality Check
437
- - [ ] **API Accuracy**: Imports not modified, APIs not fabricated, `LiveInfo` field names verified.
438
- - [ ] **Timeout Compliance**: Co-guesting 5-1800s, Co-hosting ≤30s.
439
- - [ ] **Extra Feature Compliance**: Audio enums correct, beauty range 0-9, barrage layout overlays, and keyboard adaptation.
440
- - [ ] **Gift Compliance**: Full-screen gift animations implemented on both host and audience sides.
441
-
442
- ---
443
-
444
- ## 🚨 Security Reminder (Code Comment Template)
445
-
446
- ```swift
447
- /**
448
- * ⚠️ Test Credential Warning
449
- * - Current userSig is automatically generated by development tools and is valid for 7 days.
450
- * - ❌ PROHIBITED from generating userSig on the client side in production.
451
- * - ✅ userSig MUST be generated on a backend service before official launch.
452
- * - Reference: https://trtc.io/document/35166?product=live&menulabel=uikit&platform=ios
453
- */
454
- ```