新增 INI 面板 session readiness workflow report
This commit is contained in:
@@ -9,7 +9,7 @@ turn-by-turn continuation notes and next-batch execution records.
|
|||||||
## Current Status
|
## Current Status
|
||||||
|
|
||||||
- Active continuation file: `text14.txt`
|
- Active continuation file: `text14.txt`
|
||||||
- Latest completed batch: INI panel shell workflow session readiness display
|
- Latest completed batch: INI panel session readiness workflow report
|
||||||
- Latest relevant commit: use `git log -1 --oneline` after each committed batch
|
- Latest relevant commit: use `git log -1 --oneline` after each committed batch
|
||||||
- Working tree at tracker creation: clean
|
- Working tree at tracker creation: clean
|
||||||
- Required policy: LinuxCNC remains the only CNC semantic source
|
- Required policy: LinuxCNC remains the only CNC semantic source
|
||||||
@@ -44,7 +44,7 @@ The project is complete for the current scope when all of the following are true
|
|||||||
| Native sim configs baseline | Stable | Last recorded Layer 2: `total 159`, `pass 151`, `expected_fail 8`, `unexpected_fail 0`. |
|
| Native sim configs baseline | Stable | Last recorded Layer 2: `total 159`, `pass 151`, `expected_fail 8`, `unexpected_fail 0`. |
|
||||||
| OPFS/session persistence | Stable for current scope | Browser smoke passes, SDK re-exports OPFS/session helpers including `readMachineSessionReadiness()`, and `docs/opfs-session-persistence.md` defines the project-level release gate. |
|
| OPFS/session persistence | Stable for current scope | Browser smoke passes, SDK re-exports OPFS/session helpers including `readMachineSessionReadiness()`, and `docs/opfs-session-persistence.md` defines the project-level release gate. |
|
||||||
| SDK/API surface | Stable for current scope | SDK re-exports core, OPFS/session readiness/load helpers, sim-config staging, and INI panel shell/workflow overview helpers with a Node surface smoke. |
|
| SDK/API surface | Stable for current scope | SDK re-exports core, OPFS/session readiness/load helpers, sim-config staging, and INI panel shell/workflow overview helpers with a Node surface smoke. |
|
||||||
| Browser/UI workflow | Stable for current scope | Workflow overview embedding mount DOM closure is complete, and INI panel session workflows plus read-only control/shell handoff expose and render OPFS/session readiness before loading or reading WASM session state. |
|
| Browser/UI workflow | Stable for current scope | Workflow overview embedding mount DOM closure is complete, and INI panel session workflows plus read-only control/shell handoff expose, render, and report OPFS/session readiness before loading or reading WASM session state. |
|
||||||
| Workflow overview embedding | Stable for current scope | Report/display/render, DOM contract/readiness/renderer, mount result/display/render, mount DOM contract/readiness/renderer/wrapper exist. |
|
| Workflow overview embedding | Stable for current scope | Report/display/render, DOM contract/readiness/renderer, mount result/display/render, mount DOM contract/readiness/renderer/wrapper exist. |
|
||||||
| Host/runtime boundary proof | Stable blocked state | Host smoke passes; runtime families remain blocked and `docs/host-runtime-boundary-handoff.md` records host readiness, promotion blockers, dispatch, and evidence gates. |
|
| Host/runtime boundary proof | Stable blocked state | Host smoke passes; runtime families remain blocked and `docs/host-runtime-boundary-handoff.md` records host readiness, promotion blockers, dispatch, and evidence gates. |
|
||||||
| Documentation/release gate | Stable for current scope | `docs/project-release-handoff.md` links README, panel entry, SDK, OPFS/session, sim-config, host/runtime, source reuse, drift, and tracker acceptance paths. |
|
| Documentation/release gate | Stable for current scope | `docs/project-release-handoff.md` links README, panel entry, SDK, OPFS/session, sim-config, host/runtime, source reuse, drift, and tracker acceptance paths. |
|
||||||
|
|||||||
78
text14.txt
78
text14.txt
@@ -1908,3 +1908,81 @@ host_wasm_opfs_browser_smokes=ok
|
|||||||
继续以实质能力推进为主。下一批可为 `sessionReadiness` display row 增加独立 machine-readable
|
继续以实质能力推进为主。下一批可为 `sessionReadiness` display row 增加独立 machine-readable
|
||||||
workflow report/helper,或者把同一展示能力接入 workflow overview 页面自身;仍保持只读,不新增控制按钮,
|
workflow report/helper,或者把同一展示能力接入 workflow overview 页面自身;仍保持只读,不新增控制按钮,
|
||||||
不解析 G-code,不扩大 LinuxCNC 语义边界。
|
不解析 G-code,不扩大 LinuxCNC 语义边界。
|
||||||
|
|
||||||
|
二十四、2026-06-16 继续执行记录:INI panel session readiness workflow report
|
||||||
|
|
||||||
|
本轮继续以功能实质性推进为主,为上一批 `sessionReadiness` display row 增加独立 machine-readable
|
||||||
|
workflow report/helper,并暴露到 launch API 与 workflow overview 页面 API。外部 shell 现在可以直接读取
|
||||||
|
session readiness phase、missing reasons 和稳定 rows,不需要解析 display row 文本。
|
||||||
|
|
||||||
|
完成内容:
|
||||||
|
|
||||||
|
- `wasm-port/runtime/ui/ini-panel/ui-shell.js` 新增
|
||||||
|
`createIniPanelShellSessionReadinessWorkflowReport()`;
|
||||||
|
- report 返回:
|
||||||
|
- `apiName`;
|
||||||
|
- `reportVersion`;
|
||||||
|
- `phase`;
|
||||||
|
- `ready`;
|
||||||
|
- `statusLine`;
|
||||||
|
- `sessionReadiness`;
|
||||||
|
- `missing`;
|
||||||
|
- `rows`;
|
||||||
|
- report 支持从 `workflowSummary.sessionReadiness` 或
|
||||||
|
`readonlyStatusResult.readonlyStatus.sessionReadiness` 抽取 ready/blocked 状态;
|
||||||
|
- `createIniPanelShellViewModel()` 暴露:
|
||||||
|
- `shellSessionReadinessWorkflowReport`;
|
||||||
|
- `createShellSessionReadinessWorkflowReport`;
|
||||||
|
- `createIniPanelLaunchApiManifest().methods` 新增
|
||||||
|
`getShellSessionReadinessWorkflowReport`;
|
||||||
|
- `runtime/ui/ini-panel/launch.html` 暴露
|
||||||
|
`linuxCncIniPanelLaunchApi.getShellSessionReadinessWorkflowReport()`;
|
||||||
|
- `createIniPanelShellWorkflowOverviewContract().methodNames` 新增
|
||||||
|
`getWorkflowOverviewSessionReadinessReport`;
|
||||||
|
- `runtime/ui/ini-panel/workflow-overview.html` 暴露
|
||||||
|
`linuxCncIniPanelWorkflowOverviewApi.getWorkflowOverviewSessionReadinessReport()`;
|
||||||
|
- `docs/panel-entry.md` 记录新 helper 与两个 browser API 入口;
|
||||||
|
- Node 测试覆盖 ui-shell helper、launch manifest、shell integration manifest 和 docs drift;
|
||||||
|
- Browser smoke 覆盖 launch API、workflow overview iframe API、shell integration workflow API;
|
||||||
|
- 未新增控制按钮;
|
||||||
|
- 未执行 action-plan;
|
||||||
|
- 未解析 G-code;
|
||||||
|
- 未解释 canonical events;
|
||||||
|
- 未新增 JS CNC 语义;
|
||||||
|
- 未运行 opt-in runtime probes;
|
||||||
|
- 未 promotion blocked runtime family;
|
||||||
|
- 未改变 LinuxCNC interpreter、tool、parameter、planner、kinematics、remap 或 LinuxCNC-owned
|
||||||
|
runtime semantics。
|
||||||
|
|
||||||
|
验证已通过:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git diff --check
|
||||||
|
wasm-port/tools/verify_vendor_sync.sh
|
||||||
|
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||||||
|
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||||||
|
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||||||
|
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
|
||||||
|
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
|
||||||
|
wasm-port/tests/host/verify_host_smokes.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
关键输出:
|
||||||
|
|
||||||
|
```text
|
||||||
|
ui_node_smokes=ok
|
||||||
|
browser_ini_launch_smoke=ok
|
||||||
|
browser_ini_workflow_overview_smoke=ok
|
||||||
|
browser_ini_shell_integration_workflow_smoke=ok
|
||||||
|
vendor sync up to date
|
||||||
|
standalone CNC semantics guard complete
|
||||||
|
interp_wasm_node_smoke=ok
|
||||||
|
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||||||
|
host_wasm_opfs_browser_smokes=ok
|
||||||
|
```
|
||||||
|
|
||||||
|
下一步工作计划:
|
||||||
|
|
||||||
|
继续以实质能力推进为主。下一批可把 session readiness workflow report 纳入 SDK surface 或 release
|
||||||
|
handoff docs 的 API surface 表,方便外部调用者从 SDK/文档直接发现;仍保持只读,不新增控制按钮,
|
||||||
|
不解析 G-code,不扩大 LinuxCNC 语义边界。
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import {
|
|||||||
mountIniPanelShellSessionHandoff,
|
mountIniPanelShellSessionHandoff,
|
||||||
mountIniPanelShellSessionHandoffFromControlPage,
|
mountIniPanelShellSessionHandoffFromControlPage,
|
||||||
createIniPanelShellSessionHandoffWorkflowSummary,
|
createIniPanelShellSessionHandoffWorkflowSummary,
|
||||||
|
createIniPanelShellSessionReadinessWorkflowReport,
|
||||||
createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
|
createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
|
||||||
createIniPanelShellSessionHandoffWorkflowRenderState,
|
createIniPanelShellSessionHandoffWorkflowRenderState,
|
||||||
createIniPanelShellSessionHandoffWorkflowDomContract,
|
createIniPanelShellSessionHandoffWorkflowDomContract,
|
||||||
@@ -295,6 +296,13 @@ the expected handoff status fields as a structured ready/blocked result. Use
|
|||||||
outer shell needs one stable end-to-end summary that combines mount workflow,
|
outer shell needs one stable end-to-end summary that combines mount workflow,
|
||||||
control-page mount workflow, readonly status result, machine-session
|
control-page mount workflow, readonly status result, machine-session
|
||||||
ready/blocked state, and current blocking reasons into display rows. Use
|
ready/blocked state, and current blocking reasons into display rows. Use
|
||||||
|
`createIniPanelShellSessionReadinessWorkflowReport()` or
|
||||||
|
`linuxCncIniPanelLaunchApi.getShellSessionReadinessWorkflowReport()` when an
|
||||||
|
outer shell needs a machine-readable report for just the session readiness
|
||||||
|
phase, missing reasons, and stable rows. The workflow overview page exposes
|
||||||
|
the same report through
|
||||||
|
`linuxCncIniPanelWorkflowOverviewApi.getWorkflowOverviewSessionReadinessReport()`.
|
||||||
|
Use
|
||||||
`createIniPanelShellSessionHandoffWorkflowDisplayViewModel()` or
|
`createIniPanelShellSessionHandoffWorkflowDisplayViewModel()` or
|
||||||
`linuxCncIniPanelLaunchApi.getShellSessionHandoffWorkflowDisplayViewModel()`
|
`linuxCncIniPanelLaunchApi.getShellSessionHandoffWorkflowDisplayViewModel()`
|
||||||
when an outer shell needs that end-to-end summary compressed into stable
|
when an outer shell needs that end-to-end summary compressed into stable
|
||||||
|
|||||||
@@ -117,6 +117,7 @@
|
|||||||
mountIniPanelShellSessionHandoffFromControlPage,
|
mountIniPanelShellSessionHandoffFromControlPage,
|
||||||
readIniPanelShellSessionHandoffStatusFromControlPage,
|
readIniPanelShellSessionHandoffStatusFromControlPage,
|
||||||
createIniPanelShellSessionHandoffWorkflowSummary,
|
createIniPanelShellSessionHandoffWorkflowSummary,
|
||||||
|
createIniPanelShellSessionReadinessWorkflowReport,
|
||||||
createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
|
createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
|
||||||
createIniPanelShellSessionHandoffWorkflowRenderState,
|
createIniPanelShellSessionHandoffWorkflowRenderState,
|
||||||
createIniPanelShellSessionHandoffWorkflowDomContract,
|
createIniPanelShellSessionHandoffWorkflowDomContract,
|
||||||
@@ -245,6 +246,11 @@
|
|||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
),
|
),
|
||||||
|
getShellSessionReadinessWorkflowReport: (options) => (
|
||||||
|
createIniPanelShellSessionReadinessWorkflowReport(options ?? {
|
||||||
|
workflowSummary: shellViewModel.shellSessionHandoffWorkflowSummary,
|
||||||
|
})
|
||||||
|
),
|
||||||
getShellSessionHandoffWorkflowDisplayViewModel: (options) => (
|
getShellSessionHandoffWorkflowDisplayViewModel: (options) => (
|
||||||
createIniPanelShellSessionHandoffWorkflowDisplayViewModel(
|
createIniPanelShellSessionHandoffWorkflowDisplayViewModel(
|
||||||
options ?? shellViewModel.shellSessionHandoffWorkflowSummary,
|
options ?? shellViewModel.shellSessionHandoffWorkflowSummary,
|
||||||
|
|||||||
@@ -160,6 +160,7 @@ export function createIniPanelLaunchApiManifest(entries = getVisibleIniPanelEntr
|
|||||||
"mountShellSessionHandoffFromControlPage",
|
"mountShellSessionHandoffFromControlPage",
|
||||||
"readShellSessionHandoffStatusFromControlPage",
|
"readShellSessionHandoffStatusFromControlPage",
|
||||||
"getShellSessionHandoffWorkflowSummary",
|
"getShellSessionHandoffWorkflowSummary",
|
||||||
|
"getShellSessionReadinessWorkflowReport",
|
||||||
"getShellSessionHandoffWorkflowDisplayViewModel",
|
"getShellSessionHandoffWorkflowDisplayViewModel",
|
||||||
"getShellSessionHandoffWorkflowRenderState",
|
"getShellSessionHandoffWorkflowRenderState",
|
||||||
"getShellSessionHandoffWorkflowDomContract",
|
"getShellSessionHandoffWorkflowDomContract",
|
||||||
@@ -1548,6 +1549,60 @@ export function createIniPanelShellSessionHandoffWorkflowDisplayViewModel(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function createIniPanelShellSessionReadinessWorkflowReport({
|
||||||
|
workflowSummary = null,
|
||||||
|
readonlyStatusResult = null,
|
||||||
|
} = {}) {
|
||||||
|
const sessionReadiness = workflowSummary?.sessionReadiness
|
||||||
|
?? readonlyStatusResult?.readonlyStatus?.sessionReadiness
|
||||||
|
?? null;
|
||||||
|
const missing = Array.isArray(sessionReadiness?.missing)
|
||||||
|
? [...sessionReadiness.missing]
|
||||||
|
: [];
|
||||||
|
const ready = sessionReadiness?.ready === true;
|
||||||
|
const phase = sessionReadiness ? (ready ? "ready" : "blocked") : "blocked";
|
||||||
|
const statusLine = sessionReadiness
|
||||||
|
? (
|
||||||
|
ready
|
||||||
|
? "Ready: session readiness available"
|
||||||
|
: `Blocked: ${missing.length > 0 ? missing.join(", ") : "session readiness blocked"}`
|
||||||
|
)
|
||||||
|
: "Blocked: session readiness unavailable";
|
||||||
|
|
||||||
|
return {
|
||||||
|
apiName: "ini-panel-shell-session-readiness-workflow-report",
|
||||||
|
reportVersion: 1,
|
||||||
|
phase,
|
||||||
|
ready,
|
||||||
|
statusLine,
|
||||||
|
sessionReadiness: sessionReadiness
|
||||||
|
? {
|
||||||
|
phase: sessionReadiness.phase ?? phase,
|
||||||
|
ready,
|
||||||
|
missing,
|
||||||
|
}
|
||||||
|
: null,
|
||||||
|
missing,
|
||||||
|
rows: [
|
||||||
|
{
|
||||||
|
id: "session-readiness",
|
||||||
|
label: "Session readiness",
|
||||||
|
value: sessionReadiness ? (ready ? "ready" : "blocked") : "missing",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "session-readiness-phase",
|
||||||
|
label: "Session readiness phase",
|
||||||
|
value: sessionReadiness?.phase ?? "missing",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "session-readiness-missing",
|
||||||
|
label: "Session readiness missing",
|
||||||
|
value: missing.length > 0 ? missing.join(", ") : "none",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
export function createIniPanelShellSessionHandoffWorkflowRenderState(
|
export function createIniPanelShellSessionHandoffWorkflowRenderState(
|
||||||
displayViewModel = createIniPanelShellSessionHandoffWorkflowDisplayViewModel(),
|
displayViewModel = createIniPanelShellSessionHandoffWorkflowDisplayViewModel(),
|
||||||
) {
|
) {
|
||||||
@@ -1615,6 +1670,7 @@ export function createIniPanelShellWorkflowOverviewContract() {
|
|||||||
"getWorkflowOverviewRenderState",
|
"getWorkflowOverviewRenderState",
|
||||||
"getWorkflowOverviewDisplayViewModel",
|
"getWorkflowOverviewDisplayViewModel",
|
||||||
"getWorkflowOverviewSummary",
|
"getWorkflowOverviewSummary",
|
||||||
|
"getWorkflowOverviewSessionReadinessReport",
|
||||||
"getWorkflowOverviewDomContract",
|
"getWorkflowOverviewDomContract",
|
||||||
"getWorkflowOverviewDomReadiness",
|
"getWorkflowOverviewDomReadiness",
|
||||||
"renderWorkflowOverview",
|
"renderWorkflowOverview",
|
||||||
@@ -2521,6 +2577,9 @@ export function createIniPanelShellViewModel(entries = getVisibleIniPanelEntries
|
|||||||
handoffSummary: shellSessionHandoffSummary,
|
handoffSummary: shellSessionHandoffSummary,
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
const shellSessionReadinessWorkflowReport = createIniPanelShellSessionReadinessWorkflowReport({
|
||||||
|
workflowSummary: shellSessionHandoffWorkflowSummary,
|
||||||
|
});
|
||||||
const shellSessionHandoffWorkflowDisplayViewModel = createIniPanelShellSessionHandoffWorkflowDisplayViewModel(
|
const shellSessionHandoffWorkflowDisplayViewModel = createIniPanelShellSessionHandoffWorkflowDisplayViewModel(
|
||||||
shellSessionHandoffWorkflowSummary,
|
shellSessionHandoffWorkflowSummary,
|
||||||
);
|
);
|
||||||
@@ -2558,6 +2617,7 @@ export function createIniPanelShellViewModel(entries = getVisibleIniPanelEntries
|
|||||||
shellSessionHandoffPackageMountRenderState,
|
shellSessionHandoffPackageMountRenderState,
|
||||||
shellSessionHandoffMountDomContract,
|
shellSessionHandoffMountDomContract,
|
||||||
shellSessionHandoffWorkflowSummary,
|
shellSessionHandoffWorkflowSummary,
|
||||||
|
shellSessionReadinessWorkflowReport,
|
||||||
shellSessionHandoffWorkflowDisplayViewModel,
|
shellSessionHandoffWorkflowDisplayViewModel,
|
||||||
shellSessionHandoffWorkflowRenderState,
|
shellSessionHandoffWorkflowRenderState,
|
||||||
shellSessionHandoffWorkflowDomContract,
|
shellSessionHandoffWorkflowDomContract,
|
||||||
@@ -2591,6 +2651,7 @@ export function createIniPanelShellViewModel(entries = getVisibleIniPanelEntries
|
|||||||
mountShellSessionHandoffFromControlPage: mountIniPanelShellSessionHandoffFromControlPage,
|
mountShellSessionHandoffFromControlPage: mountIniPanelShellSessionHandoffFromControlPage,
|
||||||
readShellSessionHandoffStatusFromControlPage: readIniPanelShellSessionHandoffStatusFromControlPage,
|
readShellSessionHandoffStatusFromControlPage: readIniPanelShellSessionHandoffStatusFromControlPage,
|
||||||
createShellSessionHandoffWorkflowSummary: createIniPanelShellSessionHandoffWorkflowSummary,
|
createShellSessionHandoffWorkflowSummary: createIniPanelShellSessionHandoffWorkflowSummary,
|
||||||
|
createShellSessionReadinessWorkflowReport: createIniPanelShellSessionReadinessWorkflowReport,
|
||||||
createShellSessionHandoffWorkflowDisplayViewModel: createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
|
createShellSessionHandoffWorkflowDisplayViewModel: createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
|
||||||
createShellSessionHandoffWorkflowRenderState: createIniPanelShellSessionHandoffWorkflowRenderState,
|
createShellSessionHandoffWorkflowRenderState: createIniPanelShellSessionHandoffWorkflowRenderState,
|
||||||
createShellSessionHandoffWorkflowDomContract: createIniPanelShellSessionHandoffWorkflowDomContract,
|
createShellSessionHandoffWorkflowDomContract: createIniPanelShellSessionHandoffWorkflowDomContract,
|
||||||
|
|||||||
@@ -87,6 +87,7 @@
|
|||||||
createIniPanelShellSessionHandoffWorkflowDomContract,
|
createIniPanelShellSessionHandoffWorkflowDomContract,
|
||||||
createIniPanelShellSessionHandoffWorkflowDomReadiness,
|
createIniPanelShellSessionHandoffWorkflowDomReadiness,
|
||||||
createIniPanelShellSessionHandoffWorkflowRenderState,
|
createIniPanelShellSessionHandoffWorkflowRenderState,
|
||||||
|
createIniPanelShellSessionReadinessWorkflowReport,
|
||||||
createIniPanelShellWorkflowOverviewContract,
|
createIniPanelShellWorkflowOverviewContract,
|
||||||
createIniPanelShellWorkflowOverviewReadiness,
|
createIniPanelShellWorkflowOverviewReadiness,
|
||||||
createIniPanelShellWorkflowOverviewEmbeddingReport,
|
createIniPanelShellWorkflowOverviewEmbeddingReport,
|
||||||
@@ -115,6 +116,11 @@
|
|||||||
getWorkflowOverviewRenderState: () => shellViewModel.shellSessionHandoffWorkflowRenderState,
|
getWorkflowOverviewRenderState: () => shellViewModel.shellSessionHandoffWorkflowRenderState,
|
||||||
getWorkflowOverviewDisplayViewModel: () => shellViewModel.shellSessionHandoffWorkflowDisplayViewModel,
|
getWorkflowOverviewDisplayViewModel: () => shellViewModel.shellSessionHandoffWorkflowDisplayViewModel,
|
||||||
getWorkflowOverviewSummary: () => shellViewModel.shellSessionHandoffWorkflowSummary,
|
getWorkflowOverviewSummary: () => shellViewModel.shellSessionHandoffWorkflowSummary,
|
||||||
|
getWorkflowOverviewSessionReadinessReport: (options) => (
|
||||||
|
createIniPanelShellSessionReadinessWorkflowReport(options ?? {
|
||||||
|
workflowSummary: shellViewModel.shellSessionHandoffWorkflowSummary,
|
||||||
|
})
|
||||||
|
),
|
||||||
getWorkflowOverviewDomContract: (options) => (
|
getWorkflowOverviewDomContract: (options) => (
|
||||||
createIniPanelShellSessionHandoffWorkflowDomContract(options)
|
createIniPanelShellSessionHandoffWorkflowDomContract(options)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -99,6 +99,7 @@
|
|||||||
!launchApi?.getShellSessionHandoffPackageMountState ||
|
!launchApi?.getShellSessionHandoffPackageMountState ||
|
||||||
!launchApi?.getShellSessionHandoffPackageMountDisplayViewModel ||
|
!launchApi?.getShellSessionHandoffPackageMountDisplayViewModel ||
|
||||||
!launchApi?.getShellSessionHandoffPackageMountRenderState ||
|
!launchApi?.getShellSessionHandoffPackageMountRenderState ||
|
||||||
|
!launchApi?.getShellSessionReadinessWorkflowReport ||
|
||||||
!launchApi?.renderShellSessionHandoffMountState ||
|
!launchApi?.renderShellSessionHandoffMountState ||
|
||||||
!launchApi?.getWorkflowOverviewContract ||
|
!launchApi?.getWorkflowOverviewContract ||
|
||||||
!launchApi?.getWorkflowOverviewReadiness ||
|
!launchApi?.getWorkflowOverviewReadiness ||
|
||||||
@@ -178,6 +179,7 @@
|
|||||||
const shellSessionHandoffPackageMountState = launchApi.getShellSessionHandoffPackageMountState();
|
const shellSessionHandoffPackageMountState = launchApi.getShellSessionHandoffPackageMountState();
|
||||||
const shellSessionHandoffPackageMountDisplayViewModel = launchApi.getShellSessionHandoffPackageMountDisplayViewModel();
|
const shellSessionHandoffPackageMountDisplayViewModel = launchApi.getShellSessionHandoffPackageMountDisplayViewModel();
|
||||||
const shellSessionHandoffPackageMountRenderState = launchApi.getShellSessionHandoffPackageMountRenderState();
|
const shellSessionHandoffPackageMountRenderState = launchApi.getShellSessionHandoffPackageMountRenderState();
|
||||||
|
const shellSessionReadinessWorkflowReport = launchApi.getShellSessionReadinessWorkflowReport();
|
||||||
const workflowOverviewContract = launchApi.getWorkflowOverviewContract();
|
const workflowOverviewContract = launchApi.getWorkflowOverviewContract();
|
||||||
assertEqual(
|
assertEqual(
|
||||||
shellIntegrationSchema.manifestVersion,
|
shellIntegrationSchema.manifestVersion,
|
||||||
@@ -424,6 +426,16 @@
|
|||||||
"Blocked: session-load-state",
|
"Blocked: session-load-state",
|
||||||
"shell session handoff package mount render-state status",
|
"shell session handoff package mount render-state status",
|
||||||
);
|
);
|
||||||
|
assertEqual(
|
||||||
|
shellSessionReadinessWorkflowReport.apiName,
|
||||||
|
"ini-panel-shell-session-readiness-workflow-report",
|
||||||
|
"shell session readiness workflow report API",
|
||||||
|
);
|
||||||
|
assertEqual(
|
||||||
|
shellSessionReadinessWorkflowReport.rows.length,
|
||||||
|
3,
|
||||||
|
"shell session readiness workflow report rows",
|
||||||
|
);
|
||||||
assertEqual(
|
assertEqual(
|
||||||
workflowOverviewContract.pageHref,
|
workflowOverviewContract.pageHref,
|
||||||
"./workflow-overview.html",
|
"./workflow-overview.html",
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ TOOL_TABLE = browser-shell-tool.tbl
|
|||||||
!launchApi?.mountShellSessionHandoffFromControlPage ||
|
!launchApi?.mountShellSessionHandoffFromControlPage ||
|
||||||
!launchApi?.readShellSessionHandoffStatusFromControlPage ||
|
!launchApi?.readShellSessionHandoffStatusFromControlPage ||
|
||||||
!launchApi?.getShellSessionHandoffWorkflowSummary ||
|
!launchApi?.getShellSessionHandoffWorkflowSummary ||
|
||||||
|
!launchApi?.getShellSessionReadinessWorkflowReport ||
|
||||||
!launchApi?.getShellSessionHandoffWorkflowDisplayViewModel ||
|
!launchApi?.getShellSessionHandoffWorkflowDisplayViewModel ||
|
||||||
!launchApi?.getShellSessionHandoffWorkflowRenderState ||
|
!launchApi?.getShellSessionHandoffWorkflowRenderState ||
|
||||||
!launchApi?.getShellSessionHandoffWorkflowDomContract ||
|
!launchApi?.getShellSessionHandoffWorkflowDomContract ||
|
||||||
@@ -511,6 +512,9 @@ TOOL_TABLE = browser-shell-tool.tbl
|
|||||||
controlPageMountWorkflow: readyControlPageMountWorkflow,
|
controlPageMountWorkflow: readyControlPageMountWorkflow,
|
||||||
readonlyStatusResult,
|
readonlyStatusResult,
|
||||||
});
|
});
|
||||||
|
const sessionReadinessWorkflowReport = launchApi.getShellSessionReadinessWorkflowReport({
|
||||||
|
workflowSummary: workflowSummaryResult,
|
||||||
|
});
|
||||||
const workflowDisplayResult = launchApi.getShellSessionHandoffWorkflowDisplayViewModel(
|
const workflowDisplayResult = launchApi.getShellSessionHandoffWorkflowDisplayViewModel(
|
||||||
workflowSummaryResult,
|
workflowSummaryResult,
|
||||||
);
|
);
|
||||||
@@ -548,6 +552,16 @@ TOOL_TABLE = browser-shell-tool.tbl
|
|||||||
);
|
);
|
||||||
assertEqual(workflowSummaryResult.phase, "ready", "shell handoff workflow summary phase");
|
assertEqual(workflowSummaryResult.phase, "ready", "shell handoff workflow summary phase");
|
||||||
assertEqual(workflowSummaryResult.ready, true, "shell handoff workflow summary readiness");
|
assertEqual(workflowSummaryResult.ready, true, "shell handoff workflow summary readiness");
|
||||||
|
assertEqual(
|
||||||
|
sessionReadinessWorkflowReport.ready,
|
||||||
|
true,
|
||||||
|
"shell handoff session readiness workflow report",
|
||||||
|
);
|
||||||
|
assertEqual(
|
||||||
|
sessionReadinessWorkflowReport.rows.length,
|
||||||
|
3,
|
||||||
|
"shell handoff session readiness workflow report rows",
|
||||||
|
);
|
||||||
assertEqual(
|
assertEqual(
|
||||||
workflowSummaryResult.sessionReadiness.ready,
|
workflowSummaryResult.sessionReadiness.ready,
|
||||||
true,
|
true,
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
!workflowApi?.getWorkflowOverviewRenderState ||
|
!workflowApi?.getWorkflowOverviewRenderState ||
|
||||||
!workflowApi?.getWorkflowOverviewDisplayViewModel ||
|
!workflowApi?.getWorkflowOverviewDisplayViewModel ||
|
||||||
!workflowApi?.getWorkflowOverviewSummary ||
|
!workflowApi?.getWorkflowOverviewSummary ||
|
||||||
|
!workflowApi?.getWorkflowOverviewSessionReadinessReport ||
|
||||||
!workflowApi?.getWorkflowOverviewDomContract ||
|
!workflowApi?.getWorkflowOverviewDomContract ||
|
||||||
!workflowApi?.getWorkflowOverviewDomReadiness ||
|
!workflowApi?.getWorkflowOverviewDomReadiness ||
|
||||||
!workflowApi?.renderWorkflowOverview ||
|
!workflowApi?.renderWorkflowOverview ||
|
||||||
@@ -56,6 +57,7 @@
|
|||||||
const renderState = workflowApi.getWorkflowOverviewRenderState();
|
const renderState = workflowApi.getWorkflowOverviewRenderState();
|
||||||
const displayViewModel = workflowApi.getWorkflowOverviewDisplayViewModel();
|
const displayViewModel = workflowApi.getWorkflowOverviewDisplayViewModel();
|
||||||
const summary = workflowApi.getWorkflowOverviewSummary();
|
const summary = workflowApi.getWorkflowOverviewSummary();
|
||||||
|
const sessionReadinessReport = workflowApi.getWorkflowOverviewSessionReadinessReport();
|
||||||
const domContract = workflowApi.getWorkflowOverviewDomContract();
|
const domContract = workflowApi.getWorkflowOverviewDomContract();
|
||||||
const domReadiness = workflowApi.getWorkflowOverviewDomReadiness();
|
const domReadiness = workflowApi.getWorkflowOverviewDomReadiness();
|
||||||
const renderResult = workflowApi.renderWorkflowOverview();
|
const renderResult = workflowApi.renderWorkflowOverview();
|
||||||
@@ -78,6 +80,12 @@
|
|||||||
const embeddingDomReadiness = workflowApi.getWorkflowOverviewEmbeddingDomReadiness();
|
const embeddingDomReadiness = workflowApi.getWorkflowOverviewEmbeddingDomReadiness();
|
||||||
|
|
||||||
assertEqual(summary.summaryVersion, 1, "workflow overview summary version");
|
assertEqual(summary.summaryVersion, 1, "workflow overview summary version");
|
||||||
|
assertEqual(
|
||||||
|
sessionReadinessReport.apiName,
|
||||||
|
"ini-panel-shell-session-readiness-workflow-report",
|
||||||
|
"workflow overview session readiness report API name",
|
||||||
|
);
|
||||||
|
assertEqual(sessionReadinessReport.rows.length, 3, "workflow overview session readiness report rows");
|
||||||
assertEqual(displayViewModel.title, "Shell handoff workflow", "workflow overview display title");
|
assertEqual(displayViewModel.title, "Shell handoff workflow", "workflow overview display title");
|
||||||
assertEqual(renderState.renderStateVersion, 1, "workflow overview render-state version");
|
assertEqual(renderState.renderStateVersion, 1, "workflow overview render-state version");
|
||||||
assertEqual(renderState.dataset.handoffScope, "workflow", "workflow overview render-state scope");
|
assertEqual(renderState.dataset.handoffScope, "workflow", "workflow overview render-state scope");
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ assert.deepEqual(manifest, {
|
|||||||
"mountShellSessionHandoffFromControlPage",
|
"mountShellSessionHandoffFromControlPage",
|
||||||
"readShellSessionHandoffStatusFromControlPage",
|
"readShellSessionHandoffStatusFromControlPage",
|
||||||
"getShellSessionHandoffWorkflowSummary",
|
"getShellSessionHandoffWorkflowSummary",
|
||||||
|
"getShellSessionReadinessWorkflowReport",
|
||||||
"getShellSessionHandoffWorkflowDisplayViewModel",
|
"getShellSessionHandoffWorkflowDisplayViewModel",
|
||||||
"getShellSessionHandoffWorkflowRenderState",
|
"getShellSessionHandoffWorkflowRenderState",
|
||||||
"getShellSessionHandoffWorkflowDomContract",
|
"getShellSessionHandoffWorkflowDomContract",
|
||||||
@@ -226,6 +227,7 @@ assert.match(launchText, /\bmountShellSessionHandoff\b/);
|
|||||||
assert.match(launchText, /\bmountShellSessionHandoffFromControlPage\b/);
|
assert.match(launchText, /\bmountShellSessionHandoffFromControlPage\b/);
|
||||||
assert.match(launchText, /\breadShellSessionHandoffStatusFromControlPage\b/);
|
assert.match(launchText, /\breadShellSessionHandoffStatusFromControlPage\b/);
|
||||||
assert.match(launchText, /\bgetShellSessionHandoffWorkflowSummary\b/);
|
assert.match(launchText, /\bgetShellSessionHandoffWorkflowSummary\b/);
|
||||||
|
assert.match(launchText, /\bgetShellSessionReadinessWorkflowReport\b/);
|
||||||
assert.match(launchText, /\bgetShellSessionHandoffWorkflowDisplayViewModel\b/);
|
assert.match(launchText, /\bgetShellSessionHandoffWorkflowDisplayViewModel\b/);
|
||||||
assert.match(launchText, /\bgetShellSessionHandoffWorkflowRenderState\b/);
|
assert.match(launchText, /\bgetShellSessionHandoffWorkflowRenderState\b/);
|
||||||
assert.match(launchText, /\bgetShellSessionHandoffWorkflowDomContract\b/);
|
assert.match(launchText, /\bgetShellSessionHandoffWorkflowDomContract\b/);
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import {
|
|||||||
mountIniPanelShellSessionHandoffFromControlPage,
|
mountIniPanelShellSessionHandoffFromControlPage,
|
||||||
readIniPanelShellSessionHandoffStatusFromControlPage,
|
readIniPanelShellSessionHandoffStatusFromControlPage,
|
||||||
createIniPanelShellSessionHandoffWorkflowSummary,
|
createIniPanelShellSessionHandoffWorkflowSummary,
|
||||||
|
createIniPanelShellSessionReadinessWorkflowReport,
|
||||||
createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
|
createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
|
||||||
createIniPanelShellSessionHandoffWorkflowRenderState,
|
createIniPanelShellSessionHandoffWorkflowRenderState,
|
||||||
createIniPanelShellSessionHandoffWorkflowDomContract,
|
createIniPanelShellSessionHandoffWorkflowDomContract,
|
||||||
@@ -177,7 +178,7 @@ assert.deepEqual(readiness, {
|
|||||||
counts: {
|
counts: {
|
||||||
pages: 3,
|
pages: 3,
|
||||||
launcherLinks: 3,
|
launcherLinks: 3,
|
||||||
launchMethods: 55,
|
launchMethods: 56,
|
||||||
controlPageMethods: 11,
|
controlPageMethods: 11,
|
||||||
persistenceCapabilities: 3,
|
persistenceCapabilities: 3,
|
||||||
},
|
},
|
||||||
@@ -240,7 +241,7 @@ assert.deepEqual(handoffSummary, {
|
|||||||
counts: {
|
counts: {
|
||||||
pages: 3,
|
pages: 3,
|
||||||
launcherLinks: 3,
|
launcherLinks: 3,
|
||||||
launchMethods: 55,
|
launchMethods: 56,
|
||||||
controlPageMethods: 11,
|
controlPageMethods: 11,
|
||||||
persistenceCapabilities: 3,
|
persistenceCapabilities: 3,
|
||||||
},
|
},
|
||||||
@@ -745,6 +746,7 @@ assert.equal(
|
|||||||
createIniPanelShellSessionHandoffWorkflowSummary().phase,
|
createIniPanelShellSessionHandoffWorkflowSummary().phase,
|
||||||
"blocked",
|
"blocked",
|
||||||
);
|
);
|
||||||
|
assert.equal(createIniPanelShellSessionReadinessWorkflowReport().phase, "blocked");
|
||||||
assert.equal(
|
assert.equal(
|
||||||
createIniPanelShellSessionHandoffWorkflowDisplayViewModel().phase,
|
createIniPanelShellSessionHandoffWorkflowDisplayViewModel().phase,
|
||||||
"blocked",
|
"blocked",
|
||||||
@@ -773,6 +775,7 @@ assert.deepEqual(createIniPanelShellWorkflowOverviewContract(), {
|
|||||||
"getWorkflowOverviewRenderState",
|
"getWorkflowOverviewRenderState",
|
||||||
"getWorkflowOverviewDisplayViewModel",
|
"getWorkflowOverviewDisplayViewModel",
|
||||||
"getWorkflowOverviewSummary",
|
"getWorkflowOverviewSummary",
|
||||||
|
"getWorkflowOverviewSessionReadinessReport",
|
||||||
"getWorkflowOverviewDomContract",
|
"getWorkflowOverviewDomContract",
|
||||||
"getWorkflowOverviewDomReadiness",
|
"getWorkflowOverviewDomReadiness",
|
||||||
"renderWorkflowOverview",
|
"renderWorkflowOverview",
|
||||||
@@ -814,6 +817,7 @@ assert.deepEqual(
|
|||||||
createIniPanelShellWorkflowOverviewReadiness({
|
createIniPanelShellWorkflowOverviewReadiness({
|
||||||
overviewApi: {
|
overviewApi: {
|
||||||
getWorkflowOverviewRenderState: () => handoffPackageRenderState,
|
getWorkflowOverviewRenderState: () => handoffPackageRenderState,
|
||||||
|
getWorkflowOverviewSessionReadinessReport: () => createIniPanelShellSessionReadinessWorkflowReport(),
|
||||||
},
|
},
|
||||||
}).missing,
|
}).missing,
|
||||||
[
|
[
|
||||||
@@ -1238,7 +1242,7 @@ assert.deepEqual(createIniPanelShellIntegrationReadiness(blockedManifest), {
|
|||||||
counts: {
|
counts: {
|
||||||
pages: 3,
|
pages: 3,
|
||||||
launcherLinks: 3,
|
launcherLinks: 3,
|
||||||
launchMethods: 55,
|
launchMethods: 56,
|
||||||
controlPageMethods: 11,
|
controlPageMethods: 11,
|
||||||
persistenceCapabilities: 3,
|
persistenceCapabilities: 3,
|
||||||
},
|
},
|
||||||
@@ -1413,6 +1417,7 @@ assert.match(shellText, /\bexport function mountIniPanelShellSessionHandoff\b/);
|
|||||||
assert.match(shellText, /\bexport function mountIniPanelShellSessionHandoffFromControlPage\b/);
|
assert.match(shellText, /\bexport function mountIniPanelShellSessionHandoffFromControlPage\b/);
|
||||||
assert.match(shellText, /\bexport function readIniPanelShellSessionHandoffStatusFromControlPage\b/);
|
assert.match(shellText, /\bexport function readIniPanelShellSessionHandoffStatusFromControlPage\b/);
|
||||||
assert.match(shellText, /\bexport function createIniPanelShellSessionHandoffWorkflowSummary\b/);
|
assert.match(shellText, /\bexport function createIniPanelShellSessionHandoffWorkflowSummary\b/);
|
||||||
|
assert.match(shellText, /\bexport function createIniPanelShellSessionReadinessWorkflowReport\b/);
|
||||||
assert.match(shellText, /\bexport function createIniPanelShellSessionHandoffWorkflowDisplayViewModel\b/);
|
assert.match(shellText, /\bexport function createIniPanelShellSessionHandoffWorkflowDisplayViewModel\b/);
|
||||||
assert.match(shellText, /\bexport function createIniPanelShellSessionHandoffWorkflowRenderState\b/);
|
assert.match(shellText, /\bexport function createIniPanelShellSessionHandoffWorkflowRenderState\b/);
|
||||||
assert.match(shellText, /\bexport function createIniPanelShellSessionHandoffWorkflowDomContract\b/);
|
assert.match(shellText, /\bexport function createIniPanelShellSessionHandoffWorkflowDomContract\b/);
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import {
|
|||||||
mountIniPanelShellSessionHandoffFromControlPage,
|
mountIniPanelShellSessionHandoffFromControlPage,
|
||||||
readIniPanelShellSessionHandoffStatusFromControlPage,
|
readIniPanelShellSessionHandoffStatusFromControlPage,
|
||||||
createIniPanelShellSessionHandoffWorkflowSummary,
|
createIniPanelShellSessionHandoffWorkflowSummary,
|
||||||
|
createIniPanelShellSessionReadinessWorkflowReport,
|
||||||
createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
|
createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
|
||||||
createIniPanelShellSessionHandoffWorkflowRenderState,
|
createIniPanelShellSessionHandoffWorkflowRenderState,
|
||||||
createIniPanelShellSessionHandoffWorkflowDomContract,
|
createIniPanelShellSessionHandoffWorkflowDomContract,
|
||||||
@@ -662,6 +663,7 @@ assert.deepEqual(shellViewModel.shellWorkflowOverviewContract, {
|
|||||||
"getWorkflowOverviewRenderState",
|
"getWorkflowOverviewRenderState",
|
||||||
"getWorkflowOverviewDisplayViewModel",
|
"getWorkflowOverviewDisplayViewModel",
|
||||||
"getWorkflowOverviewSummary",
|
"getWorkflowOverviewSummary",
|
||||||
|
"getWorkflowOverviewSessionReadinessReport",
|
||||||
"getWorkflowOverviewDomContract",
|
"getWorkflowOverviewDomContract",
|
||||||
"getWorkflowOverviewDomReadiness",
|
"getWorkflowOverviewDomReadiness",
|
||||||
"renderWorkflowOverview",
|
"renderWorkflowOverview",
|
||||||
@@ -790,6 +792,10 @@ assert.equal(
|
|||||||
shellViewModel.createShellSessionHandoffWorkflowSummary,
|
shellViewModel.createShellSessionHandoffWorkflowSummary,
|
||||||
createIniPanelShellSessionHandoffWorkflowSummary,
|
createIniPanelShellSessionHandoffWorkflowSummary,
|
||||||
);
|
);
|
||||||
|
assert.equal(
|
||||||
|
shellViewModel.createShellSessionReadinessWorkflowReport,
|
||||||
|
createIniPanelShellSessionReadinessWorkflowReport,
|
||||||
|
);
|
||||||
assert.equal(
|
assert.equal(
|
||||||
shellViewModel.createShellSessionHandoffWorkflowDisplayViewModel,
|
shellViewModel.createShellSessionHandoffWorkflowDisplayViewModel,
|
||||||
createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
|
createIniPanelShellSessionHandoffWorkflowDisplayViewModel,
|
||||||
@@ -1111,6 +1117,19 @@ assert.deepEqual(workflowSummaryResult.sessionReadiness, {
|
|||||||
assert.equal(workflowSummaryResult.rows.find(({ id }) => id === "session-readiness")?.value, "ready");
|
assert.equal(workflowSummaryResult.rows.find(({ id }) => id === "session-readiness")?.value, "ready");
|
||||||
assert.equal(workflowSummaryResult.rows.length, 6);
|
assert.equal(workflowSummaryResult.rows.length, 6);
|
||||||
assert.equal(workflowSummaryResult.blockingReasons[0], "mount:blocked");
|
assert.equal(workflowSummaryResult.blockingReasons[0], "mount:blocked");
|
||||||
|
const sessionReadinessWorkflowReport = createIniPanelShellSessionReadinessWorkflowReport({
|
||||||
|
workflowSummary: workflowSummaryResult,
|
||||||
|
});
|
||||||
|
assert.equal(sessionReadinessWorkflowReport.apiName, "ini-panel-shell-session-readiness-workflow-report");
|
||||||
|
assert.equal(sessionReadinessWorkflowReport.reportVersion, 1);
|
||||||
|
assert.equal(sessionReadinessWorkflowReport.phase, "ready");
|
||||||
|
assert.equal(sessionReadinessWorkflowReport.ready, true);
|
||||||
|
assert.equal(sessionReadinessWorkflowReport.statusLine, "Ready: session readiness available");
|
||||||
|
assert.deepEqual(sessionReadinessWorkflowReport.missing, []);
|
||||||
|
assert.equal(sessionReadinessWorkflowReport.rows.length, 3);
|
||||||
|
assert.equal(sessionReadinessWorkflowReport.rows[0].value, "ready");
|
||||||
|
assert.equal(shellViewModel.shellSessionReadinessWorkflowReport.ready, false);
|
||||||
|
assert.equal(shellViewModel.shellSessionReadinessWorkflowReport.rows.length, 3);
|
||||||
const readyWorkflowSummaryResult = createIniPanelShellSessionHandoffWorkflowSummary({
|
const readyWorkflowSummaryResult = createIniPanelShellSessionHandoffWorkflowSummary({
|
||||||
mountWorkflow: {
|
mountWorkflow: {
|
||||||
phase: "ready",
|
phase: "ready",
|
||||||
@@ -1230,6 +1249,7 @@ const workflowOverviewApi = {
|
|||||||
getWorkflowOverviewRenderState: () => workflowRenderState,
|
getWorkflowOverviewRenderState: () => workflowRenderState,
|
||||||
getWorkflowOverviewDisplayViewModel: () => workflowDisplayViewModel,
|
getWorkflowOverviewDisplayViewModel: () => workflowDisplayViewModel,
|
||||||
getWorkflowOverviewSummary: () => workflowSummaryResult,
|
getWorkflowOverviewSummary: () => workflowSummaryResult,
|
||||||
|
getWorkflowOverviewSessionReadinessReport: () => sessionReadinessWorkflowReport,
|
||||||
getWorkflowOverviewDomContract: createIniPanelShellSessionHandoffWorkflowDomContract,
|
getWorkflowOverviewDomContract: createIniPanelShellSessionHandoffWorkflowDomContract,
|
||||||
getWorkflowOverviewDomReadiness: createIniPanelShellSessionHandoffWorkflowDomReadiness,
|
getWorkflowOverviewDomReadiness: createIniPanelShellSessionHandoffWorkflowDomReadiness,
|
||||||
renderWorkflowOverview: renderIniPanelShellSessionHandoffWorkflowState,
|
renderWorkflowOverview: renderIniPanelShellSessionHandoffWorkflowState,
|
||||||
|
|||||||
Reference in New Issue
Block a user