PageIndex/pageindex/backend
mountain d97231b480 fix: empty-list scope, get_tree bool casing, md fence tracking; dedupe base URL
- local get_agent_tools: `set(doc_ids) if doc_ids is not None else None` so
  doc_ids=[] is a scope of nothing (reject all), not open mode. The public
  query path already guarded []; this hardens direct callers.
- legacy get_tree: send summary=true/false (lowercase) instead of Python's
  capitalized True/False, matching the modern CloudBackend and the API.
- markdown parser: track the opening fence character so a ```-fence isn't
  closed by a ~~~ line (CommonMark), keeping '#'-lines inside it out of headings.
- dedupe the cloud base URL: single API_BASE in cloud_api, referenced by
  CloudBackend and PageIndexClient (was three independent copies).

Regression tests for each.
2026-07-10 11:17:20 +08:00
..
__init__.py feat: add PageIndex SDK with local/cloud dual-mode support (#207) 2026-04-08 20:21:58 +08:00
cloud.py fix: empty-list scope, get_tree bool casing, md fence tracking; dedupe base URL 2026-07-10 11:17:20 +08:00
local.py fix: empty-list scope, get_tree bool casing, md fence tracking; dedupe base URL 2026-07-10 11:17:20 +08:00
protocol.py refactor(sdk): typed returns, protocol contract, parser layering 2026-07-07 12:15:34 +08:00