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
|
@@ -23,6 +23,7 @@ function parsePolicyDoc(data) {
|
|
|
23
23
|
denyDocUndelete: bool(data.denyDocUndelete),
|
|
24
24
|
denyDocSnapshot: bool(data.denyDocSnapshot),
|
|
25
25
|
denyDocRead: bool(data.denyDocRead),
|
|
26
|
+
docReadScope: data.docReadScope === "own" ? "own" : data.docReadScope === "all" ? "all" : undefined,
|
|
26
27
|
defaultCreateKeyId: typeof data.defaultCreateKeyId === "string" ? data.defaultCreateKeyId : undefined,
|
|
27
28
|
databaseCreationPolicy: data.databaseCreationPolicy === "directory-restricted"
|
|
28
29
|
? "directory-restricted"
|
|
@@ -35,8 +36,20 @@ function parsePolicyDoc(data) {
|
|
|
35
36
|
? data.requireMetadataSignatureSince
|
|
36
37
|
: undefined,
|
|
37
38
|
llm: parseLlmEndpointPolicy(data.llm),
|
|
39
|
+
personalDatabasePrefixes: stringArray(data.personalDatabasePrefixes)?.filter((prefix) => /^[a-z][a-z0-9]*_$/.test(prefix)),
|
|
40
|
+
internalMail: data.internalMail === "off" || data.internalMail === "members" || data.internalMail === "rules"
|
|
41
|
+
? data.internalMail
|
|
42
|
+
: undefined,
|
|
43
|
+
internalMailLimits: parseInternalMailLimits(data.internalMailLimits),
|
|
38
44
|
};
|
|
39
45
|
}
|
|
46
|
+
function parseInternalMailLimits(value) {
|
|
47
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
48
|
+
return undefined;
|
|
49
|
+
const v = value;
|
|
50
|
+
const positive = (x) => (typeof x === "number" && Number.isInteger(x) && x > 0 ? x : undefined);
|
|
51
|
+
return { maxBytesPerMail: positive(v.maxBytesPerMail), maxMailsPerHour: positive(v.maxMailsPerHour) };
|
|
52
|
+
}
|
|
40
53
|
/**
|
|
41
54
|
* Parse the `llm` block of a default policy. Malformed members are dropped
|
|
42
55
|
* rather than failing the whole policy; a block without usable members still
|
|
@@ -80,6 +93,12 @@ function parseRuleDoc(data, ruleType) {
|
|
|
80
93
|
users_hashes: usersHashes,
|
|
81
94
|
users_encrypted: typeof data.users_encrypted === "string" ? data.users_encrypted : "",
|
|
82
95
|
action: data.action === "deny" ? "deny" : "allow",
|
|
96
|
+
...(ruleType === "doc_deposit" && typeof data.maxRecipients === "number"
|
|
97
|
+
? { maxRecipients: data.maxRecipients }
|
|
98
|
+
: {}),
|
|
99
|
+
...(ruleType === "doc_deposit" && Array.isArray(data.docIdPrefixes)
|
|
100
|
+
? { docIdPrefixes: data.docIdPrefixes.filter((p) => typeof p === "string" && p.length > 0) }
|
|
101
|
+
: {}),
|
|
83
102
|
};
|
|
84
103
|
}
|
|
85
104
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directoryProjection.js","sourceRoot":"","sources":["../../../src/core/accesscontrol/directoryProjection.ts"],"names":[],"mappings":";;AAwBA,
|
|
1
|
+
{"version":3,"file":"directoryProjection.js","sourceRoot":"","sources":["../../../src/core/accesscontrol/directoryProjection.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,6 +82,20 @@ export declare function evaluateLlmUse(input: {
|
|
|
82
82
|
identity: IdentitySet;
|
|
83
83
|
node: DirectoryStateNode;
|
|
84
84
|
}): AccessDecision;
|
|
85
|
+
/**
|
|
86
|
+
* Whether the acting user reads every document of a database whose
|
|
87
|
+
* `docReadScope` is `"own"` (`doc_read_all`, docs/accesscontrol.md §6.12).
|
|
88
|
+
*
|
|
89
|
+
* Baseline is deny (only the own documents); a matching allow rule for this
|
|
90
|
+
* database (or `"*"`) opens all documents, deny overrides allow. The master
|
|
91
|
+
* switch turns the whole scope off (everyone reads everything), as it does
|
|
92
|
+
* every other check. The tenant admin is handled by the caller.
|
|
93
|
+
*/
|
|
94
|
+
export declare function evaluateDocReadAll(input: {
|
|
95
|
+
dbid: string;
|
|
96
|
+
identity: IdentitySet;
|
|
97
|
+
node: DirectoryStateNode;
|
|
98
|
+
}): AccessDecision;
|
|
85
99
|
/**
|
|
86
100
|
* Convenience: the set of reserved pseudo-tokens an identity always/optionally
|
|
87
101
|
* carries. `$everyone` is always present for registered users; `$admin` and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../src/core/accesscontrol/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAGd,kBAAkB,EAClB,mBAAmB,EAGnB,QAAQ,EAER,aAAa,
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../src/core/accesscontrol/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAGd,kBAAkB,EAClB,mBAAmB,EAGnB,QAAQ,EAER,aAAa,EAId,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;;GASG;AAEH;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;OAKG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB;AAED,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,EAAE,EAAE,QAAQ,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,QAAQ,EAAE,WAAW,CAAC;IACtB,mEAAmE;IACnE,IAAI,EAAE,kBAAkB,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,aAAa,CAE5D;AAUD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAkGzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAAG,cAAc,CAgBzG;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,kBAAkB,CAAC;CAC1B,GAAG,cAAc,CA2BjB;AA8GD;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAA4B,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.PSEUDO_TOKEN_AUTHOR = exports.PSEUDO_TOKEN_ADMIN = exports.ALWAYS_PRESEN
|
|
|
4
4
|
exports.defaultWhenForOp = defaultWhenForOp;
|
|
5
5
|
exports.evaluateAccess = evaluateAccess;
|
|
6
6
|
exports.evaluateLlmUse = evaluateLlmUse;
|
|
7
|
+
exports.evaluateDocReadAll = evaluateDocReadAll;
|
|
7
8
|
const types_1 = require("./types");
|
|
8
9
|
Object.defineProperty(exports, "PSEUDO_TOKEN_ADMIN", { enumerable: true, get: function () { return types_1.PSEUDO_TOKEN_ADMIN; } });
|
|
9
10
|
Object.defineProperty(exports, "PSEUDO_TOKEN_AUTHOR", { enumerable: true, get: function () { return types_1.PSEUDO_TOKEN_AUTHOR; } });
|
|
@@ -27,6 +28,10 @@ function evaluateAccess(input) {
|
|
|
27
28
|
if (op === "llm_use") {
|
|
28
29
|
return evaluateLlmUse({ identity, node });
|
|
29
30
|
}
|
|
31
|
+
// `doc_read_all` only matters in a `docReadScope: "own"` database (§6.12).
|
|
32
|
+
if (op === "doc_read_all") {
|
|
33
|
+
return evaluateDocReadAll({ dbid, identity, node });
|
|
34
|
+
}
|
|
30
35
|
// No policy document has ever existed -> access control was never enabled ->
|
|
31
36
|
// everything is allowed (§6.1, the "no acl_defaultpolicy" state).
|
|
32
37
|
if (node.defaultPolicy === null) {
|
|
@@ -47,11 +52,13 @@ function evaluateAccess(input) {
|
|
|
47
52
|
doc_undelete: eff.denyDocUndelete,
|
|
48
53
|
doc_snapshot: eff.denyDocSnapshot,
|
|
49
54
|
doc_read: eff.denyDocRead,
|
|
55
|
+
// No baseline flag: only an explicit allow rule grants deposit (§6.10).
|
|
56
|
+
doc_deposit: true,
|
|
50
57
|
}[op];
|
|
51
58
|
const baselineDenied = denyField === true;
|
|
52
59
|
// Step 4: collect rules of this type whose dbid matches and whose users_hashes
|
|
53
60
|
// intersect the identity set.
|
|
54
|
-
const candidateRules = (node.rulesByType.get(op) ?? []).filter((r) => (r.dbid
|
|
61
|
+
const candidateRules = (node.rulesByType.get(op) ?? []).filter((r) => (0, types_1.ruleMatchesDbid)(r.dbid, dbid) && intersects(r.users_hashes, identity.hashes));
|
|
55
62
|
// Partition into Tier 1 (no withfields) and Tier 2 (withfields) rules.
|
|
56
63
|
let denyMatched = null;
|
|
57
64
|
let allowMatched = null;
|
|
@@ -124,6 +131,40 @@ function evaluateLlmUse(input) {
|
|
|
124
131
|
? deny("denied by baseline policy for llm_use", "tier1")
|
|
125
132
|
: allow("allowed by baseline policy for llm_use", "tier1");
|
|
126
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Whether the acting user reads every document of a database whose
|
|
136
|
+
* `docReadScope` is `"own"` (`doc_read_all`, docs/accesscontrol.md §6.12).
|
|
137
|
+
*
|
|
138
|
+
* Baseline is deny (only the own documents); a matching allow rule for this
|
|
139
|
+
* database (or `"*"`) opens all documents, deny overrides allow. The master
|
|
140
|
+
* switch turns the whole scope off (everyone reads everything), as it does
|
|
141
|
+
* every other check. The tenant admin is handled by the caller.
|
|
142
|
+
*/
|
|
143
|
+
function evaluateDocReadAll(input) {
|
|
144
|
+
const { dbid, identity, node } = input;
|
|
145
|
+
if (node.defaultPolicy === null) {
|
|
146
|
+
return allow("access control not enabled (no default policy)", "tier1");
|
|
147
|
+
}
|
|
148
|
+
const eff = (0, types_1.effectivePolicy)(node.defaultPolicy, node.dbPolicies.get(dbid) ?? null);
|
|
149
|
+
if (eff.disableAllAccessChecksAndPolicies) {
|
|
150
|
+
return allow("access control disabled by master switch", "tier1");
|
|
151
|
+
}
|
|
152
|
+
if (eff.docReadScope !== "own") {
|
|
153
|
+
return allow(`docReadScope of ${dbid} is "all"`, "tier1");
|
|
154
|
+
}
|
|
155
|
+
const rules = (node.rulesByType.get("doc_read_all") ?? []).filter((r) => (r.dbid === dbid || r.dbid === "*") &&
|
|
156
|
+
(r.withfields?.length ?? 0) === 0 &&
|
|
157
|
+
intersects(r.users_hashes, identity.hashes));
|
|
158
|
+
const denyRule = rules.find((r) => r.action === "deny");
|
|
159
|
+
if (denyRule) {
|
|
160
|
+
return deny(`denied by rule ${denyRule.ruleId}`, "tier1", denyRule.ruleId);
|
|
161
|
+
}
|
|
162
|
+
const allowRule = rules.find((r) => r.action === "allow");
|
|
163
|
+
if (allowRule) {
|
|
164
|
+
return allow(`allowed by rule ${allowRule.ruleId}`, "tier1", allowRule.ruleId);
|
|
165
|
+
}
|
|
166
|
+
return deny(`docReadScope of ${dbid} is "own"`, "tier1");
|
|
167
|
+
}
|
|
127
168
|
/** Returns true if any element of `hashes` is in `set`. */
|
|
128
169
|
function intersects(hashes, set) {
|
|
129
170
|
for (const h of hashes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../../src/core/accesscontrol/evaluate.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../../src/core/accesscontrol/evaluate.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,9 +27,28 @@ export declare const ACCESS_CONTROL_FORM: "accesscontrol";
|
|
|
27
27
|
* evaluated by {@link evaluateLlmUse}, independent of the master switch. Like
|
|
28
28
|
* the rest of the `llm` block it is client-enforced.
|
|
29
29
|
*/
|
|
30
|
-
export type RuleType = "doc_create" | "doc_change" | "doc_delete" | "doc_undelete" | "doc_snapshot" | "doc_read" | "llm_use";
|
|
30
|
+
export type RuleType = "doc_create" | "doc_change" | "doc_delete" | "doc_undelete" | "doc_snapshot" | "doc_read" | "doc_read_all" | "doc_deposit" | "llm_use";
|
|
31
31
|
/** All valid {@link RuleType} values, for validation and iteration. */
|
|
32
32
|
export declare const RULE_TYPES: readonly RuleType[];
|
|
33
|
+
/**
|
|
34
|
+
* `doc_deposit` (§6.10): a database-level right to put sealed documents into a
|
|
35
|
+
* database the principal may not read. Only an explicit allow rule grants it
|
|
36
|
+
* (there is no baseline flag), it never carries `withfields`, and its `dbid`
|
|
37
|
+
* may be exact, `"*"`, or a prefix pattern ending in `*` (e.g. `"mmail_*"`), so
|
|
38
|
+
* one rule can cover a family of per-person databases.
|
|
39
|
+
*
|
|
40
|
+
* {@link AclRuleDoc.maxRecipients} bounds how many recipient wraps a deposited
|
|
41
|
+
* `doc_create` may carry; it defaults to {@link DEFAULT_DEPOSIT_MAX_RECIPIENTS}.
|
|
42
|
+
*/
|
|
43
|
+
export declare const DEFAULT_DEPOSIT_MAX_RECIPIENTS = 1;
|
|
44
|
+
/** Upper bound accepted for {@link AclRuleDoc.maxRecipients}. */
|
|
45
|
+
export declare const MAX_DEPOSIT_RECIPIENTS = 100;
|
|
46
|
+
/**
|
|
47
|
+
* Whether a rule's `dbid` applies to `dbid`. `"*"` matches every database; a
|
|
48
|
+
* pattern ending in `*` (only valid on `doc_deposit` rules, see
|
|
49
|
+
* {@link validateAclRule}) matches by prefix.
|
|
50
|
+
*/
|
|
51
|
+
export declare function ruleMatchesDbid(ruleDbid: string, dbid: string): boolean;
|
|
33
52
|
/** Comparison operators usable in a {@link WithFieldClause}. Closed set. */
|
|
34
53
|
export type Operator = "equals" | "notEquals" | "contains" | "containsAny" | "containsAll" | "exists" | "notExists" | "gt" | "gte" | "lt" | "lte";
|
|
35
54
|
/** All valid {@link Operator} values. */
|
|
@@ -116,6 +135,17 @@ export interface DefaultAccessPolicyDoc {
|
|
|
116
135
|
* itself can be read). Defaults to false.
|
|
117
136
|
*/
|
|
118
137
|
denyDocRead?: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Which documents of the database a member may read (§6.12). `"all"`
|
|
140
|
+
* (default): every document. `"own"`: only documents whose `doc_create` was
|
|
141
|
+
* signed by one of the member's own signing keys (same grant, any device);
|
|
142
|
+
* the sync server leaves out everything else on every read path and refuses
|
|
143
|
+
* writes into other people's documents. The tenant admin and members matched
|
|
144
|
+
* by a `doc_read_all` allow rule still read everything. Layers per-db over
|
|
145
|
+
* the tenant default in {@link effectivePolicy}; usually set per-db only.
|
|
146
|
+
* Server-enforced (Tier 1, metadata only).
|
|
147
|
+
*/
|
|
148
|
+
docReadScope?: "all" | "own";
|
|
119
149
|
/**
|
|
120
150
|
* Optional default `decryptionKeyId` for a `doc_create` that does not specify
|
|
121
151
|
* one in the governed scope (tenant default, or a single database when set on
|
|
@@ -184,7 +214,38 @@ export interface DefaultAccessPolicyDoc {
|
|
|
184
214
|
* the whole object is replaced on write. See {@link LlmEndpointPolicy}.
|
|
185
215
|
*/
|
|
186
216
|
llm?: LlmEndpointPolicy;
|
|
217
|
+
/**
|
|
218
|
+
* More personal-database prefixes (§6.11), in addition to the built-in ones
|
|
219
|
+
* (`mmail_`). Tenant default policy only. Adding a prefix only ever makes
|
|
220
|
+
* databases more private: the built-in rule applies to every database id
|
|
221
|
+
* `<prefix><grantDocId>`. Like `llm` it holds while the master switch is on.
|
|
222
|
+
*/
|
|
223
|
+
personalDatabasePrefixes?: string[];
|
|
224
|
+
/**
|
|
225
|
+
* Internal mail between tenant members (§6.11, "Internal mail"): who may
|
|
226
|
+
* deposit MindooMail messages (`memo_…`, sealed to the owner) into another
|
|
227
|
+
* person's `mmail_<grantDocId>`. `"members"` (default): every member with a
|
|
228
|
+
* grant. `"rules"`: only members matched by a `doc_deposit` allow rule for
|
|
229
|
+
* the mailbox (e.g. `dbid: "mmail_*"`, a group). `"off"`: nobody (only
|
|
230
|
+
* grants with `depositPrefixes`, such as the mail gateway). A `doc_deposit`
|
|
231
|
+
* deny rule always wins, so one member's right can be taken away. Tenant
|
|
232
|
+
* default policy only; holds while the master switch is on.
|
|
233
|
+
*/
|
|
234
|
+
internalMail?: "off" | "members" | "rules";
|
|
235
|
+
/**
|
|
236
|
+
* Limits for internal mail deposits, enforced by the sync server per sender
|
|
237
|
+
* and mailbox: `maxBytesPerMail` (document plus attachments, default
|
|
238
|
+
* 25 MiB) and `maxMailsPerHour` (default 200). Tenant default policy only.
|
|
239
|
+
*/
|
|
240
|
+
internalMailLimits?: InternalMailLimits;
|
|
187
241
|
}
|
|
242
|
+
/** {@link DefaultAccessPolicyDoc.internalMailLimits}. */
|
|
243
|
+
export interface InternalMailLimits {
|
|
244
|
+
maxBytesPerMail?: number;
|
|
245
|
+
maxMailsPerHour?: number;
|
|
246
|
+
}
|
|
247
|
+
/** Defaults for {@link DefaultAccessPolicyDoc.internalMailLimits}. */
|
|
248
|
+
export declare const DEFAULT_INTERNAL_MAIL_LIMITS: Required<InternalMailLimits>;
|
|
188
249
|
/**
|
|
189
250
|
* The `llm` block of the tenant default policy.
|
|
190
251
|
*
|
|
@@ -212,12 +273,14 @@ export interface LlmEndpointPolicy {
|
|
|
212
273
|
* The effective baseline defaults when a policy document exists but omits a
|
|
213
274
|
* field (§6.1). Snapshot and purge default to denied (admin-only).
|
|
214
275
|
*/
|
|
215
|
-
export declare const DEFAULT_POLICY_DEFAULTS: Required<Omit<DefaultAccessPolicyDoc, "form" | "type" | "disableAllAccessChecksAndPolicies" | "defaultCreateKeyId" | "databaseCreationPolicy" | "allowedDbIds" | "requireMetadataSignatureSince" | "llm">>;
|
|
276
|
+
export declare const DEFAULT_POLICY_DEFAULTS: Required<Omit<DefaultAccessPolicyDoc, "form" | "type" | "disableAllAccessChecksAndPolicies" | "defaultCreateKeyId" | "docReadScope" | "databaseCreationPolicy" | "allowedDbIds" | "requireMetadataSignatureSince" | "llm" | "personalDatabasePrefixes" | "internalMail" | "internalMailLimits">>;
|
|
216
277
|
/**
|
|
217
278
|
* Map a database-scoped {@link RuleType} to the policy `deny<Op>` field that
|
|
218
279
|
* gates it. `llm_use` is not listed: its baseline is `llm.denyUse` (§6.9).
|
|
280
|
+
* Neither is `doc_deposit`: it has no baseline flag and is always denied
|
|
281
|
+
* unless an allow rule grants it (§6.10).
|
|
219
282
|
*/
|
|
220
|
-
export declare const RULE_TYPE_TO_DENY_FIELD: Record<Exclude<RuleType, "llm_use">, keyof typeof DEFAULT_POLICY_DEFAULTS>;
|
|
283
|
+
export declare const RULE_TYPE_TO_DENY_FIELD: Record<Exclude<RuleType, "llm_use" | "doc_read_all" | "doc_deposit">, keyof typeof DEFAULT_POLICY_DEFAULTS>;
|
|
221
284
|
/** A single access-control rule (§6.3). */
|
|
222
285
|
export interface AclRuleDoc {
|
|
223
286
|
form: typeof ACCESS_CONTROL_FORM;
|
|
@@ -241,6 +304,17 @@ export interface AclRuleDoc {
|
|
|
241
304
|
*/
|
|
242
305
|
users_encrypted: string;
|
|
243
306
|
action: "allow" | "deny";
|
|
307
|
+
/**
|
|
308
|
+
* `doc_deposit` only: the largest number of recipient wraps a deposited
|
|
309
|
+
* `doc_create` may carry (1..{@link MAX_DEPOSIT_RECIPIENTS}). Absent means
|
|
310
|
+
* {@link DEFAULT_DEPOSIT_MAX_RECIPIENTS}. Ignored on every other rule type.
|
|
311
|
+
*/
|
|
312
|
+
maxRecipients?: number;
|
|
313
|
+
/**
|
|
314
|
+
* `doc_deposit` only: the document ids a depositor may create must start with
|
|
315
|
+
* one of these prefixes (e.g. `["proposal_"]`). Absent or empty: any id.
|
|
316
|
+
*/
|
|
317
|
+
docIdPrefixes?: string[];
|
|
244
318
|
}
|
|
245
319
|
/**
|
|
246
320
|
* Decrypted targets of a rule, for admin-UI display only (never serialized to
|
|
@@ -311,12 +385,21 @@ export declare function validateWithFieldClause(clause: WithFieldClause, ruleTyp
|
|
|
311
385
|
* directory sets). Enforces the closed type/operator/placeholder sets and the
|
|
312
386
|
* `withfields` constraints (§6.3). Throws on the first violation.
|
|
313
387
|
*/
|
|
388
|
+
/**
|
|
389
|
+
* Document-id prefixes for deposits (§6.10): an array of non-empty strings
|
|
390
|
+
* made of the characters document ids use. Throws on violation.
|
|
391
|
+
*/
|
|
392
|
+
export declare function validateDocIdPrefixes(prefixes: unknown, what: string): void;
|
|
393
|
+
/** Whether `docId` passes a deposit's `docIdPrefixes` (absent or empty: any id). */
|
|
394
|
+
export declare function docIdMatchesPrefixes(docId: string, prefixes: readonly string[] | undefined): boolean;
|
|
314
395
|
export declare function validateAclRule(rule: {
|
|
315
396
|
type: RuleType;
|
|
316
397
|
dbid: string;
|
|
317
398
|
action: "allow" | "deny";
|
|
318
399
|
users_hashes: string[];
|
|
319
400
|
withfields?: WithFieldClause[];
|
|
401
|
+
maxRecipients?: number;
|
|
402
|
+
docIdPrefixes?: string[];
|
|
320
403
|
}): void;
|
|
321
404
|
/**
|
|
322
405
|
* Validate a {@link DefaultAccessPolicyDoc} (tenant default or per-db) before
|
|
@@ -335,8 +418,9 @@ export declare function validateLlmEndpointPolicy(llm: unknown): void;
|
|
|
335
418
|
* A `null`/absent default policy means access control was never enabled, which
|
|
336
419
|
* callers should treat as "all allowed" before calling this.
|
|
337
420
|
*/
|
|
338
|
-
export declare function effectivePolicy(tenantDefault: DefaultAccessPolicyDoc | null | undefined, dbPolicy: DefaultAccessPolicyDoc | null | undefined): Required<Omit<DefaultAccessPolicyDoc, "form" | "type" | "defaultCreateKeyId" | "databaseCreationPolicy" | "allowedDbIds" | "requireMetadataSignatureSince" | "llm">> & {
|
|
421
|
+
export declare function effectivePolicy(tenantDefault: DefaultAccessPolicyDoc | null | undefined, dbPolicy: DefaultAccessPolicyDoc | null | undefined): Required<Omit<DefaultAccessPolicyDoc, "form" | "type" | "defaultCreateKeyId" | "docReadScope" | "databaseCreationPolicy" | "allowedDbIds" | "requireMetadataSignatureSince" | "llm" | "personalDatabasePrefixes" | "internalMail" | "internalMailLimits">> & {
|
|
339
422
|
defaultCreateKeyId?: string;
|
|
423
|
+
docReadScope: "all" | "own";
|
|
340
424
|
};
|
|
341
425
|
/**
|
|
342
426
|
* Key distribution type tag (the `type` field of a {@link KeyDistributionDoc}).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/accesscontrol/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/accesscontrol/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ACL_DOC_HISTORY_PURGE_PREFIX = exports.DOC_HISTORY_PURGE_TYPE = exports.ACL_SYNC_SETUP_POLICY_PREFIX = exports.SYNC_SETUP_POLICY_MODES = exports.SYNC_SETUP_POLICY_TYPE = exports.ACL_APP_DISTRIBUTION_PREFIX = exports.APP_DISTRIBUTION_TYPE = exports.ACL_KEY_DISTRIBUTION_PREFIX = exports.PROTECTED_DISTRIBUTION_KEY_IDS = exports.KEY_DISTRIBUTION_TYPE = exports.ACL_DEFAULT_POLICY_DOC_ID = exports.RULE_TYPE_TO_DENY_FIELD = exports.DEFAULT_POLICY_DEFAULTS = exports.RESERVED_PSEUDO_TOKENS = exports.PSEUDO_TOKEN_AUTHOR = exports.PSEUDO_TOKEN_ADMIN = exports.PSEUDO_TOKEN_EVERYONE = exports.PLACEHOLDERS = exports.OPERATORS = exports.RULE_TYPES = exports.ACCESS_CONTROL_FORM = void 0;
|
|
3
|
+
exports.ACL_DOC_HISTORY_PURGE_PREFIX = exports.DOC_HISTORY_PURGE_TYPE = exports.ACL_SYNC_SETUP_POLICY_PREFIX = exports.SYNC_SETUP_POLICY_MODES = exports.SYNC_SETUP_POLICY_TYPE = exports.ACL_APP_DISTRIBUTION_PREFIX = exports.APP_DISTRIBUTION_TYPE = exports.ACL_KEY_DISTRIBUTION_PREFIX = exports.PROTECTED_DISTRIBUTION_KEY_IDS = exports.KEY_DISTRIBUTION_TYPE = exports.ACL_DEFAULT_POLICY_DOC_ID = exports.RULE_TYPE_TO_DENY_FIELD = exports.DEFAULT_POLICY_DEFAULTS = exports.DEFAULT_INTERNAL_MAIL_LIMITS = exports.RESERVED_PSEUDO_TOKENS = exports.PSEUDO_TOKEN_AUTHOR = exports.PSEUDO_TOKEN_ADMIN = exports.PSEUDO_TOKEN_EVERYONE = exports.PLACEHOLDERS = exports.OPERATORS = exports.MAX_DEPOSIT_RECIPIENTS = exports.DEFAULT_DEPOSIT_MAX_RECIPIENTS = exports.RULE_TYPES = exports.ACCESS_CONTROL_FORM = void 0;
|
|
4
|
+
exports.ruleMatchesDbid = ruleMatchesDbid;
|
|
4
5
|
exports.isPlaceholder = isPlaceholder;
|
|
5
6
|
exports.encodeAclIdComponent = encodeAclIdComponent;
|
|
6
7
|
exports.decodeAclIdComponent = decodeAclIdComponent;
|
|
@@ -8,6 +9,8 @@ exports.aclDbPolicyDocId = aclDbPolicyDocId;
|
|
|
8
9
|
exports.aclTrustedWitnessDocId = aclTrustedWitnessDocId;
|
|
9
10
|
exports.aclRuleDocId = aclRuleDocId;
|
|
10
11
|
exports.validateWithFieldClause = validateWithFieldClause;
|
|
12
|
+
exports.validateDocIdPrefixes = validateDocIdPrefixes;
|
|
13
|
+
exports.docIdMatchesPrefixes = docIdMatchesPrefixes;
|
|
11
14
|
exports.validateAclRule = validateAclRule;
|
|
12
15
|
exports.validateAccessPolicy = validateAccessPolicy;
|
|
13
16
|
exports.isValidLlmEndpointUrl = isValidLlmEndpointUrl;
|
|
@@ -48,8 +51,33 @@ exports.RULE_TYPES = [
|
|
|
48
51
|
"doc_undelete",
|
|
49
52
|
"doc_snapshot",
|
|
50
53
|
"doc_read",
|
|
54
|
+
"doc_read_all",
|
|
55
|
+
"doc_deposit",
|
|
51
56
|
"llm_use",
|
|
52
57
|
];
|
|
58
|
+
/**
|
|
59
|
+
* `doc_deposit` (§6.10): a database-level right to put sealed documents into a
|
|
60
|
+
* database the principal may not read. Only an explicit allow rule grants it
|
|
61
|
+
* (there is no baseline flag), it never carries `withfields`, and its `dbid`
|
|
62
|
+
* may be exact, `"*"`, or a prefix pattern ending in `*` (e.g. `"mmail_*"`), so
|
|
63
|
+
* one rule can cover a family of per-person databases.
|
|
64
|
+
*
|
|
65
|
+
* {@link AclRuleDoc.maxRecipients} bounds how many recipient wraps a deposited
|
|
66
|
+
* `doc_create` may carry; it defaults to {@link DEFAULT_DEPOSIT_MAX_RECIPIENTS}.
|
|
67
|
+
*/
|
|
68
|
+
exports.DEFAULT_DEPOSIT_MAX_RECIPIENTS = 1;
|
|
69
|
+
/** Upper bound accepted for {@link AclRuleDoc.maxRecipients}. */
|
|
70
|
+
exports.MAX_DEPOSIT_RECIPIENTS = 100;
|
|
71
|
+
/**
|
|
72
|
+
* Whether a rule's `dbid` applies to `dbid`. `"*"` matches every database; a
|
|
73
|
+
* pattern ending in `*` (only valid on `doc_deposit` rules, see
|
|
74
|
+
* {@link validateAclRule}) matches by prefix.
|
|
75
|
+
*/
|
|
76
|
+
function ruleMatchesDbid(ruleDbid, dbid) {
|
|
77
|
+
if (ruleDbid === "*" || ruleDbid === dbid)
|
|
78
|
+
return true;
|
|
79
|
+
return ruleDbid.length > 1 && ruleDbid.endsWith("*") && dbid.startsWith(ruleDbid.slice(0, -1));
|
|
80
|
+
}
|
|
53
81
|
/** All valid {@link Operator} values. */
|
|
54
82
|
exports.OPERATORS = [
|
|
55
83
|
"equals",
|
|
@@ -90,6 +118,11 @@ exports.RESERVED_PSEUDO_TOKENS = [
|
|
|
90
118
|
exports.PSEUDO_TOKEN_ADMIN,
|
|
91
119
|
exports.PSEUDO_TOKEN_AUTHOR,
|
|
92
120
|
];
|
|
121
|
+
/** Defaults for {@link DefaultAccessPolicyDoc.internalMailLimits}. */
|
|
122
|
+
exports.DEFAULT_INTERNAL_MAIL_LIMITS = {
|
|
123
|
+
maxBytesPerMail: 25 * 1024 * 1024,
|
|
124
|
+
maxMailsPerHour: 200,
|
|
125
|
+
};
|
|
93
126
|
/**
|
|
94
127
|
* The effective baseline defaults when a policy document exists but omits a
|
|
95
128
|
* field (§6.1). Snapshot and purge default to denied (admin-only).
|
|
@@ -105,6 +138,8 @@ exports.DEFAULT_POLICY_DEFAULTS = {
|
|
|
105
138
|
/**
|
|
106
139
|
* Map a database-scoped {@link RuleType} to the policy `deny<Op>` field that
|
|
107
140
|
* gates it. `llm_use` is not listed: its baseline is `llm.denyUse` (§6.9).
|
|
141
|
+
* Neither is `doc_deposit`: it has no baseline flag and is always denied
|
|
142
|
+
* unless an allow rule grants it (§6.10).
|
|
108
143
|
*/
|
|
109
144
|
exports.RULE_TYPE_TO_DENY_FIELD = {
|
|
110
145
|
doc_create: "denyDocCreate",
|
|
@@ -220,6 +255,25 @@ function validateWithFieldClause(clause, ruleType) {
|
|
|
220
255
|
* directory sets). Enforces the closed type/operator/placeholder sets and the
|
|
221
256
|
* `withfields` constraints (§6.3). Throws on the first violation.
|
|
222
257
|
*/
|
|
258
|
+
/**
|
|
259
|
+
* Document-id prefixes for deposits (§6.10): an array of non-empty strings
|
|
260
|
+
* made of the characters document ids use. Throws on violation.
|
|
261
|
+
*/
|
|
262
|
+
function validateDocIdPrefixes(prefixes, what) {
|
|
263
|
+
if (prefixes === undefined)
|
|
264
|
+
return;
|
|
265
|
+
if (!Array.isArray(prefixes))
|
|
266
|
+
throw new Error(`${what} must be an array of strings`);
|
|
267
|
+
for (const prefix of prefixes) {
|
|
268
|
+
if (typeof prefix !== "string" || !/^[A-Za-z0-9_-]{1,64}$/.test(prefix)) {
|
|
269
|
+
throw new Error(`${what}: "${String(prefix)}" is not a valid document-id prefix`);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
/** Whether `docId` passes a deposit's `docIdPrefixes` (absent or empty: any id). */
|
|
274
|
+
function docIdMatchesPrefixes(docId, prefixes) {
|
|
275
|
+
return !prefixes || prefixes.length === 0 || prefixes.some((prefix) => docId.startsWith(prefix));
|
|
276
|
+
}
|
|
223
277
|
function validateAclRule(rule) {
|
|
224
278
|
if (!exports.RULE_TYPES.includes(rule.type)) {
|
|
225
279
|
throw new Error(`rule has unknown type "${rule.type}"`);
|
|
@@ -239,6 +293,37 @@ function validateAclRule(rule) {
|
|
|
239
293
|
if (rule.type === "doc_read" && (rule.withfields?.length ?? 0) > 0) {
|
|
240
294
|
throw new Error("doc_read rules are database-level and cannot use `withfields`");
|
|
241
295
|
}
|
|
296
|
+
// `doc_read_all` names who reads every document of a `docReadScope: "own"`
|
|
297
|
+
// database (§6.12): database-level as well, so the server can enforce it.
|
|
298
|
+
if (rule.type === "doc_read_all" && (rule.withfields?.length ?? 0) > 0) {
|
|
299
|
+
throw new Error("doc_read_all rules are database-level and cannot use `withfields`");
|
|
300
|
+
}
|
|
301
|
+
// `doc_deposit` is a database-level right like `doc_read` (§6.10). It is the
|
|
302
|
+
// only type whose dbid may be a prefix pattern ("mmail_*").
|
|
303
|
+
if (rule.type === "doc_deposit") {
|
|
304
|
+
if ((rule.withfields?.length ?? 0) > 0) {
|
|
305
|
+
throw new Error("doc_deposit rules are database-level and cannot use `withfields`");
|
|
306
|
+
}
|
|
307
|
+
if (rule.maxRecipients !== undefined) {
|
|
308
|
+
if (!Number.isInteger(rule.maxRecipients) ||
|
|
309
|
+
rule.maxRecipients < 1 ||
|
|
310
|
+
rule.maxRecipients > exports.MAX_DEPOSIT_RECIPIENTS) {
|
|
311
|
+
throw new Error(`doc_deposit maxRecipients must be an integer from 1 to ${exports.MAX_DEPOSIT_RECIPIENTS}`);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
validateDocIdPrefixes(rule.docIdPrefixes, "doc_deposit docIdPrefixes");
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
if (rule.dbid !== "*" && rule.dbid.endsWith("*")) {
|
|
318
|
+
throw new Error('only doc_deposit rules may use a dbid prefix pattern ending in "*"');
|
|
319
|
+
}
|
|
320
|
+
if (rule.maxRecipients !== undefined) {
|
|
321
|
+
throw new Error("maxRecipients is only valid on doc_deposit rules");
|
|
322
|
+
}
|
|
323
|
+
if (rule.docIdPrefixes !== undefined) {
|
|
324
|
+
throw new Error("docIdPrefixes is only valid on doc_deposit rules");
|
|
325
|
+
}
|
|
326
|
+
}
|
|
242
327
|
// `llm_use` is a tenant-wide decision about the assistant (§6.9), not about
|
|
243
328
|
// a database or its documents.
|
|
244
329
|
if (rule.type === "llm_use") {
|
|
@@ -258,6 +343,33 @@ function validateAclRule(rule) {
|
|
|
258
343
|
* it is written. Throws on violation.
|
|
259
344
|
*/
|
|
260
345
|
function validateAccessPolicy(policy) {
|
|
346
|
+
if (policy.internalMail !== undefined &&
|
|
347
|
+
policy.internalMail !== "off" &&
|
|
348
|
+
policy.internalMail !== "members" &&
|
|
349
|
+
policy.internalMail !== "rules") {
|
|
350
|
+
throw new Error(`internalMail "${String(policy.internalMail)}" must be "off", "members" or "rules"`);
|
|
351
|
+
}
|
|
352
|
+
if (policy.internalMailLimits !== undefined) {
|
|
353
|
+
for (const [key, value] of Object.entries(policy.internalMailLimits)) {
|
|
354
|
+
if (!["maxBytesPerMail", "maxMailsPerHour"].includes(key)) {
|
|
355
|
+
throw new Error(`internalMailLimits.${key} is unknown`);
|
|
356
|
+
}
|
|
357
|
+
if (value !== undefined && (!Number.isInteger(value) || value < 1)) {
|
|
358
|
+
throw new Error(`internalMailLimits.${key} must be a positive integer`);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
if (policy.personalDatabasePrefixes !== undefined) {
|
|
363
|
+
if (!Array.isArray(policy.personalDatabasePrefixes) ||
|
|
364
|
+
!policy.personalDatabasePrefixes.every((prefix) => typeof prefix === "string" && /^[a-z][a-z0-9]*_$/.test(prefix))) {
|
|
365
|
+
throw new Error('personalDatabasePrefixes must be prefixes like "notes_" (lowercase letters and digits, ending in "_")');
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
if (policy.docReadScope !== undefined &&
|
|
369
|
+
policy.docReadScope !== "all" &&
|
|
370
|
+
policy.docReadScope !== "own") {
|
|
371
|
+
throw new Error(`docReadScope "${String(policy.docReadScope)}" must be "all" or "own"`);
|
|
372
|
+
}
|
|
261
373
|
if (policy.databaseCreationPolicy !== undefined &&
|
|
262
374
|
policy.databaseCreationPolicy !== "open" &&
|
|
263
375
|
policy.databaseCreationPolicy !== "directory-restricted") {
|
|
@@ -372,6 +484,7 @@ function effectivePolicy(tenantDefault, dbPolicy) {
|
|
|
372
484
|
denyDocSnapshot: pick("denyDocSnapshot"),
|
|
373
485
|
denyDocRead: pick("denyDocRead"),
|
|
374
486
|
defaultCreateKeyId,
|
|
487
|
+
docReadScope: dbPolicy?.docReadScope ?? tenantDefault?.docReadScope ?? "all",
|
|
375
488
|
};
|
|
376
489
|
}
|
|
377
490
|
/**
|