@tencent-rtc/mcp 1.3.1 → 1.3.3

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 (87) hide show
  1. package/index.js +4 -0
  2. package/index.js.map +1 -1
  3. package/package.json +1 -1
  4. package/resource/doc/chatuikit/faq/web_sdk/faq.md +125 -0
  5. package/resource/doc/chatuikit/flutter/faq.md +17 -114
  6. package/resource/doc/chatuikit/flutter/integrate_tuikit_Flutter.md +86 -722
  7. package/resource/doc/livekit/live/android/live-audience-list.md +334 -0
  8. package/resource/doc/livekit/live/android/live-audio-effect.md +380 -0
  9. package/resource/doc/livekit/live/android/live-barrage.md +565 -0
  10. package/resource/doc/livekit/live/android/live-base-beauty.md +275 -0
  11. package/resource/doc/livekit/live/android/live-co-guest-interaction.md +629 -0
  12. package/resource/doc/livekit/live/android/live-gift.md +822 -0
  13. package/resource/doc/livekit/live/android/live-host-interaction.md +888 -0
  14. package/resource/doc/livekit/live/android/live-integration.md +972 -0
  15. package/resource/doc/livekit/live/android/live-live-list.md +575 -0
  16. package/resource/doc/livekit/live/android/workflow.md +189 -0
  17. package/resource/doc/roomkit/vue/features/call-user-to-room.md +256 -0
  18. package/resource/doc/roomkit/vue/features/device-detection.md +388 -0
  19. package/resource/doc/roomkit/vue/features/device-state.md +480 -0
  20. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +238 -0
  21. package/resource/doc/roomkit/vue/features/room-chat.md +427 -0
  22. package/resource/doc/roomkit/vue/features/room-participant-state.md +407 -0
  23. package/resource/doc/roomkit/vue/features/room-state.md +291 -0
  24. package/resource/doc/roomkit/vue/features/room-view.md +338 -0
  25. package/resource/doc/roomkit/vue/features/schedule-room.md +349 -0
  26. package/resource/doc/roomkit/vue/features/screen-share.md +333 -0
  27. package/resource/doc/roomkit/vue/features/virtual-background.md +287 -0
  28. package/resource/doc/roomkit/vue/features/workflow.md +553 -0
  29. package/resource/doc/roomkit/vue/integration.md +479 -0
  30. package/resource/doc/roomkit/vue/workflow.md +487 -0
  31. package/resource/doc/tuicallkit/react/api.md +21 -0
  32. package/resource/doc/tuicallkit/vue/api.md +21 -0
  33. package/tools/common/record-prompt.js +2 -2
  34. package/tools/common/record-prompt.js.map +1 -1
  35. package/tools/definitions/get_native_live_extra_features_def.js +87 -0
  36. package/tools/definitions/get_native_live_extra_features_def.js.map +1 -0
  37. package/tools/definitions/get_native_live_interaction_def.js +74 -0
  38. package/tools/definitions/get_native_live_interaction_def.js.map +1 -0
  39. package/tools/definitions/get_native_live_uikit_integration_def.js +49 -0
  40. package/tools/definitions/get_native_live_uikit_integration_def.js.map +1 -0
  41. package/tools/definitions/get_web_room_feature_detail_def.js +95 -0
  42. package/tools/definitions/get_web_room_feature_detail_def.js.map +1 -0
  43. package/tools/definitions/get_web_room_uikit_integration_def.js +44 -0
  44. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -0
  45. package/tools/definitions/record_prompt_def.js +1 -1
  46. package/tools/definitions/record_prompt_def.js.map +1 -1
  47. package/tools/index.js +10 -2
  48. package/tools/index.js.map +1 -1
  49. package/tools/live/get-native-live-uikit-integration.js +101 -0
  50. package/tools/live/get-native-live-uikit-integration.js.map +1 -0
  51. package/tools/live/get-web-live-component-detail.js +1 -1
  52. package/tools/live/get-web-live-component-detail.js.map +1 -1
  53. package/tools/live/get-web-live-state-detail.js +1 -1
  54. package/tools/live/get-web-live-state-detail.js.map +1 -1
  55. package/tools/live/get-web-live-uikit-integration.js +6 -6
  56. package/tools/live/get-web-live-uikit-integration.js.map +1 -1
  57. package/tools/live/get_native_live_extra_features.js +105 -0
  58. package/tools/live/get_native_live_extra_features.js.map +1 -0
  59. package/tools/live/get_native_live_interaction.js +101 -0
  60. package/tools/live/get_native_live_interaction.js.map +1 -0
  61. package/tools/room/get-web-room-feature-detail.js +68 -0
  62. package/tools/room/get-web-room-feature-detail.js.map +1 -0
  63. package/tools/room/get-web-room-integration.js +43 -0
  64. package/tools/room/get-web-room-integration.js.map +1 -0
  65. package/utils/report-cls-client.js +1 -1
  66. package/utils/report-es-client.js +1 -1
  67. package/resource/doc/chatuikit/flutter/integrate_only_tuichat_Flutter.md +0 -333
  68. package/resource/doc/chatuikit/flutter/quick_start_Flutter.md +0 -217
  69. package/resource/doc/roomkit/vue/states/device-state.md +0 -369
  70. package/resource/doc/roomkit/vue/states/login-state.md +0 -59
  71. package/resource/doc/roomkit/vue/states/room-list-state.md +0 -355
  72. package/resource/doc/roomkit/vue/states/room-participant-state.md +0 -388
  73. package/tools/room/get-web-room-state-detail.js +0 -31
  74. package/tools/room/get-web-room-state-detail.js.map +0 -1
  75. /package/resource/doc/livekit/{vue → live/vue}/components/barrage.md +0 -0
  76. /package/resource/doc/livekit/{vue → live/vue}/components/co-guest-panel.md +0 -0
  77. /package/resource/doc/livekit/{vue → live/vue}/components/live-audience-list.md +0 -0
  78. /package/resource/doc/livekit/{vue → live/vue}/components/live-scene-panel.md +0 -0
  79. /package/resource/doc/livekit/{vue → live/vue}/components/live-view.md +0 -0
  80. /package/resource/doc/livekit/{vue → live/vue}/components/stream-mixer.md +0 -0
  81. /package/resource/doc/livekit/{vue → live/vue}/faq.md +0 -0
  82. /package/resource/doc/livekit/{vue → live/vue}/live-list-integration.md +0 -0
  83. /package/resource/doc/livekit/{vue → live/vue}/live-player-desk-integration.md +0 -0
  84. /package/resource/doc/livekit/{vue → live/vue}/live-player-h5-integration.md +0 -0
  85. /package/resource/doc/livekit/{vue → live/vue}/live-pusher-integration.md +0 -0
  86. /package/resource/doc/livekit/{vue → live/vue}/states/live-state.md +0 -0
  87. /package/resource/doc/livekit/{vue → live/vue}/workflow.md +0 -0
