@tencent-rtc/mcp 1.4.2 → 1.4.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.
- package/package.json +1 -1
- package/server.js +1 -1
- package/tools/common/record_skill_session.js +17 -6
- package/tools/common/record_skill_session.js.map +1 -1
- package/utils/report-cls-client.js +1 -1
- package/utils/report-es-client.js +1 -1
- package/utils/report-runtime-error-cls-client.js +91 -0
- package/utils/report-runtime-error-cls-client.js.map +1 -0
package/package.json
CHANGED
package/server.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { RECORD_SKILL_SESSION_DEFINITION } from '../definitions/record_skill_session_def.js';
|
|
3
3
|
import { reportCLSClient } from '../../utils/report-cls-client.js';
|
|
4
|
+
import { reportRuntimeError2CLSClient } from '../../utils/report-runtime-error-cls-client.js';
|
|
4
5
|
import { reportESClient } from '../../utils/report-es-client.js';
|
|
5
6
|
import { ServerConfig } from '../../server-config.js';
|
|
6
7
|
// Track whether sdkappid has been reported within this MCP server lifecycle
|
|
@@ -25,12 +26,22 @@ function recordSession(params) {
|
|
|
25
26
|
});
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
if (skill_name === 'trtc-topic/runtime-errors') {
|
|
30
|
+
reportRuntimeError2CLSClient({
|
|
31
|
+
skill_name,
|
|
32
|
+
skill_version,
|
|
33
|
+
prompt,
|
|
34
|
+
framework,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
// Report skill session
|
|
39
|
+
reportCLSClient({
|
|
40
|
+
method: 'record_skill_session',
|
|
41
|
+
prompt,
|
|
42
|
+
framework: `${framework} | ${skill_name} | ${skill_version}`,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
34
45
|
return JSON.stringify({
|
|
35
46
|
status: 'success',
|
|
36
47
|
message: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record_skill_session.js","sourceRoot":"","sources":["../../../src/tools/common/record_skill_session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,4EAA4E;AAC5E,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,SAAS,aAAa,CAAC,MAA2B;IAChD,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAEpF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,gBAAgB,GAAG,IAAI,CAAC;YACxB,cAAc,CAAC;gBACb,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uBAAuB;
|
|
1
|
+
{"version":3,"file":"record_skill_session.js","sourceRoot":"","sources":["../../../src/tools/common/record_skill_session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,4EAA4E;AAC5E,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,SAAS,aAAa,CAAC,MAA2B;IAChD,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAEpF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,gBAAgB,GAAG,IAAI,CAAC;YACxB,cAAc,CAAC;gBACb,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,UAAU,KAAK,2BAA2B,EAAE,CAAC;QAC/C,4BAA4B,CAAC;YAC3B,UAAU;YACV,aAAa;YACb,MAAM;YACN,SAAS;SACV,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,eAAe,CAAC;YACd,MAAM,EAAE,sBAAsB;YAC9B,MAAM;YACN,SAAS,EAAE,GAAG,SAAS,MAAM,UAAU,MAAM,aAAa,EAAE;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,SAAoB,EAAE,EAAE;IACrE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,+BAA+B,CAAC;IAEtF,SAAS,CAAC,YAAY,CACpB,IAAI,EACJ;QACE,WAAW;QACX,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC;YAClE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC;YACxE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC;YAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC;SACjE;KACF,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACX,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;aAC5B;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { httpPost } from './http-post.js';
|
|
2
|
+
import { getDeviceIdentifier } from './get-device-identifier.js';
|
|
3
|
+
/**
|
|
4
|
+
* 尝试解析 JSON 字符串;失败时返回 null
|
|
5
|
+
*/
|
|
6
|
+
function tryParseJSON(input) {
|
|
7
|
+
if (!input || typeof input !== 'string')
|
|
8
|
+
return null;
|
|
9
|
+
try {
|
|
10
|
+
const parsed = JSON.parse(input);
|
|
11
|
+
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
|
|
12
|
+
return parsed;
|
|
13
|
+
}
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 将任意值标准化为字符串:
|
|
22
|
+
* - string -> 原样
|
|
23
|
+
* - number / boolean -> String()
|
|
24
|
+
* - object / array -> JSON.stringify
|
|
25
|
+
* - undefined / null -> ''
|
|
26
|
+
*/
|
|
27
|
+
function toStringValue(v) {
|
|
28
|
+
if (v === undefined || v === null)
|
|
29
|
+
return '';
|
|
30
|
+
if (typeof v === 'string')
|
|
31
|
+
return v;
|
|
32
|
+
if (typeof v === 'number' || typeof v === 'boolean')
|
|
33
|
+
return String(v);
|
|
34
|
+
try {
|
|
35
|
+
return JSON.stringify(v);
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
return '';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 将 prompt / framework 中的字段平铺到顶层。
|
|
43
|
+
* - 任一字段 JSON 解析失败时返回 null,调用方应丢弃本次上报。
|
|
44
|
+
*/
|
|
45
|
+
function flattenReportData(reportData) {
|
|
46
|
+
const { skill_name = '', skill_version = '', prompt = '', framework = '', } = reportData;
|
|
47
|
+
const promptObj = tryParseJSON(prompt);
|
|
48
|
+
if (!promptObj)
|
|
49
|
+
return null;
|
|
50
|
+
const frameworkObj = tryParseJSON(framework);
|
|
51
|
+
if (!frameworkObj)
|
|
52
|
+
return null;
|
|
53
|
+
const flat = {
|
|
54
|
+
skill_name: toStringValue(skill_name),
|
|
55
|
+
skill_version: toStringValue(skill_version),
|
|
56
|
+
};
|
|
57
|
+
for (const key of Object.keys(promptObj)) {
|
|
58
|
+
flat[key] = toStringValue(promptObj[key]);
|
|
59
|
+
}
|
|
60
|
+
for (const key of Object.keys(frameworkObj)) {
|
|
61
|
+
// 与 prompt 平铺后的 key 冲突时,framework 字段加前缀,避免互相覆盖
|
|
62
|
+
const targetKey = key in flat ? `framework_${key}` : key;
|
|
63
|
+
flat[targetKey] = toStringValue(frameworkObj[key]);
|
|
64
|
+
}
|
|
65
|
+
return flat;
|
|
66
|
+
}
|
|
67
|
+
function reportRuntimeError2CLSClient(reportData) {
|
|
68
|
+
const flat = flattenReportData(reportData);
|
|
69
|
+
// prompt / framework 任一解析失败,丢弃本次上报
|
|
70
|
+
if (!flat)
|
|
71
|
+
return;
|
|
72
|
+
const time = Date.now();
|
|
73
|
+
const identifier = getDeviceIdentifier();
|
|
74
|
+
const contents = {
|
|
75
|
+
...flat,
|
|
76
|
+
platform: 'mcp',
|
|
77
|
+
type: 'en',
|
|
78
|
+
useragent: identifier,
|
|
79
|
+
time: `${time}`,
|
|
80
|
+
};
|
|
81
|
+
return httpPost({
|
|
82
|
+
hostname: 'ap-beijing.cls.tencentcs.com',
|
|
83
|
+
path: '/tracklog?topic_id=4f70a6c5-9e1a-43b4-995c-91f0fe9aeaeb',
|
|
84
|
+
data: {
|
|
85
|
+
logs: [{ contents, time }],
|
|
86
|
+
source: '',
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
export { reportRuntimeError2CLSClient, };
|
|
91
|
+
//# sourceMappingURL=report-runtime-error-cls-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-runtime-error-cls-client.js","sourceRoot":"","sources":["../../src/utils/report-runtime-error-cls-client.ts"],"names":[],"mappings":"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"}
|