@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,112 +0,0 @@
1
- /**
2
- * usePDWRAG - React Hook for RAG with PDWVectorStore
3
- *
4
- * Convenience hook for building RAG applications in React.
5
- * Combines usePDWVectorStore with RAG chain creation.
6
- *
7
- * @example
8
- * ```typescript
9
- * import { usePDWRAG } from 'personal-data-wallet-sdk/hooks';
10
- * import { useCurrentAccount } from '@mysten/dapp-kit';
11
- * import { ChatGoogleGenerativeAI } from '@langchain/google-genai';
12
- *
13
- * function MyRAGApp() {
14
- * const account = useCurrentAccount();
15
- * const llm = new ChatGoogleGenerativeAI({ apiKey: geminiApiKey });
16
- *
17
- * const { query, isProcessing, answer, sources, error } = usePDWRAG({
18
- * userAddress: account?.address,
19
- * packageId: '0x...',
20
- * geminiApiKey: process.env.NEXT_PUBLIC_GEMINI_API_KEY!,
21
- * llm,
22
- * });
23
- *
24
- * const handleAsk = () => {
25
- * query('What did I do last week?');
26
- * };
27
- *
28
- * return (
29
- * <div>
30
- * <button onClick={handleAsk} disabled={isProcessing}>
31
- * Ask AI
32
- * </button>
33
- * {answer && <p>{answer}</p>}
34
- * </div>
35
- * );
36
- * }
37
- * ```
38
- */
39
- import type { Runnable } from '@langchain/core/runnables';
40
- import type { BaseMessage } from '@langchain/core/messages';
41
- import { type UsePDWVectorStoreOptions } from './usePDWVectorStore';
42
- export interface UsePDWRAGOptions extends UsePDWVectorStoreOptions {
43
- /**
44
- * LangChain LLM for generation (any chat model like ChatOpenAI, ChatAnthropic, ChatGoogleGenerativeAI, etc.)
45
- */
46
- llm: Runnable<any, BaseMessage>;
47
- /**
48
- * System prompt for the RAG chain
49
- */
50
- systemPrompt?: string;
51
- /**
52
- * Number of documents to retrieve
53
- * @default 5
54
- */
55
- k?: number;
56
- /**
57
- * Minimum similarity threshold
58
- * @default 0.5
59
- */
60
- minSimilarity?: number;
61
- /**
62
- * Whether to return source documents
63
- * @default false
64
- */
65
- returnSourceDocuments?: boolean;
66
- /**
67
- * Metadata filters for retrieval
68
- */
69
- filter?: Record<string, any>;
70
- }
71
- export interface UsePDWRAGReturn {
72
- /**
73
- * Query function - ask a question
74
- */
75
- query: (question: string) => Promise<void>;
76
- /**
77
- * Whether a query is currently processing
78
- */
79
- isProcessing: boolean;
80
- /**
81
- * Latest answer from the RAG chain
82
- */
83
- answer: string | null;
84
- /**
85
- * Source documents (if returnSourceDocuments is true)
86
- */
87
- sources: Array<{
88
- content: string;
89
- metadata: any;
90
- similarity?: number;
91
- }> | null;
92
- /**
93
- * Error if query failed
94
- */
95
- error: Error | null;
96
- /**
97
- * Whether the RAG system is ready
98
- */
99
- isReady: boolean;
100
- /**
101
- * Clear current answer and sources
102
- */
103
- clear: () => void;
104
- }
105
- /**
106
- * React hook for RAG with PDWVectorStore
107
- *
108
- * Combines vector store initialization with RAG chain creation
109
- * and provides a simple query interface.
110
- */
111
- export declare function usePDWRAG(options: UsePDWRAGOptions): UsePDWRAGReturn;
112
- //# sourceMappingURL=usePDWRAG.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePDWRAG.d.ts","sourceRoot":"","sources":["../../src/hooks.wip/usePDWRAG.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAqB,KAAK,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAIvF,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;IAChE;;OAEG;IACH,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAEhC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,GAAG,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,GAAG,IAAI,CAAC;IAEV;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAyFpE"}
@@ -1,121 +0,0 @@
1
- /**
2
- * usePDWRAG - React Hook for RAG with PDWVectorStore
3
- *
4
- * Convenience hook for building RAG applications in React.
5
- * Combines usePDWVectorStore with RAG chain creation.
6
- *
7
- * @example
8
- * ```typescript
9
- * import { usePDWRAG } from 'personal-data-wallet-sdk/hooks';
10
- * import { useCurrentAccount } from '@mysten/dapp-kit';
11
- * import { ChatGoogleGenerativeAI } from '@langchain/google-genai';
12
- *
13
- * function MyRAGApp() {
14
- * const account = useCurrentAccount();
15
- * const llm = new ChatGoogleGenerativeAI({ apiKey: geminiApiKey });
16
- *
17
- * const { query, isProcessing, answer, sources, error } = usePDWRAG({
18
- * userAddress: account?.address,
19
- * packageId: '0x...',
20
- * geminiApiKey: process.env.NEXT_PUBLIC_GEMINI_API_KEY!,
21
- * llm,
22
- * });
23
- *
24
- * const handleAsk = () => {
25
- * query('What did I do last week?');
26
- * };
27
- *
28
- * return (
29
- * <div>
30
- * <button onClick={handleAsk} disabled={isProcessing}>
31
- * Ask AI
32
- * </button>
33
- * {answer && <p>{answer}</p>}
34
- * </div>
35
- * );
36
- * }
37
- * ```
38
- */
39
- import { useState, useCallback } from 'react';
40
- import { usePDWVectorStore } from './usePDWVectorStore.js';
41
- import { createPDWRAG, createPDWRAGWithSources } from '../langchain/createPDWRAG.js';
42
- /**
43
- * React hook for RAG with PDWVectorStore
44
- *
45
- * Combines vector store initialization with RAG chain creation
46
- * and provides a simple query interface.
47
- */
48
- export function usePDWRAG(options) {
49
- const { llm, systemPrompt, k = 5, minSimilarity = 0.5, returnSourceDocuments = false, filter, ...vectorStoreOptions } = options;
50
- // Initialize vector store
51
- const { vectorStore, isReady: vectorStoreReady, error: vectorStoreError } = usePDWVectorStore(vectorStoreOptions);
52
- // Query state
53
- const [isProcessing, setIsProcessing] = useState(false);
54
- const [answer, setAnswer] = useState(null);
55
- const [sources, setSources] = useState(null);
56
- const [error, setError] = useState(vectorStoreError);
57
- // Query function
58
- const query = useCallback(async (question) => {
59
- if (!vectorStore || !vectorStoreReady) {
60
- setError(new Error('Vector store not ready'));
61
- return;
62
- }
63
- setIsProcessing(true);
64
- setError(null);
65
- try {
66
- const ragConfig = {
67
- vectorStore,
68
- llm,
69
- systemPrompt,
70
- k,
71
- minSimilarity,
72
- filter,
73
- };
74
- if (returnSourceDocuments) {
75
- // Use RAG with sources
76
- const chain = await createPDWRAGWithSources(ragConfig);
77
- const result = await chain.invoke({ question });
78
- if (typeof result === 'object' && 'answer' in result) {
79
- setAnswer(result.answer);
80
- setSources(result.sourceDocuments || null);
81
- }
82
- else {
83
- setAnswer(String(result));
84
- setSources(null);
85
- }
86
- }
87
- else {
88
- // Use regular RAG
89
- const chain = await createPDWRAG(ragConfig);
90
- const result = await chain.invoke({ question });
91
- setAnswer(String(result));
92
- setSources(null);
93
- }
94
- }
95
- catch (err) {
96
- const errorObj = err instanceof Error ? err : new Error(String(err));
97
- setError(errorObj);
98
- setAnswer(null);
99
- setSources(null);
100
- }
101
- finally {
102
- setIsProcessing(false);
103
- }
104
- }, [vectorStore, vectorStoreReady, llm, systemPrompt, k, minSimilarity, returnSourceDocuments, filter]);
105
- // Clear function
106
- const clear = useCallback(() => {
107
- setAnswer(null);
108
- setSources(null);
109
- setError(null);
110
- }, []);
111
- return {
112
- query,
113
- isProcessing,
114
- answer,
115
- sources,
116
- error: error || vectorStoreError,
117
- isReady: vectorStoreReady && !isProcessing,
118
- clear,
119
- };
120
- }
121
- //# sourceMappingURL=usePDWRAG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePDWRAG.js","sourceRoot":"","sources":["../../src/hooks.wip/usePDWRAG.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAG9C,OAAO,EAAE,iBAAiB,EAAiC,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AA+ElF;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,OAAyB;IACjD,MAAM,EACJ,GAAG,EACH,YAAY,EACZ,CAAC,GAAG,CAAC,EACL,aAAa,GAAG,GAAG,EACnB,qBAAqB,GAAG,KAAK,EAC7B,MAAM,EACN,GAAG,kBAAkB,EACtB,GAAG,OAAO,CAAC;IAEZ,0BAA0B;IAC1B,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,GACvE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAExC,cAAc;IACd,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,gBAAgB,CAAC,CAAC;IAEnE,iBAAiB;IACjB,MAAM,KAAK,GAAG,WAAW,CACvB,KAAK,EAAE,QAAgB,EAAE,EAAE;QACzB,IAAI,CAAC,WAAW,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,SAAS,GAAiB;gBAC9B,WAAW;gBACX,GAAG;gBACH,YAAY;gBACZ,CAAC;gBACD,aAAa;gBACb,MAAM;aACP,CAAC;YAEF,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,uBAAuB;gBACvB,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,SAAS,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAEhD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACrD,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACzB,UAAU,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC1B,UAAU,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kBAAkB;gBAClB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChD,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACrE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnB,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EACD,CAAC,WAAW,EAAE,gBAAgB,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,CAAC,CACpG,CAAC;IAEF,iBAAiB;IACjB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,KAAK;QACL,YAAY;QACZ,MAAM;QACN,OAAO;QACP,KAAK,EAAE,KAAK,IAAI,gBAAgB;QAChC,OAAO,EAAE,gBAAgB,IAAI,CAAC,YAAY;QAC1C,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -1,68 +0,0 @@
1
- /**
2
- * usePDWVectorStore - React Hook for PDWVectorStore
3
- *
4
- * Convenience hook for initializing and managing PDWVectorStore in React applications.
5
- * Handles initialization, lifecycle, and provides easy access to the vector store.
6
- *
7
- * @example
8
- * ```typescript
9
- * import { usePDWVectorStore } from 'personal-data-wallet-sdk/hooks';
10
- * import { useCurrentAccount } from '@mysten/dapp-kit';
11
- *
12
- * function MyComponent() {
13
- * const account = useCurrentAccount();
14
- *
15
- * const { vectorStore, isReady, error } = usePDWVectorStore({
16
- * userAddress: account?.address,
17
- * packageId: '0x...',
18
- * walrusAggregator: 'https://...',
19
- * geminiApiKey: process.env.NEXT_PUBLIC_GEMINI_API_KEY!
20
- * });
21
- *
22
- * if (!isReady) return <div>Initializing...</div>;
23
- * if (error) return <div>Error: {error.message}</div>;
24
- *
25
- * // Use vectorStore...
26
- * }
27
- * ```
28
- */
29
- import { PDWEmbeddings } from '../langchain/PDWEmbeddings';
30
- import { PDWVectorStore } from '../langchain/PDWVectorStore';
31
- import type { PDWVectorStoreConfig } from '../langchain/PDWVectorStore';
32
- export interface UsePDWVectorStoreOptions extends PDWVectorStoreConfig {
33
- /**
34
- * Whether to initialize immediately
35
- * @default true
36
- */
37
- enabled?: boolean;
38
- }
39
- export interface UsePDWVectorStoreReturn {
40
- /**
41
- * Initialized PDWVectorStore instance
42
- */
43
- vectorStore: PDWVectorStore | null;
44
- /**
45
- * PDWEmbeddings instance
46
- */
47
- embeddings: PDWEmbeddings | null;
48
- /**
49
- * Whether the vector store is ready to use
50
- */
51
- isReady: boolean;
52
- /**
53
- * Initialization error if any
54
- */
55
- error: Error | null;
56
- /**
57
- * Manually reinitialize the vector store
58
- */
59
- reinitialize: () => void;
60
- }
61
- /**
62
- * React hook for managing PDWVectorStore
63
- *
64
- * Automatically initializes PDWEmbeddings and PDWVectorStore,
65
- * handles lifecycle, and provides ready state.
66
- */
67
- export declare function usePDWVectorStore(options: UsePDWVectorStoreOptions): UsePDWVectorStoreReturn;
68
- //# sourceMappingURL=usePDWVectorStore.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePDWVectorStore.d.ts","sourceRoot":"","sources":["../../src/hooks.wip/usePDWVectorStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IAEnC;;OAEG;IACH,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC;IAEjC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,wBAAwB,GAChC,uBAAuB,CA+EzB"}
@@ -1,102 +0,0 @@
1
- /**
2
- * usePDWVectorStore - React Hook for PDWVectorStore
3
- *
4
- * Convenience hook for initializing and managing PDWVectorStore in React applications.
5
- * Handles initialization, lifecycle, and provides easy access to the vector store.
6
- *
7
- * @example
8
- * ```typescript
9
- * import { usePDWVectorStore } from 'personal-data-wallet-sdk/hooks';
10
- * import { useCurrentAccount } from '@mysten/dapp-kit';
11
- *
12
- * function MyComponent() {
13
- * const account = useCurrentAccount();
14
- *
15
- * const { vectorStore, isReady, error } = usePDWVectorStore({
16
- * userAddress: account?.address,
17
- * packageId: '0x...',
18
- * walrusAggregator: 'https://...',
19
- * geminiApiKey: process.env.NEXT_PUBLIC_GEMINI_API_KEY!
20
- * });
21
- *
22
- * if (!isReady) return <div>Initializing...</div>;
23
- * if (error) return <div>Error: {error.message}</div>;
24
- *
25
- * // Use vectorStore...
26
- * }
27
- * ```
28
- */
29
- import { useState, useEffect, useMemo } from 'react';
30
- import { PDWEmbeddings } from '../langchain/PDWEmbeddings.js';
31
- import { PDWVectorStore } from '../langchain/PDWVectorStore.js';
32
- /**
33
- * React hook for managing PDWVectorStore
34
- *
35
- * Automatically initializes PDWEmbeddings and PDWVectorStore,
36
- * handles lifecycle, and provides ready state.
37
- */
38
- export function usePDWVectorStore(options) {
39
- const { enabled = true, ...config } = options;
40
- const [vectorStore, setVectorStore] = useState(null);
41
- const [embeddings, setEmbeddings] = useState(null);
42
- const [isReady, setIsReady] = useState(false);
43
- const [error, setError] = useState(null);
44
- const [initTrigger, setInitTrigger] = useState(0);
45
- // Memoize config to avoid recreating on every render
46
- const stableConfig = useMemo(() => config, [
47
- config.userAddress,
48
- config.packageId,
49
- config.geminiApiKey,
50
- config.walrusAggregator,
51
- // Add other config dependencies as needed
52
- ]);
53
- useEffect(() => {
54
- if (!enabled || !stableConfig.userAddress || !stableConfig.geminiApiKey) {
55
- setIsReady(false);
56
- return;
57
- }
58
- let cancelled = false;
59
- const initialize = async () => {
60
- try {
61
- setError(null);
62
- setIsReady(false);
63
- // Initialize embeddings
64
- const embeddingsInstance = new PDWEmbeddings({
65
- geminiApiKey: stableConfig.geminiApiKey,
66
- model: stableConfig.embeddingModel,
67
- dimensions: stableConfig.embeddingDimensions,
68
- });
69
- if (cancelled)
70
- return;
71
- // Initialize vector store
72
- const vectorStoreInstance = new PDWVectorStore(embeddingsInstance, stableConfig);
73
- if (cancelled)
74
- return;
75
- setEmbeddings(embeddingsInstance);
76
- setVectorStore(vectorStoreInstance);
77
- setIsReady(true);
78
- }
79
- catch (err) {
80
- if (cancelled)
81
- return;
82
- setError(err instanceof Error ? err : new Error(String(err)));
83
- setIsReady(false);
84
- }
85
- };
86
- initialize();
87
- return () => {
88
- cancelled = true;
89
- };
90
- }, [enabled, stableConfig, initTrigger]);
91
- const reinitialize = () => {
92
- setInitTrigger(prev => prev + 1);
93
- };
94
- return {
95
- vectorStore,
96
- embeddings,
97
- isReady,
98
- error,
99
- reinitialize,
100
- };
101
- }
102
- //# sourceMappingURL=usePDWVectorStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePDWVectorStore.js","sourceRoot":"","sources":["../../src/hooks.wip/usePDWVectorStore.ts"],"names":[],"mappings":"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"}
@@ -1,138 +0,0 @@
1
- /**
2
- * useRetrieveEmbedding - Hook for retrieving stored vector embeddings
3
- *
4
- * Fetches embedding data from Walrus storage with automatic:
5
- * - Walrus blob retrieval
6
- * - JSON parsing
7
- * - Caching with React Query
8
- * - Loading and error states
9
- *
10
- * @example
11
- * ```tsx
12
- * import { useRetrieveEmbedding } from 'personal-data-wallet-sdk/hooks';
13
- *
14
- * function EmbeddingViewer({ blobId }: { blobId: string }) {
15
- * const { data, isLoading, error, refetch } = useRetrieveEmbedding(blobId, {
16
- * enabled: !!blobId // Only fetch when blobId is available
17
- * });
18
- *
19
- * if (isLoading) return <div>Loading embedding...</div>;
20
- * if (error) return <div>Error: {error.message}</div>;
21
- * if (!data) return null;
22
- *
23
- * return (
24
- * <div>
25
- * <p>Dimension: {data.dimension}</p>
26
- * <p>Model: {data.model}</p>
27
- * <p>Vector length: {data.vector.length}</p>
28
- * <button onClick={() => refetch()}>Refresh</button>
29
- * </div>
30
- * );
31
- * }
32
- * ```
33
- */
34
- export interface RetrievedEmbedding {
35
- /**
36
- * The vector embedding (768 dimensions)
37
- */
38
- vector: number[];
39
- /**
40
- * Embedding dimension
41
- */
42
- dimension: number;
43
- /**
44
- * Model used for embedding generation
45
- */
46
- model: string;
47
- /**
48
- * Preview of the original content (first 200 chars)
49
- */
50
- contentPreview: string;
51
- /**
52
- * Original content length
53
- */
54
- contentLength: number;
55
- /**
56
- * Type of embedding
57
- */
58
- embeddingType: 'document' | 'query' | 'metadata';
59
- /**
60
- * Additional metadata stored with the embedding
61
- */
62
- metadata: Record<string, any>;
63
- /**
64
- * Timestamp when embedding was created
65
- */
66
- timestamp: number;
67
- }
68
- export interface UseRetrieveEmbeddingOptions {
69
- /**
70
- * PDW package ID for StorageService
71
- */
72
- packageId?: string;
73
- /**
74
- * Sui RPC URL for StorageService
75
- */
76
- suiRpcUrl?: string;
77
- /**
78
- * Walrus network ('mainnet' | 'testnet')
79
- */
80
- network?: 'mainnet' | 'testnet';
81
- /**
82
- * Whether to fetch immediately (default: true)
83
- */
84
- enabled?: boolean;
85
- /**
86
- * Stale time in milliseconds (default: 5 minutes)
87
- * How long before cached data is considered stale
88
- */
89
- staleTime?: number;
90
- /**
91
- * Cache time in milliseconds (default: 10 minutes)
92
- * How long to keep cached data before garbage collection
93
- */
94
- cacheTime?: number;
95
- /**
96
- * Callback when data is successfully fetched
97
- */
98
- onSuccess?: (data: RetrievedEmbedding) => void;
99
- /**
100
- * Callback when an error occurs
101
- */
102
- onError?: (error: Error) => void;
103
- }
104
- export interface UseRetrieveEmbeddingReturn {
105
- /**
106
- * Retrieved embedding data
107
- */
108
- data?: RetrievedEmbedding;
109
- /**
110
- * Whether the query is loading
111
- */
112
- isLoading: boolean;
113
- /**
114
- * Whether the query is fetching (including background refetch)
115
- */
116
- isFetching: boolean;
117
- /**
118
- * Whether the query succeeded
119
- */
120
- isSuccess: boolean;
121
- /**
122
- * Whether the query failed
123
- */
124
- isError: boolean;
125
- /**
126
- * Error if query failed
127
- */
128
- error: Error | null;
129
- /**
130
- * Manually refetch the embedding
131
- */
132
- refetch: () => Promise<any>;
133
- }
134
- /**
135
- * Hook for retrieving vector embeddings from Walrus
136
- */
137
- export declare function useRetrieveEmbedding(blobId: string | undefined, options?: UseRetrieveEmbeddingOptions): UseRetrieveEmbeddingReturn;
138
- //# sourceMappingURL=useRetrieveEmbedding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRetrieveEmbedding.d.ts","sourceRoot":"","sources":["../../src/hooks.wip/useRetrieveEmbedding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAMH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;IACjD;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C;;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,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC/C;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,GAAE,2BAAgC,GACxC,0BAA0B,CAkG5B"}
@@ -1,121 +0,0 @@
1
- /**
2
- * useRetrieveEmbedding - Hook for retrieving stored vector embeddings
3
- *
4
- * Fetches embedding data from Walrus storage with automatic:
5
- * - Walrus blob retrieval
6
- * - JSON parsing
7
- * - Caching with React Query
8
- * - Loading and error states
9
- *
10
- * @example
11
- * ```tsx
12
- * import { useRetrieveEmbedding } from 'personal-data-wallet-sdk/hooks';
13
- *
14
- * function EmbeddingViewer({ blobId }: { blobId: string }) {
15
- * const { data, isLoading, error, refetch } = useRetrieveEmbedding(blobId, {
16
- * enabled: !!blobId // Only fetch when blobId is available
17
- * });
18
- *
19
- * if (isLoading) return <div>Loading embedding...</div>;
20
- * if (error) return <div>Error: {error.message}</div>;
21
- * if (!data) return null;
22
- *
23
- * return (
24
- * <div>
25
- * <p>Dimension: {data.dimension}</p>
26
- * <p>Model: {data.model}</p>
27
- * <p>Vector length: {data.vector.length}</p>
28
- * <button onClick={() => refetch()}>Refresh</button>
29
- * </div>
30
- * );
31
- * }
32
- * ```
33
- */
34
- import { useQuery } from '@tanstack/react-query';
35
- import { StorageService } from '../services/StorageService.js';
36
- import { SuiClient } from '@mysten/sui/client';
37
- /**
38
- * Hook for retrieving vector embeddings from Walrus
39
- */
40
- export function useRetrieveEmbedding(blobId, options = {}) {
41
- const packageId = options.packageId || process.env.NEXT_PUBLIC_PACKAGE_ID;
42
- const suiRpcUrl = options.suiRpcUrl ||
43
- process.env.NEXT_PUBLIC_SUI_RPC_URL ||
44
- 'https://fullnode.testnet.sui.io:443';
45
- const network = options.network || 'testnet';
46
- const query = useQuery({
47
- queryKey: ['embedding', blobId],
48
- queryFn: async () => {
49
- if (!blobId) {
50
- throw new Error('Blob ID is required');
51
- }
52
- if (!packageId) {
53
- throw new Error('Package ID is required. Provide via options.packageId or NEXT_PUBLIC_PACKAGE_ID env variable');
54
- }
55
- console.log('🔍 Retrieving embedding from Walrus:', blobId);
56
- // Initialize StorageService
57
- const suiClient = new SuiClient({ url: suiRpcUrl });
58
- const storageService = new StorageService({
59
- packageId,
60
- suiClient,
61
- network
62
- });
63
- // Fetch blob from Walrus
64
- const startTime = Date.now();
65
- const data = await storageService.getBlob(blobId);
66
- const fetchTime = Date.now() - startTime;
67
- console.log('✅ Blob fetched:', {
68
- blobId,
69
- size: data.byteLength,
70
- time: fetchTime + 'ms'
71
- });
72
- // Parse JSON data
73
- const text = new TextDecoder().decode(data);
74
- const parsed = JSON.parse(text);
75
- // Validate structure
76
- if (!parsed.vector || !Array.isArray(parsed.vector)) {
77
- throw new Error('Invalid embedding data: missing or invalid vector');
78
- }
79
- if (!parsed.dimension || typeof parsed.dimension !== 'number') {
80
- throw new Error('Invalid embedding data: missing or invalid dimension');
81
- }
82
- console.log('✅ Embedding parsed:', {
83
- dimension: parsed.dimension,
84
- model: parsed.model,
85
- type: parsed.embeddingType
86
- });
87
- return {
88
- vector: parsed.vector,
89
- dimension: parsed.dimension,
90
- model: parsed.model || 'unknown',
91
- contentPreview: parsed.contentPreview || '',
92
- contentLength: parsed.contentLength || 0,
93
- embeddingType: parsed.embeddingType || 'document',
94
- metadata: parsed.metadata || {},
95
- timestamp: parsed.timestamp || 0
96
- };
97
- },
98
- enabled: options.enabled !== false && !!blobId,
99
- staleTime: options.staleTime ?? 5 * 60 * 1000, // 5 minutes
100
- gcTime: options.cacheTime ?? 10 * 60 * 1000, // 10 minutes
101
- retry: 2,
102
- retryDelay: (attemptIndex) => Math.min(1000 * 2 ** attemptIndex, 5000),
103
- });
104
- // Call callbacks
105
- if (query.isSuccess && query.data && options.onSuccess) {
106
- options.onSuccess(query.data);
107
- }
108
- if (query.isError && query.error && options.onError) {
109
- options.onError(query.error);
110
- }
111
- return {
112
- data: query.data,
113
- isLoading: query.isLoading,
114
- isFetching: query.isFetching,
115
- isSuccess: query.isSuccess,
116
- isError: query.isError,
117
- error: query.error,
118
- refetch: query.refetch
119
- };
120
- }
121
- //# sourceMappingURL=useRetrieveEmbedding.js.map