PageIndex/pageindex
mountain 956147d864 fix: resolve five P1 defects from the SDK review
- AgentRunner.run: offload to a worker-thread event loop when called
  from inside a running loop (Jupyter, FastAPI handlers) — mirrors
  pipeline._run_async; Runner.run_sync raised RuntimeError there.

- SQLiteStorage: create connections with check_same_thread=False so
  close() can actually close connections created by worker threads.
  Each thread still gets its own connection via threading.local; with
  the default True those closes raised ProgrammingError (silently
  swallowed) and leaked every worker connection.

- CloudBackend.query: non-streaming chat completions now use a 300s
  timeout and a single attempt. The default 30s ReadTimeout fired
  before generation finished and the retry loop re-billed the full
  server-side retrieval + generation up to three times. _request gains
  retries/timeout overrides; the exhausted-retry path also no longer
  sleeps before raising.

- MarkdownParser: content before the first heading (abstract/preamble)
  becomes a node instead of being silently dropped and unretrievable;
  a file with no headings at all yields a single document node instead
  of zero nodes (which pushed an empty page list into the pipeline).

- LegacyCloudAPI.is_retrieval_ready: API failures (revoked key, network
  down) now propagate as PageIndexAPIError instead of reading as
  "not ready", which turned polling loops into infinite loops.

Adds regression tests for each fix.

Claude-Session: https://claude.ai/code/session_01Kx5DgKbhK1N8autqXH8SmS
2026-07-07 10:12:51 +08:00
..
backend fix: resolve five P1 defects from the SDK review 2026-07-07 10:12:51 +08:00
index fix(llm): configurable per-call litellm params instead of mutating the global 2026-06-25 17:09:43 +08:00
parser fix: resolve five P1 defects from the SDK review 2026-07-07 10:12:51 +08:00
storage fix: resolve five P1 defects from the SDK review 2026-07-07 10:12:51 +08:00
__init__.py fix(llm): configurable per-call litellm params instead of mutating the global 2026-06-25 17:09:43 +08:00
agent.py fix: resolve five P1 defects from the SDK review 2026-07-07 10:12:51 +08:00
client.py feat(collection): doc_ids accepts str|list, design cleanups 2026-05-15 17:03:17 +08:00
cloud_api.py fix: resolve five P1 defects from the SDK review 2026-07-07 10:12:51 +08:00
collection.py feat(collection): doc_ids accepts str|list, design cleanups 2026-05-15 17:03:17 +08:00
config.py fix(llm): configurable per-call litellm params instead of mutating the global 2026-06-25 17:09:43 +08:00
errors.py fix(cloud): align cloud/local backend contracts and harden the HTTP layer 2026-07-07 09:40:09 +08:00
events.py feat: add PageIndex SDK with local/cloud dual-mode support (#207) 2026-04-08 20:21:58 +08:00
page_index.py fix: patch three critical defects from the SDK review 2026-07-07 10:05:38 +08:00
page_index_md.py Restructure examples directory and improve document storage (#189) 2026-03-28 04:28:59 +08:00
retrieve.py Restructure examples directory and improve document storage (#189) 2026-03-28 04:28:59 +08:00
utils.py fix: use .get() in get_leaf_nodes to avoid KeyError on leaf nodes (#331) 2026-07-03 15:48:29 +08:00