feat: add system disclosure policy gate
Memind CI / Test, build, and release guards (pull_request) Successful in 3m14s

This commit is contained in:
john
2026-07-23 22:53:15 +08:00
parent ba6cc10f08
commit 205b5fd8be
20 changed files with 1585 additions and 2 deletions
+29
View File
@@ -32,6 +32,7 @@ function plazaRouteError(res, req, error) {
* @param {object|null} deps.llmProviderService
* @param {object|null} deps.memoryV2ConfigService
* @param {object|null} deps.skillRuntimeConfigService
* @param {object|null} deps.systemDisclosurePolicyService
* @param {object|null} deps.adminSystemTestService
* @param {object|null} deps.plazaPosts
* @param {object|null} deps.plazaOps
@@ -48,6 +49,7 @@ export function createAdminApi({
memoryV2ConfigService,
mindSearchConfigService,
skillRuntimeConfigService,
systemDisclosurePolicyService,
adminSystemTestService,
plazaPosts,
plazaOps,
@@ -234,6 +236,33 @@ export function createAdminApi({
adminApi.put('/skill-runtime/config', requireAdmin, updateSkillRuntimeConfig);
adminApi.patch('/skill-runtime/config', requireAdmin, updateSkillRuntimeConfig);
adminApi.get('/system-disclosure-policy/config', requireAdmin, async (_req, res) => {
if (!systemDisclosurePolicyService?.getAdminConfig) {
return res.status(503).json({ message: 'System Disclosure Policy 服务未启用' });
}
return res.json(await systemDisclosurePolicyService.getAdminConfig());
});
const updateSystemDisclosurePolicy = async (req, res) => {
if (!systemDisclosurePolicyService?.updateAdminConfig) {
return res.status(503).json({ message: 'System Disclosure Policy 服务未启用' });
}
const result = await systemDisclosurePolicyService.updateAdminConfig(req.body?.config ?? req.body ?? {}, {
updatedBy: req.currentUser.id,
});
return res.json(result);
};
adminApi.put('/system-disclosure-policy/config', requireAdmin, updateSystemDisclosurePolicy);
adminApi.patch('/system-disclosure-policy/config', requireAdmin, updateSystemDisclosurePolicy);
adminApi.get('/system-disclosure-policy/runtime', requireAdmin, async (_req, res) => {
if (!systemDisclosurePolicyService?.getRuntimeState) {
return res.status(503).json({ message: 'System Disclosure Policy 服务未启用' });
}
return res.json(systemDisclosurePolicyService.getRuntimeState());
});
adminApi.get('/skill-runtime/catalog', requireAdmin, async (_req, res) => {
if (!skillRuntimeConfigService?.listCatalogSummary) {
return res.status(503).json({ message: 'Skill Runtime 配置服务未启用' });