@tencent-rtc/mcp 1.3.8 → 1.3.9
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.
- package/package.json +1 -1
- package/resource/doc/chatuikit/android/integration.md +499 -203
- package/resource/doc/chatuikit/android/workflow.md +713 -0
- package/resource/doc/chatuikit/flutter/integration.md +1 -1
- package/resource/doc/livekit/voice/android/voice-audience-list.md +334 -0
- package/resource/doc/livekit/voice/android/voice-audio-effect.md +380 -0
- package/resource/doc/livekit/voice/android/voice-barrage.md +565 -0
- package/resource/doc/livekit/voice/android/voice-co-guest-interaction.md +745 -0
- package/resource/doc/livekit/voice/android/voice-gift.md +822 -0
- package/resource/doc/livekit/voice/android/voice-host-interaction.md +703 -0
- package/resource/doc/livekit/voice/android/voice-integration.md +940 -0
- package/resource/doc/livekit/voice/android/voice-room-list.md +575 -0
- package/resource/doc/livekit/voice/flutter/voice-co-guest-interaction.md +675 -0
- package/resource/doc/livekit/voice/flutter/voice-integration.md +936 -0
- package/resource/doc/livekit/voice/ios/voice-audience-list.md +339 -0
- package/resource/doc/livekit/voice/ios/voice-audio-effect.md +370 -0
- package/resource/doc/livekit/voice/ios/voice-barrage.md +517 -0
- package/resource/doc/livekit/voice/ios/voice-co-guest-interaction.md +708 -0
- package/resource/doc/livekit/voice/ios/voice-gift.md +783 -0
- package/resource/doc/livekit/voice/ios/voice-host-interaction.md +770 -0
- package/resource/doc/livekit/voice/ios/voice-integration.md +898 -0
- package/resource/doc/livekit/voice/ios/voice-room-list.md +485 -0
- package/resource/doc/roomkit/vue/integration.md +179 -288
- package/resource/doc/roomkit/vue/workflow.md +499 -253
- package/resource/doc/tuicallkit/android/integration.md +539 -83
- package/resource/doc/tuicallkit/android/workflow.md +441 -0
- package/tools/common/present-scenario-choice.js +16 -0
- package/tools/common/present-scenario-choice.js.map +1 -0
- package/tools/definitions/get_native_call_uikit_integration_def.js +25 -9
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js +36 -14
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_live_uikit_integration_def.js +55 -29
- package/tools/definitions/get_native_live_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_live_uikit_interaction_def.js +43 -54
- package/tools/definitions/get_native_live_uikit_interaction_def.js.map +1 -1
- package/tools/definitions/get_web_room_feature_detail_def.js +52 -55
- package/tools/definitions/get_web_room_feature_detail_def.js.map +1 -1
- package/tools/definitions/get_web_room_uikit_integration_def.js +41 -25
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
- package/tools/definitions/present_scenario_choice_def.js +53 -0
- package/tools/definitions/present_scenario_choice_def.js.map +1 -0
- package/tools/definitions/record_prompt_def.js +26 -21
- package/tools/definitions/record_prompt_def.js.map +1 -1
- package/tools/definitions/record_result_def.js +20 -4
- package/tools/definitions/record_result_def.js.map +1 -1
- package/tools/index.js +2 -0
- package/tools/index.js.map +1 -1
- package/tools/live/get-native-live-uikit-integration.js +110 -34
- package/tools/live/get-native-live-uikit-integration.js.map +1 -1
- package/tools/live/get_native_live_uikit_interaction.js +128 -35
- package/tools/live/get_native_live_uikit_interaction.js.map +1 -1
- package/utils/report-cls-client.js +1 -1
- package/utils/report-es-client.js +1 -1
|
@@ -1,45 +1,71 @@
|
|
|
1
1
|
const TOOL_DESCRIPTION = `
|
|
2
|
-
[
|
|
3
|
-
|
|
2
|
+
[TOOL DEFINITION]:
|
|
3
|
+
Mobile **Video Live / Voice Chat Room** basic feature integrator. Designed to provide Agent with workflow instructions and real-time aggregated documentation for implementing basic broadcasting/viewing/list features on Android/iOS/Flutter/uni-app platforms.
|
|
4
4
|
|
|
5
|
-
[KEYWORDS]: 'AtomicXCore', 'LiveKit', 'Live
|
|
5
|
+
[KEYWORDS]: 'AtomicXCore', 'LiveKit', 'Video Live', 'Voice Chat Room', 'Broadcasting', 'Viewing', 'Room List'.
|
|
6
6
|
|
|
7
7
|
[WORKFLOW GUIDANCE]:
|
|
8
|
-
|
|
9
|
-
1. Core workflow instructions (from workflow.md, including
|
|
10
|
-
2.
|
|
8
|
+
When handling user requirements, Agent should use the 'llm_code_generation_instructions_md' field returned by this tool. This field contains:
|
|
9
|
+
1. Core workflow instructions (from workflow.md, including closed-loop flow for calling get_usersig tool to auto-generate test credentials and inject into code).
|
|
10
|
+
2. Latest, real-time fetched official documentation content corresponding to user's required features (Goals).
|
|
11
11
|
|
|
12
|
-
LLM MUST prioritize and exclusively use the documentation content returned by this tool for code generation.
|
|
12
|
+
LLM MUST prioritize and exclusively use the real-time documentation content returned by this tool for code generation, avoiding direct access to external URLs.
|
|
13
13
|
|
|
14
14
|
[FUNCTIONAL SCOPE]:
|
|
15
|
-
Designed for building Native live streaming products, including:
|
|
15
|
+
Designed for building Native live streaming/voice chat room products, including:
|
|
16
16
|
1. **Authentication**: SDK initialization and LoginStore login/authentication.
|
|
17
|
-
2. **Host Broadcasting**:
|
|
18
|
-
3. **Audience Viewing**:
|
|
19
|
-
4. **
|
|
17
|
+
2. **Host/Room Owner Broadcasting**: Create room and start streaming.
|
|
18
|
+
3. **Audience/Listener Viewing**: Join room and start playback.
|
|
19
|
+
4. **Room List**: Fetch room list, display room info, click to navigate.
|
|
20
20
|
|
|
21
|
-
[SUPPORTED PLATFORMS]:
|
|
21
|
+
[SUPPORTED SCENARIOS & PLATFORMS]:
|
|
22
|
+
- **Video Live (live) / Voice Chat Room (voice)**: Android, iOS, Flutter, uni-app
|
|
22
23
|
|
|
23
|
-
[
|
|
24
|
-
|
|
24
|
+
[TYPICAL USE CASES (Few-Shot Examples)]:
|
|
25
|
+
LLM should learn the following mapping between user instructions and parameters:
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
1. **Explicit Scenario & Platform**:
|
|
28
|
+
- User: "Use AtomicXCore to implement video live host broadcasting on Android"
|
|
29
|
+
- Call: scenario='live', platform='android', goals=['host_streaming']
|
|
30
|
+
|
|
31
|
+
- User: "Use AtomicXCore to implement voice chat room audience viewing on iOS"
|
|
32
|
+
- Call: scenario='voice', platform='ios', goals=['audience_streaming']
|
|
33
|
+
|
|
34
|
+
- User: "Use AtomicXCore to implement video live list on Flutter"
|
|
35
|
+
- Call: scenario='live', platform='flutter', goals=['live_list']
|
|
36
|
+
|
|
37
|
+
- User: "Use AtomicXCore to implement voice chat room features on uni-app"
|
|
38
|
+
- Call: scenario='voice', platform='uni-app', goals=['host_streaming', 'audience_streaming', 'live_list']
|
|
39
|
+
|
|
40
|
+
2. **Multi-Feature Combination**:
|
|
41
|
+
- User: "Implement complete video live features on Android (broadcasting + viewing + list)"
|
|
42
|
+
- Call: scenario='live', platform='android', goals=['host_streaming', 'audience_streaming', 'live_list']
|
|
43
|
+
|
|
44
|
+
3. **Exception Interception (Missing Platform)**:
|
|
45
|
+
- User: "Use AtomicXCore to implement live streaming features"
|
|
46
|
+
- Action: ❌ No guessing allowed, **MUST call 'present_framework_choice' first** to let user select platform.
|
|
47
|
+
|
|
48
|
+
4. **Exception Interception (Missing Scenario)**:
|
|
49
|
+
- User: "Use AtomicXCore to implement host broadcasting", "Implement room list features"
|
|
50
|
+
- Action: ❌ No guessing allowed, **MUST call 'present_scenario_choice' first** to let user select scenario (Video Live / Voice Chat Room).
|
|
51
|
+
|
|
52
|
+
[WORKFLOW MECHANISM]:
|
|
53
|
+
This tool returns 'llm_code_generation_instructions_md'. You MUST strictly write code based on the returned Context and check API links at the bottom of documentation to confirm field names (guessing is prohibited).
|
|
32
54
|
`;
|
|
33
55
|
const PARAMETER_DESCRIPTIONS = {
|
|
34
|
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
|
|
42
|
-
|
|
56
|
+
scenario: `[REQUIRED] Scenario type.
|
|
57
|
+
- 'live': Video Live (keywords: live streaming, show live, video, e-commerce live).
|
|
58
|
+
- 'voice': Voice Chat Room (keywords: voice chat, voice room, radio, audio room).
|
|
59
|
+
*Strategy: If user does not specify explicitly, **default values are strictly prohibited**, MUST call 'present_scenario_choice' first.`,
|
|
60
|
+
platform: `[REQUIRED] Development platform.
|
|
61
|
+
- Video Live (live) supports: 'android', 'ios', 'flutter', 'uni-app'
|
|
62
|
+
- Voice Chat Room (voice) supports: 'android', 'ios', 'flutter', 'uni-app'
|
|
63
|
+
*Strategy: If user does not specify explicitly, **default values are strictly prohibited**, MUST call 'present_framework_choice' first.`,
|
|
64
|
+
goals: `[REQUIRED] Feature module list (Array):
|
|
65
|
+
- 'host_streaming': Host/Room owner broadcasting (includes authentication, create room, start streaming).
|
|
66
|
+
- 'audience_streaming': Audience/Listener viewing (includes authentication, join room, start playback).
|
|
67
|
+
- 'live_list': Room list feature (fetch room list, display room info, click to navigate).
|
|
68
|
+
*Strategy: Multiple selections allowed, e.g., ['host_streaming', 'audience_streaming', 'live_list'] for complete scenario.`
|
|
43
69
|
};
|
|
44
70
|
export const GET_NATIVE_LIVE_UIKIT_INTEGRATION_DEFINITION = {
|
|
45
71
|
name: 'get_native_live_uikit_integration',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_native_live_uikit_integration_def.js","sourceRoot":"","sources":["../../../src/tools/definitions/get_native_live_uikit_integration_def.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG
|
|
1
|
+
{"version":3,"file":"get_native_live_uikit_integration_def.js","sourceRoot":"","sources":["../../../src/tools/definitions/get_native_live_uikit_integration_def.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDxB,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,QAAQ,EAAE;;;yIAG6H;IAEvI,QAAQ,EAAE;;;0IAG8H;IAExI,KAAK,EAAE;;;;6HAIoH;CAC5H,CAAC;AAEF,MAAM,CAAC,MAAM,4CAA4C,GAAG;IAC1D,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,gBAAgB;IAC7B,sBAAsB,EAAE,sBAAsB;CAC/C,CAAC"}
|
|
@@ -1,70 +1,59 @@
|
|
|
1
1
|
const TOOL_DESCRIPTION = `
|
|
2
|
-
[
|
|
3
|
-
|
|
2
|
+
[TOOL DEFINITION]:
|
|
3
|
+
Mobile **Video Live / Voice Chat Room** advanced interaction feature integrator. Designed for adding co-guesting, PK, audience management and other interactive features on top of Android/iOS/Flutter/uni-app projects that already have basic streaming capabilities.
|
|
4
4
|
|
|
5
|
-
[
|
|
5
|
+
[⚠️ CRITICAL DEPENDENCY CHAIN]:
|
|
6
|
+
1. **Non-Empty Project Principle**: Strictly prohibited to run directly in an empty project!
|
|
7
|
+
- Must confirm project already includes basic features (i.e., 'get_native_live_uikit_integration' has been successfully executed).
|
|
8
|
+
- If not included, **MUST call 'get_native_live_uikit_integration' first** to build the foundation.
|
|
9
|
+
2. **Credential Closure**: After code generation, must automatically execute 'get_usersig' to generate test credentials.
|
|
6
10
|
|
|
7
|
-
[
|
|
8
|
-
|
|
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
|
+
[TYPICAL USE CASES (Few-Shot Examples)]:
|
|
12
|
+
LLM should learn the following mapping between user instructions and parameters:
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
1. **Explicit Scenario & Platform**:
|
|
15
|
+
- User: "Use AtomicXCore to implement video live co-guesting on Android"
|
|
16
|
+
- Call: scenario='live', platform='android', goals=['co_guest_interaction']
|
|
13
17
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
- Co-guesting, Host PK, and Audience List management MUST be implemented on top of a project that already has Host Broadcasting and Audience Viewing.
|
|
17
|
-
- If the user requests interaction 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 interaction features.
|
|
20
|
-
3. Ensure the code includes role selection logic (Host/Audience) for testing.
|
|
18
|
+
- User: "Use AtomicXCore to implement video live host cross-room connection and PK on iOS"
|
|
19
|
+
- Call: scenario='live', platform='ios', goals=['co_host_interaction']
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
- User: "Use AtomicXCore to implement voice chat room host cross-room connection and PK on iOS"
|
|
22
|
+
- Call: scenario='voice', platform='ios', goals=['co_host_interaction']
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
- Host inviting audience to seat.
|
|
28
|
-
- Audience side: Apply, receive invitation, respond, leave seat, cancel application.
|
|
29
|
-
- Host side: Receive application, display application list, handle application, invite, listen for response.
|
|
24
|
+
- User: "Use AtomicXCore to implement voice chat room audience list management on Flutter"
|
|
25
|
+
- Call: scenario='voice', platform='flutter', goals=['audience_list']
|
|
30
26
|
|
|
31
|
-
|
|
32
|
-
-
|
|
33
|
-
- Host PK (BattleStore): Competitive interaction between hosts.
|
|
34
|
-
- Inviter: Send invitation, listen for result, start PK, listen for PK state.
|
|
35
|
-
- Invitee: Receive invitation, respond, receive PK challenge, respond.
|
|
36
|
-
- UI Customization: Nickname display, PK score progress bar, PK state display.
|
|
27
|
+
- User: "Use AtomicXCore to implement voice chat room seat features on uni-app"
|
|
28
|
+
- Call: scenario='voice', platform='uni-app', goals=['co_guest_interaction']
|
|
37
29
|
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
- Audience events (Join/Leave).
|
|
42
|
-
- Administrator management (Set/Revoke admin).
|
|
43
|
-
- Room management (Kick out).
|
|
44
|
-
- Advanced: Welcome messages in barrage area.
|
|
30
|
+
2. **Multi-Feature Combination**:
|
|
31
|
+
- User: "Implement both co-guesting and audience list in Android live room"
|
|
32
|
+
- Call: scenario='live', platform='android', goals=['co_guest_interaction', 'audience_list']
|
|
45
33
|
|
|
46
|
-
|
|
34
|
+
3. **Exception Interception (Missing Platform)**:
|
|
35
|
+
- User: "Use AtomicXCore to implement voice chat room interaction features"
|
|
36
|
+
- Action: ❌ No guessing allowed, **MUST call 'present_framework_choice' first** to let user select platform.
|
|
47
37
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
38
|
+
4. **Exception Interception (Missing Scenario)**:
|
|
39
|
+
- User: "Use AtomicXCore to implement host connection and PK features", "Implement host broadcasting features"
|
|
40
|
+
- Action: ❌ No guessing allowed, **MUST call 'present_scenario_choice' first** to let user select scenario (Video Live / Voice Chat Room).
|
|
41
|
+
|
|
42
|
+
[WORKFLOW MECHANISM]:
|
|
43
|
+
This tool returns 'llm_code_generation_instructions_md'. You MUST strictly write code based on the returned Context and check API links at the bottom of documentation to confirm field names (guessing is prohibited).
|
|
54
44
|
`;
|
|
55
45
|
const PARAMETER_DESCRIPTIONS = {
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
- '
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
💡 Can be combined, e.g., ['co_guest_interaction', 'co_host_interaction', 'audience_list'] for complete interaction.`
|
|
46
|
+
scenario: `[REQUIRED] Scenario type.
|
|
47
|
+
- 'live': Video Live (keywords: live streaming, show live, video, e-commerce live).
|
|
48
|
+
- 'voice': Voice Chat Room (keywords: voice chat, voice room, radio, audio room).
|
|
49
|
+
*Strategy: If user does not specify explicitly, **default values are strictly prohibited**, MUST call 'present_scenario_choice' first.`,
|
|
50
|
+
platform: `[REQUIRED] Development platform (android/ios/flutter/uni-app).
|
|
51
|
+
*Strategy: If user does not specify explicitly, **default values are strictly prohibited**, MUST call 'present_framework_choice' first.`,
|
|
52
|
+
goals: `[REQUIRED] Feature module list (Array):
|
|
53
|
+
- 'co_guest_interaction': Co-guesting/Seat management (includes apply, invite, leave seat).
|
|
54
|
+
- 'co_host_interaction': Host/Room owner cross-room connection, PK battle (⚠️ Flutter/uni-app not supported in Voice scenario).
|
|
55
|
+
- 'audience_list': Member list, count statistics, administrator permissions.
|
|
56
|
+
*Strategy: Multiple selections allowed, e.g., ['co_guest_interaction', 'audience_list'].`
|
|
68
57
|
};
|
|
69
58
|
export const GET_NATIVE_LIVE_UIKIT_INTERACTION_DEFINITION = {
|
|
70
59
|
name: 'get_native_live_uikit_interaction',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_native_live_uikit_interaction_def.js","sourceRoot":"","sources":["../../../src/tools/definitions/get_native_live_uikit_interaction_def.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG
|
|
1
|
+
{"version":3,"file":"get_native_live_uikit_interaction_def.js","sourceRoot":"","sources":["../../../src/tools/definitions/get_native_live_uikit_interaction_def.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CxB,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,QAAQ,EAAE;;;yIAG6H;IAEvI,QAAQ,EAAE;0IAC8H;IAExI,KAAK,EAAE;;;;2FAIkF;CAC1F,CAAC;AAEF,MAAM,CAAC,MAAM,4CAA4C,GAAG;IAC1D,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,gBAAgB;IAC7B,sBAAsB,EAAE,sBAAsB;CAC/C,CAAC"}
|
|
@@ -1,90 +1,87 @@
|
|
|
1
1
|
const TOOL_DESCRIPTION = `
|
|
2
|
-
|
|
2
|
+
【Core Purpose】: This is a Web RoomKit **custom UI development** tool, specifically designed to help developers use TUIRoomKit (Atomicx version) atomic components and APIs to **implement conference interfaces themselves**. This tool provides complete feature implementation guides, code examples, and best practices.
|
|
3
3
|
|
|
4
|
-
**Important
|
|
4
|
+
⚠️⚠️⚠️ **Important: This tool is not the first choice** ⚠️⚠️⚠️
|
|
5
|
+
- If users only say "develop conference app", "H5 conference", "PC conference", etc., **please prioritize using the 'get_web_room_uikit_integration' tool**
|
|
6
|
+
- **Only call this tool when users explicitly express the following intentions**:
|
|
7
|
+
- Explicitly say "custom UI", "implement interface myself", "don't use pre-built components"
|
|
8
|
+
- Explicitly say "deep customization", "custom business process"
|
|
9
|
+
- Need to integrate **individual feature modules** (such as screen sharing, beauty) into **existing applications**
|
|
10
|
+
- Ask about specific API usage (such as useRoomState, useDeviceState)
|
|
5
11
|
|
|
6
|
-
|
|
7
|
-
- **
|
|
8
|
-
- **
|
|
9
|
-
- **
|
|
10
|
-
- **
|
|
11
|
-
- **Deep Customization Requirements**: Need to customize UI, business processes, interaction logic, breaking through the limitations of preset components
|
|
12
|
-
- **Technical Implementation Consultation**: Learn how to use Atomicx atomized APIs (such as useRoomState, useDeviceState) to implement specific features
|
|
12
|
+
【Applicable Scenarios - Custom Requirements Only】:
|
|
13
|
+
- **Custom Conference Interface**: Users **explicitly indicate** they want to implement conference functionality based on RoomKit atomic capabilities themselves, rather than directly using complete TUIRoomKit pre-built pages
|
|
14
|
+
- **Feature Modular Integration**: Only need to integrate specific feature modules (such as screen sharing, beauty, chat, etc.) into **existing applications**
|
|
15
|
+
- **Deep Customization Requirements**: Users **explicitly say** they need custom UI, business processes, interaction logic, breaking through pre-built component limitations
|
|
16
|
+
- **API Usage Consultation**: Understanding how to use Atomicx atomic APIs (such as useRoomState, useDeviceState) to implement specific functions
|
|
13
17
|
|
|
14
|
-
|
|
18
|
+
【Feature Scope】: This tool covers all atomic functional capabilities of Web Room TUIKit (Atomicx version), including:
|
|
15
19
|
|
|
16
20
|
**📋 Core Feature Modules:**
|
|
17
|
-
1. **Device Detection
|
|
21
|
+
1. **Device Detection and Management** (device-detection, device-state): Camera, microphone, speaker testing, switching and state management, network quality monitoring
|
|
18
22
|
2. **Room Lifecycle Management** (room-state): Create room, join room, leave room, destroy room, room information updates, exception handling
|
|
19
|
-
3. **Member Management** (room-participant-state): Member list display, permission control, set administrator, media device management, mute all/disable all
|
|
20
|
-
4. **Video Layout Rendering** (room-view): Grid layout, sidebar layout, top bar layout, video widget UI customization,
|
|
21
|
-
5. **In-Meeting Chat** (room-chat): Message sending
|
|
23
|
+
3. **Member Management** (room-participant-state): Member list display, permission control, set administrator, media device management, mute all/disable video for all, kick out
|
|
24
|
+
4. **Video Layout Rendering** (room-view): Grid layout, sidebar layout, top bar layout, video widget UI customization, presenter mode
|
|
25
|
+
5. **In-Meeting Chat** (room-chat): Message sending and receiving, emoji image files, read receipts, mute management, unread count
|
|
22
26
|
6. **Screen Sharing** (screen-share): Start/stop screen sharing, system audio sharing, permission control, automatic layout switching, error handling
|
|
23
|
-
7. **
|
|
24
|
-
8. **In-Meeting
|
|
25
|
-
9. **Basic Beauty
|
|
27
|
+
7. **Scheduled Rooms** (schedule-room): Create scheduled meetings, get scheduled list, modify/cancel scheduled meetings, meeting password handling, event listening
|
|
28
|
+
8. **In-Meeting Calls** (call-user-to-room): Initiate meeting invitations, accept/reject invitations, cancel invitations, timeout handling, multi-device synchronization
|
|
29
|
+
9. **Basic Beauty** (free-beauty-panel): Skin smoothing, whitening, rosy parameter adjustment, real-time preview, remote effects
|
|
26
30
|
10. **Virtual Background** (virtual-background): Background blur, custom background images, real-time preview, browser compatibility detection
|
|
27
31
|
|
|
28
|
-
|
|
32
|
+
【Keywords】: 'custom UI', 'implement interface myself', 'deep customization', 'atomic components', 'Atomicx', 'RoomKit State', 'useRoomState', 'useRoomParticipantState', 'useDeviceState', 'API calls', 'code examples', 'feature module integration'.
|
|
29
33
|
|
|
30
|
-
|
|
34
|
+
【Supported Framework】: Currently only supports Vue framework (Vue 3.4.21+).
|
|
31
35
|
|
|
32
|
-
|
|
33
|
-
- ✅ **
|
|
34
|
-
- ✅ **
|
|
36
|
+
【Platform Support】:
|
|
37
|
+
- ✅ **Supports H5 Mobile**: RoomKit State API can be used in mobile browsers (WeChat, Safari, Chrome)
|
|
38
|
+
- ✅ **Supports PC Web**: Supports all modern browsers (Chrome, Edge, Safari, Firefox)
|
|
35
39
|
- ⚠️ **Note**: Some features (such as virtual background, screen sharing) may be limited by browser capabilities and require compatibility detection
|
|
36
40
|
|
|
37
|
-
|
|
38
|
-
1.
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
- Develop Web/PC audio/video meeting applications
|
|
42
|
-
- Use RoomKit atomized capabilities to implement meeting features themselves
|
|
43
|
-
- Customize meeting interface or business processes
|
|
44
|
-
- Integrate specific feature modules into existing applications
|
|
45
|
-
- Ask how to use a feature's API or component
|
|
46
|
-
- Need code examples to implement specific features
|
|
47
|
-
- Ask "how to implement XX feature", "how to use XX", "how to integrate XX"
|
|
48
|
-
- Ask whether RoomKit State supports H5/mobile devices
|
|
41
|
+
【Mandatory Constraints】:
|
|
42
|
+
1. **⚠️ This tool is not the first choice**:
|
|
43
|
+
- If users only say general requirements like "develop conference app", "H5 conference", "PC conference", **please prioritize using the 'get_web_room_uikit_integration' tool**
|
|
44
|
+
- Only when users **explicitly indicate** "custom UI", "implement interface myself", "deep customization" should this tool be called
|
|
49
45
|
|
|
50
|
-
2. **
|
|
46
|
+
2. **Call Timing Instructions**:
|
|
47
|
+
- ❌ **Should not call**: User says "develop H5 conference app" → should use 'get_web_room_uikit_integration'
|
|
48
|
+
- ❌ **Should not call**: User says "develop PC conference app" → should use 'get_web_room_uikit_integration'
|
|
49
|
+
- ❌ **Should not call**: User says "develop audio/video conference" → should use 'get_web_room_uikit_integration'
|
|
50
|
+
- ✅ **Should call**: User says "I want to customize conference interface" → call this tool
|
|
51
|
+
- ✅ **Should call**: User says "don't use pre-built components, implement UI myself" → call this tool
|
|
52
|
+
- ✅ **Should call**: User says "integrate screen sharing feature into my existing app" → call this tool
|
|
53
|
+
- ✅ **Should call**: User asks "how to use useRoomState" → call this tool
|
|
54
|
+
|
|
55
|
+
3. **Feature names must match exactly**: goals parameter must be selected from the following list, fuzzy matching is not supported:
|
|
51
56
|
- 'device-detection': Device detection (pre-room testing)
|
|
52
|
-
- 'device-state': Device state management (in
|
|
57
|
+
- 'device-state': Device state management (in-room)
|
|
53
58
|
- 'room-state': Room lifecycle management
|
|
54
59
|
- 'room-participant-state': Member management
|
|
55
60
|
- 'room-view': Video layout rendering
|
|
56
61
|
- 'room-chat': In-meeting chat
|
|
57
62
|
- 'screen-share': Screen sharing
|
|
58
|
-
- 'schedule-room':
|
|
59
|
-
- 'call-user-to-room': In-meeting
|
|
60
|
-
- 'free-beauty-panel': Basic beauty
|
|
63
|
+
- 'schedule-room': Scheduled rooms
|
|
64
|
+
- 'call-user-to-room': In-meeting calls
|
|
65
|
+
- 'free-beauty-panel': Basic beauty
|
|
61
66
|
- 'virtual-background': Virtual background
|
|
62
67
|
|
|
63
|
-
|
|
64
|
-
- ✅ **Must invoke**: User wants to develop H5/mobile audio/video meeting applications
|
|
65
|
-
- ✅ **Must invoke**: User wants to develop Web/PC audio/video meeting applications
|
|
66
|
-
- ✅ **Must invoke**: User wants to implement meeting features themselves, ask about API usage, need code examples, integrate specific feature modules
|
|
67
|
-
- ✅ **Must invoke**: User mentions specific feature names (such as "screen sharing", "beauty filters", "scheduled meeting", "device management")
|
|
68
|
-
- ✅ **Must invoke**: User asks whether RoomKit State supports H5 or mobile devices
|
|
69
|
-
- ❌ **No need to invoke**: Pure theoretical concept consultation, product selection suggestions, discussions not involving specific implementation
|
|
70
|
-
|
|
71
|
-
**Important Note**: Detailed descriptions and code examples for login authentication are included in the workflow document (workflow.md), and the Agent will automatically include complete login guidance when returning results.
|
|
68
|
+
**Important Note**: Detailed login authentication instructions and code examples are included in the workflow documentation (workflow.md), and Agent will automatically include complete login guidance when returning results.
|
|
72
69
|
`;
|
|
73
70
|
const PARAMETER_DESCRIPTIONS = {
|
|
74
71
|
framework: 'Framework type supported by Web Room TUIKit, currently only supports vue (Vue 3.4.21+)',
|
|
75
|
-
goals: `List of features requested by the user to implement, for example ['device-detection', 'room-state', 'screen-share']. The tool will concurrently
|
|
72
|
+
goals: `List of features requested by the user to implement, for example ['device-detection', 'room-state', 'screen-share']. The tool will concurrently retrieve corresponding dedicated documentation content based on this list.
|
|
76
73
|
|
|
77
74
|
Available values:
|
|
78
75
|
- 'device-detection': Device detection (pre-room testing of camera, microphone, speaker)
|
|
79
|
-
- 'device-state': Device state management (
|
|
76
|
+
- 'device-state': Device state management (device control, switching, state monitoring within room)
|
|
80
77
|
- 'room-state': Room lifecycle management (create, join, leave, destroy room)
|
|
81
78
|
- 'room-participant-state': Member management (member list, permission control, mute/disable video, kick out)
|
|
82
|
-
- 'room-view': Video layout rendering (grid layout, sidebar layout, video
|
|
83
|
-
- 'room-chat': In-meeting chat (message sending/receiving, emoji
|
|
79
|
+
- 'room-view': Video layout rendering (grid layout, sidebar layout, video widgets)
|
|
80
|
+
- 'room-chat': In-meeting chat (message sending/receiving, emoji files, read receipts)
|
|
84
81
|
- 'screen-share': Screen sharing (start/stop sharing, system audio, permission control)
|
|
85
|
-
- 'schedule-room':
|
|
86
|
-
- 'call-user-to-room': In-meeting
|
|
87
|
-
- 'free-beauty-panel': Basic beauty
|
|
82
|
+
- 'schedule-room': Scheduled rooms (create scheduled meetings, get list, modify/cancel scheduled meetings)
|
|
83
|
+
- 'call-user-to-room': In-meeting calls (initiate invitations, accept/reject, cancel invitations)
|
|
84
|
+
- 'free-beauty-panel': Basic beauty (skin smoothing, whitening, rosy parameter adjustment)
|
|
88
85
|
- 'virtual-background': Virtual background (background blur, custom images, compatibility detection)`
|
|
89
86
|
};
|
|
90
87
|
export const GET_WEB_ROOM_FEATURE_DETAIL_DEFINITION = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_web_room_feature_detail_def.js","sourceRoot":"","sources":["../../../src/tools/definitions/get_web_room_feature_detail_def.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG
|
|
1
|
+
{"version":3,"file":"get_web_room_feature_detail_def.js","sourceRoot":"","sources":["../../../src/tools/definitions/get_web_room_feature_detail_def.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoExB,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,SAAS,EAAE,wFAAwF;IACnG,KAAK,EAAE;;;;;;;;;;;;;qGAa4F;CACpG,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAG;IACpD,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE,gBAAgB;IAC7B,sBAAsB,EAAE,sBAAsB;CAC/C,CAAC"}
|
|
@@ -1,40 +1,56 @@
|
|
|
1
1
|
const TOOL_DESCRIPTION = `
|
|
2
|
-
|
|
2
|
+
【Core Purpose】: As a professional Web audio/video conference TUIRoomKit (Atomicx version) integration assistant, this tool is specifically designed to provide Agent with workflow action instructions and real-time aggregated latest documentation content to guide LLM in helping users implement audio/video conference functionality.
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
- **Meeting Room Page (room.vue)**: Complete header, video layout, control bar, and sidebar panels
|
|
8
|
-
- **Applicable Scenarios**: Enterprise meetings, online education, remote collaboration, multi-party video calls, etc.
|
|
4
|
+
⭐⭐⭐ **Default First Choice Tool** ⭐⭐⭐
|
|
5
|
+
Whether users have PC or H5 mobile requirements, this tool should be **called first**! This tool provides out-of-the-box UI component solutions with completed PC + H5 responsive adaptation.
|
|
6
|
+
Only when users **explicitly indicate the need for custom UI interface** should the 'get_web_room_feature_detail' tool be considered.
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
【Feature Description】:
|
|
9
|
+
TUIRoomKit (Atomicx version) provides a complete audio/video conference solution by default, including:
|
|
10
|
+
- **Conference Entry Page (home.vue)**: Device detection, room creation/joining functionality
|
|
11
|
+
- **Conference Room Page (room.vue)**: Complete header, video layout, control bar and side panels
|
|
12
|
+
- **Applicable Scenarios**: Enterprise meetings, online education, remote collaboration, multi-person video calls, etc.
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
【Platform Support】:
|
|
15
|
+
- **PC**: ✅ Full feature support, including conference entry page, conference room page, device detection, screen sharing, etc.
|
|
16
|
+
- **H5 Mobile**: ✅ Full support! UI components are adapted for H5, can directly use pre-built UI components in mobile browsers to implement audio/video conference functionality
|
|
17
|
+
|
|
18
|
+
【Tool Call Priority - Important】:
|
|
19
|
+
- ✅ **This tool is the default first choice**: When users say "develop conference app", "H5 conference", "PC conference", "audio/video conference" → call this tool
|
|
20
|
+
- ✅ **This tool takes priority**: When users don't explicitly say they want "custom UI" → call this tool
|
|
21
|
+
- ❌ **Only use get_web_room_feature_detail in the following cases**: Users explicitly say "custom interface", "implement UI myself", "don't use pre-built components", "deep customization"
|
|
22
|
+
|
|
23
|
+
【Keywords】:
|
|
24
|
+
'TUIRoomKit', 'Atomicx', 'audio/video conference', 'TRTC', 'Vue3', 'PC', 'H5', 'mobile', 'conference room', 'video call', 'screen sharing', 'device detection', 'room management', 'grid layout', 'sidebar layout', 'source code integration', 'atomic components', 'conference application', 'Web conference', 'mobile conference'.
|
|
25
|
+
|
|
26
|
+
【Technical Features】:
|
|
14
27
|
- **Source Code Integration Method**: Clone repository from GitHub and copy core source code files (not npm package method)
|
|
15
|
-
- **Atomicx
|
|
16
|
-
- **PC
|
|
28
|
+
- **Atomicx Atomic Component Architecture**: Developers can flexibly combine atomic components to build personalized conference interfaces
|
|
29
|
+
- **PC + H5 Full Platform Support**: UI components have completed responsive adaptation, same codebase supports both PC and H5
|
|
17
30
|
- **TypeScript + SCSS**: Requires TypeScript and SCSS development environment configuration
|
|
18
31
|
|
|
19
|
-
|
|
20
|
-
When
|
|
21
|
-
1. Core workflow instructions: Including environment preparation, dependency installation, source code cloning
|
|
22
|
-
2. Real-time documentation content: Provides the latest content
|
|
32
|
+
【Action Instructions and Workflow Guidance】:
|
|
33
|
+
When Agent processes user requirements, it should use the llm_code_generation_instructions_md field returned by this tool. This field contains:
|
|
34
|
+
1. Core workflow instructions: Including environment preparation, dependency installation, source code cloning and copying, routing configuration, authentication UserSig and other complete processes.
|
|
35
|
+
2. Real-time documentation content: Provides the latest content of official integration guides, including all configuration details and code examples.
|
|
36
|
+
|
|
37
|
+
LLM must prioritize and exclusively use the real-time content returned by this tool to generate code, avoiding accessing external URLs independently.
|
|
23
38
|
|
|
24
|
-
|
|
39
|
+
【Mandatory Constraints】:
|
|
40
|
+
1. **This tool is the default first choice for PC/H5 conference requirements**: When users have audio/video conference needs (whether PC or H5), call this tool first.
|
|
41
|
+
2. Framework limitation: TUIRoomKit (Atomicx version) only supports Vue3 framework (Vue 3.4.21 and above), does not support Vue2.x.
|
|
42
|
+
3. Source code integration method: Must clone TUIRoomKit repository from GitHub and copy core source code files, cannot use simple npm install method.
|
|
43
|
+
4. Authentication credential configuration: Read SDKAppID and SDKSecretKey from MCP environment variables, configure to src/config/basic-info-config.js file.
|
|
44
|
+
5. Security warning: Must inform users that client-side UserSig generation is only suitable for local testing, production environment must generate UserSig on server side.
|
|
45
|
+
6. Result recording constraint: After TUIRoomKit integration is completed and project starts successfully, must call 'record_result' tool to record integration results.
|
|
46
|
+
7. **Only when users explicitly request custom UI**, guide them to use 'get_web_room_feature_detail' tool. Otherwise, use this tool's UI component solution by default.
|
|
25
47
|
|
|
26
|
-
|
|
27
|
-
1. Platform Limitation: TUIRoomKit (Atomicx version) only supports PC Vue3 projects, does not support Vue2.x or H5 platform.
|
|
28
|
-
2. Source Code Integration Method: Must clone TUIRoomKit repository from GitHub and copy core source code files, cannot use simple npm install method.
|
|
29
|
-
3. Authentication Credential Configuration: Read SDKAppID and SDKSecretKey from MCP environment variables, configure them in src/config/basic-info-config.js file.
|
|
30
|
-
4. Security Warning: Must inform users that client-side UserSig generation is only suitable for local testing, production environment must generate UserSig on server side.
|
|
31
|
-
5. Result Recording Constraint: After TUIRoomKit integration is complete and project starts successfully, must call 'record_result' tool to record integration results.
|
|
32
|
-
6. Default Full Integration: TUIRoomKit (Atomicx version) provides a complete meeting solution by default, no need to distinguish integration modes.
|
|
48
|
+
【Supported Framework】: vue3 (only supports Vue 3.4.21 and above).
|
|
33
49
|
|
|
34
|
-
|
|
50
|
+
【Supported Platforms】: PC, H5 mobile (UI components have completed responsive adaptation, ready to use out of the box).
|
|
35
51
|
`;
|
|
36
52
|
const PARAMETER_DESCRIPTIONS = {
|
|
37
|
-
framework: 'TUIRoomKit (Atomicx version) framework type. Fixed value: vue3 (PC
|
|
53
|
+
framework: 'TUIRoomKit (Atomicx version) framework type. Fixed value: vue3 (supports PC and H5 mobile).',
|
|
38
54
|
};
|
|
39
55
|
export const GET_WEB_ROOM_UIKIT_INTEGRATION_DEFINITION = {
|
|
40
56
|
name: 'get_web_room_uikit_integration',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_web_room_uikit_integration_def.js","sourceRoot":"","sources":["../../../src/tools/definitions/get_web_room_uikit_integration_def.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG
|
|
1
|
+
{"version":3,"file":"get_web_room_uikit_integration_def.js","sourceRoot":"","sources":["../../../src/tools/definitions/get_web_room_uikit_integration_def.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDxB,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,SAAS,EAAE,6FAA6F;CACzG,CAAC;AAEF,MAAM,CAAC,MAAM,yCAAyC,GAAG;IACvD,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,gBAAgB;IAC7B,sBAAsB,EAAE,sBAAsB;CAC/C,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
const TOOL_DESCRIPTION = `
|
|
2
|
+
【Core Purpose】:
|
|
3
|
+
Acts as a **mandatory decision gate** in the AtomicXCore/LiveKit integration workflow. When user requirements involve basic features (streaming/viewing) or interactive features (co-guest/PK/seat management) but **media type is undefined** (video vs audio-only), this tool must be invoked to intercept and require user to choose one.
|
|
4
|
+
|
|
5
|
+
【⚠️ Mandatory Constraints】:
|
|
6
|
+
1. **No Default Selection**: AI is strictly prohibited from deciding scenario on behalf of user.
|
|
7
|
+
2. **Scenario Exclusivity**: Video Live (live) and Voice Chat Room (voice) have fundamental differences in underlying SDK logic and platform compatibility, must be clarified.
|
|
8
|
+
3. **Pre-requisite Call**: Before this tool receives explicit user response, subsequent code generation tools must not be called.
|
|
9
|
+
|
|
10
|
+
【Applicable Scope】:
|
|
11
|
+
This tool only applies to scenario selection for the following two tools:
|
|
12
|
+
1. **get_native_live_uikit_integration**: Basic feature integration (host streaming, audience viewing, live list)
|
|
13
|
+
2. **get_native_live_uikit_interaction**: Interactive feature integration (co-guest, PK, audience management)
|
|
14
|
+
|
|
15
|
+
⚠️ The following tools **do not require scenario distinction**, do not trigger this tool:
|
|
16
|
+
- **get_native_live_uikit_extra_features**: Extended features (beauty, audio effects, barrage, gifts) are universal across video live and voice chat room scenarios
|
|
17
|
+
|
|
18
|
+
【Trigger Decision Logic】:
|
|
19
|
+
✅ **Should Trigger** cases:
|
|
20
|
+
- User says "Use AtomicXCore to implement host streaming/audience viewing" -> Trigger (Video live or voice chat room?)
|
|
21
|
+
- User says "Use AtomicXCore to implement host connection and PK" -> Trigger (Video co-guest or voice seat management?)
|
|
22
|
+
- User says "Implement live room co-guest/seat features" -> Trigger (Video co-guest or voice seat management?)
|
|
23
|
+
- User says "I want to build a live streaming App" -> Trigger (Video live or voice chat room?)
|
|
24
|
+
|
|
25
|
+
❌ **Should Not Trigger** cases:
|
|
26
|
+
- User says "Implement live room beauty/audio effects/barrage/gift features" -> Don't trigger (Extended features don't require scenario)
|
|
27
|
+
- User explicitly says "video live", "show live", "e-commerce live" -> Don't trigger (Already clarified as live scenario)
|
|
28
|
+
- User explicitly says "voice chat room", "voice room", "voice social" -> Don't trigger (Already clarified as voice scenario)
|
|
29
|
+
`;
|
|
30
|
+
const SELECTION_PROMPT_TEXT = `
|
|
31
|
+
To provide you with an accurate AtomicXCore integration solution, please first clarify your business scenario:
|
|
32
|
+
|
|
33
|
+
### 1. Video Live (Scenario: live)
|
|
34
|
+
* **Core Experience**: Camera-based video streaming (show live, e-commerce, gaming).
|
|
35
|
+
* **Interactive Features**: Supports **video** co-guest, cross-room **PK (with video comparison)**.
|
|
36
|
+
* **Platform Support**: Android, iOS, Flutter, React Native.
|
|
37
|
+
|
|
38
|
+
### 2. Voice Chat Room (Scenario: voice)
|
|
39
|
+
* **Core Experience**: Audio-only interaction (voice social, multi-person radio, Werewolf).
|
|
40
|
+
* **Interactive Features**: Supports **seat** management (join/leave seat).
|
|
41
|
+
* **Platform Support**: Android, iOS, Flutter, uni-app.
|
|
42
|
+
* **⚠️ Limitation**: Flutter and uni-app currently do not support host cross-room connection and PK.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
**Please tell me which scenario you choose? (Video Live / Voice Chat Room)**
|
|
46
|
+
`;
|
|
47
|
+
export const PRESENT_SCENARIO_CHOICE_DEFINITION = {
|
|
48
|
+
name: 'present_scenario_choice',
|
|
49
|
+
description: TOOL_DESCRIPTION,
|
|
50
|
+
selectionText: SELECTION_PROMPT_TEXT, // 供 Agent 直接输出给用户的文案
|
|
51
|
+
parameter_descriptions: {}, // 此工具为交互引导类,无需入参
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=present_scenario_choice_def.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"present_scenario_choice_def.js","sourceRoot":"","sources":["../../../src/tools/definitions/present_scenario_choice_def.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BxB,CAAC;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;CAgB7B,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,gBAAgB;IAC7B,aAAa,EAAE,qBAAqB,EAAE,qBAAqB;IAC3D,sBAAsB,EAAE,EAAE,EAAE,iBAAiB;CAC9C,CAAC"}
|