libre-webui 0.31.0 → 0.33.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/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +6 -1
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/middleware/staticAssets.d.ts +29 -0
- package/backend/dist/middleware/staticAssets.d.ts.map +1 -0
- package/backend/dist/middleware/staticAssets.js +141 -0
- package/backend/dist/middleware/staticAssets.js.map +1 -0
- package/backend/dist/routes/artifacts.d.ts.map +1 -1
- package/backend/dist/routes/artifacts.js +4 -2
- package/backend/dist/routes/artifacts.js.map +1 -1
- package/backend/dist/routes/plugins.d.ts.map +1 -1
- package/backend/dist/routes/plugins.js +13 -2
- package/backend/dist/routes/plugins.js.map +1 -1
- package/backend/dist/routes/preferences.d.ts.map +1 -1
- package/backend/dist/routes/preferences.js +40 -1
- package/backend/dist/routes/preferences.js.map +1 -1
- package/backend/dist/services/appearanceSettingsService.d.ts +20 -0
- package/backend/dist/services/appearanceSettingsService.d.ts.map +1 -0
- package/backend/dist/services/appearanceSettingsService.js +91 -0
- package/backend/dist/services/appearanceSettingsService.js.map +1 -0
- package/backend/dist/services/authService.d.ts +3 -0
- package/backend/dist/services/authService.d.ts.map +1 -1
- package/backend/dist/services/authService.js +2 -0
- package/backend/dist/services/authService.js.map +1 -1
- package/backend/dist/services/ollamaSettingsService.d.ts.map +1 -1
- package/backend/dist/services/ollamaSettingsService.js +7 -2
- package/backend/dist/services/ollamaSettingsService.js.map +1 -1
- package/backend/dist/services/preferencesService.d.ts +5 -0
- package/backend/dist/services/preferencesService.d.ts.map +1 -1
- package/backend/dist/services/preferencesService.js +15 -2
- package/backend/dist/services/preferencesService.js.map +1 -1
- package/backend/dist/services/workPreviewProxyService.d.ts.map +1 -1
- package/backend/dist/services/workPreviewProxyService.js +4 -2
- package/backend/dist/services/workPreviewProxyService.js.map +1 -1
- package/backend/dist/types/index.d.ts +1 -1
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/package.json +1 -1
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/assets/index-DegYzMyw.js +70 -0
- package/frontend/dist/assets/index-gKj8Y1JB.css +1 -0
- package/frontend/dist/assets/xterm-B8QFf3JU.css +1 -0
- package/frontend/dist/index.html +62 -40
- package/frontend/dist/js/ArtifactContainer-BB6A8cT5.js +1 -0
- package/frontend/dist/js/{ArtifactDemoPage-BLF8Ok-o.js → ArtifactDemoPage-Bf1dW5Z3.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-Cs1Gu1WB.js → ArtifactSandboxFrame-DsZW0Axy.js} +1 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-Cartcixp.js +1 -0
- package/frontend/dist/js/AutomationModal-BI_3nFeg.js +1 -0
- package/frontend/dist/js/AutomationsPage-ChMXj4UG.js +1 -0
- package/frontend/dist/js/AvatarUpload-gfZ9QWR3.js +1 -0
- package/frontend/dist/js/Button-BQ5JnUVj.js +1 -0
- package/frontend/dist/js/CalendarPage-Ce1ud5St.js +1 -0
- package/frontend/dist/js/ChannelsPage-kl8zJ2HA.js +1 -0
- package/frontend/dist/js/ChatPage-Bj98c6rc.js +14 -0
- package/frontend/dist/js/ConnectModels-CPftHmE3.js +1 -0
- package/frontend/dist/js/{EvaluationsPage-DOJLpauA.js → EvaluationsPage-Cydglp6R.js} +2 -2
- package/frontend/dist/js/FirstTimeSetup-C5cc-bc9.js +1 -0
- package/frontend/dist/js/GalleryPage-Dvq2GVoH.js +1 -0
- package/frontend/dist/js/HomePage-zVjADRoX.js +1 -0
- package/frontend/dist/js/LibreClawPage-x0Qmtcnc.js +1 -0
- package/frontend/dist/js/Logo-BlcOFpac.js +1 -0
- package/frontend/dist/js/LogoMark-CNeQ6eO9.js +1 -0
- package/frontend/dist/js/ModelManagerModals-K1oiXMTv.js +1 -0
- package/frontend/dist/js/NotesPage-BnqBv-n1.js +3 -0
- package/frontend/dist/js/OptimizedSyntaxHighlighter-CtQ_FGCX.js +2 -0
- package/frontend/dist/js/OptimizedSyntaxHighlighter-SkJc7ZMe.js +1 -0
- package/frontend/dist/js/PasswordStrengthMeter-DVFLKG_-.js +1 -0
- package/frontend/dist/js/{PersonasPage-C3D_6lIx.js → PersonasPage-DK9-SDZQ.js} +2 -2
- package/frontend/dist/js/PluginUsagePage-DX9uxdRr.js +1 -0
- package/frontend/dist/js/RichMessageContent-BzfhfzQ4.js +1 -0
- package/frontend/dist/js/RichMessageContent-XMkRvBen.js +3 -0
- package/frontend/dist/js/SettingsModal-CMOwEhkG.js +19 -0
- package/frontend/dist/js/SettingsToggle-B7UynBmZ.js +1 -0
- package/frontend/dist/js/ShareDialog-CZpU1itx.js +1 -0
- package/frontend/dist/js/SystemPage-BVaaKTRs.js +1 -0
- package/frontend/dist/js/TurnstileWidget-CEJst9eS.js +1 -0
- package/frontend/dist/js/UserManagementPage-DdpcN4-Q.js +1 -0
- package/frontend/dist/js/UserManagementPanel-BxAvybHj.js +1 -0
- package/frontend/dist/js/WhatsNewModal-CoFCdUpf.js +1 -0
- package/frontend/dist/js/WorkPage-Du6llCSU.js +7 -0
- package/frontend/dist/js/api-CatP45JH.js +1 -0
- package/frontend/dist/js/api-DQdJeQjd.js +14 -0
- package/frontend/dist/js/{appNavigation-DfHbXBey.js → appNavigation-DRM2Jr4r.js} +1 -1
- package/frontend/dist/js/appStore-BXbVcTeo.js +2 -0
- package/frontend/dist/js/appVersion-BUroqcki.js +1 -0
- package/frontend/dist/js/ar-C8Izi_rT.js +2 -0
- package/frontend/dist/js/authStore-DkqtNSYP.js +4 -0
- package/frontend/dist/js/authStore-bqAN5v4N.js +1 -0
- package/frontend/dist/js/axios-CYkJpKn8.js +1 -0
- package/frontend/dist/js/babel-CY5KOv-I.js +16 -0
- package/frontend/dist/js/bn-BJJgi-6Q.js +2 -0
- package/frontend/dist/js/chatStore-8jYk48hC.js +3 -0
- package/frontend/dist/js/{config-DJwXAf8i.js → config-D4dduT3C.js} +1 -1
- package/frontend/dist/js/cs-DheVrMUl.js +2 -0
- package/frontend/dist/js/da-BLszIs3a.js +2 -0
- package/frontend/dist/js/de-BvWdcr7T.js +2 -0
- package/frontend/dist/js/es-CQ8Yauda.js +2 -0
- package/frontend/dist/js/estree-CuT_pB8K.js +44 -0
- package/frontend/dist/js/{evaluationsApi-BKY-maUM.js → evaluationsApi-CBKjxZUn.js} +1 -1
- package/frontend/dist/js/fr-BD5h-w8z.js +2 -0
- package/frontend/dist/js/goober.modern-BaHbaW3_.js +1 -0
- package/frontend/dist/js/hi-IlRhC5IE.js +2 -0
- package/frontend/dist/js/html-Cdnr2qzU.js +25 -0
- package/frontend/dist/js/i18next-ChipS_AK.js +1 -0
- package/frontend/dist/js/id-DalGMQEJ.js +2 -0
- package/frontend/dist/js/is-DuQqmHeS.js +2 -0
- package/frontend/dist/js/it-DDaqAdB1.js +2 -0
- package/frontend/dist/js/ja-CYCu9F9Y.js +2 -0
- package/frontend/dist/js/ko-P3JZPOXE.js +2 -0
- package/frontend/dist/js/logger-DnuT4jgB.js +1 -0
- package/frontend/dist/js/markdown-CByV-4CU.js +70 -0
- package/frontend/dist/js/markdown-core-D067gSd8.js +31 -0
- package/frontend/dist/js/markdown-html-CQM6wA9G.js +2 -0
- package/frontend/dist/js/markdown-math-Dg-WB9ui.js +261 -0
- package/frontend/dist/js/markdownHtml-Djpz4yB3.js +1 -0
- package/frontend/dist/js/markdownMath-CoDj1i7z.js +1 -0
- package/frontend/dist/js/{messageCodeStyles-CkxF6yil.js → messageCodeStyles-0_YpQDk4.js} +2 -2
- package/frontend/dist/js/ms-B3ZIqlUn.js +2 -0
- package/frontend/dist/js/nl-1Qpsmmz1.js +2 -0
- package/frontend/dist/js/pl-ErrMri3_.js +2 -0
- package/frontend/dist/js/postcss-CifRAFe1.js +62 -0
- package/frontend/dist/js/pt-0T0R9AtX.js +2 -0
- package/frontend/dist/js/react-vendor-D0Ec-185.js +9 -0
- package/frontend/dist/js/rfb-NV_fh9Db.js +5 -0
- package/frontend/dist/js/router-vendor-CMbYTGdh.js +1 -0
- package/frontend/dist/js/ru-B34INyPg.js +2 -0
- package/frontend/dist/js/standalone-6z5x8CWe.js +29 -0
- package/frontend/dist/js/sv-BSqDwAur.js +2 -0
- package/frontend/dist/js/syntax-highlight-DTWfgxYh.js +7 -0
- package/frontend/dist/js/{teamEventStream-DUodK0-C.js → teamEventStream-RoMYo102.js} +1 -1
- package/frontend/dist/js/th-DK9M4-Iy.js +2 -0
- package/frontend/dist/js/tr-DUrkEwr1.js +2 -0
- package/frontend/dist/js/ttsBatching-kFVEE3Ip.js +2 -0
- package/frontend/dist/js/typescript-BPrdIZ70.js +22 -0
- package/frontend/dist/js/ui-UU79S5lB.js +2 -0
- package/frontend/dist/js/ui-vendor-6y6qiSk5.js +177 -0
- package/frontend/dist/js/uk-B5DYTi0e.js +2 -0
- package/frontend/dist/js/useChat-ImXXcy0q.js +10 -0
- package/frontend/dist/js/useDictation-eMIAncoT.js +1 -0
- package/frontend/dist/js/useQuery-BKulzCS7.js +1 -0
- package/frontend/dist/js/useTranslation-D0mJ4NnO.js +1 -0
- package/frontend/dist/js/{utils-nNyg0lfc.js → utils-Bn0RE9_8.js} +1 -1
- package/frontend/dist/js/utils-vendor-BbPbaAuC.js +9 -0
- package/frontend/dist/js/vi-CrtPQUIM.js +2 -0
- package/frontend/dist/js/workApi-BM8qVq_w.js +1 -0
- package/frontend/dist/js/workApi-xhF57amo.js +6 -0
- package/frontend/dist/js/xterm-C3BHN0de.js +16 -0
- package/frontend/dist/js/yaml-9ltHPDNO.js +154 -0
- package/frontend/dist/js/zh-gbOKajYe.js +2 -0
- package/frontend/dist/sw.js +3 -3
- package/package.json +2 -2
- package/frontend/dist/assets/index-B6xMZpzA.js +0 -76
- package/frontend/dist/assets/index-BjipfsCP.css +0 -1
- package/frontend/dist/assets/xterm-DHcfr8qj.css +0 -1
- package/frontend/dist/js/ArtifactContainer-Bn6iJtaJ.js +0 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-CuKq5cL0.js +0 -1
- package/frontend/dist/js/AutomationModal-Dha4KgLI.js +0 -1
- package/frontend/dist/js/AutomationsPage-HcMCRV-D.js +0 -1
- package/frontend/dist/js/AvatarUpload-CFrlSszY.js +0 -1
- package/frontend/dist/js/Button-CgN11mgY.js +0 -1
- package/frontend/dist/js/CalendarPage-D_K-XrG9.js +0 -1
- package/frontend/dist/js/ChannelsPage-D3CoImOT.js +0 -1
- package/frontend/dist/js/ChatPage-C0iBDbOq.js +0 -14
- package/frontend/dist/js/ConnectModels-D_ZbZQub.js +0 -1
- package/frontend/dist/js/FirstTimeSetup-DDIP_4Dd.js +0 -1
- package/frontend/dist/js/GalleryPage-C8U_F7Ns.js +0 -1
- package/frontend/dist/js/HomePage-B_aotoDU.js +0 -1
- package/frontend/dist/js/LibreClawPage-cr2N6W00.js +0 -1
- package/frontend/dist/js/Logo-B7o7eaPU.js +0 -1
- package/frontend/dist/js/LogoMark-D9g6ls0h.js +0 -1
- package/frontend/dist/js/ModelManagerModals-C-J1d7GL.js +0 -1
- package/frontend/dist/js/NotesPage-Bgr7R_Vm.js +0 -3
- package/frontend/dist/js/OptimizedSyntaxHighlighter-BwKLuOu-.js +0 -1
- package/frontend/dist/js/OptimizedSyntaxHighlighter-oiyvxgDA.js +0 -1
- package/frontend/dist/js/PasswordStrengthMeter-DR-mGbLF.js +0 -1
- package/frontend/dist/js/PluginUsagePage-DK7MgSiu.js +0 -1
- package/frontend/dist/js/RichMessageContent-7FxrZ4A8.js +0 -1
- package/frontend/dist/js/RichMessageContent-CQkLI7Dt.js +0 -3
- package/frontend/dist/js/SettingsModal-CIV_Bgsf.js +0 -19
- package/frontend/dist/js/SettingsToggle-Cw4OhW7B.js +0 -1
- package/frontend/dist/js/ShareDialog-BCEVgtbN.js +0 -1
- package/frontend/dist/js/SystemPage-BNVZtLe9.js +0 -1
- package/frontend/dist/js/TurnstileWidget-lyEp7A0r.js +0 -1
- package/frontend/dist/js/UserManagementPage-pPC_Svj9.js +0 -1
- package/frontend/dist/js/WorkPage-Q33nIqkM.js +0 -7
- package/frontend/dist/js/api-D-5hpGht.js +0 -14
- package/frontend/dist/js/api-WR1CTYO5.js +0 -1
- package/frontend/dist/js/appStore-B136FGdu.js +0 -2
- package/frontend/dist/js/appVersion-Ck7dYiHe.js +0 -1
- package/frontend/dist/js/ar-Cq-nC6v9.js +0 -2
- package/frontend/dist/js/authStore-6AJLgQsD.js +0 -1
- package/frontend/dist/js/authStore-Ckz37pwu.js +0 -4
- package/frontend/dist/js/axios-CUerAKcc.js +0 -1
- package/frontend/dist/js/babel-8afoxhZ7.js +0 -16
- package/frontend/dist/js/bn-BFSKytYs.js +0 -2
- package/frontend/dist/js/chatStore-Dpm3g_Ln.js +0 -3
- package/frontend/dist/js/classPrivateMethodInitSpec-DE0XIqc_.js +0 -1
- package/frontend/dist/js/cs-BKWXa629.js +0 -2
- package/frontend/dist/js/da-Cra_DJnV.js +0 -2
- package/frontend/dist/js/de-BQa6_UuE.js +0 -2
- package/frontend/dist/js/es-BBOHFrx1.js +0 -2
- package/frontend/dist/js/estree-qxY7ACbu.js +0 -44
- package/frontend/dist/js/fr-C8kXs5c0.js +0 -2
- package/frontend/dist/js/hi-BEef4bjU.js +0 -2
- package/frontend/dist/js/html-B_cUU1Gi.js +0 -25
- package/frontend/dist/js/i18next-ChNMiFef.js +0 -1
- package/frontend/dist/js/id-Djipic7Y.js +0 -2
- package/frontend/dist/js/is-pazl6RLG.js +0 -2
- package/frontend/dist/js/it-DobPbTwl.js +0 -2
- package/frontend/dist/js/ja-DwYNaMNX.js +0 -2
- package/frontend/dist/js/ko-BQfXE7_o.js +0 -2
- package/frontend/dist/js/logger-CpCQz3Vi.js +0 -1
- package/frontend/dist/js/markdown-BAF0w-jL.js +0 -70
- package/frontend/dist/js/markdown-core-CsTEqgp1.js +0 -32
- package/frontend/dist/js/markdown-math-BhUmos36.js +0 -261
- package/frontend/dist/js/ms-CkPQoE5T.js +0 -2
- package/frontend/dist/js/nl-X_QsDAtu.js +0 -2
- package/frontend/dist/js/pl-CK39gUsy.js +0 -2
- package/frontend/dist/js/postcss-B2vYq4-H.js +0 -62
- package/frontend/dist/js/pt-C0dWyR_I.js +0 -2
- package/frontend/dist/js/react-vendor-BsJBHRYW.js +0 -9
- package/frontend/dist/js/rfb-BOfFBtVG.js +0 -5
- package/frontend/dist/js/router-vendor-CIwPu612.js +0 -1
- package/frontend/dist/js/ru-sNJkEz1G.js +0 -2
- package/frontend/dist/js/standalone-BqZmfuRy.js +0 -29
- package/frontend/dist/js/sv-Bh-uxdF3.js +0 -2
- package/frontend/dist/js/syntax-highlight-DY6Hwrri.js +0 -8
- package/frontend/dist/js/th-DPVtwZj2.js +0 -2
- package/frontend/dist/js/tr-BYNM_Tm7.js +0 -2
- package/frontend/dist/js/ttsBatching-7_-p2nxR.js +0 -2
- package/frontend/dist/js/typescript-DokwN-5Y.js +0 -22
- package/frontend/dist/js/ui-BK53RPmS.js +0 -2
- package/frontend/dist/js/ui-vendor-CPdYrKhz.js +0 -177
- package/frontend/dist/js/uk-kvNBuYin.js +0 -2
- package/frontend/dist/js/useChat-Czg2p4Rr.js +0 -10
- package/frontend/dist/js/useDictation-B2lYEYKn.js +0 -1
- package/frontend/dist/js/useQuery-ClAiNxQ7.js +0 -1
- package/frontend/dist/js/useTranslation-C7GwbUQA.js +0 -1
- package/frontend/dist/js/utils-vendor-CeUf_ngc.js +0 -9
- package/frontend/dist/js/vi-CmLoaP0K.js +0 -2
- package/frontend/dist/js/workApi-BoJb9aVF.js +0 -1
- package/frontend/dist/js/workApi-CFH097y5.js +0 -6
- package/frontend/dist/js/xterm-CdjKCQM7.js +0 -16
- package/frontend/dist/js/yaml-BXEpxPn2.js +0 -154
- package/frontend/dist/js/zh-D2zvmvrj.js +0 -2
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import{g as e}from"./router-vendor-CIwPu612.js";import{a as t}from"./logger-CpCQz3Vi.js";import{t as n}from"./config-DJwXAf8i.js";import{i as r,n as i,r as a}from"./workApi-CFH097y5.js";var o={getModels:()=>t()?a([]):i.get(`/agent-clis/models`).then(e=>e.data)},s=`0.31.0`,c=[`chat`,`models`,`documents`,`notes`,`personas`,`media`,`work`,`admin`],l=e=>!!e&&e.mfaRequired===!0,u={login:e=>t()?a({user:{id:`demo-user`,username:`demo`,email:`demo@example.com`,role:`admin`,status:`active`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},token:`demo-token`,systemInfo:{requiresAuth:!0,hasUsers:!0,userCount:1,signupEnabled:!0,version:s}}):i.post(`/auth/login`,e).then(e=>e.data),signup:e=>t()?a({user:{id:`demo-user-new`,username:e.username,email:e.email||``,role:`user`,status:`active`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},token:`demo-token-new`,systemInfo:{requiresAuth:!0,hasUsers:!0,userCount:1,signupEnabled:!0,version:s,turnstile:{enabled:!1}}}):i.post(`/auth/signup`,e).then(e=>e.data),logout:()=>t()?a(void 0):i.post(`/auth/logout`).then(e=>e.data),getSystemInfo:()=>(r.debug(`getSystemInfo called, demo mode:`,t()),t()?a({requiresAuth:!0,hasUsers:!0,userCount:1,signupEnabled:!0,version:s,turnstile:{enabled:!1}}):(r.debug(`Making API call to:`,n+`/auth/system-info`),r.debug(`Full URL from:`,window.location.origin,`-> API:`,n+`/auth/system-info`),i.get(`/auth/system-info`).then(e=>(r.debug(`getSystemInfo response:`,e.data),e.data)).catch(e=>{throw r.debug(`getSystemInfo error:`,e),e.response&&(r.debug(`Error response data:`,e.response.data),r.debug(`Error status:`,e.response.status),r.debug(`Error headers:`,e.response.headers)),e.request&&r.debug(`Network error - no response received:`,e.request),r.debug(`Error config:`,e.config),e}))),verifyToken:()=>t()?a({id:`demo-user`,username:`demo`,email:`demo@example.com`,role:`admin`,status:`active`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}):i.get(`/auth/verify`).then(e=>e.data),getEncryptionKey:()=>t()?a({encryptionKey:`demo-encryption-key-not-real`}):i.get(`/auth/encryption-key`).then(e=>e.data),getSessions:()=>t()?a([{id:`demo-session`,kind:`password`,userAgent:navigator.userAgent,createdAt:new Date().toISOString(),lastSeenAt:new Date().toISOString(),expiresAt:null,revokedAt:null,current:!0}]):i.get(`/auth/sessions`).then(e=>e.data),revokeSession:e=>t()?a(void 0):i.delete(`/auth/sessions/${e}`).then(e=>e.data),revokeOtherSessions:()=>t()?a({revokedCount:0}):i.post(`/auth/sessions/revoke-others`).then(e=>e.data),listApiTokens:()=>t()?a([]):i.get(`/auth/tokens`).then(e=>e.data),createApiToken:e=>t()?a({token:`lwui_demo_not_a_real_token`,record:{id:`demo-token-`+Date.now(),name:e.name,tokenPrefix:`lwui_demo`,scopes:e.scopes,createdAt:new Date().toISOString(),expiresAt:null,lastUsedAt:null,revokedAt:null}}):i.post(`/auth/tokens`,e).then(e=>e.data),revokeApiToken:e=>t()?a(void 0):i.delete(`/auth/tokens/${e}`).then(e=>e.data),mfaVerify:e=>i.post(`/auth/mfa/verify`,e).then(e=>e.data),mfaEnrollChallenge:e=>i.post(`/auth/mfa/enroll-challenge`,e).then(e=>e.data),mfaActivateChallenge:e=>i.post(`/auth/mfa/activate-challenge`,e).then(e=>e.data),getMfaStatus:()=>t()?a({totpEnabled:!1,totpPending:!1,recoveryCodesRemaining:0,required:!1,requiredModeLocked:!1,passkeys:[]}):i.get(`/auth/mfa`).then(e=>e.data),mfaEnroll:()=>i.post(`/auth/mfa/enroll`).then(e=>e.data),mfaActivate:e=>i.post(`/auth/mfa/activate`,e).then(e=>e.data),mfaRegenerateRecoveryCodes:e=>i.post(`/auth/mfa/recovery-codes`,e).then(e=>e.data),mfaDisable:e=>i.post(`/auth/mfa/disable`,e).then(e=>e.data),getMfaPolicy:()=>t()?a({mode:`optional`,locked:!1}):i.get(`/auth/mfa/policy`).then(e=>e.data),setMfaPolicy:e=>i.put(`/auth/mfa/policy`,{mode:e}).then(e=>e.data),passkeyRegisterOptions:()=>i.post(`/auth/passkeys/register-options`).then(e=>e.data),passkeyRegister:e=>i.post(`/auth/passkeys/register`,e).then(e=>e.data),listPasskeys:()=>t()?a([]):i.get(`/auth/passkeys`).then(e=>e.data),deletePasskey:e=>i.delete(`/auth/passkeys/${e}`).then(e=>e.data),passkeyLoginOptions:()=>i.post(`/auth/passkeys/login-options`).then(e=>e.data),passkeyLogin:e=>i.post(`/auth/passkeys/login`,e).then(e=>e.data)},d={getUsers:()=>t()?a([{id:`demo-user`,username:`demo`,email:`demo@example.com`,role:`admin`,status:`active`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}]):i.get(`/users`).then(e=>e.data),createUser:e=>t()?a({id:`new-user-`+Date.now(),username:e.username,email:e.email,role:e.role,status:`active`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}):i.post(`/users`,e).then(e=>e.data),updateUser:(e,n)=>t()?a({id:e,username:n.username||`demo`,email:n.email||`demo@example.com`,role:n.role||`user`,status:`active`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}):i.patch(`/users/${e}`,n).then(e=>e.data),deleteUser:e=>t()?a(void 0):i.delete(`/users/${e}`).then(e=>e.data),getPendingApprovals:()=>t()?a({count:0,latestCreatedAt:null}):i.get(`/users/pending-approvals`).then(e=>e.data),approveUser:e=>t()?a({id:e,username:`demo-user`,email:`demo@example.com`,role:`user`,status:`active`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}):i.patch(`/users/${e}/approve`).then(e=>e.data),resetUserMfa:e=>i.post(`/users/${e}/mfa/reset`).then(e=>e.data),updateMyAvatar:e=>t()?a({id:`demo-user`,username:`demo`,email:`demo@example.com`,role:`admin`,status:`active`,avatar:e,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}):i.patch(`/users/me/avatar`,{avatar:e}).then(e=>e.data)},f={getGroups:()=>t()?a([]):i.get(`/groups`).then(e=>e.data),createGroup:e=>t()?a({id:`demo-group-`+Date.now(),name:e.name,description:e.description??null,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),members:[]}):i.post(`/groups`,e).then(e=>e.data),updateGroup:(e,n)=>t()?a({id:e,name:n.name??`demo-group`,description:n.description??null,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),members:[]}):i.patch(`/groups/${e}`,n).then(e=>e.data),deleteGroup:e=>t()?a(void 0):i.delete(`/groups/${e}`).then(e=>e.data),addGroupMember:(e,n)=>t()?a({id:e,name:`demo-group`,description:null,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),members:[]}):i.post(`/groups/${e}/members`,{userId:n}).then(e=>e.data),removeGroupMember:(e,n)=>t()?a(void 0):i.delete(`/groups/${e}/members/${n}`).then(e=>e.data),getEffectiveAccess:e=>t()?a({userId:e,username:`demo`,role:`admin`,status:`active`,groups:[],features:{work:!0,"model-download":!0,"web-search":!0,agents:!0},grants:[]}):i.get(`/groups/effective/${e}`).then(e=>e.data),getAuditEvents:(e={})=>{if(t())return a([]);let n=new URLSearchParams;e.action&&n.set(`action`,e.action),e.actor&&n.set(`actor`,e.actor),e.result&&n.set(`result`,e.result),e.limit&&n.set(`limit`,String(e.limit));let r=n.toString()?`?${n.toString()}`:``;return i.get(`/audit${r}`).then(e=>e.data)}},p=[{name:`llama3.2:3b`,size:2048e6,digest:`demo-digest-1`,modified_at:new Date().toISOString(),details:{format:`gguf`,family:`llama`,families:[`llama`],parameter_size:`3B`,quantization_level:`Q4_0`}},{name:`qwen2.5:7b`,size:4096e6,digest:`demo-digest-2`,modified_at:new Date().toISOString(),details:{format:`gguf`,family:`qwen`,families:[`qwen`],parameter_size:`7B`,quantization_level:`Q4_0`}}],m=()=>[{id:`demo-session-1`,title:`Demo Chat Session`,model:p[0].name,providerType:`ollama`,providerId:null,messages:[{id:`demo-msg-1`,role:`user`,content:`Hello! Can you tell me about this demo?`,timestamp:Date.now()},{id:`demo-msg-2`,role:`assistant`,content:`This is a demo of Libre WebUI! In a real deployment, I would be powered by Ollama running locally on your machine. This demo shows the beautiful interface and features without the backend connection.`,timestamp:Date.now()}],createdAt:Date.now(),updatedAt:Date.now()}],h=m(),g={theme:{mode:`dark`,adaptToAccent:!1,accent:`blue`,customAccent:`#2563eb`},defaultModel:`llama3.2:3b`,defaultProviderType:`ollama`,defaultProviderId:null,visionModel:``,visionProviderType:null,visionProviderId:null,systemMessage:`You are a helpful assistant.`,generationOptions:{temperature:.7,top_p:.9,top_k:40,num_predict:1024},embeddingSettings:{enabled:!1,model:`nomic-embed-text`,chunkSize:1e3,chunkOverlap:200,similarityThreshold:.7},titleSettings:{autoTitle:!1,taskModel:``,taskProviderType:null,taskProviderId:null},showUsername:!1,hapticFeedbackEnabled:!1,workRemoteProviderDisclosureDismissed:!1,backgroundSettings:{enabled:!1,imageUrl:``,blurAmount:10,opacity:.6}},_={...g,theme:{...g.theme},generationOptions:{...g.generationOptions},embeddingSettings:{...g.embeddingSettings},titleSettings:{...g.titleSettings},backgroundSettings:{...g.backgroundSettings}},v=()=>_,y=e=>{let t=_.backgroundSettings||g.backgroundSettings;return _={..._,...e,theme:{..._.theme,...e.theme},generationOptions:{..._.generationOptions,...e.generationOptions},embeddingSettings:{..._.embeddingSettings,...e.embeddingSettings},titleSettings:e.titleSettings?{..._.titleSettings||g.titleSettings,...e.titleSettings}:_.titleSettings,backgroundSettings:e.backgroundSettings?{...t,...e.backgroundSettings}:_.backgroundSettings},_},ee={getSessions:()=>i.get(`/chat/sessions`).then(e=>e.data),createSession:(e,t,n,r,a)=>i.post(`/chat/sessions`,{model:e,title:t,personaId:n,providerType:r,providerId:a}).then(e=>e.data),getSession:e=>{if(t()){let t=m().find(t=>t.id===e);return t?a(t):Promise.resolve({success:!1,error:`Session not found in demo mode`})}return i.get(`/chat/sessions/${e}`).then(e=>e.data)},updateSession:(e,n)=>{if(t()){let t=h.findIndex(t=>t.id===e),r=h[t];if(r){let e={...r,...n,updatedAt:Date.now()};return h[t]=e,a(e)}return Promise.resolve({success:!1,error:`Session not found in demo mode`})}return i.put(`/chat/sessions/${e}`,n).then(e=>e.data)},forkSession:(e,t={})=>i.post(`/chat/sessions/${e}/fork`,t).then(e=>e.data),enqueuePrompt:(e,t)=>i.post(`/chat/sessions/${e}/queue`,{content:t}).then(e=>e.data),updateQueuedPrompt:(e,t,n)=>i.put(`/chat/sessions/${e}/queue/${t}`,{content:n}).then(e=>e.data),reorderPromptQueue:(e,t)=>i.put(`/chat/sessions/${e}/queue`,{order:t}).then(e=>e.data),claimQueuedPrompt:(e,t)=>i.delete(`/chat/sessions/${e}/queue/${t}`).then(e=>e.data),truncateMessagesFrom:(e,n)=>{if(t()){let t=h.find(t=>t.id===e);if(t){let e=t.messages.findIndex(e=>e.id===n);return e===-1?Promise.resolve({success:!1,error:`Message not found in demo mode`}):(t.messages=t.messages.slice(0,e),t.updatedAt=Date.now(),a(t))}return Promise.resolve({success:!1,error:`Session not found in demo mode`})}return i.post(`/chat/sessions/${e}/messages/${n}/truncate`).then(e=>e.data)},deleteSession:e=>t()?a(null):i.delete(`/chat/sessions/${e}`).then(e=>e.data),clearAllSessions:()=>i.delete(`/chat/sessions`).then(e=>e.data),generateTitle:(e,n,r,o,s)=>{if(t()){let e=r.substring(0,30)+(r.length>30?`...`:``);return a({title:e,source:`fallback`,updatedAt:Date.now()})}return i.post(`/chat/sessions/${e}/generate-title`,{model:n,message:r,providerType:o,providerId:s}).then(e=>e.data)},getFolders:()=>t()?a([]):i.get(`/chat/folders`).then(e=>e.data),createFolder:e=>i.post(`/chat/folders`,{name:e}).then(e=>e.data),renameFolder:(e,t)=>i.put(`/chat/folders/${e}`,{name:t}).then(e=>e.data),deleteFolder:e=>i.delete(`/chat/folders/${e}`).then(e=>e.data),generateFollowUps:e=>t()?a({suggestions:[]}):i.post(`/chat/sessions/${e}/followups`).then(e=>e.data),sendMessage:(e,t,n)=>i.post(`/chat/sessions/${e}/messages`,{content:t,options:n}).then(e=>e.data),saveMessage:(e,t)=>i.post(`/chat/sessions/${e}/messages`,t).then(e=>e.data),updateMessage:(e,n,r)=>t()?a({}):i.put(`/chat/sessions/${e}/messages/${n}`,r).then(e=>e.data),generateChatResponse:(e,t,n)=>i.post(`/chat/sessions/${e}/generate`,{message:t,options:n}).then(e=>e.data),generateChatStreamResponse:(e,t,i)=>({subscribe:async(a,o,s)=>{try{let c=await fetch(`${n}/chat/sessions/${e}/generate/stream`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:t,options:i})});if(!c.ok)throw Error(`HTTP error! status: ${c.status}`);let l=c.body?.getReader();if(!l)throw Error(`No response body reader available`);let u=new TextDecoder,d=``,f=()=>{l.read().then(({done:e,value:t})=>{if(e){s?.();return}d+=u.decode(t,{stream:!0});let n=d.split(`
|
|
2
|
-
`);d=n.pop()||``;for(let e of n){let t=e.trim();if(t.startsWith(`data: `)){let e=t.slice(6);if(e===`[DONE]`){s?.();return}try{let t=JSON.parse(e);if(a(t),t.type===`done`||t.type===`error`){t.type===`error`?o?.(t.error):s?.();return}}catch(e){r.error(`Failed to parse SSE data:`,e)}}}f()}).catch(e=>{o?.(e instanceof Error?e:Error(String(e)))})};return f(),()=>l.cancel()}catch(e){return o?.(e instanceof Error?e:Error(String(e))),()=>{}}}}),getMessageBranches:(e,n)=>t()?a([]):i.get(`/chat/sessions/${e}/messages/${n}/branches`).then(e=>e.data),switchMessageBranch:(e,n,r)=>t()?a({}):i.post(`/chat/sessions/${e}/messages/${n}/branch`,{branchIndex:r}).then(e=>e.data),createMessageBranch:(e,n,r)=>t()?a({}):i.post(`/chat/sessions/${e}/messages/${n}/branches`,{...r}).then(e=>e.data),restoreCompaction:(e,t)=>i.post(`/chat/sessions/${e}/compaction/${t}/restore`).then(e=>e.data),getContextPolicy:()=>t()?a({windowMessages:10}):i.get(`/chat/context-policy`).then(e=>e.data),getCompactionConfig:()=>t()?a({enabled:!1,thresholdTokens:8e3,keepRecentMessages:8,model:``,prompt:``}):i.get(`/chat/compaction-config`).then(e=>e.data),setCompactionConfig:e=>t()?a({enabled:!1,thresholdTokens:8e3,keepRecentMessages:8,model:``,prompt:``},!1):i.put(`/chat/compaction-config`,e).then(e=>e.data)},b={uploadDocument:(e,n)=>{if(t())return a({id:`demo-doc-`+Date.now(),filename:e.name,fileType:e.name.endsWith(`.pdf`)?`pdf`:`txt`,size:e.size,sessionId:n,uploadedAt:Date.now()});let r=new FormData;return r.append(`document`,e),n&&r.append(`sessionId`,n),i.post(`/documents/upload`,r).then(e=>e.data)},getCollections:()=>t()?a([]):i.get(`/documents/collections`).then(e=>e.data),createCollection:e=>i.post(`/documents/collections`,{name:e}).then(e=>e.data),deleteCollection:e=>i.delete(`/documents/collections/${e}`).then(e=>e.data),setDocumentCollection:(e,t)=>i.put(`/documents/${e}/collection`,{collectionId:t}).then(e=>e.data),fetchWebpage:(e,n)=>t()?a({id:`demo-doc-`+Date.now(),filename:`demo-webpage.txt`,fileType:`txt`,size:0,sessionId:n,uploadedAt:Date.now()}):i.post(`/documents/fetch-url`,{url:e,sessionId:n}).then(e=>e.data),getDocuments:e=>{if(t())return a([]);let n=e?`/documents/session/${e}`:`/documents`;return i.get(n).then(e=>e.data)},getDocument:e=>t()?a({id:e,filename:`demo-document.pdf`,fileType:`pdf`,size:1024,content:`Demo document content...`,uploadedAt:Date.now()}):i.get(`/documents/${e}`).then(e=>e.data),searchDocuments:(e,n,r)=>t()?a([]):i.post(`/documents/search`,{query:e,sessionId:n,limit:r}).then(e=>e.data),deleteDocument:e=>t()?a(void 0):i.delete(`/documents/${e}`).then(e=>e.data),getEmbeddingStatus:()=>t()?a({available:!1,model:`nomic-embed-text`,chunksWithEmbeddings:0,totalChunks:0}):i.get(`/documents/embeddings/status`).then(e=>e.data),regenerateEmbeddings:()=>t()?a({documentsTotal:0,documentsRegenerated:0,documentsSkipped:0,chunksTotal:0,chunksEmbedded:0,model:`nomic-embed-text`,version:`v1`}):i.post(`/documents/embeddings/regenerate`).then(e=>e.data)},x={getModels:()=>t()?a([{id:`nomic-embed-text`,name:`nomic-embed-text`,description:`Ollama - Default embedding model`,provider:`ollama`,dimensions:0,isDetectedEmbedding:!0}]):i.get(`/embeddings/models`).then(e=>e.data)},S={getNotes:()=>t()?a([]):i.get(`/notes`).then(e=>e.data),getNote:e=>i.get(`/notes/${e}`).then(e=>e.data),createNote:(e,t)=>i.post(`/notes`,{title:e,content:t}).then(e=>e.data),updateNote:(e,t)=>i.put(`/notes/${e}`,t).then(e=>e.data),deleteNote:e=>i.delete(`/notes/${e}`).then(e=>e.data),getRevisions:e=>i.get(`/notes/${e}/revisions`).then(e=>e.data),restoreRevision:(e,t)=>i.post(`/notes/${e}/revisions/${t}/restore`).then(e=>e.data),getAttachments:e=>i.get(`/notes/${e}/attachments`).then(e=>e.data),uploadAttachment:(e,t)=>{let n=new FormData;return n.append(`attachment`,t),i.post(`/notes/${e}/attachments`,n,{headers:{"Content-Type":`multipart/form-data`}}).then(e=>e.data)},downloadAttachment:(e,t)=>i.get(`/notes/${e}/attachments/${t}`,{responseType:`blob`}).then(e=>e.data),deleteAttachment:(e,t)=>i.delete(`/notes/${e}/attachments/${t}`).then(e=>e.data),assist:(e,t)=>i.post(`/notes/${e}/assist`,t).then(e=>e.data)},C={listGrants:(e,t)=>i.get(`/access/grants`,{params:{type:e,id:t}}).then(e=>e.data),createGrant:e=>i.post(`/access/grants`,e).then(e=>e.data),deleteGrant:e=>i.delete(`/access/grants/${e}`).then(e=>e.data),resolvePrincipal:e=>i.get(`/access/principals`,{params:{username:e}}).then(e=>e.data),resolveGroup:e=>i.get(`/access/principals/groups`,{params:{name:e}}).then(e=>e.data)},w={getEvents:(e,n)=>t()?a([]):i.get(`/calendar/events?from=${e}&to=${n}`).then(e=>e.data),createEvent:e=>i.post(`/calendar/events`,e).then(e=>e.data),updateEvent:(e,t)=>i.put(`/calendar/events/${e}`,t).then(e=>e.data),deleteEvent:e=>i.delete(`/calendar/events/${e}`).then(e=>e.data),getCalendars:()=>t()?a([]):i.get(`/calendar/calendars`).then(e=>e.data),createCalendar:e=>i.post(`/calendar/calendars`,e).then(e=>e.data),updateCalendar:(e,t)=>i.put(`/calendar/calendars/${e}`,t).then(e=>e.data),deleteCalendar:e=>i.delete(`/calendar/calendars/${e}`).then(e=>e.data),exportIcs:e=>i.get(e?`/calendar/export?calendarId=${encodeURIComponent(e)}`:`/calendar/export`,{responseType:`blob`}).then(e=>e.data),importIcs:(e,t)=>i.post(`/calendar/import`,{ics:e,...t?{calendarId:t}:{}}).then(e=>e.data)},T={listMine:()=>t()?a([]):i.get(`/channels`).then(e=>e.data),listPublic:()=>t()?a([]):i.get(`/channels/public`).then(e=>e.data),create:e=>i.post(`/channels`,e).then(e=>e.data),openDm:e=>i.post(`/channels/dm`,{userId:e}).then(e=>e.data),get:e=>i.get(`/channels/${e}`).then(e=>e.data),update:(e,t)=>i.patch(`/channels/${e}`,t).then(e=>e.data),delete:e=>i.delete(`/channels/${e}`).then(e=>e.data),join:e=>i.post(`/channels/${e}/join`).then(e=>e.data),listMembers:e=>i.get(`/channels/${e}/members`).then(e=>e.data),addMember:(e,t)=>i.post(`/channels/${e}/members`,{userId:t}).then(e=>e.data),removeMember:(e,t)=>i.delete(`/channels/${e}/members/${encodeURIComponent(t)}`).then(e=>e.data),listMessages:(e,t={})=>{let n=new URLSearchParams;t.before&&n.set(`before`,t.before),t.after&&n.set(`after`,t.after),t.limit&&n.set(`limit`,String(t.limit));let r=n.size>0?`?${n.toString()}`:``;return i.get(`/channels/${e}/messages${r}`).then(e=>e.data)},postMessage:(e,t)=>i.post(`/channels/${e}/messages`,t).then(e=>e.data),listPins:e=>i.get(`/channels/${e}/pins`).then(e=>e.data),markRead:e=>i.post(`/channels/${e}/read`,{}).then(e=>e.data),thread:e=>i.get(`/channels/messages/${e}/thread`).then(e=>e.data),editMessage:(e,t)=>i.patch(`/channels/messages/${e}`,{content:t}).then(e=>e.data),deleteMessage:e=>i.delete(`/channels/messages/${e}`).then(e=>e.data),setPinned:(e,t)=>i.post(`/channels/messages/${e}/pin`,{pinned:t}).then(e=>e.data),addReaction:(e,t)=>i.post(`/channels/messages/${e}/reactions`,{emoji:t}).then(e=>e.data),removeReaction:(e,t)=>i.delete(`/channels/messages/${e}/reactions/${encodeURIComponent(t)}`).then(e=>e.data),uploadAttachment:(e,t)=>{let n=new FormData;return n.append(`attachment`,t),i.post(`/channels/${e}/attachments`,n,{headers:{"Content-Type":`multipart/form-data`}}).then(e=>e.data)},downloadAttachment:e=>i.get(`/channels/attachments/${e}`,{responseType:`blob`}).then(e=>e.data)},E={list:(e={})=>{if(t())return a([]);let n=new URLSearchParams;e.before&&n.set(`before`,String(e.before)),e.limit&&n.set(`limit`,String(e.limit));let r=n.size>0?`?${n.toString()}`:``;return i.get(`/notifications${r}`).then(e=>e.data)},unreadCount:()=>t()?a({count:0}):i.get(`/notifications/unread-count`).then(e=>e.data),markRead:e=>i.post(`/notifications/${e}/read`).then(e=>e.data),markAllRead:()=>i.post(`/notifications/read-all`).then(e=>e.data),delete:e=>i.delete(`/notifications/${e}`).then(e=>e.data)},te={getAutomations:()=>t()?a([]):i.get(`/automations`).then(e=>e.data),createAutomation:e=>i.post(`/automations`,e).then(e=>e.data),updateAutomation:(e,t)=>i.put(`/automations/${e}`,t).then(e=>e.data),deleteAutomation:e=>i.delete(`/automations/${e}`).then(e=>e.data),pauseAutomation:e=>i.post(`/automations/${e}/pause`).then(e=>e.data),resumeAutomation:e=>i.post(`/automations/${e}/resume`).then(e=>e.data),runAutomationNow:e=>i.post(`/automations/${e}/run`).then(e=>e.data),rotateWebhookSecret:e=>i.post(`/automations/${e}/webhook-secret`).then(e=>e.data),disableWebhook:e=>i.delete(`/automations/${e}/webhook-secret`).then(e=>e.data),getOccurrences:(e,n)=>t()?a([]):i.get(`/automations/occurrences?from=${e}&to=${n}`).then(e=>e.data),getRuns:e=>{if(t())return a([]);let n=new URLSearchParams;e?.automationId&&n.set(`automationId`,e.automationId),e?.from!==void 0&&n.set(`from`,String(e.from)),e?.to!==void 0&&n.set(`to`,String(e.to));let r=n.size>0?`?${n.toString()}`:``;return i.get(`/automations/runs${r}`).then(e=>e.data)},getRunsSummary:()=>t()?a({unseenCount:0,days:Array.from({length:30},()=>({succeeded:0,failed:0}))}):i.get(`/automations/runs/summary`).then(e=>e.data),markRunsSeen:()=>i.post(`/automations/runs/seen`).then(e=>e.data)},ne={getConfig:()=>t()?a({enabled:!1,available:!1,allowed:!1}):i.get(`/search/config`).then(e=>e.data),getAccess:()=>t()?a({mode:`admins`,allowed:!1}):i.get(`/search/access`).then(e=>e.data),setAccess:e=>t()?a({mode:e}):i.put(`/search/access`,{mode:e}).then(e=>e.data),setConfig:(e,n,r)=>t()?a({enabled:e,available:e,allowed:!1,url:n}):i.put(`/search/config`,{enabled:e,url:n,...r??{}}).then(e=>e.data),searchApp:e=>t()?a({sessions:[],notes:[],documents:[]}):i.get(`/search/app`,{params:{q:e}}).then(e=>e.data),test:()=>t()?a({ok:!1,results:0},!1):i.post(`/search/test`).then(e=>e.data)},re={getModels:e=>t()?a([{id:`meta-llama/Llama-3.3-70B-Instruct`,modelId:`meta-llama/Llama-3.3-70B-Instruct`,author:`meta-llama`,downloads:1e6,likes:5e3,tags:[`text-generation`,`llama`],pipeline_tag:`text-generation`,gated:!1}]):i.get(`/huggingface-hub/models`,{params:e}).then(e=>e.data),getTrending:e=>t()?a([]):i.get(`/huggingface-hub/trending`,{params:e}).then(e=>e.data),getModel:(e,n)=>t()?a({id:`${e}/${n}`,modelId:`${e}/${n}`,author:e,downloads:0,likes:0,tags:[],gated:!1}):i.get(`/huggingface-hub/models/${e}/${n}`).then(e=>e.data),getTasks:()=>t()?a([`text-generation`,`text-to-speech`,`text-to-image`]):i.get(`/huggingface-hub/tasks`).then(e=>e.data),clearCache:()=>t()?a(!0):i.post(`/huggingface-hub/cache/clear`).then(e=>e.data),getGgufFiles:(e,n)=>t()?a([{filename:`model-Q4_K_M.gguf`,size:45e8,sizeFormatted:`4.19 GB`,quantization:`Q4_K_M`,url:`https://huggingface.co/${e}/${n}/resolve/main/model-Q4_K_M.gguf`,ollamaCommand:`hf.co/${e}/${n}:Q4_K_M`}]):i.get(`/huggingface-hub/models/${e}/${n}/gguf`).then(e=>e.data),hasGgufFiles:(e,n)=>t()?a({hasGguf:!1,count:0}):i.get(`/huggingface-hub/models/${e}/${n}/has-gguf`).then(e=>e.data)};function ie(e,t){return t?t.aborted?Promise.reject(t.reason??new DOMException(`The operation was aborted`,`AbortError`)):new Promise((n,r)=>{let i=()=>{r(t.reason??new DOMException(`The operation was aborted`,`AbortError`))};t.addEventListener(`abort`,i,{once:!0}),e.then(e=>{t.removeEventListener(`abort`,i),n(e)},e=>{t.removeEventListener(`abort`,i),r(e)})}):e}var ae={getModels:()=>t()?a([{model:`gpt-image-2`,plugin:`openai`,config:{sizes:[`1024x1024`,`1536x1024`,`1024x1536`],default_size:`1024x1024`,qualities:[`auto`,`low`,`medium`,`high`],default_quality:`auto`}}]):i.get(`/image-gen/models`).then(e=>e.data),getPlugins:()=>t()?a([{id:`openai`,name:`OpenAI GPT Image`,models:[`gpt-image-2`,`gpt-image-1.5`,`gpt-image-1`,`gpt-image-1-mini`],config:{sizes:[`1024x1024`,`1536x1024`,`1024x1536`],default_size:`1024x1024`,qualities:[`auto`,`low`,`medium`,`high`],default_quality:`auto`}}]):i.get(`/image-gen/plugins`).then(e=>e.data),getConfig:e=>t()?a({sizes:[`1024x1024`,`1536x1024`,`1024x1536`],default_size:`1024x1024`,qualities:[`auto`,`low`,`medium`,`high`],default_quality:`auto`}):i.get(`/image-gen/config/${e}`).then(e=>e.data),generate:(e,n)=>t()?ie(a({images:[{url:`https://placehold.co/1024x1024/purple/white?text=Demo+Image`,revised_prompt:e.prompt}],model:e.model,pluginId:e.pluginId}),n):i.post(`/image-gen/generate`,e,{signal:n}).then(e=>e.data),getGallery:e=>t()?a({images:[],total:0}):i.get(`/image-gen/gallery`,{params:e}).then(e=>e.data),getGalleryImage:e=>t()?a({id:e,userId:`demo`,prompt:`Demo image prompt`,model:`dall-e-3`,imageData:`https://placehold.co/1024x1024/purple/white?text=Demo`,createdAt:Date.now()}):i.get(`/image-gen/gallery/${e}`).then(e=>e.data),deleteGalleryImage:e=>t()?a(void 0):i.delete(`/image-gen/gallery/${e}`).then(e=>e.data)},D={connected:!1,baseUrl:`http://127.0.0.1:8766`,dashboardUrl:`http://127.0.0.1:8766/dashboard`,error:`Libre Claw daemon is not connected in demo mode.`},O={access:()=>t()?a({enabled:!1,lockedByEnv:!1}):i.get(`/libre-claw/access`).then(e=>e.data),setAccess:e=>t()?a({enabled:e,lockedByEnv:!1}):i.put(`/libre-claw/access`,{enabled:e}).then(e=>e.data),status:()=>t()?a(D):i.get(`/libre-claw/status`).then(e=>e.data),dashboard:()=>t()?a({url:D.dashboardUrl}):i.get(`/libre-claw/dashboard`).then(e=>e.data),currentModel:()=>t()?a({provider:`openrouter`,model:`openrouter/auto`}):i.get(`/libre-claw/config/model`).then(e=>e.data),updateModel:(e,n,r=!1)=>t()?a({provider:e,model:n,persist_global:r}):i.patch(`/libre-claw/config/model`,{provider:e,model:n,persist_global:r}).then(e=>e.data),currentFallback:()=>t()?a({enabled:!1,routes:[]}):i.get(`/libre-claw/config/fallback`).then(e=>e.data),updateFallback:e=>t()?a(e):i.patch(`/libre-claw/config/fallback`,e).then(e=>e.data),updateTheme:(e,n=!0)=>t()?a({theme:e,label:e,persist_global:n}):i.patch(`/libre-claw/config/theme`,{theme:e,persist_global:n}).then(e=>e.data),usage:(e=``,n=250)=>{let r=new URLSearchParams({limit:String(n)});return e&&r.set(`provider`,e),t()?a({summary:{},records:[],text:``}):i.get(`/libre-claw/usage?${r.toString()}`).then(e=>e.data)},listRuns:(e=20)=>t()?a({runs:[]}):i.get(`/libre-claw/runs?limit=${e}`).then(e=>e.data),startRun:e=>{if(t()){let t=new Date().toISOString();return a({run:{run_id:`demo-${Date.now()}`,state:`queued`,title:e.message.slice(0,80)||`Libre Claw demo run`,kind:e.kind||`chat`,provider:e.provider||`openrouter`,model:e.model||`openrouter/auto`,working_directory:``,created_at:t,updated_at:t}})}return i.post(`/libre-claw/runs`,e).then(e=>e.data)},getRun:e=>t()?a({run_id:e}):i.get(`/libre-claw/runs/${encodeURIComponent(e)}`).then(e=>e.data),getEvents:(e,n=0)=>t()?a({events:[]}):i.get(`/libre-claw/runs/${encodeURIComponent(e)}/events?after=${n}`).then(e=>e.data),cancelRun:e=>t()?a({run_id:e,cancelled:!0}):i.post(`/libre-claw/runs/${encodeURIComponent(e)}/cancel`).then(e=>e.data),resolvePermission:(e,n,r)=>t()?a({run_id:e,tool_call_id:n,resolution:r}):i.post(`/libre-claw/runs/${encodeURIComponent(e)}/permissions/${encodeURIComponent(n)}`,{resolution:r}).then(e=>e.data),listAutomations:(e=50)=>t()?a({automations:[]}):i.get(`/libre-claw/automations?limit=${e}`).then(e=>e.data),createAutomation:e=>t()?a({...e,automation_id:`demo-${Date.now()}`}):i.post(`/libre-claw/automations`,e).then(e=>e.data),updateAutomation:(e,n)=>t()?a({...n,automation_id:e}):i.patch(`/libre-claw/automations/${encodeURIComponent(e)}`,n).then(e=>e.data),pauseAutomation:e=>t()?a({automation_id:e,status:`paused`}):i.post(`/libre-claw/automations/${encodeURIComponent(e)}/pause`).then(e=>e.data),resumeAutomation:e=>t()?a({automation_id:e,status:`active`}):i.post(`/libre-claw/automations/${encodeURIComponent(e)}/resume`).then(e=>e.data),runAutomationNow:e=>t()?a({automation_id:e,run:!0}):i.post(`/libre-claw/automations/${encodeURIComponent(e)}/run`).then(e=>e.data),deleteAutomation:e=>t()?a({automation_id:e,deleted:!0}):i.delete(`/libre-claw/automations/${encodeURIComponent(e)}`).then(e=>e.data)},k={getModels:()=>i.get(`/media/models`).then(e=>e.data),generateAudio:(e,t)=>i.post(`/media/audio/generate`,e,{signal:t}).then(e=>e.data),cloneVoice:(e,t)=>{let n=new FormData;return n.set(`model`,e.model),n.set(`pluginId`,e.pluginId),n.set(`input`,e.input),n.set(`reference_audio`,e.referenceAudio),e.referenceText&&n.set(`reference_text`,e.referenceText),e.responseFormat&&n.set(`response_format`,e.responseFormat),e.saveVoiceName&&n.set(`saveVoiceName`,e.saveVoiceName),e.consentToStore&&n.set(`consentToStore`,`true`),e.consentTtlDays!==void 0&&n.set(`consentTtlDays`,String(e.consentTtlDays)),i.post(`/media/audio/voice-clone`,n,{signal:t}).then(e=>e.data)},generateSound:(e,t)=>i.post(`/media/sound/generate`,e,{signal:t}).then(e=>e.data),generateVideo:(e,t)=>i.post(`/media/video/generate`,e,{signal:t}).then(e=>e.data),getVideoJob:(e,t)=>i.get(`/media/video/jobs/${e}`,{signal:t}).then(e=>e.data),listVideoJobs:e=>i.get(`/media/video/jobs`,{params:e}).then(e=>e.data),resumeVideoJob:(e,t)=>i.post(`/media/video/jobs/${encodeURIComponent(e)}/resume`,void 0,{signal:t}).then(e=>e.data),cancelVideoJob:e=>i.delete(`/media/video/jobs/${encodeURIComponent(e)}`).then(e=>e.data),getGallery:e=>i.get(`/media/gallery`,{params:e}).then(e=>e.data),deleteGalleryItem:e=>i.delete(`/media/gallery/${e}`).then(e=>e.data),editImage:(e,t)=>{let n=new FormData;n.set(`model`,e.model),n.set(`pluginId`,e.pluginId),n.set(`prompt`,e.prompt),e.size&&n.set(`size`,e.size),e.sourceMediaId&&n.set(`sourceMediaId`,e.sourceMediaId);for(let t of e.images??[])n.append(`images`,t);return e.mask&&n.append(`mask`,e.mask,`mask.png`),i.post(`/media/image/edit`,n,{signal:t}).then(e=>e.data)},getGalleryContent:e=>i.get(`/media/gallery/${e}/content`,{responseType:`blob`}).then(e=>e.data)},A=(e,t,n)=>{let r=new AbortController,i=localStorage.getItem(`auth-token`);return(async()=>{try{let n=await fetch(e,{headers:{Accept:`text/event-stream`,...i?{Authorization:`Bearer ${i}`}:{}},cache:`no-store`,credentials:`same-origin`,signal:r.signal});if(!n.ok){let e=`Request failed with status ${n.status}`;try{let t=await n.json();typeof t.error==`string`?e=t.error:typeof t.message==`string`&&(e=t.message)}catch{}throw Error(e)}if(!n.body)throw Error(`Response stream is unavailable`);let a=n.body.getReader(),o=new TextDecoder,s=``;try{for(;!r.signal.aborted;){let{done:e,value:n}=await a.read();s+=o.decode(n,{stream:!e});let r=s.split(/\r?\n\r?\n/);s=r.pop()||``;for(let e of r){let n=e.split(/\r?\n/).find(e=>e.startsWith(`data:`));n&&t(JSON.parse(n.slice(5).trim()))}if(e)break}}finally{a.releaseLock()}}catch(e){r.signal.aborted||n(e instanceof Error?e.message:`Connection lost`)}})(),()=>r.abort()},j=`libre:models-changed`,M=()=>{window.dispatchEvent(new Event(j))},N={checkHealth:()=>t()?a({status:`offline`},!1):i.get(`/ollama/health`).then(e=>e.data),getSettings:()=>t()?a({enabled:!0,baseUrl:`http://localhost:11434`}):i.get(`/ollama/settings`).then(e=>e.data),updateSettings:e=>t()?a({enabled:!0,baseUrl:`http://localhost:11434`}):i.put(`/ollama/settings`,e).then(e=>e.data),getModels:()=>t()?a(p):i.get(`/ollama/models`).then(e=>e.data),getModelAccess:()=>t()?a({mode:`admins`,allowed:!1}):i.get(`/ollama/models/access`).then(e=>e.data),setModelAccess:e=>t()?a({mode:e}):i.put(`/ollama/models/access`,{mode:e}).then(e=>e.data),getModelVisibility:()=>t()?a({hidden:[],order:[],starred:[],metadata:{}}):i.get(`/ollama/models/visibility`).then(e=>e.data),setModelVisibility:e=>t()?a({hidden:e.hidden??[],order:e.order??[],starred:e.starred??[],metadata:e.metadata??{}}):i.put(`/ollama/models/visibility`,e).then(e=>e.data),pullModel:e=>t()?a(null,!1):i.post(`/ollama/models/pull`,{name:e}).then(e=>(M(),e.data)),pullModelStream:(e,r,i,a)=>{if(t()){let e=0,t=setInterval(()=>{e+=Math.random()*20,e>=100?(e=100,r({status:`success`,total:100,completed:100,percent:100}),clearInterval(t),setTimeout(()=>{M(),i()},500)):r({status:`pulling`,total:100,completed:e,percent:Math.round(e)})},1e3);return()=>clearInterval(t)}let o=new URLSearchParams({model:e});return A(`${n}/ollama/pull/stream?${o.toString()}`,e=>{switch(e.type){case`progress`:r({status:typeof e.status==`string`?e.status:`pulling`,digest:typeof e.digest==`string`?e.digest:void 0,total:typeof e.total==`number`?e.total:void 0,completed:typeof e.completed==`number`?e.completed:void 0,percent:typeof e.percent==`number`?e.percent:void 0});break;case`complete`:M(),i();break;case`error`:a(String(e.error||`Model pull failed`))}},a)},deleteModel:e=>t()?a(null,!1):i.delete(`/ollama/models`,{params:{name:e}}).then(e=>(M(),e.data)),getModelDefaults:e=>i.get(`/ollama/models/${encodeURIComponent(e)}/defaults`).then(e=>e.data),showModel:(e,n=!1)=>{if(t()){let t=p.find(t=>t.name===e);return a(t||null,!!t)}return i.get(`/ollama/models/show`,{params:{name:e,verbose:n}}).then(e=>e.data)},createModel:e=>t()?a(null,!1):i.post(`/ollama/models`,e).then(e=>(M(),e.data)),copyModel:(e,n)=>t()?a(null,!1):i.post(`/ollama/models/copy`,{source:e,destination:n}).then(e=>(M(),e.data)),pushModel:e=>t()?a(null,!1):i.post(`/ollama/models/push`,{name:e}).then(e=>e.data),pullAllModels:()=>t()?a(null,!1):i.post(`/ollama/models/pull-all`).then(e=>e.data),pullAllModelsStream:(e,r,i)=>{if(t()){let t=p,n=0,i=setInterval(()=>{n++,n<=t.length&&e({current:n,total:t.length,modelName:t[n-1]?.name||`demo-model`,status:Math.random()>.1?`success`:`error`,error:Math.random()>.1?void 0:`Demo error`}),n>=t.length&&(clearInterval(i),setTimeout(()=>{M(),r()},500))},1e3);return}A(`${n}/ollama/models/pull-all/stream`,t=>{switch(t.type){case`progress`:{let n=t.status===`success`||t.status===`error`?t.status:`starting`;e({current:typeof t.current==`number`?t.current:0,total:typeof t.total==`number`?t.total:0,modelName:typeof t.modelName==`string`?t.modelName:`unknown`,status:n,error:typeof t.error==`string`?t.error:void 0});break}case`complete`:M(),r();break;case`error`:i(String(t.error||`Model update failed`))}},i)},generateEmbeddings:e=>t()?a({embeddings:[[]]},!1):i.post(`/ollama/embed`,e).then(e=>e.data),listRunningModels:()=>t()?a([]):i.get(`/ollama/running`).then(e=>e.data),unloadModel:e=>t()?a(null):i.post(`/ollama/models/unload`,{name:e}).then(e=>e.data),unloadAllModels:()=>t()?a(null):i.post(`/ollama/models/unload-all`).then(e=>e.data),getVersion:()=>t()?a({version:`demo-mode`},!1):i.get(`/ollama/version`).then(e=>e.data),chatCompletion:e=>t()?a({message:{content:`Demo response`,role:`assistant`}},!1):i.post(`/ollama/chat`,e).then(e=>e.data),checkBlobExists:e=>t()?Promise.resolve(!1):i.head(`/ollama/blobs/${e}`).then(()=>!0).catch(()=>!1),pushBlob:(e,n)=>t()?a(null,!1):i.post(`/ollama/blobs/${e}`,n,{headers:{"Content-Type":`application/octet-stream`}}).then(e=>e.data),generateLegacyEmbeddings:e=>t()?a({embedding:[]},!1):i.post(`/ollama/embeddings`,e).then(e=>e.data),getLibraryModels:e=>{if(t())return e?.category===`cloud`?a([{name:`gpt-oss:cloud`,description:`Demo cloud model using Ollama cloud naming`,category:`cloud`,sizes:[`cloud`],pulls:`Cloud`,tags:[`cloud`]}]):a([{name:`llama3.2`,description:`Meta's latest Llama model`,category:`general`,sizes:[`1b`,`3b`],pulls:`50M+`,tags:[`general`]},{name:`deepseek-r1`,description:`Open reasoning model`,category:`reasoning`,sizes:[`7b`,`14b`,`32b`],pulls:`200M+`,tags:[`reasoning`]}]);let n=new URLSearchParams;e?.search&&n.set(`search`,e.search),e?.sort&&n.set(`sort`,e.sort),e?.category&&n.set(`category`,e.category);let r=n.toString();return i.get(`/ollama/library${r?`?${r}`:``}`).then(e=>e.data)}},P=[[`#2563eb`,`#7c3aed`],[`#0891b2`,`#2563eb`],[`#0f766e`,`#2563eb`],[`#be123c`,`#7c3aed`],[`#ff7b52`,`#dc2626`]],F=e=>{let t=0;for(let n=0;n<e.length;n+=1)t=(t<<5)-t+e.charCodeAt(n),t|=0;return Math.abs(t)},I=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`),L=e=>{let t=e.trim().split(/[\s._-]+/).filter(Boolean);return t.length===0?`AI`:t.slice(0,2).map(e=>e[0]?.toUpperCase()).join(``)||`AI`},R=(e,t=128)=>{let n=e.trim()||`AI Persona`,r=F(n),[i,a]=P[r%P.length],o=I(L(n)),s=`persona-avatar-${r}-${t}`,c=t>=96?44:24,l=`
|
|
3
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${t}" viewBox="0 0 ${t} ${t}" role="img" aria-label="${I(n)} avatar">
|
|
4
|
-
<defs>
|
|
5
|
-
<linearGradient id="${s}" x1="0" y1="0" x2="1" y2="1">
|
|
6
|
-
<stop offset="0%" stop-color="${i}" />
|
|
7
|
-
<stop offset="100%" stop-color="${a}" />
|
|
8
|
-
</linearGradient>
|
|
9
|
-
</defs>
|
|
10
|
-
<rect width="${t}" height="${t}" rx="${Math.round(t*.22)}" fill="url(#${s})" />
|
|
11
|
-
<circle cx="${t*.22}" cy="${t*.22}" r="${t*.26}" fill="rgba(255,255,255,0.16)" />
|
|
12
|
-
<text x="50%" y="52%" dominant-baseline="middle" text-anchor="middle" fill="white" font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif" font-size="${c}" font-weight="700">${o}</text>
|
|
13
|
-
</svg>
|
|
14
|
-
`;return`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(l)}`},z=(e,t=128)=>e.avatar?.trim()||R(e.name,t),B=(e,t,n=128)=>{e.onerror=null,e.src=R(t,n)},V={getPersonas:()=>{if(t()){let e=[{id:`demo-1`,user_id:`default`,name:`Creative Assistant`,description:`Helpful assistant for creative tasks`,model:`llama3.3:latest`,parameters:{temperature:.8,top_p:.9,context_window:4096,system_prompt:`You are a creative and helpful assistant. Provide thoughtful and engaging responses.`},avatar:R(`Creative Assistant`,128),created_at:Date.now()-864e5,updated_at:Date.now()-864e5},{id:`demo-2`,user_id:`default`,name:`Research Assistant`,description:`Academic assistant for research and learning`,model:`qwen3:7b`,parameters:{temperature:.3,top_p:.8,context_window:8192,system_prompt:`You are a knowledgeable research assistant. Provide detailed, informative explanations.`},avatar:R(`Research Assistant`,128),created_at:Date.now()-1728e5,updated_at:Date.now()-1728e5}];return a(e)}return i.get(`/personas`).then(e=>e.data)},getPersona:e=>t()?a({id:e,user_id:`default`,name:`Sample Assistant`,description:`A sample assistant for demonstration`,model:`llama3.2:latest`,parameters:{temperature:.7,top_p:.9,context_window:4096,system_prompt:`You are a helpful assistant.`},created_at:Date.now(),updated_at:Date.now()}):i.get(`/personas/${e}`).then(e=>e.data),createPersona:e=>{if(t()){let t={id:`demo-`+Date.now(),user_id:`default`,...e,created_at:Date.now(),updated_at:Date.now()};return a(t)}return i.post(`/personas`,e).then(e=>e.data)},updatePersona:(e,n)=>{if(t()){let t={id:e,user_id:`default`,name:n.name||`Updated Sample Assistant`,description:n.description,model:n.model||`llama3.2:latest`,parameters:n.parameters||{temperature:.7,top_p:.9,context_window:4096,system_prompt:`You are a helpful assistant.`},avatar:n.avatar,background:n.background,created_at:Date.now()-864e5,updated_at:Date.now()};return a(t)}return i.put(`/personas/${e}`,n).then(e=>e.data)},deletePersona:e=>t()?a(void 0):i.delete(`/personas/${e}`).then(e=>e.data),exportPersona:e=>{if(t()){let e={name:`Sample Assistant`,description:`A sample assistant for demonstration`,model:`llama3.2:latest`,params:{temperature:.7,top_p:.9,context_window:4096,system_prompt:`You are a helpful assistant.`},exportedAt:Date.now(),version:`1.0.0`};return Promise.resolve(e)}return i.get(`/personas/${e}/export`).then(e=>e.data)},importPersona:e=>{if(t()){let t={id:`demo-imported-`+Date.now(),user_id:`default`,name:e.name,description:e.description,model:e.model,parameters:e.params,avatar:e.avatar,background:e.background,created_at:Date.now(),updated_at:Date.now(),embedding_model:e.embedding_model,memory_settings:e.memory_settings,mutation_settings:e.mutation_settings};return a(t)}return i.post(`/personas/import`,e).then(e=>e.data)},getPersonasCount:()=>t()?a({count:2}):i.get(`/personas/stats/count`).then(e=>e.data),getDefaultParameters:()=>t()?a({temperature:.7,top_p:.9,top_k:40,context_window:4096,max_tokens:1024,system_prompt:``,repeat_penalty:1.1,presence_penalty:0,frequency_penalty:0}):i.get(`/personas/defaults/parameters`).then(e=>e.data),getMemoryStatus:e=>t()?a({status:`active`,memory_count:42,last_backup:Date.now()-864e5,size_mb:2.3}):i.get(`/personas/${e}/memory/status`).then(e=>e.data),wipeMemories:e=>t()?a({deleted_count:42}):i.delete(`/personas/${e}/memory`).then(e=>e.data),backupPersona:e=>{if(t()){let t=JSON.stringify({persona_id:e,backup_date:new Date().toISOString(),data:`demo backup data`});return Promise.resolve(new Blob([t],{type:`application/json`}))}return i.get(`/personas/${e}/backup`,{responseType:`blob`}).then(e=>e.data)},exportPersonaDNA:e=>{if(t()){let t=JSON.stringify({persona_id:e,export_date:new Date().toISOString(),dna:`demo DNA data`,memories:[],learned_behaviors:{}});return Promise.resolve(new Blob([t],{type:`application/json`}))}return i.get(`/personas/${e}/export/dna`,{responseType:`blob`}).then(e=>e.data)},importPersonaDNA:e=>{if(t()){let e={id:`demo-dna-`+Date.now(),user_id:`default`,name:`Imported Persona`,description:`Persona imported from DNA`,model:`llama3.2:latest`,parameters:{temperature:.7,top_p:.9,context_window:4096,system_prompt:`You are a helpful assistant.`},created_at:Date.now(),updated_at:Date.now()};return a(e)}let n=new FormData;return n.append(`dnaFile`,e),i.post(`/personas/import/dna`,n).then(e=>e.data)},downloadPersona:async(e,t)=>{try{let n=await V.exportPersona(e),r=new Blob([JSON.stringify(n,null,2)],{type:`application/json`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${t}.json`,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(i)}catch(e){throw r.error(`Error while downloading persona:`,e),Error(`Failed to download persona: ${e instanceof Error?e.message:String(e)}`)}}},H={list:()=>t()?a([]):i.get(`/prompts`).then(e=>e.data),get:e=>i.get(`/prompts/${e}`).then(e=>e.data),create:e=>i.post(`/prompts`,e).then(e=>e.data),update:(e,t)=>i.put(`/prompts/${e}`,t).then(e=>e.data),remove:e=>i.delete(`/prompts/${e}`).then(e=>e.data),versions:e=>i.get(`/prompts/${e}/versions`).then(e=>e.data),rollback:(e,t)=>i.post(`/prompts/${e}/rollback`,{version:t}).then(e=>e.data),export:e=>i.get(`/prompts/${e}/export`).then(e=>e.data),import:(e,t)=>i.post(`/prompts/import`,{prompt:e,overwriteSlug:t?.overwriteSlug===!0}).then(e=>e.data)},U={list:()=>t()?a([]):i.get(`/skills`).then(e=>e.data),get:e=>i.get(`/skills/${e}`).then(e=>e.data),create:e=>i.post(`/skills`,e).then(e=>e.data),update:(e,t)=>i.put(`/skills/${e}`,t).then(e=>e.data),remove:e=>i.delete(`/skills/${e}`).then(e=>e.data),versions:e=>i.get(`/skills/${e}/versions`).then(e=>e.data),rollback:(e,t)=>i.post(`/skills/${e}/rollback`,{version:t}).then(e=>e.data),export:e=>i.get(`/skills/${e}/export`).then(e=>e.data),importFromUrl:(e,t)=>i.post(`/skills/import-url`,{source:e,overwriteSlug:t?.overwriteSlug===!0}).then(e=>e.data),import:(e,t)=>i.post(`/skills/import`,{skill:e,overwriteSlug:t?.overwriteSlug===!0}).then(e=>e.data),listFiles:e=>i.get(`/skills/${e}/files`).then(e=>e.data),getFile:(e,t)=>i.get(`/skills/${e}/files/content`,{params:{path:t}}).then(e=>e.data),putFile:(e,t,n)=>i.put(`/skills/${e}/files`,{path:t,content:n}).then(e=>e.data),deleteFile:(e,t)=>i.delete(`/skills/${e}/files`,{params:{path:t}}).then(e=>e.data)},oe={getCatalog:()=>t()?a({available:!1,tools:[]}):i.get(`/tools/catalog`).then(e=>e.data),listServers:()=>t()?a([]):i.get(`/tools/servers`).then(e=>e.data),getServer:e=>i.get(`/tools/servers/${e}`).then(e=>e.data),registerServer:e=>i.post(`/tools/servers`,e).then(e=>e.data),updateServer:(e,t)=>i.put(`/tools/servers/${e}`,t).then(e=>e.data),deleteServer:e=>i.delete(`/tools/servers/${e}`).then(e=>e.data),refreshServer:e=>i.post(`/tools/servers/${e}/refresh`).then(e=>e.data),overrideServerTool:(e,t,n)=>i.put(`/tools/servers/${e}/tools/${t}`,n).then(e=>e.data),setCredential:(e,t)=>i.put(`/tools/servers/${e}/credential`,{secret:t}).then(e=>e.data),deleteCredential:e=>i.delete(`/tools/servers/${e}/credential`).then(e=>e.data),listApprovals:()=>i.get(`/tools/approvals`).then(e=>e.data),decideApproval:(e,t,n)=>i.post(`/tools/approvals/${e}`,{approve:t,scope:n}).then(e=>e.data),revokeApproval:e=>i.delete(`/tools/approvals/${e}`).then(e=>e.data),getAccessMode:()=>i.get(`/tools/access`).then(e=>e.data),setAccessMode:e=>i.put(`/tools/access`,{mode:e}).then(e=>e.data)},W=e=>{let t=Date.now();return{range:{from:t-Math.max(0,e-1)*864e5,to:t,days:e},totals:{calls:0,successfulCalls:0,failedCalls:0,cancelledCalls:0,meteredCalls:0,promptTokens:0,completionTokens:0,reportedTokens:0,averageLatencyMs:0,uniqueUsers:0},series:[],plugins:[],models:[],capabilities:[]}},G={getUsage:(e=30)=>t()?a(W(e)):i.get(`/plugins/usage`,{params:{days:e}}).then(e=>e.data),getAllPlugins:()=>t()?a([]):i.get(`/plugins`).then(e=>e.data),discoverModels:e=>t()?a({models:[],outcome:`unavailable`}):i.post(`/plugins/discover/${encodeURIComponent(e)}`).then(e=>e.data),uploadPlugin:e=>{if(t())return a({},!1);let n=new FormData;return n.append(`plugin`,e),i.post(`/plugins/upload`,n).then(e=>e.data)},probeEndpoint:(e,n)=>t()?a({reachable:!1,models:[],kind:n}):i.post(`/plugins/probe-endpoint`,{baseUrl:e,kind:n}).then(e=>e.data),installPlugin:e=>t()?a({},!1):i.post(`/plugins/install`,e).then(e=>e.data),updatePlugin:(e,n)=>t()?a({},!1):i.put(`/plugins/${e}`,n).then(e=>e.data),deletePlugin:e=>t()?a(void 0):i.delete(`/plugins/${e}`).then(e=>e.data),activatePlugin:e=>t()?a(!1,!1):i.post(`/plugins/activate/${e}`).then(e=>e.data),deactivatePlugin:e=>{if(t())return a(void 0);let n=e?`/plugins/deactivate/${e}`:`/plugins/deactivate`;return i.post(n).then(e=>e.data)},getActivePlugin:()=>t()?a(null):i.get(`/plugins/active`).then(e=>e.data),getPluginStatus:()=>t()?a([]):i.get(`/plugins/status`).then(e=>e.data),exportPlugin:e=>t()?Promise.resolve(new Blob([`{}`],{type:`application/json`})):i.get(`/plugins/${e}/export`,{responseType:`blob`}).then(e=>e.data),getCredentials:()=>t()?a([]):i.get(`/plugins/credentials/all`).then(e=>e.data),setApiKey:(e,n)=>t()?a(!1,!1):i.post(`/plugins/${e}/credentials`,{api_key:n}).then(e=>e.data),deleteApiKey:e=>t()?a(!1,!1):i.delete(`/plugins/${e}/credentials`).then(e=>e.data),checkApiKey:e=>t()?a(!1):i.get(`/plugins/${e}/credentials/check`).then(e=>e.data),getVariables:e=>t()?a({}):i.get(`/plugins/${e}/variables`).then(e=>e.data),setVariables:(e,n,r=[])=>t()?a(!0):i.put(`/plugins/${e}/variables`,{variables:n,unset:r}).then(e=>e.data),resetVariables:e=>t()?a(!0):i.delete(`/plugins/${e}/variables`).then(e=>e.data)},K=`libre-webui-user-data`,q=`libre-webui-export`,se=new Set([2,3]),J=class extends Error{constructor(t,n,r){super(n),e(this,`code`,void 0),e(this,`version`,void 0),this.code=t,this.version=r,this.name=`PortableArchiveParseError`}};function Y(e){return typeof e!=`object`||!e?JSON.stringify(e):Array.isArray(e)?`[${e.map(e=>Y(e)).join(`,`)}]`:`{${Object.keys(e).sort().map(t=>`${JSON.stringify(t)}:${Y(e[t])}`).join(`,`)}}`}async function ce(e){let{integrity:t,...n}=e,r=JSON.parse(JSON.stringify(n)),i=await globalThis.crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(Y(r)));return Array.from(new Uint8Array(i),e=>e.toString(16).padStart(2,`0`)).join(``)}function le(e){let t;try{t=JSON.parse(e)}catch{throw new J(`invalidJson`,`Portable archive is not valid JSON.`)}if(!t||typeof t!=`object`||Array.isArray(t))throw new J(`objectRequired`,`Portable archive must contain a JSON object.`);let n=t;if(n.format===K){if(!se.has(n.version))throw new J(`unsupportedVersion`,`Unsupported portable archive version ${String(n.version)}.`,n.version);return n}if(n.format===q)return n;throw new J(`unrecognized`,`This file is not a Libre WebUI portable archive.`)}var ue=[{key:`accountAndAuthentication`,reason:`Account and authentication records are not portable.`},{key:`providerSecrets`,reason:`Provider credentials must be configured again.`},{key:`voiceProfiles`,reason:`Voice reference audio is biometric data and is not portable.`},{key:`personasAndMemory`,reason:`Personas and persona memory are not part of archive version 3.`},{key:`generatedMedia`,reason:`Generated media library files are not portable.`},{key:`work`,reason:`Work data and volumes require a system backup.`},{key:`derivedEmbeddings`,reason:`Document embeddings can be regenerated after import.`},{key:`noteHistoryAndAttachments`,reason:`Note revision history and note attachments are not part of archive version 3.`}];function X(e,t){if(typeof File<`u`&&e instanceof File){let n=new FormData;return n.append(`archive`,e),n.append(`strategy`,t),n}return{data:e,strategy:t}}var de={getPreferences:()=>t()?a(v()):i.get(`/preferences`).then(e=>e.data),updatePreferences:e=>t()?a(y(e)):i.put(`/preferences`,e).then(e=>e.data),setDefaultModel:(e,n,r)=>t()?a(y({defaultModel:e,defaultProviderType:n,defaultProviderId:n===`plugin`||n===`agent`?r:null})):i.put(`/preferences/default-model`,{model:e,providerType:n,providerId:r}).then(e=>e.data),setSystemMessage:e=>t()?a(y({systemMessage:e})):i.put(`/preferences/system-message`,{message:e}).then(e=>e.data),setGenerationOptions:e=>t()?a(y({generationOptions:e})):i.put(`/preferences/generation-options`,e).then(e=>e.data),setModelGenerationOptions:(e,t)=>i.put(`/preferences/model-generation-options`,{model:e,options:t}).then(e=>e.data),resetGenerationOptions:()=>t()?a(y({generationOptions:g.generationOptions})):i.post(`/preferences/generation-options/reset`).then(e=>e.data),setEmbeddingSettings:e=>t()?a(y({embeddingSettings:e})):i.put(`/preferences/embedding-settings`,e).then(e=>e.data),resetEmbeddingSettings:()=>t()?a(y({embeddingSettings:g.embeddingSettings})):i.post(`/preferences/embedding-settings/reset`).then(e=>e.data),exportData:async()=>{if(t()){let e={format:`libre-webui-user-data`,version:3,exportedAt:new Date().toISOString(),preferences:v(),sessionFolders:[],sessions:[],notes:[],knowledgeCollections:[],documents:[],exclusions:ue};return a({...e,integrity:{algorithm:`sha256`,canonicalization:`libre-json-sort-v1`,digest:await ce(e)}})}return i.get(`/preferences/export`).then(e=>e.data)},preflightImport:(e,n)=>t()?a({valid:!0,format:`libre-webui-user-data`,version:3,strategy:n,incoming:{sessionFolders:0,sessions:0,messages:0,notes:0,knowledgeCollections:0,documents:0,documentChunks:0},result:{format:`libre-webui-user-data`,version:3,strategy:n,sessionFolders:{imported:0,overwritten:0,skipped:0},sessions:{imported:0,overwritten:0,skipped:0},notes:{imported:0,overwritten:0,skipped:0},knowledgeCollections:{imported:0,overwritten:0,skipped:0},documents:{imported:0,overwritten:0,skipped:0},remappedIds:0,warnings:[],exclusions:[]},warnings:[],exclusions:[]}):i.post(`/preferences/import/preflight`,X(e,n)).then(e=>e.data),importData:(e,n=`skip`)=>t()?a({format:`libre-webui-user-data`,version:3,strategy:n,preferences:{imported:!0,mode:n===`overwrite`?`replace`:`merge`},sessionFolders:{imported:0,overwritten:0,skipped:0},sessions:{imported:0,overwritten:0,skipped:0},notes:{imported:0,overwritten:0,skipped:0},knowledgeCollections:{imported:0,overwritten:0,skipped:0},documents:{imported:0,overwritten:0,skipped:0},remappedIds:0,warnings:[],exclusions:[]}):i.post(`/preferences/import`,X(e,n)).then(e=>e.data)},Z={getDiagnostics:()=>i.get(`/system`).then(e=>e.data)};function Q(e,t,n){if(t)return e.find(e=>e.model===t&&(!n||e.plugin===n))}function fe(e,t,n){return Q(e,t,n)||e[0]}function pe(e){return`${encodeURIComponent(e.plugin)}::${encodeURIComponent(e.model)}`}var $={getModels:()=>t()?a([{model:`tts-1`,plugin:`openai`,config:{voices:[`alloy`,`echo`,`fable`,`onyx`,`nova`,`shimmer`],default_voice:`alloy`,formats:[`mp3`,`opus`,`aac`,`flac`,`wav`],default_format:`mp3`,max_characters:4096}}]):i.get(`/tts/models`).then(e=>e.data),getPlugins:()=>t()?a([{id:`openai`,name:`OpenAI GPT`,models:[`tts-1`,`tts-1-hd`],config:{voices:[`alloy`,`echo`,`fable`,`onyx`,`nova`,`shimmer`],default_voice:`alloy`}}]):i.get(`/tts/plugins`).then(e=>e.data),getVoiceProfiles:(e={})=>t()?a([]):i.get(`/tts/voice-profiles`,{params:{pluginId:e.pluginId||void 0,model:e.model||void 0}}).then(e=>e.data),revokeVoiceProfile:async e=>t()?{success:!1,error:`Demo mode`}:(await i.post(`/tts/voice-profiles/${encodeURIComponent(e)}/revoke`)).data,deleteVoiceProfile:async e=>{t()||await i.delete(`/tts/voice-profiles/${encodeURIComponent(e)}`)},getVoices:e=>t()?a({voices:[`alloy`,`echo`,`fable`,`onyx`,`nova`,`shimmer`],default_voice:`alloy`,formats:[`mp3`,`opus`,`aac`,`flac`,`wav`],default_format:`mp3`,max_characters:4096,supports_streaming:!1,supports_voice_cloning:!1,clone_requires_transcript:!1}):i.get(`/tts/voices/${e}`).then(e=>e.data),generateBase64:e=>{if(t())return a({audio:``,format:e.response_format||`mp3`,mimeType:`audio/mpeg`,size:0});let n={...e,pluginId:e.pluginId||void 0};return i.post(`/tts/generate-base64`,n).then(e=>e.data)},generate:async(e,n={})=>{if(t())return new Blob([],{type:`audio/mpeg`});let r={...e,pluginId:e.pluginId||void 0};return(await i.post(`/tts/generate`,r,{responseType:`blob`,signal:n.signal})).data},speak:async(e,t={})=>{try{t.onStart?.();let n=await $.generateBase64({model:t.model||`tts-1`,pluginId:t.pluginId,input:e,voice:t.voice,voiceProfileId:t.voiceProfileId,speed:t.speed,response_format:t.responseFormat});if(!n.success||!n.data?.audio)throw Error(n.message||`Failed to generate speech`);let r=`data:${n.data.mimeType};base64,${n.data.audio}`,i=new Audio(r);return i.onended=()=>t.onEnd?.(),i.onerror=()=>t.onError?.(Error(`Audio playback failed`)),await i.play(),i}catch(e){let n=e instanceof Error?e:Error(`Unknown error`);return t.onError?.(n),null}}},me={getModels:()=>t()?a([]):i.get(`/stt/models`).then(e=>e.data),transcribe:async(e,t,n={})=>{let r=new FormData,a=he(e.type);r.append(`audio`,e,`recording.${a}`),r.append(`model`,t.model),r.append(`pluginId`,t.plugin),n.language&&r.append(`language`,n.language);let o=await i.post(`/stt/transcribe`,r,{signal:n.signal});if(!o.data.success||!o.data.data)throw Error(o.data.message||o.data.error||n.fallbackMessage||`Transcription failed`);return o.data.data}};function he(e){let t=e.split(`;`,1)[0].toLowerCase();return t.includes(`webm`)?`webm`:t.includes(`ogg`)?`ogg`:t.includes(`wav`)?`wav`:t.includes(`flac`)?`flac`:t.includes(`mp4`)||t.includes(`m4a`)?`m4a`:`mp3`}export{S as A,re as C,T as D,E,c as F,u as I,l as L,x as M,ee as N,w as O,f as P,d as R,ae as S,te as T,B as _,$ as a,k as b,J as c,oe as d,U as f,z as g,R as h,fe as i,b as j,C as k,le as l,V as m,Q as n,Z as o,H as p,pe as r,de as s,me as t,G as u,j as v,ne as w,O as x,N as y,o as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./workApi-CFH097y5.js";import{m as e,s as t,z as n}from"./api-D-5hpGht.js";import"./imageGenModels-Dx_QMLJQ.js";export{n as agentCliApi,e as personaApi,t as preferencesApi};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/api-WR1CTYO5.js","js/workApi-CFH097y5.js","js/router-vendor-CIwPu612.js","js/rolldown-runtime-hePW80VL.js","js/markdown-core-CsTEqgp1.js","js/utils-vendor-CeUf_ngc.js","js/logger-CpCQz3Vi.js","js/config-DJwXAf8i.js","js/api-D-5hpGht.js","js/imageGenModels-Dx_QMLJQ.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e}from"./router-vendor-CIwPu612.js";import{a as t,t as n}from"./utils-vendor-CeUf_ngc.js";import{a as r,i,t as a}from"./logger-CpCQz3Vi.js";var o=`dark`,s=`blue`,c=`#4176e6`,l=[{id:`violet`,label:`Violet`,color:`#7c3aed`,foreground:`#ffffff`},{id:`blue`,label:`Blue`,color:`#4176e6`,foreground:`#ffffff`},{id:`cyan`,label:`Cyan`,color:`#0e7490`,foreground:`#ffffff`},{id:`teal`,label:`Teal`,color:`#0f766e`,foreground:`#ffffff`},{id:`emerald`,label:`Emerald`,color:`#15803d`,foreground:`#ffffff`},{id:`amber`,label:`Coral`,color:`#ff7b52`,foreground:`#3d120c`},{id:`rose`,label:`Rose`,color:`#e11d48`,foreground:`#ffffff`},{id:`slate`,label:`Slate`,color:`#475569`,foreground:`#ffffff`}],u=[`50`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`,`950`],d=[`25`,...u],f=[`canvas`,`sidebar`,`surface`,`surface-subtle`,`surface-raised`,`surface-overlay`,`surface-inverse`,`ink`,`ink-muted`,`ink-subtle`,`ink-inverse`,`line`,`line-strong`],p={multiplier:.24,minimum:6,maximum:24},m={multiplier:.36,minimum:6,maximum:32},h={25:99,50:97,100:94,200:88,300:80,400:66,500:48,600:36,700:27,800:18,900:11,950:6},g={25:13,50:4,100:7,200:10,300:16,400:27,500:46,600:65,700:82,800:89,900:95,950:99},_={25:6,50:0,100:3,200:6,300:12,400:24,500:46,600:65,700:82,800:89,900:95,950:99},v={canvas:{lightness:96,saturationFactor:1},sidebar:{lightness:94,saturationFactor:1},surface:{lightness:98,saturationFactor:.9},"surface-subtle":{lightness:93,saturationFactor:1},"surface-raised":{lightness:99,saturationFactor:.8},"surface-overlay":{lightness:100,saturationFactor:0},"surface-inverse":{lightness:10,saturationFactor:.7},ink:{lightness:10,saturationFactor:.45},"ink-muted":{lightness:38,saturationFactor:.35},"ink-subtle":{lightness:54,saturationFactor:.4},"ink-inverse":{lightness:98,saturationFactor:.4},line:{lightness:86,saturationFactor:.8},"line-strong":{lightness:75,saturationFactor:.65}},y={canvas:{lightness:5,saturationFactor:.9},sidebar:{lightness:8,saturationFactor:1},surface:{lightness:7,saturationFactor:.9},"surface-subtle":{lightness:9,saturationFactor:1},"surface-raised":{lightness:11,saturationFactor:1},"surface-overlay":{lightness:13,saturationFactor:1},"surface-inverse":{lightness:96,saturationFactor:.35},ink:{lightness:96,saturationFactor:.3},"ink-muted":{lightness:67,saturationFactor:.35},"ink-subtle":{lightness:48,saturationFactor:.4},"ink-inverse":{lightness:7,saturationFactor:.45},line:{lightness:18,saturationFactor:.8},"line-strong":{lightness:28,saturationFactor:.65}},b={canvas:{lightness:0,saturationFactor:0},sidebar:{lightness:0,saturationFactor:0},surface:{lightness:0,saturationFactor:0},"surface-subtle":{lightness:4,saturationFactor:1},"surface-raised":{lightness:7,saturationFactor:1},"surface-overlay":{lightness:10,saturationFactor:1},"surface-inverse":{lightness:96,saturationFactor:.35},ink:{lightness:96,saturationFactor:.3},"ink-muted":{lightness:67,saturationFactor:.35},"ink-subtle":{lightness:48,saturationFactor:.4},"ink-inverse":{lightness:0,saturationFactor:0},line:{lightness:11,saturationFactor:.8},"line-strong":{lightness:20,saturationFactor:.65}},x={violet:{50:`#f5f3ff`,100:`#ede9fe`,200:`#ddd6fe`,300:`#c4b5fd`,400:`#a78bfa`,500:`#7c3aed`,600:`#6d28d9`,700:`#5b21b6`,800:`#4c1d95`,900:`#3b0764`,950:`#2e1065`},blue:{50:`#edf3fe`,100:`#e4edfd`,200:`#d3e2ff`,300:`#b7c8fe`,400:`#679efe`,500:`#4176e6`,600:`#4868b2`,700:`#2f4c8f`,800:`#34415b`,900:`#283142`,950:`#1e2635`},cyan:{50:`#ecfeff`,100:`#cffafe`,200:`#a5f3fc`,300:`#67e8f9`,400:`#22d3ee`,500:`#0e7490`,600:`#155e75`,700:`#164e63`,800:`#083344`,900:`#092f3f`,950:`#062634`},teal:{50:`#f0fdfa`,100:`#ccfbf1`,200:`#99f6e4`,300:`#5eead4`,400:`#2dd4bf`,500:`#0f766e`,600:`#0f625d`,700:`#115e59`,800:`#134e4a`,900:`#042f2e`,950:`#022c22`},emerald:{50:`#ecfdf5`,100:`#d1fae5`,200:`#a7f3d0`,300:`#6ee7b7`,400:`#34d399`,500:`#15803d`,600:`#166534`,700:`#14532d`,800:`#064e3b`,900:`#052e16`,950:`#022c22`},amber:{50:`#fff5f1`,100:`#ffe8df`,200:`#ffd0c2`,300:`#ffae96`,400:`#ff9273`,500:`#ff7b52`,600:`#c94a27`,700:`#a83a1f`,800:`#87301f`,900:`#70291e`,950:`#3d120c`},rose:{50:`#fff1f2`,100:`#ffe4e6`,200:`#fecdd3`,300:`#fda4af`,400:`#fb7185`,500:`#e11d48`,600:`#be123c`,700:`#9f1239`,800:`#881337`,900:`#4c0519`,950:`#2d0714`},slate:{50:`#f8fafc`,100:`#f1f5f9`,200:`#e2e8f0`,300:`#cbd5e1`,400:`#94a3b8`,500:`#475569`,600:`#334155`,700:`#1e293b`,800:`#0f172a`,900:`#020617`,950:`#010313`}},S={50:97,100:94,200:88,300:76,400:64,500:42,600:34,700:27,800:21,900:16,950:10},C=(e,t,n)=>Math.min(Math.max(e,t),n),w=e=>{if(!e)return null;let t=e.trim().match(/^#?([0-9a-f]{3}|[0-9a-f]{6})$/i);if(!t)return null;let n=t[1];return`#${(n.length===3?n.split(``).map(e=>`${e}${e}`).join(``):n).toLowerCase()}`},T=e=>{let t=w(e)||`#4176e6`,n=parseInt(t.slice(1),16);return{r:n>>16&255,g:n>>8&255,b:n&255}},E=(e,t,n)=>`#${[e,t,n].map(e=>C(Math.round(e),0,255).toString(16).padStart(2,`0`)).join(``)}`,D=(e,t,n)=>{let r=e/255,i=t/255,a=n/255,o=Math.max(r,i,a),s=Math.min(r,i,a),c=(o+s)/2;if(o===s)return{h:0,s:0,l:c*100};let l=o-s,u=c>.5?l/(2-o-s):l/(o+s),d=0;return d=o===r?(i-a)/l+(i<a?6:0):o===i?(a-r)/l+2:(r-i)/l+4,{h:d*60,s:u*100,l:c*100}},O=(e,t,n)=>{let r=C(t,0,100)/100,i=C(n,0,100)/100,a=(1-Math.abs(2*i-1))*r,o=(e%360+360)%360,s=a*(1-Math.abs(o/60%2-1)),c=i-a/2,l=0,u=0,d=0;return o<60?(l=a,u=s):o<120?(l=s,u=a):o<180?(u=a,d=s):o<240?(u=s,d=a):o<300?(l=s,d=a):(l=a,d=s),E((l+c)*255,(u+c)*255,(d+c)*255)},k=e=>{let{r:t,g:n,b:r}=T(e),i=[t,n,r].map(e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4});return i[0]*.2126+i[1]*.7152+i[2]*.0722},A=(e,t)=>{let n=k(e),r=k(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)},j=(e,t,n)=>{let r=n,i=O(e,t,r);for(;A(`#ffffff`,i)<4.5&&r>12;)r-=2,i=O(e,t,r);return i},M=e=>{let{r:t,g:n,b:r}=T(w(e)||`#4176e6`),{h:i,s:a}=D(t,n,r),o=a<8?a:C(a,42,88);return u.reduce((e,t)=>{let n=S[t],r=Number(t)<300?o*.72:o;return e[t]=t===`500`||t===`600`?j(i,r,n):O(i,r,n),e},{})},N=e=>{let t=e?.mode===`light`?`light`:e?.mode===`amoled`?`amoled`:o,n=e?.accent===`custom`?`custom`:e?.accent,r=l.some(e=>e.id===n)?n:s,i=w(e?.customAccent)||`#4176e6`;return{mode:t,adaptToAccent:e?.adaptToAccent===!0,accent:n===`custom`?`custom`:r,customAccent:i}},P=()=>N({mode:o}),F=e=>{let t=N(e);return t.accent===`custom`?M(t.customAccent):x[t.accent||`blue`]},I=e=>{let t=N(e);return t.accent===`custom`?t.customAccent||`#4176e6`:l.find(e=>e.id===t.accent)?.color||`#4176e6`},L=(e,t,n)=>t===0||e<8?e*t:C(e*n.multiplier*t,n.minimum*t,n.maximum*t),R=(e,t,n,r)=>d.reduce((i,a)=>(i[a]=O(e,L(t,1,r),n[a]),i),{}),z=(e,t,n,r)=>f.reduce((i,a)=>{let o=n[a];return i[a]=O(e,L(t,o.saturationFactor,r),o.lightness),i},{}),B=(e,t,n)=>{let{r,g:i,b:a}=T(n);e.style.setProperty(t,`${r} ${i} ${a}`)},V=e=>{for(let t of d)e.style.removeProperty(`--color-gray-${t}`),e.style.removeProperty(`--color-dark-${t}`);for(let t of f)e.style.removeProperty(`--color-${t}`)},H=(e,t)=>{let{r:n,g:r,b:i}=T(I(t)),{h:a,s:o}=D(n,r,i),s=t.mode===`light`?m:p,c=R(a,o,h,s),l=R(a,o,t.mode===`amoled`?_:g,p),u=z(a,o,t.mode===`light`?v:t.mode===`amoled`?b:y,s);for(let t of d)B(e,`--color-gray-${t}`,c[t]),B(e,`--color-dark-${t}`,l[t]);for(let t of f)B(e,`--color-${t}`,u[t])},U=e=>{if(typeof document>`u`)return;let t=N(e),n=document.documentElement,r=F(t);n.classList.remove(`dark`,`amoled`,`ophelia`),t.mode!==`light`&&n.classList.add(`dark`),t.mode===`amoled`&&n.classList.add(`amoled`),n.style.colorScheme=t.mode===`light`?`light`:`dark`,n.dataset.accent=t.accent||`blue`,n.dataset.themeStyle=t.adaptToAccent?`accent`:`default`;for(let e of u){let{r:t,g:i,b:a}=T(r[e]),o=`${t} ${i} ${a}`;n.style.setProperty(`--color-primary-${e}`,o),n.style.setProperty(`--color-accent-${e}`,o)}t.adaptToAccent?H(n,t):V(n)},W=a(`store:app-store`),G=250,K=null,q=t()(n((t,n)=>({theme:P(),themeSyncPending:!1,syncThemePreference:async i=>{if(K&&(clearTimeout(K),K=null),!(!r()&&!localStorage.getItem(`auth-token`)))try{let{preferencesApi:r}=await e(async()=>{let{preferencesApi:e}=await import(`./api-WR1CTYO5.js`);return{preferencesApi:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));if(!(await r.updatePreferences({theme:i})).success){W.warn(`Failed to save theme preference to backend`);return}let a=N(n().theme),o=N(i);a.mode===o.mode&&a.adaptToAccent===o.adaptToAccent&&a.accent===o.accent&&a.customAccent===o.customAccent?t({themeSyncPending:!1}):(t({themeSyncPending:!0}),n().scheduleThemePreferenceSync())}catch(e){W.warn(`Failed to save theme preference to backend:`,e)}},scheduleThemePreferenceSync:()=>{K&&clearTimeout(K),K=setTimeout(()=>{K=null,n().syncThemePreference(N(n().theme))},G)},setTheme:e=>{let n=N(e);t(e=>({theme:n,preferences:{...e.preferences,theme:n}})),U(n)},updateTheme:e=>{let r=N(e);n().setTheme(r),t({themeSyncPending:!0}),n().scheduleThemePreferenceSync()},toggleTheme:()=>{let e=n().theme,t=e.mode===`light`?`dark`:`light`;n().updateTheme({...e,mode:t})},sidebarOpen:!0,sidebarCompact:!1,setSidebarOpen:e=>t({sidebarOpen:e}),setSidebarCompact:e=>t({sidebarCompact:e}),toggleSidebar:()=>t(e=>({sidebarOpen:!e.sidebarOpen})),toggleSidebarCompact:()=>t(e=>({sidebarCompact:!e.sidebarCompact})),artifactPanelOpen:!1,artifactPanelArtifact:null,artifactPanelWidth:600,artifactPanelResizing:!1,openArtifactPanel:e=>t({artifactPanelOpen:!0,artifactPanelArtifact:e}),closeArtifactPanel:()=>t({artifactPanelOpen:!1,artifactPanelArtifact:null}),setArtifactPanelWidth:e=>t({artifactPanelWidth:e}),setArtifactPanelResizing:e=>t({artifactPanelResizing:e}),preferences:{theme:P(),defaultModel:``,defaultProviderType:null,defaultProviderId:null,visionModel:``,visionProviderType:null,visionProviderId:null,systemMessage:``,generationOptions:{temperature:.7,top_p:.9,top_k:40,num_predict:1024},embeddingSettings:{enabled:!1,model:`nomic-embed-text`,chunkSize:1e3,chunkOverlap:200,similarityThreshold:.3},titleSettings:{autoTitle:!1,taskModel:``,taskProviderType:null,taskProviderId:null},showUsername:!1,hapticFeedbackEnabled:!1,workRemoteProviderDisclosureDismissed:!1,backgroundSettings:{enabled:!1,imageUrl:``,blurAmount:10,opacity:.6}},setPreferences:e=>{let n=e.theme?N(e.theme):null;t(t=>({...n&&{theme:n},preferences:{...t.preferences,...e,...n&&{theme:n}}})),n&&U(n)},loadPreferences:async()=>{try{let{preferencesApi:r}=await e(async()=>{let{preferencesApi:e}=await import(`./api-WR1CTYO5.js`);return{preferencesApi:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),i=await r.getPreferences();if(i.success&&i.data){let e=i.data,r=n().themeSyncPending?N(n().theme):null;n().setPreferences(r?{...e,theme:r}:e),t({backgroundImage:e.backgroundSettings?.imageUrl||null}),r&&n().syncThemePreference(r)}}catch(e){W.warn(`Failed to load preferences from backend:`,e)}},isGenerating:!1,setIsGenerating:e=>t({isGenerating:e}),pinnedAdminShortcuts:[],toggleAdminShortcut:e=>t(t=>({pinnedAdminShortcuts:t.pinnedAdminShortcuts.includes(e)?t.pinnedAdminShortcuts.filter(t=>t!==e):[...t.pinnedAdminShortcuts,e]})),hasSeenSettingsNotification:!1,markSettingsNotificationAsSeen:()=>t({hasSeenSettingsNotification:!0}),isDemoMode:r(),demoConfig:i(),setDemoMode:e=>{t({isDemoMode:e,demoConfig:i()})},backgroundImage:null,setBackgroundImage:async r=>{if(t({backgroundImage:r}),r){let t=n(),i={...t.preferences,backgroundSettings:{enabled:!0,imageUrl:r,blurAmount:t.preferences.backgroundSettings?.blurAmount||10,opacity:t.preferences.backgroundSettings?.opacity||.6}};t.setPreferences(i);try{let{preferencesApi:t}=await e(async()=>{let{preferencesApi:e}=await import(`./api-WR1CTYO5.js`);return{preferencesApi:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));await t.updatePreferences({backgroundSettings:i.backgroundSettings})}catch(e){W.warn(`Failed to save background settings to backend:`,e)}}},uploadBackgroundImage:async e=>{try{let t=new FileReader;return new Promise((r,i)=>{t.onload=async e=>{try{let t=e.target?.result;await n().setBackgroundImage(t),r()}catch(e){i(e)}},t.onerror=i,t.readAsDataURL(e)})}catch(e){throw W.error(`Failed to upload background image:`,e),e}},removeBackgroundImage:async()=>{t({backgroundImage:null});let r=n(),i={enabled:!1,imageUrl:``,blurAmount:r.preferences.backgroundSettings?.blurAmount||10,opacity:r.preferences.backgroundSettings?.opacity||.6};r.setPreferences({backgroundSettings:i});try{let{preferencesApi:t}=await e(async()=>{let{preferencesApi:e}=await import(`./api-WR1CTYO5.js`);return{preferencesApi:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));await t.updatePreferences({backgroundSettings:i})}catch(e){W.warn(`Failed to save background removal to backend:`,e)}},clearUserState:()=>{let e=P();K&&(clearTimeout(K),K=null),t({theme:e,themeSyncPending:!1,backgroundImage:null,preferences:{theme:e,defaultModel:``,defaultProviderType:null,defaultProviderId:null,visionModel:``,visionProviderType:null,visionProviderId:null,systemMessage:``,generationOptions:{temperature:.7,top_p:.9,top_k:40,num_predict:1024},embeddingSettings:{enabled:!1,model:`nomic-embed-text`,chunkSize:1e3,chunkOverlap:200,similarityThreshold:.3},titleSettings:{autoTitle:!1,taskModel:``,taskProviderType:null,taskProviderId:null},showUsername:!1,workRemoteProviderDisclosureDismissed:!1,backgroundSettings:{enabled:!1,imageUrl:``,blurAmount:10,opacity:.6}}}),U(e)}}),{name:`libre-webui-app-state`,onRehydrateStorage:()=>e=>{e&&e.setTheme(N(e.theme))},partialize:e=>{let{backgroundSettings:t,...n}=e.preferences;return{theme:e.theme,themeSyncPending:e.themeSyncPending,sidebarOpen:e.sidebarOpen,sidebarCompact:e.sidebarCompact,artifactPanelWidth:e.artifactPanelWidth,pinnedAdminShortcuts:e.pinnedAdminShortcuts,preferences:n,hasSeenSettingsNotification:e.hasSeenSettingsNotification}}}));typeof window<`u`&&(()=>{let{theme:e,setTheme:t}=q.getState();t(e)})();export{I as a,c as i,l as n,N as o,s as r,q as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(e,t=`0.31.0`){return t?.trim()||e?.trim()||``}export{e as t};
|