@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,1004 @@
1
+ /**
2
+ * IndexManager - Hybrid Index Persistence Manager
3
+ *
4
+ * Provides intelligent index management with:
5
+ * - Option 1: Full rebuild from Blockchain + Walrus (fallback)
6
+ * - Option 2: Binary serialization to/from Walrus (fast)
7
+ * - Hybrid: Combines both with incremental sync
8
+ * - On-chain MemoryIndex object for versioned index tracking
9
+ *
10
+ * Flow:
11
+ * 1. Initialize: Check for MemoryIndex on-chain → Load blob from Walrus
12
+ * 2. Save: Upload to Walrus → Create/Update MemoryIndex on-chain
13
+ *
14
+ * @module services/IndexManager
15
+ */
16
+
17
+ import type { VectorService } from './VectorService';
18
+ import type { StorageService } from './StorageService';
19
+ import type { EmbeddingService } from './EmbeddingService';
20
+ import type { TransactionService } from './TransactionService';
21
+ import type { MemoryIndex } from './ViewService';
22
+
23
+ /**
24
+ * Index state stored in localStorage/persistent storage
25
+ */
26
+ export interface IndexState {
27
+ /** Blob ID of the saved index on Walrus */
28
+ blobId: string;
29
+ /** Graph blob ID on Walrus (for knowledge graph) */
30
+ graphBlobId?: string;
31
+ /** Timestamp when index was last saved */
32
+ lastSyncTimestamp: number;
33
+ /** Number of vectors in the index at save time */
34
+ vectorCount: number;
35
+ /** Index version for optimistic locking (matches on-chain version) */
36
+ version: number;
37
+ /** Dimension of vectors in the index */
38
+ dimension: number;
39
+ /** On-chain MemoryIndex object ID (if created) */
40
+ onChainIndexId?: string;
41
+ }
42
+
43
+ /**
44
+ * Serialized index package stored on Walrus
45
+ */
46
+ export interface SerializedIndexPackage {
47
+ /** Package format version */
48
+ formatVersion: '1.0';
49
+ /** Space ID (user address) */
50
+ spaceId: string;
51
+ /** Index version */
52
+ version: number;
53
+ /** Vector dimension */
54
+ dimension: number;
55
+ /** Timestamp of serialization */
56
+ timestamp: number;
57
+ /** Serialized HNSW index as base64 (if supported) */
58
+ indexBinary?: string;
59
+ /** All vectors with their IDs for reconstruction */
60
+ vectors: Array<{
61
+ vectorId: number;
62
+ vector: number[];
63
+ }>;
64
+ /** Metadata for each vector */
65
+ metadata: Array<[number, any]>;
66
+ /** HNSW config used */
67
+ hnswConfig: {
68
+ maxElements: number;
69
+ m: number;
70
+ efConstruction: number;
71
+ };
72
+ }
73
+
74
+ /**
75
+ * Progress callback for long operations
76
+ */
77
+ export type IndexProgressCallback = (
78
+ stage: 'loading' | 'rebuilding' | 'syncing' | 'saving' | 'complete',
79
+ progress: number,
80
+ message: string
81
+ ) => void;
82
+
83
+ /**
84
+ * Options for IndexManager initialization
85
+ */
86
+ export interface IndexManagerOptions {
87
+ /** Auto-save interval in ms (default: 5 minutes) */
88
+ autoSaveInterval?: number;
89
+ /** Enable auto-save (default: true) */
90
+ enableAutoSave?: boolean;
91
+ /** Storage key prefix for localStorage */
92
+ storageKeyPrefix?: string;
93
+ /** Progress callback */
94
+ onProgress?: IndexProgressCallback;
95
+ /** TransactionService for on-chain operations (optional) */
96
+ transactionService?: TransactionService;
97
+ /** Callback to get MemoryIndex from blockchain */
98
+ getMemoryIndexFromChain?: (userAddress: string) => Promise<MemoryIndex | null>;
99
+ /** Callback to execute transaction (for create/update MemoryIndex) */
100
+ executeTransaction?: (tx: any, signer: any) => Promise<{ digest: string; effects?: any; error?: string }>;
101
+ }
102
+
103
+ /**
104
+ * IndexManager - Manages HNSW index persistence with hybrid restore strategy
105
+ *
106
+ * Strategy:
107
+ * 1. Try to load from Walrus cache (fast, ~500ms)
108
+ * 2. If failed, rebuild from blockchain + Walrus (slow but complete)
109
+ * 3. Sync any new memories since last save
110
+ * 4. Auto-save periodically
111
+ */
112
+ export class IndexManager {
113
+ private vectorService: VectorService;
114
+ private storageService: StorageService;
115
+ private embeddingService: EmbeddingService;
116
+ private options: Required<Omit<IndexManagerOptions, 'transactionService' | 'getMemoryIndexFromChain' | 'executeTransaction'>> & {
117
+ transactionService?: TransactionService;
118
+ getMemoryIndexFromChain?: (userAddress: string) => Promise<MemoryIndex | null>;
119
+ executeTransaction?: (tx: any, signer: any) => Promise<{ digest: string; effects?: any; error?: string }>;
120
+ };
121
+ private autoSaveTimer?: ReturnType<typeof setInterval>;
122
+ private indexStates: Map<string, IndexState> = new Map();
123
+ private vectorCache: Map<string, Map<number, number[]>> = new Map();
124
+
125
+ // Storage adapter (can be replaced for non-browser environments)
126
+ private storage: {
127
+ getItem: (key: string) => string | null;
128
+ setItem: (key: string, value: string) => void;
129
+ removeItem: (key: string) => void;
130
+ };
131
+
132
+ constructor(
133
+ vectorService: VectorService,
134
+ storageService: StorageService,
135
+ embeddingService: EmbeddingService,
136
+ options: IndexManagerOptions = {}
137
+ ) {
138
+ this.vectorService = vectorService;
139
+ this.storageService = storageService;
140
+ this.embeddingService = embeddingService;
141
+
142
+ this.options = {
143
+ autoSaveInterval: options.autoSaveInterval ?? 5 * 60 * 1000, // 5 minutes
144
+ enableAutoSave: options.enableAutoSave ?? true,
145
+ storageKeyPrefix: options.storageKeyPrefix ?? 'pdw_index_',
146
+ onProgress: options.onProgress ?? (() => {}),
147
+ transactionService: options.transactionService,
148
+ getMemoryIndexFromChain: options.getMemoryIndexFromChain,
149
+ executeTransaction: options.executeTransaction,
150
+ };
151
+
152
+ // Default to localStorage in browser, no-op in Node
153
+ this.storage = typeof localStorage !== 'undefined'
154
+ ? localStorage
155
+ : {
156
+ getItem: () => null,
157
+ setItem: () => {},
158
+ removeItem: () => {},
159
+ };
160
+ }
161
+
162
+ /**
163
+ * Set custom storage adapter (for React Native, Node.js, etc.)
164
+ */
165
+ setStorageAdapter(adapter: {
166
+ getItem: (key: string) => string | null;
167
+ setItem: (key: string, value: string) => void;
168
+ removeItem: (key: string) => void;
169
+ }): void {
170
+ this.storage = adapter;
171
+ }
172
+
173
+ /**
174
+ * Initialize index for a user with hybrid restore strategy
175
+ *
176
+ * @param spaceId - User address / space identifier
177
+ * @param getMemoriesFromChain - Function to fetch memories from blockchain
178
+ * @param getMemoryContent - Function to fetch memory content from Walrus
179
+ */
180
+ async initialize(
181
+ spaceId: string,
182
+ getMemoriesFromChain: () => Promise<Array<{
183
+ id: string;
184
+ blobId: string;
185
+ vectorId?: number;
186
+ category?: string;
187
+ importance?: number;
188
+ topic?: string;
189
+ createdAt?: number;
190
+ }>>,
191
+ getMemoryContent: (blobId: string) => Promise<{
192
+ content: string;
193
+ embedding?: number[];
194
+ metadata?: any;
195
+ }>
196
+ ): Promise<{
197
+ restored: boolean;
198
+ method: 'cache' | 'rebuild' | 'empty';
199
+ vectorCount: number;
200
+ syncedCount: number;
201
+ timeMs: number;
202
+ }> {
203
+ const startTime = Date.now();
204
+ let method: 'cache' | 'rebuild' | 'empty' = 'empty';
205
+ let vectorCount = 0;
206
+ let syncedCount = 0;
207
+
208
+ this.options.onProgress('loading', 0, 'Starting index initialization...');
209
+
210
+ // Step 0: Check for on-chain MemoryIndex first (source of truth)
211
+ let onChainIndex: MemoryIndex | null = null;
212
+ if (this.options.getMemoryIndexFromChain) {
213
+ try {
214
+ this.options.onProgress('loading', 5, 'Checking on-chain MemoryIndex...');
215
+ onChainIndex = await this.options.getMemoryIndexFromChain(spaceId);
216
+
217
+ if (onChainIndex) {
218
+ console.log(`📍 Found on-chain MemoryIndex: ${onChainIndex.id} (v${onChainIndex.version})`);
219
+ console.log(` Index blob: ${onChainIndex.indexBlobId}`);
220
+ console.log(` Graph blob: ${onChainIndex.graphBlobId}`);
221
+ }
222
+ } catch (error) {
223
+ console.warn('⚠️ Failed to fetch on-chain MemoryIndex:', error);
224
+ }
225
+ }
226
+
227
+ // Step 1: Try to load from on-chain index or localStorage cache
228
+ // Priority: on-chain index > localStorage cache
229
+ let cachedState = this.loadIndexState(spaceId);
230
+
231
+ // If on-chain index is newer, use it instead of localStorage
232
+ if (onChainIndex && onChainIndex.indexBlobId) {
233
+ const onChainVersion = onChainIndex.version;
234
+ const localVersion = cachedState?.version || 0;
235
+
236
+ if (onChainVersion > localVersion || !cachedState) {
237
+ console.log(`🔄 On-chain index (v${onChainVersion}) is newer than local (v${localVersion}), using on-chain`);
238
+ cachedState = {
239
+ blobId: onChainIndex.indexBlobId,
240
+ graphBlobId: onChainIndex.graphBlobId,
241
+ lastSyncTimestamp: 0, // Will sync all memories
242
+ vectorCount: 0,
243
+ version: onChainVersion,
244
+ dimension: 3072,
245
+ onChainIndexId: onChainIndex.id,
246
+ };
247
+ }
248
+ }
249
+
250
+ if (cachedState) {
251
+ try {
252
+ this.options.onProgress('loading', 10, 'Found cached index, loading from Walrus...');
253
+ await this.loadFromWalrus(spaceId, cachedState.blobId);
254
+
255
+ // Restore on-chain index ID if available
256
+ if (onChainIndex) {
257
+ const state = this.indexStates.get(spaceId);
258
+ if (state) {
259
+ state.onChainIndexId = onChainIndex.id;
260
+ this.indexStates.set(spaceId, state);
261
+ }
262
+ }
263
+
264
+ method = 'cache';
265
+ vectorCount = this.vectorService.getIndexStats(spaceId)?.currentElements || 0;
266
+
267
+ this.options.onProgress('loading', 50, `Loaded ${vectorCount} vectors from cache`);
268
+
269
+ // Step 2: Sync new memories since last save (with timeout)
270
+ this.options.onProgress('syncing', 60, 'Checking for new memories...');
271
+ try {
272
+ // Add 30 second timeout for sync operation
273
+ const syncPromise = this.syncNewMemories(
274
+ spaceId,
275
+ cachedState.lastSyncTimestamp,
276
+ getMemoriesFromChain,
277
+ getMemoryContent
278
+ );
279
+ const timeoutPromise = new Promise<number>((_, reject) =>
280
+ setTimeout(() => reject(new Error('Sync timeout after 30s')), 30000)
281
+ );
282
+ syncedCount = await Promise.race([syncPromise, timeoutPromise]);
283
+
284
+ if (syncedCount > 0) {
285
+ vectorCount += syncedCount;
286
+ this.options.onProgress('syncing', 90, `Synced ${syncedCount} new memories`);
287
+ }
288
+ } catch (syncError: any) {
289
+ console.warn('⚠️ Sync skipped:', syncError.message);
290
+ // Continue without sync - index is still usable from cache
291
+ }
292
+
293
+ this.options.onProgress('complete', 100, 'Index ready');
294
+ } catch (error) {
295
+ console.warn('⚠️ Failed to load cached index, falling back to rebuild:', error);
296
+ // Fall through to rebuild
297
+ method = 'rebuild';
298
+ }
299
+ }
300
+
301
+ // Step 3: Full rebuild if no cache or cache failed (Option 1 - slow but complete)
302
+ if (method !== 'cache') {
303
+ this.options.onProgress('rebuilding', 10, 'No cache found, rebuilding from blockchain...');
304
+
305
+ try {
306
+ // Add 60 second timeout for full rebuild
307
+ const rebuildPromise = this.fullRebuild(
308
+ spaceId,
309
+ getMemoriesFromChain,
310
+ getMemoryContent
311
+ );
312
+ const timeoutPromise = new Promise<{ memoriesCount: number }>((_, reject) =>
313
+ setTimeout(() => reject(new Error('Rebuild timeout after 60s')), 60000)
314
+ );
315
+ const result = await Promise.race([rebuildPromise, timeoutPromise]);
316
+
317
+ method = result.memoriesCount > 0 ? 'rebuild' : 'empty';
318
+ vectorCount = result.memoriesCount;
319
+ } catch (rebuildError: any) {
320
+ console.warn('⚠️ Rebuild failed or timed out:', rebuildError.message);
321
+ method = 'empty';
322
+ vectorCount = 0;
323
+ }
324
+ }
325
+
326
+ // Step 4: Mark as dirty if vectors were synced or rebuilt (save will happen when saveIndex is called)
327
+ // Note: We don't auto-save here because we don't have a signer
328
+ // The caller should call saveIndexWithSigner() when ready to persist
329
+
330
+ // Step 5: Start auto-save if enabled
331
+ if (this.options.enableAutoSave) {
332
+ this.startAutoSave(spaceId);
333
+ }
334
+
335
+ this.options.onProgress('complete', 100, 'Index initialization complete');
336
+
337
+ return {
338
+ restored: method === 'cache',
339
+ method,
340
+ vectorCount,
341
+ syncedCount,
342
+ timeMs: Date.now() - startTime,
343
+ };
344
+ }
345
+
346
+ /**
347
+ * Load index from Walrus (Option 2)
348
+ */
349
+ private async loadFromWalrus(spaceId: string, blobId: string): Promise<void> {
350
+ // Download serialized index from Walrus
351
+ const result = await this.storageService.retrieveMemoryPackage(blobId);
352
+
353
+ // Parse the index package - it may be in memoryPackage or need to be extracted from content
354
+ let pkg: SerializedIndexPackage;
355
+
356
+ console.log('📥 Loading index from Walrus, parsing format...');
357
+ console.log(' memoryPackage keys:', result.memoryPackage ? Object.keys(result.memoryPackage) : 'null');
358
+
359
+ if (result.memoryPackage?.formatVersion === '1.0') {
360
+ // Direct format match - SerializedIndexPackage at top level
361
+ console.log(' Format: Direct SerializedIndexPackage');
362
+ pkg = result.memoryPackage;
363
+ } else if (result.memoryPackage?.content) {
364
+ // Index was wrapped in memory package format
365
+ // content could be a string (JSON) or already parsed object
366
+ const content = result.memoryPackage.content;
367
+ console.log(' Content type:', typeof content);
368
+
369
+ if (typeof content === 'string') {
370
+ // Parse JSON string
371
+ try {
372
+ pkg = JSON.parse(content);
373
+ console.log(' Parsed content from JSON string');
374
+ } catch (parseErr) {
375
+ console.error(' Failed to parse content string:', parseErr);
376
+ throw new Error('Failed to parse index package from memory package content');
377
+ }
378
+ } else if (typeof content === 'object' && content !== null) {
379
+ // Already parsed object
380
+ pkg = content as SerializedIndexPackage;
381
+ console.log(' Content is already an object');
382
+ } else {
383
+ throw new Error('Invalid content type in memory package');
384
+ }
385
+ } else {
386
+ // Try to parse raw content
387
+ console.log(' Trying raw content parse...');
388
+ try {
389
+ const contentString = new TextDecoder().decode(result.content);
390
+ const parsed = JSON.parse(contentString);
391
+
392
+ // Check if it's wrapped in memory package format
393
+ if (parsed.content && typeof parsed.content === 'string') {
394
+ pkg = JSON.parse(parsed.content);
395
+ } else if (parsed.formatVersion === '1.0') {
396
+ pkg = parsed;
397
+ } else {
398
+ throw new Error('Unknown format');
399
+ }
400
+ } catch (err) {
401
+ console.error(' Raw parse failed:', err);
402
+ throw new Error('Invalid index package format - could not parse content');
403
+ }
404
+ }
405
+
406
+ // Validate format version
407
+ if (pkg.formatVersion !== '1.0') {
408
+ throw new Error(`Unsupported index format version: ${pkg.formatVersion}`);
409
+ }
410
+
411
+ console.log(`✅ Parsed index package: ${pkg.vectors?.length || 0} vectors, version ${pkg.version}`);
412
+
413
+ // Create new index with same config
414
+ await this.vectorService.createIndex(spaceId, pkg.dimension, {
415
+ maxElements: pkg.hnswConfig.maxElements,
416
+ m: pkg.hnswConfig.m,
417
+ efConstruction: pkg.hnswConfig.efConstruction,
418
+ });
419
+
420
+ // Initialize vector cache for this space
421
+ const vectorMap = new Map<number, number[]>();
422
+ this.vectorCache.set(spaceId, vectorMap);
423
+
424
+ // Restore vectors and metadata
425
+ const metadataMap = new Map<number, any>(pkg.metadata);
426
+
427
+ for (const { vectorId, vector } of pkg.vectors) {
428
+ await this.vectorService.addVector(spaceId, vectorId, vector, metadataMap.get(vectorId));
429
+ vectorMap.set(vectorId, vector);
430
+ }
431
+
432
+ // Update index state
433
+ this.indexStates.set(spaceId, {
434
+ blobId,
435
+ lastSyncTimestamp: pkg.timestamp,
436
+ vectorCount: pkg.vectors.length,
437
+ version: pkg.version,
438
+ dimension: pkg.dimension,
439
+ });
440
+
441
+ console.log(`✅ Loaded index from Walrus: ${pkg.vectors.length} vectors`);
442
+ }
443
+
444
+ /**
445
+ * Full rebuild from blockchain + Walrus (Option 1)
446
+ */
447
+ private async fullRebuild(
448
+ spaceId: string,
449
+ getMemoriesFromChain: () => Promise<Array<{
450
+ id: string;
451
+ blobId: string;
452
+ vectorId?: number;
453
+ category?: string;
454
+ importance?: number;
455
+ topic?: string;
456
+ createdAt?: number;
457
+ }>>,
458
+ getMemoryContent: (blobId: string) => Promise<{
459
+ content: string;
460
+ embedding?: number[];
461
+ metadata?: any;
462
+ }>
463
+ ): Promise<{ memoriesCount: number }> {
464
+ // Get all memories from blockchain
465
+ this.options.onProgress('rebuilding', 15, 'Fetching memories from blockchain...');
466
+ const memories = await getMemoriesFromChain();
467
+
468
+ if (memories.length === 0) {
469
+ console.log('No memories found on blockchain');
470
+ return { memoriesCount: 0 };
471
+ }
472
+
473
+ this.options.onProgress('rebuilding', 20, `Found ${memories.length} memories, rebuilding index...`);
474
+
475
+ // Determine dimension from first memory with embedding
476
+ let dimension = 3072; // Default
477
+
478
+ // Create index
479
+ await this.vectorService.createIndex(spaceId, dimension, {
480
+ maxElements: Math.max(10000, memories.length * 2),
481
+ m: 16,
482
+ efConstruction: 200,
483
+ });
484
+
485
+ // Initialize vector cache
486
+ const vectorMap = new Map<number, number[]>();
487
+ this.vectorCache.set(spaceId, vectorMap);
488
+
489
+ // Process each memory
490
+ let processed = 0;
491
+ const batchSize = 10;
492
+
493
+ for (let i = 0; i < memories.length; i += batchSize) {
494
+ const batch = memories.slice(i, i + batchSize);
495
+
496
+ await Promise.all(
497
+ batch.map(async (memory) => {
498
+ try {
499
+ // Fetch content from Walrus
500
+ const content = await getMemoryContent(memory.blobId);
501
+
502
+ let embedding = content.embedding;
503
+
504
+ // Generate embedding if not stored
505
+ if (!embedding || embedding.length === 0) {
506
+ const result = await this.embeddingService.embedText({ text: content.content });
507
+ embedding = result.vector;
508
+ }
509
+
510
+ // Update dimension if needed
511
+ if (processed === 0 && embedding.length !== dimension) {
512
+ dimension = embedding.length;
513
+ }
514
+
515
+ const vectorId = memory.vectorId ?? Date.now() % 4294967295;
516
+
517
+ // Add to index
518
+ await this.vectorService.addVector(spaceId, vectorId, embedding, {
519
+ blobId: memory.blobId,
520
+ memoryId: memory.id,
521
+ category: memory.category,
522
+ importance: memory.importance,
523
+ topic: memory.topic,
524
+ timestamp: memory.createdAt || Date.now(),
525
+ });
526
+
527
+ // Cache vector for serialization
528
+ vectorMap.set(vectorId, embedding);
529
+
530
+ processed++;
531
+ } catch (error) {
532
+ console.warn(`Failed to rebuild memory ${memory.id}:`, error);
533
+ }
534
+ })
535
+ );
536
+
537
+ const progress = 20 + Math.floor((processed / memories.length) * 70);
538
+ this.options.onProgress('rebuilding', progress, `Processed ${processed}/${memories.length} memories`);
539
+ }
540
+
541
+ console.log(`✅ Rebuilt index: ${processed} vectors`);
542
+
543
+ return { memoriesCount: processed };
544
+ }
545
+
546
+ /**
547
+ * Sync new memories since last save (incremental update)
548
+ */
549
+ private async syncNewMemories(
550
+ spaceId: string,
551
+ lastSyncTimestamp: number,
552
+ getMemoriesFromChain: () => Promise<Array<{
553
+ id: string;
554
+ blobId: string;
555
+ vectorId?: number;
556
+ category?: string;
557
+ importance?: number;
558
+ topic?: string;
559
+ createdAt?: number;
560
+ }>>,
561
+ getMemoryContent: (blobId: string) => Promise<{
562
+ content: string;
563
+ embedding?: number[];
564
+ metadata?: any;
565
+ }>
566
+ ): Promise<number> {
567
+ // Get all memories
568
+ const allMemories = await getMemoriesFromChain();
569
+
570
+ // Filter to only new memories
571
+ const newMemories = allMemories.filter(
572
+ (m) => (m.createdAt || 0) > lastSyncTimestamp
573
+ );
574
+
575
+ if (newMemories.length === 0) {
576
+ console.log('✅ Index is up to date');
577
+ return 0;
578
+ }
579
+
580
+ console.log(`🔄 Syncing ${newMemories.length} new memories...`);
581
+
582
+ // Get or create vector cache
583
+ let vectorMap = this.vectorCache.get(spaceId);
584
+ if (!vectorMap) {
585
+ vectorMap = new Map();
586
+ this.vectorCache.set(spaceId, vectorMap);
587
+ }
588
+
589
+ let synced = 0;
590
+
591
+ for (const memory of newMemories) {
592
+ try {
593
+ const content = await getMemoryContent(memory.blobId);
594
+
595
+ let embedding = content.embedding;
596
+
597
+ if (!embedding || embedding.length === 0) {
598
+ const result = await this.embeddingService.embedText({ text: content.content });
599
+ embedding = result.vector;
600
+ }
601
+
602
+ const vectorId = memory.vectorId ?? Date.now() % 4294967295;
603
+
604
+ await this.vectorService.addVector(spaceId, vectorId, embedding, {
605
+ blobId: memory.blobId,
606
+ memoryId: memory.id,
607
+ category: memory.category,
608
+ importance: memory.importance,
609
+ topic: memory.topic,
610
+ timestamp: memory.createdAt || Date.now(),
611
+ });
612
+
613
+ vectorMap.set(vectorId, embedding);
614
+ synced++;
615
+ } catch (error) {
616
+ console.warn(`Failed to sync memory ${memory.id}:`, error);
617
+ }
618
+ }
619
+
620
+ return synced;
621
+ }
622
+
623
+ /**
624
+ * Save index to Walrus
625
+ */
626
+ async saveIndex(spaceId: string): Promise<string | null> {
627
+ const stats = this.vectorService.getIndexStats(spaceId);
628
+ if (!stats || stats.currentElements === 0) {
629
+ console.log('No vectors to save');
630
+ return null;
631
+ }
632
+
633
+ // Get all vectors and metadata
634
+ const allVectors = this.vectorService.getAllVectors(spaceId);
635
+
636
+ // Try to get vectors from VectorService cache first, then fallback to local cache
637
+ let vectorMap = this.vectorService.getAllCachedVectors(spaceId);
638
+ if (vectorMap.size === 0) {
639
+ vectorMap = this.vectorCache.get(spaceId) || new Map();
640
+ }
641
+
642
+ if (vectorMap.size === 0) {
643
+ console.warn('Vector cache is empty, cannot save index');
644
+ return null;
645
+ }
646
+
647
+ // Build serialized package
648
+ const currentState = this.indexStates.get(spaceId);
649
+ const pkg: SerializedIndexPackage = {
650
+ formatVersion: '1.0',
651
+ spaceId,
652
+ version: (currentState?.version || 0) + 1,
653
+ dimension: currentState?.dimension || 3072,
654
+ timestamp: Date.now(),
655
+ vectors: allVectors
656
+ .filter(({ vectorId }) => vectorMap.has(vectorId))
657
+ .map(({ vectorId }) => ({
658
+ vectorId,
659
+ vector: vectorMap.get(vectorId)!,
660
+ })),
661
+ metadata: allVectors.map(({ vectorId, metadata }) => [vectorId, metadata]),
662
+ hnswConfig: {
663
+ maxElements: stats.maxElements || 10000,
664
+ m: 16,
665
+ efConstruction: 200,
666
+ },
667
+ };
668
+
669
+ // Upload to Walrus as JSON package
670
+ const result = await this.storageService.uploadMemoryPackage(
671
+ {
672
+ content: JSON.stringify(pkg),
673
+ embedding: [],
674
+ metadata: {
675
+ category: 'vector-index',
676
+ type: 'hnsw-index-package',
677
+ spaceId,
678
+ version: pkg.version,
679
+ },
680
+ identity: spaceId,
681
+ },
682
+ {
683
+ signer: null as any, // Will be provided by caller
684
+ epochs: 5, // Longer retention for index
685
+ deletable: true,
686
+ }
687
+ );
688
+
689
+ // Update state
690
+ const state: IndexState = {
691
+ blobId: result.blobId,
692
+ lastSyncTimestamp: pkg.timestamp,
693
+ vectorCount: pkg.vectors.length,
694
+ version: pkg.version,
695
+ dimension: pkg.dimension,
696
+ };
697
+
698
+ this.indexStates.set(spaceId, state);
699
+ this.saveIndexState(spaceId, state);
700
+
701
+ console.log(`💾 Index saved to Walrus: ${result.blobId} (${pkg.vectors.length} vectors)`);
702
+
703
+ return result.blobId;
704
+ }
705
+
706
+ /**
707
+ * Save index with signer (public API)
708
+ *
709
+ * This method:
710
+ * 1. Uploads index to Walrus
711
+ * 2. Creates or updates MemoryIndex on-chain (if transactionService is available)
712
+ * 3. Updates local state
713
+ *
714
+ * @param spaceId - User address
715
+ * @param signer - Wallet signer for transactions
716
+ * @returns Blob ID of saved index
717
+ */
718
+ async saveIndexWithSigner(
719
+ spaceId: string,
720
+ signer: any
721
+ ): Promise<string | null> {
722
+ const stats = this.vectorService.getIndexStats(spaceId);
723
+ if (!stats || stats.currentElements === 0) {
724
+ console.log('No vectors to save');
725
+ return null;
726
+ }
727
+
728
+ const allVectors = this.vectorService.getAllVectors(spaceId);
729
+
730
+ // Try to get vectors from VectorService cache first, then fallback to local cache
731
+ let vectorMap = this.vectorService.getAllCachedVectors(spaceId);
732
+ if (vectorMap.size === 0) {
733
+ vectorMap = this.vectorCache.get(spaceId) || new Map();
734
+ }
735
+
736
+ if (vectorMap.size === 0) {
737
+ console.warn('Vector cache is empty, cannot save index');
738
+ return null;
739
+ }
740
+
741
+ const currentState = this.indexStates.get(spaceId);
742
+ const newVersion = (currentState?.version || 0) + 1;
743
+
744
+ const pkg: SerializedIndexPackage = {
745
+ formatVersion: '1.0',
746
+ spaceId,
747
+ version: newVersion,
748
+ dimension: currentState?.dimension || 3072,
749
+ timestamp: Date.now(),
750
+ vectors: allVectors
751
+ .filter(({ vectorId }) => vectorMap.has(vectorId))
752
+ .map(({ vectorId }) => ({
753
+ vectorId,
754
+ vector: vectorMap.get(vectorId)!,
755
+ })),
756
+ metadata: allVectors.map(({ vectorId, metadata }) => [vectorId, metadata]),
757
+ hnswConfig: {
758
+ maxElements: stats.maxElements || 10000,
759
+ m: 16,
760
+ efConstruction: 200,
761
+ },
762
+ };
763
+
764
+ // Step 1: Upload index to Walrus
765
+ const result = await this.storageService.uploadMemoryPackage(
766
+ {
767
+ content: JSON.stringify(pkg),
768
+ embedding: [],
769
+ metadata: {
770
+ category: 'vector-index',
771
+ type: 'hnsw-index-package',
772
+ spaceId,
773
+ version: pkg.version,
774
+ },
775
+ identity: spaceId,
776
+ },
777
+ {
778
+ signer,
779
+ epochs: 5,
780
+ deletable: true,
781
+ }
782
+ );
783
+
784
+ console.log(`💾 Index uploaded to Walrus: ${result.blobId} (${pkg.vectors.length} vectors)`);
785
+
786
+ // Step 2: Create or update MemoryIndex on-chain
787
+ // SerialTransactionExecutor handles gas coin management and prevents equivocation
788
+ let onChainIndexId = currentState?.onChainIndexId;
789
+ const graphBlobId = currentState?.graphBlobId || ''; // Empty for now, could be knowledge graph
790
+
791
+ if (this.options.transactionService && this.options.executeTransaction) {
792
+ try {
793
+ if (!onChainIndexId) {
794
+ // Create new MemoryIndex on-chain
795
+ console.log('📝 Creating new MemoryIndex on-chain...');
796
+ const tx = this.options.transactionService.buildCreateMemoryIndex({
797
+ indexBlobId: result.blobId,
798
+ graphBlobId: graphBlobId,
799
+ });
800
+
801
+ const txResult = await this.options.executeTransaction(tx, signer);
802
+
803
+ if (txResult.digest && !txResult.error) {
804
+ console.log(`✅ MemoryIndex created on-chain: ${txResult.digest}`);
805
+
806
+ // Extract created object ID from transaction effects
807
+ if (txResult.effects?.created?.[0]?.reference?.objectId) {
808
+ onChainIndexId = txResult.effects.created[0].reference.objectId;
809
+ console.log(` Object ID: ${onChainIndexId}`);
810
+ }
811
+ } else {
812
+ console.warn('⚠️ Failed to create on-chain MemoryIndex:', txResult.error);
813
+ }
814
+ } else {
815
+ // Update existing MemoryIndex on-chain
816
+ console.log(`📝 Updating MemoryIndex on-chain (v${currentState?.version} → v${newVersion})...`);
817
+ const tx = this.options.transactionService.buildUpdateMemoryIndex({
818
+ indexId: onChainIndexId,
819
+ expectedVersion: currentState?.version || 1,
820
+ newIndexBlobId: result.blobId,
821
+ newGraphBlobId: graphBlobId,
822
+ });
823
+
824
+ const txResult = await this.options.executeTransaction(tx, signer);
825
+
826
+ if (txResult.digest && !txResult.error) {
827
+ console.log(`✅ MemoryIndex updated on-chain: ${txResult.digest}`);
828
+ } else {
829
+ console.warn('⚠️ Failed to update on-chain MemoryIndex:', txResult.error);
830
+ }
831
+ }
832
+ } catch (error: any) {
833
+ console.warn('⚠️ Failed to sync MemoryIndex on-chain:', error.message);
834
+ }
835
+ }
836
+
837
+ // Step 3: Update local state
838
+ const state: IndexState = {
839
+ blobId: result.blobId,
840
+ graphBlobId: graphBlobId,
841
+ lastSyncTimestamp: pkg.timestamp,
842
+ vectorCount: pkg.vectors.length,
843
+ version: newVersion,
844
+ dimension: pkg.dimension,
845
+ onChainIndexId: onChainIndexId,
846
+ };
847
+
848
+ this.indexStates.set(spaceId, state);
849
+ this.saveIndexState(spaceId, state);
850
+
851
+ console.log(`💾 Index saved: ${result.blobId} (${pkg.vectors.length} vectors, v${newVersion})`);
852
+
853
+ return result.blobId;
854
+ }
855
+
856
+ /**
857
+ * Add vector and cache it for serialization
858
+ */
859
+ async addVectorWithCache(
860
+ spaceId: string,
861
+ vectorId: number,
862
+ vector: number[],
863
+ metadata?: any
864
+ ): Promise<void> {
865
+ await this.vectorService.addVector(spaceId, vectorId, vector, metadata);
866
+
867
+ // Cache vector for later serialization
868
+ let vectorMap = this.vectorCache.get(spaceId);
869
+ if (!vectorMap) {
870
+ vectorMap = new Map();
871
+ this.vectorCache.set(spaceId, vectorMap);
872
+ }
873
+ vectorMap.set(vectorId, vector);
874
+ }
875
+
876
+ /**
877
+ * Start auto-save interval
878
+ */
879
+ private startAutoSave(spaceId: string): void {
880
+ if (this.autoSaveTimer) {
881
+ clearInterval(this.autoSaveTimer);
882
+ }
883
+
884
+ this.autoSaveTimer = setInterval(async () => {
885
+ const stats = this.vectorService.getIndexStats(spaceId);
886
+ if (stats?.isDirty) {
887
+ try {
888
+ console.log('🔄 Auto-saving index...');
889
+ await this.saveIndex(spaceId);
890
+ } catch (error) {
891
+ console.error('Auto-save failed:', error);
892
+ }
893
+ }
894
+ }, this.options.autoSaveInterval);
895
+
896
+ console.log(`🔄 Auto-save enabled (every ${this.options.autoSaveInterval / 1000}s)`);
897
+ }
898
+
899
+ /**
900
+ * Stop auto-save
901
+ */
902
+ stopAutoSave(): void {
903
+ if (this.autoSaveTimer) {
904
+ clearInterval(this.autoSaveTimer);
905
+ this.autoSaveTimer = undefined;
906
+ console.log('Auto-save disabled');
907
+ }
908
+ }
909
+
910
+ /**
911
+ * Load index state from localStorage
912
+ */
913
+ private loadIndexState(spaceId: string): IndexState | null {
914
+ const key = `${this.options.storageKeyPrefix}${spaceId}`;
915
+ const data = this.storage.getItem(key);
916
+
917
+ if (!data) {
918
+ return null;
919
+ }
920
+
921
+ try {
922
+ return JSON.parse(data) as IndexState;
923
+ } catch {
924
+ return null;
925
+ }
926
+ }
927
+
928
+ /**
929
+ * Save index state to localStorage
930
+ */
931
+ private saveIndexState(spaceId: string, state: IndexState): void {
932
+ const key = `${this.options.storageKeyPrefix}${spaceId}`;
933
+ this.storage.setItem(key, JSON.stringify(state));
934
+ }
935
+
936
+ /**
937
+ * Clear cached index state
938
+ */
939
+ clearIndexState(spaceId: string): void {
940
+ const key = `${this.options.storageKeyPrefix}${spaceId}`;
941
+ this.storage.removeItem(key);
942
+ this.indexStates.delete(spaceId);
943
+ this.vectorCache.delete(spaceId);
944
+ console.log(`Cleared index state for ${spaceId}`);
945
+ }
946
+
947
+ /**
948
+ * Get current index state
949
+ */
950
+ getIndexState(spaceId: string): IndexState | null {
951
+ return this.indexStates.get(spaceId) || this.loadIndexState(spaceId);
952
+ }
953
+
954
+ /**
955
+ * Force a full rebuild (useful for troubleshooting)
956
+ */
957
+ async forceRebuild(
958
+ spaceId: string,
959
+ getMemoriesFromChain: () => Promise<Array<{
960
+ id: string;
961
+ blobId: string;
962
+ vectorId?: number;
963
+ category?: string;
964
+ importance?: number;
965
+ topic?: string;
966
+ createdAt?: number;
967
+ }>>,
968
+ getMemoryContent: (blobId: string) => Promise<{
969
+ content: string;
970
+ embedding?: number[];
971
+ metadata?: any;
972
+ }>
973
+ ): Promise<{ memoriesCount: number }> {
974
+ // Clear existing state
975
+ this.clearIndexState(spaceId);
976
+
977
+ // Full rebuild
978
+ return this.fullRebuild(spaceId, getMemoriesFromChain, getMemoryContent);
979
+ }
980
+
981
+ /**
982
+ * Get statistics
983
+ */
984
+ getStats(spaceId: string): {
985
+ indexState: IndexState | null;
986
+ vectorCacheSize: number;
987
+ isAutoSaveEnabled: boolean;
988
+ } {
989
+ return {
990
+ indexState: this.getIndexState(spaceId),
991
+ vectorCacheSize: this.vectorCache.get(spaceId)?.size || 0,
992
+ isAutoSaveEnabled: !!this.autoSaveTimer,
993
+ };
994
+ }
995
+
996
+ /**
997
+ * Cleanup resources
998
+ */
999
+ async cleanup(): Promise<void> {
1000
+ this.stopAutoSave();
1001
+ this.indexStates.clear();
1002
+ this.vectorCache.clear();
1003
+ }
1004
+ }