mindoodb 0.0.50 → 0.0.53
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 +11 -2
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +13 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +45 -20
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.d.ts +2 -0
- package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.js +6 -62
- package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +24 -0
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +75 -24
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
- package/dist/browser/index.mjs +72 -0
- package/dist/core/BaseMindooDB.d.ts +89 -14
- package/dist/core/BaseMindooDB.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.js +692 -201
- package/dist/core/BaseMindooDB.js.map +1 -1
- package/dist/core/BaseMindooTenant.d.ts +59 -7
- package/dist/core/BaseMindooTenant.d.ts.map +1 -1
- package/dist/core/BaseMindooTenant.js +427 -90
- package/dist/core/BaseMindooTenant.js.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.d.ts +61 -9
- package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.js +363 -35
- package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
- package/dist/core/BaseMindooTenantFactory.d.ts +17 -1
- package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantFactory.js +292 -16
- package/dist/core/BaseMindooTenantFactory.js.map +1 -1
- package/dist/core/accesscontrol/DirectoryStateNode.d.ts +68 -1
- package/dist/core/accesscontrol/DirectoryStateNode.d.ts.map +1 -1
- package/dist/core/accesscontrol/DirectoryStateNode.js +157 -4
- package/dist/core/accesscontrol/DirectoryStateNode.js.map +1 -1
- package/dist/core/accesscontrol/directoryProjection.d.ts.map +1 -1
- package/dist/core/accesscontrol/directoryProjection.js +14 -5
- package/dist/core/accesscontrol/directoryProjection.js.map +1 -1
- package/dist/core/accesscontrol/grantKeys.d.ts +17 -14
- package/dist/core/accesscontrol/grantKeys.d.ts.map +1 -1
- package/dist/core/accesscontrol/grantKeys.js +51 -21
- package/dist/core/accesscontrol/grantKeys.js.map +1 -1
- package/dist/core/accesscontrol/types.d.ts +13 -7
- package/dist/core/accesscontrol/types.d.ts.map +1 -1
- package/dist/core/accesscontrol/types.js +16 -10
- package/dist/core/accesscontrol/types.js.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts +7 -0
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.js +70 -14
- package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
- package/dist/core/appendonlystores/network/entryWireCodec.d.ts +51 -0
- package/dist/core/appendonlystores/network/entryWireCodec.d.ts.map +1 -0
- package/dist/core/appendonlystores/network/entryWireCodec.js +93 -0
- package/dist/core/appendonlystores/network/entryWireCodec.js.map +1 -0
- package/dist/core/builtinDbInvariants.d.ts +53 -0
- package/dist/core/builtinDbInvariants.d.ts.map +1 -0
- package/dist/core/builtinDbInvariants.js +147 -0
- package/dist/core/builtinDbInvariants.js.map +1 -0
- package/dist/core/copy/feasibility.d.ts.map +1 -1
- package/dist/core/copy/feasibility.js +3 -0
- package/dist/core/copy/feasibility.js.map +1 -1
- package/dist/core/copy/flatten.d.ts.map +1 -1
- package/dist/core/copy/flatten.js +7 -2
- package/dist/core/copy/flatten.js.map +1 -1
- package/dist/core/copy/host.d.ts +5 -0
- package/dist/core/copy/host.d.ts.map +1 -1
- package/dist/core/copy/preflight.d.ts.map +1 -1
- package/dist/core/copy/preflight.js +7 -1
- package/dist/core/copy/preflight.js.map +1 -1
- package/dist/core/copy/types.d.ts +8 -1
- package/dist/core/copy/types.d.ts.map +1 -1
- package/dist/core/crypto/EntrySignature.d.ts +8 -2
- package/dist/core/crypto/EntrySignature.d.ts.map +1 -1
- package/dist/core/crypto/EntrySignature.js +14 -5
- package/dist/core/crypto/EntrySignature.js.map +1 -1
- package/dist/core/crypto/MindooDocSigner.d.ts.map +1 -1
- package/dist/core/crypto/MindooDocSigner.js +11 -2
- package/dist/core/crypto/MindooDocSigner.js.map +1 -1
- package/dist/core/crypto/RSAEncryption.d.ts +19 -0
- package/dist/core/crypto/RSAEncryption.d.ts.map +1 -1
- package/dist/core/crypto/RSAEncryption.js +36 -3
- package/dist/core/crypto/RSAEncryption.js.map +1 -1
- package/dist/core/crypto/privateKeyEncryption.js +1 -1
- package/dist/core/crypto/privateKeyEncryption.js.map +1 -1
- package/dist/core/crypto/rsaOaep3072.d.ts +12 -0
- package/dist/core/crypto/rsaOaep3072.d.ts.map +1 -0
- package/dist/core/crypto/rsaOaep3072.js +30 -0
- package/dist/core/crypto/rsaOaep3072.js.map +1 -0
- package/dist/core/databaseIdValidation.d.ts +23 -0
- package/dist/core/databaseIdValidation.d.ts.map +1 -1
- package/dist/core/databaseIdValidation.js +59 -1
- package/dist/core/databaseIdValidation.js.map +1 -1
- package/dist/core/index.d.ts +9 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +40 -4
- package/dist/core/index.js.map +1 -1
- package/dist/core/join/deviceJoinBootstrap.d.ts +23 -0
- package/dist/core/join/deviceJoinBootstrap.d.ts.map +1 -0
- package/dist/core/join/deviceJoinBootstrap.js +37 -0
- package/dist/core/join/deviceJoinBootstrap.js.map +1 -0
- package/dist/core/keys/KeyBag.d.ts +20 -2
- package/dist/core/keys/KeyBag.d.ts.map +1 -1
- package/dist/core/keys/KeyBag.js +22 -10
- package/dist/core/keys/KeyBag.js.map +1 -1
- package/dist/core/logging/MindooLogger.d.ts.map +1 -1
- package/dist/core/logging/MindooLogger.js +65 -40
- package/dist/core/logging/MindooLogger.js.map +1 -1
- package/dist/core/tenantIdValidation.d.ts.map +1 -1
- package/dist/core/tenantIdValidation.js +1 -1
- package/dist/core/tenantIdValidation.js.map +1 -1
- package/dist/core/tenantSetup.d.ts +109 -0
- package/dist/core/tenantSetup.d.ts.map +1 -0
- package/dist/core/tenantSetup.js +250 -0
- package/dist/core/tenantSetup.js.map +1 -0
- package/dist/core/types.d.ts +333 -43
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +27 -9
- package/dist/core/types.js.map +1 -1
- package/dist/core/uri/joinRequestUri.d.ts +37 -0
- package/dist/core/uri/joinRequestUri.d.ts.map +1 -0
- package/dist/core/uri/joinRequestUri.js +168 -0
- package/dist/core/uri/joinRequestUri.js.map +1 -0
- package/dist/core/userid/canonicalUsername.d.ts +66 -0
- package/dist/core/userid/canonicalUsername.d.ts.map +1 -0
- package/dist/core/userid/canonicalUsername.js +235 -0
- package/dist/core/userid/canonicalUsername.js.map +1 -0
- package/dist/core/userid/index.d.ts +9 -0
- package/dist/core/userid/index.d.ts.map +1 -1
- package/dist/core/userid/index.js +14 -0
- package/dist/core/userid/index.js.map +1 -1
- package/dist/core/userkeys/UserKeyDocument.d.ts +50 -0
- package/dist/core/userkeys/UserKeyDocument.d.ts.map +1 -0
- package/dist/core/userkeys/UserKeyDocument.js +145 -0
- package/dist/core/userkeys/UserKeyDocument.js.map +1 -0
- package/dist/core/userkeys/UserKeyManager.d.ts +170 -0
- package/dist/core/userkeys/UserKeyManager.d.ts.map +1 -0
- package/dist/core/userkeys/UserKeyManager.js +1277 -0
- package/dist/core/userkeys/UserKeyManager.js.map +1 -0
- package/dist/core/userkeys/fingerprint.d.ts +17 -0
- package/dist/core/userkeys/fingerprint.d.ts.map +1 -0
- package/dist/core/userkeys/fingerprint.js +59 -0
- package/dist/core/userkeys/fingerprint.js.map +1 -0
- package/dist/core/userkeys/index.d.ts +11 -0
- package/dist/core/userkeys/index.d.ts.map +1 -0
- package/dist/core/userkeys/index.js +49 -0
- package/dist/core/userkeys/index.js.map +1 -0
- package/dist/core/userkeys/recipients.d.ts +51 -0
- package/dist/core/userkeys/recipients.d.ts.map +1 -0
- package/dist/core/userkeys/recipients.js +292 -0
- package/dist/core/userkeys/recipients.js.map +1 -0
- package/dist/core/userkeys/resolveUserKeyDocument.d.ts +21 -0
- package/dist/core/userkeys/resolveUserKeyDocument.d.ts.map +1 -0
- package/dist/core/userkeys/resolveUserKeyDocument.js +98 -0
- package/dist/core/userkeys/resolveUserKeyDocument.js.map +1 -0
- package/dist/core/userkeys/sealedCrypto.d.ts +21 -0
- package/dist/core/userkeys/sealedCrypto.d.ts.map +1 -0
- package/dist/core/userkeys/sealedCrypto.js +79 -0
- package/dist/core/userkeys/sealedCrypto.js.map +1 -0
- package/dist/core/userkeys/sealedTypes.d.ts +72 -0
- package/dist/core/userkeys/sealedTypes.d.ts.map +1 -0
- package/dist/core/userkeys/sealedTypes.js +14 -0
- package/dist/core/userkeys/sealedTypes.js.map +1 -0
- package/dist/core/userkeys/types.d.ts +70 -0
- package/dist/core/userkeys/types.d.ts.map +1 -0
- package/dist/core/userkeys/types.js +48 -0
- package/dist/core/userkeys/types.js.map +1 -0
- package/dist/core/userkeys/validateUserKeyDocument.d.ts +19 -0
- package/dist/core/userkeys/validateUserKeyDocument.d.ts.map +1 -0
- package/dist/core/userkeys/validateUserKeyDocument.js +42 -0
- package/dist/core/userkeys/validateUserKeyDocument.js.map +1 -0
- package/dist/core/utils/idGeneration.d.ts +39 -20
- package/dist/core/utils/idGeneration.d.ts.map +1 -1
- package/dist/core/utils/idGeneration.js +82 -62
- package/dist/core/utils/idGeneration.js.map +1 -1
- package/dist/core/utils/index.d.ts +1 -1
- package/dist/core/utils/index.d.ts.map +1 -1
- package/dist/core/utils/index.js +4 -1
- package/dist/core/utils/index.js.map +1 -1
- package/dist/node/server/CapabilityMatcher.d.ts +5 -0
- package/dist/node/server/CapabilityMatcher.d.ts.map +1 -1
- package/dist/node/server/CapabilityMatcher.js +10 -1
- package/dist/node/server/CapabilityMatcher.js.map +1 -1
- package/dist/node/server/DeviceDiscoveryService.d.ts +36 -0
- package/dist/node/server/DeviceDiscoveryService.d.ts.map +1 -0
- package/dist/node/server/DeviceDiscoveryService.js +165 -0
- package/dist/node/server/DeviceDiscoveryService.js.map +1 -0
- package/dist/node/server/MindooDBServer.d.ts +13 -0
- package/dist/node/server/MindooDBServer.d.ts.map +1 -1
- package/dist/node/server/MindooDBServer.js +99 -61
- package/dist/node/server/MindooDBServer.js.map +1 -1
- package/dist/node/server/SystemAdminAuth.d.ts +7 -0
- package/dist/node/server/SystemAdminAuth.d.ts.map +1 -1
- package/dist/node/server/SystemAdminAuth.js +4 -1
- package/dist/node/server/SystemAdminAuth.js.map +1 -1
- package/dist/node/server/TenantManager.d.ts +29 -0
- package/dist/node/server/TenantManager.d.ts.map +1 -1
- package/dist/node/server/TenantManager.js +146 -7
- package/dist/node/server/TenantManager.js.map +1 -1
- package/package.json +5 -5
|
@@ -52,6 +52,16 @@ export declare class RSAEncryption {
|
|
|
52
52
|
* @returns The decrypted data
|
|
53
53
|
*/
|
|
54
54
|
decrypt(encryptedData: Uint8Array, privateKey: CryptoKey | string): Promise<Uint8Array>;
|
|
55
|
+
/**
|
|
56
|
+
* Hybrid-encrypt `data` and return standard base64. Used for small JSON
|
|
57
|
+
* payloads that must stay opaque to anyone without the RSA private key
|
|
58
|
+
* (e.g. the per-device join bootstrap on a `$publicinfos` grant).
|
|
59
|
+
*/
|
|
60
|
+
encryptToBase64(data: Uint8Array, publicKey: CryptoKey | string): Promise<string>;
|
|
61
|
+
/**
|
|
62
|
+
* Decrypt a blob previously produced by {@link encryptToBase64}.
|
|
63
|
+
*/
|
|
64
|
+
decryptFromBase64(wrapped: string, privateKey: CryptoKey | string): Promise<Uint8Array>;
|
|
55
65
|
/**
|
|
56
66
|
* Wrap a small secret (e.g. a 32-byte AES session key) directly with
|
|
57
67
|
* RSA-OAEP. Unlike {@link encrypt}, no hybrid framing is added — the
|
|
@@ -59,6 +69,15 @@ export declare class RSAEncryption {
|
|
|
59
69
|
* transport format, where one wrapped key covers a whole entry batch.
|
|
60
70
|
*/
|
|
61
71
|
wrapKey(rawKey: Uint8Array, publicKey: CryptoKey | string): Promise<Uint8Array>;
|
|
72
|
+
/**
|
|
73
|
+
* Wrap a small secret to a base64 RSA-OAEP ciphertext.
|
|
74
|
+
* Convenience wrapper around {@link wrapKey} for URI/JSON payloads.
|
|
75
|
+
*/
|
|
76
|
+
wrapKeyToBase64(rawKey: Uint8Array, publicKey: CryptoKey | string): Promise<string>;
|
|
77
|
+
/**
|
|
78
|
+
* Unwrap a secret previously wrapped with {@link wrapKeyToBase64}.
|
|
79
|
+
*/
|
|
80
|
+
unwrapKeyFromBase64(wrappedKey: string, privateKey: CryptoKey | string): Promise<Uint8Array>;
|
|
62
81
|
/**
|
|
63
82
|
* Unwrap a secret previously wrapped with {@link wrapKey}.
|
|
64
83
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RSAEncryption.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/RSAEncryption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAoC,MAAM,YAAY,CAAC;AAEtE;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;gBAEX,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM;IAOzD;;;;;OAKG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA4BzD;;;;;OAKG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA4B1D;;;;;;;;;;;OAWG;IACG,OAAO,CACX,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"RSAEncryption.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/RSAEncryption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAoC,MAAM,YAAY,CAAC;AAEtE;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;gBAEX,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM;IAOzD;;;;;OAKG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA4BzD;;;;;OAKG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA4B1D;;;;;;;;;;;OAWG;IACG,OAAO,CACX,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,OAAO,CAAC,UAAU,CAAC;IA2EtB;;;;;;;;;OASG;IACG,OAAO,CACX,aAAa,EAAE,UAAU,EACzB,UAAU,EAAE,SAAS,GAAG,MAAM,GAC7B,OAAO,CAAC,UAAU,CAAC;IAgDtB;;;;OAIG;IACG,eAAe,CACnB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,OAAO,CAAC,MAAM,CAAC;IAIlB;;OAEG;IACG,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,SAAS,GAAG,MAAM,GAC7B,OAAO,CAAC,UAAU,CAAC;IAItB;;;;;OAKG;IACG,OAAO,CACX,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,OAAO,CAAC,UAAU,CAAC;IAatB;;;OAGG;IACG,eAAe,CACnB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,OAAO,CAAC,MAAM,CAAC;IAIlB;;OAEG;IACG,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,SAAS,GAAG,MAAM,GAC7B,OAAO,CAAC,UAAU,CAAC;IAItB;;OAEG;IACG,SAAS,CACb,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,SAAS,GAAG,MAAM,GAC7B,OAAO,CAAC,UAAU,CAAC;IAatB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAO3B"}
|
|
@@ -91,12 +91,18 @@ class RSAEncryption {
|
|
|
91
91
|
const aesKey = this.cryptoAdapter.getRandomValues(new Uint8Array(32));
|
|
92
92
|
// Generate a random 96-bit IV for AES-GCM
|
|
93
93
|
const iv = this.cryptoAdapter.getRandomValues(new Uint8Array(12));
|
|
94
|
+
// Copy views so WebCrypto never encrypts a shared backing store
|
|
95
|
+
// (Automerge/WASM heaps, Node Buffer pools). Pass the Uint8Array itself
|
|
96
|
+
// — `.buffer` can be a pooled/shared ArrayBuffer larger than the view.
|
|
97
|
+
const aesKeyBytes = aesKey.slice();
|
|
98
|
+
const ivBytes = iv.slice();
|
|
99
|
+
const plaintext = data.slice();
|
|
94
100
|
// Import the AES key
|
|
95
|
-
const aesKeyObj = await subtle.importKey("raw",
|
|
101
|
+
const aesKeyObj = await subtle.importKey("raw", aesKeyBytes, { name: "AES-GCM", length: 256 }, false, ["encrypt"]);
|
|
96
102
|
// Encrypt the data with AES-GCM
|
|
97
|
-
const encryptedData = await subtle.encrypt({ name: "AES-GCM", iv:
|
|
103
|
+
const encryptedData = await subtle.encrypt({ name: "AES-GCM", iv: ivBytes }, aesKeyObj, plaintext);
|
|
98
104
|
// Encrypt the AES key with RSA-OAEP
|
|
99
|
-
const encryptedKey = await subtle.encrypt({ name: "RSA-OAEP" }, cryptoKey,
|
|
105
|
+
const encryptedKey = await subtle.encrypt({ name: "RSA-OAEP" }, cryptoKey, aesKeyBytes);
|
|
100
106
|
// Pack the result: [encryptedKeyLength (2 bytes)][encryptedKey][iv][encryptedData]
|
|
101
107
|
const encryptedKeyBytes = new Uint8Array(encryptedKey);
|
|
102
108
|
const encryptedDataBytes = new Uint8Array(encryptedData);
|
|
@@ -145,6 +151,20 @@ class RSAEncryption {
|
|
|
145
151
|
this.logger.debug(`Decrypted to ${result.length} bytes`);
|
|
146
152
|
return result;
|
|
147
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Hybrid-encrypt `data` and return standard base64. Used for small JSON
|
|
156
|
+
* payloads that must stay opaque to anyone without the RSA private key
|
|
157
|
+
* (e.g. the per-device join bootstrap on a `$publicinfos` grant).
|
|
158
|
+
*/
|
|
159
|
+
async encryptToBase64(data, publicKey) {
|
|
160
|
+
return this.uint8ArrayToBase64(await this.encrypt(data, publicKey));
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Decrypt a blob previously produced by {@link encryptToBase64}.
|
|
164
|
+
*/
|
|
165
|
+
async decryptFromBase64(wrapped, privateKey) {
|
|
166
|
+
return this.decrypt(this.base64ToUint8Array(wrapped), privateKey);
|
|
167
|
+
}
|
|
148
168
|
/**
|
|
149
169
|
* Wrap a small secret (e.g. a 32-byte AES session key) directly with
|
|
150
170
|
* RSA-OAEP. Unlike {@link encrypt}, no hybrid framing is added — the
|
|
@@ -159,6 +179,19 @@ class RSAEncryption {
|
|
|
159
179
|
const wrapped = await subtle.encrypt({ name: "RSA-OAEP" }, cryptoKey, rawKey.buffer.slice(rawKey.byteOffset, rawKey.byteOffset + rawKey.byteLength));
|
|
160
180
|
return new Uint8Array(wrapped);
|
|
161
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Wrap a small secret to a base64 RSA-OAEP ciphertext.
|
|
184
|
+
* Convenience wrapper around {@link wrapKey} for URI/JSON payloads.
|
|
185
|
+
*/
|
|
186
|
+
async wrapKeyToBase64(rawKey, publicKey) {
|
|
187
|
+
return this.uint8ArrayToBase64(await this.wrapKey(rawKey, publicKey));
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Unwrap a secret previously wrapped with {@link wrapKeyToBase64}.
|
|
191
|
+
*/
|
|
192
|
+
async unwrapKeyFromBase64(wrappedKey, privateKey) {
|
|
193
|
+
return this.unwrapKey(this.base64ToUint8Array(wrappedKey), privateKey);
|
|
194
|
+
}
|
|
162
195
|
/**
|
|
163
196
|
* Unwrap a secret previously wrapped with {@link wrapKey}.
|
|
164
197
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RSAEncryption.js","sourceRoot":"","sources":["../../../src/core/crypto/RSAEncryption.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RSAEncryption.js","sourceRoot":"","sources":["../../../src/core/crypto/RSAEncryption.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,7 +51,7 @@ async function encryptPrivateKey(cryptoAdapter, privateKeyBytes, password, saltS
|
|
|
51
51
|
name: "AES-GCM",
|
|
52
52
|
iv,
|
|
53
53
|
tagLength: 128,
|
|
54
|
-
}, derivedKey, privateKeyBytes.
|
|
54
|
+
}, derivedKey, privateKeyBytes.slice());
|
|
55
55
|
const encryptedArray = new Uint8Array(encrypted);
|
|
56
56
|
const tagLength = 16;
|
|
57
57
|
const ciphertext = encryptedArray.slice(0, encryptedArray.length - tagLength);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"privateKeyEncryption.js","sourceRoot":"","sources":["../../../src/core/crypto/privateKeyEncryption.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"privateKeyEncryption.js","sourceRoot":"","sources":["../../../src/core/crypto/privateKeyEncryption.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CryptoAdapter } from "./CryptoAdapter";
|
|
2
|
+
/**
|
|
3
|
+
* RSA-OAEP 3072 generation used for both device encryption keys and User-Keys.
|
|
4
|
+
* Extracted from {@link BaseMindooTenantFactory.createEncryptionKeyPair} so the
|
|
5
|
+
* userkeys module can mint the same material without depending on the factory.
|
|
6
|
+
*/
|
|
7
|
+
export declare function generateRsaOaep3072(cryptoAdapter: CryptoAdapter): Promise<{
|
|
8
|
+
publicKeyPem: string;
|
|
9
|
+
privateKeyBytes: Uint8Array;
|
|
10
|
+
}>;
|
|
11
|
+
export declare function importRsaOaepPrivateKey(cryptoAdapter: CryptoAdapter, pkcs8: Uint8Array, extractable?: boolean): Promise<CryptoKey>;
|
|
12
|
+
//# sourceMappingURL=rsaOaep3072.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsaOaep3072.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/rsaOaep3072.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,UAAU,CAAA;CAAE,CAAC,CAkBhE;AAED,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,UAAU,EACjB,WAAW,UAAQ,GAClB,OAAO,CAAC,SAAS,CAAC,CASpB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateRsaOaep3072 = generateRsaOaep3072;
|
|
4
|
+
exports.importRsaOaepPrivateKey = importRsaOaepPrivateKey;
|
|
5
|
+
const fingerprint_1 = require("../userkeys/fingerprint");
|
|
6
|
+
/**
|
|
7
|
+
* RSA-OAEP 3072 generation used for both device encryption keys and User-Keys.
|
|
8
|
+
* Extracted from {@link BaseMindooTenantFactory.createEncryptionKeyPair} so the
|
|
9
|
+
* userkeys module can mint the same material without depending on the factory.
|
|
10
|
+
*/
|
|
11
|
+
async function generateRsaOaep3072(cryptoAdapter) {
|
|
12
|
+
const subtle = cryptoAdapter.getSubtle();
|
|
13
|
+
const keyPair = await subtle.generateKey({
|
|
14
|
+
name: "RSA-OAEP",
|
|
15
|
+
modulusLength: 3072,
|
|
16
|
+
publicExponent: new Uint8Array([1, 0, 1]),
|
|
17
|
+
hash: "SHA-256",
|
|
18
|
+
}, true, ["encrypt", "decrypt"]);
|
|
19
|
+
const publicKeyBuffer = await subtle.exportKey("spki", keyPair.publicKey);
|
|
20
|
+
const privateKeyBuffer = await subtle.exportKey("pkcs8", keyPair.privateKey);
|
|
21
|
+
return {
|
|
22
|
+
publicKeyPem: (0, fingerprint_1.spkiToPem)(publicKeyBuffer),
|
|
23
|
+
privateKeyBytes: new Uint8Array(privateKeyBuffer),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
async function importRsaOaepPrivateKey(cryptoAdapter, pkcs8, extractable = false) {
|
|
27
|
+
const bytes = pkcs8.slice();
|
|
28
|
+
return cryptoAdapter.getSubtle().importKey("pkcs8", bytes, { name: "RSA-OAEP", hash: "SHA-256" }, extractable, ["decrypt"]);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=rsaOaep3072.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsaOaep3072.js","sourceRoot":"","sources":["../../../src/core/crypto/rsaOaep3072.ts"],"names":[],"mappings":";;AAQA,kDAoBC;AAED,0DAaC;AA1CD,yDAAoD;AAEpD;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CACvC,aAA4B;IAE5B,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CACtC;QACE,IAAI,EAAE,UAAU;QAChB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,EAAE,SAAS;KAChB,EACD,IAAI,EACJ,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAC;IACF,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1E,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,OAAO;QACL,YAAY,EAAE,IAAA,uBAAS,EAAC,eAAe,CAAC;QACxC,eAAe,EAAE,IAAI,UAAU,CAAC,gBAAgB,CAAC;KAClD,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,aAA4B,EAC5B,KAAiB,EACjB,WAAW,GAAG,KAAK;IAEnB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,OAAO,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CACxC,OAAO,EACP,KAAK,EACL,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,EACrC,WAAW,EACX,CAAC,SAAS,CAAC,CACZ,CAAC;AACJ,CAAC"}
|
|
@@ -9,5 +9,28 @@ export declare const MAX_DATABASE_ID_LENGTH = 64;
|
|
|
9
9
|
export declare const DATABASE_ID_REQUIREMENTS = "Database IDs must be 1-64 characters, start with a letter or digit, and contain only letters, digits, dots, hyphens, and underscores.";
|
|
10
10
|
export declare function getDatabaseIdValidationError(value: unknown, fieldName?: string): string | null;
|
|
11
11
|
export declare function isValidDatabaseId(value: unknown): value is string;
|
|
12
|
+
/**
|
|
13
|
+
* Stricter rule for database IDs that are being **created**, as opposed to
|
|
14
|
+
* opened. A database ID becomes a directory name verbatim
|
|
15
|
+
* (`<basePath>/<dbId>/<storeKind>` in `BasicOnDiskContentAddressedStore`), so
|
|
16
|
+
* two IDs that a case-insensitive file system cannot tell apart — `Sales` and
|
|
17
|
+
* `sales` — would share one store and silently mix their entries. New IDs are
|
|
18
|
+
* therefore lowercase-only.
|
|
19
|
+
*
|
|
20
|
+
* Opening stays on the laxer {@link getDatabaseIdValidationError} so databases
|
|
21
|
+
* created before this rule existed remain reachable.
|
|
22
|
+
*/
|
|
23
|
+
export declare const NEW_DATABASE_ID_REGEX: RegExp;
|
|
24
|
+
/**
|
|
25
|
+
* Base names Windows reserves for character devices. Reserved both bare and
|
|
26
|
+
* with an extension (`nul` and `nul.txt` alike), so the check compares the part
|
|
27
|
+
* before the first dot. Creating a directory with one of these names fails on
|
|
28
|
+
* Windows, so reject them up front rather than at first write.
|
|
29
|
+
*/
|
|
30
|
+
export declare const WINDOWS_RESERVED_DEVICE_NAMES: ReadonlySet<string>;
|
|
31
|
+
export declare const NEW_DATABASE_ID_REQUIREMENTS = "Database IDs must be 1-64 characters, start with a lowercase letter or digit, and contain only lowercase letters, digits, dots, hyphens, and underscores.";
|
|
32
|
+
export declare function getNewDatabaseIdValidationError(value: unknown, fieldName?: string): string | null;
|
|
33
|
+
export declare function isValidNewDatabaseId(value: unknown): value is string;
|
|
34
|
+
export declare function validateNewDatabaseId(value: unknown, fieldName?: string): string;
|
|
12
35
|
export declare function validateDatabaseId(value: unknown, fieldName?: string): string;
|
|
13
36
|
//# sourceMappingURL=databaseIdValidation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"databaseIdValidation.d.ts","sourceRoot":"","sources":["../../src/core/databaseIdValidation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAiC,CAAC;AAChE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,wBAAwB,0IACoG,CAAC;AAE1I,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAS,GAAG,MAAM,GAAG,IAAI,CAc9F;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEjE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAS,GAAG,MAAM,CAM7E"}
|
|
1
|
+
{"version":3,"file":"databaseIdValidation.d.ts","sourceRoot":"","sources":["../../src/core/databaseIdValidation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAiC,CAAC;AAChE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,wBAAwB,0IACoG,CAAC;AAE1I,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAS,GAAG,MAAM,GAAG,IAAI,CAc9F;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEjE;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,QAA2B,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,WAAW,CAAC,MAAM,CAO5D,CAAC;AAEH,eAAO,MAAM,4BAA4B,8JACoH,CAAC;AAE9J,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,EACd,SAAS,SAAS,GACjB,MAAM,GAAG,IAAI,CAsBf;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEpE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAS,GAAG,MAAM,CAMhF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,SAAS,GAAG,MAAM,CAM7E"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DATABASE_ID_REQUIREMENTS = exports.MAX_DATABASE_ID_LENGTH = exports.DATABASE_ID_REGEX = void 0;
|
|
3
|
+
exports.NEW_DATABASE_ID_REQUIREMENTS = exports.WINDOWS_RESERVED_DEVICE_NAMES = exports.NEW_DATABASE_ID_REGEX = exports.DATABASE_ID_REQUIREMENTS = exports.MAX_DATABASE_ID_LENGTH = exports.DATABASE_ID_REGEX = void 0;
|
|
4
4
|
exports.getDatabaseIdValidationError = getDatabaseIdValidationError;
|
|
5
5
|
exports.isValidDatabaseId = isValidDatabaseId;
|
|
6
|
+
exports.getNewDatabaseIdValidationError = getNewDatabaseIdValidationError;
|
|
7
|
+
exports.isValidNewDatabaseId = isValidNewDatabaseId;
|
|
8
|
+
exports.validateNewDatabaseId = validateNewDatabaseId;
|
|
6
9
|
exports.validateDatabaseId = validateDatabaseId;
|
|
7
10
|
/**
|
|
8
11
|
* Shared database ID validation used by local clients and sync servers.
|
|
@@ -28,6 +31,61 @@ function getDatabaseIdValidationError(value, fieldName = "dbId") {
|
|
|
28
31
|
function isValidDatabaseId(value) {
|
|
29
32
|
return getDatabaseIdValidationError(value) === null;
|
|
30
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Stricter rule for database IDs that are being **created**, as opposed to
|
|
36
|
+
* opened. A database ID becomes a directory name verbatim
|
|
37
|
+
* (`<basePath>/<dbId>/<storeKind>` in `BasicOnDiskContentAddressedStore`), so
|
|
38
|
+
* two IDs that a case-insensitive file system cannot tell apart — `Sales` and
|
|
39
|
+
* `sales` — would share one store and silently mix their entries. New IDs are
|
|
40
|
+
* therefore lowercase-only.
|
|
41
|
+
*
|
|
42
|
+
* Opening stays on the laxer {@link getDatabaseIdValidationError} so databases
|
|
43
|
+
* created before this rule existed remain reachable.
|
|
44
|
+
*/
|
|
45
|
+
exports.NEW_DATABASE_ID_REGEX = /^[a-z0-9][a-z0-9._-]*$/;
|
|
46
|
+
/**
|
|
47
|
+
* Base names Windows reserves for character devices. Reserved both bare and
|
|
48
|
+
* with an extension (`nul` and `nul.txt` alike), so the check compares the part
|
|
49
|
+
* before the first dot. Creating a directory with one of these names fails on
|
|
50
|
+
* Windows, so reject them up front rather than at first write.
|
|
51
|
+
*/
|
|
52
|
+
exports.WINDOWS_RESERVED_DEVICE_NAMES = new Set([
|
|
53
|
+
"con",
|
|
54
|
+
"prn",
|
|
55
|
+
"aux",
|
|
56
|
+
"nul",
|
|
57
|
+
...Array.from({ length: 9 }, (_unused, index) => `com${index + 1}`),
|
|
58
|
+
...Array.from({ length: 9 }, (_unused, index) => `lpt${index + 1}`),
|
|
59
|
+
]);
|
|
60
|
+
exports.NEW_DATABASE_ID_REQUIREMENTS = "Database IDs must be 1-64 characters, start with a lowercase letter or digit, and contain only lowercase letters, digits, dots, hyphens, and underscores.";
|
|
61
|
+
function getNewDatabaseIdValidationError(value, fieldName = "dbId") {
|
|
62
|
+
const baseError = getDatabaseIdValidationError(value, fieldName);
|
|
63
|
+
if (baseError) {
|
|
64
|
+
return baseError;
|
|
65
|
+
}
|
|
66
|
+
const id = value;
|
|
67
|
+
if (!exports.NEW_DATABASE_ID_REGEX.test(id)) {
|
|
68
|
+
return `${fieldName} ${JSON.stringify(id)} must be lowercase: database IDs become directory names, and file systems on Windows and macOS cannot tell ${JSON.stringify(id.toLowerCase())} apart from it`;
|
|
69
|
+
}
|
|
70
|
+
const baseName = id.split(".")[0];
|
|
71
|
+
if (exports.WINDOWS_RESERVED_DEVICE_NAMES.has(baseName)) {
|
|
72
|
+
return `${fieldName} ${JSON.stringify(id)} is reserved: Windows cannot create a directory named ${JSON.stringify(baseName)}`;
|
|
73
|
+
}
|
|
74
|
+
if (id.endsWith(".")) {
|
|
75
|
+
return `${fieldName} ${JSON.stringify(id)} must not end with a dot: Windows strips trailing dots from directory names`;
|
|
76
|
+
}
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
function isValidNewDatabaseId(value) {
|
|
80
|
+
return getNewDatabaseIdValidationError(value) === null;
|
|
81
|
+
}
|
|
82
|
+
function validateNewDatabaseId(value, fieldName = "dbId") {
|
|
83
|
+
const error = getNewDatabaseIdValidationError(value, fieldName);
|
|
84
|
+
if (error) {
|
|
85
|
+
throw new Error(error);
|
|
86
|
+
}
|
|
87
|
+
return value;
|
|
88
|
+
}
|
|
31
89
|
function validateDatabaseId(value, fieldName = "dbId") {
|
|
32
90
|
const error = getDatabaseIdValidationError(value, fieldName);
|
|
33
91
|
if (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"databaseIdValidation.js","sourceRoot":"","sources":["../../src/core/databaseIdValidation.ts"],"names":[],"mappings":";;;AAWA,oEAcC;AAED,8CAEC;AAED,gDAMC;
|
|
1
|
+
{"version":3,"file":"databaseIdValidation.js","sourceRoot":"","sources":["../../src/core/databaseIdValidation.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
export * from "./types";
|
|
2
2
|
export * from "./databaseIdValidation";
|
|
3
|
+
export { evaluateBuiltinWrite, hasBuiltinWriteInvariant, shouldSkipLoadedEntry, entryTypeToBuiltinOp, usernameHashFromCreateChangeBytes, type BuiltinWriteOp, type BuiltinWriteInput, type BuiltinWriteDecision, } from "./builtinDbInvariants";
|
|
4
|
+
export * from "./userkeys";
|
|
3
5
|
export * from "./tenantIdValidation";
|
|
6
|
+
export { readTenantSetupLabel, writeTenantSetupLabel, readTenantSetupAdministrators, writeTenantSetupAdministrator, ensureTenantSetupAdministrator, } from "./tenantSetup";
|
|
7
|
+
export type { TenantSetupData, TenantAdministrator, TenantAdministratorData, } from "./tenantSetup";
|
|
4
8
|
export { ACCESS_CONTROL_FORM, ACL_DEFAULT_POLICY_DOC_ID, DEFAULT_POLICY_DEFAULTS, RULE_TYPES, RULE_TYPE_TO_DENY_FIELD, effectivePolicy, aclDbPolicyDocId, aclRuleDocId, aclTrustedWitnessDocId, encodeAclIdComponent, decodeAclIdComponent, aclKeyDistributionDocId, isKeyDistributionDocId, validateKeyDistribution, KEY_DISTRIBUTION_TYPE, ACL_KEY_DISTRIBUTION_PREFIX, PROTECTED_DISTRIBUTION_KEY_IDS, aclAppDistributionDocId, isAppDistributionDocId, validateAppDistribution, APP_DISTRIBUTION_TYPE, ACL_APP_DISTRIBUTION_PREFIX, aclSyncSetupPolicyDocId, isSyncSetupPolicyDocId, validateSyncSetupPolicy, SYNC_SETUP_POLICY_TYPE, SYNC_SETUP_POLICY_MODES, ACL_SYNC_SETUP_POLICY_PREFIX, aclDocHistoryPurgeDocId, isDocHistoryPurgeDocId, validateDocHistoryPurge, DOC_HISTORY_PURGE_TYPE, ACL_DOC_HISTORY_PURGE_PREFIX, type RuleType, type Operator, type WithFieldWhen, type WithFieldClause, type DefaultAccessPolicyDoc, type AclRuleDoc, type RuleTargets, type TrustedWitnessDoc, type AccessTier, type AccessDecision, type KeyVersionRef, type DeviceWrappedVersions, type KeyDistributionDoc, type KeyDistributionRequest, type KeyDistributionPushRecipient, type KeyDistributionView, type AppDistributionDoc, type AppDistributionRequest, type AppDistributionView, type AppDistributionInstall, type AppDistributionReconcilePlan, type SyncSetupPolicyDoc, type SyncSetupPolicyRequest, type SyncSetupPolicyView, type SyncSetupPolicyMode, type SyncSetupPolicyDatabase, type SyncSetupPolicyReconcilePlan, type DocHistoryPurgeDoc, type DocHistoryPurgeRequest, type DocHistoryPurgeView, } from "./accesscontrol/types";
|
|
5
|
-
export { createGenesisNode, nodeCovering, type DirectoryStateNode, type UserGrantSnapshot, type GroupSnapshot, } from "./accesscontrol/DirectoryStateNode";
|
|
9
|
+
export { createGenesisNode, nodeCovering, isSamePerson, grantForSigningKey, signingKeysEqual, type DirectoryStateNode, type UserGrantSnapshot, type GroupSnapshot, } from "./accesscontrol/DirectoryStateNode";
|
|
6
10
|
export { AccessDeniedError } from "./accesscontrol/AccessDeniedError";
|
|
7
11
|
export type { PublicUserId, PrivateUserId } from "./userid";
|
|
12
|
+
export { abbreviateCanonicalName, buildCanonicalName, canonicalizeUsername, expandAbbreviatedName, formatCanonicalDisplayName, formatCanonicalUsernameLabel, getCanonicalNameVariants, isCanonicalName, normalizeCanonicalNameForComparison, parseCanonicalName, sanitizeCanonicalNamePart, usernamesEqual, } from "./userid";
|
|
13
|
+
export type { CanonicalNameParts } from "./userid";
|
|
8
14
|
export { BaseMindooDB } from "./BaseMindooDB";
|
|
9
15
|
export { BaseMindooTenant } from "./BaseMindooTenant";
|
|
10
16
|
export { BaseMindooTenantFactory } from "./BaseMindooTenantFactory";
|
|
@@ -36,12 +42,13 @@ export type { FlattenedDocumentProvenance } from "./copy/flatten";
|
|
|
36
42
|
export type { CopyAdmissionCheck, CopyAdmissionPreflight, } from "./copy/preflight";
|
|
37
43
|
export { KeyBag, type KeyDetail } from "./keys/KeyBag";
|
|
38
44
|
export { encodeMindooURI, decodeMindooURI, isMindooURI, encodeKeyDistributionRequest, decodeKeyDistributionRequest, encodeAppDistributionRequest, decodeAppDistributionRequest, encodeSyncSetupPolicyRequest, decodeSyncSetupPolicyRequest, encodeDocHistoryPurgeRequest, decodeDocHistoryPurgeRequest, type MindooURIType, type DecodedMindooURI, } from "./uri/MindooURI";
|
|
45
|
+
export { encodeJoinRequestUri, decodeJoinRequestUri, normalizeJoinRequestPayload, } from "./uri/joinRequestUri";
|
|
39
46
|
export { SymmetricKeyNotFoundError, DocumentNotFoundError, DocumentDeletedError, isDocumentMissingError, } from "./errors";
|
|
40
47
|
export type { LocalCacheStore } from "./cache/LocalCacheStore";
|
|
41
48
|
export { InMemoryLocalCacheStore } from "./cache/LocalCacheStore";
|
|
42
49
|
export { EncryptedLocalCacheStore } from "./cache/EncryptedLocalCacheStore";
|
|
43
50
|
export { CacheManager, type ICacheable, type CacheManagerOptions } from "./cache/CacheManager";
|
|
44
|
-
export { generateDocId, matchesDocIdPrefix, generateDocEntryId, generateDepsFingerprint, generateAttachmentChunkId, generateUniqueAttachmentChunkId, generateFileUuid7, generateChunkUuid7, parseDocEntryId, parseAttachmentChunkId, isDocEntryId, isAttachmentChunkId, extractDocIdFromEntryId, computeContentHash, semanticNow, setSemanticTimeSourceForTesting, createQuantizedTimeSource, } from "./utils";
|
|
51
|
+
export { generateObjectId, OBJECT_ID_LENGTH, generateDocId, generateTenantId, matchesDocIdPrefix, generateDocEntryId, generateDepsFingerprint, generateAttachmentChunkId, generateUniqueAttachmentChunkId, generateFileUuid7, generateChunkUuid7, parseDocEntryId, parseAttachmentChunkId, isDocEntryId, isAttachmentChunkId, extractDocIdFromEntryId, computeContentHash, semanticNow, setSemanticTimeSourceForTesting, createQuantizedTimeSource, } from "./utils";
|
|
45
52
|
export { type ContentAddressedStore, type ContentAddressedStoreFactory, type CreateStoreResult, type OpenStoreOptions, type StoreCompactionStatus, type StoreScanCursor, type StoreScanFilters, type StoreScanResult, type StoreIdBloomSummary, type MaterializationPlanOptions, type MaterializationPlanDiagnostics, type DocumentMaterializationPlan, type DocumentMaterializationBatchPlan, } from "./appendonlystores/types";
|
|
46
53
|
export { InMemoryContentAddressedStore, InMemoryContentAddressedStoreFactory } from "./appendonlystores/InMemoryContentAddressedStore";
|
|
47
54
|
export { AuthenticationService } from "./appendonlystores/network/AuthenticationService";
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,iCAAiC,EACjC,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAMvB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,mCAAmC,EACnC,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,eAAe,EACf,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;GASG;AACH,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,6BAA6B,EAC7B,0BAA0B,EAC1B,mCAAmC,EACnC,aAAa,EACb,aAAa,EACb,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,8BAA8B,EAC9B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,KAAK,aAAa,GACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,GAClC,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,YAAY,EACZ,iBAAiB,EACjB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,GAClC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,YAAY,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAClE,YAAY,EACV,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EACL,eAAe,EACf,eAAe,EACf,WAAW,EACX,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAGlB,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG/F,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,+BAA+B,EAC/B,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,WAAW,EACX,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,GACtC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;AAGvI,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AACzF,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC5G,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,gBAAgB,EAChB,YAAY,GACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,kCAAkC,EAAE,MAAM,gEAAgE,CAAC;AACpH,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG1E,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,sCAAsC,EAC3C,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,gCAAgC,EAChC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,GAC5B,MAAM,mCAAmC,CAAC;AAI3C,cAAc,eAAe,CAAC;AAG9B,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,qCAAqC,EAC1C,oBAAoB,EACpB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,+BAA+B,EAC/B,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,gCAAgC,EAChC,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,EAChC,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -15,14 +15,27 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
19
|
-
exports.
|
|
20
|
-
exports.
|
|
21
|
-
exports.sanitizeExtractionConfig = exports.EXTRACTION_SETUP_FIELD = exports.DEFAULT_FULLTEXT_MAX_FIELD_BYTES = exports.FULLTEXT_INDEX_FORMAT_VERSION = exports.FULLTEXT_ATTACHMENT_FIELD = exports.FULLTEXT_SETUP_FIELD = exports.extractFulltextFields = exports.collectPlainText = exports.computeFulltextConfigFingerprint = exports.sanitizeFulltextConfig = exports.resolveFulltextConfig = exports.createTokenizer = exports.MiniSearchAdapter = exports.DocumentFullTextIndex = exports.ATTACHMENTS_FIELD = exports.SUMMARY_SETUP_FIELD = exports.DB_SETUP_DOC_ID = exports.DEFAULT_SUMMARY_MAX_VALUE_BYTES = void 0;
|
|
18
|
+
exports.abbreviateCanonicalName = exports.AccessDeniedError = exports.signingKeysEqual = exports.grantForSigningKey = exports.isSamePerson = exports.nodeCovering = exports.createGenesisNode = exports.ACL_DOC_HISTORY_PURGE_PREFIX = exports.DOC_HISTORY_PURGE_TYPE = exports.validateDocHistoryPurge = exports.isDocHistoryPurgeDocId = exports.aclDocHistoryPurgeDocId = exports.ACL_SYNC_SETUP_POLICY_PREFIX = exports.SYNC_SETUP_POLICY_MODES = exports.SYNC_SETUP_POLICY_TYPE = exports.validateSyncSetupPolicy = exports.isSyncSetupPolicyDocId = exports.aclSyncSetupPolicyDocId = exports.ACL_APP_DISTRIBUTION_PREFIX = exports.APP_DISTRIBUTION_TYPE = exports.validateAppDistribution = exports.isAppDistributionDocId = exports.aclAppDistributionDocId = exports.PROTECTED_DISTRIBUTION_KEY_IDS = exports.ACL_KEY_DISTRIBUTION_PREFIX = exports.KEY_DISTRIBUTION_TYPE = exports.validateKeyDistribution = exports.isKeyDistributionDocId = exports.aclKeyDistributionDocId = exports.decodeAclIdComponent = exports.encodeAclIdComponent = exports.aclTrustedWitnessDocId = exports.aclRuleDocId = exports.aclDbPolicyDocId = exports.effectivePolicy = exports.RULE_TYPE_TO_DENY_FIELD = exports.RULE_TYPES = exports.DEFAULT_POLICY_DEFAULTS = exports.ACL_DEFAULT_POLICY_DOC_ID = exports.ACCESS_CONTROL_FORM = exports.ensureTenantSetupAdministrator = exports.writeTenantSetupAdministrator = exports.readTenantSetupAdministrators = exports.writeTenantSetupLabel = exports.readTenantSetupLabel = exports.usernameHashFromCreateChangeBytes = exports.entryTypeToBuiltinOp = exports.shouldSkipLoadedEntry = exports.hasBuiltinWriteInvariant = exports.evaluateBuiltinWrite = void 0;
|
|
19
|
+
exports.buildDocHistoryPurgeRequest = exports.verifyEntryProvenance = exports.requestTimestampWithFallback = exports.requestTimestampViaProxy = exports.requestTimestampDirect = exports.TimestampRequestError = exports.TIMESTAMP_REPLY_CONTENT_TYPE = exports.TIMESTAMP_QUERY_CONTENT_TYPE = exports.MAX_TIMESTAMP_RESPONSE_BYTES = exports.DEFAULT_TIMESTAMP_TIMEOUT_MS = exports.BROWSER_REACHABLE_TSA = exports.SIGNING_DOMAINS = exports.MAX_DOMAIN_STATEMENT_BYTES = exports.InvalidSigningDomainError = exports.isAllowedSigningDomain = exports.buildDomainStatementBytes = exports.assertAllowedSigningDomain = exports.isProvisional = exports.entryTrustedTime = exports.WITNESS_RECEIPT_LAYOUT_VERSION = exports.witnessFieldsFromEntry = exports.verifyWitnessReceipt = exports.buildWitnessSigningBytes = exports.ENTRY_SIGNATURE_LAYOUT_VERSION = exports.bytesToBase64 = exports.base64ToBytes = exports.verifyEntrySignatureWithImportedKey = exports.verifyEntrySignatureCrypto = exports.importEd25519PublicKeyFromPem = exports.entrySignatureFieldsFromEntry = exports.buildEntrySigningBytes = exports.getEncryptedFieldKeyId = exports.decryptEncryptedField = exports.MindooDocSigner = exports.RSAEncryption = exports.MindooDBServerAdmin = exports.BaseMindooTenantFactory = exports.BaseMindooTenant = exports.BaseMindooDB = exports.usernamesEqual = exports.sanitizeCanonicalNamePart = exports.parseCanonicalName = exports.normalizeCanonicalNameForComparison = exports.isCanonicalName = exports.getCanonicalNameVariants = exports.formatCanonicalUsernameLabel = exports.formatCanonicalDisplayName = exports.expandAbbreviatedName = exports.canonicalizeUsername = exports.buildCanonicalName = void 0;
|
|
20
|
+
exports.VirtualView = exports.HttpTransport = exports.ClientNetworkContentAddressedStore = exports.NetworkError = exports.NetworkErrorType = exports.AuthenticationService = exports.InMemoryContentAddressedStoreFactory = exports.InMemoryContentAddressedStore = exports.createQuantizedTimeSource = exports.setSemanticTimeSourceForTesting = exports.semanticNow = exports.computeContentHash = exports.extractDocIdFromEntryId = exports.isAttachmentChunkId = exports.isDocEntryId = exports.parseAttachmentChunkId = exports.parseDocEntryId = exports.generateChunkUuid7 = exports.generateFileUuid7 = exports.generateUniqueAttachmentChunkId = exports.generateAttachmentChunkId = exports.generateDepsFingerprint = exports.generateDocEntryId = exports.matchesDocIdPrefix = exports.generateTenantId = exports.generateDocId = exports.OBJECT_ID_LENGTH = exports.generateObjectId = exports.CacheManager = exports.EncryptedLocalCacheStore = exports.InMemoryLocalCacheStore = exports.isDocumentMissingError = exports.DocumentDeletedError = exports.DocumentNotFoundError = exports.SymmetricKeyNotFoundError = exports.normalizeJoinRequestPayload = exports.decodeJoinRequestUri = exports.encodeJoinRequestUri = exports.decodeDocHistoryPurgeRequest = exports.encodeDocHistoryPurgeRequest = exports.decodeSyncSetupPolicyRequest = exports.encodeSyncSetupPolicyRequest = exports.decodeAppDistributionRequest = exports.encodeAppDistributionRequest = exports.decodeKeyDistributionRequest = exports.encodeKeyDistributionRequest = exports.isMindooURI = exports.decodeMindooURI = exports.encodeMindooURI = exports.KeyBag = void 0;
|
|
21
|
+
exports.sanitizeExtractionConfig = exports.EXTRACTION_SETUP_FIELD = exports.DEFAULT_FULLTEXT_MAX_FIELD_BYTES = exports.FULLTEXT_INDEX_FORMAT_VERSION = exports.FULLTEXT_ATTACHMENT_FIELD = exports.FULLTEXT_SETUP_FIELD = exports.extractFulltextFields = exports.collectPlainText = exports.computeFulltextConfigFingerprint = exports.sanitizeFulltextConfig = exports.resolveFulltextConfig = exports.createTokenizer = exports.MiniSearchAdapter = exports.DocumentFullTextIndex = exports.ATTACHMENTS_FIELD = exports.SUMMARY_SETUP_FIELD = exports.DB_SETUP_DOC_ID = exports.DEFAULT_SUMMARY_MAX_VALUE_BYTES = exports.isFieldPathCovered = exports.getSummaryFieldValue = exports.extractSummaryFields = exports.sanitizeSummaryConfig = exports.computeSummaryConfigFingerprint = exports.resolveSummaryConfig = exports.SummaryVirtualViewDataProvider = exports.DocumentSummaryStore = exports.queryViewAcross = exports.createEphemeralSummaryView = exports.EphemeralSummaryView = exports.MindooQueryError = exports.executeQueryLive = exports.executeQuery = exports.filterExpressionToDocumentFilter = exports.collectSummaryFallbackReasons = exports.createViewDataProvider = exports.SelectedOnly = exports.WithDocuments = exports.WithCategories = exports.CategorizationStyle = exports.TotalMode = exports.ColumnSorting = exports.MindooDBVirtualViewDataProvider = exports.VirtualViewDataChange = exports.VirtualViewEntryData = exports.VirtualViewNavigator = exports.VirtualViewColumn = exports.VirtualViewNavigatorBuilder = exports.VirtualViewBuilder = exports.VirtualViewFactory = void 0;
|
|
22
22
|
// Types
|
|
23
23
|
__exportStar(require("./types"), exports);
|
|
24
24
|
__exportStar(require("./databaseIdValidation"), exports);
|
|
25
|
+
var builtinDbInvariants_1 = require("./builtinDbInvariants");
|
|
26
|
+
Object.defineProperty(exports, "evaluateBuiltinWrite", { enumerable: true, get: function () { return builtinDbInvariants_1.evaluateBuiltinWrite; } });
|
|
27
|
+
Object.defineProperty(exports, "hasBuiltinWriteInvariant", { enumerable: true, get: function () { return builtinDbInvariants_1.hasBuiltinWriteInvariant; } });
|
|
28
|
+
Object.defineProperty(exports, "shouldSkipLoadedEntry", { enumerable: true, get: function () { return builtinDbInvariants_1.shouldSkipLoadedEntry; } });
|
|
29
|
+
Object.defineProperty(exports, "entryTypeToBuiltinOp", { enumerable: true, get: function () { return builtinDbInvariants_1.entryTypeToBuiltinOp; } });
|
|
30
|
+
Object.defineProperty(exports, "usernameHashFromCreateChangeBytes", { enumerable: true, get: function () { return builtinDbInvariants_1.usernameHashFromCreateChangeBytes; } });
|
|
31
|
+
__exportStar(require("./userkeys"), exports);
|
|
25
32
|
__exportStar(require("./tenantIdValidation"), exports);
|
|
33
|
+
var tenantSetup_1 = require("./tenantSetup");
|
|
34
|
+
Object.defineProperty(exports, "readTenantSetupLabel", { enumerable: true, get: function () { return tenantSetup_1.readTenantSetupLabel; } });
|
|
35
|
+
Object.defineProperty(exports, "writeTenantSetupLabel", { enumerable: true, get: function () { return tenantSetup_1.writeTenantSetupLabel; } });
|
|
36
|
+
Object.defineProperty(exports, "readTenantSetupAdministrators", { enumerable: true, get: function () { return tenantSetup_1.readTenantSetupAdministrators; } });
|
|
37
|
+
Object.defineProperty(exports, "writeTenantSetupAdministrator", { enumerable: true, get: function () { return tenantSetup_1.writeTenantSetupAdministrator; } });
|
|
38
|
+
Object.defineProperty(exports, "ensureTenantSetupAdministrator", { enumerable: true, get: function () { return tenantSetup_1.ensureTenantSetupAdministrator; } });
|
|
26
39
|
// Access-control directory schema + time-travel state (docs/accesscontrol.md
|
|
27
40
|
// §6/§8). Surfaced so consumers (e.g. the Haven directory-history UI) can read
|
|
28
41
|
// the time-travel DirectoryStateNode returned by
|
|
@@ -64,8 +77,24 @@ Object.defineProperty(exports, "ACL_DOC_HISTORY_PURGE_PREFIX", { enumerable: tru
|
|
|
64
77
|
var DirectoryStateNode_1 = require("./accesscontrol/DirectoryStateNode");
|
|
65
78
|
Object.defineProperty(exports, "createGenesisNode", { enumerable: true, get: function () { return DirectoryStateNode_1.createGenesisNode; } });
|
|
66
79
|
Object.defineProperty(exports, "nodeCovering", { enumerable: true, get: function () { return DirectoryStateNode_1.nodeCovering; } });
|
|
80
|
+
Object.defineProperty(exports, "isSamePerson", { enumerable: true, get: function () { return DirectoryStateNode_1.isSamePerson; } });
|
|
81
|
+
Object.defineProperty(exports, "grantForSigningKey", { enumerable: true, get: function () { return DirectoryStateNode_1.grantForSigningKey; } });
|
|
82
|
+
Object.defineProperty(exports, "signingKeysEqual", { enumerable: true, get: function () { return DirectoryStateNode_1.signingKeysEqual; } });
|
|
67
83
|
var AccessDeniedError_1 = require("./accesscontrol/AccessDeniedError");
|
|
68
84
|
Object.defineProperty(exports, "AccessDeniedError", { enumerable: true, get: function () { return AccessDeniedError_1.AccessDeniedError; } });
|
|
85
|
+
var userid_1 = require("./userid");
|
|
86
|
+
Object.defineProperty(exports, "abbreviateCanonicalName", { enumerable: true, get: function () { return userid_1.abbreviateCanonicalName; } });
|
|
87
|
+
Object.defineProperty(exports, "buildCanonicalName", { enumerable: true, get: function () { return userid_1.buildCanonicalName; } });
|
|
88
|
+
Object.defineProperty(exports, "canonicalizeUsername", { enumerable: true, get: function () { return userid_1.canonicalizeUsername; } });
|
|
89
|
+
Object.defineProperty(exports, "expandAbbreviatedName", { enumerable: true, get: function () { return userid_1.expandAbbreviatedName; } });
|
|
90
|
+
Object.defineProperty(exports, "formatCanonicalDisplayName", { enumerable: true, get: function () { return userid_1.formatCanonicalDisplayName; } });
|
|
91
|
+
Object.defineProperty(exports, "formatCanonicalUsernameLabel", { enumerable: true, get: function () { return userid_1.formatCanonicalUsernameLabel; } });
|
|
92
|
+
Object.defineProperty(exports, "getCanonicalNameVariants", { enumerable: true, get: function () { return userid_1.getCanonicalNameVariants; } });
|
|
93
|
+
Object.defineProperty(exports, "isCanonicalName", { enumerable: true, get: function () { return userid_1.isCanonicalName; } });
|
|
94
|
+
Object.defineProperty(exports, "normalizeCanonicalNameForComparison", { enumerable: true, get: function () { return userid_1.normalizeCanonicalNameForComparison; } });
|
|
95
|
+
Object.defineProperty(exports, "parseCanonicalName", { enumerable: true, get: function () { return userid_1.parseCanonicalName; } });
|
|
96
|
+
Object.defineProperty(exports, "sanitizeCanonicalNamePart", { enumerable: true, get: function () { return userid_1.sanitizeCanonicalNamePart; } });
|
|
97
|
+
Object.defineProperty(exports, "usernamesEqual", { enumerable: true, get: function () { return userid_1.usernamesEqual; } });
|
|
69
98
|
// Base classes
|
|
70
99
|
var BaseMindooDB_1 = require("./BaseMindooDB");
|
|
71
100
|
Object.defineProperty(exports, "BaseMindooDB", { enumerable: true, get: function () { return BaseMindooDB_1.BaseMindooDB; } });
|
|
@@ -148,6 +177,10 @@ Object.defineProperty(exports, "encodeSyncSetupPolicyRequest", { enumerable: tru
|
|
|
148
177
|
Object.defineProperty(exports, "decodeSyncSetupPolicyRequest", { enumerable: true, get: function () { return MindooURI_1.decodeSyncSetupPolicyRequest; } });
|
|
149
178
|
Object.defineProperty(exports, "encodeDocHistoryPurgeRequest", { enumerable: true, get: function () { return MindooURI_1.encodeDocHistoryPurgeRequest; } });
|
|
150
179
|
Object.defineProperty(exports, "decodeDocHistoryPurgeRequest", { enumerable: true, get: function () { return MindooURI_1.decodeDocHistoryPurgeRequest; } });
|
|
180
|
+
var joinRequestUri_1 = require("./uri/joinRequestUri");
|
|
181
|
+
Object.defineProperty(exports, "encodeJoinRequestUri", { enumerable: true, get: function () { return joinRequestUri_1.encodeJoinRequestUri; } });
|
|
182
|
+
Object.defineProperty(exports, "decodeJoinRequestUri", { enumerable: true, get: function () { return joinRequestUri_1.decodeJoinRequestUri; } });
|
|
183
|
+
Object.defineProperty(exports, "normalizeJoinRequestPayload", { enumerable: true, get: function () { return joinRequestUri_1.normalizeJoinRequestPayload; } });
|
|
151
184
|
// Errors
|
|
152
185
|
var errors_1 = require("./errors");
|
|
153
186
|
Object.defineProperty(exports, "SymmetricKeyNotFoundError", { enumerable: true, get: function () { return errors_1.SymmetricKeyNotFoundError; } });
|
|
@@ -162,7 +195,10 @@ var CacheManager_1 = require("./cache/CacheManager");
|
|
|
162
195
|
Object.defineProperty(exports, "CacheManager", { enumerable: true, get: function () { return CacheManager_1.CacheManager; } });
|
|
163
196
|
// Utilities
|
|
164
197
|
var utils_1 = require("./utils");
|
|
198
|
+
Object.defineProperty(exports, "generateObjectId", { enumerable: true, get: function () { return utils_1.generateObjectId; } });
|
|
199
|
+
Object.defineProperty(exports, "OBJECT_ID_LENGTH", { enumerable: true, get: function () { return utils_1.OBJECT_ID_LENGTH; } });
|
|
165
200
|
Object.defineProperty(exports, "generateDocId", { enumerable: true, get: function () { return utils_1.generateDocId; } });
|
|
201
|
+
Object.defineProperty(exports, "generateTenantId", { enumerable: true, get: function () { return utils_1.generateTenantId; } });
|
|
166
202
|
Object.defineProperty(exports, "matchesDocIdPrefix", { enumerable: true, get: function () { return utils_1.matchesDocIdPrefix; } });
|
|
167
203
|
Object.defineProperty(exports, "generateDocEntryId", { enumerable: true, get: function () { return utils_1.generateDocEntryId; } });
|
|
168
204
|
Object.defineProperty(exports, "generateDepsFingerprint", { enumerable: true, get: function () { return utils_1.generateDepsFingerprint; } });
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;;;;;;;;;;;;;;;;;;AAEjC,QAAQ;AACR,0CAAwB;AACxB,yDAAuC;AACvC,uDAAqC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { RSAEncryption } from "../crypto/RSAEncryption";
|
|
2
|
+
/**
|
|
3
|
+
* Discovery-usable slice of a join response: the registered username (plus the
|
|
4
|
+
* optional tenant label and admin name) RSA-hybrid-encrypted to one granted
|
|
5
|
+
* device.
|
|
6
|
+
*
|
|
7
|
+
* Stored on that device's `userKeyPairs[]` entry in the `$publicinfos` grant
|
|
8
|
+
* so the server can forward the ciphertext during device discovery without
|
|
9
|
+
* ever seeing the cleartext name.
|
|
10
|
+
*/
|
|
11
|
+
export interface DeviceJoinBootstrap {
|
|
12
|
+
username: string;
|
|
13
|
+
tenantLabel?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Display name of the approving admin. The admin holds no grantaccess
|
|
16
|
+
* document, so a device that joins through discovery has no other way to
|
|
17
|
+
* learn the name and would have to show a key fingerprint instead.
|
|
18
|
+
*/
|
|
19
|
+
adminUsername?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function wrapDeviceJoinBootstrap(rsa: RSAEncryption, payload: DeviceJoinBootstrap, encryptionPublicKey: string): Promise<string>;
|
|
22
|
+
export declare function unwrapDeviceJoinBootstrap(rsa: RSAEncryption, wrapped: string, encryptionPrivateKey: CryptoKey | string): Promise<DeviceJoinBootstrap>;
|
|
23
|
+
//# sourceMappingURL=deviceJoinBootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceJoinBootstrap.d.ts","sourceRoot":"","sources":["../../../src/core/join/deviceJoinBootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,mBAAmB,EAC5B,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,SAAS,GAAG,MAAM,GACvC,OAAO,CAAC,mBAAmB,CAAC,CAc9B"}
|