fix: isRoleDefinition accepts oneOf frontmatter

Without this, parseWorkflowPayload rejects workflows with oneOf
frontmatter before semantic validation even runs.
This commit is contained in:
2026-05-25 07:46:12 +00:00
parent 9b2460633c
commit 3fca67e443
+3 -1
View File
@@ -16,7 +16,9 @@ function isRoleDefinition(value: unknown): boolean {
return false;
}
const frontmatter = value.frontmatter;
const frontmatterOk = isRecord(frontmatter) && typeof frontmatter.type === "string";
const frontmatterOk =
isRecord(frontmatter) &&
(typeof frontmatter.type === "string" || Array.isArray(frontmatter.oneOf));
const capabilities = value.capabilities;
const capabilitiesOk =
Array.isArray(capabilities) && capabilities.every((c) => typeof c === "string");