Commit ef859c88
Changed files (2)
src
openai
lib
tests
src/openai/lib/_pydantic.py
@@ -62,6 +62,11 @@ def _ensure_strict_json_schema(
for def_name, def_schema in defs.items():
_ensure_strict_json_schema(def_schema, path=(*path, "$defs", def_name))
+ definitions = json_schema.get("definitions")
+ if is_dict(definitions):
+ for definition_name, definition_schema in definitions.items():
+ _ensure_strict_json_schema(definition_schema, path=(*path, "definitions", definition_name))
+
return json_schema
tests/lib/test_pydantic.py
@@ -130,6 +130,7 @@ def test_most_types() -> None:
"type": "object",
"properties": {"column_name": {"title": "Column Name", "type": "string"}},
"required": ["column_name"],
+ "additionalProperties": False,
},
"Condition": {
"title": "Condition",
@@ -147,6 +148,7 @@ def test_most_types() -> None:
},
},
"required": ["column", "operator", "value"],
+ "additionalProperties": False,
},
"OrderBy": {
"title": "OrderBy",