暴露 workflow overview 发布 artifact 校验 API
This commit is contained in:
@@ -31,6 +31,10 @@ import {
|
||||
import {
|
||||
createMachineSessionPersistenceSummary,
|
||||
} from "./panel-state-summary.js";
|
||||
import {
|
||||
createProjectReleaseReadinessArtifactValidation,
|
||||
parseProjectReleaseReadinessArtifactJson,
|
||||
} from "../../sdk/src/project-release-readiness.js";
|
||||
export {
|
||||
controlPageStatusText,
|
||||
createControlPageRefreshState,
|
||||
@@ -72,6 +76,10 @@ export {
|
||||
createMachineSessionWorkflowOverview,
|
||||
createMachineSessionWorkflowStatus,
|
||||
} from "./panel-state-summary.js";
|
||||
export {
|
||||
createProjectReleaseReadinessArtifactValidation,
|
||||
parseProjectReleaseReadinessArtifactJson,
|
||||
} from "../../sdk/src/project-release-readiness.js";
|
||||
|
||||
export function getVisibleIniPanelEntries() {
|
||||
return getIniPanelEntryManifest();
|
||||
@@ -1865,6 +1873,7 @@ export function createIniPanelShellWorkflowOverviewContract() {
|
||||
"getWorkflowOverviewSessionReadinessReport",
|
||||
"getWorkflowOverviewApiSurfaceInventory",
|
||||
"getWorkflowOverviewPersistenceSummary",
|
||||
"validateWorkflowOverviewReleaseReadinessArtifactJson",
|
||||
"getWorkflowOverviewDomContract",
|
||||
"getWorkflowOverviewDomReadiness",
|
||||
"renderWorkflowOverview",
|
||||
@@ -1874,6 +1883,46 @@ export function createIniPanelShellWorkflowOverviewContract() {
|
||||
};
|
||||
}
|
||||
|
||||
export function validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson(artifactJson) {
|
||||
try {
|
||||
const artifact = parseProjectReleaseReadinessArtifactJson(artifactJson);
|
||||
const validation = createProjectReleaseReadinessArtifactValidation(artifact);
|
||||
return {
|
||||
apiName: "ini-panel-shell-workflow-overview-release-readiness-artifact-validation",
|
||||
validationVersion: 1,
|
||||
phase: validation.ready ? "ready" : "blocked",
|
||||
ready: validation.ready,
|
||||
missing: [...validation.missing],
|
||||
error: null,
|
||||
artifactApiName: validation.artifactApiName,
|
||||
artifactVersion: validation.artifactVersion,
|
||||
gateCount: validation.gateCount,
|
||||
validation,
|
||||
rows: [...validation.rows],
|
||||
};
|
||||
} catch (error) {
|
||||
return {
|
||||
apiName: "ini-panel-shell-workflow-overview-release-readiness-artifact-validation",
|
||||
validationVersion: 1,
|
||||
phase: "blocked",
|
||||
ready: false,
|
||||
missing: ["artifact-json"],
|
||||
error: error?.message ?? "Unable to parse release readiness artifact JSON",
|
||||
artifactApiName: null,
|
||||
artifactVersion: null,
|
||||
gateCount: 0,
|
||||
validation: null,
|
||||
rows: [
|
||||
{
|
||||
id: "artifact-json",
|
||||
label: "Readiness artifact JSON",
|
||||
value: "blocked",
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export function createIniPanelShellWorkflowOverviewReadiness({
|
||||
overviewApi = null,
|
||||
contract = createIniPanelShellWorkflowOverviewContract(),
|
||||
|
||||
@@ -105,6 +105,7 @@
|
||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
|
||||
renderIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson,
|
||||
renderIniPanelShellSessionHandoffWorkflowState,
|
||||
mountIniPanelShellSessionHandoffWorkflow,
|
||||
} from "./ui-shell.js";
|
||||
@@ -133,6 +134,9 @@
|
||||
getWorkflowOverviewPersistenceSummary: (options) => (
|
||||
createMachineSessionPersistenceSummary(options)
|
||||
),
|
||||
validateWorkflowOverviewReleaseReadinessArtifactJson: (artifactJson) => (
|
||||
validateIniPanelShellWorkflowOverviewReleaseReadinessArtifactJson(artifactJson)
|
||||
),
|
||||
getWorkflowOverviewDomContract: (options) => (
|
||||
createIniPanelShellSessionHandoffWorkflowDomContract(options)
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user