Brings main up to f5c0b49d4b along with the file scan feature. Generated
console contracts and OpenAPI markdown are regenerated from the merged
backend; the GitHub preview spec keeps the deploy branch's version.
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Add a shared file malware-scanning module and use it in the Classic
Knowledge Base, RAG Pipeline local files and the Agent Knowledge Base.
- core/file_scan: scanner adapters for ClamAV (deployment-configured),
Cloudmersive, Scanii, OPSWAT MetaDefender Cloud and API-based
extensions (new `file.malware_scan` extension point).
- services/file_scan: FileScanService is the single entry point other
modules call. Providers are workspace-wide; a policy belongs to a
scope (dataset, knowledge_fs_space), so further modules can adopt
scanning without schema changes.
- Each file is scanned on its own: a rejected file fails only its own
document. Malware always blocks and deletes the stored original;
invalid credentials and exhausted quota stop processing regardless of
the "allow" fallback.
- Console: workspace scanner management and a per-knowledge-base
policy section in both settings forms; the Agent Knowledge Base
upload keeps going after a rejected file and explains each failure.
- Off by default behind FILE_SCAN_ENABLED.
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Sync with langgenius/knowledge-fs#94 revision 2 (13dbb69):
- Duplicate, overlapping and reworded content are detected from text and
the embeddings indexing already created, with no model calls; the
token consent now covers only factual conflict detection, with its own
switch and a checkbox in the enable dialog.
- Proxy GET .../tidy/summary and the kind/state filters; settings expose
conflicts and the space pause reason; findings may be outdated.
- Show scan progress and model calls, the pause reason with Retry,
failed documents, counts per review status and per kind, a kind
filter, and explain reworded duplicates found by stored vectors.
- Re-pin the KnowledgeFS contract; regenerate console contracts and docs;
add the new copy to all 25 locales.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>