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