Fix handling of missing required parameters in ApiTool (#2965)
This commit is contained in:
@@ -148,7 +148,7 @@ class ApiTool(Tool):
|
|||||||
value = ''
|
value = ''
|
||||||
if parameter['name'] in parameters:
|
if parameter['name'] in parameters:
|
||||||
value = parameters[parameter['name']]
|
value = parameters[parameter['name']]
|
||||||
elif parameter['required']:
|
elif parameter.get('required', False):
|
||||||
raise ToolParameterValidationError(f"Missing required parameter {parameter['name']}")
|
raise ToolParameterValidationError(f"Missing required parameter {parameter['name']}")
|
||||||
else:
|
else:
|
||||||
value = (parameter.get('schema', {}) or {}).get('default', '')
|
value = (parameter.get('schema', {}) or {}).get('default', '')
|
||||||
@@ -158,7 +158,7 @@ class ApiTool(Tool):
|
|||||||
value = ''
|
value = ''
|
||||||
if parameter['name'] in parameters:
|
if parameter['name'] in parameters:
|
||||||
value = parameters[parameter['name']]
|
value = parameters[parameter['name']]
|
||||||
elif parameter['required']:
|
elif parameter.get('required', False):
|
||||||
raise ToolParameterValidationError(f"Missing required parameter {parameter['name']}")
|
raise ToolParameterValidationError(f"Missing required parameter {parameter['name']}")
|
||||||
else:
|
else:
|
||||||
value = (parameter.get('schema', {}) or {}).get('default', '')
|
value = (parameter.get('schema', {}) or {}).get('default', '')
|
||||||
@@ -168,7 +168,7 @@ class ApiTool(Tool):
|
|||||||
value = ''
|
value = ''
|
||||||
if parameter['name'] in parameters:
|
if parameter['name'] in parameters:
|
||||||
value = parameters[parameter['name']]
|
value = parameters[parameter['name']]
|
||||||
elif parameter['required']:
|
elif parameter.get('required', False):
|
||||||
raise ToolParameterValidationError(f"Missing required parameter {parameter['name']}")
|
raise ToolParameterValidationError(f"Missing required parameter {parameter['name']}")
|
||||||
else:
|
else:
|
||||||
value = (parameter.get('schema', {}) or {}).get('default', '')
|
value = (parameter.get('schema', {}) or {}).get('default', '')
|
||||||
|
Reference in New Issue
Block a user