@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,93 @@
1
+ /**
2
+ * BrowserHnswIndexService - Client-Side HNSW Vector Indexing
3
+ *
4
+ * Browser-compatible HNSW vector indexing with IndexedDB persistence.
5
+ * Uses hnswlib-wasm for WASM-based vector search (10-50x faster than pure JS).
6
+ *
7
+ * Features:
8
+ * - WASM-powered HNSW algorithm for fast vector search
9
+ * - IndexedDB persistence (survives page refresh)
10
+ * - Intelligent batching and caching
11
+ * - Metadata filtering support
12
+ * - Zero backend dependencies
13
+ */
14
+ import type { HNSWIndexConfig, HNSWSearchResult, HNSWSearchOptions, BatchConfig, BatchStats } from '../embedding/types';
15
+ /**
16
+ * Browser-compatible HNSW vector indexing service with IndexedDB persistence
17
+ */
18
+ export declare class BrowserHnswIndexService {
19
+ private readonly indexCache;
20
+ private readonly batchJobs;
21
+ private readonly config;
22
+ private readonly indexConfig;
23
+ private batchProcessor?;
24
+ private cacheCleanup?;
25
+ private db?;
26
+ private hnswLib?;
27
+ private readonly debug;
28
+ constructor(indexConfig?: Partial<HNSWIndexConfig>, batchConfig?: Partial<BatchConfig>);
29
+ /**
30
+ * Debug logging helper
31
+ */
32
+ private debugLog;
33
+ /**
34
+ * Initialize IndexedDB for persistence
35
+ */
36
+ private initializeIndexedDB;
37
+ /**
38
+ * Load hnswlib-wasm dynamically (only when needed)
39
+ * CRITICAL: Must await WASM initialization before using HierarchicalNSW constructor
40
+ */
41
+ private loadHnswLib;
42
+ /**
43
+ * Create a new HNSW index
44
+ */
45
+ createIndex(userAddress: string, options?: Partial<HNSWIndexConfig>): Promise<{
46
+ index: any;
47
+ serialized: ArrayBuffer;
48
+ }>;
49
+ /**
50
+ * Add vector to index with batching (main entry point)
51
+ */
52
+ addVectorToIndexBatched(userAddress: string, vectorId: number, vector: number[], metadata?: any): void;
53
+ /**
54
+ * Search vectors in the index (including pending vectors)
55
+ */
56
+ searchVectors(userAddress: string, queryVector: number[], options?: HNSWSearchOptions): Promise<HNSWSearchResult>;
57
+ /**
58
+ * Load index from IndexedDB via Emscripten FS
59
+ */
60
+ loadIndexFromDB(userAddress: string): Promise<boolean>;
61
+ /**
62
+ * Save index to IndexedDB via Emscripten FS
63
+ */
64
+ saveIndexToDB(userAddress: string): Promise<void>;
65
+ /**
66
+ * Force flush all pending vectors for a user
67
+ */
68
+ forceFlush(userAddress: string): Promise<void>;
69
+ /**
70
+ * Get cache statistics
71
+ */
72
+ getCacheStats(): BatchStats;
73
+ /**
74
+ * Clear user index and cache
75
+ */
76
+ clearUserIndex(userAddress: string): void;
77
+ /**
78
+ * Cleanup resources
79
+ */
80
+ destroy(): void;
81
+ private scheduleBatchJob;
82
+ private startBatchProcessor;
83
+ private startCacheCleanup;
84
+ private processBatchJobs;
85
+ private flushPendingVectors;
86
+ private cloneIndexWithPending;
87
+ private applyMetadataFilter;
88
+ private cleanupCache;
89
+ private validateVector;
90
+ private createVectorError;
91
+ }
92
+ export default BrowserHnswIndexService;
93
+ //# sourceMappingURL=BrowserHnswIndexService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserHnswIndexService.d.ts","sourceRoot":"","sources":["../../src/vector/BrowserHnswIndexService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAkC5B;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,EAAE,CAAC,CAAc;IACzB,OAAO,CAAC,OAAO,CAAC,CAAM;IAGtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwE;gBAG5F,WAAW,GAAE,OAAO,CAAC,eAAe,CAAM,EAC1C,WAAW,GAAE,OAAO,CAAC,WAAW,CAAM;IAyBxC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAMhB;;OAEG;YACW,mBAAmB;IAuCjC;;;OAGG;YACW,WAAW;IA0BzB;;OAEG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM,GACrC,OAAO,CAAC;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,UAAU,EAAE,WAAW,CAAA;KAAE,CAAC;IAyCnD;;OAEG;IACH,uBAAuB,CACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,GAAG,GACb,IAAI;IA4CP;;OAEG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IA8G5B;;OAEG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqE5D;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDvD;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;IACH,aAAa,IAAI,UAAU;IA2B3B;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAMzC;;OAEG;IACH,OAAO,IAAI,IAAI;IAiBf,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,iBAAiB;YAMX,gBAAgB;YAuBhB,mBAAmB;YAuCnB,qBAAqB;IA6BnC,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,iBAAiB;CAM1B;AAED,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,581 @@
1
+ /**
2
+ * BrowserHnswIndexService - Client-Side HNSW Vector Indexing
3
+ *
4
+ * Browser-compatible HNSW vector indexing with IndexedDB persistence.
5
+ * Uses hnswlib-wasm for WASM-based vector search (10-50x faster than pure JS).
6
+ *
7
+ * Features:
8
+ * - WASM-powered HNSW algorithm for fast vector search
9
+ * - IndexedDB persistence (survives page refresh)
10
+ * - Intelligent batching and caching
11
+ * - Metadata filtering support
12
+ * - Zero backend dependencies
13
+ */
14
+ /**
15
+ * Browser-compatible HNSW vector indexing service with IndexedDB persistence
16
+ */
17
+ export class BrowserHnswIndexService {
18
+ constructor(indexConfig = {}, batchConfig = {}) {
19
+ this.indexCache = new Map();
20
+ this.batchJobs = new Map();
21
+ // Debug mode - enable with DEBUG_HNSW=true in environment
22
+ this.debug = typeof process !== 'undefined' && process.env?.DEBUG_HNSW === 'true';
23
+ // Default HNSW configuration
24
+ this.indexConfig = {
25
+ dimension: indexConfig.dimension || 3072,
26
+ maxElements: indexConfig.maxElements || 10000,
27
+ efConstruction: indexConfig.efConstruction || 200,
28
+ m: indexConfig.m || 16,
29
+ randomSeed: indexConfig.randomSeed || 42,
30
+ spaceType: indexConfig.spaceType || 'cosine'
31
+ };
32
+ // Default batch configuration
33
+ this.config = {
34
+ maxBatchSize: batchConfig.maxBatchSize || 50,
35
+ batchDelayMs: batchConfig.batchDelayMs || 5000,
36
+ maxCacheSize: batchConfig.maxCacheSize || 100,
37
+ cacheTtlMs: batchConfig.cacheTtlMs || 30 * 60 * 1000 // 30 minutes
38
+ };
39
+ this.initializeIndexedDB();
40
+ this.startBatchProcessor();
41
+ this.startCacheCleanup();
42
+ }
43
+ /**
44
+ * Debug logging helper
45
+ */
46
+ debugLog(message, ...args) {
47
+ if (this.debug) {
48
+ console.log(`[HNSW DEBUG] ${message}`, ...args);
49
+ }
50
+ }
51
+ /**
52
+ * Initialize IndexedDB for persistence
53
+ */
54
+ async initializeIndexedDB() {
55
+ this.debugLog('Initializing IndexedDB...');
56
+ return new Promise((resolve, reject) => {
57
+ const request = indexedDB.open('HnswIndexDB', 1);
58
+ request.onerror = () => {
59
+ console.error('❌ Failed to open IndexedDB');
60
+ reject(new Error('Failed to open IndexedDB'));
61
+ };
62
+ request.onsuccess = () => {
63
+ this.db = request.result;
64
+ console.log('✅ IndexedDB initialized for HNSW indices');
65
+ this.debugLog('IndexedDB instance:', this.db);
66
+ resolve();
67
+ };
68
+ request.onupgradeneeded = (event) => {
69
+ const db = event.target.result;
70
+ this.debugLog('IndexedDB upgrade needed, creating object stores');
71
+ // Indices store
72
+ if (!db.objectStoreNames.contains('indices')) {
73
+ const indicesStore = db.createObjectStore('indices', { keyPath: 'userAddress' });
74
+ indicesStore.createIndex('lastUpdated', 'lastUpdated', { unique: false });
75
+ this.debugLog('Created "indices" object store');
76
+ }
77
+ // Vectors store
78
+ if (!db.objectStoreNames.contains('vectors')) {
79
+ const vectorsStore = db.createObjectStore('vectors', { keyPath: ['userAddress', 'vectorId'] });
80
+ vectorsStore.createIndex('userAddress', 'userAddress', { unique: false });
81
+ vectorsStore.createIndex('timestamp', 'timestamp', { unique: false });
82
+ this.debugLog('Created "vectors" object store');
83
+ }
84
+ };
85
+ });
86
+ }
87
+ /**
88
+ * Load hnswlib-wasm dynamically (only when needed)
89
+ * CRITICAL: Must await WASM initialization before using HierarchicalNSW constructor
90
+ */
91
+ async loadHnswLib() {
92
+ if (this.hnswLib) {
93
+ this.debugLog('hnswlib-wasm already loaded, returning cached instance');
94
+ return this.hnswLib;
95
+ }
96
+ try {
97
+ this.debugLog('Loading hnswlib-wasm...');
98
+ // Dynamic import for hnswlib-wasm
99
+ const { loadHnswlib } = await import('hnswlib-wasm');
100
+ this.debugLog('hnswlib-wasm module imported, initializing WASM...');
101
+ // CRITICAL: Wait for WASM module initialization
102
+ // Without this, HierarchicalNSW constructor will not be available
103
+ this.hnswLib = await loadHnswlib();
104
+ console.log('✅ hnswlib-wasm loaded and initialized successfully');
105
+ this.debugLog('hnswlib-wasm instance:', this.hnswLib);
106
+ this.debugLog('Available constructors:', Object.keys(this.hnswLib));
107
+ return this.hnswLib;
108
+ }
109
+ catch (error) {
110
+ console.error('❌ Failed to load hnswlib-wasm:', error);
111
+ throw new Error('hnswlib-wasm is required but not available. Install it with: npm install hnswlib-wasm');
112
+ }
113
+ }
114
+ /**
115
+ * Create a new HNSW index
116
+ */
117
+ async createIndex(userAddress, options = {}) {
118
+ try {
119
+ this.debugLog(`Creating index for user: ${userAddress}`);
120
+ const hnswLib = await this.loadHnswLib();
121
+ const config = { ...this.indexConfig, ...options };
122
+ console.log(`Creating new HNSW index for user ${userAddress} with dimensions ${config.dimension}`);
123
+ this.debugLog('Index config:', config);
124
+ // Create a new index (hnswlib-wasm API)
125
+ // Note: hnswlib-wasm requires 3 parameters: spaceName, numDimensions, autoSaveFilename
126
+ this.debugLog('Calling HierarchicalNSW constructor...');
127
+ const indexFilename = `hnsw_${userAddress.substring(0, 10)}.dat`;
128
+ const index = new hnswLib.HierarchicalNSW(config.spaceType, config.dimension, indexFilename);
129
+ this.debugLog('Index created, calling initIndex...');
130
+ index.initIndex(config.maxElements, config.m, config.efConstruction, config.randomSeed);
131
+ this.debugLog('Index initialized successfully');
132
+ // Create cache entry
133
+ this.indexCache.set(userAddress, {
134
+ index,
135
+ lastModified: new Date(),
136
+ pendingVectors: new Map(),
137
+ isDirty: false,
138
+ version: 1,
139
+ metadata: new Map()
140
+ });
141
+ this.debugLog(`Index cached for user: ${userAddress}`);
142
+ // Write index to Emscripten FS (hnswlib-wasm uses writeIndex, not serializeIndex)
143
+ await index.writeIndex(indexFilename);
144
+ this.debugLog(`Index written to Emscripten FS: ${indexFilename}`);
145
+ // Return empty buffer for compatibility (actual data is in Emscripten FS)
146
+ return { index, serialized: new ArrayBuffer(0) };
147
+ }
148
+ catch (error) {
149
+ console.error(`❌ Failed to create index for ${userAddress}:`, error);
150
+ throw this.createVectorError('INDEX_ERROR', `Failed to create index: ${error}`, error);
151
+ }
152
+ }
153
+ /**
154
+ * Add vector to index with batching (main entry point)
155
+ */
156
+ addVectorToIndexBatched(userAddress, vectorId, vector, metadata) {
157
+ try {
158
+ // Validate input
159
+ this.validateVector(vector);
160
+ // Get or create cache entry
161
+ let cacheEntry = this.indexCache.get(userAddress);
162
+ if (!cacheEntry) {
163
+ console.warn(`No cached index found for user ${userAddress}, will create on flush`);
164
+ // Create empty cache entry
165
+ cacheEntry = {
166
+ index: null,
167
+ lastModified: new Date(),
168
+ pendingVectors: new Map(),
169
+ isDirty: true,
170
+ version: 1,
171
+ metadata: new Map()
172
+ };
173
+ this.indexCache.set(userAddress, cacheEntry);
174
+ }
175
+ // Add to pending queue
176
+ cacheEntry.pendingVectors.set(vectorId, vector);
177
+ if (metadata) {
178
+ cacheEntry.metadata.set(vectorId, metadata);
179
+ }
180
+ cacheEntry.isDirty = true;
181
+ cacheEntry.lastModified = new Date();
182
+ // Schedule batch job
183
+ this.scheduleBatchJob(userAddress, vectorId, vector);
184
+ console.debug(`Vector ${vectorId} queued for batch processing for user ${userAddress}. Pending: ${cacheEntry.pendingVectors.size}`);
185
+ // Process immediately if batch size limit reached
186
+ if (cacheEntry.pendingVectors.size >= this.config.maxBatchSize) {
187
+ console.log(`Batch size limit reached for user ${userAddress}, processing immediately`);
188
+ setTimeout(() => this.flushPendingVectors(userAddress), 0);
189
+ }
190
+ }
191
+ catch (error) {
192
+ throw this.createVectorError('INDEX_ERROR', `Failed to queue vector: ${error}`, error);
193
+ }
194
+ }
195
+ /**
196
+ * Search vectors in the index (including pending vectors)
197
+ */
198
+ async searchVectors(userAddress, queryVector, options = {}) {
199
+ try {
200
+ this.debugLog(`🔍 searchVectors called for user: ${userAddress}`);
201
+ this.debugLog(`Query vector length: ${queryVector.length}, k: ${options.k || 10}`);
202
+ this.validateVector(queryVector);
203
+ let cacheEntry = this.indexCache.get(userAddress);
204
+ this.debugLog(`Cache entry exists: ${!!cacheEntry}, has index: ${!!cacheEntry?.index}`);
205
+ this.debugLog(`Pending vectors: ${cacheEntry?.pendingVectors?.size || 0}`);
206
+ // If no index exists, check if we have pending vectors that need flushing
207
+ if (!cacheEntry?.index && cacheEntry?.pendingVectors && cacheEntry.pendingVectors.size > 0) {
208
+ console.log(`🔍 No index but ${cacheEntry.pendingVectors.size} pending vectors - flushing first...`);
209
+ await this.flushPendingVectors(userAddress);
210
+ cacheEntry = this.indexCache.get(userAddress); // Refresh after flush
211
+ this.debugLog(`After flush - cache entry: ${!!cacheEntry}, has index: ${!!cacheEntry?.index}`);
212
+ }
213
+ if (!cacheEntry?.index) {
214
+ this.debugLog('No index in cache, attempting to load from IndexedDB...');
215
+ // Try to load from IndexedDB
216
+ const loaded = await this.loadIndexFromDB(userAddress);
217
+ this.debugLog(`loadIndexFromDB result: ${loaded}`);
218
+ if (!loaded) {
219
+ // Check one more time for pending vectors (edge case)
220
+ const entry = this.indexCache.get(userAddress);
221
+ if (entry?.pendingVectors && entry.pendingVectors.size > 0) {
222
+ console.log(`🔍 Found ${entry.pendingVectors.size} pending vectors - flushing before search...`);
223
+ await this.flushPendingVectors(userAddress);
224
+ // Reload after flush
225
+ cacheEntry = this.indexCache.get(userAddress);
226
+ this.debugLog(`After second flush - has index: ${!!cacheEntry?.index}`);
227
+ }
228
+ else {
229
+ // No index exists yet - this is normal for new users with no memories
230
+ console.info(`No index found for user ${userAddress} - returning empty results`);
231
+ this.debugLog('Returning empty search results');
232
+ return {
233
+ ids: [],
234
+ distances: [],
235
+ similarities: []
236
+ };
237
+ }
238
+ }
239
+ else {
240
+ cacheEntry = this.indexCache.get(userAddress);
241
+ this.debugLog(`Loaded from DB - has index: ${!!cacheEntry?.index}`);
242
+ }
243
+ }
244
+ const { k = 10, efSearch = 50, filter } = options;
245
+ this.debugLog(`Search parameters - k: ${k}, efSearch: ${efSearch}`);
246
+ const entry = this.indexCache.get(userAddress);
247
+ // Get index stats before search
248
+ if (entry.index && entry.index.getCurrentCount) {
249
+ const count = entry.index.getCurrentCount();
250
+ console.log(`📊 Index stats - Current count: ${count}, Pending: ${entry.pendingVectors.size}`);
251
+ this.debugLog(`Index current count: ${count}`);
252
+ if (count === 0) {
253
+ console.warn(`⚠️ Index exists but has 0 vectors! This may indicate an indexing problem.`);
254
+ }
255
+ }
256
+ // Set search parameters
257
+ if (entry.index.setEfSearch) {
258
+ entry.index.setEfSearch(efSearch);
259
+ this.debugLog(`Set efSearch to ${efSearch}`);
260
+ }
261
+ let searchIndex = entry.index;
262
+ // If there are pending vectors, create a temporary index for search
263
+ if (entry.pendingVectors.size > 0) {
264
+ this.debugLog(`Creating temporary index with ${entry.pendingVectors.size} pending vectors`);
265
+ searchIndex = await this.cloneIndexWithPending(entry, queryVector.length);
266
+ }
267
+ // Perform search
268
+ this.debugLog('Calling searchKnn...');
269
+ const result = searchIndex.searchKnn(queryVector, k, undefined);
270
+ this.debugLog(`searchKnn returned - neighbors: ${result?.neighbors?.length || 0}`);
271
+ // Apply metadata filter if provided
272
+ let filteredIds = result.neighbors || result.indices || [];
273
+ let filteredDistances = result.distances;
274
+ if (filter && entry.metadata.size > 0) {
275
+ const filtered = this.applyMetadataFilter(filteredIds, filteredDistances, entry.metadata, filter);
276
+ filteredIds = filtered.ids;
277
+ filteredDistances = filtered.distances;
278
+ }
279
+ // Convert distances to similarities (for cosine distance)
280
+ const similarities = this.indexConfig.spaceType === 'cosine'
281
+ ? filteredDistances.map((dist) => 1 - dist)
282
+ : filteredDistances.map((dist) => 1 / (1 + dist));
283
+ return {
284
+ ids: filteredIds,
285
+ distances: filteredDistances,
286
+ similarities
287
+ };
288
+ }
289
+ catch (error) {
290
+ throw this.createVectorError('SEARCH_ERROR', `Search failed: ${error}`, error);
291
+ }
292
+ }
293
+ /**
294
+ * Load index from IndexedDB via Emscripten FS
295
+ */
296
+ async loadIndexFromDB(userAddress) {
297
+ if (!this.db) {
298
+ await this.initializeIndexedDB();
299
+ }
300
+ return new Promise((resolve, reject) => {
301
+ const transaction = this.db.transaction(['indices'], 'readonly');
302
+ const store = transaction.objectStore('indices');
303
+ const request = store.get(userAddress);
304
+ request.onsuccess = async () => {
305
+ const result = request.result;
306
+ if (!result) {
307
+ resolve(false);
308
+ return;
309
+ }
310
+ try {
311
+ const hnswLib = await this.loadHnswLib();
312
+ const indexFilename = `hnsw_${userAddress.substring(0, 10)}.dat`;
313
+ // Sync from IndexedDB to Emscripten FS
314
+ await hnswLib.EmscriptenFileSystemManager.syncFS(true, () => {
315
+ // Callback when sync completes
316
+ });
317
+ // Check if file exists
318
+ if (!hnswLib.EmscriptenFileSystemManager.checkFileExists(indexFilename)) {
319
+ console.log(`Index file ${indexFilename} not found in Emscripten FS`);
320
+ resolve(false);
321
+ return;
322
+ }
323
+ // Create index and load from file
324
+ const index = new hnswLib.HierarchicalNSW(this.indexConfig.spaceType, this.indexConfig.dimension, indexFilename);
325
+ // Read the index from file
326
+ await index.readIndex(indexFilename, this.indexConfig.maxElements);
327
+ // Convert metadata string keys back to numbers (vectorId)
328
+ const metadataEntries = Object.entries(result.metadata || {})
329
+ .map(([k, v]) => [Number(k), v]);
330
+ // Cache the loaded index
331
+ this.indexCache.set(userAddress, {
332
+ index,
333
+ lastModified: new Date(result.lastUpdated),
334
+ pendingVectors: new Map(),
335
+ isDirty: false,
336
+ version: result.version,
337
+ metadata: new Map(metadataEntries)
338
+ });
339
+ console.log(`✅ Successfully loaded index for user ${userAddress} from IndexedDB`);
340
+ resolve(true);
341
+ }
342
+ catch (error) {
343
+ console.error('Failed to load index:', error);
344
+ reject(error);
345
+ }
346
+ };
347
+ request.onerror = () => reject(new Error('Failed to load index from IndexedDB'));
348
+ });
349
+ }
350
+ /**
351
+ * Save index to IndexedDB via Emscripten FS
352
+ */
353
+ async saveIndexToDB(userAddress) {
354
+ const cacheEntry = this.indexCache.get(userAddress);
355
+ if (!cacheEntry?.index) {
356
+ throw new Error(`No index found for user ${userAddress}`);
357
+ }
358
+ if (!this.db) {
359
+ await this.initializeIndexedDB();
360
+ }
361
+ try {
362
+ const hnswLib = await this.loadHnswLib();
363
+ const indexFilename = `hnsw_${userAddress.substring(0, 10)}.dat`;
364
+ // Write index to Emscripten FS
365
+ await cacheEntry.index.writeIndex(indexFilename);
366
+ // Sync from Emscripten FS to IndexedDB
367
+ await hnswLib.EmscriptenFileSystemManager.syncFS(false, () => {
368
+ // Callback when sync completes
369
+ });
370
+ // Store metadata in our IndexedDB (separate from Emscripten's IDBFS)
371
+ return new Promise((resolve, reject) => {
372
+ const transaction = this.db.transaction(['indices'], 'readwrite');
373
+ const store = transaction.objectStore('indices');
374
+ const data = {
375
+ userAddress,
376
+ indexData: new ArrayBuffer(0), // Actual data is in Emscripten FS/IDBFS
377
+ metadata: Object.fromEntries(cacheEntry.metadata),
378
+ version: cacheEntry.version,
379
+ lastUpdated: Date.now()
380
+ };
381
+ const request = store.put(data);
382
+ request.onsuccess = () => {
383
+ console.log(`✅ Index saved to IndexedDB for user ${userAddress}`);
384
+ resolve();
385
+ };
386
+ request.onerror = () => reject(new Error('Failed to save index metadata to IndexedDB'));
387
+ });
388
+ }
389
+ catch (error) {
390
+ console.error(`Failed to save index for user ${userAddress}:`, error);
391
+ throw error;
392
+ }
393
+ }
394
+ /**
395
+ * Force flush all pending vectors for a user
396
+ */
397
+ async forceFlush(userAddress) {
398
+ await this.flushPendingVectors(userAddress);
399
+ }
400
+ /**
401
+ * Get cache statistics
402
+ */
403
+ getCacheStats() {
404
+ const cacheEntries = [];
405
+ let totalPendingVectors = 0;
406
+ for (const [userAddress, entry] of this.indexCache.entries()) {
407
+ const pendingCount = entry.pendingVectors.size;
408
+ totalPendingVectors += pendingCount;
409
+ cacheEntries.push({
410
+ userAddress,
411
+ pendingVectors: pendingCount,
412
+ lastModified: entry.lastModified,
413
+ isDirty: entry.isDirty,
414
+ hasIndex: !!entry.index
415
+ });
416
+ }
417
+ return {
418
+ totalUsers: this.indexCache.size,
419
+ totalPendingVectors,
420
+ activeBatchJobs: this.batchJobs.size,
421
+ cacheHitRate: 0, // TODO: Implement hit rate tracking
422
+ averageBatchSize: totalPendingVectors / Math.max(1, this.indexCache.size),
423
+ averageProcessingTime: 0 // TODO: Implement timing tracking
424
+ };
425
+ }
426
+ /**
427
+ * Clear user index and cache
428
+ */
429
+ clearUserIndex(userAddress) {
430
+ this.indexCache.delete(userAddress);
431
+ this.batchJobs.delete(userAddress);
432
+ console.log(`Cleared index cache for user ${userAddress}`);
433
+ }
434
+ /**
435
+ * Cleanup resources
436
+ */
437
+ destroy() {
438
+ if (this.batchProcessor) {
439
+ clearInterval(this.batchProcessor);
440
+ }
441
+ if (this.cacheCleanup) {
442
+ clearInterval(this.cacheCleanup);
443
+ }
444
+ this.indexCache.clear();
445
+ this.batchJobs.clear();
446
+ if (this.db) {
447
+ this.db.close();
448
+ }
449
+ }
450
+ // ==================== PRIVATE METHODS ====================
451
+ scheduleBatchJob(userAddress, vectorId, vector) {
452
+ let batchJob = this.batchJobs.get(userAddress);
453
+ if (!batchJob) {
454
+ batchJob = {
455
+ userAddress,
456
+ vectors: new Map(),
457
+ scheduledAt: new Date()
458
+ };
459
+ this.batchJobs.set(userAddress, batchJob);
460
+ }
461
+ batchJob.vectors.set(vectorId, vector);
462
+ }
463
+ startBatchProcessor() {
464
+ this.batchProcessor = window.setInterval(async () => {
465
+ await this.processBatchJobs();
466
+ }, this.config.batchDelayMs);
467
+ }
468
+ startCacheCleanup() {
469
+ this.cacheCleanup = window.setInterval(() => {
470
+ this.cleanupCache();
471
+ }, 5 * 60 * 1000); // Every 5 minutes
472
+ }
473
+ async processBatchJobs() {
474
+ const now = Date.now();
475
+ const jobsToProcess = [];
476
+ for (const [userAddress, job] of this.batchJobs.entries()) {
477
+ const timeSinceScheduled = now - job.scheduledAt.getTime();
478
+ const cacheEntry = this.indexCache.get(userAddress);
479
+ if (timeSinceScheduled >= this.config.batchDelayMs ||
480
+ (cacheEntry && cacheEntry.pendingVectors.size >= this.config.maxBatchSize)) {
481
+ jobsToProcess.push(userAddress);
482
+ }
483
+ }
484
+ for (const userAddress of jobsToProcess) {
485
+ try {
486
+ await this.flushPendingVectors(userAddress);
487
+ }
488
+ catch (error) {
489
+ console.error(`Error processing batch job for user ${userAddress}:`, error);
490
+ }
491
+ }
492
+ }
493
+ async flushPendingVectors(userAddress) {
494
+ const cacheEntry = this.indexCache.get(userAddress);
495
+ if (!cacheEntry || cacheEntry.pendingVectors.size === 0) {
496
+ return;
497
+ }
498
+ console.log(`Flushing ${cacheEntry.pendingVectors.size} pending vectors for user ${userAddress}`);
499
+ try {
500
+ // Create index if it doesn't exist
501
+ if (!cacheEntry.index) {
502
+ const { index } = await this.createIndex(userAddress);
503
+ cacheEntry.index = index;
504
+ }
505
+ // Add all pending vectors to the index
506
+ for (const [vectorId, vector] of cacheEntry.pendingVectors.entries()) {
507
+ cacheEntry.index.addPoint(vector, vectorId, false);
508
+ }
509
+ // Save to IndexedDB
510
+ await this.saveIndexToDB(userAddress);
511
+ // Clear pending vectors
512
+ cacheEntry.pendingVectors.clear();
513
+ cacheEntry.isDirty = false;
514
+ cacheEntry.lastModified = new Date();
515
+ cacheEntry.version++;
516
+ // Remove batch job
517
+ this.batchJobs.delete(userAddress);
518
+ console.log(`Successfully flushed vectors for user ${userAddress}`);
519
+ }
520
+ catch (error) {
521
+ console.error(`Error flushing vectors for user ${userAddress}:`, error);
522
+ throw error;
523
+ }
524
+ }
525
+ async cloneIndexWithPending(cacheEntry, dimensions) {
526
+ const hnswLib = await this.loadHnswLib();
527
+ const tempFilename = `temp_clone_${Date.now()}.dat`;
528
+ // Save original index to temp file
529
+ await cacheEntry.index.writeIndex(tempFilename);
530
+ // Create clone and load from temp file
531
+ const clonedIndex = new hnswLib.HierarchicalNSW(this.indexConfig.spaceType, dimensions, tempFilename);
532
+ clonedIndex.initIndex(this.indexConfig.maxElements, this.indexConfig.m, this.indexConfig.efConstruction, this.indexConfig.randomSeed);
533
+ await clonedIndex.readIndex(tempFilename, this.indexConfig.maxElements);
534
+ // Add pending vectors
535
+ for (const [vectorId, vector] of cacheEntry.pendingVectors.entries()) {
536
+ clonedIndex.addPoint(vector, vectorId, false);
537
+ }
538
+ return clonedIndex;
539
+ }
540
+ applyMetadataFilter(ids, distances, metadata, filter) {
541
+ const filteredIds = [];
542
+ const filteredDistances = [];
543
+ for (let i = 0; i < ids.length; i++) {
544
+ const vectorId = ids[i];
545
+ const vectorMetadata = metadata.get(vectorId);
546
+ if (!vectorMetadata || filter(vectorMetadata)) {
547
+ filteredIds.push(vectorId);
548
+ filteredDistances.push(distances[i]);
549
+ }
550
+ }
551
+ return { ids: filteredIds, distances: filteredDistances };
552
+ }
553
+ cleanupCache() {
554
+ const now = Date.now();
555
+ for (const [userAddress, entry] of this.indexCache.entries()) {
556
+ if (now - entry.lastModified.getTime() > this.config.cacheTtlMs) {
557
+ console.debug(`Removing stale cache entry for user ${userAddress}`);
558
+ this.indexCache.delete(userAddress);
559
+ }
560
+ }
561
+ }
562
+ validateVector(vector) {
563
+ if (!Array.isArray(vector) || vector.length === 0) {
564
+ throw new Error('Vector must be a non-empty array');
565
+ }
566
+ if (vector.some(v => typeof v !== 'number' || !isFinite(v))) {
567
+ throw new Error('Vector must contain only finite numbers');
568
+ }
569
+ if (vector.length !== this.indexConfig.dimension) {
570
+ throw new Error(`Vector dimension mismatch: expected ${this.indexConfig.dimension}, got ${vector.length}`);
571
+ }
572
+ }
573
+ createVectorError(code, message, details) {
574
+ const error = new Error(message);
575
+ error.code = code;
576
+ error.details = details;
577
+ return error;
578
+ }
579
+ }
580
+ export default BrowserHnswIndexService;
581
+ //# sourceMappingURL=BrowserHnswIndexService.js.map