# # SPDX-FileCopyrightText: Hadad # SPDX-License-Identifier: Apache-2.0 # import json def extract_tool_parameters(raw_parameters, fallback_engine="google"): try: parsed_params = json.loads(raw_parameters or "{}") if "engine" in parsed_params and parsed_params["engine"] not in ["google", "bing", "baidu"]: parsed_params["engine"] = fallback_engine if "engine" not in parsed_params: parsed_params["engine"] = fallback_engine return parsed_params, None except Exception as parse_error: return None, f"Invalid tool arguments: {str(parse_error)}"