libre-webui 0.8.6 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/README.md +64 -46
  2. package/backend/dist/db.d.ts.map +1 -1
  3. package/backend/dist/db.js +21 -19
  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 +31 -944
  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 +7 -20
  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/middleware/index.js +4 -2
  13. package/backend/dist/middleware/index.js.map +1 -1
  14. package/backend/dist/models/personaModel.d.ts.map +1 -1
  15. package/backend/dist/models/personaModel.js +11 -9
  16. package/backend/dist/models/personaModel.js.map +1 -1
  17. package/backend/dist/routes/auth.d.ts.map +1 -1
  18. package/backend/dist/routes/auth.js +36 -14
  19. package/backend/dist/routes/auth.js.map +1 -1
  20. package/backend/dist/routes/chat.d.ts.map +1 -1
  21. package/backend/dist/routes/chat.js +61 -242
  22. package/backend/dist/routes/chat.js.map +1 -1
  23. package/backend/dist/routes/documents.d.ts.map +1 -1
  24. package/backend/dist/routes/documents.js +10 -8
  25. package/backend/dist/routes/documents.js.map +1 -1
  26. package/backend/dist/routes/embeddings.d.ts +3 -0
  27. package/backend/dist/routes/embeddings.d.ts.map +1 -0
  28. package/backend/dist/routes/embeddings.js +52 -0
  29. package/backend/dist/routes/embeddings.js.map +1 -0
  30. package/backend/dist/routes/imageGen.d.ts.map +1 -1
  31. package/backend/dist/routes/imageGen.js +9 -7
  32. package/backend/dist/routes/imageGen.js.map +1 -1
  33. package/backend/dist/routes/ollama.d.ts.map +1 -1
  34. package/backend/dist/routes/ollama.js +22 -239
  35. package/backend/dist/routes/ollama.js.map +1 -1
  36. package/backend/dist/routes/personas.d.ts.map +1 -1
  37. package/backend/dist/routes/personas.js +3 -1
  38. package/backend/dist/routes/personas.js.map +1 -1
  39. package/backend/dist/routes/plugins.d.ts.map +1 -1
  40. package/backend/dist/routes/plugins.js +7 -105
  41. package/backend/dist/routes/plugins.js.map +1 -1
  42. package/backend/dist/routes/tts.d.ts.map +1 -1
  43. package/backend/dist/routes/tts.js +7 -5
  44. package/backend/dist/routes/tts.js.map +1 -1
  45. package/backend/dist/routes/users.d.ts.map +1 -1
  46. package/backend/dist/routes/users.js +7 -5
  47. package/backend/dist/routes/users.js.map +1 -1
  48. package/backend/dist/services/assistantCompletionService.d.ts +26 -0
  49. package/backend/dist/services/assistantCompletionService.d.ts.map +1 -0
  50. package/backend/dist/services/assistantCompletionService.js +53 -0
  51. package/backend/dist/services/assistantCompletionService.js.map +1 -0
  52. package/backend/dist/services/authService.d.ts +2 -0
  53. package/backend/dist/services/authService.d.ts.map +1 -1
  54. package/backend/dist/services/authService.js +15 -7
  55. package/backend/dist/services/authService.js.map +1 -1
  56. package/backend/dist/services/chatGenerationService.d.ts +32 -0
  57. package/backend/dist/services/chatGenerationService.d.ts.map +1 -0
  58. package/backend/dist/services/chatGenerationService.js +118 -0
  59. package/backend/dist/services/chatGenerationService.js.map +1 -0
  60. package/backend/dist/services/chatRequestService.d.ts +55 -0
  61. package/backend/dist/services/chatRequestService.d.ts.map +1 -0
  62. package/backend/dist/services/chatRequestService.js +103 -0
  63. package/backend/dist/services/chatRequestService.js.map +1 -0
  64. package/backend/dist/services/chatService.d.ts +0 -1
  65. package/backend/dist/services/chatService.d.ts.map +1 -1
  66. package/backend/dist/services/chatService.js +17 -113
  67. package/backend/dist/services/chatService.js.map +1 -1
  68. package/backend/dist/services/documentService.d.ts.map +1 -1
  69. package/backend/dist/services/documentService.js +23 -21
  70. package/backend/dist/services/documentService.js.map +1 -1
  71. package/backend/dist/services/embeddingService.d.ts +9 -0
  72. package/backend/dist/services/embeddingService.d.ts.map +1 -0
  73. package/backend/dist/services/embeddingService.js +155 -0
  74. package/backend/dist/services/embeddingService.js.map +1 -0
  75. package/backend/dist/services/encryptionService.d.ts.map +1 -1
  76. package/backend/dist/services/encryptionService.js +26 -24
  77. package/backend/dist/services/encryptionService.js.map +1 -1
  78. package/backend/dist/services/galleryService.d.ts.map +1 -1
  79. package/backend/dist/services/galleryService.js +8 -6
  80. package/backend/dist/services/galleryService.js.map +1 -1
  81. package/backend/dist/services/memoryService.d.ts +2 -13
  82. package/backend/dist/services/memoryService.d.ts.map +1 -1
  83. package/backend/dist/services/memoryService.js +45 -211
  84. package/backend/dist/services/memoryService.js.map +1 -1
  85. package/backend/dist/services/memoryUtils.d.ts +29 -0
  86. package/backend/dist/services/memoryUtils.d.ts.map +1 -0
  87. package/backend/dist/services/memoryUtils.js +165 -0
  88. package/backend/dist/services/memoryUtils.js.map +1 -0
  89. package/backend/dist/services/mutationEngineService.d.ts.map +1 -1
  90. package/backend/dist/services/mutationEngineService.js +5 -3
  91. package/backend/dist/services/mutationEngineService.js.map +1 -1
  92. package/backend/dist/services/ollamaService.d.ts.map +1 -1
  93. package/backend/dist/services/ollamaService.js +67 -34
  94. package/backend/dist/services/ollamaService.js.map +1 -1
  95. package/backend/dist/services/personaService.d.ts.map +1 -1
  96. package/backend/dist/services/personaService.js +6 -2
  97. package/backend/dist/services/personaService.js.map +1 -1
  98. package/backend/dist/services/pluginCapabilityRegistryService.d.ts +11 -0
  99. package/backend/dist/services/pluginCapabilityRegistryService.d.ts.map +1 -0
  100. package/backend/dist/services/pluginCapabilityRegistryService.js +70 -0
  101. package/backend/dist/services/pluginCapabilityRegistryService.js.map +1 -0
  102. package/backend/dist/services/pluginCredentialsService.d.ts.map +1 -1
  103. package/backend/dist/services/pluginCredentialsService.js +13 -11
  104. package/backend/dist/services/pluginCredentialsService.js.map +1 -1
  105. package/backend/dist/services/pluginEmbeddingService.d.ts +26 -0
  106. package/backend/dist/services/pluginEmbeddingService.d.ts.map +1 -0
  107. package/backend/dist/services/pluginEmbeddingService.js +159 -0
  108. package/backend/dist/services/pluginEmbeddingService.js.map +1 -0
  109. package/backend/dist/services/pluginImageGenerationService.d.ts +29 -0
  110. package/backend/dist/services/pluginImageGenerationService.d.ts.map +1 -0
  111. package/backend/dist/services/pluginImageGenerationService.js +402 -0
  112. package/backend/dist/services/pluginImageGenerationService.js.map +1 -0
  113. package/backend/dist/services/pluginService.d.ts +21 -17
  114. package/backend/dist/services/pluginService.d.ts.map +1 -1
  115. package/backend/dist/services/pluginService.js +135 -1356
  116. package/backend/dist/services/pluginService.js.map +1 -1
  117. package/backend/dist/services/pluginTTSService.d.ts +28 -0
  118. package/backend/dist/services/pluginTTSService.d.ts.map +1 -0
  119. package/backend/dist/services/pluginTTSService.js +286 -0
  120. package/backend/dist/services/pluginTTSService.js.map +1 -0
  121. package/backend/dist/services/pluginVariablesService.d.ts.map +1 -1
  122. package/backend/dist/services/pluginVariablesService.js +7 -5
  123. package/backend/dist/services/pluginVariablesService.js.map +1 -1
  124. package/backend/dist/services/preferencesService.d.ts +1 -0
  125. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  126. package/backend/dist/services/preferencesService.js +21 -7
  127. package/backend/dist/services/preferencesService.js.map +1 -1
  128. package/backend/dist/services/simpleGitHubOAuth.d.ts.map +1 -1
  129. package/backend/dist/services/simpleGitHubOAuth.js +10 -8
  130. package/backend/dist/services/simpleGitHubOAuth.js.map +1 -1
  131. package/backend/dist/services/simpleHuggingFaceOAuth.d.ts.map +1 -1
  132. package/backend/dist/services/simpleHuggingFaceOAuth.js +11 -9
  133. package/backend/dist/services/simpleHuggingFaceOAuth.js.map +1 -1
  134. package/backend/dist/services/systemSettingsService.d.ts.map +1 -1
  135. package/backend/dist/services/systemSettingsService.js +4 -2
  136. package/backend/dist/services/systemSettingsService.js.map +1 -1
  137. package/backend/dist/services/titleGenerationService.d.ts +55 -0
  138. package/backend/dist/services/titleGenerationService.d.ts.map +1 -0
  139. package/backend/dist/services/titleGenerationService.js +121 -0
  140. package/backend/dist/services/titleGenerationService.js.map +1 -0
  141. package/backend/dist/services/turnstileService.d.ts +13 -0
  142. package/backend/dist/services/turnstileService.d.ts.map +1 -0
  143. package/backend/dist/services/turnstileService.js +79 -0
  144. package/backend/dist/services/turnstileService.js.map +1 -0
  145. package/backend/dist/storage.d.ts +2 -22
  146. package/backend/dist/storage.d.ts.map +1 -1
  147. package/backend/dist/storage.js +22 -170
  148. package/backend/dist/storage.js.map +1 -1
  149. package/backend/dist/storageMappers.d.ts +82 -0
  150. package/backend/dist/storageMappers.d.ts.map +1 -0
  151. package/backend/dist/storageMappers.js +85 -0
  152. package/backend/dist/storageMappers.js.map +1 -0
  153. package/backend/dist/test-encryption.js +20 -18
  154. package/backend/dist/test-encryption.js.map +1 -1
  155. package/backend/dist/types/index.d.ts +6 -0
  156. package/backend/dist/types/index.d.ts.map +1 -1
  157. package/backend/dist/types/index.js.map +1 -1
  158. package/backend/dist/utils/assistantBranching.d.ts +8 -0
  159. package/backend/dist/utils/assistantBranching.d.ts.map +1 -0
  160. package/backend/dist/utils/assistantBranching.js +30 -0
  161. package/backend/dist/utils/assistantBranching.js.map +1 -0
  162. package/backend/dist/utils/chatContext.d.ts +17 -0
  163. package/backend/dist/utils/chatContext.d.ts.map +1 -0
  164. package/backend/dist/utils/chatContext.js +82 -0
  165. package/backend/dist/utils/chatContext.js.map +1 -0
  166. package/backend/dist/utils/chatDocumentContext.d.ts +7 -0
  167. package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -0
  168. package/backend/dist/utils/chatDocumentContext.js +51 -0
  169. package/backend/dist/utils/chatDocumentContext.js.map +1 -0
  170. package/backend/dist/utils/logger.d.ts +12 -0
  171. package/backend/dist/utils/logger.d.ts.map +1 -0
  172. package/backend/dist/utils/logger.js +82 -0
  173. package/backend/dist/utils/logger.js.map +1 -0
  174. package/backend/dist/utils/ollamaLibrary.d.ts +17 -0
  175. package/backend/dist/utils/ollamaLibrary.d.ts.map +1 -0
  176. package/backend/dist/utils/ollamaLibrary.js +253 -0
  177. package/backend/dist/utils/ollamaLibrary.js.map +1 -0
  178. package/backend/dist/utils/ollamaStreaming.d.ts +19 -0
  179. package/backend/dist/utils/ollamaStreaming.d.ts.map +1 -0
  180. package/backend/dist/utils/ollamaStreaming.js +67 -0
  181. package/backend/dist/utils/ollamaStreaming.js.map +1 -0
  182. package/backend/dist/utils/packagePaths.d.ts +10 -0
  183. package/backend/dist/utils/packagePaths.d.ts.map +1 -0
  184. package/backend/dist/utils/packagePaths.js +81 -0
  185. package/backend/dist/utils/packagePaths.js.map +1 -0
  186. package/backend/dist/utils/pluginChatAdapter.d.ts +32 -0
  187. package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -0
  188. package/backend/dist/utils/pluginChatAdapter.js +308 -0
  189. package/backend/dist/utils/pluginChatAdapter.js.map +1 -0
  190. package/backend/dist/utils/pluginChatContext.d.ts +23 -0
  191. package/backend/dist/utils/pluginChatContext.d.ts.map +1 -0
  192. package/backend/dist/utils/pluginChatContext.js +77 -0
  193. package/backend/dist/utils/pluginChatContext.js.map +1 -0
  194. package/backend/dist/utils/pluginResponse.d.ts +6 -0
  195. package/backend/dist/utils/pluginResponse.d.ts.map +1 -0
  196. package/backend/dist/utils/pluginResponse.js +70 -0
  197. package/backend/dist/utils/pluginResponse.js.map +1 -0
  198. package/backend/dist/utils/pluginStreamAdapter.d.ts +16 -0
  199. package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -0
  200. package/backend/dist/utils/pluginStreamAdapter.js +141 -0
  201. package/backend/dist/utils/pluginStreamAdapter.js.map +1 -0
  202. package/backend/dist/utils/pluginStreaming.d.ts +24 -0
  203. package/backend/dist/utils/pluginStreaming.d.ts.map +1 -0
  204. package/backend/dist/utils/pluginStreaming.js +106 -0
  205. package/backend/dist/utils/pluginStreaming.js.map +1 -0
  206. package/backend/dist/utils/pluginUpload.d.ts +8 -0
  207. package/backend/dist/utils/pluginUpload.d.ts.map +1 -0
  208. package/backend/dist/utils/pluginUpload.js +51 -0
  209. package/backend/dist/utils/pluginUpload.js.map +1 -0
  210. package/backend/dist/utils/pluginValidation.d.ts +10 -0
  211. package/backend/dist/utils/pluginValidation.d.ts.map +1 -0
  212. package/backend/dist/utils/pluginValidation.js +94 -0
  213. package/backend/dist/utils/pluginValidation.js.map +1 -0
  214. package/backend/dist/utils/pluginVariableValidation.d.ts +10 -0
  215. package/backend/dist/utils/pluginVariableValidation.d.ts.map +1 -0
  216. package/backend/dist/utils/pluginVariableValidation.js +80 -0
  217. package/backend/dist/utils/pluginVariableValidation.js.map +1 -0
  218. package/backend/dist/utils/websocketMessages.d.ts +26 -0
  219. package/backend/dist/utils/websocketMessages.d.ts.map +1 -0
  220. package/backend/dist/utils/websocketMessages.js +74 -0
  221. package/backend/dist/utils/websocketMessages.js.map +1 -0
  222. package/backend/dist/websocketServer.d.ts +3 -0
  223. package/backend/dist/websocketServer.d.ts.map +1 -0
  224. package/backend/dist/websocketServer.js +332 -0
  225. package/backend/dist/websocketServer.js.map +1 -0
  226. package/backend/package.json +55 -0
  227. package/frontend/dist/assets/index-BxHDVIti.css +1 -0
  228. package/frontend/dist/assets/index-CDA2f43l.js +5 -0
  229. package/frontend/dist/assets/markdown-math-CYlHEDRF.css +1 -0
  230. package/frontend/dist/index.html +12 -15
  231. package/frontend/dist/js/ArtifactContainer-CA523BOS.js +1 -0
  232. package/frontend/dist/js/ArtifactDemoPage-C0p2-ccP.js +200 -0
  233. package/frontend/dist/js/ArtifactSlideOutPanel-BBYuYyr_.js +1 -0
  234. package/frontend/dist/js/Button-BmZQkAPD.js +1 -0
  235. package/frontend/dist/js/ChatPage-QSOhIynr.js +16 -0
  236. package/frontend/dist/js/FirstTimeSetup-pi-S4VU-.js +1 -0
  237. package/frontend/dist/js/GalleryPage-BPXB-D4f.js +1 -0
  238. package/frontend/dist/js/ModelManagerModals-D3SZV7CU.js +1 -0
  239. package/frontend/dist/js/ModelsPage-Fmqc1Zxb.js +2 -0
  240. package/frontend/dist/js/OptimizedSyntaxHighlighter-DlI4omE2.js +1 -0
  241. package/frontend/dist/js/PersonasPage-BuLOCG1Y.js +13 -0
  242. package/frontend/dist/js/RichMessageContent-Darvuw8F.js +3 -0
  243. package/frontend/dist/js/SettingsModal-CQhAeaia.js +1 -0
  244. package/frontend/dist/js/UserManagementPage-yX9vOase.js +1 -0
  245. package/frontend/dist/js/api-d05r9G59.js +15 -0
  246. package/frontend/dist/js/ar-BIL8U_dv.js +2 -0
  247. package/frontend/dist/js/artifactHtml-CRdkOCnz.js +27 -0
  248. package/frontend/dist/js/bn-BWQoWPn6.js +2 -0
  249. package/frontend/dist/js/cs-DOD1vscE.js +2 -0
  250. package/frontend/dist/js/da-DYPzSzX4.js +2 -0
  251. package/frontend/dist/js/de-CHd4b2Xf.js +2 -0
  252. package/frontend/dist/js/demoMode-BhEpMVh5.js +1 -0
  253. package/frontend/dist/js/es-BmDO6uNe.js +2 -0
  254. package/frontend/dist/js/fr-DW24sUV7.js +2 -0
  255. package/frontend/dist/js/hi-BRDq_y1B.js +2 -0
  256. package/frontend/dist/js/id-I_F2nstV.js +2 -0
  257. package/frontend/dist/js/is-Boj7-J12.js +2 -0
  258. package/frontend/dist/js/it-CNeHl9Fh.js +2 -0
  259. package/frontend/dist/js/ja-DrVG6G8s.js +2 -0
  260. package/frontend/dist/js/ko-BtKRwlHW.js +2 -0
  261. package/frontend/dist/js/logger-1THq8-96.js +1 -0
  262. package/frontend/dist/js/markdown-core-CEpaJrKd.js +16 -0
  263. package/frontend/dist/js/markdown-math-DAmpvM9y.js +261 -0
  264. package/frontend/dist/js/ms-Dp9MigoU.js +2 -0
  265. package/frontend/dist/js/nl-Bk9pGoCF.js +2 -0
  266. package/frontend/dist/js/pl-seE8_lLS.js +2 -0
  267. package/frontend/dist/js/pt-BAeBtldI.js +2 -0
  268. package/frontend/dist/js/{react-vendor-BUzyfgnZ.js → react-vendor-DtQrJICq.js} +4 -4
  269. package/frontend/dist/js/rolldown-runtime-QTnfLwEv.js +1 -0
  270. package/frontend/dist/js/ru-CkCpWFNb.js +2 -0
  271. package/frontend/dist/js/sv-BM7nqxmA.js +2 -0
  272. package/frontend/dist/js/syntax-highlight-B758xPeo.js +8 -0
  273. package/frontend/dist/js/th-vDIZbpa4.js +2 -0
  274. package/frontend/dist/js/tr-G2-XodhW.js +2 -0
  275. package/frontend/dist/js/ui-vendor-MCs1MDmN.js +177 -0
  276. package/frontend/dist/js/uk-DfVfZcBQ.js +2 -0
  277. package/frontend/dist/js/useBaseQuery-CrdrLcmR.js +1 -0
  278. package/frontend/dist/js/useQuery-DaEnYfWR.js +1 -0
  279. package/frontend/dist/js/utils-es0n-47H.js +1 -0
  280. package/frontend/dist/js/utils-vendor-B2ZBL57Y.js +9 -0
  281. package/frontend/dist/js/vi-Yp9yjb06.js +2 -0
  282. package/frontend/dist/js/zh-DtRb97we.js +2 -0
  283. package/package.json +16 -10
  284. package/plugins/llama-cpp.json +93 -0
  285. package/plugins/openclaw-agent.json +1 -1
  286. package/backend/dist/services/openclawSessionService.d.ts +0 -63
  287. package/backend/dist/services/openclawSessionService.d.ts.map +0 -1
  288. package/backend/dist/services/openclawSessionService.js +0 -307
  289. package/backend/dist/services/openclawSessionService.js.map +0 -1
  290. package/frontend/dist/assets/index-B1qNw5pA.js +0 -52
  291. package/frontend/dist/assets/index-DnG6512Q.css +0 -1
  292. package/frontend/dist/assets/ui-CsNe6lFV.css +0 -1
  293. package/frontend/dist/js/ArtifactContainer-Com7P5vK.js +0 -24
  294. package/frontend/dist/js/ArtifactDemoPage-Xd-Ragpf.js +0 -98
  295. package/frontend/dist/js/Button-D62PCbMW.js +0 -1
  296. package/frontend/dist/js/ChatPage-01JxVHRP.js +0 -15
  297. package/frontend/dist/js/GalleryPage-8nHGqKEu.js +0 -1
  298. package/frontend/dist/js/ModelsPage-C0MLVfwA.js +0 -1
  299. package/frontend/dist/js/OptimizedSyntaxHighlighter-DjnSqskO.js +0 -1
  300. package/frontend/dist/js/PersonasPage-D9YKnYz6.js +0 -13
  301. package/frontend/dist/js/UserManagementPage-b6NZdPTD.js +0 -1
  302. package/frontend/dist/js/api-B0pf9vdR.js +0 -1
  303. package/frontend/dist/js/api-BrzQvj_g.js +0 -3
  304. package/frontend/dist/js/appStore-k_e3JAM3.js +0 -2
  305. package/frontend/dist/js/authStore-BkobbhZS.js +0 -1
  306. package/frontend/dist/js/authStore-ge66S03D.js +0 -2
  307. package/frontend/dist/js/axios-CYrHjdt1.js +0 -1
  308. package/frontend/dist/js/demoMode-qyEGd_UM.js +0 -1
  309. package/frontend/dist/js/markdown-vendor-4lCPqxk5.js +0 -22
  310. package/frontend/dist/js/rolldown-runtime-DWy-cpC1.js +0 -1
  311. package/frontend/dist/js/ui-DuH1cD2f.js +0 -267
  312. package/frontend/dist/js/ui-vendor-BFOABH-A.js +0 -177
  313. package/frontend/dist/js/userService-BndgbS1C.js +0 -1
  314. package/frontend/dist/js/utils-vendor-MBozwMfr.js +0 -6
