@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,907 @@
1
+ /**
2
+ * Memory Namespace - Complete Memory CRUD Operations
3
+ *
4
+ * Provides simple API for creating, reading, updating, and deleting memories
5
+ * without React hooks or UI dependencies.
6
+ *
7
+ * @module client/namespaces
8
+ */
9
+ /**
10
+ * Memory Namespace
11
+ *
12
+ * Handles all memory CRUD operations
13
+ */
14
+ export class MemoryNamespace {
15
+ constructor(services) {
16
+ this.services = services;
17
+ }
18
+ /**
19
+ * Create a new memory with automatic processing
20
+ *
21
+ * Pipeline:
22
+ * 1. Auto-classify content (if classifier enabled and category not provided)
23
+ * 2. Generate embedding (if AI enabled)
24
+ * 3. Encrypt content (if encryption enabled)
25
+ * 4. Upload to Walrus
26
+ * 5. Register on Sui blockchain
27
+ * 6. Index locally (if enabled)
28
+ * 7. Extract knowledge graph (if enabled)
29
+ *
30
+ * @param content - Text content to save
31
+ * @param options - Optional metadata and callbacks
32
+ * @returns Created memory with ID and blob ID
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * // Auto-classify and extract knowledge graph automatically
37
+ * const memory = await pdw.memory.create('I love TypeScript', {
38
+ * importance: 8,
39
+ * onProgress: (stage, percent) => console.log(stage, percent)
40
+ * });
41
+ *
42
+ * // Provide category to skip auto-classify
43
+ * const memory = await pdw.memory.create('Meeting at 3pm', {
44
+ * category: 'todo'
45
+ * });
46
+ * ```
47
+ */
48
+ async create(content, options = {}) {
49
+ const { importance = 5, topic, metadata, onProgress } = options;
50
+ let category = options.category || 'general';
51
+ try {
52
+ // Validate content
53
+ if (!content || content.trim().length === 0) {
54
+ throw new Error('Content cannot be empty');
55
+ }
56
+ // Validate importance
57
+ if (importance < 1 || importance > 10) {
58
+ throw new Error('Importance must be between 1 and 10');
59
+ }
60
+ onProgress?.('analyzing', 5);
61
+ // 1. Auto-classify if category not provided
62
+ if (!options.category && this.services.classifier) {
63
+ onProgress?.('classifying', 10);
64
+ try {
65
+ const classifiedCategory = await this.services.classifier.classifyContent(content);
66
+ category = classifiedCategory || 'general';
67
+ console.log(`Auto-classified as: ${category}`);
68
+ }
69
+ catch (classifyError) {
70
+ console.warn('Auto-classification failed, using default category:', classifyError);
71
+ }
72
+ }
73
+ // 2. Generate embedding
74
+ let embedding;
75
+ if (this.services.embedding) {
76
+ onProgress?.('generating embedding', 20);
77
+ const embResult = await this.services.embedding.embedText({
78
+ text: content
79
+ });
80
+ embedding = embResult.vector;
81
+ }
82
+ // 3. Encrypt (if enabled)
83
+ let encryptedContent;
84
+ if (this.services.config.features.enableEncryption && this.services.encryption) {
85
+ onProgress?.('encrypting', 50);
86
+ try {
87
+ const contentBytes = new TextEncoder().encode(content);
88
+ const encryptResult = await this.services.encryption.encrypt(contentBytes, this.services.config.userAddress, 2 // threshold: require 2 key servers for decryption
89
+ );
90
+ encryptedContent = encryptResult.encryptedObject;
91
+ }
92
+ catch (error) {
93
+ console.warn('SEAL encryption failed, storing unencrypted:', error);
94
+ // Continue without encryption if it fails
95
+ }
96
+ }
97
+ // 4. Upload to Walrus
98
+ onProgress?.('uploading to Walrus', 40);
99
+ const uploadResult = await this.services.storage.uploadMemoryPackage({
100
+ content,
101
+ embedding: embedding || [],
102
+ metadata: {
103
+ category,
104
+ importance,
105
+ topic: topic || '',
106
+ ...metadata
107
+ },
108
+ encryptedContent,
109
+ identity: this.services.config.userAddress
110
+ }, {
111
+ signer: this.services.config.signer.getSigner(),
112
+ epochs: 3,
113
+ deletable: true,
114
+ metadata: {
115
+ 'category': category,
116
+ 'importance': importance.toString(),
117
+ 'topic': topic || ''
118
+ }
119
+ });
120
+ // 5. Register on-chain (create Memory object on Sui)
121
+ onProgress?.('registering on blockchain', 60);
122
+ let memoryObjectId;
123
+ // Use modulo to keep vectorId within u32 range (max 4,294,967,295)
124
+ const vectorId = Date.now() % 4294967295;
125
+ if (this.services.tx) {
126
+ try {
127
+ console.log('🔨 Building on-chain transaction with full metadata...');
128
+ const tx = this.services.tx.buildCreateMemoryRecord({
129
+ category,
130
+ vectorId,
131
+ blobId: uploadResult.blobId,
132
+ contentType: 'text/plain',
133
+ contentSize: new TextEncoder().encode(content).length,
134
+ contentHash: uploadResult.blobId, // blob_id is content-addressed (blake2b256)
135
+ topic: topic || '',
136
+ importance,
137
+ embeddingBlobId: uploadResult.blobId, // Embedding stored in same blob
138
+ });
139
+ // SerialTransactionExecutor handles gas coin management and prevents equivocation
140
+ // No manual retry needed - executor caches object versions automatically
141
+ console.log('📤 Executing on-chain transaction (via SerialTransactionExecutor)...');
142
+ const txResult = await this.services.tx.executeTransaction(tx, this.services.config.signer.getSigner());
143
+ console.log('📋 Transaction result:', txResult.status, txResult.digest);
144
+ if (txResult.status === 'success') {
145
+ // Get created Memory object ID
146
+ const memoryObject = txResult.createdObjects?.find((obj) => obj.objectType?.includes('::memory::Memory'));
147
+ memoryObjectId = memoryObject?.objectId;
148
+ console.log('✅ Memory registered on-chain:', memoryObjectId);
149
+ }
150
+ else {
151
+ console.warn('❌ Failed to register memory on-chain:', txResult.error);
152
+ }
153
+ }
154
+ catch (txError) {
155
+ console.warn('❌ On-chain registration failed:', txError.message);
156
+ }
157
+ }
158
+ else {
159
+ console.log('TransactionService not available, skipping on-chain registration');
160
+ }
161
+ // 6. Index locally (if enabled)
162
+ // Option A+: Store content in index ONLY when encryption is OFF
163
+ // When encryption is ON, content is NOT stored (security - prevents data leakage
164
+ // when index is saved to Walrus)
165
+ // TODO(refactor): Extract common indexing logic into shared helper when adding new metadata fields.
166
+ // Related locations: MemoryNamespace.createBatch(), MemoryIndexService.indexMemory(),
167
+ // ClientMemoryManager.createMemory(), rebuildIndexNode(), rebuildIndex()
168
+ const isEncrypted = !!encryptedContent;
169
+ if (this.services.vector && embedding) {
170
+ onProgress?.('indexing vector', 80);
171
+ const spaceId = this.services.config.userAddress;
172
+ // Index metadata - content only when NOT encrypted (Option A+)
173
+ const indexMetadata = {
174
+ ...metadata,
175
+ blobId: uploadResult.blobId,
176
+ memoryObjectId,
177
+ category,
178
+ importance,
179
+ topic: topic || '',
180
+ timestamp: Date.now(),
181
+ isEncrypted
182
+ };
183
+ // Option A+: Store content for fast local retrieval when encryption is OFF
184
+ if (!isEncrypted) {
185
+ indexMetadata.content = content;
186
+ console.log(' 💾 Content stored in local index (encryption OFF)');
187
+ }
188
+ else {
189
+ console.log(' 🔒 Content NOT stored in index (encryption ON - security)');
190
+ }
191
+ // Auto-create index if it doesn't exist
192
+ try {
193
+ await this.services.vector.addVector(spaceId, vectorId, embedding, indexMetadata);
194
+ }
195
+ catch (error) {
196
+ if (error.message?.includes('not found')) {
197
+ // Index doesn't exist, create it first
198
+ await this.services.vector.createIndex(spaceId, embedding.length);
199
+ await this.services.vector.addVector(spaceId, vectorId, embedding, indexMetadata);
200
+ }
201
+ else {
202
+ throw error;
203
+ }
204
+ }
205
+ }
206
+ // 7. Extract knowledge graph (if enabled)
207
+ if (this.services.config.features.enableKnowledgeGraph) {
208
+ onProgress?.('extracting knowledge graph', 95);
209
+ try {
210
+ const graphResult = await this.services.storage.extractAndStoreKnowledgeGraph(content, uploadResult.blobId, this.services.config.userAddress);
211
+ console.log(`Knowledge graph extracted: ${graphResult.entities.length} entities, ${graphResult.relationships.length} relationships`);
212
+ }
213
+ catch (graphError) {
214
+ console.warn('Knowledge graph extraction failed:', graphError);
215
+ // Continue without failing - graph extraction is optional
216
+ }
217
+ }
218
+ onProgress?.('complete', 100);
219
+ return {
220
+ id: memoryObjectId || uploadResult.blobId,
221
+ content,
222
+ category,
223
+ importance,
224
+ topic,
225
+ blobId: uploadResult.blobId,
226
+ vectorId,
227
+ embedding,
228
+ metadata: {
229
+ category,
230
+ importance,
231
+ topic,
232
+ ...metadata
233
+ },
234
+ encrypted: !!encryptedContent,
235
+ createdAt: Date.now()
236
+ };
237
+ }
238
+ catch (error) {
239
+ throw new Error(`Failed to create memory: ${error instanceof Error ? error.message : String(error)}`);
240
+ }
241
+ }
242
+ /**
243
+ * Get a memory by ID
244
+ *
245
+ * @param memoryId - Memory ID (blob ID)
246
+ * @returns Memory with full metadata
247
+ */
248
+ async get(memoryId) {
249
+ try {
250
+ const memoryPackage = await this.services.storage.retrieveMemoryPackage(memoryId);
251
+ if (memoryPackage.storageApproach === 'json-package' && memoryPackage.memoryPackage) {
252
+ return {
253
+ id: memoryId,
254
+ content: memoryPackage.memoryPackage.content,
255
+ embedding: memoryPackage.memoryPackage.embedding,
256
+ metadata: memoryPackage.memoryPackage.metadata,
257
+ category: memoryPackage.memoryPackage.metadata?.category,
258
+ importance: memoryPackage.memoryPackage.metadata?.importance,
259
+ topic: memoryPackage.memoryPackage.metadata?.topic,
260
+ blobId: memoryId,
261
+ encrypted: memoryPackage.isEncrypted,
262
+ createdAt: memoryPackage.memoryPackage.timestamp
263
+ };
264
+ }
265
+ throw new Error('Memory not found or invalid format');
266
+ }
267
+ catch (error) {
268
+ throw new Error(`Failed to get memory: ${error instanceof Error ? error.message : String(error)}`);
269
+ }
270
+ }
271
+ /**
272
+ * Update memory record on-chain
273
+ *
274
+ * Updates memory object fields via Sui transaction. Only non-empty/non-zero
275
+ * values will be updated.
276
+ *
277
+ * If content is provided, a new blob will be uploaded to Walrus and
278
+ * the blob_id will be updated on-chain.
279
+ *
280
+ * @param memoryId - Memory object ID on Sui
281
+ * @param updates - Fields to update
282
+ * @returns Updated memory object
283
+ *
284
+ * @example
285
+ * ```typescript
286
+ * // Update importance and topic
287
+ * const updated = await pdw.memory.update(memoryId, {
288
+ * importance: 9,
289
+ * topic: 'programming'
290
+ * });
291
+ *
292
+ * // Update content (creates new Walrus blob)
293
+ * const updated = await pdw.memory.update(memoryId, {
294
+ * content: 'Updated content here'
295
+ * });
296
+ * ```
297
+ */
298
+ async update(memoryId, updates) {
299
+ try {
300
+ // Get current memory for comparison
301
+ const current = await this.get(memoryId);
302
+ let newBlobId = '';
303
+ let newEmbeddingBlobId = updates.embeddingBlobId || '';
304
+ let newContentHash = updates.contentHash || '';
305
+ let newContentSize = updates.contentSize || 0;
306
+ // If content is provided, upload new blob to Walrus
307
+ if (updates.content) {
308
+ // Generate new embedding if AI is enabled
309
+ let embedding;
310
+ if (this.services.embedding) {
311
+ const embResult = await this.services.embedding.embedText({
312
+ text: updates.content
313
+ });
314
+ embedding = embResult.vector;
315
+ }
316
+ // Upload new content to Walrus
317
+ const uploadResult = await this.services.storage.uploadMemoryPackage({
318
+ content: updates.content,
319
+ embedding: embedding || [],
320
+ metadata: {
321
+ category: updates.category || current.category,
322
+ importance: updates.importance || current.importance,
323
+ topic: updates.topic || current.topic,
324
+ ...updates.metadata
325
+ },
326
+ identity: this.services.config.userAddress
327
+ }, {
328
+ signer: this.services.config.signer.getSigner(),
329
+ epochs: 3,
330
+ deletable: true
331
+ });
332
+ newBlobId = uploadResult.blobId;
333
+ newContentSize = updates.content.length;
334
+ newContentHash = uploadResult.blobId; // blob_id is content-addressed
335
+ }
336
+ // Build and execute update transaction
337
+ const tx = this.services.tx.buildUpdateMemoryRecord({
338
+ memoryId,
339
+ newBlobId,
340
+ newCategory: updates.category || '',
341
+ newTopic: updates.topic || '',
342
+ newImportance: updates.importance || 0,
343
+ newEmbeddingBlobId,
344
+ newContentHash,
345
+ newContentSize
346
+ });
347
+ // Execute transaction
348
+ const result = await this.services.tx.executeTransaction(tx, this.services.config.signer.getSigner());
349
+ if (result.status !== 'success') {
350
+ throw new Error(result.error || 'Transaction failed');
351
+ }
352
+ // Update local vector index if needed
353
+ if (this.services.vector && updates.content && this.services.embedding) {
354
+ const embResult = await this.services.embedding.embedText({
355
+ text: updates.content
356
+ });
357
+ await this.services.vector.addVector(this.services.config.userAddress, current.vectorId || Date.now(), embResult.vector, { ...current.metadata, ...updates.metadata });
358
+ }
359
+ return {
360
+ ...current,
361
+ content: updates.content || current.content,
362
+ category: updates.category || current.category,
363
+ importance: updates.importance || current.importance,
364
+ topic: updates.topic || current.topic,
365
+ blobId: newBlobId || current.blobId,
366
+ metadata: {
367
+ ...current.metadata,
368
+ ...updates.metadata
369
+ },
370
+ updatedAt: Date.now()
371
+ };
372
+ }
373
+ catch (error) {
374
+ throw new Error(`Failed to update memory: ${error instanceof Error ? error.message : String(error)}`);
375
+ }
376
+ }
377
+ /**
378
+ * Delete a memory
379
+ *
380
+ * Removes from:
381
+ * - Local vector index
382
+ * - Blockchain records (marks as deleted)
383
+ * Note: Walrus blobs are immutable, can only be marked as deleted
384
+ *
385
+ * @param memoryId - Memory ID to delete
386
+ */
387
+ async delete(memoryId) {
388
+ try {
389
+ // Build and execute delete transaction on blockchain
390
+ const tx = await this.services.memory.tx.deleteMemory(memoryId);
391
+ await this.services.config.signer.signAndExecuteTransaction(tx);
392
+ // Remove from local vector index if it exists
393
+ if (this.services.memoryIndex) {
394
+ try {
395
+ await this.services.memoryIndex.removeMemory(this.services.config.userAddress, memoryId);
396
+ }
397
+ catch (indexError) {
398
+ console.warn(`Failed to remove memory ${memoryId} from local index:`, indexError);
399
+ // Don't fail the delete if index removal fails
400
+ }
401
+ }
402
+ }
403
+ catch (error) {
404
+ throw new Error(`Failed to delete memory: ${error instanceof Error ? error.message : String(error)}`);
405
+ }
406
+ }
407
+ /**
408
+ * List user memories with pagination
409
+ *
410
+ * @param options - Filter and pagination options
411
+ * @returns Array of memories
412
+ */
413
+ async list(options = {}) {
414
+ try {
415
+ const { category, limit = 50, offset = 0, sortBy = 'date', order = 'desc' } = options;
416
+ // Get memories from blockchain using ViewService (direct Sui query)
417
+ // This doesn't require backend API
418
+ const viewService = this.services.viewService;
419
+ if (!viewService) {
420
+ throw new Error('ViewService not available');
421
+ }
422
+ const response = await viewService.getUserMemories(this.services.config.userAddress, { limit, category });
423
+ const memories = response.data;
424
+ // Filter by category if provided
425
+ let filtered = memories;
426
+ if (category) {
427
+ filtered = memories.filter((m) => m.metadata?.category === category ||
428
+ m.fields?.category === category);
429
+ }
430
+ // Sort
431
+ const sorted = [...filtered].sort((a, b) => {
432
+ if (sortBy === 'date') {
433
+ const aTime = a.timestamp || a.createdAt || 0;
434
+ const bTime = b.timestamp || b.createdAt || 0;
435
+ return order === 'desc' ? bTime - aTime : aTime - bTime;
436
+ }
437
+ else if (sortBy === 'importance') {
438
+ const aImp = a.importance || a.metadata?.importance || 5;
439
+ const bImp = b.importance || b.metadata?.importance || 5;
440
+ return order === 'desc' ? bImp - aImp : aImp - bImp;
441
+ }
442
+ return 0;
443
+ });
444
+ // Paginate
445
+ const paginated = sorted.slice(offset, offset + limit);
446
+ // Convert to Memory format
447
+ return paginated.map((m) => ({
448
+ id: m.id || m.blobId,
449
+ content: m.content || '',
450
+ category: m.category || m.metadata?.category,
451
+ importance: m.importance || m.metadata?.importance,
452
+ topic: m.topic || m.metadata?.topic,
453
+ blobId: m.blobId || m.id,
454
+ metadata: m.metadata,
455
+ encrypted: m.encrypted || false,
456
+ createdAt: m.timestamp || m.createdAt || Date.now()
457
+ }));
458
+ }
459
+ catch (error) {
460
+ throw new Error(`Failed to list memories: ${error instanceof Error ? error.message : String(error)}`);
461
+ }
462
+ }
463
+ /**
464
+ * Create multiple memories in batch using Walrus Quilt
465
+ *
466
+ * Uses Walrus SDK's writeFiles() which automatically batches small blobs
467
+ * into a single Quilt transaction, providing ~90% gas savings.
468
+ *
469
+ * Pipeline (batched):
470
+ * 1. Auto-classify all contents (if classifier enabled)
471
+ * 2. Generate embeddings for all contents (parallel)
472
+ * 3. Encrypt all contents (if encryption enabled)
473
+ * 4. Batch upload to Walrus as Quilt (single transaction!)
474
+ * 5. Register on Sui blockchain (batched PTB)
475
+ * 6. Index locally (batch add to vector index)
476
+ *
477
+ * @param contents - Array of content strings
478
+ * @param options - Shared options for all memories
479
+ * @returns Array of created memories
480
+ *
481
+ * @example
482
+ * ```typescript
483
+ * // Create multiple memories efficiently with Quilt
484
+ * const memories = await pdw.memory.createBatch([
485
+ * 'I love TypeScript',
486
+ * 'Meeting at 3pm tomorrow',
487
+ * 'Remember to buy milk'
488
+ * ], {
489
+ * category: 'note',
490
+ * importance: 5
491
+ * });
492
+ * // All 3 memories uploaded in 1 transaction!
493
+ * ```
494
+ */
495
+ async createBatch(contents, options = {}) {
496
+ const { importance = 5, topic, metadata, onProgress } = options;
497
+ // For single item, use regular create()
498
+ if (contents.length === 1) {
499
+ const memory = await this.create(contents[0], options);
500
+ return [memory];
501
+ }
502
+ try {
503
+ onProgress?.('preparing batch', 5);
504
+ // Step 1: Auto-classify all contents (parallel)
505
+ const categories = [];
506
+ if (!options.category && this.services.classifier) {
507
+ onProgress?.('classifying', 10);
508
+ const classifyPromises = contents.map(async (content) => {
509
+ try {
510
+ return await this.services.classifier.classifyContent(content) || 'general';
511
+ }
512
+ catch {
513
+ return 'general';
514
+ }
515
+ });
516
+ const classifiedCategories = await Promise.all(classifyPromises);
517
+ categories.push(...classifiedCategories);
518
+ }
519
+ else {
520
+ categories.push(...contents.map(() => options.category || 'general'));
521
+ }
522
+ // Step 2: Generate embeddings (parallel)
523
+ onProgress?.('generating embeddings', 20);
524
+ const embeddings = [];
525
+ if (this.services.embedding) {
526
+ const embeddingPromises = contents.map(content => this.services.embedding.embedText({ text: content }).then(r => r.vector));
527
+ const embeddingResults = await Promise.all(embeddingPromises);
528
+ embeddings.push(...embeddingResults);
529
+ }
530
+ // Step 3: Encrypt all contents (parallel, if enabled)
531
+ onProgress?.('encrypting', 35);
532
+ const encryptedContents = [];
533
+ if (this.services.config.features.enableEncryption && this.services.encryption) {
534
+ const encryptPromises = contents.map(async (content) => {
535
+ try {
536
+ const contentBytes = new TextEncoder().encode(content);
537
+ const result = await this.services.encryption.encrypt(contentBytes, this.services.config.userAddress, 2);
538
+ return result.encryptedObject;
539
+ }
540
+ catch {
541
+ return undefined;
542
+ }
543
+ });
544
+ const encryptResults = await Promise.all(encryptPromises);
545
+ encryptedContents.push(...encryptResults);
546
+ }
547
+ else {
548
+ encryptedContents.push(...contents.map(() => undefined));
549
+ }
550
+ // Step 4: Batch upload to Walrus using Quilt (single transaction!)
551
+ onProgress?.('uploading to Walrus (Quilt batch)', 50);
552
+ // Prepare batch memories for QuiltBatchManager
553
+ const batchMemories = contents.map((content, i) => ({
554
+ content,
555
+ category: categories[i],
556
+ importance,
557
+ topic: topic || '',
558
+ embedding: embeddings[i] || [],
559
+ encryptedContent: encryptedContents[i] || new TextEncoder().encode(content),
560
+ id: `memory-${Date.now()}-${i}` // Client-side tracking ID
561
+ }));
562
+ const quiltResult = await this.services.storage.uploadMemoryBatch(batchMemories, {
563
+ signer: this.services.config.signer.getSigner(),
564
+ epochs: 3,
565
+ userAddress: this.services.config.userAddress
566
+ });
567
+ const gasSavedEstimate = contents.length > 1 ? `~${((1 - 1 / contents.length) * 100).toFixed(0)}%` : '0%';
568
+ console.log(`✅ Quilt batch upload complete: ${quiltResult.files.length} files, ${gasSavedEstimate} gas saved, ${quiltResult.uploadTimeMs.toFixed(0)}ms`);
569
+ // Step 5: Register on-chain (batched PTB if available)
570
+ onProgress?.('registering on blockchain', 70);
571
+ const memoryObjectIds = [];
572
+ const vectorIds = [];
573
+ if (this.services.tx) {
574
+ // Create memory records for each file in the quilt
575
+ for (let i = 0; i < quiltResult.files.length; i++) {
576
+ const file = quiltResult.files[i];
577
+ const vectorId = (Date.now() + i) % 4294967295;
578
+ vectorIds.push(vectorId);
579
+ try {
580
+ const tx = this.services.tx.buildCreateMemoryRecord({
581
+ category: categories[i],
582
+ vectorId,
583
+ blobId: file.blobId,
584
+ contentType: 'text/plain',
585
+ contentSize: new TextEncoder().encode(contents[i]).length,
586
+ contentHash: file.blobId, // blob_id is content-addressed (blake2b256)
587
+ topic: options.topic || '',
588
+ importance,
589
+ embeddingBlobId: file.blobId, // Embedding stored in same blob
590
+ });
591
+ const txResult = await this.services.tx.executeTransaction(tx, this.services.config.signer.getSigner());
592
+ if (txResult.status === 'success') {
593
+ const memoryObject = txResult.createdObjects?.find((obj) => obj.objectType?.includes('::memory::Memory'));
594
+ memoryObjectIds.push(memoryObject?.objectId);
595
+ }
596
+ else {
597
+ memoryObjectIds.push(undefined);
598
+ }
599
+ }
600
+ catch (error) {
601
+ console.warn(`Failed to register memory ${i} on-chain:`, error);
602
+ memoryObjectIds.push(undefined);
603
+ }
604
+ }
605
+ }
606
+ // Step 6: Index locally (batch add to vector index)
607
+ // Option A+: Store content in index when encryption is OFF for fast local retrieval
608
+ // TODO(refactor): Extract common indexing logic into shared helper when adding new metadata fields.
609
+ // Related locations: MemoryNamespace.create(), MemoryIndexService.indexMemory(),
610
+ // ClientMemoryManager.createMemory(), rebuildIndexNode(), rebuildIndex()
611
+ onProgress?.('indexing vectors', 90);
612
+ if (this.services.vector && embeddings.length > 0) {
613
+ const spaceId = this.services.config.userAddress;
614
+ for (let i = 0; i < embeddings.length; i++) {
615
+ if (!embeddings[i])
616
+ continue;
617
+ const vectorId = vectorIds[i] || (Date.now() + i) % 4294967295;
618
+ const isEncrypted = !!encryptedContents[i] && this.services.config.features.enableEncryption;
619
+ const indexMetadata = {
620
+ ...metadata,
621
+ blobId: quiltResult.files[i]?.blobId,
622
+ memoryObjectId: memoryObjectIds[i],
623
+ category: categories[i],
624
+ importance,
625
+ topic: topic || '',
626
+ timestamp: Date.now(),
627
+ isEncrypted
628
+ };
629
+ // Option A+: Store content for fast local retrieval when encryption is OFF
630
+ if (!isEncrypted) {
631
+ indexMetadata.content = contents[i];
632
+ console.log(` 💾 Batch item ${i + 1}: Content stored in local index (encryption OFF)`);
633
+ }
634
+ else {
635
+ console.log(` 🔒 Batch item ${i + 1}: Content NOT stored in index (encryption ON)`);
636
+ }
637
+ try {
638
+ await this.services.vector.addVector(spaceId, vectorId, embeddings[i], indexMetadata);
639
+ }
640
+ catch (error) {
641
+ if (error.message?.includes('not found')) {
642
+ await this.services.vector.createIndex(spaceId, embeddings[i].length);
643
+ await this.services.vector.addVector(spaceId, vectorId, embeddings[i], indexMetadata);
644
+ }
645
+ }
646
+ }
647
+ }
648
+ onProgress?.('complete', 100);
649
+ // Build result array
650
+ const memories = contents.map((content, i) => ({
651
+ id: memoryObjectIds[i] || quiltResult.files[i]?.blobId || `batch-${i}`,
652
+ content,
653
+ category: categories[i],
654
+ importance,
655
+ topic,
656
+ blobId: quiltResult.files[i]?.blobId || '',
657
+ vectorId: vectorIds[i],
658
+ embedding: embeddings[i],
659
+ metadata: {
660
+ category: categories[i],
661
+ importance,
662
+ topic,
663
+ quiltId: quiltResult.quiltId,
664
+ ...metadata
665
+ },
666
+ encrypted: !!encryptedContents[i],
667
+ createdAt: Date.now()
668
+ }));
669
+ return memories;
670
+ }
671
+ catch (error) {
672
+ throw new Error(`Failed to create batch memories: ${error instanceof Error ? error.message : String(error)}`);
673
+ }
674
+ }
675
+ /**
676
+ * Delete multiple memories
677
+ *
678
+ * @param memoryIds - Array of memory IDs to delete
679
+ */
680
+ async deleteBatch(memoryIds) {
681
+ for (const id of memoryIds) {
682
+ await this.delete(id);
683
+ }
684
+ }
685
+ /**
686
+ * Update multiple memories in batch
687
+ *
688
+ * Updates memories in parallel batches:
689
+ * 1. For updates with new content: uploads new blobs to Walrus
690
+ * 2. Executes on-chain update transactions
691
+ * 3. Updates local vector index if enabled
692
+ *
693
+ * @param updates - Array of {id, content?, category?, importance?, topic?}
694
+ * @returns Array of successfully updated memory IDs
695
+ *
696
+ * @example
697
+ * ```typescript
698
+ * const updatedIds = await pdw.memory.updateBatch([
699
+ * { id: 'mem1', importance: 9 },
700
+ * { id: 'mem2', content: 'Updated content' }
701
+ * ]);
702
+ * ```
703
+ */
704
+ async updateBatch(updates) {
705
+ const successfulIds = [];
706
+ const BATCH_SIZE = 5;
707
+ for (let i = 0; i < updates.length; i += BATCH_SIZE) {
708
+ const batch = updates.slice(i, i + BATCH_SIZE);
709
+ const batchPromises = batch.map(async (update) => {
710
+ try {
711
+ await this.update(update.id, {
712
+ content: update.content,
713
+ category: update.category,
714
+ importance: update.importance,
715
+ topic: update.topic
716
+ });
717
+ return { success: true, id: update.id };
718
+ }
719
+ catch (error) {
720
+ const errorMsg = error instanceof Error ? error.message : String(error);
721
+ console.warn(`Failed to update memory ${update.id}:`, errorMsg);
722
+ return { success: false, id: update.id };
723
+ }
724
+ });
725
+ const batchResults = await Promise.all(batchPromises);
726
+ for (const result of batchResults) {
727
+ if (result.success) {
728
+ successfulIds.push(result.id);
729
+ }
730
+ }
731
+ }
732
+ return successfulIds;
733
+ }
734
+ /**
735
+ * Get memory with related context (related memories, knowledge graph)
736
+ *
737
+ * @param memoryId - Memory ID
738
+ * @param options - Context options
739
+ * @returns Memory with context
740
+ */
741
+ async getContext(memoryId, options = {}) {
742
+ const memory = await this.get(memoryId);
743
+ const context = {
744
+ memory,
745
+ related: []
746
+ };
747
+ // Get related memories if requested
748
+ if (options.includeRelated && memory.content) {
749
+ // Use local vector search if available
750
+ try {
751
+ if (this.services.memoryIndex) {
752
+ // Generate embedding for the memory content
753
+ const embedding = this.services.embedding
754
+ ? await this.services.embedding.embedText({ text: memory.content.substring(0, 500) })
755
+ : null;
756
+ if (embedding) {
757
+ const searchResults = await this.services.memoryIndex.searchMemories({
758
+ userAddress: this.services.config.userAddress,
759
+ vector: embedding.vector,
760
+ k: 5
761
+ });
762
+ context.related = searchResults
763
+ .filter((r) => r.memoryObjectId !== memoryId)
764
+ .slice(0, 5)
765
+ .map((r) => ({
766
+ id: r.memoryObjectId || r.id,
767
+ content: r.content || '',
768
+ category: r.category || 'general',
769
+ importance: r.importance,
770
+ blobId: r.blobId || r.memoryObjectId || r.id,
771
+ metadata: r.metadata,
772
+ createdAt: r.timestamp || Date.now()
773
+ }));
774
+ }
775
+ }
776
+ }
777
+ catch (error) {
778
+ console.warn('Failed to get related memories:', error);
779
+ context.related = [];
780
+ }
781
+ }
782
+ // Get knowledge graph if requested
783
+ if (options.includeGraph) {
784
+ const graphData = await this.services.storage.searchKnowledgeGraph(this.services.config.userAddress, { searchText: memory.content, limit: 10 });
785
+ context.entities = graphData.entities.map(e => ({
786
+ id: e.id,
787
+ name: e.label,
788
+ type: e.type
789
+ }));
790
+ context.relationships = graphData.relationships.map(r => ({
791
+ source: r.source,
792
+ target: r.target,
793
+ type: r.type || 'related'
794
+ }));
795
+ }
796
+ return context;
797
+ }
798
+ /**
799
+ * Get memories related to a specific memory
800
+ *
801
+ * @param memoryId - Memory ID
802
+ * @param k - Number of related memories to return
803
+ * @returns Array of related memories
804
+ */
805
+ async getRelated(memoryId, k = 5) {
806
+ const memory = await this.get(memoryId);
807
+ if (!memory.content) {
808
+ return [];
809
+ }
810
+ try {
811
+ // Generate embedding for content to find similar memories
812
+ if (!this.services.embedding) {
813
+ console.warn('Embedding service not available for related memories search');
814
+ return [];
815
+ }
816
+ const embResult = await this.services.embedding.embedText({
817
+ text: memory.content.substring(0, 500)
818
+ });
819
+ if (!this.services.memoryIndex) {
820
+ console.warn('Memory index service not available for related memories search');
821
+ return [];
822
+ }
823
+ const searchResults = await this.services.memoryIndex.searchMemories({
824
+ userAddress: this.services.config.userAddress,
825
+ vector: embResult.vector,
826
+ k: k + 1
827
+ });
828
+ return searchResults
829
+ .filter((r) => (r.blobId || r.id) !== memoryId)
830
+ .slice(0, k)
831
+ .map((r) => ({
832
+ id: r.id,
833
+ content: r.content || '',
834
+ category: r.category,
835
+ importance: r.metadata?.importance,
836
+ blobId: r.blobId || r.id,
837
+ metadata: r.metadata,
838
+ createdAt: r.timestamp ? new Date(r.timestamp).getTime() : Date.now()
839
+ }));
840
+ }
841
+ catch (error) {
842
+ console.warn('Failed to get related memories:', error);
843
+ return [];
844
+ }
845
+ }
846
+ /**
847
+ * Export memories to file format
848
+ *
849
+ * Exports memories to JSON or CSV format for backup/portability
850
+ *
851
+ * @param options - Export options
852
+ * @returns Exported data as string
853
+ */
854
+ async export(options = {}) {
855
+ const { format = 'json', includeContent = true, includeEmbeddings = false, category, limit } = options;
856
+ try {
857
+ // Get memories
858
+ const memories = await this.list({ category, limit });
859
+ if (format === 'json') {
860
+ // JSON export
861
+ const exportData = memories.map(m => ({
862
+ id: m.id,
863
+ content: includeContent ? m.content : undefined,
864
+ category: m.category,
865
+ importance: m.importance,
866
+ topic: m.topic,
867
+ blobId: m.blobId,
868
+ embedding: includeEmbeddings ? m.embedding : undefined,
869
+ metadata: m.metadata,
870
+ createdAt: m.createdAt,
871
+ updatedAt: m.updatedAt
872
+ }));
873
+ return JSON.stringify(exportData, null, 2);
874
+ }
875
+ else {
876
+ // CSV export
877
+ const headers = [
878
+ 'id',
879
+ 'category',
880
+ 'importance',
881
+ 'topic',
882
+ 'blobId',
883
+ 'createdAt',
884
+ includeContent ? 'content' : null
885
+ ].filter(Boolean);
886
+ const rows = memories.map(m => [
887
+ m.id,
888
+ m.category || '',
889
+ m.importance || '',
890
+ m.topic || '',
891
+ m.blobId,
892
+ new Date(m.createdAt).toISOString(),
893
+ includeContent ? `"${(m.content || '').replace(/"/g, '""')}"` : null
894
+ ].filter(v => v !== null));
895
+ const csv = [
896
+ headers.join(','),
897
+ ...rows.map(row => row.join(','))
898
+ ].join('\n');
899
+ return csv;
900
+ }
901
+ }
902
+ catch (error) {
903
+ throw new Error(`Failed to export memories: ${error instanceof Error ? error.message : String(error)}`);
904
+ }
905
+ }
906
+ }
907
+ //# sourceMappingURL=MemoryNamespace.js.map