@cmdoss/memwal-sdk 0.6.0

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 (784) hide show
  1. package/ARCHITECTURE.md +463 -0
  2. package/BENCHMARKS.md +238 -0
  3. package/README.md +142 -0
  4. package/dist/access/PermissionService.d.ts +179 -0
  5. package/dist/access/PermissionService.d.ts.map +1 -0
  6. package/dist/access/PermissionService.js +445 -0
  7. package/dist/access/PermissionService.js.map +1 -0
  8. package/dist/access/index.d.ts +8 -0
  9. package/dist/access/index.d.ts.map +1 -0
  10. package/dist/access/index.js +7 -0
  11. package/dist/access/index.js.map +1 -0
  12. package/dist/aggregation/AggregationService.d.ts +132 -0
  13. package/dist/aggregation/AggregationService.d.ts.map +1 -0
  14. package/dist/aggregation/AggregationService.js +225 -0
  15. package/dist/aggregation/AggregationService.js.map +1 -0
  16. package/dist/aggregation/index.d.ts +8 -0
  17. package/dist/aggregation/index.d.ts.map +1 -0
  18. package/dist/aggregation/index.js +7 -0
  19. package/dist/aggregation/index.js.map +1 -0
  20. package/dist/ai-sdk/PDWVectorStore.d.ts +124 -0
  21. package/dist/ai-sdk/PDWVectorStore.d.ts.map +1 -0
  22. package/dist/ai-sdk/PDWVectorStore.js +557 -0
  23. package/dist/ai-sdk/PDWVectorStore.js.map +1 -0
  24. package/dist/ai-sdk/index.d.ts +45 -0
  25. package/dist/ai-sdk/index.d.ts.map +1 -0
  26. package/dist/ai-sdk/index.js +45 -0
  27. package/dist/ai-sdk/index.js.map +1 -0
  28. package/dist/ai-sdk/tools.d.ts +153 -0
  29. package/dist/ai-sdk/tools.d.ts.map +1 -0
  30. package/dist/ai-sdk/tools.js +312 -0
  31. package/dist/ai-sdk/tools.js.map +1 -0
  32. package/dist/ai-sdk/types.d.ts +336 -0
  33. package/dist/ai-sdk/types.d.ts.map +1 -0
  34. package/dist/ai-sdk/types.js +36 -0
  35. package/dist/ai-sdk/types.js.map +1 -0
  36. package/dist/api/client.d.ts +43 -0
  37. package/dist/api/client.d.ts.map +1 -0
  38. package/dist/api/client.js +136 -0
  39. package/dist/api/client.js.map +1 -0
  40. package/dist/batch/BatchManager.d.ts +147 -0
  41. package/dist/batch/BatchManager.d.ts.map +1 -0
  42. package/dist/batch/BatchManager.js +427 -0
  43. package/dist/batch/BatchManager.js.map +1 -0
  44. package/dist/batch/BatchingService.d.ts +122 -0
  45. package/dist/batch/BatchingService.d.ts.map +1 -0
  46. package/dist/batch/BatchingService.js +301 -0
  47. package/dist/batch/BatchingService.js.map +1 -0
  48. package/dist/batch/MemoryProcessingCache.d.ts +147 -0
  49. package/dist/batch/MemoryProcessingCache.d.ts.map +1 -0
  50. package/dist/batch/MemoryProcessingCache.js +349 -0
  51. package/dist/batch/MemoryProcessingCache.js.map +1 -0
  52. package/dist/batch/index.d.ts +13 -0
  53. package/dist/batch/index.d.ts.map +1 -0
  54. package/dist/batch/index.js +10 -0
  55. package/dist/batch/index.js.map +1 -0
  56. package/dist/browser.d.ts +73 -0
  57. package/dist/browser.d.ts.map +1 -0
  58. package/dist/browser.js +66 -0
  59. package/dist/browser.js.map +1 -0
  60. package/dist/chat/index.d.ts +13 -0
  61. package/dist/chat/index.d.ts.map +1 -0
  62. package/dist/chat/index.js +14 -0
  63. package/dist/chat/index.js.map +1 -0
  64. package/dist/client/ClientMemoryManager.d.ts +202 -0
  65. package/dist/client/ClientMemoryManager.d.ts.map +1 -0
  66. package/dist/client/ClientMemoryManager.js +764 -0
  67. package/dist/client/ClientMemoryManager.js.map +1 -0
  68. package/dist/client/PersonalDataWallet.d.ts +406 -0
  69. package/dist/client/PersonalDataWallet.d.ts.map +1 -0
  70. package/dist/client/PersonalDataWallet.js +229 -0
  71. package/dist/client/PersonalDataWallet.js.map +1 -0
  72. package/dist/client/SimplePDWClient.d.ts +534 -0
  73. package/dist/client/SimplePDWClient.d.ts.map +1 -0
  74. package/dist/client/SimplePDWClient.js +876 -0
  75. package/dist/client/SimplePDWClient.js.map +1 -0
  76. package/dist/client/factory.d.ts +99 -0
  77. package/dist/client/factory.d.ts.map +1 -0
  78. package/dist/client/factory.js +126 -0
  79. package/dist/client/factory.js.map +1 -0
  80. package/dist/client/namespaces/AnalyticsNamespace.d.ts +178 -0
  81. package/dist/client/namespaces/AnalyticsNamespace.d.ts.map +1 -0
  82. package/dist/client/namespaces/AnalyticsNamespace.js +261 -0
  83. package/dist/client/namespaces/AnalyticsNamespace.js.map +1 -0
  84. package/dist/client/namespaces/BatchNamespace.d.ts +120 -0
  85. package/dist/client/namespaces/BatchNamespace.d.ts.map +1 -0
  86. package/dist/client/namespaces/BatchNamespace.js +261 -0
  87. package/dist/client/namespaces/BatchNamespace.js.map +1 -0
  88. package/dist/client/namespaces/CacheNamespace.d.ts +80 -0
  89. package/dist/client/namespaces/CacheNamespace.d.ts.map +1 -0
  90. package/dist/client/namespaces/CacheNamespace.js +100 -0
  91. package/dist/client/namespaces/CacheNamespace.js.map +1 -0
  92. package/dist/client/namespaces/CapabilityNamespace.d.ts +145 -0
  93. package/dist/client/namespaces/CapabilityNamespace.d.ts.map +1 -0
  94. package/dist/client/namespaces/CapabilityNamespace.js +181 -0
  95. package/dist/client/namespaces/CapabilityNamespace.js.map +1 -0
  96. package/dist/client/namespaces/ChatNamespace.d.ts +110 -0
  97. package/dist/client/namespaces/ChatNamespace.d.ts.map +1 -0
  98. package/dist/client/namespaces/ChatNamespace.js +123 -0
  99. package/dist/client/namespaces/ChatNamespace.js.map +1 -0
  100. package/dist/client/namespaces/ClassifyNamespace.d.ts +96 -0
  101. package/dist/client/namespaces/ClassifyNamespace.d.ts.map +1 -0
  102. package/dist/client/namespaces/ClassifyNamespace.js +149 -0
  103. package/dist/client/namespaces/ClassifyNamespace.js.map +1 -0
  104. package/dist/client/namespaces/ContextNamespace.d.ts +150 -0
  105. package/dist/client/namespaces/ContextNamespace.d.ts.map +1 -0
  106. package/dist/client/namespaces/ContextNamespace.js +250 -0
  107. package/dist/client/namespaces/ContextNamespace.js.map +1 -0
  108. package/dist/client/namespaces/EmbeddingsNamespace.d.ts +64 -0
  109. package/dist/client/namespaces/EmbeddingsNamespace.d.ts.map +1 -0
  110. package/dist/client/namespaces/EmbeddingsNamespace.js +86 -0
  111. package/dist/client/namespaces/EmbeddingsNamespace.js.map +1 -0
  112. package/dist/client/namespaces/EncryptionNamespace.d.ts +128 -0
  113. package/dist/client/namespaces/EncryptionNamespace.d.ts.map +1 -0
  114. package/dist/client/namespaces/EncryptionNamespace.js +161 -0
  115. package/dist/client/namespaces/EncryptionNamespace.js.map +1 -0
  116. package/dist/client/namespaces/GraphNamespace.d.ts +168 -0
  117. package/dist/client/namespaces/GraphNamespace.d.ts.map +1 -0
  118. package/dist/client/namespaces/GraphNamespace.js +314 -0
  119. package/dist/client/namespaces/GraphNamespace.js.map +1 -0
  120. package/dist/client/namespaces/IndexNamespace.d.ts +141 -0
  121. package/dist/client/namespaces/IndexNamespace.d.ts.map +1 -0
  122. package/dist/client/namespaces/IndexNamespace.js +238 -0
  123. package/dist/client/namespaces/IndexNamespace.js.map +1 -0
  124. package/dist/client/namespaces/MemoryNamespace.d.ts +277 -0
  125. package/dist/client/namespaces/MemoryNamespace.d.ts.map +1 -0
  126. package/dist/client/namespaces/MemoryNamespace.js +907 -0
  127. package/dist/client/namespaces/MemoryNamespace.js.map +1 -0
  128. package/dist/client/namespaces/PermissionsNamespace.d.ts +114 -0
  129. package/dist/client/namespaces/PermissionsNamespace.d.ts.map +1 -0
  130. package/dist/client/namespaces/PermissionsNamespace.js +179 -0
  131. package/dist/client/namespaces/PermissionsNamespace.js.map +1 -0
  132. package/dist/client/namespaces/PipelineNamespace.d.ts +125 -0
  133. package/dist/client/namespaces/PipelineNamespace.d.ts.map +1 -0
  134. package/dist/client/namespaces/PipelineNamespace.js +171 -0
  135. package/dist/client/namespaces/PipelineNamespace.js.map +1 -0
  136. package/dist/client/namespaces/SearchNamespace.d.ts +382 -0
  137. package/dist/client/namespaces/SearchNamespace.d.ts.map +1 -0
  138. package/dist/client/namespaces/SearchNamespace.js +821 -0
  139. package/dist/client/namespaces/SearchNamespace.js.map +1 -0
  140. package/dist/client/namespaces/StorageNamespace.d.ts +180 -0
  141. package/dist/client/namespaces/StorageNamespace.d.ts.map +1 -0
  142. package/dist/client/namespaces/StorageNamespace.js +354 -0
  143. package/dist/client/namespaces/StorageNamespace.js.map +1 -0
  144. package/dist/client/namespaces/TxNamespace.d.ts +143 -0
  145. package/dist/client/namespaces/TxNamespace.d.ts.map +1 -0
  146. package/dist/client/namespaces/TxNamespace.js +208 -0
  147. package/dist/client/namespaces/TxNamespace.js.map +1 -0
  148. package/dist/client/namespaces/WalletNamespace.d.ts +124 -0
  149. package/dist/client/namespaces/WalletNamespace.d.ts.map +1 -0
  150. package/dist/client/namespaces/WalletNamespace.js +197 -0
  151. package/dist/client/namespaces/WalletNamespace.js.map +1 -0
  152. package/dist/client/namespaces/consolidated/AINamespace.d.ts +265 -0
  153. package/dist/client/namespaces/consolidated/AINamespace.d.ts.map +1 -0
  154. package/dist/client/namespaces/consolidated/AINamespace.js +390 -0
  155. package/dist/client/namespaces/consolidated/AINamespace.js.map +1 -0
  156. package/dist/client/namespaces/consolidated/BlockchainNamespace.d.ts +265 -0
  157. package/dist/client/namespaces/consolidated/BlockchainNamespace.d.ts.map +1 -0
  158. package/dist/client/namespaces/consolidated/BlockchainNamespace.js +412 -0
  159. package/dist/client/namespaces/consolidated/BlockchainNamespace.js.map +1 -0
  160. package/dist/client/namespaces/consolidated/SecurityNamespace.d.ts +354 -0
  161. package/dist/client/namespaces/consolidated/SecurityNamespace.d.ts.map +1 -0
  162. package/dist/client/namespaces/consolidated/SecurityNamespace.js +522 -0
  163. package/dist/client/namespaces/consolidated/SecurityNamespace.js.map +1 -0
  164. package/dist/client/namespaces/consolidated/StorageNamespace.d.ts +235 -0
  165. package/dist/client/namespaces/consolidated/StorageNamespace.d.ts.map +1 -0
  166. package/dist/client/namespaces/consolidated/StorageNamespace.js +351 -0
  167. package/dist/client/namespaces/consolidated/StorageNamespace.js.map +1 -0
  168. package/dist/client/namespaces/consolidated/index.d.ts +17 -0
  169. package/dist/client/namespaces/consolidated/index.d.ts.map +1 -0
  170. package/dist/client/namespaces/consolidated/index.js +13 -0
  171. package/dist/client/namespaces/consolidated/index.js.map +1 -0
  172. package/dist/client/signers/KeypairSigner.d.ts +55 -0
  173. package/dist/client/signers/KeypairSigner.d.ts.map +1 -0
  174. package/dist/client/signers/KeypairSigner.js +84 -0
  175. package/dist/client/signers/KeypairSigner.js.map +1 -0
  176. package/dist/client/signers/UnifiedSigner.d.ts +88 -0
  177. package/dist/client/signers/UnifiedSigner.d.ts.map +1 -0
  178. package/dist/client/signers/UnifiedSigner.js +13 -0
  179. package/dist/client/signers/UnifiedSigner.js.map +1 -0
  180. package/dist/client/signers/WalletAdapterSigner.d.ts +94 -0
  181. package/dist/client/signers/WalletAdapterSigner.d.ts.map +1 -0
  182. package/dist/client/signers/WalletAdapterSigner.js +91 -0
  183. package/dist/client/signers/WalletAdapterSigner.js.map +1 -0
  184. package/dist/client/signers/index.d.ts +14 -0
  185. package/dist/client/signers/index.d.ts.map +1 -0
  186. package/dist/client/signers/index.js +12 -0
  187. package/dist/client/signers/index.js.map +1 -0
  188. package/dist/config/ConfigurationHelper.d.ts +167 -0
  189. package/dist/config/ConfigurationHelper.d.ts.map +1 -0
  190. package/dist/config/ConfigurationHelper.js +283 -0
  191. package/dist/config/ConfigurationHelper.js.map +1 -0
  192. package/dist/config/defaults.d.ts +9 -0
  193. package/dist/config/defaults.d.ts.map +1 -0
  194. package/dist/config/defaults.js +49 -0
  195. package/dist/config/defaults.js.map +1 -0
  196. package/dist/config/index.d.ts +9 -0
  197. package/dist/config/index.d.ts.map +1 -0
  198. package/dist/config/index.js +8 -0
  199. package/dist/config/index.js.map +1 -0
  200. package/dist/config/validation.d.ts +12 -0
  201. package/dist/config/validation.d.ts.map +1 -0
  202. package/dist/config/validation.js +61 -0
  203. package/dist/config/validation.js.map +1 -0
  204. package/dist/core/index.d.ts +11 -0
  205. package/dist/core/index.d.ts.map +1 -0
  206. package/dist/core/index.js +13 -0
  207. package/dist/core/index.js.map +1 -0
  208. package/dist/core/interfaces/IService.d.ts +162 -0
  209. package/dist/core/interfaces/IService.d.ts.map +1 -0
  210. package/dist/core/interfaces/IService.js +159 -0
  211. package/dist/core/interfaces/IService.js.map +1 -0
  212. package/dist/core/interfaces/index.d.ts +7 -0
  213. package/dist/core/interfaces/index.d.ts.map +1 -0
  214. package/dist/core/interfaces/index.js +7 -0
  215. package/dist/core/interfaces/index.js.map +1 -0
  216. package/dist/core/types/capability.d.ts +268 -0
  217. package/dist/core/types/capability.d.ts.map +1 -0
  218. package/dist/core/types/capability.js +16 -0
  219. package/dist/core/types/capability.js.map +1 -0
  220. package/dist/core/types/index.d.ts +750 -0
  221. package/dist/core/types/index.d.ts.map +1 -0
  222. package/dist/core/types/index.js +6 -0
  223. package/dist/core/types/index.js.map +1 -0
  224. package/dist/core/types/wallet.d.ts +254 -0
  225. package/dist/core/types/wallet.d.ts.map +1 -0
  226. package/dist/core/types/wallet.js +27 -0
  227. package/dist/core/types/wallet.js.map +1 -0
  228. package/dist/core/types.d.ts +8 -0
  229. package/dist/core/types.d.ts.map +1 -0
  230. package/dist/core/types.js +8 -0
  231. package/dist/core/types.js.map +1 -0
  232. package/dist/core/wallet.d.ts +209 -0
  233. package/dist/core/wallet.d.ts.map +1 -0
  234. package/dist/core/wallet.js +27 -0
  235. package/dist/core/wallet.js.map +1 -0
  236. package/dist/embedding/index.d.ts +9 -0
  237. package/dist/embedding/index.d.ts.map +1 -0
  238. package/dist/embedding/index.js +8 -0
  239. package/dist/embedding/index.js.map +1 -0
  240. package/dist/embedding/types.d.ts +302 -0
  241. package/dist/embedding/types.d.ts.map +1 -0
  242. package/dist/embedding/types.js +9 -0
  243. package/dist/embedding/types.js.map +1 -0
  244. package/dist/encryption/index.d.ts +14 -0
  245. package/dist/encryption/index.d.ts.map +1 -0
  246. package/dist/encryption/index.js +14 -0
  247. package/dist/encryption/index.js.map +1 -0
  248. package/dist/errors/index.d.ts +149 -0
  249. package/dist/errors/index.d.ts.map +1 -0
  250. package/dist/errors/index.js +301 -0
  251. package/dist/errors/index.js.map +1 -0
  252. package/dist/errors/recovery.d.ts +128 -0
  253. package/dist/errors/recovery.d.ts.map +1 -0
  254. package/dist/errors/recovery.js +320 -0
  255. package/dist/errors/recovery.js.map +1 -0
  256. package/dist/errors/validation.d.ts +106 -0
  257. package/dist/errors/validation.d.ts.map +1 -0
  258. package/dist/errors/validation.js +354 -0
  259. package/dist/errors/validation.js.map +1 -0
  260. package/dist/generated/pdw/capability.d.ts +223 -0
  261. package/dist/generated/pdw/capability.d.ts.map +1 -0
  262. package/dist/generated/pdw/capability.js +238 -0
  263. package/dist/generated/pdw/capability.js.map +1 -0
  264. package/dist/generated/pdw/deps/sui/object.d.ts +9 -0
  265. package/dist/generated/pdw/deps/sui/object.d.ts.map +1 -0
  266. package/dist/generated/pdw/deps/sui/object.js +11 -0
  267. package/dist/generated/pdw/deps/sui/object.js.map +1 -0
  268. package/dist/generated/pdw/deps/sui/vec_map.d.ts +37 -0
  269. package/dist/generated/pdw/deps/sui/vec_map.d.ts.map +1 -0
  270. package/dist/generated/pdw/deps/sui/vec_map.js +28 -0
  271. package/dist/generated/pdw/deps/sui/vec_map.js.map +1 -0
  272. package/dist/generated/pdw/memory.d.ts +676 -0
  273. package/dist/generated/pdw/memory.d.ts.map +1 -0
  274. package/dist/generated/pdw/memory.js +681 -0
  275. package/dist/generated/pdw/memory.js.map +1 -0
  276. package/dist/generated/pdw/wallet.d.ts +78 -0
  277. package/dist/generated/pdw/wallet.d.ts.map +1 -0
  278. package/dist/generated/pdw/wallet.js +89 -0
  279. package/dist/generated/pdw/wallet.js.map +1 -0
  280. package/dist/generated/utils/index.d.ts +12 -0
  281. package/dist/generated/utils/index.d.ts.map +1 -0
  282. package/dist/generated/utils/index.js +132 -0
  283. package/dist/generated/utils/index.js.map +1 -0
  284. package/dist/graph/BrowserKnowledgeGraphManager.d.ts +101 -0
  285. package/dist/graph/BrowserKnowledgeGraphManager.d.ts.map +1 -0
  286. package/dist/graph/BrowserKnowledgeGraphManager.js +411 -0
  287. package/dist/graph/BrowserKnowledgeGraphManager.js.map +1 -0
  288. package/dist/graph/GraphService.d.ts +194 -0
  289. package/dist/graph/GraphService.d.ts.map +1 -0
  290. package/dist/graph/GraphService.js +662 -0
  291. package/dist/graph/GraphService.js.map +1 -0
  292. package/dist/graph/KnowledgeGraphManager.d.ts +161 -0
  293. package/dist/graph/KnowledgeGraphManager.d.ts.map +1 -0
  294. package/dist/graph/KnowledgeGraphManager.js +495 -0
  295. package/dist/graph/KnowledgeGraphManager.js.map +1 -0
  296. package/dist/graph/index.d.ts +11 -0
  297. package/dist/graph/index.d.ts.map +1 -0
  298. package/dist/graph/index.js +9 -0
  299. package/dist/graph/index.js.map +1 -0
  300. package/dist/hooks.wip/index.d.ts +55 -0
  301. package/dist/hooks.wip/index.d.ts.map +1 -0
  302. package/dist/hooks.wip/index.js +58 -0
  303. package/dist/hooks.wip/index.js.map +1 -0
  304. package/dist/hooks.wip/useCreateMemory.d.ts +111 -0
  305. package/dist/hooks.wip/useCreateMemory.d.ts.map +1 -0
  306. package/dist/hooks.wip/useCreateMemory.js +149 -0
  307. package/dist/hooks.wip/useCreateMemory.js.map +1 -0
  308. package/dist/hooks.wip/useCreateMemoryBatch.d.ts +122 -0
  309. package/dist/hooks.wip/useCreateMemoryBatch.d.ts.map +1 -0
  310. package/dist/hooks.wip/useCreateMemoryBatch.js +221 -0
  311. package/dist/hooks.wip/useCreateMemoryBatch.js.map +1 -0
  312. package/dist/hooks.wip/useKnowledgeGraph.d.ts +66 -0
  313. package/dist/hooks.wip/useKnowledgeGraph.d.ts.map +1 -0
  314. package/dist/hooks.wip/useKnowledgeGraph.js +229 -0
  315. package/dist/hooks.wip/useKnowledgeGraph.js.map +1 -0
  316. package/dist/hooks.wip/useMemoryChat.d.ts +106 -0
  317. package/dist/hooks.wip/useMemoryChat.d.ts.map +1 -0
  318. package/dist/hooks.wip/useMemoryChat.js +284 -0
  319. package/dist/hooks.wip/useMemoryChat.js.map +1 -0
  320. package/dist/hooks.wip/useMemoryIndex.d.ts +90 -0
  321. package/dist/hooks.wip/useMemoryIndex.d.ts.map +1 -0
  322. package/dist/hooks.wip/useMemoryIndex.js +218 -0
  323. package/dist/hooks.wip/useMemoryIndex.js.map +1 -0
  324. package/dist/hooks.wip/useMemoryManager.d.ts +35 -0
  325. package/dist/hooks.wip/useMemoryManager.d.ts.map +1 -0
  326. package/dist/hooks.wip/useMemoryManager.js +86 -0
  327. package/dist/hooks.wip/useMemoryManager.js.map +1 -0
  328. package/dist/hooks.wip/useMemorySearch.d.ts +100 -0
  329. package/dist/hooks.wip/useMemorySearch.d.ts.map +1 -0
  330. package/dist/hooks.wip/useMemorySearch.js +278 -0
  331. package/dist/hooks.wip/useMemorySearch.js.map +1 -0
  332. package/dist/hooks.wip/useMemoryServices.d.ts +80 -0
  333. package/dist/hooks.wip/useMemoryServices.d.ts.map +1 -0
  334. package/dist/hooks.wip/useMemoryServices.js +264 -0
  335. package/dist/hooks.wip/useMemoryServices.js.map +1 -0
  336. package/dist/hooks.wip/usePDWRAG.d.ts +112 -0
  337. package/dist/hooks.wip/usePDWRAG.d.ts.map +1 -0
  338. package/dist/hooks.wip/usePDWRAG.js +121 -0
  339. package/dist/hooks.wip/usePDWRAG.js.map +1 -0
  340. package/dist/hooks.wip/usePDWVectorStore.d.ts +68 -0
  341. package/dist/hooks.wip/usePDWVectorStore.d.ts.map +1 -0
  342. package/dist/hooks.wip/usePDWVectorStore.js +102 -0
  343. package/dist/hooks.wip/usePDWVectorStore.js.map +1 -0
  344. package/dist/hooks.wip/useRetrieveEmbedding.d.ts +138 -0
  345. package/dist/hooks.wip/useRetrieveEmbedding.d.ts.map +1 -0
  346. package/dist/hooks.wip/useRetrieveEmbedding.js +121 -0
  347. package/dist/hooks.wip/useRetrieveEmbedding.js.map +1 -0
  348. package/dist/hooks.wip/useSearchMemories.d.ts +103 -0
  349. package/dist/hooks.wip/useSearchMemories.d.ts.map +1 -0
  350. package/dist/hooks.wip/useSearchMemories.js +146 -0
  351. package/dist/hooks.wip/useSearchMemories.js.map +1 -0
  352. package/dist/hooks.wip/useStoreEmbedding.d.ts +174 -0
  353. package/dist/hooks.wip/useStoreEmbedding.d.ts.map +1 -0
  354. package/dist/hooks.wip/useStoreEmbedding.js +167 -0
  355. package/dist/hooks.wip/useStoreEmbedding.js.map +1 -0
  356. package/dist/hooks.wip/useWalletMemories.d.ts +119 -0
  357. package/dist/hooks.wip/useWalletMemories.d.ts.map +1 -0
  358. package/dist/hooks.wip/useWalletMemories.js +166 -0
  359. package/dist/hooks.wip/useWalletMemories.js.map +1 -0
  360. package/dist/hooks.wip/utils/cache.d.ts +25 -0
  361. package/dist/hooks.wip/utils/cache.d.ts.map +1 -0
  362. package/dist/hooks.wip/utils/cache.js +38 -0
  363. package/dist/hooks.wip/utils/cache.js.map +1 -0
  364. package/dist/hooks.wip/utils/types.d.ts +138 -0
  365. package/dist/hooks.wip/utils/types.d.ts.map +1 -0
  366. package/dist/hooks.wip/utils/types.js +5 -0
  367. package/dist/hooks.wip/utils/types.js.map +1 -0
  368. package/dist/index.d.ts +190 -0
  369. package/dist/index.d.ts.map +1 -0
  370. package/dist/index.js +298 -0
  371. package/dist/index.js.map +1 -0
  372. package/dist/infrastructure/ai/EmbeddingService.d.ts +101 -0
  373. package/dist/infrastructure/ai/EmbeddingService.d.ts.map +1 -0
  374. package/dist/infrastructure/ai/EmbeddingService.js +242 -0
  375. package/dist/infrastructure/ai/EmbeddingService.js.map +1 -0
  376. package/dist/infrastructure/ai/GeminiAIService.d.ts +84 -0
  377. package/dist/infrastructure/ai/GeminiAIService.d.ts.map +1 -0
  378. package/dist/infrastructure/ai/GeminiAIService.js +300 -0
  379. package/dist/infrastructure/ai/GeminiAIService.js.map +1 -0
  380. package/dist/infrastructure/ai/index.d.ts +8 -0
  381. package/dist/infrastructure/ai/index.d.ts.map +1 -0
  382. package/dist/infrastructure/ai/index.js +8 -0
  383. package/dist/infrastructure/ai/index.js.map +1 -0
  384. package/dist/infrastructure/index.d.ts +16 -0
  385. package/dist/infrastructure/index.d.ts.map +1 -0
  386. package/dist/infrastructure/index.js +19 -0
  387. package/dist/infrastructure/index.js.map +1 -0
  388. package/dist/infrastructure/seal/EncryptionService.d.ts +162 -0
  389. package/dist/infrastructure/seal/EncryptionService.d.ts.map +1 -0
  390. package/dist/infrastructure/seal/EncryptionService.js +466 -0
  391. package/dist/infrastructure/seal/EncryptionService.js.map +1 -0
  392. package/dist/infrastructure/seal/SealService.d.ts +132 -0
  393. package/dist/infrastructure/seal/SealService.d.ts.map +1 -0
  394. package/dist/infrastructure/seal/SealService.js +473 -0
  395. package/dist/infrastructure/seal/SealService.js.map +1 -0
  396. package/dist/infrastructure/seal/index.d.ts +8 -0
  397. package/dist/infrastructure/seal/index.d.ts.map +1 -0
  398. package/dist/infrastructure/seal/index.js +8 -0
  399. package/dist/infrastructure/seal/index.js.map +1 -0
  400. package/dist/infrastructure/sui/BlockchainManager.d.ts +161 -0
  401. package/dist/infrastructure/sui/BlockchainManager.d.ts.map +1 -0
  402. package/dist/infrastructure/sui/BlockchainManager.js +421 -0
  403. package/dist/infrastructure/sui/BlockchainManager.js.map +1 -0
  404. package/dist/infrastructure/sui/SuiService.d.ts +179 -0
  405. package/dist/infrastructure/sui/SuiService.d.ts.map +1 -0
  406. package/dist/infrastructure/sui/SuiService.js +658 -0
  407. package/dist/infrastructure/sui/SuiService.js.map +1 -0
  408. package/dist/infrastructure/sui/index.d.ts +8 -0
  409. package/dist/infrastructure/sui/index.d.ts.map +1 -0
  410. package/dist/infrastructure/sui/index.js +8 -0
  411. package/dist/infrastructure/sui/index.js.map +1 -0
  412. package/dist/infrastructure/walrus/StorageManager.d.ts +207 -0
  413. package/dist/infrastructure/walrus/StorageManager.d.ts.map +1 -0
  414. package/dist/infrastructure/walrus/StorageManager.js +413 -0
  415. package/dist/infrastructure/walrus/StorageManager.js.map +1 -0
  416. package/dist/infrastructure/walrus/WalrusStorageService.d.ts +177 -0
  417. package/dist/infrastructure/walrus/WalrusStorageService.d.ts.map +1 -0
  418. package/dist/infrastructure/walrus/WalrusStorageService.js +403 -0
  419. package/dist/infrastructure/walrus/WalrusStorageService.js.map +1 -0
  420. package/dist/infrastructure/walrus/index.d.ts +8 -0
  421. package/dist/infrastructure/walrus/index.d.ts.map +1 -0
  422. package/dist/infrastructure/walrus/index.js +8 -0
  423. package/dist/infrastructure/walrus/index.js.map +1 -0
  424. package/dist/langchain/PDWEmbeddings.d.ts +77 -0
  425. package/dist/langchain/PDWEmbeddings.d.ts.map +1 -0
  426. package/dist/langchain/PDWEmbeddings.js +96 -0
  427. package/dist/langchain/PDWEmbeddings.js.map +1 -0
  428. package/dist/langchain/PDWVectorStore.d.ts +173 -0
  429. package/dist/langchain/PDWVectorStore.d.ts.map +1 -0
  430. package/dist/langchain/PDWVectorStore.js +304 -0
  431. package/dist/langchain/PDWVectorStore.js.map +1 -0
  432. package/dist/langchain/createPDWRAG.d.ts +115 -0
  433. package/dist/langchain/createPDWRAG.d.ts.map +1 -0
  434. package/dist/langchain/createPDWRAG.js +181 -0
  435. package/dist/langchain/createPDWRAG.js.map +1 -0
  436. package/dist/langchain/index.d.ts +35 -0
  437. package/dist/langchain/index.d.ts.map +1 -0
  438. package/dist/langchain/index.js +35 -0
  439. package/dist/langchain/index.js.map +1 -0
  440. package/dist/memory/index.d.ts +13 -0
  441. package/dist/memory/index.d.ts.map +1 -0
  442. package/dist/memory/index.js +14 -0
  443. package/dist/memory/index.js.map +1 -0
  444. package/dist/permissions/ConsentRepository.d.ts +71 -0
  445. package/dist/permissions/ConsentRepository.d.ts.map +1 -0
  446. package/dist/permissions/ConsentRepository.js +297 -0
  447. package/dist/permissions/ConsentRepository.js.map +1 -0
  448. package/dist/permissions/index.d.ts +9 -0
  449. package/dist/permissions/index.d.ts.map +1 -0
  450. package/dist/permissions/index.js +8 -0
  451. package/dist/permissions/index.js.map +1 -0
  452. package/dist/pipeline/MemoryPipeline.d.ts +191 -0
  453. package/dist/pipeline/MemoryPipeline.d.ts.map +1 -0
  454. package/dist/pipeline/MemoryPipeline.js +588 -0
  455. package/dist/pipeline/MemoryPipeline.js.map +1 -0
  456. package/dist/pipeline/PipelineManager.d.ts +178 -0
  457. package/dist/pipeline/PipelineManager.d.ts.map +1 -0
  458. package/dist/pipeline/PipelineManager.js +485 -0
  459. package/dist/pipeline/PipelineManager.js.map +1 -0
  460. package/dist/pipeline/index.d.ts +13 -0
  461. package/dist/pipeline/index.d.ts.map +1 -0
  462. package/dist/pipeline/index.js +11 -0
  463. package/dist/pipeline/index.js.map +1 -0
  464. package/dist/retrieval/AdvancedSearchService.d.ts +231 -0
  465. package/dist/retrieval/AdvancedSearchService.d.ts.map +1 -0
  466. package/dist/retrieval/AdvancedSearchService.js +384 -0
  467. package/dist/retrieval/AdvancedSearchService.js.map +1 -0
  468. package/dist/retrieval/MemoryAnalyticsService.d.ts +227 -0
  469. package/dist/retrieval/MemoryAnalyticsService.d.ts.map +1 -0
  470. package/dist/retrieval/MemoryAnalyticsService.js +417 -0
  471. package/dist/retrieval/MemoryAnalyticsService.js.map +1 -0
  472. package/dist/retrieval/MemoryDecryptionPipeline.d.ts +191 -0
  473. package/dist/retrieval/MemoryDecryptionPipeline.d.ts.map +1 -0
  474. package/dist/retrieval/MemoryDecryptionPipeline.js +623 -0
  475. package/dist/retrieval/MemoryDecryptionPipeline.js.map +1 -0
  476. package/dist/retrieval/MemoryRetrievalService.d.ts +248 -0
  477. package/dist/retrieval/MemoryRetrievalService.d.ts.map +1 -0
  478. package/dist/retrieval/MemoryRetrievalService.js +519 -0
  479. package/dist/retrieval/MemoryRetrievalService.js.map +1 -0
  480. package/dist/retrieval/index.d.ts +14 -0
  481. package/dist/retrieval/index.d.ts.map +1 -0
  482. package/dist/retrieval/index.js +10 -0
  483. package/dist/retrieval/index.js.map +1 -0
  484. package/dist/services/BatchService.d.ts +109 -0
  485. package/dist/services/BatchService.d.ts.map +1 -0
  486. package/dist/services/BatchService.js +259 -0
  487. package/dist/services/BatchService.js.map +1 -0
  488. package/dist/services/CapabilityService.d.ts +141 -0
  489. package/dist/services/CapabilityService.d.ts.map +1 -0
  490. package/dist/services/CapabilityService.js +361 -0
  491. package/dist/services/CapabilityService.js.map +1 -0
  492. package/dist/services/ChatService.d.ts +89 -0
  493. package/dist/services/ChatService.d.ts.map +1 -0
  494. package/dist/services/ChatService.js +319 -0
  495. package/dist/services/ChatService.js.map +1 -0
  496. package/dist/services/ClassifierService.d.ts +104 -0
  497. package/dist/services/ClassifierService.d.ts.map +1 -0
  498. package/dist/services/ClassifierService.js +374 -0
  499. package/dist/services/ClassifierService.js.map +1 -0
  500. package/dist/services/CrossContextPermissionService.d.ts +149 -0
  501. package/dist/services/CrossContextPermissionService.d.ts.map +1 -0
  502. package/dist/services/CrossContextPermissionService.js +337 -0
  503. package/dist/services/CrossContextPermissionService.js.map +1 -0
  504. package/dist/services/EmbeddingService.d.ts +206 -0
  505. package/dist/services/EmbeddingService.d.ts.map +1 -0
  506. package/dist/services/EmbeddingService.js +504 -0
  507. package/dist/services/EmbeddingService.js.map +1 -0
  508. package/dist/services/EncryptionService.d.ts +201 -0
  509. package/dist/services/EncryptionService.d.ts.map +1 -0
  510. package/dist/services/EncryptionService.js +558 -0
  511. package/dist/services/EncryptionService.js.map +1 -0
  512. package/dist/services/GeminiAIService.d.ts +112 -0
  513. package/dist/services/GeminiAIService.d.ts.map +1 -0
  514. package/dist/services/GeminiAIService.js +389 -0
  515. package/dist/services/GeminiAIService.js.map +1 -0
  516. package/dist/services/IndexManager.d.ts +238 -0
  517. package/dist/services/IndexManager.d.ts.map +1 -0
  518. package/dist/services/IndexManager.js +691 -0
  519. package/dist/services/IndexManager.js.map +1 -0
  520. package/dist/services/MemoryIndexService.d.ts +222 -0
  521. package/dist/services/MemoryIndexService.d.ts.map +1 -0
  522. package/dist/services/MemoryIndexService.js +695 -0
  523. package/dist/services/MemoryIndexService.js.map +1 -0
  524. package/dist/services/MemoryService.d.ts +156 -0
  525. package/dist/services/MemoryService.d.ts.map +1 -0
  526. package/dist/services/MemoryService.js +273 -0
  527. package/dist/services/MemoryService.js.map +1 -0
  528. package/dist/services/QueryService.d.ts +182 -0
  529. package/dist/services/QueryService.d.ts.map +1 -0
  530. package/dist/services/QueryService.js +631 -0
  531. package/dist/services/QueryService.js.map +1 -0
  532. package/dist/services/StorageService.d.ts +523 -0
  533. package/dist/services/StorageService.d.ts.map +1 -0
  534. package/dist/services/StorageService.js +627 -0
  535. package/dist/services/StorageService.js.map +1 -0
  536. package/dist/services/TransactionService.d.ts +179 -0
  537. package/dist/services/TransactionService.d.ts.map +1 -0
  538. package/dist/services/TransactionService.js +639 -0
  539. package/dist/services/TransactionService.js.map +1 -0
  540. package/dist/services/VectorService.d.ts +122 -0
  541. package/dist/services/VectorService.d.ts.map +1 -0
  542. package/dist/services/VectorService.js +371 -0
  543. package/dist/services/VectorService.js.map +1 -0
  544. package/dist/services/ViewService.d.ts +126 -0
  545. package/dist/services/ViewService.d.ts.map +1 -0
  546. package/dist/services/ViewService.js +356 -0
  547. package/dist/services/ViewService.js.map +1 -0
  548. package/dist/services/index.d.ts +12 -0
  549. package/dist/services/index.d.ts.map +1 -0
  550. package/dist/services/index.js +11 -0
  551. package/dist/services/index.js.map +1 -0
  552. package/dist/services/storage/BlobAttributesManager.d.ts +60 -0
  553. package/dist/services/storage/BlobAttributesManager.d.ts.map +1 -0
  554. package/dist/services/storage/BlobAttributesManager.js +265 -0
  555. package/dist/services/storage/BlobAttributesManager.js.map +1 -0
  556. package/dist/services/storage/KnowledgeGraphManager.d.ts +162 -0
  557. package/dist/services/storage/KnowledgeGraphManager.d.ts.map +1 -0
  558. package/dist/services/storage/KnowledgeGraphManager.js +303 -0
  559. package/dist/services/storage/KnowledgeGraphManager.js.map +1 -0
  560. package/dist/services/storage/MemorySearchManager.d.ts +154 -0
  561. package/dist/services/storage/MemorySearchManager.d.ts.map +1 -0
  562. package/dist/services/storage/MemorySearchManager.js +260 -0
  563. package/dist/services/storage/MemorySearchManager.js.map +1 -0
  564. package/dist/services/storage/QuiltBatchManager.d.ts +185 -0
  565. package/dist/services/storage/QuiltBatchManager.d.ts.map +1 -0
  566. package/dist/services/storage/QuiltBatchManager.js +385 -0
  567. package/dist/services/storage/QuiltBatchManager.js.map +1 -0
  568. package/dist/services/storage/WalrusMetadataManager.d.ts +89 -0
  569. package/dist/services/storage/WalrusMetadataManager.d.ts.map +1 -0
  570. package/dist/services/storage/WalrusMetadataManager.js +177 -0
  571. package/dist/services/storage/WalrusMetadataManager.js.map +1 -0
  572. package/dist/services/storage/WalrusStorageManager.d.ts +113 -0
  573. package/dist/services/storage/WalrusStorageManager.d.ts.map +1 -0
  574. package/dist/services/storage/WalrusStorageManager.js +211 -0
  575. package/dist/services/storage/WalrusStorageManager.js.map +1 -0
  576. package/dist/services/storage/index.d.ts +24 -0
  577. package/dist/services/storage/index.d.ts.map +1 -0
  578. package/dist/services/storage/index.js +18 -0
  579. package/dist/services/storage/index.js.map +1 -0
  580. package/dist/transactions/index.d.ts +13 -0
  581. package/dist/transactions/index.d.ts.map +1 -0
  582. package/dist/transactions/index.js +14 -0
  583. package/dist/transactions/index.js.map +1 -0
  584. package/dist/types/index.d.ts +12 -0
  585. package/dist/types/index.d.ts.map +1 -0
  586. package/dist/types/index.js +13 -0
  587. package/dist/types/index.js.map +1 -0
  588. package/dist/types/wallet.d.ts +12 -0
  589. package/dist/types/wallet.d.ts.map +1 -0
  590. package/dist/types/wallet.js +13 -0
  591. package/dist/types/wallet.js.map +1 -0
  592. package/dist/utils/index.d.ts +21 -0
  593. package/dist/utils/index.d.ts.map +1 -0
  594. package/dist/utils/index.js +30 -0
  595. package/dist/utils/index.js.map +1 -0
  596. package/dist/utils/rebuildIndex.d.ts +79 -0
  597. package/dist/utils/rebuildIndex.d.ts.map +1 -0
  598. package/dist/utils/rebuildIndex.js +211 -0
  599. package/dist/utils/rebuildIndex.js.map +1 -0
  600. package/dist/utils/rebuildIndexNode.d.ts +70 -0
  601. package/dist/utils/rebuildIndexNode.d.ts.map +1 -0
  602. package/dist/utils/rebuildIndexNode.js +236 -0
  603. package/dist/utils/rebuildIndexNode.js.map +1 -0
  604. package/dist/vector/BrowserHnswIndexService.d.ts +93 -0
  605. package/dist/vector/BrowserHnswIndexService.d.ts.map +1 -0
  606. package/dist/vector/BrowserHnswIndexService.js +581 -0
  607. package/dist/vector/BrowserHnswIndexService.js.map +1 -0
  608. package/dist/vector/HnswWasmService.d.ts +97 -0
  609. package/dist/vector/HnswWasmService.d.ts.map +1 -0
  610. package/dist/vector/HnswWasmService.js +518 -0
  611. package/dist/vector/HnswWasmService.js.map +1 -0
  612. package/dist/vector/IHnswService.d.ts +179 -0
  613. package/dist/vector/IHnswService.d.ts.map +1 -0
  614. package/dist/vector/IHnswService.js +25 -0
  615. package/dist/vector/IHnswService.js.map +1 -0
  616. package/dist/vector/NodeHnswService.d.ts +80 -0
  617. package/dist/vector/NodeHnswService.d.ts.map +1 -0
  618. package/dist/vector/NodeHnswService.js +589 -0
  619. package/dist/vector/NodeHnswService.js.map +1 -0
  620. package/dist/vector/VectorManager.d.ts +142 -0
  621. package/dist/vector/VectorManager.d.ts.map +1 -0
  622. package/dist/vector/VectorManager.js +339 -0
  623. package/dist/vector/VectorManager.js.map +1 -0
  624. package/dist/vector/createHnswService.d.ts +51 -0
  625. package/dist/vector/createHnswService.d.ts.map +1 -0
  626. package/dist/vector/createHnswService.js +120 -0
  627. package/dist/vector/createHnswService.js.map +1 -0
  628. package/dist/vector/index.d.ts +24 -0
  629. package/dist/vector/index.d.ts.map +1 -0
  630. package/dist/vector/index.js +24 -0
  631. package/dist/vector/index.js.map +1 -0
  632. package/dist/view/ViewService.d.ts +136 -0
  633. package/dist/view/ViewService.d.ts.map +1 -0
  634. package/dist/view/ViewService.js +325 -0
  635. package/dist/view/ViewService.js.map +1 -0
  636. package/dist/view/index.d.ts +7 -0
  637. package/dist/view/index.d.ts.map +1 -0
  638. package/dist/view/index.js +7 -0
  639. package/dist/view/index.js.map +1 -0
  640. package/dist/wallet/ContextWalletService.d.ts +172 -0
  641. package/dist/wallet/ContextWalletService.d.ts.map +1 -0
  642. package/dist/wallet/ContextWalletService.js +510 -0
  643. package/dist/wallet/ContextWalletService.js.map +1 -0
  644. package/dist/wallet/MainWalletService.d.ts +114 -0
  645. package/dist/wallet/MainWalletService.d.ts.map +1 -0
  646. package/dist/wallet/MainWalletService.js +259 -0
  647. package/dist/wallet/MainWalletService.js.map +1 -0
  648. package/dist/wallet/index.d.ts +16 -0
  649. package/dist/wallet/index.d.ts.map +1 -0
  650. package/dist/wallet/index.js +14 -0
  651. package/dist/wallet/index.js.map +1 -0
  652. package/package.json +150 -0
  653. package/src/access/PermissionService.ts +636 -0
  654. package/src/access/index.ts +8 -0
  655. package/src/aggregation/AggregationService.ts +390 -0
  656. package/src/aggregation/index.ts +8 -0
  657. package/src/ai-sdk/PDWVectorStore.ts +712 -0
  658. package/src/ai-sdk/index.ts +65 -0
  659. package/src/ai-sdk/tools.ts +460 -0
  660. package/src/ai-sdk/types.ts +404 -0
  661. package/src/batch/BatchManager.ts +598 -0
  662. package/src/batch/BatchingService.ts +430 -0
  663. package/src/batch/MemoryProcessingCache.ts +493 -0
  664. package/src/batch/index.ts +31 -0
  665. package/src/browser.ts +196 -0
  666. package/src/client/ClientMemoryManager.ts +982 -0
  667. package/src/client/PersonalDataWallet.ts +346 -0
  668. package/src/client/SimplePDWClient.ts +1180 -0
  669. package/src/client/factory.ts +155 -0
  670. package/src/client/namespaces/AnalyticsNamespace.ts +377 -0
  671. package/src/client/namespaces/BatchNamespace.ts +356 -0
  672. package/src/client/namespaces/CacheNamespace.ts +123 -0
  673. package/src/client/namespaces/CapabilityNamespace.ts +217 -0
  674. package/src/client/namespaces/ClassifyNamespace.ts +169 -0
  675. package/src/client/namespaces/ContextNamespace.ts +297 -0
  676. package/src/client/namespaces/EmbeddingsNamespace.ts +99 -0
  677. package/src/client/namespaces/EncryptionNamespace.ts +221 -0
  678. package/src/client/namespaces/GraphNamespace.ts +468 -0
  679. package/src/client/namespaces/IndexNamespace.ts +283 -0
  680. package/src/client/namespaces/MemoryNamespace.ts +1135 -0
  681. package/src/client/namespaces/PermissionsNamespace.ts +254 -0
  682. package/src/client/namespaces/PipelineNamespace.ts +220 -0
  683. package/src/client/namespaces/SearchNamespace.ts +1036 -0
  684. package/src/client/namespaces/StorageNamespace.ts +458 -0
  685. package/src/client/namespaces/TxNamespace.ts +260 -0
  686. package/src/client/namespaces/WalletNamespace.ts +243 -0
  687. package/src/client/namespaces/consolidated/AINamespace.ts +449 -0
  688. package/src/client/namespaces/consolidated/BlockchainNamespace.ts +492 -0
  689. package/src/client/namespaces/consolidated/SecurityNamespace.ts +648 -0
  690. package/src/client/namespaces/consolidated/StorageNamespace.ts +440 -0
  691. package/src/client/namespaces/consolidated/index.ts +39 -0
  692. package/src/client/signers/KeypairSigner.ts +101 -0
  693. package/src/client/signers/UnifiedSigner.ts +99 -0
  694. package/src/client/signers/WalletAdapterSigner.ts +149 -0
  695. package/src/client/signers/index.ts +19 -0
  696. package/src/config/ConfigurationHelper.ts +413 -0
  697. package/src/config/defaults.ts +52 -0
  698. package/src/config/index.ts +9 -0
  699. package/src/config/validation.ts +71 -0
  700. package/src/core/index.ts +14 -0
  701. package/src/core/interfaces/IService.ts +307 -0
  702. package/src/core/interfaces/index.ts +8 -0
  703. package/src/core/types/capability.ts +297 -0
  704. package/src/core/types/index.ts +871 -0
  705. package/src/core/types/wallet.ts +271 -0
  706. package/src/core/types.ts +9 -0
  707. package/src/core/wallet.ts +223 -0
  708. package/src/embedding/index.ts +20 -0
  709. package/src/embedding/types.ts +358 -0
  710. package/src/errors/index.ts +603 -0
  711. package/src/errors/recovery.ts +462 -0
  712. package/src/errors/validation.ts +568 -0
  713. package/src/generated/pdw/capability.ts +319 -0
  714. package/src/generated/pdw/deps/sui/object.ts +13 -0
  715. package/src/generated/pdw/deps/sui/vec_map.ts +33 -0
  716. package/src/generated/pdw/memory.ts +1088 -0
  717. package/src/generated/pdw/wallet.ts +124 -0
  718. package/src/generated/utils/index.ts +159 -0
  719. package/src/graph/GraphService.ts +888 -0
  720. package/src/graph/KnowledgeGraphManager.ts +729 -0
  721. package/src/graph/index.ts +26 -0
  722. package/src/index.ts +458 -0
  723. package/src/infrastructure/index.ts +22 -0
  724. package/src/infrastructure/seal/EncryptionService.ts +604 -0
  725. package/src/infrastructure/seal/SealService.ts +616 -0
  726. package/src/infrastructure/seal/index.ts +9 -0
  727. package/src/infrastructure/sui/BlockchainManager.ts +628 -0
  728. package/src/infrastructure/sui/SuiService.ts +888 -0
  729. package/src/infrastructure/sui/index.ts +9 -0
  730. package/src/infrastructure/walrus/StorageManager.ts +605 -0
  731. package/src/infrastructure/walrus/WalrusStorageService.ts +613 -0
  732. package/src/infrastructure/walrus/index.ts +9 -0
  733. package/src/langchain/PDWEmbeddings.ts +145 -0
  734. package/src/langchain/PDWVectorStore.ts +456 -0
  735. package/src/langchain/README.md +116 -0
  736. package/src/langchain/createPDWRAG.ts +303 -0
  737. package/src/langchain/index.ts +47 -0
  738. package/src/permissions/ConsentRepository.ts +364 -0
  739. package/src/permissions/index.ts +9 -0
  740. package/src/pipeline/MemoryPipeline.ts +863 -0
  741. package/src/pipeline/PipelineManager.ts +684 -0
  742. package/src/pipeline/index.ts +27 -0
  743. package/src/retrieval/AdvancedSearchService.ts +630 -0
  744. package/src/retrieval/MemoryAnalyticsService.ts +712 -0
  745. package/src/retrieval/MemoryDecryptionPipeline.ts +825 -0
  746. package/src/retrieval/MemoryRetrievalService.ts +831 -0
  747. package/src/retrieval/index.ts +43 -0
  748. package/src/services/BatchService.ts +353 -0
  749. package/src/services/CapabilityService.ts +448 -0
  750. package/src/services/ClassifierService.ts +466 -0
  751. package/src/services/CrossContextPermissionService.ts +484 -0
  752. package/src/services/EmbeddingService.ts +706 -0
  753. package/src/services/EncryptionService.ts +712 -0
  754. package/src/services/GeminiAIService.ts +497 -0
  755. package/src/services/IndexManager.ts +1004 -0
  756. package/src/services/MemoryIndexService.ts +922 -0
  757. package/src/services/MemoryService.ts +370 -0
  758. package/src/services/QueryService.ts +891 -0
  759. package/src/services/StorageService.ts +1111 -0
  760. package/src/services/TransactionService.ts +791 -0
  761. package/src/services/VectorService.ts +462 -0
  762. package/src/services/ViewService.ts +485 -0
  763. package/src/services/index.ts +25 -0
  764. package/src/services/storage/BlobAttributesManager.ts +342 -0
  765. package/src/services/storage/KnowledgeGraphManager.ts +425 -0
  766. package/src/services/storage/MemorySearchManager.ts +387 -0
  767. package/src/services/storage/QuiltBatchManager.ts +532 -0
  768. package/src/services/storage/WalrusMetadataManager.ts +271 -0
  769. package/src/services/storage/WalrusStorageManager.ts +290 -0
  770. package/src/services/storage/index.ts +52 -0
  771. package/src/types/index.ts +13 -0
  772. package/src/utils/index.ts +68 -0
  773. package/src/utils/rebuildIndex.ts +290 -0
  774. package/src/utils/rebuildIndexNode.ts +341 -0
  775. package/src/vector/BrowserHnswIndexService.ts +758 -0
  776. package/src/vector/HnswWasmService.ts +679 -0
  777. package/src/vector/IHnswService.ts +224 -0
  778. package/src/vector/NodeHnswService.ts +713 -0
  779. package/src/vector/VectorManager.ts +479 -0
  780. package/src/vector/createHnswService.ts +135 -0
  781. package/src/vector/index.ts +57 -0
  782. package/src/wallet/ContextWalletService.ts +657 -0
  783. package/src/wallet/MainWalletService.ts +318 -0
  784. package/src/wallet/index.ts +17 -0
