libre-webui 0.17.0 → 0.19.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 (438) hide show
  1. package/README.md +30 -17
  2. package/backend/dist/db.d.ts.map +1 -1
  3. package/backend/dist/db.js +195 -6
  4. package/backend/dist/db.js.map +1 -1
  5. package/backend/dist/index.d.ts.map +1 -1
  6. package/backend/dist/index.js +48 -19
  7. package/backend/dist/index.js.map +1 -1
  8. package/backend/dist/middleware/auth.d.ts.map +1 -1
  9. package/backend/dist/middleware/auth.js +35 -3
  10. package/backend/dist/middleware/auth.js.map +1 -1
  11. package/backend/dist/middleware/index.d.ts.map +1 -1
  12. package/backend/dist/models/personaModel.d.ts.map +1 -1
  13. package/backend/dist/models/personaModel.js.map +1 -1
  14. package/backend/dist/models/userModel.d.ts +24 -0
  15. package/backend/dist/models/userModel.d.ts.map +1 -1
  16. package/backend/dist/models/userModel.js +92 -24
  17. package/backend/dist/models/userModel.js.map +1 -1
  18. package/backend/dist/routes/agentCli.d.ts.map +1 -1
  19. package/backend/dist/routes/agentCli.js +4 -2
  20. package/backend/dist/routes/agentCli.js.map +1 -1
  21. package/backend/dist/routes/auth.d.ts.map +1 -1
  22. package/backend/dist/routes/auth.js +118 -55
  23. package/backend/dist/routes/auth.js.map +1 -1
  24. package/backend/dist/routes/chat.d.ts.map +1 -1
  25. package/backend/dist/routes/chat.js +106 -3
  26. package/backend/dist/routes/chat.js.map +1 -1
  27. package/backend/dist/routes/documents.d.ts.map +1 -1
  28. package/backend/dist/routes/documents.js +179 -41
  29. package/backend/dist/routes/documents.js.map +1 -1
  30. package/backend/dist/routes/embeddings.d.ts.map +1 -1
  31. package/backend/dist/routes/embeddings.js +2 -2
  32. package/backend/dist/routes/embeddings.js.map +1 -1
  33. package/backend/dist/routes/huggingfaceHub.d.ts.map +1 -1
  34. package/backend/dist/routes/huggingfaceHub.js +3 -1
  35. package/backend/dist/routes/huggingfaceHub.js.map +1 -1
  36. package/backend/dist/routes/imageGen.d.ts.map +1 -1
  37. package/backend/dist/routes/imageGen.js +2 -0
  38. package/backend/dist/routes/imageGen.js.map +1 -1
  39. package/backend/dist/routes/libreClaw.d.ts.map +1 -1
  40. package/backend/dist/routes/media.d.ts +3 -0
  41. package/backend/dist/routes/media.d.ts.map +1 -0
  42. package/backend/dist/routes/media.js +429 -0
  43. package/backend/dist/routes/media.js.map +1 -0
  44. package/backend/dist/routes/notes.d.ts +3 -0
  45. package/backend/dist/routes/notes.d.ts.map +1 -0
  46. package/backend/dist/routes/notes.js +121 -0
  47. package/backend/dist/routes/notes.js.map +1 -0
  48. package/backend/dist/routes/ollama.d.ts.map +1 -1
  49. package/backend/dist/routes/ollama.js +17 -85
  50. package/backend/dist/routes/ollama.js.map +1 -1
  51. package/backend/dist/routes/personas.d.ts.map +1 -1
  52. package/backend/dist/routes/personas.js +2 -0
  53. package/backend/dist/routes/personas.js.map +1 -1
  54. package/backend/dist/routes/plugins.d.ts.map +1 -1
  55. package/backend/dist/routes/plugins.js +28 -0
  56. package/backend/dist/routes/plugins.js.map +1 -1
  57. package/backend/dist/routes/preferences.d.ts.map +1 -1
  58. package/backend/dist/routes/systemDiagnostics.d.ts +3 -0
  59. package/backend/dist/routes/systemDiagnostics.d.ts.map +1 -0
  60. package/backend/dist/routes/systemDiagnostics.js +49 -0
  61. package/backend/dist/routes/systemDiagnostics.js.map +1 -0
  62. package/backend/dist/routes/tts.d.ts.map +1 -1
  63. package/backend/dist/routes/tts.js +4 -0
  64. package/backend/dist/routes/tts.js.map +1 -1
  65. package/backend/dist/routes/users.d.ts.map +1 -1
  66. package/backend/dist/routes/users.js +79 -0
  67. package/backend/dist/routes/users.js.map +1 -1
  68. package/backend/dist/routes/work.d.ts.map +1 -1
  69. package/backend/dist/routes/work.js +84 -0
  70. package/backend/dist/routes/work.js.map +1 -1
  71. package/backend/dist/services/agentCliService.d.ts +37 -4
  72. package/backend/dist/services/agentCliService.d.ts.map +1 -1
  73. package/backend/dist/services/agentCliService.js +229 -10
  74. package/backend/dist/services/agentCliService.js.map +1 -1
  75. package/backend/dist/services/assistantCompletionService.d.ts.map +1 -1
  76. package/backend/dist/services/authService.d.ts +15 -9
  77. package/backend/dist/services/authService.d.ts.map +1 -1
  78. package/backend/dist/services/authService.js +39 -29
  79. package/backend/dist/services/authService.js.map +1 -1
  80. package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
  81. package/backend/dist/services/chatGenerationService.js +3 -3
  82. package/backend/dist/services/chatGenerationService.js.map +1 -1
  83. package/backend/dist/services/chatRequestService.d.ts +8 -2
  84. package/backend/dist/services/chatRequestService.d.ts.map +1 -1
  85. package/backend/dist/services/chatRequestService.js +30 -3
  86. package/backend/dist/services/chatRequestService.js.map +1 -1
  87. package/backend/dist/services/chatService.d.ts +6 -1
  88. package/backend/dist/services/chatService.d.ts.map +1 -1
  89. package/backend/dist/services/chatService.js +54 -1
  90. package/backend/dist/services/chatService.js.map +1 -1
  91. package/backend/dist/services/codexOAuthService.d.ts +22 -0
  92. package/backend/dist/services/codexOAuthService.d.ts.map +1 -0
  93. package/backend/dist/services/codexOAuthService.js +176 -0
  94. package/backend/dist/services/codexOAuthService.js.map +1 -0
  95. package/backend/dist/services/documentService.d.ts +17 -10
  96. package/backend/dist/services/documentService.d.ts.map +1 -1
  97. package/backend/dist/services/documentService.js +79 -58
  98. package/backend/dist/services/documentService.js.map +1 -1
  99. package/backend/dist/services/embeddingService.d.ts.map +1 -1
  100. package/backend/dist/services/encryptionService.d.ts.map +1 -1
  101. package/backend/dist/services/encryptionService.js +18 -8
  102. package/backend/dist/services/encryptionService.js.map +1 -1
  103. package/backend/dist/services/followUpService.d.ts +44 -0
  104. package/backend/dist/services/followUpService.d.ts.map +1 -0
  105. package/backend/dist/services/followUpService.js +123 -0
  106. package/backend/dist/services/followUpService.js.map +1 -0
  107. package/backend/dist/services/galleryService.d.ts +23 -1
  108. package/backend/dist/services/galleryService.d.ts.map +1 -1
  109. package/backend/dist/services/galleryService.js +125 -8
  110. package/backend/dist/services/galleryService.js.map +1 -1
  111. package/backend/dist/services/libreClawService.d.ts.map +1 -1
  112. package/backend/dist/services/mediaGenerationJobService.d.ts +25 -0
  113. package/backend/dist/services/mediaGenerationJobService.d.ts.map +1 -0
  114. package/backend/dist/services/mediaGenerationJobService.js +82 -0
  115. package/backend/dist/services/mediaGenerationJobService.js.map +1 -0
  116. package/backend/dist/services/memoryService.d.ts.map +1 -1
  117. package/backend/dist/services/memoryService.js.map +1 -1
  118. package/backend/dist/services/mutationEngineService.d.ts.map +1 -1
  119. package/backend/dist/services/oauthSecurity.d.ts +14 -0
  120. package/backend/dist/services/oauthSecurity.d.ts.map +1 -0
  121. package/backend/dist/services/oauthSecurity.js +101 -0
  122. package/backend/dist/services/oauthSecurity.js.map +1 -0
  123. package/backend/dist/services/ollamaService.d.ts +8 -2
  124. package/backend/dist/services/ollamaService.d.ts.map +1 -1
  125. package/backend/dist/services/ollamaService.js +40 -2
  126. package/backend/dist/services/ollamaService.js.map +1 -1
  127. package/backend/dist/services/personaService.d.ts.map +1 -1
  128. package/backend/dist/services/personaService.js.map +1 -1
  129. package/backend/dist/services/pluginActivationService.d.ts.map +1 -1
  130. package/backend/dist/services/pluginActivationService.js.map +1 -1
  131. package/backend/dist/services/pluginAudioGenerationService.d.ts +34 -0
  132. package/backend/dist/services/pluginAudioGenerationService.d.ts.map +1 -0
  133. package/backend/dist/services/pluginAudioGenerationService.js +211 -0
  134. package/backend/dist/services/pluginAudioGenerationService.js.map +1 -0
  135. package/backend/dist/services/pluginCapabilityRegistryService.d.ts.map +1 -1
  136. package/backend/dist/services/pluginCapabilityRegistryService.js +6 -0
  137. package/backend/dist/services/pluginCapabilityRegistryService.js.map +1 -1
  138. package/backend/dist/services/pluginCredentialsService.d.ts.map +1 -1
  139. package/backend/dist/services/pluginEmbeddingService.d.ts +2 -0
  140. package/backend/dist/services/pluginEmbeddingService.d.ts.map +1 -1
  141. package/backend/dist/services/pluginEmbeddingService.js +66 -35
  142. package/backend/dist/services/pluginEmbeddingService.js.map +1 -1
  143. package/backend/dist/services/pluginImageGenerationService.d.ts +2 -0
  144. package/backend/dist/services/pluginImageGenerationService.d.ts.map +1 -1
  145. package/backend/dist/services/pluginImageGenerationService.js +63 -38
  146. package/backend/dist/services/pluginImageGenerationService.js.map +1 -1
  147. package/backend/dist/services/pluginService.d.ts +43 -1
  148. package/backend/dist/services/pluginService.d.ts.map +1 -1
  149. package/backend/dist/services/pluginService.js +441 -71
  150. package/backend/dist/services/pluginService.js.map +1 -1
  151. package/backend/dist/services/pluginTTSService.d.ts +2 -0
  152. package/backend/dist/services/pluginTTSService.d.ts.map +1 -1
  153. package/backend/dist/services/pluginTTSService.js +27 -2
  154. package/backend/dist/services/pluginTTSService.js.map +1 -1
  155. package/backend/dist/services/pluginUsageService.d.ts +100 -0
  156. package/backend/dist/services/pluginUsageService.d.ts.map +1 -0
  157. package/backend/dist/services/pluginUsageService.js +291 -0
  158. package/backend/dist/services/pluginUsageService.js.map +1 -0
  159. package/backend/dist/services/pluginVariablesService.d.ts.map +1 -1
  160. package/backend/dist/services/pluginVariablesService.js.map +1 -1
  161. package/backend/dist/services/pluginVideoGenerationService.d.ts +45 -0
  162. package/backend/dist/services/pluginVideoGenerationService.d.ts.map +1 -0
  163. package/backend/dist/services/pluginVideoGenerationService.js +198 -0
  164. package/backend/dist/services/pluginVideoGenerationService.js.map +1 -0
  165. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  166. package/backend/dist/services/preferencesService.js +16 -1
  167. package/backend/dist/services/preferencesService.js.map +1 -1
  168. package/backend/dist/services/registrationPolicy.d.ts +5 -0
  169. package/backend/dist/services/registrationPolicy.d.ts.map +1 -0
  170. package/backend/dist/services/registrationPolicy.js +21 -0
  171. package/backend/dist/services/registrationPolicy.js.map +1 -0
  172. package/backend/dist/services/simpleGitHubOAuth.d.ts +1 -1
  173. package/backend/dist/services/simpleGitHubOAuth.d.ts.map +1 -1
  174. package/backend/dist/services/simpleGitHubOAuth.js +13 -13
  175. package/backend/dist/services/simpleGitHubOAuth.js.map +1 -1
  176. package/backend/dist/services/simpleHuggingFaceOAuth.d.ts +1 -1
  177. package/backend/dist/services/simpleHuggingFaceOAuth.d.ts.map +1 -1
  178. package/backend/dist/services/simpleHuggingFaceOAuth.js +12 -17
  179. package/backend/dist/services/simpleHuggingFaceOAuth.js.map +1 -1
  180. package/backend/dist/services/systemDiagnosticsService.d.ts +117 -0
  181. package/backend/dist/services/systemDiagnosticsService.d.ts.map +1 -0
  182. package/backend/dist/services/systemDiagnosticsService.js +326 -0
  183. package/backend/dist/services/systemDiagnosticsService.js.map +1 -0
  184. package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
  185. package/backend/dist/services/turnstileService.d.ts +2 -1
  186. package/backend/dist/services/turnstileService.d.ts.map +1 -1
  187. package/backend/dist/services/turnstileService.js +28 -2
  188. package/backend/dist/services/turnstileService.js.map +1 -1
  189. package/backend/dist/services/userService.d.ts +1 -0
  190. package/backend/dist/services/userService.js +1 -1
  191. package/backend/dist/services/workAgentService.d.ts.map +1 -1
  192. package/backend/dist/services/workAgentService.js.map +1 -1
  193. package/backend/dist/services/workEventService.d.ts.map +1 -1
  194. package/backend/dist/services/workEventService.js.map +1 -1
  195. package/backend/dist/services/workHostWorkspaceService.d.ts.map +1 -1
  196. package/backend/dist/services/workModelProviderService.d.ts +3 -0
  197. package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
  198. package/backend/dist/services/workModelProviderService.js +67 -10
  199. package/backend/dist/services/workModelProviderService.js.map +1 -1
  200. package/backend/dist/services/workPreviewProxyService.d.ts +27 -0
  201. package/backend/dist/services/workPreviewProxyService.d.ts.map +1 -0
  202. package/backend/dist/services/workPreviewProxyService.js +514 -0
  203. package/backend/dist/services/workPreviewProxyService.js.map +1 -0
  204. package/backend/dist/services/workRuntimeService.d.ts +28 -7
  205. package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
  206. package/backend/dist/services/workRuntimeService.js +287 -8
  207. package/backend/dist/services/workRuntimeService.js.map +1 -1
  208. package/backend/dist/services/workTaskService.d.ts.map +1 -1
  209. package/backend/dist/services/workTaskService.js.map +1 -1
  210. package/backend/dist/services/workTerminalService.d.ts +1 -1
  211. package/backend/dist/services/workTerminalService.d.ts.map +1 -1
  212. package/backend/dist/services/workTerminalService.js.map +1 -1
  213. package/backend/dist/storage.d.ts +12 -1
  214. package/backend/dist/storage.d.ts.map +1 -1
  215. package/backend/dist/storage.js +183 -9
  216. package/backend/dist/storage.js.map +1 -1
  217. package/backend/dist/storageMappers.d.ts +13 -0
  218. package/backend/dist/storageMappers.d.ts.map +1 -1
  219. package/backend/dist/storageMappers.js +5 -0
  220. package/backend/dist/storageMappers.js.map +1 -1
  221. package/backend/dist/types/index.d.ts +106 -1
  222. package/backend/dist/types/index.d.ts.map +1 -1
  223. package/backend/dist/types/index.js.map +1 -1
  224. package/backend/dist/types/work.d.ts +31 -0
  225. package/backend/dist/types/work.d.ts.map +1 -1
  226. package/backend/dist/utils/chatContext.js.map +1 -1
  227. package/backend/dist/utils/chatDocumentContext.d.ts +1 -1
  228. package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -1
  229. package/backend/dist/utils/chatDocumentContext.js +9 -4
  230. package/backend/dist/utils/chatDocumentContext.js.map +1 -1
  231. package/backend/dist/utils/chatProviderSelection.d.ts.map +1 -1
  232. package/backend/dist/utils/generationUtils.d.ts.map +1 -1
  233. package/backend/dist/utils/hash.d.ts.map +1 -1
  234. package/backend/dist/utils/hash.js +13 -2
  235. package/backend/dist/utils/hash.js.map +1 -1
  236. package/backend/dist/utils/logger.d.ts +1 -1
  237. package/backend/dist/utils/logger.d.ts.map +1 -1
  238. package/backend/dist/utils/ollamaStreaming.d.ts +6 -2
  239. package/backend/dist/utils/ollamaStreaming.d.ts.map +1 -1
  240. package/backend/dist/utils/ollamaStreaming.js +12 -2
  241. package/backend/dist/utils/ollamaStreaming.js.map +1 -1
  242. package/backend/dist/utils/openAIResponsesAdapter.js.map +1 -1
  243. package/backend/dist/utils/packagePaths.js.map +1 -1
  244. package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
  245. package/backend/dist/utils/pluginChatAdapter.js +11 -4
  246. package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
  247. package/backend/dist/utils/pluginChatContext.js.map +1 -1
  248. package/backend/dist/utils/pluginDefinitionTrust.d.ts.map +1 -1
  249. package/backend/dist/utils/pluginDefinitionTrust.js +2 -1
  250. package/backend/dist/utils/pluginDefinitionTrust.js.map +1 -1
  251. package/backend/dist/utils/pluginStreamAdapter.d.ts +10 -1
  252. package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -1
  253. package/backend/dist/utils/pluginStreamAdapter.js +30 -23
  254. package/backend/dist/utils/pluginStreamAdapter.js.map +1 -1
  255. package/backend/dist/utils/pluginValidation.d.ts +4 -3
  256. package/backend/dist/utils/pluginValidation.d.ts.map +1 -1
  257. package/backend/dist/utils/pluginValidation.js +47 -2
  258. package/backend/dist/utils/pluginValidation.js.map +1 -1
  259. package/backend/dist/utils/resourceLimits.d.ts +10 -0
  260. package/backend/dist/utils/resourceLimits.d.ts.map +1 -0
  261. package/backend/dist/utils/resourceLimits.js +29 -0
  262. package/backend/dist/utils/resourceLimits.js.map +1 -0
  263. package/backend/dist/utils/thinkingPhaseTimer.d.ts +21 -0
  264. package/backend/dist/utils/thinkingPhaseTimer.d.ts.map +1 -0
  265. package/backend/dist/utils/thinkingPhaseTimer.js +84 -0
  266. package/backend/dist/utils/thinkingPhaseTimer.js.map +1 -0
  267. package/backend/dist/utils/webpageFetcher.d.ts +25 -0
  268. package/backend/dist/utils/webpageFetcher.d.ts.map +1 -0
  269. package/backend/dist/utils/webpageFetcher.js +231 -0
  270. package/backend/dist/utils/webpageFetcher.js.map +1 -0
  271. package/backend/dist/utils/websocketMessages.js.map +1 -1
  272. package/backend/dist/utils/workGit.d.ts +14 -0
  273. package/backend/dist/utils/workGit.d.ts.map +1 -0
  274. package/backend/dist/utils/workGit.js +207 -0
  275. package/backend/dist/utils/workGit.js.map +1 -0
  276. package/backend/dist/websocketServer.d.ts +1 -0
  277. package/backend/dist/websocketServer.d.ts.map +1 -1
  278. package/backend/dist/websocketServer.js +110 -25
  279. package/backend/dist/websocketServer.js.map +1 -1
  280. package/backend/dist/workTerminalServer.d.ts.map +1 -1
  281. package/backend/dist/workTerminalServer.js +3 -1
  282. package/backend/dist/workTerminalServer.js.map +1 -1
  283. package/backend/package.json +8 -7
  284. package/bin/cli.js +2 -2
  285. package/frontend/dist/assets/index-CFhy8YLA.css +1 -0
  286. package/frontend/dist/assets/index-_lG_lwU-.js +164 -0
  287. package/frontend/dist/assets/markdown-math-ClQbWekD.css +1 -0
  288. package/frontend/dist/assets/xterm-DHcfr8qj.css +1 -0
  289. package/frontend/dist/index.html +41 -16
  290. package/frontend/dist/js/ArtifactContainer-CjpvtR8G.js +1 -0
  291. package/frontend/dist/js/{ArtifactDemoPage-B4qsvUnF.js → ArtifactDemoPage-yrPXLBQo.js} +1 -1
  292. package/frontend/dist/js/ArtifactSlideOutPanel-DdsL2AOQ.js +1 -0
  293. package/frontend/dist/js/{Button-CRwzOaDZ.js → Button-X9TT9gTD.js} +1 -1
  294. package/frontend/dist/js/ChatPage-D9lWGM8g.js +16 -0
  295. package/frontend/dist/js/FirstTimeSetup-CwLPbHkI.js +1 -0
  296. package/frontend/dist/js/GalleryPage-C9DTdo_-.js +1 -0
  297. package/frontend/dist/js/HomePage-iF44c34e.js +1 -0
  298. package/frontend/dist/js/LibreClawPage-B9wWZIz6.js +1 -0
  299. package/frontend/dist/js/{ModelManagerModals-DMoEav1l.js → ModelManagerModals-D9j9RECi.js} +1 -1
  300. package/frontend/dist/js/ModelSelector-B0RKEJwC.js +1 -0
  301. package/frontend/dist/js/ModelsPage-DJXoIOs8.js +2 -0
  302. package/frontend/dist/js/NotesPage-BTNH6JR2.js +1 -0
  303. package/frontend/dist/js/{OptimizedSyntaxHighlighter-Ci9sRc78.js → OptimizedSyntaxHighlighter-CWYUn9Oe.js} +1 -1
  304. package/frontend/dist/js/PersonasPage--nqoJ-wA.js +13 -0
  305. package/frontend/dist/js/PluginUsagePage-BHwm-BBr.js +1 -0
  306. package/frontend/dist/js/{RichMessageContent-BJ49VN9j.js → RichMessageContent-DYRrXJ75.js} +3 -3
  307. package/frontend/dist/js/SettingsModal-y1Nzg55O.js +1 -0
  308. package/frontend/dist/js/SystemPage-CHez8h3p.js +1 -0
  309. package/frontend/dist/js/UserManagementPage-aJhKXQxG.js +1 -0
  310. package/frontend/dist/js/WorkPage-Ccla0MDm.js +5 -0
  311. package/frontend/dist/js/addon-fit-DIOBYJe3.js +1 -0
  312. package/frontend/dist/js/api-DVP8xiYT.js +19 -0
  313. package/frontend/dist/js/appStore-Cw7PmG-J.js +2 -0
  314. package/frontend/dist/js/ar-ONXFvOB1.js +2 -0
  315. package/frontend/dist/js/artifactHtml-C0Hu9I1u.js +41 -0
  316. package/frontend/dist/js/authStore-gv_MgDKr.js +3 -0
  317. package/frontend/dist/js/babel-CmENXdZw.js +16 -0
  318. package/frontend/dist/js/bn-BLhREPm6.js +2 -0
  319. package/frontend/dist/js/chatStore-DmDbolTg.js +2 -0
  320. package/frontend/dist/js/cs-Bg8E9fG5.js +2 -0
  321. package/frontend/dist/js/da-ODCU8w4x.js +2 -0
  322. package/frontend/dist/js/de-nuGHRJ5N.js +2 -0
  323. package/frontend/dist/js/es-DcN_cwum.js +2 -0
  324. package/frontend/dist/js/estree-DJwQLE88.js +44 -0
  325. package/frontend/dist/js/fr-C-L_xGr5.js +2 -0
  326. package/frontend/dist/js/hi-DUEtwA9G.js +2 -0
  327. package/frontend/dist/js/html-DdAOfeK4.js +25 -0
  328. package/frontend/dist/js/i18n-xir4Zz7C.js +2 -0
  329. package/frontend/dist/js/i18next-DgmgtwsV.js +1 -0
  330. package/frontend/dist/js/id-DNTYhti_.js +2 -0
  331. package/frontend/dist/js/imageGenModels-Dx_QMLJQ.js +1 -0
  332. package/frontend/dist/js/is-Bx28ymbQ.js +2 -0
  333. package/frontend/dist/js/it-BjW-JLlS.js +2 -0
  334. package/frontend/dist/js/ja-uThj4Q1w.js +2 -0
  335. package/frontend/dist/js/ko-DqgmMYXK.js +2 -0
  336. package/frontend/dist/js/logger-DSXjF4ye.js +1 -0
  337. package/frontend/dist/js/markdown-RaVsONor.js +70 -0
  338. package/frontend/dist/js/markdown-core-DHnR5Hw8.js +16 -0
  339. package/frontend/dist/js/markdown-math-B7FlYsmr.js +261 -0
  340. package/frontend/dist/js/messageCodeStyles-cTX0rQGK.js +2 -0
  341. package/frontend/dist/js/ms-R9kt_P0T.js +2 -0
  342. package/frontend/dist/js/nl-BjmtEgpK.js +2 -0
  343. package/frontend/dist/js/pl-C8_gU9r1.js +2 -0
  344. package/frontend/dist/js/postcss-B5WIGhAY.js +62 -0
  345. package/frontend/dist/js/pt-7BJForUD.js +2 -0
  346. package/frontend/dist/js/react-vendor-DPNXrO-8.js +9 -0
  347. package/frontend/dist/js/{rolldown-runtime-QTnfLwEv.js → rolldown-runtime-hePW80VL.js} +1 -1
  348. package/frontend/dist/js/router-vendor-Ca9zqOqT.js +1 -0
  349. package/frontend/dist/js/ru-D2HmhY6Y.js +2 -0
  350. package/frontend/dist/js/{standalone-DmLfI4Qj.js → standalone-B_aPlu7o.js} +8 -8
  351. package/frontend/dist/js/sv-zny3sDBM.js +2 -0
  352. package/frontend/dist/js/syntax-highlight-Ca9bHsaz.js +8 -0
  353. package/frontend/dist/js/th-CAzEKRz8.js +2 -0
  354. package/frontend/dist/js/tr-BmYgtmUo.js +2 -0
  355. package/frontend/dist/js/{typescript-Bcq62agC.js → typescript-Dz4OUZSl.js} +10 -10
  356. package/frontend/dist/js/ui-DDlcz2oy.js +2 -0
  357. package/frontend/dist/js/ui-vendor-D_pYT79f.js +177 -0
  358. package/frontend/dist/js/uk-eiYZ0uRq.js +2 -0
  359. package/frontend/dist/js/useTranslation-CdeLZqSW.js +1 -0
  360. package/frontend/dist/js/utils-BhpNrGnR.js +1 -0
  361. package/frontend/dist/js/utils-vendor-1zob7nK9.js +9 -0
  362. package/frontend/dist/js/vi-C7SVAWpO.js +2 -0
  363. package/frontend/dist/js/welcomePrompts-to5mv_gx.js +1 -0
  364. package/frontend/dist/js/xterm-Da5ppSVt.js +18 -0
  365. package/frontend/dist/js/{yaml-mLy9chOK.js → yaml-QD4znPfZ.js} +20 -20
  366. package/frontend/dist/js/zh-2Q3cQv3s.js +2 -0
  367. package/package.json +20 -13
  368. package/plugins/codex-oauth.json +19 -0
  369. package/plugins/openrouter.json +89 -0
  370. package/backend/dist/services/systemSettingsService.d.ts +0 -12
  371. package/backend/dist/services/systemSettingsService.d.ts.map +0 -1
  372. package/backend/dist/services/systemSettingsService.js +0 -70
  373. package/backend/dist/services/systemSettingsService.js.map +0 -1
  374. package/frontend/dist/assets/index-BqI0kezz.css +0 -1
  375. package/frontend/dist/assets/index-CRC6g6bL.js +0 -3
  376. package/frontend/dist/assets/markdown-math-CYlHEDRF.css +0 -1
  377. package/frontend/dist/assets/xterm-CmMoOwwu.css +0 -1
  378. package/frontend/dist/js/ArtifactContainer-Cdy-973y.js +0 -1
  379. package/frontend/dist/js/ArtifactSlideOutPanel-CmKgQ4eD.js +0 -1
  380. package/frontend/dist/js/ChatPage-CYT69oBR.js +0 -16
  381. package/frontend/dist/js/FirstTimeSetup-C8LdLP5J.js +0 -1
  382. package/frontend/dist/js/GalleryPage-Bm89pnS8.js +0 -1
  383. package/frontend/dist/js/HomePage-CeCYnMUG.js +0 -1
  384. package/frontend/dist/js/LibreClawPage-DGMEV6dm.js +0 -1
  385. package/frontend/dist/js/ModelSelector-DXPdGdQ_.js +0 -1
  386. package/frontend/dist/js/ModelsPage-D-FIy2x-.js +0 -2
  387. package/frontend/dist/js/PersonasPage-CIrEVFo5.js +0 -13
  388. package/frontend/dist/js/SettingsModal-CxtOXPY7.js +0 -1
  389. package/frontend/dist/js/UserManagementPage-BfyYGGFQ.js +0 -1
  390. package/frontend/dist/js/WorkPage-C7bW6Hxx.js +0 -4
  391. package/frontend/dist/js/addon-fit-Cj0_dfHF.js +0 -1
  392. package/frontend/dist/js/api-DCD41-l9.js +0 -19
  393. package/frontend/dist/js/appStore-Bw-8Exsx.js +0 -2
  394. package/frontend/dist/js/ar-BAHlIvy0.js +0 -2
  395. package/frontend/dist/js/artifactHtml-B7Oy2e__.js +0 -27
  396. package/frontend/dist/js/authStore-mOYH_AXI.js +0 -4
  397. package/frontend/dist/js/babel-BnLuavNv.js +0 -16
  398. package/frontend/dist/js/bn-BxquDVbd.js +0 -2
  399. package/frontend/dist/js/cs-C4DoKzRm.js +0 -2
  400. package/frontend/dist/js/da-CFslpGTw.js +0 -2
  401. package/frontend/dist/js/de-ChudoRh2.js +0 -2
  402. package/frontend/dist/js/demoMode-BhEpMVh5.js +0 -1
  403. package/frontend/dist/js/es-B36fefE-.js +0 -2
  404. package/frontend/dist/js/estree-0vwU39qX.js +0 -44
  405. package/frontend/dist/js/fr-BSVeTM5W.js +0 -2
  406. package/frontend/dist/js/hi-BGoFbl5V.js +0 -2
  407. package/frontend/dist/js/html-CApr2Bvi.js +0 -25
  408. package/frontend/dist/js/id-BfYs2p_j.js +0 -2
  409. package/frontend/dist/js/is-DZ1MS-5A.js +0 -2
  410. package/frontend/dist/js/it-CXtrPCG1.js +0 -2
  411. package/frontend/dist/js/ja-FPJ_NK_y.js +0 -2
  412. package/frontend/dist/js/ko-DVwD4ZZF.js +0 -2
  413. package/frontend/dist/js/logger-DbNs3-DK.js +0 -1
  414. package/frontend/dist/js/markdown-C78Qc6xu.js +0 -70
  415. package/frontend/dist/js/markdown-core-GI9BPwrB.js +0 -16
  416. package/frontend/dist/js/markdown-math-E4O1gcxj.js +0 -261
  417. package/frontend/dist/js/ms-PKPP0RX3.js +0 -2
  418. package/frontend/dist/js/nl-DWM5HJZ8.js +0 -2
  419. package/frontend/dist/js/pl-B9va8Tuf.js +0 -2
  420. package/frontend/dist/js/postcss-DSDkwgFE.js +0 -62
  421. package/frontend/dist/js/pt-P0IQi-Zr.js +0 -2
  422. package/frontend/dist/js/react-vendor-DyG_ODzn.js +0 -9
  423. package/frontend/dist/js/router-vendor-BjDI9mRe.js +0 -1
  424. package/frontend/dist/js/ru-Ca2bxYnc.js +0 -2
  425. package/frontend/dist/js/sv-DI4RDwyZ.js +0 -2
  426. package/frontend/dist/js/syntax-highlight-pM1xnNpY.js +0 -8
  427. package/frontend/dist/js/th-DN0bDS9d.js +0 -2
  428. package/frontend/dist/js/tr-ChqMv5Q4.js +0 -2
  429. package/frontend/dist/js/ui-vendor-DohPFHDW.js +0 -177
  430. package/frontend/dist/js/uk-Cr51h_XQ.js +0 -2
  431. package/frontend/dist/js/useBaseQuery-BAOlhjar.js +0 -1
  432. package/frontend/dist/js/useQuery-CcRqxveh.js +0 -1
  433. package/frontend/dist/js/useTranslation-Cs6iTP4m.js +0 -1
  434. package/frontend/dist/js/utils-DmZD5uA3.js +0 -1
  435. package/frontend/dist/js/utils-vendor-Cbaj0BC5.js +0 -9
  436. package/frontend/dist/js/vi-D4OhoVMH.js +0 -2
  437. package/frontend/dist/js/xterm-DKl1QLiw.js +0 -7
  438. package/frontend/dist/js/zh-Bvau7hlR.js +0 -2
