吸收数字员工周期调度闭环

This commit is contained in:
baiyanyun
2026-06-09 11:06:25 +08:00
parent f35d945d9c
commit 5ebc0a640b
18 changed files with 2083 additions and 145 deletions

View File

@@ -13,6 +13,9 @@ import {
readDigitalEmployeeRuntimeRecords,
readDigitalEmployeeState,
readDigitalEmployeeUiState,
readDigitalEmployeeCronSettings,
saveDigitalEmployeeCronSettings,
readDigitalEmployeeScheduleRuns,
saveDigitalEmployeeUiState,
type DigitalEmployeeManagedService,
type DigitalEmployeeGovernanceCommandRecord,
@@ -20,6 +23,10 @@ import {
type DigitalEmployeeSnapshot,
type DigitalEmployeeUiStateUpdate,
} from "../services/digitalEmployee/stateService";
import {
runDigitalEmployeeScheduleNow,
runDigitalEmployeeSchedulerCheck,
} from "../services/digitalEmployee/schedulerService";
import {
flushDigitalEmployeeSyncOutbox,
getDigitalEmployeeSyncStatus,
@@ -78,6 +85,26 @@ export function registerDigitalEmployeeHandlers(ctx: HandlerContext): void {
return flushDigitalEmployeeSyncOutbox({ force: true });
});
ipcMain.handle("digitalEmployee:getCronSettings", async () => {
return readDigitalEmployeeCronSettings();
});
ipcMain.handle("digitalEmployee:saveCronSettings", async (_, patch: Partial<ReturnType<typeof readDigitalEmployeeCronSettings>>) => {
return saveDigitalEmployeeCronSettings(patch);
});
ipcMain.handle("digitalEmployee:runSchedulerCheck", async () => {
return runDigitalEmployeeSchedulerCheck();
});
ipcMain.handle("digitalEmployee:runScheduleNow", async (_, scheduleId: string) => {
return runDigitalEmployeeScheduleNow(scheduleId);
});
ipcMain.handle("digitalEmployee:getScheduleRuns", async (_, scheduleId: string, limit?: number) => {
return readDigitalEmployeeScheduleRuns(scheduleId, limit ?? 20);
});
ipcMain.handle(
"digitalEmployee:recordGovernanceCommand",
async (_, command: DigitalEmployeeGovernanceCommandRecord) => {