Commit Graph
2105 Commits
Author SHA1 Message Date
Sbaaoui Idriss 9e932547e5 fix(storage):preserve errors during backend retries (#19578) 2026-09-14 14:39:30 +08:00
Harsh Kashyap 9ec20a97e9 fix(api): treat an empty metadata_condition.conditions list as no filter (#19368)
Fix #19366 — empty metadata_condition no longer treated as active filter (was scoping to -999, returning zero chunks, and dropping document_ids).
2026-09-14 14:13:06 +08:00
Harsh Kashyap af61e3fcd6 fix(api): validate embedding check sample count (#19574)
Fix #19567 — validate check_num before sampler use. Non-integer/zero/negative values now return clear argument errors.
2026-09-14 13:53:11 +08:00
Guofang.Tang 984d8ab510 fix(agent): make Python webhook trace appends atomic (#19091)
Fix Python webhook trace race — now uses Valkey WATCH transaction with retry instead of GET/SET, preventing concurrent overwrites.
2026-09-14 12:59:09 +08:00
Muhammad Zuhaib Zahid 74a49b5e4e Fix: keep a reference to the qqbot dispatch task so replies are not dropped (#19029)
Fix QQ Bot losing replies — create_task without strong reference let tasks be GC'd mid-execution.
2026-09-14 12:58:26 +08:00
Sourav Rajvi b15b159d07 feat(api): add image_update_mode for chunk image updates (#18889)
Fix #18585 — chunk PATCH now supports image_update_mode: append (default), replace, remove.
2026-09-14 12:57:13 +08:00
brucehu 6754722b00 feat(channels): WeCom can bind agent (#18598) 2026-09-14 12:55:33 +08:00
Yingfeng 1f5d33333a Add claim/evidence to tree/pageindex compilation pipeline (#19267) 2026-09-11 22:37:33 +08:00
Sbaaoui Idriss bcf33c6238 fix(structure-graph): discover buckets from raw rows (#19523) 2026-09-11 13:37:01 +08:00
buua436 2aedd79b8f refa: remove unused knowledge compilation code (#19437) 2026-09-11 10:15:53 +08:00
Harsh Kashyap 19ec6245c4 fix(api): authorize task cancellation by dataset access (#19359) 2026-09-11 09:53:09 +08:00
Lynn 4c97c9ad64 Fix: remove deprecated functions (#19449) 2026-09-10 20:04:39 +08:00
buua436 7e86beadd1 fix: route navigation API through tree search (#19493) 2026-09-10 17:13:57 +08:00
K.P 8efa7383e6 fix: prevent IndexError in PUT /api/v1/searches/<id> when search not found (#16027)
Fix #16011 — check search exists before indexing [0]; returns proper error instead of 500.
2026-09-09 15:31:41 +08:00
Harsh Kashyap fb2f881871 fix(api): authorize dataset and workspace commit routes (#19357)
Fixes #19356

The file-commit endpoints resolved a dataset or folder id but never
checked that the caller can access it. Any logged-in user could read
another tenant's commit history, diffs, and file contents, pull version
history for any file id, and create commits in a workspace they don't
own. Sibling artifact routes in dataset_api.py apply
KnowledgebaseService.accessible for the same data; these did not.
2026-09-09 10:33:23 +08:00
euvre 3931c69a5b fix(api): return "search not found" instead of IndexError when updating a missing search (#19380) 2026-09-09 10:02:06 +08:00
Wang Qi a13593097b Refactor: Add RERANK_TOKEN_LIMIT_MODE = truncate (default) / passthrough / raise_error (#19404) 2026-09-09 09:55:00 +08:00
Gonghan-Princess 24c115bf92 feat(channels): allow chat channels to connect to agents (#19307) 2026-09-08 18:44:59 +08:00
Sbaaoui Idriss a670f5260b fix(docs): document dataset language create and update behavior (#19372)
### Summary

The API docs now describe the optional language field for dataset
creation and updates. They document trimming, validation limits,
defaults, and unchanged update behavior.
2026-09-08 16:26:42 +08:00
buua436 7b01906d45 fix: filter structure alteration by document products (#19346) 2026-09-08 13:23:28 +08:00
MarMar Labs 6c280f10a0 fix(api): accept repeated memory_type and tenant_id filters when listing memories (#19281)
Fix GET /api/v1/memories list filters — memory_type, tenant_id, owner_ids, ids now read all repeated query keys (was only first). Matches /datasets//documents pattern.
2026-09-08 11:48:16 +08:00
Wang Qi b7e577ce48 Refactor: combine 3 retrieval/search API as one (#19303) 2026-09-08 11:41:46 +08:00
Manan Bansal 03d861a926 fix(api): allow setting language on dataset creation (#15703) (#16242)
Fix #15703 — dataset create endpoint now accepts language.
2026-09-08 10:53:40 +08:00
ÖnderyandCursor 38230c45d3 feat(llm): forward OpenAI user on embedding and parse requests (#19065)
Add user attribution to embedding calls — forwards user on OpenAI-compatible providers via current_llm_user(). Excludes LocalAI/Xinference (reject unknown fields). Accepts user_id on ingest/parse/chunk endpoints; redacts from logs. Omitted = unchanged. Go/vision/TTS/ASR out of scope.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 19:30:33 +08:00
Wang Qi f8b0a1de19 Refactor: update dataset API should not have ext (#19272) 2026-09-07 14:25:15 +08:00
MarMar Labs fa52804fa3 fix(api): return the full error tuple when both id and ids are given to list documents (#19280)
Fix dataset document list endpoint unpack error when both id and ids provided — helper returned 2 values but caller expects 4. Now returns 4.
2026-09-07 10:58:05 +08:00
Lem0nTea2002 bef34757b2 fix(agent): await MCP transport cleanup before stopping event loop (#19093)
Fix MCP session cleanup — now properly awaits server task and closes transport contexts/executors before stopping event loop. Wakes queued callers on shutdown.
2026-09-04 17:57:50 +08:00
Lynn ff69dba542 Fix: apply dia.llm_id overrides (#19214)
### Summary

As title, from #15610
2026-09-04 17:46:49 +08:00
buua436 f4bafa1596 fix: exclude empty documents from structure alteration (#19246) 2026-09-04 17:06:38 +08:00
Lynn 2f8dab2199 Fix: upload image to model in chat (#19257) 2026-09-04 16:37:25 +08:00
maoyifeng 5d0e2253cf fix ci unit test not found in installed package 'wordnet' (#19251) 2026-09-04 13:52:43 +08:00
buua436 447f87d79f feat: adapt knowledge compilation concurrency (#19156) 2026-09-04 11:17:56 +08:00
buua436 ef8b424888 fix: normalize reasoning stream markers (#19216) 2026-09-03 19:06:53 +08:00
euvre 4bb522d11d fix(rag): unify parser_config delimiter defaults on a single constant (#19058) 2026-09-03 17:16:37 +08:00
68cdb795f5 Fix OAuth redirect URI examples (#15683)
Fix OAuth callback URL examples in docs — now use /api/v1/auth/oauth/<channel>/callback (was stale /v1/user/oauth/callback).

Co-authored-by: 谢金城 <xiejincheng@xgd.com>
Co-authored-by: Jin Hai <haijin.chn@gmail.com>
2026-09-03 15:20:42 +08:00
Sbaaoui Idriss 330b988b61 fix(security): generate random UUIDv4 identifiers (#19159) 2026-09-03 13:13:57 +08:00
mkaaadandcoderabbitai[bot] d29a4fc26b fix(py-go-connector): enforce kb authorization in rebuild (#19190)
Based on community PR #15272 by @rene0422

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-09-03 12:01:28 +08:00
Wang Qi 51da97784b Refactor: get rid of graphrag and raptor during task creation (#19194) 2026-09-03 11:15:58 +08:00
Sbaaoui Idriss f8fc130162 fix(searchbots): enforce KB authorization before retrieval (#19165) 2026-09-03 11:10:57 +08:00
Yingfeng a11c27e01d Adjust navigation tools for agentic search (#19172) 2026-09-03 10:43:00 +08:00
Yash Raj Pandey bfccb5177d Stop splitting resume documents into per-page parsing tasks (#18713) 2026-09-03 10:40:29 +08:00
Wang Qi 6ec9c6a737 Fix: get rid of graphrag raptor in parser_config in REST API (#19161) 2026-09-03 09:40:52 +08:00
Lynn c534144a4c Fix: restrict tenant updates to the current user's own tenant (#19155)
### Summary

As title.
2026-09-02 19:08:27 +08:00
xu jiaming c187dfdc73 fix(mcp): read total_datasets so the fetch-all early-exit works (#19020)
Fix #19019 — MCP _fetch_all_datasets() used wrong total key (total vs total_datasets), causing extra empty-page requests. Now reads total_datasets with fallback.
2026-09-02 19:05:50 +08:00
buua436 cf441d4c72 fix: align wiki alteration provenance (#19140) 2026-09-02 18:03:15 +08:00
Wang Qi b4a3ff3c64 Fix: link to existing dataset clean the document chunks (#19143) 2026-09-02 16:00:37 +08:00
Wang Qi 61492c0362 Refactor: add total/returned entities/relations 2 (#19114)
Follow on #19095
2026-09-02 14:28:58 +08:00
Jin Hai 988dfda4c9 Fix: Use default pipeline configuration when parsing documents via HTTP API- #13297 (#19116)
Refer to #13297

---------

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-09-02 06:12:17 +08:00
880876f60f fix(agentic_rag): table-aware retrieval truncation fixes + action-session loop guards (#19112)
Fixes a family of table-retrieval truncation bugs and an action-session
infinite loop in the agentic RAG medium path, all root-caused on a
tabular-reasoning question

1. action_session turn cap enforced (action_session.py)
_route checked _pending_calls before attempts, so a model that kept
emitting tool calls never hit the 4-turn finalize — a single session
could burn the whole pass budget (219 retrievals / 600s observed). Added
_route_after_tool: after a tool batch, the turn budget is checked and
the session converges to finalize instead of looping back to run_action.
2. Table chunks kept whole through retrieval (search.py,
text_processing.py, action_session.py)
Three truncation points hid mid-table answer rows from the session
model:
- grep_search narrowed table chunks to 700 chars
(_GREP_OUT_CHARS_PER_CHUNK)
- _narrow_content only passed HTML tables (<table>/<tr/<td) whole —
markdown pipe tables were sentence-window narrowed
- _admit_evidence truncated the model-facing output to 1200 chars even
though the pool held the full chunk,non-table chunks keep the existing
truncation paths unchanged.

3. SCA sees more evidence (agentic_rag_graph.py, sufficient_context.py)
_SCA_VIEW_CAP 24 → 60; _SCA_CLAIMS_CONTEXT_MAX 9000 → 48000;
table-bearing evidence anchors rendered in full (bounded by the context
budget).

4. Supporting: runtime instrumentation for rounds/slots/retrievals, LLM
token accounting, slot-evidence preservation through SCA, dedup
checkpoints. Timeout/budget constants restored to upstream defaults.

---------

Co-authored-by: Loong <213221738@seu.edu.cn>
Co-authored-by: Hermes Agent <hermes-agent@localhost>
2026-09-01 21:58:29 +08:00
MarMar Labs cd27ae4c6e fix(memory): put the keyword weight in the text slot of the fusion expression (#18989)
Fix memory search hybrid weights inverted (slot 1 is vector weight, not keyword). Now matches build_fusion_expr. At 0.7, memory search becomes keyword-dominant (was vector-dominant).
2026-09-01 16:14:36 +08:00