Test conversation package route boundary

This commit is contained in:
john
2026-07-02 21:39:28 +08:00
parent 85936fff05
commit 0e00ed52cd
4 changed files with 164 additions and 22 deletions
+8 -21
View File
@@ -43,6 +43,7 @@ import { ensureMindSpaceConfig } from './mindspace-config.mjs';
import { createAssetService } from './mindspace-assets.mjs';
import { createPageService, pageInternals, inlinePrivateAssetsInHtml, normalizeWorkspaceRelativePath } from './mindspace-pages.mjs';
import { createConversationPackageRegistry } from './mindspace-conversation-package-registry.mjs';
import { createGetConversationPackageHandler } from './mindspace-conversation-package-routes.mjs';
import { createConversationPackageStore } from './mindspace-conversation-package-store.mjs';
import { createMindSpaceServiceFacade } from './mindspace-service.mjs';
import { createLocalMindSpaceStorageAdapter } from './mindspace-storage-adapter.mjs';
@@ -2487,27 +2488,13 @@ api.post('/internal/agent/jobs/:jobId/complete', async (req, res) => {
}
});
api.get('/mindspace/v1/conversation-packages/:sessionId', async (req, res) => {
if (!mindSpaceConversationPackageRegistry || !ensureMindSpaceEnabled(res, req)) {
if (res.headersSent) return;
return res.status(503).json({ message: 'MindSpace 对话包未启用' });
}
const sessionId = String(req.params.sessionId ?? '').trim();
if (!sessionId) return res.status(400).json({ message: '缺少 sessionId' });
if (!(await userAuth.ownsSession(req.currentUser.id, sessionId))) {
return res.status(403).json({ message: '无权访问该会话' });
}
try {
const manifest = await mindSpaceConversationPackageRegistry.readManifestForSession({
userId: req.currentUser.id,
sessionId,
});
if (!manifest) return res.status(404).json({ message: '对话包不存在' });
return sendData(res, req, manifest);
} catch (error) {
return mindSpaceError(res, req, error);
}
});
api.get('/mindspace/v1/conversation-packages/:sessionId', createGetConversationPackageHandler({
getRegistry: () => mindSpaceConversationPackageRegistry,
getUserAuth: () => userAuth,
ensureMindSpaceEnabled,
sendData,
mindSpaceError,
}));
api.post('/mindspace/v1/uploads', async (req, res) => {
if (!mindSpaceAssets || !ensureMindSpaceEnabled(res, req, { upload: true })) return;