@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,648 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Namespace - Consolidated Security & Access Control
|
|
3
|
+
*
|
|
4
|
+
* Merges functionality from:
|
|
5
|
+
* - EncryptionNamespace: SEAL-based encryption/decryption
|
|
6
|
+
* - PermissionsNamespace: OAuth-style access control
|
|
7
|
+
* - ContextNamespace: App context (MemoryCap) management
|
|
8
|
+
*
|
|
9
|
+
* Provides a unified interface for all security operations.
|
|
10
|
+
*
|
|
11
|
+
* Key features:
|
|
12
|
+
* - SEAL encryption with identity-based access control
|
|
13
|
+
* - Decryption with capability-based or legacy allowlist patterns
|
|
14
|
+
* - App contexts (MemoryCap) for app-scoped data
|
|
15
|
+
* - OAuth-style permission grants and revocations
|
|
16
|
+
*
|
|
17
|
+
* @module client/namespaces/consolidated
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import type { ServiceContainer } from '../../SimplePDWClient';
|
|
21
|
+
import type { SessionKey } from '@mysten/seal';
|
|
22
|
+
import type { MemoryCap } from '../../../core/types/capability';
|
|
23
|
+
import type {
|
|
24
|
+
ConsentRequestRecord,
|
|
25
|
+
AccessGrant,
|
|
26
|
+
PermissionScope
|
|
27
|
+
} from '../../../core/types/wallet';
|
|
28
|
+
import { CapabilityService } from '../../../services/CapabilityService';
|
|
29
|
+
|
|
30
|
+
// ============================================================================
|
|
31
|
+
// Types
|
|
32
|
+
// ============================================================================
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Encryption result
|
|
36
|
+
*/
|
|
37
|
+
export interface EncryptionResult {
|
|
38
|
+
encryptedData: Uint8Array;
|
|
39
|
+
backupKey: Uint8Array;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Decryption options
|
|
44
|
+
*/
|
|
45
|
+
export interface DecryptionOptions {
|
|
46
|
+
encryptedData: Uint8Array;
|
|
47
|
+
sessionKey?: SessionKey;
|
|
48
|
+
requestingWallet?: string;
|
|
49
|
+
/** MemoryCap object ID for capability-based access control */
|
|
50
|
+
memoryCapId?: string;
|
|
51
|
+
/** SEAL key ID bytes - required with memoryCapId */
|
|
52
|
+
keyId?: Uint8Array;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Context info with additional metadata
|
|
57
|
+
*/
|
|
58
|
+
export interface ContextInfo extends MemoryCap {
|
|
59
|
+
/** Number of memories in this context */
|
|
60
|
+
memoryCount?: number;
|
|
61
|
+
/** Last activity timestamp */
|
|
62
|
+
lastActivity?: number;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// ============================================================================
|
|
66
|
+
// Sub-Namespaces
|
|
67
|
+
// ============================================================================
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Context sub-namespace for app context management
|
|
71
|
+
*/
|
|
72
|
+
class ContextSubNamespace {
|
|
73
|
+
private capService: CapabilityService | null = null;
|
|
74
|
+
|
|
75
|
+
constructor(private services: ServiceContainer) {
|
|
76
|
+
const suiClient = this.services.config.sui?.client;
|
|
77
|
+
const packageId = this.services.config.sui?.packageId;
|
|
78
|
+
|
|
79
|
+
if (suiClient && packageId) {
|
|
80
|
+
this.capService = new CapabilityService({ suiClient, packageId });
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
private ensureService(): CapabilityService {
|
|
85
|
+
if (!this.capService) {
|
|
86
|
+
throw new Error('CapabilityService not initialized. Check Sui configuration.');
|
|
87
|
+
}
|
|
88
|
+
return this.capService;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Create a new context for an app
|
|
93
|
+
*
|
|
94
|
+
* @param appId - Application identifier (e.g., "MEMO", "HEALTH", "FINANCE")
|
|
95
|
+
* @returns Created context (MemoryCap)
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* const memoContext = await pdw.security.context.create('MEMO');
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
async create(appId: string): Promise<MemoryCap> {
|
|
103
|
+
const service = this.ensureService();
|
|
104
|
+
const signer = this.services.config.signer.getSigner();
|
|
105
|
+
return await service.create({ appId }, signer);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Get context by app ID
|
|
110
|
+
*
|
|
111
|
+
* @param appId - Application identifier
|
|
112
|
+
* @returns Context or null if not found
|
|
113
|
+
*/
|
|
114
|
+
async get(appId: string): Promise<MemoryCap | null> {
|
|
115
|
+
const service = this.ensureService();
|
|
116
|
+
return await service.get(this.services.config.userAddress, appId);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Get or create context for an app
|
|
121
|
+
*
|
|
122
|
+
* @param appId - Application identifier
|
|
123
|
+
* @returns Existing or newly created context
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```typescript
|
|
127
|
+
* const ctx = await pdw.security.context.getOrCreate('MEMO');
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
async getOrCreate(appId: string): Promise<MemoryCap> {
|
|
131
|
+
const service = this.ensureService();
|
|
132
|
+
const signer = this.services.config.signer.getSigner();
|
|
133
|
+
return await service.getOrCreate(
|
|
134
|
+
{ appId, userAddress: this.services.config.userAddress },
|
|
135
|
+
signer
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* List all contexts owned by the user
|
|
141
|
+
*
|
|
142
|
+
* @returns Array of contexts (MemoryCaps)
|
|
143
|
+
*/
|
|
144
|
+
async list(): Promise<MemoryCap[]> {
|
|
145
|
+
const service = this.ensureService();
|
|
146
|
+
return await service.list({ userAddress: this.services.config.userAddress });
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Delete a context (burns the capability)
|
|
151
|
+
*
|
|
152
|
+
* Warning: This permanently revokes access to all memories
|
|
153
|
+
* encrypted with this context's key.
|
|
154
|
+
*
|
|
155
|
+
* @param appId - Application identifier
|
|
156
|
+
*/
|
|
157
|
+
async delete(appId: string): Promise<void> {
|
|
158
|
+
const service = this.ensureService();
|
|
159
|
+
const signer = this.services.config.signer.getSigner();
|
|
160
|
+
const cap = await service.get(this.services.config.userAddress, appId);
|
|
161
|
+
if (!cap) {
|
|
162
|
+
throw new Error(`Context not found for appId: ${appId}`);
|
|
163
|
+
}
|
|
164
|
+
await service.burn({ capId: cap.id }, signer);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Transfer context to another user
|
|
169
|
+
*
|
|
170
|
+
* @param appId - Application identifier
|
|
171
|
+
* @param recipient - Recipient's Sui address
|
|
172
|
+
*/
|
|
173
|
+
async transfer(appId: string, recipient: string): Promise<void> {
|
|
174
|
+
const service = this.ensureService();
|
|
175
|
+
const signer = this.services.config.signer.getSigner();
|
|
176
|
+
const cap = await service.get(this.services.config.userAddress, appId);
|
|
177
|
+
if (!cap) {
|
|
178
|
+
throw new Error(`Context not found for appId: ${appId}`);
|
|
179
|
+
}
|
|
180
|
+
await service.transfer({ capId: cap.id, recipient }, signer);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Check if context exists for an app
|
|
185
|
+
*
|
|
186
|
+
* @param appId - Application identifier
|
|
187
|
+
* @returns True if context exists
|
|
188
|
+
*/
|
|
189
|
+
async exists(appId: string): Promise<boolean> {
|
|
190
|
+
const service = this.ensureService();
|
|
191
|
+
return await service.hasCapability(this.services.config.userAddress, appId);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Get SEAL key ID for a context
|
|
196
|
+
*
|
|
197
|
+
* @param appId - Application identifier
|
|
198
|
+
* @returns Key ID as hex string
|
|
199
|
+
*/
|
|
200
|
+
async getKeyId(appId: string): Promise<string | null> {
|
|
201
|
+
const service = this.ensureService();
|
|
202
|
+
const cap = await service.get(this.services.config.userAddress, appId);
|
|
203
|
+
if (!cap) return null;
|
|
204
|
+
return service.computeKeyId(cap);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Get all app IDs for user's contexts
|
|
209
|
+
*
|
|
210
|
+
* @returns Array of app IDs
|
|
211
|
+
*/
|
|
212
|
+
async getAppIds(): Promise<string[]> {
|
|
213
|
+
const contexts = await this.list();
|
|
214
|
+
return contexts.map(ctx => ctx.appId);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Permissions sub-namespace for OAuth-style access control
|
|
220
|
+
*/
|
|
221
|
+
class PermissionsSubNamespace {
|
|
222
|
+
constructor(private services: ServiceContainer) {}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Request user consent for data access
|
|
226
|
+
*
|
|
227
|
+
* @param appId - Application identifier
|
|
228
|
+
* @param scopes - Requested permission scopes
|
|
229
|
+
* @param purpose - Purpose description
|
|
230
|
+
* @returns Consent request record
|
|
231
|
+
*/
|
|
232
|
+
async request(
|
|
233
|
+
appId: string,
|
|
234
|
+
scopes: PermissionScope[],
|
|
235
|
+
purpose: string
|
|
236
|
+
): Promise<ConsentRequestRecord> {
|
|
237
|
+
if (!this.services.permissions) {
|
|
238
|
+
throw new Error('Permission service not configured.');
|
|
239
|
+
}
|
|
240
|
+
return await this.services.permissions.requestConsent({
|
|
241
|
+
requesterWallet: appId,
|
|
242
|
+
targetWallet: this.services.config.userAddress,
|
|
243
|
+
scopes,
|
|
244
|
+
purpose
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Grant permissions to an app
|
|
250
|
+
*
|
|
251
|
+
* @param appId - Application to grant access
|
|
252
|
+
* @param scopes - Scopes to grant
|
|
253
|
+
* @param expiresAt - Optional expiration timestamp
|
|
254
|
+
* @returns Access grant record
|
|
255
|
+
*
|
|
256
|
+
* @example
|
|
257
|
+
* ```typescript
|
|
258
|
+
* await pdw.security.permissions.grant('HEALTH_APP', ['read', 'write']);
|
|
259
|
+
* ```
|
|
260
|
+
*/
|
|
261
|
+
async grant(
|
|
262
|
+
appId: string,
|
|
263
|
+
scopes: PermissionScope[],
|
|
264
|
+
expiresAt?: number
|
|
265
|
+
): Promise<AccessGrant> {
|
|
266
|
+
if (!this.services.permissions) {
|
|
267
|
+
throw new Error('Permission service not configured.');
|
|
268
|
+
}
|
|
269
|
+
return await this.services.permissions.grantPermissions(
|
|
270
|
+
this.services.config.userAddress,
|
|
271
|
+
{
|
|
272
|
+
requestingWallet: appId,
|
|
273
|
+
targetWallet: this.services.config.userAddress,
|
|
274
|
+
scopes,
|
|
275
|
+
expiresAt,
|
|
276
|
+
signer: this.services.config.signer.getSigner()
|
|
277
|
+
}
|
|
278
|
+
);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Revoke permission scope from an app
|
|
283
|
+
*
|
|
284
|
+
* @param appId - Application to revoke from
|
|
285
|
+
* @param scope - Scope to revoke
|
|
286
|
+
* @returns Success status
|
|
287
|
+
*
|
|
288
|
+
* @example
|
|
289
|
+
* ```typescript
|
|
290
|
+
* await pdw.security.permissions.revoke('HEALTH_APP', 'write');
|
|
291
|
+
* ```
|
|
292
|
+
*/
|
|
293
|
+
async revoke(appId: string, scope: PermissionScope): Promise<boolean> {
|
|
294
|
+
if (!this.services.permissions) {
|
|
295
|
+
throw new Error('Permission service not configured.');
|
|
296
|
+
}
|
|
297
|
+
return await this.services.permissions.revokePermissions(
|
|
298
|
+
this.services.config.userAddress,
|
|
299
|
+
{
|
|
300
|
+
requestingWallet: appId,
|
|
301
|
+
targetWallet: this.services.config.userAddress,
|
|
302
|
+
scope,
|
|
303
|
+
signer: this.services.config.signer.getSigner()
|
|
304
|
+
}
|
|
305
|
+
);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Check if app has specific permission
|
|
310
|
+
*
|
|
311
|
+
* @param appId - Application to check
|
|
312
|
+
* @param scope - Scope to check
|
|
313
|
+
* @returns True if permission exists and valid
|
|
314
|
+
*/
|
|
315
|
+
async check(appId: string, scope: PermissionScope): Promise<boolean> {
|
|
316
|
+
if (!this.services.permissions) {
|
|
317
|
+
throw new Error('Permission service not configured.');
|
|
318
|
+
}
|
|
319
|
+
return await this.services.permissions.checkPermission(
|
|
320
|
+
appId,
|
|
321
|
+
scope,
|
|
322
|
+
this.services.config.userAddress
|
|
323
|
+
);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* List all permission grants for the current user
|
|
328
|
+
*
|
|
329
|
+
* @returns Array of active grants
|
|
330
|
+
*/
|
|
331
|
+
async list(): Promise<AccessGrant[]> {
|
|
332
|
+
if (!this.services.permissions) {
|
|
333
|
+
throw new Error('Permission service not configured.');
|
|
334
|
+
}
|
|
335
|
+
const grants = await this.services.permissions.getGrantsByUser(
|
|
336
|
+
this.services.config.userAddress
|
|
337
|
+
);
|
|
338
|
+
const now = Date.now();
|
|
339
|
+
return grants.filter(g => !g.expiresAt || g.expiresAt > now);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* Get pending consent requests
|
|
344
|
+
*
|
|
345
|
+
* @returns Array of pending consent requests
|
|
346
|
+
*/
|
|
347
|
+
async getPending(): Promise<ConsentRequestRecord[]> {
|
|
348
|
+
if (!this.services.permissions) {
|
|
349
|
+
throw new Error('Permission service not configured.');
|
|
350
|
+
}
|
|
351
|
+
const consents = await this.services.permissions.getPendingConsents(
|
|
352
|
+
this.services.config.userAddress
|
|
353
|
+
);
|
|
354
|
+
return consents.map(c => ({
|
|
355
|
+
...c,
|
|
356
|
+
requestId: c.requestId || `req_${Date.now()}`,
|
|
357
|
+
createdAt: c.createdAt || Date.now(),
|
|
358
|
+
updatedAt: c.updatedAt || Date.now(),
|
|
359
|
+
status: c.status || 'pending'
|
|
360
|
+
})) as ConsentRequestRecord[];
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
* Approve a consent request
|
|
365
|
+
*
|
|
366
|
+
* @param consentId - Consent request ID
|
|
367
|
+
* @returns Access grant
|
|
368
|
+
*/
|
|
369
|
+
async approve(consentId: string): Promise<AccessGrant> {
|
|
370
|
+
if (!this.services.permissions) {
|
|
371
|
+
throw new Error('Permission service not configured.');
|
|
372
|
+
}
|
|
373
|
+
const consents = await this.getPending();
|
|
374
|
+
const consent = consents.find(c => c.requestId === consentId);
|
|
375
|
+
if (!consent) {
|
|
376
|
+
throw new Error(`Consent request ${consentId} not found`);
|
|
377
|
+
}
|
|
378
|
+
return await this.services.permissions.approveConsent(
|
|
379
|
+
this.services.config.userAddress,
|
|
380
|
+
consent as any,
|
|
381
|
+
consent.targetWallet
|
|
382
|
+
);
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
/**
|
|
386
|
+
* Deny a consent request
|
|
387
|
+
*
|
|
388
|
+
* @param consentId - Consent request ID
|
|
389
|
+
* @returns Success status
|
|
390
|
+
*/
|
|
391
|
+
async deny(consentId: string): Promise<boolean> {
|
|
392
|
+
if (!this.services.permissions) {
|
|
393
|
+
throw new Error('Permission service not configured.');
|
|
394
|
+
}
|
|
395
|
+
const consents = await this.getPending();
|
|
396
|
+
const consent = consents.find(c => c.requestId === consentId);
|
|
397
|
+
if (!consent) {
|
|
398
|
+
throw new Error(`Consent request ${consentId} not found`);
|
|
399
|
+
}
|
|
400
|
+
return await this.services.permissions.denyConsent(
|
|
401
|
+
this.services.config.userAddress,
|
|
402
|
+
consent as any
|
|
403
|
+
);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
// ============================================================================
|
|
408
|
+
// Security Namespace
|
|
409
|
+
// ============================================================================
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* Security Namespace - Unified Security Operations
|
|
413
|
+
*
|
|
414
|
+
* Consolidates encryption, decryption, permissions, and context management.
|
|
415
|
+
*
|
|
416
|
+
* @example
|
|
417
|
+
* ```typescript
|
|
418
|
+
* // Encrypt data
|
|
419
|
+
* const { encryptedData, backupKey } = await pdw.security.encrypt(data);
|
|
420
|
+
*
|
|
421
|
+
* // Decrypt data
|
|
422
|
+
* const decrypted = await pdw.security.decrypt({ encryptedData });
|
|
423
|
+
*
|
|
424
|
+
* // Manage app contexts
|
|
425
|
+
* const ctx = await pdw.security.context.getOrCreate('MEMO');
|
|
426
|
+
*
|
|
427
|
+
* // Grant permissions
|
|
428
|
+
* await pdw.security.permissions.grant('APP_ID', ['read', 'write']);
|
|
429
|
+
* ```
|
|
430
|
+
*/
|
|
431
|
+
export class SecurityNamespace {
|
|
432
|
+
private _context: ContextSubNamespace;
|
|
433
|
+
private _permissions: PermissionsSubNamespace;
|
|
434
|
+
|
|
435
|
+
constructor(private services: ServiceContainer) {
|
|
436
|
+
this._context = new ContextSubNamespace(services);
|
|
437
|
+
this._permissions = new PermissionsSubNamespace(services);
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
// ==========================================================================
|
|
441
|
+
// Sub-Namespaces
|
|
442
|
+
// ==========================================================================
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* App context (MemoryCap) management
|
|
446
|
+
*/
|
|
447
|
+
get context(): ContextSubNamespace {
|
|
448
|
+
return this._context;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* OAuth-style permission management
|
|
453
|
+
*/
|
|
454
|
+
get permissions(): PermissionsSubNamespace {
|
|
455
|
+
return this._permissions;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
// ==========================================================================
|
|
459
|
+
// Encryption Operations (from EncryptionNamespace)
|
|
460
|
+
// ==========================================================================
|
|
461
|
+
|
|
462
|
+
/**
|
|
463
|
+
* Encrypt data using SEAL
|
|
464
|
+
*
|
|
465
|
+
* NOTE: This uses userAddress as identity. For capability pattern,
|
|
466
|
+
* use encryptWithKeyId() instead.
|
|
467
|
+
*
|
|
468
|
+
* @param data - Data to encrypt
|
|
469
|
+
* @param threshold - Min key servers required (default: 2)
|
|
470
|
+
* @returns Encrypted data and backup key
|
|
471
|
+
*
|
|
472
|
+
* @example
|
|
473
|
+
* ```typescript
|
|
474
|
+
* const encoder = new TextEncoder();
|
|
475
|
+
* const data = encoder.encode('sensitive data');
|
|
476
|
+
* const { encryptedData, backupKey } = await pdw.security.encrypt(data);
|
|
477
|
+
* ```
|
|
478
|
+
*/
|
|
479
|
+
async encrypt(data: Uint8Array, threshold: number = 2): Promise<EncryptionResult> {
|
|
480
|
+
if (!this.services.encryption) {
|
|
481
|
+
throw new Error('Encryption service not configured. Initialize with encryption config.');
|
|
482
|
+
}
|
|
483
|
+
const result = await this.services.encryption.encrypt(
|
|
484
|
+
data,
|
|
485
|
+
this.services.config.userAddress,
|
|
486
|
+
threshold
|
|
487
|
+
);
|
|
488
|
+
return {
|
|
489
|
+
encryptedData: result.encryptedObject,
|
|
490
|
+
backupKey: result.backupKey
|
|
491
|
+
};
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
/**
|
|
495
|
+
* Encrypt data using SEAL with capability-based key ID
|
|
496
|
+
*
|
|
497
|
+
* Use this for capability pattern where keyId = keccak256(owner || nonce).
|
|
498
|
+
* The keyId MUST match what's passed to seal_approve during decryption.
|
|
499
|
+
*
|
|
500
|
+
* @param data - Data to encrypt
|
|
501
|
+
* @param keyId - Key ID bytes (compute with computeKeyId())
|
|
502
|
+
* @param threshold - Min key servers required (default: 2)
|
|
503
|
+
* @returns Encrypted data and backup key
|
|
504
|
+
*
|
|
505
|
+
* @example
|
|
506
|
+
* ```typescript
|
|
507
|
+
* const keyId = pdw.security.computeKeyId(ownerAddress, nonce);
|
|
508
|
+
* const { encryptedData } = await pdw.security.encryptWithKeyId(data, keyId);
|
|
509
|
+
* ```
|
|
510
|
+
*/
|
|
511
|
+
async encryptWithKeyId(data: Uint8Array, keyId: Uint8Array, threshold: number = 2): Promise<EncryptionResult> {
|
|
512
|
+
if (!this.services.encryption) {
|
|
513
|
+
throw new Error('Encryption service not configured. Initialize with encryption config.');
|
|
514
|
+
}
|
|
515
|
+
const keyIdHex = '0x' + Array.from(keyId).map(b => b.toString(16).padStart(2, '0')).join('');
|
|
516
|
+
const result = await this.services.encryption.encrypt(data, keyIdHex, threshold);
|
|
517
|
+
return {
|
|
518
|
+
encryptedData: result.encryptedObject,
|
|
519
|
+
backupKey: result.backupKey
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
* Decrypt SEAL-encrypted data
|
|
525
|
+
*
|
|
526
|
+
* Supports two access control patterns:
|
|
527
|
+
* 1. Capability pattern (recommended): Pass memoryCapId and keyId
|
|
528
|
+
* 2. Legacy allowlist pattern: Only requestingWallet needed
|
|
529
|
+
*
|
|
530
|
+
* @param options - Decryption options
|
|
531
|
+
* @returns Decrypted data
|
|
532
|
+
*
|
|
533
|
+
* @example
|
|
534
|
+
* ```typescript
|
|
535
|
+
* // Capability-based decryption
|
|
536
|
+
* const decrypted = await pdw.security.decrypt({
|
|
537
|
+
* encryptedData,
|
|
538
|
+
* memoryCapId: cap.id,
|
|
539
|
+
* keyId: keyIdBytes
|
|
540
|
+
* });
|
|
541
|
+
*
|
|
542
|
+
* // Or simple decryption (legacy)
|
|
543
|
+
* const decrypted = await pdw.security.decrypt({ encryptedData });
|
|
544
|
+
* ```
|
|
545
|
+
*/
|
|
546
|
+
async decrypt(options: DecryptionOptions): Promise<Uint8Array> {
|
|
547
|
+
if (!this.services.encryption) {
|
|
548
|
+
throw new Error('Encryption service not configured.');
|
|
549
|
+
}
|
|
550
|
+
return await this.services.encryption.decrypt({
|
|
551
|
+
encryptedContent: options.encryptedData,
|
|
552
|
+
userAddress: this.services.config.userAddress,
|
|
553
|
+
sessionKey: options.sessionKey,
|
|
554
|
+
requestingWallet: options.requestingWallet || this.services.config.userAddress,
|
|
555
|
+
memoryCapId: options.memoryCapId,
|
|
556
|
+
keyId: options.keyId
|
|
557
|
+
});
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
/**
|
|
561
|
+
* Compute SEAL key_id from owner and nonce
|
|
562
|
+
*
|
|
563
|
+
* Use this to compute the key_id needed for capability-based encryption/decryption.
|
|
564
|
+
* The nonce comes from the MemoryCap object on-chain.
|
|
565
|
+
*
|
|
566
|
+
* @param ownerAddress - Owner's Sui address
|
|
567
|
+
* @param nonce - Nonce from MemoryCap object (32 bytes)
|
|
568
|
+
* @returns key_id bytes for SEAL operations
|
|
569
|
+
*
|
|
570
|
+
* @example
|
|
571
|
+
* ```typescript
|
|
572
|
+
* const ctx = await pdw.security.context.get('MEMO');
|
|
573
|
+
* const keyId = pdw.security.computeKeyId(userAddress, ctx.nonce);
|
|
574
|
+
* ```
|
|
575
|
+
*/
|
|
576
|
+
computeKeyId(ownerAddress: string, nonce: Uint8Array): Uint8Array {
|
|
577
|
+
if (!this.services.encryption) {
|
|
578
|
+
throw new Error('Encryption service not configured.');
|
|
579
|
+
}
|
|
580
|
+
return this.services.encryption.computeKeyId(ownerAddress, nonce);
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
// ==========================================================================
|
|
584
|
+
// Session Key Management
|
|
585
|
+
// ==========================================================================
|
|
586
|
+
|
|
587
|
+
/**
|
|
588
|
+
* Create session key for SEAL operations
|
|
589
|
+
*
|
|
590
|
+
* @param signer - Optional signer (keypair or signPersonalMessage function)
|
|
591
|
+
* @returns Session key
|
|
592
|
+
*/
|
|
593
|
+
async createSessionKey(signer?: {
|
|
594
|
+
signPersonalMessageFn?: (message: string) => Promise<{ signature: string }>;
|
|
595
|
+
keypair?: any;
|
|
596
|
+
}): Promise<SessionKey> {
|
|
597
|
+
if (!this.services.encryption) {
|
|
598
|
+
throw new Error('Encryption service not configured.');
|
|
599
|
+
}
|
|
600
|
+
return await this.services.encryption.createSessionKey(
|
|
601
|
+
this.services.config.userAddress,
|
|
602
|
+
signer
|
|
603
|
+
);
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
/**
|
|
607
|
+
* Get or create session key (cached)
|
|
608
|
+
*
|
|
609
|
+
* @returns Cached or new session key
|
|
610
|
+
*/
|
|
611
|
+
async getSessionKey(): Promise<SessionKey> {
|
|
612
|
+
if (!this.services.encryption) {
|
|
613
|
+
throw new Error('Encryption service not configured.');
|
|
614
|
+
}
|
|
615
|
+
return await this.services.encryption.getOrCreateSessionKey(
|
|
616
|
+
this.services.config.userAddress
|
|
617
|
+
);
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
/**
|
|
621
|
+
* Export session key for persistence
|
|
622
|
+
*
|
|
623
|
+
* @param sessionKey - Session key to export
|
|
624
|
+
* @returns Serialized session key
|
|
625
|
+
*/
|
|
626
|
+
async exportSessionKey(sessionKey: SessionKey): Promise<string> {
|
|
627
|
+
if (!this.services.encryption) {
|
|
628
|
+
throw new Error('Encryption service not configured.');
|
|
629
|
+
}
|
|
630
|
+
return await this.services.encryption.exportSessionKey(sessionKey);
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
/**
|
|
634
|
+
* Import previously exported session key
|
|
635
|
+
*
|
|
636
|
+
* @param exportedKey - Serialized session key
|
|
637
|
+
* @returns Session key instance
|
|
638
|
+
*/
|
|
639
|
+
async importSessionKey(exportedKey: string): Promise<SessionKey> {
|
|
640
|
+
if (!this.services.encryption) {
|
|
641
|
+
throw new Error('Encryption service not configured.');
|
|
642
|
+
}
|
|
643
|
+
return await this.services.encryption.importSessionKey(
|
|
644
|
+
exportedKey,
|
|
645
|
+
this.services.config.userAddress
|
|
646
|
+
);
|
|
647
|
+
}
|
|
648
|
+
}
|