@@ -0,0 +1,487 @@
1
+ # Vue TUIRoomKit (Atomicx Version) Code Generation Workflow Instructions
2
+
3
+ ## 📋 Instruction Purpose
4
+
5
+ Provide Agents with a **code generation blueprint for implementing Vue TUIRoomKit (Atomicx version) core features**, and guide Agents to **prioritize using real-time documentation content obtained from tools**, specifically for PC-side Vue3 audio/video meeting application scenarios.
6
+
7
+ ---
8
+
9
+ ## 🛑 Agent Execution Hard Constraints (Guardrails)
10
+
11
+ Agents must strictly follow these instructions when generating code:
12
+
13
+ ### 1. Documentation-Driven Integration
14
+ - Must strictly follow the steps in `llm_code_generation_instructions_md` from the tool return results
15
+ - **Must strictly generate code according to example code in integration documentation**, do not modify code structure and implementation methods without authorization
16
+ - Code generation should fully follow best practices and examples provided in integration documentation to ensure code correctness and runnability
17
+
18
+ ### 2. Source Code Integration Method
19
+ - TUIRoomKit (Atomicx version) uses **source code integration method**, requires cloning from GitHub and copying core source code files
20
+ - Must follow documentation guidance to copy specified source code folders (assets, components, hooks, i18n, utils, config, views) to user project
21
+ - When copying, must ensure merging with existing folders in user project, avoid direct overwriting
22
+
23
+ ### 3. Silent Integration Execution
24
+ - After all code is written, automatically install dependencies and start project in the final step
25
+ - After successful startup, prompt user to access local development server address in browser
26
+
27
+ ### 4. Zero External Configuration (Testing Phase)
28
+ - Prohibit automatically creating any `.env` files for production environment configuration
29
+ - Critical credentials such as SDKAppID and SDKSecretKey must be read from MCP environment variables and directly configured in `src/config/basic-info-config.js`
30
+
31
+ ### 5. Authentication Credential Configuration
32
+ - Read `SDKAppID` and `SDKSecretKey` from MCP environment variables, prohibit requiring user manual input
33
+ - UserID generation should be kept simple (can use random number generation, such as `user_${Math.ceil(Math.random()*999)}`)
34
+ - **⚠️ Important Security Warning**: Must inform users that client-side UserSig generation is only suitable for local testing, production environment must generate UserSig on server side
35
+
36
+ ### 6. Vue 3 Composition API
37
+ - Prioritize using `<script setup lang="ts">` syntax (note enabling TypeScript)
38
+ - Use Vue 3 Composition API (ref, reactive, computed, onMounted, etc.)
39
+ - Correctly import and use TUIRoomKit Atomicx components
40
+
41
+ ### 7. Route Configuration
42
+ - Must configure Vue Router, map `home.vue` to homepage (path: `/home`), map `room.vue` to meeting room page (path: `/room`)
43
+ - Default root path redirects to `/home`
44
+
45
+ ### 8. Environment Dependency Preparation
46
+ - Ensure user project supports TypeScript and SCSS, if not installed need to automatically install `typescript` and `sass` development dependencies
47
+
48
+ ---
49
+
50
+ ## 📦 TUIRoomKit Version & Dependency Automation
51
+
52
+ After Agent generates code, must automatically execute the following dependency chain:
53
+
54
+ ### 1. Core Dependency Version Recommendations
55
+
56
+ ```json
57
+ {
58
+ "tuikit-atomicx-vue3": "latest", // TUIRoomKit atomized component library (includes all Hooks and UI components, will automatically install tuiroom-engine-js)
59
+ "@tencentcloud/uikit-base-component-vue3": "latest", // Base UI component library (buttons, input boxes and other common components)
60
+ "@tencentcloud/tuiroom-engine-js": "latest", // TRTC audio/video engine SDK (underlying capabilities)
61
+ "vue-router": "^4.0.0" // Vue Router (for page navigation)
62
+ }
63
+ ```
64
+
65
+ **Dependency Description**:
66
+
67
+ | Dependency Package | Purpose | Manual Installation Required | Description |
68
+ |-------|------|----------------|------|
69
+ | **tuikit-atomicx-vue3** | TUIRoomKit core package | ✅ Required | Contains all atomized Hooks (useLoginState, useRoomState, useDeviceState, etc.) and atomized UI components (RoomLayoutView, ParticipantViewUI, etc.). Will automatically install `@tencentcloud/tuiroom-engine-js` as dependency |
70
+ | **@tencentcloud/uikit-base-component-vue3** | Base UI component library | ✅ Required | Provides common buttons, input boxes, dialogs and other base components, used internally by TUIRoomKit atomized components |
71
+ | **@tencentcloud/tuiroom-engine-js** | TRTC audio/video engine SDK | ⚠️ Optional | Provides underlying audio/video capabilities (device management, audio/video capture, push/pull stream, etc.). Since `tuikit-atomicx-vue3` will automatically install this dependency, usually no manual installation needed. But if version consistency is required, can manually specify version |
72
+ | **vue-router** | Vue official routing library | ✅ Required | Used to implement route navigation between meeting entry page (`/home`) and meeting room page (`/room`) |
73
+
74
+ **Dependency Relationships**:
75
+ ```
76
+ User Project
77
+ ├── tuikit-atomicx-vue3 (manual install)
78
+ │ └── @tencentcloud/tuiroom-engine-js (auto install)
79
+ ├── @tencentcloud/uikit-base-component-vue3 (manual install)
80
+ └── vue-router (manual install)
81
+ ```
82
+
83
+ **Best Practices**:
84
+ - ✅ **Recommended**: Only manually install `tuikit-atomicx-vue3`, `@tencentcloud/uikit-base-component-vue3`, `vue-router`, let `@tencentcloud/tuiroom-engine-js` auto-install
85
+ - ⚠️ **Optional**: If precise control of `@tencentcloud/tuiroom-engine-js` version is needed, can manually install and specify version number
86
+ - ❌ **Not Recommended**: Specifying different versions of `@tencentcloud/tuiroom-engine-js` in both `dependencies` and manual installation may cause version conflicts
87
+
88
+ ### 2. Development Environment Dependencies (TypeScript and SCSS)
89
+
90
+ If user project does not yet support TypeScript and SCSS, Agent must automatically install:
91
+
92
+ ```json
93
+ {
94
+ "typescript": "latest", // TypeScript compiler (for type checking and compilation)
95
+ "sass": "latest" // SCSS preprocessor (for compiling .scss style files)
96
+ }
97
+ ```
98
+
99
+ **Dependency Description**:
100
+ - **typescript**: TUIRoomKit source code is written in TypeScript, requires TypeScript compiler support
101
+ - **sass**: TUIRoomKit style files are written in SCSS, requires sass preprocessor for compilation
102
+
103
+ ### 3. Build Environment Patch (Vite/esbuild)
104
+
105
+ If Vite project is detected, Agent must automatically add patch configuration in `package.json` for esbuild-wasm compatibility:
106
+
107
+ ```json
108
+ {
109
+ "overrides": {
110
+ "esbuild": "npm:esbuild-wasm@latest" // npm uses this field to override dependency version
111
+ },
112
+ "resolutions": {
113
+ "esbuild": "npm:esbuild-wasm@latest" // yarn/pnpm uses this field to override dependency version
114
+ }
115
+ }
116
+ ```
117
+
118
+ **Patch Description**:
119
+ - **Why needed**: In some environments, esbuild native binary may not run properly, using esbuild-wasm (WebAssembly version) can provide better cross-platform compatibility
120
+ - **Applicable scenarios**: Mainly for projects using Vite build tool
121
+ - **Purpose**: Force replace all esbuild versions in project dependencies with esbuild-wasm version
122
+
123
+ **Installation Command Examples**:
124
+
125
+ ```bash
126
+ # npm
127
+ npm install tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/tuiroom-engine-js vue-router
128
+ npm install typescript sass -D
129
+
130
+ # pnpm
131
+ pnpm install tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/tuiroom-engine-js vue-router
132
+ pnpm install typescript sass -D
133
+
134
+ # yarn
135
+ yarn add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/tuiroom-engine-js vue-router
136
+ yarn add typescript sass -D
137
+ ```
138
+
139
+ ---
140
+
141
+ ## 🏗️ Source Code File Copy Structure
142
+
143
+ Agent must follow the following structure to copy core source code from sample project to user project:
144
+
145
+ | Source Path (Sample Project) | Target Path (User Project) | Description |
146
+ |------------------|-------------------|------|
147
+ | `src/assets/` | `src/assets/` | Contains background images, icons and other static resources |
148
+ | `src/components/` | `src/components/` | Contains all TUIRoomKit atomic UI components |
149
+ | `src/hooks/` | `src/hooks/` | Contains TUIRoomKit business logic processing |
150
+ | `src/i18n/` | `src/i18n/` | Contains multi-language configuration files |
151
+ | `src/utils/` | `src/utils/` | Contains common utility functions |
152
+ | `src/config/` | `src/config/` | Contains `basic-info-config.js` and other application configuration information (focus on this file for first-time integration) |
153
+ | `src/views/home.vue` | `src/views/home.vue` | This page contains device detection, room creation/join entry features |
154
+ | `src/views/room.vue` | `src/views/room.vue` | This page is the core meeting interface of TUIRoomKit, integrating complete header, video layout, control bar and sidebar panels |
155
+
156
+ > **Important Note**: When copying source code files, please ensure **merging** with existing folders in user project, avoid directly overwriting existing folders with same names.
157
+
158
+ ---
159
+
160
+ ## 🎯 TUIRoomKit (Atomicx Version) Core Component Description
161
+
162
+ When generating code, Agent must understand the core architecture of TUIRoomKit Atomicx:
163
+
164
+ ### Atomized Component Design Philosophy
165
+
166
+ TUIRoomKit (Atomicx version) adopts atomized component design, developers can flexibly combine these components to build personalized meeting interfaces.
167
+
168
+ ### Core Page Components
169
+
170
+ | Component Name | Description | Usage Scenario |
171
+ |---------|------|---------|
172
+ | `home.vue` | Meeting entry page | Contains device detection, room creation/join features |
173
+ | `room.vue` | Meeting room core page | Integrates complete header, video layout, control bar and sidebar panels |
174
+
175
+ ### Core Hooks
176
+
177
+ | Hook Name | Description | Main Purpose |
178
+ |---------|------|---------|
179
+ | `useLoginState` | Login state management | Provides login, setSelfInfo and other methods |
180
+ | `useRoomModal` | Room modal management | Provides handleErrorWithModal error handling method |
181
+ | `useRoomEngine` | Room engine management | Get roomEngine instance |
182
+
183
+ ### Core UI Components (from tuikit-atomicx-vue3)
184
+
185
+ - **RoomLayoutView**: Video stream layout component (supports grid, sidebar, top bar three layouts)
186
+ - **ParticipantViewUI**: Video stream widget component (customizable)
187
+ - **UIKitProvider**: Global UI configuration component (theme, language)
188
+
189
+ ---
190
+
191
+ ## 🛠️ Detailed Integration Steps
192
+
193
+ Agent must follow these steps to execute integration:
194
+
195
+ ### Step 1: Clone GitHub Repository and Copy Source Code
196
+
197
+ ```bash
198
+ # Clone TUIRoomKit repository
199
+ git clone https://github.com/Tencent-RTC/TUIRoomKit.git --depth=1
200
+
201
+ # Enter PC-side Vue3 Atomicx sample directory
202
+ cd TUIRoomKit/Web/example/atomicx-vite-vue3-ts
203
+
204
+ # Copy core source code files to user project
205
+ # (Note: Need to merge with existing folders in user project, not directly overwrite)
206
+ ```
207
+
208
+ **Agent Execution Notes**:
209
+ - If folders with same names already exist in user project, must perform intelligent merging
210
+ - Must not overwrite user's existing business code
211
+
212
+ ---
213
+
214
+ ### Step 2: Install Project Dependencies
215
+
216
+ ```bash
217
+ # Install core dependencies
218
+ npm install tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/tuiroom-engine-js vue-router
219
+
220
+ # Install development environment dependencies (if user project does not yet support TypeScript and SCSS)
221
+ npm install typescript sass -S -D
222
+ ```
223
+
224
+ ---
225
+
226
+ ### Step 3: Configure Page Routes
227
+
228
+ Configure or update `src/router/index.ts` file in user project.
229
+
230
+ **Key Configuration Points**:
231
+ - Configure `/home` route: Map to `home.vue` page (meeting entry)
232
+ - Configure `/room` route: Map to `room.vue` page (meeting room)
233
+ - Default root path `/` redirects to `/home`
234
+
235
+ **Agent Execution Requirements**:
236
+ - ⚠️ Must strictly generate according to route configuration examples in integration documentation
237
+ - If `src/router/index.ts` file already exists in user project, need to **merge** route configuration into existing code
238
+ - If route not yet configured, need to create new `src/router/index.ts` file
239
+
240
+ ---
241
+
242
+ ### Step 4: Configure App.vue File
243
+
244
+ Merge configuration content provided in integration documentation into `App.vue` file in user project.
245
+
246
+ **Key Configuration Points**:
247
+ - Configure global `UIKitProvider` component (set theme and language)
248
+ - Import page router `<router-view />`
249
+ - Execute user login logic (`login` and `setSelfInfo`) in `onMounted` hook
250
+ - Configure global styles to ensure meeting interface displays fullscreen
251
+
252
+ **Agent Execution Requirements**:
253
+ - ⚠️ Must strictly generate according to `App.vue` example code in integration documentation, do not modify without authorization
254
+ - If user project already has `App.vue` file, need intelligent merging rather than direct overwriting
255
+
256
+ ---
257
+
258
+ ### Step 5: Configure src/main.ts File
259
+
260
+ Merge route and multi-language configuration provided in integration documentation into entry file `src/main.ts` in user project.
261
+
262
+ **Key Configuration Points**:
263
+ - Import and register Vue Router
264
+ - Configure multi-language resources (Chinese and English)
265
+ - Mount Vue application
266
+
267
+ **Agent Execution Requirements**:
268
+ - ⚠️ Must strictly generate according to `main.ts` example code in integration documentation, do not modify without authorization
269
+ - If entry file in user project is `main.js`, need to change file extension to `main.ts`
270
+ - If user project already has route configuration, need intelligent merging rather than direct overwriting
271
+
272
+ ---
273
+
274
+ ### Step 6: Configure Application Information (src/config/basic-info-config.js)
275
+
276
+ Find `src/config/basic-info-config.js` configuration file in user project directory and perform the following configuration:
277
+
278
+ **Configuration Method**:
279
+ - Agent must read `SDKAppID` and `SDKSecretKey` from MCP environment variables
280
+ - These credentials are configured in MCP environment, no need to obtain through `get_usersig` tool
281
+ - Directly write values from environment variables into `basic-info-config.js` file
282
+
283
+ **⚠️ Security Warning**:
284
+ - The Demo example in this document authenticates by configuring `SDKSecretKey` in client-side code, but `SDKSecretKey` can be easily decompiled and reverse engineered. Once key is leaked, attackers can steal your Tencent Cloud traffic
285
+ - **This method is only suitable for local Demo testing and function debugging**
286
+ - **In formal production environment**, recommend generating UserSig on your server side, have your App request dynamic UserSig from business server when UserSig is needed for authentication
287
+
288
+ **Agent Must Inform Users**:
289
+ > "⚠️ The currently generated code is only suitable for local testing. In formal production environment, you must generate UserSig on server side, see Tencent Cloud documentation: https://cloud.tencent.com/document/product/647/17275#formal"
290
+
291
+ ---
292
+
293
+ ## 🎨 UI Customization Features
294
+
295
+ TUIRoomKit (Atomicx version) supports flexible UI customization, Agent can provide the following customization solutions according to user needs:
296
+
297
+ ### 1. Theme and Language Configuration
298
+
299
+ Modify default values for theme and language by configuring `UIKitProvider` parameters in `App.vue`:
300
+
301
+ | UIKitProvider Parameter | Available Values | Default Value |
302
+ |-------------------|--------|--------|
303
+ | theme | "light" \| "dark" | "light" |
304
+ | language | "zh-CN" \| "en-US" | "en-US" |
305
+
306
+ ```typescript
307
+ <UIKitProvider theme="dark" language="en-US">
308
+ <router-view />
309
+ </UIKitProvider>
310
+ ```
311
+
312
+ ---
313
+
314
+ ### 2. Room Stream Layout Customization
315
+
316
+ TUIRoomKit currently supports three stream layouts:
317
+ - **Grid Layout** (default): `RoomLayoutTemplate.GridLayout`
318
+ - **Sidebar Layout**: `RoomLayoutTemplate.SidebarLayout`
319
+ - **Top Bar Layout**: `RoomLayoutTemplate.CinemaLayout`
320
+
321
+ Modify default layout in `src/views/room.vue`:
322
+
323
+ ```typescript
324
+ // Change default video stream layout to sidebar layout
325
+ const participantViewLayout = ref(RoomLayoutTemplate.SidebarLayout);
326
+
327
+ function handleLayoutUpdate(layout: RoomLayoutTemplate) {
328
+ participantViewLayout.value = layout;
329
+ }
330
+ ```
331
+
332
+ ---
333
+
334
+ ### 3. Custom Video Stream Widget
335
+
336
+ If you need to customize video stream widget (such as username display, audio/video status icons, etc.), can modify the following component:
337
+
338
+ ```
339
+ src/components/RoomLayoutView/ParticipantViewUI/ParticipantViewUI.vue
340
+ ```
341
+
342
+ ---
343
+
344
+ ### 4. Configure User Contact List
345
+
346
+ TUIRoomKit scheduled meeting user selection list and in-meeting call user selection list default to display user relationship chain list. To batch import user relationship chain, refer to the following steps:
347
+
348
+ **Step 1**: Use [Account Management > Import Multiple Accounts](https://cloud.tencent.com/document/product/269/4919) REST API interface to batch import user accounts
349
+
350
+ **Step 2**: Use [Friend Management > Import Friends](https://cloud.tencent.com/document/product/269/8301) REST API interface to batch import user relationship chain
351
+
352
+ ---
353
+
354
+ ## 🔄 Complete Automation Process Summary
355
+
356
+ ```mermaid
357
+ graph TD
358
+ A[Receive User Requirements] --> B[Clone TUIRoomKit GitHub Repository]
359
+ B --> C[Copy Core Source Code Files to User Project]
360
+ C --> D[Install Core Dependencies: tuikit-atomicx-vue3, etc.]
361
+ D --> E{Detect TypeScript and SCSS Support}
362
+ E -->|Not Installed| F[Install typescript and sass]
363
+ E -->|Already Installed| G[Skip]
364
+ F --> H[Configure Vue Router Routes]
365
+ G --> H
366
+ H --> I[Configure App.vue: UIKitProvider + User Login]
367
+ I --> J[Configure main.ts: Routes + Multi-language]
368
+ J --> K[Read SDKAppID and SDKSecretKey from MCP Environment Variables]
369
+ K --> L[Configure basic-info-config.js: SDKAppID + SDKSecretKey]
370
+ L --> M{User Needs UI Customization?}
371
+ M -->|Yes| N[Provide UI Customization Solutions: Theme/Layout/Widget]
372
+ M -->|No| O[Use Default Configuration]
373
+ N --> P[record_result Record Integration Results]
374
+ O --> P
375
+ P --> Q[Automatically Start Development Server: npm run dev]
376
+ Q --> R[Prompt User to Access Local Development Server Address in Browser]
377
+ ```
378
+
379
+ ---
380
+
381
+ ## ✍️ Agent Code Generation Example Instructions (Prompts)
382
+
383
+ When Agent starts writing code, should follow these semantic logic:
384
+
385
+ **Basic Integration**:
386
+ > "Follow TUIRoomKit (Atomicx version) source code integration method to generate a Vue 3 audio/video meeting application for me. Please clone repository from GitHub and copy core source code files, automatically configure routes and multi-language, and read SDKAppID and SDKSecretKey from MCP environment variables to configure in `basic-info-config.js`. After startup, prompt me to access debug address in browser. **Please be sure to inform me: The currently generated code is only suitable for local testing, formal production environment must generate UserSig on server side.**"
387
+
388
+ **Custom Theme and Layout**:
389
+ > "Follow TUIRoomKit (Atomicx version) integration to generate a Vue 3 meeting application. Require dark theme (dark) and English language (en-US), default stream layout is sidebar layout (SidebarLayout)."
390
+
391
+ **Custom Video Stream Widget**:
392
+ > "Follow TUIRoomKit (Atomicx version) integration to generate a Vue 3 meeting application. Need to customize video stream widget to display custom user information and status icons on video stream."
393
+
394
+ ---
395
+
396
+ ## 📝 Key Points Summary
397
+
398
+ | Category | Requirement |
399
+ |------|------|
400
+ | **Framework Version** | Specifically for PC-side Vue 3 projects (does not support Vue 2.x and H5) |
401
+ | **Integration Method** | Source code integration (clone from GitHub and copy core source code files) |
402
+ | **Documentation Priority** | Strictly follow latest documentation instructions returned by tools |
403
+ | **Silent Integration** | Automatically install dependencies and start development server after code writing completed |
404
+ | **Credential Injection** | Read credentials from MCP environment variables, configure in `basic-info-config.js` |
405
+ | **Security Warning** | ⚠️ Must inform users: Client-side UserSig generation only suitable for testing, production environment must generate on server side |
406
+ | **Dependency Management** | Automatically install core dependencies and development environment dependencies (TypeScript, SCSS) |
407
+ | **Route Configuration** | Configure two core routes `/home` and `/room` |
408
+ | **Multi-language** | Support Chinese (zh-CN) and English (en-US) |
409
+ | **UI Customization** | Support theme, layout, video stream widget and other customizations |
410
+
411
+ ---
412
+
413
+ ## 🎯 Agent Execution Checklist
414
+
415
+ After completing code generation, Agent must confirm all the following items:
416
+
417
+ ### Project Initialization
418
+ - [ ] Cloned TUIRoomKit GitHub repository (`git clone https://github.com/Tencent-RTC/TUIRoomKit.git --depth=1`)
419
+ - [ ] Copied core source code files to user project (assets, components, hooks, i18n, utils, config, views)
420
+ - [ ] Installed core dependencies: `tuikit-atomicx-vue3`, `@tencentcloud/uikit-base-component-vue3`, `@tencentcloud/tuiroom-engine-js`, `vue-router`
421
+ - [ ] Detected and installed TypeScript and SCSS development dependencies (if user project not installed)
422
+
423
+ ### Code Generation
424
+ - [ ] Configured Vue Router: `/home` and `/room` routes
425
+ - [ ] Configured `App.vue`: UIKitProvider + user login logic
426
+ - [ ] Configured `main.ts`: routes + multi-language resources
427
+ - [ ] Components use `<script setup lang="ts">` syntax
428
+
429
+ ### Credentials & Login
430
+ - [ ] 🔴 Read SDKAppID and SDKSecretKey from MCP environment variables
431
+ - [ ] Configured SDKAppID and SDKSecretKey in `src/config/basic-info-config.js`
432
+ - [ ] Implemented login() and setSelfInfo() login logic in `App.vue`
433
+ - [ ] ⚠️ **Informed user**: Currently generated code only suitable for local testing, formal production environment must generate UserSig on server side
434
+
435
+ ### UI Configuration
436
+ - [ ] Configured theme (light/dark) and language (zh-CN/en-US) according to user requirements
437
+ - [ ] Configured stream layout (grid/sidebar/top bar) according to user requirements
438
+ - [ ] If user needs custom video stream widget, provided customization solution
439
+
440
+ ### Final Check
441
+ - [ ] Called `record_result` to record integration results
442
+ - [ ] Automatically installed dependencies (npm install)
443
+ - [ ] Automatically started development server (npm run dev)
444
+ - [ ] Prompted user to access local development server address in browser
445
+ - [ ] Project runs normally with no errors
446
+
447
+ ---
448
+
449
+ ## 🔗 Related Tool Reference
450
+
451
+ ### Must Use Tools
452
+
453
+ #### MCP Environment Variables - Read Authentication Credentials
454
+ **Purpose**: Read Tencent Cloud application credentials from MCP environment variables:
455
+ - `SDKAppID`: Application identifier
456
+ - `SDKSecretKey`: Application secret key
457
+
458
+ **Usage**:
459
+ - Agent directly reads credentials from MCP environment variables
460
+ - Write credentials to `src/config/basic-info-config.js` file
461
+ - Prohibit letting users manually fill in or obtain from external tools
462
+
463
+ **Usage Constraints**:
464
+ - ✅ Must read from MCP environment variables
465
+ - ❌ Prohibit letting users manually input
466
+ - ⚠️ Must inform users: Client-side UserSig generation only suitable for testing, production environment must generate on server side
467
+
468
+ #### `record_result` - Record Integration Results
469
+ **Purpose**: Record integration process and results for statistics and analysis
470
+
471
+ **Invocation Timing**: Call after completing all integration steps and successfully starting project
472
+
473
+ ---
474
+
475
+ ## 📚 Related Resource Links
476
+
477
+ - **TUIRoomKit GitHub Repository**: https://github.com/Tencent-RTC/TUIRoomKit
478
+ - **Tencent Cloud TRTC Console**: https://console.cloud.tencent.com/trtc
479
+ - **How to Calculate UserSig in Formal Operation Phase**: https://cloud.tencent.com/document/product/647/17275#formal
480
+ - **URL Domain and Protocol Restrictions**: https://cloud.tencent.com/document/product/647/17249
481
+ - **Dealing with Firewall Restrictions (Intranet Proxy)**: https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/tutorial-34-advanced-proxy.html
482
+
483
+ ---
484
+
485
+ **Applicable Framework**: Vue 3 (PC)
486
+ **TUIRoomKit Version**: tuikit-atomicx-vue3 (Atomicx Version)
487
+ **Build Tool**: Vite (Recommended)
@@ -1,3 +1,24 @@
1
+ ## Important Notice
2
+
3
+ **Documentation Content Description:**
4
+ - The documentation covers two parts: `TUICallEngine` API and `TUICallKit` UI component API.
5
+ - For `TUICallEngine` API documentation, please refer to **Part One**
6
+ - For `TUICallKit` UI component API documentation, please refer to **Part Two**
7
+
8
+ ---
9
+
10
+ ## Part One: TUICallEngine API Documentation
11
+
12
+ **TUICallEngine API Overview**
13
+ - When users query `TUICallEngine` API, you must first consult the official TUICallEngine API documentation, then provide correct API usage examples. **Do not speculate on API usage.**
14
+ - Below are the documentation links for each platform. Please access the documentation links directly to obtain API usage:
15
+ - [TUICallEngine Web API List Documentation](https://trtc.io/document/51016?product=call&menulabel=uikit&platform=web)
16
+ - [TUICallEngine Web API Usage Examples Documentation](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html)
17
+
18
+ ---
19
+
20
+ ## Part Two: TUICallKit UI Component API Documentation
21
+
1
22
  The TUICallKit API is the **audio and video call component that includes a UI interface**. With the TUICallKit API, you can swiftly develop audio and video call scenarios reminiscent of WeChat through simple interfaces. For further comprehensive steps to access this, please refer to: [Integrating TUICallKit](https://trtc.io/document/50993).
2
23
 
3
24
  ## API Overview
@@ -1,3 +1,24 @@
1
+ ## Important Notice
2
+
3
+ **Documentation Content Description:**
4
+ - The documentation covers two parts: `TUICallEngine` API and `TUICallKit` UI component API.
5
+ - For `TUICallEngine` API documentation, please refer to **Part One**
6
+ - For `TUICallKit` UI component API documentation, please refer to **Part Two**
7
+
8
+ ---
9
+
10
+ ## Part One: TUICallEngine API Documentation
11
+
12
+ **TUICallEngine API Overview**
13
+ - When users query `TUICallEngine` API, you must first consult the official TUICallEngine API documentation, then provide correct API usage examples. **Do not speculate on API usage.**
14
+ - Below are the documentation links for each platform. Please access the documentation links directly to obtain API usage:
15
+ - [TUICallEngine Web API List Documentation](https://trtc.io/document/51016?product=call&menulabel=uikit&platform=web)
16
+ - [TUICallEngine Web API Usage Examples Documentation](https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/en/TUICallEngine.html)
17
+
18
+ ---
19
+
20
+ ## Part Two: TUICallKit UI Component API Documentation
21
+
1
22
  The TUICallKit API is the **audio and video call component that includes a UI interface**. With the TUICallKit API, you can swiftly develop audio and video call scenarios reminiscent of WeChat through simple interfaces. For further comprehensive steps to access this, please refer to: [Integrating TUICallKit](https://trtc.io/document/50993).
2
23
 
3
24
  ## API Overview
@@ -4,11 +4,11 @@ import { reportCLSClient } from '../../utils/report-cls-client.js';
4
4
  const registryRecordPromptTool = (mcpServer) => {
5
5
  const { name, description, parameter_descriptions } = RECORD_PROMPT_DEFINITION;
6
6
  mcpServer.tool(name, description, {
7
- content: z.string().describe(parameter_descriptions.content),
7
+ prompt: z.string().describe(parameter_descriptions.prompt),
8
8
  }, (params) => {
9
9
  reportCLSClient({
10
10
  method: 'record_prompt',
11
- info: params.content,
11
+ info: params.prompt,
12
12
  });
13
13
  return {
14
14
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"record-prompt.js","sourceRoot":"","sources":["../../../src/tools/common/record-prompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,MAAM,wBAAwB,GAAG,CAAC,SAAoB,EAAE,EAAE;IACxD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,wBAAwB,CAAC;IAC/E,SAAS,CAAC,IAAI,CACZ,IAAI,EACJ,WAAW,EACX;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC;KAC7D,EAAE,CAAC,MAAM,EAAE,EAAE;QACZ,eAAe,CAAC;YACd,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,MAAM,CAAC,OAAO;SACrB,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,6DAA6D;iBACpE;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"record-prompt.js","sourceRoot":"","sources":["../../../src/tools/common/record-prompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,MAAM,wBAAwB,GAAG,CAAC,SAAoB,EAAE,EAAE;IACxD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,wBAAwB,CAAC;IAC/E,SAAS,CAAC,IAAI,CACZ,IAAI,EACJ,WAAW,EACX;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC;KAC3D,EAAE,CAAC,MAAM,EAAE,EAAE;QACZ,eAAe,CAAC;YACd,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,MAAM,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,6DAA6D;iBACpE;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
@@ -0,0 +1,87 @@
1
+ const TOOL_DESCRIPTION = `
2
+ [CORE PURPOSE]:
3
+ A professional Native live streaming extra features integration assistant, designed to help implement features like Base Beauty, Audio Effects, Barrage, and Gifting on Android/iOS/Flutter/React Native platforms.
4
+
5
+ [KEYWORDS]: 'AtomicXCore', 'LiveKit', 'Beauty', 'Audio Effects', 'Barrage', 'Gift', 'BaseBeautyStore', 'AudioEffectStore', 'DeviceStore', 'BarrageStore', 'GiftStore', 'Android', 'iOS', 'Flutter', 'React Native'.
6
+
7
+ [WORKFLOW GUIDANCE]:
8
+ Agents should use the 'llm_code_generation_instructions_md' field returned by this tool, which includes:
9
+ 1. Core workflow instructions (from workflow.md, including call to get_usersig tool for test credential generation).
10
+ 2. Official documentation content corresponding to the user's required features (Goals).
11
+
12
+ LLM MUST prioritize and exclusively use the documentation content returned by this tool for code generation.
13
+
14
+ [⚠️ CRITICAL PREREQUISITES]:
15
+ **Extra features depend on basic live streaming features**:
16
+ - Beauty, Audio Effects, Barrage, and Gifting MUST be implemented on top of a project that already has Host Broadcasting and Audience Viewing.
17
+ - If the user requests these features in an empty project, the Agent MUST:
18
+ 1. Call 'get_native_live_uikit_integration' first to implement basic live streaming (Host Broadcasting + Audience Viewing).
19
+ 2. Then call this tool to implement extra features.
20
+ 3. Ensure the code includes role selection logic (Host/Audience) for testing.
21
+
22
+ [FUNCTIONAL SCOPE]:
23
+ 1. **Base Beauty** (base_beauty): Skin Smoothing, Whitening, Rosy (Levels 0-9), and Reset Beauty.
24
+ - Core APIs: BaseBeautyStore.setSmoothLevel(), setWhitenessLevel(), setRuddyLevel().
25
+
26
+ 2. **Audio Effects** (audio_effect): Microphone Volume (0-150), Ear Monitoring Volume (0-100), Voice Changer, and Reverb.
27
+ - Core APIs: AudioEffectStore.setVoiceEarMonitorEnable(), setAudioChangerType(), setAudioReverbType(), DeviceStore.setCaptureVolume().
28
+ - **📖 Official API Documentation (Consult for any doubts)**:
29
+ * AudioEffectStore: https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-audio-effect-store/index.html
30
+ * AudioEffectState: https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-audio-effect-state/index.html
31
+ * AudioChangerType: https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-audio-changer-type/index.html
32
+ * AudioReverbType: https://tencent-rtc.github.io/TUIKit_Android/-atomic-x%20-core%20-a-p-i/io.trtc.tuikit.atomicxcore.api.device/-audio-reverb-type/index.html
33
+
34
+ 3. **Barrage Interaction** (barrage): Send/Receive Barrage, Custom Barrage, and Mute Management.
35
+ - Core APIs: BarrageStore.sendTextMessage(), sendCustomMessage(), appendLocalTip().
36
+
37
+ 4. **Gift Gifting** (gift): Gift List, Send Gift, Full-screen Gift Animation (Required), and Barrage Gift Messages (Optional).
38
+ - Core APIs: GiftStore.refreshUsableGifts(), sendGift(), addGiftListener().
39
+
40
+ [SUPPORTED PLATFORMS]: Android, iOS, Flutter, React Native (returns documentation based on 'platform' parameter).
41
+
42
+ [CONSTRAINTS]:
43
+ 1. **Platform Selection Constraint**: If the platform is not specified, you MUST call 'present_framework_choice' first.
44
+ 2. **MUST Check API Docs for Field Names**: DO NOT guess field names; visit provided documentation links.
45
+ 3. **Parameter Range Constraints**:
46
+ - Beauty Intensity: 0-9 (Float). UI controls usually 0-100; MUST map to 0-9.
47
+ - Volume Parameters: Capture Volume 0-150 (Int), Ear Monitor Volume 0-100 (Int).
48
+ 4. **Singleton Reset Constraint**: AudioEffectStore, DeviceStore, and BaseBeautyStore are singletons. Call reset() when the live session ends.
49
+ 5. **Audio API Constraints (Strictly Follow)**:
50
+ - AudioChangerType values: NONE, CHILD, LITTLE_GIRL, MAN, COLD, ETHEREAL, FATSO, FOREIGNER, HEAVY_MACHINERY, HEAVY_METAL, STRONG_CURRENT, TRAPPED_BEAST.
51
+ - AudioReverbType values: NONE, KTV, SMALL_ROOM, AUDITORIUM, DEEP, LOUD, METALLIC, MAGNETIC.
52
+ 6. **🎯 Gift and Barrage Linkage Logic (Strictly Execute)**:
53
+ - **Scenario A: goals=['gift'] (No Barrage)**
54
+ - Implement: Gift panel, sending logic, and **Full-screen Gift Animation**.
55
+ - **DO NOT** implement gift messages in the barrage area.
56
+ - **Scenario B: goals=['barrage', 'gift'] (With Barrage)**
57
+ - Implement: Gift panel, sending logic, and **Full-screen Gift Animation**.
58
+ - **MUST** implement **Gift Text Messages** in the barrage list (e.g., "XXX sent YYY").
59
+ - **Scenario C: Existing project has Barrage, only requesting goals=['gift']**
60
+ - Agent should detect existing barrage module and execute as Scenario B.
61
+ 7. **UI Layout Constraints**:
62
+ - **Full-screen Gift**: MUST overlay on top of the video (e.g., top-level FrameLayout).
63
+ - **Barrage List**: MUST overlay on top of the video; DO NOT use split-screen layouts.
64
+ - **Keyboard Adaptation**: Video view MUST remain fixed when keyboard pops up (e.g., windowSoftInputMode="adjustNothing").
65
+ - **Dual-end Consistency**: Full-screen gift animations MUST be displayed on both host and audience sides.
66
+ 8. **Result Recording Constraint**: Call 'record_result' after successful integration.
67
+ `;
68
+ const PARAMETER_DESCRIPTIONS = {
69
+ platform: `[REQUIRED] Target platform: 'android', 'ios', 'flutter', 'rn'.
70
+ - MUST prompt the user to choose if not specified.
71
+ - The tool returns documentation and code examples based on this parameter.`,
72
+ goals: `List of extra features: ['base_beauty', 'audio_effect', 'barrage', 'gift'].
73
+ - 'base_beauty': Base beauty (Smoothing, Whitening, Rosy 0-9).
74
+ - 'audio_effect': Audio effects (Volume, Ear monitoring, Voice changer, Reverb).
75
+ - 'barrage': Barrage interaction (Send, Receive, Mute).
76
+ - 'gift': Gifting.
77
+ * If only 'gift': Integration of sending/receiving + Full-screen animations.
78
+ * If 'gift' and 'barrage': Integration of sending/receiving + Full-screen animations + Barrage gift messages.
79
+
80
+ 💡 Can be combined, e.g., ['base_beauty', 'audio_effect', 'barrage', 'gift'] for a complete scenario.`
81
+ };
82
+ export const GET_NATIVE_LIVE_EXTRA_FEATURES_DEFINITION = {
83
+ name: 'get_native_live_extra_features',
84
+ description: TOOL_DESCRIPTION,
85
+ parameter_descriptions: PARAMETER_DESCRIPTIONS,
86
+ };
87
+ //# sourceMappingURL=get_native_live_extra_features_def.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_native_live_extra_features_def.js","sourceRoot":"","sources":["../../../src/tools/definitions/get_native_live_extra_features_def.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkExB,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,QAAQ,EAAE;;8EAEkE;IAC5E,KAAK,EAAE;;;;;;;;wGAQ+F;CACvG,CAAC;AAEF,MAAM,CAAC,MAAM,yCAAyC,GAAG;IACvD,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,gBAAgB;IAC7B,sBAAsB,EAAE,sBAAsB;CAC/C,CAAC"}