mindoodb 0.0.24 → 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 +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
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { WitnessSigner } from "../../crypto/WitnessReceipt";
|
|
2
|
+
import { StampedReceipt, TimestampProvider, TimestampStampContext, TimestampVerifier, TimestampableEntry } from "./TimestampProvider";
|
|
3
|
+
/**
|
|
4
|
+
* The v1 {@link TimestampProvider}: an Ed25519 receipt stamped by a trusted sync
|
|
5
|
+
* server ("witness", docs/accesscontrol.md §5). This is a thin facade over the
|
|
6
|
+
* existing primitives — {@link stampEntryReceipt} on the issue side and
|
|
7
|
+
* {@link WitnessReceiptValidator} on the verify side — so behavior is identical
|
|
8
|
+
* to the pre-abstraction code; the seam exists only so other schemes (e.g. an
|
|
9
|
+
* RFC 3161 TSA) can be added later without touching call sites.
|
|
10
|
+
*/
|
|
11
|
+
export declare class Ed25519WitnessProvider implements TimestampProvider {
|
|
12
|
+
readonly kind = "ed25519-witness";
|
|
13
|
+
/** The witness signing identity; undefined for a verify-only provider (clients). */
|
|
14
|
+
private readonly signer?;
|
|
15
|
+
private readonly subtle;
|
|
16
|
+
/**
|
|
17
|
+
* @param opts.signer The witness identity used to stamp receipts. Omit on
|
|
18
|
+
* clients that only verify.
|
|
19
|
+
* @param opts.subtle WebCrypto used for signing/verifying. When a signer is
|
|
20
|
+
* provided this is typically `signer.subtle`.
|
|
21
|
+
*/
|
|
22
|
+
constructor(opts: {
|
|
23
|
+
signer?: WitnessSigner;
|
|
24
|
+
subtle: SubtleCrypto;
|
|
25
|
+
});
|
|
26
|
+
get issuerPublicKey(): string | undefined;
|
|
27
|
+
get canStamp(): boolean;
|
|
28
|
+
stamp(entry: TimestampableEntry, ctx: TimestampStampContext): Promise<StampedReceipt>;
|
|
29
|
+
createVerifier(initialLastSeen?: Map<string, number>): TimestampVerifier;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=Ed25519WitnessProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Ed25519WitnessProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/accesscontrol/timestamp/Ed25519WitnessProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAIjE,OAAO,EAEL,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;GAOG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,QAAQ,CAAC,IAAI,qBAA0B;IAEvC,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC;;;;;OAKG;gBACS,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE;IAKlE,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAEK,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ3F,cAAc,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB;CAGzE"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Ed25519WitnessProvider = void 0;
|
|
4
|
+
const WitnessReceipt_1 = require("../../crypto/WitnessReceipt");
|
|
5
|
+
const receiptValidation_1 = require("../receiptValidation");
|
|
6
|
+
const TimestampProvider_1 = require("./TimestampProvider");
|
|
7
|
+
/**
|
|
8
|
+
* The v1 {@link TimestampProvider}: an Ed25519 receipt stamped by a trusted sync
|
|
9
|
+
* server ("witness", docs/accesscontrol.md §5). This is a thin facade over the
|
|
10
|
+
* existing primitives — {@link stampEntryReceipt} on the issue side and
|
|
11
|
+
* {@link WitnessReceiptValidator} on the verify side — so behavior is identical
|
|
12
|
+
* to the pre-abstraction code; the seam exists only so other schemes (e.g. an
|
|
13
|
+
* RFC 3161 TSA) can be added later without touching call sites.
|
|
14
|
+
*/
|
|
15
|
+
class Ed25519WitnessProvider {
|
|
16
|
+
/**
|
|
17
|
+
* @param opts.signer The witness identity used to stamp receipts. Omit on
|
|
18
|
+
* clients that only verify.
|
|
19
|
+
* @param opts.subtle WebCrypto used for signing/verifying. When a signer is
|
|
20
|
+
* provided this is typically `signer.subtle`.
|
|
21
|
+
*/
|
|
22
|
+
constructor(opts) {
|
|
23
|
+
this.kind = TimestampProvider_1.ED25519_WITNESS_SCHEME;
|
|
24
|
+
this.signer = opts.signer;
|
|
25
|
+
this.subtle = opts.subtle;
|
|
26
|
+
}
|
|
27
|
+
get issuerPublicKey() {
|
|
28
|
+
return this.signer?.publicKeyPem;
|
|
29
|
+
}
|
|
30
|
+
get canStamp() {
|
|
31
|
+
return this.signer !== undefined;
|
|
32
|
+
}
|
|
33
|
+
async stamp(entry, ctx) {
|
|
34
|
+
if (!this.signer) {
|
|
35
|
+
throw new Error("Ed25519WitnessProvider.stamp called on a verify-only provider (no signer configured)");
|
|
36
|
+
}
|
|
37
|
+
const stamp = await (0, WitnessReceipt_1.stampEntryReceipt)(entry, ctx, this.signer);
|
|
38
|
+
return { ...stamp, receiptScheme: this.kind };
|
|
39
|
+
}
|
|
40
|
+
createVerifier(initialLastSeen) {
|
|
41
|
+
return new Ed25519WitnessVerifier(this.subtle, initialLastSeen);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.Ed25519WitnessProvider = Ed25519WitnessProvider;
|
|
45
|
+
/**
|
|
46
|
+
* Verifier adapter for {@link Ed25519WitnessProvider}. Wraps a
|
|
47
|
+
* {@link WitnessReceiptValidator} (which carries the per-witness `receivedAt`
|
|
48
|
+
* monotonicity state, §5.4) and first guards on the receipt scheme tag: with no
|
|
49
|
+
* router yet, a receipt declaring any other scheme is cleanly rejected rather
|
|
50
|
+
* than misinterpreted as Ed25519.
|
|
51
|
+
*/
|
|
52
|
+
class Ed25519WitnessVerifier {
|
|
53
|
+
constructor(subtle, initialLastSeen) {
|
|
54
|
+
this.subtle = subtle;
|
|
55
|
+
this.inner = new receiptValidation_1.WitnessReceiptValidator(initialLastSeen);
|
|
56
|
+
}
|
|
57
|
+
async validate(entry, ctx) {
|
|
58
|
+
// Absence means the default Ed25519 witness scheme (legacy entries predate
|
|
59
|
+
// the tag). Any explicit, non-Ed25519 scheme cannot be verified here.
|
|
60
|
+
if (entry.receiptScheme !== undefined && entry.receiptScheme !== TimestampProvider_1.ED25519_WITNESS_SCHEME) {
|
|
61
|
+
return { ok: false, reason: `unsupported receipt scheme: ${entry.receiptScheme}` };
|
|
62
|
+
}
|
|
63
|
+
return this.inner.validate(entry, ctx, this.subtle);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=Ed25519WitnessProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Ed25519WitnessProvider.js","sourceRoot":"","sources":["../../../../src/core/accesscontrol/timestamp/Ed25519WitnessProvider.ts"],"names":[],"mappings":";;;AAEA,gEAAgE;AAChE,4DAA+D;AAE/D,2DAO6B;AAE7B;;;;;;;GAOG;AACH,MAAa,sBAAsB;IAOjC;;;;;OAKG;IACH,YAAY,IAAsD;QAZzD,SAAI,GAAG,0CAAsB,CAAC;QAarC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAyB,EAAE,GAA0B;QAC/D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAA,kCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,cAAc,CAAC,eAAqC;QAClD,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAClE,CAAC;CACF;AArCD,wDAqCC;AAED;;;;;;GAMG;AACH,MAAM,sBAAsB;IAG1B,YAA6B,MAAoB,EAAE,eAAqC;QAA3D,WAAM,GAAN,MAAM,CAAc;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,2CAAuB,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAyB,EAAE,GAA6B;QACrE,2EAA2E;QAC3E,sEAAsE;QACtE,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,0CAAsB,EAAE,CAAC;YACxF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,+BAA+B,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;QACrF,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;CACF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { StoreEntryMetadata } from "../../types";
|
|
2
|
+
import type { StampedWitnessFields } from "../../crypto/WitnessReceipt";
|
|
3
|
+
import type { ReceiptValidationContext, ReceiptValidationResult } from "../receiptValidation";
|
|
4
|
+
/**
|
|
5
|
+
* Pluggable trusted-time / receipt provider seam (docs/accesscontrol.md §5, §13).
|
|
6
|
+
*
|
|
7
|
+
* The trusted time of an entry (`receivedAt`, used for all access-control
|
|
8
|
+
* time-travel evaluation) is attested by a {@link TimestampProvider}. v1 ships a
|
|
9
|
+
* single implementation, the Ed25519 sync-server witness
|
|
10
|
+
* (`Ed25519WitnessProvider`), but the abstraction exists so an alternative such
|
|
11
|
+
* as an RFC 3161 Time-Stamping Authority (TSA) can later plug into BOTH sides:
|
|
12
|
+
* - the **issue** side: a server stamps an accepted entry ({@link TimestampProvider.stamp}), and
|
|
13
|
+
* - the **verify** side: a receiver validates the receipt ({@link TimestampVerifier}).
|
|
14
|
+
*
|
|
15
|
+
* Each scheme tags its receipts with a stable {@link TimestampProvider.kind}
|
|
16
|
+
* value, persisted on the entry as `receiptScheme`, so receipts can later be
|
|
17
|
+
* routed to the right verifier. Absence of `receiptScheme` means the default
|
|
18
|
+
* Ed25519 witness scheme (the only scheme that existed before this field).
|
|
19
|
+
*/
|
|
20
|
+
/** Stable identifier of the Ed25519 sync-server witness scheme (§5). */
|
|
21
|
+
export declare const ED25519_WITNESS_SCHEME = "ed25519-witness";
|
|
22
|
+
/**
|
|
23
|
+
* The subset of an entry's metadata a provider needs in order to stamp a
|
|
24
|
+
* receipt. Mirrors the fields bound by the witness signing layout (§5.2).
|
|
25
|
+
*/
|
|
26
|
+
export type TimestampableEntry = Pick<StoreEntryMetadata, "entryType" | "contentHash" | "id" | "docId" | "decryptionKeyId" | "createdAt" | "createdByPublicKey">;
|
|
27
|
+
/** Context the provider needs to stamp a receipt onto an accepted entry. */
|
|
28
|
+
export interface TimestampStampContext {
|
|
29
|
+
/** Database id the entry is accepted/witnessed under (bound into the receipt). */
|
|
30
|
+
dbid: string;
|
|
31
|
+
/** Provider-assigned acceptance time (ms epoch). */
|
|
32
|
+
receivedAt: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The fields a provider writes onto an accepted entry: the existing witness
|
|
36
|
+
* receipt fields plus the {@link TimestampProvider.kind} discriminator
|
|
37
|
+
* (`receiptScheme`). Merging this into an entry's metadata produces a stamped
|
|
38
|
+
* entry.
|
|
39
|
+
*/
|
|
40
|
+
export interface StampedReceipt extends StampedWitnessFields {
|
|
41
|
+
/** The scheme that produced this receipt (equals the provider's `kind`). */
|
|
42
|
+
receiptScheme: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* A stateful verifier for a single materialization pass. Implementations may
|
|
46
|
+
* carry per-issuer high-water marks (e.g. the Ed25519 per-witness `receivedAt`
|
|
47
|
+
* monotonicity, §5.4), so one verifier should be used per materialization.
|
|
48
|
+
*/
|
|
49
|
+
export interface TimestampVerifier {
|
|
50
|
+
/**
|
|
51
|
+
* Validate the receipt on an entry. Returns `{ ok: true, noReceipt: true }`
|
|
52
|
+
* for entries that carry no receipt (local, not-yet-synced). Never throws for
|
|
53
|
+
* an invalid receipt — returns `{ ok: false, reason }` so the caller can
|
|
54
|
+
* quarantine.
|
|
55
|
+
*/
|
|
56
|
+
validate(entry: StoreEntryMetadata, ctx: ReceiptValidationContext): Promise<ReceiptValidationResult>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Issues and verifies trusted-time receipts for one timestamping scheme. A
|
|
60
|
+
* single instance can be verify-only (no issuing identity configured) or able
|
|
61
|
+
* to both issue and verify.
|
|
62
|
+
*/
|
|
63
|
+
export interface TimestampProvider {
|
|
64
|
+
/** Stable scheme identifier written onto receipts as `receiptScheme`. */
|
|
65
|
+
readonly kind: string;
|
|
66
|
+
/**
|
|
67
|
+
* The public identity of the issuer (e.g. the witness public key, PEM), or
|
|
68
|
+
* undefined for a verify-only provider. Used to advertise capability and to
|
|
69
|
+
* skip self-witnessing (a server need not witness its own entries).
|
|
70
|
+
*/
|
|
71
|
+
readonly issuerPublicKey?: string;
|
|
72
|
+
/** Whether this provider can issue (stamp) receipts. */
|
|
73
|
+
readonly canStamp: boolean;
|
|
74
|
+
/** Stamp a receipt onto an accepted entry (issue side). Throws if it cannot stamp. */
|
|
75
|
+
stamp(entry: TimestampableEntry, ctx: TimestampStampContext): Promise<StampedReceipt>;
|
|
76
|
+
/** Create a stateful verifier for a single materialization pass (verify side). */
|
|
77
|
+
createVerifier(initialLastSeen?: Map<string, number>): TimestampVerifier;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=TimestampProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimestampProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/accesscontrol/timestamp/TimestampProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE9F;;;;;;;;;;;;;;;GAeG;AAEH,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,oBAAoB,CAAC;AAExD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,kBAAkB,EAClB,WAAW,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,GAAG,iBAAiB,GAAG,WAAW,GAAG,oBAAoB,CACtG,CAAC;AAEF,4EAA4E;AAC5E,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IAC1D,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACtG;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,sFAAsF;IACtF,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACtF,kFAAkF;IAClF,cAAc,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC;CAC1E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ED25519_WITNESS_SCHEME = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Pluggable trusted-time / receipt provider seam (docs/accesscontrol.md §5, §13).
|
|
6
|
+
*
|
|
7
|
+
* The trusted time of an entry (`receivedAt`, used for all access-control
|
|
8
|
+
* time-travel evaluation) is attested by a {@link TimestampProvider}. v1 ships a
|
|
9
|
+
* single implementation, the Ed25519 sync-server witness
|
|
10
|
+
* (`Ed25519WitnessProvider`), but the abstraction exists so an alternative such
|
|
11
|
+
* as an RFC 3161 Time-Stamping Authority (TSA) can later plug into BOTH sides:
|
|
12
|
+
* - the **issue** side: a server stamps an accepted entry ({@link TimestampProvider.stamp}), and
|
|
13
|
+
* - the **verify** side: a receiver validates the receipt ({@link TimestampVerifier}).
|
|
14
|
+
*
|
|
15
|
+
* Each scheme tags its receipts with a stable {@link TimestampProvider.kind}
|
|
16
|
+
* value, persisted on the entry as `receiptScheme`, so receipts can later be
|
|
17
|
+
* routed to the right verifier. Absence of `receiptScheme` means the default
|
|
18
|
+
* Ed25519 witness scheme (the only scheme that existed before this field).
|
|
19
|
+
*/
|
|
20
|
+
/** Stable identifier of the Ed25519 sync-server witness scheme (§5). */
|
|
21
|
+
exports.ED25519_WITNESS_SCHEME = "ed25519-witness";
|
|
22
|
+
//# sourceMappingURL=TimestampProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimestampProvider.js","sourceRoot":"","sources":["../../../../src/core/accesscontrol/timestamp/TimestampProvider.ts"],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;;GAeG;AAEH,wEAAwE;AAC3D,QAAA,sBAAsB,GAAG,iBAAiB,CAAC"}
|