@tencent-rtc/mcp 1.3.9 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) 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/definitions/get_callkit_api_def.js +29 -0
  201. package/tools/definitions/get_callkit_api_def.js.map +1 -0
  202. package/tools/definitions/get_faq_def.js +17 -18
  203. package/tools/definitions/get_faq_def.js.map +1 -1
  204. package/tools/definitions/get_native_call_uikit_integration_def.js +15 -34
  205. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  206. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
  207. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
  208. package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -41
  209. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  210. package/tools/definitions/get_native_livekit_core_features_def.js +34 -0
  211. package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
  212. package/tools/definitions/get_native_livekit_core_integration_def.js +34 -0
  213. package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
  214. package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
  215. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
  216. package/tools/definitions/get_usersig_def.js +17 -22
  217. package/tools/definitions/get_usersig_def.js.map +1 -1
  218. package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
  219. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
  220. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
  221. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
  222. package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
  223. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  224. package/tools/definitions/get_web_live_uikit_integration_def.js +15 -18
  225. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
  226. package/tools/definitions/get_web_livekit_api_def.js +30 -0
  227. package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
  228. package/tools/definitions/get_web_livekit_component_detail_def.js +32 -0
  229. package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
  230. package/tools/definitions/get_web_room_uikit_integration_def.js +15 -46
  231. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
  232. package/tools/definitions/get_web_roomkit_feature_detail_def.js +31 -0
  233. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
  234. package/tools/definitions/get_web_trtc_sdk_api_def.js +27 -0
  235. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
  236. package/tools/definitions/get_web_trtc_sdk_integration_def.js +27 -0
  237. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
  238. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +27 -0
  239. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
  240. package/tools/definitions/present_framework_choice_def.js +24 -12
  241. package/tools/definitions/present_framework_choice_def.js.map +1 -1
  242. package/tools/index.js +47 -61
  243. package/tools/index.js.map +1 -1
  244. package/tools/live/get_native_livekit_core_features.js +65 -0
  245. package/tools/live/get_native_livekit_core_features.js.map +1 -0
  246. package/tools/live/get_native_livekit_core_integration.js +59 -0
  247. package/tools/live/get_native_livekit_core_integration.js.map +1 -0
  248. package/tools/live/get_web_live_uikit_integration.js +48 -0
  249. package/tools/live/get_web_live_uikit_integration.js.map +1 -0
  250. package/tools/live/get_web_livekit_api.js +32 -0
  251. package/tools/live/get_web_livekit_api.js.map +1 -0
  252. package/tools/live/get_web_livekit_component_detail.js +34 -0
  253. package/tools/live/get_web_livekit_component_detail.js.map +1 -0
  254. package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
  255. package/tools/room/get_web_room_uikit_integration.js.map +1 -0
  256. package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
  257. package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
  258. package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
  259. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
  260. package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
  261. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
  262. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
  263. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
  264. package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
  265. package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
  266. package/utils/generate-structured-result.js +61 -17
  267. package/utils/generate-structured-result.js.map +1 -1
  268. package/utils/report-cls-client.js +12 -1
  269. package/utils/report-cls-client.js.map +1 -1
  270. package/utils/report-es-client.js +2 -2
  271. package/resource/doc/chatuikit/android/workflow.md +0 -713
  272. package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1371
  273. package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -932
  274. package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1119
  275. package/resource/doc/chatuikit/flutter/workflow.md +0 -941
  276. package/resource/doc/chatuikit/react/components/conversation-list.md +0 -1017
  277. package/resource/doc/chatuikit/react/components/search.md +0 -745
  278. package/resource/doc/chatuikit/react/create-group.md +0 -23
  279. package/resource/doc/chatuikit/react/init.md +0 -26
  280. package/resource/doc/chatuikit/react/workflow.md +0 -258
  281. package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
  282. package/resource/doc/chatuikit/vue/create-group.md +0 -25
  283. package/resource/doc/chatuikit/vue/init.md +0 -40
  284. package/resource/doc/chatuikit/vue/workflow.md +0 -395
  285. package/resource/doc/livekit/live/android/workflow.md +0 -320
  286. package/resource/doc/livekit/live/flutter/workflow.md +0 -353
  287. package/resource/doc/livekit/live/ios/workflow.md +0 -454
  288. package/resource/doc/livekit/live/vue/components/barrage.md +0 -616
  289. package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -446
  290. package/resource/doc/livekit/live/vue/faq.md +0 -0
  291. package/resource/doc/livekit/live/vue/live-list-integration.md +0 -200
  292. package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -269
  293. package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -269
  294. package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -595
  295. package/resource/doc/livekit/live/vue/states/live-state.md +0 -3591
  296. package/resource/doc/livekit/live/vue/workflow.md +0 -218
  297. package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -312
  298. package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -430
  299. package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -679
  300. package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -671
  301. package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -271
  302. package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
  303. package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
  304. package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
  305. package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
  306. package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -865
  307. package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -657
  308. package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -437
  309. package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -335
  310. package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
  311. package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -327
  312. package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -507
  313. package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
  314. package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -659
  315. package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
  316. package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -814
  317. package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1000
  318. package/resource/doc/roomkit/vue/features/workflow.md +0 -553
  319. package/resource/doc/roomkit/vue/workflow.md +0 -733
  320. package/resource/doc/tuicallkit/android/workflow.md +0 -441
  321. package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -784
  322. package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -610
  323. package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -938
  324. package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -897
  325. package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -469
  326. package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -781
  327. package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -398
  328. package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
  329. package/resource/doc/tuicallkit/react/api.md +0 -1404
  330. package/resource/doc/tuicallkit/vue/api.md +0 -1406
  331. package/resource/doc/tuicallkit/vue/faq.md +0 -36
  332. package/tools/call/get-native-call-integration.js +0 -43
  333. package/tools/call/get-native-call-integration.js.map +0 -1
  334. package/tools/call/get-web-call-api.js +0 -27
  335. package/tools/call/get-web-call-api.js.map +0 -1
  336. package/tools/call/get-web-call-integration.js.map +0 -1
  337. package/tools/chat/get-native-chat-feature-detail.js +0 -30
  338. package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
  339. package/tools/chat/get-native-chat-integration.js +0 -45
  340. package/tools/chat/get-native-chat-integration.js.map +0 -1
  341. package/tools/chat/get-web-chat-component-detail.js +0 -31
  342. package/tools/chat/get-web-chat-component-detail.js.map +0 -1
  343. package/tools/chat/get-web-chat-integration.js +0 -45
  344. package/tools/chat/get-web-chat-integration.js.map +0 -1
  345. package/tools/chat/get-web-chat-uikit-init.js +0 -28
  346. package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
  347. package/tools/chat/get-web-create-group-doc.js +0 -28
  348. package/tools/chat/get-web-create-group-doc.js.map +0 -1
  349. package/tools/common/get-faq.js +0 -91
  350. package/tools/common/get-faq.js.map +0 -1
  351. package/tools/common/get-usersig.js.map +0 -1
  352. package/tools/common/present-framework-choice.js +0 -16
  353. package/tools/common/present-framework-choice.js.map +0 -1
  354. package/tools/common/present-scenario-choice.js +0 -16
  355. package/tools/common/present-scenario-choice.js.map +0 -1
  356. package/tools/common/record-prompt.js +0 -55
  357. package/tools/common/record-prompt.js.map +0 -1
  358. package/tools/common/record-result.js +0 -60
  359. package/tools/common/record-result.js.map +0 -1
  360. package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
  361. package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
  362. package/tools/definitions/get_native_live_api_def.js +0 -23
  363. package/tools/definitions/get_native_live_api_def.js.map +0 -1
  364. package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -87
  365. package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
  366. package/tools/definitions/get_native_live_uikit_integration_def.js +0 -75
  367. package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
  368. package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -63
  369. package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
  370. package/tools/definitions/get_trtc_native_api_def.js +0 -16
  371. package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
  372. package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
  373. package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
  374. package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
  375. package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
  376. package/tools/definitions/get_web_create_group_doc_def.js +0 -18
  377. package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
  378. package/tools/definitions/get_web_live_state_detail_def.js +0 -19
  379. package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
  380. package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
  381. package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
  382. package/tools/definitions/get_web_room_feature_detail_def.js +0 -92
  383. package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
  384. package/tools/definitions/get_web_room_state_detail_def.js +0 -19
  385. package/tools/definitions/get_web_room_state_detail_def.js.map +0 -1
  386. package/tools/definitions/present_scenario_choice_def.js +0 -53
  387. package/tools/definitions/present_scenario_choice_def.js.map +0 -1
  388. package/tools/definitions/record_prompt_def.js +0 -58
  389. package/tools/definitions/record_prompt_def.js.map +0 -1
  390. package/tools/definitions/record_result_def.js +0 -46
  391. package/tools/definitions/record_result_def.js.map +0 -1
  392. package/tools/live/get-native-live-uikit-integration.js +0 -177
  393. package/tools/live/get-native-live-uikit-integration.js.map +0 -1
  394. package/tools/live/get-web-live-component-detail.js +0 -31
  395. package/tools/live/get-web-live-component-detail.js.map +0 -1
  396. package/tools/live/get-web-live-state-detail.js +0 -31
  397. package/tools/live/get-web-live-state-detail.js.map +0 -1
  398. package/tools/live/get-web-live-uikit-integration.js +0 -52
  399. package/tools/live/get-web-live-uikit-integration.js.map +0 -1
  400. package/tools/live/get_native_live_uikit_extra_features.js +0 -105
  401. package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
  402. package/tools/live/get_native_live_uikit_interaction.js +0 -194
  403. package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
  404. package/tools/native_live/get-native-live-api.js +0 -31
  405. package/tools/native_live/get-native-live-api.js.map +0 -1
  406. package/tools/room/get-web-room-feature-detail.js.map +0 -1
  407. package/tools/room/get-web-room-integration.js.map +0 -1
  408. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
  409. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
  410. package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
  411. package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
  412. package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
  413. package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
  414. package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
  415. package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
  416. package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
  417. package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
  418. package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
  419. package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
  420. package/tools/trtc/get-trtc-native-api.js +0 -31
  421. package/tools/trtc/get-trtc-native-api.js.map +0 -1
  422. package/utils/handle-component-name.js +0 -33
  423. package/utils/handle-component-name.js.map +0 -1
  424. /package/resource/doc/{chatuikit/iOS/workflow.md → callkit/core-sdk/.gitkeep} +0 -0
  425. /package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +0 -0
  426. /package/resource/doc/{tuicallkit/react/faq.md → callkit/faq/web-faq.md} +0 -0
  427. /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
  428. /package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +0 -0
  429. /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
  430. /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
  431. /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
- ```