Commit Graph
837 Commits
Author SHA1 Message Date
buua436 17e8bbc3de fix: update image utils test stub (#19605) 2026-09-14 15:40:38 +08:00
xugangqiang 7c99668aee fix(parser): emit xlsx spreadsheets as typed table chunks (#19509) 2026-09-14 15:10:48 +08:00
Harsh Kashyap fa2467d33f fix(api): intersect metadata filter results with the caller's doc scope (#19353)
Fix #19352 — metadata filter now intersects with document_ids (was extending/widening with duplicates). Mirrors Go's constrainDocIDs()
2026-09-14 14:16:07 +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
Sourav Rajvi ff667331ac fix(wiki): stamp retrieval fields so compiled pages are searchable (#18787)
Fix #18779 — wiki pages weren't retrievable (missing available_int/doc_id/content_with_weight).
2026-09-14 12:56:29 +08:00
Anupam Mediratta 3a9b84495c fix: fix security issue in ob_conn_base.py (#19524)
Fix critical SQL injection in OceanBase connector — column names (dict keys) were interpolated unescaped in filter expressions.
2026-09-14 11:49:38 +08:00
天海蒼灆 a1208cd273 fix: surface MinerU API error bodies and re-raise parser failures (#17308)
Fix MinerU/PaddleOCR error handling — send enum values, include response body in failures, and surface real parse errors.
2026-09-14 11:37:17 +08:00
AnonrouterandSunday Labs --labrat b69afb5005 feat: add AnonRouter model provider (#19561)
I maintain AnonRouter and added it as a hosted OpenAI-compatible model
provider

Co-authored-by: Sunday Labs --labrat <hi.sundaylabs@gmail.com>
2026-09-14 11:31:02 +08:00
Wenchao An 464e672ff6 fix(sdk): retain image IDs on chunks (#19505)
Fix SDK dropping image_id — Chunk now retains it (was AttributeError despite API returning it).
2026-09-14 10:59:00 +08:00
huyua9 b8f0fc496f fix: handle indirect PDF annotation arrays (#18894)
Dereference indirect /Annots arrays before PDF hyperlink extraction.
2026-09-14 10:40:49 +08:00
Ren Wei (任卫) c9a6f92738 Custom the file extension when saving DB fields, and Parse HTML fragments not just full HTML doc (#15998)
Since the database fields often store HTML fragments or Markdown fragments, a custom file name suffix field was added in the database datasource. Also, when parsing HTML, it should be compatible with parsing HTML fragments (without a body tag), not just full HTML documents (with a body tag).
2026-09-14 10:20:35 +08:00
Gonghan-PrincessandGonghan-Princess b50c13ff43 feat(data-source): add Feishu Wiki file connector (#19425)
Wiki file nodes only (not native Docs/Sheets or Bitable). Polling doesn't reconcile deletions.

Co-authored-by: Gonghan-Princess <268298391+Gonghan-Princess@users.noreply.github.com>
2026-09-14 09:50:59 +08:00
Sourav Rajvi ec0ff067c1 fix(parser): handle large sparse spreadsheets, JSON BOM, and XLSX QA chunking (#19237) 2026-09-13 15:46:34 +08:00
Yingfeng 1f5d33333a Add claim/evidence to tree/pageindex compilation pipeline (#19267) 2026-09-11 22:37:33 +08:00
天海蒼灆 ebbdd5028a feat(agent): support document_ids in retrieval node and tool (#16938) 2026-09-11 19:15:23 +08:00
VincentLambert 941edd1269 feat(nlp): rerank on natural chunk text, not tokenized content_ltks (#16961)
Fix reranker using tokenized text (10–94x lower scores) instead of natural chunk text.
2026-09-11 16:59:06 +08:00
xugangqiang 60f3347ba6 fix(build): anchor pdf_oxide version gate against suffix versions (#19152) 2026-09-11 16:43:12 +08:00
huyua9 842c7ceafd test(infinity): cover SQL literal escaping (#18956) 2026-09-11 16:15:13 +08:00
Sbaaoui Idriss 2dbce82990 fix(storage): retry transient S3 failures (#19526) 2026-09-11 15:50:41 +08:00
huyua9 56966c0df0 fix(template): align data analysis CodeExec prompt (#18958) 2026-09-11 15:26:09 +08:00
Aroh Maurya ea2ce6d323 fix(ssrf): unwrap IPv6 transition addresses in the URL guard (#19517)
Fix SSRF guard bypass via IPv6 transition addresses (NAT64/6to4/Teredo wrapping private IPv4). Now unwraps and re-checks embedded address in Python + Go.
2026-09-11 13:44:00 +08:00
huyua9 db74811549 fix(dataflow): preserve scalar text output shape (#18921)
Normalize non-empty markdown/text/html scalar outputs as string chunks; empty stays zero chunks.
2026-09-11 11:55:12 +08:00
Zhu Lei 0c3902afdb fix(wiki): treat MAP-extracted chunks as cache hits instead of missing (#19208)
Fix #19092 — stamp kb_id on Wiki MAP resume rows so OpenSearch completeness check can see persisted extracts (was reporting all as missing).
2026-09-11 10:47:50 +08:00
Sbaaoui Idriss 681f418424 fix(invoke): tolerate invalid headers across runtimes (#19481) 2026-09-11 10:21:25 +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
Jin Hai 3e30a47623 Go: add integration test (#19485)
```
$ go test -v ./test/api/...

InitServerTestConfig start
InitServerTestConfig init successfully
TearUp
=== RUN   TestCreateDataset
    dataset_api_test.go:12: Skip TestCreateDataset
    dataset_api_test.go:17: TestCreateDataset 1
--- PASS: TestCreateDataset (0.00s)
=== RUN   TestCreateUser
    user_api_test.go:14: TestCreateUser
--- PASS: TestCreateUser (0.00s)
PASS
TearDown
```

---------

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-09-10 22:57:18 +08:00
Zhu Lei 13458475c0 fix(agent): compare retrieval KBs by resolved embedding model, not raw embd_id (#19206)
Fix #19203 — agent retrieval now treats UUID and composite embedding IDs as same model when tenant_embd_id matches, reusing validate_dataset_embedding_models.
2026-09-10 21:11:48 +08:00
xu jiaming 3dab5db315 fix(mcp): send rerank_candidates_count so retrieval paging works past 64 results (#19018)
Fix #19017 — MCP retrieval now sends rerank_candidates_count = max(64, page * page_size), fixing paging past 64 results.
2026-09-10 20:12:43 +08:00
Wenchao An 099e4580a0 fix(sdk): preserve agent answer references (#19365)
Fix SDK losing agent references — now reads from nested event data, not outer event. Streaming message_end events no longer discarded.
2026-09-10 20:07:57 +08:00
Liu An 5bd80b3455 Docs: Update version references to v0.27.2 in READMEs and docs (#19501)
- Update version tags in README files (including translations) from
v0.27.1 to v0.27.2
- Modify Docker image references and documentation to reflect new
version
- Update version badges and image descriptions
- Maintain consistency across all language variants of README files
2026-09-10 18:35:02 +08:00
Lynn 97029b08f1 Fix: num token usage (#19495) 2026-09-10 17:55:17 +08:00
Wang Qi a1261c8106 [Refactor] Use regex to do hightlight (#19488) 2026-09-10 16:34:09 +08:00
VincentLambert 2b8861ceb8 fix(llm): drop Claude sampling params rejected by Bedrock and Anthropic (#19295)
Fix Bedrock Claude 4.1+ rejecting both temperature and top_p. New policy applies to Anthropic + Bedrock; drops top_p when temperature present, or all sampling params for no-sampling models.
2026-09-10 15:59:16 +08:00
Fei Haihao 48f6cbf275 fix(embedding): preserve zero filename embedding weight (#19397) 2026-09-10 10:35:53 +08:00
Sbaaoui Idriss af5f9d7476 fix(restful-tests): align Go parser config contract (#19442) 2026-09-10 10:16:05 +08:00
Liu AnandJin Hai ba575b0ce2 Test: Adjust the priority of some test cases from P1/P2 to P3. (#19461)
### Summary

as title

Co-authored-by: Jin Hai <haijin.chn@gmail.com>
2026-09-09 23:58:00 +08:00
Wenchao An cf18c94acd fix(storage): accept tenant arguments in encrypted Azure calls (#19457) 2026-09-09 23:24:15 +08:00
Wenchao An 30a29603fb fix(storage): overwrite existing Azure SAS objects (#19458) 2026-09-09 23:23:49 +08:00
Caobaining1andHermes Agent 2bf80b920b feat(agentic_rag): add tool playbook, clarify tool specs, stop wasted… (#19459)
## Summary
- rag/prompts/action_run.md: add a TOOL PLAYBOOK section covering
combination chains, convergence rules, and a tool-status -> next-action
table, so the model emits a state patch instead of re-searching an
exhausted direction.
- rag/advanced_rag/harness/action_session.py: rewrite the 7 tool specs
into an explicit WHEN TO CALL / DO NOT CALL / ARGUMENTS / OUTPUT / IF IT
FAILS contract, and cap the shared evidence pool at _EVIDENCE_POOL_CAP
(60, mirrors _SCA_VIEW_CAP) so a saturated session stops admitting
chunks the SCA view can no longer read.
- rag/advanced_rag/agentic_rag_graph.py: short-circuit _route_sca to
finalize once the evidence pool reaches the SCA view cap, since another
research round cannot flip the sufficiency verdict.
- test/unit_test/rag/advanced_rag/test_action_session_schema.py: cover
the action-session tool-spec schema.

Co-authored-by: Hermes Agent <hermes-agent@localhost>
2026-09-09 22:18:19 +08:00
maoyifeng ab23b2e1b3 CI: Optimize api test cases failed (#19450)
optimize ci api tests cases failed:
test_documents_delete_invalid_dataset_partial_duplicate_repeat_and_cross_dataset
- requests.exceptions.ReadTimeout:
HTTPConnectionPool(host='host.docker.internal', port=15799): Read timed
out. (read timeout=30)
2026-09-09 21:01:04 +08:00
Fei Haihao 2c1af18d62 fix(embedding): use Replicate run API for query embeddings (#19405)
Fix Replicate query embedding — Client.embed() doesn't exist in pinned SDK. Reuse Client.run() path and return single vector. 

Signed-off-by: FeiHaihao <3175989593@qq.com>
2026-09-09 13:45:37 +08:00
天海蒼灆 792a17cf20 fix(mineru): align backend names with current MinerU API (#19055) 2026-09-09 13:07:42 +08:00
Ryker_Feng b537f39260 fix: avoid KeyError when database config has no password (#11051) (#16064)
Fix #11051 — decrypt_database_config() no longer crashes on missing password key. Skips decryption when absent; honors explicit empty dict.
2026-09-09 12:10:22 +08:00
euvre 38c40e64a9 fix(agent): treat missing List Operations input as empty list (#19275) 2026-09-09 11:07:43 +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