推进 INI 面板 shell control-page contract helper

This commit is contained in:
2026-06-15 05:58:15 +08:00
parent f7de24d4a5
commit 41caecf116
8 changed files with 199 additions and 0 deletions

View File

@@ -11,6 +11,7 @@ control view:
import {
INI_PANEL_ENTRIES,
createIniPanelLauncherLinkViewModel,
createIniPanelShellControlPageContract,
createIniPanelShellViewModel,
getIniPanelEntryByHref,
getVisibleIniPanelEntries,
@@ -60,6 +61,13 @@ outer shell needs one stable read of `stateBundle`, `workflowStatus`,
Use `createMachineSessionReadonlyStatusApiManifest()` or
`controlPage.readonlyStatusApiManifest` when you only need the API shape and
method names.
Use `createIniPanelShellControlPageContract()` or `controlPage.contract` when
an outer shell needs a fast contract check for `createController`,
`loadSessionState`, `readStatus`, `refresh`, `renderView`, the readonly status
manifest, and its status fields before mounting the embedded panel. The
contract lists readonly status fields for `stateBundle`, `workflowStatus`,
`overview`, `controlView`, `report`, `runReadiness`, `run`, `session`, and
`status`.
The control-page refresh workflow lives in
`runtime/ui/ini-panel/control-page-refresh-workflow.js`. Use