收口 INI 面板 persistence summary 发布门禁

This commit is contained in:
2026-06-16 09:00:29 +08:00
parent 65e95327b3
commit d3ee5d49ff
21 changed files with 1458 additions and 46 deletions

View File

@@ -376,6 +376,9 @@ TOOL_TABLE = browser-tool.tbl
!uiApi?.getMachineSessionStateReport ||
!uiApi?.getMachineSessionStateReportExport ||
!uiApi?.getMachineSessionWorkflowStatus ||
!uiApi?.getMachineSessionPersistenceSummary ||
!uiApi?.getMachineSessionPersistenceDisplayViewModel ||
!uiApi?.getMachineSessionPersistenceRenderState ||
!uiApi?.renderMachineSessionControlView
) {
throw new Error("INI panel API namespace did not expose state getters");
@@ -813,6 +816,44 @@ TOOL_TABLE = browser-tool.tbl
2,
"UI machine session workflow status canonical event count",
);
const machineSessionPersistenceSummary = uiApi.getMachineSessionPersistenceSummary();
assertEqual(
machineSessionPersistenceSummary.apiName,
"machine-session-persistence-summary",
"UI machine session persistence summary API name",
);
assertEqual(
machineSessionPersistenceSummary.ready,
true,
"UI machine session persistence summary readiness",
);
assertEqual(
machineSessionPersistenceSummary.rows.find((row) => row.id === "machine-files")?.value,
"ini, parameters, tool-table, g-code",
"UI machine session persistence summary machine files",
);
assertEqual(
machineSessionPersistenceSummary.rows.find((row) => row.id === "session-load")?.value,
"loaded: /work/session-machine.ini",
"UI machine session persistence summary session load",
);
const machineSessionPersistenceDisplay = uiApi.getMachineSessionPersistenceDisplayViewModel();
assertEqual(
machineSessionPersistenceDisplay.statusText,
"Ready",
"UI machine session persistence display status",
);
const machineSessionPersistenceRenderState = uiApi.getMachineSessionPersistenceRenderState();
assertEqual(
machineSessionPersistenceRenderState.statusLine,
"Ready: No missing persistence requirements",
"UI machine session persistence render-state status",
);
assertEqual(
machineSessionPersistenceRenderState.dataset.persistenceScope,
"opfs-session",
"UI machine session persistence render-state scope",
);
const machineSessionStateBundle = uiApi.getMachineSessionStateBundle();
assertEqual(
machineSessionStateBundle.report.status.lastAction,