@cmdoss/memwal-sdk 0.6.0 → 0.6.1

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 (224) hide show
  1. package/ARCHITECTURE.md +86 -2
  2. package/BENCHMARKS.md +2 -2
  3. package/README.md +43 -4
  4. package/dist/ai-sdk/types.d.ts +2 -2
  5. package/dist/ai-sdk/types.d.ts.map +1 -1
  6. package/dist/browser.d.ts +9 -9
  7. package/dist/browser.d.ts.map +1 -1
  8. package/dist/browser.js +16 -11
  9. package/dist/browser.js.map +1 -1
  10. package/dist/client/PersonalDataWallet.d.ts.map +1 -1
  11. package/dist/client/SimplePDWClient.d.ts.map +1 -1
  12. package/dist/client/SimplePDWClient.js +4 -4
  13. package/dist/client/SimplePDWClient.js.map +1 -1
  14. package/dist/client/namespaces/BatchNamespace.js +2 -2
  15. package/dist/client/namespaces/BatchNamespace.js.map +1 -1
  16. package/dist/client/namespaces/MemoryNamespace.js +3 -3
  17. package/dist/client/namespaces/MemoryNamespace.js.map +1 -1
  18. package/dist/client/namespaces/StorageNamespace.js +4 -4
  19. package/dist/client/namespaces/StorageNamespace.js.map +1 -1
  20. package/dist/client/namespaces/consolidated/StorageNamespace.js +2 -2
  21. package/dist/client/namespaces/consolidated/StorageNamespace.js.map +1 -1
  22. package/dist/client/signers/DappKitSigner.d.ts +136 -0
  23. package/dist/client/signers/DappKitSigner.d.ts.map +1 -0
  24. package/dist/client/signers/DappKitSigner.js +128 -0
  25. package/dist/client/signers/DappKitSigner.js.map +1 -0
  26. package/dist/client/signers/KeypairSigner.d.ts +4 -0
  27. package/dist/client/signers/KeypairSigner.d.ts.map +1 -1
  28. package/dist/client/signers/KeypairSigner.js +6 -0
  29. package/dist/client/signers/KeypairSigner.js.map +1 -1
  30. package/dist/client/signers/UnifiedSigner.d.ts +10 -0
  31. package/dist/client/signers/UnifiedSigner.d.ts.map +1 -1
  32. package/dist/client/signers/WalletAdapterSigner.d.ts +7 -0
  33. package/dist/client/signers/WalletAdapterSigner.d.ts.map +1 -1
  34. package/dist/client/signers/WalletAdapterSigner.js +9 -0
  35. package/dist/client/signers/WalletAdapterSigner.js.map +1 -1
  36. package/dist/client/signers/index.d.ts +3 -0
  37. package/dist/client/signers/index.d.ts.map +1 -1
  38. package/dist/client/signers/index.js +2 -0
  39. package/dist/client/signers/index.js.map +1 -1
  40. package/dist/generated/utils/index.js +1 -1
  41. package/dist/generated/utils/index.js.map +1 -1
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +2 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/services/CapabilityService.js +1 -1
  47. package/dist/services/CapabilityService.js.map +1 -1
  48. package/dist/services/EncryptionService.js +1 -1
  49. package/dist/services/EncryptionService.js.map +1 -1
  50. package/dist/services/StorageService.d.ts +8 -8
  51. package/dist/services/StorageService.d.ts.map +1 -1
  52. package/dist/services/StorageService.js.map +1 -1
  53. package/dist/services/VectorService.js +2 -2
  54. package/dist/services/VectorService.js.map +1 -1
  55. package/dist/services/storage/BlobAttributesManager.d.ts +4 -4
  56. package/dist/services/storage/BlobAttributesManager.d.ts.map +1 -1
  57. package/dist/services/storage/BlobAttributesManager.js +6 -15
  58. package/dist/services/storage/BlobAttributesManager.js.map +1 -1
  59. package/dist/services/storage/QuiltBatchManager.d.ts +23 -5
  60. package/dist/services/storage/QuiltBatchManager.d.ts.map +1 -1
  61. package/dist/services/storage/QuiltBatchManager.js +118 -35
  62. package/dist/services/storage/QuiltBatchManager.js.map +1 -1
  63. package/dist/services/storage/WalrusMetadataManager.d.ts +2 -2
  64. package/dist/services/storage/WalrusMetadataManager.d.ts.map +1 -1
  65. package/dist/services/storage/WalrusMetadataManager.js +2 -5
  66. package/dist/services/storage/WalrusMetadataManager.js.map +1 -1
  67. package/dist/services/storage/WalrusStorageManager.d.ts +2 -2
  68. package/dist/services/storage/WalrusStorageManager.d.ts.map +1 -1
  69. package/dist/services/storage/WalrusStorageManager.js +7 -11
  70. package/dist/services/storage/WalrusStorageManager.js.map +1 -1
  71. package/dist/wallet/MainWalletService.js +1 -1
  72. package/dist/wallet/MainWalletService.js.map +1 -1
  73. package/package.json +10 -3
  74. package/src/ai-sdk/types.ts +2 -2
  75. package/src/browser.ts +19 -20
  76. package/src/client/SimplePDWClient.ts +18 -14
  77. package/src/client/namespaces/BatchNamespace.ts +2 -2
  78. package/src/client/namespaces/MemoryNamespace.ts +3 -3
  79. package/src/client/namespaces/StorageNamespace.ts +4 -4
  80. package/src/client/namespaces/consolidated/StorageNamespace.ts +2 -2
  81. package/src/client/signers/DappKitSigner.ts +207 -0
  82. package/src/client/signers/KeypairSigner.ts +7 -0
  83. package/src/client/signers/UnifiedSigner.ts +11 -0
  84. package/src/client/signers/WalletAdapterSigner.ts +10 -0
  85. package/src/client/signers/index.ts +7 -0
  86. package/src/generated/pdw/deps/sui/object.ts +12 -12
  87. package/src/generated/pdw/deps/sui/vec_map.ts +32 -32
  88. package/src/generated/pdw/memory.ts +1087 -1087
  89. package/src/generated/pdw/wallet.ts +123 -123
  90. package/src/generated/utils/index.ts +159 -159
  91. package/src/index.ts +16 -0
  92. package/src/services/CapabilityService.ts +1 -1
  93. package/src/services/EncryptionService.ts +1 -1
  94. package/src/services/StorageService.ts +8 -8
  95. package/src/services/VectorService.ts +2 -2
  96. package/src/services/storage/BlobAttributesManager.ts +10 -19
  97. package/src/services/storage/QuiltBatchManager.ts +139 -37
  98. package/src/services/storage/WalrusMetadataManager.ts +4 -7
  99. package/src/services/storage/WalrusStorageManager.ts +10 -13
  100. package/src/wallet/MainWalletService.ts +1 -1
  101. package/dist/api/client.d.ts +0 -43
  102. package/dist/api/client.d.ts.map +0 -1
  103. package/dist/api/client.js +0 -136
  104. package/dist/api/client.js.map +0 -1
  105. package/dist/chat/index.d.ts +0 -13
  106. package/dist/chat/index.d.ts.map +0 -1
  107. package/dist/chat/index.js +0 -14
  108. package/dist/chat/index.js.map +0 -1
  109. package/dist/client/namespaces/ChatNamespace.d.ts +0 -110
  110. package/dist/client/namespaces/ChatNamespace.d.ts.map +0 -1
  111. package/dist/client/namespaces/ChatNamespace.js +0 -123
  112. package/dist/client/namespaces/ChatNamespace.js.map +0 -1
  113. package/dist/encryption/index.d.ts +0 -14
  114. package/dist/encryption/index.d.ts.map +0 -1
  115. package/dist/encryption/index.js +0 -14
  116. package/dist/encryption/index.js.map +0 -1
  117. package/dist/graph/BrowserKnowledgeGraphManager.d.ts +0 -101
  118. package/dist/graph/BrowserKnowledgeGraphManager.d.ts.map +0 -1
  119. package/dist/graph/BrowserKnowledgeGraphManager.js +0 -411
  120. package/dist/graph/BrowserKnowledgeGraphManager.js.map +0 -1
  121. package/dist/hooks.wip/index.d.ts +0 -55
  122. package/dist/hooks.wip/index.d.ts.map +0 -1
  123. package/dist/hooks.wip/index.js +0 -58
  124. package/dist/hooks.wip/index.js.map +0 -1
  125. package/dist/hooks.wip/useCreateMemory.d.ts +0 -111
  126. package/dist/hooks.wip/useCreateMemory.d.ts.map +0 -1
  127. package/dist/hooks.wip/useCreateMemory.js +0 -149
  128. package/dist/hooks.wip/useCreateMemory.js.map +0 -1
  129. package/dist/hooks.wip/useCreateMemoryBatch.d.ts +0 -122
  130. package/dist/hooks.wip/useCreateMemoryBatch.d.ts.map +0 -1
  131. package/dist/hooks.wip/useCreateMemoryBatch.js +0 -221
  132. package/dist/hooks.wip/useCreateMemoryBatch.js.map +0 -1
  133. package/dist/hooks.wip/useKnowledgeGraph.d.ts +0 -66
  134. package/dist/hooks.wip/useKnowledgeGraph.d.ts.map +0 -1
  135. package/dist/hooks.wip/useKnowledgeGraph.js +0 -229
  136. package/dist/hooks.wip/useKnowledgeGraph.js.map +0 -1
  137. package/dist/hooks.wip/useMemoryChat.d.ts +0 -106
  138. package/dist/hooks.wip/useMemoryChat.d.ts.map +0 -1
  139. package/dist/hooks.wip/useMemoryChat.js +0 -284
  140. package/dist/hooks.wip/useMemoryChat.js.map +0 -1
  141. package/dist/hooks.wip/useMemoryIndex.d.ts +0 -90
  142. package/dist/hooks.wip/useMemoryIndex.d.ts.map +0 -1
  143. package/dist/hooks.wip/useMemoryIndex.js +0 -218
  144. package/dist/hooks.wip/useMemoryIndex.js.map +0 -1
  145. package/dist/hooks.wip/useMemoryManager.d.ts +0 -35
  146. package/dist/hooks.wip/useMemoryManager.d.ts.map +0 -1
  147. package/dist/hooks.wip/useMemoryManager.js +0 -86
  148. package/dist/hooks.wip/useMemoryManager.js.map +0 -1
  149. package/dist/hooks.wip/useMemorySearch.d.ts +0 -100
  150. package/dist/hooks.wip/useMemorySearch.d.ts.map +0 -1
  151. package/dist/hooks.wip/useMemorySearch.js +0 -278
  152. package/dist/hooks.wip/useMemorySearch.js.map +0 -1
  153. package/dist/hooks.wip/useMemoryServices.d.ts +0 -80
  154. package/dist/hooks.wip/useMemoryServices.d.ts.map +0 -1
  155. package/dist/hooks.wip/useMemoryServices.js +0 -264
  156. package/dist/hooks.wip/useMemoryServices.js.map +0 -1
  157. package/dist/hooks.wip/usePDWRAG.d.ts +0 -112
  158. package/dist/hooks.wip/usePDWRAG.d.ts.map +0 -1
  159. package/dist/hooks.wip/usePDWRAG.js +0 -121
  160. package/dist/hooks.wip/usePDWRAG.js.map +0 -1
  161. package/dist/hooks.wip/usePDWVectorStore.d.ts +0 -68
  162. package/dist/hooks.wip/usePDWVectorStore.d.ts.map +0 -1
  163. package/dist/hooks.wip/usePDWVectorStore.js +0 -102
  164. package/dist/hooks.wip/usePDWVectorStore.js.map +0 -1
  165. package/dist/hooks.wip/useRetrieveEmbedding.d.ts +0 -138
  166. package/dist/hooks.wip/useRetrieveEmbedding.d.ts.map +0 -1
  167. package/dist/hooks.wip/useRetrieveEmbedding.js +0 -121
  168. package/dist/hooks.wip/useRetrieveEmbedding.js.map +0 -1
  169. package/dist/hooks.wip/useSearchMemories.d.ts +0 -103
  170. package/dist/hooks.wip/useSearchMemories.d.ts.map +0 -1
  171. package/dist/hooks.wip/useSearchMemories.js +0 -146
  172. package/dist/hooks.wip/useSearchMemories.js.map +0 -1
  173. package/dist/hooks.wip/useStoreEmbedding.d.ts +0 -174
  174. package/dist/hooks.wip/useStoreEmbedding.d.ts.map +0 -1
  175. package/dist/hooks.wip/useStoreEmbedding.js +0 -167
  176. package/dist/hooks.wip/useStoreEmbedding.js.map +0 -1
  177. package/dist/hooks.wip/useWalletMemories.d.ts +0 -119
  178. package/dist/hooks.wip/useWalletMemories.d.ts.map +0 -1
  179. package/dist/hooks.wip/useWalletMemories.js +0 -166
  180. package/dist/hooks.wip/useWalletMemories.js.map +0 -1
  181. package/dist/hooks.wip/utils/cache.d.ts +0 -25
  182. package/dist/hooks.wip/utils/cache.d.ts.map +0 -1
  183. package/dist/hooks.wip/utils/cache.js +0 -38
  184. package/dist/hooks.wip/utils/cache.js.map +0 -1
  185. package/dist/hooks.wip/utils/types.d.ts +0 -138
  186. package/dist/hooks.wip/utils/types.d.ts.map +0 -1
  187. package/dist/hooks.wip/utils/types.js +0 -5
  188. package/dist/hooks.wip/utils/types.js.map +0 -1
  189. package/dist/infrastructure/ai/EmbeddingService.d.ts +0 -101
  190. package/dist/infrastructure/ai/EmbeddingService.d.ts.map +0 -1
  191. package/dist/infrastructure/ai/EmbeddingService.js +0 -242
  192. package/dist/infrastructure/ai/EmbeddingService.js.map +0 -1
  193. package/dist/infrastructure/ai/GeminiAIService.d.ts +0 -84
  194. package/dist/infrastructure/ai/GeminiAIService.d.ts.map +0 -1
  195. package/dist/infrastructure/ai/GeminiAIService.js +0 -300
  196. package/dist/infrastructure/ai/GeminiAIService.js.map +0 -1
  197. package/dist/infrastructure/ai/index.d.ts +0 -8
  198. package/dist/infrastructure/ai/index.d.ts.map +0 -1
  199. package/dist/infrastructure/ai/index.js +0 -8
  200. package/dist/infrastructure/ai/index.js.map +0 -1
  201. package/dist/memory/index.d.ts +0 -13
  202. package/dist/memory/index.d.ts.map +0 -1
  203. package/dist/memory/index.js +0 -14
  204. package/dist/memory/index.js.map +0 -1
  205. package/dist/services/ChatService.d.ts +0 -89
  206. package/dist/services/ChatService.d.ts.map +0 -1
  207. package/dist/services/ChatService.js +0 -319
  208. package/dist/services/ChatService.js.map +0 -1
  209. package/dist/transactions/index.d.ts +0 -13
  210. package/dist/transactions/index.d.ts.map +0 -1
  211. package/dist/transactions/index.js +0 -14
  212. package/dist/transactions/index.js.map +0 -1
  213. package/dist/types/wallet.d.ts +0 -12
  214. package/dist/types/wallet.d.ts.map +0 -1
  215. package/dist/types/wallet.js +0 -13
  216. package/dist/types/wallet.js.map +0 -1
  217. package/dist/view/ViewService.d.ts +0 -136
  218. package/dist/view/ViewService.d.ts.map +0 -1
  219. package/dist/view/ViewService.js +0 -325
  220. package/dist/view/ViewService.js.map +0 -1
  221. package/dist/view/index.d.ts +0 -7
  222. package/dist/view/index.d.ts.map +0 -1
  223. package/dist/view/index.js +0 -7
  224. 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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"}