@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,1036 @@
1
+ /**
2
+ * Search Namespace - All Search Methods
3
+ *
4
+ * Provides comprehensive search capabilities:
5
+ * - Vector similarity search
6
+ * - Semantic search (AI-enhanced)
7
+ * - Keyword search (metadata)
8
+ * - Hybrid search (combined)
9
+ * - Temporal search (date-based)
10
+ * - Category filtering
11
+ *
12
+ * @module client/namespaces
13
+ */
14
+
15
+ import type { ServiceContainer } from '../SimplePDWClient';
16
+
17
+ /**
18
+ * Search result item
19
+ *
20
+ * NOTE: `content` is empty by default for privacy. Content is stored encrypted
21
+ * on Walrus and not in the index. Use `pdw.search.withContent()` or
22
+ * `pdw.memory.get(blobId)` to retrieve decrypted content.
23
+ */
24
+ export interface SearchResult {
25
+ id: string;
26
+ /** Empty by default - use withContent() to fetch from Walrus */
27
+ content: string;
28
+ score: number;
29
+ similarity: number;
30
+ category?: string;
31
+ importance?: number;
32
+ topic?: string;
33
+ /** Use this to fetch content: pdw.memory.get(blobId) */
34
+ blobId: string;
35
+ metadata?: Record<string, any>;
36
+ timestamp: number;
37
+ }
38
+
39
+ /**
40
+ * Vector search options
41
+ */
42
+ export interface VectorSearchOptions {
43
+ limit?: number;
44
+ threshold?: number; // Minimum similarity score
45
+ category?: string;
46
+ includeEmbeddings?: boolean;
47
+ /**
48
+ * Fetch content from Walrus for each result (slower but includes content)
49
+ * @default false
50
+ */
51
+ fetchContent?: boolean;
52
+ }
53
+
54
+ /**
55
+ * Semantic search options
56
+ */
57
+ export interface SemanticSearchOptions extends VectorSearchOptions {
58
+ rerank?: boolean; // Use AI to rerank results
59
+ }
60
+
61
+ /**
62
+ * Keyword search options
63
+ */
64
+ export interface KeywordSearchOptions {
65
+ limit?: number;
66
+ category?: string;
67
+ fields?: string[]; // Which metadata fields to search
68
+ caseSensitive?: boolean;
69
+ }
70
+
71
+ /**
72
+ * Hybrid search options
73
+ */
74
+ export interface HybridSearchOptions {
75
+ limit?: number;
76
+ vectorWeight?: number; // 0-1, weight for vector search
77
+ keywordWeight?: number; // 0-1, weight for keyword search
78
+ category?: string;
79
+ }
80
+
81
+ /**
82
+ * Date range for temporal search
83
+ */
84
+ export interface DateRange {
85
+ start: Date | string;
86
+ end?: Date | string;
87
+ }
88
+
89
+ /**
90
+ * Search Namespace
91
+ *
92
+ * Handles all types of search operations
93
+ */
94
+ export class SearchNamespace {
95
+ constructor(private services: ServiceContainer) {}
96
+
97
+ /**
98
+ * Vector similarity search
99
+ *
100
+ * Searches memories by semantic similarity using embeddings.
101
+ *
102
+ * NOTE: Content is NOT included by default for privacy (content is encrypted on Walrus).
103
+ * Use `fetchContent: true` option or call `pdw.memory.get(blobId)` to get content.
104
+ *
105
+ * @param query - Text query to search for
106
+ * @param options - Search options
107
+ * @returns Sorted array of results by similarity (content empty unless fetchContent=true)
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * // Fast search (no content)
112
+ * const results = await pdw.search.vector('programming');
113
+ *
114
+ * // Search with content (slower - fetches from Walrus)
115
+ * const results = await pdw.search.vector('programming', { fetchContent: true });
116
+ *
117
+ * // Or fetch content for specific result
118
+ * const memory = await pdw.memory.get(results[0].blobId);
119
+ * ```
120
+ */
121
+ async vector(query: string, options: VectorSearchOptions = {}): Promise<SearchResult[]> {
122
+ const { limit = 10, threshold = 0.7, category, fetchContent = false } = options;
123
+
124
+ try {
125
+ // Generate query embedding
126
+ if (!this.services.embedding) {
127
+ throw new Error('Embedding service not configured. Please provide geminiApiKey in config.');
128
+ }
129
+
130
+ const embResult = await this.services.embedding.embedText({
131
+ text: query
132
+ });
133
+
134
+ // Search using local HNSW index (VectorService)
135
+ if (!this.services.vector) {
136
+ throw new Error('Vector service not configured. Enable local indexing in config.');
137
+ }
138
+
139
+ const spaceId = this.services.config.userAddress;
140
+
141
+ // Search in local HNSW index
142
+ const searchResult = await this.services.vector.searchVectors(spaceId, embResult.vector, {
143
+ k: limit
144
+ });
145
+
146
+ // Filter by threshold and category
147
+ let results = searchResult.results.filter((r: any) => r.similarity >= threshold);
148
+
149
+ if (category) {
150
+ results = results.filter((r: any) =>
151
+ r.metadata?.category === category
152
+ );
153
+ }
154
+
155
+ // Convert to SearchResult format
156
+ // Option A+: Content may be available from local index when encryption is OFF
157
+ const searchResults: SearchResult[] = results.map((r: any) => ({
158
+ id: r.memoryId || r.vectorId.toString(),
159
+ content: r.metadata?.content || r.content || '', // ✅ Get content from index metadata if available
160
+ score: r.similarity,
161
+ similarity: r.similarity,
162
+ category: r.metadata?.category,
163
+ importance: r.metadata?.importance || 5,
164
+ topic: r.metadata?.topic,
165
+ blobId: r.metadata?.blobId || r.memoryId || r.vectorId.toString(),
166
+ metadata: r.metadata || {},
167
+ timestamp: r.metadata?.timestamp || Date.now()
168
+ }));
169
+
170
+ // Optionally fetch content from Walrus
171
+ if (fetchContent) {
172
+ await this.populateContent(searchResults);
173
+ }
174
+
175
+ return searchResults;
176
+ } catch (error) {
177
+ throw new Error(`Vector search failed: ${error instanceof Error ? error.message : String(error)}`);
178
+ }
179
+ }
180
+
181
+ /**
182
+ * Semantic search (AI-enhanced)
183
+ *
184
+ * Uses AI to understand query intent and rerank results
185
+ *
186
+ * @param query - Natural language query
187
+ * @param options - Search options
188
+ * @returns Semantically relevant results
189
+ */
190
+ async semantic(query: string, options: SemanticSearchOptions = {}): Promise<SearchResult[]> {
191
+ try {
192
+ if (!this.services.query) {
193
+ throw new Error('Query service not available');
194
+ }
195
+
196
+ // Use QueryService for semantic search
197
+ const results = await this.services.query.semanticSearch(
198
+ {
199
+ query,
200
+ userAddress: this.services.config.userAddress,
201
+ queryType: 'semantic',
202
+ k: options.limit || 10,
203
+ threshold: options.threshold || 0.6
204
+ },
205
+ {
206
+ expandQuery: options.rerank ?? true // Use expandQuery instead of rerank
207
+ }
208
+ );
209
+
210
+ return results.map((r: any) => ({
211
+ id: r.id,
212
+ content: r.content || '',
213
+ score: r.similarity_score || 0,
214
+ similarity: r.similarity_score || 0,
215
+ category: r.category,
216
+ importance: r.metadata?.importance,
217
+ blobId: r.blobId || r.id,
218
+ metadata: r.metadata || {},
219
+ timestamp: r.timestamp ? new Date(r.timestamp).getTime() : Date.now()
220
+ }));
221
+ } catch (error) {
222
+ throw new Error(`Semantic search failed: ${error instanceof Error ? error.message : String(error)}`);
223
+ }
224
+ }
225
+
226
+ /**
227
+ * Keyword search (metadata-based)
228
+ *
229
+ * Searches in metadata fields using keywords
230
+ *
231
+ * @param query - Keyword to search for
232
+ * @param options - Search options
233
+ * @returns Matching memories
234
+ */
235
+ async keyword(query: string, options: KeywordSearchOptions = {}): Promise<SearchResult[]> {
236
+ try {
237
+ const { limit = 10, category, fields = ['content', 'topic'], caseSensitive = false } = options;
238
+
239
+ // Use QueryService for keyword search
240
+ const results = await this.services.query.keywordSearch({
241
+ query,
242
+ userAddress: this.services.config.userAddress,
243
+ queryType: 'keyword',
244
+ categories: category ? [category] : undefined,
245
+ limit
246
+ });
247
+
248
+ return results.map((r: any) => ({
249
+ id: r.id,
250
+ content: r.content || '',
251
+ score: 1.0, // Keyword match = binary
252
+ similarity: 1.0,
253
+ category: r.category,
254
+ importance: r.metadata?.importance,
255
+ blobId: r.blobId || r.id,
256
+ metadata: r.metadata || {},
257
+ timestamp: r.timestamp ? new Date(r.timestamp).getTime() : Date.now()
258
+ }));
259
+ } catch (error) {
260
+ throw new Error(`Keyword search failed: ${error instanceof Error ? error.message : String(error)}`);
261
+ }
262
+ }
263
+
264
+ /**
265
+ * Hybrid search (vector + keyword)
266
+ *
267
+ * Combines vector similarity and keyword matching
268
+ *
269
+ * @param query - Search query
270
+ * @param options - Hybrid search options
271
+ * @returns Ranked results from both methods
272
+ */
273
+ async hybrid(query: string, options: HybridSearchOptions = {}): Promise<SearchResult[]> {
274
+ try {
275
+ const {
276
+ limit = 10,
277
+ vectorWeight = 0.7,
278
+ keywordWeight = 0.3,
279
+ category
280
+ } = options;
281
+
282
+ // Use QueryService for hybrid search
283
+ const results = await this.services.query.hybridSearch({
284
+ query,
285
+ userAddress: this.services.config.userAddress,
286
+ queryType: 'hybrid',
287
+ limit,
288
+ categories: category ? [category] : undefined
289
+ });
290
+
291
+ return results.map((r: any) => ({
292
+ id: r.id,
293
+ content: r.content || '',
294
+ score: r.similarity_score || 0,
295
+ similarity: r.similarity_score || 0,
296
+ category: r.category,
297
+ importance: r.metadata?.importance,
298
+ blobId: r.blobId || r.id,
299
+ metadata: r.metadata || {},
300
+ timestamp: r.timestamp ? new Date(r.timestamp).getTime() : Date.now()
301
+ }));
302
+ } catch (error) {
303
+ throw new Error(`Hybrid search failed: ${error instanceof Error ? error.message : String(error)}`);
304
+ }
305
+ }
306
+
307
+ /**
308
+ * Search by category
309
+ *
310
+ * First tries local vector index (for recently created memories),
311
+ * then queries blockchain for on-chain Memory objects.
312
+ * Combines results and deduplicates by blobId.
313
+ *
314
+ * @param category - Category to filter by
315
+ * @param options - Additional options
316
+ * @returns Memories in category
317
+ */
318
+ async byCategory(category: string, options: VectorSearchOptions = {}): Promise<SearchResult[]> {
319
+ try {
320
+ const limit = options.limit || 50;
321
+ const results: SearchResult[] = [];
322
+ const seenIds = new Set<string>();
323
+
324
+ // 1. First check local vector index (includes recently created memories)
325
+ // Use VectorService.getVectorsByCategory() method
326
+ if (this.services.vector) {
327
+ try {
328
+ const spaceId = this.services.config.userAddress;
329
+ const localResults = this.services.vector.getVectorsByCategory(spaceId, category);
330
+
331
+ for (const { vectorId, metadata } of localResults) {
332
+ const id = metadata?.blobId || metadata?.memoryId || vectorId?.toString();
333
+ if (id && !seenIds.has(id)) {
334
+ seenIds.add(id);
335
+ results.push({
336
+ id,
337
+ content: metadata?.content || '',
338
+ score: 1.0,
339
+ similarity: 1.0,
340
+ category: metadata?.category,
341
+ importance: metadata?.importance || 5,
342
+ topic: metadata?.topic,
343
+ blobId: id,
344
+ metadata: metadata || {},
345
+ timestamp: metadata?.timestamp || Date.now()
346
+ });
347
+ }
348
+ }
349
+ } catch (localError) {
350
+ // Local index access failed, continue with on-chain query
351
+ console.log('Local index search skipped:', localError);
352
+ }
353
+ }
354
+
355
+ // 2. Query on-chain Memory objects
356
+ const viewService = this.services.viewService;
357
+ if (viewService) {
358
+ try {
359
+ const response = await viewService.getUserMemories(
360
+ this.services.config.userAddress,
361
+ { limit, category }
362
+ );
363
+
364
+ for (const m of response.data) {
365
+ const id = m.id || m.blobId;
366
+ if (id && !seenIds.has(id)) {
367
+ seenIds.add(id);
368
+ results.push({
369
+ id,
370
+ content: '',
371
+ score: 1.0,
372
+ similarity: 1.0,
373
+ category: m.category,
374
+ importance: m.importance || 5,
375
+ topic: m.topic,
376
+ blobId: m.blobId || id,
377
+ metadata: {
378
+ category: m.category,
379
+ importance: m.importance,
380
+ topic: m.topic
381
+ },
382
+ timestamp: m.createdAt || Date.now()
383
+ });
384
+ }
385
+ }
386
+ } catch (viewError) {
387
+ console.log('On-chain query failed:', viewError);
388
+ }
389
+ }
390
+
391
+ return results.slice(0, limit);
392
+ } catch (error) {
393
+ throw new Error(`Category search failed: ${error instanceof Error ? error.message : String(error)}`);
394
+ }
395
+ }
396
+
397
+ /**
398
+ * Search by date range
399
+ *
400
+ * @param dateRange - Start and end dates
401
+ * @param options - Additional options
402
+ * @returns Memories within date range
403
+ */
404
+ async byDate(dateRange: DateRange, options: VectorSearchOptions = {}): Promise<SearchResult[]> {
405
+ try {
406
+ const start = typeof dateRange.start === 'string'
407
+ ? new Date(dateRange.start)
408
+ : dateRange.start;
409
+
410
+ const end = dateRange.end
411
+ ? (typeof dateRange.end === 'string' ? new Date(dateRange.end) : dateRange.end)
412
+ : new Date();
413
+
414
+ // Use QueryService for temporal search
415
+ const results = await this.services.query.temporalSearch({
416
+ userAddress: this.services.config.userAddress,
417
+ queryType: 'temporal',
418
+ dateRange: { start, end },
419
+ limit: options.limit || 50,
420
+ categories: options.category ? [options.category] : undefined
421
+ });
422
+
423
+ return results.map((r: any) => ({
424
+ id: r.id,
425
+ content: r.content || '',
426
+ score: 1.0,
427
+ similarity: 1.0,
428
+ category: r.category,
429
+ importance: r.metadata?.importance,
430
+ blobId: r.blobId || r.id,
431
+ metadata: r.metadata || {},
432
+ timestamp: r.timestamp ? new Date(r.timestamp).getTime() : Date.now()
433
+ }));
434
+ } catch (error) {
435
+ throw new Error(`Temporal search failed: ${error instanceof Error ? error.message : String(error)}`);
436
+ }
437
+ }
438
+
439
+ /**
440
+ * Search by importance range
441
+ *
442
+ * @param min - Minimum importance (1-10)
443
+ * @param max - Maximum importance (1-10)
444
+ * @param options - Additional options
445
+ * @returns Memories within importance range
446
+ */
447
+ async byImportance(
448
+ min: number,
449
+ max: number = 10,
450
+ options: VectorSearchOptions = {}
451
+ ): Promise<SearchResult[]> {
452
+ const memoriesResult = await this.services.viewService?.getUserMemories(
453
+ this.services.config.userAddress
454
+ );
455
+ const allMemories = memoriesResult?.data || [];
456
+
457
+ const filtered = allMemories.filter((m: any) => {
458
+ const importance = m.importance || m.metadata?.importance || 5;
459
+ return importance >= min && importance <= max;
460
+ });
461
+
462
+ const limit = options.limit || 50;
463
+ return filtered.slice(0, limit).map((m: any) => ({
464
+ id: m.id || m.blobId,
465
+ content: m.content || '',
466
+ score: 1.0,
467
+ similarity: 1.0,
468
+ category: m.category || m.metadata?.category,
469
+ importance: m.importance || m.metadata?.importance,
470
+ blobId: m.blobId || m.id,
471
+ metadata: m.metadata,
472
+ timestamp: m.timestamp || Date.now()
473
+ }));
474
+ }
475
+
476
+ /**
477
+ * Advanced search with complex filters
478
+ *
479
+ * @param query - Search query or filters
480
+ * @returns Filtered and ranked results
481
+ */
482
+ async advanced(query: {
483
+ text?: string;
484
+ category?: string;
485
+ importance?: { min: number; max: number };
486
+ dateRange?: DateRange;
487
+ limit?: number;
488
+ }): Promise<SearchResult[]> {
489
+ try {
490
+ // Combine multiple search strategies
491
+ let results: SearchResult[] = [];
492
+
493
+ // Start with vector search if text provided
494
+ if (query.text) {
495
+ results = await this.vector(query.text, {
496
+ limit: query.limit || 50,
497
+ category: query.category
498
+ });
499
+ } else {
500
+ // Get all memories
501
+ const memoriesResult = await this.services.viewService?.getUserMemories(
502
+ this.services.config.userAddress
503
+ );
504
+ const memories = memoriesResult?.data || [];
505
+
506
+ results = memories.map((m: any) => ({
507
+ id: m.id || m.blobId,
508
+ content: m.content || '',
509
+ score: 1.0,
510
+ similarity: 1.0,
511
+ category: m.category || m.metadata?.category,
512
+ importance: m.importance || m.metadata?.importance,
513
+ blobId: m.blobId || m.id,
514
+ metadata: m.metadata,
515
+ timestamp: m.timestamp || Date.now()
516
+ }));
517
+ }
518
+
519
+ // Apply filters
520
+ if (query.importance) {
521
+ results = results.filter(r =>
522
+ (r.importance || 5) >= query.importance!.min &&
523
+ (r.importance || 5) <= query.importance!.max
524
+ );
525
+ }
526
+
527
+ if (query.dateRange) {
528
+ const start = typeof query.dateRange.start === 'string'
529
+ ? new Date(query.dateRange.start).getTime()
530
+ : query.dateRange.start.getTime();
531
+
532
+ const end = query.dateRange.end
533
+ ? (typeof query.dateRange.end === 'string'
534
+ ? new Date(query.dateRange.end).getTime()
535
+ : query.dateRange.end.getTime())
536
+ : Date.now();
537
+
538
+ results = results.filter(r =>
539
+ r.timestamp >= start && r.timestamp <= end
540
+ );
541
+ }
542
+
543
+ return results.slice(0, query.limit || 50);
544
+ } catch (error) {
545
+ throw new Error(`Advanced search failed: ${error instanceof Error ? error.message : String(error)}`);
546
+ }
547
+ }
548
+
549
+ /**
550
+ * Graph-based search
551
+ *
552
+ * Search using knowledge graph relationships
553
+ *
554
+ * @param query - Entity or concept to search
555
+ * @param options - Search options
556
+ * @returns Related memories via graph connections
557
+ */
558
+ async graph(query: string, options: VectorSearchOptions = {}): Promise<SearchResult[]> {
559
+ try {
560
+ if (!this.services.query) {
561
+ throw new Error('Query service not available');
562
+ }
563
+
564
+ // Use QueryService.graphSearch - returns { memories, graphResults }
565
+ const result = await this.services.query.graphSearch({
566
+ query,
567
+ userAddress: this.services.config.userAddress,
568
+ queryType: 'graph',
569
+ limit: options.limit || 10
570
+ });
571
+
572
+ // Extract memories array from result
573
+ const memories = result.memories || [];
574
+
575
+ return memories.map((r: any) => ({
576
+ id: r.id,
577
+ content: r.content || '',
578
+ score: r.similarity_score || 0,
579
+ similarity: r.similarity_score || 0,
580
+ category: r.category,
581
+ importance: r.metadata?.importance,
582
+ blobId: r.blobId || r.id,
583
+ metadata: r.metadata || {},
584
+ timestamp: r.timestamp ? new Date(r.timestamp).getTime() : Date.now()
585
+ }));
586
+ } catch (error) {
587
+ throw new Error(`Graph search failed: ${error instanceof Error ? error.message : String(error)}`);
588
+ }
589
+ }
590
+
591
+ /**
592
+ * Search with embedding vectors included
593
+ *
594
+ * Same as vector search but includes embedding vectors in results
595
+ *
596
+ * @param query - Search query
597
+ * @param options - Search options
598
+ * @returns Results with embedding vectors
599
+ */
600
+ async withEmbeddings(query: string, options: VectorSearchOptions = {}): Promise<SearchResult[]> {
601
+ return this.vector(query, {
602
+ ...options,
603
+ includeEmbeddings: true
604
+ });
605
+ }
606
+
607
+ /**
608
+ * Multi-vector search
609
+ *
610
+ * Search using multiple query vectors/texts
611
+ *
612
+ * @param queries - Array of query texts
613
+ * @param options - Search options
614
+ * @returns Combined and deduplicated results
615
+ */
616
+ async multiVector(queries: string[], options: VectorSearchOptions = {}): Promise<SearchResult[]> {
617
+ try {
618
+ const allResults: SearchResult[] = [];
619
+ const seenIds = new Set<string>();
620
+
621
+ // Search for each query
622
+ for (const query of queries) {
623
+ const results = await this.vector(query, {
624
+ ...options,
625
+ limit: Math.ceil((options.limit || 10) / queries.length)
626
+ });
627
+
628
+ // Deduplicate
629
+ results.forEach(r => {
630
+ if (!seenIds.has(r.id)) {
631
+ allResults.push(r);
632
+ seenIds.add(r.id);
633
+ }
634
+ });
635
+ }
636
+
637
+ // Sort by score and limit
638
+ allResults.sort((a, b) => b.score - a.score);
639
+ return allResults.slice(0, options.limit || 10);
640
+ } catch (error) {
641
+ throw new Error(`Multi-vector search failed: ${error instanceof Error ? error.message : String(error)}`);
642
+ }
643
+ }
644
+
645
+ /**
646
+ * Rerank search results using AI
647
+ *
648
+ * Takes existing results and reranks them using AI for better relevance
649
+ *
650
+ * @param results - Initial search results
651
+ * @param query - Original query for context
652
+ * @param options - Rerank options
653
+ * @returns Reranked results
654
+ */
655
+ async rerank(
656
+ results: SearchResult[],
657
+ query: string,
658
+ options: { limit?: number } = {}
659
+ ): Promise<SearchResult[]> {
660
+ try {
661
+ if (!this.services.classifier) {
662
+ throw new Error('Classifier service not configured. Need geminiApiKey for AI reranking.');
663
+ }
664
+
665
+ // Simple reranking: boost results by importance and category match
666
+ const queryLower = query.toLowerCase();
667
+
668
+ const scored = results.map(r => {
669
+ let boost = 0;
670
+
671
+ // Importance boost
672
+ boost += ((r.importance || 5) - 5) * 0.02;
673
+
674
+ // Content relevance boost (simple keyword match)
675
+ if (r.content.toLowerCase().includes(queryLower)) {
676
+ boost += 0.1;
677
+ }
678
+
679
+ // Topic relevance boost
680
+ if (r.topic?.toLowerCase().includes(queryLower)) {
681
+ boost += 0.05;
682
+ }
683
+
684
+ return {
685
+ ...r,
686
+ score: Math.min(1.0, r.score + boost)
687
+ };
688
+ });
689
+
690
+ // Sort by new score
691
+ scored.sort((a, b) => b.score - a.score);
692
+
693
+ return scored.slice(0, options.limit || results.length);
694
+ } catch (error) {
695
+ throw new Error(`Rerank failed: ${error instanceof Error ? error.message : String(error)}`);
696
+ }
697
+ }
698
+
699
+ /**
700
+ * Populate content for search results by fetching from Walrus
701
+ *
702
+ * Fetches and decrypts content for each result in parallel.
703
+ * Modifies results in-place.
704
+ *
705
+ * @param results - Search results to populate
706
+ */
707
+ private async populateContent(results: SearchResult[]): Promise<void> {
708
+ // Option A+: Skip Walrus fetch for results that already have content from local index
709
+ const resultsNeedingFetch = results.filter(r => !r.content && r.blobId);
710
+ const resultsWithLocalContent = results.length - resultsNeedingFetch.length;
711
+
712
+ if (resultsWithLocalContent > 0) {
713
+ console.log(`📦 ${resultsWithLocalContent}/${results.length} results already have content from local index (skipping Walrus fetch)`);
714
+ }
715
+
716
+ if (resultsNeedingFetch.length === 0) {
717
+ console.log('✅ All content available locally - no Walrus fetch needed!');
718
+ return;
719
+ }
720
+
721
+ console.log(`🐳 Fetching content from Walrus for ${resultsNeedingFetch.length} results...`);
722
+
723
+ const fetchPromises = resultsNeedingFetch.map(async (result) => {
724
+ try {
725
+ if (result.blobId) {
726
+ const memoryPackage = await this.services.storage.retrieveMemoryPackage(result.blobId);
727
+ if (memoryPackage.memoryPackage?.content) {
728
+ result.content = memoryPackage.memoryPackage.content;
729
+ }
730
+ }
731
+ } catch (error) {
732
+ // Log but don't fail - content fetch is best-effort
733
+ console.warn(`Failed to fetch content for ${result.blobId}:`, error);
734
+ }
735
+ });
736
+
737
+ await Promise.all(fetchPromises);
738
+ }
739
+
740
+ /**
741
+ * Search and fetch content in one call
742
+ *
743
+ * Convenience method that combines vector search with content fetching.
744
+ *
745
+ * @param query - Search query
746
+ * @param options - Search options
747
+ * @returns Results with content populated
748
+ *
749
+ * @example
750
+ * ```typescript
751
+ * const results = await pdw.search.withContent('programming');
752
+ * console.log(results[0].content); // "I love TypeScript..."
753
+ * ```
754
+ */
755
+ async withContent(query: string, options: VectorSearchOptions = {}): Promise<SearchResult[]> {
756
+ return this.vector(query, { ...options, fetchContent: true });
757
+ }
758
+
759
+ // ==========================================================================
760
+ // Knowledge Graph Methods (from GraphNamespace)
761
+ // ==========================================================================
762
+
763
+ /**
764
+ * Get all entities from knowledge graph
765
+ *
766
+ * @param options - Filter options
767
+ * @returns Array of entities
768
+ *
769
+ * @example
770
+ * ```typescript
771
+ * const entities = await pdw.search.entities({ type: 'PERSON' });
772
+ * ```
773
+ */
774
+ async entities(options: {
775
+ type?: string;
776
+ minConfidence?: number;
777
+ limit?: number;
778
+ } = {}): Promise<Array<{
779
+ id: string;
780
+ name: string;
781
+ type: string;
782
+ confidence: number;
783
+ }>> {
784
+ try {
785
+ const graphData = await this.services.storage.searchKnowledgeGraph(
786
+ this.services.config.userAddress,
787
+ { limit: options.limit || 100 }
788
+ );
789
+
790
+ let entities = graphData.entities;
791
+
792
+ if (options.type) {
793
+ entities = entities.filter((e: any) => e.type === options.type);
794
+ }
795
+
796
+ if (options.minConfidence) {
797
+ entities = entities.filter((e: any) => (e.confidence || 0) >= options.minConfidence!);
798
+ }
799
+
800
+ return entities.map((e: any) => ({
801
+ id: e.id,
802
+ name: e.label || '',
803
+ type: e.type,
804
+ confidence: e.confidence || 0
805
+ }));
806
+ } catch (error) {
807
+ throw new Error(`Get entities failed: ${error instanceof Error ? error.message : String(error)}`);
808
+ }
809
+ }
810
+
811
+ /**
812
+ * Get all relationships from knowledge graph
813
+ *
814
+ * @param options - Filter options
815
+ * @returns Array of relationships
816
+ *
817
+ * @example
818
+ * ```typescript
819
+ * const rels = await pdw.search.relationships({ type: 'WORKS_AT' });
820
+ * ```
821
+ */
822
+ async relationships(options: {
823
+ type?: string;
824
+ sourceId?: string;
825
+ targetId?: string;
826
+ minConfidence?: number;
827
+ limit?: number;
828
+ } = {}): Promise<Array<{
829
+ id: string;
830
+ source: string;
831
+ target: string;
832
+ type: string;
833
+ confidence: number;
834
+ }>> {
835
+ try {
836
+ const graphData = await this.services.storage.searchKnowledgeGraph(
837
+ this.services.config.userAddress,
838
+ {
839
+ searchText: options.sourceId || options.targetId || '',
840
+ limit: options.limit || 100
841
+ }
842
+ );
843
+
844
+ let relationships = graphData.relationships;
845
+
846
+ if (options.type) {
847
+ relationships = relationships.filter((r: any) => r.type === options.type);
848
+ }
849
+
850
+ if (options.sourceId) {
851
+ relationships = relationships.filter((r: any) => r.source === options.sourceId);
852
+ }
853
+
854
+ if (options.targetId) {
855
+ relationships = relationships.filter((r: any) => r.target === options.targetId);
856
+ }
857
+
858
+ if (options.minConfidence) {
859
+ relationships = relationships.filter((r: any) =>
860
+ (r.confidence || 0) >= options.minConfidence!
861
+ );
862
+ }
863
+
864
+ return relationships.map((r: any) => ({
865
+ id: `${r.source}-${r.target}`,
866
+ source: r.source,
867
+ target: r.target,
868
+ type: r.type || 'related',
869
+ confidence: r.confidence || 0
870
+ }));
871
+ } catch (error) {
872
+ throw new Error(`Get relationships failed: ${error instanceof Error ? error.message : String(error)}`);
873
+ }
874
+ }
875
+
876
+ // ==========================================================================
877
+ // Index Management (from IndexNamespace)
878
+ // ==========================================================================
879
+
880
+ /**
881
+ * Index management operations
882
+ *
883
+ * Access via pdw.search.index.*
884
+ */
885
+ get index(): IndexSubNamespace {
886
+ if (!this._indexSubNamespace) {
887
+ this._indexSubNamespace = new IndexSubNamespace(this.services);
888
+ }
889
+ return this._indexSubNamespace;
890
+ }
891
+
892
+ private _indexSubNamespace?: IndexSubNamespace;
893
+ }
894
+
895
+ /**
896
+ * Index sub-namespace for HNSW index management
897
+ */
898
+ class IndexSubNamespace {
899
+ constructor(private services: ServiceContainer) {}
900
+
901
+ /**
902
+ * Get the underlying index service
903
+ */
904
+ private getService() {
905
+ if (this.services.memoryIndex) {
906
+ return { type: 'memoryIndex' as const, service: this.services.memoryIndex };
907
+ }
908
+ if (this.services.vector) {
909
+ return { type: 'vector' as const, service: this.services.vector };
910
+ }
911
+ throw new Error('No indexing service configured. Enable local indexing in config.');
912
+ }
913
+
914
+ /**
915
+ * Save index to Walrus storage
916
+ *
917
+ * Persists the HNSW index binary to Walrus for durability.
918
+ *
919
+ * @param spaceId - Index space identifier (userAddress)
920
+ * @returns Blob ID of saved index on Walrus, or null if no index exists
921
+ *
922
+ * @example
923
+ * ```typescript
924
+ * const blobId = await pdw.search.index.save(userAddress);
925
+ * console.log('Index saved to Walrus:', blobId);
926
+ * ```
927
+ */
928
+ async save(spaceId: string): Promise<void> {
929
+ const { type, service } = this.getService();
930
+
931
+ if (type === 'memoryIndex') {
932
+ await service.saveIndex(spaceId);
933
+ console.log(`Index saved for space: ${spaceId}`);
934
+ } else {
935
+ await service.saveIndex(spaceId);
936
+ }
937
+ }
938
+
939
+ /**
940
+ * Load index from Walrus storage
941
+ *
942
+ * Loads a previously saved HNSW index from Walrus.
943
+ *
944
+ * @param spaceId - Index space identifier (userAddress)
945
+ * @param blobId - Blob ID of the saved index on Walrus
946
+ *
947
+ * @example
948
+ * ```typescript
949
+ * await pdw.search.index.load(userAddress, 'blobId123');
950
+ * ```
951
+ */
952
+ async load(spaceId: string, blobId: string): Promise<void> {
953
+ const { type, service } = this.getService();
954
+
955
+ if (type === 'memoryIndex') {
956
+ await service.loadIndex(spaceId, blobId);
957
+ console.log(`Index loaded from Walrus: ${blobId}`);
958
+ } else {
959
+ await service.loadIndex(spaceId, blobId);
960
+ }
961
+ }
962
+
963
+ /**
964
+ * Get index statistics
965
+ *
966
+ * @param spaceId - Index space identifier
967
+ * @returns Index statistics
968
+ *
969
+ * @example
970
+ * ```typescript
971
+ * const stats = pdw.search.index.stats(userAddress);
972
+ * console.log('Total vectors:', stats.totalVectors);
973
+ * ```
974
+ */
975
+ stats(spaceId: string): {
976
+ totalVectors: number;
977
+ dimension: number;
978
+ spaceType: string;
979
+ maxElements: number;
980
+ currentCount: number;
981
+ } {
982
+ const { type, service } = this.getService();
983
+
984
+ if (type === 'memoryIndex') {
985
+ const stats = service.getIndexStats(spaceId);
986
+ return {
987
+ totalVectors: stats.totalMemories || 0,
988
+ dimension: 3072,
989
+ spaceType: 'cosine',
990
+ maxElements: 10000,
991
+ currentCount: stats.indexSize || stats.totalMemories || 0
992
+ };
993
+ } else {
994
+ const entry = (service as any).indexCache?.get(spaceId);
995
+ if (!entry) {
996
+ throw new Error(`Index ${spaceId} not found`);
997
+ }
998
+ const currentCount = entry.index.getCurrentCount?.() || 0;
999
+ return {
1000
+ totalVectors: currentCount,
1001
+ dimension: 3072,
1002
+ spaceType: 'cosine',
1003
+ maxElements: 10000,
1004
+ currentCount
1005
+ };
1006
+ }
1007
+ }
1008
+
1009
+ /**
1010
+ * Clear index and remove all vectors
1011
+ *
1012
+ * @param spaceId - Index space identifier
1013
+ */
1014
+ clear(spaceId: string): void {
1015
+ const { type, service } = this.getService();
1016
+
1017
+ if (type === 'memoryIndex') {
1018
+ service.clearUserIndex(spaceId);
1019
+ } else {
1020
+ (service as any).indexCache?.delete(spaceId);
1021
+ }
1022
+ }
1023
+
1024
+ /**
1025
+ * Force flush pending vectors
1026
+ *
1027
+ * @param spaceId - Index space identifier
1028
+ */
1029
+ async flush(spaceId: string): Promise<void> {
1030
+ const { type, service } = this.getService();
1031
+
1032
+ if (type === 'memoryIndex') {
1033
+ await service.flush(spaceId);
1034
+ }
1035
+ }
1036
+ }