libre-webui 0.2.4

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 (233) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +204 -0
  3. package/backend/dist/db.d.ts +19 -0
  4. package/backend/dist/db.d.ts.map +1 -0
  5. package/backend/dist/db.js +355 -0
  6. package/backend/dist/db.js.map +1 -0
  7. package/backend/dist/env.d.ts +2 -0
  8. package/backend/dist/env.d.ts.map +1 -0
  9. package/backend/dist/env.js +22 -0
  10. package/backend/dist/env.js.map +1 -0
  11. package/backend/dist/index.d.ts +4 -0
  12. package/backend/dist/index.d.ts.map +1 -0
  13. package/backend/dist/index.js +751 -0
  14. package/backend/dist/index.js.map +1 -0
  15. package/backend/dist/middleware/auth.d.ts +18 -0
  16. package/backend/dist/middleware/auth.d.ts.map +1 -0
  17. package/backend/dist/middleware/auth.js +98 -0
  18. package/backend/dist/middleware/auth.js.map +1 -0
  19. package/backend/dist/middleware/index.d.ts +5 -0
  20. package/backend/dist/middleware/index.d.ts.map +1 -0
  21. package/backend/dist/middleware/index.js +62 -0
  22. package/backend/dist/middleware/index.js.map +1 -0
  23. package/backend/dist/models/personaModel.d.ts +37 -0
  24. package/backend/dist/models/personaModel.d.ts.map +1 -0
  25. package/backend/dist/models/personaModel.js +269 -0
  26. package/backend/dist/models/personaModel.js.map +1 -0
  27. package/backend/dist/models/userModel.d.ts +86 -0
  28. package/backend/dist/models/userModel.d.ts.map +1 -0
  29. package/backend/dist/models/userModel.js +212 -0
  30. package/backend/dist/models/userModel.js.map +1 -0
  31. package/backend/dist/routes/auth.d.ts +3 -0
  32. package/backend/dist/routes/auth.d.ts.map +1 -0
  33. package/backend/dist/routes/auth.js +389 -0
  34. package/backend/dist/routes/auth.js.map +1 -0
  35. package/backend/dist/routes/chat.d.ts +3 -0
  36. package/backend/dist/routes/chat.d.ts.map +1 -0
  37. package/backend/dist/routes/chat.js +767 -0
  38. package/backend/dist/routes/chat.js.map +1 -0
  39. package/backend/dist/routes/documents.d.ts +3 -0
  40. package/backend/dist/routes/documents.d.ts.map +1 -0
  41. package/backend/dist/routes/documents.js +244 -0
  42. package/backend/dist/routes/documents.js.map +1 -0
  43. package/backend/dist/routes/ollama.d.ts +3 -0
  44. package/backend/dist/routes/ollama.d.ts.map +1 -0
  45. package/backend/dist/routes/ollama.js +549 -0
  46. package/backend/dist/routes/ollama.js.map +1 -0
  47. package/backend/dist/routes/personas.d.ts +3 -0
  48. package/backend/dist/routes/personas.d.ts.map +1 -0
  49. package/backend/dist/routes/personas.js +505 -0
  50. package/backend/dist/routes/personas.js.map +1 -0
  51. package/backend/dist/routes/plugins.d.ts +3 -0
  52. package/backend/dist/routes/plugins.d.ts.map +1 -0
  53. package/backend/dist/routes/plugins.js +417 -0
  54. package/backend/dist/routes/plugins.js.map +1 -0
  55. package/backend/dist/routes/preferences.d.ts +3 -0
  56. package/backend/dist/routes/preferences.d.ts.map +1 -0
  57. package/backend/dist/routes/preferences.js +303 -0
  58. package/backend/dist/routes/preferences.js.map +1 -0
  59. package/backend/dist/routes/tts.d.ts +3 -0
  60. package/backend/dist/routes/tts.d.ts.map +1 -0
  61. package/backend/dist/routes/tts.js +304 -0
  62. package/backend/dist/routes/tts.js.map +1 -0
  63. package/backend/dist/routes/users.d.ts +3 -0
  64. package/backend/dist/routes/users.d.ts.map +1 -0
  65. package/backend/dist/routes/users.js +246 -0
  66. package/backend/dist/routes/users.js.map +1 -0
  67. package/backend/dist/services/authService.d.ts +51 -0
  68. package/backend/dist/services/authService.d.ts.map +1 -0
  69. package/backend/dist/services/authService.js +153 -0
  70. package/backend/dist/services/authService.js.map +1 -0
  71. package/backend/dist/services/chatService.d.ts +52 -0
  72. package/backend/dist/services/chatService.d.ts.map +1 -0
  73. package/backend/dist/services/chatService.js +645 -0
  74. package/backend/dist/services/chatService.js.map +1 -0
  75. package/backend/dist/services/documentService.d.ts +34 -0
  76. package/backend/dist/services/documentService.d.ts.map +1 -0
  77. package/backend/dist/services/documentService.js +428 -0
  78. package/backend/dist/services/documentService.js.map +1 -0
  79. package/backend/dist/services/encryptionService.d.ts +62 -0
  80. package/backend/dist/services/encryptionService.d.ts.map +1 -0
  81. package/backend/dist/services/encryptionService.js +284 -0
  82. package/backend/dist/services/encryptionService.js.map +1 -0
  83. package/backend/dist/services/memoryService.d.ts +140 -0
  84. package/backend/dist/services/memoryService.d.ts.map +1 -0
  85. package/backend/dist/services/memoryService.js +867 -0
  86. package/backend/dist/services/memoryService.js.map +1 -0
  87. package/backend/dist/services/mutationEngineService.d.ts +49 -0
  88. package/backend/dist/services/mutationEngineService.d.ts.map +1 -0
  89. package/backend/dist/services/mutationEngineService.js +432 -0
  90. package/backend/dist/services/mutationEngineService.js.map +1 -0
  91. package/backend/dist/services/ollamaService.d.ts +55 -0
  92. package/backend/dist/services/ollamaService.d.ts.map +1 -0
  93. package/backend/dist/services/ollamaService.js +450 -0
  94. package/backend/dist/services/ollamaService.js.map +1 -0
  95. package/backend/dist/services/personaService.d.ts +67 -0
  96. package/backend/dist/services/personaService.d.ts.map +1 -0
  97. package/backend/dist/services/personaService.js +373 -0
  98. package/backend/dist/services/personaService.js.map +1 -0
  99. package/backend/dist/services/pluginService.d.ts +42 -0
  100. package/backend/dist/services/pluginService.d.ts.map +1 -0
  101. package/backend/dist/services/pluginService.js +961 -0
  102. package/backend/dist/services/pluginService.js.map +1 -0
  103. package/backend/dist/services/preferencesService.d.ts +35 -0
  104. package/backend/dist/services/preferencesService.d.ts.map +1 -0
  105. package/backend/dist/services/preferencesService.js +255 -0
  106. package/backend/dist/services/preferencesService.js.map +1 -0
  107. package/backend/dist/services/simpleGitHubOAuth.d.ts +48 -0
  108. package/backend/dist/services/simpleGitHubOAuth.d.ts.map +1 -0
  109. package/backend/dist/services/simpleGitHubOAuth.js +203 -0
  110. package/backend/dist/services/simpleGitHubOAuth.js.map +1 -0
  111. package/backend/dist/services/simpleHuggingFaceOAuth.d.ts +43 -0
  112. package/backend/dist/services/simpleHuggingFaceOAuth.d.ts.map +1 -0
  113. package/backend/dist/services/simpleHuggingFaceOAuth.js +159 -0
  114. package/backend/dist/services/simpleHuggingFaceOAuth.js.map +1 -0
  115. package/backend/dist/services/userService.d.ts +1 -0
  116. package/backend/dist/services/userService.d.ts.map +1 -0
  117. package/backend/dist/services/userService.js +18 -0
  118. package/backend/dist/services/userService.js.map +1 -0
  119. package/backend/dist/storage.d.ts +55 -0
  120. package/backend/dist/storage.d.ts.map +1 -0
  121. package/backend/dist/storage.js +741 -0
  122. package/backend/dist/storage.js.map +1 -0
  123. package/backend/dist/test-encryption.d.ts +2 -0
  124. package/backend/dist/test-encryption.d.ts.map +1 -0
  125. package/backend/dist/test-encryption.js +64 -0
  126. package/backend/dist/test-encryption.js.map +1 -0
  127. package/backend/dist/types/index.d.ts +523 -0
  128. package/backend/dist/types/index.d.ts.map +1 -0
  129. package/backend/dist/types/index.js +31 -0
  130. package/backend/dist/types/index.js.map +1 -0
  131. package/backend/dist/utils/generationUtils.d.ts +10 -0
  132. package/backend/dist/utils/generationUtils.d.ts.map +1 -0
  133. package/backend/dist/utils/generationUtils.js +49 -0
  134. package/backend/dist/utils/generationUtils.js.map +1 -0
  135. package/backend/dist/utils/hash.d.ts +29 -0
  136. package/backend/dist/utils/hash.d.ts.map +1 -0
  137. package/backend/dist/utils/hash.js +73 -0
  138. package/backend/dist/utils/hash.js.map +1 -0
  139. package/backend/dist/utils/jwt.d.ts +37 -0
  140. package/backend/dist/utils/jwt.d.ts.map +1 -0
  141. package/backend/dist/utils/jwt.js +86 -0
  142. package/backend/dist/utils/jwt.js.map +1 -0
  143. package/bin/cli.js +150 -0
  144. package/electron/main.js +322 -0
  145. package/frontend/dist/_redirects +1 -0
  146. package/frontend/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  147. package/frontend/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  148. package/frontend/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  149. package/frontend/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  150. package/frontend/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  151. package/frontend/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  152. package/frontend/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  153. package/frontend/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  154. package/frontend/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  155. package/frontend/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  156. package/frontend/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  157. package/frontend/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  158. package/frontend/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  159. package/frontend/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  160. package/frontend/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  161. package/frontend/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  162. package/frontend/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  163. package/frontend/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  164. package/frontend/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  165. package/frontend/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  166. package/frontend/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  167. package/frontend/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  168. package/frontend/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  169. package/frontend/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  170. package/frontend/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  171. package/frontend/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  172. package/frontend/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  173. package/frontend/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  174. package/frontend/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  175. package/frontend/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  176. package/frontend/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  177. package/frontend/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  178. package/frontend/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  179. package/frontend/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  180. package/frontend/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  181. package/frontend/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  182. package/frontend/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  183. package/frontend/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  184. package/frontend/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  185. package/frontend/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  186. package/frontend/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  187. package/frontend/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  188. package/frontend/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  189. package/frontend/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  190. package/frontend/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  191. package/frontend/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  192. package/frontend/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  193. package/frontend/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  194. package/frontend/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  195. package/frontend/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  196. package/frontend/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  197. package/frontend/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  198. package/frontend/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  199. package/frontend/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  200. package/frontend/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  201. package/frontend/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  202. package/frontend/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  203. package/frontend/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  204. package/frontend/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  205. package/frontend/dist/assets/index-CRQkB7Wz.js +3 -0
  206. package/frontend/dist/css/index-B1OjddR-.css +1 -0
  207. package/frontend/dist/favicon-dark.png +0 -0
  208. package/frontend/dist/favicon-light.png +0 -0
  209. package/frontend/dist/index.html +23 -0
  210. package/frontend/dist/js/ArtifactContainer-c_oi7XMs.js +23 -0
  211. package/frontend/dist/js/ArtifactDemoPage-CdfwJVXu.js +98 -0
  212. package/frontend/dist/js/ChatPage-CyotkmS0.js +281 -0
  213. package/frontend/dist/js/ModelsPage-DNaziPHc.js +2 -0
  214. package/frontend/dist/js/PersonasPage-DcnbJf8Q.js +13 -0
  215. package/frontend/dist/js/UserManagementPage-DtTf92dS.js +1 -0
  216. package/frontend/dist/js/markdown-vendor-D-79K2xZ.js +22 -0
  217. package/frontend/dist/js/react-vendor-N--QU9DW.js +8 -0
  218. package/frontend/dist/js/router-vendor-B-t91v39.js +3 -0
  219. package/frontend/dist/js/ui-vendor-VxSCY_bv.js +177 -0
  220. package/frontend/dist/js/utils-vendor-DNzxLBGx.js +6 -0
  221. package/frontend/dist/logo-dark.png +0 -0
  222. package/frontend/dist/logo-light.png +0 -0
  223. package/frontend/dist/logo.svg +14 -0
  224. package/package.json +128 -0
  225. package/plugins/anthropic.json +25 -0
  226. package/plugins/elevenlabs.json +58 -0
  227. package/plugins/gemini.json +57 -0
  228. package/plugins/github.json +23 -0
  229. package/plugins/groq.json +25 -0
  230. package/plugins/mistral.json +73 -0
  231. package/plugins/openai-tts.json +38 -0
  232. package/plugins/openai.json +132 -0
  233. package/plugins/openrouter.json +353 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoryService.js","sourceRoot":"","sources":["../../src/services/memoryService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { PersonaState, MutationEngineResult, MemorySearchResult, Persona } from '../types/index.js';
