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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerNetworkContentAddressedStore.js","sourceRoot":"","sources":["../../../src/appendonlystores/network/ServerNetworkContentAddressedStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ServerNetworkContentAddressedStore.js","sourceRoot":"","sources":["../../../src/appendonlystores/network/ServerNetworkContentAddressedStore.ts"],"names":[],"mappings":"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"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -17,6 +17,8 @@ export const ATTACHMENT_EXTRACTED_TEXT_MAX_CHARS = browser["ATTACHMENT_EXTRACTED
|
|
|
17
17
|
export const AccessDeniedError = browser["AccessDeniedError"];
|
|
18
18
|
export const AuthenticationService = browser["AuthenticationService"];
|
|
19
19
|
export const BROWSER_REACHABLE_TSA = browser["BROWSER_REACHABLE_TSA"];
|
|
20
|
+
export const BUILTIN_PERSONAL_DATABASE_PREFIXES = browser["BUILTIN_PERSONAL_DATABASE_PREFIXES"];
|
|
21
|
+
export const BUILTIN_PERSONAL_DEPOSIT_DOC_ID_PREFIXES = browser["BUILTIN_PERSONAL_DEPOSIT_DOC_ID_PREFIXES"];
|
|
20
22
|
export const BaseMindooDB = browser["BaseMindooDB"];
|
|
21
23
|
export const BaseMindooTenant = browser["BaseMindooTenant"];
|
|
22
24
|
export const BaseMindooTenantFactory = browser["BaseMindooTenantFactory"];
|
|
@@ -32,6 +34,7 @@ export const ColumnSorting = browser["ColumnSorting"];
|
|
|
32
34
|
export const DATABASE_ID_REGEX = browser["DATABASE_ID_REGEX"];
|
|
33
35
|
export const DATABASE_ID_REQUIREMENTS = browser["DATABASE_ID_REQUIREMENTS"];
|
|
34
36
|
export const DB_SETUP_DOC_ID = browser["DB_SETUP_DOC_ID"];
|
|
37
|
+
export const DEFAULT_DEPOSIT_MAX_RECIPIENTS = browser["DEFAULT_DEPOSIT_MAX_RECIPIENTS"];
|
|
35
38
|
export const DEFAULT_FULLTEXT_MAX_FIELD_BYTES = browser["DEFAULT_FULLTEXT_MAX_FIELD_BYTES"];
|
|
36
39
|
export const DEFAULT_INCLUDE_LIMIT = browser["DEFAULT_INCLUDE_LIMIT"];
|
|
37
40
|
export const DEFAULT_MAX_RESUBMIT_RECORDS = browser["DEFAULT_MAX_RESUBMIT_RECORDS"];
|
|
@@ -66,6 +69,7 @@ export const KEY_DISTRIBUTION_TYPE = browser["KEY_DISTRIBUTION_TYPE"];
|
|
|
66
69
|
export const KeyBag = browser["KeyBag"];
|
|
67
70
|
export const MAX_CHANGE_ATTRIBUTION_MESSAGE_LENGTH = browser["MAX_CHANGE_ATTRIBUTION_MESSAGE_LENGTH"];
|
|
68
71
|
export const MAX_DATABASE_ID_LENGTH = browser["MAX_DATABASE_ID_LENGTH"];
|
|
72
|
+
export const MAX_DEPOSIT_RECIPIENTS = browser["MAX_DEPOSIT_RECIPIENTS"];
|
|
69
73
|
export const MAX_DOMAIN_STATEMENT_BYTES = browser["MAX_DOMAIN_STATEMENT_BYTES"];
|
|
70
74
|
export const MAX_INCLUDE_DEPTH = browser["MAX_INCLUDE_DEPTH"];
|
|
71
75
|
export const MAX_QUARANTINED_ENTRY_IDS = browser["MAX_QUARANTINED_ENTRY_IDS"];
|
|
@@ -90,9 +94,12 @@ export const PEER_DEVICE_DOC_ID_PREFIX = browser["PEER_DEVICE_DOC_ID_PREFIX"];
|
|
|
90
94
|
export const PEER_DEVICE_FORM = browser["PEER_DEVICE_FORM"];
|
|
91
95
|
export const PEER_DEVICE_SCHEMA_VERSION = browser["PEER_DEVICE_SCHEMA_VERSION"];
|
|
92
96
|
export const PEER_DEVICE_TYPE = browser["PEER_DEVICE_TYPE"];
|
|
97
|
+
export const PERSONAL_DATABASE_PREFIX_REGEX = browser["PERSONAL_DATABASE_PREFIX_REGEX"];
|
|
93
98
|
export const PERSONAL_DOC_ID_PREFIXES = browser["PERSONAL_DOC_ID_PREFIXES"];
|
|
94
99
|
export const PROTECTED_DISTRIBUTION_KEY_IDS = browser["PROTECTED_DISTRIBUTION_KEY_IDS"];
|
|
95
100
|
export const PUBLIC_INFOS_KEY_ID = browser["PUBLIC_INFOS_KEY_ID"];
|
|
101
|
+
export const PURGE_REQUEST_FORM = browser["PURGE_REQUEST_FORM"];
|
|
102
|
+
export const PURGE_REQUEST_ID_PREFIX = browser["PURGE_REQUEST_ID_PREFIX"];
|
|
96
103
|
export const PUT_REJECTION_CLASSES = browser["PUT_REJECTION_CLASSES"];
|
|
97
104
|
export const QUARANTINE_DOC_ID_PREFIX = browser["QUARANTINE_DOC_ID_PREFIX"];
|
|
98
105
|
export const QUARANTINE_FORM = browser["QUARANTINE_FORM"];
|
|
@@ -106,6 +113,7 @@ export const RULE_TYPE_TO_DENY_FIELD = browser["RULE_TYPE_TO_DENY_FIELD"];
|
|
|
106
113
|
export const RpcContentAddressedStore = browser["RpcContentAddressedStore"];
|
|
107
114
|
export const RpcContentAddressedStoreFactory = browser["RpcContentAddressedStoreFactory"];
|
|
108
115
|
export const SEALED_KEY_PREFIX = browser["SEALED_KEY_PREFIX"];
|
|
116
|
+
export const SEALED_VALUE_VERSION = browser["SEALED_VALUE_VERSION"];
|
|
109
117
|
export const SIGNING_DOMAINS = browser["SIGNING_DOMAINS"];
|
|
110
118
|
export const SQLITE_STORE_RPC_METHODS = browser["SQLITE_STORE_RPC_METHODS"];
|
|
111
119
|
export const SUMMARY_SETUP_FIELD = browser["SUMMARY_SETUP_FIELD"];
|
|
@@ -206,6 +214,7 @@ export const encodeJoinRequestUri = browser["encodeJoinRequestUri"];
|
|
|
206
214
|
export const encodeKeyDistributionRequest = browser["encodeKeyDistributionRequest"];
|
|
207
215
|
export const encodeMindooURI = browser["encodeMindooURI"];
|
|
208
216
|
export const encodeSyncSetupPolicyRequest = browser["encodeSyncSetupPolicyRequest"];
|
|
217
|
+
export const encryptEncryptedField = browser["encryptEncryptedField"];
|
|
209
218
|
export const ensureTenantSetupAdministrator = browser["ensureTenantSetupAdministrator"];
|
|
210
219
|
export const entrySignatureFieldsFromEntry = browser["entrySignatureFieldsFromEntry"];
|
|
211
220
|
export const entryTrustedTime = browser["entryTrustedTime"];
|
|
@@ -271,10 +280,12 @@ export const isPeerDeviceDocId = browser["isPeerDeviceDocId"];
|
|
|
271
280
|
export const isPendingUserKeyDocument = browser["isPendingUserKeyDocument"];
|
|
272
281
|
export const isPersonalUserdirectoryDocId = browser["isPersonalUserdirectoryDocId"];
|
|
273
282
|
export const isProvisional = browser["isProvisional"];
|
|
283
|
+
export const isPurgeRequestDocId = browser["isPurgeRequestDocId"];
|
|
274
284
|
export const isQuarantineDocId = browser["isQuarantineDocId"];
|
|
275
285
|
export const isResubmittableRejection = browser["isResubmittableRejection"];
|
|
276
286
|
export const isSamePerson = browser["isSamePerson"];
|
|
277
287
|
export const isSealedKeyId = browser["isSealedKeyId"];
|
|
288
|
+
export const isSealedValue = browser["isSealedValue"];
|
|
278
289
|
export const isSelfResolvingRejection = browser["isSelfResolvingRejection"];
|
|
279
290
|
export const isSyncSetupPolicyDocId = browser["isSyncSetupPolicyDocId"];
|
|
280
291
|
export const isValidDatabaseId = browser["isValidDatabaseId"];
|
|
@@ -302,6 +313,7 @@ export const parseMindooDBFormulaBooleanExpression = browser["parseMindooDBFormu
|
|
|
302
313
|
export const parseMindooDBFormulaExpression = browser["parseMindooDBFormulaExpression"];
|
|
303
314
|
export const parseTypedValue = browser["parseTypedValue"];
|
|
304
315
|
export const peerDeviceDocumentId = browser["peerDeviceDocumentId"];
|
|
316
|
+
export const personalDatabaseOwner = browser["personalDatabaseOwner"];
|
|
305
317
|
export const publishPeerDeviceRecord = browser["publishPeerDeviceRecord"];
|
|
306
318
|
export const quarantineDocumentId = browser["quarantineDocumentId"];
|
|
307
319
|
export const queryViewAcross = browser["queryViewAcross"];
|
|
@@ -309,6 +321,7 @@ export const readContentAddressedStoreBytes = browser["readContentAddressedStore
|
|
|
309
321
|
export const readLocalCacheStoreBytes = browser["readLocalCacheStoreBytes"];
|
|
310
322
|
export const readLocalCacheStoreBytesForType = browser["readLocalCacheStoreBytesForType"];
|
|
311
323
|
export const readLocalCacheStoreEntriesForType = browser["readLocalCacheStoreEntriesForType"];
|
|
324
|
+
export const readSealedValue = browser["readSealedValue"];
|
|
312
325
|
export const readTenantSetupAdministrators = browser["readTenantSetupAdministrators"];
|
|
313
326
|
export const readTenantSetupLabel = browser["readTenantSetupLabel"];
|
|
314
327
|
export const recordPushQuarantine = browser["recordPushQuarantine"];
|
|
@@ -324,6 +337,7 @@ export const resolveRecipientsFromPayload = browser["resolveRecipientsFromPayloa
|
|
|
324
337
|
export const resolveSummaryConfig = browser["resolveSummaryConfig"];
|
|
325
338
|
export const resolveUserKeyDocument = browser["resolveUserKeyDocument"];
|
|
326
339
|
export const resubmitQuarantinedEntries = browser["resubmitQuarantinedEntries"];
|
|
340
|
+
export const ruleMatchesDbid = browser["ruleMatchesDbid"];
|
|
327
341
|
export const sanitizeCanonicalNamePart = browser["sanitizeCanonicalNamePart"];
|
|
328
342
|
export const sanitizeExtractionConfig = browser["sanitizeExtractionConfig"];
|
|
329
343
|
export const sanitizeFulltextConfig = browser["sanitizeFulltextConfig"];
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MindooDB stores and server state on a Durable Object's SQLite database.
|
|
3
|
+
*
|
|
4
|
+
* Durable Object SQL is synchronous and commits every write of one event-loop
|
|
5
|
+
* turn atomically; it rejects BEGIN/COMMIT. The store backend therefore runs
|
|
6
|
+
* without explicit transactions (batches are still serialized), and since the
|
|
7
|
+
* executor never awaits real I/O, a whole `putEntries` batch lands in one
|
|
8
|
+
* implicit transaction.
|
|
9
|
+
*/
|
|
10
|
+
import { type ExternalContentStore, type SqliteExecutor, type SqliteStoreBackend } from "../core/appendonlystores/sqlite/SqliteDriver";
|
|
11
|
+
import { SqliteContentAddressedStore } from "../core/appendonlystores/sqlite/SqliteContentAddressedStore";
|
|
12
|
+
import type { StoreKind } from "../core/appendonlystores/types";
|
|
13
|
+
import type { ServerDataStore } from "../server/ServerDataStore";
|
|
14
|
+
import type { R2Bucket, SqlStorage } from "./types";
|
|
15
|
+
/**
|
|
16
|
+
* Durable Object SQLite limits a BLOB, and a row, to 2 MB. Entries above this
|
|
17
|
+
* are refused with a clear error instead of a storage exception mid-batch —
|
|
18
|
+
* unless an R2 bucket takes them (see {@link r2ContentStore}).
|
|
19
|
+
*/
|
|
20
|
+
export declare const MAX_DURABLE_OBJECT_ENTRY_BYTES: number;
|
|
21
|
+
/** {@link SqliteExecutor} over `ctx.storage.sql`. */
|
|
22
|
+
export declare function createDurableObjectSqlExecutor(sql: SqlStorage): SqliteExecutor;
|
|
23
|
+
/** Payloads from this size on go to R2; well below the row limit, rare in practice. */
|
|
24
|
+
export declare const R2_CONTENT_THRESHOLD_BYTES: number;
|
|
25
|
+
/**
|
|
26
|
+
* Payloads of one store in R2, under `<keyPrefix><contentHash>`. The key
|
|
27
|
+
* prefix names the tenant, database and store, so stores never share
|
|
28
|
+
* objects and a database's objects can be removed by prefix.
|
|
29
|
+
*/
|
|
30
|
+
export declare function r2ContentStore(bucket: R2Bucket, keyPrefix: string): ExternalContentStore;
|
|
31
|
+
/** Remove every object under `prefix`. */
|
|
32
|
+
export declare function deleteR2Prefix(bucket: R2Bucket, prefix: string): Promise<void>;
|
|
33
|
+
/** Durable Object SQLite refuses statements with more bound parameters than this. */
|
|
34
|
+
export declare const DURABLE_OBJECT_MAX_BOUND_PARAMETERS = 100;
|
|
35
|
+
export declare function createDurableObjectStoreBackend(sql: SqlStorage, tablePrefix: string, externalContent?: ExternalContentStore): SqliteStoreBackend;
|
|
36
|
+
/** A content-addressed store whose tables carry `tablePrefix` in the object's database. */
|
|
37
|
+
export declare function createDurableObjectStore(sql: SqlStorage, dbId: string, storeKind: StoreKind, tablePrefix: string, externalContent?: ExternalContentStore): SqliteContentAddressedStore;
|
|
38
|
+
/**
|
|
39
|
+
* {@link ServerDataStore} on a key/value table. "Directories" are derived from
|
|
40
|
+
* the `/`-separated keys, as on the file system.
|
|
41
|
+
*/
|
|
42
|
+
export declare class DurableObjectServerDataStore implements ServerDataStore {
|
|
43
|
+
private readonly sql;
|
|
44
|
+
constructor(sql: SqlStorage);
|
|
45
|
+
private static normalize;
|
|
46
|
+
exists(key: string): boolean;
|
|
47
|
+
readBytes(key: string): Uint8Array | null;
|
|
48
|
+
readText(key: string): string | null;
|
|
49
|
+
writeBytes(key: string, value: Uint8Array): void;
|
|
50
|
+
writeText(key: string, value: string): void;
|
|
51
|
+
listDirectories(prefix: string): string[];
|
|
52
|
+
/** Names of the values directly below `prefix` (not the directories). */
|
|
53
|
+
listFiles(prefix: string): string[];
|
|
54
|
+
deleteTree(prefix: string): void;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=DurableObjectSql.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DurableObjectSql.d.ts","sourceRoot":"","sources":["../../src/cloudflare/DurableObjectSql.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAExB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,6DAA6D,CAAC;AAC1G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,QAA8B,CAAC;AAc1E,qDAAqD;AACrD,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,UAAU,GAAG,cAAc,CAkB9E;AAED,uFAAuF;AACvF,eAAO,MAAM,0BAA0B,QAAc,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,oBAAoB,CAiBxF;AAED,0CAA0C;AAC1C,wBAAsB,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASpF;AAED,qFAAqF;AACrF,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,oBAAoB,GACrC,kBAAkB,CAOpB;AAED,2FAA2F;AAC3F,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,oBAAoB,GACrC,2BAA2B,CAM7B;AAED;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,eAAe;IACtD,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,UAAU;IAM5C,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAc5B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAUzC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKpC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAahD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAmBzC,yEAAyE;IACzE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAcnC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAajC"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MindooDB stores and server state on a Durable Object's SQLite database.
|
|
4
|
+
*
|
|
5
|
+
* Durable Object SQL is synchronous and commits every write of one event-loop
|
|
6
|
+
* turn atomically; it rejects BEGIN/COMMIT. The store backend therefore runs
|
|
7
|
+
* without explicit transactions (batches are still serialized), and since the
|
|
8
|
+
* executor never awaits real I/O, a whole `putEntries` batch lands in one
|
|
9
|
+
* implicit transaction.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DurableObjectServerDataStore = exports.DURABLE_OBJECT_MAX_BOUND_PARAMETERS = exports.R2_CONTENT_THRESHOLD_BYTES = exports.MAX_DURABLE_OBJECT_ENTRY_BYTES = void 0;
|
|
13
|
+
exports.createDurableObjectSqlExecutor = createDurableObjectSqlExecutor;
|
|
14
|
+
exports.r2ContentStore = r2ContentStore;
|
|
15
|
+
exports.deleteR2Prefix = deleteR2Prefix;
|
|
16
|
+
exports.createDurableObjectStoreBackend = createDurableObjectStoreBackend;
|
|
17
|
+
exports.createDurableObjectStore = createDurableObjectStore;
|
|
18
|
+
const SqliteDriver_1 = require("../core/appendonlystores/sqlite/SqliteDriver");
|
|
19
|
+
const SqliteContentAddressedStore_1 = require("../core/appendonlystores/sqlite/SqliteContentAddressedStore");
|
|
20
|
+
/**
|
|
21
|
+
* Durable Object SQLite limits a BLOB, and a row, to 2 MB. Entries above this
|
|
22
|
+
* are refused with a clear error instead of a storage exception mid-batch —
|
|
23
|
+
* unless an R2 bucket takes them (see {@link r2ContentStore}).
|
|
24
|
+
*/
|
|
25
|
+
exports.MAX_DURABLE_OBJECT_ENTRY_BYTES = 2 * 1024 * 1024 - 64 * 1024;
|
|
26
|
+
function toBinding(value) {
|
|
27
|
+
if (value instanceof Uint8Array) {
|
|
28
|
+
if (value.byteLength > exports.MAX_DURABLE_OBJECT_ENTRY_BYTES) {
|
|
29
|
+
throw new Error(`Entry of ${value.byteLength} bytes exceeds the ${exports.MAX_DURABLE_OBJECT_ENTRY_BYTES}-byte limit of this server`);
|
|
30
|
+
}
|
|
31
|
+
return value.buffer.slice(value.byteOffset, value.byteOffset + value.byteLength);
|
|
32
|
+
}
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
/** {@link SqliteExecutor} over `ctx.storage.sql`. */
|
|
36
|
+
function createDurableObjectSqlExecutor(sql) {
|
|
37
|
+
return {
|
|
38
|
+
async exec(statement) {
|
|
39
|
+
sql.exec(statement);
|
|
40
|
+
},
|
|
41
|
+
async run(statement, params = []) {
|
|
42
|
+
const cursor = sql.exec(statement, ...params.map(toBinding));
|
|
43
|
+
cursor.toArray();
|
|
44
|
+
return { changes: cursor.rowsWritten };
|
|
45
|
+
},
|
|
46
|
+
async get(statement, params = []) {
|
|
47
|
+
const rows = sql.exec(statement, ...params.map(toBinding)).toArray();
|
|
48
|
+
return rows[0];
|
|
49
|
+
},
|
|
50
|
+
async all(statement, params = []) {
|
|
51
|
+
return sql.exec(statement, ...params.map(toBinding)).toArray();
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/** Payloads from this size on go to R2; well below the row limit, rare in practice. */
|
|
56
|
+
exports.R2_CONTENT_THRESHOLD_BYTES = 1024 * 1024;
|
|
57
|
+
/**
|
|
58
|
+
* Payloads of one store in R2, under `<keyPrefix><contentHash>`. The key
|
|
59
|
+
* prefix names the tenant, database and store, so stores never share
|
|
60
|
+
* objects and a database's objects can be removed by prefix.
|
|
61
|
+
*/
|
|
62
|
+
function r2ContentStore(bucket, keyPrefix) {
|
|
63
|
+
return {
|
|
64
|
+
thresholdBytes: exports.R2_CONTENT_THRESHOLD_BYTES,
|
|
65
|
+
async put(contentHash, bytes) {
|
|
66
|
+
await bucket.put(`${keyPrefix}${contentHash}`, bytes);
|
|
67
|
+
},
|
|
68
|
+
async get(contentHash) {
|
|
69
|
+
const object = await bucket.get(`${keyPrefix}${contentHash}`);
|
|
70
|
+
return object ? new Uint8Array(await object.arrayBuffer()) : null;
|
|
71
|
+
},
|
|
72
|
+
async delete(contentHash) {
|
|
73
|
+
await bucket.delete(`${keyPrefix}${contentHash}`);
|
|
74
|
+
},
|
|
75
|
+
async clear() {
|
|
76
|
+
await deleteR2Prefix(bucket, keyPrefix);
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/** Remove every object under `prefix`. */
|
|
81
|
+
async function deleteR2Prefix(bucket, prefix) {
|
|
82
|
+
let cursor;
|
|
83
|
+
do {
|
|
84
|
+
const page = await bucket.list({ prefix, cursor, limit: 1000 });
|
|
85
|
+
if (page.objects.length > 0) {
|
|
86
|
+
await bucket.delete(page.objects.map((object) => object.key));
|
|
87
|
+
}
|
|
88
|
+
cursor = page.truncated ? page.cursor : undefined;
|
|
89
|
+
} while (cursor);
|
|
90
|
+
}
|
|
91
|
+
/** Durable Object SQLite refuses statements with more bound parameters than this. */
|
|
92
|
+
exports.DURABLE_OBJECT_MAX_BOUND_PARAMETERS = 100;
|
|
93
|
+
function createDurableObjectStoreBackend(sql, tablePrefix, externalContent) {
|
|
94
|
+
return (0, SqliteDriver_1.createSqlBackend)(createDurableObjectSqlExecutor(sql), {
|
|
95
|
+
tablePrefix,
|
|
96
|
+
explicitTransactions: false,
|
|
97
|
+
externalContent,
|
|
98
|
+
maxBoundParameters: exports.DURABLE_OBJECT_MAX_BOUND_PARAMETERS,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/** A content-addressed store whose tables carry `tablePrefix` in the object's database. */
|
|
102
|
+
function createDurableObjectStore(sql, dbId, storeKind, tablePrefix, externalContent) {
|
|
103
|
+
return new SqliteContentAddressedStore_1.SqliteContentAddressedStore(dbId, storeKind, createDurableObjectStoreBackend(sql, tablePrefix, externalContent));
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* {@link ServerDataStore} on a key/value table. "Directories" are derived from
|
|
107
|
+
* the `/`-separated keys, as on the file system.
|
|
108
|
+
*/
|
|
109
|
+
class DurableObjectServerDataStore {
|
|
110
|
+
constructor(sql) {
|
|
111
|
+
this.sql = sql;
|
|
112
|
+
sql.exec("CREATE TABLE IF NOT EXISTS mindoo_server_kv (key TEXT PRIMARY KEY NOT NULL, value BLOB NOT NULL)");
|
|
113
|
+
}
|
|
114
|
+
static normalize(key) {
|
|
115
|
+
return key.split("/").filter((part) => part.length > 0).join("/");
|
|
116
|
+
}
|
|
117
|
+
exists(key) {
|
|
118
|
+
const normalized = DurableObjectServerDataStore.normalize(key);
|
|
119
|
+
if (normalized === "")
|
|
120
|
+
return true;
|
|
121
|
+
const row = this.sql
|
|
122
|
+
.exec("SELECT 1 AS present FROM mindoo_server_kv WHERE key = ? OR substr(key, 1, ?) = ? LIMIT 1", normalized, normalized.length + 1, `${normalized}/`)
|
|
123
|
+
.toArray();
|
|
124
|
+
return row.length > 0;
|
|
125
|
+
}
|
|
126
|
+
readBytes(key) {
|
|
127
|
+
const rows = this.sql
|
|
128
|
+
.exec("SELECT value FROM mindoo_server_kv WHERE key = ?", DurableObjectServerDataStore.normalize(key))
|
|
129
|
+
.toArray();
|
|
130
|
+
return rows.length > 0 ? new Uint8Array(rows[0].value) : null;
|
|
131
|
+
}
|
|
132
|
+
readText(key) {
|
|
133
|
+
const bytes = this.readBytes(key);
|
|
134
|
+
return bytes === null ? null : new TextDecoder().decode(bytes);
|
|
135
|
+
}
|
|
136
|
+
writeBytes(key, value) {
|
|
137
|
+
if (value.byteLength > exports.MAX_DURABLE_OBJECT_ENTRY_BYTES) {
|
|
138
|
+
throw new Error(`Server state "${key}" is ${value.byteLength} bytes; Durable Object storage holds at most 2 MB per value`);
|
|
139
|
+
}
|
|
140
|
+
this.sql.exec("INSERT INTO mindoo_server_kv(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value", DurableObjectServerDataStore.normalize(key), value.buffer.slice(value.byteOffset, value.byteOffset + value.byteLength));
|
|
141
|
+
}
|
|
142
|
+
writeText(key, value) {
|
|
143
|
+
this.writeBytes(key, new TextEncoder().encode(value));
|
|
144
|
+
}
|
|
145
|
+
listDirectories(prefix) {
|
|
146
|
+
const normalized = DurableObjectServerDataStore.normalize(prefix);
|
|
147
|
+
const base = normalized === "" ? "" : `${normalized}/`;
|
|
148
|
+
const rows = this.sql
|
|
149
|
+
.exec("SELECT key FROM mindoo_server_kv WHERE substr(key, 1, ?) = ?", base.length, base)
|
|
150
|
+
.toArray();
|
|
151
|
+
const names = new Set();
|
|
152
|
+
for (const { key } of rows) {
|
|
153
|
+
const rest = key.substring(base.length);
|
|
154
|
+
const slash = rest.indexOf("/");
|
|
155
|
+
if (slash > 0)
|
|
156
|
+
names.add(rest.substring(0, slash));
|
|
157
|
+
}
|
|
158
|
+
return [...names];
|
|
159
|
+
}
|
|
160
|
+
/** Names of the values directly below `prefix` (not the directories). */
|
|
161
|
+
listFiles(prefix) {
|
|
162
|
+
const normalized = DurableObjectServerDataStore.normalize(prefix);
|
|
163
|
+
const base = normalized === "" ? "" : `${normalized}/`;
|
|
164
|
+
return this.sql
|
|
165
|
+
.exec("SELECT key FROM mindoo_server_kv WHERE substr(key, 1, ?) = ?", base.length, base)
|
|
166
|
+
.toArray()
|
|
167
|
+
.map(({ key }) => key.substring(base.length))
|
|
168
|
+
.filter((rest) => rest.length > 0 && !rest.includes("/"));
|
|
169
|
+
}
|
|
170
|
+
deleteTree(prefix) {
|
|
171
|
+
const normalized = DurableObjectServerDataStore.normalize(prefix);
|
|
172
|
+
if (normalized === "") {
|
|
173
|
+
this.sql.exec("DELETE FROM mindoo_server_kv");
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
this.sql.exec("DELETE FROM mindoo_server_kv WHERE key = ? OR substr(key, 1, ?) = ?", normalized, normalized.length + 1, `${normalized}/`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
exports.DurableObjectServerDataStore = DurableObjectServerDataStore;
|
|
180
|
+
//# sourceMappingURL=DurableObjectSql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DurableObjectSql.js","sourceRoot":"","sources":["../../src/cloudflare/DurableObjectSql.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One Durable Object per (tenant, database), named `<tenantId>/<dbId>`.
|
|
3
|
+
*
|
|
4
|
+
* Each object runs the platform-neutral server core for its database: the
|
|
5
|
+
* docs and attachments stores live in the object's SQLite, and access control
|
|
6
|
+
* runs locally with the same code as on Node. For that it needs the tenant's
|
|
7
|
+
* directory, so every object other than `directory` keeps a read-only replica
|
|
8
|
+
* of the directory store and pulls new entries from the tenant's directory
|
|
9
|
+
* object before it serves a request (at most every few seconds, immediately
|
|
10
|
+
* when the directory announces a change, and once more when a request was
|
|
11
|
+
* denied — a grant may just have arrived).
|
|
12
|
+
*
|
|
13
|
+
* The `directory` object is also the tenant's hub: it answers the auth
|
|
14
|
+
* handshake (challenges are kept in memory), proxies RFC 3161 requests, holds
|
|
15
|
+
* the Server-Sent-Events streams and receives the change events of the other
|
|
16
|
+
* databases, and knows which databases the tenant has.
|
|
17
|
+
*/
|
|
18
|
+
import type { DurableObjectState, MindooCloudflareEnv } from "./types";
|
|
19
|
+
export declare class MindooDatabaseObject {
|
|
20
|
+
private readonly ctx;
|
|
21
|
+
private readonly env;
|
|
22
|
+
private readonly settings;
|
|
23
|
+
private readonly cryptoAdapter;
|
|
24
|
+
private dataStore;
|
|
25
|
+
private stores;
|
|
26
|
+
private tenantId;
|
|
27
|
+
private dbId;
|
|
28
|
+
private tenantState;
|
|
29
|
+
private tenantStateLoad;
|
|
30
|
+
private tenantManager;
|
|
31
|
+
private core;
|
|
32
|
+
/** Change events of the whole tenant; only used in the directory object. */
|
|
33
|
+
private readonly eventBus;
|
|
34
|
+
private replicaCheckedAt;
|
|
35
|
+
private replicaRefresh;
|
|
36
|
+
/** Payload buffers of store RPC exchanges with the server object. */
|
|
37
|
+
private readonly rpcBytes;
|
|
38
|
+
/**
|
|
39
|
+
* Requests that carry entry payloads run one at a time: a batch of
|
|
40
|
+
* attachment chunks is up to ~25 MB plus its encrypted copies, and the
|
|
41
|
+
* isolate has 128 MB. Metadata requests are not queued.
|
|
42
|
+
*/
|
|
43
|
+
private payloadQueue;
|
|
44
|
+
private withPayloadSlot;
|
|
45
|
+
constructor(ctx: DurableObjectState, env: MindooCloudflareEnv);
|
|
46
|
+
private openStorage;
|
|
47
|
+
private get isDirectory();
|
|
48
|
+
fetch(request: Request): Promise<Response>;
|
|
49
|
+
/** The object's own stores, and the directory (own or replica). */
|
|
50
|
+
private store;
|
|
51
|
+
/** R2 keys of this object's large entries start with this. */
|
|
52
|
+
private r2Prefix;
|
|
53
|
+
private loadTenantState;
|
|
54
|
+
private fetchTenantState;
|
|
55
|
+
/** Tell the tenant's directory object that this database exists. */
|
|
56
|
+
private registerWithDirectory;
|
|
57
|
+
private createCore;
|
|
58
|
+
private directoryObject;
|
|
59
|
+
/** Let the server object push an accepted write on to the peers. */
|
|
60
|
+
private reportToCluster;
|
|
61
|
+
private forwardEvent;
|
|
62
|
+
private registeredDatabases;
|
|
63
|
+
/** Directory object: let every database pull the directory and run its purges. */
|
|
64
|
+
private notifyDatabasesOfDirectoryChange;
|
|
65
|
+
/**
|
|
66
|
+
* Pull new directory entries into the replica. Returns whether anything
|
|
67
|
+
* arrived. Concurrent callers share one pull.
|
|
68
|
+
*/
|
|
69
|
+
private refreshDirectoryReplica;
|
|
70
|
+
private pullDirectory;
|
|
71
|
+
/** Directory object: one page of directory entries after `cursor`. */
|
|
72
|
+
private directoryChanges;
|
|
73
|
+
private internal;
|
|
74
|
+
/**
|
|
75
|
+
* This object's stores for peer replication in the server object. Pulled
|
|
76
|
+
* entries of purged documents are refused, as on Node.
|
|
77
|
+
*/
|
|
78
|
+
private storeRpc;
|
|
79
|
+
/** Delete everything of a removed tenant (the directory object first wipes the others). */
|
|
80
|
+
private wipe;
|
|
81
|
+
private public;
|
|
82
|
+
private sync;
|
|
83
|
+
/** Server-Sent-Events stream on the tenant's event bus (directory object only). */
|
|
84
|
+
private openEventStream;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=MindooDatabaseObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MindooDatabaseObject.d.ts","sourceRoot":"","sources":["../../src/cloudflare/MindooDatabaseObject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA2DH,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAyBvE,qBAAa,oBAAoB;IA+B7B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IA/BtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,MAAM,CAAkD;IAChE,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,IAAI,CAAmC;IAC/C,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAAiC;IACvD,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAuC;IAE3D,OAAO,CAAC,eAAe;gBAOJ,GAAG,EAAE,kBAAkB,EACvB,GAAG,EAAE,mBAAmB;IAM3C,OAAO,CAAC,WAAW;IAMnB,OAAO,KAAK,WAAW,GAEtB;IAEK,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2BhD,mEAAmE;IACnE,OAAO,CAAC,KAAK;IAwBb,8DAA8D;IAC9D,OAAO,CAAC,QAAQ;YAMF,eAAe;YAaf,gBAAgB;IAqD9B,oEAAoE;YACtD,qBAAqB;IAYnC,OAAO,CAAC,UAAU;IAyFlB,OAAO,CAAC,eAAe;IAIvB,oEAAoE;YACtD,eAAe;YAYf,YAAY;IAc1B,OAAO,CAAC,mBAAmB;IAK3B,kFAAkF;IAClF,OAAO,CAAC,gCAAgC;IAaxC;;;OAGG;YACW,uBAAuB;YAUvB,aAAa;IA0C3B,sEAAsE;YACxD,gBAAgB;YAchB,QAAQ;IAuCtB;;;OAGG;YACW,QAAQ;IAsCtB,2FAA2F;YAC7E,IAAI;YA0BJ,MAAM;YAyDN,IAAI;IAyClB,mFAAmF;IACnF,OAAO,CAAC,eAAe;CAoCxB"}
|