Skip to content

Commit 39770fd

Browse files
committed
fix: Support additionalProperties in OpenAPI validator (#8443)
1 parent 076c0ac commit 39770fd

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

ai/mcp/validation/OpenApiValidator.mjs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,19 @@ function buildZodSchemaFromResponse(doc, schema) {
115115
}
116116
}
117117
zodSchema = z.object(shape);
118+
119+
if (schema.additionalProperties) {
120+
let additionalSchema;
121+
if (schema.additionalProperties === true) {
122+
additionalSchema = z.any();
123+
} else if (typeof schema.additionalProperties === 'object') {
124+
additionalSchema = buildZodSchemaFromResponse(doc, schema.additionalProperties);
125+
}
126+
127+
if (additionalSchema) {
128+
zodSchema = zodSchema.catchall(additionalSchema);
129+
}
130+
}
118131
} else if (schema.type === 'array') {
119132
if (schema.items) {
120133
zodSchema = z.array(buildZodSchemaFromResponse(doc, schema.items));

0 commit comments

Comments
 (0)