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
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Attachment text extraction setup (docs/fulltext-search.md).
|
|
3
|
+
*
|
|
4
|
+
* Configures host-side extraction services (e.g. Haven's OCR service):
|
|
5
|
+
* which databases want expensive attachment-content extraction (OCR for
|
|
6
|
+
* images and scanned PDFs) whose results are persisted at the attachment
|
|
7
|
+
* entry via `MindooDoc.setAttachmentExtractedText()` and synced with the
|
|
8
|
+
* document. This is deliberately separate from `fulltextSetup.attachments`
|
|
9
|
+
* (cheap, index-local extractors that run on every device): extraction
|
|
10
|
+
* services run once per attachment, write the result into the document,
|
|
11
|
+
* and every replica gets the text for free.
|
|
12
|
+
*
|
|
13
|
+
* Stored in the synced setup document (`dbsetup`, field
|
|
14
|
+
* `extractionSetup`) — same pattern as `summarySetup`/`fulltextSetup`.
|
|
15
|
+
*/
|
|
16
|
+
export interface ExtractionConfig {
|
|
17
|
+
/** Master switch. Default: false (no extraction service activity). */
|
|
18
|
+
enabled?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Tesseract-style language codes for OCR (e.g. ["deu", "eng"]).
|
|
21
|
+
* Services use this to load the matching trained data. Default is
|
|
22
|
+
* service-defined.
|
|
23
|
+
*/
|
|
24
|
+
languages?: string[];
|
|
25
|
+
/**
|
|
26
|
+
* Restrict extraction to these MIME types (prefix match allowed, e.g.
|
|
27
|
+
* "image/"). Default: service-defined (typically images + PDFs).
|
|
28
|
+
*/
|
|
29
|
+
mimeTypes?: string[];
|
|
30
|
+
/**
|
|
31
|
+
* Cap on persisted text per attachment in characters. Values above the
|
|
32
|
+
* hard limit (ATTACHMENT_EXTRACTED_TEXT_MAX_CHARS) are clamped by the
|
|
33
|
+
* write path.
|
|
34
|
+
*/
|
|
35
|
+
maxCharsPerAttachment?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Field of the `dbsetup` document holding the {@link ExtractionConfig}.
|
|
39
|
+
*/
|
|
40
|
+
export declare const EXTRACTION_SETUP_FIELD = "extractionSetup";
|
|
41
|
+
/**
|
|
42
|
+
* Validate and strip an untrusted `extractionSetup` value from the setup
|
|
43
|
+
* document down to the known, well-typed fields. Returns `undefined` when
|
|
44
|
+
* the value is not an object — callers fall back to "not configured".
|
|
45
|
+
*/
|
|
46
|
+
export declare function sanitizeExtractionConfig(value: unknown): ExtractionConfig | undefined;
|
|
47
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/extraction/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,oBAAoB,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAiCrF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EXTRACTION_SETUP_FIELD = void 0;
|
|
4
|
+
exports.sanitizeExtractionConfig = sanitizeExtractionConfig;
|
|
5
|
+
/**
|
|
6
|
+
* Field of the `dbsetup` document holding the {@link ExtractionConfig}.
|
|
7
|
+
*/
|
|
8
|
+
exports.EXTRACTION_SETUP_FIELD = "extractionSetup";
|
|
9
|
+
/**
|
|
10
|
+
* Validate and strip an untrusted `extractionSetup` value from the setup
|
|
11
|
+
* document down to the known, well-typed fields. Returns `undefined` when
|
|
12
|
+
* the value is not an object — callers fall back to "not configured".
|
|
13
|
+
*/
|
|
14
|
+
function sanitizeExtractionConfig(value) {
|
|
15
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
const raw = value;
|
|
19
|
+
const config = {};
|
|
20
|
+
if (typeof raw.enabled === "boolean") {
|
|
21
|
+
config.enabled = raw.enabled;
|
|
22
|
+
}
|
|
23
|
+
if (Array.isArray(raw.languages)) {
|
|
24
|
+
const languages = raw.languages.filter((item) => typeof item === "string" && item.length > 0 && item.length <= 35);
|
|
25
|
+
if (languages.length > 0) {
|
|
26
|
+
config.languages = languages;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (Array.isArray(raw.mimeTypes)) {
|
|
30
|
+
const mimeTypes = raw.mimeTypes.filter((item) => typeof item === "string" && item.length > 0 && item.length <= 255);
|
|
31
|
+
if (mimeTypes.length > 0) {
|
|
32
|
+
config.mimeTypes = mimeTypes;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (typeof raw.maxCharsPerAttachment === "number" &&
|
|
36
|
+
Number.isFinite(raw.maxCharsPerAttachment) &&
|
|
37
|
+
raw.maxCharsPerAttachment > 0) {
|
|
38
|
+
config.maxCharsPerAttachment = Math.floor(raw.maxCharsPerAttachment);
|
|
39
|
+
}
|
|
40
|
+
return config;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/extraction/types.ts"],"names":[],"mappings":";;;AAkDA,4DAiCC;AA3CD;;GAEG;AACU,QAAA,sBAAsB,GAAG,iBAAiB,CAAC;AAExD;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,KAAc;IACrD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CACpC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAC3F,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CACpC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,CAC5F,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,IACE,OAAO,GAAG,CAAC,qBAAqB,KAAK,QAAQ;QAC7C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC1C,GAAG,CAAC,qBAAqB,GAAG,CAAC,EAC7B,CAAC;QACD,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export * from "./types";
|
|
2
2
|
export * from "./databaseIdValidation";
|
|
3
3
|
export * from "./tenantIdValidation";
|
|
4
|
+
export { ACCESS_CONTROL_FORM, ACL_DEFAULT_POLICY_DOC_ID, DEFAULT_POLICY_DEFAULTS, RULE_TYPES, RULE_TYPE_TO_DENY_FIELD, effectivePolicy, aclDbPolicyDocId, aclRuleDocId, aclTrustedWitnessDocId, encodeAclIdComponent, decodeAclIdComponent, aclKeyDistributionDocId, isKeyDistributionDocId, validateKeyDistribution, KEY_DISTRIBUTION_TYPE, ACL_KEY_DISTRIBUTION_PREFIX, PROTECTED_DISTRIBUTION_KEY_IDS, aclAppDistributionDocId, isAppDistributionDocId, validateAppDistribution, APP_DISTRIBUTION_TYPE, ACL_APP_DISTRIBUTION_PREFIX, aclSyncSetupPolicyDocId, isSyncSetupPolicyDocId, validateSyncSetupPolicy, SYNC_SETUP_POLICY_TYPE, SYNC_SETUP_POLICY_MODES, ACL_SYNC_SETUP_POLICY_PREFIX, aclDocHistoryPurgeDocId, isDocHistoryPurgeDocId, validateDocHistoryPurge, DOC_HISTORY_PURGE_TYPE, ACL_DOC_HISTORY_PURGE_PREFIX, type RuleType, type Operator, type WithFieldWhen, type WithFieldClause, type DefaultAccessPolicyDoc, type AclRuleDoc, type RuleTargets, type TrustedWitnessDoc, type AccessTier, type AccessDecision, type KeyVersionRef, type DeviceWrappedVersions, type KeyDistributionDoc, type KeyDistributionRequest, type KeyDistributionPushRecipient, type KeyDistributionView, type AppDistributionDoc, type AppDistributionRequest, type AppDistributionView, type AppDistributionInstall, type AppDistributionReconcilePlan, type SyncSetupPolicyDoc, type SyncSetupPolicyRequest, type SyncSetupPolicyView, type SyncSetupPolicyMode, type SyncSetupPolicyDatabase, type SyncSetupPolicyReconcilePlan, type DocHistoryPurgeDoc, type DocHistoryPurgeRequest, type DocHistoryPurgeView, } from "./accesscontrol/types";
|
|
5
|
+
export { createGenesisNode, nodeCovering, type DirectoryStateNode, type UserGrantSnapshot, type GroupSnapshot, } from "./accesscontrol/DirectoryStateNode";
|
|
6
|
+
export { AccessDeniedError } from "./accesscontrol/AccessDeniedError";
|
|
4
7
|
export type { PublicUserId, PrivateUserId } from "./userid";
|
|
5
8
|
export { BaseMindooDB } from "./BaseMindooDB";
|
|
6
9
|
export { BaseMindooTenant } from "./BaseMindooTenant";
|
|
@@ -9,9 +12,10 @@ export { MindooDBServerAdmin, type MindooDBServerAdminOptions, type ServerConfig
|
|
|
9
12
|
export type { CryptoAdapter } from "./crypto/CryptoAdapter";
|
|
10
13
|
export { RSAEncryption } from "./crypto/RSAEncryption";
|
|
11
14
|
export { MindooDocSigner } from "./crypto/MindooDocSigner";
|
|
15
|
+
export { decryptEncryptedField, getEncryptedFieldKeyId, type EncryptedFieldDecryptor, } from "./crypto/encryptedFields";
|
|
12
16
|
export { KeyBag, type KeyDetail } from "./keys/KeyBag";
|
|
13
|
-
export { encodeMindooURI, decodeMindooURI, isMindooURI, type MindooURIType, type DecodedMindooURI, } from "./uri/MindooURI";
|
|
14
|
-
export { SymmetricKeyNotFoundError } from "./errors";
|
|
17
|
+
export { encodeMindooURI, decodeMindooURI, isMindooURI, encodeKeyDistributionRequest, decodeKeyDistributionRequest, encodeAppDistributionRequest, decodeAppDistributionRequest, encodeSyncSetupPolicyRequest, decodeSyncSetupPolicyRequest, encodeDocHistoryPurgeRequest, decodeDocHistoryPurgeRequest, type MindooURIType, type DecodedMindooURI, } from "./uri/MindooURI";
|
|
18
|
+
export { SymmetricKeyNotFoundError, DocumentNotFoundError, DocumentDeletedError, isDocumentMissingError, } from "./errors";
|
|
15
19
|
export type { LocalCacheStore } from "./cache/LocalCacheStore";
|
|
16
20
|
export { InMemoryLocalCacheStore } from "./cache/LocalCacheStore";
|
|
17
21
|
export { EncryptedLocalCacheStore } from "./cache/EncryptedLocalCacheStore";
|
|
@@ -24,5 +28,11 @@ export type { NetworkTransport, NetworkTransportConfig } from "./appendonlystore
|
|
|
24
28
|
export { type NetworkEncryptedEntry, type UserPublicKeys, type NetworkAuthTokenPayload, type AuthChallenge, type AuthResult, type NetworkSyncCapabilities, NetworkErrorType, NetworkError, } from "./appendonlystores/network/types";
|
|
25
29
|
export { ClientNetworkContentAddressedStore } from "../appendonlystores/network/ClientNetworkContentAddressedStore";
|
|
26
30
|
export { HttpTransport } from "../appendonlystores/network/HttpTransport";
|
|
27
|
-
export { VirtualView, VirtualViewFactory, VirtualViewBuilder, VirtualViewNavigatorBuilder, VirtualViewColumn, VirtualViewNavigator, VirtualViewEntryData, VirtualViewDataChange, MindooDBVirtualViewDataProvider, ColumnSorting, TotalMode, CategorizationStyle, WithCategories, WithDocuments, SelectedOnly, type VirtualViewColumnOptions, type IVirtualViewDataProvider, type MindooDBVirtualViewDataProviderOptions, type ScopedDocId, type ColumnValueFunction, type DocumentFilterFunction, } from "./indexing/virtualviews";
|
|
31
|
+
export { VirtualView, VirtualViewFactory, VirtualViewBuilder, VirtualViewNavigatorBuilder, VirtualViewColumn, VirtualViewNavigator, VirtualViewEntryData, VirtualViewDataChange, MindooDBVirtualViewDataProvider, ColumnSorting, TotalMode, CategorizationStyle, WithCategories, WithDocuments, SelectedOnly, type VirtualViewColumnOptions, type IVirtualViewDataProvider, type MindooDBVirtualViewDataProviderOptions, type ScopedDocId, type ColumnValueFunction, type DocumentFilterFunction, type VirtualViewUpdateStats, type ViewDataSourceInfo, type WithDBOptions, } from "./indexing/virtualviews";
|
|
32
|
+
export { createViewDataProvider, collectSummaryFallbackReasons, filterExpressionToDocumentFilter, type CreateViewDataProviderOptions, type CreateViewDataProviderResult, type ViewDataProviderSource, } from "./indexing/createViewDataProvider";
|
|
33
|
+
export * from "./expressions";
|
|
34
|
+
export { executeQuery, executeQueryLive, MindooQueryError, EphemeralSummaryView, createEphemeralSummaryView, queryViewAcross, type EphemeralViewSource, type MindooQuerySubscription, type MindooQueryViewDefinition, type MindooQuery, type MindooQuerySortKey, type MindooQueryTextClause, type MindooQueryErrorCode, type MindooQueryOptions, type MindooQueryRow, type MindooQueryCoverage, type MindooQueryResult, } from "./query";
|
|
35
|
+
export { DocumentSummaryStore, SummaryVirtualViewDataProvider, type SummaryVirtualViewDataProviderOptions, resolveSummaryConfig, computeSummaryConfigFingerprint, sanitizeSummaryConfig, extractSummaryFields, getSummaryFieldValue, isFieldPathCovered, DEFAULT_SUMMARY_MAX_VALUE_BYTES, DB_SETUP_DOC_ID, SUMMARY_SETUP_FIELD, ATTACHMENTS_FIELD, type SummaryAttachmentInfo, type SummaryConfig, type ResolvedSummaryConfig, type DocumentSummaryEntry, type SummaryCoverage, } from "./indexing/summary";
|
|
36
|
+
export { DocumentFullTextIndex, MiniSearchAdapter, createTokenizer, resolveFulltextConfig, sanitizeFulltextConfig, computeFulltextConfigFingerprint, collectPlainText, extractFulltextFields, FULLTEXT_SETUP_FIELD, FULLTEXT_ATTACHMENT_FIELD, FULLTEXT_INDEX_FORMAT_VERSION, DEFAULT_FULLTEXT_MAX_FIELD_BYTES, type SearchEngineAdapter, type FulltextConfig, type ResolvedFulltextConfig, type FulltextCoverage, type FulltextSearchHit, type FulltextSearchOptions, type FulltextSearchResult, type AttachmentTextExtractor, } from "./indexing/fulltext";
|
|
37
|
+
export { EXTRACTION_SETUP_FIELD, sanitizeExtractionConfig, type ExtractionConfig, } from "./extraction/types";
|
|
28
38
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.js
CHANGED
|
@@ -15,11 +15,56 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
18
|
+
exports.decodeKeyDistributionRequest = exports.encodeKeyDistributionRequest = exports.isMindooURI = exports.decodeMindooURI = exports.encodeMindooURI = exports.KeyBag = exports.getEncryptedFieldKeyId = exports.decryptEncryptedField = exports.MindooDocSigner = exports.RSAEncryption = exports.MindooDBServerAdmin = exports.BaseMindooTenantFactory = exports.BaseMindooTenant = exports.BaseMindooDB = exports.AccessDeniedError = exports.nodeCovering = exports.createGenesisNode = exports.ACL_DOC_HISTORY_PURGE_PREFIX = exports.DOC_HISTORY_PURGE_TYPE = exports.validateDocHistoryPurge = exports.isDocHistoryPurgeDocId = exports.aclDocHistoryPurgeDocId = exports.ACL_SYNC_SETUP_POLICY_PREFIX = exports.SYNC_SETUP_POLICY_MODES = exports.SYNC_SETUP_POLICY_TYPE = exports.validateSyncSetupPolicy = exports.isSyncSetupPolicyDocId = exports.aclSyncSetupPolicyDocId = exports.ACL_APP_DISTRIBUTION_PREFIX = exports.APP_DISTRIBUTION_TYPE = exports.validateAppDistribution = exports.isAppDistributionDocId = exports.aclAppDistributionDocId = exports.PROTECTED_DISTRIBUTION_KEY_IDS = exports.ACL_KEY_DISTRIBUTION_PREFIX = exports.KEY_DISTRIBUTION_TYPE = exports.validateKeyDistribution = exports.isKeyDistributionDocId = exports.aclKeyDistributionDocId = exports.decodeAclIdComponent = exports.encodeAclIdComponent = exports.aclTrustedWitnessDocId = exports.aclRuleDocId = exports.aclDbPolicyDocId = exports.effectivePolicy = exports.RULE_TYPE_TO_DENY_FIELD = exports.RULE_TYPES = exports.DEFAULT_POLICY_DEFAULTS = exports.ACL_DEFAULT_POLICY_DOC_ID = exports.ACCESS_CONTROL_FORM = void 0;
|
|
19
|
+
exports.executeQuery = exports.filterExpressionToDocumentFilter = exports.collectSummaryFallbackReasons = exports.createViewDataProvider = exports.SelectedOnly = exports.WithDocuments = exports.WithCategories = exports.CategorizationStyle = exports.TotalMode = exports.ColumnSorting = exports.MindooDBVirtualViewDataProvider = exports.VirtualViewDataChange = exports.VirtualViewEntryData = exports.VirtualViewNavigator = exports.VirtualViewColumn = exports.VirtualViewNavigatorBuilder = exports.VirtualViewBuilder = exports.VirtualViewFactory = exports.VirtualView = exports.HttpTransport = exports.ClientNetworkContentAddressedStore = exports.NetworkError = exports.NetworkErrorType = exports.AuthenticationService = exports.InMemoryContentAddressedStoreFactory = exports.InMemoryContentAddressedStore = exports.computeContentHash = exports.extractDocIdFromEntryId = exports.isAttachmentChunkId = exports.isDocEntryId = exports.parseAttachmentChunkId = exports.parseDocEntryId = exports.generateChunkUuid7 = exports.generateFileUuid7 = exports.generateAttachmentChunkId = exports.generateDepsFingerprint = exports.generateDocEntryId = exports.CacheManager = exports.EncryptedLocalCacheStore = exports.InMemoryLocalCacheStore = exports.isDocumentMissingError = exports.DocumentDeletedError = exports.DocumentNotFoundError = exports.SymmetricKeyNotFoundError = exports.decodeDocHistoryPurgeRequest = exports.encodeDocHistoryPurgeRequest = exports.decodeSyncSetupPolicyRequest = exports.encodeSyncSetupPolicyRequest = exports.decodeAppDistributionRequest = exports.encodeAppDistributionRequest = void 0;
|
|
20
|
+
exports.sanitizeExtractionConfig = exports.EXTRACTION_SETUP_FIELD = exports.DEFAULT_FULLTEXT_MAX_FIELD_BYTES = exports.FULLTEXT_INDEX_FORMAT_VERSION = exports.FULLTEXT_ATTACHMENT_FIELD = exports.FULLTEXT_SETUP_FIELD = exports.extractFulltextFields = exports.collectPlainText = exports.computeFulltextConfigFingerprint = exports.sanitizeFulltextConfig = exports.resolveFulltextConfig = exports.createTokenizer = exports.MiniSearchAdapter = exports.DocumentFullTextIndex = exports.ATTACHMENTS_FIELD = exports.SUMMARY_SETUP_FIELD = exports.DB_SETUP_DOC_ID = exports.DEFAULT_SUMMARY_MAX_VALUE_BYTES = exports.isFieldPathCovered = exports.getSummaryFieldValue = exports.extractSummaryFields = exports.sanitizeSummaryConfig = exports.computeSummaryConfigFingerprint = exports.resolveSummaryConfig = exports.SummaryVirtualViewDataProvider = exports.DocumentSummaryStore = exports.queryViewAcross = exports.createEphemeralSummaryView = exports.EphemeralSummaryView = exports.MindooQueryError = exports.executeQueryLive = void 0;
|
|
19
21
|
// Types
|
|
20
22
|
__exportStar(require("./types"), exports);
|
|
21
23
|
__exportStar(require("./databaseIdValidation"), exports);
|
|
22
24
|
__exportStar(require("./tenantIdValidation"), exports);
|
|
25
|
+
// Access-control directory schema + time-travel state (docs/accesscontrol.md
|
|
26
|
+
// §6/§8). Surfaced so consumers (e.g. the Haven directory-history UI) can read
|
|
27
|
+
// the time-travel DirectoryStateNode returned by
|
|
28
|
+
// MindooTenantDirectory.getDirectoryStateAt / getDirectoryStateHead.
|
|
29
|
+
var types_1 = require("./accesscontrol/types");
|
|
30
|
+
Object.defineProperty(exports, "ACCESS_CONTROL_FORM", { enumerable: true, get: function () { return types_1.ACCESS_CONTROL_FORM; } });
|
|
31
|
+
Object.defineProperty(exports, "ACL_DEFAULT_POLICY_DOC_ID", { enumerable: true, get: function () { return types_1.ACL_DEFAULT_POLICY_DOC_ID; } });
|
|
32
|
+
Object.defineProperty(exports, "DEFAULT_POLICY_DEFAULTS", { enumerable: true, get: function () { return types_1.DEFAULT_POLICY_DEFAULTS; } });
|
|
33
|
+
Object.defineProperty(exports, "RULE_TYPES", { enumerable: true, get: function () { return types_1.RULE_TYPES; } });
|
|
34
|
+
Object.defineProperty(exports, "RULE_TYPE_TO_DENY_FIELD", { enumerable: true, get: function () { return types_1.RULE_TYPE_TO_DENY_FIELD; } });
|
|
35
|
+
Object.defineProperty(exports, "effectivePolicy", { enumerable: true, get: function () { return types_1.effectivePolicy; } });
|
|
36
|
+
Object.defineProperty(exports, "aclDbPolicyDocId", { enumerable: true, get: function () { return types_1.aclDbPolicyDocId; } });
|
|
37
|
+
Object.defineProperty(exports, "aclRuleDocId", { enumerable: true, get: function () { return types_1.aclRuleDocId; } });
|
|
38
|
+
Object.defineProperty(exports, "aclTrustedWitnessDocId", { enumerable: true, get: function () { return types_1.aclTrustedWitnessDocId; } });
|
|
39
|
+
Object.defineProperty(exports, "encodeAclIdComponent", { enumerable: true, get: function () { return types_1.encodeAclIdComponent; } });
|
|
40
|
+
Object.defineProperty(exports, "decodeAclIdComponent", { enumerable: true, get: function () { return types_1.decodeAclIdComponent; } });
|
|
41
|
+
Object.defineProperty(exports, "aclKeyDistributionDocId", { enumerable: true, get: function () { return types_1.aclKeyDistributionDocId; } });
|
|
42
|
+
Object.defineProperty(exports, "isKeyDistributionDocId", { enumerable: true, get: function () { return types_1.isKeyDistributionDocId; } });
|
|
43
|
+
Object.defineProperty(exports, "validateKeyDistribution", { enumerable: true, get: function () { return types_1.validateKeyDistribution; } });
|
|
44
|
+
Object.defineProperty(exports, "KEY_DISTRIBUTION_TYPE", { enumerable: true, get: function () { return types_1.KEY_DISTRIBUTION_TYPE; } });
|
|
45
|
+
Object.defineProperty(exports, "ACL_KEY_DISTRIBUTION_PREFIX", { enumerable: true, get: function () { return types_1.ACL_KEY_DISTRIBUTION_PREFIX; } });
|
|
46
|
+
Object.defineProperty(exports, "PROTECTED_DISTRIBUTION_KEY_IDS", { enumerable: true, get: function () { return types_1.PROTECTED_DISTRIBUTION_KEY_IDS; } });
|
|
47
|
+
Object.defineProperty(exports, "aclAppDistributionDocId", { enumerable: true, get: function () { return types_1.aclAppDistributionDocId; } });
|
|
48
|
+
Object.defineProperty(exports, "isAppDistributionDocId", { enumerable: true, get: function () { return types_1.isAppDistributionDocId; } });
|
|
49
|
+
Object.defineProperty(exports, "validateAppDistribution", { enumerable: true, get: function () { return types_1.validateAppDistribution; } });
|
|
50
|
+
Object.defineProperty(exports, "APP_DISTRIBUTION_TYPE", { enumerable: true, get: function () { return types_1.APP_DISTRIBUTION_TYPE; } });
|
|
51
|
+
Object.defineProperty(exports, "ACL_APP_DISTRIBUTION_PREFIX", { enumerable: true, get: function () { return types_1.ACL_APP_DISTRIBUTION_PREFIX; } });
|
|
52
|
+
Object.defineProperty(exports, "aclSyncSetupPolicyDocId", { enumerable: true, get: function () { return types_1.aclSyncSetupPolicyDocId; } });
|
|
53
|
+
Object.defineProperty(exports, "isSyncSetupPolicyDocId", { enumerable: true, get: function () { return types_1.isSyncSetupPolicyDocId; } });
|
|
54
|
+
Object.defineProperty(exports, "validateSyncSetupPolicy", { enumerable: true, get: function () { return types_1.validateSyncSetupPolicy; } });
|
|
55
|
+
Object.defineProperty(exports, "SYNC_SETUP_POLICY_TYPE", { enumerable: true, get: function () { return types_1.SYNC_SETUP_POLICY_TYPE; } });
|
|
56
|
+
Object.defineProperty(exports, "SYNC_SETUP_POLICY_MODES", { enumerable: true, get: function () { return types_1.SYNC_SETUP_POLICY_MODES; } });
|
|
57
|
+
Object.defineProperty(exports, "ACL_SYNC_SETUP_POLICY_PREFIX", { enumerable: true, get: function () { return types_1.ACL_SYNC_SETUP_POLICY_PREFIX; } });
|
|
58
|
+
Object.defineProperty(exports, "aclDocHistoryPurgeDocId", { enumerable: true, get: function () { return types_1.aclDocHistoryPurgeDocId; } });
|
|
59
|
+
Object.defineProperty(exports, "isDocHistoryPurgeDocId", { enumerable: true, get: function () { return types_1.isDocHistoryPurgeDocId; } });
|
|
60
|
+
Object.defineProperty(exports, "validateDocHistoryPurge", { enumerable: true, get: function () { return types_1.validateDocHistoryPurge; } });
|
|
61
|
+
Object.defineProperty(exports, "DOC_HISTORY_PURGE_TYPE", { enumerable: true, get: function () { return types_1.DOC_HISTORY_PURGE_TYPE; } });
|
|
62
|
+
Object.defineProperty(exports, "ACL_DOC_HISTORY_PURGE_PREFIX", { enumerable: true, get: function () { return types_1.ACL_DOC_HISTORY_PURGE_PREFIX; } });
|
|
63
|
+
var DirectoryStateNode_1 = require("./accesscontrol/DirectoryStateNode");
|
|
64
|
+
Object.defineProperty(exports, "createGenesisNode", { enumerable: true, get: function () { return DirectoryStateNode_1.createGenesisNode; } });
|
|
65
|
+
Object.defineProperty(exports, "nodeCovering", { enumerable: true, get: function () { return DirectoryStateNode_1.nodeCovering; } });
|
|
66
|
+
var AccessDeniedError_1 = require("./accesscontrol/AccessDeniedError");
|
|
67
|
+
Object.defineProperty(exports, "AccessDeniedError", { enumerable: true, get: function () { return AccessDeniedError_1.AccessDeniedError; } });
|
|
23
68
|
// Base classes
|
|
24
69
|
var BaseMindooDB_1 = require("./BaseMindooDB");
|
|
25
70
|
Object.defineProperty(exports, "BaseMindooDB", { enumerable: true, get: function () { return BaseMindooDB_1.BaseMindooDB; } });
|
|
@@ -33,6 +78,9 @@ var RSAEncryption_1 = require("./crypto/RSAEncryption");
|
|
|
33
78
|
Object.defineProperty(exports, "RSAEncryption", { enumerable: true, get: function () { return RSAEncryption_1.RSAEncryption; } });
|
|
34
79
|
var MindooDocSigner_1 = require("./crypto/MindooDocSigner");
|
|
35
80
|
Object.defineProperty(exports, "MindooDocSigner", { enumerable: true, get: function () { return MindooDocSigner_1.MindooDocSigner; } });
|
|
81
|
+
var encryptedFields_1 = require("./crypto/encryptedFields");
|
|
82
|
+
Object.defineProperty(exports, "decryptEncryptedField", { enumerable: true, get: function () { return encryptedFields_1.decryptEncryptedField; } });
|
|
83
|
+
Object.defineProperty(exports, "getEncryptedFieldKeyId", { enumerable: true, get: function () { return encryptedFields_1.getEncryptedFieldKeyId; } });
|
|
36
84
|
// Keys
|
|
37
85
|
var KeyBag_1 = require("./keys/KeyBag");
|
|
38
86
|
Object.defineProperty(exports, "KeyBag", { enumerable: true, get: function () { return KeyBag_1.KeyBag; } });
|
|
@@ -41,9 +89,20 @@ var MindooURI_1 = require("./uri/MindooURI");
|
|
|
41
89
|
Object.defineProperty(exports, "encodeMindooURI", { enumerable: true, get: function () { return MindooURI_1.encodeMindooURI; } });
|
|
42
90
|
Object.defineProperty(exports, "decodeMindooURI", { enumerable: true, get: function () { return MindooURI_1.decodeMindooURI; } });
|
|
43
91
|
Object.defineProperty(exports, "isMindooURI", { enumerable: true, get: function () { return MindooURI_1.isMindooURI; } });
|
|
92
|
+
Object.defineProperty(exports, "encodeKeyDistributionRequest", { enumerable: true, get: function () { return MindooURI_1.encodeKeyDistributionRequest; } });
|
|
93
|
+
Object.defineProperty(exports, "decodeKeyDistributionRequest", { enumerable: true, get: function () { return MindooURI_1.decodeKeyDistributionRequest; } });
|
|
94
|
+
Object.defineProperty(exports, "encodeAppDistributionRequest", { enumerable: true, get: function () { return MindooURI_1.encodeAppDistributionRequest; } });
|
|
95
|
+
Object.defineProperty(exports, "decodeAppDistributionRequest", { enumerable: true, get: function () { return MindooURI_1.decodeAppDistributionRequest; } });
|
|
96
|
+
Object.defineProperty(exports, "encodeSyncSetupPolicyRequest", { enumerable: true, get: function () { return MindooURI_1.encodeSyncSetupPolicyRequest; } });
|
|
97
|
+
Object.defineProperty(exports, "decodeSyncSetupPolicyRequest", { enumerable: true, get: function () { return MindooURI_1.decodeSyncSetupPolicyRequest; } });
|
|
98
|
+
Object.defineProperty(exports, "encodeDocHistoryPurgeRequest", { enumerable: true, get: function () { return MindooURI_1.encodeDocHistoryPurgeRequest; } });
|
|
99
|
+
Object.defineProperty(exports, "decodeDocHistoryPurgeRequest", { enumerable: true, get: function () { return MindooURI_1.decodeDocHistoryPurgeRequest; } });
|
|
44
100
|
// Errors
|
|
45
101
|
var errors_1 = require("./errors");
|
|
46
102
|
Object.defineProperty(exports, "SymmetricKeyNotFoundError", { enumerable: true, get: function () { return errors_1.SymmetricKeyNotFoundError; } });
|
|
103
|
+
Object.defineProperty(exports, "DocumentNotFoundError", { enumerable: true, get: function () { return errors_1.DocumentNotFoundError; } });
|
|
104
|
+
Object.defineProperty(exports, "DocumentDeletedError", { enumerable: true, get: function () { return errors_1.DocumentDeletedError; } });
|
|
105
|
+
Object.defineProperty(exports, "isDocumentMissingError", { enumerable: true, get: function () { return errors_1.isDocumentMissingError; } });
|
|
47
106
|
var LocalCacheStore_1 = require("./cache/LocalCacheStore");
|
|
48
107
|
Object.defineProperty(exports, "InMemoryLocalCacheStore", { enumerable: true, get: function () { return LocalCacheStore_1.InMemoryLocalCacheStore; } });
|
|
49
108
|
var EncryptedLocalCacheStore_1 = require("./cache/EncryptedLocalCacheStore");
|
|
@@ -69,9 +128,9 @@ Object.defineProperty(exports, "InMemoryContentAddressedStoreFactory", { enumera
|
|
|
69
128
|
// Network
|
|
70
129
|
var AuthenticationService_1 = require("./appendonlystores/network/AuthenticationService");
|
|
71
130
|
Object.defineProperty(exports, "AuthenticationService", { enumerable: true, get: function () { return AuthenticationService_1.AuthenticationService; } });
|
|
72
|
-
var
|
|
73
|
-
Object.defineProperty(exports, "NetworkErrorType", { enumerable: true, get: function () { return
|
|
74
|
-
Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return
|
|
131
|
+
var types_2 = require("./appendonlystores/network/types");
|
|
132
|
+
Object.defineProperty(exports, "NetworkErrorType", { enumerable: true, get: function () { return types_2.NetworkErrorType; } });
|
|
133
|
+
Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return types_2.NetworkError; } });
|
|
75
134
|
var ClientNetworkContentAddressedStore_1 = require("../appendonlystores/network/ClientNetworkContentAddressedStore");
|
|
76
135
|
Object.defineProperty(exports, "ClientNetworkContentAddressedStore", { enumerable: true, get: function () { return ClientNetworkContentAddressedStore_1.ClientNetworkContentAddressedStore; } });
|
|
77
136
|
var HttpTransport_1 = require("../appendonlystores/network/HttpTransport");
|
|
@@ -93,4 +152,54 @@ Object.defineProperty(exports, "CategorizationStyle", { enumerable: true, get: f
|
|
|
93
152
|
Object.defineProperty(exports, "WithCategories", { enumerable: true, get: function () { return virtualviews_1.WithCategories; } });
|
|
94
153
|
Object.defineProperty(exports, "WithDocuments", { enumerable: true, get: function () { return virtualviews_1.WithDocuments; } });
|
|
95
154
|
Object.defineProperty(exports, "SelectedOnly", { enumerable: true, get: function () { return virtualviews_1.SelectedOnly; } });
|
|
155
|
+
// Summary-first data provider factory (summary buffer when possible,
|
|
156
|
+
// materialized documents on request/fallback)
|
|
157
|
+
var createViewDataProvider_1 = require("./indexing/createViewDataProvider");
|
|
158
|
+
Object.defineProperty(exports, "createViewDataProvider", { enumerable: true, get: function () { return createViewDataProvider_1.createViewDataProvider; } });
|
|
159
|
+
Object.defineProperty(exports, "collectSummaryFallbackReasons", { enumerable: true, get: function () { return createViewDataProvider_1.collectSummaryFallbackReasons; } });
|
|
160
|
+
Object.defineProperty(exports, "filterExpressionToDocumentFilter", { enumerable: true, get: function () { return createViewDataProvider_1.filterExpressionToDocumentFilter; } });
|
|
161
|
+
// Expression language (formerly mindoodb-view-language; that package
|
|
162
|
+
// re-exports these symbols as a compatibility wrapper)
|
|
163
|
+
__exportStar(require("./expressions"), exports);
|
|
164
|
+
// Ad-hoc query engine over the document summary buffer
|
|
165
|
+
var query_1 = require("./query");
|
|
166
|
+
Object.defineProperty(exports, "executeQuery", { enumerable: true, get: function () { return query_1.executeQuery; } });
|
|
167
|
+
Object.defineProperty(exports, "executeQueryLive", { enumerable: true, get: function () { return query_1.executeQueryLive; } });
|
|
168
|
+
Object.defineProperty(exports, "MindooQueryError", { enumerable: true, get: function () { return query_1.MindooQueryError; } });
|
|
169
|
+
Object.defineProperty(exports, "EphemeralSummaryView", { enumerable: true, get: function () { return query_1.EphemeralSummaryView; } });
|
|
170
|
+
Object.defineProperty(exports, "createEphemeralSummaryView", { enumerable: true, get: function () { return query_1.createEphemeralSummaryView; } });
|
|
171
|
+
Object.defineProperty(exports, "queryViewAcross", { enumerable: true, get: function () { return query_1.queryViewAcross; } });
|
|
172
|
+
// Indexing - Document summary buffer (ad-hoc query substrate)
|
|
173
|
+
var summary_1 = require("./indexing/summary");
|
|
174
|
+
Object.defineProperty(exports, "DocumentSummaryStore", { enumerable: true, get: function () { return summary_1.DocumentSummaryStore; } });
|
|
175
|
+
Object.defineProperty(exports, "SummaryVirtualViewDataProvider", { enumerable: true, get: function () { return summary_1.SummaryVirtualViewDataProvider; } });
|
|
176
|
+
Object.defineProperty(exports, "resolveSummaryConfig", { enumerable: true, get: function () { return summary_1.resolveSummaryConfig; } });
|
|
177
|
+
Object.defineProperty(exports, "computeSummaryConfigFingerprint", { enumerable: true, get: function () { return summary_1.computeSummaryConfigFingerprint; } });
|
|
178
|
+
Object.defineProperty(exports, "sanitizeSummaryConfig", { enumerable: true, get: function () { return summary_1.sanitizeSummaryConfig; } });
|
|
179
|
+
Object.defineProperty(exports, "extractSummaryFields", { enumerable: true, get: function () { return summary_1.extractSummaryFields; } });
|
|
180
|
+
Object.defineProperty(exports, "getSummaryFieldValue", { enumerable: true, get: function () { return summary_1.getSummaryFieldValue; } });
|
|
181
|
+
Object.defineProperty(exports, "isFieldPathCovered", { enumerable: true, get: function () { return summary_1.isFieldPathCovered; } });
|
|
182
|
+
Object.defineProperty(exports, "DEFAULT_SUMMARY_MAX_VALUE_BYTES", { enumerable: true, get: function () { return summary_1.DEFAULT_SUMMARY_MAX_VALUE_BYTES; } });
|
|
183
|
+
Object.defineProperty(exports, "DB_SETUP_DOC_ID", { enumerable: true, get: function () { return summary_1.DB_SETUP_DOC_ID; } });
|
|
184
|
+
Object.defineProperty(exports, "SUMMARY_SETUP_FIELD", { enumerable: true, get: function () { return summary_1.SUMMARY_SETUP_FIELD; } });
|
|
185
|
+
Object.defineProperty(exports, "ATTACHMENTS_FIELD", { enumerable: true, get: function () { return summary_1.ATTACHMENTS_FIELD; } });
|
|
186
|
+
// Indexing - Document full-text index (opt-in, see docs/fulltext-search.md)
|
|
187
|
+
var fulltext_1 = require("./indexing/fulltext");
|
|
188
|
+
Object.defineProperty(exports, "DocumentFullTextIndex", { enumerable: true, get: function () { return fulltext_1.DocumentFullTextIndex; } });
|
|
189
|
+
Object.defineProperty(exports, "MiniSearchAdapter", { enumerable: true, get: function () { return fulltext_1.MiniSearchAdapter; } });
|
|
190
|
+
Object.defineProperty(exports, "createTokenizer", { enumerable: true, get: function () { return fulltext_1.createTokenizer; } });
|
|
191
|
+
Object.defineProperty(exports, "resolveFulltextConfig", { enumerable: true, get: function () { return fulltext_1.resolveFulltextConfig; } });
|
|
192
|
+
Object.defineProperty(exports, "sanitizeFulltextConfig", { enumerable: true, get: function () { return fulltext_1.sanitizeFulltextConfig; } });
|
|
193
|
+
Object.defineProperty(exports, "computeFulltextConfigFingerprint", { enumerable: true, get: function () { return fulltext_1.computeFulltextConfigFingerprint; } });
|
|
194
|
+
Object.defineProperty(exports, "collectPlainText", { enumerable: true, get: function () { return fulltext_1.collectPlainText; } });
|
|
195
|
+
Object.defineProperty(exports, "extractFulltextFields", { enumerable: true, get: function () { return fulltext_1.extractFulltextFields; } });
|
|
196
|
+
Object.defineProperty(exports, "FULLTEXT_SETUP_FIELD", { enumerable: true, get: function () { return fulltext_1.FULLTEXT_SETUP_FIELD; } });
|
|
197
|
+
Object.defineProperty(exports, "FULLTEXT_ATTACHMENT_FIELD", { enumerable: true, get: function () { return fulltext_1.FULLTEXT_ATTACHMENT_FIELD; } });
|
|
198
|
+
Object.defineProperty(exports, "FULLTEXT_INDEX_FORMAT_VERSION", { enumerable: true, get: function () { return fulltext_1.FULLTEXT_INDEX_FORMAT_VERSION; } });
|
|
199
|
+
Object.defineProperty(exports, "DEFAULT_FULLTEXT_MAX_FIELD_BYTES", { enumerable: true, get: function () { return fulltext_1.DEFAULT_FULLTEXT_MAX_FIELD_BYTES; } });
|
|
200
|
+
// Attachment text extraction setup (host-side services like Haven's OCR;
|
|
201
|
+
// results are persisted at the attachment entry, see docs/fulltext-search.md)
|
|
202
|
+
var types_3 = require("./extraction/types");
|
|
203
|
+
Object.defineProperty(exports, "EXTRACTION_SETUP_FIELD", { enumerable: true, get: function () { return types_3.EXTRACTION_SETUP_FIELD; } });
|
|
204
|
+
Object.defineProperty(exports, "sanitizeExtractionConfig", { enumerable: true, get: function () { return types_3.sanitizeExtractionConfig; } });
|
|
96
205
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA,iCAAiC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { MindooDB } from "../types";
|
|
2
|
+
import type { MindooDBAppBooleanExpression } from "../expressions/types";
|
|
3
|
+
import type { IVirtualViewDataProvider } from "./virtualviews/IVirtualViewDataProvider";
|
|
4
|
+
import { VirtualViewColumn, type VirtualViewColumnOptions } from "./virtualviews/VirtualViewColumn";
|
|
5
|
+
import type { DocumentFilterFunction } from "./virtualviews/types";
|
|
6
|
+
/**
|
|
7
|
+
* Options for {@link createViewDataProvider} — the summary-first data
|
|
8
|
+
* provider factory.
|
|
9
|
+
*/
|
|
10
|
+
export interface CreateViewDataProviderOptions {
|
|
11
|
+
/** Unique origin identifier for this data provider. */
|
|
12
|
+
origin: string;
|
|
13
|
+
/** The database feeding this provider. */
|
|
14
|
+
db: MindooDB;
|
|
15
|
+
/**
|
|
16
|
+
* The view's columns. Needed to decide whether the view can be served
|
|
17
|
+
* from the summary buffer (declarative `expression`/field columns) or
|
|
18
|
+
* requires materialized documents (JS `valueFunction` columns).
|
|
19
|
+
*/
|
|
20
|
+
columns: Array<VirtualViewColumn | VirtualViewColumnOptions>;
|
|
21
|
+
/**
|
|
22
|
+
* Document filter: a declarative expression (summary-capable) or a JS
|
|
23
|
+
* function receiving the materialized document (forces the full-document
|
|
24
|
+
* path, since summary entries cannot be passed to it).
|
|
25
|
+
*/
|
|
26
|
+
filter?: MindooDBAppBooleanExpression | DocumentFilterFunction;
|
|
27
|
+
/**
|
|
28
|
+
* Force this provider to materialize full documents instead of reading
|
|
29
|
+
* the summary buffer — the escape hatch for views that need data the
|
|
30
|
+
* summary cannot deliver (decrypted fields, uncovered fields) or that
|
|
31
|
+
* deliberately want per-document JS evaluation. Expensive by design,
|
|
32
|
+
* mirroring `allowFullScan` on `db.query()`.
|
|
33
|
+
*/
|
|
34
|
+
useFullDocuments?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Copy every (non-underscore) document field into the view entry.
|
|
37
|
+
* Implies the full-document path (see
|
|
38
|
+
* {@link MindooDBVirtualViewDataProvider}).
|
|
39
|
+
*/
|
|
40
|
+
includeAllDocumentFields?: boolean;
|
|
41
|
+
}
|
|
42
|
+
/** Where a created view data provider reads its data from. */
|
|
43
|
+
export type ViewDataProviderSource = "summary" | "documents";
|
|
44
|
+
export interface CreateViewDataProviderResult {
|
|
45
|
+
provider: IVirtualViewDataProvider;
|
|
46
|
+
/** The path the factory chose. */
|
|
47
|
+
source: ViewDataProviderSource;
|
|
48
|
+
/**
|
|
49
|
+
* When `source` is `"documents"`, the reasons why the summary path was
|
|
50
|
+
* not usable (empty for an explicit `useFullDocuments` request). Useful
|
|
51
|
+
* for logging/diagnosing why a view runs on the slow path.
|
|
52
|
+
*/
|
|
53
|
+
fallbackReasons: string[];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create a VirtualView data provider for a database, preferring the
|
|
57
|
+
* document summary buffer for the best indexing performance. The summary
|
|
58
|
+
* path is chosen whenever the view definition can be answered from the
|
|
59
|
+
* summary; otherwise the factory transparently falls back to the
|
|
60
|
+
* materialized-document provider and reports why.
|
|
61
|
+
*
|
|
62
|
+
* The full-document path is used when any of these hold:
|
|
63
|
+
* - `useFullDocuments: true` (explicit request) or `includeAllDocumentFields`,
|
|
64
|
+
* - the filter is a JS function or a column uses a JS `valueFunction`,
|
|
65
|
+
* - an expression needs decryption or a view-tree context,
|
|
66
|
+
* - a referenced field is not covered by the database's summary
|
|
67
|
+
* configuration (see the `dbsetup` design document).
|
|
68
|
+
*
|
|
69
|
+
* Async because the summary configuration may live in the synced `dbsetup`
|
|
70
|
+
* document and has to be loaded before coverage can be decided.
|
|
71
|
+
*/
|
|
72
|
+
export declare function createViewDataProvider(options: CreateViewDataProviderOptions): Promise<CreateViewDataProviderResult>;
|
|
73
|
+
/**
|
|
74
|
+
* Why a view definition cannot be served from the summary buffer (empty
|
|
75
|
+
* array = summary-capable). Exposed for consumers (e.g. Haven) that want
|
|
76
|
+
* to surface the decision in a UI.
|
|
77
|
+
*/
|
|
78
|
+
export declare function collectSummaryFallbackReasons(options: Pick<CreateViewDataProviderOptions, "db" | "columns" | "filter" | "includeAllDocumentFields">): Promise<string[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Wrap a declarative filter expression into a DocumentFilterFunction for
|
|
81
|
+
* the full-document path, so the same view definition works on both paths.
|
|
82
|
+
*/
|
|
83
|
+
export declare function filterExpressionToDocumentFilter(filter: MindooDBAppBooleanExpression | undefined): DocumentFilterFunction | undefined;
|
|
84
|
+
//# sourceMappingURL=createViewDataProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createViewDataProvider.d.ts","sourceRoot":"","sources":["../../../src/core/indexing/createViewDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAGzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAExF,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGnE;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,EAAE,EAAE,QAAQ,CAAC;IAEb;;;;OAIG;IACH,OAAO,EAAE,KAAK,CAAC,iBAAiB,GAAG,wBAAwB,CAAC,CAAC;IAE7D;;;;OAIG;IACH,MAAM,CAAC,EAAE,4BAA4B,GAAG,sBAAsB,CAAC;IAE/D;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,8DAA8D;AAC9D,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7D,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,wBAAwB,CAAC;IACnC,kCAAkC;IAClC,MAAM,EAAE,sBAAsB,CAAC;IAC/B;;;;OAIG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,4BAA4B,CAAC,CAiCvC;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,IAAI,CAAC,6BAA6B,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,0BAA0B,CAAC,GACrG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyEnB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,4BAA4B,GAAG,SAAS,GAC/C,sBAAsB,GAAG,SAAS,CAepC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createViewDataProvider = createViewDataProvider;
|
|
4
|
+
exports.collectSummaryFallbackReasons = collectSummaryFallbackReasons;
|
|
5
|
+
exports.filterExpressionToDocumentFilter = filterExpressionToDocumentFilter;
|
|
6
|
+
const expressions_1 = require("../expressions");
|
|
7
|
+
const evaluateExpression_1 = require("../expressions/evaluateExpression");
|
|
8
|
+
const MindooDBVirtualViewDataProvider_1 = require("./virtualviews/MindooDBVirtualViewDataProvider");
|
|
9
|
+
const VirtualViewColumn_1 = require("./virtualviews/VirtualViewColumn");
|
|
10
|
+
const SummaryVirtualViewDataProvider_1 = require("./summary/SummaryVirtualViewDataProvider");
|
|
11
|
+
/**
|
|
12
|
+
* Create a VirtualView data provider for a database, preferring the
|
|
13
|
+
* document summary buffer for the best indexing performance. The summary
|
|
14
|
+
* path is chosen whenever the view definition can be answered from the
|
|
15
|
+
* summary; otherwise the factory transparently falls back to the
|
|
16
|
+
* materialized-document provider and reports why.
|
|
17
|
+
*
|
|
18
|
+
* The full-document path is used when any of these hold:
|
|
19
|
+
* - `useFullDocuments: true` (explicit request) or `includeAllDocumentFields`,
|
|
20
|
+
* - the filter is a JS function or a column uses a JS `valueFunction`,
|
|
21
|
+
* - an expression needs decryption or a view-tree context,
|
|
22
|
+
* - a referenced field is not covered by the database's summary
|
|
23
|
+
* configuration (see the `dbsetup` design document).
|
|
24
|
+
*
|
|
25
|
+
* Async because the summary configuration may live in the synced `dbsetup`
|
|
26
|
+
* document and has to be loaded before coverage can be decided.
|
|
27
|
+
*/
|
|
28
|
+
async function createViewDataProvider(options) {
|
|
29
|
+
const { origin, db, filter } = options;
|
|
30
|
+
const buildDocumentProvider = (fallbackReasons) => ({
|
|
31
|
+
provider: new MindooDBVirtualViewDataProvider_1.MindooDBVirtualViewDataProvider({
|
|
32
|
+
origin,
|
|
33
|
+
db,
|
|
34
|
+
filterFunction: typeof filter === "function" ? filter : filterExpressionToDocumentFilter(filter),
|
|
35
|
+
includeAllDocumentFields: options.includeAllDocumentFields,
|
|
36
|
+
}),
|
|
37
|
+
source: "documents",
|
|
38
|
+
fallbackReasons,
|
|
39
|
+
});
|
|
40
|
+
if (options.useFullDocuments) {
|
|
41
|
+
return buildDocumentProvider([]);
|
|
42
|
+
}
|
|
43
|
+
const reasons = await collectSummaryFallbackReasons(options);
|
|
44
|
+
if (reasons.length > 0) {
|
|
45
|
+
return buildDocumentProvider(reasons);
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
provider: new SummaryVirtualViewDataProvider_1.SummaryVirtualViewDataProvider({
|
|
49
|
+
origin,
|
|
50
|
+
summary: db.getSummaryStore(),
|
|
51
|
+
filter: filter,
|
|
52
|
+
}),
|
|
53
|
+
source: "summary",
|
|
54
|
+
fallbackReasons: [],
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Why a view definition cannot be served from the summary buffer (empty
|
|
59
|
+
* array = summary-capable). Exposed for consumers (e.g. Haven) that want
|
|
60
|
+
* to surface the decision in a UI.
|
|
61
|
+
*/
|
|
62
|
+
async function collectSummaryFallbackReasons(options) {
|
|
63
|
+
const reasons = [];
|
|
64
|
+
const { db, filter } = options;
|
|
65
|
+
if (options.includeAllDocumentFields) {
|
|
66
|
+
reasons.push("includeAllDocumentFields copies whole documents into view entries");
|
|
67
|
+
}
|
|
68
|
+
if (!db.getSummaryStore) {
|
|
69
|
+
reasons.push("the database does not support summary stores");
|
|
70
|
+
return reasons;
|
|
71
|
+
}
|
|
72
|
+
if (typeof filter === "function") {
|
|
73
|
+
reasons.push("the filter is a JS function that needs the materialized document");
|
|
74
|
+
}
|
|
75
|
+
const referencedPaths = new Set();
|
|
76
|
+
for (const column of options.columns) {
|
|
77
|
+
const resolved = column instanceof VirtualViewColumn_1.VirtualViewColumn ? column : new VirtualViewColumn_1.VirtualViewColumn(column);
|
|
78
|
+
if (resolved.valueFunction && !resolved.expression) {
|
|
79
|
+
reasons.push(`column '${resolved.name}' uses a JS valueFunction that needs the materialized document`);
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
if (resolved.expression) {
|
|
83
|
+
const requirements = (0, expressions_1.analyzeExpressionRequirements)(resolved.expression);
|
|
84
|
+
if (requirements.needsDecryption) {
|
|
85
|
+
reasons.push(`column '${resolved.name}' uses decrypt expressions; encrypted fields are not stored in the summary buffer`);
|
|
86
|
+
}
|
|
87
|
+
if (requirements.needsViewContext) {
|
|
88
|
+
reasons.push(`column '${resolved.name}' uses view-tree operations (${requirements.viewContextOperations.join(", ")})`);
|
|
89
|
+
}
|
|
90
|
+
for (const path of (0, expressions_1.getReferencedFields)(resolved.expression)) {
|
|
91
|
+
referencedPaths.add(path);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// Plain columns read the summary field of the same name.
|
|
96
|
+
referencedPaths.add(resolved.name);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (filter && typeof filter !== "function") {
|
|
100
|
+
const requirements = (0, expressions_1.analyzeExpressionRequirements)(filter);
|
|
101
|
+
if (requirements.needsDecryption) {
|
|
102
|
+
reasons.push("the filter uses decrypt expressions; encrypted fields are not stored in the summary buffer");
|
|
103
|
+
}
|
|
104
|
+
if (requirements.needsViewContext) {
|
|
105
|
+
reasons.push(`the filter uses view-tree operations (${requirements.viewContextOperations.join(", ")})`);
|
|
106
|
+
}
|
|
107
|
+
for (const path of (0, expressions_1.getReferencedFields)(filter)) {
|
|
108
|
+
referencedPaths.add(path);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// Coverage is decided against the settled configuration (which may come
|
|
112
|
+
// from the synced dbsetup document).
|
|
113
|
+
const summary = db.getSummaryStore();
|
|
114
|
+
await summary.ensureConfigLoaded();
|
|
115
|
+
for (const path of referencedPaths) {
|
|
116
|
+
if (!summary.isFieldCovered(path)) {
|
|
117
|
+
reasons.push(`field "${path}" is not covered by the summary configuration`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return reasons;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Wrap a declarative filter expression into a DocumentFilterFunction for
|
|
124
|
+
* the full-document path, so the same view definition works on both paths.
|
|
125
|
+
*/
|
|
126
|
+
function filterExpressionToDocumentFilter(filter) {
|
|
127
|
+
if (!filter) {
|
|
128
|
+
return undefined;
|
|
129
|
+
}
|
|
130
|
+
return (doc) => (0, evaluateExpression_1.expressionToBoolean)((0, evaluateExpression_1.evaluateExpression)(filter, {
|
|
131
|
+
doc: doc.getData(),
|
|
132
|
+
values: {},
|
|
133
|
+
origin: "",
|
|
134
|
+
createdAt: new Date(doc.getCreatedAt()).toISOString(),
|
|
135
|
+
decryptionKeyId: doc.getDecryptionKeyId(),
|
|
136
|
+
variables: {},
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=createViewDataProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createViewDataProvider.js","sourceRoot":"","sources":["../../../src/core/indexing/createViewDataProvider.ts"],"names":[],"mappings":"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"}
|