Fix handling of missing required parameters in ApiTool (#2965)

This commit is contained in:
Yulong Wang 2024-03-26 10:53:39 +08:00 committed by GitHub
parent a676d4387c
commit 8e05261588
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -148,7 +148,7 @@ class ApiTool(Tool):
value = ''
if parameter['name'] in parameters:
value = parameters[parameter['name']]
elif parameter['required']:
elif parameter.get('required', False):
raise ToolParameterValidationError(f"Missing required parameter {parameter['name']}")
else:
value = (parameter.get('schema', {}) or {}).get('default', '')
@ -158,7 +158,7 @@ class ApiTool(Tool):
value = ''
if parameter['name'] in parameters:
value = parameters[parameter['name']]
elif parameter['required']:
elif parameter.get('required', False):
raise ToolParameterValidationError(f"Missing required parameter {parameter['name']}")
else:
value = (parameter.get('schema', {}) or {}).get('default', '')
@ -168,7 +168,7 @@ class ApiTool(Tool):
value = ''
if parameter['name'] in parameters:
value = parameters[parameter['name']]
elif parameter['required']:
elif parameter.get('required', False):
raise ToolParameterValidationError(f"Missing required parameter {parameter['name']}")
else:
value = (parameter.get('schema', {}) or {}).get('default', '')