@@ -0,0 +1,207 @@
1
+ /*
2
+ * Libre WebUI
3
+ * Copyright (C) 2025 Kroonen AI, Inc.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import path from 'node:path';
18
+ const WORKSPACE_ROOT = '/workspace';
19
+ /**
20
+ * Git always runs as an argv array inside the task sandbox. These settings
21
+ * remove host/global configuration, prompts, hooks, credential helpers and
22
+ * protocols from the local-only UI surface.
23
+ */
24
+ export function buildWorkGitCommand(args) {
25
+ return [
26
+ 'env',
27
+ 'HOME=/tmp',
28
+ 'GIT_CONFIG_NOSYSTEM=1',
29
+ 'GIT_CONFIG_GLOBAL=/dev/null',
30
+ 'GIT_TERMINAL_PROMPT=0',
31
+ 'GIT_ASKPASS=/bin/false',
32
+ 'SSH_ASKPASS=/bin/false',
33
+ 'git',
34
+ '--no-pager',
35
+ '--literal-pathspecs',
36
+ '-c',
37
+ 'core.hooksPath=/dev/null',
38
+ '-c',
39
+ 'core.fsmonitor=false',
40
+ '-c',
41
+ 'core.attributesFile=/dev/null',
42
+ '-c',
43
+ 'credential.helper=',
44
+ '-c',
45
+ 'commit.gpgSign=false',
46
+ '-c',
47
+ 'gc.auto=0',
48
+ '-c',
49
+ 'maintenance.auto=false',
50
+ '-c',
51
+ 'submodule.recurse=false',
52
+ '-c',
53
+ 'protocol.allow=never',
54
+ ...args,
55
+ ];
56
+ }
57
+ /** Reject repositories whose worktree or Git metadata escapes the sandbox. */
58
+ export function validateWorkGitRepositoryPaths(output) {
59
+ const values = output.trimEnd().split('\n');
60
+ if (values.length !== 3 || values.some(hasControlCharacter)) {
61
+ throw new Error('Git returned an invalid repository layout.');
62
+ }
63
+ const [worktree, gitDirectory, commonDirectory] = values;
64
+ if (worktree !== WORKSPACE_ROOT) {
65
+ throw new Error('The Git worktree must be exactly /workspace.');
66
+ }
67
+ if (!isInsideWorkspace(gitDirectory) || !isInsideWorkspace(commonDirectory)) {
68
+ throw new Error('Git metadata must stay inside /workspace.');
69
+ }
70
+ }
71
+ export function validateWorkGitBranchName(value) {
72
+ if (value.length < 1 ||
73
+ value.length > 200 ||
74
+ value !== value.trim() ||
75
+ value.startsWith('-') ||
76
+ hasControlCharacter(value)) {
77
+ throw new Error('Branch name is invalid.');
78
+ }
79
+ return value;
80
+ }
81
+ export function parseWorkGitStatus(output) {
82
+ const status = {
83
+ initialized: true,
84
+ detached: false,
85
+ ahead: 0,
86
+ behind: 0,
87
+ changes: [],
88
+ branches: [],
89
+ commits: [],
90
+ };
91
+ const records = output.split('\0');
92
+ for (let index = 0; index < records.length; index += 1) {
93
+ const record = records[index];
94
+ if (!record)
95
+ continue;
96
+ if (record.startsWith('# branch.oid ')) {
97
+ const oid = record.slice('# branch.oid '.length);
98
+ if (oid !== '(initial)')
99
+ status.head = oid;
100
+ continue;
101
+ }
102
+ if (record.startsWith('# branch.head ')) {
103
+ const branch = record.slice('# branch.head '.length);
104
+ if (branch === '(detached)')
105
+ status.detached = true;
106
+ else
107
+ status.branch = branch;
108
+ continue;
109
+ }
110
+ if (record.startsWith('# branch.upstream ')) {
111
+ status.upstream = record.slice('# branch.upstream '.length);
112
+ continue;
113
+ }
114
+ if (record.startsWith('# branch.ab ')) {
115
+ const match = record.match(/^# branch\.ab \+(\d+) -(\d+)$/);
116
+ if (match) {
117
+ status.ahead = Number(match[1]);
118
+ status.behind = Number(match[2]);
119
+ }
120
+ continue;
121
+ }
122
+ let change;
123
+ if (record.startsWith('1 ')) {
124
+ change = parseTrackedChange(record, 8);
125
+ }
126
+ else if (record.startsWith('2 ')) {
127
+ change = parseTrackedChange(record, 9);
128
+ const originalPath = records[index + 1];
129
+ if (change && originalPath !== undefined) {
130
+ change.originalPath = originalPath;
131
+ index += 1;
132
+ }
133
+ }
134
+ else if (record.startsWith('u ')) {
135
+ change = parseTrackedChange(record, 10);
136
+ }
137
+ else if (record.startsWith('? ')) {
138
+ change = {
139
+ path: record.slice(2),
140
+ indexStatus: '?',
141
+ workingTreeStatus: '?',
142
+ staged: false,
143
+ };
144
+ }
145
+ if (change)
146
+ status.changes.push(change);
147
+ }
148
+ status.changes.sort((left, right) => left.path.localeCompare(right.path));
149
+ return status;
150
+ }
151
+ export function parseWorkGitLog(output) {
152
+ const fields = output.split('\0');
153
+ const commits = [];
154
+ for (let index = 0; index + 4 < fields.length; index += 5) {
155
+ const [hash, shortHash, author, authoredAt, subject] = fields.slice(index, index + 5);
156
+ if (!hash)
157
+ continue;
158
+ commits.push({ hash, shortHash, author, authoredAt, subject });
159
+ }
160
+ return commits;
161
+ }
162
+ export function parseWorkGitBranches(output) {
163
+ return output
164
+ .split('\n')
165
+ .map(value => value.trim())
166
+ .filter(value => value && !hasControlCharacter(value))
167
+ .sort((left, right) => left.localeCompare(right));
168
+ }
169
+ function parseTrackedChange(record, prefixFieldCount) {
170
+ const fields = splitPrefixFields(record, prefixFieldCount);
171
+ const xy = fields[1];
172
+ const filePath = fields[prefixFieldCount];
173
+ if (!xy || xy.length !== 2 || !filePath)
174
+ return undefined;
175
+ return {
176
+ path: filePath,
177
+ indexStatus: xy[0],
178
+ workingTreeStatus: xy[1],
179
+ staged: xy[0] !== '.' && xy[0] !== '?',
180
+ };
181
+ }
182
+ function splitPrefixFields(value, count) {
183
+ const fields = [];
184
+ let start = 0;
185
+ for (let index = 0; index < count; index += 1) {
186
+ const separator = value.indexOf(' ', start);
187
+ if (separator < 0)
188
+ return [];
189
+ fields.push(value.slice(start, separator));
190
+ start = separator + 1;
191
+ }
192
+ fields.push(value.slice(start));
193
+ return fields;
194
+ }
195
+ function isInsideWorkspace(value) {
196
+ if (!path.posix.isAbsolute(value))
197
+ return false;
198
+ const normalized = path.posix.normalize(value);
199
+ return (normalized === WORKSPACE_ROOT || normalized.startsWith(`${WORKSPACE_ROOT}/`));
200
+ }
201
+ function hasControlCharacter(value) {
202
+ return [...value].some(character => {
203
+ const code = character.charCodeAt(0);
204
+ return code <= 31 || code === 127;
205
+ });
206
+ }
207
+ //# sourceMappingURL=workGit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workGit.js","sourceRoot":"","sources":["../../src/utils/workGit.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { Server } from 'http';
2
+ export declare const isAllowedWebSocketOrigin: (origin: string | undefined, configuredOrigins?: (string | undefined)[]) => boolean;
2
3
  export declare function registerWebSocketServer(server: Server): void;
3
4
  //# sourceMappingURL=websocketServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocketServer.d.ts","sourceRoot":"","sources":["../src/websocketServer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAuCnC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAwgB5D"}
1
+ {"version":3,"file":"websocketServer.d.ts","sourceRoot":"","sources":["../src/websocketServer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAmB,MAAM,EAAE,MAAM,MAAM,CAAC;AAgEpD,eAAO,MAAM,wBAAwB,WAC3B,MAAM,GAAG,SAAS,iDAEzB,OAqBF,CAAC;AAiCF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAoiB5D"}
@@ -21,6 +21,7 @@ import pluginService from './services/pluginService.js';
21
21
  import documentService from './services/documentService.js';
22
22
  import agentCliService from './services/agentCliService.js';
23
23
  import chatGenerationService from './services/chatGenerationService.js';
24
+ import preferencesService from './services/preferencesService.js';
24
25
  import assistantCompletionService from './services/assistantCompletionService.js';
25
26
  import { personaService } from './services/personaService.js';
26
27
  import { buildDocumentEnhancedContent, ChatRequestService, } from './services/chatRequestService.js';
@@ -28,43 +29,112 @@ import { streamOllamaChatResponse } from './utils/ollamaStreaming.js';
28
29
  import { streamPluginResponse } from './utils/pluginStreaming.js';
29
30
  import { createLogger } from './utils/logger.js';
30
31
  import { sendAssistantComplete, sendConnected, sendError, sendUserMessage, streamAssistantFakeChunks, } from './utils/websocketMessages.js';
31
- import { verifyToken } from './utils/jwt.js';
32
32
  import { createWorkTerminalServer, WORK_TERMINAL_WS_PATH, } from './workTerminalServer.js';
33
33
  import { normalizeChatProviderSelection } from './utils/chatProviderSelection.js';
34
+ import workPreviewProxyService from './services/workPreviewProxyService.js';
35
+ import { authService } from './services/authService.js';
36
+ import { userModel } from './models/userModel.js';
34
37
  const chatRequestService = new ChatRequestService({
35
38
  chatGenerationService,
36
39
  personaService,
40
+ preferencesService,
37
41
  });
38
42
  const logger = createLogger('websocket');
43
+ const CHAT_WS_MAX_PAYLOAD_BYTES = positiveInteger(process.env.CHAT_WS_MAX_PAYLOAD_BYTES, 10 * 1024 * 1024);
44
+ const CHAT_WS_MAX_MESSAGES_PER_MINUTE = positiveInteger(process.env.CHAT_WS_MAX_MESSAGES_PER_MINUTE, 120);
45
+ function positiveInteger(value, fallback) {
46
+ const parsed = Number.parseInt(value || '', 10);
47
+ return Number.isInteger(parsed) && parsed > 0 ? parsed : fallback;
48
+ }
49
+ export const isAllowedWebSocketOrigin = (origin, configuredOrigins = [process.env.CORS_ORIGIN, process.env.BASE_URL]) => {
50
+ if (!origin)
51
+ return true;
52
+ let requestOrigin;
53
+ try {
54
+ requestOrigin = new URL(origin).origin;
55
+ }
56
+ catch {
57
+ return false;
58
+ }
59
+ const allowed = configuredOrigins
60
+ .flatMap(value => value?.split(',') || [])
61
+ .map(value => value.trim())
62
+ .filter(Boolean)
63
+ .flatMap(value => {
64
+ try {
65
+ return [new URL(value).origin];
66
+ }
67
+ catch {
68
+ return [];
69
+ }
70
+ });
71
+ return allowed.length === 0 || allowed.includes(requestOrigin);
72
+ };
73
+ const authorizeChatUpgrade = (request) => {
74
+ try {
75
+ const url = new URL(request.url || '', `http://${request.headers.host}`);
76
+ const token = url.searchParams.get('token')?.trim() || '';
77
+ if (!token)
78
+ return null;
79
+ const payload = authService.verifyToken(token);
80
+ if (!payload)
81
+ return null;
82
+ const currentUser = userModel.getUserById(payload.userId);
83
+ if (!currentUser || currentUser.status !== 'active')
84
+ return null;
85
+ return { token, userId: currentUser.id };
86
+ }
87
+ catch {
88
+ return null;
89
+ }
90
+ };
91
+ const rejectUpgrade = (socket, status, message) => {
92
+ const body = JSON.stringify({ success: false, message });
93
+ socket.end(`HTTP/1.1 ${status} ${status === 401 ? 'Unauthorized' : 'Forbidden'}\r\n` +
94
+ 'Connection: close\r\n' +
95
+ 'Content-Type: application/json\r\n' +
96
+ `Content-Length: ${Buffer.byteLength(body)}\r\n\r\n${body}`);
97
+ };
39
98
  export function registerWebSocketServer(server) {
40
99
  // WebSocket server for real-time chat streaming. Upgrades are dispatched by
41
100
  // path in index.ts so the Work terminal can share the same HTTP server.
42
- const wss = new WebSocketServer({ noServer: true });
43
- wss.on('connection', (ws, req) => {
101
+ const wss = new WebSocketServer({
102
+ noServer: true,
103
+ maxPayload: CHAT_WS_MAX_PAYLOAD_BYTES,
104
+ });
105
+ wss.on('connection', (ws, rawRequest) => {
44
106
  logger.debug('WebSocket client connected');
45
- // Extract and verify auth token from query parameters
46
- let userId = 'default';
47
- try {
48
- const url = new URL(req.url || '', `http://${req.headers.host}`);
49
- const token = url.searchParams.get('token');
50
- if (token) {
51
- // Verify JWT token using the same logic as the auth middleware
52
- const decoded = verifyToken(token);
53
- userId = decoded.userId;
54
- logger.debug('WebSocket authenticated for user:', userId);
55
- }
56
- else {
57
- logger.debug('WebSocket connection without auth token, using default user');
58
- }
59
- }
60
- catch (error) {
61
- // An expired/invalid token here is expected (e.g. a stale browser token);
62
- // fall back to the default user without dumping a stack trace.
63
- logger.warn('WebSocket auth failed, using default user:', error instanceof Error ? error.message : error);
64
- // Continue with default user for backward compatibility
107
+ const req = rawRequest;
108
+ const chatAuth = req.chatAuth;
109
+ if (!chatAuth) {
110
+ ws.close(1008, 'Authentication required');
111
+ return;
65
112
  }
113
+ const { userId } = chatAuth;
114
+ let messageWindowStartedAt = Date.now();
115
+ let messageCount = 0;
66
116
  ws.on('message', async (data) => {
67
117
  try {
118
+ const now = Date.now();
119
+ if (now - messageWindowStartedAt >= 60000) {
120
+ messageWindowStartedAt = now;
121
+ messageCount = 0;
122
+ }
123
+ messageCount += 1;
124
+ if (messageCount > CHAT_WS_MAX_MESSAGES_PER_MINUTE) {
125
+ ws.close(1008, 'Message rate limit exceeded');
126
+ return;
127
+ }
128
+ const currentPayload = authService.verifyToken(chatAuth.token);
129
+ const currentUser = currentPayload
130
+ ? userModel.getUserById(currentPayload.userId)
131
+ : null;
132
+ if (!currentUser ||
133
+ currentUser.status !== 'active' ||
134
+ currentUser.id !== userId) {
135
+ ws.close(1008, 'Session expired or account unavailable');
136
+ return;
137
+ }
68
138
  const message = JSON.parse(data.toString());
69
139
  if (message.type === 'chat_stream') {
70
140
  const { sessionId, content, images, format, options, assistantMessageId, regenerate, originalMessageId, isPrivate, model: privateModel, providerType, providerId, messageHistory, } = message.data;
@@ -127,7 +197,7 @@ export function registerWebSocketServer(server) {
127
197
  });
128
198
  }
129
199
  // RAG: Get relevant document context for the user's query
130
- const relevantContext = await documentService.getRelevantContext(content, sessionId);
200
+ const relevantContext = await documentService.getRelevantContext(content, userId, sessionId);
131
201
  const enhancedContent = buildDocumentEnhancedContent(content, relevantContext);
132
202
  if (relevantContext.length > 0) {
133
203
  logger.debug(`Found ${relevantContext.length} relevant document chunks for query`);
@@ -177,7 +247,7 @@ export function registerWebSocketServer(server) {
177
247
  const streamResult = await streamPluginResponse({
178
248
  ws,
179
249
  chunks: agentProviderId
180
- ? agentCliService.executeAgentStreamRequest(agentProviderId, pluginMessages, userId)
250
+ ? agentCliService.executeAgentStreamRequest(agentProviderId, pluginMessages, userId, { model: actualModelName })
181
251
  : pluginService.executePluginStreamRequest(actualModelName, pluginMessages, mergedOptions, userId, activePlugin.id),
182
252
  messageId: assistantMessageId,
183
253
  });
@@ -280,6 +350,7 @@ export function registerWebSocketServer(server) {
280
350
  request: chatRequest,
281
351
  streamSource: ollamaService,
282
352
  messageId: assistantMessageId,
353
+ userId,
283
354
  });
284
355
  assistantContent = ollamaStream.content;
285
356
  if (!ollamaStream.completed) {
@@ -356,6 +427,9 @@ export function registerWebSocketServer(server) {
356
427
  });
357
428
  const terminalServer = createWorkTerminalServer();
358
429
  server.on('upgrade', (request, socket, head) => {
430
+ if (workPreviewProxyService.tryHandleUpgrade(request, socket, head)) {
431
+ return;
432
+ }
359
433
  let pathname;
360
434
  try {
361
435
  pathname = new URL(request.url || '', 'http://localhost').pathname;
@@ -371,6 +445,17 @@ export function registerWebSocketServer(server) {
371
445
  return;
372
446
  }
373
447
  if (pathname === '/ws') {
448
+ if (!isAllowedWebSocketOrigin(request.headers.origin)) {
449
+ rejectUpgrade(socket, 403, 'WebSocket origin is not allowed');
450
+ return;
451
+ }
452
+ const authenticatedRequest = request;
453
+ const chatAuth = authorizeChatUpgrade(authenticatedRequest);
454
+ if (!chatAuth) {
455
+ rejectUpgrade(socket, 401, 'WebSocket authentication is required');
456
+ return;
457
+ }
458
+ authenticatedRequest.chatAuth = chatAuth;
374
459
  wss.handleUpgrade(request, socket, head, ws => {
375
460
  wss.emit('connection', ws, request);
376
461
  });
@@ -1 +1 @@
1
- {"version":3,"file":"websocketServer.js","sourceRoot":"","sources":["../src/websocketServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocketServer.js","sourceRoot":"","sources":["../src/websocketServer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workTerminalServer.d.ts","sourceRoot":"","sources":["../src/workTerminalServer.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAkB,MAAM,IAAI,CAAC;AAYrD,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAKzD,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,GACV,yBAAyB,GAAG,IAAI,CAqBlC;AAsLD,wBAAgB,wBAAwB,IAAI,eAAe,CAa1D"}
1
+ {"version":3,"file":"workTerminalServer.d.ts","sourceRoot":"","sources":["../src/workTerminalServer.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAkB,MAAM,IAAI,CAAC;AAYrD,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAKzD,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,GACV,yBAAyB,GAAG,IAAI,CAqBlC;AA0LD,wBAAgB,wBAAwB,IAAI,eAAe,CAa1D"}
@@ -71,7 +71,9 @@ function authorizeTerminalRequest(req) {
71
71
  throw new WorkRuntimeError('Invalid or expired terminal session token.', 401, 'WORK_TERMINAL_UNAUTHORIZED');
72
72
  }
73
73
  const currentUser = userModel.getUserById(payload.userId);
74
- if (!currentUser || currentUser.role !== 'admin') {
74
+ if (!currentUser ||
75
+ currentUser.status !== 'active' ||
76
+ currentUser.role !== 'admin') {
75
77
  throw new WorkRuntimeError('Admin access required.', 403, 'WORK_TERMINAL_FORBIDDEN');
76
78
  }
77
79
  const task = workTaskService.getTaskRecord(taskId, payload.userId);
@@ -1 +1 @@
1
- {"version":3,"file":"workTerminalServer.js","sourceRoot":"","sources":["../src/workTerminalServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workTerminalServer.js","sourceRoot":"","sources":["../src/workTerminalServer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libre-webui-backend",
3
- "version": "0.17.0",
3
+ "version": "0.19.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "description": "Backend API for Libre WebUI",
@@ -21,17 +21,20 @@
21
21
  "@types/pdf-parse": "^1.1.5",
22
22
  "axios": "^1.13.2",
23
23
  "bcrypt": "^6.0.0",
24
- "better-sqlite3": "^12.5.0",
24
+ "better-sqlite3": "^13.0.2",
25
25
  "cors": "^2.8.5",
26
26
  "dotenv": "^17.2.3",
27
27
  "express": "^5.2.1",
28
28
  "express-rate-limit": "^8.2.1",
29
29
  "helmet": "^8.1.0",
30
+ "ipaddr.js": "^2.4.0",
30
31
  "jsonwebtoken": "^9.0.3",
31
32
  "morgan": "^1.10.0",
32
33
  "multer": "^2.0.1",
34
+ "parse5": "^7.3.0",
33
35
  "pdfjs-dist": "^6.0.227",
34
36
  "sanitize-filename": "^1.6.3",
37
+ "undici": "^8.10.0",
35
38
  "uuid": "^14.0.0",
36
39
  "ws": "^8.14.2"
37
40
  },
@@ -42,12 +45,10 @@
42
45
  "@types/cors": "^2.8.19",
43
46
  "@types/express": "^5.0.6",
44
47
  "@types/morgan": "^1.9.10",
45
- "@types/node": "^26.1.0",
48
+ "@types/node": "^26.1.2",
46
49
  "@types/ws": "^8.5.10",
47
- "@typescript-eslint/eslint-plugin": "^8.51.0",
48
- "@typescript-eslint/parser": "^8.34.0",
49
50
  "eslint": "^9.39.4",
50
- "tsx": "^4.23.0",
51
- "typescript": "^6.0.3"
51
+ "tsx": "^4.23.1",
52
+ "typescript": "^7.0.2"
52
53
  }
53
54
  }
package/bin/cli.js CHANGED
@@ -28,7 +28,7 @@ const versionFlags = ['-v', '--version'];
28
28
 
29
29
  if (args.some(arg => helpFlags.includes(arg))) {
30
30
  console.log(`
31
- Libre WebUI - Privacy-First AI Chat Interface
31
+ Libre WebUI - Local-First AI Workspace
32
32
 
33
33
  Usage: npx libre-webui [options]
34
34
 
@@ -129,7 +129,7 @@ console.log(`
129
129
  ╭─────────────────────────────────────────────────╮
130
130
  │ │
131
131
  │ Libre WebUI │
132
- │ Privacy-First AI Chat Interface │
132
+ │ Local-First AI Workspace │
133
133
  │ │
134
134
  ╰─────────────────────────────────────────────────╯
135
135