Raphaël MANSUY
ad1d357b0d
chore(logs): normalize trailing whitespace and EOF for CI lint
2025-12-05 14:35:11 +08:00
Raphaël MANSUY
cf75f71291
ci: fix lint/pre-commit issues and apply autoformat
2025-12-05 14:31:13 +08:00
Raphaël MANSUY
83e7f6a236
logs: add multi-tenant audit & document count bugfix log (2025-01-06)
2025-12-05 14:15:50 +08:00
Raphaël MANSUY
30787c0d2d
auth: treat configured super-admin users as admin at login (assign admin role)
2025-12-05 13:27:29 +08:00
Raphaël MANSUY
61fb783f8f
Makefile: add seed-demo-tenants target (non-destructive API seeder)
2025-12-05 13:18:24 +08:00
Raphaël MANSUY
b69214e21b
Makefile: add reset-demo-tenants-dry-run (preview non-destructive workflow)
2025-12-05 13:15:35 +08:00
Raphaël MANSUY
afde907a5c
Makefile: add reset-demo-tenants target (non-interactive DB reset + demo tenant seed)
2025-12-05 13:12:29 +08:00
Raphaël MANSUY
0f7b8ff0a3
Fix: reset document status endpoint (dict access) and add UI 'Reset to Pending' + error handler improvements and translations
2025-12-05 13:07:44 +08:00
Raphaël MANSUY
e4962dd2a5
feat: Enhance multi-tenant support by allowing unauthenticated access and updating document routes to use tenant-specific RAG instances
2025-12-05 00:55:09 +08:00
Raphaël MANSUY
730c406749
feat: Implement multi-tenant support across graph and query routes
...
- Enhanced graph_routes.py and query_routes.py to support multi-tenant architecture by introducing tenant-specific RAG instances.
- Updated create_graph_routes and create_query_routes functions to accept rag_manager for tenant management.
- Added get_tenant_rag dependency to all relevant endpoints to ensure tenant context is utilized for operations.
- Modified Vite configuration to include comprehensive API proxy rules for seamless interaction with backend services.
- Implemented cascade delete functionality in tenant_service.py for tenant and knowledge base deletions.
- Added detailed logging and error handling for tenant operations.
- Created audit logs documenting the multi-tenant implementation process and decisions made.
2025-12-05 00:04:29 +08:00
Raphaël MANSUY
a6aa073d70
feat(webui): Add single-tenant/multi-tenant mode support
...
- Add LIGHTRAG_MULTI_TENANT env var to control multi-tenant mode
- Add multi_tenant_enabled flag to /auth-status and /health endpoints
- Update LoginPage to auto-redirect in single-tenant mode
- Update App.tsx to set default tenant/KB in single-tenant mode
- Update TenantSelector to skip API calls in single-tenant mode
- Update SiteHeader to hide tenant selector in single-tenant mode
- Update useTenantInitialization hook to skip in single-tenant mode
- Update AuthStore with multiTenantEnabled state
In single-tenant mode (default):
- No tenant selection UI shown
- Auto-creates default tenant and KB context
- Direct access to all WebUI features
In multi-tenant mode (LIGHTRAG_MULTI_TENANT=true):
- Shows tenant/KB selection UI
- Requires tenant API routes to be configured
2025-12-04 20:37:06 +08:00
Raphaël MANSUY
5b0a40b7b2
docs: add integration test and merge review log
2025-12-04 19:36:38 +08:00
Raphaël MANSUY
da7df549ee
docs: add merge readiness review document
2025-12-04 19:36:07 +08:00
Raphaël MANSUY
b1b58d1f8d
fix: add retry config keys to postgres integration test fixture
2025-12-04 19:33:32 +08:00
Raphaël MANSUY
78a5f8a9d6
docs: add test completion log
2025-12-04 19:30:57 +08:00
Raphaël MANSUY
2053af15a4
fix: correct test mock paths for rerank chunking tests
2025-12-04 19:28:50 +08:00
Raphaël MANSUY
4621ee216e
fix: sync document_routes.py from upstream to resolve conflict markers
2025-12-04 19:26:41 +08:00
Raphaël MANSUY
d8c80243a4
fix: sync base.py from upstream to remove orphaned abstract methods
2025-12-04 19:26:25 +08:00
Raphaël MANSUY
ccd2f82174
fix: sync all kg modules from upstream
2025-12-04 19:22:13 +08:00
Raphaël MANSUY
09d0721cab
fix: sync postgres and shared_storage from upstream
2025-12-04 19:22:01 +08:00
Raphaël MANSUY
46eee7273a
docs: add premerge completion summary
2025-12-04 19:21:09 +08:00
Raphaël MANSUY
0eb9ad689d
docs: add premerge completion summary
2025-12-04 19:21:05 +08:00
Raphaël MANSUY
d1262e999d
fix: sync core modules from upstream
2025-12-04 19:20:28 +08:00
Raphaël MANSUY
f6f3ed93d3
fix: sync openai.py from upstream
2025-12-04 19:20:11 +08:00
Raphaël MANSUY
253cc3b9e4
fix: sync pyproject.toml from upstream
2025-12-04 19:20:01 +08:00
Raphaël MANSUY
e09569527f
cherry-pick 5c964267
2025-12-04 19:19:24 +08:00
Raphaël MANSUY
ff257ec5c1
cherry-pick babbcb56
2025-12-04 19:19:24 +08:00
Raphaël MANSUY
e9bbea733f
cherry-pick 37178462
2025-12-04 19:19:24 +08:00
Raphaël MANSUY
042e19ec7c
cherry-pick 3c85e488
2025-12-04 19:19:24 +08:00
Raphaël MANSUY
8b305b47b7
cherry-pick c12bc372
2025-12-04 19:19:24 +08:00
Raphaël MANSUY
3f70dd04da
cherry-pick 831e658e
2025-12-04 19:19:24 +08:00
Raphaël MANSUY
7a9ebbedb7
cherry-pick f490622b
2025-12-04 19:19:24 +08:00
Raphaël MANSUY
7eda6d0a4e
cherry-pick d36be1f4
2025-12-04 19:19:23 +08:00
Raphaël MANSUY
248c389fda
cherry-pick a73314a4
2025-12-04 19:19:23 +08:00
Raphaël MANSUY
921e15fb87
cherry-pick 2823f92f
2025-12-04 19:19:23 +08:00
Raphaël MANSUY
6b0fe03dcf
cherry-pick 06b91d00
2025-12-04 19:19:23 +08:00
Raphaël MANSUY
7aa4af900a
cherry-pick d4b8a229
2025-12-04 19:19:23 +08:00
Raphaël MANSUY
aba1c65d7f
cherry-pick c358f405
2025-12-04 19:19:23 +08:00
Raphaël MANSUY
730c4030f7
cherry-pick 4e4b8d7e
2025-12-04 19:19:23 +08:00
Raphaël MANSUY
d761d8e6be
cherry-pick 41c26a36
2025-12-04 19:19:23 +08:00
Raphaël MANSUY
4af5f6c759
cherry-pick 36694eb9
2025-12-04 19:19:23 +08:00
Raphaël MANSUY
7ce259fbb4
cherry-pick 0b5e3f9d
2025-12-04 19:19:23 +08:00
Raphaël MANSUY
eef3178064
cherry-pick 026bca00
2025-12-04 19:19:23 +08:00
Raphaël MANSUY
4b18e6b3e4
cherry-pick 1ad0bf82
2025-12-04 19:19:22 +08:00
Raphaël MANSUY
5350756a1f
cherry-pick 14a015d4
2025-12-04 19:19:22 +08:00
Raphaël MANSUY
fa8aec3aae
cherry-pick 88a45523
2025-12-04 19:19:22 +08:00
Raphaël MANSUY
029f65f411
cherry-pick c18762e3
2025-12-04 19:19:22 +08:00
Raphaël MANSUY
50d882c7a7
cherry-pick efd50064
2025-12-04 19:19:22 +08:00
Raphaël MANSUY
a3cae5aaf8
cherry-pick a93c1661
2025-12-04 19:19:22 +08:00
Raphaël MANSUY
034fc51a6d
cherry-pick 4fcae985
2025-12-04 19:19:22 +08:00