mindoodb 0.0.23 → 0.0.32
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 +697 -4
- package/dist/core/BaseMindooDB.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.js +3273 -180
- 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 +1509 -39
- 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
|
@@ -5,6 +5,7 @@ const types_1 = require("./types");
|
|
|
5
5
|
const AttachmentReadPlanner_1 = require("./AttachmentReadPlanner");
|
|
6
6
|
const bloom_1 = require("./bloom");
|
|
7
7
|
const MaterializationPlanner_1 = require("./MaterializationPlanner");
|
|
8
|
+
const scanUtils_1 = require("./scanUtils");
|
|
8
9
|
const logging_1 = require("../logging");
|
|
9
10
|
/**
|
|
10
11
|
* A simple in-memory implementation of ContentAddressedStore for testing purposes.
|
|
@@ -86,6 +87,44 @@ class InMemoryContentAddressedStore {
|
|
|
86
87
|
// Invalidate sorted entries cache since new entries were added
|
|
87
88
|
this.sortedEntriesCache = null;
|
|
88
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Apply witness receipts to already-stored entries (docs/accesscontrol.md §5.3).
|
|
92
|
+
*
|
|
93
|
+
* Copies the witness fields onto the local metadata and assigns a fresh
|
|
94
|
+
* `receiptOrder` so the revision feed's `scanEntriesSince` cursor re-discovers
|
|
95
|
+
* the entry and re-anchors it from the provisional head to its committed
|
|
96
|
+
* `receivedAt`. Receipts whose entry is absent locally are ignored.
|
|
97
|
+
*/
|
|
98
|
+
async applyWitnessReceipts(receipts) {
|
|
99
|
+
let mutated = false;
|
|
100
|
+
for (const receipt of receipts) {
|
|
101
|
+
if (receipt.receivedAt === undefined) {
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
const existing = this.entries.get(receipt.id);
|
|
105
|
+
if (!existing) {
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
// Already witnessed with the same receipt: nothing to do (idempotent).
|
|
109
|
+
if (existing.receivedAt === receipt.receivedAt &&
|
|
110
|
+
existing.receivedByPublicKey === receipt.receivedByPublicKey) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
this.entries.set(receipt.id, {
|
|
114
|
+
...existing,
|
|
115
|
+
receivedAt: receipt.receivedAt,
|
|
116
|
+
receivedByPublicKey: receipt.receivedByPublicKey,
|
|
117
|
+
receivedDateSignature: receipt.receivedDateSignature,
|
|
118
|
+
receiptScheme: receipt.receiptScheme,
|
|
119
|
+
// Fresh receipt order so the gap-free scan cursor re-delivers it.
|
|
120
|
+
receiptOrder: this.nextReceiptOrder++,
|
|
121
|
+
});
|
|
122
|
+
mutated = true;
|
|
123
|
+
}
|
|
124
|
+
if (mutated) {
|
|
125
|
+
this.sortedEntriesCache = null;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
89
128
|
/**
|
|
90
129
|
* Get entries by their IDs.
|
|
91
130
|
* Returns only entries that exist in this store.
|
|
@@ -277,6 +316,21 @@ class InMemoryContentAddressedStore {
|
|
|
277
316
|
* lookup instead of re-sorting all entries on every call.
|
|
278
317
|
*/
|
|
279
318
|
async scanEntriesSince(cursor, limit = Number.MAX_SAFE_INTEGER, filters) {
|
|
319
|
+
// Doc-scoped fast path: resolve the docId through the secondary index so
|
|
320
|
+
// the scan cost is O(entries of this doc) instead of O(entries in store).
|
|
321
|
+
if (filters?.docId) {
|
|
322
|
+
const docEntries = [];
|
|
323
|
+
const ids = this.docIndex.get(filters.docId);
|
|
324
|
+
if (ids) {
|
|
325
|
+
for (const id of ids) {
|
|
326
|
+
const meta = this.entries.get(id);
|
|
327
|
+
if (meta) {
|
|
328
|
+
docEntries.push(meta);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
return (0, scanUtils_1.scanDocScopedEntries)(docEntries, cursor, limit, filters);
|
|
333
|
+
}
|
|
280
334
|
const sorted = this.getSortedEntries();
|
|
281
335
|
const startIdx = cursor === null
|
|
282
336
|
? 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InMemoryContentAddressedStore.js","sourceRoot":"","sources":["../../../src/core/appendonlystores/InMemoryContentAddressedStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InMemoryContentAddressedStore.js","sourceRoot":"","sources":["../../../src/core/appendonlystores/InMemoryContentAddressedStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,13 @@ export declare class AuthenticationService {
|
|
|
22
22
|
private directory;
|
|
23
23
|
private tenantId;
|
|
24
24
|
private challenges;
|
|
25
|
+
/**
|
|
26
|
+
* Hard cap on outstanding challenges (DoS guard). Challenges are unauthenticated
|
|
27
|
+
* to create, so an attacker could otherwise flood this map and exhaust memory.
|
|
28
|
+
* When the cap is reached we evict the oldest entries (insertion order) so a
|
|
29
|
+
* flood cannot grow the map without bound; legitimate clients simply re-request.
|
|
30
|
+
*/
|
|
31
|
+
private static readonly MAX_CHALLENGES;
|
|
25
32
|
private jwtSecret;
|
|
26
33
|
private challengeExpirationMs;
|
|
27
34
|
private tokenExpirationMs;
|
|
@@ -41,11 +48,30 @@ export declare class AuthenticationService {
|
|
|
41
48
|
* and we return USER_REVOKED with a message that mentions both possibilities so
|
|
42
49
|
* admins can diagnose the issue.
|
|
43
50
|
*
|
|
44
|
-
*
|
|
51
|
+
* The username is optional: a client may instead identify itself by its
|
|
52
|
+
* device signing public key (`options.signingPublicKey`), in which case the
|
|
53
|
+
* server resolves the grant by key and never needs the cleartext name.
|
|
54
|
+
*
|
|
55
|
+
* @param username The username requesting authentication (optional)
|
|
56
|
+
* @param options.signingPublicKey The device signing public key (Ed25519, PEM)
|
|
57
|
+
* the client is identifying with, when no username is supplied
|
|
45
58
|
* @returns The challenge string (UUID v7)
|
|
46
59
|
* @throws NetworkError if user not found or has no active access grant
|
|
47
60
|
*/
|
|
48
|
-
generateChallenge(username
|
|
61
|
+
generateChallenge(username?: string, options?: {
|
|
62
|
+
signingPublicKey?: string;
|
|
63
|
+
}): Promise<string>;
|
|
64
|
+
/** Username-based challenge (legacy path; the client still sends a username). */
|
|
65
|
+
private generateChallengeForUsername;
|
|
66
|
+
/**
|
|
67
|
+
* Key-based challenge: the client identifies by its device signing public key
|
|
68
|
+
* and the server resolves the grant without a cleartext username. The grant's
|
|
69
|
+
* username (resolved from the directory) is recorded on the challenge so
|
|
70
|
+
* downstream identity/wipe resolution keeps working.
|
|
71
|
+
*/
|
|
72
|
+
private generateChallengeForKey;
|
|
73
|
+
/** Persist a fresh challenge and return its string. */
|
|
74
|
+
private storeChallenge;
|
|
49
75
|
/**
|
|
50
76
|
* Authenticate a user by verifying their signed challenge.
|
|
51
77
|
*
|
|
@@ -54,6 +80,11 @@ export declare class AuthenticationService {
|
|
|
54
80
|
* @returns AuthResult with success status and JWT token
|
|
55
81
|
*/
|
|
56
82
|
authenticate(challenge: string, signature: Uint8Array): Promise<AuthResult>;
|
|
83
|
+
/**
|
|
84
|
+
* Resolve the user's signing-key universe (active + wipe-targeted) via the
|
|
85
|
+
* optional directory API, returning empty sets when unsupported.
|
|
86
|
+
*/
|
|
87
|
+
private getSigningKeyUniverse;
|
|
57
88
|
/**
|
|
58
89
|
* Validate a JWT token.
|
|
59
90
|
*
|
|
@@ -78,6 +109,11 @@ export declare class AuthenticationService {
|
|
|
78
109
|
* Clean up expired challenges.
|
|
79
110
|
*/
|
|
80
111
|
private cleanupExpiredChallenges;
|
|
112
|
+
/**
|
|
113
|
+
* Bound the challenge map (DoS guard): if still over the cap after expiry
|
|
114
|
+
* cleanup, drop the oldest entries (Map preserves insertion order).
|
|
115
|
+
*/
|
|
116
|
+
private evictChallengesOverCap;
|
|
81
117
|
private base64UrlEncode;
|
|
82
118
|
private base64UrlDecode;
|
|
83
119
|
private uint8ArrayToBase64Url;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationService.d.ts","sourceRoot":"","sources":["../../../../src/core/appendonlystores/network/AuthenticationService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAEV,UAAU,EACV,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAoC,MAAM,eAAe,CAAC;AAEzE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,UAAU,CAAyC;
|
|
1
|
+
{"version":3,"file":"AuthenticationService.d.ts","sourceRoot":"","sources":["../../../../src/core/appendonlystores/network/AuthenticationService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAEV,UAAU,EACV,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAoC,MAAM,eAAe,CAAC;AAEzE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,UAAU,CAAyC;IAE3D;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAGhD,OAAO,CAAC,SAAS,CAAa;IAG9B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,MAAM,CAAS;gBAGrB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,qBAAqB,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,UAAU,CAAC;QACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAiBH;;;;;;;;;;;;;;;;;;OAkBG;IACG,iBAAiB,CACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GACtC,OAAO,CAAC,MAAM,CAAC;IAclB,iFAAiF;YACnE,4BAA4B;IAuC1C;;;;;OAKG;YACW,uBAAuB;IAsBrC,uDAAuD;IACvD,OAAO,CAAC,cAAc;IAiBtB;;;;;;OAMG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAqHjF;;;OAGG;YACW,qBAAqB;IAanC;;;;;OAKG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IA8D3E;;OAEG;YACW,eAAe;IAwC7B;;;OAGG;YACW,aAAa;IAqC3B;;OAEG;YACW,WAAW;IAuDzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,kBAAkB;CAQ3B"}
|
|
@@ -44,15 +44,39 @@ class AuthenticationService {
|
|
|
44
44
|
* and we return USER_REVOKED with a message that mentions both possibilities so
|
|
45
45
|
* admins can diagnose the issue.
|
|
46
46
|
*
|
|
47
|
-
*
|
|
47
|
+
* The username is optional: a client may instead identify itself by its
|
|
48
|
+
* device signing public key (`options.signingPublicKey`), in which case the
|
|
49
|
+
* server resolves the grant by key and never needs the cleartext name.
|
|
50
|
+
*
|
|
51
|
+
* @param username The username requesting authentication (optional)
|
|
52
|
+
* @param options.signingPublicKey The device signing public key (Ed25519, PEM)
|
|
53
|
+
* the client is identifying with, when no username is supplied
|
|
48
54
|
* @returns The challenge string (UUID v7)
|
|
49
55
|
* @throws NetworkError if user not found or has no active access grant
|
|
50
56
|
*/
|
|
51
|
-
async generateChallenge(username) {
|
|
57
|
+
async generateChallenge(username, options) {
|
|
58
|
+
const signingPublicKey = options?.signingPublicKey;
|
|
59
|
+
if (username) {
|
|
60
|
+
return this.generateChallengeForUsername(username, signingPublicKey);
|
|
61
|
+
}
|
|
62
|
+
if (signingPublicKey) {
|
|
63
|
+
return this.generateChallengeForKey(signingPublicKey);
|
|
64
|
+
}
|
|
65
|
+
throw new types_1.NetworkError(types_1.NetworkErrorType.USER_NOT_FOUND, `A username or signing public key is required to request a challenge.`);
|
|
66
|
+
}
|
|
67
|
+
/** Username-based challenge (legacy path; the client still sends a username). */
|
|
68
|
+
async generateChallengeForUsername(username, signingPublicKey) {
|
|
52
69
|
this.logger.debug(`Generating challenge for user: ${username}`);
|
|
53
70
|
// Check if user exists and is not revoked
|
|
54
71
|
const userKeys = await this.directory.getUserPublicKeys(username);
|
|
55
72
|
if (!userKeys) {
|
|
73
|
+
// A revoked device may still need to authenticate far enough to learn it
|
|
74
|
+
// must wipe (docs/accesscontrol.md §6.5). Allow the challenge if any of the
|
|
75
|
+
// user's keys is the target of a remote-wipe directive.
|
|
76
|
+
const universe = await this.getSigningKeyUniverse(username);
|
|
77
|
+
if (universe.wipeRequested.length > 0) {
|
|
78
|
+
return this.storeChallenge({ username, signingPublicKey });
|
|
79
|
+
}
|
|
56
80
|
// Check if user was revoked or never existed
|
|
57
81
|
const isRevoked = await this.directory.isUserRevoked(username);
|
|
58
82
|
if (isRevoked) {
|
|
@@ -64,21 +88,49 @@ class AuthenticationService {
|
|
|
64
88
|
+ `The user may not have been registered yet, or the tenant's directory database may `
|
|
65
89
|
+ `not have been synced to this server yet. Ask the tenant administrator to sync the directory.`);
|
|
66
90
|
}
|
|
67
|
-
|
|
91
|
+
const challenge = this.storeChallenge({ username, signingPublicKey });
|
|
92
|
+
this.logger.debug(`Generated challenge for user ${username}: ${challenge}`);
|
|
93
|
+
return challenge;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Key-based challenge: the client identifies by its device signing public key
|
|
97
|
+
* and the server resolves the grant without a cleartext username. The grant's
|
|
98
|
+
* username (resolved from the directory) is recorded on the challenge so
|
|
99
|
+
* downstream identity/wipe resolution keeps working.
|
|
100
|
+
*/
|
|
101
|
+
async generateChallengeForKey(signingPublicKey) {
|
|
102
|
+
this.logger.debug(`Generating challenge for signing key`);
|
|
103
|
+
if (typeof this.directory.getUserBySigningPublicKey === "function") {
|
|
104
|
+
const lookup = await this.directory.getUserBySigningPublicKey(signingPublicKey);
|
|
105
|
+
if (lookup) {
|
|
106
|
+
// An entry in the lookup means the key is on an active grant.
|
|
107
|
+
return this.storeChallenge({ username: lookup.username, signingPublicKey });
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// No active grant for this key. It may still be the target of a remote-wipe
|
|
111
|
+
// directive on a revoked grant; if the directory can resolve that, allow the
|
|
112
|
+
// challenge so the device can learn it must wipe (§6.5).
|
|
113
|
+
throw new types_1.NetworkError(types_1.NetworkErrorType.USER_NOT_FOUND, `No active access grant is known for the provided signing key on this server. `
|
|
114
|
+
+ `The access may have been revoked, or the tenant's directory database may not have `
|
|
115
|
+
+ `been synced to this server yet. Ask the tenant administrator to sync the directory.`);
|
|
116
|
+
}
|
|
117
|
+
/** Persist a fresh challenge and return its string. */
|
|
118
|
+
storeChallenge(fields) {
|
|
68
119
|
const challenge = (0, uuid_1.v7)();
|
|
69
120
|
const now = Date.now();
|
|
70
|
-
// Store challenge
|
|
71
121
|
const authChallenge = {
|
|
72
122
|
challenge,
|
|
73
|
-
username,
|
|
74
123
|
createdAt: now,
|
|
75
124
|
expiresAt: now + this.challengeExpirationMs,
|
|
76
125
|
used: false,
|
|
77
126
|
};
|
|
127
|
+
if (fields.username)
|
|
128
|
+
authChallenge.username = fields.username;
|
|
129
|
+
if (fields.signingPublicKey)
|
|
130
|
+
authChallenge.signingPublicKey = fields.signingPublicKey;
|
|
78
131
|
this.challenges.set(challenge, authChallenge);
|
|
79
|
-
// Clean up expired challenges periodically
|
|
80
132
|
this.cleanupExpiredChallenges();
|
|
81
|
-
this.
|
|
133
|
+
this.evictChallengesOverCap();
|
|
82
134
|
return challenge;
|
|
83
135
|
}
|
|
84
136
|
/**
|
|
@@ -119,34 +171,90 @@ class AuthenticationService {
|
|
|
119
171
|
// Mark challenge as used (single-use)
|
|
120
172
|
authChallenge.used = true;
|
|
121
173
|
const username = authChallenge.username;
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
174
|
+
// Resolve the principal: a username (legacy) or the device signing key the
|
|
175
|
+
// client identified with. When only the key is known, resolve its grant's
|
|
176
|
+
// username so wipe/identity lookups (which key by username) keep working.
|
|
177
|
+
let resolvedUsername = username;
|
|
178
|
+
if (!resolvedUsername &&
|
|
179
|
+
authChallenge.signingPublicKey &&
|
|
180
|
+
typeof this.directory.getUserBySigningPublicKey === "function") {
|
|
181
|
+
const lookup = await this.directory.getUserBySigningPublicKey(authChallenge.signingPublicKey);
|
|
182
|
+
resolvedUsername = lookup?.username;
|
|
183
|
+
}
|
|
184
|
+
const principalLabel = username ?? authChallenge.signingPublicKey ?? "unknown";
|
|
185
|
+
// Build the set of candidate signing keys this device could be using: the
|
|
186
|
+
// user's active (granted) keys plus any keys targeted for remote wipe
|
|
187
|
+
// (§6.5). The wipe set lets a revoked-by-key-removal device authenticate
|
|
188
|
+
// just far enough to receive the directive.
|
|
189
|
+
const universe = resolvedUsername
|
|
190
|
+
? await this.getSigningKeyUniverse(resolvedUsername)
|
|
191
|
+
: { active: [], wipeRequested: [] };
|
|
192
|
+
const candidateKeys = new Set([...universe.active, ...universe.wipeRequested]);
|
|
193
|
+
// Legacy fallback: directories without the wipe API expose only the primary
|
|
194
|
+
// key via getUserPublicKeys.
|
|
195
|
+
if (candidateKeys.size === 0 && resolvedUsername) {
|
|
196
|
+
const userKeys = await this.directory.getUserPublicKeys(resolvedUsername);
|
|
197
|
+
if (userKeys)
|
|
198
|
+
candidateKeys.add(userKeys.signingPublicKey);
|
|
199
|
+
}
|
|
200
|
+
// Key-based challenge with no resolvable grant: the only candidate is the
|
|
201
|
+
// key the client identified with.
|
|
202
|
+
if (candidateKeys.size === 0 && authChallenge.signingPublicKey) {
|
|
203
|
+
candidateKeys.add(authChallenge.signingPublicKey);
|
|
204
|
+
}
|
|
205
|
+
if (candidateKeys.size === 0) {
|
|
206
|
+
this.logger.debug(`User not found or has no active access grant on this server: ${principalLabel}`);
|
|
126
207
|
return {
|
|
127
208
|
success: false,
|
|
128
|
-
error: `User "${
|
|
209
|
+
error: `User "${principalLabel}" is not found, or has no active access grant on this server. `
|
|
129
210
|
+ `The tenant's directory database may not have been synced to this server yet, `
|
|
130
211
|
+ `or the access was revoked.`,
|
|
131
212
|
};
|
|
132
213
|
}
|
|
133
|
-
//
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
this.
|
|
214
|
+
// Find which candidate key produced the signature; that is the device's key.
|
|
215
|
+
let matchedKey = null;
|
|
216
|
+
for (const key of candidateKeys) {
|
|
217
|
+
if (await this.verifySignature(challenge, signature, key)) {
|
|
218
|
+
matchedKey = key;
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
if (!matchedKey) {
|
|
223
|
+
this.logger.debug(`Invalid signature for user: ${principalLabel}`);
|
|
137
224
|
return {
|
|
138
225
|
success: false,
|
|
139
226
|
error: "Invalid signature",
|
|
140
227
|
};
|
|
141
228
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
229
|
+
const wipe = universe.wipeRequested.includes(matchedKey);
|
|
230
|
+
// The subject is the cleartext username when one was supplied, otherwise the
|
|
231
|
+
// authenticated device key (an opaque principal id; the read gate resolves
|
|
232
|
+
// identity from deviceSigningKey).
|
|
233
|
+
const sub = username ?? matchedKey;
|
|
234
|
+
// Generate JWT token, recording the authenticated device key and whether it
|
|
235
|
+
// is wipe-targeted so sync handlers can serve only the grant directive.
|
|
236
|
+
const token = await this.generateToken(sub, { deviceSigningKey: matchedKey, wipe });
|
|
237
|
+
this.logger.info(`Authentication successful for user: ${principalLabel}${wipe ? " (remote-wipe directive pending)" : ""}`);
|
|
145
238
|
return {
|
|
146
239
|
success: true,
|
|
147
240
|
token,
|
|
148
241
|
};
|
|
149
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Resolve the user's signing-key universe (active + wipe-targeted) via the
|
|
245
|
+
* optional directory API, returning empty sets when unsupported.
|
|
246
|
+
*/
|
|
247
|
+
async getSigningKeyUniverse(username) {
|
|
248
|
+
if (typeof this.directory.getUserSigningKeyUniverse === "function") {
|
|
249
|
+
try {
|
|
250
|
+
return await this.directory.getUserSigningKeyUniverse(username);
|
|
251
|
+
}
|
|
252
|
+
catch (error) {
|
|
253
|
+
this.logger.debug(`getUserSigningKeyUniverse failed for ${username}: ${error}`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return { active: [], wipeRequested: [] };
|
|
257
|
+
}
|
|
150
258
|
/**
|
|
151
259
|
* Validate a JWT token.
|
|
152
260
|
*
|
|
@@ -167,11 +275,42 @@ class AuthenticationService {
|
|
|
167
275
|
this.logger.debug(`Token expired`);
|
|
168
276
|
return null;
|
|
169
277
|
}
|
|
170
|
-
// Check if user is still valid (not revoked)
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
278
|
+
// Check if user is still valid (not revoked). A wipe-scoped token is the
|
|
279
|
+
// deliberate exception (§6.5): a revoked device must still be able to fetch
|
|
280
|
+
// the admin-signed grant doc carrying its wipe directive, so we honor the
|
|
281
|
+
// token but downstream sync handlers restrict it to that single document.
|
|
282
|
+
if (!payload.wipe) {
|
|
283
|
+
const deviceKey = payload.deviceSigningKey;
|
|
284
|
+
if (deviceKey && typeof this.directory.getUserSigningKeyUniverse === "function") {
|
|
285
|
+
// Key-based revocation: the device key is valid only while it is in the
|
|
286
|
+
// user's ACTIVE signing-key set. This is more precise than the
|
|
287
|
+
// username-level check (it cuts off a single revoked device) and works
|
|
288
|
+
// when `sub` is a key rather than a cleartext username. We resolve the
|
|
289
|
+
// username from the device key when possible (the reverse lookup cache
|
|
290
|
+
// intentionally survives revocation for historical display, so it
|
|
291
|
+
// alone cannot prove the key is still active — hence the universe
|
|
292
|
+
// check).
|
|
293
|
+
let username = payload.sub;
|
|
294
|
+
if (typeof this.directory.getUserBySigningPublicKey === "function") {
|
|
295
|
+
const lookup = await this.directory.getUserBySigningPublicKey(deviceKey);
|
|
296
|
+
if (lookup?.username)
|
|
297
|
+
username = lookup.username;
|
|
298
|
+
}
|
|
299
|
+
const universe = await this.directory.getUserSigningKeyUniverse(username);
|
|
300
|
+
const keyInactive = !universe.active.includes(deviceKey);
|
|
301
|
+
const userRevoked = await this.directory.isUserRevoked(username);
|
|
302
|
+
if (keyInactive || userRevoked) {
|
|
303
|
+
this.logger.debug(`Device key no longer active (revoked): ${payload.sub}`);
|
|
304
|
+
return null;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
const isRevoked = await this.directory.isUserRevoked(payload.sub);
|
|
309
|
+
if (isRevoked) {
|
|
310
|
+
this.logger.debug(`User revoked: ${payload.sub}`);
|
|
311
|
+
return null;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
175
314
|
}
|
|
176
315
|
this.logger.debug(`Token valid for user: ${payload.sub}`);
|
|
177
316
|
return payload;
|
|
@@ -208,15 +347,19 @@ class AuthenticationService {
|
|
|
208
347
|
* Generate a JWT token.
|
|
209
348
|
* Uses HMAC-SHA256 for signing.
|
|
210
349
|
*/
|
|
211
|
-
async generateToken(
|
|
350
|
+
async generateToken(sub, options) {
|
|
212
351
|
const subtle = this.cryptoAdapter.getSubtle();
|
|
213
352
|
const now = Math.floor(Date.now() / 1000);
|
|
214
353
|
const payload = {
|
|
215
|
-
sub
|
|
354
|
+
sub,
|
|
216
355
|
iat: now,
|
|
217
356
|
exp: now + Math.floor(this.tokenExpirationMs / 1000),
|
|
218
357
|
tenantId: this.tenantId,
|
|
219
358
|
};
|
|
359
|
+
if (options?.deviceSigningKey)
|
|
360
|
+
payload.deviceSigningKey = options.deviceSigningKey;
|
|
361
|
+
if (options?.wipe)
|
|
362
|
+
payload.wipe = true;
|
|
220
363
|
// Create JWT header and payload
|
|
221
364
|
const header = { alg: "HS256", typ: "JWT" };
|
|
222
365
|
const headerB64 = this.base64UrlEncode(JSON.stringify(header));
|
|
@@ -239,6 +382,15 @@ class AuthenticationService {
|
|
|
239
382
|
}
|
|
240
383
|
const [headerB64, payloadB64, signatureB64] = parts;
|
|
241
384
|
try {
|
|
385
|
+
// Pin the JWT algorithm to HS256 (audit, Low: alg pinning). The verifier
|
|
386
|
+
// always uses HMAC-SHA256, but explicitly rejecting any other declared
|
|
387
|
+
// `alg` (e.g. "none" or an asymmetric alg) blocks algorithm-confusion
|
|
388
|
+
// attacks rather than relying on the HMAC check to fail.
|
|
389
|
+
const header = JSON.parse(this.base64UrlDecode(headerB64));
|
|
390
|
+
if (header.alg !== "HS256") {
|
|
391
|
+
this.logger.warn(`Rejecting token with unexpected alg: ${header.alg}`);
|
|
392
|
+
return null;
|
|
393
|
+
}
|
|
242
394
|
// Verify signature
|
|
243
395
|
const signingKey = await subtle.importKey("raw", this.jwtSecret.buffer, { name: "HMAC", hash: "SHA-256" }, false, ["verify"]);
|
|
244
396
|
const dataToVerify = new TextEncoder().encode(`${headerB64}.${payloadB64}`);
|
|
@@ -268,6 +420,20 @@ class AuthenticationService {
|
|
|
268
420
|
}
|
|
269
421
|
}
|
|
270
422
|
}
|
|
423
|
+
/**
|
|
424
|
+
* Bound the challenge map (DoS guard): if still over the cap after expiry
|
|
425
|
+
* cleanup, drop the oldest entries (Map preserves insertion order).
|
|
426
|
+
*/
|
|
427
|
+
evictChallengesOverCap() {
|
|
428
|
+
let overflow = this.challenges.size - AuthenticationService.MAX_CHALLENGES;
|
|
429
|
+
if (overflow <= 0)
|
|
430
|
+
return;
|
|
431
|
+
for (const challenge of this.challenges.keys()) {
|
|
432
|
+
if (overflow-- <= 0)
|
|
433
|
+
break;
|
|
434
|
+
this.challenges.delete(challenge);
|
|
435
|
+
}
|
|
436
|
+
}
|
|
271
437
|
// Base64 URL encoding/decoding utilities
|
|
272
438
|
base64UrlEncode(str) {
|
|
273
439
|
const base64 = btoa(str);
|
|
@@ -310,4 +476,11 @@ class AuthenticationService {
|
|
|
310
476
|
}
|
|
311
477
|
}
|
|
312
478
|
exports.AuthenticationService = AuthenticationService;
|
|
479
|
+
/**
|
|
480
|
+
* Hard cap on outstanding challenges (DoS guard). Challenges are unauthenticated
|
|
481
|
+
* to create, so an attacker could otherwise flood this map and exhaust memory.
|
|
482
|
+
* When the cap is reached we evict the oldest entries (insertion order) so a
|
|
483
|
+
* flood cannot grow the map without bound; legitimate clients simply re-request.
|
|
484
|
+
*/
|
|
485
|
+
AuthenticationService.MAX_CHALLENGES = 10000;
|
|
313
486
|
//# sourceMappingURL=AuthenticationService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationService.js","sourceRoot":"","sources":["../../../../src/core/appendonlystores/network/AuthenticationService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AuthenticationService.js","sourceRoot":"","sources":["../../../../src/core/appendonlystores/network/AuthenticationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,12 +32,20 @@ export interface NetworkTransport {
|
|
|
32
32
|
* The server generates a unique challenge (UUID v7) that the client
|
|
33
33
|
* must sign with their private signing key to prove identity.
|
|
34
34
|
*
|
|
35
|
-
*
|
|
35
|
+
* The username is optional: a client may identify itself by its device
|
|
36
|
+
* signing public key (`options.signingPublicKey`) instead, so the server
|
|
37
|
+
* never needs the cleartext name.
|
|
38
|
+
*
|
|
39
|
+
* @param username The username requesting authentication (optional)
|
|
40
|
+
* @param options.signingPublicKey The device signing public key the client is
|
|
41
|
+
* identifying with, when no username is supplied
|
|
36
42
|
* @returns The challenge string (UUID v7) to be signed
|
|
37
43
|
* @throws NetworkError with type USER_NOT_FOUND if user doesn't exist
|
|
38
44
|
* @throws NetworkError with type USER_REVOKED if user has been revoked
|
|
39
45
|
*/
|
|
40
|
-
requestChallenge(username
|
|
46
|
+
requestChallenge(username?: string, options?: {
|
|
47
|
+
signingPublicKey?: string;
|
|
48
|
+
}): Promise<string>;
|
|
41
49
|
/**
|
|
42
50
|
* Authenticate by providing a signed challenge.
|
|
43
51
|
*
|
|
@@ -159,13 +167,19 @@ export interface NetworkTransport {
|
|
|
159
167
|
* The server will verify that the entry was created by a trusted user
|
|
160
168
|
* (by checking the createdByPublicKey against the tenant directory).
|
|
161
169
|
*
|
|
170
|
+
* Returns the witness receipts the server stamped onto the accepted entries
|
|
171
|
+
* (stamped metadata carrying `receivedAt`/`receivedByPublicKey`/
|
|
172
|
+
* `receivedDateSignature`), so the client can persist the attestation locally
|
|
173
|
+
* (docs/accesscontrol.md §5.3). May be empty when the server does not witness.
|
|
174
|
+
*
|
|
162
175
|
* @param token JWT access token from authenticate()
|
|
163
176
|
* @param entries The entries to push to the remote store
|
|
177
|
+
* @returns Witness receipts (stamped metadata) for the accepted entries
|
|
164
178
|
* @throws NetworkError with type INVALID_TOKEN if token is invalid or expired
|
|
165
179
|
* @throws NetworkError with type USER_REVOKED if user has been revoked since token was issued
|
|
166
180
|
* @throws NetworkError with type INVALID_SIGNATURE if entry signature verification fails
|
|
167
181
|
*/
|
|
168
|
-
putEntries(token: string, entries: StoreEntry[]): Promise<
|
|
182
|
+
putEntries(token: string, entries: StoreEntry[]): Promise<StoreEntryMetadata[]>;
|
|
169
183
|
/**
|
|
170
184
|
* Check which of the provided IDs exist in the remote store.
|
|
171
185
|
*
|