libre-webui 0.8.6 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -46
- package/backend/dist/db.d.ts.map +1 -1
- package/backend/dist/db.js +21 -19
- package/backend/dist/db.js.map +1 -1
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +31 -944
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/middleware/auth.d.ts.map +1 -1
- package/backend/dist/middleware/auth.js +7 -20
- package/backend/dist/middleware/auth.js.map +1 -1
- package/backend/dist/middleware/index.d.ts.map +1 -1
- package/backend/dist/middleware/index.js +4 -2
- package/backend/dist/middleware/index.js.map +1 -1
- package/backend/dist/models/personaModel.d.ts.map +1 -1
- package/backend/dist/models/personaModel.js +11 -9
- package/backend/dist/models/personaModel.js.map +1 -1
- package/backend/dist/routes/auth.d.ts.map +1 -1
- package/backend/dist/routes/auth.js +36 -14
- package/backend/dist/routes/auth.js.map +1 -1
- package/backend/dist/routes/chat.d.ts.map +1 -1
- package/backend/dist/routes/chat.js +61 -242
- package/backend/dist/routes/chat.js.map +1 -1
- package/backend/dist/routes/documents.d.ts.map +1 -1
- package/backend/dist/routes/documents.js +10 -8
- package/backend/dist/routes/documents.js.map +1 -1
- package/backend/dist/routes/embeddings.d.ts +3 -0
- package/backend/dist/routes/embeddings.d.ts.map +1 -0
- package/backend/dist/routes/embeddings.js +52 -0
- package/backend/dist/routes/embeddings.js.map +1 -0
- package/backend/dist/routes/imageGen.d.ts.map +1 -1
- package/backend/dist/routes/imageGen.js +9 -7
- package/backend/dist/routes/imageGen.js.map +1 -1
- package/backend/dist/routes/ollama.d.ts.map +1 -1
- package/backend/dist/routes/ollama.js +22 -239
- package/backend/dist/routes/ollama.js.map +1 -1
- package/backend/dist/routes/personas.d.ts.map +1 -1
- package/backend/dist/routes/personas.js +3 -1
- package/backend/dist/routes/personas.js.map +1 -1
- package/backend/dist/routes/plugins.d.ts.map +1 -1
- package/backend/dist/routes/plugins.js +7 -105
- package/backend/dist/routes/plugins.js.map +1 -1
- package/backend/dist/routes/tts.d.ts.map +1 -1
- package/backend/dist/routes/tts.js +7 -5
- package/backend/dist/routes/tts.js.map +1 -1
- package/backend/dist/routes/users.d.ts.map +1 -1
- package/backend/dist/routes/users.js +7 -5
- package/backend/dist/routes/users.js.map +1 -1
- package/backend/dist/services/assistantCompletionService.d.ts +26 -0
- package/backend/dist/services/assistantCompletionService.d.ts.map +1 -0
- package/backend/dist/services/assistantCompletionService.js +53 -0
- package/backend/dist/services/assistantCompletionService.js.map +1 -0
- package/backend/dist/services/authService.d.ts +2 -0
- package/backend/dist/services/authService.d.ts.map +1 -1
- package/backend/dist/services/authService.js +15 -7
- package/backend/dist/services/authService.js.map +1 -1
- package/backend/dist/services/chatGenerationService.d.ts +32 -0
- package/backend/dist/services/chatGenerationService.d.ts.map +1 -0
- package/backend/dist/services/chatGenerationService.js +118 -0
- package/backend/dist/services/chatGenerationService.js.map +1 -0
- package/backend/dist/services/chatRequestService.d.ts +55 -0
- package/backend/dist/services/chatRequestService.d.ts.map +1 -0
- package/backend/dist/services/chatRequestService.js +103 -0
- package/backend/dist/services/chatRequestService.js.map +1 -0
- package/backend/dist/services/chatService.d.ts +0 -1
- package/backend/dist/services/chatService.d.ts.map +1 -1
- package/backend/dist/services/chatService.js +17 -113
- package/backend/dist/services/chatService.js.map +1 -1
- package/backend/dist/services/documentService.d.ts.map +1 -1
- package/backend/dist/services/documentService.js +23 -21
- package/backend/dist/services/documentService.js.map +1 -1
- package/backend/dist/services/embeddingService.d.ts +9 -0
- package/backend/dist/services/embeddingService.d.ts.map +1 -0
- package/backend/dist/services/embeddingService.js +155 -0
- package/backend/dist/services/embeddingService.js.map +1 -0
- package/backend/dist/services/encryptionService.d.ts.map +1 -1
- package/backend/dist/services/encryptionService.js +26 -24
- package/backend/dist/services/encryptionService.js.map +1 -1
- package/backend/dist/services/galleryService.d.ts.map +1 -1
- package/backend/dist/services/galleryService.js +8 -6
- package/backend/dist/services/galleryService.js.map +1 -1
- package/backend/dist/services/memoryService.d.ts +2 -13
- package/backend/dist/services/memoryService.d.ts.map +1 -1
- package/backend/dist/services/memoryService.js +45 -211
- package/backend/dist/services/memoryService.js.map +1 -1
- package/backend/dist/services/memoryUtils.d.ts +29 -0
- package/backend/dist/services/memoryUtils.d.ts.map +1 -0
- package/backend/dist/services/memoryUtils.js +165 -0
- package/backend/dist/services/memoryUtils.js.map +1 -0
- package/backend/dist/services/mutationEngineService.d.ts.map +1 -1
- package/backend/dist/services/mutationEngineService.js +5 -3
- package/backend/dist/services/mutationEngineService.js.map +1 -1
- package/backend/dist/services/ollamaService.d.ts.map +1 -1
- package/backend/dist/services/ollamaService.js +67 -34
- package/backend/dist/services/ollamaService.js.map +1 -1
- package/backend/dist/services/personaService.d.ts.map +1 -1
- package/backend/dist/services/personaService.js +6 -2
- package/backend/dist/services/personaService.js.map +1 -1
- package/backend/dist/services/pluginCapabilityRegistryService.d.ts +11 -0
- package/backend/dist/services/pluginCapabilityRegistryService.d.ts.map +1 -0
- package/backend/dist/services/pluginCapabilityRegistryService.js +70 -0
- package/backend/dist/services/pluginCapabilityRegistryService.js.map +1 -0
- package/backend/dist/services/pluginCredentialsService.d.ts.map +1 -1
- package/backend/dist/services/pluginCredentialsService.js +13 -11
- package/backend/dist/services/pluginCredentialsService.js.map +1 -1
- package/backend/dist/services/pluginEmbeddingService.d.ts +26 -0
- package/backend/dist/services/pluginEmbeddingService.d.ts.map +1 -0
- package/backend/dist/services/pluginEmbeddingService.js +159 -0
- package/backend/dist/services/pluginEmbeddingService.js.map +1 -0
- package/backend/dist/services/pluginImageGenerationService.d.ts +29 -0
- package/backend/dist/services/pluginImageGenerationService.d.ts.map +1 -0
- package/backend/dist/services/pluginImageGenerationService.js +402 -0
- package/backend/dist/services/pluginImageGenerationService.js.map +1 -0
- package/backend/dist/services/pluginService.d.ts +21 -17
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +135 -1356
- package/backend/dist/services/pluginService.js.map +1 -1
- package/backend/dist/services/pluginTTSService.d.ts +28 -0
- package/backend/dist/services/pluginTTSService.d.ts.map +1 -0
- package/backend/dist/services/pluginTTSService.js +286 -0
- package/backend/dist/services/pluginTTSService.js.map +1 -0
- package/backend/dist/services/pluginVariablesService.d.ts.map +1 -1
- package/backend/dist/services/pluginVariablesService.js +7 -5
- package/backend/dist/services/pluginVariablesService.js.map +1 -1
- package/backend/dist/services/preferencesService.d.ts +1 -0
- package/backend/dist/services/preferencesService.d.ts.map +1 -1
- package/backend/dist/services/preferencesService.js +21 -7
- package/backend/dist/services/preferencesService.js.map +1 -1
- package/backend/dist/services/simpleGitHubOAuth.d.ts.map +1 -1
- package/backend/dist/services/simpleGitHubOAuth.js +10 -8
- package/backend/dist/services/simpleGitHubOAuth.js.map +1 -1
- package/backend/dist/services/simpleHuggingFaceOAuth.d.ts.map +1 -1
- package/backend/dist/services/simpleHuggingFaceOAuth.js +11 -9
- package/backend/dist/services/simpleHuggingFaceOAuth.js.map +1 -1
- package/backend/dist/services/systemSettingsService.d.ts.map +1 -1
- package/backend/dist/services/systemSettingsService.js +4 -2
- package/backend/dist/services/systemSettingsService.js.map +1 -1
- package/backend/dist/services/titleGenerationService.d.ts +55 -0
- package/backend/dist/services/titleGenerationService.d.ts.map +1 -0
- package/backend/dist/services/titleGenerationService.js +121 -0
- package/backend/dist/services/titleGenerationService.js.map +1 -0
- package/backend/dist/services/turnstileService.d.ts +13 -0
- package/backend/dist/services/turnstileService.d.ts.map +1 -0
- package/backend/dist/services/turnstileService.js +79 -0
- package/backend/dist/services/turnstileService.js.map +1 -0
- package/backend/dist/storage.d.ts +2 -22
- package/backend/dist/storage.d.ts.map +1 -1
- package/backend/dist/storage.js +22 -170
- package/backend/dist/storage.js.map +1 -1
- package/backend/dist/storageMappers.d.ts +82 -0
- package/backend/dist/storageMappers.d.ts.map +1 -0
- package/backend/dist/storageMappers.js +85 -0
- package/backend/dist/storageMappers.js.map +1 -0
- package/backend/dist/test-encryption.js +20 -18
- package/backend/dist/test-encryption.js.map +1 -1
- package/backend/dist/types/index.d.ts +6 -0
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/index.js.map +1 -1
- package/backend/dist/utils/assistantBranching.d.ts +8 -0
- package/backend/dist/utils/assistantBranching.d.ts.map +1 -0
- package/backend/dist/utils/assistantBranching.js +30 -0
- package/backend/dist/utils/assistantBranching.js.map +1 -0
- package/backend/dist/utils/chatContext.d.ts +17 -0
- package/backend/dist/utils/chatContext.d.ts.map +1 -0
- package/backend/dist/utils/chatContext.js +82 -0
- package/backend/dist/utils/chatContext.js.map +1 -0
- package/backend/dist/utils/chatDocumentContext.d.ts +7 -0
- package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -0
- package/backend/dist/utils/chatDocumentContext.js +51 -0
- package/backend/dist/utils/chatDocumentContext.js.map +1 -0
- package/backend/dist/utils/logger.d.ts +12 -0
- package/backend/dist/utils/logger.d.ts.map +1 -0
- package/backend/dist/utils/logger.js +82 -0
- package/backend/dist/utils/logger.js.map +1 -0
- package/backend/dist/utils/ollamaLibrary.d.ts +17 -0
- package/backend/dist/utils/ollamaLibrary.d.ts.map +1 -0
- package/backend/dist/utils/ollamaLibrary.js +253 -0
- package/backend/dist/utils/ollamaLibrary.js.map +1 -0
- package/backend/dist/utils/ollamaStreaming.d.ts +19 -0
- package/backend/dist/utils/ollamaStreaming.d.ts.map +1 -0
- package/backend/dist/utils/ollamaStreaming.js +67 -0
- package/backend/dist/utils/ollamaStreaming.js.map +1 -0
- package/backend/dist/utils/packagePaths.d.ts +10 -0
- package/backend/dist/utils/packagePaths.d.ts.map +1 -0
- package/backend/dist/utils/packagePaths.js +81 -0
- package/backend/dist/utils/packagePaths.js.map +1 -0
- package/backend/dist/utils/pluginChatAdapter.d.ts +32 -0
- package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -0
- package/backend/dist/utils/pluginChatAdapter.js +308 -0
- package/backend/dist/utils/pluginChatAdapter.js.map +1 -0
- package/backend/dist/utils/pluginChatContext.d.ts +23 -0
- package/backend/dist/utils/pluginChatContext.d.ts.map +1 -0
- package/backend/dist/utils/pluginChatContext.js +77 -0
- package/backend/dist/utils/pluginChatContext.js.map +1 -0
- package/backend/dist/utils/pluginResponse.d.ts +6 -0
- package/backend/dist/utils/pluginResponse.d.ts.map +1 -0
- package/backend/dist/utils/pluginResponse.js +70 -0
- package/backend/dist/utils/pluginResponse.js.map +1 -0
- package/backend/dist/utils/pluginStreamAdapter.d.ts +16 -0
- package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -0
- package/backend/dist/utils/pluginStreamAdapter.js +141 -0
- package/backend/dist/utils/pluginStreamAdapter.js.map +1 -0
- package/backend/dist/utils/pluginStreaming.d.ts +24 -0
- package/backend/dist/utils/pluginStreaming.d.ts.map +1 -0
- package/backend/dist/utils/pluginStreaming.js +106 -0
- package/backend/dist/utils/pluginStreaming.js.map +1 -0
- package/backend/dist/utils/pluginUpload.d.ts +8 -0
- package/backend/dist/utils/pluginUpload.d.ts.map +1 -0
- package/backend/dist/utils/pluginUpload.js +51 -0
- package/backend/dist/utils/pluginUpload.js.map +1 -0
- package/backend/dist/utils/pluginValidation.d.ts +10 -0
- package/backend/dist/utils/pluginValidation.d.ts.map +1 -0
- package/backend/dist/utils/pluginValidation.js +94 -0
- package/backend/dist/utils/pluginValidation.js.map +1 -0
- package/backend/dist/utils/pluginVariableValidation.d.ts +10 -0
- package/backend/dist/utils/pluginVariableValidation.d.ts.map +1 -0
- package/backend/dist/utils/pluginVariableValidation.js +80 -0
- package/backend/dist/utils/pluginVariableValidation.js.map +1 -0
- package/backend/dist/utils/websocketMessages.d.ts +26 -0
- package/backend/dist/utils/websocketMessages.d.ts.map +1 -0
- package/backend/dist/utils/websocketMessages.js +74 -0
- package/backend/dist/utils/websocketMessages.js.map +1 -0
- package/backend/dist/websocketServer.d.ts +3 -0
- package/backend/dist/websocketServer.d.ts.map +1 -0
- package/backend/dist/websocketServer.js +332 -0
- package/backend/dist/websocketServer.js.map +1 -0
- package/backend/package.json +55 -0
- package/frontend/dist/assets/index-BxHDVIti.css +1 -0
- package/frontend/dist/assets/index-CDA2f43l.js +5 -0
- package/frontend/dist/assets/markdown-math-CYlHEDRF.css +1 -0
- package/frontend/dist/index.html +12 -15
- package/frontend/dist/js/ArtifactContainer-CA523BOS.js +1 -0
- package/frontend/dist/js/ArtifactDemoPage-C0p2-ccP.js +200 -0
- package/frontend/dist/js/ArtifactSlideOutPanel-BBYuYyr_.js +1 -0
- package/frontend/dist/js/Button-BmZQkAPD.js +1 -0
- package/frontend/dist/js/ChatPage-QSOhIynr.js +16 -0
- package/frontend/dist/js/FirstTimeSetup-pi-S4VU-.js +1 -0
- package/frontend/dist/js/GalleryPage-BPXB-D4f.js +1 -0
- package/frontend/dist/js/ModelManagerModals-D3SZV7CU.js +1 -0
- package/frontend/dist/js/ModelsPage-Fmqc1Zxb.js +2 -0
- package/frontend/dist/js/OptimizedSyntaxHighlighter-DlI4omE2.js +1 -0
- package/frontend/dist/js/PersonasPage-BuLOCG1Y.js +13 -0
- package/frontend/dist/js/RichMessageContent-Darvuw8F.js +3 -0
- package/frontend/dist/js/SettingsModal-CQhAeaia.js +1 -0
- package/frontend/dist/js/UserManagementPage-yX9vOase.js +1 -0
- package/frontend/dist/js/api-d05r9G59.js +15 -0
- package/frontend/dist/js/ar-BIL8U_dv.js +2 -0
- package/frontend/dist/js/artifactHtml-CRdkOCnz.js +27 -0
- package/frontend/dist/js/bn-BWQoWPn6.js +2 -0
- package/frontend/dist/js/cs-DOD1vscE.js +2 -0
- package/frontend/dist/js/da-DYPzSzX4.js +2 -0
- package/frontend/dist/js/de-CHd4b2Xf.js +2 -0
- package/frontend/dist/js/demoMode-BhEpMVh5.js +1 -0
- package/frontend/dist/js/es-BmDO6uNe.js +2 -0
- package/frontend/dist/js/fr-DW24sUV7.js +2 -0
- package/frontend/dist/js/hi-BRDq_y1B.js +2 -0
- package/frontend/dist/js/id-I_F2nstV.js +2 -0
- package/frontend/dist/js/is-Boj7-J12.js +2 -0
- package/frontend/dist/js/it-CNeHl9Fh.js +2 -0
- package/frontend/dist/js/ja-DrVG6G8s.js +2 -0
- package/frontend/dist/js/ko-BtKRwlHW.js +2 -0
- package/frontend/dist/js/logger-1THq8-96.js +1 -0
- package/frontend/dist/js/markdown-core-CEpaJrKd.js +16 -0
- package/frontend/dist/js/markdown-math-DAmpvM9y.js +261 -0
- package/frontend/dist/js/ms-Dp9MigoU.js +2 -0
- package/frontend/dist/js/nl-Bk9pGoCF.js +2 -0
- package/frontend/dist/js/pl-seE8_lLS.js +2 -0
- package/frontend/dist/js/pt-BAeBtldI.js +2 -0
- package/frontend/dist/js/{react-vendor-BUzyfgnZ.js → react-vendor-DtQrJICq.js} +4 -4
- package/frontend/dist/js/rolldown-runtime-QTnfLwEv.js +1 -0
- package/frontend/dist/js/ru-CkCpWFNb.js +2 -0
- package/frontend/dist/js/sv-BM7nqxmA.js +2 -0
- package/frontend/dist/js/syntax-highlight-B758xPeo.js +8 -0
- package/frontend/dist/js/th-vDIZbpa4.js +2 -0
- package/frontend/dist/js/tr-G2-XodhW.js +2 -0
- package/frontend/dist/js/ui-vendor-MCs1MDmN.js +177 -0
- package/frontend/dist/js/uk-DfVfZcBQ.js +2 -0
- package/frontend/dist/js/useBaseQuery-CrdrLcmR.js +1 -0
- package/frontend/dist/js/useQuery-DaEnYfWR.js +1 -0
- package/frontend/dist/js/utils-es0n-47H.js +1 -0
- package/frontend/dist/js/utils-vendor-B2ZBL57Y.js +9 -0
- package/frontend/dist/js/vi-Yp9yjb06.js +2 -0
- package/frontend/dist/js/zh-DtRb97we.js +2 -0
- package/package.json +16 -10
- package/plugins/llama-cpp.json +93 -0
- package/plugins/openclaw-agent.json +1 -1
- package/backend/dist/services/openclawSessionService.d.ts +0 -63
- package/backend/dist/services/openclawSessionService.d.ts.map +0 -1
- package/backend/dist/services/openclawSessionService.js +0 -307
- package/backend/dist/services/openclawSessionService.js.map +0 -1
- package/frontend/dist/assets/index-B1qNw5pA.js +0 -52
- package/frontend/dist/assets/index-DnG6512Q.css +0 -1
- package/frontend/dist/assets/ui-CsNe6lFV.css +0 -1
- package/frontend/dist/js/ArtifactContainer-Com7P5vK.js +0 -24
- package/frontend/dist/js/ArtifactDemoPage-Xd-Ragpf.js +0 -98
- package/frontend/dist/js/Button-D62PCbMW.js +0 -1
- package/frontend/dist/js/ChatPage-01JxVHRP.js +0 -15
- package/frontend/dist/js/GalleryPage-8nHGqKEu.js +0 -1
- package/frontend/dist/js/ModelsPage-C0MLVfwA.js +0 -1
- package/frontend/dist/js/OptimizedSyntaxHighlighter-DjnSqskO.js +0 -1
- package/frontend/dist/js/PersonasPage-D9YKnYz6.js +0 -13
- package/frontend/dist/js/UserManagementPage-b6NZdPTD.js +0 -1
- package/frontend/dist/js/api-B0pf9vdR.js +0 -1
- package/frontend/dist/js/api-BrzQvj_g.js +0 -3
- package/frontend/dist/js/appStore-k_e3JAM3.js +0 -2
- package/frontend/dist/js/authStore-BkobbhZS.js +0 -1
- package/frontend/dist/js/authStore-ge66S03D.js +0 -2
- package/frontend/dist/js/axios-CYrHjdt1.js +0 -1
- package/frontend/dist/js/demoMode-qyEGd_UM.js +0 -1
- package/frontend/dist/js/markdown-vendor-4lCPqxk5.js +0 -22
- package/frontend/dist/js/rolldown-runtime-DWy-cpC1.js +0 -1
- package/frontend/dist/js/ui-DuH1cD2f.js +0 -267
- package/frontend/dist/js/ui-vendor-BFOABH-A.js +0 -177
- package/frontend/dist/js/userService-BndgbS1C.js +0 -1
- package/frontend/dist/js/utils-vendor-MBozwMfr.js +0 -6
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ No telemetry. No tracking. No compromises.
|
|
|
15
15
|
<a href="https://github.com/libre-webui/libre-webui/releases"><img src="https://img.shields.io/github/v/release/libre-webui/libre-webui?style=flat-square&label=version&color=blue" alt="Version"></a>
|
|
16
16
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache_2.0-green?style=flat-square" alt="License"></a>
|
|
17
17
|
<a href="https://github.com/libre-webui/libre-webui/actions"><img src="https://img.shields.io/github/actions/workflow/status/libre-webui/libre-webui/release.yml?style=flat-square&label=Build" alt="CI"></a>
|
|
18
|
-
<a href="https://huggingface.co/libre-webui"><img src="https://img.shields.io/badge/🤗
|
|
18
|
+
<a href="https://huggingface.co/libre-webui"><img src="https://img.shields.io/badge/🤗_Hugging_Face-models-yellow?style=flat-square" alt="Hugging Face"></a>
|
|
19
19
|
<a href="https://github.com/libre-webui/libre-webui"><img src="https://img.shields.io/github/stars/libre-webui/libre-webui?style=flat-square&label=Stars" alt="Stars"></a>
|
|
20
20
|
</p>
|
|
21
21
|
|
|
@@ -38,9 +38,9 @@ No telemetry. No tracking. No compromises.
|
|
|
38
38
|
|
|
39
39
|
## Why Libre WebUI?
|
|
40
40
|
|
|
41
|
-
Most AI chat tools either **lock you into a cloud**, **harvest your data**, or **pull the rug on their open-source license
|
|
41
|
+
Most AI chat tools either **lock you into a cloud**, **harvest your data**, or **pull the rug on their open-source license through restrictive relicensing or contributor agreements**. We think you deserve better.
|
|
42
42
|
|
|
43
|
-
Libre WebUI is a **self-hosted AI
|
|
43
|
+
Libre WebUI is a **self-hosted AI workspace** that connects to [Ollama](https://ollama.com) for local AI and to cloud providers through plugins — all from one clean, fast UI. Your conversations stay on your device or server unless _you_ choose to use a remote provider.
|
|
44
44
|
|
|
45
45
|
> **Built by [Kroonen AI](https://kroonen.ai) and the open-source community.** Apache 2.0 forever — [we put it in our charter](./CHARTER.md).
|
|
46
46
|
|
|
@@ -48,21 +48,22 @@ Libre WebUI is a **self-hosted AI chat interface** that connects to [Ollama](htt
|
|
|
48
48
|
|
|
49
49
|
## ✨ Features at a Glance
|
|
50
50
|
|
|
51
|
-
| | Feature
|
|
52
|
-
| --- |
|
|
53
|
-
| 💬 | **Streaming Chat**
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
|
|
|
57
|
-
|
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
|
|
|
65
|
-
|
|
|
51
|
+
| | Feature | What it does |
|
|
52
|
+
| --- | ------------------------ | ------------------------------------------------------------------------- |
|
|
53
|
+
| 💬 | **Streaming Chat** | Real-time local and provider-backed conversations |
|
|
54
|
+
| 🧠 | **Model Manager** | Pull, browse, unload, and manage Ollama, Ollama Cloud, and HF GGUF models |
|
|
55
|
+
| 🔌 | **Plugin System** | Connect OpenAI-compatible providers with JSON config and user credentials |
|
|
56
|
+
| 📄 | **Document Chat (RAG)** | Upload PDF and plain-text files, then search them from chat |
|
|
57
|
+
| 🎭 | **Personas** | Reusable assistants with prompts, parameters, memory, and import/export |
|
|
58
|
+
| 🎨 | **Artifacts** | Sandboxed HTML, SVG, JSON, and code previews beside chat |
|
|
59
|
+
| 🖼️ | **Image Generation** | ComfyUI and provider plugins for generated images |
|
|
60
|
+
| 🔊 | **Text-to-Speech** | Qwen3-TTS, Kyutai, OpenAI-compatible voices, and provider plugins |
|
|
61
|
+
| 🤗 | **Hugging Face Hub** | Discover Hub models and compatible GGUF files from the UI |
|
|
62
|
+
| 🔐 | **Auth & Signup Safety** | Local accounts, GitHub/Hugging Face OAuth, roles, and optional Turnstile |
|
|
63
|
+
| 🌍 | **25+ Languages** | Full i18n coverage from Arabic to Vietnamese |
|
|
64
|
+
| 🖥️ | **Desktop App** | Electron builds for macOS, Windows, and Linux |
|
|
65
|
+
| 🤖 | **AI Agent Support** | OpenClaw sessions with memory, tools, and workspace access |
|
|
66
|
+
| 🏢 | **Self-Hosted Ops** | Docker, Kubernetes, SQLite storage, encrypted credentials, and backups |
|
|
66
67
|
|
|
67
68
|
---
|
|
68
69
|
|
|
@@ -74,19 +75,27 @@ Libre WebUI is a **self-hosted AI chat interface** that connects to [Ollama](htt
|
|
|
74
75
|
npx libre-webui
|
|
75
76
|
```
|
|
76
77
|
|
|
77
|
-
Opens at `http://localhost:8080`.
|
|
78
|
+
Opens at `http://localhost:8080`. Install [Ollama](https://ollama.com) for local AI, or add provider API keys in Settings.
|
|
79
|
+
|
|
80
|
+
For a first local model:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
ollama pull gemma3:4b
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
The first account created on a fresh install becomes the administrator.
|
|
78
87
|
|
|
79
88
|
### 🐳 Docker
|
|
80
89
|
|
|
81
90
|
```bash
|
|
82
91
|
# With bundled Ollama
|
|
83
|
-
docker
|
|
92
|
+
docker compose up -d
|
|
84
93
|
|
|
85
94
|
# With your existing Ollama
|
|
86
|
-
docker
|
|
95
|
+
docker compose -f docker-compose.external-ollama.yml up -d
|
|
87
96
|
|
|
88
97
|
# GPU support (NVIDIA)
|
|
89
|
-
docker
|
|
98
|
+
docker compose -f docker-compose.gpu.yml up -d
|
|
90
99
|
```
|
|
91
100
|
|
|
92
101
|
### 🍺 Homebrew (macOS)
|
|
@@ -126,11 +135,16 @@ Edit `backend/.env`:
|
|
|
126
135
|
```env
|
|
127
136
|
# Local AI (default — just install Ollama)
|
|
128
137
|
OLLAMA_BASE_URL=http://localhost:11434
|
|
138
|
+
JWT_SECRET=replace-with-a-long-random-secret
|
|
129
139
|
|
|
130
140
|
# Cloud providers (optional — add what you need)
|
|
131
141
|
OPENAI_API_KEY=sk-...
|
|
132
142
|
ANTHROPIC_API_KEY=sk-ant-...
|
|
133
143
|
HUGGINGFACE_API_KEY=hf_...
|
|
144
|
+
|
|
145
|
+
# Optional signup protection
|
|
146
|
+
TURNSTILE_SITE_KEY=...
|
|
147
|
+
TURNSTILE_SECRET_KEY=...
|
|
134
148
|
```
|
|
135
149
|
|
|
136
150
|
</details>
|
|
@@ -141,7 +155,7 @@ HUGGINGFACE_API_KEY=hf_...
|
|
|
141
155
|
Dev builds are auto-generated from the `dev` branch. **Not for production.**
|
|
142
156
|
|
|
143
157
|
```bash
|
|
144
|
-
docker
|
|
158
|
+
docker compose -f docker-compose.dev.yml up -d
|
|
145
159
|
```
|
|
146
160
|
|
|
147
161
|
Uses separate data volumes (`libre_webui_dev_data`) so your stable install stays safe.
|
|
@@ -156,9 +170,9 @@ Uses separate data volumes (`libre_webui_dev_data`) so your stable install stays
|
|
|
156
170
|
┌─────────────────────────────────────────────┐
|
|
157
171
|
│ Libre WebUI │
|
|
158
172
|
├──────────────────┬──────────────────────────┤
|
|
159
|
-
│ React + TS
|
|
173
|
+
│ React 18 + TS │ Express 5 + SQLite │
|
|
160
174
|
│ Frontend │ Backend │
|
|
161
|
-
│ (Vite) │ (
|
|
175
|
+
│ (Vite) │ (JWT + encrypted vals) │
|
|
162
176
|
├──────────────────┴──────────────────────────┤
|
|
163
177
|
│ Plugin Layer │
|
|
164
178
|
│ Ollama │ OpenAI │ Anthropic │ Google │ … │
|
|
@@ -167,9 +181,9 @@ Uses separate data volumes (`libre_webui_dev_data`) so your stable install stays
|
|
|
167
181
|
└─────────────────────────────────────────────┘
|
|
168
182
|
```
|
|
169
183
|
|
|
170
|
-
- **Frontend:** React 18 + TypeScript, Vite, responsive with keyboard shortcuts
|
|
171
|
-
- **Backend:** Express 5, SQLite
|
|
172
|
-
- **Plugins:** JSON config files
|
|
184
|
+
- **Frontend:** React 18 + TypeScript, Vite, Tailwind, responsive with keyboard shortcuts
|
|
185
|
+
- **Backend:** Express 5, SQLite, JWT auth, rate limits, SSE/WebSocket streaming
|
|
186
|
+
- **Plugins:** JSON config files with per-user credentials, variables, and model discovery
|
|
173
187
|
- **Desktop:** Electron with native macOS/Windows/Linux builds
|
|
174
188
|
|
|
175
189
|
---
|
|
@@ -193,7 +207,7 @@ Add any AI provider with a JSON file — no code changes needed:
|
|
|
193
207
|
}
|
|
194
208
|
```
|
|
195
209
|
|
|
196
|
-
Built-in plugins: **OpenAI, Anthropic, Google Gemini, Groq, Mistral, OpenRouter,
|
|
210
|
+
Built-in plugins: **OpenAI, Anthropic, Google Gemini, Groq, Mistral, OpenRouter, Hugging Face**, GitHub Models, ComfyUI, ElevenLabs, and more.
|
|
197
211
|
|
|
198
212
|
Plugins support **multi-capability** (chat + TTS + image gen in one config), **per-user variables**, and **encrypted credential storage**.
|
|
199
213
|
|
|
@@ -203,16 +217,15 @@ Plugins support **multi-capability** (chat + TTS + image gen in one config), **p
|
|
|
203
217
|
|
|
204
218
|
## 🤖 AI Agent Support (OpenClaw)
|
|
205
219
|
|
|
206
|
-
Libre WebUI
|
|
220
|
+
Libre WebUI supports **AI agents** via the [OpenClaw](https://openclaw.dev) plugin — turning your chat interface into a persistent agent session.
|
|
207
221
|
|
|
208
222
|
**What agents can do:**
|
|
209
223
|
|
|
210
224
|
- 🧠 **Persistent memory** — agents remember across sessions
|
|
211
|
-
- 🔧 **Tool use** — file
|
|
212
|
-
-
|
|
213
|
-
-
|
|
214
|
-
-
|
|
215
|
-
- 💬 **Multi-channel** — same agent across Telegram, Discord, Signal, Nextcloud Talk
|
|
225
|
+
- 🔧 **Tool use** — file operations, web search, browser work, and code execution
|
|
226
|
+
- 🧰 **Workspace access** — route chat through the same agent workspace
|
|
227
|
+
- 🔄 **Session routing** — pick a session key such as `main`, `work`, or `research`
|
|
228
|
+
- 🧭 **Streaming events** — tool calls and assistant output stream back into chat
|
|
216
229
|
- 🔌 **Plugin-powered** — configure via JSON, no code required
|
|
217
230
|
|
|
218
231
|
```json
|
|
@@ -220,17 +233,21 @@ Libre WebUI natively supports **AI agents** via the [OpenClaw](https://openclaw.
|
|
|
220
233
|
"id": "openclaw-agent",
|
|
221
234
|
"name": "OpenClaw Agent",
|
|
222
235
|
"type": "completion",
|
|
223
|
-
"endpoint": "http://
|
|
236
|
+
"endpoint": "http://127.0.0.1:18789/v1/chat/completions",
|
|
224
237
|
"auth": {
|
|
225
238
|
"header": "Authorization",
|
|
226
239
|
"prefix": "Bearer ",
|
|
227
240
|
"key_env": "OPENCLAW_API_KEY"
|
|
228
241
|
},
|
|
229
|
-
"model_map": [
|
|
242
|
+
"model_map": [
|
|
243
|
+
"anthropic/claude-opus-4-6",
|
|
244
|
+
"anthropic/claude-sonnet-4-20250514",
|
|
245
|
+
"anthropic/claude-haiku-3-5-20241022"
|
|
246
|
+
]
|
|
230
247
|
}
|
|
231
248
|
```
|
|
232
249
|
|
|
233
|
-
> **Your agent, your
|
|
250
|
+
> **Your agent, your workspace, your data.** Libre WebUI routes messages through the OpenClaw gateway while keeping the chat experience in the same self-hosted interface.
|
|
234
251
|
|
|
235
252
|
📖 [OpenClaw integration docs →](./docs/31-OPENCLAW_INTEGRATION.md)
|
|
236
253
|
|
|
@@ -277,13 +294,14 @@ Libre WebUI has an [Ethical Charter](./CHARTER.md) that guarantees:
|
|
|
277
294
|
|
|
278
295
|
Need to deploy at scale? [Kroonen AI](https://kroonen.ai) provides professional services:
|
|
279
296
|
|
|
280
|
-
| Service
|
|
281
|
-
|
|
|
282
|
-
| **Custom Deployment**
|
|
283
|
-
| **
|
|
284
|
-
| **Custom Development**
|
|
285
|
-
| **
|
|
286
|
-
| **SLA Support**
|
|
297
|
+
| Service | Description |
|
|
298
|
+
| ------------------------ | ------------------------------------------------- |
|
|
299
|
+
| **Custom Deployment** | On-prem, cloud, private-network, and Kubernetes |
|
|
300
|
+
| **Identity & Access** | OAuth setup, role design, and enterprise planning |
|
|
301
|
+
| **Custom Development** | Integrations, white-labeling, and plugins |
|
|
302
|
+
| **Security Reviews** | Deployment hardening and control documentation |
|
|
303
|
+
| **SLA-Backed Support** | Priority response and dedicated channels |
|
|
304
|
+
| **Air-Gapped Workflows** | Offline deployments and local model operations |
|
|
287
305
|
|
|
288
306
|
📧 **enterprise@kroonen.ai** • [Learn more →](https://kroonen.ai/services)
|
|
289
307
|
|
|
@@ -297,7 +315,7 @@ Need to deploy at scale? [Kroonen AI](https://kroonen.ai) provides professional
|
|
|
297
315
|
| 📖 **Documentation** | [docs.librewebui.org](https://docs.librewebui.org) |
|
|
298
316
|
| 🐙 **GitHub** | [github.com/libre-webui/libre-webui](https://github.com/libre-webui/libre-webui) |
|
|
299
317
|
| 🦊 **GitLab** | [git.kroonen.ai/libre-webui](https://git.kroonen.ai/libre-webui/libre-webui) |
|
|
300
|
-
| 🤗 **
|
|
318
|
+
| 🤗 **Hugging Face** | [huggingface.co/libre-webui](https://huggingface.co/libre-webui) |
|
|
301
319
|
| 𝕏 **Twitter** | [@librewebui](https://x.com/librewebui) |
|
|
302
320
|
| 🐘 **Mastodon** | [@librewebui@fosstodon.org](https://fosstodon.org/@librewebui) |
|
|
303
321
|
| ❤️ **Sponsor** | [github.com/sponsors/libre-webui](https://github.com/sponsors/libre-webui) |
|
package/backend/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAiBA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAiBA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AA0BtC;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CA0D/C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAO1D;AAsWD;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAa/C;AAGD,eAAe,WAAW,CAAC"}
|
package/backend/dist/db.js
CHANGED
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
import Database from 'better-sqlite3';
|
|
18
18
|
import path from 'path';
|
|
19
19
|
import fs from 'fs';
|
|
20
|
+
import { createLogger } from './utils/logger.js';
|
|
21
|
+
const logger = createLogger('database');
|
|
20
22
|
// Database instance
|
|
21
23
|
let db = null;
|
|
22
24
|
let dbInitializationFailed = false;
|
|
@@ -31,7 +33,7 @@ function isSQLiteAvailable() {
|
|
|
31
33
|
return true;
|
|
32
34
|
}
|
|
33
35
|
catch (error) {
|
|
34
|
-
|
|
36
|
+
logger.error('SQLite availability check failed:', error);
|
|
35
37
|
return false;
|
|
36
38
|
}
|
|
37
39
|
}
|
|
@@ -45,8 +47,8 @@ export function getDatabase() {
|
|
|
45
47
|
if (!db) {
|
|
46
48
|
// Check if SQLite is available first
|
|
47
49
|
if (!isSQLiteAvailable()) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
logger.error('better-sqlite3 is not available or compatible with current Node.js version');
|
|
51
|
+
logger.debug('Storage mode: JSON');
|
|
50
52
|
dbInitializationFailed = true;
|
|
51
53
|
throw new Error('SQLite not available');
|
|
52
54
|
}
|
|
@@ -68,16 +70,16 @@ export function getDatabase() {
|
|
|
68
70
|
db.pragma('synchronous = FULL');
|
|
69
71
|
db.pragma('temp_store = MEMORY');
|
|
70
72
|
db.pragma('mmap_size = 268435456'); // 256MB
|
|
71
|
-
|
|
73
|
+
logger.debug('✅ Database initialized with application-level encryption');
|
|
72
74
|
// Create tables if they don't exist
|
|
73
75
|
initializeTables();
|
|
74
76
|
// Run migrations
|
|
75
77
|
runMigrations();
|
|
76
|
-
|
|
78
|
+
logger.debug(`SQLite database initialized at: ${dbPath}`);
|
|
77
79
|
}
|
|
78
80
|
catch (error) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
logger.error('Error initializing SQLite database:', error);
|
|
82
|
+
logger.debug('Storage mode: JSON');
|
|
81
83
|
dbInitializationFailed = true;
|
|
82
84
|
throw new Error('SQLite database initialization failed');
|
|
83
85
|
}
|
|
@@ -92,7 +94,7 @@ export function getDatabaseSafe() {
|
|
|
92
94
|
return getDatabase();
|
|
93
95
|
}
|
|
94
96
|
catch (_error) {
|
|
95
|
-
|
|
97
|
+
logger.warn('Database not available, continuing without SQLite');
|
|
96
98
|
return null;
|
|
97
99
|
}
|
|
98
100
|
}
|
|
@@ -121,7 +123,7 @@ function initializeTables() {
|
|
|
121
123
|
const hasAvatar = tableInfo.some(col => col.name === 'avatar');
|
|
122
124
|
if (!hasAvatar) {
|
|
123
125
|
db.exec('ALTER TABLE users ADD COLUMN avatar TEXT');
|
|
124
|
-
|
|
126
|
+
logger.debug('Migration: Added avatar column to users table');
|
|
125
127
|
}
|
|
126
128
|
}
|
|
127
129
|
catch {
|
|
@@ -292,7 +294,7 @@ function initializeTables() {
|
|
|
292
294
|
CREATE INDEX IF NOT EXISTS idx_generated_images_user_id ON generated_images(user_id);
|
|
293
295
|
CREATE INDEX IF NOT EXISTS idx_generated_images_created_at ON generated_images(created_at);
|
|
294
296
|
`);
|
|
295
|
-
|
|
297
|
+
logger.debug('Database tables initialized successfully');
|
|
296
298
|
// Create default user if no users exist
|
|
297
299
|
createDefaultUserIfNeeded();
|
|
298
300
|
}
|
|
@@ -313,11 +315,11 @@ function createDefaultUserIfNeeded() {
|
|
|
313
315
|
INSERT INTO users (id, username, email, password_hash, role, created_at, updated_at)
|
|
314
316
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
315
317
|
`).run('default', 'admin', null, 'default', 'admin', now, now);
|
|
316
|
-
|
|
318
|
+
logger.debug('Created default user for single-user mode');
|
|
317
319
|
}
|
|
318
320
|
}
|
|
319
321
|
catch (error) {
|
|
320
|
-
|
|
322
|
+
logger.error('Failed to create default user:', error);
|
|
321
323
|
}
|
|
322
324
|
}
|
|
323
325
|
/**
|
|
@@ -345,7 +347,7 @@ function runMigrations() {
|
|
|
345
347
|
];
|
|
346
348
|
for (const column of newSessionMessagesColumns) {
|
|
347
349
|
if (!existingSessionMessagesColumns.includes(column.name)) {
|
|
348
|
-
|
|
350
|
+
logger.debug(`Adding column ${column.name} to session_messages table`);
|
|
349
351
|
db.exec(`ALTER TABLE session_messages ADD COLUMN ${column.name} ${column.type}`);
|
|
350
352
|
}
|
|
351
353
|
}
|
|
@@ -358,10 +360,10 @@ function runMigrations() {
|
|
|
358
360
|
const existingSessionsColumns = sessionsTableInfo.map(col => col.name);
|
|
359
361
|
// Add persona_id column to sessions table if it doesn't exist
|
|
360
362
|
if (!existingSessionsColumns.includes('persona_id')) {
|
|
361
|
-
|
|
363
|
+
logger.debug('Adding persona_id column to sessions table');
|
|
362
364
|
db.exec('ALTER TABLE sessions ADD COLUMN persona_id TEXT');
|
|
363
365
|
// Create index for the new column
|
|
364
|
-
|
|
366
|
+
logger.debug('Creating index for persona_id column');
|
|
365
367
|
db.exec('CREATE INDEX IF NOT EXISTS idx_sessions_persona_id ON sessions(persona_id)');
|
|
366
368
|
}
|
|
367
369
|
// Check if we need to add embedding_model and advanced features columns to personas table
|
|
@@ -377,13 +379,13 @@ function runMigrations() {
|
|
|
377
379
|
];
|
|
378
380
|
for (const column of newPersonasColumns) {
|
|
379
381
|
if (!existingPersonasColumns.includes(column.name)) {
|
|
380
|
-
|
|
382
|
+
logger.debug(`Adding column ${column.name} to personas table`);
|
|
381
383
|
db.exec(`ALTER TABLE personas ADD COLUMN ${column.name} ${column.type}`);
|
|
382
384
|
}
|
|
383
385
|
}
|
|
384
386
|
}
|
|
385
387
|
catch (error) {
|
|
386
|
-
|
|
388
|
+
logger.error('Error running migrations:', error);
|
|
387
389
|
}
|
|
388
390
|
}
|
|
389
391
|
/**
|
|
@@ -393,7 +395,7 @@ export function closeDatabase() {
|
|
|
393
395
|
if (db) {
|
|
394
396
|
db.close();
|
|
395
397
|
db = null;
|
|
396
|
-
|
|
398
|
+
logger.debug('Database connection closed');
|
|
397
399
|
}
|
|
398
400
|
}
|
|
399
401
|
/**
|
|
@@ -408,7 +410,7 @@ export function isDatabaseInitialized() {
|
|
|
408
410
|
return !!result;
|
|
409
411
|
}
|
|
410
412
|
catch (error) {
|
|
411
|
-
|
|
413
|
+
logger.error('Error checking database initialization:', error);
|
|
412
414
|
return false;
|
|
413
415
|
}
|
|
414
416
|
}
|
package/backend/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAExC,oBAAoB;AACpB,IAAI,EAAE,GAA6B,IAAI,CAAC;AACxC,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC;;GAEG;AACH,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,+EAA+E;QAC/E,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,qCAAqC;QACrC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CACV,4EAA4E,CAC7E,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACnC,sBAAsB,GAAG,IAAI,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC;YACH,wEAAwE;YACxE,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAEjD,8BAA8B;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;YAED,sBAAsB;YACtB,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;YAE1B,sBAAsB;YACtB,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAE/B,kCAAkC;YAClC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAChC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAChC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACjC,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ;YAE5C,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAEzE,oCAAoC;YACpC,gBAAgB,EAAE,CAAC;YAEnB,iBAAiB;YACjB,aAAa,EAAE,CAAC;YAEhB,MAAM,CAAC,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACnC,sBAAsB,GAAG,IAAI,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB;IACvB,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,2CAA2C;IAC3C,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;GAWP,CAAC,CAAC;IAEH,mDAAmD;IACnD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAEzD,CAAC;QACJ,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,EAAE,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;IAED,+CAA+C;IAC/C,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;GAYP,CAAC,CAAC;IAEH,yDAAyD;IACzD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcP,CAAC,CAAC;IAEH,iDAAiD;IACjD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;GAaP,CAAC,CAAC;IAEH,6DAA6D;IAC7D,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;GAYP,CAAC,CAAC;IAEH,0DAA0D;IAC1D,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;GAWP,CAAC,CAAC;IAEH,+BAA+B;IAC/B,EAAE,CAAC,IAAI,CAAC;;;;;;GAMP,CAAC,CAAC;IAEH,+BAA+B;IAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACrC,EAAE,CAAC,OAAO,CACR;;;KAGC,CACF,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAE1D,8CAA8C;IAC9C,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcP,CAAC,CAAC;IAEH,mDAAmD;IACnD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;GAWP,CAAC,CAAC;IAEH,sEAAsE;IACtE,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;GAaP,CAAC,CAAC;IAEH,6CAA6C;IAC7C,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;GAYP,CAAC,CAAC;IAEH,wCAAwC;IACxC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;GAmBP,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAEzD,wCAAwC;IACxC,yBAAyB,EAAE,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB;IAChC,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,EAAE;aACjB,OAAO,CAAC,qCAAqC,CAAC;aAC9C,GAAG,EAAuB,CAAC;QAE9B,IAAI,SAAS,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,6CAA6C;YAC7C,EAAE,CAAC,OAAO,CACR;;;OAGD,CACA,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAE9D,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACpB,IAAI,CAAC,EAAE;QAAE,OAAO;IAEhB,IAAI,CAAC;QACH,0DAA0D;QAC1D,MAAM,wBAAwB,GAAG,EAAE;aAChC,OAAO,CAAC,qCAAqC,CAAC;aAC9C,GAAG,EAOJ,CAAC;QAEH,MAAM,8BAA8B,GAAG,wBAAwB,CAAC,GAAG,CACjE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAChB,CAAC;QAEF,gDAAgD;QAChD,MAAM,yBAAyB,GAAG;YAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;YAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YAChC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;YACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;YACnC,4BAA4B;YAC5B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,kDAAkD;YACvF,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,2CAA2C;YAChG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,gDAAgD;SACnG,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,yBAAyB,EAAE,CAAC;YAC/C,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,IAAI,4BAA4B,CAAC,CAAC;gBACvE,EAAE,CAAC,IAAI,CACL,2CAA2C,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CACxE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,EAAE,CAAC,IAAI,CACL,0FAA0F,CAC3F,CAAC;QAEF,8DAA8D;QAC9D,MAAM,iBAAiB,GAAG,EAAE;aACzB,OAAO,CAAC,6BAA6B,CAAC;aACtC,GAAG,EAOJ,CAAC;QAEH,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEvE,8DAA8D;QAC9D,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC3D,EAAE,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAE3D,kCAAkC;YAClC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACrD,EAAE,CAAC,IAAI,CACL,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,0FAA0F;QAC1F,MAAM,iBAAiB,GAAG,EAAE;aACzB,OAAO,CAAC,6BAA6B,CAAC;aACtC,GAAG,EAOJ,CAAC;QAEH,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEvE,wCAAwC;QACxC,MAAM,kBAAkB,GAAG;YACzB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;YACzC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,cAAc;YACzD,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,cAAc;SAC5D,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE,CAAC;YACxC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,IAAI,oBAAoB,CAAC,CAAC;gBAC/D,EAAE,CAAC,IAAI,CACL,mCAAmC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAChE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,EAAE,EAAE,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,IAAI,CAAC;QACV,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,EAAE;aACd,OAAO,CACN,uEAAuE,CACxE;aACA,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,iDAAiD;AACjD,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,UAAU,CAAC;AAqDlB,QAAA,MAAM,GAAG,6CAAY,CAAC;AA+atB,eAAe,GAAG,CAAC"}
|