@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRetrieveEmbedding.js","sourceRoot":"","sources":["../../src/hooks.wip/useRetrieveEmbedding.ts"],"names":[],"mappings":"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"}
@@ -1,103 +0,0 @@
1
- /**
2
- * useSearchMemories - Hook for searching memories with automatic caching
3
- *
4
- * Vector search with intelligent caching and real-time updates.
5
- * Uses the browser-compatible useMemorySearch hook internally.
6
- *
7
- * @example
8
- * ```tsx
9
- * import { useSearchMemories } from 'personal-data-wallet-sdk/hooks';
10
- * import { useCurrentAccount } from '@mysten/dapp-kit';
11
- * import { useState } from 'react';
12
- *
13
- * function MemorySearch() {
14
- * const account = useCurrentAccount();
15
- * const [query, setQuery] = useState('');
16
- *
17
- * const { data: results, isLoading, error, refetch } = useSearchMemories(
18
- * account?.address,
19
- * query,
20
- * {
21
- * k: 5,
22
- * minSimilarity: 0.7,
23
- * enabled: query.length > 0, // Only search when query exists
24
- * staleTime: 5 * 60 * 1000 // Cache for 5 minutes
25
- * }
26
- * );
27
- *
28
- * return (
29
- * <div>
30
- * <input value={query} onChange={(e) => setQuery(e.target.value)} />
31
- * {isLoading && <span>Searching...</span>}
32
- * {results?.map((memory) => (
33
- * <div key={memory.blobId}>
34
- * {memory.content} (similarity: {memory.similarity.toFixed(2)})
35
- * </div>
36
- * ))}
37
- * </div>
38
- * );
39
- * }
40
- * ```
41
- */
42
- import type { SearchMemoryOptions, SearchMemoryResult } from './utils/types';
43
- export interface UseSearchMemoriesOptions extends SearchMemoryOptions {
44
- /**
45
- * Whether to enable the query
46
- * @default true
47
- */
48
- enabled?: boolean;
49
- /**
50
- * How long to consider data fresh (in milliseconds)
51
- * @default 5 minutes
52
- */
53
- staleTime?: number;
54
- /**
55
- * Debounce delay in milliseconds
56
- * @default 500
57
- */
58
- debounceMs?: number;
59
- /**
60
- * Gemini API key for embeddings
61
- */
62
- geminiApiKey?: string;
63
- }
64
- export interface UseSearchMemoriesReturn {
65
- /**
66
- * Search results
67
- */
68
- data?: SearchMemoryResult[];
69
- /**
70
- * Whether the query is loading
71
- */
72
- isLoading: boolean;
73
- /**
74
- * Whether the query succeeded
75
- */
76
- isSuccess: boolean;
77
- /**
78
- * Whether the query failed
79
- */
80
- isError: boolean;
81
- /**
82
- * The error if failed
83
- */
84
- error: Error | null;
85
- /**
86
- * Refetch the search results
87
- */
88
- refetch: () => void;
89
- /**
90
- * Whether there are more results to load
91
- */
92
- hasNextPage: boolean;
93
- /**
94
- * Load the next page of results
95
- */
96
- fetchNextPage: () => void;
97
- }
98
- /**
99
- * Hook for searching memories with automatic caching and debouncing
100
- */
101
- export declare function useSearchMemories(userAddress: string | undefined, query: string, options?: UseSearchMemoriesOptions): UseSearchMemoriesReturn;
102
- export default useSearchMemories;
103
- //# sourceMappingURL=useSearchMemories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSearchMemories.d.ts","sourceRoot":"","sources":["../../src/hooks.wip/useSearchMemories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAOH,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AA0C7E,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAE5B;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,wBAA6B,GACrC,uBAAuB,CAgGzB;AAED,eAAe,iBAAiB,CAAC"}
@@ -1,146 +0,0 @@
1
- /**
2
- * useSearchMemories - Hook for searching memories with automatic caching
3
- *
4
- * Vector search with intelligent caching and real-time updates.
5
- * Uses the browser-compatible useMemorySearch hook internally.
6
- *
7
- * @example
8
- * ```tsx
9
- * import { useSearchMemories } from 'personal-data-wallet-sdk/hooks';
10
- * import { useCurrentAccount } from '@mysten/dapp-kit';
11
- * import { useState } from 'react';
12
- *
13
- * function MemorySearch() {
14
- * const account = useCurrentAccount();
15
- * const [query, setQuery] = useState('');
16
- *
17
- * const { data: results, isLoading, error, refetch } = useSearchMemories(
18
- * account?.address,
19
- * query,
20
- * {
21
- * k: 5,
22
- * minSimilarity: 0.7,
23
- * enabled: query.length > 0, // Only search when query exists
24
- * staleTime: 5 * 60 * 1000 // Cache for 5 minutes
25
- * }
26
- * );
27
- *
28
- * return (
29
- * <div>
30
- * <input value={query} onChange={(e) => setQuery(e.target.value)} />
31
- * {isLoading && <span>Searching...</span>}
32
- * {results?.map((memory) => (
33
- * <div key={memory.blobId}>
34
- * {memory.content} (similarity: {memory.similarity.toFixed(2)})
35
- * </div>
36
- * ))}
37
- * </div>
38
- * );
39
- * }
40
- * ```
41
- */
42
- import { useQuery } from '@tanstack/react-query';
43
- import { useEffect, useState } from 'react';
44
- import { useMemorySearch } from './useMemorySearch.js';
45
- import { useMemoryServices } from './useMemoryServices.js';
46
- import { cacheKeys, defaultStaleTimes } from './utils/cache.js';
47
- /**
48
- * Helper: Retrieve memory metadata from HNSW cache
49
- */
50
- function getMemoryMetadataFromCache(hnswService, userAddress, vectorIds, similarities) {
51
- if (!hnswService) {
52
- console.warn('🔍 getMemoryMetadataFromCache - No HNSW service');
53
- return [];
54
- }
55
- const cacheEntry = hnswService.indexCache?.get(userAddress);
56
- if (!cacheEntry) {
57
- console.warn('🔍 getMemoryMetadataFromCache - No cache entry found for user');
58
- return [];
59
- }
60
- const results = vectorIds.map((vectorId, i) => {
61
- const metadata = cacheEntry.metadata.get(vectorId) || {};
62
- return {
63
- blobId: metadata.blobId || '',
64
- content: metadata.content || '',
65
- category: metadata.category || 'uncategorized',
66
- topic: metadata.topic || '',
67
- importance: metadata.importance || 5,
68
- summary: metadata.summary || '',
69
- embeddingType: metadata.embeddingType || 'vector',
70
- similarity: similarities[i] || 0,
71
- timestamp: metadata.createdTimestamp ? new Date(metadata.createdTimestamp) : new Date(),
72
- embedding: undefined,
73
- };
74
- });
75
- return results;
76
- }
77
- /**
78
- * Hook for searching memories with automatic caching and debouncing
79
- */
80
- export function useSearchMemories(userAddress, query, options = {}) {
81
- const { k = 10, minSimilarity = 0.5, enabled = true, staleTime = defaultStaleTimes.searchMemories, debounceMs = 500, geminiApiKey, } = options;
82
- // Debounce the query
83
- const [debouncedQuery, setDebouncedQuery] = useState(query);
84
- useEffect(() => {
85
- const timer = setTimeout(() => {
86
- setDebouncedQuery(query);
87
- }, debounceMs);
88
- return () => clearTimeout(timer);
89
- }, [query, debounceMs]);
90
- // DEBUG: Log API key status
91
- console.log('🔍 useSearchMemories - Config:', {
92
- hasApiKey: !!geminiApiKey,
93
- apiKeyPreview: geminiApiKey ? `${geminiApiKey.substring(0, 10)}...` : 'UNDEFINED',
94
- userAddress: userAddress ? `${userAddress.substring(0, 10)}...` : 'UNDEFINED'
95
- });
96
- // Get services to access HNSW cache
97
- const { hnswService } = useMemoryServices(userAddress, geminiApiKey ? { geminiApiKey } : undefined);
98
- // Use the browser-compatible memory search hook with API key config
99
- const { search, results, isSearching, error: searchError, isReady } = useMemorySearch(userAddress, geminiApiKey ? { geminiApiKey } : undefined);
100
- // React Query for caching and state management
101
- const queryResult = useQuery({
102
- queryKey: cacheKeys.searchMemories(userAddress, debouncedQuery),
103
- queryFn: async () => {
104
- if (!userAddress) {
105
- throw new Error('No user address provided');
106
- }
107
- if (!debouncedQuery || debouncedQuery.trim().length === 0) {
108
- return [];
109
- }
110
- // Perform the search (capture return value instead of reading stale state)
111
- const searchResult = await search(debouncedQuery, { k, threshold: minSimilarity });
112
- // Convert results to expected format
113
- if (!searchResult?.vectorResults || searchResult.vectorResults.ids.length === 0) {
114
- console.log('🔍 useSearchMemories - No results found');
115
- return [];
116
- }
117
- console.log('🔍 useSearchMemories - Got results:', {
118
- numResults: searchResult.vectorResults.ids.length,
119
- ids: searchResult.vectorResults.ids,
120
- similarities: searchResult.vectorResults.similarities
121
- });
122
- // Retrieve memory metadata from HNSW cache
123
- const results = getMemoryMetadataFromCache(hnswService, userAddress, searchResult.vectorResults.ids, searchResult.vectorResults.similarities);
124
- console.log('🔍 useSearchMemories - Returning formatted results:', results.length);
125
- return results;
126
- },
127
- enabled: enabled && !!userAddress && debouncedQuery.trim().length > 0 && isReady,
128
- staleTime,
129
- retry: 1,
130
- });
131
- return {
132
- data: queryResult.data,
133
- isLoading: queryResult.isLoading || isSearching,
134
- isSuccess: queryResult.isSuccess,
135
- isError: queryResult.isError,
136
- error: queryResult.error || searchError,
137
- refetch: queryResult.refetch,
138
- hasNextPage: false, // Pagination not implemented yet
139
- fetchNextPage: () => {
140
- // TODO: Implement pagination
141
- console.warn('Pagination not yet implemented');
142
- },
143
- };
144
- }
145
- export default useSearchMemories;
146
- //# sourceMappingURL=useSearchMemories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSearchMemories.js","sourceRoot":"","sources":["../../src/hooks.wip/useSearchMemories.ts"],"names":[],"mappings":"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"}
@@ -1,174 +0,0 @@
1
- /**
2
- * useStoreEmbedding - Hook for generating and storing vector embeddings
3
- *
4
- * Simplifies embedding storage with automatic:
5
- * - Text to vector embedding conversion (768 dimensions)
6
- * - Walrus storage upload
7
- * - Loading states and error handling
8
- *
9
- * @example
10
- * ```tsx
11
- * import { useStoreEmbedding } from 'personal-data-wallet-sdk/hooks';
12
- * import { useCurrentAccount, useSignAndExecuteTransaction } from '@mysten/dapp-kit';
13
- *
14
- * function EmbeddingUploader() {
15
- * const account = useCurrentAccount();
16
- * const { mutateAsync: signAndExecute } = useSignAndExecuteTransaction();
17
- * const { mutate: storeEmbedding, isPending, data } = useStoreEmbedding({
18
- * onSuccess: (result) => {
19
- * console.log('Embedding stored:', result.blobId);
20
- * }
21
- * });
22
- *
23
- * const handleStore = async () => {
24
- * if (!account) return;
25
- *
26
- * storeEmbedding({
27
- * content: 'The quick brown fox jumps over the lazy dog',
28
- * type: 'document',
29
- * signer: {
30
- * signAndExecuteTransaction: signAndExecute
31
- * }
32
- * });
33
- * };
34
- *
35
- * return (
36
- * <div>
37
- * <button onClick={handleStore} disabled={isPending || !account}>
38
- * {isPending ? 'Storing...' : 'Store Embedding'}
39
- * </button>
40
- * {data && <div>Blob ID: {data.blobId}</div>}
41
- * </div>
42
- * );
43
- * }
44
- * ```
45
- */
46
- import type { Signer } from '@mysten/sui/cryptography';
47
- export interface StoreEmbeddingInput {
48
- /**
49
- * Text content to convert to embedding
50
- */
51
- content: string;
52
- /**
53
- * Signer for Walrus transaction (required for writing blobs)
54
- */
55
- signer: Signer;
56
- /**
57
- * Type of embedding (affects the model's behavior)
58
- * - 'document': For storing documents/content
59
- * - 'query': For search queries
60
- * - 'metadata': For metadata-based embeddings
61
- */
62
- type?: 'document' | 'query' | 'metadata';
63
- /**
64
- * Optional metadata to store alongside the embedding
65
- */
66
- metadata?: Record<string, any>;
67
- /**
68
- * Whether the blob should be deletable (default: false)
69
- */
70
- deletable?: boolean;
71
- }
72
- export interface StoreEmbeddingResult {
73
- /**
74
- * Walrus blob ID where embedding is stored
75
- */
76
- blobId: string;
77
- /**
78
- * The generated vector embedding (768 dimensions)
79
- */
80
- vector: number[];
81
- /**
82
- * Embedding dimension
83
- */
84
- dimension: number;
85
- /**
86
- * Model used for embedding generation
87
- */
88
- model: string;
89
- /**
90
- * Time taken to generate embedding (ms)
91
- */
92
- embeddingTime: number;
93
- /**
94
- * Time taken to upload to Walrus (ms)
95
- */
96
- uploadTime: number;
97
- }
98
- export interface UseStoreEmbeddingOptions {
99
- /**
100
- * Gemini API key for embedding generation
101
- */
102
- geminiApiKey?: string;
103
- /**
104
- * PDW package ID for StorageService
105
- */
106
- packageId?: string;
107
- /**
108
- * Sui RPC URL for StorageService
109
- */
110
- suiRpcUrl?: string;
111
- /**
112
- * Walrus network ('mainnet' | 'testnet')
113
- */
114
- network?: 'mainnet' | 'testnet';
115
- /**
116
- * Number of epochs to store on Walrus (default: 5)
117
- */
118
- epochs?: number;
119
- /**
120
- * Use upload relay (default: true)
121
- */
122
- useUploadRelay?: boolean;
123
- /**
124
- * Callback when embedding is successfully stored
125
- */
126
- onSuccess?: (result: StoreEmbeddingResult) => void;
127
- /**
128
- * Callback when an error occurs
129
- */
130
- onError?: (error: Error) => void;
131
- }
132
- export interface UseStoreEmbeddingReturn {
133
- /**
134
- * Function to store embedding
135
- */
136
- mutate: (input: StoreEmbeddingInput) => void;
137
- /**
138
- * Async version of mutate
139
- */
140
- mutateAsync: (input: StoreEmbeddingInput) => Promise<StoreEmbeddingResult>;
141
- /**
142
- * Whether the operation is in progress
143
- */
144
- isPending: boolean;
145
- /**
146
- * Whether the operation succeeded
147
- */
148
- isSuccess: boolean;
149
- /**
150
- * Whether the operation failed
151
- */
152
- isError: boolean;
153
- /**
154
- * Result data if successful
155
- */
156
- data?: StoreEmbeddingResult;
157
- /**
158
- * Error if operation failed
159
- */
160
- error: Error | null;
161
- /**
162
- * Current progress message
163
- */
164
- progress?: string;
165
- /**
166
- * Reset the mutation state
167
- */
168
- reset: () => void;
169
- }
170
- /**
171
- * Hook for storing vector embeddings
172
- */
173
- export declare function useStoreEmbedding(options?: UseStoreEmbeddingOptions): UseStoreEmbeddingReturn;
174
- //# sourceMappingURL=useStoreEmbedding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStoreEmbedding.d.ts","sourceRoot":"","sources":["../../src/hooks.wip/useStoreEmbedding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAOH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;IACzC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC7C;;OAEG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3E;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,wBAA6B,GACrC,uBAAuB,CA6IzB"}
@@ -1,167 +0,0 @@
1
- /**
2
- * useStoreEmbedding - Hook for generating and storing vector embeddings
3
- *
4
- * Simplifies embedding storage with automatic:
5
- * - Text to vector embedding conversion (768 dimensions)
6
- * - Walrus storage upload
7
- * - Loading states and error handling
8
- *
9
- * @example
10
- * ```tsx
11
- * import { useStoreEmbedding } from 'personal-data-wallet-sdk/hooks';
12
- * import { useCurrentAccount, useSignAndExecuteTransaction } from '@mysten/dapp-kit';
13
- *
14
- * function EmbeddingUploader() {
15
- * const account = useCurrentAccount();
16
- * const { mutateAsync: signAndExecute } = useSignAndExecuteTransaction();
17
- * const { mutate: storeEmbedding, isPending, data } = useStoreEmbedding({
18
- * onSuccess: (result) => {
19
- * console.log('Embedding stored:', result.blobId);
20
- * }
21
- * });
22
- *
23
- * const handleStore = async () => {
24
- * if (!account) return;
25
- *
26
- * storeEmbedding({
27
- * content: 'The quick brown fox jumps over the lazy dog',
28
- * type: 'document',
29
- * signer: {
30
- * signAndExecuteTransaction: signAndExecute
31
- * }
32
- * });
33
- * };
34
- *
35
- * return (
36
- * <div>
37
- * <button onClick={handleStore} disabled={isPending || !account}>
38
- * {isPending ? 'Storing...' : 'Store Embedding'}
39
- * </button>
40
- * {data && <div>Blob ID: {data.blobId}</div>}
41
- * </div>
42
- * );
43
- * }
44
- * ```
45
- */
46
- import { useMutation } from '@tanstack/react-query';
47
- import { useState } from 'react';
48
- import { EmbeddingService } from '../services/EmbeddingService.js';
49
- import { StorageService } from '../services/StorageService.js';
50
- import { SuiClient } from '@mysten/sui/client';
51
- /**
52
- * Hook for storing vector embeddings
53
- */
54
- export function useStoreEmbedding(options = {}) {
55
- const [progress, setProgress] = useState();
56
- const mutation = useMutation({
57
- mutationFn: async (input) => {
58
- const { content, signer, type = 'document', metadata = {}, deletable = false } = input;
59
- // Validate content
60
- if (!content || content.trim().length === 0) {
61
- throw new Error('Content cannot be empty');
62
- }
63
- if (!signer) {
64
- throw new Error('Signer is required for storing embeddings on Walrus');
65
- }
66
- // Initialize services
67
- const geminiApiKey = options.geminiApiKey || process.env.NEXT_PUBLIC_GEMINI_API_KEY;
68
- if (!geminiApiKey) {
69
- throw new Error('Gemini API key is required. Provide via options.geminiApiKey or NEXT_PUBLIC_GEMINI_API_KEY env variable');
70
- }
71
- const packageId = options.packageId || process.env.NEXT_PUBLIC_PACKAGE_ID;
72
- if (!packageId) {
73
- throw new Error('Package ID is required. Provide via options.packageId or NEXT_PUBLIC_PACKAGE_ID env variable');
74
- }
75
- const suiRpcUrl = options.suiRpcUrl ||
76
- process.env.NEXT_PUBLIC_SUI_RPC_URL ||
77
- 'https://fullnode.testnet.sui.io:443';
78
- const network = options.network || 'testnet';
79
- // Step 1: Generate embedding
80
- setProgress('Generating embedding...');
81
- const embeddingService = new EmbeddingService({
82
- apiKey: geminiApiKey,
83
- model: 'text-embedding-004',
84
- dimensions: 3072
85
- });
86
- const embeddingStartTime = Date.now();
87
- const embeddingResult = await embeddingService.embedText({
88
- text: content,
89
- type: type === 'document' ? 'content' : type,
90
- taskType: type === 'document' ? 'RETRIEVAL_DOCUMENT' :
91
- type === 'query' ? 'RETRIEVAL_QUERY' :
92
- 'SEMANTIC_SIMILARITY'
93
- });
94
- const embeddingTime = Date.now() - embeddingStartTime;
95
- console.log('✅ Embedding generated:', {
96
- dimension: embeddingResult.dimension,
97
- model: embeddingResult.model,
98
- time: embeddingTime + 'ms'
99
- });
100
- // Step 2: Prepare data for storage
101
- setProgress('Preparing data for storage...');
102
- const storageData = {
103
- vector: embeddingResult.vector,
104
- dimension: embeddingResult.dimension,
105
- model: embeddingResult.model,
106
- contentPreview: content.substring(0, 200), // Store preview
107
- contentLength: content.length,
108
- embeddingType: type,
109
- metadata,
110
- timestamp: Date.now()
111
- };
112
- const dataBytes = new TextEncoder().encode(JSON.stringify(storageData));
113
- console.log('📦 Data prepared:', dataBytes.length, 'bytes');
114
- // Step 3: Upload to Walrus using StorageService
115
- setProgress('Uploading to Walrus...');
116
- const suiClient = new SuiClient({ url: suiRpcUrl });
117
- const storageService = new StorageService({
118
- packageId,
119
- suiClient,
120
- network,
121
- useUploadRelay: options.useUploadRelay ?? true,
122
- epochs: options.epochs || 5
123
- });
124
- const uploadStartTime = Date.now();
125
- const result = await storageService.uploadBlob(dataBytes, {
126
- signer,
127
- deletable,
128
- epochs: options.epochs || 5,
129
- useUploadRelay: options.useUploadRelay ?? true
130
- });
131
- const uploadTime = Date.now() - uploadStartTime;
132
- console.log('✅ Uploaded to Walrus:', {
133
- blobId: result.blobId,
134
- time: uploadTime + 'ms',
135
- storageEpochs: result.storageEpochs
136
- });
137
- setProgress(undefined);
138
- return {
139
- blobId: result.blobId,
140
- vector: embeddingResult.vector,
141
- dimension: embeddingResult.dimension,
142
- model: embeddingResult.model,
143
- embeddingTime,
144
- uploadTime
145
- };
146
- },
147
- onSuccess: (data) => {
148
- options.onSuccess?.(data);
149
- },
150
- onError: (error) => {
151
- setProgress(undefined);
152
- options.onError?.(error);
153
- }
154
- });
155
- return {
156
- mutate: mutation.mutate,
157
- mutateAsync: mutation.mutateAsync,
158
- isPending: mutation.isPending,
159
- isSuccess: mutation.isSuccess,
160
- isError: mutation.isError,
161
- data: mutation.data,
162
- error: mutation.error,
163
- progress,
164
- reset: mutation.reset
165
- };
166
- }
167
- //# sourceMappingURL=useStoreEmbedding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStoreEmbedding.js","sourceRoot":"","sources":["../../src/hooks.wip/useStoreEmbedding.ts"],"names":[],"mappings":"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"}