吸收数字员工技能远端策略下发
This commit is contained in:
@@ -409,6 +409,55 @@ function checkDigitalPlanStepGraphDispatchPolicy() {
|
||||
console.log("[DigitalEmployeeCheck] PlanStep graph/dispatch policy hooks OK");
|
||||
}
|
||||
|
||||
function checkDigitalSkillRemotePolicy() {
|
||||
console.log("\n[DigitalEmployeeCheck] Verify skill remote policy hooks");
|
||||
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 skillLibraryPath = path.join(packageRoot, "embedded", "sgrobot-digital", "src", "pages", "digital", "SkillLibrary.tsx");
|
||||
const skillExecutionPolicyPath = path.join(packageRoot, "src", "main", "services", "digitalEmployee", "skillExecutionPolicy.ts");
|
||||
const skillCatalogPath = path.join(packageRoot, "src", "main", "services", "digitalEmployee", "skillCatalogService.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 skillLibrary = fs.readFileSync(skillLibraryPath, "utf8");
|
||||
const skillExecutionPolicy = fs.readFileSync(skillExecutionPolicyPath, "utf8");
|
||||
const skillCatalog = fs.readFileSync(skillCatalogPath, "utf8");
|
||||
const syncService = fs.readFileSync(syncServicePath, "utf8");
|
||||
const ipcHandlers = fs.readFileSync(ipcHandlersPath, "utf8");
|
||||
const preload = fs.readFileSync(preloadPath, "utf8");
|
||||
const requiredSnippets = [
|
||||
[skillExecutionPolicy, "local_skills", "local skill policy map"],
|
||||
[skillExecutionPolicy, "remote_skills", "remote skill policy map"],
|
||||
[skillExecutionPolicy, "last_pull_error", "skill policy pull error metadata"],
|
||||
[skillExecutionPolicy, "effectiveSkillPolicyFor", "effective skill policy merge helper"],
|
||||
[skillExecutionPolicy, "matched_remote_policy", "skill call remote policy audit snapshot"],
|
||||
[skillCatalog, "remote_policy", "skill catalog remote policy projection"],
|
||||
[skillCatalog, "local_policy", "skill catalog local policy projection"],
|
||||
[skillCatalog, "policy_source", "skill catalog policy source projection"],
|
||||
[syncService, "pullDigitalEmployeeSkillPolicies", "remote skill policy pull service"],
|
||||
[syncService, "skillPolicyEndpoint", "remote skill policy endpoint config"],
|
||||
[syncService, "/api/digital-employee/policies/skills", "remote skill policy default path"],
|
||||
[syncService, "readRemoteSkillPolicyPayload", "remote skill policy response parser"],
|
||||
[syncService, "recordSkillPolicyPullFailure", "remote skill policy pull failure recorder"],
|
||||
[ipcHandlers, "digitalEmployee:pullSkillPolicies", "IPC skill policy pull handler"],
|
||||
[preload, "pullSkillPolicies", "preload skill policy pull bridge"],
|
||||
[adapter, "pullSkillPolicies", "adapter skill policy pull bridge"],
|
||||
[adapter, "/api/skill/policies/pull", "adapter skill policy pull endpoint"],
|
||||
[api, "pullSkillPolicies", "embedded skill policy pull API"],
|
||||
[skillLibrary, "拉取策略", "skill library pull policy action"],
|
||||
[skillLibrary, "远端策略", "skill library remote policy marker"],
|
||||
];
|
||||
const missing = requiredSnippets
|
||||
.filter(([content, snippet]) => !content.includes(snippet))
|
||||
.map(([, , label]) => label);
|
||||
if (missing.length > 0) {
|
||||
throw new Error(`Missing skill remote policy hooks: ${missing.join(", ")}`);
|
||||
}
|
||||
console.log("[DigitalEmployeeCheck] skill remote policy hooks OK");
|
||||
}
|
||||
|
||||
function checkLocalDatabaseSchema() {
|
||||
console.log("\n[DigitalEmployeeCheck] Verify local SQLite digital schema");
|
||||
const dbPath = path.join(os.homedir(), ".qimingclaw", "qimingclaw.db");
|
||||
@@ -455,6 +504,7 @@ function main() {
|
||||
checkDigitalNotificationPreferences();
|
||||
checkDigitalApprovalHistorySubscriptions();
|
||||
checkDigitalPlanStepGraphDispatchPolicy();
|
||||
checkDigitalSkillRemotePolicy();
|
||||
checkLocalDatabaseSchema();
|
||||
console.log("\n[DigitalEmployeeCheck] All checks passed");
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user