{"record":{"id":"12f708992fa8a046","repo":"HKUDS/DeepTutor","slug":"user-intent-is-required","errorCode":null,"errorMessage":"user_intent is required","messagePattern":"user_intent is required","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"deeptutor/api/routers/book.py","lineNumber":523,"sourceCode":"    if page is None:\n        raise HTTPException(status_code=404, detail=\"Page not found\")\n    return {\"page\": page.model_dump(mode=\"json\")}\n\n\n@router.delete(\"/books/{book_id}\")\nasync def delete_book(book_id: str) -> dict[str, Any]:\n    engine = get_book_engine()\n    ok = engine.delete_book(book_id)\n    if not ok:\n        raise HTTPException(status_code=404, detail=\"Book not found\")\n    return {\"deleted\": True, \"book_id\": book_id}\n\n\n@router.post(\"/books\")\nasync def create_book(req: CreateBookRequest) -> dict[str, Any]:\n    \"\"\"Stage 1: capture inputs + run IdeationAgent.\"\"\"\n    if not req.user_intent.strip():\n        raise HTTPException(status_code=400, detail=\"user_intent is required\")\n    engine = get_book_engine()\n    try:\n        book, proposal = await engine.create_book(\n            user_intent=req.user_intent,\n            chat_session_id=req.chat_session_id,\n            chat_selections=req.chat_selections,\n            notebook_refs=req.notebook_refs,\n            knowledge_bases=req.knowledge_bases,\n            question_categories=req.question_categories,\n            question_entries=req.question_entries,\n            language=req.language,\n            depth=req.depth,\n        )\n    except Exception as exc:  # noqa: BLE001\n        logger.error(f\"create_book failed: {exc}\", exc_info=True)\n        raise HTTPException(status_code=500, detail=str(exc))\n    return {\n        \"book\": book.model_dump(mode=\"json\"),","sourceCodeStart":505,"sourceCodeEnd":541,"githubUrl":"https://github.com/HKUDS/DeepTutor/blob/3e82f130422a813cdd73c10b21a44e9325f5821a/deeptutor/api/routers/book.py#L505-L541","documentation":"Error \"user_intent is required\" thrown in HKUDS/DeepTutor.","triggerScenarios":"Thrown at deeptutor/api/routers/book.py:523 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"}