@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
|
@@ -18,8 +18,7 @@ export type McpCommandMessage = {
|
|
|
18
18
|
tool: string;
|
|
19
19
|
params: Record<string, unknown>;
|
|
20
20
|
};
|
|
21
|
-
};
|
|
22
|
-
/** MCP result (Editor → Backend via POST /api/mcp/result; not broadcast) */
|
|
21
|
+
}; /** MCP result (Editor → Backend via POST /api/mcp/result; not broadcast) */
|
|
23
22
|
export type McpResultMessage = {
|
|
24
23
|
name: 'mcp:result';
|
|
25
24
|
data: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/messenger/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,eAAe,CAAC;IACxB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;CACH,CAAC
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/messenger/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,eAAe,CAAC;IACxB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;CACH,CAAC,CAAA,4EAA4E;AAC9E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC"}
|
package/dist/sharedb/server.d.ts
CHANGED
|
@@ -51,9 +51,15 @@ export declare class ShareDBRealtimeServer {
|
|
|
51
51
|
*/
|
|
52
52
|
private loadProjectAssetsToCache;
|
|
53
53
|
/**
|
|
54
|
-
* 🔧 从缓存中获取 asset
|
|
54
|
+
* 🔧 从缓存中获取 asset(需已知 contentHash),并更新访问计数与时间戳
|
|
55
55
|
*/
|
|
56
56
|
private getAssetFromCache;
|
|
57
|
+
/**
|
|
58
|
+
* 🔧 缓存 asset 数据,使用 assetId:contentHash 作为 key;删除同一 assetId 的旧 hash 版本
|
|
59
|
+
*/
|
|
60
|
+
private cacheAssetData;
|
|
61
|
+
/** 从当前连接上下文获取 projectId(暂无实现时返回 null,则不按项目缓存) */
|
|
62
|
+
private getProjectIdFromContext;
|
|
57
63
|
private ensureDocExists;
|
|
58
64
|
private handleConnection;
|
|
59
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/sharedb/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/sharedb/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAoB7B,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAIhB;IAGL,OAAO,CAAC,UAAU,CAAoD;IACtE,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,iBAAiB,CAA+C;gBAE5D,OAAO,GAAE,oBAAyB;IAY9C,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM;IAQ1B;;OAEG;IACH,mBAAmB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;IAmBpF,KAAK;IAuBL,yBAAyB;IACzB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,iBAAiB;IAiDzB,OAAO,CAAC,aAAa;IAQrB;;;OAGG;YACW,wBAAwB;IAiEtC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAmCtB,iDAAiD;IACjD,OAAO,CAAC,uBAAuB;YAIjB,eAAe;IAgJ7B,OAAO,CAAC,gBAAgB;CA6LzB"}
|
package/dist/sharedb/server.js
CHANGED
|
@@ -4,7 +4,7 @@ import WebSocketJSONStream from '@teamwork/websocket-json-stream';
|
|
|
4
4
|
import { type as otTextType } from 'ot-text';
|
|
5
5
|
import { LocalDevAuth } from '../auth/local-dev.js';
|
|
6
6
|
import { SceneModel } from '../models/scene.js';
|
|
7
|
-
import {
|
|
7
|
+
import { generateSignedHeaders } from '../auth/signature.js';
|
|
8
8
|
ShareDB.types.register(otTextType);
|
|
9
9
|
export class ShareDBRealtimeServer {
|
|
10
10
|
backend;
|
|
@@ -188,12 +188,15 @@ export class ShareDBRealtimeServer {
|
|
|
188
188
|
console.warn(`[sharedb] No backendUrl configured, cannot load assets for project ${projectId}`);
|
|
189
189
|
return;
|
|
190
190
|
}
|
|
191
|
-
const
|
|
191
|
+
const emitSecret = this.options.internalSecret || process.env.EMIT_SECRET || 'dev-emit-secret-change-me';
|
|
192
192
|
const url = `${this.options.backendUrl}/api/projects/${projectId}/assets?branchId=local-branch`;
|
|
193
|
+
const path = `/api/projects/${projectId}/assets`;
|
|
193
194
|
console.log(`[sharedb] 🚀 Batch loading assets for project ${projectId} from ${url}`);
|
|
194
195
|
const startTime = Date.now();
|
|
196
|
+
// 生成签名 headers
|
|
197
|
+
const signedHeaders = generateSignedHeaders('GET', path, emitSecret, 'realtime');
|
|
195
198
|
const res = await fetch(url, {
|
|
196
|
-
headers:
|
|
199
|
+
headers: signedHeaders,
|
|
197
200
|
});
|
|
198
201
|
if (!res.ok) {
|
|
199
202
|
console.error(`[sharedb] Failed to batch load assets: status=${res.status}`);
|
|
@@ -228,17 +231,53 @@ export class ShareDBRealtimeServer {
|
|
|
228
231
|
return loadPromise;
|
|
229
232
|
}
|
|
230
233
|
/**
|
|
231
|
-
* 🔧 从缓存中获取 asset
|
|
234
|
+
* 🔧 从缓存中获取 asset(需已知 contentHash),并更新访问计数与时间戳
|
|
232
235
|
*/
|
|
233
|
-
getAssetFromCache(projectId,
|
|
236
|
+
getAssetFromCache(projectId, cacheKey) {
|
|
234
237
|
const projectCache = this.assetCache.get(projectId);
|
|
235
|
-
const cached = projectCache?.get(
|
|
238
|
+
const cached = projectCache?.get(cacheKey);
|
|
236
239
|
if (!cached)
|
|
237
240
|
return null;
|
|
238
241
|
cached.accessCount++;
|
|
239
242
|
cached.timestamp = Date.now();
|
|
240
243
|
return cached.data;
|
|
241
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* 🔧 缓存 asset 数据,使用 assetId:contentHash 作为 key;删除同一 assetId 的旧 hash 版本
|
|
247
|
+
*/
|
|
248
|
+
cacheAssetData(projectId, assetId, responseData) {
|
|
249
|
+
const { contentHash, ...data } = responseData;
|
|
250
|
+
if (!contentHash) {
|
|
251
|
+
console.warn(`[sharedb] No contentHash for asset ${assetId}, skipping cache`);
|
|
252
|
+
return data;
|
|
253
|
+
}
|
|
254
|
+
const cacheKey = `${assetId}:${contentHash}`;
|
|
255
|
+
let projectCache = this.assetCache.get(projectId);
|
|
256
|
+
if (!projectCache) {
|
|
257
|
+
projectCache = new Map();
|
|
258
|
+
this.assetCache.set(projectId, projectCache);
|
|
259
|
+
}
|
|
260
|
+
// 删除同一 assetId 的旧 hash 版本(防止内存泄漏)
|
|
261
|
+
for (const [key] of projectCache) {
|
|
262
|
+
if (key.startsWith(`${assetId}:`) && key !== cacheKey) {
|
|
263
|
+
projectCache.delete(key);
|
|
264
|
+
console.log(`[sharedb] Removed old cache: ${key}`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
const cached = {
|
|
268
|
+
data,
|
|
269
|
+
contentHash,
|
|
270
|
+
timestamp: Date.now(),
|
|
271
|
+
accessCount: 0,
|
|
272
|
+
};
|
|
273
|
+
projectCache.set(cacheKey, cached);
|
|
274
|
+
console.log(`[sharedb] Cached asset ${assetId} with hash ${contentHash.slice(0, 8)}`);
|
|
275
|
+
return data;
|
|
276
|
+
}
|
|
277
|
+
/** 从当前连接上下文获取 projectId(暂无实现时返回 null,则不按项目缓存) */
|
|
278
|
+
getProjectIdFromContext() {
|
|
279
|
+
return null;
|
|
280
|
+
}
|
|
242
281
|
async ensureDocExists(collection, id, reason) {
|
|
243
282
|
const docId = String(id);
|
|
244
283
|
const doc = this.getCommonConn().get(collection, docId);
|
|
@@ -258,14 +297,9 @@ export class ShareDBRealtimeServer {
|
|
|
258
297
|
if (collection === 'user_data') {
|
|
259
298
|
initial = {};
|
|
260
299
|
}
|
|
261
|
-
//
|
|
300
|
+
// assets 在下方 backend 请求后通过 cacheAssetData 处理并缓存(key = assetId:contentHash)
|
|
262
301
|
else if (collection === 'assets' && this.options.backendUrl) {
|
|
263
|
-
//
|
|
264
|
-
// 这里我们需要一个方法来识别 projectId,暂时先尝试批量加载
|
|
265
|
-
// TODO: 需要一个更好的方法来识别 projectId
|
|
266
|
-
// 目前的解决方案:尝试从 URL 或者第一次加载时记录 projectId
|
|
267
|
-
// fallback: 使用单个请求
|
|
268
|
-
console.log(`[sharedb] Asset cache miss for ${docId}, using individual request`);
|
|
302
|
+
// 留空,initial 由下方 backend fetch 后设置并可选缓存
|
|
269
303
|
}
|
|
270
304
|
if (initial == null && this.options.onDocCreate) {
|
|
271
305
|
try {
|
|
@@ -280,24 +314,32 @@ export class ShareDBRealtimeServer {
|
|
|
280
314
|
}
|
|
281
315
|
if (initial == null && this.options.backendUrl) {
|
|
282
316
|
try {
|
|
283
|
-
const
|
|
317
|
+
const emitSecret = this.options.internalSecret || process.env.EMIT_SECRET || 'dev-emit-secret-change-me';
|
|
284
318
|
// 🔧 修复:对于 documents collection,调用 assets API 获取文件内容
|
|
285
319
|
// documents 的 ID 即 asset 的 numeric_id(或 UUID),用于获取文件内容
|
|
286
320
|
let url;
|
|
321
|
+
let path;
|
|
287
322
|
if (collection === 'documents') {
|
|
288
323
|
// documents 需要获取文件内容(文本)
|
|
289
324
|
url = `${this.options.backendUrl}/api/assets/internal/${docId}/file`;
|
|
325
|
+
path = `/api/assets/internal/${docId}/file`;
|
|
290
326
|
}
|
|
291
327
|
else {
|
|
292
328
|
// assets 和 scenes 获取元数据(JSON)
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
329
|
+
if (collection === 'assets' || collection === 'scenes') {
|
|
330
|
+
url = `${this.options.backendUrl}/api/${collection}/internal/${docId}`;
|
|
331
|
+
path = `/api/${collection}/internal/${docId}`;
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
url = `${this.options.backendUrl}/api/${collection}/${docId}`;
|
|
335
|
+
path = `/api/${collection}/${docId}`;
|
|
336
|
+
}
|
|
297
337
|
}
|
|
298
338
|
console.log(`[sharedb] Fetching initial data from ${url}`);
|
|
339
|
+
// 生成签名 headers
|
|
340
|
+
const signedHeaders = generateSignedHeaders('GET', path, emitSecret, 'realtime');
|
|
299
341
|
const res = await fetch(url, {
|
|
300
|
-
headers:
|
|
342
|
+
headers: signedHeaders,
|
|
301
343
|
});
|
|
302
344
|
console.log(`[sharedb] Backend response: status=${res.status}, ok=${res.ok}`);
|
|
303
345
|
if (res.ok) {
|
|
@@ -307,8 +349,26 @@ export class ShareDBRealtimeServer {
|
|
|
307
349
|
console.log(`[sharedb] Backend returned text: ${initial ? initial.substring(0, 100) + '...' : 'empty'}`);
|
|
308
350
|
}
|
|
309
351
|
else {
|
|
310
|
-
|
|
311
|
-
console.log(`[sharedb] Backend returned:`,
|
|
352
|
+
const responseData = await res.json();
|
|
353
|
+
console.log(`[sharedb] Backend returned:`, responseData ? `data with keys [${Object.keys(responseData).join(', ')}]` : 'null');
|
|
354
|
+
// 🔧 assets:剥离 contentHash 后写入 doc;若有 projectId 则按 assetId:contentHash 缓存
|
|
355
|
+
if (collection === 'assets' && responseData && 'contentHash' in responseData) {
|
|
356
|
+
const projectId = this.getProjectIdFromContext();
|
|
357
|
+
initial = projectId
|
|
358
|
+
? this.cacheAssetData(projectId, docId, responseData)
|
|
359
|
+
: (() => {
|
|
360
|
+
const { contentHash: _h, ...rest } = responseData;
|
|
361
|
+
return rest;
|
|
362
|
+
})();
|
|
363
|
+
}
|
|
364
|
+
else if (collection === 'scenes' && responseData && 'contentHash' in responseData) {
|
|
365
|
+
// 🔧 scenes:Backend 返回 contentHash,仅剥离不写入 doc
|
|
366
|
+
const { contentHash: _h, ...rest } = responseData;
|
|
367
|
+
initial = rest;
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
initial = responseData;
|
|
371
|
+
}
|
|
312
372
|
}
|
|
313
373
|
}
|
|
314
374
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sharedb/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sharedb/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@playcraft/common",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -41,6 +41,10 @@
|
|
|
41
41
|
"types": "./dist/storage/index.d.ts",
|
|
42
42
|
"default": "./dist/storage/index.js"
|
|
43
43
|
},
|
|
44
|
+
"./mcp": {
|
|
45
|
+
"types": "./dist/mcp/index.d.ts",
|
|
46
|
+
"default": "./dist/mcp/index.js"
|
|
47
|
+
},
|
|
44
48
|
"./utils": {
|
|
45
49
|
"types": "./dist/utils/index.d.ts",
|
|
46
50
|
"default": "./dist/utils/index.js"
|
|
@@ -64,15 +68,15 @@
|
|
|
64
68
|
"drizzle-orm": "^0.45.1",
|
|
65
69
|
"jose": "^6.1.3",
|
|
66
70
|
"ot-text": "^1.0.2",
|
|
67
|
-
"pg": "^8.
|
|
71
|
+
"pg": "^8.18.0",
|
|
68
72
|
"sharedb": "^5.2.2",
|
|
69
73
|
"ws": "^8.19.0"
|
|
70
74
|
},
|
|
71
75
|
"devDependencies": {
|
|
72
|
-
"@types/better-sqlite3": "^7.6.
|
|
73
|
-
"@types/node": "^25.0
|
|
76
|
+
"@types/better-sqlite3": "^7.6.13",
|
|
77
|
+
"@types/node": "^25.2.0",
|
|
74
78
|
"@types/pg": "^8.16.0",
|
|
75
|
-
"@types/ws": "^8.
|
|
79
|
+
"@types/ws": "^8.18.1",
|
|
76
80
|
"typescript": "^5.9.3",
|
|
77
81
|
"vitest": "^3.2.4"
|
|
78
82
|
}
|
package/dist/auth/jwt.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.test.d.ts","sourceRoot":"","sources":["../../src/auth/jwt.test.ts"],"names":[],"mappings":""}
|
package/dist/auth/jwt.test.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { JwtService } from './jwt.js';
|
|
3
|
-
describe('JwtService', () => {
|
|
4
|
-
it('sign + verify roundtrip', async () => {
|
|
5
|
-
const jwt = new JwtService({ secret: 'test-secret' });
|
|
6
|
-
const token = await jwt.sign({ sub: 'u1', role: 'admin' }, { subject: 'u1', expiresIn: '1h' });
|
|
7
|
-
const payload = await jwt.verify(token);
|
|
8
|
-
expect(payload).not.toBeNull();
|
|
9
|
-
expect(payload?.sub).toBe('u1');
|
|
10
|
-
expect(payload?.role).toBe('admin');
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
//# sourceMappingURL=jwt.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.test.js","sourceRoot":"","sources":["../../src/auth/jwt.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.test.d.ts","sourceRoot":"","sources":["../../src/messenger/server.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { MessengerServer, MessengerMessageType } from './server.js';
|
|
3
|
-
describe('MessengerServer', () => {
|
|
4
|
-
it('MessengerMessageType has expected keys', () => {
|
|
5
|
-
expect(MessengerMessageType.AUTHENTICATE).toBe('authenticate');
|
|
6
|
-
expect(MessengerMessageType.PROJECT_WATCH).toBe('project.watch');
|
|
7
|
-
expect(MessengerMessageType.SELECTION).toBe('selection');
|
|
8
|
-
expect(MessengerMessageType.CHAT_MSG).toBe('chat:msg');
|
|
9
|
-
expect(MessengerMessageType.FS).toBe('fs');
|
|
10
|
-
});
|
|
11
|
-
it('createHealthHandler returns 200 with JSON status for GET /health', () => {
|
|
12
|
-
return new Promise((resolve, reject) => {
|
|
13
|
-
const server = new MessengerServer({});
|
|
14
|
-
const handler = server.createHealthHandler();
|
|
15
|
-
const req = { method: 'GET', url: '/health' };
|
|
16
|
-
const res = {
|
|
17
|
-
statusCode: 0,
|
|
18
|
-
setHeader: () => { },
|
|
19
|
-
end(body) {
|
|
20
|
-
try {
|
|
21
|
-
expect(this.statusCode).toBe(200);
|
|
22
|
-
const data = JSON.parse(body);
|
|
23
|
-
expect(data).toHaveProperty('uptime');
|
|
24
|
-
expect(data.connections).toBe(0);
|
|
25
|
-
expect(data).toHaveProperty('memory');
|
|
26
|
-
expect(data).toHaveProperty('timestamp');
|
|
27
|
-
server.close();
|
|
28
|
-
resolve();
|
|
29
|
-
}
|
|
30
|
-
catch (e) {
|
|
31
|
-
server.close();
|
|
32
|
-
reject(e);
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
handler(req, res);
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
it('createHealthHandler returns 404 for POST /health', () => {
|
|
40
|
-
return new Promise((resolve, reject) => {
|
|
41
|
-
const server = new MessengerServer({});
|
|
42
|
-
const handler = server.createHealthHandler();
|
|
43
|
-
const req = { method: 'POST', url: '/health' };
|
|
44
|
-
const res = {
|
|
45
|
-
statusCode: 0,
|
|
46
|
-
end() {
|
|
47
|
-
try {
|
|
48
|
-
expect(this.statusCode).toBe(404);
|
|
49
|
-
server.close();
|
|
50
|
-
resolve();
|
|
51
|
-
}
|
|
52
|
-
catch (e) {
|
|
53
|
-
server.close();
|
|
54
|
-
reject(e);
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
handler(req, res);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
it('close() does not throw', () => {
|
|
62
|
-
const server = new MessengerServer({});
|
|
63
|
-
expect(() => server.close()).not.toThrow();
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
//# sourceMappingURL=server.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../src/messenger/server.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare class IdConverter {
|
|
2
|
-
/**
|
|
3
|
-
* 将 UUID 转换为稳定的数字 ID(用于 PlayCanvas 编辑器兼容性)。
|
|
4
|
-
*
|
|
5
|
-
* 规则:
|
|
6
|
-
* - 如果有 externalId 且是纯数字,优先使用 externalId
|
|
7
|
-
* - 否则对 uuid 的前 8 个 hex 做哈希取模,得到稳定数字
|
|
8
|
-
*/
|
|
9
|
-
static uuidToNumericId(uuid: string, externalId?: string | null): number;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=converters.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../src/models/converters.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;IACtB;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;CAiBzE"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export class IdConverter {
|
|
2
|
-
/**
|
|
3
|
-
* 将 UUID 转换为稳定的数字 ID(用于 PlayCanvas 编辑器兼容性)。
|
|
4
|
-
*
|
|
5
|
-
* 规则:
|
|
6
|
-
* - 如果有 externalId 且是纯数字,优先使用 externalId
|
|
7
|
-
* - 否则对 uuid 的前 8 个 hex 做哈希取模,得到稳定数字
|
|
8
|
-
*/
|
|
9
|
-
static uuidToNumericId(uuid, externalId) {
|
|
10
|
-
if (externalId && /^\d+$/.test(externalId)) {
|
|
11
|
-
return parseInt(externalId, 10);
|
|
12
|
-
}
|
|
13
|
-
const uuidStr = String(uuid);
|
|
14
|
-
// 如果传入的本身是短数字字符串,直接当作数字 ID 使用(兼容部分调用链)
|
|
15
|
-
if (!uuidStr.includes('-') && /^\d+$/.test(uuidStr) && uuidStr.length < 10) {
|
|
16
|
-
const parsed = parseInt(uuidStr, 10);
|
|
17
|
-
if (!isNaN(parsed) && parsed > 0)
|
|
18
|
-
return parsed;
|
|
19
|
-
}
|
|
20
|
-
const hash = uuidStr.replace(/-/g, '').substring(0, 8);
|
|
21
|
-
const numericId = parseInt(hash, 16) % 9999999;
|
|
22
|
-
return numericId > 0 ? numericId : 1000000;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=converters.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../../src/models/converters.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IACtB;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,IAAY,EAAE,UAA0B;QAC7D,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,OAAO,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7B,uCAAuC;QACvC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;gBAAE,OAAO,MAAM,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC;QAC/C,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7C,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"converters.test.d.ts","sourceRoot":"","sources":["../../src/models/converters.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { IdConverter } from './converters.js';
|
|
3
|
-
describe('IdConverter.uuidToNumericId', () => {
|
|
4
|
-
it('prefers numeric externalId', () => {
|
|
5
|
-
expect(IdConverter.uuidToNumericId('00000000-0000-0000-0000-000000000000', '123')).toBe(123);
|
|
6
|
-
});
|
|
7
|
-
it('returns stable numeric id for uuid', () => {
|
|
8
|
-
const id1 = IdConverter.uuidToNumericId('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
|
|
9
|
-
const id2 = IdConverter.uuidToNumericId('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
|
|
10
|
-
expect(id1).toBe(id2);
|
|
11
|
-
expect(typeof id1).toBe('number');
|
|
12
|
-
expect(id1).toBeGreaterThan(0);
|
|
13
|
-
});
|
|
14
|
-
it('accepts short numeric strings', () => {
|
|
15
|
-
expect(IdConverter.uuidToNumericId('999')).toBe(999);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
//# sourceMappingURL=converters.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"converters.test.js","sourceRoot":"","sources":["../../src/models/converters.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,eAAe,CAAC,sCAAsC,CAAC,CAAC;QAChF,MAAM,GAAG,GAAG,WAAW,CAAC,eAAe,CAAC,sCAAsC,CAAC,CAAC;QAChF,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scene.test.d.ts","sourceRoot":"","sources":["../../src/models/scene.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { SceneModel } from './scene.js';
|
|
3
|
-
describe('SceneModel.getDefaultData', () => {
|
|
4
|
-
it('creates minimal runnable scene data', () => {
|
|
5
|
-
const data = SceneModel.getDefaultData('1');
|
|
6
|
-
expect(data).toHaveProperty('settings');
|
|
7
|
-
expect(data).toHaveProperty('entities');
|
|
8
|
-
expect(data.entities).toHaveProperty('root');
|
|
9
|
-
expect(data.entities.root).toHaveProperty('components');
|
|
10
|
-
});
|
|
11
|
-
});
|
|
12
|
-
//# sourceMappingURL=scene.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scene.test.js","sourceRoot":"","sources":["../../src/models/scene.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.test.d.ts","sourceRoot":"","sources":["../../src/sharedb/server.test.ts"],"names":[],"mappings":""}
|