Commit Graph
1424 Commits
Author SHA1 Message Date
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
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
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
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
buua436 447f87d79f feat: adapt knowledge compilation concurrency (#19156) 2026-09-04 11:17:56 +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
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
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
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
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
Wang Qi fe63e09781 Refactor: add total/returned entities/relations (#19095) 2026-09-01 16:01:59 +08:00
MarMar Labs 5e1898e293 fix(dify): search the dataset owner's index, not the caller's (#18987)
Fix team-member Dify retrieval searching wrong tenant index. Changed tenant_id to kb.tenant_id in both retrieval_by_children and kg_retriever.
2026-08-31 17:11:40 +08:00
b149a392f4 fix(api): return parsing-status counts at the top level of each dataset (#17595) (#17611)
Fix #17595 — parsing status counts now return as top-level fields per documentation, not nested under parsing_status.

Signed-off-by: Anai-Guo <antai12232931@anaiguo.com>
Signed-off-by: Anai-Guo <antai12232931@outlook.com>
Co-authored-by: Anai-Guo <antai12232931@anaiguo.com>
Co-authored-by: Jin Hai <haijin.chn@gmail.com>
2026-08-31 13:52:08 +08:00
Wang Qi 66113709cc Feature: add highlight for retrieval testing and search (#18981) 2026-08-28 19:26:41 +08:00
天海蒼灆andCursor 9ca62e8da3 fix: include filename in file download Content-Disposition header (#17105)
### Summary

GET /api/v1/files/{id} now sets attachment filename for both Python and
Go handlers so browsers can save downloads with the correct name.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 14:42:04 +08:00
Jin Hai d37486e295 Python && Go: fix parse status (#18841)
Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-08-28 12:47:41 +08:00
MarMar Labs 439c3be9cb fix(dataset): rebuild the navigation tree in the dataset owner index (#18932)
Fix generate_nav tenant mismatch: wipe used dataset owner's tenant_id but rebuild used caller's. Team members could delete owner's navigation tree and rebuild into their own. Now both use kb.tenant_id.
2026-08-28 11:58:31 +08:00
Wang Qi f74e04581a Refactor: add page_size support (#18876) 2026-08-28 09:37:44 +08:00
buua436 0411c52904 fix: honor generation parameter enable flags (#18880) 2026-08-27 20:22:55 +08:00
Lynn b224f338fa Fix: rm default model in create and display builtin model (#18875) 2026-08-27 19:00:05 +08:00
Wang Qi fb5ee011d3 Fix: hide skills folder in REST API (#18859) 2026-08-27 16:21:10 +08:00
Wang Qi 68b893cd1a Refactor: Add rerank_candidates_count, knn top_k and num_candidates to /api/v1/retrieval (#18768) 2026-08-26 20:38:19 +08:00
MarMar Labs d3542463c9 docs(api): spell the recommendation endpoint the way the server registers it (#18764)
### Summary

Update comments
2026-08-26 12:10:05 +08:00
Wang Qi fd7cd3289a Fix total as the total, follow Go (#18750) 2026-08-25 19:25:43 +08:00
Wang Qi 92c69db79e Refactor: expose knn top_k and knn num_candidaties (#18737)
Follow on #18300
2026-08-25 17:16:36 +08:00
Mpider-San aa57022bfd Fix: cross-KB document id collision in data source sync (#18116) (#18244)
### What problem does this PR solve?

Closes #18116.

Fix cross-KB document ID collision (#18116). Older ID derivation excluded kb_id, causing two KBs to fight over one row. Unified derivation to be KB-scoped, with fallback for existing rows. Stranded rows are reclaimed, dataset deletion now cleans up state, and upgraded instances update in place. Tests added.
2026-08-25 15:15:46 +08:00
buua436 3a836911d1 fix: support hierarchical Wiki topic navigation (#18721) 2026-08-25 13:59:27 +08:00
Ali Farhan 03d2835731 fix(api): make the API-key subject carve-out on POST /messages reachable (#18026)
### Summary

Fix add_message so API-key callers can pass user_id (previously ignored because Python checked a Go-only flag). Now uses g.auth_type == AUTH_API. JWT/session callers stay bound to the authenticated principal. Tests added; backward compatible.
2026-08-25 12:06:51 +08:00
Wang Qi 4c6f745c1e Refactor: rename prefetch_size to rerank_candidates (#18718) 2026-08-25 11:35:53 +08:00
He Wang 2ef9d373ee feat(bedrock): support API key authentication (#18301)
### Summary

Closes #17848.

This replaces #17958 with a smaller implementation focused on the
original requirement. The previous PR gradually expanded beyond the
necessary scope; the optional custom endpoint extension is intentionally
excluded from this version.

- Add request-scoped Bedrock API key authentication to the Python
Bedrock adapters and Go chat runtime.
- Discover and persist models available to API key instances, so users
do not need to manually enter the model type, model name, or maximum
token count.
- Add API Key mode to the existing Bedrock settings UI and refresh the
model and default-model lists after instance changes.
- Preserve selected models during credential-only updates while keeping
the existing SigV4 authentication modes unchanged.
- Return a clear error for unsupported API-key reranking.
- Document instance-scoped authentication and short-term API key
guidance.
2026-08-25 11:08:24 +08:00
Öndery 65d8301ea3 fix(models): pass selected models into verify and catch constructor errors (#17132)
Two fixes not yet on main:

Pass picker-selected models into Verify – useVerifyProvider now includes modelInfoRef in the verify payload so the backend can verify the user's actual selection.

Guard model construction – Wrap EmbeddingModel/ChatModel init in try/except so failures are recorded as per-model FAIL instead of aborting the whole verify call.

Also: later failures now overwrite previous successes per review feedback.
2026-08-25 11:07:08 +08:00