@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,229 +0,0 @@
1
- /**
2
- * useKnowledgeGraph - Hook for knowledge graph operations
3
- *
4
- * Provides interface for querying and traversing the knowledge graph.
5
- * Knowledge graphs store entities and relationships extracted from memories.
6
- */
7
- import { useState, useCallback, useEffect } from 'react';
8
- import { useMemoryServices } from './useMemoryServices.js';
9
- /**
10
- * Query and traverse the knowledge graph
11
- *
12
- * @param userId - User's unique identifier
13
- * @param config - Optional services configuration
14
- * @returns Graph operations and state
15
- *
16
- * @example
17
- * ```tsx
18
- * function GraphExplorer() {
19
- * const account = useCurrentAccount();
20
- * const { searchGraph, findRelated, graph, isLoading } = useKnowledgeGraph(
21
- * account?.address
22
- * );
23
- *
24
- * const handleSearch = async () => {
25
- * const results = await searchGraph({
26
- * keywords: ['paris', 'vacation'],
27
- * entityTypes: ['location', 'event']
28
- * });
29
- * console.log('Found:', results);
30
- * };
31
- *
32
- * return (
33
- * <div>
34
- * <button onClick={handleSearch}>Search Graph</button>
35
- * <p>Entities: {graph?.entities.length || 0}</p>
36
- * </div>
37
- * );
38
- * }
39
- * ```
40
- */
41
- export function useKnowledgeGraph(userId, config) {
42
- const { graphManager, isReady, error: servicesError } = useMemoryServices(userId, config);
43
- const [graph, setGraph] = useState(null);
44
- const [isLoading, setIsLoading] = useState(false);
45
- const [error, setError] = useState(null);
46
- const [lastSearchResults, setLastSearchResults] = useState(null);
47
- // Load graph on mount
48
- useEffect(() => {
49
- if (!userId || !graphManager || !isReady)
50
- return;
51
- let mounted = true;
52
- const loadGraph = async () => {
53
- try {
54
- setIsLoading(true);
55
- const userGraph = await graphManager.getUserGraph(userId);
56
- if (mounted) {
57
- setGraph(userGraph);
58
- setIsLoading(false);
59
- }
60
- }
61
- catch (err) {
62
- console.error('Failed to load graph:', err);
63
- if (mounted) {
64
- setError(err);
65
- setIsLoading(false);
66
- }
67
- }
68
- };
69
- loadGraph();
70
- return () => {
71
- mounted = false;
72
- };
73
- }, [userId, graphManager, isReady]);
74
- /**
75
- * Search the knowledge graph
76
- */
77
- const searchGraph = useCallback(async (query) => {
78
- if (!graphManager || !userId) {
79
- throw new Error('Graph manager not initialized');
80
- }
81
- try {
82
- setIsLoading(true);
83
- setError(null);
84
- const results = await graphManager.searchGraph(userId, query);
85
- setLastSearchResults(results);
86
- return results;
87
- }
88
- catch (err) {
89
- const error = err;
90
- setError(error);
91
- throw error;
92
- }
93
- finally {
94
- setIsLoading(false);
95
- }
96
- }, [userId, graphManager]);
97
- /**
98
- * Find entities related to a specific entity
99
- */
100
- const findRelated = useCallback(async (entityId, maxHops = 2) => {
101
- if (!graphManager || !userId) {
102
- throw new Error('Graph manager not initialized');
103
- }
104
- try {
105
- setIsLoading(true);
106
- setError(null);
107
- const relatedEntities = await graphManager.findRelatedEntities(userId, entityId, maxHops);
108
- return relatedEntities;
109
- }
110
- catch (err) {
111
- const error = err;
112
- setError(error);
113
- throw error;
114
- }
115
- finally {
116
- setIsLoading(false);
117
- }
118
- }, [userId, graphManager]);
119
- /**
120
- * Add entities and relationships to the graph
121
- */
122
- const addToGraph = useCallback(async (entities, relationships, memoryId) => {
123
- if (!graphManager || !userId) {
124
- throw new Error('Graph manager not initialized');
125
- }
126
- try {
127
- setIsLoading(true);
128
- setError(null);
129
- await graphManager.addToGraph(userId, entities, relationships, memoryId);
130
- // Reload graph
131
- const updatedGraph = await graphManager.getUserGraph(userId);
132
- setGraph(updatedGraph);
133
- }
134
- catch (err) {
135
- const error = err;
136
- setError(error);
137
- throw error;
138
- }
139
- finally {
140
- setIsLoading(false);
141
- }
142
- }, [userId, graphManager]);
143
- /**
144
- * Clear the entire knowledge graph for the user
145
- */
146
- const clearGraph = useCallback(async () => {
147
- if (!graphManager || !userId) {
148
- throw new Error('Graph manager not initialized');
149
- }
150
- try {
151
- setIsLoading(true);
152
- setError(null);
153
- await graphManager.clearUserGraph(userId);
154
- setGraph(null);
155
- setLastSearchResults(null);
156
- console.log('✅ Knowledge graph cleared');
157
- }
158
- catch (err) {
159
- const error = err;
160
- setError(error);
161
- throw error;
162
- }
163
- finally {
164
- setIsLoading(false);
165
- }
166
- }, [userId, graphManager]);
167
- /**
168
- * Reload graph from IndexedDB
169
- */
170
- const reloadGraph = useCallback(async () => {
171
- if (!graphManager || !userId)
172
- return;
173
- try {
174
- setIsLoading(true);
175
- const userGraph = await graphManager.getUserGraph(userId);
176
- setGraph(userGraph);
177
- }
178
- catch (err) {
179
- setError(err);
180
- }
181
- finally {
182
- setIsLoading(false);
183
- }
184
- }, [userId, graphManager]);
185
- /**
186
- * Get graph statistics
187
- */
188
- const getStats = useCallback(() => {
189
- if (!graph) {
190
- return {
191
- totalEntities: 0,
192
- totalRelationships: 0,
193
- entityTypes: {},
194
- relationshipTypes: {},
195
- sourceMemories: 0
196
- };
197
- }
198
- const entityTypes = {};
199
- graph.entities.forEach(entity => {
200
- entityTypes[entity.type] = (entityTypes[entity.type] || 0) + 1;
201
- });
202
- const relationshipTypes = {};
203
- graph.relationships.forEach(rel => {
204
- const type = rel.type || rel.label;
205
- relationshipTypes[type] = (relationshipTypes[type] || 0) + 1;
206
- });
207
- return {
208
- totalEntities: graph.entities.length,
209
- totalRelationships: graph.relationships.length,
210
- entityTypes,
211
- relationshipTypes,
212
- sourceMemories: graph.metadata.sourceMemories?.length || 0
213
- };
214
- }, [graph]);
215
- return {
216
- searchGraph,
217
- findRelated,
218
- addToGraph,
219
- clearGraph,
220
- reloadGraph,
221
- graph,
222
- lastSearchResults,
223
- isLoading,
224
- isReady,
225
- error: error || servicesError,
226
- stats: getStats()
227
- };
228
- }
229
- //# sourceMappingURL=useKnowledgeGraph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useKnowledgeGraph.js","sourceRoot":"","sources":["../../src/hooks.wip/useKnowledgeGraph.ts"],"names":[],"mappings":"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"}
@@ -1,106 +0,0 @@
1
- /**
2
- * useMemoryChat - Complete memory-aware chat hook with context retrieval
3
- *
4
- * Drop-in solution for building memory-aware chatbots with AI integration.
5
- *
6
- * @example
7
- * ```tsx
8
- * import { useMemoryChat } from 'personal-data-wallet-sdk/hooks';
9
- * import { useCurrentAccount } from '@mysten/dapp-kit';
10
- *
11
- * function ChatInterface() {
12
- * const account = useCurrentAccount();
13
- *
14
- * const {
15
- * messages,
16
- * sendMessage,
17
- * createMemoryFromMessage,
18
- * isProcessing,
19
- * retrievedMemories
20
- * } = useMemoryChat(account?.address, {
21
- * systemPrompt: 'You are a helpful assistant with access to user memories.',
22
- * maxContextMemories: 5,
23
- * aiProvider: 'gemini'
24
- * });
25
- *
26
- * return (
27
- * <div>
28
- * {messages.map((msg, i) => (
29
- * <div key={i} className={msg.role}>
30
- * {msg.content}
31
- * {msg.memories && (
32
- * <div className="context">
33
- * Used {msg.memories.length} memories
34
- * </div>
35
- * )}
36
- * </div>
37
- * ))}
38
- *
39
- * <button onClick={() => sendMessage('Hello!')}>
40
- * Send Message
41
- * </button>
42
- *
43
- * <button onClick={() => createMemoryFromMessage('Save this')}>
44
- * 💾 Remember this
45
- * </button>
46
- * </div>
47
- * );
48
- * }
49
- * ```
50
- */
51
- import type { ChatMessage, MemoryChatConfig, SearchMemoryResult, MemoryManagerConfig } from './utils/types';
52
- export interface UseMemoryChatOptions extends MemoryChatConfig {
53
- /**
54
- * Optional memory manager config
55
- */
56
- config?: MemoryManagerConfig;
57
- /**
58
- * Session ID for chat history persistence
59
- */
60
- sessionId?: string;
61
- /**
62
- * Auto-save messages as memories
63
- * @default false
64
- */
65
- autoSaveMessages?: boolean;
66
- /**
67
- * Gemini API key for embeddings
68
- */
69
- geminiApiKey?: string;
70
- }
71
- export interface UseMemoryChatReturn {
72
- /**
73
- * All chat messages
74
- */
75
- messages: ChatMessage[];
76
- /**
77
- * Send a message and get AI response
78
- */
79
- sendMessage: (content: string) => Promise<void>;
80
- /**
81
- * Create a memory from message content
82
- */
83
- createMemoryFromMessage: (content: string) => Promise<void>;
84
- /**
85
- * Whether the chat is processing (searching/generating response)
86
- */
87
- isProcessing: boolean;
88
- /**
89
- * Currently retrieved memories for context
90
- */
91
- retrievedMemories: SearchMemoryResult[];
92
- /**
93
- * Clear chat history
94
- */
95
- clearHistory: () => void;
96
- /**
97
- * Error if any
98
- */
99
- error: Error | null;
100
- }
101
- /**
102
- * Hook for memory-aware chat with AI integration
103
- */
104
- export declare function useMemoryChat(userAddress: string | undefined, options?: UseMemoryChatOptions): UseMemoryChatReturn;
105
- export default useMemoryChat;
106
- //# sourceMappingURL=useMemoryChat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMemoryChat.d.ts","sourceRoot":"","sources":["../../src/hooks.wip/useMemoryChat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAOH,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,EAAE,WAAW,EAAE,CAAC;IAExB;;OAEG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;OAEG;IACH,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;IAExC;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CA6QrB;AAED,eAAe,aAAa,CAAC"}
@@ -1,284 +0,0 @@
1
- /**
2
- * useMemoryChat - Complete memory-aware chat hook with context retrieval
3
- *
4
- * Drop-in solution for building memory-aware chatbots with AI integration.
5
- *
6
- * @example
7
- * ```tsx
8
- * import { useMemoryChat } from 'personal-data-wallet-sdk/hooks';
9
- * import { useCurrentAccount } from '@mysten/dapp-kit';
10
- *
11
- * function ChatInterface() {
12
- * const account = useCurrentAccount();
13
- *
14
- * const {
15
- * messages,
16
- * sendMessage,
17
- * createMemoryFromMessage,
18
- * isProcessing,
19
- * retrievedMemories
20
- * } = useMemoryChat(account?.address, {
21
- * systemPrompt: 'You are a helpful assistant with access to user memories.',
22
- * maxContextMemories: 5,
23
- * aiProvider: 'gemini'
24
- * });
25
- *
26
- * return (
27
- * <div>
28
- * {messages.map((msg, i) => (
29
- * <div key={i} className={msg.role}>
30
- * {msg.content}
31
- * {msg.memories && (
32
- * <div className="context">
33
- * Used {msg.memories.length} memories
34
- * </div>
35
- * )}
36
- * </div>
37
- * ))}
38
- *
39
- * <button onClick={() => sendMessage('Hello!')}>
40
- * Send Message
41
- * </button>
42
- *
43
- * <button onClick={() => createMemoryFromMessage('Save this')}>
44
- * 💾 Remember this
45
- * </button>
46
- * </div>
47
- * );
48
- * }
49
- * ```
50
- */
51
- import { useState, useCallback, useEffect } from 'react';
52
- import { useCurrentAccount, useSuiClient, useSignAndExecuteTransaction, useSignPersonalMessage } from '@mysten/dapp-kit';
53
- import { useMemorySearch } from './useMemorySearch.js';
54
- import { useCreateMemory } from './useCreateMemory.js';
55
- import { useMemoryManager } from './useMemoryManager.js';
56
- /**
57
- * Hook for memory-aware chat with AI integration
58
- */
59
- export function useMemoryChat(userAddress, options = {}) {
60
- const { systemPrompt = 'You are a helpful assistant with access to user memories.', maxContextMemories = 5, aiProvider = 'gemini', streamResponses = false, config, sessionId = 'default', autoSaveMessages = false, geminiApiKey, } = options;
61
- const account = useCurrentAccount();
62
- const client = useSuiClient();
63
- const { mutate: signAndExecute } = useSignAndExecuteTransaction();
64
- const { mutateAsync: signMessage } = useSignPersonalMessage();
65
- const manager = useMemoryManager(config);
66
- const [messages, setMessages] = useState([]);
67
- const [isProcessing, setIsProcessing] = useState(false);
68
- const [retrievedMemories, setRetrievedMemories] = useState([]);
69
- const [error, setError] = useState(null);
70
- // Memory search hook with API key config
71
- const { search, results: searchResults } = useMemorySearch(userAddress, geminiApiKey ? { geminiApiKey } : undefined);
72
- // Create memory hook
73
- const { mutateAsync: createMemory } = useCreateMemory({ config });
74
- // Load chat history from localStorage on mount
75
- useEffect(() => {
76
- if (typeof window !== 'undefined' && sessionId) {
77
- try {
78
- const stored = localStorage.getItem(`chat_${sessionId}`);
79
- if (stored) {
80
- const parsed = JSON.parse(stored);
81
- setMessages(parsed.map((msg) => ({
82
- ...msg,
83
- timestamp: new Date(msg.timestamp),
84
- })));
85
- }
86
- }
87
- catch (err) {
88
- console.warn('Failed to load chat history:', err);
89
- }
90
- }
91
- }, [sessionId]);
92
- // Save chat history to localStorage
93
- useEffect(() => {
94
- if (typeof window !== 'undefined' && sessionId && messages.length > 0) {
95
- try {
96
- localStorage.setItem(`chat_${sessionId}`, JSON.stringify(messages));
97
- }
98
- catch (err) {
99
- console.warn('Failed to save chat history:', err);
100
- }
101
- }
102
- }, [messages, sessionId]);
103
- /**
104
- * Generate embedding and search for relevant memories
105
- */
106
- const retrieveContext = useCallback(async (query) => {
107
- try {
108
- // Search memories
109
- await search(query, {
110
- k: maxContextMemories,
111
- threshold: 0.5,
112
- });
113
- // Convert searchResults to array if needed
114
- if (!searchResults || !Array.isArray(searchResults)) {
115
- return [];
116
- }
117
- return searchResults.slice(0, maxContextMemories).map(result => ({
118
- blobId: result.blobId,
119
- content: result.content,
120
- category: result.category,
121
- similarity: result.similarity,
122
- timestamp: new Date(result.timestamp || Date.now()),
123
- embedding: result.embedding,
124
- }));
125
- }
126
- catch (err) {
127
- console.error('Failed to retrieve context:', err);
128
- return [];
129
- }
130
- }, [search, searchResults, maxContextMemories]);
131
- /**
132
- * Call AI API with context
133
- */
134
- const generateAIResponse = useCallback(async (userMessage, context) => {
135
- // Build context from memories
136
- const contextText = context
137
- .map((mem, i) => `Memory ${i + 1} (similarity: ${mem.similarity.toFixed(2)}):\n${mem.content}`)
138
- .join('\n\n');
139
- const prompt = `${systemPrompt}
140
-
141
- ${contextText ? `Relevant memories from the user:\n${contextText}\n\n` : ''}User message: ${userMessage}`;
142
- try {
143
- // Call AI API based on provider
144
- const response = await fetch('/api/chat', {
145
- method: 'POST',
146
- headers: { 'Content-Type': 'application/json' },
147
- body: JSON.stringify({
148
- provider: aiProvider,
149
- messages: [
150
- ...messages.map((msg) => ({
151
- role: msg.role,
152
- content: msg.content,
153
- })),
154
- { role: 'user', content: prompt },
155
- ],
156
- stream: streamResponses,
157
- }),
158
- });
159
- if (!response.ok) {
160
- throw new Error(`AI API failed: ${response.statusText}`);
161
- }
162
- const data = await response.json();
163
- return data.response || data.message || 'No response from AI';
164
- }
165
- catch (err) {
166
- console.error('AI API error:', err);
167
- throw new Error('Failed to generate AI response');
168
- }
169
- }, [systemPrompt, aiProvider, messages, streamResponses]);
170
- /**
171
- * Send a message and get AI response
172
- */
173
- const sendMessage = useCallback(async (content) => {
174
- if (!content.trim())
175
- return;
176
- if (isProcessing)
177
- return;
178
- setIsProcessing(true);
179
- setError(null);
180
- try {
181
- // Add user message
182
- const userMessage = {
183
- role: 'user',
184
- content,
185
- timestamp: new Date(),
186
- };
187
- setMessages((prev) => [...prev, userMessage]);
188
- // Retrieve relevant memories
189
- const context = await retrieveContext(content);
190
- setRetrievedMemories(context);
191
- // Generate AI response
192
- const aiResponse = await generateAIResponse(content, context);
193
- // Add AI message with memory references
194
- const aiMessage = {
195
- role: 'assistant',
196
- content: aiResponse,
197
- timestamp: new Date(),
198
- memories: context.length > 0 ? context : undefined,
199
- };
200
- setMessages((prev) => [...prev, aiMessage]);
201
- // Auto-save message as memory if enabled
202
- if (autoSaveMessages && account && client) {
203
- try {
204
- await createMemory({ content, category: 'chat' });
205
- }
206
- catch (err) {
207
- console.warn('Failed to auto-save message:', err);
208
- }
209
- }
210
- }
211
- catch (err) {
212
- console.error('Chat error:', err);
213
- setError(err);
214
- // Add error message
215
- const errorMessage = {
216
- role: 'assistant',
217
- content: `Sorry, I encountered an error: ${err.message}`,
218
- timestamp: new Date(),
219
- };
220
- setMessages((prev) => [...prev, errorMessage]);
221
- }
222
- finally {
223
- setIsProcessing(false);
224
- }
225
- }, [
226
- isProcessing,
227
- retrieveContext,
228
- generateAIResponse,
229
- autoSaveMessages,
230
- account,
231
- client,
232
- signAndExecute,
233
- createMemory,
234
- ]);
235
- /**
236
- * Create a memory from message content
237
- */
238
- const createMemoryFromMessage = useCallback(async (content) => {
239
- if (!content.trim())
240
- return;
241
- if (!account || !client) {
242
- throw new Error('Wallet not connected');
243
- }
244
- try {
245
- await createMemory({
246
- content,
247
- category: 'chat',
248
- });
249
- // Add confirmation message
250
- const confirmationMessage = {
251
- role: 'system',
252
- content: '💾 Memory saved successfully!',
253
- timestamp: new Date(),
254
- };
255
- setMessages((prev) => [...prev, confirmationMessage]);
256
- }
257
- catch (err) {
258
- console.error('Failed to create memory:', err);
259
- throw err;
260
- }
261
- }, [account, client, signAndExecute, createMemory]);
262
- /**
263
- * Clear chat history
264
- */
265
- const clearHistory = useCallback(() => {
266
- setMessages([]);
267
- setRetrievedMemories([]);
268
- setError(null);
269
- if (typeof window !== 'undefined' && sessionId) {
270
- localStorage.removeItem(`chat_${sessionId}`);
271
- }
272
- }, [sessionId]);
273
- return {
274
- messages,
275
- sendMessage,
276
- createMemoryFromMessage,
277
- isProcessing,
278
- retrievedMemories,
279
- clearHistory,
280
- error,
281
- };
282
- }
283
- export default useMemoryChat;
284
- //# sourceMappingURL=useMemoryChat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMemoryChat.js","sourceRoot":"","sources":["../../src/hooks.wip/useMemoryChat.ts"],"names":[],"mappings":"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"}