Merge pull request #16344 from Rain6435/fix-openapi-array-parameters

fix: include items property in OpenAPI array parameters
  for OpenAI function calling
This commit is contained in:
Tim Jaeryang Baek
2025-08-08 12:12:28 +04:00
committed by GitHub

View File

@@ -398,10 +398,16 @@ def convert_openapi_to_tool_payload(openapi_spec):
description += ( description += (
f". Possible values: {', '.join(param_schema.get('enum'))}" f". Possible values: {', '.join(param_schema.get('enum'))}"
) )
tool["parameters"]["properties"][param_name] = { param_property = {
"type": param_schema.get("type"), "type": param_schema.get("type"),
"description": description, "description": description,
} }
# Include items property for array types (required by OpenAI)
if param_schema.get("type") == "array" and "items" in param_schema:
param_property["items"] = param_schema["items"]
tool["parameters"]["properties"][param_name] = param_property
if param.get("required"): if param.get("required"):
tool["parameters"]["required"].append(param_name) tool["parameters"]["required"].append(param_name)