吸收数字员工入口路由策略下发
This commit is contained in:
@@ -568,6 +568,55 @@ function checkDigitalRiskApprovalPolicy() {
|
||||
console.log("[DigitalEmployeeCheck] risk approval policy hooks OK");
|
||||
}
|
||||
|
||||
function checkDigitalRouteDecisionPolicy() {
|
||||
const adapterPath = path.join(packageRoot, "embedded", "sgrobot-digital", "src", "lib", "qimingclawAdapter.ts");
|
||||
const apiPath = path.join(packageRoot, "embedded", "sgrobot-digital", "src", "lib", "api.ts");
|
||||
const commandDeckPath = path.join(packageRoot, "embedded", "sgrobot-digital", "src", "pages", "digital", "CommandDeck.tsx");
|
||||
const typesPath = path.join(packageRoot, "embedded", "sgrobot-digital", "src", "types", "api.ts");
|
||||
const stateServicePath = path.join(packageRoot, "src", "main", "services", "digitalEmployee", "stateService.ts");
|
||||
const syncServicePath = path.join(packageRoot, "src", "main", "services", "digitalEmployee", "syncService.ts");
|
||||
const ipcHandlersPath = path.join(packageRoot, "src", "main", "ipc", "digitalEmployeeHandlers.ts");
|
||||
const preloadPath = path.join(packageRoot, "src", "preload", "webviewPerfBridge.ts");
|
||||
const adapter = fs.readFileSync(adapterPath, "utf8");
|
||||
const api = fs.readFileSync(apiPath, "utf8");
|
||||
const commandDeck = fs.readFileSync(commandDeckPath, "utf8");
|
||||
const types = fs.readFileSync(typesPath, "utf8");
|
||||
const stateService = fs.readFileSync(stateServicePath, "utf8");
|
||||
const syncService = fs.readFileSync(syncServicePath, "utf8");
|
||||
const ipcHandlers = fs.readFileSync(ipcHandlersPath, "utf8");
|
||||
const preload = fs.readFileSync(preloadPath, "utf8");
|
||||
const requiredSnippets = [
|
||||
[stateService, "routeDecisionPolicy", "route decision policy UI state"],
|
||||
[stateService, "normalizeRouteDecisionPolicy", "route decision policy normalizer"],
|
||||
[stateService, "evaluateDigitalEmployeeRouteDecisionPolicy", "route decision policy evaluator"],
|
||||
[stateService, "route_decision_blocked", "route decision blocked event kind"],
|
||||
[stateService, "route_decision_approval_required", "route decision approval-required event kind"],
|
||||
[syncService, "pullDigitalEmployeeRouteDecisionPolicy", "remote route decision policy pull service"],
|
||||
[syncService, "routeDecisionPolicyEndpoint", "remote route decision policy endpoint config"],
|
||||
[syncService, "/api/digital-employee/policies/route-decision", "remote route decision policy default path"],
|
||||
[syncService, "routeDecisionPolicyBusinessView", "route decision policy sync business view"],
|
||||
[ipcHandlers, "digitalEmployee:pullRouteDecisionPolicy", "IPC route decision policy pull handler"],
|
||||
[ipcHandlers, "digitalEmployee:evaluateRouteDecisionPolicy", "IPC route decision policy evaluation handler"],
|
||||
[preload, "pullRouteDecisionPolicy", "preload route decision policy pull bridge"],
|
||||
[preload, "evaluateRouteDecisionPolicy", "preload route decision policy evaluation bridge"],
|
||||
[adapter, "pullRouteDecisionPolicy", "adapter route decision policy pull bridge"],
|
||||
[adapter, "evaluateRouteDecisionPolicy", "adapter route decision policy evaluation bridge"],
|
||||
[adapter, "/api/route-decision/policy/pull", "adapter route decision policy pull endpoint"],
|
||||
[adapter, "auto_create_governance_commands", "adapter route command auto-create switch"],
|
||||
[api, "pullRouteDecisionPolicy", "embedded route decision policy pull API"],
|
||||
[types, "RouteDecisionPolicy", "embedded route decision policy type"],
|
||||
[commandDeck, "pull_route_decision_policy", "home route decision policy pull action"],
|
||||
[commandDeck, "路由策略", "home route decision policy pull button"],
|
||||
];
|
||||
const missing = requiredSnippets
|
||||
.filter(([content, snippet]) => !content.includes(snippet))
|
||||
.map(([, , label]) => label);
|
||||
if (missing.length > 0) {
|
||||
throw new Error(`Missing route decision policy hooks: ${missing.join(", ")}`);
|
||||
}
|
||||
console.log("[DigitalEmployeeCheck] route decision policy hooks OK");
|
||||
}
|
||||
|
||||
function checkLocalDatabaseSchema() {
|
||||
console.log("\n[DigitalEmployeeCheck] Verify local SQLite digital schema");
|
||||
const dbPath = path.join(os.homedir(), ".qimingclaw", "qimingclaw.db");
|
||||
@@ -617,6 +666,7 @@ function main() {
|
||||
checkDigitalPlanStepGraphDispatchPolicy();
|
||||
checkDigitalSkillRemotePolicy();
|
||||
checkDigitalRiskApprovalPolicy();
|
||||
checkDigitalRouteDecisionPolicy();
|
||||
checkLocalDatabaseSchema();
|
||||
console.log("\n[DigitalEmployeeCheck] All checks passed");
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user