@cmdoss/memwal-sdk 0.6.0 → 0.6.2

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 (273) hide show
  1. package/ARCHITECTURE.md +547 -463
  2. package/BENCHMARKS.md +238 -238
  3. package/README.md +181 -142
  4. package/dist/ai-sdk/PDWVectorStore.d.ts.map +1 -1
  5. package/dist/ai-sdk/PDWVectorStore.js +4 -1
  6. package/dist/ai-sdk/PDWVectorStore.js.map +1 -1
  7. package/dist/ai-sdk/types.d.ts +2 -2
  8. package/dist/ai-sdk/types.d.ts.map +1 -1
  9. package/dist/browser.d.ts +12 -13
  10. package/dist/browser.d.ts.map +1 -1
  11. package/dist/browser.js +18 -12
  12. package/dist/browser.js.map +1 -1
  13. package/dist/client/ClientMemoryManager.d.ts +1 -0
  14. package/dist/client/ClientMemoryManager.d.ts.map +1 -1
  15. package/dist/client/ClientMemoryManager.js +5 -1
  16. package/dist/client/ClientMemoryManager.js.map +1 -1
  17. package/dist/client/SimplePDWClient.d.ts +23 -0
  18. package/dist/client/SimplePDWClient.d.ts.map +1 -1
  19. package/dist/client/SimplePDWClient.js +19 -6
  20. package/dist/client/SimplePDWClient.js.map +1 -1
  21. package/dist/client/namespaces/BatchNamespace.js +2 -2
  22. package/dist/client/namespaces/BatchNamespace.js.map +1 -1
  23. package/dist/client/namespaces/IndexNamespace.d.ts +38 -9
  24. package/dist/client/namespaces/IndexNamespace.d.ts.map +1 -1
  25. package/dist/client/namespaces/IndexNamespace.js +77 -10
  26. package/dist/client/namespaces/IndexNamespace.js.map +1 -1
  27. package/dist/client/namespaces/MemoryNamespace.js +3 -3
  28. package/dist/client/namespaces/MemoryNamespace.js.map +1 -1
  29. package/dist/client/namespaces/SearchNamespace.d.ts.map +1 -1
  30. package/dist/client/namespaces/SearchNamespace.js +25 -14
  31. package/dist/client/namespaces/SearchNamespace.js.map +1 -1
  32. package/dist/client/namespaces/StorageNamespace.js +4 -4
  33. package/dist/client/namespaces/StorageNamespace.js.map +1 -1
  34. package/dist/client/namespaces/consolidated/BlockchainNamespace.d.ts.map +1 -1
  35. package/dist/client/namespaces/consolidated/BlockchainNamespace.js +49 -1
  36. package/dist/client/namespaces/consolidated/BlockchainNamespace.js.map +1 -1
  37. package/dist/client/namespaces/consolidated/StorageNamespace.d.ts +46 -0
  38. package/dist/client/namespaces/consolidated/StorageNamespace.d.ts.map +1 -1
  39. package/dist/client/namespaces/consolidated/StorageNamespace.js +36 -2
  40. package/dist/client/namespaces/consolidated/StorageNamespace.js.map +1 -1
  41. package/dist/client/signers/DappKitSigner.d.ts +136 -0
  42. package/dist/client/signers/DappKitSigner.d.ts.map +1 -0
  43. package/dist/client/signers/DappKitSigner.js +128 -0
  44. package/dist/client/signers/DappKitSigner.js.map +1 -0
  45. package/dist/client/signers/KeypairSigner.d.ts +4 -0
  46. package/dist/client/signers/KeypairSigner.d.ts.map +1 -1
  47. package/dist/client/signers/KeypairSigner.js +6 -0
  48. package/dist/client/signers/KeypairSigner.js.map +1 -1
  49. package/dist/client/signers/UnifiedSigner.d.ts +10 -0
  50. package/dist/client/signers/UnifiedSigner.d.ts.map +1 -1
  51. package/dist/client/signers/WalletAdapterSigner.d.ts +7 -0
  52. package/dist/client/signers/WalletAdapterSigner.d.ts.map +1 -1
  53. package/dist/client/signers/WalletAdapterSigner.js +9 -0
  54. package/dist/client/signers/WalletAdapterSigner.js.map +1 -1
  55. package/dist/client/signers/index.d.ts +3 -0
  56. package/dist/client/signers/index.d.ts.map +1 -1
  57. package/dist/client/signers/index.js +2 -0
  58. package/dist/client/signers/index.js.map +1 -1
  59. package/dist/generated/utils/index.js +1 -1
  60. package/dist/generated/utils/index.js.map +1 -1
  61. package/dist/graph/GraphService.js +1 -1
  62. package/dist/index.d.ts +2 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +2 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/permissions/ConsentRepository.browser.d.ts +56 -0
  67. package/dist/permissions/ConsentRepository.browser.d.ts.map +1 -0
  68. package/dist/permissions/ConsentRepository.browser.js +198 -0
  69. package/dist/permissions/ConsentRepository.browser.js.map +1 -0
  70. package/dist/services/CapabilityService.js +1 -1
  71. package/dist/services/CapabilityService.js.map +1 -1
  72. package/dist/services/EncryptionService.js +1 -1
  73. package/dist/services/EncryptionService.js.map +1 -1
  74. package/dist/services/GeminiAIService.d.ts.map +1 -1
  75. package/dist/services/GeminiAIService.js +283 -27
  76. package/dist/services/GeminiAIService.js.map +1 -1
  77. package/dist/services/MemoryIndexService.d.ts +31 -2
  78. package/dist/services/MemoryIndexService.d.ts.map +1 -1
  79. package/dist/services/MemoryIndexService.js +75 -3
  80. package/dist/services/MemoryIndexService.js.map +1 -1
  81. package/dist/services/StorageService.d.ts +8 -8
  82. package/dist/services/StorageService.d.ts.map +1 -1
  83. package/dist/services/StorageService.js.map +1 -1
  84. package/dist/services/VectorService.js +2 -2
  85. package/dist/services/VectorService.js.map +1 -1
  86. package/dist/services/storage/BlobAttributesManager.d.ts +4 -4
  87. package/dist/services/storage/BlobAttributesManager.d.ts.map +1 -1
  88. package/dist/services/storage/BlobAttributesManager.js +6 -15
  89. package/dist/services/storage/BlobAttributesManager.js.map +1 -1
  90. package/dist/services/storage/QuiltBatchManager.d.ts +33 -8
  91. package/dist/services/storage/QuiltBatchManager.d.ts.map +1 -1
  92. package/dist/services/storage/QuiltBatchManager.js +153 -48
  93. package/dist/services/storage/QuiltBatchManager.js.map +1 -1
  94. package/dist/services/storage/WalrusMetadataManager.d.ts +2 -2
  95. package/dist/services/storage/WalrusMetadataManager.d.ts.map +1 -1
  96. package/dist/services/storage/WalrusMetadataManager.js +2 -5
  97. package/dist/services/storage/WalrusMetadataManager.js.map +1 -1
  98. package/dist/services/storage/WalrusStorageManager.d.ts +2 -2
  99. package/dist/services/storage/WalrusStorageManager.d.ts.map +1 -1
  100. package/dist/services/storage/WalrusStorageManager.js +7 -11
  101. package/dist/services/storage/WalrusStorageManager.js.map +1 -1
  102. package/dist/utils/rebuildIndexNode.d.ts.map +1 -1
  103. package/dist/utils/rebuildIndexNode.js +109 -35
  104. package/dist/utils/rebuildIndexNode.js.map +1 -1
  105. package/dist/vector/NodeHnswService.d.ts.map +1 -1
  106. package/dist/vector/NodeHnswService.js +26 -7
  107. package/dist/vector/NodeHnswService.js.map +1 -1
  108. package/dist/wallet/MainWalletService.js +1 -1
  109. package/dist/wallet/MainWalletService.js.map +1 -1
  110. package/package.json +10 -3
  111. package/src/access/index.ts +8 -8
  112. package/src/aggregation/index.ts +8 -8
  113. package/src/ai-sdk/PDWVectorStore.ts +4 -1
  114. package/src/ai-sdk/types.ts +2 -2
  115. package/src/browser.ts +28 -24
  116. package/src/client/ClientMemoryManager.ts +6 -1
  117. package/src/client/SimplePDWClient.ts +57 -15
  118. package/src/client/namespaces/BatchNamespace.ts +2 -2
  119. package/src/client/namespaces/IndexNamespace.ts +89 -11
  120. package/src/client/namespaces/MemoryNamespace.ts +3 -3
  121. package/src/client/namespaces/SearchNamespace.ts +27 -14
  122. package/src/client/namespaces/StorageNamespace.ts +4 -4
  123. package/src/client/namespaces/consolidated/BlockchainNamespace.ts +55 -1
  124. package/src/client/namespaces/consolidated/StorageNamespace.ts +59 -2
  125. package/src/client/signers/DappKitSigner.ts +207 -0
  126. package/src/client/signers/KeypairSigner.ts +7 -0
  127. package/src/client/signers/UnifiedSigner.ts +11 -0
  128. package/src/client/signers/WalletAdapterSigner.ts +10 -0
  129. package/src/client/signers/index.ts +7 -0
  130. package/src/generated/pdw/capability.ts +319 -319
  131. package/src/generated/utils/index.ts +1 -1
  132. package/src/graph/GraphService.ts +1 -1
  133. package/src/index.ts +16 -0
  134. package/src/permissions/ConsentRepository.browser.ts +249 -0
  135. package/src/permissions/index.ts +9 -9
  136. package/src/services/CapabilityService.ts +1 -1
  137. package/src/services/EncryptionService.ts +1 -1
  138. package/src/services/GeminiAIService.ts +283 -27
  139. package/src/services/MemoryIndexService.ts +85 -3
  140. package/src/services/StorageService.ts +8 -8
  141. package/src/services/VectorService.ts +2 -2
  142. package/src/services/storage/BlobAttributesManager.ts +10 -19
  143. package/src/services/storage/QuiltBatchManager.ts +178 -50
  144. package/src/services/storage/WalrusMetadataManager.ts +4 -7
  145. package/src/services/storage/WalrusStorageManager.ts +10 -13
  146. package/src/utils/rebuildIndexNode.ts +126 -43
  147. package/src/vector/NodeHnswService.ts +29 -7
  148. package/src/wallet/MainWalletService.ts +1 -1
  149. package/src/wallet/index.ts +17 -17
  150. package/dist/api/client.d.ts +0 -43
  151. package/dist/api/client.d.ts.map +0 -1
  152. package/dist/api/client.js +0 -136
  153. package/dist/api/client.js.map +0 -1
  154. package/dist/chat/index.d.ts +0 -13
  155. package/dist/chat/index.d.ts.map +0 -1
  156. package/dist/chat/index.js +0 -14
  157. package/dist/chat/index.js.map +0 -1
  158. package/dist/client/namespaces/ChatNamespace.d.ts +0 -110
  159. package/dist/client/namespaces/ChatNamespace.d.ts.map +0 -1
  160. package/dist/client/namespaces/ChatNamespace.js +0 -123
  161. package/dist/client/namespaces/ChatNamespace.js.map +0 -1
  162. package/dist/encryption/index.d.ts +0 -14
  163. package/dist/encryption/index.d.ts.map +0 -1
  164. package/dist/encryption/index.js +0 -14
  165. package/dist/encryption/index.js.map +0 -1
  166. package/dist/graph/BrowserKnowledgeGraphManager.d.ts +0 -101
  167. package/dist/graph/BrowserKnowledgeGraphManager.d.ts.map +0 -1
  168. package/dist/graph/BrowserKnowledgeGraphManager.js +0 -411
  169. package/dist/graph/BrowserKnowledgeGraphManager.js.map +0 -1
  170. package/dist/hooks.wip/index.d.ts +0 -55
  171. package/dist/hooks.wip/index.d.ts.map +0 -1
  172. package/dist/hooks.wip/index.js +0 -58
  173. package/dist/hooks.wip/index.js.map +0 -1
  174. package/dist/hooks.wip/useCreateMemory.d.ts +0 -111
  175. package/dist/hooks.wip/useCreateMemory.d.ts.map +0 -1
  176. package/dist/hooks.wip/useCreateMemory.js +0 -149
  177. package/dist/hooks.wip/useCreateMemory.js.map +0 -1
  178. package/dist/hooks.wip/useCreateMemoryBatch.d.ts +0 -122
  179. package/dist/hooks.wip/useCreateMemoryBatch.d.ts.map +0 -1
  180. package/dist/hooks.wip/useCreateMemoryBatch.js +0 -221
  181. package/dist/hooks.wip/useCreateMemoryBatch.js.map +0 -1
  182. package/dist/hooks.wip/useKnowledgeGraph.d.ts +0 -66
  183. package/dist/hooks.wip/useKnowledgeGraph.d.ts.map +0 -1
  184. package/dist/hooks.wip/useKnowledgeGraph.js +0 -229
  185. package/dist/hooks.wip/useKnowledgeGraph.js.map +0 -1
  186. package/dist/hooks.wip/useMemoryChat.d.ts +0 -106
  187. package/dist/hooks.wip/useMemoryChat.d.ts.map +0 -1
  188. package/dist/hooks.wip/useMemoryChat.js +0 -284
  189. package/dist/hooks.wip/useMemoryChat.js.map +0 -1
  190. package/dist/hooks.wip/useMemoryIndex.d.ts +0 -90
  191. package/dist/hooks.wip/useMemoryIndex.d.ts.map +0 -1
  192. package/dist/hooks.wip/useMemoryIndex.js +0 -218
  193. package/dist/hooks.wip/useMemoryIndex.js.map +0 -1
  194. package/dist/hooks.wip/useMemoryManager.d.ts +0 -35
  195. package/dist/hooks.wip/useMemoryManager.d.ts.map +0 -1
  196. package/dist/hooks.wip/useMemoryManager.js +0 -86
  197. package/dist/hooks.wip/useMemoryManager.js.map +0 -1
  198. package/dist/hooks.wip/useMemorySearch.d.ts +0 -100
  199. package/dist/hooks.wip/useMemorySearch.d.ts.map +0 -1
  200. package/dist/hooks.wip/useMemorySearch.js +0 -278
  201. package/dist/hooks.wip/useMemorySearch.js.map +0 -1
  202. package/dist/hooks.wip/useMemoryServices.d.ts +0 -80
  203. package/dist/hooks.wip/useMemoryServices.d.ts.map +0 -1
  204. package/dist/hooks.wip/useMemoryServices.js +0 -264
  205. package/dist/hooks.wip/useMemoryServices.js.map +0 -1
  206. package/dist/hooks.wip/usePDWRAG.d.ts +0 -112
  207. package/dist/hooks.wip/usePDWRAG.d.ts.map +0 -1
  208. package/dist/hooks.wip/usePDWRAG.js +0 -121
  209. package/dist/hooks.wip/usePDWRAG.js.map +0 -1
  210. package/dist/hooks.wip/usePDWVectorStore.d.ts +0 -68
  211. package/dist/hooks.wip/usePDWVectorStore.d.ts.map +0 -1
  212. package/dist/hooks.wip/usePDWVectorStore.js +0 -102
  213. package/dist/hooks.wip/usePDWVectorStore.js.map +0 -1
  214. package/dist/hooks.wip/useRetrieveEmbedding.d.ts +0 -138
  215. package/dist/hooks.wip/useRetrieveEmbedding.d.ts.map +0 -1
  216. package/dist/hooks.wip/useRetrieveEmbedding.js +0 -121
  217. package/dist/hooks.wip/useRetrieveEmbedding.js.map +0 -1
  218. package/dist/hooks.wip/useSearchMemories.d.ts +0 -103
  219. package/dist/hooks.wip/useSearchMemories.d.ts.map +0 -1
  220. package/dist/hooks.wip/useSearchMemories.js +0 -146
  221. package/dist/hooks.wip/useSearchMemories.js.map +0 -1
  222. package/dist/hooks.wip/useStoreEmbedding.d.ts +0 -174
  223. package/dist/hooks.wip/useStoreEmbedding.d.ts.map +0 -1
  224. package/dist/hooks.wip/useStoreEmbedding.js +0 -167
  225. package/dist/hooks.wip/useStoreEmbedding.js.map +0 -1
  226. package/dist/hooks.wip/useWalletMemories.d.ts +0 -119
  227. package/dist/hooks.wip/useWalletMemories.d.ts.map +0 -1
  228. package/dist/hooks.wip/useWalletMemories.js +0 -166
  229. package/dist/hooks.wip/useWalletMemories.js.map +0 -1
  230. package/dist/hooks.wip/utils/cache.d.ts +0 -25
  231. package/dist/hooks.wip/utils/cache.d.ts.map +0 -1
  232. package/dist/hooks.wip/utils/cache.js +0 -38
  233. package/dist/hooks.wip/utils/cache.js.map +0 -1
  234. package/dist/hooks.wip/utils/types.d.ts +0 -138
  235. package/dist/hooks.wip/utils/types.d.ts.map +0 -1
  236. package/dist/hooks.wip/utils/types.js +0 -5
  237. package/dist/hooks.wip/utils/types.js.map +0 -1
  238. package/dist/infrastructure/ai/EmbeddingService.d.ts +0 -101
  239. package/dist/infrastructure/ai/EmbeddingService.d.ts.map +0 -1
  240. package/dist/infrastructure/ai/EmbeddingService.js +0 -242
  241. package/dist/infrastructure/ai/EmbeddingService.js.map +0 -1
  242. package/dist/infrastructure/ai/GeminiAIService.d.ts +0 -84
  243. package/dist/infrastructure/ai/GeminiAIService.d.ts.map +0 -1
  244. package/dist/infrastructure/ai/GeminiAIService.js +0 -300
  245. package/dist/infrastructure/ai/GeminiAIService.js.map +0 -1
  246. package/dist/infrastructure/ai/index.d.ts +0 -8
  247. package/dist/infrastructure/ai/index.d.ts.map +0 -1
  248. package/dist/infrastructure/ai/index.js +0 -8
  249. package/dist/infrastructure/ai/index.js.map +0 -1
  250. package/dist/memory/index.d.ts +0 -13
  251. package/dist/memory/index.d.ts.map +0 -1
  252. package/dist/memory/index.js +0 -14
  253. package/dist/memory/index.js.map +0 -1
  254. package/dist/services/ChatService.d.ts +0 -89
  255. package/dist/services/ChatService.d.ts.map +0 -1
  256. package/dist/services/ChatService.js +0 -319
  257. package/dist/services/ChatService.js.map +0 -1
  258. package/dist/transactions/index.d.ts +0 -13
  259. package/dist/transactions/index.d.ts.map +0 -1
  260. package/dist/transactions/index.js +0 -14
  261. package/dist/transactions/index.js.map +0 -1
  262. package/dist/types/wallet.d.ts +0 -12
  263. package/dist/types/wallet.d.ts.map +0 -1
  264. package/dist/types/wallet.js +0 -13
  265. package/dist/types/wallet.js.map +0 -1
  266. package/dist/view/ViewService.d.ts +0 -136
  267. package/dist/view/ViewService.d.ts.map +0 -1
  268. package/dist/view/ViewService.js +0 -325
  269. package/dist/view/ViewService.js.map +0 -1
  270. package/dist/view/index.d.ts +0 -7
  271. package/dist/view/index.d.ts.map +0 -1
  272. package/dist/view/index.js +0 -7
  273. package/dist/view/index.js.map +0 -1
