上传真实浏览器仿真推进

结论:新增 LinuxCNC WASM 驱动的真实浏览器仿真页面,接入 browser smoke、release gate、SDK 与项目交付文档,并完成当前推进批次的验收记录。
This commit is contained in:
2026-06-16 20:59:21 +08:00
parent 19eabdf06e
commit 24e1fc18b1
39 changed files with 7563 additions and 59 deletions

View File

@@ -163,9 +163,34 @@ const requiredShellExports = [
"renderIniPanelShellWorkflowOverviewEmbeddingMountState",
"mountIniPanelShellWorkflowOverviewEmbeddingMountState",
"validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson",
"runIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflow",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness",
"renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState",
"mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness",
"renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState",
"mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState",
"loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness",
"renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState",
"mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlan",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness",
"renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState",
"mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState",
"createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract",

View File

@@ -82,9 +82,36 @@ assert.deepEqual(manifest, {
"getWorkflowOverviewContract",
"getWorkflowOverviewReadiness",
"mountWorkflowOverviewEmbedding",
"runWorkflowOverviewReleaseReadinessArtifactJsonWorkflow",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState",
"mountWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState",
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState",
"mountWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState",
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlan",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState",
"mountWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState",
"mountWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState",
"getWorkflowOverviewEmbeddingReport",
"getWorkflowOverviewEmbeddingDisplayViewModel",
"getWorkflowOverviewEmbeddingRenderState",
@@ -244,9 +271,36 @@ assert.match(launchText, /\bmountShellSessionHandoffWorkflow\b/);
assert.match(launchText, /\bgetWorkflowOverviewContract\b/);
assert.match(launchText, /\bgetWorkflowOverviewReadiness\b/);
assert.match(launchText, /\bmountWorkflowOverviewEmbedding\b/);
assert.match(launchText, /\brunWorkflowOverviewReleaseReadinessArtifactJsonWorkflow\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness\b/);
assert.match(launchText, /\brenderWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState\b/);
assert.match(launchText, /\bmountWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState\b/);
assert.match(launchText, /\bloadWorkflowOverviewReleaseReadinessArtifactUrl\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness\b/);
assert.match(launchText, /\brenderWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState\b/);
assert.match(launchText, /\bmountWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactValidationActionPlan\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness\b/);
assert.match(launchText, /\brenderWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState\b/);
assert.match(launchText, /\bmountWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract\b/);
assert.match(launchText, /\bgetWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness\b/);
assert.match(launchText, /\brenderWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState\b/);
assert.match(launchText, /\bmountWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState\b/);
assert.match(launchText, /\bgetWorkflowOverviewEmbeddingReport\b/);
assert.match(launchText, /\bgetWorkflowOverviewEmbeddingDisplayViewModel\b/);
assert.match(launchText, /\bgetWorkflowOverviewEmbeddingRenderState\b/);

View File

@@ -52,9 +52,36 @@ import {
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,
@@ -189,7 +216,7 @@ assert.deepEqual(readiness, {
counts: {
pages: 3,
launcherLinks: 3,
launchMethods: 61,
launchMethods: 88,
controlPageMethods: 11,
persistenceCapabilities: 3,
},
@@ -252,7 +279,7 @@ assert.deepEqual(handoffSummary, {
counts: {
pages: 3,
launcherLinks: 3,
launchMethods: 61,
launchMethods: 88,
controlPageMethods: 11,
persistenceCapabilities: 3,
},
@@ -791,9 +818,36 @@ assert.deepEqual(createIniPanelShellWorkflowOverviewContract(), {
"getWorkflowOverviewApiSurfaceInventory",
"getWorkflowOverviewPersistenceSummary",
"validateWorkflowOverviewReleaseReadinessArtifactJson",
"runWorkflowOverviewReleaseReadinessArtifactJsonWorkflow",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState",
"mountWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState",
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState",
"mountWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState",
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlan",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState",
"mountWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState",
"mountWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState",
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
"getWorkflowOverviewReleaseReadinessArtifactDomContract",
@@ -838,9 +892,36 @@ assert.equal(typeof createIniPanelShellWorkflowOverviewEmbeddingMountDomReadines
assert.equal(typeof renderIniPanelShellWorkflowOverviewEmbeddingMountState, "function");
assert.equal(typeof mountIniPanelShellWorkflowOverviewEmbeddingMountState, "function");
assert.equal(typeof validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson, "function");
assert.equal(typeof runIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflow, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness, "function");
assert.equal(typeof renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState, "function");
assert.equal(typeof mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState, "function");
assert.equal(typeof loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness, "function");
assert.equal(typeof renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState, "function");
assert.equal(typeof mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlan, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness, "function");
assert.equal(typeof renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState, "function");
assert.equal(typeof mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness, "function");
assert.equal(typeof renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState, "function");
assert.equal(typeof mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDisplayViewModel, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactRenderState, "function");
assert.equal(typeof createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract, "function");
@@ -872,9 +953,36 @@ assert.deepEqual(
"getWorkflowOverviewSummary",
"getWorkflowOverviewPersistenceSummary",
"validateWorkflowOverviewReleaseReadinessArtifactJson",
"runWorkflowOverviewReleaseReadinessArtifactJsonWorkflow",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState",
"mountWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState",
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState",
"mountWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState",
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlan",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState",
"mountWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState",
"mountWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState",
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
"getWorkflowOverviewReleaseReadinessArtifactDomContract",
@@ -1300,7 +1408,7 @@ assert.deepEqual(createIniPanelShellIntegrationReadiness(blockedManifest), {
counts: {
pages: 3,
launcherLinks: 3,
launchMethods: 61,
launchMethods: 88,
controlPageMethods: 11,
persistenceCapabilities: 3,
},

View File

@@ -57,9 +57,36 @@ import {
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,
@@ -690,9 +717,36 @@ assert.deepEqual(shellViewModel.shellWorkflowOverviewContract, {
"getWorkflowOverviewApiSurfaceInventory",
"getWorkflowOverviewPersistenceSummary",
"validateWorkflowOverviewReleaseReadinessArtifactJson",
"runWorkflowOverviewReleaseReadinessArtifactJsonWorkflow",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract",
"getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState",
"mountWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState",
"loadWorkflowOverviewReleaseReadinessArtifactUrl",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract",
"getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState",
"mountWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState",
"getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlan",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract",
"getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState",
"mountWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract",
"getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness",
"renderWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState",
"mountWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState",
"getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel",
"getWorkflowOverviewReleaseReadinessArtifactRenderState",
"getWorkflowOverviewReleaseReadinessArtifactDomContract",
@@ -1300,13 +1354,104 @@ const releaseReadinessArtifactJson = JSON.stringify(createProjectReleaseReadines
const releaseArtifactValidation = validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson(
releaseReadinessArtifactJson,
);
const releaseArtifactJsonWorkflow = runIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflow({
artifactJson: releaseReadinessArtifactJson,
});
assert.equal(
releaseArtifactJsonWorkflow.apiName,
"ini-panel-shell-workflow-overview-release-readiness-artifact-json-workflow",
);
assert.equal(releaseArtifactJsonWorkflow.ready, true);
assert.equal(releaseArtifactJsonWorkflow.parsed, true);
assert.equal(releaseArtifactJsonWorkflow.statusLine, "Ready: Artifact JSON workflow complete");
assert.equal(releaseArtifactJsonWorkflow.actionPlan.nextCommand, null);
assert.equal(releaseArtifactJsonWorkflow.gateExecutionSummaryViewModel.statusLine, "Ready: All release gate evidence present");
const releaseArtifactJsonWorkflowSummary =
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel(
releaseArtifactJsonWorkflow,
);
const releaseArtifactJsonWorkflowActionPlan =
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan(
releaseArtifactJsonWorkflow,
);
const releaseArtifactJsonWorkflowRenderState =
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState(
releaseArtifactJsonWorkflowSummary,
);
assert.equal(
releaseArtifactJsonWorkflowSummary.statusLine,
"Ready: Artifact JSON workflow complete",
);
assert.equal(
releaseArtifactJsonWorkflowActionPlan.shellScript,
"# Project release readiness artifact validation is already ready.\n",
);
assert.equal(
releaseArtifactJsonWorkflowSummary.rows.find(({ id }) => id === "action-plan")?.value,
"ready",
);
assert.equal(releaseArtifactJsonWorkflowRenderState.statusLine, "Ready: Artifact JSON workflow complete");
assert.equal(
releaseArtifactJsonWorkflowRenderState.dataset.handoffScope,
"workflow-overview-release-readiness-artifact-json-workflow",
);
assert.equal(
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract().selectors.mount,
"[data-workflow-overview-release-readiness-artifact-json-workflow]",
);
assert.equal(createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness().ready, false);
const releaseArtifactJsonWorkflowMountNode = mountDocument.createElement("section");
releaseArtifactJsonWorkflowMountNode.dataset.workflowOverviewReleaseReadinessArtifactJsonWorkflow = "";
const releaseArtifactJsonWorkflowStatusNode = mountDocument.createElement("p");
releaseArtifactJsonWorkflowStatusNode.dataset.workflowOverviewReleaseReadinessArtifactJsonWorkflowStatus = "";
const releaseArtifactJsonWorkflowRowsNode = {
...mountDocument.createElement("dl"),
children: [],
replaceChildren() {
this.children = [];
},
append(...nodes) {
this.children.push(...nodes);
},
};
releaseArtifactJsonWorkflowRowsNode.dataset.workflowOverviewReleaseReadinessArtifactJsonWorkflowRows = "";
const releaseArtifactJsonWorkflowRenderResult =
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState(
releaseArtifactJsonWorkflowRenderState,
{
documentRef: mountDocument,
mountNode: releaseArtifactJsonWorkflowMountNode,
statusNode: releaseArtifactJsonWorkflowStatusNode,
rowsNode: releaseArtifactJsonWorkflowRowsNode,
},
);
const releaseArtifactJsonWorkflowMountResult =
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState({
renderState: releaseArtifactJsonWorkflowRenderState,
documentRef: mountDocument,
mountNode: releaseArtifactJsonWorkflowMountNode,
statusNode: releaseArtifactJsonWorkflowStatusNode,
rowsNode: releaseArtifactJsonWorkflowRowsNode,
});
assert.equal(releaseArtifactJsonWorkflowRenderResult.rendered, true);
assert.equal(releaseArtifactJsonWorkflowRenderResult.rowCount, 5);
assert.equal(
releaseArtifactJsonWorkflowRenderResult.dataset.handoffScope,
"workflow-overview-release-readiness-artifact-json-workflow",
);
assert.equal(
releaseArtifactJsonWorkflowRenderResult.rowIds.includes("gate-execution-summary"),
true,
);
assert.equal(releaseArtifactJsonWorkflowMountResult.ready, true);
assert.equal(releaseArtifactJsonWorkflowMountResult.renderResult.rowCount, 5);
assert.equal(
releaseArtifactValidation.apiName,
"ini-panel-shell-workflow-overview-release-readiness-artifact-validation",
);
assert.equal(releaseArtifactValidation.ready, true);
assert.equal(releaseArtifactValidation.validation.ready, true);
assert.equal(releaseArtifactValidation.gateCount, 11);
assert.equal(releaseArtifactValidation.gateCount, 12);
const releaseArtifactValidationSummary =
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel(
releaseArtifactValidation,
@@ -1316,6 +1461,150 @@ assert.equal(
"project-release-readiness-artifact-validation-summary-view-model",
);
assert.equal(releaseArtifactValidationSummary.statusLine, "Ready: Artifact evidence complete");
assert.equal(releaseArtifactValidation.actionPlan.ready, true);
assert.equal(releaseArtifactValidation.actionPlan.nextCommand, null);
assert.equal(
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlan(
releaseArtifactValidation,
).shellScript,
"# Project release readiness artifact validation is already ready.\n",
);
const releaseArtifactValidationActionPlan =
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlan(
releaseArtifactValidation,
);
const releaseArtifactValidationActionPlanRenderState =
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState(
releaseArtifactValidationActionPlan,
);
assert.equal(
releaseArtifactValidationActionPlanRenderState.statusLine,
"Ready: Artifact validation action plan complete",
);
assert.equal(releaseArtifactValidationActionPlanRenderState.rows.length, 3);
assert.equal(
releaseArtifactValidationActionPlanRenderState.dataset.handoffScope,
"workflow-overview-release-readiness-artifact-validation-action-plan",
);
assert.equal(
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract().selectors.mount,
"[data-workflow-overview-release-readiness-artifact-validation-action-plan]",
);
assert.equal(createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness().ready, false);
const releaseArtifactValidationActionPlanMountNode = mountDocument.createElement("section");
releaseArtifactValidationActionPlanMountNode.dataset.workflowOverviewReleaseReadinessArtifactValidationActionPlan = "";
const releaseArtifactValidationActionPlanStatusNode = mountDocument.createElement("p");
releaseArtifactValidationActionPlanStatusNode.dataset.workflowOverviewReleaseReadinessArtifactValidationActionPlanStatus = "";
const releaseArtifactValidationActionPlanRowsNode = {
...mountDocument.createElement("dl"),
children: [],
replaceChildren() {
this.children = [];
},
append(...nodes) {
this.children.push(...nodes);
},
};
releaseArtifactValidationActionPlanRowsNode.dataset.workflowOverviewReleaseReadinessArtifactValidationActionPlanRows = "";
const releaseArtifactValidationActionPlanRenderResult =
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState(
releaseArtifactValidationActionPlanRenderState,
{
documentRef: mountDocument,
mountNode: releaseArtifactValidationActionPlanMountNode,
statusNode: releaseArtifactValidationActionPlanStatusNode,
rowsNode: releaseArtifactValidationActionPlanRowsNode,
},
);
const releaseArtifactValidationActionPlanMountResult =
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState({
renderState: releaseArtifactValidationActionPlanRenderState,
documentRef: mountDocument,
mountNode: releaseArtifactValidationActionPlanMountNode,
statusNode: releaseArtifactValidationActionPlanStatusNode,
rowsNode: releaseArtifactValidationActionPlanRowsNode,
});
assert.equal(releaseArtifactValidationActionPlanRenderResult.rendered, true);
assert.equal(releaseArtifactValidationActionPlanRenderResult.rowCount, 3);
assert.equal(
releaseArtifactValidationActionPlanRenderResult.rowIds.includes("next-command"),
true,
);
assert.equal(releaseArtifactValidationActionPlanMountResult.ready, true);
assert.equal(releaseArtifactValidationActionPlanMountResult.renderResult.rowCount, 3);
const releaseArtifactGateExecutionSummary =
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel(
releaseArtifactValidation,
);
assert.equal(
releaseArtifactGateExecutionSummary.apiName,
"project-release-gate-execution-summary-view-model",
);
assert.equal(
releaseArtifactGateExecutionSummary.statusLine,
"Ready: All release gate evidence present",
);
assert.equal(releaseArtifactGateExecutionSummary.rows[0].value, "12/12 passed");
const releaseArtifactGateExecutionSummaryRenderState =
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState(
releaseArtifactGateExecutionSummary,
);
assert.equal(
releaseArtifactGateExecutionSummaryRenderState.statusLine,
"Ready: All release gate evidence present",
);
assert.equal(releaseArtifactGateExecutionSummaryRenderState.rows.length, 18);
assert.equal(releaseArtifactGateExecutionSummaryRenderState.gateRows.length, 12);
assert.equal(
releaseArtifactGateExecutionSummaryRenderState.dataset.handoffScope,
"workflow-overview-release-readiness-artifact-gate-execution-summary",
);
assert.equal(
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract().selectors.mount,
"[data-workflow-overview-release-readiness-artifact-gate-execution-summary]",
);
assert.equal(createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness().ready, false);
const releaseArtifactGateExecutionSummaryMountNode = mountDocument.createElement("section");
releaseArtifactGateExecutionSummaryMountNode.dataset.workflowOverviewReleaseReadinessArtifactGateExecutionSummary = "";
const releaseArtifactGateExecutionSummaryStatusNode = mountDocument.createElement("p");
releaseArtifactGateExecutionSummaryStatusNode.dataset.workflowOverviewReleaseReadinessArtifactGateExecutionSummaryStatus = "";
const releaseArtifactGateExecutionSummaryRowsNode = {
...mountDocument.createElement("dl"),
children: [],
replaceChildren() {
this.children = [];
},
append(...nodes) {
this.children.push(...nodes);
},
};
releaseArtifactGateExecutionSummaryRowsNode.dataset.workflowOverviewReleaseReadinessArtifactGateExecutionSummaryRows = "";
const releaseArtifactGateExecutionSummaryRenderResult =
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState(
releaseArtifactGateExecutionSummaryRenderState,
{
documentRef: mountDocument,
mountNode: releaseArtifactGateExecutionSummaryMountNode,
statusNode: releaseArtifactGateExecutionSummaryStatusNode,
rowsNode: releaseArtifactGateExecutionSummaryRowsNode,
},
);
const releaseArtifactGateExecutionSummaryMountResult =
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState({
renderState: releaseArtifactGateExecutionSummaryRenderState,
documentRef: mountDocument,
mountNode: releaseArtifactGateExecutionSummaryMountNode,
statusNode: releaseArtifactGateExecutionSummaryStatusNode,
rowsNode: releaseArtifactGateExecutionSummaryRowsNode,
});
assert.equal(releaseArtifactGateExecutionSummaryRenderResult.rendered, true);
assert.equal(releaseArtifactGateExecutionSummaryRenderResult.rowCount, 18);
assert.equal(
releaseArtifactGateExecutionSummaryRenderResult.rowIds.includes("gate-ui-node-smokes"),
true,
);
assert.equal(releaseArtifactGateExecutionSummaryMountResult.ready, true);
assert.equal(releaseArtifactGateExecutionSummaryMountResult.renderResult.rowCount, 18);
assert.equal(
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel().phase,
"blocked",
@@ -1435,6 +1724,86 @@ assert.equal(
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "validation-summary")?.value,
"Ready: Artifact evidence complete",
);
assert.equal(
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "gate-execution-summary")?.value,
"Ready: All release gate evidence present",
);
assert.equal(
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "action-plan")?.value,
"ready",
);
assert.equal(releaseArtifactUrlWorkflow.actionPlan.ready, true);
assert.equal(releaseArtifactUrlWorkflow.actionPlan.nextCommand, null);
assert.equal(
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan(
releaseArtifactUrlWorkflow,
).shellScript,
"# Project release readiness artifact URL workflow is already ready.\n",
);
assert.equal(
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel(
releaseArtifactUrlWorkflow,
).statusLine,
"Ready: All release gate evidence present",
);
const releaseArtifactUrlWorkflowRenderState =
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState(
releaseArtifactUrlWorkflowSummary,
);
assert.equal(
releaseArtifactUrlWorkflowRenderState.statusLine,
"Ready: Artifact URL workflow complete",
);
assert.equal(
releaseArtifactUrlWorkflowRenderState.dataset.handoffScope,
"workflow-overview-release-readiness-artifact-url-workflow",
);
assert.equal(
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract().selectors.mount,
"[data-workflow-overview-release-readiness-artifact-url-workflow]",
);
assert.equal(createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness().ready, false);
const releaseArtifactUrlWorkflowMountNode = mountDocument.createElement("section");
releaseArtifactUrlWorkflowMountNode.dataset.workflowOverviewReleaseReadinessArtifactUrlWorkflow = "";
const releaseArtifactUrlWorkflowStatusNode = mountDocument.createElement("p");
releaseArtifactUrlWorkflowStatusNode.dataset.workflowOverviewReleaseReadinessArtifactUrlWorkflowStatus = "";
const releaseArtifactUrlWorkflowRowsNode = {
...mountDocument.createElement("dl"),
children: [],
replaceChildren() {
this.children = [];
},
append(...nodes) {
this.children.push(...nodes);
},
};
releaseArtifactUrlWorkflowRowsNode.dataset.workflowOverviewReleaseReadinessArtifactUrlWorkflowRows = "";
const releaseArtifactUrlWorkflowRenderResult =
renderIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState(
releaseArtifactUrlWorkflowRenderState,
{
documentRef: mountDocument,
mountNode: releaseArtifactUrlWorkflowMountNode,
statusNode: releaseArtifactUrlWorkflowStatusNode,
rowsNode: releaseArtifactUrlWorkflowRowsNode,
},
);
const releaseArtifactUrlWorkflowMountResult =
mountIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState({
renderState: releaseArtifactUrlWorkflowRenderState,
documentRef: mountDocument,
mountNode: releaseArtifactUrlWorkflowMountNode,
statusNode: releaseArtifactUrlWorkflowStatusNode,
rowsNode: releaseArtifactUrlWorkflowRowsNode,
});
assert.equal(releaseArtifactUrlWorkflowRenderResult.rendered, true);
assert.equal(releaseArtifactUrlWorkflowRenderResult.rowCount, 8);
assert.equal(
releaseArtifactUrlWorkflowRenderResult.rowIds.includes("mount-result"),
true,
);
assert.equal(releaseArtifactUrlWorkflowMountResult.ready, true);
assert.equal(releaseArtifactUrlWorkflowMountResult.renderResult.rowCount, 8);
const releaseArtifactUrlWorkflowMissingDom = await loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl({
artifactUrl: "/project-release-readiness.json",
fetchRef: async () => ({
@@ -1473,9 +1842,80 @@ const workflowOverviewApi = {
getWorkflowOverviewApiSurfaceInventory: () => shellViewModel.shellApiSurfaceInventory,
getWorkflowOverviewPersistenceSummary: () => shellViewModel.shellPersistenceSummary,
validateWorkflowOverviewReleaseReadinessArtifactJson: () => ({ ready: true }),
runWorkflowOverviewReleaseReadinessArtifactJsonWorkflow: () => releaseArtifactJsonWorkflow,
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowSummaryViewModel: () => releaseArtifactJsonWorkflowSummary,
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowActionPlan: () => releaseArtifactJsonWorkflowActionPlan,
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowRenderState: () => releaseArtifactJsonWorkflowRenderState,
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract:
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomContract,
getWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness: () => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactJsonWorkflowDomReadiness({
documentRef: mountDocument,
mountNode: releaseArtifactJsonWorkflowMountNode,
statusNode: releaseArtifactJsonWorkflowStatusNode,
rowsNode: releaseArtifactJsonWorkflowRowsNode,
})
),
renderWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState: () => releaseArtifactJsonWorkflowRenderResult,
mountWorkflowOverviewReleaseReadinessArtifactJsonWorkflowState: () => releaseArtifactJsonWorkflowMountResult,
loadWorkflowOverviewReleaseReadinessArtifactUrl: loadIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrl,
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel: () => releaseArtifactUrlWorkflowSummary,
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowActionPlan: () => releaseArtifactUrlWorkflow.actionPlan,
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowRenderState: () => releaseArtifactUrlWorkflowRenderState,
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract:
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomContract,
getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness: () => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness({
documentRef: mountDocument,
mountNode: releaseArtifactUrlWorkflowMountNode,
statusNode: releaseArtifactUrlWorkflowStatusNode,
rowsNode: releaseArtifactUrlWorkflowRowsNode,
})
),
renderWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState: () => releaseArtifactUrlWorkflowRenderResult,
mountWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState: () => releaseArtifactUrlWorkflowMountResult,
getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel: () => releaseArtifactValidationSummary,
getWorkflowOverviewReleaseReadinessArtifactValidationActionPlan: () => releaseArtifactValidation.actionPlan,
getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryViewModel: () => releaseArtifactGateExecutionSummary,
getWorkflowOverviewReleaseReadinessArtifactUrlGateExecutionSummaryViewModel: () => releaseArtifactGateExecutionSummary,
getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState: () => (
releaseArtifactValidationActionPlanRenderState
),
getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract:
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomContract,
getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness: () => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactValidationActionPlanDomReadiness({
documentRef: mountDocument,
mountNode: releaseArtifactValidationActionPlanMountNode,
statusNode: releaseArtifactValidationActionPlanStatusNode,
rowsNode: releaseArtifactValidationActionPlanRowsNode,
})
),
renderWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState: () => (
releaseArtifactValidationActionPlanRenderResult
),
mountWorkflowOverviewReleaseReadinessArtifactValidationActionPlanState: () => (
releaseArtifactValidationActionPlanMountResult
),
getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryRenderState: () => (
releaseArtifactGateExecutionSummaryRenderState
),
getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract:
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomContract,
getWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness: () => (
createIniPanelShellWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryDomReadiness({
documentRef: mountDocument,
mountNode: releaseArtifactGateExecutionSummaryMountNode,
statusNode: releaseArtifactGateExecutionSummaryStatusNode,
rowsNode: releaseArtifactGateExecutionSummaryRowsNode,
})
),
renderWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState: () => (
releaseArtifactGateExecutionSummaryRenderResult
),
mountWorkflowOverviewReleaseReadinessArtifactGateExecutionSummaryState: () => (
releaseArtifactGateExecutionSummaryMountResult
),
getWorkflowOverviewReleaseReadinessArtifactDisplayViewModel: () => releaseArtifactDisplay,
getWorkflowOverviewReleaseReadinessArtifactRenderState: () => releaseArtifactRenderState,
getWorkflowOverviewReleaseReadinessArtifactDomContract: createIniPanelShellWorkflowOverviewReleaseReadinessArtifactDomContract,