| 1234567891011121314151617181920212223242526272829303132 |
- 'use strict';
- const assert = require('assert/strict');
- const fs = require('fs');
- const path = require('path');
- const root = path.resolve(__dirname, '..');
- const app = fs.readFileSync(path.join(root, 'mcp/src/dashboard/app.js'), 'utf8');
- const server = fs.readFileSync(path.join(root, 'mcp/src/dashboard/server.js'), 'utf8');
- const service = fs.readFileSync(path.join(root, 'mcp/src/dashboard/workspace-library-service.js'), 'utf8');
- const packageBuilder = fs.readFileSync(path.join(root, 'scripts/build-training-package.mjs'), 'utf8');
- const css = fs.readFileSync(path.join(root, 'mcp/src/dashboard/styles.css'), 'utf8');
- const checks = [
- ['可写知识库根目录', /USER_LIBRARY_ID\s*=\s*'user-knowledge'/],
- ['中文分类和文件名校验', /assertSafeName\(/],
- ['系统知识库中文显示映射', /KNOWLEDGE_DISPLAY_NAMES[\s\S]*customer-service[\s\S]*客服知识[\s\S]*常见问题\.md/],
- ['目录注册文件随交付包复制', /knowledge-base[\\/].*catalog\.json|copyTree\(path\.join\(ROOT, 'knowledge-base'/],
- ['文件树刷新接口', /\/api\/knowledge\/tree/],
- ['新增分类入口', /data-knowledge-action="add-root-folder"/],
- ['上传文件入口', /data-knowledge-action="upload-file"/],
- ['二进制文件下载', /\/api\/knowledge\/download/],
- ['编辑和移动入口', /data-knowledge-action="edit-file"[\s\S]*data-knowledge-action="move-node"/],
- ['删除入口', /data-knowledge-action="delete-node"/],
- ['后端管理路由', /\/api\/knowledge\/manage\/folder[\s\S]*\/api\/knowledge\/manage\/file[\s\S]*\/api\/knowledge\/manage\/node/],
- ['递归删除实现', /function removeNodeTree/],
- ['移动分类实现', /function moveKnowledgeNode/],
- ['移动端知识库工具栏', /\.knowledge-toolbar/],
- ];
- for (const [label, pattern] of checks) assert.match(`${app}\n${server}\n${service}\n${css}\n${packageBuilder}`, pattern, label);
- console.log(JSON.stringify({ status: 'ok', checks: checks.map(([label]) => label) }, null, 2));
|