Commit graph

83 commits

Author SHA1 Message Date
BukeLy
311c7b5f1c fix(filesystem): preserve lazy filesystem exports 2026-05-27 02:12:35 +08:00
BukeLy
cd571ddbaf fix(filesystem): relax structural read limits 2026-05-27 02:12:35 +08:00
BukeLy
2b69719f60 feat(filesystem): support space-separated cat node ids 2026-05-27 02:12:35 +08:00
BukeLy
4a158f9e5f fix(filesystem): label semantic search paths in cli output 2026-05-27 02:12:35 +08:00
BukeLy
7104602a70 refactor(filesystem): simplify semantic search result fields 2026-05-27 02:12:35 +08:00
Bukely_
d139181c86 fix(filesystem): delay register side effects until insert
Write projection and raw side effects only after a successful catalog insert, and clean owned artifacts when registration fails.
2026-05-27 02:12:35 +08:00
Bukely_
c86d5727ed fix(filesystem): preserve pageindex registration errors
Persist PageIndex tree build failure details in metadata_status and surface them through stat and structural reads.
2026-05-27 02:12:35 +08:00
Bukely_
112ef99d47 fix(filesystem): escape sqlite like wildcards
Escape wildcard characters in recursive folder LIKE filters and metadata contains queries.
2026-05-27 02:12:35 +08:00
Bukely_
8e0f295464 fix(filesystem): detect ambiguous virtual paths
Resolve root virtual file paths correctly and raise a clear error for ambiguous file targets.
2026-05-27 02:12:35 +08:00
Bukely_
e9453725b6 fix(filesystem): lazy-load pifs import surface
Avoid eager optional dependency imports when importing PageIndexFileSystem or filesystem semantic exports.
2026-05-27 02:12:35 +08:00
Bukely_
70eece52e5 fix(filesystem): require real grep source lines
Do not emit source-file grep fallback candidates unless an actual source line matches the query.
2026-05-27 02:12:34 +08:00
BukeLy
9734bf6914 fix(filesystem): enforce pifs shell command limits 2026-05-27 02:12:34 +08:00
Bukely_
cb9db0bab9 fix(filesystem): guard summary index dimensions
Raise on summary projection dimension mismatch instead of resetting an existing index.
2026-05-27 02:12:34 +08:00
Bukely_
2297453103 fix(filesystem): avoid replaying failed agent runs
Only use the fresh event loop fallback for missing running-loop detection, so RuntimeError from a threaded agent run is not retried.
2026-05-27 02:12:34 +08:00
Bukely_
ad45f96dfa fix(filesystem): use summary projection for default semantic search
Route default semantic search to the summary projection when summary is the only populated semantic channel.
2026-05-27 02:12:34 +08:00
Bukely_
3519adfbd1 fix(filesystem): preserve sqlite catalog durability
Remove the synchronous=OFF pragma from PIFS catalog inserts so SQLite remains the durable source of truth.
2026-05-27 02:12:34 +08:00
BukeLy
fe1c4aeb1c fix(filesystem): search workspace topic questions before clarifying 2026-05-27 02:12:34 +08:00
BukeLy
75acf5dce3 fix(filesystem): generalize pifs tool identity prompt 2026-05-27 02:12:34 +08:00
BukeLy
c421626136 fix(filesystem): constrain pifs agent tool identity 2026-05-27 02:12:34 +08:00
BukeLy
30830fc19e refactor(filesystem): remove pre-release store migrations 2026-05-27 02:12:34 +08:00
BukeLy
de1992def1 refactor(filesystem): make pifs providers configurable 2026-05-27 02:12:34 +08:00
BukeLy
7c021a7dd0 refactor(filesystem): unify pifs metadata state 2026-05-27 02:12:34 +08:00
BukeLy
fc0be1aeee fix(filesystem): restore summary vector search in cli 2026-05-27 02:12:34 +08:00
BukeLy
7e70b580f0 fix(filesystem): show generated metadata in stat 2026-05-27 02:12:34 +08:00
BukeLy
5c948d0840 fix(filesystem): require metadata evidence in chat 2026-05-27 02:12:34 +08:00
BukeLy
8ae94ade19 fix(filesystem): render root folder path correctly 2026-05-27 02:12:34 +08:00
BukeLy
ec96812e6b fix(filesystem): scope pifs chat identity 2026-05-27 02:12:34 +08:00
BukeLy
c12c2de65b fix(filesystem): guide structural node reads 2026-05-27 02:12:34 +08:00
BukeLy
beed21647f fix(filesystem): remove chat request started noise 2026-05-27 02:12:34 +08:00
BukeLy
cb1bfb00fa fix(filesystem): reuse agent session in pifs chat 2026-05-27 02:12:34 +08:00
BukeLy
b2089712b3 refactor(filesystem): remove reference id concept 2026-05-27 02:12:34 +08:00
BukeLy
a80b84dae4 fix(filesystem): remove session ref aliases from cli output 2026-05-27 02:12:34 +08:00
BukeLy
06d8553a0a fix(filesystem): clarify folder path metadata errors 2026-05-27 02:12:34 +08:00
BukeLy
144e8ba325 feat(pifs): add find maxdepth traversal limit 2026-05-27 02:12:34 +08:00
BukeLy
5a78131509 fix(filesystem): suppress chat input echo while streaming 2026-05-27 02:12:34 +08:00
BukeLy
b9ee711087 fix(filesystem): require target-first cat syntax 2026-05-27 02:12:34 +08:00
BukeLy
3d62293a1e fix(filesystem): avoid duplicate pifs chat output 2026-05-27 02:12:34 +08:00
BukeLy
3625a592f2 fix(filesystem): stream pifs chat by default 2026-05-27 02:12:34 +08:00
BukeLy
e074bf1765 fix(filesystem): package pifs cli entrypoint 2026-05-27 02:12:34 +08:00
BukeLy
574125d7dd fix(filesystem): add pifs ask and chat commands 2026-05-27 02:12:34 +08:00
BukeLy
74d0600261 feat(filesystem): add PageIndex filesystem shell 2026-05-27 02:12:34 +08:00
Ray
a108c021ae
Disable agent tracing and auto-add litellm/ prefix for retrieve_model
* Disable agent tracing and auto-add litellm/ prefix for retrieve_model