@@ -157,35 +157,291 @@ JSON:`;
157
157
  buildExtractionPrompt(content, context) {
158
158
  const contextSection = context ? `\nCONTEXT: ${context}\n` : '';
159
159
  return `
160
- Extract meaningful entities and relationships from the following text. Focus on:
161
- - People (names, roles, professions)
162
- - Organizations (companies, institutions, groups)
163
- - Locations (cities, countries, places)
164
- - Concepts (technologies, ideas, skills)
165
- - Events (meetings, projects, activities)
166
- - Objects (products, tools, resources)
167
-
168
- Return a valid JSON response with "entities" and "relationships" arrays.
169
-
170
- For entities:
171
- - "id": unique identifier using snake_case (e.g., "john_doe", "machine_learning")
172
- - "label": human-readable name (e.g., "John Doe", "Machine Learning")
173
- - "type": entity category (person, organization, location, concept, event, object)
174
- - "confidence": confidence score 0.0-1.0
175
- - "properties": optional additional attributes
176
-
177
- For relationships:
178
- - "source": source entity id
179
- - "target": target entity id
180
- - "label": relationship description (e.g., "works_at", "located_in", "uses")
181
- - "confidence": confidence score 0.0-1.0
182
- - "type": optional relationship category
183
-
184
- Only include entities with confidence >= 0.6 and clear, meaningful relationships.
160
+ You are a knowledge graph extraction system for a Personal Data Wallet application. Your task is to extract meaningful entities and relationships from personal memories, notes, and user statements.
161
+
162
+ ## CRITICAL RULE: User Entity
163
+ ALWAYS include a "user" entity to represent the person who wrote this memory:
164
+ {
165
+ "id": "user",
166
+ "label": "User",
167
+ "type": "person",
168
+ "confidence": 1.0
169
+ }
170
+ This "user" entity should be the source or target of relationships describing personal preferences, attributes, or experiences.
171
+
172
+ ## Entity Types (Comprehensive List)
173
+
174
+ ### People & Social
175
+ - **person**: Individual people, including the user themselves
176
+ - Examples: "user", "john_doe", "my_mother", "boss"
177
+ - Properties: name, role, relationship_to_user
178
+
179
+ ### Organizations & Groups
180
+ - **organization**: Companies, institutions, teams, communities
181
+ - Examples: "google", "harvard_university", "local_gym"
182
+ - Properties: industry, size, location
183
+
184
+ ### Locations & Places
185
+ - **location**: Geographic places, addresses, venues
186
+ - Examples: "ho_chi_minh_city", "vietnam", "my_office", "central_park"
187
+ - Properties: type (city/country/venue), coordinates
188
+
189
+ ### Food & Dining
190
+ - **food**: Foods, dishes, cuisines, beverages, ingredients
191
+ - Examples: "spaghetti", "vietnamese_cuisine", "coffee", "chocolate"
192
+ - Properties: cuisine_type, meal_type, dietary_info
193
+ - **restaurant**: Eating establishments
194
+ - Examples: "starbucks", "local_pho_shop"
195
+ - Properties: cuisine, price_range
196
+
197
+ ### Preferences & Interests
198
+ - **preference**: General likes, dislikes, favorites
199
+ - Examples: "blue_color", "morning_routine", "minimalist_style"
200
+ - Properties: sentiment (positive/negative/neutral), intensity (1-10)
201
+ - **hobby**: Recreational activities, pastimes
202
+ - Examples: "playing_guitar", "photography", "hiking", "gaming"
203
+ - Properties: frequency, skill_level
204
+ - **interest**: Topics of curiosity or passion
205
+ - Examples: "artificial_intelligence", "history", "cooking"
206
+ - Properties: depth (casual/moderate/deep)
207
+
208
+ ### Skills & Abilities
209
+ - **skill**: Technical or soft skills, expertise areas
210
+ - Examples: "python_programming", "public_speaking", "cooking"
211
+ - Properties: proficiency (beginner/intermediate/expert)
212
+ - **language**: Languages known or being learned
213
+ - Examples: "english", "vietnamese", "japanese"
214
+ - Properties: proficiency, native (true/false)
215
+
216
+ ### Objects & Possessions
217
+ - **object**: Physical items, products, tools
218
+ - Examples: "macbook_pro", "my_car", "guitar"
219
+ - Properties: brand, model, acquisition_date
220
+ - **digital_product**: Software, apps, digital services
221
+ - Examples: "spotify", "notion", "chatgpt"
222
+ - Properties: category, usage_frequency
223
+
224
+ ### Time & Events
225
+ - **event**: Occasions, milestones, meetings
226
+ - Examples: "birthday_2024", "job_interview", "vacation_trip"
227
+ - Properties: date, duration, importance
228
+ - **routine**: Regular activities or habits
229
+ - Examples: "morning_workout", "weekly_meeting", "daily_meditation"
230
+ - Properties: frequency, time_of_day
231
+
232
+ ### Abstract & Conceptual
233
+ - **concept**: Ideas, topics, abstract things
234
+ - Examples: "work_life_balance", "productivity", "happiness"
235
+ - **goal**: Objectives, aspirations, plans
236
+ - Examples: "learn_japanese", "run_marathon", "save_money"
237
+ - Properties: deadline, priority, status
238
+ - **emotion**: Feelings, moods, emotional states
239
+ - Examples: "happiness", "stress", "excitement"
240
+ - Properties: intensity, trigger
241
+
242
+ ### Health & Wellness
243
+ - **health_condition**: Medical conditions, allergies
244
+ - Examples: "lactose_intolerance", "migraine", "allergy_to_peanuts"
245
+ - **medication**: Medicines, supplements
246
+ - Examples: "vitamin_d", "aspirin"
247
+ - **exercise**: Physical activities for health
248
+ - Examples: "running", "yoga", "weight_training"
249
+
250
+ ### Media & Entertainment
251
+ - **music**: Songs, artists, genres, albums
252
+ - Examples: "jazz_music", "beatles", "classical_piano"
253
+ - **movie**: Films, TV shows, documentaries
254
+ - Examples: "inception", "game_of_thrones"
255
+ - **book**: Books, authors, genres
256
+ - Examples: "atomic_habits", "fiction_genre"
257
+ - **game**: Video games, board games
258
+ - Examples: "chess", "minecraft"
259
+
260
+ ## Relationship Types (Comprehensive List)
261
+
262
+ ### Preference Relationships (source: usually "user")
263
+ - **loves**: Strong positive preference (intensity 9-10)
264
+ - **likes**: Moderate positive preference (intensity 6-8)
265
+ - **enjoys**: Positive experience with something
266
+ - **prefers**: Comparative preference
267
+ - **favorite**: Top choice in a category
268
+ - **interested_in**: Curiosity or engagement
269
+ - **dislikes**: Moderate negative preference
270
+ - **hates**: Strong negative preference (intensity 9-10)
271
+ - **avoids**: Intentionally stays away from
272
+ - **allergic_to**: Medical/physical aversion
273
+
274
+ ### Affiliation Relationships
275
+ - **works_at**: Employment relationship
276
+ - **studies_at**: Educational institution
277
+ - **member_of**: Group membership
278
+ - **belongs_to**: General affiliation
279
+ - **founded**: Created an organization
280
+ - **leads**: Leadership role
281
+
282
+ ### Location Relationships
283
+ - **lives_in**: Current residence
284
+ - **from**: Origin/hometown
285
+ - **located_in**: Physical location
286
+ - **visited**: Past travel
287
+ - **wants_to_visit**: Travel aspiration
288
+
289
+ ### Social Relationships
290
+ - **knows**: Acquaintance
291
+ - **friends_with**: Friendship
292
+ - **family_of**: Family relationship (specify: parent, sibling, child, spouse)
293
+ - **works_with**: Professional relationship
294
+ - **mentored_by**: Learning relationship
295
+
296
+ ### Skill & Knowledge Relationships
297
+ - **has_skill**: Possesses ability
298
+ - **expert_in**: High proficiency
299
+ - **learning**: Currently acquiring
300
+ - **wants_to_learn**: Aspiration to learn
301
+ - **teaches**: Instructing others
302
+ - **certified_in**: Formal qualification
303
+
304
+ ### Possession & Usage
305
+ - **owns**: Ownership
306
+ - **uses**: Regular usage
307
+ - **wants**: Desire to acquire
308
+ - **recommends**: Positive endorsement
309
+
310
+ ### Temporal Relationships
311
+ - **started_on**: Beginning date
312
+ - **ended_on**: Ending date
313
+ - **scheduled_for**: Future event
314
+ - **happens_during**: Temporal context
315
+
316
+ ### Causal & Descriptive
317
+ - **causes**: Causal relationship
318
+ - **related_to**: General association
319
+ - **part_of**: Component relationship
320
+ - **similar_to**: Similarity
321
+ - **opposite_of**: Contrast
322
+
323
+ ## Output Format
324
+
325
+ Return ONLY valid JSON with this structure:
326
+ {
327
+ "entities": [
328
+ {
329
+ "id": "snake_case_identifier",
330
+ "label": "Human Readable Name",
331
+ "type": "entity_type_from_list_above",
332
+ "confidence": 0.0-1.0,
333
+ "properties": { "optional": "attributes" }
334
+ }
335
+ ],
336
+ "relationships": [
337
+ {
338
+ "source": "source_entity_id",
339
+ "target": "target_entity_id",
340
+ "label": "relationship_type_from_list_above",
341
+ "confidence": 0.0-1.0,
342
+ "type": "optional_category"
343
+ }
344
+ ]
345
+ }
346
+
347
+ ## Examples
348
+
349
+ ### Example 1: Food Preference
350
+ Input: "i love spaghetti"
351
+ Output:
352
+ {
353
+ "entities": [
354
+ {"id": "user", "label": "User", "type": "person", "confidence": 1.0},
355
+ {"id": "spaghetti", "label": "Spaghetti", "type": "food", "confidence": 0.95, "properties": {"cuisine": "italian", "meal_type": "main_course"}}
356
+ ],
357
+ "relationships": [
358
+ {"source": "user", "target": "spaghetti", "label": "loves", "confidence": 0.95, "type": "preference"}
359
+ ]
360
+ }
361
+
362
+ ### Example 2: Multiple Preferences
363
+ Input: "i like hamburgers but hate vegetables"
364
+ Output:
365
+ {
366
+ "entities": [
367
+ {"id": "user", "label": "User", "type": "person", "confidence": 1.0},
368
+ {"id": "hamburgers", "label": "Hamburgers", "type": "food", "confidence": 0.95},
369
+ {"id": "vegetables", "label": "Vegetables", "type": "food", "confidence": 0.95}
370
+ ],
371
+ "relationships": [
372
+ {"source": "user", "target": "hamburgers", "label": "likes", "confidence": 0.9, "type": "preference"},
373
+ {"source": "user", "target": "vegetables", "label": "dislikes", "confidence": 0.9, "type": "preference"}
374
+ ]
375
+ }
376
+
377
+ ### Example 3: Work Information
378
+ Input: "i work at Google as a software engineer in Mountain View"
379
+ Output:
380
+ {
381
+ "entities": [
382
+ {"id": "user", "label": "User", "type": "person", "confidence": 1.0, "properties": {"role": "software_engineer"}},
383
+ {"id": "google", "label": "Google", "type": "organization", "confidence": 0.98, "properties": {"industry": "technology"}},
384
+ {"id": "software_engineer", "label": "Software Engineer", "type": "skill", "confidence": 0.9},
385
+ {"id": "mountain_view", "label": "Mountain View", "type": "location", "confidence": 0.95, "properties": {"type": "city"}}
386
+ ],
387
+ "relationships": [
388
+ {"source": "user", "target": "google", "label": "works_at", "confidence": 0.98, "type": "affiliation"},
389
+ {"source": "user", "target": "software_engineer", "label": "has_skill", "confidence": 0.9, "type": "skill"},
390
+ {"source": "google", "target": "mountain_view", "label": "located_in", "confidence": 0.85, "type": "location"}
391
+ ]
392
+ }
393
+
394
+ ### Example 4: Personal Life
395
+ Input: "my name is Aaron and I live in Ho Chi Minh City with my wife"
396
+ Output:
397
+ {
398
+ "entities": [
399
+ {"id": "user", "label": "Aaron", "type": "person", "confidence": 1.0, "properties": {"name": "Aaron"}},
400
+ {"id": "ho_chi_minh_city", "label": "Ho Chi Minh City", "type": "location", "confidence": 0.98, "properties": {"type": "city", "country": "Vietnam"}},
401
+ {"id": "wife", "label": "Wife", "type": "person", "confidence": 0.9, "properties": {"relationship": "spouse"}}
402
+ ],
403
+ "relationships": [
404
+ {"source": "user", "target": "ho_chi_minh_city", "label": "lives_in", "confidence": 0.98, "type": "location"},
405
+ {"source": "user", "target": "wife", "label": "family_of", "confidence": 0.95, "type": "social", "properties": {"relationship_type": "spouse"}}
406
+ ]
407
+ }
408
+
409
+ ### Example 5: Hobbies and Interests
410
+ Input: "i enjoy playing guitar and listening to jazz music on weekends"
411
+ Output:
412
+ {
413
+ "entities": [
414
+ {"id": "user", "label": "User", "type": "person", "confidence": 1.0},
415
+ {"id": "playing_guitar", "label": "Playing Guitar", "type": "hobby", "confidence": 0.95},
416
+ {"id": "guitar", "label": "Guitar", "type": "object", "confidence": 0.9, "properties": {"category": "musical_instrument"}},
417
+ {"id": "jazz_music", "label": "Jazz Music", "type": "music", "confidence": 0.95, "properties": {"genre": "jazz"}},
418
+ {"id": "weekends", "label": "Weekends", "type": "routine", "confidence": 0.8, "properties": {"frequency": "weekly"}}
419
+ ],
420
+ "relationships": [
421
+ {"source": "user", "target": "playing_guitar", "label": "enjoys", "confidence": 0.95, "type": "hobby"},
422
+ {"source": "playing_guitar", "target": "guitar", "label": "uses", "confidence": 0.9, "type": "activity"},
423
+ {"source": "user", "target": "jazz_music", "label": "enjoys", "confidence": 0.9, "type": "preference"},
424
+ {"source": "playing_guitar", "target": "weekends", "label": "happens_during", "confidence": 0.8, "type": "temporal"}
425
+ ]
426
+ }
427
+
428
+ ## Guidelines
429
+
430
+ 1. **Always include "user" entity** for personal statements (first-person: "I", "my", "me")
431
+ 2. **Extract implicit information**: "i'm a doctor" implies medical skill
432
+ 3. **Handle negations properly**: "don't like" = dislikes relationship
433
+ 4. **Capture intensity**: "love" vs "like" vs "enjoy" = different confidence/intensity
434
+ 5. **Include relevant properties**: cuisine type for food, location type for places
435
+ 6. **Create bidirectional relationships when applicable**: if A works_at B, B employs A
436
+ 7. **Minimum confidence threshold**: 0.5 for entities, 0.5 for relationships
437
+ 8. **Be comprehensive**: Extract ALL meaningful entities, even from short texts
438
+ 9. **Handle multilingual content**: Vietnamese, English, etc.
439
+ 10. **Infer entity types from context**: "spaghetti" = food, "Python" = skill/language based on context
185
440
  ${contextSection}
