From 3fca67e443b81412f5ca8312ac07d58669f88939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=A9=98?= Date: Mon, 25 May 2026 07:46:12 +0000 Subject: [PATCH] fix: isRoleDefinition accepts oneOf frontmatter Without this, parseWorkflowPayload rejects workflows with oneOf frontmatter before semantic validation even runs. --- packages/cli-workflow/src/validate.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/cli-workflow/src/validate.ts b/packages/cli-workflow/src/validate.ts index e80c715..0a59632 100644 --- a/packages/cli-workflow/src/validate.ts +++ b/packages/cli-workflow/src/validate.ts @@ -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");