Files
workinf_Blender_Wasm/web/protocol/capability-gates.ts
mes123456 0fe8d2bb56
Some checks are pending
M6 deployable RC / quick (push) Waiting to run
M6 deployable RC / chromium (push) Blocked by required conditions
M6 deployable RC / release (push) Blocked by required conditions
Advance M8-M11 parity workflows
2026-08-17 04:37:07 -04:00

32 lines
1.0 KiB
TypeScript

import type { ErrorCode } from "./error";
export interface CapabilityIssue {
code: ErrorCode;
message: string;
path?: string;
recoverable: boolean;
}
export interface CapabilityGateResult {
taskId: "M6-02" | "N-011" | "N-012" | "N-013" | "N-014" | "N-015" | "N-017" | "N-018" | "N-020" | "N-021" | "N-022" | "N-023" | "N-024" | "N-025" | "N-026" | "PBR-007" | "PBR-008" | "PBR-009" | "PBR-010" | "PBR-011" | "PBR-012";
capability: string;
status: "READY" | "BLOCKED";
issues: CapabilityIssue[];
}
export function readyGate(taskId: CapabilityGateResult["taskId"], capability: string): CapabilityGateResult {
return { taskId, capability, status: "READY", issues: [] };
}
export function blockedGate(
taskId: CapabilityGateResult["taskId"],
capability: string,
issues: CapabilityIssue[],
): CapabilityGateResult {
return { taskId, capability, status: "BLOCKED", issues };
}
export function capabilityIssue(code: ErrorCode, message: string, path?: string, recoverable = true): CapabilityIssue {
return { code, message, path, recoverable };
}