@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,1180 @@
1
+ /**
2
+ * Simple PDW Client - Easy-to-use API for Personal Data Wallet
3
+ *
4
+ * Provides a simple function-based API without React dependencies.
5
+ * Works in Node.js, browsers, serverless functions, and CLI tools.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { createPDWClient } from 'personal-data-wallet-sdk';
10
+ * import { Ed25519Keypair } from '@mysten/sui/keypairs/ed25519';
11
+ *
12
+ * const keypair = Ed25519Keypair.fromSecretKey(process.env.PRIVATE_KEY);
13
+ * const pdw = await createPDWClient({
14
+ * signer: keypair,
15
+ * userAddress: keypair.getPublicKey().toSuiAddress(),
16
+ * network: 'testnet',
17
+ * geminiApiKey: process.env.GEMINI_API_KEY
18
+ * });
19
+ *
20
+ * // Simple API - no hooks needed!
21
+ * await pdw.memory.create('I love TypeScript');
22
+ * const results = await pdw.search.vector('programming');
23
+ * const answer = await pdw.chat.send(sessionId, 'What do I like?');
24
+ * ```
25
+ *
26
+ * @module client/SimplePDWClient
27
+ */
28
+
29
+ import { SuiClient, getFullnodeUrl } from '@mysten/sui/client';
30
+ import type { Keypair } from '@mysten/sui/cryptography';
31
+ import type { UnifiedSigner, WalletAdapter } from './signers';
32
+ import { KeypairSigner, WalletAdapterSigner } from './signers';
33
+ import { StorageService } from '../services/StorageService';
34
+ import { EmbeddingService } from '../services/EmbeddingService';
35
+ import { MemoryService } from '../services/MemoryService';
36
+ import { QueryService } from '../services/QueryService';
37
+ import { ClassifierService } from '../services/ClassifierService';
38
+ import { VectorService } from '../services/VectorService';
39
+ import { BatchService } from '../services/BatchService';
40
+ import { MemoryAnalyticsService } from '../retrieval/MemoryAnalyticsService';
41
+ import { EncryptionService } from '../services/EncryptionService';
42
+ import { PermissionService } from '../access/PermissionService';
43
+ import { TransactionService } from '../services/TransactionService';
44
+ import { PipelineManager } from '../pipeline/PipelineManager';
45
+ import { MemoryNamespace } from './namespaces/MemoryNamespace';
46
+ import { SearchNamespace } from './namespaces/SearchNamespace';
47
+ import { ClassifyNamespace } from './namespaces/ClassifyNamespace';
48
+ import { GraphNamespace } from './namespaces/GraphNamespace';
49
+ import { EmbeddingsNamespace } from './namespaces/EmbeddingsNamespace';
50
+ import { BatchNamespace } from './namespaces/BatchNamespace';
51
+ import { CacheNamespace } from './namespaces/CacheNamespace';
52
+ import { IndexNamespace } from './namespaces/IndexNamespace';
53
+ import { AnalyticsNamespace } from './namespaces/AnalyticsNamespace';
54
+ import { EncryptionNamespace } from './namespaces/EncryptionNamespace';
55
+ import { PermissionsNamespace } from './namespaces/PermissionsNamespace';
56
+ import { TxNamespace } from './namespaces/TxNamespace';
57
+ import { PipelineNamespace } from './namespaces/PipelineNamespace';
58
+ import { CapabilityNamespace } from './namespaces/CapabilityNamespace';
59
+ import { ContextNamespace } from './namespaces/ContextNamespace';
60
+ import { WalletNamespace } from './namespaces/WalletNamespace';
61
+ // Consolidated namespaces (new unified API)
62
+ import { AINamespace } from './namespaces/consolidated/AINamespace';
63
+ import { SecurityNamespace } from './namespaces/consolidated/SecurityNamespace';
64
+ import { BlockchainNamespace } from './namespaces/consolidated/BlockchainNamespace';
65
+ import { StorageNamespace as ConsolidatedStorageNamespace } from './namespaces/consolidated/StorageNamespace';
66
+ import type { PDWConfig, ClientWithCoreApi } from '../types';
67
+ import { ClientMemoryManager } from './ClientMemoryManager';
68
+ import { ViewService } from '../services/ViewService';
69
+ import { CapabilityService } from '../services/CapabilityService';
70
+ import { MemoryIndexService } from '../services/MemoryIndexService';
71
+ import { IndexManager, type IndexManagerOptions, type IndexProgressCallback } from '../services/IndexManager';
72
+ import { createHnswService } from '../vector/createHnswService';
73
+ import type { IHnswService } from '../vector/IHnswService';
74
+
75
+ /**
76
+ * Configuration for Simple PDW Client
77
+ */
78
+ export interface SimplePDWConfig {
79
+ /**
80
+ * Signer: Either Keypair (Node.js) or WalletAdapter (browser)
81
+ */
82
+ signer: Keypair | WalletAdapter | UnifiedSigner;
83
+
84
+ /**
85
+ * User's Sui address
86
+ * If not provided, will be derived from signer
87
+ */
88
+ userAddress?: string;
89
+
90
+ /**
91
+ * Network to use (auto-configures endpoints)
92
+ * @default 'testnet'
93
+ */
94
+ network?: 'testnet' | 'mainnet' | 'devnet';
95
+
96
+ /**
97
+ * Gemini API key for AI features (embeddings, chat, classification)
98
+ * @deprecated Use `embedding.apiKey` instead for more flexibility
99
+ */
100
+ geminiApiKey?: string;
101
+
102
+ /**
103
+ * Optional: Embedding configuration
104
+ * Allows customizing the embedding provider, model, and dimensions
105
+ */
106
+ embedding?: {
107
+ /**
108
+ * Embedding provider
109
+ * - google: Direct Google AI API
110
+ * - openai: Direct OpenAI API
111
+ * - openrouter: OpenRouter API gateway (recommended - supports multiple models)
112
+ * - cohere: Direct Cohere API
113
+ * @default 'google'
114
+ */
115
+ provider?: 'google' | 'openai' | 'openrouter' | 'cohere';
116
+ /**
117
+ * API key for the embedding provider
118
+ * Falls back to geminiApiKey for backward compatibility
119
+ */
120
+ apiKey?: string;
121
+ /**
122
+ * Model name to use
123
+ * - Google: 'text-embedding-004', 'gemini-embedding-001'
124
+ * - OpenAI: 'text-embedding-3-small', 'text-embedding-3-large'
125
+ * - OpenRouter: 'google/gemini-embedding-001', 'openai/text-embedding-3-small', etc.
126
+ * - Cohere: 'embed-english-v3.0', 'embed-multilingual-v3.0'
127
+ * @default 'text-embedding-004' (for google), 'google/gemini-embedding-001' (for openrouter)
128
+ */
129
+ modelName?: string;
130
+ /**
131
+ * Embedding dimensions
132
+ * @default 768 (for google/openrouter), 1536 (for openai)
133
+ */
134
+ dimensions?: number;
135
+ };
136
+
137
+ /**
138
+ * Optional: Detailed Walrus configuration
139
+ */
140
+ walrus?: {
141
+ aggregator?: string;
142
+ publisher?: string;
143
+ network?: 'testnet' | 'mainnet';
144
+ };
145
+
146
+ /**
147
+ * Optional: Detailed Sui configuration
148
+ */
149
+ sui?: {
150
+ network?: 'testnet' | 'mainnet' | 'devnet';
151
+ packageId?: string;
152
+ rpcUrl?: string;
153
+ };
154
+
155
+ /**
156
+ * Optional: AI model configuration for chat and analysis
157
+ */
158
+ ai?: {
159
+ /**
160
+ * Chat/analysis model to use
161
+ * Can be OpenRouter format (e.g., 'google/gemini-2.5-flash') or direct provider format
162
+ * @default process.env.AI_CHAT_MODEL || 'google/gemini-2.5-flash'
163
+ */
164
+ chatModel?: string;
165
+ /**
166
+ * API key for chat model (if different from embedding)
167
+ * For OpenRouter, use OPENROUTER_API_KEY
168
+ */
169
+ apiKey?: string;
170
+ };
171
+
172
+ /**
173
+ * Optional: Feature flags
174
+ */
175
+ features?: {
176
+ enableEncryption?: boolean;
177
+ enableLocalIndexing?: boolean;
178
+ enableKnowledgeGraph?: boolean;
179
+ };
180
+
181
+ /**
182
+ * Optional: Index manager options for hybrid restore
183
+ */
184
+ indexManager?: {
185
+ /** Auto-save interval in ms (default: 5 minutes) */
186
+ autoSaveInterval?: number;
187
+ /** Enable auto-save (default: true) */
188
+ enableAutoSave?: boolean;
189
+ /** Progress callback for index operations */
190
+ onProgress?: IndexProgressCallback;
191
+ };
192
+ }
193
+
194
+ /**
195
+ * Default package IDs by network
196
+ */
197
+ const DEFAULT_PACKAGE_IDS: Record<string, string> = {
198
+ testnet: process.env.NEXT_PUBLIC_PACKAGE_ID || process.env.PACKAGE_ID || '0xf63a61b8d056ffb2e0efdd057445e15c9c64a1c6f2d13516812d7031b7e7dc9e',
199
+ mainnet: '', // TODO: Add mainnet package ID when deployed
200
+ devnet: ''
201
+ };
202
+
203
+ /**
204
+ * Resolved configuration after applying defaults
205
+ */
206
+ interface ResolvedConfig {
207
+ signer: UnifiedSigner;
208
+ userAddress: string;
209
+ walrus: {
210
+ aggregator: string;
211
+ publisher: string;
212
+ network: 'testnet' | 'mainnet';
213
+ };
214
+ sui: {
215
+ network: 'testnet' | 'mainnet' | 'devnet';
216
+ packageId: string;
217
+ rpcUrl: string;
218
+ client: SuiClient;
219
+ };
220
+ ai: {
221
+ geminiApiKey?: string;
222
+ chatModel: string;
223
+ apiKey?: string;
224
+ };
225
+ embedding: {
226
+ provider: 'google' | 'openai' | 'openrouter' | 'cohere';
227
+ apiKey?: string;
228
+ modelName: string;
229
+ dimensions: number;
230
+ };
231
+ features: {
232
+ enableEncryption: boolean;
233
+ enableLocalIndexing: boolean;
234
+ enableKnowledgeGraph: boolean;
235
+ };
236
+ indexManager?: {
237
+ autoSaveInterval?: number;
238
+ enableAutoSave?: boolean;
239
+ onProgress?: IndexProgressCallback;
240
+ };
241
+ }
242
+
243
+ /**
244
+ * Service container for dependency injection
245
+ */
246
+ export interface ServiceContainer {
247
+ config: ResolvedConfig;
248
+ storage: StorageService;
249
+ embedding?: EmbeddingService;
250
+ memory: MemoryService;
251
+ query: QueryService;
252
+ classifier?: ClassifierService;
253
+ vector?: VectorService;
254
+ memoryIndex?: MemoryIndexService; // For HNSW indexing with persistence
255
+ batchService?: BatchService; // For batch operations and caching
256
+ analytics?: MemoryAnalyticsService; // For memory insights
257
+ encryption?: EncryptionService; // For SEAL encryption
258
+ permissions?: PermissionService; // For access control
259
+ tx?: TransactionService; // For transaction utilities
260
+ pipeline?: PipelineManager; // For processing pipelines
261
+ clientMemoryManager?: ClientMemoryManager; // For full create pipeline
262
+ viewService?: ViewService; // For read operations
263
+ capability?: CapabilityService; // For capability-based access control
264
+ indexManager?: IndexManager; // For hybrid index persistence
265
+ /** Shared HNSW service instance (singleton) */
266
+ sharedHnswService?: IHnswService;
267
+ }
268
+
269
+ /**
270
+ * Simple PDW Client
271
+ *
272
+ * Main client class providing easy-to-use API for all PDW operations
273
+ */
274
+ export class SimplePDWClient {
275
+ private config: ResolvedConfig;
276
+ private services: ServiceContainer;
277
+ private initialized: boolean = false;
278
+ private initPromise: Promise<void> | null = null;
279
+ /** Shared HNSW service instance - created once and shared across all services */
280
+ private sharedHnswService: IHnswService | null = null;
281
+ private sharedHnswServicePromise: Promise<IHnswService> | null = null;
282
+
283
+ constructor(config: SimplePDWConfig) {
284
+ // Resolve configuration with defaults
285
+ this.config = this.resolveConfig(config);
286
+
287
+ // Initialize services
288
+ this.services = this.initializeServices(this.config);
289
+
290
+ // Start async initialization (WASM loading, etc.)
291
+ this.initPromise = this.initialize();
292
+ }
293
+
294
+ /**
295
+ * Resolve configuration with smart defaults
296
+ */
297
+ private resolveConfig(config: SimplePDWConfig): ResolvedConfig {
298
+ const network = config.network || config.sui?.network || 'testnet';
299
+
300
+ // Create unified signer
301
+ let signer: UnifiedSigner;
302
+ if ('signAndExecuteTransaction' in config.signer && 'signPersonalMessage' in config.signer && 'getAddress' in config.signer) {
303
+ // Already a UnifiedSigner
304
+ signer = config.signer as UnifiedSigner;
305
+ } else if ('getPublicKey' in config.signer && 'signPersonalMessage' in config.signer) {
306
+ // It's a Keypair
307
+ const suiClient = new SuiClient({
308
+ url: config.sui?.rpcUrl || getFullnodeUrl(network)
309
+ });
310
+ signer = new KeypairSigner(config.signer as Keypair, suiClient);
311
+ } else {
312
+ // It's a WalletAdapter
313
+ signer = new WalletAdapterSigner(config.signer as WalletAdapter);
314
+ }
315
+
316
+ // Derive user address if not provided
317
+ const userAddress = config.userAddress || signer.getAddress();
318
+
319
+ // Create Sui client
320
+ const suiClient = new SuiClient({
321
+ url: config.sui?.rpcUrl || getFullnodeUrl(network)
322
+ });
323
+
324
+ // Resolve embedding configuration with defaults
325
+ const embeddingProvider = config.embedding?.provider || 'google';
326
+ const embeddingApiKey = config.embedding?.apiKey || config.geminiApiKey;
327
+ const embeddingModelName = config.embedding?.modelName || this.getDefaultEmbeddingModel(embeddingProvider);
328
+ const embeddingDimensions = config.embedding?.dimensions || this.getDefaultEmbeddingDimensions(embeddingProvider);
329
+
330
+ return {
331
+ signer,
332
+ userAddress,
333
+ walrus: {
334
+ aggregator: config.walrus?.aggregator ||
335
+ `https://aggregator.walrus-${network}.walrus.space`,
336
+ publisher: config.walrus?.publisher ||
337
+ `https://publisher.walrus-${network}.walrus.space`,
338
+ network: (config.walrus?.network || network) as 'testnet' | 'mainnet'
339
+ },
340
+ sui: {
341
+ network,
342
+ packageId: config.sui?.packageId || DEFAULT_PACKAGE_IDS[network],
343
+ rpcUrl: config.sui?.rpcUrl || getFullnodeUrl(network),
344
+ client: suiClient
345
+ },
346
+ ai: {
347
+ geminiApiKey: config.geminiApiKey,
348
+ chatModel: config.ai?.chatModel || process.env.AI_CHAT_MODEL || 'google/gemini-2.5-flash',
349
+ apiKey: config.ai?.apiKey || process.env.OPENROUTER_API_KEY || config.geminiApiKey
350
+ },
351
+ embedding: {
352
+ provider: embeddingProvider,
353
+ apiKey: embeddingApiKey,
354
+ modelName: embeddingModelName,
355
+ dimensions: embeddingDimensions
356
+ },
357
+ features: {
358
+ enableEncryption: config.features?.enableEncryption ?? false,
359
+ enableLocalIndexing: config.features?.enableLocalIndexing ?? true,
360
+ enableKnowledgeGraph: config.features?.enableKnowledgeGraph ?? true
361
+ },
362
+ indexManager: config.indexManager
363
+ };
364
+ }
365
+
366
+ /**
367
+ * Get default embedding model for provider
368
+ */
369
+ private getDefaultEmbeddingModel(provider: string): string {
370
+ switch (provider) {
371
+ case 'google':
372
+ return 'text-embedding-004';
373
+ case 'openai':
374
+ return 'text-embedding-3-small';
375
+ case 'openrouter':
376
+ return 'google/gemini-embedding-001';
377
+ case 'cohere':
378
+ return 'embed-english-v3.0';
379
+ default:
380
+ return 'text-embedding-004';
381
+ }
382
+ }
383
+
384
+ /**
385
+ * Get default embedding dimensions for provider
386
+ */
387
+ private getDefaultEmbeddingDimensions(provider: string): number {
388
+ switch (provider) {
389
+ case 'google':
390
+ return 3072;
391
+ case 'openai':
392
+ return 1536;
393
+ case 'openrouter':
394
+ return 3072; // google/gemini-embedding-001 returns 3072 dimensions
395
+ case 'cohere':
396
+ return 1024;
397
+ default:
398
+ return 3072;
399
+ }
400
+ }
401
+
402
+ /**
403
+ * Create ClientWithCoreApi adapter from SuiClient
404
+ */
405
+ private createClientAdapter(suiClient: SuiClient): ClientWithCoreApi {
406
+ return {
407
+ // Expose the underlying SuiClient for services that need it (e.g., ViewService)
408
+ client: suiClient,
409
+ core: {
410
+ getObject: (objectId: string) => suiClient.getObject({ id: objectId, options: { showContent: true } }),
411
+ getObjects: (objectIds: string[]) => Promise.all(objectIds.map(id => suiClient.getObject({ id, options: { showContent: true } }))),
412
+ executeTransaction: (tx: any) => suiClient.signAndExecuteTransaction(tx)
413
+ },
414
+ $extend: <T>(extension: T) => ({ ...suiClient, ...extension })
415
+ } as ClientWithCoreApi;
416
+ }
417
+
418
+ /**
419
+ * Initialize all services with proper dependency injection
420
+ */
421
+ private initializeServices(config: ResolvedConfig): ServiceContainer {
422
+ const { sui, walrus, ai, embedding: embeddingConfig, userAddress } = config;
423
+
424
+ // 1. Storage Service (foundation)
425
+ const storage = new StorageService({
426
+ packageId: sui.packageId,
427
+ walrusAggregatorUrl: walrus.aggregator,
428
+ walrusPublisherUrl: walrus.publisher,
429
+ suiClient: sui.client,
430
+ network: walrus.network,
431
+ epochs: 3,
432
+ useUploadRelay: true
433
+ });
434
+
435
+ // 2. Embedding Service (if API key provided)
436
+ let embedding: EmbeddingService | undefined;
437
+ if (embeddingConfig.apiKey) {
438
+ embedding = new EmbeddingService({
439
+ provider: embeddingConfig.provider,
440
+ apiKey: embeddingConfig.apiKey,
441
+ modelName: embeddingConfig.modelName,
442
+ dimensions: embeddingConfig.dimensions
443
+ });
444
+
445
+ console.log(`✅ Embedding Service initialized: ${embeddingConfig.provider}/${embeddingConfig.modelName} (${embeddingConfig.dimensions}d)`);
446
+
447
+ // Connect to storage for search
448
+ storage.initializeSearch(embedding);
449
+ }
450
+
451
+ // 3. Create client adapter for services requiring ClientWithCoreApi
452
+ const clientAdapter = this.createClientAdapter(sui.client);
453
+
454
+ // 4. Memory Service (blockchain operations)
455
+ const pdwConfig: PDWConfig = {
456
+ packageId: sui.packageId
457
+ };
458
+ const memory = new MemoryService(clientAdapter, pdwConfig);
459
+
460
+ // 5. Classifier Service (if AI enabled)
461
+ let classifier: ClassifierService | undefined;
462
+ if (embeddingConfig.apiKey) {
463
+ classifier = new ClassifierService(
464
+ clientAdapter, // client
465
+ pdwConfig, // config
466
+ embedding, // embeddingService
467
+ embeddingConfig.apiKey // aiApiKey
468
+ );
469
+ }
470
+
471
+ // 9. Create shared HNSW service (singleton for all vector operations)
472
+ // Note: This starts async initialization - services will wait for it when needed
473
+ let sharedHnswService: IHnswService | undefined;
474
+ if (config.features.enableLocalIndexing) {
475
+ // Start HNSW initialization early, store promise for later await
476
+ this.sharedHnswServicePromise = createHnswService({
477
+ indexConfig: {
478
+ dimension: embeddingConfig.dimensions,
479
+ maxElements: 10000,
480
+ efConstruction: 200,
481
+ m: 16
482
+ },
483
+ batchConfig: {
484
+ maxBatchSize: 100,
485
+ batchDelayMs: 5000
486
+ }
487
+ });
488
+ console.log('✅ Shared HNSW service initialization started (singleton for all vector services)');
489
+ }
490
+
491
+ // 9a. Vector Service (if local indexing enabled)
492
+ // Note: HNSW service will be injected after async initialization
493
+ let vector: VectorService | undefined;
494
+ if (config.features.enableLocalIndexing && embedding && embeddingConfig.apiKey) {
495
+ vector = new VectorService(
496
+ {
497
+ embedding: {
498
+ apiKey: embeddingConfig.apiKey,
499
+ model: embeddingConfig.modelName,
500
+ dimensions: embeddingConfig.dimensions
501
+ },
502
+ index: {
503
+ maxElements: 10000,
504
+ m: 16,
505
+ efConstruction: 200
506
+ }
507
+ // Note: hnswService will be set after async init completes
508
+ },
509
+ embedding, // Already instantiated
510
+ storage
511
+ );
512
+ }
513
+
514
+ // 9b. MemoryIndexService (for HNSW indexing with Walrus persistence)
515
+ // Note: HNSW service will be injected after async initialization
516
+ let memoryIndex: MemoryIndexService | undefined;
517
+ if (config.features.enableLocalIndexing) {
518
+ memoryIndex = new MemoryIndexService(storage, {
519
+ maxElements: 10000,
520
+ dimension: embeddingConfig.dimensions,
521
+ efConstruction: 200,
522
+ m: 16
523
+ // Note: hnswService will be set after async init completes
524
+ });
525
+ // Initialize with embedding service if available
526
+ if (embedding) {
527
+ memoryIndex.initialize(embedding, storage);
528
+ }
529
+ }
530
+
531
+ // 10. ClientMemoryManager (for full create pipeline)
532
+ // Note: HNSW service will be injected after async initialization
533
+ let clientMemoryManager: ClientMemoryManager | undefined;
534
+ if (ai.geminiApiKey) {
535
+ clientMemoryManager = new ClientMemoryManager({
536
+ packageId: sui.packageId,
537
+ accessRegistryId: process.env.NEXT_PUBLIC_ACCESS_REGISTRY_ID ||
538
+ '0x1d0a1936e170e54ff12ef30a042b390a8ef6dff3a642c5e7056222da038bde',
539
+ walrusAggregator: walrus.aggregator,
540
+ geminiApiKey: ai.geminiApiKey,
541
+ walrusNetwork: walrus.network,
542
+ enableLocalIndexing: config.features.enableLocalIndexing
543
+ // Note: hnswService will be set after async init completes
544
+ });
545
+ }
546
+
547
+ // 11. ViewService (for read operations)
548
+ const viewService = new ViewService(clientAdapter, pdwConfig);
549
+
550
+ // 12. BatchService (for batch operations and caching)
551
+ const batchService = new BatchService({
552
+ embedding: {
553
+ batchSize: 10,
554
+ delayMs: 1000
555
+ },
556
+ indexing: {
557
+ batchSize: 20,
558
+ delayMs: 500
559
+ },
560
+ storage: {
561
+ batchSize: 5,
562
+ delayMs: 2000
563
+ },
564
+ cache: {
565
+ maxSize: 1000,
566
+ ttlMs: 3600000, // 1 hour default
567
+ cleanupIntervalMs: 60000, // 1 minute
568
+ enableMetrics: true
569
+ },
570
+ enableMetrics: true
571
+ });
572
+
573
+ // 13. MemoryAnalyticsService (for insights and analytics)
574
+ const analytics = new MemoryAnalyticsService();
575
+
576
+ // 14. EncryptionService (for SEAL encryption - optional)
577
+ let encryption: EncryptionService | undefined;
578
+ if (config.features.enableEncryption) {
579
+ encryption = new EncryptionService(clientAdapter, pdwConfig);
580
+ }
581
+
582
+ // 15. PermissionService (for access control)
583
+ const permissions = new PermissionService({
584
+ suiClient: sui.client,
585
+ packageId: sui.packageId,
586
+ accessRegistryId: process.env.NEXT_PUBLIC_ACCESS_REGISTRY_ID ||
587
+ '0x1d0a1936e170e54ff12ef30a042b390a8ef6dff3a642c5e7056222da038bde'
588
+ });
589
+
590
+ // 16. TransactionService (for transaction utilities)
591
+ const tx = new TransactionService(sui.client, pdwConfig);
592
+
593
+ // 17. PipelineManager (for processing pipelines)
594
+ const pipeline = new PipelineManager({
595
+ maxConcurrentPipelines: 10,
596
+ enableScheduling: true,
597
+ enableHealthChecks: true,
598
+ enableMetricsCollection: true
599
+ });
600
+
601
+ // 18. CapabilityService (for capability-based access control)
602
+ const capability = new CapabilityService({
603
+ suiClient: sui.client,
604
+ packageId: sui.packageId,
605
+ });
606
+
607
+ // 19. IndexManager (for hybrid index persistence with blockchain integration)
608
+ let indexManager: IndexManager | undefined;
609
+ if (config.features.enableLocalIndexing && vector && embedding) {
610
+ indexManager = new IndexManager(
611
+ vector,
612
+ storage,
613
+ embedding,
614
+ {
615
+ autoSaveInterval: config.indexManager?.autoSaveInterval ?? 5 * 60 * 1000, // 5 minutes
616
+ enableAutoSave: config.indexManager?.enableAutoSave ?? true,
617
+ storageKeyPrefix: 'pdw_index_',
618
+ onProgress: config.indexManager?.onProgress,
619
+ // Blockchain integration
620
+ transactionService: tx,
621
+ getMemoryIndexFromChain: async (userAddress: string) => {
622
+ return viewService.getMemoryIndex(userAddress);
623
+ },
624
+ executeTransaction: async (transaction: any, signer: any) => {
625
+ try {
626
+ const result = await sui.client.signAndExecuteTransaction({
627
+ transaction,
628
+ signer,
629
+ options: {
630
+ showEffects: true,
631
+ showObjectChanges: true,
632
+ },
633
+ });
634
+
635
+ // CRITICAL: Wait for transaction to be confirmed before returning
636
+ // This ensures the gas coin version is updated on the network
637
+ // before the next transaction is built
638
+ if (result.digest) {
639
+ try {
640
+ await sui.client.waitForTransaction({
641
+ digest: result.digest,
642
+ options: { showEffects: true },
643
+ });
644
+ } catch (waitError) {
645
+ console.warn('⚠️ waitForTransaction failed:', waitError);
646
+ // Continue anyway - the transaction was submitted
647
+ }
648
+ }
649
+
650
+ return {
651
+ digest: result.digest,
652
+ effects: result.effects,
653
+ error: result.effects?.status?.status === 'failure'
654
+ ? result.effects.status.error
655
+ : undefined,
656
+ };
657
+ } catch (error: any) {
658
+ return {
659
+ digest: '',
660
+ effects: undefined,
661
+ error: error.message || String(error),
662
+ };
663
+ }
664
+ },
665
+ }
666
+ );
667
+ }
668
+
669
+ // 20. QueryService (advanced search) - initialized with all dependencies
670
+ const query = new QueryService(
671
+ memoryIndex, // MemoryIndexService for vector search
672
+ embedding, // EmbeddingService for query embedding generation
673
+ storage, // StorageService for content retrieval
674
+ undefined // GraphService - will be set if knowledge graph is enabled
675
+ );
676
+
677
+ return {
678
+ config,
679
+ storage,
680
+ embedding,
681
+ memory,
682
+ query,
683
+ classifier,
684
+ vector,
685
+ memoryIndex,
686
+ batchService,
687
+ analytics,
688
+ encryption,
689
+ permissions,
690
+ tx,
691
+ pipeline,
692
+ clientMemoryManager,
693
+ viewService,
694
+ capability,
695
+ indexManager
696
+ };
697
+ }
698
+
699
+ /**
700
+ * Initialize client (async operations like WASM loading)
701
+ */
702
+ private async initialize(): Promise<void> {
703
+ if (this.initialized) return;
704
+
705
+ try {
706
+ // Initialize shared HNSW service FIRST (singleton for all vector operations)
707
+ // This ensures all subsequent service initializations get the same instance
708
+ if (this.sharedHnswServicePromise) {
709
+ this.sharedHnswService = await this.sharedHnswServicePromise;
710
+ this.services.sharedHnswService = this.sharedHnswService;
711
+ console.log('✅ Shared HNSW service ready (singleton)');
712
+ }
713
+
714
+ // Initialize vector service if enabled (WASM loading)
715
+ // Note: VectorService.initialize() will use singleton from createHnswService
716
+ if (this.services.vector) {
717
+ await this.services.vector.initialize();
718
+ }
719
+
720
+ // Initialize knowledge graph if enabled
721
+ if (this.config.features.enableKnowledgeGraph && this.services.embedding) {
722
+ await this.services.storage.initializeKnowledgeGraph({
723
+ embeddingService: this.services.embedding,
724
+ geminiApiKey: this.config.ai.geminiApiKey
725
+ });
726
+ }
727
+
728
+ this.initialized = true;
729
+ console.log('✅ SimplePDWClient initialized');
730
+ } catch (error) {
731
+ console.error('Failed to initialize SimplePDWClient:', error);
732
+ throw error;
733
+ }
734
+ }
735
+
736
+ /**
737
+ * Ensure client is initialized before operations
738
+ */
739
+ private async ensureInitialized(): Promise<void> {
740
+ if (this.initPromise) {
741
+ await this.initPromise;
742
+ }
743
+ }
744
+
745
+ /**
746
+ * Get service container (internal use)
747
+ */
748
+ getServices(): ServiceContainer {
749
+ return this.services;
750
+ }
751
+
752
+ /**
753
+ * Get configuration (internal use)
754
+ */
755
+ getConfig(): ResolvedConfig {
756
+ return this.config;
757
+ }
758
+
759
+ /**
760
+ * Wait for initialization to complete
761
+ */
762
+ async ready(): Promise<void> {
763
+ await this.ensureInitialized();
764
+ }
765
+
766
+ /**
767
+ * Initialize index with hybrid restore strategy
768
+ *
769
+ * This method implements the hybrid pattern:
770
+ * 1. Try to load from Walrus cache (fast, ~500ms)
771
+ * 2. If failed, rebuild from blockchain + Walrus (slow but complete)
772
+ * 3. Sync any new memories since last save
773
+ * 4. Start auto-save periodically
774
+ *
775
+ * @param options - Optional progress callback and settings
776
+ * @returns Initialization result with stats
777
+ *
778
+ * @example
779
+ * ```typescript
780
+ * const pdw = await createPDWClient(config);
781
+ * await pdw.ready();
782
+ *
783
+ * // Initialize index with hybrid restore
784
+ * const result = await pdw.initializeIndex({
785
+ * onProgress: (stage, progress, message) => {
786
+ * console.log(`[${stage}] ${progress}% - ${message}`);
787
+ * }
788
+ * });
789
+ *
790
+ * console.log(`Index ready: ${result.vectorCount} vectors (${result.method})`);
791
+ * ```
792
+ */
793
+ async initializeIndex(options: {
794
+ onProgress?: IndexProgressCallback;
795
+ forceRebuild?: boolean;
796
+ } = {}): Promise<{
797
+ restored: boolean;
798
+ method: 'cache' | 'rebuild' | 'empty';
799
+ vectorCount: number;
800
+ syncedCount: number;
801
+ timeMs: number;
802
+ }> {
803
+ await this.ensureInitialized();
804
+
805
+ if (!this.services.indexManager) {
806
+ console.warn('IndexManager not available. Enable local indexing in config.');
807
+ return {
808
+ restored: false,
809
+ method: 'empty',
810
+ vectorCount: 0,
811
+ syncedCount: 0,
812
+ timeMs: 0,
813
+ };
814
+ }
815
+
816
+ // Set progress callback if provided
817
+ if (options.onProgress) {
818
+ this.services.indexManager = new IndexManager(
819
+ this.services.vector!,
820
+ this.services.storage,
821
+ this.services.embedding!,
822
+ {
823
+ autoSaveInterval: 5 * 60 * 1000,
824
+ enableAutoSave: true,
825
+ storageKeyPrefix: 'pdw_index_',
826
+ onProgress: options.onProgress,
827
+ }
828
+ );
829
+ }
830
+
831
+ const userAddress = this.config.userAddress;
832
+
833
+ // Force rebuild if requested
834
+ if (options.forceRebuild) {
835
+ this.services.indexManager.clearIndexState(userAddress);
836
+ }
837
+
838
+ // Define callbacks for fetching data
839
+ const getMemoriesFromChain = async () => {
840
+ const viewService = this.services.viewService;
841
+ if (!viewService) {
842
+ return [];
843
+ }
844
+
845
+ try {
846
+ // Fetch memories with pagination (max 50 per page)
847
+ const allMemories: any[] = [];
848
+ let cursor: string | undefined;
849
+ const pageSize = 50; // Max allowed by the API
850
+
851
+ do {
852
+ const response = await viewService.getUserMemories(userAddress, {
853
+ limit: pageSize,
854
+ cursor,
855
+ });
856
+
857
+ allMemories.push(...response.data);
858
+ cursor = response.nextCursor;
859
+ } while (cursor && allMemories.length < 1000); // Cap at 1000 memories
860
+
861
+ return allMemories.map((m: any) => ({
862
+ id: m.id,
863
+ blobId: m.blobId || m.blob_id,
864
+ vectorId: m.vectorId || m.vector_id,
865
+ category: m.category,
866
+ importance: m.importance,
867
+ topic: m.topic,
868
+ createdAt: m.createdAt || m.created_at || Date.now(),
869
+ }));
870
+ } catch (error) {
871
+ console.warn('Failed to fetch memories from chain:', error);
872
+ return [];
873
+ }
874
+ };
875
+
876
+ const getMemoryContent = async (blobId: string) => {
877
+ try {
878
+ const result = await this.services.storage.retrieveMemoryPackage(blobId);
879
+ return {
880
+ content: result.memoryPackage?.content || '',
881
+ embedding: result.memoryPackage?.embedding,
882
+ metadata: result.memoryPackage?.metadata,
883
+ };
884
+ } catch (error) {
885
+ console.warn(`Failed to fetch memory content for ${blobId}:`, error);
886
+ return { content: '', embedding: undefined, metadata: undefined };
887
+ }
888
+ };
889
+
890
+ // Initialize with hybrid strategy
891
+ return this.services.indexManager.initialize(
892
+ userAddress,
893
+ getMemoriesFromChain,
894
+ getMemoryContent
895
+ );
896
+ }
897
+
898
+ /**
899
+ * Save current index to Walrus
900
+ *
901
+ * @returns Blob ID of saved index, or null if nothing to save
902
+ */
903
+ async saveIndex(): Promise<string | null> {
904
+ await this.ensureInitialized();
905
+
906
+ if (!this.services.indexManager) {
907
+ console.warn('IndexManager not available');
908
+ return null;
909
+ }
910
+
911
+ return this.services.indexManager.saveIndexWithSigner(
912
+ this.config.userAddress,
913
+ this.config.signer.getSigner()
914
+ );
915
+ }
916
+
917
+ /**
918
+ * Get index statistics
919
+ */
920
+ getIndexStats(): {
921
+ indexState: any;
922
+ vectorCacheSize: number;
923
+ isAutoSaveEnabled: boolean;
924
+ } | null {
925
+ if (!this.services.indexManager) {
926
+ return null;
927
+ }
928
+
929
+ return this.services.indexManager.getStats(this.config.userAddress);
930
+ }
931
+
932
+ /**
933
+ * Memory operations namespace
934
+ */
935
+ get memory(): MemoryNamespace {
936
+ return new MemoryNamespace(this.services);
937
+ }
938
+
939
+ /**
940
+ * Search operations namespace
941
+ */
942
+ get search(): SearchNamespace {
943
+ return new SearchNamespace(this.services);
944
+ }
945
+
946
+ /**
947
+ * Classification operations namespace
948
+ */
949
+ get classify(): ClassifyNamespace {
950
+ return new ClassifyNamespace(this.services);
951
+ }
952
+
953
+ /**
954
+ * Knowledge graph operations namespace
955
+ */
956
+ get graph(): GraphNamespace {
957
+ return new GraphNamespace(this.services);
958
+ }
959
+
960
+ /**
961
+ * Embeddings operations namespace
962
+ */
963
+ get embeddings(): EmbeddingsNamespace {
964
+ return new EmbeddingsNamespace(this.services);
965
+ }
966
+
967
+ /**
968
+ * Batch operations namespace
969
+ */
970
+ get batch(): BatchNamespace {
971
+ return new BatchNamespace(this.services);
972
+ }
973
+
974
+ /**
975
+ * Cache operations namespace
976
+ */
977
+ get cache(): CacheNamespace {
978
+ return new CacheNamespace(this.services);
979
+ }
980
+
981
+ /**
982
+ * Vector index operations namespace
983
+ */
984
+ get index(): IndexNamespace {
985
+ return new IndexNamespace(this.services);
986
+ }
987
+
988
+ /**
989
+ * Analytics and insights namespace
990
+ */
991
+ get analytics(): AnalyticsNamespace {
992
+ return new AnalyticsNamespace(this.services);
993
+ }
994
+
995
+ /**
996
+ * SEAL encryption operations namespace
997
+ */
998
+ get encryption(): EncryptionNamespace {
999
+ return new EncryptionNamespace(this.services);
1000
+ }
1001
+
1002
+ /**
1003
+ * Access control and permissions namespace
1004
+ */
1005
+ get permissions(): PermissionsNamespace {
1006
+ return new PermissionsNamespace(this.services);
1007
+ }
1008
+
1009
+ /**
1010
+ * Transaction utilities namespace
1011
+ */
1012
+ get tx(): TxNamespace {
1013
+ return new TxNamespace(this.services);
1014
+ }
1015
+
1016
+ /**
1017
+ * Processing pipelines namespace
1018
+ */
1019
+ get pipeline(): PipelineNamespace {
1020
+ return new PipelineNamespace(this.services);
1021
+ }
1022
+
1023
+ /**
1024
+ * Capability operations namespace
1025
+ *
1026
+ * Provides low-level access to MemoryCap capability objects.
1027
+ * For most use cases, prefer using the `context` namespace instead.
1028
+ *
1029
+ * @example
1030
+ * ```typescript
1031
+ * const cap = await pdw.capability.create('MEMO');
1032
+ * const keyId = pdw.capability.computeKeyId(cap);
1033
+ * ```
1034
+ */
1035
+ get capability(): CapabilityNamespace {
1036
+ return new CapabilityNamespace(this.services);
1037
+ }
1038
+
1039
+ /**
1040
+ * Context operations namespace
1041
+ *
1042
+ * Higher-level API for managing app contexts (built on capabilities).
1043
+ * Use this for managing app-scoped data and access control.
1044
+ *
1045
+ * @example
1046
+ * ```typescript
1047
+ * // Get or create context for MEMO app
1048
+ * const ctx = await pdw.context.getOrCreate('MEMO');
1049
+ *
1050
+ * // List all contexts
1051
+ * const contexts = await pdw.context.list();
1052
+ *
1053
+ * // Share context with another user
1054
+ * await pdw.context.transfer('MEMO', recipientAddress);
1055
+ * ```
1056
+ */
1057
+ get context(): ContextNamespace {
1058
+ return new ContextNamespace(this.services);
1059
+ }
1060
+
1061
+ /**
1062
+ * Wallet operations namespace
1063
+ *
1064
+ * Simplified wallet operations for address info, balance, and owned objects.
1065
+ *
1066
+ * @example
1067
+ * ```typescript
1068
+ * const address = await pdw.wallet.getAddress();
1069
+ * const balance = await pdw.wallet.getFormattedBalance();
1070
+ * const caps = await pdw.wallet.getMemoryCaps();
1071
+ * ```
1072
+ */
1073
+ get wallet(): WalletNamespace {
1074
+ return new WalletNamespace(this.services);
1075
+ }
1076
+
1077
+ // ===========================================================================
1078
+ // CONSOLIDATED NAMESPACES (New Unified API)
1079
+ // ===========================================================================
1080
+
1081
+ /**
1082
+ * AI operations namespace (consolidated)
1083
+ *
1084
+ * Unified API for all AI-powered operations:
1085
+ * - Embeddings (generate, batch, similarity)
1086
+ * - Classification (classify, shouldSave, importance)
1087
+ * - Chat with memory context
1088
+ *
1089
+ * @example
1090
+ * ```typescript
1091
+ * // Generate embeddings
1092
+ * const vector = await pdw.ai.embed('Hello world');
1093
+ *
1094
+ * // Classify content
1095
+ * const category = await pdw.ai.classify('I love TypeScript');
1096
+ *
1097
+ * // Chat with memory context
1098
+ * const session = await pdw.ai.chat.createSession();
1099
+ * const response = await pdw.ai.chat.send(session.id, 'What do you know about me?');
1100
+ * ```
1101
+ */
1102
+ get ai(): AINamespace {
1103
+ return new AINamespace(this.services);
1104
+ }
1105
+
1106
+ /**
1107
+ * Security operations namespace (consolidated)
1108
+ *
1109
+ * Unified API for encryption, permissions, and contexts:
1110
+ * - SEAL encryption/decryption
1111
+ * - App contexts (MemoryCap management)
1112
+ * - OAuth-style permissions
1113
+ *
1114
+ * @example
1115
+ * ```typescript
1116
+ * // Encrypt data
1117
+ * const { encryptedData } = await pdw.security.encrypt(data);
1118
+ *
1119
+ * // Decrypt data
1120
+ * const decrypted = await pdw.security.decrypt({ encryptedData });
1121
+ *
1122
+ * // Manage app contexts
1123
+ * const ctx = await pdw.security.context.getOrCreate('MEMO');
1124
+ *
1125
+ * // Grant permissions
1126
+ * await pdw.security.permissions.grant('APP_ID', ['read', 'write']);
1127
+ * ```
1128
+ */
1129
+ get security(): SecurityNamespace {
1130
+ return new SecurityNamespace(this.services);
1131
+ }
1132
+
1133
+ /**
1134
+ * Blockchain operations namespace (consolidated)
1135
+ *
1136
+ * Unified API for Sui blockchain operations:
1137
+ * - Transaction building and execution
1138
+ * - Wallet operations (balance, owned objects)
1139
+ *
1140
+ * @example
1141
+ * ```typescript
1142
+ * // Build and execute transaction
1143
+ * const tx = pdw.blockchain.tx.buildCreate({ ... });
1144
+ * const result = await pdw.blockchain.tx.execute(tx);
1145
+ *
1146
+ * // Check balance
1147
+ * const balance = await pdw.blockchain.wallet.getFormattedBalance();
1148
+ *
1149
+ * // Get owned objects
1150
+ * const memories = await pdw.blockchain.wallet.getMemories();
1151
+ * ```
1152
+ */
1153
+ get blockchain(): BlockchainNamespace {
1154
+ return new BlockchainNamespace(this.services);
1155
+ }
1156
+
1157
+ /**
1158
+ * Storage operations namespace (consolidated)
1159
+ *
1160
+ * Unified API for Walrus storage and caching:
1161
+ * - Upload/download data to Walrus
1162
+ * - In-memory LRU cache
1163
+ *
1164
+ * @example
1165
+ * ```typescript
1166
+ * // Upload to Walrus
1167
+ * const result = await pdw.storage.upload(data);
1168
+ *
1169
+ * // Download from Walrus
1170
+ * const data = await pdw.storage.download(blobId);
1171
+ *
1172
+ * // Use cache
1173
+ * pdw.storage.cache.set('key', value, 60000);
1174
+ * const cached = pdw.storage.cache.get('key');
1175
+ * ```
1176
+ */
1177
+ get storage(): ConsolidatedStorageNamespace {
1178
+ return new ConsolidatedStorageNamespace(this.services);
1179
+ }
1180
+ }