186
- TEXT: ${content}
441
+ ## TEXT TO ANALYZE:
442
+ ${content}
187
443
 
188
- JSON:`;
444
+ ## JSON OUTPUT:`;
189
445
  }
190
446
  parseExtractionResponse(response) {
191
447
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"GeminiAIService.js","sourceRoot":"","sources":["../../src/services/GeminiAIService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeminiAIService.js","sourceRoot":"","sources":["../../src/services/GeminiAIService.ts"],"names":[],"mappings":"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"}
@@ -155,13 +155,42 @@ export declare class MemoryIndexService {
155
155
  */
156
156
  flush(userAddress: string): Promise<void>;
157
157
  /**
158
- * Load index from storage
158
+ * Load index from storage (local or Walrus)
159
+ *
160
+ * @param userAddress - User's wallet address
161
+ * @param indexBlobId - Optional Walrus blob ID to load from cloud
159
162
  */
160
163
  loadIndex(userAddress: string, indexBlobId?: string): Promise<void>;
161
164
  /**
162
- * Save index to storage
165
+ * Save index to local storage
163
166
  */
164
167
  saveIndex(userAddress: string): Promise<void>;
168
+ /**
169
+ * Sync index to Walrus cloud storage
170
+ *
171
+ * @param userAddress - User's wallet address
172
+ * @returns Walrus blob ID if successful, null if Walrus is disabled
173
+ */
174
+ syncToWalrus(userAddress: string): Promise<string | null>;
175
+ /**
176
+ * Load index directly from Walrus cloud storage
177
+ *
178
+ * @param userAddress - User's wallet address
179
+ * @param blobId - Walrus blob ID
180
+ * @returns true if successfully loaded
181
+ */
182
+ loadFromWalrus(userAddress: string, blobId: string): Promise<boolean>;
183
+ /**
184
+ * Get the Walrus blob ID for a user's index (if backed up)
185
+ *
186
+ * @param userAddress - User's wallet address
187
+ * @returns Blob ID or null if not backed up
188
+ */
189
+ getWalrusBlobId(userAddress: string): string | null;
190
+ /**
191
+ * Check if Walrus backup is enabled
192
+ */
193
+ isWalrusEnabled(): boolean;
165
194
  /**
166
195
  * Clear user's index
167
196
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryIndexService.d.ts","sourceRoot":"","sources":["../../src/services/MemoryIndexService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryIndexService.d.ts","sourceRoot":"","sources":["../../src/services/MemoryIndexService.ts"],"names":[],"mappings":"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"}
@@ -393,23 +393,95 @@ export class MemoryIndexService {
393
393
  console.log(`✅ Memory index flushed for user ${userAddress}`);
394
394
  }
395
395
  /**
396
- * Load index from storage
396
+ * Load index from storage (local or Walrus)
397
+ *
398
+ * @param userAddress - User's wallet address
399
+ * @param indexBlobId - Optional Walrus blob ID to load from cloud
397
400
  */
398
401
  async loadIndex(userAddress, indexBlobId) {
399
402
  const hnswService = await this.getHnswService();
403
+ // If blobId provided, try to load from Walrus first
404
+ if (indexBlobId && 'loadFromWalrus' in hnswService) {
405
+ console.log(`📥 Attempting to load index from Walrus: ${indexBlobId}`);
406
+ const walrusLoaded = await hnswService.loadFromWalrus(userAddress, indexBlobId);
407
+ if (walrusLoaded) {
408
+ console.log(`✅ Memory index loaded from Walrus for user ${userAddress}`);
409
+ return;
410
+ }
411
+ console.log(`⚠️ Walrus load failed, falling back to local storage`);
412
+ }
413
+ // Fallback to local storage
400
414
  const loaded = await hnswService.loadIndex(userAddress);
401
415
  if (loaded) {
402
- console.log(`✅ Memory index loaded for user ${userAddress}`);
416
+ console.log(`✅ Memory index loaded from local storage for user ${userAddress}`);
403
417
  }
404
418
  }
405
419
  /**
406
- * Save index to storage
420
+ * Save index to local storage
407
421
  */
408
422
  async saveIndex(userAddress) {
409
423
  const hnswService = await this.getHnswService();
410
424
  await hnswService.saveIndex(userAddress);
411
425
  console.log(`✅ Memory index saved for user ${userAddress}`);
412
426
  }
427
+ /**
428
+ * Sync index to Walrus cloud storage
429
+ *
430
+ * @param userAddress - User's wallet address
431
+ * @returns Walrus blob ID if successful, null if Walrus is disabled
432
+ */
433
+ async syncToWalrus(userAddress) {
434
+ const hnswService = await this.getHnswService();
435
+ if (!('syncToWalrus' in hnswService)) {
436
+ console.warn('⚠️ HNSW service does not support Walrus sync');
437
+ return null;
438
+ }
439
+ const blobId = await hnswService.syncToWalrus(userAddress);
440
+ if (blobId) {
441
+ console.log(`☁️ Memory index synced to Walrus: ${blobId}`);
442
+ }
443
+ return blobId;
444
+ }
445
+ /**
446
+ * Load index directly from Walrus cloud storage
447
+ *
448
+ * @param userAddress - User's wallet address
449
+ * @param blobId - Walrus blob ID
450
+ * @returns true if successfully loaded
451
+ */
452
+ async loadFromWalrus(userAddress, blobId) {
453
+ const hnswService = await this.getHnswService();
454
+ if (!('loadFromWalrus' in hnswService)) {
455
+ console.warn('⚠️ HNSW service does not support Walrus load');
456
+ return false;
457
+ }
458
+ const loaded = await hnswService.loadFromWalrus(userAddress, blobId);
459
+ if (loaded) {
460
+ console.log(`☁️ Memory index loaded from Walrus: ${blobId}`);
461
+ }
462
+ return loaded;
463
+ }
464
+ /**
465
+ * Get the Walrus blob ID for a user's index (if backed up)
466
+ *
467
+ * @param userAddress - User's wallet address
468
+ * @returns Blob ID or null if not backed up
469
+ */
470
+ getWalrusBlobId(userAddress) {
471
+ if (this.hnswService && 'getWalrusBlobId' in this.hnswService) {
472
+ return this.hnswService.getWalrusBlobId(userAddress);
473
+ }
474
+ return null;
475
+ }
476
+ /**
477
+ * Check if Walrus backup is enabled
478
+ */
479
+ isWalrusEnabled() {
480
+ if (this.hnswService && 'isWalrusEnabled' in this.hnswService) {
481
+ return this.hnswService.isWalrusEnabled();
482
+ }
483
+ return false;
484
+ }
413
485
  /**
414
486
  * Clear user's index
415
487
  */