{"record":{"id":"091f0d26792ab4f2","repo":"HKUDS/DeepTutor","slug":"str-exc-091f0d","errorCode":null,"errorMessage":"str(exc)","messagePattern":"str\\(exc\\)","errorType":"http","errorClass":"HTTPException","httpStatus":500,"severity":"error","filePath":"deeptutor/api/routers/plugins_api.py","lineNumber":132,"sourceCode":"@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\ndef _queue_process_emit(\n    queue: asyncio.Queue[dict[str, Any]],\n    loop: asyncio.AbstractEventLoop,\n):\n    def emit(event: ProcessLogEvent) -> None:\n        loop.call_soon_threadsafe(\n            queue.put_nowait,\n            {\"kind\": \"process_log\", \"payload\": event.to_dict()},\n        )\n\n    return emit\n","sourceCodeStart":114,"sourceCodeEnd":150,"githubUrl":"https://github.com/HKUDS/DeepTutor/blob/3e82f130422a813cdd73c10b21a44e9325f5821a/deeptutor/api/routers/plugins_api.py#L114-L150","documentation":"Error \"str(exc)\" thrown in HKUDS/DeepTutor.","triggerScenarios":"Thrown at deeptutor/api/routers/plugins_api.py:132 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"}