@@ -20,6 +20,8 @@ import preferencesService from './preferencesService.js';
20
20
  import { personaService } from './personaService.js';
21
21
  import { memoryService } from './memoryService.js';
22
22
  import { mutationEngineService } from './mutationEngineService.js';
23
+ import { createLogger } from '../utils/logger.js';
24
+ const logger = createLogger('chat-service');
23
25
  class ChatService {
24
26
  constructor() {
25
27
  this.sessions = new Map();
@@ -29,10 +31,10 @@ class ChatService {
29
31
  try {
30
32
  const sessionsArray = storageService.getAllSessions();
31
33
  this.sessions = new Map(sessionsArray.map(session => [session.id, session]));
32
- console.log(`Loaded ${sessionsArray.length} sessions from storage`);
34
+ logger.debug(`Loaded ${sessionsArray.length} sessions from storage`);
33
35
  }
34
36
  catch (error) {
35
- console.error('Failed to load sessions:', error);
37
+ logger.error('Failed to load sessions:', error);
36
38
  }
37
39
  }
38
40
  saveSessions() {
@@ -42,7 +44,6 @@ class ChatService {
42
44
  async createSession(model, title, userId = 'default', personaId) {
43
45
  const sessionId = uuidv4();
44
46
  const now = Date.now();
45
- console.log(`🚀 ChatService.createSession: sessionId=%s, userId=%s, model=%s, personaId=%s`, sessionId, userId, model, personaId);
46
47
  const session = {
47
48
  id: sessionId,
48
49
  title: title || 'New Chat',
@@ -54,28 +55,19 @@ class ChatService {
54
55
  };
55
56
  // Add system message - prioritize persona system prompt over global preferences
56
57
  let systemMessage = '';
57
- let systemMessageSource = 'none';
58
- console.log(`[DEBUG] createSession model: "${model}", starts with persona: ${model.startsWith('persona:')}`);
59
58
  // If model is a persona, try to get the persona's system prompt
60
59
  if (model.startsWith('persona:')) {
61
60
  try {
62
61
  const personaIdFromModel = model.replace('persona:', '');
63
- console.log(`[DEBUG] Extracting persona ID: "%s" for user: "%s"`, personaIdFromModel, userId);
64
62
  const { personaService } = await import('./personaService.js');
65
63
  // Get persona for the current user only (no fallback to maintain privacy)
66
64
  const persona = await personaService.getPersonaById(personaIdFromModel, userId);
67
- console.log(`[DEBUG] Persona lookup for user ${userId}:`, persona ? `Found: ${persona.name}` : 'Not found');
68
65
  if (persona && persona.parameters?.system_prompt) {
69
66
  systemMessage = persona.parameters.system_prompt.trim();
70
- systemMessageSource = `persona:${persona.name}`;
71
- console.log(`[DEBUG] Using persona system prompt from ${persona.name}: "${systemMessage.substring(0, 100)}..."`);
72
- }
73
- else {
74
- console.log(`[DEBUG] No system prompt found in persona or persona not found`);
75
67
  }
76
68
  }
77
69
  catch (error) {
78
- console.error(`❌ Error getting persona system prompt:`, error);
70
+ logger.error(`Error getting persona system prompt:`, error);
79
71
  }
80
72
  }
81
73
  // If no persona system prompt, fall back to global preferences
@@ -83,13 +75,10 @@ class ChatService {
83
75
  const globalSystemMessage = preferencesService.getSystemMessage(userId);
84
76
  if (globalSystemMessage && globalSystemMessage.trim()) {
85
77
  systemMessage = globalSystemMessage.trim();
86
- systemMessageSource = 'preferences';
87
- console.log(`[DEBUG] Using global system message: "${systemMessage.substring(0, 100)}..."`);
88
78
  }
89
79
  }
90
80
  // Add the system message if we have one
91
81
  if (systemMessage) {
92
- console.log(`✅ Adding system message to session: ${sessionId} (source: ${systemMessageSource})`);
93
82
  const systemMsg = {
94
83
  id: uuidv4(),
95
84
  role: 'system',
@@ -100,21 +89,16 @@ class ChatService {
100
89
  session.updatedAt = now;
101
90
  }
102
91
  this.sessions.set(sessionId, session);
103
- console.log(`📝 Session stored in cache: ${sessionId}`);
104
92
  // Save to storage with user ID
105
93
  storageService.saveSession(session, userId);
106
- console.log(`💾 Session saved to storage: ${sessionId} for user ${userId}`);
107
94
  return session;
108
95
  }
109
96
  getSession(sessionId, userId = 'default') {
110
- console.log(`🔍 ChatService.getSession: sessionId=${sessionId}, userId=${userId}`);
111
97
  // First try to get from memory cache
112
98
  let session = this.sessions.get(sessionId);
113
- console.log(`📝 Session in cache: ${session ? 'YES' : 'NO'}`);
114
99
  // If not in cache, try to load from storage (with user verification)
115
100
  if (!session) {
116
101
  session = storageService.getSession(sessionId, userId);
117
- console.log(`💾 Session in storage: ${session ? 'YES' : 'NO'}`);
118
102
  if (session) {
119
103
  this.sessions.set(sessionId, session);
120
104
  }
@@ -123,15 +107,12 @@ class ChatService {
123
107
  // If found in cache, we should still verify it belongs to this user
124
108
  // by checking the storage service (which has the user verification logic)
125
109
  const verifiedSession = storageService.getSession(sessionId, userId);
126
- console.log(`✅ Session verification: ${verifiedSession ? 'PASSED' : 'FAILED'}`);
127
110
  if (!verifiedSession) {
128
111
  // Session doesn't belong to this user, remove from cache and return undefined
129
- console.log(`❌ Removing session ${sessionId} from cache - verification failed`);
130
112
  this.sessions.delete(sessionId);
131
113
  return undefined;
132
114
  }
133
115
  }
134
- console.log(`🎯 Returning session: ${session ? session.id : 'undefined'}`);
135
116
  return session;
136
117
  }
137
118
  getAllSessions(userId = 'default') {
@@ -156,10 +137,8 @@ class ChatService {
156
137
  };
157
138
  // If the model is being updated and it's a persona, update the system message and personaId
158
139
  if (updates.model && updates.model !== session.model) {
159
- console.log(`[DEBUG] updateSession: Model changed from "${session.model}" to "${updates.model}"`);
160
140
  if (updates.model.startsWith('persona:')) {
161
141
  const personaId = updates.model.replace('persona:', '');
162
- console.log(`[DEBUG] updateSession: Extracting persona ID: %s`, personaId);
163
142
  // Update personaId
164
143
  updatedSession.personaId = personaId;
165
144
  // Update system message with persona's system prompt
@@ -176,19 +155,15 @@ class ChatService {
176
155
  return updatedSession;
177
156
  }
178
157
  addMessage(sessionId, message, userId = 'default') {
179
- console.log(`[addMessage] Called with sessionId=${sessionId}, role=${message.role}, id=${message.id}, userId=${userId}`);
180
158
  // First verify the session belongs to the user
181
159
  const session = this.getSession(sessionId, userId);
182
160
  if (!session) {
183
- console.log(`[addMessage] Session not found: ${sessionId}`);
184
161
  return undefined;
185
162
  }
186
- console.log(`[addMessage] Session found with ${session.messages.length} messages`);
187
163
  const messageId = message.id || uuidv4();
188
164
  // Check if message with this ID already exists to prevent duplicates
189
165
  const existingMessage = session.messages.find(msg => msg.id === messageId);
190
166
  if (existingMessage) {
191
- console.log(`[addMessage] Message with ID already exists, skipping duplicate: ${messageId}, existing content length: ${existingMessage.content.length}`);
192
167
  return existingMessage;
193
168
  }
194
169
  const newMessage = {
@@ -216,44 +191,29 @@ class ChatService {
216
191
  session.messages.push(newMessage);
217
192
  session.updatedAt = Date.now();
218
193
  // Process advanced persona features if applicable
219
- console.log(`[DEBUG] addMessage: Checking advanced processing - personaId: ${session.personaId}, messageRole: ${message.role}, content length: ${message.content.length}`);
220
194
  if (session.personaId) {
221
- console.log(`[DEBUG] addMessage: PersonaId exists, processing message role: ${message.role}`);
222
195
  if (message.role === 'user') {
223
- console.log(`[DEBUG] addMessage: Starting advanced user interaction processing for persona ${session.personaId}`);
224
- this.processAdvancedPersonaInteraction(session.personaId, userId, message.content, session).catch((error) => console.error('Advanced persona processing error:', error));
196
+ this.processAdvancedPersonaInteraction(session.personaId, userId, message.content, session).catch((error) => logger.error('Advanced persona processing error:', error));
225
197
  }
226
198
  else if (message.role === 'assistant') {
227
- console.log(`[DEBUG] addMessage: Starting advanced assistant response processing for persona ${session.personaId}`);
228
- this.processAdvancedPersonaResponse(session.personaId, userId, message.content).catch((error) => console.error('Advanced persona response processing error:', error));
199
+ this.processAdvancedPersonaResponse(session.personaId, userId, message.content).catch((error) => logger.error('Advanced persona response processing error:', error));
229
200
  }
230
201
  }
231
- else {
232
- console.log(`[DEBUG] addMessage: No personaId found, skipping advanced processing`);
233
- }
234
- // Auto-generate title from first user message
235
- const userMessages = session.messages.filter(msg => msg.role === 'user');
236
- if (userMessages.length === 1 &&
237
- message.role === 'user' &&
238
- session.title === 'New Chat') {
239
- session.title = this.generateTitle(message.content);
240
- }
241
202
  this.sessions.set(sessionId, session);
242
203
  storageService.saveSession(session, userId);
243
- console.log(`[addMessage] Message saved successfully: ${newMessage.id}, session now has ${session.messages.length} messages`);
244
204
  return newMessage;
245
205
  }
246
206
  updateMessage(sessionId, messageId, updates, userId = 'default') {
247
207
  // First verify the session belongs to the user
248
208
  const session = this.getSession(sessionId, userId);
249
209
  if (!session) {
250
- console.error('Session not found or access denied:', sessionId, userId);
210
+ logger.error('Session not found or access denied:', sessionId, userId);
251
211
  return undefined;
252
212
  }
253
213
  // Find the message to update
254
214
  const messageIndex = session.messages.findIndex(msg => msg.id === messageId);
255
215
  if (messageIndex === -1) {
256
- console.error('Message not found:', messageId);
216
+ logger.error('Message not found:', messageId);
257
217
  return undefined;
258
218
  }
259
219
  // Update the message
@@ -267,7 +227,6 @@ class ChatService {
267
227
  // Save updated session
268
228
  this.sessions.set(sessionId, session);
269
229
  storageService.saveSession(session, userId);
270
- console.log(`✅ Updated message ${messageId} in session ${sessionId}`);
271
230
  return updatedMessage;
272
231
  }
273
232
  deleteSession(sessionId, userId = 'default') {
@@ -293,15 +252,6 @@ class ChatService {
293
252
  storageService.deleteSession(session.id, userId);
294
253
  });
295
254
  }
296
- generateTitle(content) {
297
- // Generate a concise title from the first message
298
- const words = content.trim().split(/\s+/).slice(0, 6);
299
- let title = words.join(' ');
300
- if (title.length > 50) {
301
- title = title.substring(0, 47) + '...';
302
- }
303
- return title || 'New Chat';
304
- }
305
255
  getMessagesForContext(sessionId, maxMessages = 10) {
306
256
  const session = this.sessions.get(sessionId);
307
257
  if (!session)
@@ -314,42 +264,30 @@ class ChatService {
314
264
  const recentConversation = conversationMessages.slice(-maxMessages);
315
265
  // Return system messages first, then conversation messages
316
266
  const contextMessages = [...systemMessages, ...recentConversation];
317
- // Debug: Log the system messages being sent
318
- if (systemMessages.length > 0) {
319
- console.log(`🎯 [DEBUG] Context for session ${sessionId}:`);
320
- systemMessages.forEach((msg, index) => {
321
- console.log(` System message ${index + 1}: "${msg.content.substring(0, 100)}${msg.content.length > 100 ? '...' : ''}"`);
322
- });
323
- }
324
267
  return contextMessages;
325
268
  }
326
269
  async updateSystemMessageForPersona(session, personaId, userId) {
327
270
  try {
328
- console.log(`[DEBUG] updateSystemMessageForPersona: Starting for persona %s, user %s`, personaId, userId);
329
271
  // Get persona for the current user only (no fallback to maintain privacy)
330
272
  const persona = await personaService.getPersonaById(personaId, userId);
331
273
  if (persona && persona.parameters?.system_prompt) {
332
274
  const newSystemMessage = persona.parameters.system_prompt.trim();
333
- console.log(`[DEBUG] updateSystemMessageForPersona: Found persona system prompt: "${newSystemMessage.substring(0, 100)}..."`);
334
275
  // Update or replace the system message
335
276
  this.replaceSystemMessage(session, newSystemMessage);
336
- console.log(`[DEBUG] updateSystemMessageForPersona: Successfully updated system message for session ${session.id}`);
337
277
  }
338
278
  else {
339
- console.log(`[DEBUG] updateSystemMessageForPersona: No system prompt found for persona %s, using default`, personaId);
340
279
  // Fallback to default system message
341
280
  this.updateSystemMessageToDefault(session, userId);
342
281
  }
343
282
  }
344
283
  catch (error) {
345
- console.error(`[ERROR] updateSystemMessageForPersona: Error getting persona %s:`, personaId, error);
284
+ logger.error(`updateSystemMessageForPersona: Error getting persona %s:`, personaId, error);
346
285
  // Fallback to default system message
347
286
  this.updateSystemMessageToDefault(session, userId);
348
287
  }
349
288
  }
350
289
  updateSystemMessageToDefault(session, userId) {
351
290
  const defaultSystemMessage = preferencesService.getSystemMessage(userId);
352
- console.log(`[DEBUG] updateSystemMessageToDefault: Using default system message: "${defaultSystemMessage.substring(0, 100)}..."`);
353
291
  this.replaceSystemMessage(session, defaultSystemMessage);
354
292
  }
355
293
  replaceSystemMessage(session, newSystemMessage) {
@@ -362,7 +300,6 @@ class ChatService {
362
300
  content: newSystemMessage,
363
301
  timestamp: Date.now(),
364
302
  };
365
- console.log(`[DEBUG] replaceSystemMessage: Updated existing system message`);
366
303
  }
367
304
  else {
368
305
  // Add new system message at the beginning
@@ -373,7 +310,6 @@ class ChatService {
373
310
  timestamp: Date.now(),
374
311
  };
375
312
  session.messages.unshift(systemMessage);
376
- console.log(`[DEBUG] replaceSystemMessage: Added new system message`);
377
313
  }
378
314
  }
379
315
  /**
@@ -381,48 +317,27 @@ class ChatService {
381
317
  */
382
318
  async processAdvancedPersonaInteraction(personaId, userId, userMessage, session) {
383
319
  try {
384
- console.log(`[ADVANCED-DEBUG] processAdvancedPersonaInteraction called - personaId: ${personaId}, userId: ${userId}`);
385
320
  // Check if persona has advanced features enabled for current user only (no fallback to maintain privacy)
386
321
  const persona = await personaService.getPersonaById(personaId, userId);
387
- console.log(`[ADVANCED-DEBUG] Persona lookup for user ${userId}:`, persona ? `Found: ${persona.name}` : 'Not found');
388
322
  if (!persona) {
389
- console.log(`[ADVANCED-DEBUG] No persona found for user, exiting`);
390
323
  return;
391
324
  }
392
325
  // Check if this persona has advanced features (memory or adaptive learning)
393
326
  const hasAdvancedFeatures = persona.embedding_model || persona.memory_settings;
394
- console.log(`[ADVANCED-DEBUG] Advanced features check:`, {
395
- embedding_model: persona.embedding_model,
396
- memory_settings: persona.memory_settings,
397
- hasAdvancedFeatures,
398
- });
399
327
  if (!hasAdvancedFeatures) {
400
- console.log(`[ADVANCED-DEBUG] No advanced features, exiting`);
401
328
  return;
402
329
  }
403
- console.log(`[ADVANCED] Processing interaction for persona ${persona.name} (${personaId})`);
404
330
  // Get advanced settings
405
- const embeddingModel = persona.embedding_model || 'nomic-embed-text';
406
- console.log(`[ADVANCED] Using embedding model: ${embeddingModel}`);
407
- console.log(`[ADVANCED] Advanced features enabled`);
331
+ const embeddingModel = persona.embedding_model ||
332
+ preferencesService.getDefaultEmbeddingModel(userId);
408
333
  // 1. Store the user message as a memory
409
- console.log(`[ADVANCED] Storing user message as memory...`);
410
334
  await memoryService.storeMemory(userId, personaId, userMessage, embeddingModel, undefined, // context
411
335
  0.7 // importance score
412
336
  );
413
- console.log(`[ADVANCED] ✅ User message stored successfully`);
414
337
  // 2. Search for relevant memories
415
- console.log(`[ADVANCED] Searching for relevant memories...`);
416
338
  const relevantMemories = await memoryService.searchMemories(userId, personaId, userMessage, embeddingModel, 5, // topK
417
339
  0.3 // similarity threshold
418
340
  );
419
- console.log(`[ADVANCED] Found ${relevantMemories.length} relevant memories`);
420
- if (relevantMemories.length > 0) {
421
- console.log(`[ADVANCED] Memory details:`, relevantMemories.map(m => ({
422
- content: m.entry.content.substring(0, 100) + '...',
423
- similarity: (m.similarity_score * 100).toFixed(1) + '%',
424
- })));
425
- }
426
341
  // 3. Process potential mutations based on the interaction
427
342
  if (relevantMemories.length > 0) {
428
343
  await mutationEngineService.processMutation(userMessage, persona, // Cast to Persona for mutation engine
@@ -434,7 +349,7 @@ class ChatService {
434
349
  }
435
350
  }
436
351
  catch (error) {
437
- console.error(`[ADVANCED] Error processing persona interaction:`, error);
352
+ logger.error(`Error processing persona interaction:`, error);
438
353
  }
439
354
  }
440
355
  /**
@@ -517,10 +432,9 @@ Guidelines:
517
432
  // Save the updated session
518
433
  this.sessions.set(session.id, session);
519
434
  storageService.saveSession(session, userId);
520
- console.log(`[ADVANCED] Updated system message with ${coreMemories.length} core + ${contextualMemories.length} contextual memories`);
521
435
  }
522
436
  catch (error) {
523
- console.error(`[ADVANCED] Error updating system message with memories:`, error);
437
+ logger.error(`Error updating system message with memories:`, error);
524
438
  }
525
439
  }
526
440
  /**
@@ -528,35 +442,25 @@ Guidelines:
528
442
  */
529
443
  async processAdvancedPersonaResponse(personaId, userId, assistantMessage) {
530
444
  try {
531
- console.log(`[ADVANCED-DEBUG] processAdvancedPersonaResponse called - personaId: ${personaId}, userId: ${userId}`);
532
445
  // Check if persona has advanced features enabled for current user only (no fallback to maintain privacy)
533
446
  const persona = await personaService.getPersonaById(personaId, userId);
534
- console.log(`[ADVANCED-DEBUG] Persona lookup for user ${userId}:`, persona ? `Found: ${persona.name}` : 'Not found');
535
447
  if (!persona) {
536
- console.log(`[ADVANCED-DEBUG] No persona found for user, exiting`);
537
448
  return;
538
449
  }
539
450
  const hasAdvancedFeatures = persona.embedding_model || persona.memory_settings;
540
- console.log(`[ADVANCED-DEBUG] Advanced detection check:`, {
541
- embedding_model: persona.embedding_model,
542
- memory_settings: persona.memory_settings,
543
- hasAdvancedFeatures,
544
- });
545
451
  if (!hasAdvancedFeatures) {
546
- console.log(`[ADVANCED-DEBUG] Not an advanced persona, exiting`);
547
452
  return;
548
453
  }
549
- console.log(`[ADVANCED] Storing assistant response as memory for persona ${persona.name}`);
550
454
  // Get advanced settings
551
- const embeddingModel = persona.embedding_model || 'nomic-embed-text';
455
+ const embeddingModel = persona.embedding_model ||
456
+ preferencesService.getDefaultEmbeddingModel(userId);
552
457
  // Store the assistant response as a memory for future context
553
458
  await memoryService.storeMemory(userId, personaId, `Assistant response: ${assistantMessage}`, embeddingModel, undefined, // context
554
459
  0.6 // slightly lower importance than user messages
555
460
  );
556
- console.log(`[ADVANCED] ✅ Assistant response stored successfully`);
557
461
  }
558
462
  catch (error) {
559
- console.error(`[ADVANCED] Error processing persona response:`, error);
463
+ logger.error(`Error processing persona response:`, error);
560
464
  }
561
465
  }
562
466
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chatService.js","sourceRoot":"","sources":["../../src/services/chatService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatService.js","sourceRoot":"","sources":["../../src/services/chatService.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"documentService.d.ts","sourceRoot":"","sources":["../../src/services/documentService.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAuCzC,cAAM,eAAe;IACnB,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,MAAM,CAA2C;;IAOzD,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,UAAU;IAKZ,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC;IA4EpB,OAAO,CAAC,aAAa;YAiFP,wBAAwB;YAqBxB,2BAA2B;IA0BnC,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BxC,qBAAqB,IAAI,OAAO,CAAC;QACrC,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,EAAE,MAAM,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAkBF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIrD,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE;IAQ5C,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE;IAItD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAarC,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,SAAI,GACR,OAAO,CAAC,aAAa,EAAE,CAAC;YAYb,uBAAuB;IA0DrC,OAAO,CAAC,sBAAsB;IAoDxB,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC;IAWpB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAiB1C;;AAED,wBAAqC"}
1
+ {"version":3,"file":"documentService.d.ts","sourceRoot":"","sources":["../../src/services/documentService.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AA0CzC,cAAM,eAAe;IACnB,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,MAAM,CAA2C;;IAOzD,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,UAAU;IAKZ,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC;IA4EpB,OAAO,CAAC,aAAa;YAiFP,wBAAwB;YAqBxB,2BAA2B;IA0BnC,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BxC,qBAAqB,IAAI,OAAO,CAAC;QACrC,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,EAAE,MAAM,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAkBF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIrD,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE;IAQ5C,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE;IAItD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAarC,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,SAAI,GACR,OAAO,CAAC,aAAa,EAAE,CAAC;YAYb,uBAAuB;IA0DrC,OAAO,CAAC,sBAAsB;IAoDxB,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC;IAWpB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAiB1C;;AAED,wBAAqC"}
@@ -16,8 +16,10 @@
16
16
  */
17
17
  import { v4 as uuidv4 } from 'uuid';
18
18
  import storageService from '../storage.js';
19
- import ollamaService from './ollamaService.js';
19
+ import embeddingService from './embeddingService.js';
20
20
  import preferencesService from './preferencesService.js';
21
+ import { createLogger } from '../utils/logger.js';
22
+ const logger = createLogger('documents');
21
23
  // Utility functions for vector operations
22
24
  const cosineSimilarity = (a, b) => {
23
25
  if (a.length !== b.length)
@@ -40,10 +42,10 @@ const getPdfjsLib = async () => {
40
42
  // Use the legacy build for Node.js compatibility
41
43
  const pdfjs = await import('pdfjs-dist/legacy/build/pdf.mjs');
42
44
  pdfjsLib = pdfjs;
43
- console.log('Successfully loaded pdfjs-dist legacy build');
45
+ logger.debug('Successfully loaded pdfjs-dist legacy build');
44
46
  }
45
47
  catch (error) {
46
- console.error('Failed to load pdfjs-dist legacy:', error);
48
+ logger.error('Failed to load pdfjs-dist legacy:', error);
47
49
  throw new Error('PDF parsing is not available');
48
50
  }
49
51
  }
@@ -60,10 +62,10 @@ class DocumentService {
60
62
  try {
61
63
  const documentsArray = storageService.getAllDocuments();
62
64
  this.documents = new Map(documentsArray.map(doc => [doc.id, doc]));
63
- console.log(`Loaded ${documentsArray.length} documents from storage`);
65
+ logger.debug(`Loaded ${documentsArray.length} documents from storage`);
64
66
  }
65
67
  catch (error) {
66
- console.error('Failed to load documents:', error);
68
+ logger.error('Failed to load documents:', error);
67
69
  }
68
70
  }
69
71
  loadChunks() {
@@ -76,10 +78,10 @@ class DocumentService {
76
78
  this.chunks.set(doc.id, chunks);
77
79
  }
78
80
  }
79
- console.log(`Loaded chunks for ${this.chunks.size} documents from storage`);
81
+ logger.debug(`Loaded chunks for ${this.chunks.size} documents from storage`);
80
82
  }
81
83
  catch (error) {
82
- console.error('Failed to load document chunks:', error);
84
+ logger.error('Failed to load document chunks:', error);
83
85
  }
84
86
  }
85
87
  saveDocuments() {
@@ -116,7 +118,7 @@ class DocumentService {
116
118
  fileType = 'pdf';
117
119
  }
118
120
  catch (pdfError) {
119
- console.error('PDF parsing error:', pdfError);
121
+ logger.error('PDF parsing error:', pdfError);
120
122
  throw new Error(`Failed to parse PDF: ${pdfError instanceof Error ? pdfError.message : 'Unknown PDF error'}`);
121
123
  }
122
124
  }
@@ -145,11 +147,11 @@ class DocumentService {
145
147
  this.chunks.set(documentId, chunksWithEmbeddings);
146
148
  storageService.saveDocument(document);
147
149
  storageService.saveDocumentChunks(documentId, chunksWithEmbeddings);
148
- console.log(`Processed ${fileType.toUpperCase()} document: ${fileName} (${chunksWithEmbeddings.length} chunks)`);
150
+ logger.debug(`Processed ${fileType.toUpperCase()} document: ${fileName} (${chunksWithEmbeddings.length} chunks)`);
149
151
  return document;
150
152
  }
151
153
  catch (error) {
152
- console.error('Error processing document:', error);
154
+ logger.error('Error processing document:', error);
153
155
  throw new Error(`Failed to process document: ${error instanceof Error ? error.message : 'Unknown error'}`);
154
156
  }
155
157
  }
@@ -226,14 +228,14 @@ class DocumentService {
226
228
  if (!preferences.embeddingSettings.enabled) {
227
229
  return null;
228
230
  }
229
- const response = await ollamaService.generateEmbeddings({
231
+ const response = await embeddingService.generateEmbeddings({
230
232
  model: preferences.embeddingSettings.model,
231
233
  input: text,
232
234
  });
233
235
  return response.embeddings[0] || null;
234
236
  }
235
237
  catch (error) {
236
- console.error('Failed to generate embedding:', error);
238
+ logger.error('Failed to generate embedding:', error);
237
239
  return null;
238
240
  }
239
241
  }
@@ -242,7 +244,7 @@ class DocumentService {
242
244
  if (!preferences.embeddingSettings.enabled) {
243
245
  return chunks;
244
246
  }
245
- console.log(`Generating embeddings for ${chunks.length} chunks...`);
247
+ logger.debug(`Generating embeddings for ${chunks.length} chunks...`);
246
248
  const chunksWithEmbeddings = [];
247
249
  for (const chunk of chunks) {
248
250
  const embedding = await this.generateEmbeddingForText(chunk.content);
@@ -251,17 +253,17 @@ class DocumentService {
251
253
  embedding: embedding || undefined,
252
254
  });
253
255
  }
254
- console.log(`Generated embeddings for ${chunksWithEmbeddings.filter(c => c.embedding).length} chunks`);
256
+ logger.debug(`Generated embeddings for ${chunksWithEmbeddings.filter(c => c.embedding).length} chunks`);
255
257
  return chunksWithEmbeddings;
256
258
  }
257
259
  // Method to regenerate embeddings for all existing documents
258
260
  async regenerateAllEmbeddings() {
259
261
  const preferences = preferencesService.getPreferences();
260
262
  if (!preferences.embeddingSettings.enabled) {
261
- console.log('Embeddings are disabled, skipping regeneration');
263
+ logger.debug('Embeddings are disabled, skipping regeneration');
262
264
  return;
263
265
  }
264
- console.log('Starting to regenerate embeddings for all documents...');
266
+ logger.debug('Starting to regenerate embeddings for all documents...');
265
267
  let processedChunks = 0;
266
268
  let totalChunks = 0;
267
269
  for (const [documentId, chunks] of this.chunks.entries()) {
@@ -271,7 +273,7 @@ class DocumentService {
271
273
  processedChunks += chunksWithEmbeddings.filter(c => c.embedding).length;
272
274
  }
273
275
  this.saveChunks();
274
- console.log(`Regenerated embeddings for ${processedChunks}/${totalChunks} chunks`);
276
+ logger.debug(`Regenerated embeddings for ${processedChunks}/${totalChunks} chunks`);
275
277
  }
276
278
  // Method to get embedding model information
277
279
  async getEmbeddingModelInfo() {
@@ -326,7 +328,7 @@ class DocumentService {
326
328
  // Generate embedding for the query
327
329
  const queryEmbedding = await this.generateEmbeddingForText(query);
328
330
  if (!queryEmbedding) {
329
- console.warn('Failed to generate query embedding, falling back to keyword search');
331
+ logger.warn('Failed to generate query embedding, falling back to keyword search');
330
332
  return this.keywordSearchDocuments(query, sessionId, limit);
331
333
  }
332
334
  const preferences = preferencesService.getPreferences();
@@ -358,7 +360,7 @@ class DocumentService {
358
360
  }));
359
361
  }
360
362
  catch (error) {
361
- console.error('Semantic search failed, falling back to keyword search:', error);
363
+ logger.error('Semantic search failed, falling back to keyword search:', error);
362
364
  return this.keywordSearchDocuments(query, sessionId, limit);
363
365
  }
364
366
  }
@@ -416,10 +418,10 @@ class DocumentService {
416
418
  // Save to storage
417
419
  storageService.saveDocument(document);
418
420
  // If there are any chunks with this document, they'll be handled separately
419
- console.log(`Restored document: ${document.filename} (${document.id})`);
421
+ logger.debug(`Restored document: ${document.filename} (${document.id})`);
420
422
  }
421
423
  catch (error) {
422
- console.error('Error restoring document:', error);
424
+ logger.error('Error restoring document:', error);
423
425
  throw new Error(`Failed to restore document: ${error instanceof Error ? error.message : 'Unknown error'}`);
424
426
  }
425
427
  }