@@ -0,0 +1,764 @@
1
+ /**
2
+ * ClientMemoryManager - Client-side Memory Operations for React dApps
3
+ *
4
+ * Provides a simplified API for creating and retrieving memories in React dApps
5
+ * using @mysten/dapp-kit. Handles the complete flow:
6
+ * - Memory creation: embedding → encryption → Walrus upload → on-chain registration
7
+ * - Memory retrieval: Walrus fetch → SEAL decryption → content extraction
8
+ *
9
+ * Usage:
10
+ * ```typescript
11
+ * const manager = new ClientMemoryManager({
12
+ * packageId: '0x...',
13
+ * accessRegistryId: '0x...',
14
+ * walrusAggregator: 'https://...',
15
+ * geminiApiKey: 'your-key'
16
+ * });
17
+ *
18
+ * // Create memory
19
+ * const blobId = await manager.createMemory({
20
+ * content: 'My memory',
21
+ * account,
22
+ * signAndExecute,
23
+ * client,
24
+ * onProgress: (status) => console.log(status)
25
+ * });
26
+ *
27
+ * // Retrieve memory
28
+ * const content = await manager.retrieveMemory({
29
+ * blobId: '...',
30
+ * account,
31
+ * signPersonalMessage,
32
+ * client
33
+ * });
34
+ * ```
35
+ */
36
+ import { SealClient, SessionKey } from '@mysten/seal';
37
+ import { WalrusClient } from '@mysten/walrus';
38
+ import { Transaction } from '@mysten/sui/transactions';
39
+ import { fromHex } from '@mysten/sui/utils';
40
+ import { createHnswService, isBrowser, isNode } from '../vector/createHnswService.js';
41
+ import { EmbeddingService } from '../services/EmbeddingService.js';
42
+ import { GeminiAIService } from '../services/GeminiAIService.js';
43
+ /**
44
+ * Client-side memory manager for React dApps
45
+ */
46
+ export class ClientMemoryManager {
47
+ constructor(config) {
48
+ this.defaultCategories = [
49
+ 'personal', 'work', 'education', 'health', 'finance',
50
+ 'travel', 'family', 'hobbies', 'goals', 'ideas'
51
+ ];
52
+ this.hnswService = null;
53
+ this.hnswServicePromise = null;
54
+ // In-memory counter for Node.js environment
55
+ this.vectorIdCounters = new Map();
56
+ this.config = {
57
+ ...config,
58
+ sealServerObjectIds: config.sealServerObjectIds || [
59
+ '0x73d05d62c18d9374e3ea529e8e0ed6161da1a141a94d3f76ae3fe4e99356db75',
60
+ '0xf5d14a81a982144ae441cd7d64b09027f116a468bd36e7eca494f750591623c8'
61
+ ],
62
+ walrusNetwork: config.walrusNetwork || 'testnet',
63
+ categories: config.categories || this.defaultCategories,
64
+ enableLocalIndexing: config.enableLocalIndexing !== false, // Default: true
65
+ enableEncryption: config.enableEncryption !== false // Default: true (SEAL encryption)
66
+ };
67
+ // Initialize AI services if Gemini API key is provided
68
+ if (this.config.geminiApiKey) {
69
+ this.embeddingService = new EmbeddingService({
70
+ apiKey: this.config.geminiApiKey,
71
+ model: 'text-embedding-004',
72
+ dimensions: 3072
73
+ });
74
+ this.geminiAIService = new GeminiAIService({
75
+ apiKey: this.config.geminiApiKey,
76
+ model: process.env.AI_CHAT_MODEL || 'google/gemini-2.5-flash',
77
+ temperature: 0.1
78
+ });
79
+ console.log('✅ AI services initialized (Embedding + Metadata Extraction)');
80
+ }
81
+ // Initialize local indexing service if enabled
82
+ if (this.config.enableLocalIndexing) {
83
+ // Use pre-initialized HNSW service if provided (shared singleton pattern)
84
+ if (config.hnswService) {
85
+ this.hnswService = config.hnswService;
86
+ console.log('✅ ClientMemoryManager using shared HNSW service instance');
87
+ }
88
+ else {
89
+ // Create own HNSW service (async via factory)
90
+ const envType = isBrowser() ? 'browser (hnswlib-wasm)' : isNode() ? 'Node.js (hnswlib-node)' : 'unknown';
91
+ console.log(`✅ ClientMemoryManager initializing local indexing (${envType})`);
92
+ this.hnswServicePromise = this.initializeHnswService();
93
+ }
94
+ }
95
+ }
96
+ /**
97
+ * Initialize HNSW service using factory (async)
98
+ */
99
+ async initializeHnswService() {
100
+ try {
101
+ const service = await createHnswService({
102
+ indexConfig: {
103
+ dimension: 3072,
104
+ maxElements: 10000,
105
+ m: 16,
106
+ efConstruction: 200
107
+ },
108
+ batchConfig: {
109
+ maxBatchSize: 50,
110
+ batchDelayMs: 5000
111
+ }
112
+ });
113
+ this.hnswService = service;
114
+ console.log('✅ ClientMemoryManager HNSW service initialized');
115
+ return service;
116
+ }
117
+ catch (error) {
118
+ console.error('❌ ClientMemoryManager failed to initialize HNSW service:', error);
119
+ throw error;
120
+ }
121
+ }
122
+ /**
123
+ * Get HNSW service (waits for initialization if needed)
124
+ */
125
+ async getHnswService() {
126
+ if (this.hnswService) {
127
+ return this.hnswService;
128
+ }
129
+ if (this.hnswServicePromise) {
130
+ try {
131
+ return await this.hnswServicePromise;
132
+ }
133
+ catch (error) {
134
+ console.warn('HNSW service initialization failed:', error);
135
+ return null;
136
+ }
137
+ }
138
+ return null;
139
+ }
140
+ /**
141
+ * Get next sequential vector ID for a user (fits in 32-bit unsigned int)
142
+ * Uses IndexedDB in browser, in-memory counter in Node.js
143
+ */
144
+ async getNextVectorId(userAddress) {
145
+ // Check if IndexedDB is available (browser environment)
146
+ if (typeof indexedDB !== 'undefined') {
147
+ try {
148
+ // Use separate database for counters to avoid version conflicts
149
+ const db = await new Promise((resolve, reject) => {
150
+ const request = indexedDB.open('PDW_VectorCounters', 1);
151
+ request.onsuccess = () => resolve(request.result);
152
+ request.onerror = () => reject(request.error);
153
+ request.onupgradeneeded = (event) => {
154
+ const db = event.target.result;
155
+ if (!db.objectStoreNames.contains('counters')) {
156
+ db.createObjectStore('counters', { keyPath: 'userAddress' });
157
+ }
158
+ };
159
+ });
160
+ const transaction = db.transaction(['counters'], 'readwrite');
161
+ const store = transaction.objectStore('counters');
162
+ // Get current counter
163
+ const getRequest = store.get(userAddress);
164
+ const currentData = await new Promise((resolve) => {
165
+ getRequest.onsuccess = () => resolve(getRequest.result);
166
+ getRequest.onerror = () => resolve(undefined);
167
+ });
168
+ const nextId = (currentData?.counter || 0) + 1;
169
+ // Update counter
170
+ store.put({ userAddress, counter: nextId });
171
+ await new Promise((resolve, reject) => {
172
+ transaction.oncomplete = () => resolve();
173
+ transaction.onerror = () => reject(transaction.error);
174
+ });
175
+ db.close();
176
+ console.log(`✅ Sequential vector ID generated: ${nextId} (from IndexedDB)`);
177
+ return nextId;
178
+ }
179
+ catch (error) {
180
+ console.warn('⚠️ IndexedDB failed, using in-memory counter:', error);
181
+ }
182
+ }
183
+ // Node.js or IndexedDB failure: use in-memory counter
184
+ const current = this.vectorIdCounters.get(userAddress) || 0;
185
+ const nextId = current + 1;
186
+ this.vectorIdCounters.set(userAddress, nextId);
187
+ console.log(`✅ Sequential vector ID generated: ${nextId} (in-memory)`);
188
+ return nextId;
189
+ }
190
+ /**
191
+ * Create a new memory (3 signatures: Walrus register, certify, on-chain)
192
+ */
193
+ async createMemory(options) {
194
+ const { content, category, account, signAndExecute, client, onProgress } = options;
195
+ console.log('🚀 Starting memory creation...');
196
+ onProgress?.('Starting memory creation...');
197
+ try {
198
+ // Step 1: Analyze content (category + importance)
199
+ console.log('🏷️ Step 1: Analyzing content...');
200
+ onProgress?.('Analyzing content with AI...');
201
+ const analysis = await this.analyzeContent(content, category);
202
+ console.log('✅ Analysis:', analysis);
203
+ // Step 2: Build metadata text and generate embedding
204
+ console.log('🔮 Step 2: Building metadata and generating embedding...');
205
+ onProgress?.('Generating metadata embedding...');
206
+ // Build embeddable metadata text
207
+ const metadataText = this.buildMetadataText(analysis);
208
+ console.log('📝 Metadata text for embedding:');
209
+ console.log(metadataText);
210
+ console.log('📊 Metadata fields:', {
211
+ category: analysis.category,
212
+ topic: analysis.topic,
213
+ importance: analysis.importance,
214
+ summaryLength: analysis.summary.length
215
+ });
216
+ // Generate embedding from METADATA (not content)
217
+ const embedding = await this.generateEmbedding(metadataText);
218
+ console.log('✅ Metadata embedding generated:', embedding.length, 'dimensions');
219
+ console.log(' Source: metadata text (not full content)');
220
+ console.log(' Privacy: Only metadata semantics embedded, content stays encrypted');
221
+ // Step 3: Prepare combined data (content + embedding)
222
+ console.log('📦 Step 3: Preparing data...');
223
+ const memoryData = {
224
+ content,
225
+ embedding,
226
+ timestamp: Date.now(),
227
+ };
228
+ const dataBytes = new TextEncoder().encode(JSON.stringify(memoryData));
229
+ console.log('✅ Data prepared:', dataBytes.length, 'bytes');
230
+ // Step 4: Conditionally encrypt with SEAL
231
+ let uploadData;
232
+ const isEncrypted = this.config.enableEncryption;
233
+ if (isEncrypted) {
234
+ console.log('🔒 Step 4: Encrypting with SEAL...');
235
+ onProgress?.('Encrypting with SEAL...');
236
+ uploadData = await this.encryptWithSEAL(dataBytes, account.address, client);
237
+ console.log('✅ Encrypted:', uploadData.length, 'bytes');
238
+ }
239
+ else {
240
+ console.log('📝 Step 4: Skipping encryption (enableEncryption=false)');
241
+ onProgress?.('Preparing data (no encryption)...');
242
+ uploadData = dataBytes;
243
+ console.log('✅ Data ready (unencrypted):', uploadData.length, 'bytes');
244
+ }
245
+ // Step 5: Upload to Walrus (2 signatures)
246
+ console.log('🐳 Step 5: Uploading to Walrus...');
247
+ onProgress?.('Uploading to Walrus (2 signatures)...');
248
+ const blobId = await this.uploadToWalrus(uploadData, account, signAndExecute, client);
249
+ console.log('✅ Uploaded to Walrus:', blobId);
250
+ // Generate sequential vector ID (fits in 32-bit for WASM)
251
+ const vectorId = await this.getNextVectorId(account.address);
252
+ console.log('🔢 Generated sequential vector ID:', vectorId);
253
+ // Step 6: Register on-chain with rich metadata (1 signature)
254
+ console.log('⛓️ Step 6: Registering on-chain with rich metadata...');
255
+ onProgress?.('Registering on-chain (1 signature)...');
256
+ await this.registerOnChain({
257
+ blobId,
258
+ category: analysis.category,
259
+ topic: analysis.topic, // ✅ Pass AI-extracted topic to blockchain
260
+ importance: analysis.importance,
261
+ contentLength: content.length,
262
+ vectorId, // ✅ Use sequential ID
263
+ account,
264
+ signAndExecute,
265
+ client
266
+ });
267
+ console.log('✅ Memory registered on-chain with metadata:', {
268
+ category: analysis.category,
269
+ topic: analysis.topic,
270
+ importance: analysis.importance,
271
+ vectorId
272
+ });
273
+ onProgress?.('Memory created successfully!');
274
+ // Step 7: Index locally for search (if enabled)
275
+ console.log('\n📊 === Step 7: Local Vector Indexing ===');
276
+ console.log(' enableLocalIndexing:', this.config.enableLocalIndexing);
277
+ console.log(' account address:', account.address);
278
+ console.log(' embedding length:', embedding?.length || 0);
279
+ if (this.config.enableLocalIndexing && account.address) {
280
+ try {
281
+ // Get HNSW service (wait for async initialization)
282
+ const hnswService = await this.getHnswService();
283
+ console.log(' hnswService available:', !!hnswService);
284
+ if (hnswService) {
285
+ console.log('✅ Local indexing conditions met - proceeding...');
286
+ onProgress?.('Indexing for local search...');
287
+ console.log(' Using vector ID:', vectorId);
288
+ // Prepare rich metadata (aligned with on-chain structure)
289
+ // Option A+: Content storage is controlled by isEncrypted flag.
290
+ // When encryption is OFF, content is stored in local index for fast retrieval.
291
+ // When encryption is ON, only metadata is stored (security).
292
+ const metadata = {
293
+ blobId,
294
+ category: analysis.category,
295
+ topic: analysis.topic, // ✅ Rich metadata field
296
+ importance: analysis.importance,
297
+ summary: analysis.summary, // ✅ Rich metadata field
298
+ createdTimestamp: Date.now(),
299
+ contentType: 'text/plain',
300
+ contentSize: content.length,
301
+ source: 'client_memory_manager',
302
+ embeddingType: 'metadata', // ✅ Mark as metadata-based embedding
303
+ isEncrypted, // ✅ Dynamic based on config.enableEncryption
304
+ // Option A+: Store content in index when NOT encrypted (for fast local search)
305
+ ...(isEncrypted ? {} : { content })
306
+ };
307
+ console.log(' Rich metadata prepared:', metadata);
308
+ // Add to local index using IHnswService interface
309
+ console.log('📝 Adding vector to index...');
310
+ await hnswService.addVector(account.address, vectorId, embedding, // ← Metadata embedding from Step 2 (not content embedding!)
311
+ metadata);
312
+ console.log('✅ Vector added to index');
313
+ console.log(' Embedding represents: metadata semantics (category, topic, summary)');
314
+ console.log(' NOT content semantics - privacy preserved!');
315
+ // Flush to make searchable
316
+ console.log('🔄 Flushing index to make memory immediately searchable...');
317
+ await hnswService.flushBatch(account.address);
318
+ console.log('✅ Index flushed - vectors now searchable');
319
+ // Save index for persistence
320
+ console.log('💾 Saving index for persistence...');
321
+ await hnswService.saveIndex(account.address);
322
+ console.log('✅ Index saved - will persist after refresh');
323
+ console.log('🎉 Memory indexed, flushed, and persisted!');
324
+ console.log(' Vector ID:', vectorId);
325
+ console.log(' User:', account.address.substring(0, 10) + '...');
326
+ console.log(' Embedding dimensions:', embedding.length);
327
+ onProgress?.('Memory indexed and saved!');
328
+ }
329
+ else {
330
+ console.warn('⚠️ HNSW service not available - skipping local indexing');
331
+ }
332
+ }
333
+ catch (indexError) {
334
+ // Non-fatal: memory is still created on-chain
335
+ console.error('❌ Local indexing failed:', indexError);
336
+ console.error(' Error details:', indexError.message);
337
+ console.error(' Stack:', indexError.stack);
338
+ console.warn('⚠️ Memory still created on-chain, but not indexed locally');
339
+ }
340
+ }
341
+ else {
342
+ console.warn('⚠️ Local indexing skipped - conditions not met:');
343
+ if (!this.config.enableLocalIndexing)
344
+ console.warn(' - Local indexing disabled');
345
+ if (!account.address)
346
+ console.warn(' - No account address');
347
+ if (!embedding || embedding.length === 0)
348
+ console.warn(' - No embedding generated');
349
+ }
350
+ console.log('🎉 Memory creation complete!');
351
+ return blobId;
352
+ }
353
+ catch (error) {
354
+ console.error('❌ Memory creation failed:', error);
355
+ throw new Error(`Failed to create memory: ${error.message}`);
356
+ }
357
+ }
358
+ /**
359
+ * Retrieve and decrypt a memory
360
+ */
361
+ async retrieveMemory(options) {
362
+ const { blobId, account, signPersonalMessage, client, onProgress } = options;
363
+ console.log('🔍 Starting memory retrieval...');
364
+ onProgress?.('Starting retrieval...');
365
+ try {
366
+ // Step 1: Fetch from Walrus
367
+ console.log('🐳 Step 1: Fetching from Walrus...');
368
+ onProgress?.('Fetching from Walrus...');
369
+ const encryptedData = await this.fetchFromWalrus(blobId, client);
370
+ console.log('✅ Retrieved:', encryptedData.length, 'bytes');
371
+ // Step 2: Decrypt with SEAL
372
+ console.log('🔓 Step 2: Decrypting with SEAL...');
373
+ onProgress?.('Decrypting with SEAL...');
374
+ const decryptedData = await this.decryptWithSEAL({
375
+ encryptedData,
376
+ account,
377
+ signPersonalMessage,
378
+ client
379
+ });
380
+ console.log('✅ Decrypted:', decryptedData.length, 'bytes');
381
+ // Step 3: Parse JSON
382
+ const decryptedString = new TextDecoder().decode(decryptedData);
383
+ const parsed = JSON.parse(decryptedString);
384
+ console.log('🎉 Memory retrieval complete!');
385
+ onProgress?.('Memory retrieved successfully!');
386
+ return parsed;
387
+ }
388
+ catch (error) {
389
+ console.error('❌ Memory retrieval failed:', error);
390
+ throw new Error(`Failed to retrieve memory: ${error.message}`);
391
+ }
392
+ }
393
+ /**
394
+ * Batch retrieve and decrypt multiple memories with a single signature
395
+ * This is much more efficient than calling retrieveMemory multiple times
396
+ */
397
+ async batchRetrieveMemories(options) {
398
+ const { blobIds, account, signPersonalMessage, client, onProgress } = options;
399
+ console.log('🔍 Starting batch memory retrieval for', blobIds.length, 'memories...');
400
+ onProgress?.('Initializing decryption session...', 0, blobIds.length);
401
+ try {
402
+ // Step 1: Create reusable decryption session (SINGLE SIGNATURE!)
403
+ const session = await this.createDecryptionSession({
404
+ account,
405
+ signPersonalMessage,
406
+ client
407
+ });
408
+ console.log('✅ Decryption session created - will decrypt all memories without additional signatures');
409
+ const results = [];
410
+ // Step 2: Decrypt all memories using the same session
411
+ for (let i = 0; i < blobIds.length; i++) {
412
+ const blobId = blobIds[i];
413
+ console.log(`🔓 Decrypting memory ${i + 1}/${blobIds.length}: ${blobId}`);
414
+ onProgress?.(`Decrypting memory ${i + 1}/${blobIds.length}...`, i + 1, blobIds.length);
415
+ try {
416
+ // Fetch from Walrus
417
+ const encryptedData = await this.fetchFromWalrus(blobId, client);
418
+ // Decrypt using shared session (NO SIGNING!)
419
+ const decryptedData = await session.sealClient.decrypt({
420
+ data: encryptedData,
421
+ sessionKey: session.sessionKey,
422
+ txBytes: session.txBytes,
423
+ });
424
+ // Parse JSON
425
+ const decryptedString = new TextDecoder().decode(decryptedData);
426
+ const parsed = JSON.parse(decryptedString);
427
+ results.push({
428
+ blobId,
429
+ content: parsed.content
430
+ });
431
+ console.log(`✅ Memory ${i + 1} decrypted successfully`);
432
+ }
433
+ catch (error) {
434
+ console.error(`❌ Failed to decrypt memory ${blobId}:`, error);
435
+ // Handle old format (binary embedding data)
436
+ if (error.message?.includes('not valid JSON') || error.message?.includes('Unexpected token')) {
437
+ results.push({
438
+ blobId,
439
+ content: '[Old format - cannot display content]'
440
+ });
441
+ }
442
+ else {
443
+ results.push({
444
+ blobId,
445
+ error: error.message || 'Decryption failed'
446
+ });
447
+ }
448
+ }
449
+ }
450
+ console.log('🎉 Batch retrieval complete!');
451
+ onProgress?.('All memories decrypted!', blobIds.length, blobIds.length);
452
+ return results;
453
+ }
454
+ catch (error) {
455
+ console.error('❌ Batch retrieval failed:', error);
456
+ throw new Error(`Failed to batch retrieve memories: ${error.message}`);
457
+ }
458
+ }
459
+ // ==================== PRIVATE METHODS ====================
460
+ async analyzeContent(text, categoryOverride) {
461
+ // Use client-side Gemini AI for rich metadata extraction
462
+ try {
463
+ if (this.geminiAIService) {
464
+ console.log('🤖 Using Gemini AI for metadata extraction...');
465
+ const metadata = await this.geminiAIService.extractRichMetadata(text, categoryOverride);
466
+ console.log('✅ AI metadata extracted:', metadata);
467
+ return metadata;
468
+ }
469
+ else {
470
+ console.warn('⚠️ Gemini AI service not initialized, using fallback extraction');
471
+ return this.getFallbackAnalysis(text, categoryOverride);
472
+ }
473
+ }
474
+ catch (error) {
475
+ console.warn('⚠️ AI analysis failed, using fallback:', error);
476
+ return this.getFallbackAnalysis(text, categoryOverride);
477
+ }
478
+ }
479
+ getFallbackAnalysis(text, categoryOverride) {
480
+ return {
481
+ category: categoryOverride || 'personal',
482
+ topic: this.extractTopicFromContent(text),
483
+ importance: 5,
484
+ summary: text.substring(0, 200) + (text.length > 200 ? '...' : '')
485
+ };
486
+ }
487
+ /**
488
+ * Extract topic from content as fallback (when AI fails)
489
+ * Tries to get first sentence, or first 50 characters
490
+ *
491
+ * @param text - Content text to extract topic from
492
+ * @returns Topic string (max 100 characters)
493
+ */
494
+ extractTopicFromContent(text) {
495
+ // Try to get first sentence
496
+ const firstSentence = text.match(/^[^.!?]+[.!?]/);
497
+ if (firstSentence) {
498
+ const topic = firstSentence[0].trim();
499
+ return topic.length > 100 ? topic.substring(0, 97) + '...' : topic;
500
+ }
501
+ // Fallback: first 50 characters
502
+ return text.substring(0, 50) + (text.length > 50 ? '...' : '');
503
+ }
504
+ /**
505
+ * Build embeddable metadata text from rich metadata
506
+ * Format optimized for semantic embedding and alignment with on-chain metadata
507
+ *
508
+ * @param metadata - Rich metadata extracted from AI analysis
509
+ * @returns Formatted text string ready for embedding
510
+ *
511
+ * @example
512
+ * ```typescript
513
+ * const metadataText = buildMetadataText({
514
+ * category: 'work',
515
+ * topic: 'Q4 project deadline meeting',
516
+ * importance: 7,
517
+ * summary: 'Team discussion about Q4 deadlines'
518
+ * });
519
+ * // Returns:
520
+ * // "category: work
521
+ * // topic: Q4 project deadline meeting
522
+ * // importance: 7
523
+ * // summary: Team discussion about Q4 deadlines"
524
+ * ```
525
+ */
526
+ buildMetadataText(metadata) {
527
+ const parts = [
528
+ `category: ${metadata.category}`,
529
+ `topic: ${metadata.topic}`,
530
+ `importance: ${metadata.importance}`
531
+ ];
532
+ if (metadata.summary && metadata.summary.trim().length > 0) {
533
+ parts.push(`summary: ${metadata.summary}`);
534
+ }
535
+ return parts.join('\n');
536
+ }
537
+ async generateEmbedding(text) {
538
+ if (!this.embeddingService) {
539
+ throw new Error('EmbeddingService not configured. Please provide an API key for embedding generation ' +
540
+ '(e.g., GEMINI_API_KEY or OPENROUTER_API_KEY in environment variables).');
541
+ }
542
+ try {
543
+ const result = await this.embeddingService.embedText({
544
+ text,
545
+ type: 'content'
546
+ });
547
+ return result.vector;
548
+ }
549
+ catch (error) {
550
+ throw new Error(`Failed to generate embedding: ${error instanceof Error ? error.message : 'Unknown error'}`);
551
+ }
552
+ }
553
+ async encryptWithSEAL(data, ownerAddress, client) {
554
+ const sealClient = new SealClient({
555
+ suiClient: client,
556
+ serverConfigs: this.config.sealServerObjectIds.map((id) => ({
557
+ objectId: id,
558
+ weight: 1,
559
+ })),
560
+ verifyKeyServers: false,
561
+ });
562
+ const { encryptedObject: encryptedBytes } = await sealClient.encrypt({
563
+ threshold: 1,
564
+ packageId: this.config.packageId,
565
+ id: ownerAddress, // Use owner's address as ID for simple access control
566
+ data,
567
+ });
568
+ return encryptedBytes;
569
+ }
570
+ async uploadToWalrus(data, account, signAndExecute, client) {
571
+ const extendedClient = client.$extend(WalrusClient.experimental_asClientExtension({
572
+ network: this.config.walrusNetwork,
573
+ uploadRelay: {
574
+ host: `https://upload-relay.${this.config.walrusNetwork}.walrus.space`,
575
+ sendTip: { max: 1000 },
576
+ timeout: 60000,
577
+ },
578
+ storageNodeClientOptions: {
579
+ timeout: 60000,
580
+ },
581
+ }));
582
+ const walrusClient = extendedClient.walrus;
583
+ const flow = walrusClient.writeBlobFlow({ blob: data });
584
+ // Encode
585
+ await flow.encode();
586
+ // Register (signature 1)
587
+ const registerTx = flow.register({
588
+ epochs: 5,
589
+ deletable: true,
590
+ owner: account.address,
591
+ });
592
+ registerTx.setSender(account.address);
593
+ const registerDigest = await new Promise((resolve, reject) => {
594
+ signAndExecute({ transaction: registerTx }, {
595
+ onSuccess: (result) => resolve(result.digest),
596
+ onError: (error) => reject(error),
597
+ });
598
+ });
599
+ // Upload
600
+ await flow.upload({ digest: registerDigest });
601
+ // Certify (signature 2)
602
+ const certifyTx = flow.certify();
603
+ certifyTx.setSender(account.address);
604
+ await new Promise((resolve, reject) => {
605
+ signAndExecute({ transaction: certifyTx }, {
606
+ onSuccess: () => resolve(),
607
+ onError: (error) => reject(error),
608
+ });
609
+ });
610
+ const blob = await flow.getBlob();
611
+ return blob.blobId;
612
+ }
613
+ async registerOnChain(params) {
614
+ const { blobId, category, topic, importance, contentLength, vectorId, account, signAndExecute, client } = params;
615
+ const tx = new Transaction();
616
+ const packageId = this.config.packageId.replace(/^0x/, '');
617
+ console.log('📝 Registering on-chain with rich metadata:', {
618
+ category,
619
+ topic,
620
+ importance,
621
+ vectorId,
622
+ blobId: blobId.substring(0, 20) + '...'
623
+ });
624
+ tx.moveCall({
625
+ target: `${packageId}::memory::create_memory_record`,
626
+ arguments: [
627
+ tx.pure.string(category),
628
+ tx.pure.u64(vectorId),
629
+ tx.pure.string(blobId),
630
+ tx.pure.string('text/plain'),
631
+ tx.pure.u64(contentLength),
632
+ tx.pure.string(blobId), // ✅ FIX: content_hash = blobId (content-addressed)
633
+ tx.pure.string(topic), // ✅ FIX: Real topic from AI (not hardcoded "memory")
634
+ tx.pure.u8(importance),
635
+ tx.pure.string(blobId), // embedding_blob_id (same as content for now)
636
+ ],
637
+ });
638
+ return new Promise((resolve, reject) => {
639
+ signAndExecute({ transaction: tx }, {
640
+ onSuccess: (result) => {
641
+ console.log('✅ Transaction successful:', result.digest);
642
+ console.log('✅ On-chain Memory created with rich metadata:', {
643
+ category,
644
+ topic,
645
+ importance
646
+ });
647
+ resolve();
648
+ },
649
+ onError: (error) => {
650
+ console.error('❌ Transaction failed:', error);
651
+ reject(error);
652
+ },
653
+ });
654
+ });
655
+ }
656
+ async fetchFromWalrus(blobId, client) {
657
+ // Use Walrus SDK for reading blobs (consistent with uploadToWalrus)
658
+ const extendedClient = client.$extend(WalrusClient.experimental_asClientExtension({
659
+ network: this.config.walrusNetwork,
660
+ }));
661
+ const walrusClient = extendedClient.walrus;
662
+ const blob = await walrusClient.readBlob({ blobId });
663
+ return blob;
664
+ }
665
+ /**
666
+ * Create a reusable decryption session (requires one signature)
667
+ * This session can be used to decrypt multiple memories without additional signatures
668
+ */
669
+ async createDecryptionSession(params) {
670
+ const { account, signPersonalMessage, client } = params;
671
+ console.log('🔑 Creating decryption session...');
672
+ // Create SEAL client (reusable)
673
+ const sealClient = new SealClient({
674
+ suiClient: client,
675
+ serverConfigs: this.config.sealServerObjectIds.map((id) => ({
676
+ objectId: id,
677
+ weight: 1,
678
+ })),
679
+ verifyKeyServers: false,
680
+ });
681
+ // Create session key (reusable)
682
+ const sessionKey = await SessionKey.create({
683
+ address: account.address,
684
+ packageId: this.config.packageId,
685
+ ttlMin: 10,
686
+ suiClient: client,
687
+ });
688
+ // Sign personal message ONCE
689
+ const personalMessage = sessionKey.getPersonalMessage();
690
+ const signatureResult = await signPersonalMessage({ message: personalMessage });
691
+ await sessionKey.setPersonalMessageSignature(signatureResult.signature);
692
+ console.log('✅ Personal message signed');
693
+ // Build seal_approve transaction ONCE
694
+ const tx = new Transaction();
695
+ const addressHex = account.address.startsWith('0x')
696
+ ? account.address.slice(2)
697
+ : account.address;
698
+ const idBytes = fromHex(addressHex);
699
+ tx.moveCall({
700
+ target: `${this.config.packageId}::seal_access_control::seal_approve`,
701
+ arguments: [
702
+ tx.pure.vector('u8', Array.from(idBytes)),
703
+ tx.pure.address(account.address),
704
+ tx.object(this.config.accessRegistryId),
705
+ tx.object('0x6'),
706
+ ],
707
+ });
708
+ const txBytes = await tx.build({ client, onlyTransactionKind: true });
709
+ console.log('✅ Session created - can now decrypt multiple memories');
710
+ return {
711
+ sealClient,
712
+ sessionKey,
713
+ txBytes
714
+ };
715
+ }
716
+ async decryptWithSEAL(params) {
717
+ const { encryptedData, account, signPersonalMessage, client } = params;
718
+ // Create SEAL client
719
+ const sealClient = new SealClient({
720
+ suiClient: client,
721
+ serverConfigs: this.config.sealServerObjectIds.map((id) => ({
722
+ objectId: id,
723
+ weight: 1,
724
+ })),
725
+ verifyKeyServers: false,
726
+ });
727
+ // Create session key
728
+ const sessionKey = await SessionKey.create({
729
+ address: account.address,
730
+ packageId: this.config.packageId,
731
+ ttlMin: 10,
732
+ suiClient: client,
733
+ });
734
+ // Sign personal message
735
+ const personalMessage = sessionKey.getPersonalMessage();
736
+ const signatureResult = await signPersonalMessage({ message: personalMessage });
737
+ await sessionKey.setPersonalMessageSignature(signatureResult.signature);
738
+ // Build seal_approve transaction
739
+ const tx = new Transaction();
740
+ const addressHex = account.address.startsWith('0x')
741
+ ? account.address.slice(2)
742
+ : account.address;
743
+ const idBytes = fromHex(addressHex);
744
+ tx.moveCall({
745
+ target: `${this.config.packageId}::seal_access_control::seal_approve`,
746
+ arguments: [
747
+ tx.pure.vector('u8', Array.from(idBytes)),
748
+ tx.pure.address(account.address),
749
+ tx.object(this.config.accessRegistryId),
750
+ tx.object('0x6'),
751
+ ],
752
+ });
753
+ const txBytes = await tx.build({ client, onlyTransactionKind: true });
754
+ // Decrypt
755
+ const decryptedData = await sealClient.decrypt({
756
+ data: encryptedData,
757
+ sessionKey,
758
+ txBytes,
759
+ });
760
+ return decryptedData;
761
+ }
762
+ }
763
+ export default ClientMemoryManager;
764
+ //# sourceMappingURL=ClientMemoryManager.js.map