PageIndex/pageindex
mountain 6a73279c0c fix: patch three critical defects from the SDK review
- local delete_collection: validate the collection name before rmtree.
  An unvalidated name like "../.." escaped files_dir and deleted
  arbitrary directories (path traversal).

- legacy page_index(): restore the node_id/summary/text/description
  enhancements. IndexConfig now carries booleans (pydantic coerces the
  legacy 'yes'/'no' strings at the boundary), but page_index_main still
  compared `opt.if_add_node_id == 'yes'` — always False — so every
  enhancement was silently skipped for legacy-API callers. Conditions
  now branch on the booleans, matching pageindex/index/page_index.py.

- LegacyCloudAPI._request: bound every request with a timeout
  (30s, 120s read timeout for streamed responses) so a dead connection
  can't hang legacy submit/poll/chat callers forever. The legacy
  contract tests pinned the missing timeout; updated to pin its
  presence instead.

Adds regression tests: path-traversal rejection, 'yes'/'no' -> bool
coercion, and timeout assertions.

Claude-Session: https://claude.ai/code/session_01Kx5DgKbhK1N8autqXH8SmS
2026-07-07 10:05:38 +08:00
..
backend fix: patch three critical defects from the SDK review 2026-07-07 10:05:38 +08:00
index fix(llm): configurable per-call litellm params instead of mutating the global 2026-06-25 17:09:43 +08:00
parser chore: remove unused ext local in PDF image block handling 2026-05-12 14:38:41 +08:00
storage feat(collection): scoped query mode and experimental multi-doc warning 2026-05-15 11:14:12 +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 feat(collection): doc_ids accepts str|list, design cleanups 2026-05-15 17:03:17 +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: patch three critical defects from the SDK review 2026-07-07 10:05:38 +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