{"record":{"id":"41ca1fdb1a4ce998","repo":"HKUDS/DeepTutor","slug":"api-tool-not-found","errorCode":null,"errorMessage":"api.tool_not_found","messagePattern":"api\\.tool_not_found","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"deeptutor/api/routers/plugins_api.py","lineNumber":120,"sourceCode":"            \"author\": plugin.author,\n        }\n        for plugin in plugin_manifests\n    ]\n\n    return {\n        \"tools\": tools,\n        \"capabilities\": capabilities,\n        \"plugins\": plugins,\n    }\n\n\n@router.post(\"/tools/{tool_name}/execute\")\nasync def execute_tool(tool_name: str, body: ToolExecuteRequest):\n    \"\"\"Execute a single tool with explicit parameters (for Playground testing).\"\"\"\n    registry = get_tool_registry()\n    tool = registry.get(tool_name)\n    if not tool:\n        raise HTTPException(status_code=404, detail=t(\"api.tool_not_found\", name=tool_name))\n\n    try:\n        result = await tool.execute(**body.params)\n        return {\n            \"success\": result.success,\n            \"content\": result.content,\n            \"sources\": result.sources,\n            \"metadata\": result.metadata,\n        }\n    except Exception as exc:\n        logger.exception(\"Tool execution failed: %s\", tool_name)\n        raise HTTPException(status_code=500, detail=str(exc))\n\n\ndef _sse(event: str, payload: dict[str, Any]) -> str:\n    return f\"event: {event}\\ndata: {json.dumps(payload, ensure_ascii=False, default=str)}\\n\\n\"\n\n","sourceCodeStart":102,"sourceCodeEnd":138,"githubUrl":"https://github.com/HKUDS/DeepTutor/blob/3e82f130422a813cdd73c10b21a44e9325f5821a/deeptutor/api/routers/plugins_api.py#L102-L138","documentation":"Error \"api.tool_not_found\" thrown in HKUDS/DeepTutor.","triggerScenarios":"Thrown at deeptutor/api/routers/plugins_api.py:120 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3e82f130422a813cdd73c10b21a44e9325f5821a","analyzedAt":"2026-08-27T06:57:25.364Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}