libre-webui 0.10.0 → 0.12.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 (298) hide show
  1. package/README.md +75 -61
  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 +39 -908
  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 +4 -2
  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 -249
  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/imageGen.d.ts.map +1 -1
  27. package/backend/dist/routes/imageGen.js +9 -7
  28. package/backend/dist/routes/imageGen.js.map +1 -1
  29. package/backend/dist/routes/libreClaw.d.ts +3 -0
  30. package/backend/dist/routes/libreClaw.d.ts.map +1 -0
  31. package/backend/dist/routes/libreClaw.js +156 -0
  32. package/backend/dist/routes/libreClaw.js.map +1 -0
  33. package/backend/dist/routes/ollama.d.ts.map +1 -1
  34. package/backend/dist/routes/ollama.js +7 -247
  35. package/backend/dist/routes/ollama.js.map +1 -1
  36. package/backend/dist/routes/plugins.d.ts.map +1 -1
  37. package/backend/dist/routes/plugins.js +7 -105
  38. package/backend/dist/routes/plugins.js.map +1 -1
  39. package/backend/dist/routes/tts.d.ts.map +1 -1
  40. package/backend/dist/routes/tts.js +7 -5
  41. package/backend/dist/routes/tts.js.map +1 -1
  42. package/backend/dist/routes/users.d.ts.map +1 -1
  43. package/backend/dist/routes/users.js +7 -5
  44. package/backend/dist/routes/users.js.map +1 -1
  45. package/backend/dist/services/assistantCompletionService.d.ts +26 -0
  46. package/backend/dist/services/assistantCompletionService.d.ts.map +1 -0
  47. package/backend/dist/services/assistantCompletionService.js +53 -0
  48. package/backend/dist/services/assistantCompletionService.js.map +1 -0
  49. package/backend/dist/services/authService.d.ts +2 -0
  50. package/backend/dist/services/authService.d.ts.map +1 -1
  51. package/backend/dist/services/authService.js +9 -5
  52. package/backend/dist/services/authService.js.map +1 -1
  53. package/backend/dist/services/chatGenerationService.d.ts +32 -0
  54. package/backend/dist/services/chatGenerationService.d.ts.map +1 -0
  55. package/backend/dist/services/chatGenerationService.js +118 -0
  56. package/backend/dist/services/chatGenerationService.js.map +1 -0
  57. package/backend/dist/services/chatRequestService.d.ts +55 -0
  58. package/backend/dist/services/chatRequestService.d.ts.map +1 -0
  59. package/backend/dist/services/chatRequestService.js +103 -0
  60. package/backend/dist/services/chatRequestService.js.map +1 -0
  61. package/backend/dist/services/chatService.d.ts +0 -1
  62. package/backend/dist/services/chatService.d.ts.map +1 -1
  63. package/backend/dist/services/chatService.js +13 -27
  64. package/backend/dist/services/chatService.js.map +1 -1
  65. package/backend/dist/services/documentService.d.ts.map +1 -1
  66. package/backend/dist/services/documentService.js +21 -19
  67. package/backend/dist/services/documentService.js.map +1 -1
  68. package/backend/dist/services/embeddingService.d.ts.map +1 -1
  69. package/backend/dist/services/embeddingService.js +3 -1
  70. package/backend/dist/services/embeddingService.js.map +1 -1
  71. package/backend/dist/services/encryptionService.d.ts.map +1 -1
  72. package/backend/dist/services/encryptionService.js +26 -24
  73. package/backend/dist/services/encryptionService.js.map +1 -1
  74. package/backend/dist/services/galleryService.d.ts.map +1 -1
  75. package/backend/dist/services/galleryService.js +8 -6
  76. package/backend/dist/services/galleryService.js.map +1 -1
  77. package/backend/dist/services/libreClawService.d.ts +105 -0
  78. package/backend/dist/services/libreClawService.d.ts.map +1 -0
  79. package/backend/dist/services/libreClawService.js +169 -0
  80. package/backend/dist/services/libreClawService.js.map +1 -0
  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 +37 -198
  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 +3 -1
  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 +36 -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 +3 -1
  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 +9 -18
  114. package/backend/dist/services/pluginService.d.ts.map +1 -1
  115. package/backend/dist/services/pluginService.js +118 -1469
  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.map +1 -1
  125. package/backend/dist/services/preferencesService.js +9 -7
  126. package/backend/dist/services/preferencesService.js.map +1 -1
  127. package/backend/dist/services/simpleGitHubOAuth.d.ts.map +1 -1
  128. package/backend/dist/services/simpleGitHubOAuth.js +10 -8
  129. package/backend/dist/services/simpleGitHubOAuth.js.map +1 -1
  130. package/backend/dist/services/simpleHuggingFaceOAuth.d.ts.map +1 -1
  131. package/backend/dist/services/simpleHuggingFaceOAuth.js +11 -9
  132. package/backend/dist/services/simpleHuggingFaceOAuth.js.map +1 -1
  133. package/backend/dist/services/systemSettingsService.d.ts.map +1 -1
  134. package/backend/dist/services/systemSettingsService.js +4 -2
  135. package/backend/dist/services/systemSettingsService.js.map +1 -1
  136. package/backend/dist/services/titleGenerationService.d.ts +55 -0
  137. package/backend/dist/services/titleGenerationService.d.ts.map +1 -0
  138. package/backend/dist/services/titleGenerationService.js +121 -0
  139. package/backend/dist/services/titleGenerationService.js.map +1 -0
  140. package/backend/dist/services/turnstileService.d.ts +13 -0
  141. package/backend/dist/services/turnstileService.d.ts.map +1 -0
  142. package/backend/dist/services/turnstileService.js +79 -0
  143. package/backend/dist/services/turnstileService.js.map +1 -0
  144. package/backend/dist/storage.d.ts +2 -22
  145. package/backend/dist/storage.d.ts.map +1 -1
  146. package/backend/dist/storage.js +22 -170
  147. package/backend/dist/storage.js.map +1 -1
  148. package/backend/dist/storageMappers.d.ts +82 -0
  149. package/backend/dist/storageMappers.d.ts.map +1 -0
  150. package/backend/dist/storageMappers.js +85 -0
  151. package/backend/dist/storageMappers.js.map +1 -0
  152. package/backend/dist/test-encryption.js +20 -18
  153. package/backend/dist/test-encryption.js.map +1 -1
  154. package/backend/dist/types/index.d.ts.map +1 -1
  155. package/backend/dist/types/index.js.map +1 -1
  156. package/backend/dist/utils/assistantBranching.d.ts +8 -0
  157. package/backend/dist/utils/assistantBranching.d.ts.map +1 -0
  158. package/backend/dist/utils/assistantBranching.js +30 -0
  159. package/backend/dist/utils/assistantBranching.js.map +1 -0
  160. package/backend/dist/utils/chatContext.d.ts +17 -0
  161. package/backend/dist/utils/chatContext.d.ts.map +1 -0
  162. package/backend/dist/utils/chatContext.js +82 -0
  163. package/backend/dist/utils/chatContext.js.map +1 -0
  164. package/backend/dist/utils/chatDocumentContext.d.ts +7 -0
  165. package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -0
  166. package/backend/dist/utils/chatDocumentContext.js +51 -0
  167. package/backend/dist/utils/chatDocumentContext.js.map +1 -0
  168. package/backend/dist/utils/logger.d.ts +12 -0
  169. package/backend/dist/utils/logger.d.ts.map +1 -0
  170. package/backend/dist/utils/logger.js +82 -0
  171. package/backend/dist/utils/logger.js.map +1 -0
  172. package/backend/dist/utils/ollamaLibrary.d.ts +17 -0
  173. package/backend/dist/utils/ollamaLibrary.d.ts.map +1 -0
  174. package/backend/dist/utils/ollamaLibrary.js +253 -0
  175. package/backend/dist/utils/ollamaLibrary.js.map +1 -0
  176. package/backend/dist/utils/ollamaStreaming.d.ts +19 -0
  177. package/backend/dist/utils/ollamaStreaming.d.ts.map +1 -0
  178. package/backend/dist/utils/ollamaStreaming.js +67 -0
  179. package/backend/dist/utils/ollamaStreaming.js.map +1 -0
  180. package/backend/dist/utils/pluginChatAdapter.d.ts +32 -0
  181. package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -0
  182. package/backend/dist/utils/pluginChatAdapter.js +308 -0
  183. package/backend/dist/utils/pluginChatAdapter.js.map +1 -0
  184. package/backend/dist/utils/pluginChatContext.d.ts +23 -0
  185. package/backend/dist/utils/pluginChatContext.d.ts.map +1 -0
  186. package/backend/dist/utils/pluginChatContext.js +77 -0
  187. package/backend/dist/utils/pluginChatContext.js.map +1 -0
  188. package/backend/dist/utils/pluginResponse.d.ts +6 -0
  189. package/backend/dist/utils/pluginResponse.d.ts.map +1 -0
  190. package/backend/dist/utils/pluginResponse.js +70 -0
  191. package/backend/dist/utils/pluginResponse.js.map +1 -0
  192. package/backend/dist/utils/pluginStreamAdapter.d.ts +16 -0
  193. package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -0
  194. package/backend/dist/utils/pluginStreamAdapter.js +141 -0
  195. package/backend/dist/utils/pluginStreamAdapter.js.map +1 -0
  196. package/backend/dist/utils/pluginStreaming.d.ts +24 -0
  197. package/backend/dist/utils/pluginStreaming.d.ts.map +1 -0
  198. package/backend/dist/utils/pluginStreaming.js +106 -0
  199. package/backend/dist/utils/pluginStreaming.js.map +1 -0
  200. package/backend/dist/utils/pluginUpload.d.ts +8 -0
  201. package/backend/dist/utils/pluginUpload.d.ts.map +1 -0
  202. package/backend/dist/utils/pluginUpload.js +51 -0
  203. package/backend/dist/utils/pluginUpload.js.map +1 -0
  204. package/backend/dist/utils/pluginValidation.d.ts +9 -0
  205. package/backend/dist/utils/pluginValidation.d.ts.map +1 -0
  206. package/backend/dist/utils/pluginValidation.js +84 -0
  207. package/backend/dist/utils/pluginValidation.js.map +1 -0
  208. package/backend/dist/utils/pluginVariableValidation.d.ts +10 -0
  209. package/backend/dist/utils/pluginVariableValidation.d.ts.map +1 -0
  210. package/backend/dist/utils/pluginVariableValidation.js +80 -0
  211. package/backend/dist/utils/pluginVariableValidation.js.map +1 -0
  212. package/backend/dist/utils/websocketMessages.d.ts +26 -0
  213. package/backend/dist/utils/websocketMessages.d.ts.map +1 -0
  214. package/backend/dist/utils/websocketMessages.js +74 -0
  215. package/backend/dist/utils/websocketMessages.js.map +1 -0
  216. package/backend/dist/websocketServer.d.ts +3 -0
  217. package/backend/dist/websocketServer.d.ts.map +1 -0
  218. package/backend/dist/websocketServer.js +332 -0
  219. package/backend/dist/websocketServer.js.map +1 -0
  220. package/backend/package.json +2 -2
  221. package/frontend/dist/assets/index-Dc8Q4dJZ.css +1 -0
  222. package/frontend/dist/assets/index-ONn9VIq7.js +5 -0
  223. package/frontend/dist/assets/markdown-math-CYlHEDRF.css +1 -0
  224. package/frontend/dist/index.html +11 -10
  225. package/frontend/dist/js/ArtifactContainer-CqKsiKz0.js +1 -0
  226. package/frontend/dist/js/ArtifactDemoPage-Dd5BjIu2.js +200 -0
  227. package/frontend/dist/js/ArtifactSlideOutPanel-Yc7ttIaY.js +1 -0
  228. package/frontend/dist/js/Button-BUjLpHmR.js +1 -0
  229. package/frontend/dist/js/ChatPage-Cpy7lQ0D.js +16 -0
  230. package/frontend/dist/js/FirstTimeSetup-DcGhm0H0.js +1 -0
  231. package/frontend/dist/js/GalleryPage-DNI2Evvf.js +1 -0
  232. package/frontend/dist/js/LibreClawPage-CmTiROsJ.js +1 -0
  233. package/frontend/dist/js/ModelManagerModals-CfvSeNsT.js +1 -0
  234. package/frontend/dist/js/ModelsPage-CeTGqx4q.js +2 -0
  235. package/frontend/dist/js/OptimizedSyntaxHighlighter-CNjLqj1Z.js +1 -0
  236. package/frontend/dist/js/PersonasPage-BUqu7gJ3.js +13 -0
  237. package/frontend/dist/js/RichMessageContent-B0JO8vkR.js +3 -0
  238. package/frontend/dist/js/SettingsModal-B5aJ5vfV.js +1 -0
  239. package/frontend/dist/js/UserManagementPage-BqIIWX2M.js +1 -0
  240. package/frontend/dist/js/api-CbmZzKBu.js +15 -0
  241. package/frontend/dist/js/ar-BAOdgn6O.js +2 -0
  242. package/frontend/dist/js/artifactHtml-B7Oy2e__.js +27 -0
  243. package/frontend/dist/js/bn-Bp2KS5mx.js +2 -0
  244. package/frontend/dist/js/cs-DOgJ0c5p.js +2 -0
  245. package/frontend/dist/js/da-BCKTkC35.js +2 -0
  246. package/frontend/dist/js/de-BXyECph5.js +2 -0
  247. package/frontend/dist/js/demoMode-BhEpMVh5.js +1 -0
  248. package/frontend/dist/js/es-Db4bDYIF.js +2 -0
  249. package/frontend/dist/js/fr-BPIkf6zH.js +2 -0
  250. package/frontend/dist/js/hi-Bm8D_Aux.js +2 -0
  251. package/frontend/dist/js/id-DiWaH74_.js +2 -0
  252. package/frontend/dist/js/is-DLgJywtZ.js +2 -0
  253. package/frontend/dist/js/it-lldrM8pE.js +2 -0
  254. package/frontend/dist/js/ja-Cfe9uZmQ.js +2 -0
  255. package/frontend/dist/js/ko-BhChO3MQ.js +2 -0
  256. package/frontend/dist/js/logger-BmpKNkls.js +1 -0
  257. package/frontend/dist/js/markdown-core-fkbHPd-g.js +16 -0
  258. package/frontend/dist/js/markdown-math-Ci4QOsf-.js +261 -0
  259. package/frontend/dist/js/ms-SWtmetXo.js +2 -0
  260. package/frontend/dist/js/nl-CUO6I3nO.js +2 -0
  261. package/frontend/dist/js/pl-BUAu96P6.js +2 -0
  262. package/frontend/dist/js/pt-DCHwoWiE.js +2 -0
  263. package/frontend/dist/js/{react-vendor-Dh6nfvM2.js → react-vendor-Co1u1rWb.js} +2 -2
  264. package/frontend/dist/js/ru-Ciz053N7.js +2 -0
  265. package/frontend/dist/js/sv-D38ZHjv-.js +2 -0
  266. package/frontend/dist/js/syntax-highlight-D5wpTVgr.js +8 -0
  267. package/frontend/dist/js/th-D2cAucvn.js +2 -0
  268. package/frontend/dist/js/tr-Go355oDu.js +2 -0
  269. package/frontend/dist/js/ui-vendor-BJAeWL11.js +177 -0
  270. package/frontend/dist/js/uk-cdzjhgya.js +2 -0
  271. package/frontend/dist/js/useBaseQuery-6OJiOiyu.js +1 -0
  272. package/frontend/dist/js/useQuery-DfkI6VAv.js +1 -0
  273. package/frontend/dist/js/utils-BaPYjs_z.js +1 -0
  274. package/frontend/dist/js/utils-vendor-BX3ZwoIK.js +9 -0
  275. package/frontend/dist/js/vi-BSOpE423.js +2 -0
  276. package/frontend/dist/js/zh-BFh6sHZG.js +2 -0
  277. package/package.json +12 -8
  278. package/backend/dist/services/openclawSessionService.d.ts +0 -63
  279. package/backend/dist/services/openclawSessionService.d.ts.map +0 -1
  280. package/backend/dist/services/openclawSessionService.js +0 -307
  281. package/backend/dist/services/openclawSessionService.js.map +0 -1
  282. package/frontend/dist/assets/index-cOuIFv6G.js +0 -314
  283. package/frontend/dist/assets/index-tuVjvNle.css +0 -1
  284. package/frontend/dist/js/ArtifactContainer-DXa2t8GS.js +0 -24
  285. package/frontend/dist/js/ArtifactDemoPage-Dms7P2gI.js +0 -98
  286. package/frontend/dist/js/ChatPage-C6hOVIAS.js +0 -15
  287. package/frontend/dist/js/GalleryPage-CGKPECJV.js +0 -1
  288. package/frontend/dist/js/ModelsPage-CNB-c-JM.js +0 -1
  289. package/frontend/dist/js/PersonasPage-hDiS0Rvl.js +0 -13
  290. package/frontend/dist/js/UserManagementPage-1H9kcHeR.js +0 -1
  291. package/frontend/dist/js/api-MQ7bONaU.js +0 -3
  292. package/frontend/dist/js/appStore-BpzQfKOd.js +0 -2
  293. package/frontend/dist/js/authStore-Cn_WS6Kb.js +0 -2
  294. package/frontend/dist/js/demoMode-PKHbba1m.js +0 -1
  295. package/frontend/dist/js/markdown-vendor-DLzJCMRQ.js +0 -22
  296. package/frontend/dist/js/ui-vendor-ClcVY3m-.js +0 -177
  297. package/frontend/dist/js/utils-vendor-BCQRX-0Q.js +0 -9
  298. package/plugins/openclaw-agent.json +0 -69
