@tencentcloud/sdk-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 +466 -484
- package/resource/doc/chatuikit/android/workflow.md +713 -0
- package/resource/doc/livekit/live/flutter/live-integration.md +208 -167
- package/resource/doc/livekit/voice/android/voice-audience-list.md +335 -0
- package/resource/doc/livekit/voice/android/voice-audio-effect.md +384 -0
- package/resource/doc/livekit/voice/android/voice-barrage.md +569 -0
- package/resource/doc/livekit/voice/android/voice-co-guest-interaction.md +748 -0
- package/resource/doc/livekit/voice/android/voice-gift.md +833 -0
- package/resource/doc/livekit/voice/android/voice-host-interaction.md +728 -0
- package/resource/doc/livekit/voice/android/voice-integration.md +886 -0
- package/resource/doc/livekit/voice/android/voice-room-list.md +493 -0
- package/resource/doc/livekit/voice/android/workflow.md +333 -0
- package/resource/doc/livekit/voice/flutter/voice-audience-list.md +337 -0
- package/resource/doc/livekit/voice/flutter/voice-audio-effect.md +739 -0
- package/resource/doc/livekit/voice/flutter/voice-barrage.md +578 -0
- package/resource/doc/livekit/voice/flutter/voice-co-guest-interaction.md +673 -0
- package/resource/doc/livekit/voice/flutter/voice-gift.md +812 -0
- package/resource/doc/livekit/voice/flutter/voice-integration.md +925 -0
- package/resource/doc/livekit/voice/flutter/voice-room-list.md +842 -0
- package/resource/doc/livekit/voice/flutter/workflow.md +359 -0
- package/resource/doc/livekit/voice/ios/voice-audience-list.md +335 -0
- package/resource/doc/livekit/voice/ios/voice-audio-effect.md +373 -0
- package/resource/doc/livekit/voice/ios/voice-barrage.md +529 -0
- package/resource/doc/livekit/voice/ios/voice-co-guest-interaction.md +701 -0
- package/resource/doc/livekit/voice/ios/voice-gift.md +785 -0
- package/resource/doc/livekit/voice/ios/voice-host-interaction.md +820 -0
- package/resource/doc/livekit/voice/ios/voice-integration.md +853 -0
- package/resource/doc/livekit/voice/ios/voice-room-list.md +467 -0
- package/resource/doc/livekit/voice/ios/workflow.md +358 -0
- package/resource/doc/livekit/voice/uni-app/voice-audience-list.md +264 -0
- package/resource/doc/livekit/voice/uni-app/voice-audio-effect.md +332 -0
- package/resource/doc/livekit/voice/uni-app/voice-barrage.md +482 -0
- package/resource/doc/livekit/voice/uni-app/voice-co-guest-interaction.md +944 -0
- package/resource/doc/livekit/voice/uni-app/voice-gift.md +716 -0
- package/resource/doc/livekit/voice/uni-app/voice-integration.md +613 -0
- package/resource/doc/livekit/voice/uni-app/voice-room-list.md +562 -0
- package/resource/doc/livekit/voice/uni-app/workflow.md +369 -0
- package/resource/doc/roomkit/vue/integration.md +119 -224
- package/resource/doc/roomkit/vue/workflow.md +472 -226
- package/resource/doc/tuicallkit/android/integration.md +675 -90
- package/resource/doc/tuicallkit/android/workflow.md +432 -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 +18 -2
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js +29 -7
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_live_uikit_integration_def.js +65 -40
- package/tools/definitions/get_native_live_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_live_uikit_interaction_def.js +42 -94
- package/tools/definitions/get_native_live_uikit_interaction_def.js.map +1 -1
- package/tools/definitions/get_web_room_feature_detail_def.js +29 -32
- package/tools/definitions/get_web_room_feature_detail_def.js.map +1 -1
- package/tools/definitions/get_web_room_uikit_integration_def.js +25 -9
- 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 +6 -1
- 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
package/tools/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// common
|
|
2
2
|
import { registryPresentFrameworkChoiceTool } from './common/present-framework-choice.js';
|
|
3
|
+
import { registryPresentScenarioChoiceTool } from './common/present-scenario-choice.js';
|
|
3
4
|
import { registryRecordPromptTool } from './common/record-prompt.js';
|
|
4
5
|
import { registryRecordResultTool } from './common/record-result.js';
|
|
5
6
|
import { registryGetUserSigTool } from './common/get-usersig.js';
|
|
@@ -36,6 +37,7 @@ import { registryGetTRTCNativeAPITool } from './trtc/get-trtc-native-api.js';
|
|
|
36
37
|
function registryTools(mcpServer) {
|
|
37
38
|
// common
|
|
38
39
|
registryPresentFrameworkChoiceTool(mcpServer);
|
|
40
|
+
registryPresentScenarioChoiceTool(mcpServer);
|
|
39
41
|
registryRecordPromptTool(mcpServer);
|
|
40
42
|
registryRecordResultTool(mcpServer);
|
|
41
43
|
registryGetUserSigTool(mcpServer);
|
package/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,70 +6,145 @@ import { reportCLSClient } from '../../utils/report-cls-client.js';
|
|
|
6
6
|
// tools 返回结果说明
|
|
7
7
|
// content: 为了让框架兼容满足其对文本输出的格式要求。
|
|
8
8
|
// result: !!必需。LLM 依赖这个结构化 JSON 来执行复杂的推理和代码生成,它是机器可读的指令。
|
|
9
|
-
//
|
|
10
|
-
|
|
9
|
+
// ========== 视频直播场景 (live) 文档路径映射 ==========
|
|
10
|
+
// Android 平台 - 视频直播
|
|
11
|
+
const LIVE_ANDROID_PATH_MAP = {
|
|
11
12
|
'host_streaming': ['livekit', 'live', 'android', 'live-integration.md'],
|
|
12
13
|
'audience_streaming': ['livekit', 'live', 'android', 'live-integration.md'],
|
|
13
14
|
'live_list': ['livekit', 'live', 'android', 'live-live-list.md']
|
|
14
15
|
};
|
|
15
|
-
// iOS
|
|
16
|
-
const
|
|
16
|
+
// iOS 平台 - 视频直播
|
|
17
|
+
const LIVE_IOS_PATH_MAP = {
|
|
17
18
|
'host_streaming': ['livekit', 'live', 'ios', 'live-integration.md'],
|
|
18
19
|
'audience_streaming': ['livekit', 'live', 'ios', 'live-integration.md'],
|
|
19
20
|
'live_list': ['livekit', 'live', 'ios', 'live-live-list.md']
|
|
20
21
|
};
|
|
21
|
-
// Flutter
|
|
22
|
-
const
|
|
22
|
+
// Flutter 平台 - 视频直播
|
|
23
|
+
const LIVE_FLUTTER_PATH_MAP = {
|
|
23
24
|
'host_streaming': ['livekit', 'live', 'flutter', 'live-integration.md'],
|
|
24
25
|
'audience_streaming': ['livekit', 'live', 'flutter', 'live-integration.md'],
|
|
25
26
|
'live_list': ['livekit', 'live', 'flutter', 'live-live-list.md']
|
|
26
27
|
};
|
|
27
|
-
// React Native
|
|
28
|
-
const
|
|
28
|
+
// React Native 平台 - 视频直播
|
|
29
|
+
const LIVE_RN_PATH_MAP = {
|
|
29
30
|
'host_streaming': ['livekit', 'live', 'rn', 'live-integration.md'],
|
|
30
31
|
'audience_streaming': ['livekit', 'live', 'rn', 'live-integration.md'],
|
|
31
32
|
'live_list': ['livekit', 'live', 'rn', 'live-live-list.md']
|
|
32
33
|
};
|
|
34
|
+
// ========== 语聊房场景 (voice) 文档路径映射 ==========
|
|
35
|
+
// Android 平台 - 语聊房
|
|
36
|
+
const VOICE_ANDROID_PATH_MAP = {
|
|
37
|
+
'host_streaming': ['livekit', 'voice', 'android', 'voice-integration.md'],
|
|
38
|
+
'audience_streaming': ['livekit', 'voice', 'android', 'voice-integration.md'],
|
|
39
|
+
'live_list': ['livekit', 'voice', 'android', 'voice-live-list.md']
|
|
40
|
+
};
|
|
41
|
+
// iOS 平台 - 语聊房
|
|
42
|
+
const VOICE_IOS_PATH_MAP = {
|
|
43
|
+
'host_streaming': ['livekit', 'voice', 'ios', 'voice-integration.md'],
|
|
44
|
+
'audience_streaming': ['livekit', 'voice', 'ios', 'voice-integration.md'],
|
|
45
|
+
'live_list': ['livekit', 'voice', 'ios', 'voice-live-list.md']
|
|
46
|
+
};
|
|
47
|
+
// Flutter 平台 - 语聊房
|
|
48
|
+
const VOICE_FLUTTER_PATH_MAP = {
|
|
49
|
+
'host_streaming': ['livekit', 'voice', 'flutter', 'voice-integration.md'],
|
|
50
|
+
'audience_streaming': ['livekit', 'voice', 'flutter', 'voice-integration.md'],
|
|
51
|
+
'live_list': ['livekit', 'voice', 'flutter', 'voice-live-list.md']
|
|
52
|
+
};
|
|
53
|
+
// uni-app 平台 - 语聊房
|
|
54
|
+
const VOICE_UNIAPP_PATH_MAP = {
|
|
55
|
+
'host_streaming': ['livekit', 'voice', 'uni-app', 'voice-integration.md'],
|
|
56
|
+
'audience_streaming': ['livekit', 'voice', 'uni-app', 'voice-integration.md'],
|
|
57
|
+
'live_list': ['livekit', 'voice', 'uni-app', 'voice-live-list.md']
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* 根据场景和平台选择对应的文档路径映射
|
|
61
|
+
*/
|
|
62
|
+
function getPathMapByScenarioAndPlatform(scenario, platform) {
|
|
63
|
+
if (scenario === 'voice') {
|
|
64
|
+
// 语聊房场景
|
|
65
|
+
const voicePathMaps = {
|
|
66
|
+
'android': VOICE_ANDROID_PATH_MAP,
|
|
67
|
+
'ios': VOICE_IOS_PATH_MAP,
|
|
68
|
+
'flutter': VOICE_FLUTTER_PATH_MAP,
|
|
69
|
+
'uni-app': VOICE_UNIAPP_PATH_MAP
|
|
70
|
+
};
|
|
71
|
+
return voicePathMaps[platform] || VOICE_ANDROID_PATH_MAP;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
// 视频直播场景(默认)
|
|
75
|
+
const livePathMaps = {
|
|
76
|
+
'android': LIVE_ANDROID_PATH_MAP,
|
|
77
|
+
'ios': LIVE_IOS_PATH_MAP,
|
|
78
|
+
'flutter': LIVE_FLUTTER_PATH_MAP,
|
|
79
|
+
'rn': LIVE_RN_PATH_MAP
|
|
80
|
+
};
|
|
81
|
+
return livePathMaps[platform] || LIVE_ANDROID_PATH_MAP;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
33
84
|
/**
|
|
34
|
-
*
|
|
85
|
+
* 根据场景和平台获取 workflow 文档路径
|
|
35
86
|
*/
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
87
|
+
function getWorkflowPath(scenario, platform) {
|
|
88
|
+
if (scenario === 'voice') {
|
|
89
|
+
// 语聊房场景
|
|
90
|
+
const voiceWorkflowPaths = {
|
|
91
|
+
'android': ['livekit', 'voice', 'android', 'workflow.md'],
|
|
92
|
+
'ios': ['livekit', 'voice', 'ios', 'workflow.md'],
|
|
93
|
+
'flutter': ['livekit', 'voice', 'flutter', 'workflow.md'],
|
|
94
|
+
'uni-app': ['livekit', 'voice', 'uni-app', 'workflow.md']
|
|
95
|
+
};
|
|
96
|
+
return voiceWorkflowPaths[platform] || voiceWorkflowPaths['android'];
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// 视频直播场景(默认)
|
|
100
|
+
const liveWorkflowPaths = {
|
|
101
|
+
'android': ['livekit', 'live', 'android', 'workflow.md'],
|
|
102
|
+
'ios': ['livekit', 'live', 'ios', 'workflow.md'],
|
|
103
|
+
'flutter': ['livekit', 'live', 'flutter', 'workflow.md'],
|
|
104
|
+
'rn': ['livekit', 'live', 'rn', 'workflow.md']
|
|
105
|
+
};
|
|
106
|
+
return liveWorkflowPaths[platform] || liveWorkflowPaths['android'];
|
|
107
|
+
}
|
|
44
108
|
}
|
|
45
109
|
/**
|
|
46
|
-
*
|
|
110
|
+
* 根据场景获取支持的平台列表
|
|
47
111
|
*/
|
|
48
|
-
function
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
return workflowPaths[platform] || workflowPaths['android']; // 默认使用 Android
|
|
112
|
+
function getSupportedPlatforms(scenario) {
|
|
113
|
+
if (scenario === 'voice') {
|
|
114
|
+
return ['android', 'ios', 'flutter', 'uni-app'];
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
return ['android', 'ios', 'flutter', 'rn'];
|
|
118
|
+
}
|
|
56
119
|
}
|
|
57
120
|
async function getResultText(params) {
|
|
58
|
-
const { platform, goals = [] } = params;
|
|
121
|
+
const { scenario, platform, goals = [] } = params;
|
|
122
|
+
// 验证 scenario 参数(必填,不允许默认值)
|
|
123
|
+
const validScenarios = ['live', 'voice'];
|
|
124
|
+
if (!scenario) {
|
|
125
|
+
throw new Error(`scenario 参数为必填项,请先调用 'present_scenario_choice' 工具让用户选择场景(视频直播/语聊房)`);
|
|
126
|
+
}
|
|
127
|
+
if (!validScenarios.includes(scenario)) {
|
|
128
|
+
throw new Error(`scenario 参数无效,请从 ${validScenarios.join(', ')} 中选择一个场景`);
|
|
129
|
+
}
|
|
59
130
|
// 验证 platform 参数
|
|
131
|
+
const supportedPlatforms = getSupportedPlatforms(scenario);
|
|
60
132
|
if (!platform) {
|
|
61
|
-
throw new Error(
|
|
133
|
+
throw new Error(`platform 参数为必填项,请从 ${supportedPlatforms.join(', ')} 中选择一个平台`);
|
|
134
|
+
}
|
|
135
|
+
if (!supportedPlatforms.includes(platform)) {
|
|
136
|
+
throw new Error(`${scenario} 场景不支持 ${platform} 平台,支持的平台有:${supportedPlatforms.join(', ')}`);
|
|
62
137
|
}
|
|
63
138
|
reportCLSClient({
|
|
64
139
|
method: 'get_native_live_uikit_integration',
|
|
65
|
-
info: goals.join(',')
|
|
140
|
+
info: `${scenario}:${goals.join(',')}`,
|
|
66
141
|
framework: platform
|
|
67
142
|
});
|
|
68
|
-
//
|
|
69
|
-
const workflowPath = getWorkflowPath(platform);
|
|
143
|
+
// 获取场景和平台对应的工作流指令
|
|
144
|
+
const workflowPath = getWorkflowPath(scenario, platform);
|
|
70
145
|
const baseInstructions = getDocContent(workflowPath);
|
|
71
|
-
//
|
|
72
|
-
const pathMap =
|
|
146
|
+
// 获取场景和平台对应的文档路径映射
|
|
147
|
+
const pathMap = getPathMapByScenarioAndPlatform(scenario, platform);
|
|
73
148
|
// 批量读取目标文档并生成结构化结果
|
|
74
149
|
const result = await generateStructuredResult({
|
|
75
150
|
baseInstructions,
|
|
@@ -82,7 +157,8 @@ async function getResultText(params) {
|
|
|
82
157
|
const registryGetNativeLiveIntegrationTool = (mcpServer) => {
|
|
83
158
|
const { name, description, parameter_descriptions } = GET_NATIVE_LIVE_UIKIT_INTEGRATION_DEFINITION;
|
|
84
159
|
mcpServer.tool(name, description, {
|
|
85
|
-
|
|
160
|
+
scenario: z.enum(['live', 'voice']).describe(parameter_descriptions.scenario),
|
|
161
|
+
platform: z.string().describe(parameter_descriptions.platform),
|
|
86
162
|
goals: z.array(z.enum(['host_streaming', 'audience_streaming', 'live_list'])).describe(parameter_descriptions.goals)
|
|
87
163
|
}, async (params) => {
|
|
88
164
|
const result = await getResultText(params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-native-live-uikit-integration.js","sourceRoot":"","sources":["../../../src/tools/live/get-native-live-uikit-integration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,4CAA4C,EAAE,MAAM,yDAAyD,CAAC;AACvH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,eAAe;AACf,iCAAiC;AACjC,yDAAyD;AAEzD,
|
|
1
|
+
{"version":3,"file":"get-native-live-uikit-integration.js","sourceRoot":"","sources":["../../../src/tools/live/get-native-live-uikit-integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,70 +6,162 @@ import { reportCLSClient } from '../../utils/report-cls-client.js';
|
|
|
6
6
|
// tools 返回结果说明
|
|
7
7
|
// content: 为了让框架兼容满足其对文本输出的格式要求。
|
|
8
8
|
// result: !!必需。LLM 依赖这个结构化 JSON 来执行复杂的推理和代码生成,它是机器可读的指令。
|
|
9
|
-
//
|
|
10
|
-
|
|
9
|
+
// ========== 视频直播场景 (live) 文档路径映射 ==========
|
|
10
|
+
// Android 平台 - 视频直播
|
|
11
|
+
const LIVE_ANDROID_PATH_MAP = {
|
|
11
12
|
'co_guest_interaction': ['livekit', 'live', 'android', 'live-co-guest-interaction.md'],
|
|
12
13
|
'co_host_interaction': ['livekit', 'live', 'android', 'live-host-interaction.md'],
|
|
13
14
|
'audience_list': ['livekit', 'live', 'android', 'live-audience-list.md']
|
|
14
15
|
};
|
|
15
|
-
// iOS
|
|
16
|
-
const
|
|
16
|
+
// iOS 平台 - 视频直播
|
|
17
|
+
const LIVE_IOS_PATH_MAP = {
|
|
17
18
|
'co_guest_interaction': ['livekit', 'live', 'ios', 'live-co-guest-interaction.md'],
|
|
18
19
|
'co_host_interaction': ['livekit', 'live', 'ios', 'live-host-interaction.md'],
|
|
19
20
|
'audience_list': ['livekit', 'live', 'ios', 'live-audience-list.md']
|
|
20
21
|
};
|
|
21
|
-
// Flutter
|
|
22
|
-
const
|
|
22
|
+
// Flutter 平台 - 视频直播
|
|
23
|
+
const LIVE_FLUTTER_PATH_MAP = {
|
|
23
24
|
'co_guest_interaction': ['livekit', 'live', 'flutter', 'live-co-guest-interaction.md'],
|
|
24
25
|
'co_host_interaction': ['livekit', 'live', 'flutter', 'live-host-interaction.md'],
|
|
25
26
|
'audience_list': ['livekit', 'live', 'flutter', 'live-audience-list.md']
|
|
26
27
|
};
|
|
27
|
-
// React Native
|
|
28
|
-
const
|
|
28
|
+
// React Native 平台 - 视频直播
|
|
29
|
+
const LIVE_RN_PATH_MAP = {
|
|
29
30
|
'co_guest_interaction': ['livekit', 'live', 'rn', 'live-co-guest-interaction.md'],
|
|
30
31
|
'co_host_interaction': ['livekit', 'live', 'rn', 'live-host-interaction.md'],
|
|
31
32
|
'audience_list': ['livekit', 'live', 'rn', 'live-audience-list.md']
|
|
32
33
|
};
|
|
34
|
+
// ========== 语聊房场景 (voice) 文档路径映射 ==========
|
|
35
|
+
// Android 平台 - 语聊房
|
|
36
|
+
const VOICE_ANDROID_PATH_MAP = {
|
|
37
|
+
'co_guest_interaction': ['livekit', 'voice', 'android', 'voice-co-guest-interaction.md'],
|
|
38
|
+
'co_host_interaction': ['livekit', 'voice', 'android', 'voice-host-interaction.md'],
|
|
39
|
+
'audience_list': ['livekit', 'voice', 'android', 'voice-audience-list.md']
|
|
40
|
+
};
|
|
41
|
+
// iOS 平台 - 语聊房
|
|
42
|
+
const VOICE_IOS_PATH_MAP = {
|
|
43
|
+
'co_guest_interaction': ['livekit', 'voice', 'ios', 'voice-co-guest-interaction.md'],
|
|
44
|
+
'co_host_interaction': ['livekit', 'voice', 'ios', 'voice-host-interaction.md'],
|
|
45
|
+
'audience_list': ['livekit', 'voice', 'ios', 'voice-audience-list.md']
|
|
46
|
+
};
|
|
47
|
+
// Flutter 平台 - 语聊房(注意:Flutter 语聊房不支持 co_host_interaction)
|
|
48
|
+
const VOICE_FLUTTER_PATH_MAP = {
|
|
49
|
+
'co_guest_interaction': ['livekit', 'voice', 'flutter', 'voice-co-guest-interaction.md'],
|
|
50
|
+
'audience_list': ['livekit', 'voice', 'flutter', 'voice-audience-list.md']
|
|
51
|
+
};
|
|
52
|
+
// uni-app 平台 - 语聊房(注意:uni-app 语聊房不支持 co_host_interaction)
|
|
53
|
+
const VOICE_UNIAPP_PATH_MAP = {
|
|
54
|
+
'co_guest_interaction': ['livekit', 'voice', 'uni-app', 'voice-co-guest-interaction.md'],
|
|
55
|
+
'audience_list': ['livekit', 'voice', 'uni-app', 'voice-audience-list.md']
|
|
56
|
+
};
|
|
33
57
|
/**
|
|
34
|
-
*
|
|
58
|
+
* 根据场景和平台选择对应的文档路径映射
|
|
35
59
|
*/
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
60
|
+
function getPathMapByScenarioAndPlatform(scenario, platform) {
|
|
61
|
+
if (scenario === 'voice') {
|
|
62
|
+
// 语聊房场景
|
|
63
|
+
const voicePathMaps = {
|
|
64
|
+
'android': VOICE_ANDROID_PATH_MAP,
|
|
65
|
+
'ios': VOICE_IOS_PATH_MAP,
|
|
66
|
+
'flutter': VOICE_FLUTTER_PATH_MAP,
|
|
67
|
+
'uni-app': VOICE_UNIAPP_PATH_MAP
|
|
68
|
+
};
|
|
69
|
+
return voicePathMaps[platform] || VOICE_ANDROID_PATH_MAP;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// 视频直播场景(默认)
|
|
73
|
+
const livePathMaps = {
|
|
74
|
+
'android': LIVE_ANDROID_PATH_MAP,
|
|
75
|
+
'ios': LIVE_IOS_PATH_MAP,
|
|
76
|
+
'flutter': LIVE_FLUTTER_PATH_MAP,
|
|
77
|
+
'rn': LIVE_RN_PATH_MAP
|
|
78
|
+
};
|
|
79
|
+
return livePathMaps[platform] || LIVE_ANDROID_PATH_MAP;
|
|
80
|
+
}
|
|
44
81
|
}
|
|
45
82
|
/**
|
|
46
|
-
*
|
|
83
|
+
* 根据场景和平台获取 workflow 文档路径
|
|
47
84
|
*/
|
|
48
|
-
function getWorkflowPath(platform) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
85
|
+
function getWorkflowPath(scenario, platform) {
|
|
86
|
+
if (scenario === 'voice') {
|
|
87
|
+
// 语聊房场景
|
|
88
|
+
const voiceWorkflowPaths = {
|
|
89
|
+
'android': ['livekit', 'voice', 'android', 'workflow.md'],
|
|
90
|
+
'ios': ['livekit', 'voice', 'ios', 'workflow.md'],
|
|
91
|
+
'flutter': ['livekit', 'voice', 'flutter', 'workflow.md'],
|
|
92
|
+
'uni-app': ['livekit', 'voice', 'uni-app', 'workflow.md']
|
|
93
|
+
};
|
|
94
|
+
return voiceWorkflowPaths[platform] || voiceWorkflowPaths['android'];
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
// 视频直播场景(默认)
|
|
98
|
+
const liveWorkflowPaths = {
|
|
99
|
+
'android': ['livekit', 'live', 'android', 'workflow.md'],
|
|
100
|
+
'ios': ['livekit', 'live', 'ios', 'workflow.md'],
|
|
101
|
+
'flutter': ['livekit', 'live', 'flutter', 'workflow.md'],
|
|
102
|
+
'rn': ['livekit', 'live', 'rn', 'workflow.md']
|
|
103
|
+
};
|
|
104
|
+
return liveWorkflowPaths[platform] || liveWorkflowPaths['android'];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* 根据场景获取支持的平台列表
|
|
109
|
+
*/
|
|
110
|
+
function getSupportedPlatforms(scenario) {
|
|
111
|
+
if (scenario === 'voice') {
|
|
112
|
+
return ['android', 'ios', 'flutter', 'uni-app'];
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
return ['android', 'ios', 'flutter', 'rn'];
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* 根据场景获取支持的 goals 列表
|
|
120
|
+
*/
|
|
121
|
+
function getSupportedGoals(scenario, platform) {
|
|
122
|
+
if (scenario === 'voice') {
|
|
123
|
+
// 语聊房场景:Flutter 和 uni-app 不支持 co_host_interaction
|
|
124
|
+
if (platform === 'flutter' || platform === 'uni-app') {
|
|
125
|
+
return ['co_guest_interaction', 'audience_list'];
|
|
126
|
+
}
|
|
127
|
+
return ['co_guest_interaction', 'co_host_interaction', 'audience_list'];
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// 视频直播场景
|
|
131
|
+
return ['co_guest_interaction', 'co_host_interaction', 'audience_list'];
|
|
132
|
+
}
|
|
56
133
|
}
|
|
57
134
|
async function getResultText(params) {
|
|
58
|
-
const { platform, goals = [] } = params;
|
|
135
|
+
const { scenario = 'live', platform, goals = [] } = params;
|
|
136
|
+
// 验证 scenario 参数
|
|
137
|
+
const validScenarios = ['live', 'voice'];
|
|
138
|
+
if (!validScenarios.includes(scenario)) {
|
|
139
|
+
throw new Error(`scenario 参数无效,请从 ${validScenarios.join(', ')} 中选择一个场景`);
|
|
140
|
+
}
|
|
59
141
|
// 验证 platform 参数
|
|
142
|
+
const supportedPlatforms = getSupportedPlatforms(scenario);
|
|
60
143
|
if (!platform) {
|
|
61
|
-
throw new Error(
|
|
144
|
+
throw new Error(`platform 参数为必填项,请从 ${supportedPlatforms.join(', ')} 中选择一个平台`);
|
|
145
|
+
}
|
|
146
|
+
if (!supportedPlatforms.includes(platform)) {
|
|
147
|
+
throw new Error(`${scenario} 场景不支持 ${platform} 平台,支持的平台有:${supportedPlatforms.join(', ')}`);
|
|
148
|
+
}
|
|
149
|
+
// 验证 goals 参数
|
|
150
|
+
const supportedGoals = getSupportedGoals(scenario, platform);
|
|
151
|
+
const invalidGoals = goals.filter((goal) => !supportedGoals.includes(goal));
|
|
152
|
+
if (invalidGoals.length > 0) {
|
|
153
|
+
throw new Error(`${scenario} 场景在 ${platform} 平台不支持以下功能:${invalidGoals.join(', ')},支持的功能有:${supportedGoals.join(', ')}`);
|
|
62
154
|
}
|
|
63
155
|
reportCLSClient({
|
|
64
156
|
method: 'get_native_live_uikit_interaction',
|
|
65
|
-
info: goals.join(',')
|
|
157
|
+
info: `${scenario}:${goals.join(',')}`,
|
|
66
158
|
framework: platform
|
|
67
159
|
});
|
|
68
|
-
//
|
|
69
|
-
const workflowPath = getWorkflowPath(platform);
|
|
160
|
+
// 获取场景和平台对应的工作流指令
|
|
161
|
+
const workflowPath = getWorkflowPath(scenario, platform);
|
|
70
162
|
const baseInstructions = getDocContent(workflowPath);
|
|
71
|
-
//
|
|
72
|
-
const pathMap =
|
|
163
|
+
// 获取场景和平台对应的文档路径映射
|
|
164
|
+
const pathMap = getPathMapByScenarioAndPlatform(scenario, platform);
|
|
73
165
|
// 批量读取目标文档并生成结构化结果
|
|
74
166
|
const result = await generateStructuredResult({
|
|
75
167
|
baseInstructions,
|
|
@@ -82,8 +174,9 @@ async function getResultText(params) {
|
|
|
82
174
|
const registryGetNativeLiveInteractionTool = (mcpServer) => {
|
|
83
175
|
const { name, description, parameter_descriptions } = GET_NATIVE_LIVE_UIKIT_INTERACTION_DEFINITION;
|
|
84
176
|
mcpServer.tool(name, description, {
|
|
85
|
-
|
|
86
|
-
|
|
177
|
+
scenario: z.enum(['live', 'voice']).optional().describe(parameter_descriptions.scenario),
|
|
178
|
+
platform: z.string().describe(parameter_descriptions.platform),
|
|
179
|
+
goals: z.array(z.string()).describe(parameter_descriptions.goals)
|
|
87
180
|
}, async (params) => {
|
|
88
181
|
const result = await getResultText(params);
|
|
89
182
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_native_live_uikit_interaction.js","sourceRoot":"","sources":["../../../src/tools/live/get_native_live_uikit_interaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,4CAA4C,EAAE,MAAM,yDAAyD,CAAC;AACvH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,eAAe;AACf,iCAAiC;AACjC,yDAAyD;AAEzD,
|
|
1
|
+
{"version":3,"file":"get_native_live_uikit_interaction.js","sourceRoot":"","sources":["../../../src/tools/live/get_native_live_uikit_interaction.ts"],"names":[],"mappings":"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"}
|