2
+ export declare class MutationEngineService {
3
+ private db;
4
+ constructor();
5
+ /**
6
+ * Ensure database is available
7
+ */
8
+ private ensureDatabase;
9
+ private initializeTables;
10
+ /**
11
+ * Initialize persona state if not exists
12
+ */
13
+ initializePersonaState(personaId: string, userId: string): Promise<PersonaState>;
14
+ /**
15
+ * Get persona state
16
+ */
17
+ getPersonaState(personaId: string, userId: string): Promise<PersonaState | null>;
18
+ /**
19
+ * Save persona state
20
+ */
21
+ savePersonaState(state: PersonaState): Promise<void>;
22
+ /**
23
+ * Main mutation engine - analyzes input and memories to generate state changes
24
+ */
25
+ processMutation(userInput: string, persona: Persona, userId: string, relevantMemories: MemorySearchResult[]): Promise<MutationEngineResult>;
26
+ /**
27
+ * Apply mutation results to persona state
28
+ */
29
+ applyMutations(personaId: string, userId: string, mutationResult: MutationEngineResult): Promise<PersonaState>;
30
+ private analyzeSentiment;
31
+ private extractIntent;
32
+ private extractTopics;
33
+ private shouldAdjustMood;
34
+ private calculateMoodAdjustment;
35
+ private extractPreferences;
36
+ private updateInteractionPatterns;
37
+ private shouldCreateMemory;
38
+ private calculateImportance;
39
+ /**
40
+ * Clean up old mutation logs
41
+ */
42
+ cleanupOldMutations(personaId: string, userId: string, retentionDays: number): Promise<void>;
43
+ /**
44
+ * Reset persona state
45
+ */
46
+ resetPersonaState(personaId: string, userId: string): Promise<void>;
47
+ }
48
+ export declare const mutationEngineService: MutationEngineService;
49
+ //# sourceMappingURL=mutationEngineService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationEngineService.d.ts","sourceRoot":"","sources":["../../src/services/mutationEngineService.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,OAAO,EACR,MAAM,mBAAmB,CAAC;AAG3B,qBAAa,qBAAqB;IAChC,OAAO,CAAC,EAAE,CAAqB;;IAM/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC;IAuCxB;;OAEG;IACG,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAiC/B;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB1D;;OAEG;IACG,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,kBAAkB,EAAE,GACrC,OAAO,CAAC,oBAAoB,CAAC;IA4HhC;;OAEG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,oBAAoB,GACnC,OAAO,CAAC,YAAY,CAAC;IA4DxB,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,yBAAyB;IAmBjC,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAahB;;OAEG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS1E;AAED,eAAO,MAAM,qBAAqB,uBAA8B,CAAC"}
@@ -0,0 +1,432 @@
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 { getDatabaseSafe } from '../db.js';
18
+ import { memoryService } from './memoryService.js';
19
+ import { v4 as uuidv4 } from 'uuid';
20
+ export class MutationEngineService {
21
+ constructor() {
22
+ this.db = getDatabaseSafe();
23
+ this.initializeTables();
24
+ }
25
+ /**
26
+ * Ensure database is available
27
+ */
28
+ ensureDatabase() {
29
+ if (!this.db) {
30
+ throw new Error('Database not available');
31
+ }
32
+ return this.db;
33
+ }
34
+ initializeTables() {
35
+ if (!this.db) {
36
+ console.warn('MutationEngineService: Database not available, skipping table initialization');
37
+ return;
38
+ }
39
+ // Persona states table
40
+ this.db.exec(`
41
+ CREATE TABLE IF NOT EXISTS persona_states (
42
+ persona_id TEXT PRIMARY KEY,
43
+ user_id TEXT NOT NULL,
44
+ runtime_state TEXT NOT NULL, -- JSON
45
+ mutation_log TEXT NOT NULL, -- JSON array
46
+ last_updated INTEGER NOT NULL,
47
+ version INTEGER NOT NULL DEFAULT 1,
48
+ FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
49
+ FOREIGN KEY (persona_id) REFERENCES personas(id) ON DELETE CASCADE
50
+ )
51
+ `);
52
+ // Create indexes
53
+ this.db.exec(`
54
+ CREATE INDEX IF NOT EXISTS idx_persona_states_user ON persona_states(user_id);
55
+ CREATE INDEX IF NOT EXISTS idx_persona_states_updated ON persona_states(last_updated);
56
+ `);
57
+ }
58
+ /**
59
+ * Initialize persona state if not exists
60
+ */
61
+ async initializePersonaState(personaId, userId) {
62
+ const existing = await this.getPersonaState(personaId, userId);
63
+ if (existing) {
64
+ return existing;
65
+ }
66
+ const state = {
67
+ persona_id: personaId,
68
+ user_id: userId,
69
+ runtime_state: {
70
+ mood: 'neutral',
71
+ energy_level: 0.5,
72
+ conversation_context: {},
73
+ learned_preferences: {},
74
+ interaction_patterns: {},
75
+ },
76
+ mutation_log: [],
77
+ last_updated: Date.now(),
78
+ version: 1,
79
+ };
80
+ const db = this.ensureDatabase();
81
+ const stmt = db.prepare(`
82
+ INSERT INTO persona_states (persona_id, user_id, runtime_state, mutation_log, last_updated, version)
83
+ VALUES (?, ?, ?, ?, ?, ?)
84
+ `);
85
+ stmt.run(personaId, userId, JSON.stringify(state.runtime_state), JSON.stringify(state.mutation_log), state.last_updated, state.version);
86
+ return state;
87
+ }
88
+ /**
89
+ * Get persona state
90
+ */
91
+ async getPersonaState(personaId, userId) {
92
+ const db = this.ensureDatabase();
93
+ const stmt = db.prepare(`
94
+ SELECT persona_id, user_id, runtime_state, mutation_log, last_updated, version
95
+ FROM persona_states
96
+ WHERE persona_id = ? AND user_id = ?
97
+ `);
98
+ const row = stmt.get(personaId, userId);
99
+ if (!row) {
100
+ return null;
101
+ }
102
+ return {
103
+ persona_id: row.persona_id,
104
+ user_id: row.user_id,
105
+ runtime_state: JSON.parse(row.runtime_state),
106
+ mutation_log: JSON.parse(row.mutation_log),
107
+ last_updated: row.last_updated,
108
+ version: row.version,
109
+ };
110
+ }
111
+ /**
112
+ * Save persona state
113
+ */
114
+ async savePersonaState(state) {
115
+ const db = this.ensureDatabase();
116
+ const stmt = db.prepare(`
117
+ INSERT OR REPLACE INTO persona_states (persona_id, user_id, runtime_state, mutation_log, last_updated, version)
118
+ VALUES (?, ?, ?, ?, ?, ?)
119
+ `);
120
+ stmt.run(state.persona_id, state.user_id, JSON.stringify(state.runtime_state), JSON.stringify(state.mutation_log), state.last_updated, state.version);
121
+ }
122
+ /**
123
+ * Main mutation engine - analyzes input and memories to generate state changes
124
+ */
125
+ async processMutation(userInput, persona, userId, relevantMemories) {
126
+ const result = {
127
+ state_deltas: {},
128
+ new_memories: [],
129
+ updated_memories: [],
130
+ mutations: [],
131
+ };
132
+ // Get or initialize persona state
133
+ let state = await this.getPersonaState(persona.id, userId);
134
+ if (!state) {
135
+ state = await this.initializePersonaState(persona.id, userId);
136
+ }
137
+ // Analyze user input for sentiment and intent
138
+ const sentiment = this.analyzeSentiment(userInput);
139
+ const intent = this.extractIntent(userInput);
140
+ const topics = this.extractTopics(userInput);
141
+ // Process different types of mutations based on sensitivity
142
+ const sensitivity = persona.mutation_settings?.sensitivity || 'medium';
143
+ // 1. Mood adjustment based on conversation
144
+ if (this.shouldAdjustMood(userInput, sentiment, sensitivity)) {
145
+ const moodDelta = this.calculateMoodAdjustment(sentiment, state.runtime_state.mood);
146
+ result.state_deltas.mood = moodDelta;
147
+ result.mutations.push({
148
+ type: 'state_change',
149
+ description: `Mood adjusted to ${moodDelta} based on user sentiment`,
150
+ changes: { mood: moodDelta },
151
+ triggered_by: userInput.substring(0, 50) + '...',
152
+ });
153
+ }
154
+ // 2. Learn user preferences
155
+ const preferences = this.extractPreferences(userInput, relevantMemories);
156
+ if (preferences && Object.keys(preferences).length > 0) {
157
+ result.state_deltas.learned_preferences = {
158
+ ...(state.runtime_state.learned_preferences || {}),
159
+ ...preferences,
160
+ };
161
+ result.mutations.push({
162
+ type: 'state_change',
163
+ description: `Learned new user preferences: ${Object.keys(preferences).join(', ')}`,
164
+ changes: { learned_preferences: preferences },
165
+ triggered_by: userInput.substring(0, 50) + '...',
166
+ });
167
+ }
168
+ // 3. Update interaction patterns
169
+ const patterns = this.updateInteractionPatterns(userInput, state.runtime_state.interaction_patterns ||
170
+ {});
171
+ if (patterns) {
172
+ result.state_deltas.interaction_patterns = patterns;
173
+ result.mutations.push({
174
+ type: 'state_change',
175
+ description: 'Updated interaction patterns based on conversation style',
176
+ changes: { interaction_patterns: patterns },
177
+ triggered_by: userInput.substring(0, 50) + '...',
178
+ });
179
+ }
180
+ // 4. Create new memories from significant interactions
181
+ if (this.shouldCreateMemory(userInput, relevantMemories, sensitivity)) {
182
+ const importance = this.calculateImportance(userInput, intent, topics);
183
+ result.new_memories.push({
184
+ user_id: userId,
185
+ persona_id: persona.id,
186
+ content: userInput,
187
+ context: `Intent: ${intent}, Topics: ${topics.join(', ')}, Sentiment: ${sentiment}`,
188
+ importance_score: importance,
189
+ });
190
+ result.mutations.push({
191
+ type: 'memory_add',
192
+ description: `Created new memory with importance ${importance.toFixed(2)}`,
193
+ changes: { memory_content: userInput, importance },
194
+ triggered_by: userInput.substring(0, 50) + '...',
195
+ });
196
+ }
197
+ // 5. Update existing memories if they become more relevant
198
+ for (const memoryResult of relevantMemories.slice(0, 3)) {
199
+ // Top 3 most relevant
200
+ if (memoryResult.similarity_score > 0.8) {
201
+ // High similarity
202
+ const newImportance = Math.min(1.0, (memoryResult.entry.importance_score || 0.5) + 0.1);
203
+ result.updated_memories.push({
204
+ id: memoryResult.entry.id,
205
+ updates: { importance_score: newImportance },
206
+ });
207
+ result.mutations.push({
208
+ type: 'memory_update',
209
+ description: `Increased importance of related memory`,
210
+ changes: {
211
+ memory_id: memoryResult.entry.id,
212
+ new_importance: newImportance,
213
+ },
214
+ triggered_by: userInput.substring(0, 50) + '...',
215
+ });
216
+ }
217
+ }
218
+ return result;
219
+ }
220
+ /**
221
+ * Apply mutation results to persona state
222
+ */
223
+ async applyMutations(personaId, userId, mutationResult) {
224
+ // Get current state
225
+ let state = await this.getPersonaState(personaId, userId);
226
+ if (!state) {
227
+ state = await this.initializePersonaState(personaId, userId);
228
+ }
229
+ // Apply state deltas
230
+ for (const [key, value] of Object.entries(mutationResult.state_deltas)) {
231
+ state.runtime_state[key] = value;
232
+ }
233
+ // Add mutations to log with timestamps and IDs
234
+ const timestampedMutations = mutationResult.mutations.map(mutation => ({
235
+ ...mutation,
236
+ id: uuidv4(),
237
+ timestamp: Date.now(),
238
+ }));
239
+ state.mutation_log.push(...timestampedMutations);
240
+ // Keep only last 1000 mutations to prevent unbounded growth
241
+ if (state.mutation_log.length > 1000) {
242
+ state.mutation_log = state.mutation_log.slice(-1000);
243
+ }
244
+ // Update metadata
245
+ state.last_updated = Date.now();
246
+ state.version += 1;
247
+ // Save updated state
248
+ await this.savePersonaState(state);
249
+ // Process new memories
250
+ for (const newMemory of mutationResult.new_memories) {
251
+ await memoryService.storeMemory(newMemory.user_id, newMemory.persona_id, newMemory.content, 'nomic-embed-text', // Default embedding model
252
+ newMemory.context, newMemory.importance_score);
253
+ }
254
+ // Update existing memories
255
+ for (const update of mutationResult.updated_memories) {
256
+ if (update.updates.importance_score !== undefined) {
257
+ await memoryService.updateMemoryImportance(update.id, update.updates.importance_score);
258
+ }
259
+ }
260
+ return state;
261
+ }
262
+ // Helper methods for analysis
263
+ analyzeSentiment(text) {
264
+ const positiveWords = [
265
+ 'good',
266
+ 'great',
267
+ 'awesome',
268
+ 'excellent',
269
+ 'love',
270
+ 'like',
271
+ 'happy',
272
+ 'amazing',
273
+ 'wonderful',
274
+ ];
275
+ const negativeWords = [
276
+ 'bad',
277
+ 'terrible',
278
+ 'awful',
279
+ 'hate',
280
+ 'dislike',
281
+ 'sad',
282
+ 'angry',
283
+ 'frustrated',
284
+ 'annoying',
285
+ ];
286
+ const lowerText = text.toLowerCase();
287
+ const positiveCount = positiveWords.filter(word => lowerText.includes(word)).length;
288
+ const negativeCount = negativeWords.filter(word => lowerText.includes(word)).length;
289
+ if (positiveCount > negativeCount)
290
+ return 'positive';
291
+ if (negativeCount > positiveCount)
292
+ return 'negative';
293
+ return 'neutral';
294
+ }
295
+ extractIntent(text) {
296
+ const lowerText = text.toLowerCase();
297
+ if (lowerText.includes('help') ||
298
+ lowerText.includes('assist') ||
299
+ lowerText.includes('support')) {
300
+ return 'help_request';
301
+ }
302
+ if (lowerText.includes('explain') ||
303
+ lowerText.includes('what is') ||
304
+ lowerText.includes('how does')) {
305
+ return 'explanation_request';
306
+ }
307
+ if (lowerText.includes('create') ||
308
+ lowerText.includes('make') ||
309
+ lowerText.includes('generate')) {
310
+ return 'creation_request';
311
+ }
312
+ if (lowerText.includes('?')) {
313
+ return 'question';
314
+ }
315
+ return 'general_conversation';
316
+ }
317
+ extractTopics(text) {
318
+ // Simple topic extraction based on common keywords
319
+ const topics = [];
320
+ const lowerText = text.toLowerCase();
321
+ const topicKeywords = {
322
+ technology: ['computer', 'software', 'ai', 'programming', 'code', 'tech'],
323
+ science: ['research', 'study', 'experiment', 'theory', 'scientific'],
324
+ business: ['market', 'company', 'business', 'finance', 'economy'],
325
+ personal: ['feel', 'think', 'believe', 'my', 'me', 'personal'],
326
+ creative: ['art', 'design', 'creative', 'music', 'write', 'draw'],
327
+ };
328
+ for (const [topic, keywords] of Object.entries(topicKeywords)) {
329
+ if (keywords.some(keyword => lowerText.includes(keyword))) {
330
+ topics.push(topic);
331
+ }
332
+ }
333
+ return topics.length > 0 ? topics : ['general'];
334
+ }
335
+ shouldAdjustMood(text, sentiment, sensitivity) {
336
+ if (sensitivity === 'low')
337
+ return sentiment !== 'neutral';
338
+ if (sensitivity === 'medium')
339
+ return true;
340
+ if (sensitivity === 'high')
341
+ return true;
342
+ return false;
343
+ }
344
+ calculateMoodAdjustment(sentiment, _currentMood) {
345
+ const moodMap = {
346
+ positive: ['happy', 'excited', 'optimistic', 'cheerful'],
347
+ negative: ['sad', 'frustrated', 'disappointed', 'concerned'],
348
+ neutral: ['calm', 'neutral', 'balanced', 'thoughtful'],
349
+ };
350
+ const moods = moodMap[sentiment] || moodMap.neutral;
351
+ return moods[Math.floor(Math.random() * moods.length)];
352
+ }
353
+ extractPreferences(text, _memories) {
354
+ const preferences = {};
355
+ const lowerText = text.toLowerCase();
356
+ // Look for explicit preferences
357
+ if (lowerText.includes('i prefer') || lowerText.includes('i like')) {
358
+ const preferenceMatch = text.match(/i (prefer|like) ([^.!?]+)/i);
359
+ if (preferenceMatch) {
360
+ preferences.general = preferenceMatch[2].trim();
361
+ }
362
+ }
363
+ // Look for style preferences
364
+ if (lowerText.includes('style') || lowerText.includes('format')) {
365
+ preferences.communication_style = 'detailed'; // Could be more sophisticated
366
+ }
367
+ return Object.keys(preferences).length > 0 ? preferences : null;
368
+ }
369
+ updateInteractionPatterns(text, currentPatterns) {
370
+ const patterns = { ...currentPatterns };
371
+ // Track conversation length preference
372
+ const wordCount = text.split(' ').length;
373
+ patterns.preferred_response_length =
374
+ wordCount > 50 ? 'detailed' : 'concise';
375
+ // Track question frequency
376
+ const questionCount = (text.match(/\?/g) || []).length;
377
+ patterns.question_frequency =
378
+ questionCount > 2 ? 'high' : questionCount > 0 ? 'medium' : 'low';
379
+ return patterns;
380
+ }
381
+ shouldCreateMemory(text, memories, sensitivity) {
382
+ const minLength = sensitivity === 'high' ? 10 : sensitivity === 'medium' ? 20 : 50;
383
+ if (text.length < minLength)
384
+ return false;
385
+ // Don't create memory if very similar one exists
386
+ const highSimilarity = memories.some(m => m.similarity_score > 0.9);
387
+ return !highSimilarity;
388
+ }
389
+ calculateImportance(text, intent, topics) {
390
+ let importance = 0.5; // Base importance
391
+ // Adjust based on intent
392
+ const intentScores = {
393
+ help_request: 0.8,
394
+ explanation_request: 0.7,
395
+ creation_request: 0.9,
396
+ question: 0.6,
397
+ general_conversation: 0.4,
398
+ };
399
+ importance +=
400
+ (intentScores[intent] || 0.5) * 0.3;
401
+ // Adjust based on length (longer = potentially more important)
402
+ const lengthBonus = Math.min(0.2, text.length / 1000);
403
+ importance += lengthBonus;
404
+ // Adjust based on topic diversity
405
+ importance += topics.length * 0.05;
406
+ return Math.min(1.0, Math.max(0.1, importance));
407
+ }
408
+ /**
409
+ * Clean up old mutation logs
410
+ */
411
+ async cleanupOldMutations(personaId, userId, retentionDays) {
412
+ const state = await this.getPersonaState(personaId, userId);
413
+ if (!state)
414
+ return;
415
+ const cutoffTimestamp = Date.now() - retentionDays * 24 * 60 * 60 * 1000;
416
+ state.mutation_log = state.mutation_log.filter(mutation => mutation.timestamp > cutoffTimestamp);
417
+ await this.savePersonaState(state);
418
+ }
419
+ /**
420
+ * Reset persona state
421
+ */
422
+ async resetPersonaState(personaId, userId) {
423
+ const db = this.ensureDatabase();
424
+ const stmt = db.prepare(`
425
+ DELETE FROM persona_states
426
+ WHERE persona_id = ? AND user_id = ?
427
+ `);
428
+ stmt.run(personaId, userId);
429
+ }
430
+ }
431
+ export const mutationEngineService = new MutationEngineService();
432
+ //# sourceMappingURL=mutationEngineService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationEngineService.js","sourceRoot":"","sources":["../../src/services/mutationEngineService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { OllamaModel, OllamaGenerateRequest, OllamaGenerateResponse, OllamaCreateRequest, OllamaEmbeddingsRequest, OllamaEmbeddingsResponse, OllamaChatRequest, OllamaChatResponse } from '../types/index.js';
2
+ declare class OllamaService {
3
+ private client;
4
+ private longOperationClient;
5
+ private baseUrl;
6
+ constructor();
7
+ isHealthy(): Promise<boolean>;
8
+ getModels(): Promise<OllamaModel[]>;
9
+ generateResponse(request: OllamaGenerateRequest): Promise<OllamaGenerateResponse>;
10
+ generateStreamResponse(request: OllamaGenerateRequest, onChunk: (chunk: OllamaGenerateResponse) => void, onError: (error: Error) => void, onComplete: () => void): Promise<void>;
11
+ pullModel(modelName: string): Promise<void>;
12
+ pullModelStream(modelName: string, onProgress: (progress: {
13
+ status: string;
14
+ digest?: string;
15
+ total?: number;
16
+ completed?: number;
17
+ percent?: number;
18
+ }) => void, onError: (error: Error) => void, onComplete: () => void): Promise<void>;
19
+ deleteModel(modelName: string): Promise<void>;
20
+ showModel(modelName: string, verbose?: boolean): Promise<Record<string, unknown>>;
21
+ createModel(payload: OllamaCreateRequest): Promise<void>;
22
+ copyModel(source: string, destination: string): Promise<void>;
23
+ pushModel(modelName: string): Promise<void>;
24
+ generateEmbeddings(payload: OllamaEmbeddingsRequest): Promise<OllamaEmbeddingsResponse>;
25
+ listRunningModels(): Promise<{
26
+ models: Record<string, unknown>[];
27
+ }>;
28
+ getVersion(): Promise<{
29
+ version: string;
30
+ }>;
31
+ generateChatResponse(request: OllamaChatRequest): Promise<OllamaChatResponse>;
32
+ generateChatStreamResponse(request: OllamaChatRequest, onChunk: (chunk: OllamaChatResponse) => void, onError: (error: Error) => void, onComplete: () => void): Promise<void>;
33
+ checkBlobExists(digest: string): Promise<boolean>;
34
+ pushBlob(digest: string, data: Buffer | string): Promise<void>;
35
+ generateLegacyEmbeddings(payload: Record<string, unknown>): Promise<{
36
+ embedding: number[];
37
+ }>;
38
+ pullAllModels(): Promise<{
39
+ success: boolean;
40
+ results: {
41
+ name: string;
42
+ success: boolean;
43
+ }[];
44
+ }>;
45
+ pullAllModelsStream(onProgress: (progress: {
46
+ current: number;
47
+ total: number;
48
+ modelName: string;
49
+ status: 'starting' | 'success' | 'error';
50
+ error?: string;
51
+ }) => void, onComplete: () => void, onError: (error: string) => void): Promise<void>;
52
+ }
53
+ declare const _default: OllamaService;
54
+ export default _default;
55
+ //# sourceMappingURL=ollamaService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollamaService.d.ts","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"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"}