fix: force additionalProperties false for strict mode compatibility #10210
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
OpenRouter's strict mode validator requires
additionalProperties: falseon all object-type schemas. The Apify MCP server'scall-actortool hadadditionalProperties: {}(empty schema = allow any) which was rejected with:Solution
Modified
normalizeToolSchema()to:additionalProperties: falseon all object-type schemas, even when the original schema explicitly set a different value (like{}ortrue)additionalPropertiesto actual object types (schemas withtype: "object"orproperties), not to primitive types like strings/numbers/arraysThis ensures MCP tools that expect arbitrary input objects have their schemas normalized for strict mode compatibility.
Testing
json-schema.spec.tsandmcp_server.spec.tsto expect the correct behaviorImportant
normalizeToolSchema()now enforcesadditionalProperties: falsefor object-type schemas to ensure strict mode compatibility, with updated tests verifying this behavior.normalizeToolSchema()injson-schema.tsnow forcesadditionalProperties: falsefor all object-type schemas, overriding any existing values.additionalPropertiesis only added to schemas withtype: "object"orproperties, not to primitive types.json-schema.spec.tsandmcp_server.spec.tsto verify correct handling ofadditionalProperties.This description was created by
for b6deeb7. You can customize this summary. It will automatically update as commits are pushed.