Fix#19542 — Go document download now checks caller access (datasetService.Accessible); previously any logged-in user could download any tenant's document. Returns same "not found" envelope to avoid leaking existence.
Co-authored-by: coderdailyone <codecookie@proton.me>
Fix#16831 — Go document endpoints now reject changes to ingestion-managed fields (progress, chunk_num, token_num, etc.), including zero-valued. PUT now persists name only, not full record.
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.
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.
Fix Go Dify retrieval dropping custom metadata — restore merge loop that was lost in #16983 merge resolution. Now SearchMetadataByKBs results are actually applied.
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.
### 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>
### 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.
Follow up on #18316 by preserving cancellation as a terminal state in the Go Agent OpenAI-compatible response path. Previously, a cancelled run closed the event channel without an event, so the adapter could return an empty successful completion or finish a stream with stop.
Preserve completed component progress when an ingestion task resumes from a checkpoint. Checkpointed operators are skipped and do not emit lifecycle events again, which previously caused the document progress to
remain below 100%.
### Summary
Complete the Go Agent OpenAI-compatible response path for `POST
/api/v1/agents/chat/completions` when `openai-compatible` is true. This
endpoint is already documented and routed, but the Go implementation
returned a placeholder response instead of executing the Agent.