@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,888 @@
1
+ /**
2
+ * GraphService - Knowledge Graph Extraction and Management
3
+ *
4
+ * Ports sophisticated knowledge graph logic from the backend with AI-powered
5
+ * entity/relationship extraction, graph traversal, and intelligent updates.
6
+ */
7
+
8
+ import { EmbeddingService } from '../services/EmbeddingService';
9
+ import { GeminiAIService, type GeminiConfig } from '../services/GeminiAIService';
10
+
11
+ export interface Entity {
12
+ id: string;
13
+ label: string;
14
+ type: string;
15
+ properties?: Record<string, any>;
16
+ confidence?: number;
17
+ sourceMemoryIds?: string[];
18
+ createdAt?: Date;
19
+ lastUpdated?: Date;
20
+ }
21
+
22
+ export interface Relationship {
23
+ id?: string;
24
+ source: string;
25
+ target: string;
26
+ label: string;
27
+ type?: string;
28
+ properties?: Record<string, any>;
29
+ confidence?: number;
30
+ sourceMemoryIds?: string[];
31
+ createdAt?: Date;
32
+ lastUpdated?: Date;
33
+ }
34
+
35
+ export interface KnowledgeGraph {
36
+ entities: Entity[];
37
+ relationships: Relationship[];
38
+ metadata: {
39
+ version: string;
40
+ createdAt: Date;
41
+ lastUpdated: Date;
42
+ totalEntities: number;
43
+ totalRelationships: number;
44
+ sourceMemories: string[];
45
+ };
46
+ }
47
+
48
+ export interface GraphExtractionResult {
49
+ entities: Entity[];
50
+ relationships: Relationship[];
51
+ confidence: number;
52
+ processingTimeMs: number;
53
+ extractedFromMemory: string;
54
+ }
55
+
56
+ export interface GraphQueryResult {
57
+ entities: Entity[];
58
+ relationships: Relationship[];
59
+ paths?: Array<{
60
+ entities: string[];
61
+ relationships: string[];
62
+ score: number;
63
+ }>;
64
+ totalResults: number;
65
+ }
66
+
67
+ export interface GraphConfig {
68
+ extractionModel?: string;
69
+ confidenceThreshold?: number;
70
+ maxHops?: number;
71
+ enableEmbeddings?: boolean;
72
+ deduplicationThreshold?: number;
73
+ geminiApiKey?: string;
74
+ geminiConfig?: Partial<GeminiConfig>;
75
+ useMockAI?: boolean; // For testing purposes
76
+ }
77
+
78
+ /**
79
+ * Advanced knowledge graph service with AI extraction and intelligent management
80
+ */
81
+ export class GraphService {
82
+ private embeddingService?: EmbeddingService;
83
+ private geminiAI?: GeminiAIService;
84
+ private readonly config: Required<GraphConfig>;
85
+ private graphs = new Map<string, KnowledgeGraph>(); // User graphs cache
86
+
87
+ private extractionStats = {
88
+ totalExtractions: 0,
89
+ averageEntities: 0,
90
+ averageRelationships: 0,
91
+ averageConfidence: 0,
92
+ processingTime: 0
93
+ };
94
+
95
+ constructor(
96
+ config: Partial<GraphConfig> = {},
97
+ embeddingService?: EmbeddingService
98
+ ) {
99
+ this.config = {
100
+ extractionModel: config.extractionModel || process.env.AI_CHAT_MODEL || 'google/gemini-2.5-flash',
101
+ confidenceThreshold: config.confidenceThreshold || 0.7,
102
+ maxHops: config.maxHops || 3,
103
+ enableEmbeddings: config.enableEmbeddings !== false,
104
+ deduplicationThreshold: config.deduplicationThreshold || 0.85,
105
+ geminiApiKey: config.geminiApiKey || process.env.GOOGLE_AI_API_KEY || process.env.GEMINI_API_KEY || '',
106
+ geminiConfig: config.geminiConfig || {},
107
+ useMockAI: config.useMockAI || false
108
+ };
109
+
110
+ this.embeddingService = embeddingService;
111
+
112
+ // Initialize Gemini AI service if API key is provided and not using mock
113
+ if (this.config.geminiApiKey && !this.config.useMockAI) {
114
+ try {
115
+ this.geminiAI = new GeminiAIService({
116
+ apiKey: this.config.geminiApiKey,
117
+ model: this.config.extractionModel,
118
+ ...this.config.geminiConfig
119
+ });
120
+ } catch (error) {
121
+ console.warn('Failed to initialize Gemini AI service, falling back to mock:', error);
122
+ this.config.useMockAI = true;
123
+ }
124
+ }
125
+ }
126
+
127
+ // ==================== GRAPH CREATION & MANAGEMENT ====================
128
+
129
+ /**
130
+ * Create empty knowledge graph
131
+ */
132
+ createGraph(userId?: string): KnowledgeGraph {
133
+ const graph: KnowledgeGraph = {
134
+ entities: [],
135
+ relationships: [],
136
+ metadata: {
137
+ version: '1.0',
138
+ createdAt: new Date(),
139
+ lastUpdated: new Date(),
140
+ totalEntities: 0,
141
+ totalRelationships: 0,
142
+ sourceMemories: []
143
+ }
144
+ };
145
+
146
+ if (userId) {
147
+ this.graphs.set(userId, graph);
148
+ }
149
+
150
+ return graph;
151
+ }
152
+
153
+ /**
154
+ * Get cached graph for user
155
+ */
156
+ getUserGraph(userId: string): KnowledgeGraph | undefined {
157
+ return this.graphs.get(userId);
158
+ }
159
+
160
+ /**
161
+ * Cache graph for user
162
+ */
163
+ setUserGraph(userId: string, graph: KnowledgeGraph): void {
164
+ this.graphs.set(userId, graph);
165
+ }
166
+
167
+ // ==================== ENTITY & RELATIONSHIP EXTRACTION ====================
168
+
169
+ /**
170
+ * Extract entities and relationships from memory content using AI
171
+ */
172
+ async extractEntitiesAndRelationships(
173
+ content: string,
174
+ memoryId: string,
175
+ options: {
176
+ includeEmbeddings?: boolean;
177
+ confidenceThreshold?: number;
178
+ } = {}
179
+ ): Promise<GraphExtractionResult> {
180
+ const startTime = Date.now();
181
+
182
+ try {
183
+ // Use real Gemini AI if available, otherwise fall back to mock
184
+ let entities: Entity[] = [];
185
+ let relationships: Relationship[] = [];
186
+
187
+ if (this.geminiAI && !this.config.useMockAI) {
188
+ // Use real Gemini AI service
189
+ const aiResult = await this.geminiAI.extractEntitiesAndRelationships({
190
+ content,
191
+ confidenceThreshold: options.confidenceThreshold || this.config.confidenceThreshold
192
+ });
193
+
194
+ // Convert AI service format to GraphService format
195
+ entities = aiResult.entities.map(e => ({
196
+ id: e.id,
197
+ label: e.label,
198
+ type: e.type,
199
+ confidence: e.confidence,
200
+ properties: e.properties,
201
+ sourceMemoryIds: [memoryId],
202
+ createdAt: new Date(),
203
+ lastUpdated: new Date()
204
+ }));
205
+
206
+ relationships = aiResult.relationships.map(r => ({
207
+ id: this.generateRelationshipId(r),
208
+ source: r.source,
209
+ target: r.target,
210
+ label: r.label,
211
+ type: r.type,
212
+ confidence: r.confidence,
213
+ sourceMemoryIds: [memoryId],
214
+ createdAt: new Date(),
215
+ lastUpdated: new Date()
216
+ }));
217
+
218
+ } else {
219
+ // Fall back to mock implementation
220
+ console.warn('Using mock AI extraction - configure Gemini API key for real AI processing');
221
+ const response = await this.mockGeminiResponse(content);
222
+ const extracted = this.parseExtractionResponse(response, memoryId);
223
+ entities = extracted.entities;
224
+ relationships = extracted.relationships;
225
+ }
226
+
227
+ const processingTime = Date.now() - startTime;
228
+
229
+ // Filter by confidence threshold
230
+ const confidenceThreshold = options.confidenceThreshold || this.config.confidenceThreshold;
231
+ entities = entities.filter(e => (e.confidence || 0) >= confidenceThreshold);
232
+ relationships = relationships.filter(r => (r.confidence || 0) >= confidenceThreshold);
233
+
234
+ // Calculate overall confidence
235
+ const confidence = this.calculateExtractionConfidence(entities, relationships);
236
+
237
+ // Update statistics
238
+ this.updateExtractionStats(entities, relationships, confidence, processingTime);
239
+
240
+ return {
241
+ entities,
242
+ relationships,
243
+ confidence,
244
+ processingTimeMs: processingTime,
245
+ extractedFromMemory: memoryId
246
+ };
247
+
248
+ } catch (error) {
249
+ console.error('Entity extraction failed:', error);
250
+
251
+ return {
252
+ entities: [],
253
+ relationships: [],
254
+ confidence: 0,
255
+ processingTimeMs: Date.now() - startTime,
256
+ extractedFromMemory: memoryId
257
+ };
258
+ }
259
+ }
260
+
261
+ /**
262
+ * Extract entities from multiple memories in batch
263
+ */
264
+ async extractFromMemoriesBatch(
265
+ memories: Array<{ id: string; content: string }>,
266
+ options: {
267
+ batchSize?: number;
268
+ delayMs?: number;
269
+ } = {}
270
+ ): Promise<GraphExtractionResult[]> {
271
+ const batchSize = options.batchSize || 5;
272
+ const delayMs = options.delayMs || 1000;
273
+ const results: GraphExtractionResult[] = [];
274
+
275
+ // Process in batches to avoid rate limiting
276
+ for (let i = 0; i < memories.length; i += batchSize) {
277
+ const batch = memories.slice(i, i + batchSize);
278
+
279
+ const batchPromises = batch.map(memory =>
280
+ this.extractEntitiesAndRelationships(memory.content, memory.id)
281
+ );
282
+
283
+ const batchResults = await Promise.all(batchPromises);
284
+ results.push(...batchResults);
285
+
286
+ // Delay between batches
287
+ if (i + batchSize < memories.length) {
288
+ await this.delay(delayMs);
289
+ }
290
+ }
291
+
292
+ return results;
293
+ }
294
+
295
+ // ==================== GRAPH OPERATIONS ====================
296
+
297
+ /**
298
+ * Add extracted data to knowledge graph with intelligent deduplication
299
+ */
300
+ addToGraph(
301
+ graph: KnowledgeGraph,
302
+ newEntities: Entity[],
303
+ newRelationships: Relationship[],
304
+ sourceMemoryId?: string
305
+ ): KnowledgeGraph {
306
+ try {
307
+ const updatedGraph = { ...graph };
308
+ const now = new Date();
309
+
310
+ // Filter out null/undefined entities
311
+ const validNewEntities = newEntities.filter(e => e != null && e.id && e.label);
312
+ const validNewRelationships = newRelationships.filter(r => r != null && r.source && r.target && r.label);
313
+
314
+ // Track existing entities for deduplication
315
+ const existingEntities = new Map(graph.entities.map(e => [e.id, e]));
316
+
317
+ // Process entities with intelligent merging
318
+ const processedEntities = [...graph.entities];
319
+ const addedEntityIds = new Set<string>();
320
+
321
+ for (const newEntity of validNewEntities) {
322
+ const existing = existingEntities.get(newEntity.id);
323
+
324
+ if (existing) {
325
+ // Merge with existing entity
326
+ const merged = this.mergeEntities(existing, newEntity, sourceMemoryId);
327
+ const index = processedEntities.findIndex(e => e.id === existing.id);
328
+ processedEntities[index] = merged;
329
+ } else {
330
+ // Check for similar entities (fuzzy matching)
331
+ const similar = this.findSimilarEntity(newEntity, processedEntities);
332
+
333
+ if (similar && this.calculateEntitySimilarity(newEntity, similar) > this.config.deduplicationThreshold) {
334
+ // Merge with similar entity
335
+ const merged = this.mergeEntities(similar, newEntity, sourceMemoryId);
336
+ const index = processedEntities.findIndex(e => e.id === similar.id);
337
+ processedEntities[index] = merged;
338
+ addedEntityIds.add(similar.id);
339
+ } else {
340
+ // Add as new entity
341
+ const entityWithMetadata = {
342
+ ...newEntity,
343
+ createdAt: now,
344
+ lastUpdated: now,
345
+ sourceMemoryIds: sourceMemoryId ? [sourceMemoryId] : []
346
+ };
347
+ processedEntities.push(entityWithMetadata);
348
+ addedEntityIds.add(newEntity.id);
349
+ }
350
+ }
351
+ }
352
+
353
+ // Process relationships with deduplication
354
+ const processedRelationships = [...graph.relationships];
355
+ const relationshipKey = (r: Relationship) => `${r.source}|${r.target}|${r.label}`;
356
+ const existingRelationshipKeys = new Set(graph.relationships.map(relationshipKey));
357
+
358
+ for (const newRel of validNewRelationships) {
359
+ const key = relationshipKey(newRel);
360
+
361
+ if (!existingRelationshipKeys.has(key)) {
362
+ // Verify entities exist
363
+ const sourceExists = processedEntities.some(e => e.id === newRel.source);
364
+ const targetExists = processedEntities.some(e => e.id === newRel.target);
365
+
366
+ if (sourceExists && targetExists) {
367
+ const relationshipWithMetadata = {
368
+ ...newRel,
369
+ id: this.generateRelationshipId(newRel),
370
+ createdAt: now,
371
+ lastUpdated: now,
372
+ sourceMemoryIds: sourceMemoryId ? [sourceMemoryId] : []
373
+ };
374
+ processedRelationships.push(relationshipWithMetadata);
375
+ }
376
+ } else {
377
+ // Update existing relationship
378
+ const existingIndex = processedRelationships.findIndex(r => relationshipKey(r) === key);
379
+ if (existingIndex >= 0) {
380
+ const existing = processedRelationships[existingIndex];
381
+ processedRelationships[existingIndex] = {
382
+ ...existing,
383
+ lastUpdated: now,
384
+ confidence: Math.max(existing.confidence || 0, newRel.confidence || 0),
385
+ sourceMemoryIds: [
386
+ ...(existing.sourceMemoryIds || []),
387
+ ...(sourceMemoryId ? [sourceMemoryId] : [])
388
+ ]
389
+ };
390
+ }
391
+ }
392
+ }
393
+
394
+ // Update graph metadata
395
+ updatedGraph.entities = processedEntities;
396
+ updatedGraph.relationships = processedRelationships;
397
+ updatedGraph.metadata = {
398
+ ...graph.metadata,
399
+ lastUpdated: now,
400
+ totalEntities: processedEntities.length,
401
+ totalRelationships: processedRelationships.length,
402
+ sourceMemories: sourceMemoryId
403
+ ? [...new Set([...graph.metadata.sourceMemories, sourceMemoryId])]
404
+ : graph.metadata.sourceMemories
405
+ };
406
+
407
+ return updatedGraph;
408
+
409
+ } catch (error) {
410
+ // Only log detailed errors in development mode
411
+ if (process.env.NODE_ENV === 'development') {
412
+ console.error('Error adding to graph:', error);
413
+ }
414
+ return graph; // Return original graph on error
415
+ }
416
+ }
417
+
418
+ /**
419
+ * Find related entities using graph traversal
420
+ */
421
+ findRelatedEntities(
422
+ graph: KnowledgeGraph,
423
+ seedEntityIds: string[],
424
+ options: {
425
+ maxHops?: number;
426
+ relationshipTypes?: string[];
427
+ includeWeights?: boolean;
428
+ } = {}
429
+ ): GraphQueryResult {
430
+ const maxHops = options.maxHops || this.config.maxHops;
431
+ const relationshipTypes = options.relationshipTypes;
432
+
433
+ try {
434
+ // BFS traversal to find related entities
435
+ const visited = new Set<string>(seedEntityIds);
436
+ const relatedEntityIds = new Set<string>(seedEntityIds);
437
+ const discoveredRelationships = new Set<string>();
438
+ const paths: Array<{ entities: string[]; relationships: string[]; score: number }> = [];
439
+
440
+ let currentHop = 0;
441
+ let frontier = seedEntityIds;
442
+
443
+ while (currentHop < maxHops && frontier.length > 0) {
444
+ const nextFrontier: string[] = [];
445
+
446
+ for (const entityId of frontier) {
447
+ // Find relationships involving this entity
448
+ const relationships = graph.relationships.filter(r => {
449
+ const isInvolved = (r.source === entityId || r.target === entityId);
450
+ const typeMatch = !relationshipTypes || relationshipTypes.includes(r.type || r.label);
451
+ return isInvolved && typeMatch;
452
+ });
453
+
454
+ for (const relationship of relationships) {
455
+ const neighborId = relationship.source === entityId ? relationship.target : relationship.source;
456
+
457
+ if (!visited.has(neighborId)) {
458
+ visited.add(neighborId);
459
+ relatedEntityIds.add(neighborId);
460
+ nextFrontier.push(neighborId);
461
+ discoveredRelationships.add(relationship.id || this.generateRelationshipId(relationship));
462
+
463
+ // Track path
464
+ if (options.includeWeights) {
465
+ paths.push({
466
+ entities: [entityId, neighborId],
467
+ relationships: [relationship.id || this.generateRelationshipId(relationship)],
468
+ score: relationship.confidence || 0.5
469
+ });
470
+ }
471
+ }
472
+ }
473
+ }
474
+
475
+ frontier = nextFrontier;
476
+ currentHop++;
477
+ }
478
+
479
+ // Get entity and relationship objects
480
+ const relatedEntities = graph.entities.filter(e => relatedEntityIds.has(e.id));
481
+ const relatedRelationships = graph.relationships.filter(r =>
482
+ discoveredRelationships.has(r.id || this.generateRelationshipId(r))
483
+ );
484
+
485
+ return {
486
+ entities: relatedEntities,
487
+ relationships: relatedRelationships,
488
+ paths: options.includeWeights ? paths : undefined,
489
+ totalResults: relatedEntities.length
490
+ };
491
+
492
+ } catch (error) {
493
+ console.error('Error finding related entities:', error);
494
+ return {
495
+ entities: [],
496
+ relationships: [],
497
+ totalResults: 0
498
+ };
499
+ }
500
+ }
501
+
502
+ /**
503
+ * Query graph by entity type or relationship patterns
504
+ */
505
+ queryGraph(
506
+ graph: KnowledgeGraph,
507
+ query: {
508
+ entityTypes?: string[];
509
+ relationshipTypes?: string[];
510
+ searchText?: string;
511
+ limit?: number;
512
+ }
513
+ ): GraphQueryResult {
514
+ try {
515
+ // Handle null/undefined graph
516
+ if (!graph || !graph.entities || !graph.relationships) {
517
+ return {
518
+ entities: [],
519
+ relationships: [],
520
+ totalResults: 0
521
+ };
522
+ }
523
+
524
+ let entities = graph.entities;
525
+ let relationships = graph.relationships;
526
+
527
+ // Filter by entity types
528
+ if (query.entityTypes && query.entityTypes.length > 0) {
529
+ entities = entities.filter(e => query.entityTypes!.includes(e.type));
530
+ }
531
+
532
+ // Filter by relationship types
533
+ if (query.relationshipTypes && query.relationshipTypes.length > 0) {
534
+ relationships = relationships.filter(r =>
535
+ query.relationshipTypes!.includes(r.type || r.label)
536
+ );
537
+ }
538
+
539
+ // Text search in labels and properties
540
+ if (query.searchText) {
541
+ const searchLower = query.searchText.toLowerCase();
542
+
543
+ entities = entities.filter(e =>
544
+ e.label.toLowerCase().includes(searchLower) ||
545
+ JSON.stringify(e.properties || {}).toLowerCase().includes(searchLower)
546
+ );
547
+
548
+ relationships = relationships.filter(r =>
549
+ r.label.toLowerCase().includes(searchLower) ||
550
+ JSON.stringify(r.properties || {}).toLowerCase().includes(searchLower)
551
+ );
552
+ }
553
+
554
+ // Apply limit
555
+ if (query.limit) {
556
+ entities = entities.slice(0, query.limit);
557
+ relationships = relationships.slice(0, query.limit);
558
+ }
559
+
560
+ return {
561
+ entities,
562
+ relationships,
563
+ totalResults: entities.length + relationships.length
564
+ };
565
+
566
+ } catch (error) {
567
+ // Only log detailed errors in development mode
568
+ if (process.env.NODE_ENV === 'development') {
569
+ console.error('Error querying graph:', error);
570
+ }
571
+ return {
572
+ entities: [],
573
+ relationships: [],
574
+ totalResults: 0
575
+ };
576
+ }
577
+ }
578
+
579
+ // ==================== STATISTICS & MONITORING ====================
580
+
581
+ /**
582
+ * Get graph statistics
583
+ */
584
+ getGraphStats(graph: KnowledgeGraph) {
585
+ const entityTypes = new Map<string, number>();
586
+ const relationshipTypes = new Map<string, number>();
587
+
588
+ // Count entity types
589
+ for (const entity of graph.entities) {
590
+ entityTypes.set(entity.type, (entityTypes.get(entity.type) || 0) + 1);
591
+ }
592
+
593
+ // Count relationship types
594
+ for (const relationship of graph.relationships) {
595
+ const type = relationship.type || relationship.label;
596
+ relationshipTypes.set(type, (relationshipTypes.get(type) || 0) + 1);
597
+ }
598
+
599
+ // Calculate connectivity metrics
600
+ const entityConnections = new Map<string, number>();
601
+ for (const rel of graph.relationships) {
602
+ entityConnections.set(rel.source, (entityConnections.get(rel.source) || 0) + 1);
603
+ entityConnections.set(rel.target, (entityConnections.get(rel.target) || 0) + 1);
604
+ }
605
+
606
+ const avgConnections = graph.entities.length > 0
607
+ ? Array.from(entityConnections.values()).reduce((sum, count) => sum + count, 0) / graph.entities.length
608
+ : 0;
609
+
610
+ return {
611
+ totalEntities: graph.entities.length,
612
+ totalRelationships: graph.relationships.length,
613
+ entityTypes: Object.fromEntries(entityTypes),
614
+ relationshipTypes: Object.fromEntries(relationshipTypes),
615
+ averageConnections: avgConnections,
616
+ graphDensity: graph.entities.length > 0
617
+ ? (graph.relationships.length * 2) / (graph.entities.length * (graph.entities.length - 1))
618
+ : 0,
619
+ extractionStats: this.extractionStats,
620
+ lastUpdated: graph.metadata.lastUpdated
621
+ };
622
+ }
623
+
624
+ // ==================== PRIVATE METHODS ====================
625
+
626
+ private buildExtractionPrompt(content: string): string {
627
+ return `
628
+ Extract entities and relationships from the following text. Focus on meaningful entities (people, places, concepts, organizations) and clear relationships between them.
629
+
630
+ Format your response as valid JSON with "entities" and "relationships" arrays.
631
+
632
+ For entities:
633
+ - "id": unique identifier using meaningful names with underscores (e.g., "john_doe", "machine_learning")
634
+ - "label": display name (e.g., "John Doe", "Machine Learning")
635
+ - "type": entity type (person, concept, organization, location, event, skill, technology, etc.)
636
+ - "confidence": confidence score 0.0-1.0
637
+
638
+ For relationships:
639
+ - "source": source entity id
640
+ - "target": target entity id
641
+ - "label": relationship description (e.g., "works at", "uses", "located in")
642
+ - "confidence": confidence score 0.0-1.0
643
+
644
+ TEXT:
645
+ ${content}
646
+
647
+ JSON:`;
648
+ }
649
+
650
+ private async mockGeminiResponse(content: string): Promise<string> {
651
+ // Mock response for development - replace with actual AI service
652
+ const entities = this.extractEntitiesHeuristic(content);
653
+ const relationships = this.extractRelationshipsHeuristic(content, entities);
654
+
655
+ return JSON.stringify({
656
+ entities: entities.map(e => ({
657
+ id: e.id,
658
+ label: e.label,
659
+ type: e.type,
660
+ confidence: 0.8
661
+ })),
662
+ relationships: relationships.map(r => ({
663
+ source: r.source,
664
+ target: r.target,
665
+ label: r.label,
666
+ confidence: 0.7
667
+ }))
668
+ });
669
+ }
670
+
671
+ private extractEntitiesHeuristic(content: string): Entity[] {
672
+ const entities: Entity[] = [];
673
+
674
+ // Simple heuristic extraction (replace with actual AI)
675
+ const words = content.split(/\s+/);
676
+ const capitalizedWords = words.filter(word =>
677
+ /^[A-Z][a-z]+/.test(word) && word.length > 2
678
+ );
679
+
680
+ for (const word of capitalizedWords.slice(0, 5)) {
681
+ entities.push({
682
+ id: word.toLowerCase().replace(/[^\w]/g, '_'),
683
+ label: word,
684
+ type: 'concept',
685
+ confidence: 0.6
686
+ });
687
+ }
688
+
689
+ return entities;
690
+ }
691
+
692
+ private extractRelationshipsHeuristic(content: string, entities: Entity[]): Relationship[] {
693
+ const relationships: Relationship[] = [];
694
+
695
+ // Simple relationship extraction
696
+ if (entities.length >= 2) {
697
+ relationships.push({
698
+ source: entities[0].id,
699
+ target: entities[1].id,
700
+ label: 'related to',
701
+ confidence: 0.5
702
+ });
703
+ }
704
+
705
+ return relationships;
706
+ }
707
+
708
+ private parseExtractionResponse(response: string, memoryId: string): { entities: Entity[]; relationships: Relationship[] } {
709
+ try {
710
+ const parsed = JSON.parse(response);
711
+
712
+ if (!parsed.entities || !Array.isArray(parsed.entities) ||
713
+ !parsed.relationships || !Array.isArray(parsed.relationships)) {
714
+ throw new Error('Invalid response format');
715
+ }
716
+
717
+ const entities: Entity[] = parsed.entities.map((e: any) => ({
718
+ id: this.sanitizeId(e.id || `entity_${Math.random().toString(36).substring(2, 10)}`),
719
+ label: e.label || 'Unnamed Entity',
720
+ type: e.type || 'concept',
721
+ confidence: e.confidence || 0.5,
722
+ sourceMemoryIds: [memoryId]
723
+ }));
724
+
725
+ const idMap = new Map<string, string>();
726
+ parsed.entities.forEach((e: any, i: number) => {
727
+ idMap.set(e.id || '', entities[i].id);
728
+ });
729
+
730
+ const relationships: Relationship[] = parsed.relationships
731
+ .filter((r: any) => r.source && r.target && idMap.has(r.source) && idMap.has(r.target))
732
+ .map((r: any) => ({
733
+ source: idMap.get(r.source) || '',
734
+ target: idMap.get(r.target) || '',
735
+ label: r.label || 'related to',
736
+ confidence: r.confidence || 0.5,
737
+ sourceMemoryIds: [memoryId]
738
+ }));
739
+
740
+ return { entities, relationships };
741
+
742
+ } catch (error) {
743
+ console.error('Failed to parse extraction response:', error);
744
+ return { entities: [], relationships: [] };
745
+ }
746
+ }
747
+
748
+ private sanitizeId(id: string): string {
749
+ return id.replace(/[^\w_-]/g, '_').toLowerCase();
750
+ }
751
+
752
+ private calculateExtractionConfidence(entities: Entity[], relationships: Relationship[]): number {
753
+ if (entities.length === 0 && relationships.length === 0) return 0;
754
+
755
+ const entityConfidences = entities.map(e => e.confidence || 0.5);
756
+ const relationshipConfidences = relationships.map(r => r.confidence || 0.5);
757
+
758
+ const allConfidences = [...entityConfidences, ...relationshipConfidences];
759
+ return allConfidences.reduce((sum, conf) => sum + conf, 0) / allConfidences.length;
760
+ }
761
+
762
+ private mergeEntities(existing: Entity, newEntity: Entity, sourceMemoryId?: string): Entity {
763
+ return {
764
+ ...existing,
765
+ label: newEntity.label || existing.label,
766
+ type: newEntity.type || existing.type,
767
+ confidence: Math.max(existing.confidence || 0, newEntity.confidence || 0),
768
+ properties: { ...existing.properties, ...newEntity.properties },
769
+ sourceMemoryIds: [
770
+ ...(existing.sourceMemoryIds || []),
771
+ ...(sourceMemoryId ? [sourceMemoryId] : [])
772
+ ],
773
+ lastUpdated: new Date()
774
+ };
775
+ }
776
+
777
+ private findSimilarEntity(entity: Entity, entities: Entity[]): Entity | undefined {
778
+ for (const existing of entities) {
779
+ if (this.calculateEntitySimilarity(entity, existing) > this.config.deduplicationThreshold) {
780
+ return existing;
781
+ }
782
+ }
783
+ return undefined;
784
+ }
785
+
786
+ private calculateEntitySimilarity(a: Entity, b: Entity): number {
787
+ // Simple similarity based on label and type
788
+ const labelSimilarity = this.stringSimilarity(a.label.toLowerCase(), b.label.toLowerCase());
789
+ const typeSimilarity = a.type === b.type ? 1.0 : 0.0;
790
+
791
+ return (labelSimilarity * 0.8) + (typeSimilarity * 0.2);
792
+ }
793
+
794
+ private stringSimilarity(a: string, b: string): number {
795
+ const longer = a.length > b.length ? a : b;
796
+ const shorter = a.length > b.length ? b : a;
797
+
798
+ if (longer.length === 0) return 1.0;
799
+
800
+ const distance = this.levenshteinDistance(longer, shorter);
801
+ return (longer.length - distance) / longer.length;
802
+ }
803
+
804
+ private levenshteinDistance(a: string, b: string): number {
805
+ const matrix = Array(b.length + 1).fill(null).map(() => Array(a.length + 1).fill(null));
806
+
807
+ for (let i = 0; i <= a.length; i++) matrix[0][i] = i;
808
+ for (let j = 0; j <= b.length; j++) matrix[j][0] = j;
809
+
810
+ for (let j = 1; j <= b.length; j++) {
811
+ for (let i = 1; i <= a.length; i++) {
812
+ const indicator = a[i - 1] === b[j - 1] ? 0 : 1;
813
+ matrix[j][i] = Math.min(
814
+ matrix[j][i - 1] + 1,
815
+ matrix[j - 1][i] + 1,
816
+ matrix[j - 1][i - 1] + indicator
817
+ );
818
+ }
819
+ }
820
+
821
+ return matrix[b.length][a.length];
822
+ }
823
+
824
+ private generateRelationshipId(relationship: Relationship): string {
825
+ const content = `${relationship.source}_${relationship.target}_${relationship.label}`;
826
+ return this.sanitizeId(content);
827
+ }
828
+
829
+ private updateExtractionStats(entities: Entity[], relationships: Relationship[], confidence: number, processingTime: number): void {
830
+ this.extractionStats.totalExtractions++;
831
+ this.extractionStats.averageEntities =
832
+ (this.extractionStats.averageEntities + entities.length) / this.extractionStats.totalExtractions;
833
+ this.extractionStats.averageRelationships =
834
+ (this.extractionStats.averageRelationships + relationships.length) / this.extractionStats.totalExtractions;
835
+ this.extractionStats.averageConfidence =
836
+ (this.extractionStats.averageConfidence + confidence) / this.extractionStats.totalExtractions;
837
+ this.extractionStats.processingTime =
838
+ (this.extractionStats.processingTime + processingTime) / this.extractionStats.totalExtractions;
839
+ }
840
+
841
+ private delay(ms: number): Promise<void> {
842
+ return new Promise(resolve => setTimeout(resolve, ms));
843
+ }
844
+
845
+ // ==================== SERVICE MANAGEMENT ====================
846
+
847
+ /**
848
+ * Test AI service connectivity
849
+ */
850
+ async testAIConnection(): Promise<{ connected: boolean; usingMock: boolean; service: string }> {
851
+ if (this.config.useMockAI || !this.geminiAI) {
852
+ return { connected: false, usingMock: true, service: 'mock' };
853
+ }
854
+
855
+ try {
856
+ const connected = await this.geminiAI.testConnection();
857
+ return { connected, usingMock: false, service: 'gemini' };
858
+ } catch (error) {
859
+ console.error('AI connection test failed:', error);
860
+ return { connected: false, usingMock: false, service: 'gemini' };
861
+ }
862
+ }
863
+
864
+ /**
865
+ * Get service configuration (without sensitive data)
866
+ */
867
+ getConfig(): Omit<Required<GraphConfig>, 'geminiApiKey'> & { aiConfigured: boolean } {
868
+ return {
869
+ extractionModel: this.config.extractionModel,
870
+ confidenceThreshold: this.config.confidenceThreshold,
871
+ maxHops: this.config.maxHops,
872
+ enableEmbeddings: this.config.enableEmbeddings,
873
+ deduplicationThreshold: this.config.deduplicationThreshold,
874
+ geminiConfig: this.config.geminiConfig,
875
+ useMockAI: this.config.useMockAI,
876
+ aiConfigured: !!this.config.geminiApiKey && !this.config.useMockAI
877
+ };
878
+ }
879
+
880
+ /**
881
+ * Get extraction statistics
882
+ */
883
+ getExtractionStats() {
884
+ return { ...this.extractionStats };
885
+ }
886
+ }
887
+
888
+ export default GraphService;