{"record":{"id":"9ff238aa1db569d0","repo":"HKUDS/DeepTutor","slug":"str-e-9ff238","errorCode":null,"errorMessage":"str(e)","messagePattern":"str\\(e\\)","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"deeptutor/api/routers/question_notebook.py","lineNumber":215,"sourceCode":"        )\n    return records\n\n\n@router.post(\"/entries/upsert\")\nasync def upsert_single_entry(payload: UpsertEntryRequest):\n    store = get_sqlite_session_store()\n    images_records = await _persist_answer_images(payload.session_id, payload.user_answer_images)\n    item = payload.model_dump()\n    # The store expects ``user_answer_images`` as a plain list of dicts\n    # (or absent to mean \"leave the stored images alone\"). Strip the\n    # upload payload version and replace with the persisted records.\n    item.pop(\"user_answer_images\", None)\n    if images_records is not None:\n        item[\"user_answer_images\"] = images_records\n    try:\n        await store.upsert_notebook_entries(payload.session_id, [item])\n    except ValueError as e:\n        raise HTTPException(status_code=404, detail=str(e))\n    entry = await store.find_notebook_entry(\n        payload.session_id, payload.question_id, turn_id=payload.turn_id\n    )\n    if entry is None:\n        raise HTTPException(status_code=500, detail=\"Upsert failed\")\n    return entry\n\n\n@router.get(\"/entries\", response_model=NotebookEntryListResponse)\nasync def list_entries(\n    category_id: int | None = Query(default=None),\n    uncategorized: bool = Query(\n        default=False,\n        description=\"Only entries filed under no category — the triage inbox. \"\n        \"Ignored when category_id is set.\",\n    ),\n    bookmarked: bool | None = Query(default=None),\n    is_correct: bool | None = Query(default=None),","sourceCodeStart":197,"sourceCodeEnd":233,"githubUrl":"https://github.com/HKUDS/DeepTutor/blob/3e82f130422a813cdd73c10b21a44e9325f5821a/deeptutor/api/routers/question_notebook.py#L197-L233","documentation":"Error \"str(e)\" thrown in HKUDS/DeepTutor.","triggerScenarios":"Thrown at deeptutor/api/routers/question_notebook.py:215 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"}