mindoodb 0.0.85 → 0.0.88
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 +6 -2
- package/README.md +6 -4
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +2 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +151 -12
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +340 -24
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
- package/dist/browser/index.mjs +14 -0
- package/dist/cloudflare/DurableObjectSql.d.ts +56 -0
- package/dist/cloudflare/DurableObjectSql.d.ts.map +1 -0
- package/dist/cloudflare/DurableObjectSql.js +180 -0
- package/dist/cloudflare/DurableObjectSql.js.map +1 -0
- package/dist/cloudflare/MindooDatabaseObject.d.ts +86 -0
- package/dist/cloudflare/MindooDatabaseObject.d.ts.map +1 -0
- package/dist/cloudflare/MindooDatabaseObject.js +614 -0
- package/dist/cloudflare/MindooDatabaseObject.js.map +1 -0
- package/dist/cloudflare/MindooServerObject.d.ts +63 -0
- package/dist/cloudflare/MindooServerObject.d.ts.map +1 -0
- package/dist/cloudflare/MindooServerObject.js +521 -0
- package/dist/cloudflare/MindooServerObject.js.map +1 -0
- package/dist/cloudflare/WorkersCryptoAdapter.d.ts +7 -0
- package/dist/cloudflare/WorkersCryptoAdapter.d.ts.map +1 -0
- package/dist/cloudflare/WorkersCryptoAdapter.js +14 -0
- package/dist/cloudflare/WorkersCryptoAdapter.js.map +1 -0
- package/dist/cloudflare/host.d.ts +49 -0
- package/dist/cloudflare/host.d.ts.map +1 -0
- package/dist/cloudflare/host.js +104 -0
- package/dist/cloudflare/host.js.map +1 -0
- package/dist/cloudflare/http.d.ts +91 -0
- package/dist/cloudflare/http.d.ts.map +1 -0
- package/dist/cloudflare/http.js +266 -0
- package/dist/cloudflare/http.js.map +1 -0
- package/dist/cloudflare/index.d.ts +12 -0
- package/dist/cloudflare/index.d.ts.map +1 -0
- package/dist/cloudflare/index.js +20 -0
- package/dist/cloudflare/index.js.map +1 -0
- package/dist/cloudflare/storeRpc.d.ts +22 -0
- package/dist/cloudflare/storeRpc.d.ts.map +1 -0
- package/dist/cloudflare/storeRpc.js +85 -0
- package/dist/cloudflare/storeRpc.js.map +1 -0
- package/dist/cloudflare/types.d.ts +101 -0
- package/dist/cloudflare/types.d.ts.map +1 -0
- package/dist/cloudflare/types.js +10 -0
- package/dist/cloudflare/types.js.map +1 -0
- package/dist/cloudflare/worker.d.ts +25 -0
- package/dist/cloudflare/worker.d.ts.map +1 -0
- package/dist/cloudflare/worker.js +170 -0
- package/dist/cloudflare/worker.js.map +1 -0
- package/dist/core/BaseMindooDB.d.ts +95 -10
- package/dist/core/BaseMindooDB.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.js +441 -98
- package/dist/core/BaseMindooDB.js.map +1 -1
- package/dist/core/BaseMindooTenant.d.ts +43 -0
- package/dist/core/BaseMindooTenant.d.ts.map +1 -1
- package/dist/core/BaseMindooTenant.js +157 -6
- package/dist/core/BaseMindooTenant.js.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.d.ts +103 -0
- package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.js +371 -8
- package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
- package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantFactory.js +2 -1
- package/dist/core/BaseMindooTenantFactory.js.map +1 -1
- package/dist/core/ChangeDocDraft.d.ts +133 -0
- package/dist/core/ChangeDocDraft.d.ts.map +1 -0
- package/dist/core/ChangeDocDraft.js +492 -0
- package/dist/core/ChangeDocDraft.js.map +1 -0
- package/dist/core/MindooDBServerAdmin.d.ts.map +1 -1
- package/dist/core/MindooDBServerAdmin.js +2 -1
- package/dist/core/MindooDBServerAdmin.js.map +1 -1
- package/dist/core/accesscontrol/directoryProjection.d.ts.map +1 -1
- package/dist/core/accesscontrol/directoryProjection.js +19 -0
- package/dist/core/accesscontrol/directoryProjection.js.map +1 -1
- package/dist/core/accesscontrol/evaluate.d.ts +14 -0
- package/dist/core/accesscontrol/evaluate.d.ts.map +1 -1
- package/dist/core/accesscontrol/evaluate.js +42 -1
- package/dist/core/accesscontrol/evaluate.js.map +1 -1
- package/dist/core/accesscontrol/types.d.ts +88 -4
- package/dist/core/accesscontrol/types.d.ts.map +1 -1
- package/dist/core/accesscontrol/types.js +114 -1
- package/dist/core/accesscontrol/types.js.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts +14 -0
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.js +27 -7
- package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
- package/dist/core/appendonlystores/network/IrohNetworkTransport.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/IrohNetworkTransport.js +12 -0
- package/dist/core/appendonlystores/network/IrohNetworkTransport.js.map +1 -1
- package/dist/core/appendonlystores/network/IrohStreamIO.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/IrohStreamIO.js +3 -23
- package/dist/core/appendonlystores/network/IrohStreamIO.js.map +1 -1
- package/dist/core/appendonlystores/rpc/RpcContentAddressedStore.d.ts +6 -0
- package/dist/core/appendonlystores/rpc/RpcContentAddressedStore.d.ts.map +1 -1
- package/dist/core/appendonlystores/rpc/RpcContentAddressedStore.js +20 -1
- package/dist/core/appendonlystores/rpc/RpcContentAddressedStore.js.map +1 -1
- package/dist/core/appendonlystores/rpc/storeRpcCodec.d.ts.map +1 -1
- package/dist/core/appendonlystores/rpc/storeRpcCodec.js +3 -23
- package/dist/core/appendonlystores/rpc/storeRpcCodec.js.map +1 -1
- package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.d.ts +7 -0
- package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.d.ts.map +1 -1
- package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.js +39 -30
- package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.js.map +1 -1
- package/dist/core/appendonlystores/sqlite/SqliteDriver.d.ts +37 -1
- package/dist/core/appendonlystores/sqlite/SqliteDriver.d.ts.map +1 -1
- package/dist/core/appendonlystores/sqlite/SqliteDriver.js +99 -40
- package/dist/core/appendonlystores/sqlite/SqliteDriver.js.map +1 -1
- package/dist/core/appendonlystores/syncStores.d.ts.map +1 -1
- package/dist/core/appendonlystores/syncStores.js +25 -5
- package/dist/core/appendonlystores/syncStores.js.map +1 -1
- package/dist/core/appendonlystores/types.d.ts +7 -1
- package/dist/core/appendonlystores/types.d.ts.map +1 -1
- package/dist/core/appendonlystores/types.js +1 -0
- package/dist/core/appendonlystores/types.js.map +1 -1
- package/dist/core/builtinDbInvariants.d.ts +49 -0
- package/dist/core/builtinDbInvariants.d.ts.map +1 -1
- package/dist/core/builtinDbInvariants.js +86 -1
- package/dist/core/builtinDbInvariants.js.map +1 -1
- package/dist/core/crypto/AuthChallenge.d.ts +68 -0
- package/dist/core/crypto/AuthChallenge.d.ts.map +1 -0
- package/dist/core/crypto/AuthChallenge.js +118 -0
- package/dist/core/crypto/AuthChallenge.js.map +1 -0
- package/dist/core/crypto/DomainStatement.d.ts +5 -3
- package/dist/core/crypto/DomainStatement.d.ts.map +1 -1
- package/dist/core/crypto/DomainStatement.js +5 -3
- package/dist/core/crypto/DomainStatement.js.map +1 -1
- package/dist/core/crypto/encryptedFields.d.ts +11 -0
- package/dist/core/crypto/encryptedFields.d.ts.map +1 -1
- package/dist/core/crypto/encryptedFields.js +18 -0
- package/dist/core/crypto/encryptedFields.js.map +1 -1
- package/dist/core/expressions/evaluateExpression.d.ts +8 -0
- package/dist/core/expressions/evaluateExpression.d.ts.map +1 -1
- package/dist/core/expressions/evaluateExpression.js +29 -4
- package/dist/core/expressions/evaluateExpression.js.map +1 -1
- package/dist/core/expressions/metadata.js +4 -4
- package/dist/core/expressions/metadata.js.map +1 -1
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +17 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/query/executeQuery.d.ts.map +1 -1
- package/dist/core/query/executeQuery.js +5 -1
- package/dist/core/query/executeQuery.js.map +1 -1
- package/dist/core/query/executeQueryInclude.d.ts.map +1 -1
- package/dist/core/query/executeQueryInclude.js +2 -0
- package/dist/core/query/executeQueryInclude.js.map +1 -1
- package/dist/core/query/queryView.d.ts.map +1 -1
- package/dist/core/query/queryView.js +5 -1
- package/dist/core/query/queryView.js.map +1 -1
- package/dist/core/types.d.ts +204 -10
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/uri/MindooURI.d.ts.map +1 -1
- package/dist/core/uri/MindooURI.js +3 -24
- package/dist/core/uri/MindooURI.js.map +1 -1
- package/dist/core/userkeys/index.d.ts +1 -0
- package/dist/core/userkeys/index.d.ts.map +1 -1
- package/dist/core/userkeys/index.js +5 -1
- package/dist/core/userkeys/index.js.map +1 -1
- package/dist/core/userkeys/sealedValues.d.ts +54 -0
- package/dist/core/userkeys/sealedValues.d.ts.map +1 -0
- package/dist/core/userkeys/sealedValues.js +67 -0
- package/dist/core/userkeys/sealedValues.js.map +1 -0
- package/dist/core/utils/base64.d.ts +17 -0
- package/dist/core/utils/base64.d.ts.map +1 -0
- package/dist/core/utils/base64.js +54 -0
- package/dist/core/utils/base64.js.map +1 -0
- package/dist/core/utils/dynamicImportInterop.d.ts +10 -0
- package/dist/core/utils/dynamicImportInterop.d.ts.map +1 -0
- package/dist/core/utils/dynamicImportInterop.js +22 -0
- package/dist/core/utils/dynamicImportInterop.js.map +1 -0
- package/dist/core/utils/idGeneration.d.ts.map +1 -1
- package/dist/core/utils/idGeneration.js +14 -3
- package/dist/core/utils/idGeneration.js.map +1 -1
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +7 -0
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
- package/dist/node/server/FsServerDataStore.d.ts +23 -0
- package/dist/node/server/FsServerDataStore.d.ts.map +1 -0
- package/dist/node/server/FsServerDataStore.js +59 -0
- package/dist/node/server/FsServerDataStore.js.map +1 -0
- package/dist/node/server/IrohServerEndpoint.d.ts +1 -1
- package/dist/node/server/IrohServerEndpoint.d.ts.map +1 -1
- package/dist/node/server/IrohServerRpc.d.ts +5 -5
- package/dist/node/server/IrohServerRpc.d.ts.map +1 -1
- package/dist/node/server/IrohServerRpc.js +1 -1
- package/dist/node/server/IrohServerRpc.js.map +1 -1
- package/dist/node/server/MindooDBServer.d.ts +29 -150
- package/dist/node/server/MindooDBServer.d.ts.map +1 -1
- package/dist/node/server/MindooDBServer.js +160 -1573
- package/dist/node/server/MindooDBServer.js.map +1 -1
- package/dist/node/server/PurgedDocRegistry.d.ts +4 -27
- package/dist/node/server/PurgedDocRegistry.d.ts.map +1 -1
- package/dist/node/server/PurgedDocRegistry.js +6 -83
- package/dist/node/server/PurgedDocRegistry.js.map +1 -1
- package/dist/node/server/StoreFactory.d.ts +1 -1
- package/dist/node/server/StoreFactory.d.ts.map +1 -1
- package/dist/node/server/TenantManager.d.ts +16 -284
- package/dist/node/server/TenantManager.d.ts.map +1 -1
- package/dist/node/server/TenantManager.js +35 -1168
- package/dist/node/server/TenantManager.js.map +1 -1
- package/dist/node/server/add-to-network.js +1 -1
- package/dist/node/server/add-to-network.js.map +1 -1
- package/dist/node/server/config.d.ts +11 -15
- package/dist/node/server/config.d.ts.map +1 -1
- package/dist/node/server/config.js +30 -245
- package/dist/node/server/config.js.map +1 -1
- package/dist/node/server/expressAdapter.d.ts +23 -0
- package/dist/node/server/expressAdapter.d.ts.map +1 -0
- package/dist/node/server/expressAdapter.js +108 -0
- package/dist/node/server/expressAdapter.js.map +1 -0
- package/dist/node/server/nativeIrohStreamIO.d.ts +1 -1
- package/dist/node/server/nativeIrohStreamIO.d.ts.map +1 -1
- package/dist/node/server/peer/FileClusterAuditStorage.d.ts +16 -0
- package/dist/node/server/peer/FileClusterAuditStorage.d.ts.map +1 -0
- package/dist/node/server/peer/FileClusterAuditStorage.js +39 -0
- package/dist/node/server/peer/FileClusterAuditStorage.js.map +1 -0
- package/dist/node/server/peer/IrohPeerLink.d.ts +1 -1
- package/dist/node/server/peer/IrohPeerLink.d.ts.map +1 -1
- package/dist/node/server/peer/routes.d.ts +10 -44
- package/dist/node/server/peer/routes.d.ts.map +1 -1
- package/dist/node/server/peer/routes.js +33 -275
- package/dist/node/server/peer/routes.js.map +1 -1
- package/dist/node/server/resolveServerPassword.js +1 -1
- package/dist/node/server/resolveServerPassword.js.map +1 -1
- package/dist/node/server/server.js +1 -1
- package/dist/node/server/server.js.map +1 -1
- package/dist/node/server/serverinit.js +1 -1
- package/dist/node/server/serverinit.js.map +1 -1
- package/dist/server/CapabilityMatcher.d.ts +60 -0
- package/dist/server/CapabilityMatcher.d.ts.map +1 -0
- package/dist/server/CapabilityMatcher.js +138 -0
- package/dist/server/CapabilityMatcher.js.map +1 -0
- package/dist/server/DeviceDiscoveryService.d.ts +36 -0
- package/dist/server/DeviceDiscoveryService.d.ts.map +1 -0
- package/dist/server/DeviceDiscoveryService.js +164 -0
- package/dist/server/DeviceDiscoveryService.js.map +1 -0
- package/dist/server/PurgedDocRegistry.d.ts +35 -0
- package/dist/server/PurgedDocRegistry.d.ts.map +1 -0
- package/dist/server/PurgedDocRegistry.js +90 -0
- package/dist/server/PurgedDocRegistry.js.map +1 -0
- package/dist/server/ServerDataStore.d.ts +67 -0
- package/dist/server/ServerDataStore.d.ts.map +1 -0
- package/dist/server/ServerDataStore.js +88 -0
- package/dist/server/ServerDataStore.js.map +1 -0
- package/dist/server/SyncEventBus.d.ts +39 -0
- package/dist/server/SyncEventBus.d.ts.map +1 -0
- package/dist/server/SyncEventBus.js +41 -0
- package/dist/server/SyncEventBus.js.map +1 -0
- package/dist/server/SystemAdminAuth.d.ts +82 -0
- package/dist/server/SystemAdminAuth.d.ts.map +1 -0
- package/dist/server/SystemAdminAuth.js +227 -0
- package/dist/server/SystemAdminAuth.js.map +1 -0
- package/dist/server/TenantManager.d.ts +366 -0
- package/dist/server/TenantManager.d.ts.map +1 -0
- package/dist/server/TenantManager.js +1416 -0
- package/dist/server/TenantManager.js.map +1 -0
- package/dist/server/http/MindooDBServerCore.d.ts +313 -0
- package/dist/server/http/MindooDBServerCore.d.ts.map +1 -0
- package/dist/server/http/MindooDBServerCore.js +1410 -0
- package/dist/server/http/MindooDBServerCore.js.map +1 -0
- package/dist/server/http/types.d.ts +89 -0
- package/dist/server/http/types.d.ts.map +1 -0
- package/dist/server/http/types.js +29 -0
- package/dist/server/http/types.js.map +1 -0
- package/dist/server/index.d.ts +32 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +76 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/peer/ClusterAuditLog.d.ts +71 -0
- package/dist/server/peer/ClusterAuditLog.d.ts.map +1 -0
- package/dist/server/peer/ClusterAuditLog.js +81 -0
- package/dist/server/peer/ClusterAuditLog.js.map +1 -0
- package/dist/server/peer/ClusterJobRunner.d.ts +43 -0
- package/dist/server/peer/ClusterJobRunner.d.ts.map +1 -0
- package/dist/server/peer/ClusterJobRunner.js +119 -0
- package/dist/server/peer/ClusterJobRunner.js.map +1 -0
- package/dist/server/peer/ClusterManager.d.ts +149 -0
- package/dist/server/peer/ClusterManager.d.ts.map +1 -0
- package/dist/server/peer/ClusterManager.js +292 -0
- package/dist/server/peer/ClusterManager.js.map +1 -0
- package/dist/server/peer/PeerAuthService.d.ts +69 -0
- package/dist/server/peer/PeerAuthService.d.ts.map +1 -0
- package/dist/server/peer/PeerAuthService.js +207 -0
- package/dist/server/peer/PeerAuthService.js.map +1 -0
- package/dist/server/peer/PeerReplicator.d.ts +303 -0
- package/dist/server/peer/PeerReplicator.d.ts.map +1 -0
- package/dist/server/peer/PeerReplicator.js +1072 -0
- package/dist/server/peer/PeerReplicator.js.map +1 -0
- package/dist/server/peer/clusterHttp.d.ts +113 -0
- package/dist/server/peer/clusterHttp.d.ts.map +1 -0
- package/dist/server/peer/clusterHttp.js +290 -0
- package/dist/server/peer/clusterHttp.js.map +1 -0
- package/dist/server/peer/types.d.ts +244 -0
- package/dist/server/peer/types.d.ts.map +1 -0
- package/dist/server/peer/types.js +189 -0
- package/dist/server/peer/types.js.map +1 -0
- package/dist/server/rateLimits.d.ts +119 -0
- package/dist/server/rateLimits.d.ts.map +1 -0
- package/dist/server/rateLimits.js +159 -0
- package/dist/server/rateLimits.js.map +1 -0
- package/dist/server/serverConfig.d.ts +37 -0
- package/dist/server/serverConfig.d.ts.map +1 -0
- package/dist/server/serverConfig.js +251 -0
- package/dist/server/serverConfig.js.map +1 -0
- package/dist/server/timestampProxy.d.ts +129 -0
- package/dist/server/timestampProxy.d.ts.map +1 -0
- package/dist/server/timestampProxy.js +361 -0
- package/dist/server/timestampProxy.js.map +1 -0
- package/dist/server/types.d.ts +267 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +56 -0
- package/dist/server/types.js.map +1 -0
- package/dist/server/validation.d.ts +43 -0
- package/dist/server/validation.d.ts.map +1 -0
- package/dist/server/validation.js +104 -0
- package/dist/server/validation.js.map +1 -0
- package/package.json +9 -1
|
@@ -248,6 +248,8 @@ function validateViewDefinition(sources, definition) {
|
|
|
248
248
|
* and run its initial update. See {@link EphemeralSummaryView}.
|
|
249
249
|
*/
|
|
250
250
|
async function createEphemeralSummaryView(db, summary, definition, options) {
|
|
251
|
+
// Coverage is checked against the settled configuration (see executeQuery).
|
|
252
|
+
await summary.ensureConfigLoaded?.();
|
|
251
253
|
const view = new EphemeralSummaryView([{ db, summary, origin: defaultEphemeralOrigin(db) }], definition);
|
|
252
254
|
await view.update(options);
|
|
253
255
|
return view;
|
|
@@ -278,7 +280,9 @@ async function createEphemeralSummaryView(db, summary, definition, options) {
|
|
|
278
280
|
* source. `bindTo()` subscribes to the change feeds of all sources.
|
|
279
281
|
*/
|
|
280
282
|
async function queryViewAcross(sources, definition, options) {
|
|
281
|
-
const
|
|
283
|
+
const resolved = resolveSources(sources);
|
|
284
|
+
await Promise.all(resolved.map((source) => source.summary.ensureConfigLoaded?.()));
|
|
285
|
+
const view = new EphemeralSummaryView(resolved, definition);
|
|
282
286
|
await view.update(options);
|
|
283
287
|
return view;
|
|
284
288
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryView.js","sourceRoot":"","sources":["../../../src/core/query/queryView.ts"],"names":[],"mappings":";;;AAiXA,
|
|
1
|
+
{"version":3,"file":"queryView.js","sourceRoot":"","sources":["../../../src/core/query/queryView.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -370,6 +370,20 @@ export interface ApproveJoinRequestOptions {
|
|
|
370
370
|
* that wrap so a directory-only member cannot later import the tenant key.
|
|
371
371
|
*/
|
|
372
372
|
sharedDocKeyIds?: string[];
|
|
373
|
+
/**
|
|
374
|
+
* Personal-database prefixes the joining identity may deposit into
|
|
375
|
+
* (docs/accesscontrol.md §6.11), e.g. `["mmail_"]` for a mail gateway that
|
|
376
|
+
* delivers into every person's `mmail_<grantDocId>`. Stored on its grant
|
|
377
|
+
* (`depositPrefixes`), admin-signed. Omit for ordinary members.
|
|
378
|
+
*/
|
|
379
|
+
depositPrefixes?: string[];
|
|
380
|
+
/**
|
|
381
|
+
* Personal-database prefixes the joining identity may read and sync in
|
|
382
|
+
* everyone's databases (docs/accesscontrol.md §6.11), e.g. `["mmailout_"]`
|
|
383
|
+
* for a mail gateway that sends what people put in their outbox. Stored on
|
|
384
|
+
* its grant (`accessPrefixes`), admin-signed. Omit for ordinary members.
|
|
385
|
+
*/
|
|
386
|
+
accessPrefixes?: string[];
|
|
373
387
|
/**
|
|
374
388
|
* Human-readable label for the joining device's key pair. When set,
|
|
375
389
|
* it overrides any label the joining user suggested in the join request and
|
|
@@ -605,6 +619,18 @@ export interface PublishToServerOptions {
|
|
|
605
619
|
* locator. Browsers cannot CORS-fetch `iroh:` URLs.
|
|
606
620
|
*/
|
|
607
621
|
irohStreamIO?: import("./appendonlystores/network/IrohStreamIO").IrohStreamIO;
|
|
622
|
+
/**
|
|
623
|
+
* The tenant's administration private key. With it (and {@link adminPassword})
|
|
624
|
+
* the publish flow adds the server as a trusted witness (docs/accesscontrol.md
|
|
625
|
+
* §6.4), so the receipts it stamps on pushed entries are accepted once access
|
|
626
|
+
* control is enabled. Not needed when `systemAdminUser` is the tenant admin
|
|
627
|
+
* (demo servers with open tenant creation).
|
|
628
|
+
*/
|
|
629
|
+
adminSigningKey?: EncryptedPrivateKey;
|
|
630
|
+
/** Password for {@link adminSigningKey}. */
|
|
631
|
+
adminPassword?: string;
|
|
632
|
+
/** Do not add the server as a trusted witness (e.g. a pure relay the admin does not trust). */
|
|
633
|
+
skipTrustedWitness?: boolean;
|
|
608
634
|
}
|
|
609
635
|
/**
|
|
610
636
|
* Extra options for {@link MindooTenant.connectToServer} when the remote is
|
|
@@ -980,6 +1006,15 @@ export interface MindooTenant {
|
|
|
980
1006
|
rememberSealedGenerations?(keyId: string, generations: Uint8Array[]): void;
|
|
981
1007
|
getSealedGenerations?(keyId: string): Uint8Array[];
|
|
982
1008
|
ingestSealedRecipients?(keyId: string, recipients: import("./userkeys/sealedTypes").EntryRecipients): Promise<void>;
|
|
1009
|
+
/**
|
|
1010
|
+
* Seal `value` to people (published User-Keys) or devices, to store it as a
|
|
1011
|
+
* field of a document encrypted with another key, e.g. `$publicinfos`
|
|
1012
|
+
* (see `SealedValue`). Includes the current user unless
|
|
1013
|
+
* `options.includeSelf` is false.
|
|
1014
|
+
*/
|
|
1015
|
+
sealValue?(value: Uint8Array, recipients: import("./userkeys/sealedTypes").RecipientSpec[], options?: import("./userkeys/sealedTypes").RecipientOptions): Promise<import("./userkeys/sealedValues").SealedValue>;
|
|
1016
|
+
/** Open a `SealedValue` with this identity's keys; null when not a recipient. */
|
|
1017
|
+
openSealedValue?(sealed: import("./userkeys/sealedValues").SealedValue): Promise<Uint8Array | null>;
|
|
983
1018
|
ingestSealedFromEntries?(keyId: string, entries: Array<{
|
|
984
1019
|
recipients?: import("./userkeys/sealedTypes").EntryRecipients;
|
|
985
1020
|
createdAt: number;
|
|
@@ -1712,6 +1747,19 @@ export interface CreateOptions {
|
|
|
1712
1747
|
*/
|
|
1713
1748
|
recipients?: import("./userkeys/sealedTypes").RecipientSpec[];
|
|
1714
1749
|
recipientOptions?: import("./userkeys/sealedTypes").RecipientOptions;
|
|
1750
|
+
/**
|
|
1751
|
+
* Files to attach in the document's very first entry. They are encrypted
|
|
1752
|
+
* with the document's key and referenced from the `doc_create` entry, so a
|
|
1753
|
+
* writer that cannot change the document afterwards (a sealed create with
|
|
1754
|
+
* `includeSelf: false`, a `doc_deposit` principal, docs/accesscontrol.md
|
|
1755
|
+
* §6.10) can still deliver them. Not supported on the convergent custom-id
|
|
1756
|
+
* path (an `id` without `assumeUniqueId`) or by `createDocuments()`.
|
|
1757
|
+
*/
|
|
1758
|
+
attachments?: Array<{
|
|
1759
|
+
data: Uint8Array;
|
|
1760
|
+
fileName: string;
|
|
1761
|
+
mimeType: string;
|
|
1762
|
+
}>;
|
|
1715
1763
|
/**
|
|
1716
1764
|
* Optional signing key pair to sign the initial document entry with. When
|
|
1717
1765
|
* provided, `signingKeyPassword` must be provided as well. Replaces
|
|
@@ -2125,8 +2173,10 @@ export interface MindooDoc {
|
|
|
2125
2173
|
* of overwriting each other, which is what makes counters safe for shared
|
|
2126
2174
|
* tallies (votes, views, stock levels). Create counters with
|
|
2127
2175
|
* `MindooValue.counter()`; a missing field is initialized as a counter
|
|
2128
|
-
* holding `delta`.
|
|
2129
|
-
*
|
|
2176
|
+
* holding `delta`. Increments are applied in call order together with the
|
|
2177
|
+
* callback's other edits: repeated calls add up, an assignment after an
|
|
2178
|
+
* increment replaces the counter, and reads later in the callback see the
|
|
2179
|
+
* incremented value.
|
|
2130
2180
|
*
|
|
2131
2181
|
* @param path Field name or path segments (e.g. `["stats", "views"]`)
|
|
2132
2182
|
* @param delta Amount to add, a safe integer
|
|
@@ -2134,6 +2184,36 @@ export interface MindooDoc {
|
|
|
2134
2184
|
* change is applied) if the value at `path` exists but is not a counter
|
|
2135
2185
|
*/
|
|
2136
2186
|
incrementCounter(path: string | Array<string | number>, delta: number): void;
|
|
2187
|
+
/**
|
|
2188
|
+
* Set the text at `path` to `value`, stored as a splice of the part that
|
|
2189
|
+
* changed. Concurrent edits elsewhere in the text then merge character by
|
|
2190
|
+
* character, as with `applyJsonPatch()` `textSplice`; a plain assignment of a
|
|
2191
|
+
* string replaces the whole value instead. Only works within the changeDoc()
|
|
2192
|
+
* callback. A missing field is created.
|
|
2193
|
+
*
|
|
2194
|
+
* @param path Field name or path segments (e.g. `["meta", "title"]`)
|
|
2195
|
+
* @param value The new text
|
|
2196
|
+
* Rich text (a text with marks or block markers) is refused: use
|
|
2197
|
+
* `MindooDB.applyRichTextPatch()` or `applyRichTextStepsPatch()` for it.
|
|
2198
|
+
*
|
|
2199
|
+
* @throws Error if called outside of changeDoc() callback, if the value
|
|
2200
|
+
* at `path` exists and is not text, or if it is rich text
|
|
2201
|
+
*/
|
|
2202
|
+
updateText(path: string | Array<string | number>, value: string): void;
|
|
2203
|
+
/**
|
|
2204
|
+
* The type of the value at `path`, or `undefined` when nothing is there.
|
|
2205
|
+
*
|
|
2206
|
+
* `getData()` reads collaborative text and atomic strings both as strings,
|
|
2207
|
+
* counters as numbers and timestamps as `Date`; this tells them apart, so a
|
|
2208
|
+
* caller can pick the matching write: plain assignment, {@link updateText}
|
|
2209
|
+
* (`"text"`), {@link incrementCounter} (`"counter"`), or
|
|
2210
|
+
* `MindooDB.applyRichTextPatch()` (`"richText"`, a text with marks or block
|
|
2211
|
+
* markers). Inside changeDoc() the answer includes the callback's own edits
|
|
2212
|
+
* so far (a `MindooValue` just assigned reports its kind).
|
|
2213
|
+
*
|
|
2214
|
+
* @param path Field name or path segments (e.g. `["meta", "status"]`)
|
|
2215
|
+
*/
|
|
2216
|
+
getFieldType(path: string | Array<string | number>): MindooFieldType | undefined;
|
|
2137
2217
|
/**
|
|
2138
2218
|
* Get all attachment references for this document.
|
|
2139
2219
|
*
|
|
@@ -2471,6 +2551,13 @@ export interface MindooJsonCounterIncrementPatch {
|
|
|
2471
2551
|
path: Array<string | number>;
|
|
2472
2552
|
delta: number;
|
|
2473
2553
|
}
|
|
2554
|
+
/**
|
|
2555
|
+
* What a document field holds, as reported by `MindooDoc.getFieldType()`.
|
|
2556
|
+
* `text` is collaborative plain text, `richText` a text with marks or block
|
|
2557
|
+
* markers, `atomic` a string that is replaced as a whole, `counter` a CRDT
|
|
2558
|
+
* counter, `timestamp` a date; `list` and `map` are arrays and objects.
|
|
2559
|
+
*/
|
|
2560
|
+
export type MindooFieldType = "text" | "richText" | "atomic" | "counter" | "timestamp" | "number" | "boolean" | "null" | "bytes" | "list" | "map";
|
|
2474
2561
|
/**
|
|
2475
2562
|
* Granular JSON mutation batch for a MindooDoc payload.
|
|
2476
2563
|
*
|
|
@@ -2662,6 +2749,21 @@ export interface MindooTenantDirectory {
|
|
|
2662
2749
|
registerUser(userId: PublicUserId, administrationPrivateKey: EncryptedPrivateKey, administrationPrivateKeyPassword: string, userDetails?: DirectoryUserDetails, label?: string, options?: {
|
|
2663
2750
|
distributeKeyIds?: string[];
|
|
2664
2751
|
}): Promise<void>;
|
|
2752
|
+
/**
|
|
2753
|
+
* Registers several users like {@link registerUser}, one after another,
|
|
2754
|
+
* decrypting the administration key only once for the whole batch instead
|
|
2755
|
+
* of several times per user. Each registration is checked and signed
|
|
2756
|
+
* exactly as a single call would; a failure stops the batch, users before
|
|
2757
|
+
* it stay registered.
|
|
2758
|
+
*/
|
|
2759
|
+
registerUsers?(users: Array<{
|
|
2760
|
+
userId: PublicUserId;
|
|
2761
|
+
userDetails?: DirectoryUserDetails;
|
|
2762
|
+
label?: string;
|
|
2763
|
+
options?: {
|
|
2764
|
+
distributeKeyIds?: string[];
|
|
2765
|
+
};
|
|
2766
|
+
}>, administrationPrivateKey: EncryptedPrivateKey, administrationPrivateKeyPassword: string): Promise<void>;
|
|
2665
2767
|
/**
|
|
2666
2768
|
* Revokes a user's access by removing their keys from the grant document
|
|
2667
2769
|
* (docs/accesscontrol.md §6.5). Revocation is an in-place edit of the grant
|
|
@@ -2715,6 +2817,22 @@ export interface MindooTenantDirectory {
|
|
|
2715
2817
|
* @returns A promise that resolves when the policy has been written.
|
|
2716
2818
|
*/
|
|
2717
2819
|
setDefaultAccessPolicy?(policy: Partial<Omit<DefaultAccessPolicyDoc, "form" | "type">>, administrationPrivateKey: EncryptedPrivateKey, administrationPrivateKeyPassword: string): Promise<void>;
|
|
2820
|
+
/**
|
|
2821
|
+
* Require the v2 metadata-binding entry signature from now on, for a tenant
|
|
2822
|
+
* created before that became the default (`requireMetadataSignatureSince`).
|
|
2823
|
+
*
|
|
2824
|
+
* New entries then must carry `metadataSignature`; history from before the
|
|
2825
|
+
* cutoff keeps verifying with the legacy signature. Safe to call on any
|
|
2826
|
+
* tenant: one that already has a cutoff is left alone, and a tenant without
|
|
2827
|
+
* a default policy document gets one with access checks still switched off,
|
|
2828
|
+
* because creating that document is otherwise what turns access control on.
|
|
2829
|
+
*
|
|
2830
|
+
* @returns The cutoff now in force, and whether this call set it.
|
|
2831
|
+
*/
|
|
2832
|
+
requireV2EntrySignatures?(administrationPrivateKey: EncryptedPrivateKey, administrationPrivateKeyPassword: string): Promise<{
|
|
2833
|
+
since: number;
|
|
2834
|
+
changed: boolean;
|
|
2835
|
+
}>;
|
|
2718
2836
|
/**
|
|
2719
2837
|
* Create or update a per-database access policy override (§6.2). Fields set
|
|
2720
2838
|
* here override the tenant default for `dbid`; unset fields inherit it.
|
|
@@ -2755,6 +2873,10 @@ export interface MindooTenantDirectory {
|
|
|
2755
2873
|
groups?: string[];
|
|
2756
2874
|
withfields?: WithFieldClause[];
|
|
2757
2875
|
description?: string;
|
|
2876
|
+
/** `doc_deposit` only (docs/accesscontrol.md §6.10). */
|
|
2877
|
+
maxRecipients?: number;
|
|
2878
|
+
/** `doc_deposit` only (§6.10): allowed prefixes of deposited document ids. */
|
|
2879
|
+
docIdPrefixes?: string[];
|
|
2758
2880
|
}, administrationPrivateKey: EncryptedPrivateKey, administrationPrivateKeyPassword: string): Promise<void>;
|
|
2759
2881
|
/**
|
|
2760
2882
|
* List access-control rules in effect (§9), optionally filtered. Each rule
|
|
@@ -3259,6 +3381,21 @@ export interface MindooTenantDirectory {
|
|
|
3259
3381
|
* @returns The grant document id carrying the wipe directive, or `null` when the key is not wipe-targeted.
|
|
3260
3382
|
*/
|
|
3261
3383
|
getWipeGrantDocId?(signingKey: string): Promise<string | null>;
|
|
3384
|
+
/**
|
|
3385
|
+
* Let `username` deposit into personal databases with these prefixes
|
|
3386
|
+
* (docs/accesscontrol.md §6.11). Admin-signed change of the person's grant;
|
|
3387
|
+
* an empty list removes the right.
|
|
3388
|
+
*/
|
|
3389
|
+
setGrantDepositPrefixes?(username: string, prefixes: string[], administrationPrivateKey: EncryptedPrivateKey, administrationPrivateKeyPassword: string): Promise<void>;
|
|
3390
|
+
/**
|
|
3391
|
+
* Deposit and access rights in other people's personal databases (§6.11);
|
|
3392
|
+
* fields left out stay as they are.
|
|
3393
|
+
*/
|
|
3394
|
+
setGrantPersonalDatabaseRights?(username: string, rights: {
|
|
3395
|
+
depositPrefixes?: string[];
|
|
3396
|
+
accessPrefixes?: string[];
|
|
3397
|
+
depositDocIdPrefixes?: Record<string, string[]>;
|
|
3398
|
+
}, administrationPrivateKey: EncryptedPrivateKey, administrationPrivateKeyPassword: string): Promise<void>;
|
|
3262
3399
|
/**
|
|
3263
3400
|
* Check if a user has been revoked.
|
|
3264
3401
|
*
|
|
@@ -3426,6 +3563,28 @@ export interface MindooTenantDirectory {
|
|
|
3426
3563
|
* @returns True when the current user may open/sync the database.
|
|
3427
3564
|
*/
|
|
3428
3565
|
canReadDatabase?(dbId: string): Promise<boolean>;
|
|
3566
|
+
/**
|
|
3567
|
+
* Whether the current user may deposit sealed documents into `dbId` without
|
|
3568
|
+
* read access (`doc_deposit`, docs/accesscontrol.md §6.10).
|
|
3569
|
+
*/
|
|
3570
|
+
canDepositDatabase?(dbId: string): Promise<boolean>;
|
|
3571
|
+
/**
|
|
3572
|
+
* The current user's read scope in `dbId` (docs/accesscontrol.md §6.12):
|
|
3573
|
+
* `"own"` when the database's `docReadScope` is `"own"` and the user is
|
|
3574
|
+
* neither the tenant admin nor a `doc_read_all` reader; the server then
|
|
3575
|
+
* serves only documents the user created. Otherwise `"all"`.
|
|
3576
|
+
*
|
|
3577
|
+
* Optional capability.
|
|
3578
|
+
*/
|
|
3579
|
+
getReadScope?(dbId: string): Promise<"all" | "own">;
|
|
3580
|
+
/**
|
|
3581
|
+
* Server-side variant of {@link getReadScope} for a request principal's
|
|
3582
|
+
* signing key. Optional capability.
|
|
3583
|
+
*/
|
|
3584
|
+
evaluateReadScopeForSigningKey?(input: {
|
|
3585
|
+
dbid: string;
|
|
3586
|
+
signingKey: string;
|
|
3587
|
+
}): Promise<"all" | "own">;
|
|
3429
3588
|
/**
|
|
3430
3589
|
* Create or update database-specific settings.
|
|
3431
3590
|
* Automatically uses the cached settings document for the given dbId if it exists, or creates a new one.
|
|
@@ -4324,6 +4483,25 @@ export interface MindooDB {
|
|
|
4324
4483
|
* @return Counts of removed and retained entries
|
|
4325
4484
|
*/
|
|
4326
4485
|
purgeDocumentHistory(docId: string): Promise<DocumentHistoryPurgeOutcome>;
|
|
4486
|
+
/**
|
|
4487
|
+
* Request the hard delete of deleted documents in a personal database
|
|
4488
|
+
* (`mmail_…`, `mmailout_…`; docs/accesscontrol.md §6.11, "Purge"): writes a
|
|
4489
|
+
* `purgereq_…` document; push it like any change. Throws for other databases
|
|
4490
|
+
* and for documents that are not deleted. Returns the request's id.
|
|
4491
|
+
*/
|
|
4492
|
+
requestPurgeOfDeletedDocuments(docIds: string[]): Promise<string>;
|
|
4493
|
+
/**
|
|
4494
|
+
* The document ids this personal database's purge requests name; with
|
|
4495
|
+
* `onlyAccepted`, only requests the server has accepted. Empty elsewhere.
|
|
4496
|
+
*/
|
|
4497
|
+
getPurgeRequestedDocIds(options?: {
|
|
4498
|
+
onlyAccepted?: boolean;
|
|
4499
|
+
}): Promise<Set<string>>;
|
|
4500
|
+
/**
|
|
4501
|
+
* Remove locally the documents of accepted purge requests (runs after every
|
|
4502
|
+
* docs pull of a personal database). Returns how many were removed.
|
|
4503
|
+
*/
|
|
4504
|
+
applyPurgeRequests(): Promise<number>;
|
|
4327
4505
|
/**
|
|
4328
4506
|
* Entries this device refused to materialize, grouped per document and
|
|
4329
4507
|
* persisted in the metadata checkpoint (docs/accesscontrol.md §10).
|
|
@@ -4844,6 +5022,11 @@ export interface MindooDB {
|
|
|
4844
5022
|
* back into `MindooRichTextPatch.baseHeads` when authoring the next edit.
|
|
4845
5023
|
*/
|
|
4846
5024
|
getRichTextSnapshot(doc: MindooDoc, path: Array<string | number>): Promise<MindooRichTextSnapshot>;
|
|
5025
|
+
/**
|
|
5026
|
+
* The type of the value at `path` of `doc`, or `undefined` when nothing is
|
|
5027
|
+
* there; same as {@link MindooDoc.getFieldType}.
|
|
5028
|
+
*/
|
|
5029
|
+
getFieldType(doc: MindooDoc, path: string | Array<string | number>): Promise<MindooFieldType | undefined>;
|
|
4847
5030
|
/**
|
|
4848
5031
|
* Create stable cursors for character positions in the text at `path`.
|
|
4849
5032
|
*
|
|
@@ -5121,15 +5304,13 @@ export interface MindooDB {
|
|
|
5121
5304
|
* — a peer sync — and therefore have to apply the admin/owner rules
|
|
5122
5305
|
* themselves before storing anything.
|
|
5123
5306
|
*
|
|
5124
|
-
*
|
|
5125
|
-
*
|
|
5126
|
-
*
|
|
5307
|
+
* Applies the server's write rule, not the lenient load-path filter: an
|
|
5308
|
+
* owner that cannot be resolved is a refusal. `batch` is the rest of the
|
|
5309
|
+
* delivery, so a new document's `doc_create` in the same batch names its
|
|
5310
|
+
* owner. Everything admitted also passes the load path. Returns false for
|
|
5311
|
+
* databases without a builtin invariant, so it can be asked unconditionally.
|
|
5127
5312
|
*/
|
|
5128
|
-
violatesBuiltinWriteInvariant(entry:
|
|
5129
|
-
entryType?: string;
|
|
5130
|
-
createdByPublicKey: string;
|
|
5131
|
-
docId?: string;
|
|
5132
|
-
}): Promise<boolean>;
|
|
5313
|
+
violatesBuiltinWriteInvariant(entry: BuiltinIngestEntry, batch?: readonly BuiltinIngestEntry[]): Promise<boolean>;
|
|
5133
5314
|
/**
|
|
5134
5315
|
* Reconcile local document visibility with the current tenant KeyBag.
|
|
5135
5316
|
*
|
|
@@ -5269,4 +5450,17 @@ export interface MindooDB {
|
|
|
5269
5450
|
*/
|
|
5270
5451
|
pushChangesTo(remote: ContentAddressedStore | MindooDB, options?: SyncOptions): Promise<SyncResult>;
|
|
5271
5452
|
}
|
|
5453
|
+
/**
|
|
5454
|
+
* The parts of an incoming entry the builtin `directory` / `userdirectory`
|
|
5455
|
+
* ingest check reads. A full {@link StoreEntry} fits; `encryptedData` and
|
|
5456
|
+
* `decryptionKeyId` are only needed to read the owner out of a userkey
|
|
5457
|
+
* document's `doc_create`.
|
|
5458
|
+
*/
|
|
5459
|
+
export interface BuiltinIngestEntry {
|
|
5460
|
+
entryType?: string;
|
|
5461
|
+
createdByPublicKey: string;
|
|
5462
|
+
docId?: string;
|
|
5463
|
+
encryptedData?: Uint8Array;
|
|
5464
|
+
decryptionKeyId?: string;
|
|
5465
|
+
}
|
|
5272
5466
|
//# sourceMappingURL=types.d.ts.map
|