* Preserve supported retrieve_model prefixes

* Remove temporary retrieve_model tests

* Limit tracing disablement to demo execution
2026-03-29 00:55:57 +08:00
Ray
4002dc94de Rename demo script and update README wording 2026-03-28 04:56:05 +08:00
Ray
77722838e1
Restructure examples directory and improve document storage (#189)
* Consolidate tests/ into examples/documents/

* Add line_count and reorder structure keys

* Lazy-load documents with _meta.json index

* Update demo script and add pre-shipped workspace

* Extract shared helpers for JSON reading and meta entry building
2026-03-28 04:28:59 +08:00
Kylin
5d4491f3bf
Add PageIndexClient with agent-based retrieval via OpenAI Agents SDK (#125)
* Add PageIndexClient with retrieve, streaming support and litellm integration
* Add OpenAI agents demo example
* Update README with example agent demo section
* Support separate retrieve_model configuration for index and retrieve
2026-03-26 23:19:50 +08:00
Kylin
2403be8f27
Integrate LiteLLM for multi-provider LLM support (#168)
* Integrate litellm for multi-provider LLM support

* recover the default config yaml

* Use litellm.acompletion for native async support

* fix tob

* Rename llm_complete/allm_complete to llm_completion/llm_acompletion, remove unused llm_complete_stream

* Pin litellm to version 1.82.0

* resolve comments

* args from cli is used to overrides config.yaml

* Fix get_page_tokens hardcoded model default

Pass opt.model to get_page_tokens so tokenization respects the
configured model instead of always using gpt-4o-2024-11-20.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Remove explicit openai dependency from requirements.txt

openai is no longer directly imported; it comes in as a transitive
dependency of litellm. Pinning it explicitly risks version conflicts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Restore openai==1.101.0 pin in requirements.txt

litellm==1.82.0 and openai-agents have conflicting openai version
requirements, but openai==1.101.0 works at runtime for both.
The pin is necessary to prevent litellm from pulling in openai>=2.x
which would break openai-agents.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Remove explicit openai dependency from requirements.txt

openai is not directly used; it comes in as a transitive dependency
of litellm. No openai-agents in this branch so no pin needed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix an litellm error log

* resolve comments

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 18:47:07 +08:00
BukeLy
85f17f9955 Fix list_index variable shadowing in fix_incorrect_toc
The loop variable `list_index = page_index - start_index` was
overwriting the outer `list_index = incorrect_item['list_index']`,
causing results to be written back to wrong index positions.

Rename the loop variable to `page_list_idx` to avoid shadowing.

Closes #66
2026-03-16 14:19:51 +08:00
Bukely_
599d2ce497
Merge pull request #65 from luojiyin1987/fix/extract-toc-infinite-loop
fix: prevent infinite loop in extract_toc_content
2026-03-16 13:34:05 +08:00
Bukely_
b487f9d7c7
Merge pull request #63 from luojiyin1987/fix/api-error-return
fix: make ChatGPT_API_with_finish_reason return consistent tuple
2026-03-16 13:24:54 +08:00
Matias Insaurralde
cf52a678a3
fix: rename tob_extractor_prompt typo to toc_extractor_prompt (#109)
Signed-off-by: Matías Insaurralde <matias@insaurral.de>
2026-02-27 15:16:19 +08:00