@@ -17,6 +17,9 @@
17
17
  import { getDatabaseSafe } from '../db.js';
18
18
  import embeddingService from './embeddingService.js';
19
19
  import { v4 as uuidv4 } from 'uuid';
20
+ import { createLogger } from '../utils/logger.js';
21
+ import { applyMemoryDecay, calculateEnhancedImportance, classifyMemoryType, cosineSimilarity, createConsolidatedContent, embeddingArrayToBuffer, embeddingBufferToArray, getMemoryColumnType, toPersonaMemoryEntry, } from './memoryUtils.js';
22
+ const logger = createLogger('memory');
20
23
  export class MemoryService {
21
24
  constructor() {
22
25
  this.db = getDatabaseSafe();
@@ -70,7 +73,7 @@ export class MemoryService {
70
73
  }
71
74
  initializeTables() {
72
75
  if (!this.db) {
73
- console.warn('MemoryService: Database not available, skipping table initialization');
76
+ logger.warn('MemoryService: Database not available, skipping table initialization');
74
77
  return;
75
78
  }
76
79
  // Persona memories table - create with basic schema first
@@ -106,7 +109,7 @@ export class MemoryService {
106
109
  }
107
110
  catch (error) {
108
111
  // Indexes may already exist, ignore
109
- console.warn('[MemoryService] Index creation:', error);
112
+ logger.warn('[MemoryService] Index creation:', error);
110
113
  }
111
114
  }
112
115
  /**
@@ -133,8 +136,8 @@ export class MemoryService {
133
136
  };
134
137
  for (const column of columns) {
135
138
  try {
136
- this.db.exec(`ALTER TABLE persona_memories ADD COLUMN ${column} ${this.getColumnType(column)} DEFAULT ${defaults[column]}`);
137
- console.log(`[MemoryService] Added column ${column} to persona_memories`);
139
+ this.db.exec(`ALTER TABLE persona_memories ADD COLUMN ${column} ${getMemoryColumnType(column)} DEFAULT ${defaults[column]}`);
140
+ logger.debug(`[MemoryService] Added column ${column} to persona_memories`);
138
141
  }
139
142
  catch {
140
143
  // Column likely already exists, ignore
@@ -142,135 +145,26 @@ export class MemoryService {
142
145
  }
143
146
  }
144
147
  catch (error) {
145
- console.warn('[MemoryService] Migration check:', error);
148
+ logger.warn('[MemoryService] Migration check:', error);
146
149
  }
147
150
  }
148
- /**
149
- * Get SQLite column type for a given column name
150
- */
151
- getColumnType(column) {
152
- const types = {
153
- memory_type: 'TEXT',
154
- access_count: 'INTEGER',
155
- last_accessed: 'INTEGER',
156
- decay_factor: 'REAL',
157
- consolidated_from: 'TEXT',
158
- };
159
- return types[column] || 'TEXT';
160
- }
161
151
  /**
162
152
  * Classify memory content into a type
163
153
  */
164
154
  classifyMemoryType(content) {
165
- const lowerContent = content.toLowerCase();
166
- // Check for preference indicators
167
- const preferencePatterns = [
168
- /i (like|love|prefer|enjoy|hate|dislike|don't like)/i,
169
- /my favorite/i,
170
- /i('m| am) (a fan of|into|interested in)/i,
171
- ];
172
- if (preferencePatterns.some(p => p.test(lowerContent))) {
173
- return 'preference';
174
- }
175
- // Check for factual information about the user
176
- const factPatterns = [
177
- /i (am|'m) (a |an )?(\w+ )?(developer|engineer|designer|student|teacher|doctor|lawyer)/i,
178
- /i (work|live|study) (at|in|for)/i,
179
- /my (name|job|profession|age|location|birthday)/i,
180
- /i have (a |an )?(\d+ )?(kids?|children|dogs?|cats?|pets?)/i,
181
- ];
182
- if (factPatterns.some(p => p.test(lowerContent))) {
183
- return 'fact';
184
- }
185
- // Check for emotional content
186
- const emotionalPatterns = [
187
- /i('m| am) (feeling|so|really|very) (happy|sad|excited|anxious|worried|stressed|grateful)/i,
188
- /thank you|thanks|appreciate/i,
189
- /i('m| am) (sorry|apologize)/i,
190
- /(love|hate) (this|that|it)/i,
191
- ];
192
- if (emotionalPatterns.some(p => p.test(lowerContent))) {
193
- return 'emotional';
194
- }
195
- // Check for instructions
196
- const instructionPatterns = [
197
- /please (always|never|remember|don't|do not)/i,
198
- /i want you to/i,
199
- /can you (please )?make sure/i,
200
- /when (i ask|responding|you)/i,
201
- ];
202
- if (instructionPatterns.some(p => p.test(lowerContent))) {
203
- return 'instruction';
204
- }
205
- // Check for experiences/stories
206
- const experiencePatterns = [
207
- /i (went|did|saw|visited|attended|met|had)/i,
208
- /yesterday|last (week|month|year)|recently/i,
209
- /one time|once upon a time|i remember when/i,
210
- ];
211
- if (experiencePatterns.some(p => p.test(lowerContent))) {
212
- return 'experience';
213
- }
214
- return 'general';
155
+ return classifyMemoryType(content);
215
156
  }
216
157
  /**
217
158
  * Calculate enhanced importance score based on multiple factors
218
159
  */
219
160
  calculateEnhancedImportance(content, memoryType, _context) {
220
- let score = 0.5; // Base score
221
- // Adjust based on memory type
222
- const typeWeights = {
223
- instruction: 0.9, // Instructions are very important
224
- fact: 0.8, // Facts about user are important
225
- preference: 0.75, // Preferences matter
226
- emotional: 0.7, // Emotional moments are memorable
227
- experience: 0.6, // Experiences are contextual
228
- context: 0.4, // Context is temporary
229
- general: 0.5, // Default
230
- };
231
- score = typeWeights[memoryType];
232
- // Adjust based on content length (longer = potentially more detailed/important)
233
- const wordCount = content.split(/\s+/).length;
234
- if (wordCount > 50)
235
- score = Math.min(1.0, score + 0.1);
236
- else if (wordCount < 10)
237
- score = Math.max(0.1, score - 0.1);
238
- // Adjust based on specificity (names, numbers, dates)
239
- const specificityIndicators = [
240
- /\b\d{4}\b/, // Years
241
- /\b\d{1,2}\/\d{1,2}\b/, // Dates
242
- /\b[A-Z][a-z]+\b/, // Proper nouns
243
- /\b\d+\s*(years?|months?|days?|hours?)\b/i, // Time durations
244
- ];
245
- const specificityCount = specificityIndicators.filter(p => p.test(content)).length;
246
- score = Math.min(1.0, score + specificityCount * 0.05);
247
- // Adjust based on question presence (questions often indicate important topics)
248
- if (content.includes('?')) {
249
- score = Math.min(1.0, score + 0.05);
250
- }
251
- // Clamp between 0.1 and 1.0
252
- return Math.max(0.1, Math.min(1.0, score));
161
+ return calculateEnhancedImportance(content, memoryType);
253
162
  }
254
163
  /**
255
164
  * Apply time-based decay to importance score
256
165
  */
257
166
  applyDecay(originalImportance, timestamp, accessCount = 0, lastAccessed) {
258
- const now = Date.now();
259
- const ageInDays = (now - timestamp) / (1000 * 60 * 60 * 24);
260
- const timeSinceAccess = lastAccessed
261
- ? (now - lastAccessed) / (1000 * 60 * 60 * 24)
262
- : ageInDays;
263
- // Base decay: memories lose ~10% importance per month if not accessed
264
- const decayRate = 0.003; // ~10% per month
265
- let decayedImportance = originalImportance * Math.exp(-decayRate * timeSinceAccess);
266
- // Boost for frequently accessed memories (reinforcement)
267
- const accessBoost = Math.min(0.3, accessCount * 0.02);
268
- decayedImportance = Math.min(1.0, decayedImportance + accessBoost);
269
- // Never let importance drop below 0.1 for recent memories (< 7 days)
270
- if (ageInDays < 7) {
271
- decayedImportance = Math.max(0.3, decayedImportance);
272
- }
273
- return Math.max(0.1, Math.min(1.0, decayedImportance));
167
+ return applyMemoryDecay(originalImportance, timestamp, accessCount, lastAccessed);
274
168
  }
275
169
  /**
276
170
  * Get available embedding models
@@ -290,7 +184,7 @@ export class MemoryService {
290
184
  return response.embeddings[0] || null;
291
185
  }
292
186
  catch (error) {
293
- console.error('Failed to generate embedding:', error);
187
+ logger.error('Failed to generate embedding:', error);
294
188
  return null;
295
189
  }
296
190
  }
@@ -312,7 +206,7 @@ export class MemoryService {
312
206
  // If very similar memory exists, reinforce it instead of creating new
313
207
  if (existingSimilar.length > 0) {
314
208
  const mostSimilar = existingSimilar[0];
315
- console.log(`[MEMORY] Found similar memory (${(mostSimilar.similarity_score * 100).toFixed(1)}% similar), reinforcing instead of creating new`);
209
+ logger.debug(`[MEMORY] Found similar memory (${(mostSimilar.similarity_score * 100).toFixed(1)}% similar), reinforcing instead of creating new`);
316
210
  await this.reinforceMemory(mostSimilar.entry.id);
317
211
  return mostSimilar.entry;
318
212
  }
@@ -325,11 +219,11 @@ export class MemoryService {
325
219
  memory_type, access_count, last_accessed, decay_factor
326
220
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
327
221
  `);
328
- stmt.run(id, userId, personaId, content, embedding ? Buffer.from(new Float32Array(embedding).buffer) : null, timestamp, context || null, calculatedImportance, classifiedType, 0, // access_count
222
+ stmt.run(id, userId, personaId, content, embedding ? embeddingArrayToBuffer(embedding) : null, timestamp, context || null, calculatedImportance, classifiedType, 0, // access_count
329
223
  null, // last_accessed
330
224
  1.0 // decay_factor
331
225
  );
332
- console.log(`[MEMORY] Stored: type=${classifiedType}, importance=${calculatedImportance.toFixed(2)}, id=${id}, content="${content.substring(0, 50)}..."`);
226
+ logger.debug(`[MEMORY] Stored: type=${classifiedType}, importance=${calculatedImportance.toFixed(2)}, id=${id}, content="${content.substring(0, 50)}..."`);
333
227
  return {
334
228
  id,
335
229
  user_id: userId,
@@ -363,8 +257,10 @@ export class MemoryService {
363
257
  const memories = stmt.all(userId, personaId);
364
258
  const results = [];
365
259
  for (const memory of memories) {
366
- const embeddingArray = Array.from(new Float32Array(memory.embedding.buffer));
367
- const similarity = this.cosineSimilarity(queryEmbedding, embeddingArray);
260
+ if (!memory.embedding)
261
+ continue;
262
+ const embeddingArray = embeddingBufferToArray(memory.embedding);
263
+ const similarity = cosineSimilarity(queryEmbedding, embeddingArray);
368
264
  if (similarity >= minSimilarity) {
369
265
  results.push({
370
266
  entry: {
@@ -399,24 +295,6 @@ export class MemoryService {
399
295
  const result = stmt.run(Date.now(), memoryId);
400
296
  return result.changes > 0;
401
297
  }
402
- /**
403
- * Calculate cosine similarity between two vectors
404
- */
405
- cosineSimilarity(a, b) {
406
- if (a.length !== b.length)
407
- return 0;
408
- let dotProduct = 0;
409
- let normA = 0;
410
- let normB = 0;
411
- for (let i = 0; i < a.length; i++) {
412
- dotProduct += a[i] * b[i];
413
- normA += a[i] * a[i];
414
- normB += b[i] * b[i];
415
- }
416
- if (normA === 0 || normB === 0)
417
- return 0;
418
- return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
419
- }
420
298
  /**
421
299
  * Search memories using semantic similarity with enhanced relevance scoring
422
300
  */
@@ -449,8 +327,10 @@ export class MemoryService {
449
327
  const results = [];
450
328
  for (const memory of memories) {
451
329
  // Convert buffer back to float array
452
- const embeddingArray = Array.from(new Float32Array(memory.embedding.buffer));
453
- const similarity = this.cosineSimilarity(queryEmbedding, embeddingArray);
330
+ if (!memory.embedding)
331
+ continue;
332
+ const embeddingArray = embeddingBufferToArray(memory.embedding);
333
+ const similarity = cosineSimilarity(queryEmbedding, embeddingArray);
454
334
  if (similarity >= minSimilarity) {
455
335
  // Calculate decayed importance
456
336
  const decayedImportance = this.applyDecay(memory.importance_score, memory.timestamp, memory.access_count || 0, memory.last_accessed || undefined);
@@ -511,7 +391,7 @@ export class MemoryService {
511
391
  stmt.run(Date.now(), memoryId);
512
392
  }
513
393
  catch (error) {
514
- console.warn('[MemoryService] Failed to update memory access:', error);
394
+ logger.warn('[MemoryService] Failed to update memory access:', error);
515
395
  }
516
396
  }
517
397
  /**
@@ -527,18 +407,7 @@ export class MemoryService {
527
407
  LIMIT ? OFFSET ?
528
408
  `);
529
409
  const memories = stmt.all(userId, personaId, limit, offset);
530
- return memories.map(memory => ({
531
- id: memory.id,
532
- user_id: memory.user_id,
533
- persona_id: memory.persona_id,
534
- content: memory.content,
535
- embedding: memory.embedding
536
- ? Array.from(new Float32Array(memory.embedding.buffer))
537
- : undefined,
538
- timestamp: memory.timestamp,
539
- context: memory.context || undefined,
540
- importance_score: memory.importance_score,
541
- }));
410
+ return memories.map(toPersonaMemoryEntry);
542
411
  }
543
412
  /**
544
413
  * Get memory count for a persona
@@ -569,7 +438,7 @@ export class MemoryService {
569
438
  };
570
439
  }
571
440
  catch (error) {
572
- console.error('Error getting memory status:', error);
441
+ logger.error('Error getting memory status:', error);
573
442
  throw new Error('Failed to get memory status');
574
443
  }
575
444
  }
@@ -605,13 +474,11 @@ export class MemoryService {
605
474
  for (const memory of memories) {
606
475
  try {
607
476
  stmt.run(memory.id, targetUserId, // Use target user ID
608
- memory.persona_id, memory.content, memory.embedding
609
- ? Buffer.from(new Float32Array(memory.embedding).buffer)
610
- : null, memory.timestamp, memory.context || null, memory.importance_score || 0.5);
477
+ memory.persona_id, memory.content, memory.embedding ? embeddingArrayToBuffer(memory.embedding) : null, memory.timestamp, memory.context || null, memory.importance_score || 0.5);
611
478
  imported++;
612
479
  }
613
480
  catch (error) {
614
- console.error('Failed to import memory:', error);
481
+ logger.error('Failed to import memory:', error);
615
482
  // Continue with next memory
616
483
  }
617
484
  }
@@ -667,15 +534,15 @@ export class MemoryService {
667
534
  const memory = memories[i];
668
535
  if (processedIds.has(memory.id))
669
536
  continue;
670
- const embeddingA = Array.from(new Float32Array(memory.embedding.buffer));
537
+ const embeddingA = embeddingBufferToArray(memory.embedding);
671
538
  const similarMemories = [];
672
539
  // Find similar memories
673
540
  for (let j = i + 1; j < memories.length; j++) {
674
541
  const other = memories[j];
675
542
  if (processedIds.has(other.id))
676
543
  continue;
677
- const embeddingB = Array.from(new Float32Array(other.embedding.buffer));
678
- const similarity = this.cosineSimilarity(embeddingA, embeddingB);
544
+ const embeddingB = embeddingBufferToArray(other.embedding);
545
+ const similarity = cosineSimilarity(embeddingA, embeddingB);
679
546
  if (similarity >= similarityThreshold) {
680
547
  similarMemories.push(other);
681
548
  processedIds.add(other.id);
@@ -689,7 +556,7 @@ export class MemoryService {
689
556
  memory.content,
690
557
  ...similarMemories.map(m => m.content),
691
558
  ];
692
- const consolidatedContent = this.createConsolidatedContent(allContent);
559
+ const consolidatedContent = createConsolidatedContent(allContent);
693
560
  // Calculate combined importance (weighted average with boost)
694
561
  const allImportances = [
695
562
  memory.importance_score,
@@ -722,9 +589,7 @@ export class MemoryService {
722
589
  memory_type, access_count, last_accessed, decay_factor, consolidated_from
723
590
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
724
591
  `);
725
- insertStmt.run(uuidv4(), userId, personaId, consolidatedContent, newEmbedding
726
- ? Buffer.from(new Float32Array(newEmbedding).buffer)
727
- : null, Date.now(), `Consolidated from ${consolidatedFromIds.length} memories`, consolidatedImportance, consolidatedType, similarMemories.reduce((sum, m) => sum + (m.access_count || 0), memory.access_count || 0), Date.now(), 1.0, JSON.stringify(consolidatedFromIds));
592
+ insertStmt.run(uuidv4(), userId, personaId, consolidatedContent, newEmbedding ? embeddingArrayToBuffer(newEmbedding) : null, Date.now(), `Consolidated from ${consolidatedFromIds.length} memories`, consolidatedImportance, consolidatedType, similarMemories.reduce((sum, m) => sum + (m.access_count || 0), memory.access_count || 0), Date.now(), 1.0, JSON.stringify(consolidatedFromIds));
728
593
  // Mark original memories for deletion
729
594
  toDelete.push(...consolidatedFromIds);
730
595
  consolidated++;
@@ -738,28 +603,13 @@ export class MemoryService {
738
603
  deleteStmt.run(...toDelete);
739
604
  deleted = toDelete.length;
740
605
  }
741
- console.log(`[MEMORY] Consolidation complete: ${consolidated} groups merged, ${deleted} memories deleted`);
606
+ logger.debug(`[MEMORY] Consolidation complete: ${consolidated} groups merged, ${deleted} memories deleted`);
742
607
  }
743
608
  catch (error) {
744
- console.error('[MEMORY] Consolidation error:', error);
609
+ logger.error('[MEMORY] Consolidation error:', error);
745
610
  }
746
611
  return { consolidated, deleted };
747
612
  }
748
- /**
749
- * Create consolidated content from multiple similar memories
750
- */
751
- createConsolidatedContent(contents) {
752
- if (contents.length === 1)
753
- return contents[0];
754
- // For now, use the longest content as base and note the count
755
- const sorted = [...contents].sort((a, b) => b.length - a.length);
756
- const base = sorted[0];
757
- // Add a note about consolidation
758
- if (contents.length === 2) {
759
- return base;
760
- }
761
- return `${base} (consolidated from ${contents.length} related interactions)`;
762
- }
763
613
  /**
764
614
  * Get memory statistics for a persona
765
615
  */
@@ -825,7 +675,7 @@ export class MemoryService {
825
675
  updated++;
826
676
  }
827
677
  }
828
- console.log(`[MEMORY] Applied decay to ${updated} memories`);
678
+ logger.debug(`[MEMORY] Applied decay to ${updated} memories`);
829
679
  return updated;
830
680
  }
831
681
  /**
@@ -844,18 +694,7 @@ export class MemoryService {
844
694
  LIMIT ?
845
695
  `);
846
696
  const memories = stmt.all(userId, personaId, limit);
847
- return memories.map(memory => ({
848
- id: memory.id,
849
- user_id: memory.user_id,
850
- persona_id: memory.persona_id,
851
- content: memory.content,
852
- embedding: memory.embedding
853
- ? Array.from(new Float32Array(memory.embedding.buffer))
854
- : undefined,
855
- timestamp: memory.timestamp,
856
- context: memory.context || undefined,
857
- importance_score: memory.importance_score,
858
- }));
697
+ return memories.map(toPersonaMemoryEntry);
859
698
  }
860
699
  }
861
700
  export const memoryService = new MemoryService();
@@ -1 +1 @@
1
- {"version":3,"file":"memoryService.js","sourceRoot":"","sources":["../../src/services/memoryService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryService.js","sourceRoot":"","sources":["../../src/services/memoryService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAMrD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,GAIrB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAYtC,MAAM,OAAO,aAAa;IAwCxB;QAvCQ,OAAE,GAAG,eAAe,EAAE,CAAC;QACvB,oBAAe,GAAqB;YAC1C;gBACE,EAAE,EAAE,kBAAkB;gBACtB,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,4CAA4C;gBACzD,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,GAAG;aAChB;YACD;gBACE,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qDAAqD;gBAClE,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,EAAE,EAAE,wBAAwB;gBAC5B,IAAI,EAAE,+BAA+B;gBACrC,WAAW,EAAE,uCAAuC;gBACpD,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,EAAE,EAAE,wBAAwB;gBAC5B,IAAI,EAAE,+BAA+B;gBACrC,WAAW,EAAE,+CAA+C;gBAC5D,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,IAAI;aACjB;YACD;gBACE,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,yCAAyC;gBACtD,QAAQ,EAAE,uBAAuB;gBACjC,UAAU,EAAE,IAAI;aACjB;SACF,CAAC;QAGA,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,sEAAsE,CACvE,CAAC;YACF,OAAO;QACT,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;KAaZ,CAAC,CAAC;QAEH,4DAA4D;QAC5D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;KAIZ,CAAC,CAAC;QAEH,yEAAyE;QACzE,0DAA0D;QAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,6EAA6E;QAC7E,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;OAGZ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oCAAoC;YACpC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QAErB,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,OAAO,GAAG;gBACd,aAAa;gBACb,cAAc;gBACd,eAAe;gBACf,cAAc;gBACd,mBAAmB;aACpB,CAAC;YACF,MAAM,QAAQ,GAA2B;gBACvC,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,GAAG;gBACjB,aAAa,EAAE,MAAM;gBACrB,YAAY,EAAE,KAAK;gBACnB,iBAAiB,EAAE,MAAM;aAC1B,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,IAAI,CAAC,EAAE,CAAC,IAAI,CACV,2CAA2C,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,YAAY,QAAQ,CAAC,MAAM,CAAC,EAAE,CAC/G,CAAC;oBACF,MAAM,CAAC,KAAK,CACV,gCAAgC,MAAM,sBAAsB,CAC7D,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,uCAAuC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,OAAe;QAChC,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,2BAA2B,CACzB,OAAe,EACf,UAAsB,EACtB,QAAiB;QAEjB,OAAO,2BAA2B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,UAAU,CACR,kBAA0B,EAC1B,SAAiB,EACjB,cAAsB,CAAC,EACvB,YAAqB;QAErB,OAAO,gBAAgB,CACrB,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,YAAY,CACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAC7B,IAAY,EACZ,KAAa,EACb,MAAe;QAEf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CACxD;gBACE,KAAK;gBACL,KAAK,EAAE,IAAI;aACZ,EACD,MAAM,CACP,CAAC;YAEF,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,MAAc,EACd,SAAiB,EACjB,OAAe,EACf,cAAsB,EACtB,OAAgB,EAChB,eAAwB,EACxB,UAAuB;QAEvB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,4CAA4C;QAC5C,MAAM,cAAc,GAAG,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEtE,gDAAgD;QAChD,MAAM,oBAAoB,GACxB,eAAe,KAAK,SAAS;YAC3B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAEzE,qDAAqD;QACrD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACpD,MAAM,EACN,SAAS,EACT,OAAO,EACP,cAAc,EACd,IAAI,CAAC,8CAA8C;SACpD,CAAC;QAEF,sEAAsE;QACtE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iDAAiD,CACnI,CAAC;YACF,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,OAAO,WAAW,CAAC,KAA4B,CAAC;QAClD,CAAC;QAED,qBAAqB;QACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC5C,OAAO,EACP,cAAc,EACd,MAAM,CACP,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;KAKvB,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CACN,EAAE,EACF,MAAM,EACN,SAAS,EACT,OAAO,EACP,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EACpD,SAAS,EACT,OAAO,IAAI,IAAI,EACf,oBAAoB,EACpB,cAAc,EACd,CAAC,EAAE,eAAe;QAClB,IAAI,EAAE,gBAAgB;QACtB,GAAG,CAAC,eAAe;SACpB,CAAC;QAEF,MAAM,CAAC,KAAK,CACV,yBAAyB,cAAc,gBAAgB,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,cAAc,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAC7I,CAAC;QAEF,OAAO;YACL,EAAE;YACF,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,SAAS;YACrB,OAAO;YACP,SAAS,EAAE,SAAS,IAAI,SAAS;YACjC,SAAS;YACT,OAAO;YACP,gBAAgB,EAAE,oBAAoB;YACtC,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,GAAG;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,MAAc,EACd,SAAiB,EACjB,OAAe,EACf,cAAsB,EACtB,aAAqB;QAErB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACjD,OAAO,EACP,cAAc,EACd,MAAM,CACP,CAAC;QACF,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QAE/B,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;KAOvB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAwB,CAAC;QAEpE,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,SAAS;YAChC,MAAM,cAAc,GAAG,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAEpE,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE;wBACL,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,SAAS,EAAE,cAAc;wBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,SAAS;wBACpC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;qBAC1C;oBACD,gBAAgB,EAAE,UAAU;oBAC5B,cAAc,EAAE,CAAC;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,QAAgB;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;KAMvB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,MAAc,EACd,SAAiB,EACjB,KAAa,EACb,cAAsB,EACtB,IAAI,GAAG,CAAC,EACR,aAAa,GAAG,GAAG,EACnB,WAA0B,CAAC,kCAAkC;;QAE7D,+BAA+B;QAC/B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACjD,KAAK,EACL,cAAc,EACd,MAAM,CACP,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,yDAAyD;QACzD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,IAAI,GAAG,GAAG;;;;;KAKT,CAAC;QAEF,sCAAsC;QACtC,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,GAAG,IAAI,wBAAwB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACzE,CAAC;QAED,GAAG,IAAI,0BAA0B,CAAC;QAElC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,WAAW;YACxB,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;YACrC,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAwB,CAAC;QAE5D,sCAAsC;QACtC,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,qCAAqC;YACrC,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,SAAS;YAChC,MAAM,cAAc,GAAG,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEhE,MAAM,UAAU,GAAG,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAEpE,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;gBAChC,+BAA+B;gBAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CACvC,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,YAAY,IAAI,CAAC,EACxB,MAAM,CAAC,aAAa,IAAI,SAAS,CAClC,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE;wBACL,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,SAAS,EAAE,cAAc;wBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,SAAS;wBACpC,gBAAgB,EAAE,iBAAiB;qBACpC;oBACD,gBAAgB,EAAE,UAAU;oBAC5B,cAAc,EAAE,CAAC,EAAE,4BAA4B;iBAChD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzD,MAAM,MAAM,GACV,CAAC,CAAC,gBAAgB,GAAG,GAAG;gBACxB,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,IAAI,GAAG,CAAC,GAAG,IAAI;gBACxC,QAAQ,CAAC;YACX,MAAM,MAAM,GACV,CAAC,CAAC,gBAAgB,GAAG,GAAG;gBACxB,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,IAAI,GAAG,CAAC,GAAG,IAAI;gBACxC,QAAQ,CAAC;YACX,OAAO,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,4CAA4C;QAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1C,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,uCAAuC;QACvC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,MAAM;YACT,cAAc,EAAE,KAAK,GAAG,CAAC;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QAC/C,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;OAKvB,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,MAAc,EACd,SAAiB,EACjB,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,CAAC;QAEV,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;KAMvB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAgB,CAAC;QAE3E,OAAO,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,SAAiB;QACpD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAsB,CAAC;QAEhE,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,SAAiB;QAMjB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAEjE,qDAAqD;YACrD,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,iCAAiC;YAC7D,MAAM,MAAM,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YAE7D,OAAO;gBACL,YAAY,EAAE,WAAW;gBACzB,WAAW,EAAE,SAAS,EAAE,6BAA6B;gBACrD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,4BAA4B;aACtE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,SAAiB;QAClD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,MAAc,EACd,SAAiB;QAEjB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,QAA8B,EAC9B,YAAoB;QAEpB,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,EAAE,EACT,YAAY,EAAE,qBAAqB;gBACnC,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAClE,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,IAAI,IAAI,EACtB,MAAM,CAAC,gBAAgB,IAAI,GAAG,CAC/B,CAAC;gBACF,QAAQ,EAAE,CAAC;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;gBAChD,4BAA4B;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAC1B,QAAgB,EAChB,eAAuB;QAEvB,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,SAAiB,EACjB,aAAqB;QAErB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAEzE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CACvB,MAAc,EACd,SAAiB,EACjB,cAAsB,EACtB,mBAAmB,GAAG,GAAG;QAEzB,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;OAKvB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAQzC,CAAC;YAEH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;YACvC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAE1C,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC5D,MAAM,eAAe,GAAoB,EAAE,CAAC;gBAE5C,wBAAwB;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAAE,SAAS;oBAEzC,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC3D,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;oBAE5D,IAAI,UAAU,IAAI,mBAAmB,EAAE,CAAC;wBACtC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC5B,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBAED,iDAAiD;gBACjD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAE5B,8BAA8B;oBAC9B,MAAM,UAAU,GAAG;wBACjB,MAAM,CAAC,OAAO;wBACd,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;qBACvC,CAAC;oBACF,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;oBAElE,8DAA8D;oBAC9D,MAAM,cAAc,GAAG;wBACrB,MAAM,CAAC,gBAAgB;wBACvB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;qBAChD,CAAC;oBACF,MAAM,aAAa,GACjB,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;oBACpE,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,8BAA8B;oBAEjG,kCAAkC;oBAClC,MAAM,KAAK,GAAG;wBACZ,MAAM,CAAC,WAAW;wBAClB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;qBAC3C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAClB,MAAM,SAAS,GAA2B,EAAE,CAAC;oBAC7C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBAChB,IAAI,CAAC;4BAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBACH,MAAM,gBAAgB,GACpB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC7D,SAAS,CAAC;oBAEZ,kDAAkD;oBAClD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC/C,mBAAmB,EACnB,cAAc,EACd,MAAM,CACP,CAAC;oBAEF,4BAA4B;oBAC5B,MAAM,mBAAmB,GAAG;wBAC1B,MAAM,CAAC,EAAE;wBACT,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAClC,CAAC;oBAEF,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;WAK7B,CAAC,CAAC;oBAEH,UAAU,CAAC,GAAG,CACZ,MAAM,EAAE,EACR,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAC1D,IAAI,CAAC,GAAG,EAAE,EACV,qBAAqB,mBAAmB,CAAC,MAAM,WAAW,EAC1D,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,CAAC,MAAM,CACpB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,EACvC,MAAM,CAAC,YAAY,IAAI,CAAC,CACzB,EACD,IAAI,CAAC,GAAG,EAAE,EACV,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CACpC,CAAC;oBAEF,sCAAsC;oBACtC,QAAQ,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;oBACtC,YAAY,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,kDAAkD;YAClD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;sDACgB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SAC9E,CAAC,CAAC;gBACH,UAAU,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAC5B,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5B,CAAC;YAED,MAAM,CAAC,KAAK,CACV,oCAAoC,YAAY,mBAAmB,OAAO,mBAAmB,CAC9F,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,MAAc,EACd,SAAiB;QASjB,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEjC,qBAAqB;QACrB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;KAK3B,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAG/C,CAAC;QAEH,sBAAsB;QACtB,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;KAS5B,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAM5C,CAAC;QAEF,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;YAC5C,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC,GAAG,KAAK,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,MAAM;YACf,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,GAAG;YAC3C,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,SAAiB;QACtD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEjC,mBAAmB;QACnB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;KAI7B,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAM/C,CAAC;QAEH,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;KAI7B,CAAC,CAAC;QAEH,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CACnC,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,YAAY,IAAI,CAAC,EACxB,MAAM,CAAC,aAAa,IAAI,SAAS,CAClC,CAAC;YAEF,kDAAkD;YAClD,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,CAAC;gBAC7D,MAAM,WAAW,GAAG,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBAC5D,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,WAAW,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,SAAiB,EACjB,KAAK,GAAG,CAAC;QAET,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;KASvB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAwB,CAAC;QAE3E,OAAO,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { PersonaMemoryEntry } from '../types/index.js';
2
+ export type MemoryType = 'fact' | 'preference' | 'experience' | 'emotional' | 'context' | 'instruction' | 'general';
3
+ export interface MemoryRow {
4
+ id: string;
5
+ user_id: string;
6
+ persona_id: string;
7
+ content: string;
8
+ embedding: Buffer | null;
9
+ timestamp: number;
10
+ context: string | null;
11
+ importance_score: number;
12
+ }
13
+ export interface EnhancedMemoryRow extends MemoryRow {
14
+ memory_type: string | null;
15
+ access_count: number | null;
16
+ last_accessed: number | null;
17
+ decay_factor: number | null;
18
+ }
19
+ export declare const memoryColumnTypes: Record<string, string>;
20
+ export declare function getMemoryColumnType(column: string): string;
21
+ export declare function classifyMemoryType(content: string): MemoryType;
22
+ export declare function calculateEnhancedImportance(content: string, memoryType: MemoryType): number;
23
+ export declare function applyMemoryDecay(originalImportance: number, timestamp: number, accessCount?: number, lastAccessed?: number): number;
24
+ export declare function cosineSimilarity(a: number[], b: number[]): number;
25
+ export declare function embeddingBufferToArray(embedding: Buffer): number[];
26
+ export declare function embeddingArrayToBuffer(embedding: number[]): Buffer;
27
+ export declare function toPersonaMemoryEntry(row: MemoryRow): PersonaMemoryEntry;
28
+ export declare function createConsolidatedContent(contents: string[]): string;
29
+ //# sourceMappingURL=memoryUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoryUtils.d.ts","sourceRoot":"","sources":["../../src/services/memoryUtils.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,SAAS,GACT,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMpD,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAoD9D;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,GACrB,MAAM,CAmCR;AAED,wBAAgB,gBAAgB,CAC9B,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,MAAM,EACjB,WAAW,SAAI,EACf,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAmBR;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAgBjE;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAElE;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAElE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,SAAS,GAAG,kBAAkB,CAavE;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAWpE"}