mindoodb 0.0.24 → 0.0.33
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/README-server.md +9 -1
- package/README.md +5 -3
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +1 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +24 -5
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.d.ts +14 -2
- package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.js +124 -27
- package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +159 -4
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +334 -25
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
- package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts +9 -0
- package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts.map +1 -1
- package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js +77 -5
- package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js.map +1 -1
- package/dist/browser/index.mjs +103 -0
- package/dist/core/BaseMindooDB.d.ts +662 -4
- package/dist/core/BaseMindooDB.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.js +2769 -144
- package/dist/core/BaseMindooDB.js.map +1 -1
- package/dist/core/BaseMindooTenant.d.ts +192 -1
- package/dist/core/BaseMindooTenant.d.ts.map +1 -1
- package/dist/core/BaseMindooTenant.js +633 -88
- package/dist/core/BaseMindooTenant.js.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.d.ts +770 -10
- package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.js +2715 -292
- package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
- package/dist/core/BaseMindooTenantFactory.d.ts +2 -0
- package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantFactory.js +20 -0
- package/dist/core/BaseMindooTenantFactory.js.map +1 -1
- package/dist/core/accesscontrol/AccessDeniedError.d.ts +22 -0
- package/dist/core/accesscontrol/AccessDeniedError.d.ts.map +1 -0
- package/dist/core/accesscontrol/AccessDeniedError.js +28 -0
- package/dist/core/accesscontrol/AccessDeniedError.js.map +1 -0
- package/dist/core/accesscontrol/DirectoryStateNode.d.ts +220 -0
- package/dist/core/accesscontrol/DirectoryStateNode.d.ts.map +1 -0
- package/dist/core/accesscontrol/DirectoryStateNode.js +297 -0
- package/dist/core/accesscontrol/DirectoryStateNode.js.map +1 -0
- package/dist/core/accesscontrol/DirectoryTimeTravelIndex.d.ts +118 -0
- package/dist/core/accesscontrol/DirectoryTimeTravelIndex.d.ts.map +1 -0
- package/dist/core/accesscontrol/DirectoryTimeTravelIndex.js +173 -0
- package/dist/core/accesscontrol/DirectoryTimeTravelIndex.js.map +1 -0
- package/dist/core/accesscontrol/directoryProjection.d.ts +26 -0
- package/dist/core/accesscontrol/directoryProjection.d.ts.map +1 -0
- package/dist/core/accesscontrol/directoryProjection.js +174 -0
- package/dist/core/accesscontrol/directoryProjection.js.map +1 -0
- package/dist/core/accesscontrol/evaluate.d.ts +77 -0
- package/dist/core/accesscontrol/evaluate.d.ts.map +1 -0
- package/dist/core/accesscontrol/evaluate.js +206 -0
- package/dist/core/accesscontrol/evaluate.js.map +1 -0
- package/dist/core/accesscontrol/grantKeys.d.ts +113 -0
- package/dist/core/accesscontrol/grantKeys.d.ts.map +1 -0
- package/dist/core/accesscontrol/grantKeys.js +302 -0
- package/dist/core/accesscontrol/grantKeys.js.map +1 -0
- package/dist/core/accesscontrol/keyBagReconciler.d.ts +22 -0
- package/dist/core/accesscontrol/keyBagReconciler.d.ts.map +1 -0
- package/dist/core/accesscontrol/keyBagReconciler.js +3 -0
- package/dist/core/accesscontrol/keyBagReconciler.js.map +1 -0
- package/dist/core/accesscontrol/materializationGuard.d.ts +89 -0
- package/dist/core/accesscontrol/materializationGuard.d.ts.map +1 -0
- package/dist/core/accesscontrol/materializationGuard.js +69 -0
- package/dist/core/accesscontrol/materializationGuard.js.map +1 -0
- package/dist/core/accesscontrol/quarantine.d.ts +65 -0
- package/dist/core/accesscontrol/quarantine.d.ts.map +1 -0
- package/dist/core/accesscontrol/quarantine.js +79 -0
- package/dist/core/accesscontrol/quarantine.js.map +1 -0
- package/dist/core/accesscontrol/receiptValidation.d.ts +113 -0
- package/dist/core/accesscontrol/receiptValidation.d.ts.map +1 -0
- package/dist/core/accesscontrol/receiptValidation.js +142 -0
- package/dist/core/accesscontrol/receiptValidation.js.map +1 -0
- package/dist/core/accesscontrol/timestamp/Ed25519WitnessProvider.d.ts +31 -0
- package/dist/core/accesscontrol/timestamp/Ed25519WitnessProvider.d.ts.map +1 -0
- package/dist/core/accesscontrol/timestamp/Ed25519WitnessProvider.js +66 -0
- package/dist/core/accesscontrol/timestamp/Ed25519WitnessProvider.js.map +1 -0
- package/dist/core/accesscontrol/timestamp/TimestampProvider.d.ts +79 -0
- package/dist/core/accesscontrol/timestamp/TimestampProvider.d.ts.map +1 -0
- package/dist/core/accesscontrol/timestamp/TimestampProvider.js +22 -0
- package/dist/core/accesscontrol/timestamp/TimestampProvider.js.map +1 -0
- package/dist/core/accesscontrol/types.d.ts +825 -0
- package/dist/core/accesscontrol/types.d.ts.map +1 -0
- package/dist/core/accesscontrol/types.js +534 -0
- package/dist/core/accesscontrol/types.js.map +1 -0
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +9 -0
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +54 -0
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts +38 -2
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.js +199 -26
- package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
- package/dist/core/appendonlystores/network/NetworkTransport.d.ts +17 -3
- package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/types.d.ts +58 -4
- package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/types.js +4 -0
- package/dist/core/appendonlystores/network/types.js.map +1 -1
- package/dist/core/appendonlystores/scanUtils.d.ts +27 -0
- package/dist/core/appendonlystores/scanUtils.d.ts.map +1 -0
- package/dist/core/appendonlystores/scanUtils.js +87 -0
- package/dist/core/appendonlystores/scanUtils.js.map +1 -0
- package/dist/core/appendonlystores/types.d.ts +23 -2
- package/dist/core/appendonlystores/types.d.ts.map +1 -1
- package/dist/core/cache/CacheManager.d.ts +13 -3
- package/dist/core/cache/CacheManager.d.ts.map +1 -1
- package/dist/core/cache/CacheManager.js +7 -4
- package/dist/core/cache/CacheManager.js.map +1 -1
- package/dist/core/crypto/EntrySignature.d.ts +137 -0
- package/dist/core/crypto/EntrySignature.d.ts.map +1 -0
- package/dist/core/crypto/EntrySignature.js +210 -0
- package/dist/core/crypto/EntrySignature.js.map +1 -0
- package/dist/core/crypto/MindooDocSigner.d.ts.map +1 -1
- package/dist/core/crypto/MindooDocSigner.js +6 -2
- package/dist/core/crypto/MindooDocSigner.js.map +1 -1
- package/dist/core/crypto/WitnessReceipt.d.ts +137 -0
- package/dist/core/crypto/WitnessReceipt.d.ts.map +1 -0
- package/dist/core/crypto/WitnessReceipt.js +182 -0
- package/dist/core/crypto/WitnessReceipt.js.map +1 -0
- package/dist/core/crypto/encryptedFields.d.ts +27 -0
- package/dist/core/crypto/encryptedFields.d.ts.map +1 -0
- package/dist/core/crypto/encryptedFields.js +58 -0
- package/dist/core/crypto/encryptedFields.js.map +1 -0
- package/dist/core/crypto/pbkdf2Iterations.d.ts +12 -0
- package/dist/core/crypto/pbkdf2Iterations.d.ts.map +1 -1
- package/dist/core/crypto/pbkdf2Iterations.js +23 -0
- package/dist/core/crypto/pbkdf2Iterations.js.map +1 -1
- package/dist/core/crypto/privateKeyEncryption.d.ts.map +1 -1
- package/dist/core/crypto/privateKeyEncryption.js +3 -1
- package/dist/core/crypto/privateKeyEncryption.js.map +1 -1
- package/dist/core/databaseIdValidation.d.ts +1 -1
- package/dist/core/databaseIdValidation.d.ts.map +1 -1
- package/dist/core/databaseIdValidation.js +4 -4
- package/dist/core/databaseIdValidation.js.map +1 -1
- package/dist/core/errors.d.ts +26 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +42 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/expressions/builder.d.ts +102 -0
- package/dist/core/expressions/builder.d.ts.map +1 -0
- package/dist/core/expressions/builder.js +249 -0
- package/dist/core/expressions/builder.js.map +1 -0
- package/dist/core/expressions/evaluateExpression.d.ts +78 -0
- package/dist/core/expressions/evaluateExpression.d.ts.map +1 -0
- package/dist/core/expressions/evaluateExpression.js +386 -0
- package/dist/core/expressions/evaluateExpression.js.map +1 -0
- package/dist/core/expressions/formulaSource.d.ts +24 -0
- package/dist/core/expressions/formulaSource.d.ts.map +1 -0
- package/dist/core/expressions/formulaSource.js +765 -0
- package/dist/core/expressions/formulaSource.js.map +1 -0
- package/dist/core/expressions/index.d.ts +8 -0
- package/dist/core/expressions/index.d.ts.map +1 -0
- package/dist/core/expressions/index.js +46 -0
- package/dist/core/expressions/index.js.map +1 -0
- package/dist/core/expressions/metadata.d.ts +23 -0
- package/dist/core/expressions/metadata.d.ts.map +1 -0
- package/dist/core/expressions/metadata.js +191 -0
- package/dist/core/expressions/metadata.js.map +1 -0
- package/dist/core/expressions/types.d.ts +164 -0
- package/dist/core/expressions/types.d.ts.map +1 -0
- package/dist/core/expressions/types.js +3 -0
- package/dist/core/expressions/types.js.map +1 -0
- package/dist/core/extraction/types.d.ts +47 -0
- package/dist/core/extraction/types.d.ts.map +1 -0
- package/dist/core/extraction/types.js +42 -0
- package/dist/core/extraction/types.js.map +1 -0
- package/dist/core/index.d.ts +13 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +113 -4
- package/dist/core/index.js.map +1 -1
- package/dist/core/indexing/createViewDataProvider.d.ts +84 -0
- package/dist/core/indexing/createViewDataProvider.d.ts.map +1 -0
- package/dist/core/indexing/createViewDataProvider.js +139 -0
- package/dist/core/indexing/createViewDataProvider.js.map +1 -0
- package/dist/core/indexing/fulltext/DocumentFullTextIndex.d.ts +180 -0
- package/dist/core/indexing/fulltext/DocumentFullTextIndex.d.ts.map +1 -0
- package/dist/core/indexing/fulltext/DocumentFullTextIndex.js +548 -0
- package/dist/core/indexing/fulltext/DocumentFullTextIndex.js.map +1 -0
- package/dist/core/indexing/fulltext/SearchEngineAdapter.d.ts +69 -0
- package/dist/core/indexing/fulltext/SearchEngineAdapter.d.ts.map +1 -0
- package/dist/core/indexing/fulltext/SearchEngineAdapter.js +183 -0
- package/dist/core/indexing/fulltext/SearchEngineAdapter.js.map +1 -0
- package/dist/core/indexing/fulltext/extractFulltextText.d.ts +34 -0
- package/dist/core/indexing/fulltext/extractFulltextText.d.ts.map +1 -0
- package/dist/core/indexing/fulltext/extractFulltextText.js +129 -0
- package/dist/core/indexing/fulltext/extractFulltextText.js.map +1 -0
- package/dist/core/indexing/fulltext/index.d.ts +5 -0
- package/dist/core/indexing/fulltext/index.d.ts.map +1 -0
- package/dist/core/indexing/fulltext/index.js +20 -0
- package/dist/core/indexing/fulltext/index.js.map +1 -0
- package/dist/core/indexing/fulltext/types.d.ts +168 -0
- package/dist/core/indexing/fulltext/types.d.ts.map +1 -0
- package/dist/core/indexing/fulltext/types.js +89 -0
- package/dist/core/indexing/fulltext/types.js.map +1 -0
- package/dist/core/indexing/summary/DocumentSummaryStore.d.ts +137 -0
- package/dist/core/indexing/summary/DocumentSummaryStore.d.ts.map +1 -0
- package/dist/core/indexing/summary/DocumentSummaryStore.js +438 -0
- package/dist/core/indexing/summary/DocumentSummaryStore.js.map +1 -0
- package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.d.ts +72 -0
- package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.d.ts.map +1 -0
- package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js +221 -0
- package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js.map +1 -0
- package/dist/core/indexing/summary/extractSummaryFields.d.ts +75 -0
- package/dist/core/indexing/summary/extractSummaryFields.d.ts.map +1 -0
- package/dist/core/indexing/summary/extractSummaryFields.js +266 -0
- package/dist/core/indexing/summary/extractSummaryFields.js.map +1 -0
- package/dist/core/indexing/summary/index.d.ts +5 -0
- package/dist/core/indexing/summary/index.d.ts.map +1 -0
- package/dist/core/indexing/summary/index.js +23 -0
- package/dist/core/indexing/summary/index.js.map +1 -0
- package/dist/core/indexing/summary/types.d.ts +119 -0
- package/dist/core/indexing/summary/types.d.ts.map +1 -0
- package/dist/core/indexing/summary/types.js +81 -0
- package/dist/core/indexing/summary/types.js.map +1 -0
- package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.d.ts +47 -1
- package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +24 -8
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +96 -41
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
- package/dist/core/indexing/virtualviews/ViewEntrySortKey.d.ts +2 -0
- package/dist/core/indexing/virtualviews/ViewEntrySortKey.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/ViewEntrySortKey.js +8 -3
- package/dist/core/indexing/virtualviews/ViewEntrySortKey.js.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualView.d.ts +111 -5
- package/dist/core/indexing/virtualviews/VirtualView.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualView.js +266 -75
- package/dist/core/indexing/virtualviews/VirtualView.js.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualViewColumn.d.ts +12 -0
- package/dist/core/indexing/virtualviews/VirtualViewColumn.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualViewColumn.js +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewColumn.js.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts +12 -0
- package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualViewEntryData.js +66 -5
- package/dist/core/indexing/virtualviews/VirtualViewEntryData.js.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts +50 -6
- package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualViewFactory.js +54 -12
- package/dist/core/indexing/virtualviews/VirtualViewFactory.js.map +1 -1
- package/dist/core/indexing/virtualviews/index.d.ts +3 -3
- package/dist/core/indexing/virtualviews/index.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/index.js.map +1 -1
- package/dist/core/indexing/virtualviews/types.d.ts +6 -0
- package/dist/core/indexing/virtualviews/types.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/types.js +11 -3
- package/dist/core/indexing/virtualviews/types.js.map +1 -1
- package/dist/core/keys/KeyBag.d.ts +25 -0
- package/dist/core/keys/KeyBag.d.ts.map +1 -1
- package/dist/core/keys/KeyBag.js +37 -1
- package/dist/core/keys/KeyBag.js.map +1 -1
- package/dist/core/query/executeQuery.d.ts +18 -0
- package/dist/core/query/executeQuery.d.ts.map +1 -0
- package/dist/core/query/executeQuery.js +313 -0
- package/dist/core/query/executeQuery.js.map +1 -0
- package/dist/core/query/index.d.ts +5 -0
- package/dist/core/query/index.d.ts.map +1 -0
- package/dist/core/query/index.js +14 -0
- package/dist/core/query/index.js.map +1 -0
- package/dist/core/query/queryLive.d.ts +27 -0
- package/dist/core/query/queryLive.d.ts.map +1 -0
- package/dist/core/query/queryLive.js +104 -0
- package/dist/core/query/queryLive.js.map +1 -0
- package/dist/core/query/queryView.d.ts +156 -0
- package/dist/core/query/queryView.d.ts.map +1 -0
- package/dist/core/query/queryView.js +266 -0
- package/dist/core/query/queryView.js.map +1 -0
- package/dist/core/query/types.d.ts +121 -0
- package/dist/core/query/types.d.ts.map +1 -0
- package/dist/core/query/types.js +18 -0
- package/dist/core/query/types.js.map +1 -0
- package/dist/core/storeEntryTime.d.ts +57 -0
- package/dist/core/storeEntryTime.d.ts.map +1 -0
- package/dist/core/storeEntryTime.js +72 -0
- package/dist/core/storeEntryTime.js.map +1 -0
- package/dist/core/types.d.ts +1371 -34
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +13 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/uri/MindooURI.d.ts +53 -1
- package/dist/core/uri/MindooURI.d.ts.map +1 -1
- package/dist/core/uri/MindooURI.js +135 -0
- package/dist/core/uri/MindooURI.js.map +1 -1
- package/dist/core/utils/urlSafety.d.ts +46 -0
- package/dist/core/utils/urlSafety.d.ts.map +1 -0
- package/dist/core/utils/urlSafety.js +144 -0
- package/dist/core/utils/urlSafety.js.map +1 -0
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +14 -0
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +95 -4
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
- package/dist/node/server/CapabilityMatcher.d.ts +10 -0
- package/dist/node/server/CapabilityMatcher.d.ts.map +1 -1
- package/dist/node/server/CapabilityMatcher.js +14 -2
- package/dist/node/server/CapabilityMatcher.js.map +1 -1
- package/dist/node/server/MindooDBServer.d.ts.map +1 -1
- package/dist/node/server/MindooDBServer.js +117 -8
- package/dist/node/server/MindooDBServer.js.map +1 -1
- package/dist/node/server/PurgedDocRegistry.d.ts +32 -0
- package/dist/node/server/PurgedDocRegistry.d.ts.map +1 -0
- package/dist/node/server/PurgedDocRegistry.js +94 -0
- package/dist/node/server/PurgedDocRegistry.js.map +1 -0
- package/dist/node/server/ServerSync.d.ts.map +1 -1
- package/dist/node/server/ServerSync.js +5 -2
- package/dist/node/server/ServerSync.js.map +1 -1
- package/dist/node/server/SystemAdminAuth.d.ts +10 -0
- package/dist/node/server/SystemAdminAuth.d.ts.map +1 -1
- package/dist/node/server/SystemAdminAuth.js +25 -0
- package/dist/node/server/SystemAdminAuth.js.map +1 -1
- package/dist/node/server/TenantManager.d.ts +95 -1
- package/dist/node/server/TenantManager.d.ts.map +1 -1
- package/dist/node/server/TenantManager.js +382 -15
- package/dist/node/server/TenantManager.js.map +1 -1
- package/dist/node/server/config.d.ts.map +1 -1
- package/dist/node/server/config.js +5 -1
- package/dist/node/server/config.js.map +1 -1
- package/dist/node/server/types.d.ts +29 -3
- package/dist/node/server/types.d.ts.map +1 -1
- package/dist/node/server/types.js +12 -0
- package/dist/node/server/types.js.map +1 -1
- package/dist/node/server/validation.d.ts +6 -0
- package/dist/node/server/validation.d.ts.map +1 -1
- package/dist/node/server/validation.js +7 -1
- package/dist/node/server/validation.js.map +1 -1
- package/package.json +4 -3
- package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.d.ts +0 -8
- package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.d.ts.map +0 -1
- package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.js +0 -16
- package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.js.map +0 -1
- package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +0 -68
- package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +0 -1
- package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.js +0 -659
- package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.js.map +0 -1
- package/dist/node/attachments/writeAttachmentToFile.d.ts +0 -15
- package/dist/node/attachments/writeAttachmentToFile.d.ts.map +0 -1
- package/dist/node/attachments/writeAttachmentToFile.js +0 -73
- package/dist/node/attachments/writeAttachmentToFile.js.map +0 -1
|
@@ -4,6 +4,8 @@ exports.ServerNetworkContentAddressedStore = void 0;
|
|
|
4
4
|
const bloom_1 = require("../../core/appendonlystores/bloom");
|
|
5
5
|
const types_1 = require("../../core/appendonlystores/network/types");
|
|
6
6
|
const RSAEncryption_1 = require("../../core/crypto/RSAEncryption");
|
|
7
|
+
const EntrySignature_1 = require("../../core/crypto/EntrySignature");
|
|
8
|
+
const idGeneration_1 = require("../../core/utils/idGeneration");
|
|
7
9
|
const logging_1 = require("../../core/logging");
|
|
8
10
|
/**
|
|
9
11
|
* Server-side network handler for ContentAddressedStore operations.
|
|
@@ -27,7 +29,7 @@ class ServerNetworkContentAddressedStore {
|
|
|
27
29
|
* @param cryptoAdapter The crypto adapter for encryption
|
|
28
30
|
* @param logger Optional logger instance
|
|
29
31
|
*/
|
|
30
|
-
constructor(localStore, directory, authService, cryptoAdapter, logger) {
|
|
32
|
+
constructor(localStore, directory, authService, cryptoAdapter, logger, accessControl) {
|
|
31
33
|
this.localStore = localStore;
|
|
32
34
|
this.directory = directory;
|
|
33
35
|
this.authService = authService;
|
|
@@ -37,6 +39,97 @@ class ServerNetworkContentAddressedStore {
|
|
|
37
39
|
new logging_1.MindooLogger((0, logging_1.getDefaultLogLevel)(), `ServerNetworkStore:${localStore.getId()}`, true);
|
|
38
40
|
const rsaLogger = this.logger.createChild("RSAEncryption");
|
|
39
41
|
this.rsaEncryption = new RSAEncryption_1.RSAEncryption(cryptoAdapter, rsaLogger);
|
|
42
|
+
this.timestampProvider = accessControl?.timestampProvider;
|
|
43
|
+
this.witnessDbid = accessControl?.witnessDbid;
|
|
44
|
+
this.tier1Evaluator = accessControl?.tier1Evaluator;
|
|
45
|
+
this.wipeGrantDocIdResolver = accessControl?.wipeGrantDocIdResolver;
|
|
46
|
+
this.dbAccessEvaluator = accessControl?.dbAccessEvaluator;
|
|
47
|
+
this.revokedKeyResolver = accessControl?.revokedKeyResolver;
|
|
48
|
+
this.purgedDocResolver = accessControl?.purgedDocResolver;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolve the reader's RSA encryption public key for transport encryption.
|
|
52
|
+
* Prefers the authenticated device signing key (so key-based tokens whose
|
|
53
|
+
* `sub` is a key, not a username, still resolve), falling back to a
|
|
54
|
+
* username-based lookup for legacy tokens. Returns null when no active grant
|
|
55
|
+
* is found.
|
|
56
|
+
*/
|
|
57
|
+
async resolveReaderEncryptionKey(payload) {
|
|
58
|
+
if (payload.deviceSigningKey && typeof this.directory.getUserBySigningPublicKey === "function") {
|
|
59
|
+
const lookup = await this.directory.getUserBySigningPublicKey(payload.deviceSigningKey);
|
|
60
|
+
if (lookup?.encryptionPublicKey) {
|
|
61
|
+
return lookup.encryptionPublicKey;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const userKeys = await this.directory.getUserPublicKeys(payload.sub);
|
|
65
|
+
return userKeys?.encryptionPublicKey ?? null;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Compute the id allow-list for a (possibly wipe-scoped) token
|
|
69
|
+
* (docs/accesscontrol.md §6.5). Returns:
|
|
70
|
+
* - `null` for a normal token: serving is unrestricted; OR
|
|
71
|
+
* - a `Set<string>` for a wipe-scoped token: only these entry ids may be
|
|
72
|
+
* served. On the directory store this is exactly the admin-signed grant
|
|
73
|
+
* document carrying the directive; on any data store it is empty.
|
|
74
|
+
*/
|
|
75
|
+
async wipeAllowedIds(payload) {
|
|
76
|
+
if (!payload.wipe || !payload.deviceSigningKey || !this.wipeGrantDocIdResolver) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
// A wipe-targeted device gets no data-database content at all.
|
|
80
|
+
if (this.localStore.getId() !== ServerNetworkContentAddressedStore.DIRECTORY_DB_ID) {
|
|
81
|
+
return new Set();
|
|
82
|
+
}
|
|
83
|
+
const grantDocId = await this.wipeGrantDocIdResolver(payload.deviceSigningKey);
|
|
84
|
+
if (!grantDocId) {
|
|
85
|
+
return new Set();
|
|
86
|
+
}
|
|
87
|
+
const metas = await this.localStore.findNewEntriesForDoc([], grantDocId);
|
|
88
|
+
return new Set(metas.map((m) => m.id));
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The authenticated principal used for blacklist resolution: the device
|
|
92
|
+
* signing public key carried by the token (§13).
|
|
93
|
+
*/
|
|
94
|
+
readPrincipal(payload) {
|
|
95
|
+
return { signingKey: payload.deviceSigningKey };
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* The set of revoked decryption key ids for the request's principal (§13), or
|
|
99
|
+
* `null` when the blacklist is disabled (no resolver) or this is the directory
|
|
100
|
+
* store (never blacklisted, so its policy can always be read). Resolved once
|
|
101
|
+
* per request and reused across the per-entry filter.
|
|
102
|
+
*/
|
|
103
|
+
async resolveRevokedKeyIds(payload) {
|
|
104
|
+
if (!this.revokedKeyResolver)
|
|
105
|
+
return null;
|
|
106
|
+
if (this.localStore.getId() === ServerNetworkContentAddressedStore.DIRECTORY_DB_ID) {
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
return this.revokedKeyResolver(this.readPrincipal(payload));
|
|
110
|
+
}
|
|
111
|
+
/** Drop metadata whose `decryptionKeyId` is in the revoked set (§13). */
|
|
112
|
+
filterMetasByRevokedKeys(metas, revoked) {
|
|
113
|
+
if (!revoked || revoked.size === 0)
|
|
114
|
+
return metas;
|
|
115
|
+
return metas.filter((m) => !m.decryptionKeyId || !revoked.has(m.decryptionKeyId));
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Drop ids whose entry `decryptionKeyId` is revoked (§13). Resolves each id's
|
|
119
|
+
* metadata from the local store; ids with no resolvable metadata are kept
|
|
120
|
+
* (they carry no revocable key).
|
|
121
|
+
*/
|
|
122
|
+
async filterIdsByRevokedKeys(ids, revoked) {
|
|
123
|
+
if (!revoked || revoked.size === 0)
|
|
124
|
+
return ids;
|
|
125
|
+
const kept = [];
|
|
126
|
+
for (const id of ids) {
|
|
127
|
+
const meta = await this.localStore.getEntryMetadata(id);
|
|
128
|
+
if (!meta?.decryptionKeyId || !revoked.has(meta.decryptionKeyId)) {
|
|
129
|
+
kept.push(id);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return kept;
|
|
40
133
|
}
|
|
41
134
|
/**
|
|
42
135
|
* Get the ID of the underlying store.
|
|
@@ -47,12 +140,17 @@ class ServerNetworkContentAddressedStore {
|
|
|
47
140
|
/**
|
|
48
141
|
* Handle a challenge request from a client.
|
|
49
142
|
*
|
|
50
|
-
*
|
|
143
|
+
* The username is optional: a client may identify itself by its device
|
|
144
|
+
* signing public key instead, so the server never needs the cleartext name.
|
|
145
|
+
*
|
|
146
|
+
* @param username The username requesting authentication (optional)
|
|
147
|
+
* @param options.signingPublicKey The device signing public key the client is
|
|
148
|
+
* identifying with, when no username is supplied
|
|
51
149
|
* @returns The challenge string
|
|
52
150
|
*/
|
|
53
|
-
async handleChallengeRequest(username) {
|
|
54
|
-
this.logger.debug(`Handling challenge request for user: ${username}`);
|
|
55
|
-
return this.authService.generateChallenge(username);
|
|
151
|
+
async handleChallengeRequest(username, options) {
|
|
152
|
+
this.logger.debug(`Handling challenge request${username ? ` for user: ${username}` : " by signing key"}`);
|
|
153
|
+
return this.authService.generateChallenge(username, options);
|
|
56
154
|
}
|
|
57
155
|
/**
|
|
58
156
|
* Handle an authentication request from a client.
|
|
@@ -80,7 +178,10 @@ class ServerNetworkContentAddressedStore {
|
|
|
80
178
|
// Find new entries
|
|
81
179
|
const newEntries = await this.localStore.findNewEntries(knownIds);
|
|
82
180
|
this.logger.debug(`Found ${newEntries.length} new entries`);
|
|
83
|
-
|
|
181
|
+
const allowed = await this.wipeAllowedIds(tokenPayload);
|
|
182
|
+
const scoped = allowed ? newEntries.filter((e) => allowed.has(e.id)) : newEntries;
|
|
183
|
+
const revoked = await this.resolveRevokedKeyIds(tokenPayload);
|
|
184
|
+
return this.filterMetasByRevokedKeys(scoped, revoked);
|
|
84
185
|
}
|
|
85
186
|
/**
|
|
86
187
|
* Handle a findNewEntriesForDoc request from a client.
|
|
@@ -99,7 +200,10 @@ class ServerNetworkContentAddressedStore {
|
|
|
99
200
|
// Find new entries for the specific document
|
|
100
201
|
const newEntries = await this.localStore.findNewEntriesForDoc(knownIds, docId);
|
|
101
202
|
this.logger.debug(`Found ${newEntries.length} new entries for doc ${docId}`);
|
|
102
|
-
|
|
203
|
+
const allowed = await this.wipeAllowedIds(tokenPayload);
|
|
204
|
+
const scoped = allowed ? newEntries.filter((e) => allowed.has(e.id)) : newEntries;
|
|
205
|
+
const revoked = await this.resolveRevokedKeyIds(tokenPayload);
|
|
206
|
+
return this.filterMetasByRevokedKeys(scoped, revoked);
|
|
103
207
|
}
|
|
104
208
|
/**
|
|
105
209
|
* Handle a findEntries request from a client.
|
|
@@ -118,7 +222,10 @@ class ServerNetworkContentAddressedStore {
|
|
|
118
222
|
// Find entries
|
|
119
223
|
const entries = await this.localStore.findEntries(type, creationDateFrom, creationDateUntil);
|
|
120
224
|
this.logger.debug(`Found ${entries.length} entries`);
|
|
121
|
-
|
|
225
|
+
const allowed = await this.wipeAllowedIds(tokenPayload);
|
|
226
|
+
const scoped = allowed ? entries.filter((e) => allowed.has(e.id)) : entries;
|
|
227
|
+
const revoked = await this.resolveRevokedKeyIds(tokenPayload);
|
|
228
|
+
return this.filterMetasByRevokedKeys(scoped, revoked);
|
|
122
229
|
}
|
|
123
230
|
/**
|
|
124
231
|
* Handle a cursor-based scanEntriesSince request from a client.
|
|
@@ -129,8 +236,32 @@ class ServerNetworkContentAddressedStore {
|
|
|
129
236
|
// Validate token
|
|
130
237
|
const tokenPayload = await this.validateToken(token);
|
|
131
238
|
this.logger.debug(`Token validated for user: ${tokenPayload.sub}`);
|
|
239
|
+
// Wipe-scoped token (§6.5): return only the allowed entries (the grant
|
|
240
|
+
// directive on the directory store, nothing on data stores) in a single
|
|
241
|
+
// terminal page, regardless of cursor.
|
|
242
|
+
const allowed = await this.wipeAllowedIds(tokenPayload);
|
|
243
|
+
if (allowed) {
|
|
244
|
+
if (allowed.size === 0) {
|
|
245
|
+
return { entries: [], nextCursor: cursor, hasMore: false };
|
|
246
|
+
}
|
|
247
|
+
const all = await this.localStore.findNewEntries([]);
|
|
248
|
+
const entries = all.filter((e) => allowed.has(e.id));
|
|
249
|
+
return { entries, nextCursor: cursor, hasMore: false };
|
|
250
|
+
}
|
|
251
|
+
// Clamp the page size server-side (DoS guard): never trust the client's
|
|
252
|
+
// `limit` to bound the work/response. A missing or non-finite limit falls
|
|
253
|
+
// back to the maximum page size.
|
|
254
|
+
const requestedLimit = typeof limit === "number" && Number.isFinite(limit)
|
|
255
|
+
? Math.floor(limit)
|
|
256
|
+
: ServerNetworkContentAddressedStore.MAX_SCAN_PAGE_SIZE;
|
|
257
|
+
const effectiveLimit = Math.max(1, Math.min(requestedLimit, ServerNetworkContentAddressedStore.MAX_SCAN_PAGE_SIZE));
|
|
258
|
+
// Per-user revoked-key blacklist (§13): silently omit revoked entries from
|
|
259
|
+
// the page. Filtering after paging only shrinks a page; the store's own
|
|
260
|
+
// cursor still advances so the client keeps making progress.
|
|
261
|
+
const revoked = await this.resolveRevokedKeyIds(tokenPayload);
|
|
132
262
|
if (this.localStore.scanEntriesSince) {
|
|
133
|
-
|
|
263
|
+
const result = await this.localStore.scanEntriesSince(cursor, effectiveLimit, filters);
|
|
264
|
+
return { ...result, entries: this.filterMetasByRevokedKeys(result.entries, revoked) };
|
|
134
265
|
}
|
|
135
266
|
// Fallback: emulate cursor scan using existing metadata query.
|
|
136
267
|
const all = filters?.docId
|
|
@@ -156,7 +287,7 @@ class ServerNetworkContentAddressedStore {
|
|
|
156
287
|
? a.id.localeCompare(b.id)
|
|
157
288
|
: leftReceiptOrder - rightReceiptOrder;
|
|
158
289
|
});
|
|
159
|
-
const max =
|
|
290
|
+
const max = effectiveLimit;
|
|
160
291
|
const startIndex = cursor === null
|
|
161
292
|
? 0
|
|
162
293
|
: sorted.findIndex((meta) => (meta.receiptOrder ?? 0) > cursor.receiptOrder ||
|
|
@@ -167,7 +298,7 @@ class ServerNetworkContentAddressedStore {
|
|
|
167
298
|
const page = sorted.slice(startIndex, startIndex + max);
|
|
168
299
|
const last = page.length > 0 ? page[page.length - 1] : null;
|
|
169
300
|
return {
|
|
170
|
-
entries: page,
|
|
301
|
+
entries: this.filterMetasByRevokedKeys(page, revoked),
|
|
171
302
|
nextCursor: last ? { receiptOrder: last.receiptOrder ?? 0, id: last.id } : cursor,
|
|
172
303
|
hasMore: startIndex + page.length < sorted.length,
|
|
173
304
|
};
|
|
@@ -199,6 +330,12 @@ class ServerNetworkContentAddressedStore {
|
|
|
199
330
|
supportsMaterializationPlanning: typeof this.localStore.planDocumentMaterialization === "function",
|
|
200
331
|
supportsBatchMaterializationPlanning: typeof this.localStore.planDocumentMaterializationBatch === "function",
|
|
201
332
|
supportsAttachmentReadPlanning: typeof this.localStore.planAttachmentReadByWalkingMetadata === "function",
|
|
333
|
+
// Access-control v1 negotiation (docs/accesscontrol.md §4). `serverTime`
|
|
334
|
+
// lets the client run its clock-skew guard before syncing; the flag
|
|
335
|
+
// advertises that this server stamps witness receipts and enforces Tier 1.
|
|
336
|
+
serverTime: Date.now(),
|
|
337
|
+
supportsAccessControlV1: this.timestampProvider !== undefined,
|
|
338
|
+
supportsRemoteWipeV1: this.wipeGrantDocIdResolver !== undefined,
|
|
202
339
|
};
|
|
203
340
|
}
|
|
204
341
|
/**
|
|
@@ -239,19 +376,31 @@ class ServerNetworkContentAddressedStore {
|
|
|
239
376
|
const tokenPayload = await this.validateToken(token);
|
|
240
377
|
const username = tokenPayload.sub;
|
|
241
378
|
this.logger.debug(`Token validated for user: ${username}`);
|
|
242
|
-
//
|
|
243
|
-
|
|
244
|
-
|
|
379
|
+
// Resolve the reader's RSA encryption public key for transport encryption.
|
|
380
|
+
// Prefer the authenticated device signing key, which works for key-based
|
|
381
|
+
// tokens whose `sub` is a key rather than a cleartext username; fall back to
|
|
382
|
+
// the username for legacy tokens.
|
|
383
|
+
const encryptionPublicKey = await this.resolveReaderEncryptionKey(tokenPayload);
|
|
384
|
+
if (!encryptionPublicKey) {
|
|
245
385
|
throw new types_1.NetworkError(types_1.NetworkErrorType.USER_NOT_FOUND, `User "${username}" is not found, or has no active access grant on this server. `
|
|
246
386
|
+ `The tenant's directory database may not have been synced to this server yet, `
|
|
247
387
|
+ `or the access was revoked.`);
|
|
248
388
|
}
|
|
249
389
|
this.logger.debug(`Retrieved encryption key for user: ${username}`);
|
|
390
|
+
// Restrict a wipe-scoped token to only the grant directive (§6.5).
|
|
391
|
+
const allowed = await this.wipeAllowedIds(tokenPayload);
|
|
392
|
+
const requestedIds = allowed ? ids.filter((id) => allowed.has(id)) : ids;
|
|
250
393
|
// Get the entries from local store
|
|
251
|
-
const entries = await this.localStore.getEntries(
|
|
394
|
+
const entries = await this.localStore.getEntries(requestedIds);
|
|
252
395
|
this.logger.debug(`Retrieved ${entries.length} entries from local store`);
|
|
396
|
+
// Per-user revoked-key blacklist (§13): fail-closed on the data-serving
|
|
397
|
+
// path. Even if a client already knows a revoked entry's id, the server
|
|
398
|
+
// never hands back its bytes. A StoreEntry carries its own decryptionKeyId,
|
|
399
|
+
// so we filter without an extra metadata lookup.
|
|
400
|
+
const revoked = await this.resolveRevokedKeyIds(tokenPayload);
|
|
401
|
+
const servableEntries = this.filterMetasByRevokedKeys(entries, revoked);
|
|
253
402
|
// Encrypt each entry with the user's RSA public key
|
|
254
|
-
const encryptedEntries = await this.encryptEntriesForUser(
|
|
403
|
+
const encryptedEntries = await this.encryptEntriesForUser(servableEntries, encryptionPublicKey);
|
|
255
404
|
this.logger.debug(`Encrypted ${encryptedEntries.length} entries for user: ${username}`);
|
|
256
405
|
return encryptedEntries;
|
|
257
406
|
}
|
|
@@ -259,7 +408,20 @@ class ServerNetworkContentAddressedStore {
|
|
|
259
408
|
this.logger.debug(`Handling getEntryMetadata request for ${id}`);
|
|
260
409
|
const tokenPayload = await this.validateToken(token);
|
|
261
410
|
this.logger.debug(`Token validated for user: ${tokenPayload.sub}`);
|
|
262
|
-
|
|
411
|
+
const allowed = await this.wipeAllowedIds(tokenPayload);
|
|
412
|
+
if (allowed && !allowed.has(id)) {
|
|
413
|
+
return null;
|
|
414
|
+
}
|
|
415
|
+
const meta = await this.localStore.getEntryMetadata(id);
|
|
416
|
+
if (!meta)
|
|
417
|
+
return null;
|
|
418
|
+
// Per-user revoked-key blacklist (§13): fail-closed — never reveal metadata
|
|
419
|
+
// for a revoked entry.
|
|
420
|
+
const revoked = await this.resolveRevokedKeyIds(tokenPayload);
|
|
421
|
+
if (revoked && meta.decryptionKeyId && revoked.has(meta.decryptionKeyId)) {
|
|
422
|
+
return null;
|
|
423
|
+
}
|
|
424
|
+
return meta;
|
|
263
425
|
}
|
|
264
426
|
/**
|
|
265
427
|
* Handle a putEntries request from a client.
|
|
@@ -272,17 +434,131 @@ class ServerNetworkContentAddressedStore {
|
|
|
272
434
|
// Validate token
|
|
273
435
|
const tokenPayload = await this.validateToken(token);
|
|
274
436
|
this.logger.debug(`Token validated for user: ${tokenPayload.sub}`);
|
|
437
|
+
// A wipe-targeted device may not push anything (§6.5): it exists only to
|
|
438
|
+
// receive the wipe directive and then delete its local copy.
|
|
439
|
+
if (tokenPayload.wipe && this.wipeGrantDocIdResolver) {
|
|
440
|
+
throw new types_1.NetworkError(types_1.NetworkErrorType.ACCESS_DENIED, "Device is targeted for remote wipe and may not push entries");
|
|
441
|
+
}
|
|
442
|
+
// Per-user revoked-key blacklist (§13): a revoked key id is also a write
|
|
443
|
+
// blacklist — the user may neither receive further updates for it nor push
|
|
444
|
+
// new ones. Resolved once per batch (null for the directory store / when the
|
|
445
|
+
// blacklist is disabled).
|
|
446
|
+
const revokedKeyIds = await this.resolveRevokedKeyIds(tokenPayload);
|
|
447
|
+
// Purged-document denylist (§13): entries belonging to a document whose
|
|
448
|
+
// history was purged on the server may never be re-ingested, so a stale
|
|
449
|
+
// client cannot resurrect purged data. Resolved once per batch (null when
|
|
450
|
+
// disabled / for the directory store).
|
|
451
|
+
const purgedDocIds = this.purgedDocResolver
|
|
452
|
+
? await this.purgedDocResolver()
|
|
453
|
+
: null;
|
|
454
|
+
// A single acceptance time for this batch so receipts are consistent and a
|
|
455
|
+
// batch cannot interleave with the witness's own monotonic clock (§5.3).
|
|
456
|
+
const receivedAt = Date.now();
|
|
457
|
+
const stampedMetadata = [];
|
|
458
|
+
// Storage-format floor (requireMetadataSignatureSince): this is the
|
|
459
|
+
// authoritative v2 enforcement point. The server compares the admin-signed
|
|
460
|
+
// cutoff against its OWN clock (receivedAt) — never the entry's
|
|
461
|
+
// attacker-settable createdAt — so once the cutoff has passed, no new v1
|
|
462
|
+
// entry can be ingested and a forged v1 entry cannot bypass the floor by
|
|
463
|
+
// backdating. Resolved once per batch. The directory store is exempt: it
|
|
464
|
+
// must always accept so the policy that defines the floor can be read.
|
|
465
|
+
let requireMetadataSignature = false;
|
|
466
|
+
if ((this.witnessDbid ?? this.localStore.getId()) !== "directory" &&
|
|
467
|
+
typeof this.directory.getRequireMetadataSignatureSince === "function") {
|
|
468
|
+
const cutoff = await this.directory.getRequireMetadataSignatureSince();
|
|
469
|
+
requireMetadataSignature = cutoff !== undefined && receivedAt >= cutoff;
|
|
470
|
+
}
|
|
275
471
|
// Process each entry
|
|
472
|
+
const toStore = [];
|
|
473
|
+
// Audit #4 (revocation lag): force a directory trust refresh once at the
|
|
474
|
+
// start of the batch so a just-pushed revocation is observed immediately
|
|
475
|
+
// instead of lagging by up to DIRECTORY_SYNC_INTERVAL_MS. The refresh
|
|
476
|
+
// updates the shared trust cache, so subsequent entries in the batch reuse
|
|
477
|
+
// it without re-syncing.
|
|
478
|
+
let forceTrustRefresh = true;
|
|
276
479
|
for (const entry of entries) {
|
|
277
|
-
//
|
|
278
|
-
|
|
480
|
+
// Reject a push carrying a revoked decryptionKeyId (§13). The user has
|
|
481
|
+
// been removed from this key's distribution, so the server refuses to
|
|
482
|
+
// ingest or propagate further writes under it.
|
|
483
|
+
if (revokedKeyIds &&
|
|
484
|
+
entry.decryptionKeyId &&
|
|
485
|
+
revokedKeyIds.has(entry.decryptionKeyId)) {
|
|
486
|
+
throw new types_1.NetworkError(types_1.NetworkErrorType.ACCESS_DENIED, `Entry ${entry.id} carries a revoked decryptionKeyId and may not be pushed`);
|
|
487
|
+
}
|
|
488
|
+
// Reject a push for a purged document (§13). The document's history was
|
|
489
|
+
// physically purged on the server; re-ingesting these entries would
|
|
490
|
+
// resurrect data that must stay deleted.
|
|
491
|
+
if (purgedDocIds && entry.docId && purgedDocIds.has(entry.docId)) {
|
|
492
|
+
throw new types_1.NetworkError(types_1.NetworkErrorType.ACCESS_DENIED, `Entry ${entry.id} belongs to a purged document and may not be pushed`);
|
|
493
|
+
}
|
|
494
|
+
// Verify the entry was created by a trusted user (baseline Tier 1).
|
|
495
|
+
const isValidKey = await this.directory.validatePublicSigningKey(entry.createdByPublicKey, { forceRefresh: forceTrustRefresh });
|
|
496
|
+
forceTrustRefresh = false;
|
|
279
497
|
if (!isValidKey) {
|
|
280
498
|
throw new types_1.NetworkError(types_1.NetworkErrorType.INVALID_SIGNATURE, `Entry ${entry.id} was not signed by a trusted user`);
|
|
281
499
|
}
|
|
500
|
+
// Zero-trust ingest (audit finding #1 & #5): the server must not witness or
|
|
501
|
+
// propagate an entry it cannot authenticate. Verify that the served bytes
|
|
502
|
+
// hash to the entry's contentHash and that the author signature (the
|
|
503
|
+
// metadata-binding signature when present, otherwise the legacy ciphertext
|
|
504
|
+
// signature) is valid. A trusted key alone is NOT sufficient: anyone
|
|
505
|
+
// holding any trusted key could otherwise push entries with mismatched or
|
|
506
|
+
// absent signatures.
|
|
507
|
+
const subtle = this.cryptoAdapter.getSubtle();
|
|
508
|
+
const actualHash = await (0, idGeneration_1.computeContentHash)(entry.encryptedData, subtle);
|
|
509
|
+
if (actualHash !== entry.contentHash) {
|
|
510
|
+
throw new types_1.NetworkError(types_1.NetworkErrorType.INVALID_SIGNATURE, `Entry ${entry.id} content hash does not match its payload`);
|
|
511
|
+
}
|
|
512
|
+
// Enforce the v2 floor with a clear, dedicated error before the generic
|
|
513
|
+
// signature check (which would also reject it via requireMetadataSignature).
|
|
514
|
+
if (requireMetadataSignature && !entry.metadataSignature) {
|
|
515
|
+
throw new types_1.NetworkError(types_1.NetworkErrorType.INVALID_SIGNATURE, `Entry ${entry.id} must carry a v2 metadata signature (tenant requires v2 as of the configured cutoff)`);
|
|
516
|
+
}
|
|
517
|
+
const isValidSignature = await (0, EntrySignature_1.verifyEntrySignatureCrypto)(entry, entry.encryptedData, entry.createdByPublicKey, subtle, { requireMetadataSignature });
|
|
518
|
+
if (!isValidSignature) {
|
|
519
|
+
throw new types_1.NetworkError(types_1.NetworkErrorType.INVALID_SIGNATURE, `Entry ${entry.id} has an invalid author signature`);
|
|
520
|
+
}
|
|
521
|
+
// Rule-based Tier 1 enforcement (docs/accesscontrol.md §7). The server can
|
|
522
|
+
// only decide the identity tier; content-tier (Tier 2) gates are deferred
|
|
523
|
+
// to clients and treated as allowed here.
|
|
524
|
+
if (this.tier1Evaluator) {
|
|
525
|
+
const decision = await this.tier1Evaluator(entry, this.witnessDbid ?? this.localStore.getId());
|
|
526
|
+
if (!decision.allowed) {
|
|
527
|
+
throw new types_1.NetworkError(types_1.NetworkErrorType.ACCESS_DENIED, `Entry ${entry.id} denied by Tier 1 policy: ${decision.reason}`);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
// Stamp a witness receipt onto the accepted entry (§5.3). Self-authored
|
|
531
|
+
// entries (the witness pushing its own data) are not self-witnessed.
|
|
532
|
+
//
|
|
533
|
+
// Legacy entries (no `entryVersion`) are NOT witnessed: they predate the
|
|
534
|
+
// witness era and the version-aware trusted-time rule treats them as
|
|
535
|
+
// stable at their `createdAt` (see core/storeEntryTime.ts). Stamping a
|
|
536
|
+
// `receivedAt = now` on them when an old local DB first syncs to a fresh
|
|
537
|
+
// server would collapse every old doc onto "today" and re-introduce the
|
|
538
|
+
// "access since: today" bug. Only witness-era writers (`entryVersion`
|
|
539
|
+
// present) are eligible for a receipt.
|
|
540
|
+
if (this.timestampProvider
|
|
541
|
+
&& entry.entryVersion !== undefined
|
|
542
|
+
&& entry.createdByPublicKey !== this.timestampProvider.issuerPublicKey) {
|
|
543
|
+
const stamp = await this.timestampProvider.stamp(entry, { dbid: this.witnessDbid ?? this.localStore.getId(), receivedAt });
|
|
544
|
+
const witnessed = { ...entry, ...stamp };
|
|
545
|
+
toStore.push(witnessed);
|
|
546
|
+
stampedMetadata.push(this.toMetadata(witnessed));
|
|
547
|
+
}
|
|
548
|
+
else {
|
|
549
|
+
toStore.push(entry);
|
|
550
|
+
stampedMetadata.push(this.toMetadata(entry));
|
|
551
|
+
}
|
|
282
552
|
}
|
|
283
|
-
// Store all entries
|
|
284
|
-
await this.localStore.putEntries(
|
|
285
|
-
this.logger.debug(`Successfully stored ${
|
|
553
|
+
// Store all entries (witnessed where applicable)
|
|
554
|
+
await this.localStore.putEntries(toStore);
|
|
555
|
+
this.logger.debug(`Successfully stored ${toStore.length} entries`);
|
|
556
|
+
return stampedMetadata;
|
|
557
|
+
}
|
|
558
|
+
/** Project a store entry to its metadata (including any witness fields). */
|
|
559
|
+
toMetadata(entry) {
|
|
560
|
+
const { encryptedData: _encryptedData, ...metadata } = entry;
|
|
561
|
+
return metadata;
|
|
286
562
|
}
|
|
287
563
|
/**
|
|
288
564
|
* Handle a hasEntries request from a client.
|
|
@@ -300,7 +576,10 @@ class ServerNetworkContentAddressedStore {
|
|
|
300
576
|
// Check which IDs exist in local store
|
|
301
577
|
const existingIds = await this.localStore.hasEntries(ids);
|
|
302
578
|
this.logger.debug(`Found ${existingIds.length} existing entries out of ${ids.length} checked`);
|
|
303
|
-
|
|
579
|
+
const allowed = await this.wipeAllowedIds(tokenPayload);
|
|
580
|
+
const scoped = allowed ? existingIds.filter((id) => allowed.has(id)) : existingIds;
|
|
581
|
+
const revoked = await this.resolveRevokedKeyIds(tokenPayload);
|
|
582
|
+
return this.filterIdsByRevokedKeys(scoped, revoked);
|
|
304
583
|
}
|
|
305
584
|
/**
|
|
306
585
|
* Handle a getAllIds request from a client.
|
|
@@ -317,7 +596,10 @@ class ServerNetworkContentAddressedStore {
|
|
|
317
596
|
// Get all entry IDs from local store
|
|
318
597
|
const allIds = await this.localStore.getAllIds();
|
|
319
598
|
this.logger.debug(`Returning ${allIds.length} entry IDs`);
|
|
320
|
-
|
|
599
|
+
const allowed = await this.wipeAllowedIds(tokenPayload);
|
|
600
|
+
const scoped = allowed ? allIds.filter((id) => allowed.has(id)) : allIds;
|
|
601
|
+
const revoked = await this.resolveRevokedKeyIds(tokenPayload);
|
|
602
|
+
return this.filterIdsByRevokedKeys(scoped, revoked);
|
|
321
603
|
}
|
|
322
604
|
/**
|
|
323
605
|
* Handle a resolveDependencies request from a client.
|
|
@@ -333,10 +615,16 @@ class ServerNetworkContentAddressedStore {
|
|
|
333
615
|
// Validate token
|
|
334
616
|
const tokenPayload = await this.validateToken(token);
|
|
335
617
|
this.logger.debug(`Token validated for user: ${tokenPayload.sub}`);
|
|
618
|
+
// A wipe-scoped token may not traverse the DAG beyond its grant directive.
|
|
619
|
+
const allowed = await this.wipeAllowedIds(tokenPayload);
|
|
620
|
+
if (allowed) {
|
|
621
|
+
return allowed.has(startId) ? [startId] : [];
|
|
622
|
+
}
|
|
336
623
|
// Resolve dependencies in local store
|
|
337
624
|
const resolvedIds = await this.localStore.resolveDependencies(startId, options);
|
|
338
625
|
this.logger.debug(`Resolved ${resolvedIds.length} dependencies`);
|
|
339
|
-
|
|
626
|
+
const revoked = await this.resolveRevokedKeyIds(tokenPayload);
|
|
627
|
+
return this.filterIdsByRevokedKeys(resolvedIds, revoked);
|
|
340
628
|
}
|
|
341
629
|
async handlePlanDocumentMaterialization(token, docId, options) {
|
|
342
630
|
const tokenPayload = await this.validateToken(token);
|
|
@@ -368,6 +656,17 @@ class ServerNetworkContentAddressedStore {
|
|
|
368
656
|
if (!payload) {
|
|
369
657
|
throw new types_1.NetworkError(types_1.NetworkErrorType.INVALID_TOKEN, "Invalid or expired token");
|
|
370
658
|
}
|
|
659
|
+
// Database-open gate (docs/accesscontrol.md, directory-restricted policy).
|
|
660
|
+
// Applied here so it covers every authenticated sync operation (reads and
|
|
661
|
+
// writes) in one place. The directory store is never wired with an
|
|
662
|
+
// evaluator, so it always syncs.
|
|
663
|
+
if (this.dbAccessEvaluator) {
|
|
664
|
+
const dbid = this.witnessDbid ?? this.localStore.getId();
|
|
665
|
+
const allowed = await this.dbAccessEvaluator({ signingKey: payload.deviceSigningKey }, dbid);
|
|
666
|
+
if (!allowed) {
|
|
667
|
+
throw new types_1.NetworkError(types_1.NetworkErrorType.ACCESS_DENIED, `Database "${dbid}" is not in the tenant's allowed database list`);
|
|
668
|
+
}
|
|
669
|
+
}
|
|
371
670
|
return payload;
|
|
372
671
|
}
|
|
373
672
|
/**
|
|
@@ -396,6 +695,7 @@ class ServerNetworkContentAddressedStore {
|
|
|
396
695
|
signature: entry.signature,
|
|
397
696
|
originalSize: entry.originalSize,
|
|
398
697
|
encryptedSize: entry.encryptedSize,
|
|
698
|
+
attachmentRefs: entry.attachmentRefs,
|
|
399
699
|
rsaEncryptedPayload,
|
|
400
700
|
};
|
|
401
701
|
results.push(encryptedEntry);
|
|
@@ -404,4 +704,13 @@ class ServerNetworkContentAddressedStore {
|
|
|
404
704
|
}
|
|
405
705
|
}
|
|
406
706
|
exports.ServerNetworkContentAddressedStore = ServerNetworkContentAddressedStore;
|
|
707
|
+
/** The directory database id, where grant documents live (§6.5). */
|
|
708
|
+
ServerNetworkContentAddressedStore.DIRECTORY_DB_ID = "directory";
|
|
709
|
+
/**
|
|
710
|
+
* Server-side cap on a single `scanEntriesSince` page (DoS guard). A client
|
|
711
|
+
* may request fewer, but never more — an unbounded/huge `limit` would let a
|
|
712
|
+
* caller force the server to materialize and serialize the entire store in one
|
|
713
|
+
* response. Clients page via `nextCursor`/`hasMore` to read more.
|
|
714
|
+
*/
|
|
715
|
+
ServerNetworkContentAddressedStore.MAX_SCAN_PAGE_SIZE = 1000;
|
|
407
716
|
//# sourceMappingURL=ServerNetworkContentAddressedStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerNetworkContentAddressedStore.js","sourceRoot":"","sources":["../../../src/appendonlystores/network/ServerNetworkContentAddressedStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ServerNetworkContentAddressedStore.js","sourceRoot":"","sources":["../../../src/appendonlystores/network/ServerNetworkContentAddressedStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,15 @@ export declare class IndexedDBContentAddressedStore implements ContentAddressedS
|
|
|
67
67
|
*/
|
|
68
68
|
getStoredBytes(): Promise<StoreByteTotals>;
|
|
69
69
|
putEntries(entries: StoreEntry[]): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Apply witness receipts to already-stored entries (docs/accesscontrol.md §5.3).
|
|
72
|
+
*
|
|
73
|
+
* Updates the witness fields on the affected entry metadata and assigns each a
|
|
74
|
+
* fresh `receiptOrder` (from the persisted counter) so the revision feed's
|
|
75
|
+
* `scanEntriesSince` cursor re-discovers the now-witnessed entries. Receipts
|
|
76
|
+
* whose entry is absent locally, or that match the stored witness, are skipped.
|
|
77
|
+
*/
|
|
78
|
+
applyWitnessReceipts(receipts: StoreEntryMetadata[]): Promise<void>;
|
|
70
79
|
getEntries(ids: string[]): Promise<StoreEntry[]>;
|
|
71
80
|
getEntryMetadata(id: string): Promise<StoreEntryMetadata | null>;
|
|
72
81
|
planAttachmentReadByWalkingMetadata(lastChunkId: string, attachmentSize: number, options: AttachmentReadPlanOptions): Promise<AttachmentReadPlan>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexedDBContentAddressedStore.d.ts","sourceRoot":"","sources":["../../../src/browser/appendonlystores/IndexedDBContentAddressedStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,SAAS,EACV,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,gCAAgC,EAChC,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"IndexedDBContentAddressedStore.d.ts","sourceRoot":"","sources":["../../../src/browser/appendonlystores/IndexedDBContentAddressedStore.ts"],"names":[],"mappings":"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"}
|