@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,706 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EmbeddingService - AI SDK Integration
|
|
3
|
+
*
|
|
4
|
+
* Refactored to use Vercel AI SDK as the underlying embedding provider.
|
|
5
|
+
* Supports any AI SDK compatible provider (OpenAI, Google, Cohere, etc.)
|
|
6
|
+
* while maintaining backward compatibility with existing PDW code.
|
|
7
|
+
*
|
|
8
|
+
* OpenRouter now uses the official @openrouter/sdk instead of raw fetch calls.
|
|
9
|
+
*
|
|
10
|
+
* Key features:
|
|
11
|
+
* - Provider-agnostic: Accept any ai-sdk EmbeddingModel
|
|
12
|
+
* - Backward compatible: Existing code continues to work
|
|
13
|
+
* - Flexible configuration: Direct model OR provider config
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import type { EmbeddingModelV2 } from '@ai-sdk/provider';
|
|
17
|
+
import { embed, embedMany } from 'ai';
|
|
18
|
+
import { createGoogleGenerativeAI } from '@ai-sdk/google';
|
|
19
|
+
import { createOpenAI } from '@ai-sdk/openai';
|
|
20
|
+
import { OpenRouter } from '@openrouter/sdk';
|
|
21
|
+
|
|
22
|
+
// Type alias for embedding models - V2 is the default in AI SDK v5
|
|
23
|
+
type EmbeddingModel<VALUE> = EmbeddingModelV2<VALUE>;
|
|
24
|
+
|
|
25
|
+
// Provider instances (lazily initialized)
|
|
26
|
+
let googleProvider: ReturnType<typeof createGoogleGenerativeAI> | null = null;
|
|
27
|
+
let openaiProvider: ReturnType<typeof createOpenAI> | null = null;
|
|
28
|
+
let openrouterProvider: ReturnType<typeof createOpenAI> | null = null;
|
|
29
|
+
let cohereProvider: any = null;
|
|
30
|
+
|
|
31
|
+
export interface EmbeddingConfig {
|
|
32
|
+
/**
|
|
33
|
+
* Option 1: Direct ai-sdk model (most flexible)
|
|
34
|
+
* User provides their own EmbeddingModel from any provider
|
|
35
|
+
*
|
|
36
|
+
* For backward compatibility, also accepts string (treated as modelName)
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* import { openai } from '@ai-sdk/openai';
|
|
41
|
+
* const service = new EmbeddingService({
|
|
42
|
+
* model: openai.embedding('text-embedding-3-large')
|
|
43
|
+
* });
|
|
44
|
+
*
|
|
45
|
+
* // Backward compatible:
|
|
46
|
+
* const service = new EmbeddingService({
|
|
47
|
+
* model: 'text-embedding-004', // Treated as modelName
|
|
48
|
+
* apiKey: 'your-key'
|
|
49
|
+
* });
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
model?: EmbeddingModel<string> | string;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Option 2: Provider-based configuration
|
|
56
|
+
* PDW creates the model from provider settings
|
|
57
|
+
*
|
|
58
|
+
* - google: Direct Google AI API
|
|
59
|
+
* - openai: Direct OpenAI API
|
|
60
|
+
* - openrouter: OpenRouter API gateway (supports multiple models)
|
|
61
|
+
* - cohere: Direct Cohere API
|
|
62
|
+
*/
|
|
63
|
+
provider?: 'google' | 'openai' | 'openrouter' | 'cohere';
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* API key for the provider
|
|
67
|
+
* Falls back to environment variables:
|
|
68
|
+
* - GEMINI_API_KEY or GOOGLE_AI_API_KEY (for google)
|
|
69
|
+
* - OPENAI_API_KEY (for openai)
|
|
70
|
+
* - OPENROUTER_API_KEY (for openrouter)
|
|
71
|
+
* - COHERE_API_KEY (for cohere)
|
|
72
|
+
*/
|
|
73
|
+
apiKey?: string;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Model name to use
|
|
77
|
+
* - Google: 'text-embedding-004', 'gemini-embedding-001'
|
|
78
|
+
* - OpenAI: 'text-embedding-3-small', 'text-embedding-3-large'
|
|
79
|
+
* - OpenRouter: 'google/gemini-embedding-001', 'openai/text-embedding-3-small', etc.
|
|
80
|
+
* - Cohere: 'embed-english-v3.0', 'embed-multilingual-v3.0'
|
|
81
|
+
*/
|
|
82
|
+
modelName?: string;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Embedding dimensions (optional, provider-dependent)
|
|
86
|
+
* - Google: Up to 768
|
|
87
|
+
* - OpenAI: 256, 512, 1024, 1536, 3072 (depending on model)
|
|
88
|
+
* - OpenRouter: Depends on the underlying model
|
|
89
|
+
* - Cohere: Model-specific
|
|
90
|
+
*/
|
|
91
|
+
dimensions?: number;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Rate limiting
|
|
95
|
+
*/
|
|
96
|
+
requestsPerMinute?: number;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export interface EmbeddingOptions {
|
|
100
|
+
text: string;
|
|
101
|
+
type?: 'content' | 'metadata' | 'query';
|
|
102
|
+
taskType?: 'RETRIEVAL_QUERY' | 'RETRIEVAL_DOCUMENT' | 'SEMANTIC_SIMILARITY';
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export interface EmbeddingResult {
|
|
106
|
+
vector: number[];
|
|
107
|
+
dimension: number;
|
|
108
|
+
model: string;
|
|
109
|
+
processingTime: number;
|
|
110
|
+
tokenCount?: number;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export interface BatchEmbeddingResult {
|
|
114
|
+
vectors: number[][];
|
|
115
|
+
dimension: number;
|
|
116
|
+
model: string;
|
|
117
|
+
totalProcessingTime: number;
|
|
118
|
+
averageProcessingTime: number;
|
|
119
|
+
successCount: number;
|
|
120
|
+
failedCount: number;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Embedding service using Vercel AI SDK
|
|
125
|
+
* Supports all AI SDK compatible providers
|
|
126
|
+
* OpenRouter uses the official @openrouter/sdk for better type safety
|
|
127
|
+
*/
|
|
128
|
+
export class EmbeddingService {
|
|
129
|
+
private embeddingModel: EmbeddingModel<string> | null = null;
|
|
130
|
+
private modelName: string;
|
|
131
|
+
private dimensions: number;
|
|
132
|
+
private requestCount = 0;
|
|
133
|
+
private lastReset = Date.now();
|
|
134
|
+
private readonly maxRequestsPerMinute: number;
|
|
135
|
+
private provider: 'google' | 'openai' | 'openrouter' | 'cohere' | 'custom';
|
|
136
|
+
private apiKey: string = '';
|
|
137
|
+
private openRouterClient: OpenRouter | null = null;
|
|
138
|
+
|
|
139
|
+
constructor(config: EmbeddingConfig = {}) {
|
|
140
|
+
this.maxRequestsPerMinute = config.requestsPerMinute || 1500;
|
|
141
|
+
|
|
142
|
+
// Case 1: Direct model provided (most flexible)
|
|
143
|
+
if (config.model) {
|
|
144
|
+
// Backward compatibility: If model is a string, treat as modelName
|
|
145
|
+
if (typeof config.model === 'string') {
|
|
146
|
+
const modelNameFromString = config.model;
|
|
147
|
+
console.log(`🔄 Backward compatibility: treating model string "${modelNameFromString}" as modelName`);
|
|
148
|
+
|
|
149
|
+
// Treat string as modelName and use provider config path
|
|
150
|
+
const provider = config.provider || 'google';
|
|
151
|
+
this.apiKey = this.resolveApiKey(provider, config.apiKey);
|
|
152
|
+
|
|
153
|
+
if (!this.apiKey) {
|
|
154
|
+
throw new Error(
|
|
155
|
+
`API key is required for ${provider} provider. ` +
|
|
156
|
+
`Provide it via config.apiKey or environment variable.`
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
this.provider = provider;
|
|
161
|
+
this.modelName = modelNameFromString;
|
|
162
|
+
this.dimensions = config.dimensions || this.getDefaultDimensions(provider);
|
|
163
|
+
|
|
164
|
+
// OpenRouter uses SDK, others use AI SDK
|
|
165
|
+
if (provider === 'openrouter') {
|
|
166
|
+
this.openRouterClient = new OpenRouter({ apiKey: this.apiKey });
|
|
167
|
+
} else {
|
|
168
|
+
this.embeddingModel = this.createModel(provider, this.apiKey, this.modelName);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
console.log(`✅ EmbeddingService initialized with ${provider} provider (${this.modelName}) [backward compat mode]`);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// New behavior: Direct EmbeddingModel from ai-sdk
|
|
176
|
+
this.embeddingModel = config.model;
|
|
177
|
+
this.modelName = 'custom';
|
|
178
|
+
this.dimensions = config.dimensions || 3072;
|
|
179
|
+
this.provider = 'custom';
|
|
180
|
+
console.log('✅ EmbeddingService initialized with custom ai-sdk model');
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// Case 2: Provider-based configuration
|
|
185
|
+
const provider = config.provider || 'google'; // Default to google for backward compat
|
|
186
|
+
this.apiKey = this.resolveApiKey(provider, config.apiKey);
|
|
187
|
+
|
|
188
|
+
if (!this.apiKey) {
|
|
189
|
+
throw new Error(
|
|
190
|
+
`API key is required for ${provider} provider. ` +
|
|
191
|
+
`Provide it via config.apiKey or environment variable.`
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
this.provider = provider;
|
|
196
|
+
this.modelName = config.modelName || this.getDefaultModelName(provider);
|
|
197
|
+
this.dimensions = config.dimensions || this.getDefaultDimensions(provider);
|
|
198
|
+
|
|
199
|
+
// OpenRouter uses SDK, others use AI SDK
|
|
200
|
+
if (provider === 'openrouter') {
|
|
201
|
+
this.openRouterClient = new OpenRouter({ apiKey: this.apiKey });
|
|
202
|
+
} else {
|
|
203
|
+
this.embeddingModel = this.createModel(provider, this.apiKey, this.modelName);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
console.log(`✅ EmbeddingService initialized with ${provider} provider (${this.modelName})`);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Resolve API key from config or environment
|
|
211
|
+
*/
|
|
212
|
+
private resolveApiKey(provider: string, configKey?: string): string {
|
|
213
|
+
if (configKey) return configKey;
|
|
214
|
+
|
|
215
|
+
switch (provider) {
|
|
216
|
+
case 'google':
|
|
217
|
+
return process.env.GEMINI_API_KEY || process.env.GOOGLE_AI_API_KEY || '';
|
|
218
|
+
case 'openai':
|
|
219
|
+
return process.env.OPENAI_API_KEY || '';
|
|
220
|
+
case 'openrouter':
|
|
221
|
+
return process.env.OPENROUTER_API_KEY || '';
|
|
222
|
+
case 'cohere':
|
|
223
|
+
return process.env.COHERE_API_KEY || '';
|
|
224
|
+
default:
|
|
225
|
+
return '';
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Get default model name for provider
|
|
231
|
+
*/
|
|
232
|
+
private getDefaultModelName(provider: string): string {
|
|
233
|
+
switch (provider) {
|
|
234
|
+
case 'google':
|
|
235
|
+
return 'text-embedding-004';
|
|
236
|
+
case 'openai':
|
|
237
|
+
return 'text-embedding-3-small';
|
|
238
|
+
case 'openrouter':
|
|
239
|
+
return 'google/gemini-embedding-001'; // Default OpenRouter embedding model
|
|
240
|
+
case 'cohere':
|
|
241
|
+
return 'embed-english-v3.0';
|
|
242
|
+
default:
|
|
243
|
+
return 'text-embedding-004';
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Get default dimensions for provider
|
|
249
|
+
*/
|
|
250
|
+
private getDefaultDimensions(provider: string): number {
|
|
251
|
+
switch (provider) {
|
|
252
|
+
case 'google':
|
|
253
|
+
return 3072;
|
|
254
|
+
case 'openai':
|
|
255
|
+
return 1536; // text-embedding-3-small default
|
|
256
|
+
case 'openrouter':
|
|
257
|
+
return 3072; // google/gemini-embedding-001 returns 3072 dimensions
|
|
258
|
+
case 'cohere':
|
|
259
|
+
return 1024;
|
|
260
|
+
default:
|
|
261
|
+
return 3072;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Create embedding model from provider
|
|
267
|
+
*/
|
|
268
|
+
private createModel(
|
|
269
|
+
provider: string,
|
|
270
|
+
apiKey: string,
|
|
271
|
+
modelName: string
|
|
272
|
+
): EmbeddingModel<string> {
|
|
273
|
+
switch (provider) {
|
|
274
|
+
case 'google': {
|
|
275
|
+
if (!googleProvider) {
|
|
276
|
+
googleProvider = createGoogleGenerativeAI({ apiKey });
|
|
277
|
+
}
|
|
278
|
+
return googleProvider.textEmbeddingModel(modelName);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
case 'openai': {
|
|
282
|
+
if (!openaiProvider) {
|
|
283
|
+
openaiProvider = createOpenAI({ apiKey });
|
|
284
|
+
}
|
|
285
|
+
// OpenAI returns EmbeddingModelV2 but is compatible with ai SDK
|
|
286
|
+
return openaiProvider.textEmbeddingModel(modelName) as unknown as EmbeddingModel<string>;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
case 'openrouter': {
|
|
290
|
+
// OpenRouter uses OpenAI-compatible API with custom baseURL
|
|
291
|
+
if (!openrouterProvider) {
|
|
292
|
+
openrouterProvider = createOpenAI({
|
|
293
|
+
baseURL: 'https://openrouter.ai/api/v1',
|
|
294
|
+
apiKey,
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
// OpenRouter embedding models use the same interface as OpenAI
|
|
298
|
+
return openrouterProvider.textEmbeddingModel(modelName) as unknown as EmbeddingModel<string>;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
case 'cohere': {
|
|
302
|
+
if (!cohereProvider) {
|
|
303
|
+
throw new Error(
|
|
304
|
+
'Cohere provider requires manual initialization. ' +
|
|
305
|
+
'Import createCohere from @ai-sdk/cohere and set cohereProvider before use.'
|
|
306
|
+
);
|
|
307
|
+
}
|
|
308
|
+
return cohereProvider.textEmbedding(modelName);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
default:
|
|
312
|
+
throw new Error(`Unsupported provider: ${provider}`);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* Generate embedding for a single text
|
|
318
|
+
*/
|
|
319
|
+
async embedText(options: EmbeddingOptions): Promise<EmbeddingResult> {
|
|
320
|
+
const startTime = Date.now();
|
|
321
|
+
|
|
322
|
+
// Validate input
|
|
323
|
+
if (!options.text || typeof options.text !== 'string' || options.text.trim().length === 0) {
|
|
324
|
+
throw new Error('Invalid or empty text provided for embedding');
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
await this.checkRateLimit();
|
|
328
|
+
|
|
329
|
+
try {
|
|
330
|
+
// OpenRouter uses native fetch API for better compatibility
|
|
331
|
+
if (this.provider === 'openrouter') {
|
|
332
|
+
return await this.embedTextOpenRouter(options.text, startTime);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
// Other providers use AI SDK
|
|
336
|
+
if (!this.embeddingModel) {
|
|
337
|
+
throw new Error('Embedding model not initialized');
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
const result = await embed({
|
|
341
|
+
model: this.embeddingModel,
|
|
342
|
+
value: options.text,
|
|
343
|
+
...this.getProviderOptions(options),
|
|
344
|
+
});
|
|
345
|
+
|
|
346
|
+
this.requestCount++;
|
|
347
|
+
|
|
348
|
+
return {
|
|
349
|
+
vector: result.embedding,
|
|
350
|
+
dimension: result.embedding.length,
|
|
351
|
+
model: this.modelName,
|
|
352
|
+
processingTime: Date.now() - startTime,
|
|
353
|
+
tokenCount: result.usage?.tokens,
|
|
354
|
+
};
|
|
355
|
+
} catch (error) {
|
|
356
|
+
throw new Error(
|
|
357
|
+
`Embedding generation failed: ${error instanceof Error ? error.message : 'Unknown error'}`
|
|
358
|
+
);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* Generate embedding using OpenRouter SDK
|
|
364
|
+
* Uses official @openrouter/sdk for embeddings
|
|
365
|
+
*/
|
|
366
|
+
private async embedTextOpenRouter(text: string, startTime: number): Promise<EmbeddingResult> {
|
|
367
|
+
if (!this.openRouterClient) {
|
|
368
|
+
throw new Error('OpenRouter client not initialized');
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
const result = await this.openRouterClient.embeddings.generate({
|
|
372
|
+
model: this.modelName,
|
|
373
|
+
input: text
|
|
374
|
+
});
|
|
375
|
+
|
|
376
|
+
// Handle union type - result can be string or object
|
|
377
|
+
if (typeof result === 'string') {
|
|
378
|
+
throw new Error('Unexpected string response from OpenRouter embeddings API');
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
const data = (result as any).data;
|
|
382
|
+
if (!data || !data[0] || !data[0].embedding) {
|
|
383
|
+
throw new Error('Invalid response from OpenRouter embeddings API');
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
this.requestCount++;
|
|
387
|
+
|
|
388
|
+
// Handle embedding which can be string or number[]
|
|
389
|
+
const embedding = data[0].embedding;
|
|
390
|
+
const vector = typeof embedding === 'string'
|
|
391
|
+
? JSON.parse(embedding) as number[]
|
|
392
|
+
: embedding as number[];
|
|
393
|
+
|
|
394
|
+
const usage = (result as any).usage;
|
|
395
|
+
|
|
396
|
+
return {
|
|
397
|
+
vector,
|
|
398
|
+
dimension: vector.length,
|
|
399
|
+
model: this.modelName,
|
|
400
|
+
processingTime: Date.now() - startTime,
|
|
401
|
+
tokenCount: usage?.totalTokens
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* Generate embeddings for multiple texts (batched)
|
|
407
|
+
*/
|
|
408
|
+
async embedBatch(
|
|
409
|
+
texts: string[],
|
|
410
|
+
options: Omit<EmbeddingOptions, 'text'> = {}
|
|
411
|
+
): Promise<BatchEmbeddingResult> {
|
|
412
|
+
const startTime = Date.now();
|
|
413
|
+
let successCount = 0;
|
|
414
|
+
let failedCount = 0;
|
|
415
|
+
|
|
416
|
+
try {
|
|
417
|
+
await this.checkRateLimit();
|
|
418
|
+
|
|
419
|
+
// OpenRouter uses native fetch API for better compatibility
|
|
420
|
+
if (this.provider === 'openrouter') {
|
|
421
|
+
return await this.embedBatchOpenRouter(texts, startTime);
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
// Other providers use AI SDK
|
|
425
|
+
if (!this.embeddingModel) {
|
|
426
|
+
throw new Error('Embedding model not initialized');
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
const result = await embedMany({
|
|
430
|
+
model: this.embeddingModel,
|
|
431
|
+
values: texts,
|
|
432
|
+
...this.getProviderOptions(options as EmbeddingOptions),
|
|
433
|
+
});
|
|
434
|
+
|
|
435
|
+
successCount = result.embeddings.length;
|
|
436
|
+
const totalTime = Date.now() - startTime;
|
|
437
|
+
|
|
438
|
+
return {
|
|
439
|
+
vectors: result.embeddings,
|
|
440
|
+
dimension: result.embeddings[0]?.length || this.dimensions,
|
|
441
|
+
model: this.modelName,
|
|
442
|
+
totalProcessingTime: totalTime,
|
|
443
|
+
averageProcessingTime: totalTime / texts.length,
|
|
444
|
+
successCount,
|
|
445
|
+
failedCount,
|
|
446
|
+
};
|
|
447
|
+
} catch (error) {
|
|
448
|
+
throw new Error(
|
|
449
|
+
`Batch embedding failed: ${error instanceof Error ? error.message : 'Unknown error'}`
|
|
450
|
+
);
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* Generate batch embeddings using OpenRouter SDK
|
|
456
|
+
*/
|
|
457
|
+
private async embedBatchOpenRouter(texts: string[], startTime: number): Promise<BatchEmbeddingResult> {
|
|
458
|
+
if (!this.openRouterClient) {
|
|
459
|
+
throw new Error('OpenRouter client not initialized');
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
const result = await this.openRouterClient.embeddings.generate({
|
|
463
|
+
model: this.modelName,
|
|
464
|
+
input: texts
|
|
465
|
+
});
|
|
466
|
+
|
|
467
|
+
// Handle union type - result can be string or object
|
|
468
|
+
if (typeof result === 'string') {
|
|
469
|
+
throw new Error('Unexpected string response from OpenRouter embeddings API');
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
const data = (result as any).data;
|
|
473
|
+
if (!data || !Array.isArray(data)) {
|
|
474
|
+
throw new Error('Invalid response from OpenRouter embeddings API');
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
// Sort by index to ensure correct order
|
|
478
|
+
const sortedData = [...data].sort((a: any, b: any) => (a.index || 0) - (b.index || 0));
|
|
479
|
+
const vectors = sortedData.map((item: any) => {
|
|
480
|
+
const embedding = item.embedding;
|
|
481
|
+
return typeof embedding === 'string'
|
|
482
|
+
? JSON.parse(embedding) as number[]
|
|
483
|
+
: embedding as number[];
|
|
484
|
+
});
|
|
485
|
+
|
|
486
|
+
this.requestCount++;
|
|
487
|
+
const totalTime = Date.now() - startTime;
|
|
488
|
+
|
|
489
|
+
return {
|
|
490
|
+
vectors,
|
|
491
|
+
dimension: vectors[0]?.length || this.dimensions,
|
|
492
|
+
model: this.modelName,
|
|
493
|
+
totalProcessingTime: totalTime,
|
|
494
|
+
averageProcessingTime: totalTime / texts.length,
|
|
495
|
+
successCount: vectors.length,
|
|
496
|
+
failedCount: texts.length - vectors.length
|
|
497
|
+
};
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
/**
|
|
501
|
+
* Get provider-specific options
|
|
502
|
+
*/
|
|
503
|
+
private getProviderOptions(options: EmbeddingOptions): any {
|
|
504
|
+
const providerOpts: any = {};
|
|
505
|
+
|
|
506
|
+
if (this.provider === 'google') {
|
|
507
|
+
providerOpts.providerOptions = {
|
|
508
|
+
google: {
|
|
509
|
+
outputDimensionality: this.dimensions,
|
|
510
|
+
taskType: this.getGoogleTaskType(options.type),
|
|
511
|
+
},
|
|
512
|
+
};
|
|
513
|
+
} else if (this.provider === 'openai') {
|
|
514
|
+
providerOpts.providerOptions = {
|
|
515
|
+
openai: {
|
|
516
|
+
dimensions: this.dimensions,
|
|
517
|
+
},
|
|
518
|
+
};
|
|
519
|
+
} else if (this.provider === 'openrouter') {
|
|
520
|
+
// OpenRouter uses OpenAI-compatible options
|
|
521
|
+
// Note: dimensions may not be supported for all models via OpenRouter
|
|
522
|
+
providerOpts.providerOptions = {
|
|
523
|
+
openai: {
|
|
524
|
+
dimensions: this.dimensions,
|
|
525
|
+
},
|
|
526
|
+
};
|
|
527
|
+
} else if (this.provider === 'cohere') {
|
|
528
|
+
providerOpts.providerOptions = {
|
|
529
|
+
cohere: {
|
|
530
|
+
inputType: this.getCohereInputType(options.type),
|
|
531
|
+
},
|
|
532
|
+
};
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
return providerOpts;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
/**
|
|
539
|
+
* Map PDW type to Google task type
|
|
540
|
+
*/
|
|
541
|
+
private getGoogleTaskType(type?: string): string {
|
|
542
|
+
switch (type) {
|
|
543
|
+
case 'query':
|
|
544
|
+
return 'RETRIEVAL_QUERY';
|
|
545
|
+
case 'content':
|
|
546
|
+
return 'RETRIEVAL_DOCUMENT';
|
|
547
|
+
case 'metadata':
|
|
548
|
+
return 'SEMANTIC_SIMILARITY';
|
|
549
|
+
default:
|
|
550
|
+
return 'RETRIEVAL_DOCUMENT';
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
/**
|
|
555
|
+
* Map PDW type to Cohere input type
|
|
556
|
+
*/
|
|
557
|
+
private getCohereInputType(type?: string): string {
|
|
558
|
+
switch (type) {
|
|
559
|
+
case 'query':
|
|
560
|
+
return 'search_query';
|
|
561
|
+
case 'content':
|
|
562
|
+
return 'search_document';
|
|
563
|
+
default:
|
|
564
|
+
return 'search_document';
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* Calculate cosine similarity between two vectors
|
|
570
|
+
*/
|
|
571
|
+
calculateCosineSimilarity(vectorA: number[], vectorB: number[]): number {
|
|
572
|
+
if (vectorA.length !== vectorB.length) {
|
|
573
|
+
throw new Error(`Vector dimension mismatch: ${vectorA.length} vs ${vectorB.length}`);
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
let dotProduct = 0;
|
|
577
|
+
let normA = 0;
|
|
578
|
+
let normB = 0;
|
|
579
|
+
|
|
580
|
+
for (let i = 0; i < vectorA.length; i++) {
|
|
581
|
+
dotProduct += vectorA[i] * vectorB[i];
|
|
582
|
+
normA += vectorA[i] * vectorA[i];
|
|
583
|
+
normB += vectorB[i] * vectorB[i];
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
const magnitude = Math.sqrt(normA) * Math.sqrt(normB);
|
|
587
|
+
|
|
588
|
+
if (magnitude === 0) {
|
|
589
|
+
return 0;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
return dotProduct / magnitude;
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
/**
|
|
596
|
+
* Calculate Euclidean distance between two vectors
|
|
597
|
+
*/
|
|
598
|
+
calculateEuclideanDistance(vectorA: number[], vectorB: number[]): number {
|
|
599
|
+
if (vectorA.length !== vectorB.length) {
|
|
600
|
+
throw new Error(`Vector dimension mismatch: ${vectorA.length} vs ${vectorB.length}`);
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
let sum = 0;
|
|
604
|
+
for (let i = 0; i < vectorA.length; i++) {
|
|
605
|
+
const diff = vectorA[i] - vectorB[i];
|
|
606
|
+
sum += diff * diff;
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
return Math.sqrt(sum);
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
/**
|
|
613
|
+
* Normalize a vector to unit length
|
|
614
|
+
*/
|
|
615
|
+
normalizeVector(vector: number[]): number[] {
|
|
616
|
+
const magnitude = Math.sqrt(vector.reduce((sum, val) => sum + val * val, 0));
|
|
617
|
+
|
|
618
|
+
if (magnitude === 0) {
|
|
619
|
+
return vector;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
return vector.map(val => val / magnitude);
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
/**
|
|
626
|
+
* Find the most similar vectors to a query vector
|
|
627
|
+
*/
|
|
628
|
+
findMostSimilar(
|
|
629
|
+
queryVector: number[],
|
|
630
|
+
candidateVectors: number[][],
|
|
631
|
+
k: number = 5
|
|
632
|
+
): Array<{ index: number; similarity: number; distance: number }> {
|
|
633
|
+
const similarities = candidateVectors.map((vector, index) => {
|
|
634
|
+
const similarity = this.calculateCosineSimilarity(queryVector, vector);
|
|
635
|
+
const distance = this.calculateEuclideanDistance(queryVector, vector);
|
|
636
|
+
|
|
637
|
+
return { index, similarity, distance };
|
|
638
|
+
});
|
|
639
|
+
|
|
640
|
+
similarities.sort((a, b) => b.similarity - a.similarity);
|
|
641
|
+
|
|
642
|
+
return similarities.slice(0, k);
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* Get embedding statistics
|
|
647
|
+
*/
|
|
648
|
+
getStats(): {
|
|
649
|
+
totalRequests: number;
|
|
650
|
+
requestsThisMinute: number;
|
|
651
|
+
model: string;
|
|
652
|
+
dimensions: number;
|
|
653
|
+
rateLimit: number;
|
|
654
|
+
provider: string;
|
|
655
|
+
} {
|
|
656
|
+
const now = Date.now();
|
|
657
|
+
const requestsThisMinute = (now - this.lastReset) < 60000 ? this.requestCount : 0;
|
|
658
|
+
|
|
659
|
+
return {
|
|
660
|
+
totalRequests: this.requestCount,
|
|
661
|
+
requestsThisMinute,
|
|
662
|
+
model: this.modelName,
|
|
663
|
+
dimensions: this.dimensions,
|
|
664
|
+
rateLimit: this.maxRequestsPerMinute,
|
|
665
|
+
provider: this.provider,
|
|
666
|
+
};
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
/**
|
|
670
|
+
* Reset rate limiting counters
|
|
671
|
+
*/
|
|
672
|
+
private resetRateLimit(): void {
|
|
673
|
+
const now = Date.now();
|
|
674
|
+
if (now - this.lastReset >= 60000) {
|
|
675
|
+
this.requestCount = 0;
|
|
676
|
+
this.lastReset = now;
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
/**
|
|
681
|
+
* Check rate limiting and wait if necessary
|
|
682
|
+
*/
|
|
683
|
+
private async checkRateLimit(): Promise<void> {
|
|
684
|
+
this.resetRateLimit();
|
|
685
|
+
|
|
686
|
+
if (this.requestCount >= this.maxRequestsPerMinute) {
|
|
687
|
+
const waitTime = 60000 - (Date.now() - this.lastReset);
|
|
688
|
+
if (waitTime > 0) {
|
|
689
|
+
if (process.env.NODE_ENV === 'development') {
|
|
690
|
+
console.warn(`Rate limit reached, waiting ${waitTime}ms`);
|
|
691
|
+
}
|
|
692
|
+
await this.delay(waitTime);
|
|
693
|
+
this.resetRateLimit();
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
/**
|
|
699
|
+
* Utility delay function
|
|
700
|
+
*/
|
|
701
|
+
private delay(ms: number): Promise<void> {
|
|
702
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
export default EmbeddingService;
|