Files
cnc_wams/wasm-port/runtime/ui/ini-panel/workflow-overview.html
wangdequan abf858641f 虚拟HAL完全满足Web数控仿真
结论:ini-panel workflow overview 已提供固定 URL 表单和按钮,用户可直接输入 release artifact URL 与 browser diagnostics URL 并运行 release URL workflow;该流程验证的 virtual HAL evidence 仍完全来自 LinuxCNC source-derived reports,virtual HAL 继续满足 Web 数控系统仿真范围,不声明 Linux kernel hard-realtime ABI、外部硬件驱动 ABI 或 native HAL module ABI。
2026-06-17 23:12:45 +08:00

477 lines
24 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>LinuxCNC INI Workflow Overview</title>
<style>
:root {
color-scheme: light;
--bg: #f2f5f8;
--panel: #ffffff;
--border: #cfd8e1;
--text: #17212b;
--muted: #5a6875;
--accent: #1366a6;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: "Segoe UI", "Noto Sans", sans-serif;
background: var(--bg);
color: var(--text);
}
main {
max-width: 960px;
margin: 0 auto;
padding: 24px;
display: grid;
gap: 16px;
}
.panel {
background: var(--panel);
border: 1px solid var(--border);
border-radius: 8px;
box-shadow: 0 10px 30px rgba(17, 34, 51, 0.06);
padding: 16px;
display: grid;
gap: 14px;
}
h1 {
margin: 0;
font-size: 18px;
font-weight: 600;
}
p {
margin: 0;
color: var(--muted);
font: 13px/1.5 "Segoe UI", "Noto Sans", sans-serif;
}
.overview-status {
border-top: 1px solid var(--border);
padding-top: 12px;
display: grid;
gap: 8px;
}
.overview-status dl {
margin: 0;
display: grid;
grid-template-columns: minmax(120px, 180px) 1fr;
gap: 6px 12px;
font: 13px/1.4 "Segoe UI", "Noto Sans", sans-serif;
}
.overview-status dt {
color: var(--muted);
}
.overview-status dd {
margin: 0;
color: var(--text);
overflow-wrap: anywhere;
}
.url-workflow-form {
display: grid;
grid-template-columns: 1fr;
gap: 10px;
border-top: 1px solid var(--border);
padding-top: 12px;
}
.url-workflow-form label {
display: grid;
gap: 4px;
color: var(--muted);
font: 12px/1.4 "Segoe UI", "Noto Sans", sans-serif;
}
.url-workflow-form input {
width: 100%;
min-height: 32px;
border: 1px solid var(--border);
border-radius: 4px;
padding: 6px 8px;
color: var(--text);
font: 13px/1.4 "Segoe UI", "Noto Sans", sans-serif;
}
.url-workflow-form button {
justify-self: start;
min-height: 32px;
border: 1px solid #0f5f9d;
border-radius: 4px;
background: var(--accent);
color: #fff;
padding: 6px 12px;
font: 13px/1.4 "Segoe UI", "Noto Sans", sans-serif;
cursor: pointer;
}
</style>
</head>
<body>
<main>
<section class="panel">
<h1>LinuxCNC INI Workflow Overview</h1>
<p>Read-only shell handoff overview for mount, readonly status, and overall workflow readiness.</p>
<section class="overview-status" aria-label="Shell handoff workflow overview" data-handoff-workflow>
<p data-handoff-workflow-status>Checking shell handoff workflow summary.</p>
<dl data-handoff-workflow-rows></dl>
</section>
<form class="url-workflow-form" data-release-artifact-url-workflow-form>
<label>
Release artifact URL
<input type="text" inputmode="url" data-release-artifact-url-input placeholder="../../tests/fixtures/project-release-readiness-ready.json">
</label>
<label>
Browser diagnostics URL
<input type="text" inputmode="url" data-browser-diagnostics-url-input placeholder="../../tests/fixtures/real-browser-simulation-diagnostics-ready.json">
</label>
<button type="submit" data-run-release-artifact-url-workflow>Run URL Workflow</button>
</form>
<section class="overview-status" aria-label="Release artifact URL workflow" data-workflow-overview-release-readiness-artifact-url-workflow>
<p data-workflow-overview-release-readiness-artifact-url-workflow-status>Waiting for release artifact URL workflow.</p>
<dl data-workflow-overview-release-readiness-artifact-url-workflow-rows></dl>
</section>
</section>
</main>
<script type="module">
import {
createIniPanelShellViewModel,
createIniPanelShellSessionHandoffWorkflowDomContract,
createIniPanelShellSessionHandoffWorkflowDomReadiness,
createIniPanelShellSessionHandoffWorkflowRenderState,
createIniPanelShellSessionReadinessWorkflowReport,
createIniPanelShellWorkflowOverviewContract,
createIniPanelShellWorkflowOverviewReadiness,
createIniPanelShellWorkflowOverviewEmbeddingReport,
createIniPanelShellWorkflowOverviewEmbeddingDisplayViewModel,
createIniPanelShellWorkflowOverviewEmbeddingRenderState,
createIniPanelShellWorkflowOverviewEmbeddingDomContract,
createIniPanelShellWorkflowOverviewEmbeddingDomReadiness,
mountIniPanelShellWorkflowOverviewEmbedding,
createMachineSessionPersistenceSummary,
renderIniPanelShellWorkflowOverviewEmbeddingState,
mountIniPanelShellWorkflowOverviewEmbeddingState,
createIniPanelShellWorkflowOverviewEmbeddingMountDisplayViewModel,
createIniPanelShellWorkflowOverviewEmbeddingMountRenderState,
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
renderIniPanelShellWorkflowOverviewEmbeddingMountState,
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson,
runIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflow,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness,
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState,
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState,
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness,
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState,
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlan,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness,
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState,
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness,
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState,
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness,
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState,
renderIniPanelShellSessionHandoffWorkflowState,
mountIniPanelShellSessionHandoffWorkflow,
} from "./ui-shell.js";
const shellViewModel = createIniPanelShellViewModel();
const workflowRenderState = shellViewModel.shellSessionHandoffWorkflowRenderState;
renderIniPanelShellSessionHandoffWorkflowState(workflowRenderState, { documentRef: document });
const releaseArtifactUrlInput = document.querySelector("[data-release-artifact-url-input]");
const browserDiagnosticsUrlInput = document.querySelector("[data-browser-diagnostics-url-input]");
const releaseArtifactUrlWorkflowForm = document.querySelector("[data-release-artifact-url-workflow-form]");
async function runWorkflowOverviewReleaseReadinessArtifactUrlForm(options = {}) {
const artifactUrl = String(options.artifactUrl ?? releaseArtifactUrlInput?.value ?? "").trim();
const diagnosticsUrl = String(options.diagnosticsUrl ?? browserDiagnosticsUrlInput?.value ?? "").trim();
const workflow = await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl({
artifactUrl,
diagnosticsUrl,
fetchRef: options.fetchRef,
mount: options.mount ?? true,
});
const summary = createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(workflow);
const renderState = createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState(summary);
const mountResult = mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState({
renderState,
documentRef: document,
});
document.body.dataset.releaseArtifactUrlWorkflowPhase = workflow.phase;
document.body.dataset.releaseArtifactUrlWorkflowReady = workflow.ready ? "true" : "false";
return {
workflow,
summary,
renderState,
mountResult,
};
}
releaseArtifactUrlWorkflowForm?.addEventListener("submit", (event) => {
event.preventDefault();
runWorkflowOverviewReleaseReadinessArtifactUrlForm().catch((error) => {
const status = document.querySelector("[data-workflow-overview-release-readiness-artifact-url-workflow-status]");
if (status) {
status.textContent = `Blocked: ${error?.message ?? "release artifact URL workflow failed"}`;
}
document.body.dataset.releaseArtifactUrlWorkflowPhase = "blocked";
document.body.dataset.releaseArtifactUrlWorkflowReady = "false";
});
});
window.linuxCncIniPanelWorkflowOverviewApi = {
getWorkflowOverviewRenderState: () => shellViewModel.shellSessionHandoffWorkflowRenderState,
getWorkflowOverviewDisplayViewModel: () => shellViewModel.shellSessionHandoffWorkflowDisplayViewModel,
getWorkflowOverviewSummary: () => shellViewModel.shellSessionHandoffWorkflowSummary,
getWorkflowOverviewSessionReadinessReport: (options) => (
createIniPanelShellSessionReadinessWorkflowReport(options ?? {
workflowSummary: shellViewModel.shellSessionHandoffWorkflowSummary,
})
),
getWorkflowOverviewApiSurfaceInventory: (options) => (
shellViewModel.createShellApiSurfaceInventory(options ?? {
launchApiManifest: shellViewModel.launchApiManifest,
controlPageApiManifest: shellViewModel.controlPage.browserApiManifest,
workflowOverviewContract: shellViewModel.shellWorkflowOverviewContract,
sessionReadinessWorkflowReport: shellViewModel.shellSessionReadinessWorkflowReport,
})
),
getWorkflowOverviewPersistenceSummary: (options) => (
createMachineSessionPersistenceSummary(options)
),
validateWorkflowOverviewReleaseReadinessArtifactJson: (artifactJson) => (
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson(artifactJson)
),
runWorkflowOverviewReleaseReadinessArtifactJsonWorkflow: (options) => (
runIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflow(options)
),
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel: (workflow) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel(workflow)
),
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan: (workflow) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan(workflow)
),
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState: (summaryViewModel) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState(summaryViewModel)
),
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract: (options) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract(options)
),
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness: (options) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness(
options ?? { documentRef: document },
)
),
renderWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState: (renderState, options) => (
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState(
renderState,
options ?? { documentRef: document },
)
),
mountWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState: (options) => (
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState(
options ?? { documentRef: document },
)
),
loadWorkflowOverviewReleaseReadinessArtifactUrl: (options) => (
loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl(options)
),
runWorkflowOverviewReleaseReadinessArtifactUrlForm,
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel: (workflow) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(workflow)
),
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan: (workflow) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan(workflow)
),
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState: (summaryViewModel) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState(summaryViewModel)
),
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract: (options) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract(options)
),
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness: (options) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness(
options ?? { documentRef: document },
)
),
renderWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState: (renderState, options) => (
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState(
renderState,
options ?? { documentRef: document },
)
),
mountWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState: (options) => (
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState(
options ?? { documentRef: document },
)
),
getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel: (validation) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel(validation)
),
getWorkflowOverviewReleaseReadinessArtifactValidationActionPlan: (validation) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlan(validation)
),
getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState: (actionPlan) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState(actionPlan)
),
getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract: (options) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract(options)
),
getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness: (options) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness(
options ?? { documentRef: document },
)
),
renderWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState: (renderState, options) => (
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState(
renderState,
options ?? { documentRef: document },
)
),
mountWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState: (options) => (
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState(
options ?? { documentRef: document },
)
),
getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel: (validation) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel(validation)
),
getWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel: (workflow) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel(workflow)
),
getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState: (summaryViewModel) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState(summaryViewModel)
),
getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract: (options) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract(options)
),
getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness: (options) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness(
options ?? { documentRef: document },
)
),
renderWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState: (renderState, options) => (
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState(
renderState,
options ?? { documentRef: document },
)
),
mountWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState: (options) => (
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState(
options ?? { documentRef: document },
)
),
getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel: (validation) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel(validation)
),
getWorkflowOverviewReleaseReadinessArtifactRenderState: (displayViewModel) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState(displayViewModel)
),
getWorkflowOverviewReleaseReadinessArtifactDomContract: (options) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract(options)
),
getWorkflowOverviewReleaseReadinessArtifactDomReadiness: (options) => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomReadiness(options ?? { documentRef: document })
),
renderWorkflowOverviewReleaseReadinessArtifactState: (renderState, options) => (
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactState(renderState, options ?? { documentRef: document })
),
mountWorkflowOverviewReleaseReadinessArtifactState: (options) => (
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactState(options ?? { documentRef: document })
),
getWorkflowOverviewDomContract: (options) => (
createIniPanelShellSessionHandoffWorkflowDomContract(options)
),
getWorkflowOverviewDomReadiness: (options) => (
createIniPanelShellSessionHandoffWorkflowDomReadiness(options ?? { documentRef: document })
),
renderWorkflowOverview: (renderState, options) => (
renderIniPanelShellSessionHandoffWorkflowState(
renderState ?? shellViewModel.shellSessionHandoffWorkflowRenderState,
options ?? { documentRef: document },
)
),
mountWorkflowOverview: (options) => (
mountIniPanelShellSessionHandoffWorkflow(options ?? {
renderState: shellViewModel.shellSessionHandoffWorkflowRenderState,
documentRef: document,
})
),
createWorkflowOverviewRenderState: createIniPanelShellSessionHandoffWorkflowRenderState,
getWorkflowOverviewContract: () => createIniPanelShellWorkflowOverviewContract(),
getWorkflowOverviewReadinessFromApi: () => createIniPanelShellWorkflowOverviewReadiness({
overviewApi: window.linuxCncIniPanelWorkflowOverviewApi,
}),
mountWorkflowOverviewEmbedding: (options) => (
mountIniPanelShellWorkflowOverviewEmbedding({
overviewApi: window.linuxCncIniPanelWorkflowOverviewApi,
...(options ?? {}),
})
),
getWorkflowOverviewEmbeddingReport: (embeddingResult, contract) => (
createIniPanelShellWorkflowOverviewEmbeddingReport(embeddingResult, contract)
),
getWorkflowOverviewEmbeddingDisplayViewModel: (report) => (
createIniPanelShellWorkflowOverviewEmbeddingDisplayViewModel(report)
),
getWorkflowOverviewEmbeddingRenderState: (displayViewModel) => (
createIniPanelShellWorkflowOverviewEmbeddingRenderState(displayViewModel)
),
getWorkflowOverviewEmbeddingDomContract: (options) => (
createIniPanelShellWorkflowOverviewEmbeddingDomContract(options)
),
getWorkflowOverviewEmbeddingDomReadiness: (options) => (
createIniPanelShellWorkflowOverviewEmbeddingDomReadiness(options ?? { documentRef: document })
),
renderWorkflowOverviewEmbeddingState: (renderState, options) => (
renderIniPanelShellWorkflowOverviewEmbeddingState(renderState, options ?? { documentRef: document })
),
mountWorkflowOverviewEmbeddingState: (options) => (
mountIniPanelShellWorkflowOverviewEmbeddingState(options ?? {
documentRef: document,
})
),
getWorkflowOverviewEmbeddingMountDisplayViewModel: (mountResult) => (
createIniPanelShellWorkflowOverviewEmbeddingMountDisplayViewModel(mountResult)
),
getWorkflowOverviewEmbeddingMountRenderState: (displayViewModel) => (
createIniPanelShellWorkflowOverviewEmbeddingMountRenderState(displayViewModel)
),
getWorkflowOverviewEmbeddingMountDomContract: (options) => (
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract(options)
),
getWorkflowOverviewEmbeddingMountDomReadiness: (options) => (
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness(options ?? { documentRef: document })
),
renderWorkflowOverviewEmbeddingMountState: (renderState, options) => (
renderIniPanelShellWorkflowOverviewEmbeddingMountState(renderState, options ?? { documentRef: document })
),
mountWorkflowOverviewEmbeddingMountState: (options) => (
mountIniPanelShellWorkflowOverviewEmbeddingMountState(options ?? {
documentRef: document,
})
),
};
</script>
</body>
</html>