PageIndex/pageindex/index
mountain 9ad7c687e0 fix: degrade to empty result on LLM retry exhaustion instead of aborting
llm_completion/llm_acompletion raised RuntimeError once retries were
exhausted, which propagated through the unprotected sync TOC-detection
chain (find_toc_pages -> toc_transformer -> toc_extractor -> ...) and
aborted the whole document index — a regression vs. the pre-SDK behavior
that returned "" and let callers degrade (extract_json('') -> {} ->
.get(default), falling back to no-TOC indexing).

Restore the empty-result contract ("" / ("", "error") with
return_finish_reason), now logged at WARNING so the failure is visible
rather than silent. The async gather sites keep return_exceptions=True to
absorb any non-LLM error. A single persistently-failing call no longer
blocks indexing the rest of the document.
2026-07-10 10:49:58 +08:00
..
__init__.py feat: add PageIndex SDK with local/cloud dual-mode support (#207) 2026-04-08 20:21:58 +08:00
page_index.py fix: prompt-injection delimiter escape, legacy config coercion, gather resilience, true cross-thread concurrency bound 2026-07-09 11:15:58 +08:00
page_index_md.py fix: prompt-injection delimiter escape, legacy config coercion, gather resilience, true cross-thread concurrency bound 2026-07-09 11:15:58 +08:00
pipeline.py fix: CMYK image drop, empty-doc crash, page_index shadowing, sqlite hardening, flaky tests 2026-07-09 11:58:59 +08:00
utils.py fix: degrade to empty result on LLM retry exhaustion instead of aborting 2026-07-10 10:49:58 +08:00