From 9d284accce4cb373f1add861dac9cbf5cde37e97 Mon Sep 17 00:00:00 2001 From: ismeth Date: Wed, 4 Mar 2026 00:40:27 +0100 Subject: [PATCH] fix(schema): recurse additional and pattern properties in required cleanup --- script/build-schema-document.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/script/build-schema-document.ts b/script/build-schema-document.ts index f6de8437d..af7104f35 100644 --- a/script/build-schema-document.ts +++ b/script/build-schema-document.ts @@ -31,6 +31,18 @@ function removeDefaultedFromRequired(schema: Record): Record removeDefaultedFromRequired(item as Record)) } + if (result.additionalProperties && typeof result.additionalProperties === "object") { + result.additionalProperties = removeDefaultedFromRequired(result.additionalProperties as Record) + } + + if (result.patternProperties && typeof result.patternProperties === "object") { + const newPatternProperties: Record = {} + for (const [pattern, value] of Object.entries(result.patternProperties as Record)) { + newPatternProperties[pattern] = removeDefaultedFromRequired(value as Record) + } + result.patternProperties = newPatternProperties + } + for (const key of ["allOf", "anyOf", "oneOf"]) { if (Array.isArray(result[key])) { result[key] = (result[key] as Record[]).map((s) => removeDefaultedFromRequired(s))