Skip to content

Commit 3957c6f

Browse files
committed
Revert "Raise error on more invalid function schemas (openai#356)"
This reverts commit 4854a74.
1 parent 08b02ff commit 3957c6f

File tree

2 files changed

+2
-13
lines changed

2 files changed

+2
-13
lines changed

src/agents/strict_schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def _ensure_strict_json_schema(
5454
elif (
5555
typ == "object"
5656
and "additionalProperties" in json_schema
57-
and json_schema["additionalProperties"]
57+
and json_schema["additionalProperties"] is True
5858
):
5959
raise UserError(
6060
"additionalProperties should not be set for object types. This could be because "

tests/test_function_schema.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from collections.abc import Mapping
21
from enum import Enum
32
from typing import Any, Literal
43

@@ -422,20 +421,10 @@ def test_var_keyword_dict_annotation():
422421
def func(**kwargs: dict[str, int]):
423422
return kwargs
424423

425-
fs = function_schema(func, use_docstring_info=False, strict_json_schema=False)
424+
fs = function_schema(func, use_docstring_info=False)
426425

427426
properties = fs.params_json_schema.get("properties", {})
428427
# The name of the field is "kwargs", and it's a JSON object i.e. a dict.
429428
assert properties.get("kwargs").get("type") == "object"
430429
# The values in the dict are integers.
431430
assert properties.get("kwargs").get("additionalProperties").get("type") == "integer"
432-
433-
434-
def test_schema_with_mapping_raises_strict_mode_error():
435-
"""A mapping type is not allowed in strict mode. Same for dicts. Ensure we raise a UserError."""
436-
437-
def func_with_mapping(test_one: Mapping[str, int]) -> str:
438-
return "foo"
439-
440-
with pytest.raises(UserError):
441-
function_schema(func_with_mapping)

0 commit comments

Comments
 (0)