HKUDS/DeepTutor · error · HTTPException

source_text is required

Error message

source_text is required

What it means

Error "source_text is required" thrown in HKUDS/DeepTutor.

Source

Thrown at deeptutor/api/routers/book.py:362

    return {"captures": [_capture_payload(capture) for capture in captures]}


@router.post("/books/{book_id}/learning-captures")
async def create_learning_capture(
    book_id: str,
    req: LearningCaptureCreateRequest,
) -> dict[str, Any]:
    engine = get_book_engine()
    if engine.load_book(book_id) is None:
        raise HTTPException(status_code=404, detail="Book not found")

    page = engine.load_page(book_id, req.page_id)
    if page is None:
        raise HTTPException(status_code=404, detail="Page not found")

    source_text = _normalize_capture_text(req.source_text)
    if not source_text:
        raise HTTPException(status_code=400, detail="source_text is required")

    book_title, chapter_title, default_source_locator = _derive_capture_title_values(
        book_id=book_id,
        page_id=req.page_id,
        block_id=req.block_id,
    )

    source_locator = req.source_locator.strip() or default_source_locator
    status = _coerce_capture_status(req.status) or LearningCaptureStatus.CAPTURED

    content_hash = _build_capture_hash(
        book_id,
        req.page_id,
        req.block_id,
        source_locator,
        source_text,
    )

View on GitHub (pinned to 3e82f13042)

When it happens

Trigger: Thrown at deeptutor/api/routers/book.py:362 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of HKUDS/DeepTutor@3e82f13042 (2026-08-27). Data as JSON: /api/errors/853ce04f10278a9c. Report an issue: GitHub.