@playcraft/common 0.0.2 → 0.0.4
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/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/signature.d.ts +82 -0
- package/dist/auth/signature.d.ts.map +1 -0
- package/dist/auth/signature.js +154 -0
- package/dist/auth/signature.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +2 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/tools.d.ts +29 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +179 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/messenger/server.d.ts.map +1 -1
- package/dist/messenger/server.js +7 -1
- package/dist/messenger/server.js.map +1 -1
- package/dist/messenger/types.d.ts +1 -2
- package/dist/messenger/types.d.ts.map +1 -1
- package/dist/sharedb/server.d.ts +7 -1
- package/dist/sharedb/server.d.ts.map +1 -1
- package/dist/sharedb/server.js +81 -21
- package/dist/sharedb/server.js.map +1 -1
- package/package.json +9 -5
- package/dist/auth/jwt.test.d.ts +0 -2
- package/dist/auth/jwt.test.d.ts.map +0 -1
- package/dist/auth/jwt.test.js +0 -13
- package/dist/auth/jwt.test.js.map +0 -1
- package/dist/messenger/server.test.d.ts +0 -2
- package/dist/messenger/server.test.d.ts.map +0 -1
- package/dist/messenger/server.test.js +0 -66
- package/dist/messenger/server.test.js.map +0 -1
- package/dist/models/converters.d.ts +0 -11
- package/dist/models/converters.d.ts.map +0 -1
- package/dist/models/converters.js +0 -25
- package/dist/models/converters.js.map +0 -1
- package/dist/models/converters.test.d.ts +0 -2
- package/dist/models/converters.test.d.ts.map +0 -1
- package/dist/models/converters.test.js +0 -18
- package/dist/models/converters.test.js.map +0 -1
- package/dist/models/scene.test.d.ts +0 -2
- package/dist/models/scene.test.d.ts.map +0 -1
- package/dist/models/scene.test.js +0 -12
- package/dist/models/scene.test.js.map +0 -1
- package/dist/sharedb/server.test.d.ts +0 -2
- package/dist/sharedb/server.test.d.ts.map +0 -1
- package/dist/sharedb/server.test.js +0 -59
- package/dist/sharedb/server.test.js.map +0 -1
package/dist/auth/index.d.ts
CHANGED
package/dist/auth/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|
package/dist/auth/index.js
CHANGED
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 签名验证结果
|
|
3
|
+
*/
|
|
4
|
+
export interface SignatureVerificationResult {
|
|
5
|
+
valid: boolean;
|
|
6
|
+
error?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 签名生成选项
|
|
10
|
+
*/
|
|
11
|
+
export interface SignatureOptions {
|
|
12
|
+
method: string;
|
|
13
|
+
path: string;
|
|
14
|
+
timestamp: number;
|
|
15
|
+
secret: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 时间戳有效期(毫秒)
|
|
19
|
+
* 默认 5 分钟,容忍一定的时钟偏差
|
|
20
|
+
*/
|
|
21
|
+
export declare const SIGNATURE_VALIDITY_MS: number;
|
|
22
|
+
/**
|
|
23
|
+
* 生成内部 API 签名
|
|
24
|
+
*
|
|
25
|
+
* 使用 HMAC-SHA256 算法生成签名,格式:
|
|
26
|
+
* HMAC-SHA256(method:path:timestamp, secret)
|
|
27
|
+
*
|
|
28
|
+
* @param method HTTP 方法(GET/POST/DELETE 等)
|
|
29
|
+
* @param path 请求路径(不含 query string)
|
|
30
|
+
* @param timestamp Unix 时间戳(毫秒)
|
|
31
|
+
* @param secret 共享密钥
|
|
32
|
+
* @returns 十六进制签名字符串
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* const signature = generateInternalSignature('GET', '/api/assets/internal/123', Date.now(), 'secret');
|
|
36
|
+
*/
|
|
37
|
+
export declare function generateInternalSignature(method: string, path: string, timestamp: number, secret: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* 验证内部 API 签名
|
|
40
|
+
*
|
|
41
|
+
* @param method HTTP 方法
|
|
42
|
+
* @param path 请求路径
|
|
43
|
+
* @param timestamp 请求时间戳
|
|
44
|
+
* @param signature 提供的签名
|
|
45
|
+
* @param secret 共享密钥
|
|
46
|
+
* @returns 验证结果
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* const result = verifyInternalSignature('GET', '/api/assets/internal/123', 1738645200000, 'abc123...', 'secret');
|
|
50
|
+
* if (result.valid) {
|
|
51
|
+
* // 签名有效
|
|
52
|
+
* } else {
|
|
53
|
+
* console.error(result.error);
|
|
54
|
+
* }
|
|
55
|
+
*/
|
|
56
|
+
export declare function verifyInternalSignature(method: string, path: string, timestamp: number, signature: string, secret: string): SignatureVerificationResult;
|
|
57
|
+
/**
|
|
58
|
+
* 常量时间字符串比较
|
|
59
|
+
*
|
|
60
|
+
* 防止时序攻击(timing attack)
|
|
61
|
+
* 无论字符串是否匹配,都会比较所有字符
|
|
62
|
+
*
|
|
63
|
+
* @param a 字符串 A
|
|
64
|
+
* @param b 字符串 B
|
|
65
|
+
* @returns 是否相等
|
|
66
|
+
*/
|
|
67
|
+
export declare function timingSafeEqual(a: string, b: string): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* 生成带签名的请求头
|
|
70
|
+
*
|
|
71
|
+
* @param method HTTP 方法
|
|
72
|
+
* @param path 请求路径
|
|
73
|
+
* @param secret 共享密钥
|
|
74
|
+
* @param serviceName 服务名称(realtime/messenger/cli)
|
|
75
|
+
* @returns 包含签名的 headers 对象
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* const headers = generateSignedHeaders('GET', '/api/assets/internal/123', 'secret', 'realtime');
|
|
79
|
+
* fetch(url, { headers });
|
|
80
|
+
*/
|
|
81
|
+
export declare function generateSignedHeaders(method: string, path: string, secret: string, serviceName: string): Record<string, string>;
|
|
82
|
+
//# sourceMappingURL=signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/auth/signature.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAgB,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,MAAM,CAeR;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,2BAA2B,CA2D7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAmB7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import * as crypto from 'crypto';
|
|
2
|
+
/**
|
|
3
|
+
* 时间戳有效期(毫秒)
|
|
4
|
+
* 默认 5 分钟,容忍一定的时钟偏差
|
|
5
|
+
*/
|
|
6
|
+
export const SIGNATURE_VALIDITY_MS = 5 * 60 * 1000;
|
|
7
|
+
/**
|
|
8
|
+
* 生成内部 API 签名
|
|
9
|
+
*
|
|
10
|
+
* 使用 HMAC-SHA256 算法生成签名,格式:
|
|
11
|
+
* HMAC-SHA256(method:path:timestamp, secret)
|
|
12
|
+
*
|
|
13
|
+
* @param method HTTP 方法(GET/POST/DELETE 等)
|
|
14
|
+
* @param path 请求路径(不含 query string)
|
|
15
|
+
* @param timestamp Unix 时间戳(毫秒)
|
|
16
|
+
* @param secret 共享密钥
|
|
17
|
+
* @returns 十六进制签名字符串
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* const signature = generateInternalSignature('GET', '/api/assets/internal/123', Date.now(), 'secret');
|
|
21
|
+
*/
|
|
22
|
+
export function generateInternalSignature(method, path, timestamp, secret) {
|
|
23
|
+
if (!method || !path || !timestamp || !secret) {
|
|
24
|
+
throw new Error('Missing required parameters for signature generation');
|
|
25
|
+
}
|
|
26
|
+
// 构造签名消息:method:path:timestamp
|
|
27
|
+
const message = `${method.toUpperCase()}:${path}:${timestamp}`;
|
|
28
|
+
// 使用 HMAC-SHA256 生成签名
|
|
29
|
+
const signature = crypto
|
|
30
|
+
.createHmac('sha256', secret)
|
|
31
|
+
.update(message)
|
|
32
|
+
.digest('hex');
|
|
33
|
+
return signature;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 验证内部 API 签名
|
|
37
|
+
*
|
|
38
|
+
* @param method HTTP 方法
|
|
39
|
+
* @param path 请求路径
|
|
40
|
+
* @param timestamp 请求时间戳
|
|
41
|
+
* @param signature 提供的签名
|
|
42
|
+
* @param secret 共享密钥
|
|
43
|
+
* @returns 验证结果
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* const result = verifyInternalSignature('GET', '/api/assets/internal/123', 1738645200000, 'abc123...', 'secret');
|
|
47
|
+
* if (result.valid) {
|
|
48
|
+
* // 签名有效
|
|
49
|
+
* } else {
|
|
50
|
+
* console.error(result.error);
|
|
51
|
+
* }
|
|
52
|
+
*/
|
|
53
|
+
export function verifyInternalSignature(method, path, timestamp, signature, secret) {
|
|
54
|
+
// 参数验证
|
|
55
|
+
if (!method || !path || !timestamp || !signature || !secret) {
|
|
56
|
+
return {
|
|
57
|
+
valid: false,
|
|
58
|
+
error: 'Missing required parameters for signature verification'
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
// 验证时间戳类型
|
|
62
|
+
if (typeof timestamp !== 'number' || isNaN(timestamp)) {
|
|
63
|
+
return {
|
|
64
|
+
valid: false,
|
|
65
|
+
error: 'Invalid timestamp format'
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// 验证时间戳有效期(防重放攻击)
|
|
69
|
+
const now = Date.now();
|
|
70
|
+
const age = now - timestamp;
|
|
71
|
+
if (age < 0) {
|
|
72
|
+
return {
|
|
73
|
+
valid: false,
|
|
74
|
+
error: 'Timestamp is in the future'
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (age > SIGNATURE_VALIDITY_MS) {
|
|
78
|
+
return {
|
|
79
|
+
valid: false,
|
|
80
|
+
error: `Request expired (age: ${Math.floor(age / 1000)}s, max: ${SIGNATURE_VALIDITY_MS / 1000}s)`
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
// 重新计算签名
|
|
84
|
+
let expectedSignature;
|
|
85
|
+
try {
|
|
86
|
+
expectedSignature = generateInternalSignature(method, path, timestamp, secret);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
return {
|
|
90
|
+
valid: false,
|
|
91
|
+
error: `Signature calculation failed: ${error instanceof Error ? error.message : 'Unknown error'}`
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
// 使用常量时间比较防止时序攻击
|
|
95
|
+
const isValid = timingSafeEqual(signature, expectedSignature);
|
|
96
|
+
if (!isValid) {
|
|
97
|
+
return {
|
|
98
|
+
valid: false,
|
|
99
|
+
error: 'Signature mismatch'
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
valid: true
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* 常量时间字符串比较
|
|
108
|
+
*
|
|
109
|
+
* 防止时序攻击(timing attack)
|
|
110
|
+
* 无论字符串是否匹配,都会比较所有字符
|
|
111
|
+
*
|
|
112
|
+
* @param a 字符串 A
|
|
113
|
+
* @param b 字符串 B
|
|
114
|
+
* @returns 是否相等
|
|
115
|
+
*/
|
|
116
|
+
export function timingSafeEqual(a, b) {
|
|
117
|
+
if (typeof a !== 'string' || typeof b !== 'string') {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
// 长度不同直接返回 false,但仍需要进行完整比较以保持常量时间
|
|
121
|
+
const lengthMatch = a.length === b.length;
|
|
122
|
+
const compareLength = Math.max(a.length, b.length);
|
|
123
|
+
let result = lengthMatch ? 0 : 1;
|
|
124
|
+
// 始终比较相同次数,避免提前退出
|
|
125
|
+
for (let i = 0; i < compareLength; i++) {
|
|
126
|
+
const aChar = i < a.length ? a.charCodeAt(i) : 0;
|
|
127
|
+
const bChar = i < b.length ? b.charCodeAt(i) : 0;
|
|
128
|
+
result |= aChar ^ bChar;
|
|
129
|
+
}
|
|
130
|
+
return result === 0;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* 生成带签名的请求头
|
|
134
|
+
*
|
|
135
|
+
* @param method HTTP 方法
|
|
136
|
+
* @param path 请求路径
|
|
137
|
+
* @param secret 共享密钥
|
|
138
|
+
* @param serviceName 服务名称(realtime/messenger/cli)
|
|
139
|
+
* @returns 包含签名的 headers 对象
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* const headers = generateSignedHeaders('GET', '/api/assets/internal/123', 'secret', 'realtime');
|
|
143
|
+
* fetch(url, { headers });
|
|
144
|
+
*/
|
|
145
|
+
export function generateSignedHeaders(method, path, secret, serviceName) {
|
|
146
|
+
const timestamp = Date.now();
|
|
147
|
+
const signature = generateInternalSignature(method, path, timestamp, secret);
|
|
148
|
+
return {
|
|
149
|
+
'X-Internal-Timestamp': timestamp.toString(),
|
|
150
|
+
'X-Internal-Signature': signature,
|
|
151
|
+
'X-Internal-Service': serviceName
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=signature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/auth/signature.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified MCP tool definitions and name mapping.
|
|
3
|
+
* Maps tool names (snake_case / pc_*) used by Backend MCP and AI clients
|
|
4
|
+
* to Editor handler method names (camelCase).
|
|
5
|
+
*/
|
|
6
|
+
/** Map from MCP tool name (as sent by backend/AI) to Editor handler method name */
|
|
7
|
+
export declare const TOOL_NAME_TO_HANDLER: Record<string, string>;
|
|
8
|
+
/** Tool names that are executed by executor directly (no handler) */
|
|
9
|
+
export declare const EXECUTOR_ONLY_TOOLS: Set<string>;
|
|
10
|
+
/**
|
|
11
|
+
* Resolve MCP tool name to handler method name.
|
|
12
|
+
* Returns undefined if tool is executor-only or unknown.
|
|
13
|
+
*/
|
|
14
|
+
export declare function toolNameToHandler(tool: string): string | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* All MCP tool names that can be invoked (handler-based + executor-only).
|
|
17
|
+
*/
|
|
18
|
+
export declare const MCP_TOOL_NAMES: string[];
|
|
19
|
+
export type McpToolDefinition = {
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
inputSchema?: Record<string, unknown>;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Minimal tool definitions for MCP tools/list.
|
|
26
|
+
* Backend can use this to return full tool list to MCP clients.
|
|
27
|
+
*/
|
|
28
|
+
export declare const MCP_TOOL_DEFINITIONS: McpToolDefinition[];
|
|
29
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqFvD,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,aAAiD,CAAC;AAElF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGlE;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,UAK1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,EA0EnD,CAAC"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified MCP tool definitions and name mapping.
|
|
3
|
+
* Maps tool names (snake_case / pc_*) used by Backend MCP and AI clients
|
|
4
|
+
* to Editor handler method names (camelCase).
|
|
5
|
+
*/
|
|
6
|
+
/** Map from MCP tool name (as sent by backend/AI) to Editor handler method name */
|
|
7
|
+
export const TOOL_NAME_TO_HANDLER = {
|
|
8
|
+
// Legacy Backend MCP names (snake_case) -> handler
|
|
9
|
+
list_entities: 'listEntities',
|
|
10
|
+
create_entity: 'createEntity',
|
|
11
|
+
delete_entity: 'deleteEntity',
|
|
12
|
+
modify_entity: 'updateEntity',
|
|
13
|
+
list_assets: 'listAssets',
|
|
14
|
+
create_asset: 'createAsset',
|
|
15
|
+
delete_asset: 'deleteAsset',
|
|
16
|
+
query_scene_settings: 'querySceneSettings',
|
|
17
|
+
// Entity (pc_*)
|
|
18
|
+
pc_create_entity: 'createEntity',
|
|
19
|
+
pc_get_entity: 'getEntity',
|
|
20
|
+
pc_update_entity: 'updateEntity',
|
|
21
|
+
pc_delete_entity: 'deleteEntity',
|
|
22
|
+
pc_list_entities: 'listEntities',
|
|
23
|
+
pc_duplicate_entities: 'duplicateEntities',
|
|
24
|
+
pc_reparent_entity: 'reparentEntity',
|
|
25
|
+
pc_add_components: 'addComponents',
|
|
26
|
+
pc_remove_components: 'removeComponents',
|
|
27
|
+
// Asset
|
|
28
|
+
pc_upload_asset: 'uploadAsset',
|
|
29
|
+
pc_get_asset: 'getAsset',
|
|
30
|
+
pc_list_assets: 'listAssets',
|
|
31
|
+
pc_delete_asset: 'deleteAsset',
|
|
32
|
+
pc_create_asset: 'createAsset',
|
|
33
|
+
pc_find_assets: 'findAsset',
|
|
34
|
+
pc_create_folder: 'createFolder',
|
|
35
|
+
pc_get_selection: 'getSelection',
|
|
36
|
+
// Script
|
|
37
|
+
pc_create_script: 'createScript',
|
|
38
|
+
pc_add_script_to_entity: 'addScriptToEntity',
|
|
39
|
+
pc_set_script_text: 'setScriptText',
|
|
40
|
+
pc_get_script_text: 'getScriptText',
|
|
41
|
+
pc_script_parse: 'scriptParse',
|
|
42
|
+
// Content
|
|
43
|
+
pc_set_json_content: 'setJsonContent',
|
|
44
|
+
pc_get_json_content: 'getJsonContent',
|
|
45
|
+
pc_set_text_content: 'setTextContent',
|
|
46
|
+
pc_get_text_content: 'getTextContent',
|
|
47
|
+
pc_list_extensions: 'listExtensions',
|
|
48
|
+
// Template
|
|
49
|
+
pc_instantiate_template: 'instantiateTemplate',
|
|
50
|
+
pc_create_template: 'createTemplate',
|
|
51
|
+
pc_apply_template: 'applyTemplate',
|
|
52
|
+
// Scene
|
|
53
|
+
pc_get_scene: 'getScene',
|
|
54
|
+
pc_save_scene: 'saveScene',
|
|
55
|
+
pc_query_scene_settings: 'querySceneSettings',
|
|
56
|
+
pc_modify_scene_settings: 'modifySceneSettings',
|
|
57
|
+
// Project
|
|
58
|
+
pc_get_project: 'getProject',
|
|
59
|
+
pc_get_project_settings: 'getProjectSettings',
|
|
60
|
+
pc_update_project_settings: 'updateProjectSettings',
|
|
61
|
+
// Material
|
|
62
|
+
pc_set_material_diffuse: 'setMaterialDiffuse',
|
|
63
|
+
// Runtime
|
|
64
|
+
pc_get_runtime_errors: 'getRuntimeErrors',
|
|
65
|
+
pc_get_editor_errors: 'getEditorErrors',
|
|
66
|
+
pc_find_runtime_entities: 'findRuntimeEntities',
|
|
67
|
+
pc_get_runtime_entity: 'getRuntimeEntity',
|
|
68
|
+
// Editor
|
|
69
|
+
editor_call: 'editorCall',
|
|
70
|
+
editor_run: 'editorRun',
|
|
71
|
+
// Agent
|
|
72
|
+
pc_get_pending_messages: 'getPendingMessages',
|
|
73
|
+
pc_send_agent_response: 'agentResponse',
|
|
74
|
+
// AI
|
|
75
|
+
pc_generate_with_ai: 'ai_generate_intelligent',
|
|
76
|
+
pc_analyze_image: 'analyzeImage',
|
|
77
|
+
// Generator
|
|
78
|
+
pc_apply_table_to_scene: 'applyTableToScene',
|
|
79
|
+
};
|
|
80
|
+
/** Tool names that are executed by executor directly (no handler) */
|
|
81
|
+
export const EXECUTOR_ONLY_TOOLS = new Set(['list_scenes', 'load_scene']);
|
|
82
|
+
/**
|
|
83
|
+
* Resolve MCP tool name to handler method name.
|
|
84
|
+
* Returns undefined if tool is executor-only or unknown.
|
|
85
|
+
*/
|
|
86
|
+
export function toolNameToHandler(tool) {
|
|
87
|
+
if (EXECUTOR_ONLY_TOOLS.has(tool))
|
|
88
|
+
return undefined;
|
|
89
|
+
return TOOL_NAME_TO_HANDLER[tool];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* All MCP tool names that can be invoked (handler-based + executor-only).
|
|
93
|
+
*/
|
|
94
|
+
export const MCP_TOOL_NAMES = [
|
|
95
|
+
...new Set([
|
|
96
|
+
...Object.keys(TOOL_NAME_TO_HANDLER),
|
|
97
|
+
...EXECUTOR_ONLY_TOOLS,
|
|
98
|
+
]),
|
|
99
|
+
];
|
|
100
|
+
/**
|
|
101
|
+
* Minimal tool definitions for MCP tools/list.
|
|
102
|
+
* Backend can use this to return full tool list to MCP clients.
|
|
103
|
+
*/
|
|
104
|
+
export const MCP_TOOL_DEFINITIONS = [
|
|
105
|
+
// Entity
|
|
106
|
+
{ name: 'pc_list_entities', description: 'List PlayCanvas entities in hierarchy. Prefer parentId to reduce payload.' },
|
|
107
|
+
{ name: 'pc_create_entity', description: 'Create a new entity in the PlayCanvas editor.' },
|
|
108
|
+
{ name: 'pc_get_entity', description: 'Get a single entity by ID.' },
|
|
109
|
+
{ name: 'pc_update_entity', description: 'Update entity name, enabled, tags, position, rotation, scale, components.' },
|
|
110
|
+
{ name: 'pc_delete_entity', description: 'Delete an entity and its children.' },
|
|
111
|
+
{ name: 'pc_duplicate_entities', description: 'Duplicate one or more entities.' },
|
|
112
|
+
{ name: 'pc_reparent_entity', description: 'Change entity parent.' },
|
|
113
|
+
{ name: 'pc_add_components', description: 'Add components to an entity.' },
|
|
114
|
+
{ name: 'pc_remove_components', description: 'Remove components from an entity.' },
|
|
115
|
+
// Asset
|
|
116
|
+
{ name: 'pc_list_assets', description: 'List assets in the project.' },
|
|
117
|
+
{ name: 'pc_get_asset', description: 'Get asset by ID.' },
|
|
118
|
+
{ name: 'pc_upload_asset', description: 'Upload an asset (e.g. image).' },
|
|
119
|
+
{ name: 'pc_delete_asset', description: 'Delete an asset.' },
|
|
120
|
+
{ name: 'pc_create_asset', description: 'Create an asset of given type.' },
|
|
121
|
+
{ name: 'pc_find_assets', description: 'Find assets by name/type.' },
|
|
122
|
+
{ name: 'pc_create_folder', description: 'Create a folder asset.' },
|
|
123
|
+
{ name: 'pc_get_selection', description: 'Get current editor selection (assets/entities).' },
|
|
124
|
+
// Script
|
|
125
|
+
{ name: 'pc_create_script', description: 'Create a script asset.' },
|
|
126
|
+
{ name: 'pc_add_script_to_entity', description: 'Add script to entity.' },
|
|
127
|
+
{ name: 'pc_set_script_text', description: 'Set script source text.' },
|
|
128
|
+
{ name: 'pc_get_script_text', description: 'Get script source text.' },
|
|
129
|
+
{ name: 'pc_script_parse', description: 'Parse script and return structure.' },
|
|
130
|
+
// Content
|
|
131
|
+
{ name: 'pc_set_json_content', description: 'Set JSON asset content.' },
|
|
132
|
+
{ name: 'pc_get_json_content', description: 'Get JSON asset content.' },
|
|
133
|
+
{ name: 'pc_set_text_content', description: 'Set text asset content.' },
|
|
134
|
+
{ name: 'pc_get_text_content', description: 'Get text asset content.' },
|
|
135
|
+
{ name: 'pc_list_extensions', description: 'List extensions.' },
|
|
136
|
+
// Template
|
|
137
|
+
{ name: 'pc_instantiate_template', description: 'Instantiate a template.' },
|
|
138
|
+
{ name: 'pc_create_template', description: 'Create a template from selection.' },
|
|
139
|
+
{ name: 'pc_apply_template', description: 'Apply template to entity.' },
|
|
140
|
+
// Scene
|
|
141
|
+
{ name: 'list_scenes', description: 'List scenes (legacy).' },
|
|
142
|
+
{ name: 'load_scene', description: 'Load a scene by ID (legacy).' },
|
|
143
|
+
{ name: 'pc_get_scene', description: 'Get current scene data.' },
|
|
144
|
+
{ name: 'pc_save_scene', description: 'Save the current scene.' },
|
|
145
|
+
{ name: 'pc_query_scene_settings', description: 'Query scene settings.' },
|
|
146
|
+
{ name: 'pc_modify_scene_settings', description: 'Modify scene settings.' },
|
|
147
|
+
// Project
|
|
148
|
+
{ name: 'pc_get_project', description: 'Get project info.' },
|
|
149
|
+
{ name: 'pc_get_project_settings', description: 'Get project settings.' },
|
|
150
|
+
{ name: 'pc_update_project_settings', description: 'Update project settings.' },
|
|
151
|
+
// Material
|
|
152
|
+
{ name: 'pc_set_material_diffuse', description: 'Set material diffuse color.' },
|
|
153
|
+
// Runtime
|
|
154
|
+
{ name: 'pc_get_runtime_errors', description: 'Get runtime errors.' },
|
|
155
|
+
{ name: 'pc_get_editor_errors', description: 'Get editor errors.' },
|
|
156
|
+
{ name: 'pc_find_runtime_entities', description: 'Find runtime entities.' },
|
|
157
|
+
{ name: 'pc_get_runtime_entity', description: 'Get runtime entity by GUID.' },
|
|
158
|
+
// Editor
|
|
159
|
+
{ name: 'editor_call', description: 'Call editor API.' },
|
|
160
|
+
{ name: 'editor_run', description: 'Run editor command.' },
|
|
161
|
+
// Agent
|
|
162
|
+
{ name: 'pc_get_pending_messages', description: 'Get pending agent messages.' },
|
|
163
|
+
{ name: 'pc_send_agent_response', description: 'Send response to agent.' },
|
|
164
|
+
// AI
|
|
165
|
+
{ name: 'pc_generate_with_ai', description: 'Generate content with AI (single resource per call).' },
|
|
166
|
+
{ name: 'pc_analyze_image', description: 'Analyze an image with AI.' },
|
|
167
|
+
// Generator
|
|
168
|
+
{ name: 'pc_apply_table_to_scene', description: 'Apply table to scene.' },
|
|
169
|
+
// Legacy
|
|
170
|
+
{ name: 'list_entities', description: 'List entities (legacy).' },
|
|
171
|
+
{ name: 'create_entity', description: 'Create entity (legacy).' },
|
|
172
|
+
{ name: 'delete_entity', description: 'Delete entity (legacy).' },
|
|
173
|
+
{ name: 'modify_entity', description: 'Modify entity (legacy).' },
|
|
174
|
+
{ name: 'list_assets', description: 'List assets (legacy).' },
|
|
175
|
+
{ name: 'create_asset', description: 'Create asset (legacy).' },
|
|
176
|
+
{ name: 'delete_asset', description: 'Delete asset (legacy).' },
|
|
177
|
+
{ name: 'query_scene_settings', description: 'Query scene settings (legacy).' },
|
|
178
|
+
];
|
|
179
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/messenger/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAmB,SAAS,EAAE,MAAM,IAAI,CAAC;AAKhD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE;YAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IACtH,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,oBAAoB;;;;;;;;CAQvB,CAAC;AA4BX,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F,mCAAmC;IACnC,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,6BAA6B;IAC7B,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7E,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AASF,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,mBAAmB,CAAK;gBAEpB,OAAO,GAAE,sBAA2B;IAMhD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM;IAM1B,KAAK;IAIL,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/messenger/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAmB,SAAS,EAAE,MAAM,IAAI,CAAC;AAKhD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE;YAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IACtH,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,oBAAoB;;;;;;;;CAQvB,CAAC;AA4BX,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F,mCAAmC;IACnC,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,6BAA6B;IAC7B,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7E,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AASF,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,mBAAmB,CAAK;gBAEpB,OAAO,GAAE,sBAA2B;IAMhD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM;IAM1B,KAAK;IAIL,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAc9D,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAMxE;;OAEG;IACH,mBAAmB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;IAmBpF;;;OAGG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,IAC1B,KAAK,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,cAAc;IAiC7D,OAAO,CAAC,gBAAgB;IA8FxB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,YAAY;CAgCrB"}
|
package/dist/messenger/server.js
CHANGED
|
@@ -58,13 +58,16 @@ export class MessengerServer {
|
|
|
58
58
|
broadcast(name, data, projectId) {
|
|
59
59
|
const pid = Number(projectId) || 1;
|
|
60
60
|
const json = MessengerProtocol.serialize(MessengerProtocol.createMessage(name, data, pid));
|
|
61
|
+
let sentCount = 0;
|
|
61
62
|
for (const [client, session] of this.clients) {
|
|
62
63
|
if (client.readyState !== WebSocket.OPEN)
|
|
63
64
|
continue;
|
|
64
65
|
if (projectId && session.projectId && String(session.projectId) !== String(projectId))
|
|
65
66
|
continue;
|
|
66
67
|
client.send(json);
|
|
68
|
+
sentCount++;
|
|
67
69
|
}
|
|
70
|
+
console.log(`[MessengerServer] Broadcast '${name}' to ${sentCount} clients (projectId: ${projectId})`);
|
|
68
71
|
}
|
|
69
72
|
send(ws, name, data, projectId) {
|
|
70
73
|
if (ws.readyState !== WebSocket.OPEN)
|
|
@@ -115,11 +118,14 @@ export class MessengerServer {
|
|
|
115
118
|
req.on('end', () => {
|
|
116
119
|
try {
|
|
117
120
|
const msg = JSON.parse(body || '{}');
|
|
121
|
+
console.log('[MessengerServer] Emit received:', msg.name, 'to project:', msg.projectId, 'data:', JSON.stringify(msg.data || {}).substring(0, 150));
|
|
118
122
|
this.broadcast(msg.name, msg.data, msg.projectId);
|
|
123
|
+
console.log('[MessengerServer] Broadcast completed for:', msg.name);
|
|
119
124
|
res.statusCode = 200;
|
|
120
125
|
res.end('ok');
|
|
121
126
|
}
|
|
122
|
-
catch {
|
|
127
|
+
catch (err) {
|
|
128
|
+
console.error('[MessengerServer] Failed to parse emit body:', err);
|
|
123
129
|
res.statusCode = 400;
|
|
124
130
|
res.end('bad request');
|
|
125
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/messenger/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAO1C,uBAAuB;AACvB,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,EAAE,EAAE,IAAI;CACA,CAAC;AAEX,qCAAqC;AACrC,MAAM,WAAW;IACP,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9B,KAAK,CAAS;IACd,QAAQ,CAAS;IAElC,YAAY,KAAa,EAAE,QAAgB;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAqBD,MAAM,OAAO,eAAe;IAClB,GAAG,CAAmB;IACb,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IACxC,OAAO,CAAyB;IAChC,WAAW,CAAc;IAClC,mBAAmB,GAAG,CAAC,CAAC;IAEhC,YAAY,UAAkC,EAAE;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,MAAmB;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC;QAC/C,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,IAAS,EAAE,SAA2B;QAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAE3F,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;gBAAE,SAAS;YACnD,IAAI,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC;gBAAE,SAAS;YAChG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/messenger/server.ts"],"names":[],"mappings":"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"}
|