libre-webui 0.32.0 → 0.34.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.
Files changed (266) hide show
  1. package/backend/dist/db.d.ts +2 -2
  2. package/backend/dist/db.d.ts.map +1 -1
  3. package/backend/dist/db.js +14 -6
  4. package/backend/dist/db.js.map +1 -1
  5. package/backend/dist/env.d.ts.map +1 -1
  6. package/backend/dist/env.js +21 -9
  7. package/backend/dist/env.js.map +1 -1
  8. package/backend/dist/index.js +4 -4
  9. package/backend/dist/index.js.map +1 -1
  10. package/backend/dist/middleware/cors.d.ts +23 -0
  11. package/backend/dist/middleware/cors.d.ts.map +1 -0
  12. package/backend/dist/middleware/cors.js +69 -0
  13. package/backend/dist/middleware/cors.js.map +1 -0
  14. package/backend/dist/middleware/staticAssets.d.ts.map +1 -1
  15. package/backend/dist/middleware/staticAssets.js +21 -5
  16. package/backend/dist/middleware/staticAssets.js.map +1 -1
  17. package/backend/dist/models/personaModel.d.ts.map +1 -1
  18. package/backend/dist/models/personaModel.js +2 -2
  19. package/backend/dist/models/personaModel.js.map +1 -1
  20. package/backend/dist/models/userModel.d.ts.map +1 -1
  21. package/backend/dist/models/userModel.js +3 -3
  22. package/backend/dist/models/userModel.js.map +1 -1
  23. package/backend/dist/persistence/postgresResourceRepositories.js +3 -3
  24. package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -1
  25. package/backend/dist/persistence/sqliteResourceRepositories.js +3 -3
  26. package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -1
  27. package/backend/dist/routes/calendar.js +2 -2
  28. package/backend/dist/routes/calendar.js.map +1 -1
  29. package/backend/dist/routes/documents.js +2 -2
  30. package/backend/dist/routes/documents.js.map +1 -1
  31. package/backend/dist/routes/huggingfaceHub.d.ts.map +1 -1
  32. package/backend/dist/routes/huggingfaceHub.js +47 -21
  33. package/backend/dist/routes/huggingfaceHub.js.map +1 -1
  34. package/backend/dist/services/agentCliService.d.ts.map +1 -1
  35. package/backend/dist/services/agentCliService.js +3 -1
  36. package/backend/dist/services/agentCliService.js.map +1 -1
  37. package/backend/dist/services/appearanceSettingsService.d.ts +1 -1
  38. package/backend/dist/services/appearanceSettingsService.d.ts.map +1 -1
  39. package/backend/dist/services/appearanceSettingsService.js +1 -1
  40. package/backend/dist/services/appearanceSettingsService.js.map +1 -1
  41. package/backend/dist/services/automationService.d.ts.map +1 -1
  42. package/backend/dist/services/automationService.js +3 -4
  43. package/backend/dist/services/automationService.js.map +1 -1
  44. package/backend/dist/services/chatService.d.ts.map +1 -1
  45. package/backend/dist/services/chatService.js +11 -11
  46. package/backend/dist/services/chatService.js.map +1 -1
  47. package/backend/dist/services/chatToolRuntimeService.d.ts +11 -0
  48. package/backend/dist/services/chatToolRuntimeService.d.ts.map +1 -1
  49. package/backend/dist/services/chatToolRuntimeService.js +2 -13
  50. package/backend/dist/services/chatToolRuntimeService.js.map +1 -1
  51. package/backend/dist/services/codexOAuthService.js +11 -7
  52. package/backend/dist/services/codexOAuthService.js.map +1 -1
  53. package/backend/dist/services/documentService.d.ts.map +1 -1
  54. package/backend/dist/services/documentService.js +3 -3
  55. package/backend/dist/services/documentService.js.map +1 -1
  56. package/backend/dist/services/galleryService.d.ts.map +1 -1
  57. package/backend/dist/services/galleryService.js +2 -2
  58. package/backend/dist/services/galleryService.js.map +1 -1
  59. package/backend/dist/services/libreClawService.d.ts +1 -1
  60. package/backend/dist/services/libreClawService.d.ts.map +1 -1
  61. package/backend/dist/services/libreClawService.js +16 -16
  62. package/backend/dist/services/libreClawService.js.map +1 -1
  63. package/backend/dist/services/memoryService.d.ts.map +1 -1
  64. package/backend/dist/services/memoryService.js +2 -2
  65. package/backend/dist/services/memoryService.js.map +1 -1
  66. package/backend/dist/services/mutationEngineService.js +2 -2
  67. package/backend/dist/services/mutationEngineService.js.map +1 -1
  68. package/backend/dist/services/ollamaService.d.ts +7 -2
  69. package/backend/dist/services/ollamaService.d.ts.map +1 -1
  70. package/backend/dist/services/ollamaService.js +120 -98
  71. package/backend/dist/services/ollamaService.js.map +1 -1
  72. package/backend/dist/services/ollamaSettingsService.js +1 -1
  73. package/backend/dist/services/ollamaSettingsService.js.map +1 -1
  74. package/backend/dist/services/pluginAudioGenerationService.d.ts.map +1 -1
  75. package/backend/dist/services/pluginAudioGenerationService.js +24 -11
  76. package/backend/dist/services/pluginAudioGenerationService.js.map +1 -1
  77. package/backend/dist/services/pluginCredentialsService.js +2 -2
  78. package/backend/dist/services/pluginCredentialsService.js.map +1 -1
  79. package/backend/dist/services/pluginEmbeddingService.d.ts.map +1 -1
  80. package/backend/dist/services/pluginEmbeddingService.js +20 -16
  81. package/backend/dist/services/pluginEmbeddingService.js.map +1 -1
  82. package/backend/dist/services/pluginImageGenerationService.d.ts.map +1 -1
  83. package/backend/dist/services/pluginImageGenerationService.js +93 -62
  84. package/backend/dist/services/pluginImageGenerationService.js.map +1 -1
  85. package/backend/dist/services/pluginSTTService.d.ts.map +1 -1
  86. package/backend/dist/services/pluginSTTService.js +15 -11
  87. package/backend/dist/services/pluginSTTService.js.map +1 -1
  88. package/backend/dist/services/pluginService.d.ts.map +1 -1
  89. package/backend/dist/services/pluginService.js +26 -23
  90. package/backend/dist/services/pluginService.js.map +1 -1
  91. package/backend/dist/services/pluginTTSService.d.ts.map +1 -1
  92. package/backend/dist/services/pluginTTSService.js +34 -27
  93. package/backend/dist/services/pluginTTSService.js.map +1 -1
  94. package/backend/dist/services/pluginVariablesService.d.ts.map +1 -1
  95. package/backend/dist/services/pluginVariablesService.js +2 -2
  96. package/backend/dist/services/pluginVariablesService.js.map +1 -1
  97. package/backend/dist/services/pluginVideoGenerationService.d.ts.map +1 -1
  98. package/backend/dist/services/pluginVideoGenerationService.js +33 -24
  99. package/backend/dist/services/pluginVideoGenerationService.js.map +1 -1
  100. package/backend/dist/services/preferencesService.d.ts +5 -0
  101. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  102. package/backend/dist/services/preferencesService.js +8 -0
  103. package/backend/dist/services/preferencesService.js.map +1 -1
  104. package/backend/dist/services/promptService.d.ts.map +1 -1
  105. package/backend/dist/services/promptService.js +4 -4
  106. package/backend/dist/services/promptService.js.map +1 -1
  107. package/backend/dist/services/skillService.d.ts.map +1 -1
  108. package/backend/dist/services/skillService.js +6 -6
  109. package/backend/dist/services/skillService.js.map +1 -1
  110. package/backend/dist/services/toolApprovalService.d.ts.map +1 -1
  111. package/backend/dist/services/toolApprovalService.js +2 -3
  112. package/backend/dist/services/toolApprovalService.js.map +1 -1
  113. package/backend/dist/services/toolServerService.d.ts.map +1 -1
  114. package/backend/dist/services/toolServerService.js +4 -5
  115. package/backend/dist/services/toolServerService.js.map +1 -1
  116. package/backend/dist/services/workApprovalService.d.ts.map +1 -1
  117. package/backend/dist/services/workApprovalService.js +3 -3
  118. package/backend/dist/services/workApprovalService.js.map +1 -1
  119. package/backend/dist/services/workModelProviderService.d.ts +13 -2
  120. package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
  121. package/backend/dist/services/workModelProviderService.js +16 -5
  122. package/backend/dist/services/workModelProviderService.js.map +1 -1
  123. package/backend/dist/services/workPolicyService.d.ts.map +1 -1
  124. package/backend/dist/services/workPolicyService.js +2 -2
  125. package/backend/dist/services/workPolicyService.js.map +1 -1
  126. package/backend/dist/services/workTaskService.d.ts.map +1 -1
  127. package/backend/dist/services/workTaskService.js +7 -7
  128. package/backend/dist/services/workTaskService.js.map +1 -1
  129. package/backend/dist/storage.d.ts.map +1 -1
  130. package/backend/dist/storage.js +2 -2
  131. package/backend/dist/storage.js.map +1 -1
  132. package/backend/dist/types/index.d.ts +1 -1
  133. package/backend/dist/types/index.d.ts.map +1 -1
  134. package/backend/dist/utils/hash.js +1 -1
  135. package/backend/dist/utils/hash.js.map +1 -1
  136. package/backend/dist/utils/pluginDefinitionTrust.js +1 -1
  137. package/backend/dist/utils/providerFetch.d.ts +90 -0
  138. package/backend/dist/utils/providerFetch.d.ts.map +1 -0
  139. package/backend/dist/utils/providerFetch.js +316 -0
  140. package/backend/dist/utils/providerFetch.js.map +1 -0
  141. package/backend/dist/utils/websocketCloseCodes.d.ts +31 -0
  142. package/backend/dist/utils/websocketCloseCodes.d.ts.map +1 -0
  143. package/backend/dist/utils/websocketCloseCodes.js +134 -0
  144. package/backend/dist/utils/websocketCloseCodes.js.map +1 -0
  145. package/backend/dist/workScreenServer.d.ts.map +1 -1
  146. package/backend/dist/workScreenServer.js +7 -2
  147. package/backend/dist/workScreenServer.js.map +1 -1
  148. package/backend/package.json +5 -14
  149. package/bin/cli-args.js +71 -0
  150. package/bin/cli.js +14 -3
  151. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  152. package/frontend/dist/assets/index-By_-fwuh.css +1 -0
  153. package/frontend/dist/assets/index-D3XhYdgN.js +108 -0
  154. package/frontend/dist/index.html +41 -29
  155. package/frontend/dist/js/{ArtifactContainer-DG-qigOa.js → ArtifactContainer-8ZacPNwg.js} +1 -1
  156. package/frontend/dist/js/{ArtifactDemoPage-Cr_bMx_v.js → ArtifactDemoPage-DvvT45ZJ.js} +1 -1
  157. package/frontend/dist/js/{ArtifactSandboxFrame-2WyuCg4w.js → ArtifactSandboxFrame-Dbp1bB_9.js} +1 -1
  158. package/frontend/dist/js/ArtifactSlideOutPanel-Ct9nlG_6.js +1 -0
  159. package/frontend/dist/js/AutomationModal-Ie_MxC18.js +1 -0
  160. package/frontend/dist/js/AutomationsPage-Czg-rMEr.js +1 -0
  161. package/frontend/dist/js/{AvatarUpload-D_nSLum9.js → AvatarUpload-DgyIHr7P.js} +1 -1
  162. package/frontend/dist/js/{Button-BQ5JnUVj.js → Button-BxwbQ5xw.js} +1 -1
  163. package/frontend/dist/js/CalendarPage-D1ZeHpZ0.js +1 -0
  164. package/frontend/dist/js/ChannelsPage-DgXZdSLa.js +1 -0
  165. package/frontend/dist/js/ChatPage-ov4Xlf8Q.js +14 -0
  166. package/frontend/dist/js/{ConnectModels-CKLUofc6.js → ConnectModels-Cg7Wp-43.js} +1 -1
  167. package/frontend/dist/js/{EvaluationsPage-C6NHj9KF.js → EvaluationsPage-BBafHC8o.js} +2 -2
  168. package/frontend/dist/js/{FirstTimeSetup-BVOPC4uh.js → FirstTimeSetup-Cd9cLLz6.js} +1 -1
  169. package/frontend/dist/js/GalleryPage-6aa0A9fS.js +1 -0
  170. package/frontend/dist/js/HomePage-1vKjY6Aw.js +1 -0
  171. package/frontend/dist/js/LibreClawPage-DXxJP96Q.js +1 -0
  172. package/frontend/dist/js/{Logo-BlcOFpac.js → Logo-BHz_QQlV.js} +1 -1
  173. package/frontend/dist/js/{LogoMark-CNeQ6eO9.js → LogoMark-BDqTSfCe.js} +1 -1
  174. package/frontend/dist/js/{ModelManagerModals-B4NTpNr2.js → ModelManagerModals-BBGWbTTi.js} +1 -1
  175. package/frontend/dist/js/NotesPage-DCLkl9a9.js +3 -0
  176. package/frontend/dist/js/{PasswordStrengthMeter-CNgHwIkW.js → PasswordStrengthMeter-DLQ5jaO_.js} +1 -1
  177. package/frontend/dist/js/PersonasPage-HYkaAXAe.js +13 -0
  178. package/frontend/dist/js/PluginUsagePage-B2MRIZme.js +1 -0
  179. package/frontend/dist/js/RichMessageContent-2fzm0XIM.js +1 -0
  180. package/frontend/dist/js/{RichMessageContent-Cm7kRv3f.js → RichMessageContent-BnpRgouz.js} +1 -1
  181. package/frontend/dist/js/SettingsModal-4ITUSJqi.js +19 -0
  182. package/frontend/dist/js/SettingsToggle-DdhWCK7-.js +1 -0
  183. package/frontend/dist/js/{ShareDialog-CeHMOTrA.js → ShareDialog-BdFJRfxV.js} +1 -1
  184. package/frontend/dist/js/{SystemPage-B1bDpa9g.js → SystemPage-DkKnu35i.js} +1 -1
  185. package/frontend/dist/js/UserManagementPage-DdpcN4-Q.js +1 -0
  186. package/frontend/dist/js/UserManagementPanel-Dpn15Nyr.js +1 -0
  187. package/frontend/dist/js/{WhatsNewModal-CKkWbbNI.js → WhatsNewModal-BH-kE-Wb.js} +1 -1
  188. package/frontend/dist/js/WorkPage-CCyCPnwr.js +7 -0
  189. package/frontend/dist/js/api-DOlirnw_.js +1 -0
  190. package/frontend/dist/js/api-HgGU3dII.js +14 -0
  191. package/frontend/dist/js/{appNavigation-B_QjduzS.js → appNavigation-DAd7SkU_.js} +1 -1
  192. package/frontend/dist/js/appStore-DefVAJAx.js +2 -0
  193. package/frontend/dist/js/appVersion-RvElMU1Q.js +1 -0
  194. package/frontend/dist/js/{ar-DFOuR5-K.js → ar-CM3oZcHT.js} +1 -1
  195. package/frontend/dist/js/authStore-AE-cc9PJ.js +1 -0
  196. package/frontend/dist/js/{authStore-Bl7S8bPg.js → authStore-DbDFBMx0.js} +3 -3
  197. package/frontend/dist/js/{bn-BqS1yarc.js → bn-BuYroL_j.js} +1 -1
  198. package/frontend/dist/js/{chatStore-DW0LsT5X.js → chatStore-DYm9cXVV.js} +3 -3
  199. package/frontend/dist/js/{config-nmgpdBW-.js → config-BH2zUU2X.js} +1 -1
  200. package/frontend/dist/js/{cs-C84vh9-u.js → cs-D3NqP5wD.js} +1 -1
  201. package/frontend/dist/js/{da-JlIGisjC.js → da-BGpE68rg.js} +1 -1
  202. package/frontend/dist/js/{de-ChxuvrTF.js → de-BjYUQYNL.js} +1 -1
  203. package/frontend/dist/js/{es-Dz-DZUqm.js → es-vNJrO8Lj.js} +1 -1
  204. package/frontend/dist/js/{evaluationsApi-B3fvoXgD.js → evaluationsApi-v6Qj2fFv.js} +1 -1
  205. package/frontend/dist/js/{fr-xjmr6UIb.js → fr-BvtHFXNM.js} +1 -1
  206. package/frontend/dist/js/{hi-CJoQdoJi.js → hi-CUfuHlbY.js} +1 -1
  207. package/frontend/dist/js/{id-ABrUdDxu.js → id-B4CE64s6.js} +1 -1
  208. package/frontend/dist/js/{is-DnBvEw5D.js → is-Dr6Is7-Q.js} +1 -1
  209. package/frontend/dist/js/{it-BG1zJjTU.js → it-Cj4NfoeU.js} +1 -1
  210. package/frontend/dist/js/{ja-DtZswh64.js → ja-DByiJVO0.js} +1 -1
  211. package/frontend/dist/js/{ko-BKhTnqlM.js → ko-DqBvZqIv.js} +1 -1
  212. package/frontend/dist/js/{messageCodeStyles-CCM1VmjP.js → messageCodeStyles-ERvWXB7Y.js} +2 -2
  213. package/frontend/dist/js/{ms-BdRgdch9.js → ms-DobJ-R5X.js} +1 -1
  214. package/frontend/dist/js/{nl-B3sv2F01.js → nl-D4tVIakl.js} +1 -1
  215. package/frontend/dist/js/{pl-CLAO9d2t.js → pl-BIoYiVJA.js} +1 -1
  216. package/frontend/dist/js/{pt-BV3z1x11.js → pt-Bzww3XtB.js} +1 -1
  217. package/frontend/dist/js/{ru-CUSOQ4d9.js → ru-lqQ-JuMd.js} +1 -1
  218. package/frontend/dist/js/{sv-nPJsBtOC.js → sv-9dcksSEJ.js} +1 -1
  219. package/frontend/dist/js/{teamEventStream-BBNlg5Wd.js → teamEventStream-CTyr4r5f.js} +1 -1
  220. package/frontend/dist/js/{th-DqM7Arld.js → th-DuOX28lk.js} +1 -1
  221. package/frontend/dist/js/{tr-8kvS8u7c.js → tr-Dz7bMTi1.js} +1 -1
  222. package/frontend/dist/js/{ui-BZOjqAJH.js → ui-CHgZA8lG.js} +2 -2
  223. package/frontend/dist/js/{ui-vendor-DvJV-69N.js → ui-vendor-BvD5yGW1.js} +1 -1
  224. package/frontend/dist/js/{uk-3o761Mgn.js → uk-aTAky5l4.js} +1 -1
  225. package/frontend/dist/js/{useChat-Bgdsccuz.js → useChat-CXcosgJB.js} +1 -1
  226. package/frontend/dist/js/useDictation-BGlY44fp.js +1 -0
  227. package/frontend/dist/js/{useTranslation-D0mJ4NnO.js → useTranslation-rdLmo6zV.js} +1 -1
  228. package/frontend/dist/js/{utils-Bn0RE9_8.js → utils-CKWltgs8.js} +1 -1
  229. package/frontend/dist/js/utils-vendor-Bla8iz2s.js +1 -0
  230. package/frontend/dist/js/{vi-CT74KJ9a.js → vi-CHcYXhCs.js} +1 -1
  231. package/frontend/dist/js/webauthnClient-B1yv1m81.js +1 -0
  232. package/frontend/dist/js/workApi-CntsmsAA.js +6 -0
  233. package/frontend/dist/js/workApi-nKavXIsg.js +1 -0
  234. package/frontend/dist/js/{zh-Bhmpu3gT.js → zh-DvvksD8_.js} +1 -1
  235. package/package.json +4 -14
  236. package/plugins/codex-oauth.json +1 -0
  237. package/frontend/dist/assets/index-DsrrGy09.js +0 -73
  238. package/frontend/dist/assets/index-DtfJNUat.css +0 -1
  239. package/frontend/dist/js/ArtifactSlideOutPanel-zizbFUzW.js +0 -1
  240. package/frontend/dist/js/AutomationModal-Dgk1PzNx.js +0 -1
  241. package/frontend/dist/js/AutomationsPage-CuDSh_W2.js +0 -1
  242. package/frontend/dist/js/CalendarPage-D71tcbA3.js +0 -1
  243. package/frontend/dist/js/ChannelsPage-BFkTp2cp.js +0 -1
  244. package/frontend/dist/js/ChatPage-DRdVuXt2.js +0 -14
  245. package/frontend/dist/js/GalleryPage-CkpikP93.js +0 -1
  246. package/frontend/dist/js/HomePage-B9nkyAdS.js +0 -1
  247. package/frontend/dist/js/LibreClawPage-CKtbq8am.js +0 -1
  248. package/frontend/dist/js/NotesPage-1TG04re5.js +0 -3
  249. package/frontend/dist/js/PersonasPage-DZ4GBVkJ.js +0 -13
  250. package/frontend/dist/js/PluginUsagePage-QGOo5MZj.js +0 -1
  251. package/frontend/dist/js/RichMessageContent-BxxKwFmA.js +0 -1
  252. package/frontend/dist/js/SettingsModal-Cl5eVfDM.js +0 -19
  253. package/frontend/dist/js/SettingsToggle-B7UynBmZ.js +0 -1
  254. package/frontend/dist/js/UserManagementPage-CBA-O0bM.js +0 -1
  255. package/frontend/dist/js/WorkPage-BEJ98OxR.js +0 -7
  256. package/frontend/dist/js/api-BMB8tnVI.js +0 -1
  257. package/frontend/dist/js/api-T6SWjL0K.js +0 -14
  258. package/frontend/dist/js/appStore-BonCvc8Q.js +0 -2
  259. package/frontend/dist/js/appVersion-B6Jl_X3L.js +0 -1
  260. package/frontend/dist/js/authStore-C2kI1Q9M.js +0 -1
  261. package/frontend/dist/js/axios-CYkJpKn8.js +0 -1
  262. package/frontend/dist/js/useDictation-AXMLg9HP.js +0 -1
  263. package/frontend/dist/js/utils-vendor-BbPbaAuC.js +0 -9
  264. package/frontend/dist/js/webauthnClient-CPSq528Q.js +0 -1
  265. package/frontend/dist/js/workApi-CUSjVilK.js +0 -1
  266. package/frontend/dist/js/workApi-CqIVWrXF.js +0 -6
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/api-DOlirnw_.js","js/workApi-CntsmsAA.js","js/logger-DnuT4jgB.js","js/config-BH2zUU2X.js","js/api-HgGU3dII.js","js/imageGenModels-Dx_QMLJQ.js"])))=>i.map(i=>d[i]);
2
+ import{a as e,i as t,o as n,t as r}from"./logger-DnuT4jgB.js";import{i,t as a}from"./utils-vendor-Bla8iz2s.js";var o=15e3,s=1440,c=(e,t,n)=>Math.min(Math.max(e,t),n),l=(e,t,n)=>e+(t-e)*n,u=(e,t,n)=>{let r=(t-e+540)%360-180;return r<-180&&(r+=360),(e+r*n+360)%360},d=(e,t,n)=>({h:u(e.h,t.h,n),s:l(e.s,t.s,n),l:l(e.l,t.l,n)}),f=(e,t,n)=>({h:e,s:t,l:n}),p=({h:e,s:t,l: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)),l=i-a/2,[u,d,f]=o<60?[a,s,0]:o<120?[s,a,0]:o<180?[0,a,s]:o<240?[0,s,a]:o<300?[s,0,a]:[a,0,s];return`#${[u,d,f].map(e=>c(Math.round((e+l)*255),0,255).toString(16).padStart(2,`0`)).join(``)}`},m=e=>e.getHours()*60+e.getMinutes()+e.getSeconds()/60,h=(e,t=!0)=>{let n=(Math.round(e)%s+s)%s,r=Math.floor(n/60),i=n%60,a=String(i).padStart(2,`0`);return t?`${r%12==0?12:r%12}:${a}${r<12?`am`:`pm`}`:`${String(r).padStart(2,`0`)}:${a}`},g=e=>{let t=new Date(e.getFullYear(),0,0);return Math.floor((e.getTime()-t.getTime())/864e5)},_=e=>{let t=new Date(e.getFullYear(),0,1).getTimezoneOffset(),n=new Date(e.getFullYear(),6,1).getTimezoneOffset();return e.getTimezoneOffset()<Math.max(t,n)};function v(e,t,n){let r=Math.PI/180,i=g(e),a=23.44*Math.sin(r*(360/365*(284+i))),o=n?n.latitude:45,l=c(n?(Math.sin(r*-.833)-Math.sin(r*o)*Math.sin(r*a))/(Math.cos(r*o)*Math.cos(r*a)):-Math.tan(r*o)*Math.tan(r*a),-1,1),u=2*Math.acos(l)/r/15*60,d;if(n){let t=2*Math.PI*(i-81)/364,r=9.87*Math.sin(2*t)-7.53*Math.cos(t)-1.5*Math.sin(t),a=-e.getTimezoneOffset();d=720-4*n.longitude-r+a,d=(d%s+s)%s}else d=(_(e)?13:12)*60;let f=d-u/2,p=d+u/2,h=t===void 0?m(e):(t%s+s)%s,v=h>=f&&h<=p,y,b;if(v)b=(h-f)/u,y=Math.sin(Math.PI*b);else{let e=s-u;b=(h>p?h-p:h+(s-p))/e,y=-Math.sin(Math.PI*b)}let x=29.530588853,S=((e.getTime()-Date.UTC(2e3,0,6,18,14))/864e5%x+x)%x/x;return{minutes:h,sunrise:f,sunset:p,solarNoon:d,altitude:y,isDay:v,progress:b,morning:h<d,moonPhase:S}}var y=[{at:-1,top:f(228,46,8),mid:f(224,40,13),horizon:f(214,34,19)},{at:-.35,top:f(229,44,11),mid:f(225,40,16),horizon:f(216,32,23)},{at:-.12,top:f(228,44,16),mid:f(222,40,26),horizon:f(212,44,36)},{at:0,top:f(220,42,34),mid:f(24,62,62),horizon:f(42,88,70)},{at:.22,top:f(206,58,62),mid:f(196,54,74),horizon:f(46,70,82)},{at:.6,top:f(206,70,58),mid:f(194,58,75),horizon:f(178,40,85)},{at:1,top:f(208,74,55),mid:f(196,60,72),horizon:f(168,36,87)}],b=[{at:-1,top:f(228,46,8),mid:f(224,40,13),horizon:f(214,34,19)},{at:-.35,top:f(232,44,11),mid:f(236,38,16),horizon:f(252,30,23)},{at:-.12,top:f(234,44,15),mid:f(258,40,26),horizon:f(300,34,34)},{at:0,top:f(226,40,30),mid:f(340,58,56),horizon:f(26,92,60)},{at:.22,top:f(210,56,60),mid:f(24,60,74),horizon:f(38,84,78)},{at:.6,top:f(206,68,58),mid:f(198,56,75),horizon:f(184,38,85)},{at:1,top:f(208,74,55),mid:f(196,60,72),horizon:f(168,36,87)}],x=(e,t)=>{let n=c(t,-1,1),r=0;for(;r<e.length-2&&n>e[r+1].at;)r+=1;let i=e[r],a=e[r+1],o=c((n-i.at)/(a.at-i.at),0,1);return{top:d(i.top,a.top,o),mid:d(i.mid,a.mid,o),horizon:d(i.horizon,a.horizon,o)}},S=[`canvas`,`sidebar`,`surface`,`surface-subtle`,`surface-raised`,`surface-overlay`,`surface-inverse`,`ink`,`ink-muted`,`ink-subtle`,`ink-inverse`,`line`,`line-strong`],ee={canvas:[96,1],sidebar:[94,1],surface:[98,.9],"surface-subtle":[93,1],"surface-raised":[99,.8],"surface-overlay":[100,0],"surface-inverse":[10,.7],ink:[12,.45],"ink-muted":[30,.35],"ink-subtle":[40,.4],"ink-inverse":[98,.4],line:[86,.8],"line-strong":[75,.65]},te={canvas:[7,.9],sidebar:[9,1],surface:[9,.9],"surface-subtle":[12,1],"surface-raised":[15,1],"surface-overlay":[18,1],"surface-inverse":[96,.35],ink:[95,.3],"ink-muted":[76,.35],"ink-subtle":[62,.4],"ink-inverse":[8,.45],line:[20,.8],"line-strong":[30,.65]},ne=[`25`,`50`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`,`950`],re={25:99,50:97,100:94,200:88,300:80,400:56,500:38,600:36,700:27,800:18,900:11,950:6},ie={25:13,50:4,100:7,200:10,300:16,400:27,500:56,600:74,700:82,800:89,900:95,950:99};function C(e,t,n={}){let r=v(e,t,n.location),i=x(r.morning?y:b,r.altitude),a=r.altitude<-.05,o=c(-r.altitude/.35,0,1),s=c(1-Math.abs(r.altitude-.08)/.3,0,1),l=n.weather??null,u=l?l.cloudCover:0,d=l&&(l.kind===`rain`||l.kind===`thunder`||l.kind===`snow`)?1:0,m=e=>({h:e.h,s:e.s*(1-.6*u),l:a?e.l-2*u:e.l-9*u-4*d+(l?.kind===`snow`?6:0)});l&&(i.top=m(i.top),i.mid=m(i.mid),i.horizon=m(i.horizon));let h=s*(1-.8*u),g=i.mid.h,_=(a?10+8*(1-o):8+10*h)*(1-.5*u),C=a?te:ee,w=a?-3*o:-3*c(1-r.altitude,0,1),T={};for(let e of S){let[t,n]=C[e],r=e.startsWith(`ink`)||e===`surface-inverse`?t:c(t+w,0,100);T[e]=p(f(g,_*n,r))}let E={},D={};for(let e of ne)E[e]=p(f(g,_*.8,re[e])),D[e]=p(f(g,_*.8,c(ie[e]+w/2,0,100)));return{solar:r,isDark:a,weather:l,cover:u,sky:{top:p(i.top),mid:p(i.mid),horizon:p(i.horizon)},glow:p(f(i.mid.h,c(i.mid.s+10,0,100),a?62:70)),roles:T,gray:E,dark:D,night:o,golden:h}}function w(e){let{solar:t,night:n,golden:r}=e,i=(e,t)=>({x:8+84*c(e,0,1),y:74-62*c(Math.abs(t),0,1)}),{weather:a,cover:o}=e,s=1-.75*o,l=t.isDay?{...i(t.progress,t.altitude),visible:!0,warmth:r,dim:s}:{x:50,y:100,visible:!1,warmth:0,dim:s},u=t.isDay?{x:50,y:100,visible:!1,phase:t.moonPhase,dim:s}:{...i(t.progress,t.altitude),visible:!0,phase:t.moonPhase,dim:s},d=a?.kind??`none`,f=d===`drizzle`?.35:d===`rain`?.75:+(d===`thunder`),p=a?c(f+Math.min(a.precipitation,4)/8,0,1)*+(f>0):0,m=d===`snow`?c(.5+Math.min(a?.precipitation??0,4)/6,0,1):0,h=+(d===`fog`),g=t.isDay?.55+.25*r:.18;return{sun:l,moon:u,stars:n*(1-.92*o),cloudTint:e.sky.horizon,cloudOpacity:a?c(g*(.3+1.2*o),.05,.95):g,haze:c(1-Math.abs(t.altitude),0,1)+h*.6,rain:p,snow:m,fog:h,thunder:d===`thunder`,wind:a?c(.6+a.windSpeed/25,.6,3):1,weatherKind:d}}var T=1e4,E=`https://api.open-meteo.com/v1/forecast`,D=e=>e===0?`clear`:e<=2?`partly`:e===3?`overcast`:e===45||e===48?`fog`:e>=51&&e<=57?`drizzle`:e>=61&&e<=67||e>=80&&e<=82?`rain`:e>=71&&e<=77||e===85||e===86?`snow`:e>=95?`thunder`:`partly`,O=e=>Math.round(e*100)/100,k=e=>!!e&&typeof e.latitude==`number`&&typeof e.longitude==`number`&&Number.isFinite(e.latitude)&&Number.isFinite(e.longitude)&&Math.abs(e.latitude)<=90&&Math.abs(e.longitude)<=180;async function ae(e,t){let n=new URL(E);n.searchParams.set(`latitude`,String(e.latitude)),n.searchParams.set(`longitude`,String(e.longitude)),n.searchParams.set(`current`,`weather_code,cloud_cover,precipitation,wind_speed_10m`),n.searchParams.set(`timezone`,`auto`);let r=new AbortController,i=()=>r.abort(t?.reason);t?.aborted?i():t?.addEventListener(`abort`,i,{once:!0});let a=setTimeout(()=>r.abort(new DOMException(`Weather request timed out`,`TimeoutError`)),T);try{let e=await fetch(n.toString(),{signal:r.signal});if(!e.ok)throw Error(`weather ${e.status}`);let t=(await e.json())?.current;if(!t||![t.weather_code,t.cloud_cover,t.precipitation,t.wind_speed_10m].every(Number.isFinite))throw Error(`weather missing current conditions`);return{kind:D(t.weather_code),cloudCover:Math.min(1,Math.max(0,t.cloud_cover/100)),precipitation:Math.max(0,t.precipitation),windSpeed:Math.max(0,t.wind_speed_10m),fetchedAt:Date.now()}}finally{clearTimeout(a),t?.removeEventListener(`abort`,i)}}var A=`libre-webui-celestial`,oe=()=>{if(typeof localStorage>`u`)return{};try{let e=localStorage.getItem(A),t=e?JSON.parse(e):{};return{location:k(t.location)?t.location:null,weatherEnabled:t.weatherEnabled===!0}}catch{return{}}},se=e=>{if(!(typeof localStorage>`u`))try{localStorage.setItem(A,JSON.stringify(e))}catch{}},j=i((e,t)=>{let n=oe(),r=null,i=0,a=15e3,o=()=>{r?.controller.abort(),r=null,i=0,a=15e3};return{active:!1,palette:null,scene:null,previewMinutes:null,location:n.location??null,weatherEnabled:n.weatherEnabled??!1,weather:null,weatherStatus:`idle`,activate:()=>e({active:!0}),refresh:()=>{if(!t().active)return;let{previewMinutes:n,location:r,weatherEnabled:i,weather:a}=t(),o=C(new Date,n??void 0,{location:r,weather:i&&r?a:null});e({palette:o,scene:w(o)})},setPreviewMinutes:n=>{e({previewMinutes:n}),t().refresh()},setLocation:n=>{o();let r=k(n)?{latitude:O(n.latitude),longitude:O(n.longitude)}:null;e({location:r,weather:null,weatherStatus:`idle`}),se({location:r,weatherEnabled:t().weatherEnabled}),t().refresh(),r&&t().weatherEnabled&&t().maybeRefreshWeather(!0)},requestBrowserLocation:()=>new Promise(e=>{if(typeof navigator>`u`||!navigator.geolocation){e(!1);return}navigator.geolocation.getCurrentPosition(n=>{t().setLocation({latitude:n.coords.latitude,longitude:n.coords.longitude}),e(!0)},()=>e(!1),{enableHighAccuracy:!1,maximumAge:36e5,timeout:12e3})}),setWeatherEnabled:n=>{n||o(),e({weatherEnabled:n,weatherStatus:n?t().weatherStatus:`idle`}),se({location:t().location,weatherEnabled:n}),t().refresh(),n&&t().maybeRefreshWeather(!0)},maybeRefreshWeather:async(n=!1)=>{let{weatherEnabled:o,location:s,weather:c}=t();if(!o||!s)return;let l=c&&Date.now()-c.fetchedAt<9e5;if(!n&&(l||Date.now()<i))return;if(r)return r.promise;let u=new AbortController,d={controller:u,promise:ae(s,u.signal).then(n=>{r===d&&(i=0,a=15e3,e({weather:n,weatherStatus:`ready`}),t().refresh())}).catch(()=>{r===d&&(i=Date.now()+a,a=Math.min(a*2,3e5),e({weatherStatus:`error`}))}).finally(()=>{r===d&&(r=null)})};return r=d,e({weatherStatus:`loading`}),d.promise},clear:()=>{o(),e({active:!1,palette:null,scene:null,previewMinutes:null,weatherStatus:t().weather?`ready`:`idle`})}}}),ce=`dark`,le=`blue`,ue=`#4176e6`,M=[{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`}],N=[`50`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`,`950`],P=[`25`,...N],F=[`canvas`,`sidebar`,`surface`,`surface-subtle`,`surface-raised`,`surface-overlay`,`surface-inverse`,`ink`,`ink-muted`,`ink-subtle`,`ink-inverse`,`line`,`line-strong`],de={multiplier:.24,minimum:6,maximum:24},fe={multiplier:.36,minimum:6,maximum:32},pe={25:99,50:97,100:94,200:88,300:80,400:66,500:48,600:36,700:27,800:18,900:11,950:6},me={25:13,50:4,100:7,200:10,300:16,400:27,500:46,600:65,700:82,800:89,900:95,950:99},he={25:6,50:0,100:3,200:6,300:12,400:24,500:46,600:65,700:82,800:89,900:95,950:99},ge={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}},_e={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}},ve={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}},ye={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`}},be={50:97,100:94,200:88,300:76,400:64,500:42,600:34,700:27,800:21,900:16,950:10},I=(e,t,n)=>Math.min(Math.max(e,t),n),L=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()}`},R=e=>{let t=L(e)||`#4176e6`,n=parseInt(t.slice(1),16);return{r:n>>16&255,g:n>>8&255,b:n&255}},xe=(e,t,n)=>`#${[e,t,n].map(e=>I(Math.round(e),0,255).toString(16).padStart(2,`0`)).join(``)}`,z=(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}},B=(e,t,n)=>{let r=I(t,0,100)/100,i=I(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),xe((l+c)*255,(u+c)*255,(d+c)*255)},V=e=>{let{r:t,g:n,b:r}=R(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},Se=(e,t)=>{let n=V(e),r=V(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)},Ce=(e,t,n)=>{let r=n,i=B(e,t,r);for(;Se(`#ffffff`,i)<4.5&&r>12;)r-=2,i=B(e,t,r);return i},we=e=>{let{r:t,g:n,b:r}=R(L(e)||`#4176e6`),{h:i,s:a}=z(t,n,r),o=a<8?a:I(a,42,88);return N.reduce((e,t)=>{let n=be[t],r=Number(t)<300?o*.72:o;return e[t]=t===`500`||t===`600`?Ce(i,r,n):B(i,r,n),e},{})},H=e=>{let t=e?.mode===`light`?`light`:e?.mode===`amoled`?`amoled`:e?.mode===`celestial`?`celestial`:ce,n=e?.accent===`custom`?`custom`:e?.accent,r=M.some(e=>e.id===n)?n:le,i=L(e?.customAccent)||`#4176e6`;return{mode:t,adaptToAccent:e?.adaptToAccent===!0,accent:n===`custom`?`custom`:r,customAccent:i}},Te=()=>H({mode:ce}),U=[`light`,`dark`,`amoled`,`celestial`],Ee=e=>U[(U.indexOf(e)+1)%U.length],De=`libre-webui-instance-theme`,Oe=()=>{if(typeof localStorage>`u`)return null;try{let e=localStorage.getItem(De);if(!e)return null;let t=JSON.parse(e);return t&&typeof t==`object`?H(t):null}catch{return null}},ke=e=>{if(!(typeof localStorage>`u`))try{localStorage.setItem(De,JSON.stringify(H(e)))}catch{}},Ae=()=>Oe()??Te(),je=e=>{let t=H(e);return t.accent===`custom`?we(t.customAccent):ye[t.accent||`blue`]},Me=e=>{let t=H(e);return t.accent===`custom`?t.customAccent||`#4176e6`:M.find(e=>e.id===t.accent)?.color||`#4176e6`},Ne=(e,t,n)=>t===0||e<8?e*t:I(e*n.multiplier*t,n.minimum*t,n.maximum*t),Pe=(e,t,n,r)=>P.reduce((i,a)=>(i[a]=B(e,Ne(t,1,r),n[a]),i),{}),Fe=(e,t,n,r)=>F.reduce((i,a)=>{let o=n[a];return i[a]=B(e,Ne(t,o.saturationFactor,r),o.lightness),i},{}),W=(e,t,n)=>{let{r,g:i,b:a}=R(n);e.style.setProperty(t,`${r} ${i} ${a}`)},Ie=e=>{for(let t of P)e.style.removeProperty(`--color-gray-${t}`),e.style.removeProperty(`--color-dark-${t}`);for(let t of F)e.style.removeProperty(`--color-${t}`)},Le=(e,t)=>{let{r:n,g:r,b:i}=R(Me(t)),{h:a,s:o}=z(n,r,i),s=t.mode===`light`?fe:de,c=Pe(a,o,pe,s),l=Pe(a,o,t.mode===`amoled`?he:me,de),u=Fe(a,o,t.mode===`light`?ge:t.mode===`amoled`?ve:_e,s);for(let t of P)W(e,`--color-gray-${t}`,c[t]),W(e,`--color-dark-${t}`,l[t]);for(let t of F)W(e,`--color-${t}`,u[t])},G=null,K=null,q=null,Re=()=>{if(typeof window>`u`||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let e=document.documentElement,t=new Date,n=t.getHours()*60+t.getMinutes()+t.getSeconds()/60,r=performance.now();q&&cancelAnimationFrame(q),e.setAttribute(`data-sweep`,`true`);let i=t=>{let a=Math.min(1,(t-r)/3200),o=1-(1-a)**3;j.getState().setPreviewMinutes(((n-360*(1-o))%1440+1440)%1440),Y(),a<1?q=requestAnimationFrame(i):(q=null,j.getState().setPreviewMinutes(null),Y(),e.removeAttribute(`data-sweep`))};q=requestAnimationFrame(i)},ze=()=>{G&&=(clearInterval(G),null),typeof document<`u`&&document.removeEventListener(`visibilitychange`,J),j.getState().clear()};function J(){document.visibilityState===`visible`&&Y()}var Y=()=>{if(typeof document>`u`)return;let e=j.getState();e.maybeRefreshWeather(),e.refresh();let t=j.getState().palette;if(!t)return;let n=document.documentElement;n.classList.toggle(`dark`,t.isDark),n.style.colorScheme=t.isDark?`dark`:`light`;for(let e of S)W(n,`--color-${e}`,t.roles[e]);for(let e of ne)W(n,`--color-gray-${e}`,t.gray[e]),W(n,`--color-dark-${e}`,t.dark[e]);n.style.setProperty(`--celestial-sky-top`,t.sky.top),n.style.setProperty(`--celestial-sky-mid`,t.sky.mid),n.style.setProperty(`--celestial-sky-horizon`,t.sky.horizon),n.style.setProperty(`--celestial-glow`,t.glow),n.style.setProperty(`--celestial-night`,String(t.night))},Be=()=>{typeof document>`u`||(j.getState().activate(),Y(),G||(G=setInterval(Y,o),document.addEventListener(`visibilitychange`,J)))},Ve=e=>{q&&typeof document<`u`&&(cancelAnimationFrame(q),q=null,document.documentElement.removeAttribute(`data-sweep`)),j.getState().setPreviewMinutes(e),G&&Y()},X=e=>{if(typeof document>`u`)return;let t=H(e),n=document.documentElement,r=je(t);n.classList.remove(`dark`,`amoled`,`ophelia`,`celestial`),t.mode!==`light`&&t.mode!==`celestial`&&n.classList.add(`dark`),t.mode===`amoled`&&n.classList.add(`amoled`),t.mode===`celestial`&&n.classList.add(`celestial`),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 N){let{r:t,g:i,b:a}=R(r[e]),o=`${t} ${i} ${a}`;n.style.setProperty(`--color-primary-${e}`,o),n.style.setProperty(`--color-accent-${e}`,o)}let i=t.mode===`celestial`&&K!==null&&K!==`celestial`;if(K=t.mode,t.mode===`celestial`){Be(),i&&Re();return}q&&(cancelAnimationFrame(q),q=null,n.removeAttribute(`data-sweep`)),ze();for(let e of[`--celestial-sky-top`,`--celestial-sky-mid`,`--celestial-sky-horizon`,`--celestial-glow`,`--celestial-night`])n.style.removeProperty(e);t.adaptToAccent?Le(n,t):Ie(n)},Z=r(`store:app-store`),He=250,Q=null,$=i()(a((r,i)=>({theme:Ae(),themeSyncPending:!1,themeSource:`default`,applyInstanceTheme:e=>{if(!e)return;let t=H(e);ke(t),i().themeSource!==`user`&&i().setTheme(t)},syncThemePreference:async t=>{if(Q&&=(clearTimeout(Q),null),!(!e()&&!localStorage.getItem(`auth-token`)))try{let{preferencesApi:e}=await n(async()=>{let{preferencesApi:e}=await import(`./api-DOlirnw_.js`);return{preferencesApi:e}},__vite__mapDeps([0,1,2,3,4,5]));if(!(await e.updatePreferences({theme:t})).success){Z.warn(`Failed to save theme preference to backend`);return}let a=H(i().theme),o=H(t);a.mode===o.mode&&a.adaptToAccent===o.adaptToAccent&&a.accent===o.accent&&a.customAccent===o.customAccent?r({themeSyncPending:!1}):(r({themeSyncPending:!0}),i().scheduleThemePreferenceSync())}catch(e){Z.warn(`Failed to save theme preference to backend:`,e)}},scheduleThemePreferenceSync:()=>{Q&&clearTimeout(Q),Q=setTimeout(()=>{Q=null,i().syncThemePreference(H(i().theme))},He)},setTheme:e=>{let t=H(e);r(e=>({theme:t,preferences:{...e.preferences,theme:t}})),X(t)},updateTheme:e=>{let t=H(e);i().setTheme(t),r({themeSyncPending:!0,themeSource:`user`}),i().scheduleThemePreferenceSync()},toggleTheme:()=>{let e=i().theme;i().updateTheme({...e,mode:Ee(e.mode)})},sidebarOpen:!0,sidebarCompact:!1,setSidebarOpen:e=>r({sidebarOpen:e}),setSidebarCompact:e=>r({sidebarCompact:e}),toggleSidebar:()=>r(e=>({sidebarOpen:!e.sidebarOpen})),toggleSidebarCompact:()=>r(e=>({sidebarCompact:!e.sidebarCompact})),artifactPanelOpen:!1,artifactPanelArtifact:null,artifactPanelWidth:600,artifactPanelResizing:!1,openArtifactPanel:e=>r({artifactPanelOpen:!0,artifactPanelArtifact:e}),closeArtifactPanel:()=>r({artifactPanelOpen:!1,artifactPanelArtifact:null}),setArtifactPanelWidth:e=>r({artifactPanelWidth:e}),setArtifactPanelResizing:e=>r({artifactPanelResizing:e}),preferences:{theme:Te(),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 t=e.theme?H(e.theme):null;r(n=>({...t&&{theme:t,themeSource:`user`},preferences:{...n.preferences,...e,...t&&{theme:t}}})),t&&X(t)},loadPreferences:async()=>{try{let{preferencesApi:e}=await n(async()=>{let{preferencesApi:e}=await import(`./api-DOlirnw_.js`);return{preferencesApi:e}},__vite__mapDeps([0,1,2,3,4,5])),t=await e.getPreferences();if(t.success&&t.data){let e=t.data,n=i().themeSyncPending?H(i().theme):null;i().setPreferences(n?{...e,theme:n}:e),r({backgroundImage:e.backgroundSettings?.imageUrl||null}),n&&i().syncThemePreference(n)}}catch(e){Z.warn(`Failed to load preferences from backend:`,e)}},isGenerating:!1,setIsGenerating:e=>r({isGenerating:e}),pinnedAdminShortcuts:[],toggleAdminShortcut:e=>r(t=>({pinnedAdminShortcuts:t.pinnedAdminShortcuts.includes(e)?t.pinnedAdminShortcuts.filter(t=>t!==e):[...t.pinnedAdminShortcuts,e]})),hasSeenSettingsNotification:!1,markSettingsNotificationAsSeen:()=>r({hasSeenSettingsNotification:!0}),isDemoMode:e(),demoConfig:t(),setDemoMode:e=>{r({isDemoMode:e,demoConfig:t()})},backgroundImage:null,setBackgroundImage:async e=>{if(r({backgroundImage:e}),e){let t=i(),r={...t.preferences,backgroundSettings:{enabled:!0,imageUrl:e,blurAmount:t.preferences.backgroundSettings?.blurAmount||10,opacity:t.preferences.backgroundSettings?.opacity||.6}};t.setPreferences(r);try{let{preferencesApi:e}=await n(async()=>{let{preferencesApi:e}=await import(`./api-DOlirnw_.js`);return{preferencesApi:e}},__vite__mapDeps([0,1,2,3,4,5]));await e.updatePreferences({backgroundSettings:r.backgroundSettings})}catch(e){Z.warn(`Failed to save background settings to backend:`,e)}}},uploadBackgroundImage:async e=>{try{let t=new FileReader;return new Promise((n,r)=>{t.onload=async e=>{try{let t=e.target?.result;await i().setBackgroundImage(t),n()}catch(e){r(e)}},t.onerror=r,t.readAsDataURL(e)})}catch(e){throw Z.error(`Failed to upload background image:`,e),e}},removeBackgroundImage:async()=>{r({backgroundImage:null});let e=i(),t={enabled:!1,imageUrl:``,blurAmount:e.preferences.backgroundSettings?.blurAmount||10,opacity:e.preferences.backgroundSettings?.opacity||.6};e.setPreferences({backgroundSettings:t});try{let{preferencesApi:e}=await n(async()=>{let{preferencesApi:e}=await import(`./api-DOlirnw_.js`);return{preferencesApi:e}},__vite__mapDeps([0,1,2,3,4,5]));await e.updatePreferences({backgroundSettings:t})}catch(e){Z.warn(`Failed to save background removal to backend:`,e)}},clearUserState:()=>{let e=Ae();Q&&=(clearTimeout(Q),null),r({theme:e,themeSyncPending:!1,themeSource:`default`,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}}}),X(e)}}),{name:`libre-webui-app-state`,onRehydrateStorage:()=>e=>{e&&e.setTheme(H(e.theme))},partialize:e=>{let{backgroundSettings:t,...n}=e.preferences;return{theme:e.theme,themeSyncPending:e.themeSyncPending,themeSource:e.themeSource,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}=$.getState();t(e)})();export{Ee as a,Ve as c,C as d,ue as i,j as l,M as n,Me as o,le as r,H as s,$ as t,h as u};
@@ -0,0 +1 @@
1
+ function e(e,t=`0.34.0`){return t?.trim()||e?.trim()||``}export{e as t};