mindoodb 0.0.51 → 0.0.54
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 +136 -71
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +30 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +67 -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 +82 -0
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +229 -25
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
- package/dist/browser/index.mjs +59 -0
- package/dist/core/BaseMindooDB.d.ts +148 -80
- package/dist/core/BaseMindooDB.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.js +890 -692
- 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 +407 -86
- 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 +286 -17
- package/dist/core/BaseMindooTenantFactory.js.map +1 -1
- package/dist/core/MindooDBServerAdmin.d.ts +44 -22
- package/dist/core/MindooDBServerAdmin.d.ts.map +1 -1
- package/dist/core/MindooDBServerAdmin.js +45 -21
- package/dist/core/MindooDBServerAdmin.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 +2 -1
- package/dist/core/accesscontrol/types.d.ts.map +1 -1
- package/dist/core/accesscontrol/types.js +3 -2
- 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/appendonlystores/syncStores.d.ts +147 -0
- package/dist/core/appendonlystores/syncStores.d.ts.map +1 -0
- package/dist/core/appendonlystores/syncStores.js +612 -0
- package/dist/core/appendonlystores/syncStores.js.map +1 -0
- package/dist/core/builtinDbInvariants.d.ts +83 -0
- package/dist/core/builtinDbInvariants.d.ts.map +1 -0
- package/dist/core/builtinDbInvariants.js +244 -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 +6 -1
- 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 +7 -0
- 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/index.d.ts +7 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +33 -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 +94 -9
- package/dist/core/tenantSetup.d.ts.map +1 -1
- package/dist/core/tenantSetup.js +208 -20
- package/dist/core/tenantSetup.js.map +1 -1
- package/dist/core/types.d.ts +313 -33
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +14 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/uri/joinRequestUri.d.ts.map +1 -1
- package/dist/core/uri/joinRequestUri.js +12 -3
- package/dist/core/uri/joinRequestUri.js.map +1 -1
- 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/node/server/CapabilityMatcher.d.ts +7 -2
- package/dist/node/server/CapabilityMatcher.d.ts.map +1 -1
- package/dist/node/server/CapabilityMatcher.js +12 -3
- 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 +27 -1
- package/dist/node/server/MindooDBServer.d.ts.map +1 -1
- package/dist/node/server/MindooDBServer.js +265 -220
- package/dist/node/server/MindooDBServer.js.map +1 -1
- package/dist/node/server/SyncEventBus.d.ts +10 -0
- package/dist/node/server/SyncEventBus.d.ts.map +1 -1
- package/dist/node/server/SyncEventBus.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 +86 -5
- package/dist/node/server/TenantManager.d.ts.map +1 -1
- package/dist/node/server/TenantManager.js +235 -71
- package/dist/node/server/TenantManager.js.map +1 -1
- package/dist/node/server/add-to-network.d.ts.map +1 -1
- package/dist/node/server/add-to-network.js +33 -15
- package/dist/node/server/add-to-network.js.map +1 -1
- package/dist/node/server/canonicalSetupName.d.ts +22 -0
- package/dist/node/server/canonicalSetupName.d.ts.map +1 -0
- package/dist/node/server/canonicalSetupName.js +38 -0
- package/dist/node/server/canonicalSetupName.js.map +1 -0
- package/dist/node/server/config.d.ts.map +1 -1
- package/dist/node/server/config.js +33 -1
- package/dist/node/server/config.js.map +1 -1
- package/dist/node/server/peer/ClusterAuditLog.d.ts +64 -0
- package/dist/node/server/peer/ClusterAuditLog.d.ts.map +1 -0
- package/dist/node/server/peer/ClusterAuditLog.js +99 -0
- package/dist/node/server/peer/ClusterAuditLog.js.map +1 -0
- package/dist/node/server/peer/ClusterJobRunner.d.ts +43 -0
- package/dist/node/server/peer/ClusterJobRunner.d.ts.map +1 -0
- package/dist/node/server/peer/ClusterJobRunner.js +119 -0
- package/dist/node/server/peer/ClusterJobRunner.js.map +1 -0
- package/dist/node/server/peer/ClusterManager.d.ts +116 -0
- package/dist/node/server/peer/ClusterManager.d.ts.map +1 -0
- package/dist/node/server/peer/ClusterManager.js +274 -0
- package/dist/node/server/peer/ClusterManager.js.map +1 -0
- package/dist/node/server/peer/PeerAuthService.d.ts +69 -0
- package/dist/node/server/peer/PeerAuthService.d.ts.map +1 -0
- package/dist/node/server/peer/PeerAuthService.js +208 -0
- package/dist/node/server/peer/PeerAuthService.js.map +1 -0
- package/dist/node/server/peer/PeerReplicator.d.ts +232 -0
- package/dist/node/server/peer/PeerReplicator.d.ts.map +1 -0
- package/dist/node/server/peer/PeerReplicator.js +879 -0
- package/dist/node/server/peer/PeerReplicator.js.map +1 -0
- package/dist/node/server/peer/routes.d.ts +66 -0
- package/dist/node/server/peer/routes.d.ts.map +1 -0
- package/dist/node/server/peer/routes.js +322 -0
- package/dist/node/server/peer/routes.js.map +1 -0
- package/dist/node/server/peer/types.d.ts +244 -0
- package/dist/node/server/peer/types.d.ts.map +1 -0
- package/dist/node/server/peer/types.js +189 -0
- package/dist/node/server/peer/types.js.map +1 -0
- package/dist/node/server/server.d.ts +1 -1
- package/dist/node/server/server.js +18 -37
- package/dist/node/server/server.js.map +1 -1
- package/dist/node/server/serverinit.d.ts +2 -1
- package/dist/node/server/serverinit.d.ts.map +1 -1
- package/dist/node/server/serverinit.js +34 -12
- package/dist/node/server/serverinit.js.map +1 -1
- package/dist/node/server/types.d.ts +42 -30
- package/dist/node/server/types.d.ts.map +1 -1
- package/dist/node/server/types.js +1 -7
- package/dist/node/server/types.js.map +1 -1
- package/dist/node/server/validation.d.ts +0 -6
- package/dist/node/server/validation.d.ts.map +1 -1
- package/dist/node/server/validation.js +1 -7
- package/dist/node/server/validation.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ENTRY_PROVENANCE_BLOCK_TAG = exports.ENTRY_SIGNATURE_LAYOUT_VERSION = void 0;
|
|
3
|
+
exports.ENTRY_RECIPIENTS_BLOCK_TAG = exports.ENTRY_PROVENANCE_BLOCK_TAG = exports.ENTRY_SIGNATURE_LAYOUT_VERSION = void 0;
|
|
4
4
|
exports.base64ToBytes = base64ToBytes;
|
|
5
5
|
exports.bytesToBase64 = bytesToBase64;
|
|
6
6
|
exports.buildEntrySigningBytes = buildEntrySigningBytes;
|
|
@@ -41,7 +41,8 @@ exports.verifyEntrySignatureCrypto = verifyEntrySignatureCrypto;
|
|
|
41
41
|
* optional block whose absence produces ZERO bytes (so the layout is
|
|
42
42
|
* byte-identical to the prior version for entries that do not carry the new
|
|
43
43
|
* data) does NOT bump this value. The `attachmentRefs` block and the
|
|
44
|
-
* `provenance` block (see {@link buildEntrySigningBytes})
|
|
44
|
+
* `provenance` block and the `recipients` block (see {@link buildEntrySigningBytes})
|
|
45
|
+
* are such extensions:
|
|
45
46
|
* entries without attachments and without provenance — including every entry
|
|
46
47
|
* signed before those fields existed — are unaffected and keep verifying.
|
|
47
48
|
*/
|
|
@@ -53,6 +54,7 @@ exports.ENTRY_SIGNATURE_LAYOUT_VERSION = 0x01;
|
|
|
53
54
|
* between "an attachmentRefs count" and "a provenance block" impossible.
|
|
54
55
|
*/
|
|
55
56
|
exports.ENTRY_PROVENANCE_BLOCK_TAG = 0x02;
|
|
57
|
+
exports.ENTRY_RECIPIENTS_BLOCK_TAG = 0x03;
|
|
56
58
|
const textEncoder = new TextEncoder();
|
|
57
59
|
/**
|
|
58
60
|
* Decode a standard-base64 string to raw bytes. Kept local so this module stays
|
|
@@ -125,6 +127,9 @@ function pushInt64BE(parts, value) {
|
|
|
125
127
|
* || len(sourceSigningBytes) || sourceSigningBytes (recursive layout)
|
|
126
128
|
* || len(sourceMetadataSignature) || sourceMetadataSignature (raw bytes,
|
|
127
129
|
* zero-length when absent)
|
|
130
|
+
* -- trailing recipients block, PRESENT ONLY IF recipients.wraps.length > 0 --
|
|
131
|
+
* || 0x03 (ENTRY_RECIPIENTS_BLOCK_TAG)
|
|
132
|
+
* || len(JSON.stringify(recipients)) || JSON.stringify(recipients)
|
|
128
133
|
* ```
|
|
129
134
|
*
|
|
130
135
|
* Both trailing blocks are deliberately backward-compatible extensions: each is
|
|
@@ -181,6 +186,11 @@ function buildEntrySigningBytes(fields, version = exports.ENTRY_SIGNATURE_LAYOUT
|
|
|
181
186
|
? base64ToBytes(provenance.sourceMetadataSignature)
|
|
182
187
|
: new Uint8Array(0));
|
|
183
188
|
}
|
|
189
|
+
const recipients = fields.recipients;
|
|
190
|
+
if (recipients && recipients.wraps.length > 0) {
|
|
191
|
+
parts.push(new Uint8Array([exports.ENTRY_RECIPIENTS_BLOCK_TAG]));
|
|
192
|
+
pushString(parts, JSON.stringify(recipients));
|
|
193
|
+
}
|
|
184
194
|
const total = parts.reduce((sum, p) => sum + p.length, 0);
|
|
185
195
|
const out = new Uint8Array(total);
|
|
186
196
|
let offset = 0;
|
|
@@ -201,12 +211,11 @@ function entrySignatureFieldsFromEntry(entry) {
|
|
|
201
211
|
dependencyIds: entry.dependencyIds,
|
|
202
212
|
contentHash: entry.contentHash,
|
|
203
213
|
createdByPublicKey: entry.createdByPublicKey,
|
|
204
|
-
// Canonicalize empty -> undefined so "no attachments" has a single byte
|
|
205
|
-
// representation (zero trailing bytes); see buildEntrySigningBytes.
|
|
206
214
|
attachmentRefs: entry.attachmentRefs && entry.attachmentRefs.length > 0
|
|
207
215
|
? entry.attachmentRefs
|
|
208
216
|
: undefined,
|
|
209
217
|
provenance: entry.provenance,
|
|
218
|
+
recipients: entry.recipients,
|
|
210
219
|
};
|
|
211
220
|
}
|
|
212
221
|
/** Convert a PEM-encoded SPKI public key to an ArrayBuffer (dependency-free). */
|
|
@@ -231,7 +240,7 @@ function importEd25519PublicKeyFromPem(publicKeyPem, subtle) {
|
|
|
231
240
|
*/
|
|
232
241
|
async function signEntryMetadata(fields, signingPrivateKey, subtle, version = exports.ENTRY_SIGNATURE_LAYOUT_VERSION) {
|
|
233
242
|
const bytes = buildEntrySigningBytes(fields, version);
|
|
234
|
-
const signature = await subtle.sign({ name: "Ed25519" }, signingPrivateKey, bytes.
|
|
243
|
+
const signature = await subtle.sign({ name: "Ed25519" }, signingPrivateKey, bytes.slice());
|
|
235
244
|
return new Uint8Array(signature);
|
|
236
245
|
}
|
|
237
246
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntrySignature.js","sourceRoot":"","sources":["../../../src/core/crypto/EntrySignature.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"EntrySignature.js","sourceRoot":"","sources":["../../../src/core/crypto/EntrySignature.ts"],"names":[],"mappings":";;;AAyJA,sCAOC;AAGD,sCAQC;AA4ED,wDA6DC;AAGD,sEA+BC;AAgBD,sEAWC;AAMD,8CASC;AAaD,kFAyCC;AAOD,gEAqBC;AAhdD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;;;;;;;GAaG;AACU,QAAA,8BAA8B,GAAG,IAAI,CAAC;AAEnD;;;;;GAKG;AACU,QAAA,0BAA0B,GAAG,IAAI,CAAC;AAClC,QAAA,0BAA0B,GAAG,IAAI,CAAC;AAkG/C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;GAGG;AACH,SAAgB,aAAa,CAAC,MAAc;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sFAAsF;AACtF,SAAgB,aAAa,CAAC,KAAiB;IAC7C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,qEAAqE;IACrE,MAAM,SAAS,GAAG,MAAM,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QACjD,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAmB,EAAE,KAAiB;IAChE,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,KAAmB,EAAE,KAAa;IACpD,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,KAAmB,EAAE,KAAa;IACtD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,KAAmB,EAAE,KAAa;IACrD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wDAAwD,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC/E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,SAAgB,sBAAsB,CACpC,MAA4B,EAC5B,UAAkB,sCAA8B;IAEhD,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7B,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1C,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACvC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACtC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE7C,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC7C,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YACpC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YACnC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,uEAAuE;IACvE,0BAA0B;IAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,kCAA0B,CAAC,CAAC,CAAC,CAAC;QACzD,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QAC7C,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QACzC,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9E,kBAAkB,CAChB,KAAK,EACL,UAAU,CAAC,uBAAuB;YAChC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,uBAAuB,CAAC;YACnD,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CACtB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,IAAI,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,kCAA0B,CAAC,CAAC,CAAC,CAAC;QACzD,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACnB,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,4DAA4D;AAC5D,SAAgB,6BAA6B,CAC3C,KAYoC;IAEpC,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,cAAc,EACZ,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;YACrD,CAAC,CAAC,KAAK,CAAC,cAAc;YACtB,CAAC,CAAC,SAAS;QACf,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,MAAM,GAAG,GAAG;SACf,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;SACzC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;SACvC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,MAAqB,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,SAAgB,6BAA6B,CAC3C,YAAoB,EACpB,MAAoB;IAEpB,OAAO,MAAM,CAAC,SAAS,CACrB,MAAM,EACN,gBAAgB,CAAC,YAAY,CAAC,EAC9B,EAAE,IAAI,EAAE,SAAS,EAAE,EACnB,KAAK,EACL,CAAC,QAAQ,CAAC,CACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAA4B,EAC5B,iBAA4B,EAC5B,MAAoB,EACpB,UAAkB,sCAA8B;IAEhD,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3F,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,mCAAmC,CACvD,KAYoE,EACpE,aAAyB,EACzB,SAAoB,EACpB,MAAoB,EACpB,IAAkC;IAElC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,sBAAsB,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC,MAAM,CAClB,EAAE,IAAI,EAAE,SAAS,EAAE,EACnB,SAAS,EACT,KAAK,CAAC,iBAAiB,CAAC,MAAqB,EAC7C,KAAK,CAAC,MAAqB,CAC5B,CAAC;IACJ,CAAC;IACD,0EAA0E;IAC1E,6EAA6E;IAC7E,0EAA0E;IAC1E,uDAAuD;IACvD,IAAI,IAAI,EAAE,wBAAwB,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAClB,EAAE,IAAI,EAAE,SAAS,EAAE,EACnB,SAAS,EACT,KAAK,CAAC,SAAS,CAAC,MAAqB,EACrC,aAAa,CAAC,MAAqB,CACpC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,0BAA0B,CAC9C,KAYoE,EACpE,aAAyB,EACzB,kBAA0B,EAC1B,MAAoB,EACpB,IAAkC;IAElC,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAClF,OAAO,mCAAmC,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC5F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MindooDocSigner.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/MindooDocSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAoB,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAoC,MAAM,YAAY,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM;IAQ9E;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,mBAAmB;IA6C3B;;;;;;;;OAQG;IACG,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"MindooDocSigner.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/MindooDocSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAoB,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAoC,MAAM,YAAY,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM;IAQ9E;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,mBAAmB;IA6C3B;;;;;;;;OAQG;IACG,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAqE3F;;;;;;;;OAQG;IACG,WAAW,CACf,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;CA2CpB"}
|
|
@@ -155,11 +155,20 @@ class MindooDocSigner {
|
|
|
155
155
|
}, false, // not extractable
|
|
156
156
|
["sign"]);
|
|
157
157
|
// Sign the payload
|
|
158
|
-
const
|
|
158
|
+
const signatureBuffer = await subtle.sign({
|
|
159
159
|
name: "Ed25519",
|
|
160
160
|
}, signingKey, payloadBytes.buffer);
|
|
161
|
+
const signature = new Uint8Array(signatureBuffer);
|
|
162
|
+
// Same private↔public consistency check as BaseMindooTenant.signPayloadWithKey:
|
|
163
|
+
// never attribute a signature to a claimed PEM that did not produce it.
|
|
164
|
+
const publicKeyBuffer = this.tenant.pemToArrayBuffer(this.signKey.publicKey);
|
|
165
|
+
const verifyKey = await subtle.importKey("spki", publicKeyBuffer, { name: "Ed25519" }, false, ["verify"]);
|
|
166
|
+
const matches = await subtle.verify({ name: "Ed25519" }, verifyKey, signature.buffer, payloadBytes.buffer);
|
|
167
|
+
if (!matches) {
|
|
168
|
+
throw new Error("Signing key pair mismatch: the decrypted private key does not correspond to the claimed public key.");
|
|
169
|
+
}
|
|
161
170
|
this.logger.debug(`Signed ${items.length} items (signature: ${signature.byteLength} bytes)`);
|
|
162
|
-
return
|
|
171
|
+
return signature;
|
|
163
172
|
}
|
|
164
173
|
/**
|
|
165
174
|
* Verifies the signature for the specified document items.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MindooDocSigner.js","sourceRoot":"","sources":["../../../src/core/crypto/MindooDocSigner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MindooDocSigner.js","sourceRoot":"","sources":["../../../src/core/crypto/MindooDocSigner.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":";;AAiCA,8CA+DC;AAED,8CA+CC;AA/ID,yDAAiH;AAEjH,SAAS,kBAAkB,CAAC,KAAiB;IAC3C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAqB,EAAE,UAAkB;IAClE,MAAM,eAAe,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/E,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5B,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,aAAa,CAAC,KAAiB;IACtC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAgB,CAAC;AAClG,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,aAA4B,EAC5B,eAA2B,EAC3B,QAAgB,EAChB,UAAkB;IAElB,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEvE,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAChC,YAAY,CAAC,IAAI,CAAC,CAAC;IAEnB,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,CAAC;IAEjB,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,SAAS,CACxC,KAAK,EACL,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAClC,QAAQ,EACR,KAAK,EACL,CAAC,YAAY,EAAE,WAAW,CAAC,CAC5B,CAAC;IAEF,MAAM,UAAU,GAAG,IAAA,0CAAuB,EAAC,4CAAyB,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,SAAS,CACvC;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC;QACjC,UAAU;QACV,IAAI,EAAE,SAAS;KAChB,EACD,WAAW,EACX;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;KACZ,EACD,KAAK,EACL,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CACpC;QACE,IAAI,EAAE,SAAS;QACf,EAAE;QACF,SAAS,EAAE,GAAG;KACf,EACD,UAAU,EACV,eAAe,CAAC,
|
|
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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
export * from "./types";
|
|
2
2
|
export * from "./databaseIdValidation";
|
|
3
|
+
export { evaluateBuiltinWrite, hasBuiltinWriteInvariant, isPersonalUserdirectoryDocId, PERSONAL_DOC_ID_PREFIXES, shouldSkipLoadedEntry, entryTypeToBuiltinOp, usernameHashFromCreateChangeBytes, type BuiltinWriteOp, type BuiltinWriteInput, type BuiltinWriteDecision, } from "./builtinDbInvariants";
|
|
4
|
+
export * from "./userkeys";
|
|
3
5
|
export * from "./tenantIdValidation";
|
|
4
|
-
export { readTenantSetupLabel, writeTenantSetupLabel } from "./tenantSetup";
|
|
5
|
-
export type { TenantSetupData } from "./tenantSetup";
|
|
6
|
+
export { readTenantSetupLabel, writeTenantSetupLabel, readTenantSetupAdministrators, writeTenantSetupAdministrator, ensureTenantSetupAdministrator, } from "./tenantSetup";
|
|
7
|
+
export type { TenantSetupData, TenantAdministrator, TenantAdministratorData, } from "./tenantSetup";
|
|
6
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";
|
|
7
|
-
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";
|
|
8
10
|
export { AccessDeniedError } from "./accesscontrol/AccessDeniedError";
|
|
9
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";
|
|
10
14
|
export { BaseMindooDB } from "./BaseMindooDB";
|
|
11
15
|
export { BaseMindooTenant } from "./BaseMindooTenant";
|
|
12
16
|
export { BaseMindooTenantFactory } from "./BaseMindooTenantFactory";
|
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;AACrC,OAAO,
|
|
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,4BAA4B,EAC5B,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,17 +15,30 @@ 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.
|
|
18
|
+
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.PERSONAL_DOC_ID_PREFIXES = exports.isPersonalUserdirectoryDocId = exports.hasBuiltinWriteInvariant = exports.evaluateBuiltinWrite = void 0;
|
|
19
|
+
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 = exports.abbreviateCanonicalName = exports.AccessDeniedError = void 0;
|
|
20
|
+
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 = exports.buildDocHistoryPurgeRequest = exports.verifyEntryProvenance = void 0;
|
|
21
|
+
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 = exports.VirtualView = exports.HttpTransport = void 0;
|
|
22
|
+
exports.sanitizeExtractionConfig = void 0;
|
|
22
23
|
// Types
|
|
23
24
|
__exportStar(require("./types"), exports);
|
|
24
25
|
__exportStar(require("./databaseIdValidation"), exports);
|
|
26
|
+
var builtinDbInvariants_1 = require("./builtinDbInvariants");
|
|
27
|
+
Object.defineProperty(exports, "evaluateBuiltinWrite", { enumerable: true, get: function () { return builtinDbInvariants_1.evaluateBuiltinWrite; } });
|
|
28
|
+
Object.defineProperty(exports, "hasBuiltinWriteInvariant", { enumerable: true, get: function () { return builtinDbInvariants_1.hasBuiltinWriteInvariant; } });
|
|
29
|
+
Object.defineProperty(exports, "isPersonalUserdirectoryDocId", { enumerable: true, get: function () { return builtinDbInvariants_1.isPersonalUserdirectoryDocId; } });
|
|
30
|
+
Object.defineProperty(exports, "PERSONAL_DOC_ID_PREFIXES", { enumerable: true, get: function () { return builtinDbInvariants_1.PERSONAL_DOC_ID_PREFIXES; } });
|
|
31
|
+
Object.defineProperty(exports, "shouldSkipLoadedEntry", { enumerable: true, get: function () { return builtinDbInvariants_1.shouldSkipLoadedEntry; } });
|
|
32
|
+
Object.defineProperty(exports, "entryTypeToBuiltinOp", { enumerable: true, get: function () { return builtinDbInvariants_1.entryTypeToBuiltinOp; } });
|
|
33
|
+
Object.defineProperty(exports, "usernameHashFromCreateChangeBytes", { enumerable: true, get: function () { return builtinDbInvariants_1.usernameHashFromCreateChangeBytes; } });
|
|
34
|
+
__exportStar(require("./userkeys"), exports);
|
|
25
35
|
__exportStar(require("./tenantIdValidation"), exports);
|
|
26
36
|
var tenantSetup_1 = require("./tenantSetup");
|
|
27
37
|
Object.defineProperty(exports, "readTenantSetupLabel", { enumerable: true, get: function () { return tenantSetup_1.readTenantSetupLabel; } });
|
|
28
38
|
Object.defineProperty(exports, "writeTenantSetupLabel", { enumerable: true, get: function () { return tenantSetup_1.writeTenantSetupLabel; } });
|
|
39
|
+
Object.defineProperty(exports, "readTenantSetupAdministrators", { enumerable: true, get: function () { return tenantSetup_1.readTenantSetupAdministrators; } });
|
|
40
|
+
Object.defineProperty(exports, "writeTenantSetupAdministrator", { enumerable: true, get: function () { return tenantSetup_1.writeTenantSetupAdministrator; } });
|
|
41
|
+
Object.defineProperty(exports, "ensureTenantSetupAdministrator", { enumerable: true, get: function () { return tenantSetup_1.ensureTenantSetupAdministrator; } });
|
|
29
42
|
// Access-control directory schema + time-travel state (docs/accesscontrol.md
|
|
30
43
|
// §6/§8). Surfaced so consumers (e.g. the Haven directory-history UI) can read
|
|
31
44
|
// the time-travel DirectoryStateNode returned by
|
|
@@ -67,8 +80,24 @@ Object.defineProperty(exports, "ACL_DOC_HISTORY_PURGE_PREFIX", { enumerable: tru
|
|
|
67
80
|
var DirectoryStateNode_1 = require("./accesscontrol/DirectoryStateNode");
|
|
68
81
|
Object.defineProperty(exports, "createGenesisNode", { enumerable: true, get: function () { return DirectoryStateNode_1.createGenesisNode; } });
|
|
69
82
|
Object.defineProperty(exports, "nodeCovering", { enumerable: true, get: function () { return DirectoryStateNode_1.nodeCovering; } });
|
|
83
|
+
Object.defineProperty(exports, "isSamePerson", { enumerable: true, get: function () { return DirectoryStateNode_1.isSamePerson; } });
|
|
84
|
+
Object.defineProperty(exports, "grantForSigningKey", { enumerable: true, get: function () { return DirectoryStateNode_1.grantForSigningKey; } });
|
|
85
|
+
Object.defineProperty(exports, "signingKeysEqual", { enumerable: true, get: function () { return DirectoryStateNode_1.signingKeysEqual; } });
|
|
70
86
|
var AccessDeniedError_1 = require("./accesscontrol/AccessDeniedError");
|
|
71
87
|
Object.defineProperty(exports, "AccessDeniedError", { enumerable: true, get: function () { return AccessDeniedError_1.AccessDeniedError; } });
|
|
88
|
+
var userid_1 = require("./userid");
|
|
89
|
+
Object.defineProperty(exports, "abbreviateCanonicalName", { enumerable: true, get: function () { return userid_1.abbreviateCanonicalName; } });
|
|
90
|
+
Object.defineProperty(exports, "buildCanonicalName", { enumerable: true, get: function () { return userid_1.buildCanonicalName; } });
|
|
91
|
+
Object.defineProperty(exports, "canonicalizeUsername", { enumerable: true, get: function () { return userid_1.canonicalizeUsername; } });
|
|
92
|
+
Object.defineProperty(exports, "expandAbbreviatedName", { enumerable: true, get: function () { return userid_1.expandAbbreviatedName; } });
|
|
93
|
+
Object.defineProperty(exports, "formatCanonicalDisplayName", { enumerable: true, get: function () { return userid_1.formatCanonicalDisplayName; } });
|
|
94
|
+
Object.defineProperty(exports, "formatCanonicalUsernameLabel", { enumerable: true, get: function () { return userid_1.formatCanonicalUsernameLabel; } });
|
|
95
|
+
Object.defineProperty(exports, "getCanonicalNameVariants", { enumerable: true, get: function () { return userid_1.getCanonicalNameVariants; } });
|
|
96
|
+
Object.defineProperty(exports, "isCanonicalName", { enumerable: true, get: function () { return userid_1.isCanonicalName; } });
|
|
97
|
+
Object.defineProperty(exports, "normalizeCanonicalNameForComparison", { enumerable: true, get: function () { return userid_1.normalizeCanonicalNameForComparison; } });
|
|
98
|
+
Object.defineProperty(exports, "parseCanonicalName", { enumerable: true, get: function () { return userid_1.parseCanonicalName; } });
|
|
99
|
+
Object.defineProperty(exports, "sanitizeCanonicalNamePart", { enumerable: true, get: function () { return userid_1.sanitizeCanonicalNamePart; } });
|
|
100
|
+
Object.defineProperty(exports, "usernamesEqual", { enumerable: true, get: function () { return userid_1.usernamesEqual; } });
|
|
72
101
|
// Base classes
|
|
73
102
|
var BaseMindooDB_1 = require("./BaseMindooDB");
|
|
74
103
|
Object.defineProperty(exports, "BaseMindooDB", { enumerable: true, get: function () { return BaseMindooDB_1.BaseMindooDB; } });
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA,iCAAiC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,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"}
|