mindoodb 0.0.92 → 0.0.93
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 +34 -0
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +12 -3
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
- package/dist/cloudflare/host.d.ts.map +1 -1
- package/dist/cloudflare/host.js +3 -0
- package/dist/cloudflare/host.js.map +1 -1
- package/dist/cloudflare/types.d.ts +2 -0
- package/dist/cloudflare/types.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.d.ts +38 -0
- package/dist/core/BaseMindooDB.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.js +278 -22
- package/dist/core/BaseMindooDB.js.map +1 -1
- package/dist/core/BaseMindooTenant.d.ts +51 -2
- package/dist/core/BaseMindooTenant.d.ts.map +1 -1
- package/dist/core/BaseMindooTenant.js +131 -39
- package/dist/core/BaseMindooTenant.js.map +1 -1
- package/dist/core/appendonlystores/MaterializationPlanner.d.ts.map +1 -1
- package/dist/core/appendonlystores/MaterializationPlanner.js +19 -6
- package/dist/core/appendonlystores/MaterializationPlanner.js.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts +2 -1
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.js +2 -1
- package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
- package/dist/core/crypto/AuthChallenge.d.ts +27 -2
- package/dist/core/crypto/AuthChallenge.d.ts.map +1 -1
- package/dist/core/crypto/AuthChallenge.js +25 -4
- package/dist/core/crypto/AuthChallenge.js.map +1 -1
- package/dist/core/crypto/EntrySignature.d.ts +1 -1
- package/dist/core/crypto/EntrySignature.js +2 -2
- package/dist/core/crypto/EntrySignature.js.map +1 -1
- package/dist/core/types.d.ts +43 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/userkeys/recipients.d.ts +12 -0
- package/dist/core/userkeys/recipients.d.ts.map +1 -1
- package/dist/core/userkeys/recipients.js +42 -9
- package/dist/core/userkeys/recipients.js.map +1 -1
- package/dist/core/userkeys/sealedCrypto.d.ts +17 -0
- package/dist/core/userkeys/sealedCrypto.d.ts.map +1 -1
- package/dist/core/userkeys/sealedCrypto.js +31 -8
- package/dist/core/userkeys/sealedCrypto.js.map +1 -1
- package/dist/core/userkeys/sealedTypes.d.ts +52 -0
- package/dist/core/userkeys/sealedTypes.d.ts.map +1 -1
- package/dist/core/userkeys/sealedTypes.js +37 -1
- package/dist/core/userkeys/sealedTypes.js.map +1 -1
- package/dist/node/server/MindooDBServer.d.ts.map +1 -1
- package/dist/node/server/MindooDBServer.js +4 -0
- package/dist/node/server/MindooDBServer.js.map +1 -1
- package/dist/server/DeviceDiscoveryService.d.ts.map +1 -1
- package/dist/server/DeviceDiscoveryService.js +3 -1
- package/dist/server/DeviceDiscoveryService.js.map +1 -1
- package/dist/server/SystemAdminAuth.d.ts.map +1 -1
- package/dist/server/SystemAdminAuth.js +3 -1
- package/dist/server/SystemAdminAuth.js.map +1 -1
- package/dist/server/legacyChallengeSignatures.d.ts +11 -0
- package/dist/server/legacyChallengeSignatures.d.ts.map +1 -0
- package/dist/server/legacyChallengeSignatures.js +50 -0
- package/dist/server/legacyChallengeSignatures.js.map +1 -0
- package/dist/server/peer/PeerAuthService.d.ts.map +1 -1
- package/dist/server/peer/PeerAuthService.js +3 -1
- package/dist/server/peer/PeerAuthService.js.map +1 -1
- package/dist/server/types.d.ts +8 -0
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +8 -0
- package/dist/server/types.js.map +1 -1
- package/package.json +2 -1
|
@@ -86,6 +86,14 @@ export declare class BaseMindooTenant implements MindooTenant {
|
|
|
86
86
|
private readonly backgroundTasks;
|
|
87
87
|
private readonly userKeys;
|
|
88
88
|
private readonly sealedGenerations;
|
|
89
|
+
/** Per sealed key id: the bundle of the recipient block last opened. */
|
|
90
|
+
private readonly sealedBlocks;
|
|
91
|
+
/** Per sealed key id: the epoch of each cached generation (same order). */
|
|
92
|
+
private readonly sealedEpochs;
|
|
93
|
+
/** Per sealed key id: newest block for which the whole key document history was explored. */
|
|
94
|
+
private readonly sealedDeep;
|
|
95
|
+
/** Per sealed key id: older recipient blocks already tried. */
|
|
96
|
+
private readonly sealedExplored;
|
|
89
97
|
private cacheManager;
|
|
90
98
|
/**
|
|
91
99
|
* Optional map of additional trusted signing public keys.
|
|
@@ -172,8 +180,40 @@ export declare class BaseMindooTenant implements MindooTenant {
|
|
|
172
180
|
reconcileUserKeysSafe(): Promise<void>;
|
|
173
181
|
getUserKeyEnrollmentStatus(): Promise<UserKeyEnrollmentStatus>;
|
|
174
182
|
ensureLocalUserKeyPair(): Promise<void>;
|
|
175
|
-
|
|
183
|
+
/**
|
|
184
|
+
* `generations` newest first. `block` is the recipient block they were sealed
|
|
185
|
+
* into, so ingesting that same block again is skipped. `epochs` labels each
|
|
186
|
+
* generation; by default they are the contiguous run that ends at the block's
|
|
187
|
+
* epoch (or at `generations.length` without a block).
|
|
188
|
+
*/
|
|
189
|
+
rememberSealedGenerations(keyId: string, generations: Uint8Array[], block?: EntryRecipients, epochs?: number[]): void;
|
|
190
|
+
/** The cached series with its epochs, newest first. */
|
|
191
|
+
getSealedSeries(keyId: string): Array<{
|
|
192
|
+
epoch: number;
|
|
193
|
+
key: Uint8Array;
|
|
194
|
+
}>;
|
|
195
|
+
/**
|
|
196
|
+
* Whether this session lacks some generation of a sealed key series (added
|
|
197
|
+
* without the history, or away for a while): documents encrypted with a
|
|
198
|
+
* missing generation are not readable although the key id is known.
|
|
199
|
+
*/
|
|
200
|
+
isPartialSealedSeries(keyId: string): boolean;
|
|
201
|
+
/**
|
|
202
|
+
* True while a partial series has not been completed from the key document's
|
|
203
|
+
* whole history yet: the older recipient blocks may hold more generations
|
|
204
|
+
* for this reader than the newest one (see {@link ingestSealedFromEntries}).
|
|
205
|
+
*/
|
|
206
|
+
needsDeepSealedIngest(keyId: string): boolean;
|
|
176
207
|
getSealedGenerations(keyId: string): Uint8Array[];
|
|
208
|
+
private sealedUnwrapKeys;
|
|
209
|
+
private openSealedBlock;
|
|
210
|
+
/** Adds `range` to the cached series of `keyId` (a newer block wins per epoch). */
|
|
211
|
+
private mergeSealedSeries;
|
|
212
|
+
/**
|
|
213
|
+
* Opens the NEWEST recipient block of a key series. Opening it makes this
|
|
214
|
+
* replica a reader (its generations are merged into the session cache);
|
|
215
|
+
* failing to open it means removed or never added, and the cache is dropped.
|
|
216
|
+
*/
|
|
177
217
|
ingestSealedRecipients(keyId: string, recipients: EntryRecipients): Promise<void>;
|
|
178
218
|
/**
|
|
179
219
|
* Seals `value` to people (their published User-Keys) or devices, for a
|
|
@@ -188,10 +228,19 @@ export declare class BaseMindooTenant implements MindooTenant {
|
|
|
188
228
|
* or device key. Returns null when it is not sealed to them.
|
|
189
229
|
*/
|
|
190
230
|
openSealedValue(sealed: SealedValue): Promise<Uint8Array | null>;
|
|
231
|
+
/**
|
|
232
|
+
* Hands a key document's recipient blocks to the session. The newest block
|
|
233
|
+
* decides membership. A reader whose newest bundle does not reach back to
|
|
234
|
+
* epoch 1 (it was sealed by a member without the older history, or the reader
|
|
235
|
+
* joined late) completes the series from the older blocks it can open.
|
|
236
|
+
* Pass `complete` when `entries` is the key document's whole history.
|
|
237
|
+
*/
|
|
191
238
|
ingestSealedFromEntries(keyId: string, entries: Array<{
|
|
192
239
|
recipients?: EntryRecipients;
|
|
193
240
|
createdAt: number;
|
|
194
|
-
}
|
|
241
|
+
}>, options?: {
|
|
242
|
+
complete?: boolean;
|
|
243
|
+
}): Promise<void>;
|
|
195
244
|
getFactory(): MindooTenantFactory;
|
|
196
245
|
getId(): string;
|
|
197
246
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMindooTenant.d.ts","sourceRoot":"","sources":["../../src/core/BaseMindooTenant.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseMindooTenant.d.ts","sourceRoot":"","sources":["../../src/core/BaseMindooTenant.ts"],"names":[],"mappings":"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"}
|
|
@@ -121,6 +121,14 @@ class BaseMindooTenant {
|
|
|
121
121
|
this.backgroundTasks = new BackgroundTaskTracker_1.BackgroundTaskTracker();
|
|
122
122
|
this.userKeys = new UserKeyManager_1.UserKeyManager(this);
|
|
123
123
|
this.sealedGenerations = new Map();
|
|
124
|
+
/** Per sealed key id: the bundle of the recipient block last opened. */
|
|
125
|
+
this.sealedBlocks = new Map();
|
|
126
|
+
/** Per sealed key id: the epoch of each cached generation (same order). */
|
|
127
|
+
this.sealedEpochs = new Map();
|
|
128
|
+
/** Per sealed key id: newest block for which the whole key document history was explored. */
|
|
129
|
+
this.sealedDeep = new Map();
|
|
130
|
+
/** Per sealed key id: older recipient blocks already tried. */
|
|
131
|
+
this.sealedExplored = new Map();
|
|
124
132
|
// Local cache support
|
|
125
133
|
this.cacheManager = null;
|
|
126
134
|
/** Imported HMAC subkeys of {@link computeKeyedHash}, keyed by key id + purpose. */
|
|
@@ -372,65 +380,113 @@ class BaseMindooTenant {
|
|
|
372
380
|
async ensureLocalUserKeyPair() {
|
|
373
381
|
await this.userKeys.ensureLocalUserKeyPair(this.currentUser, this.currentUserPassword);
|
|
374
382
|
}
|
|
375
|
-
|
|
383
|
+
/**
|
|
384
|
+
* `generations` newest first. `block` is the recipient block they were sealed
|
|
385
|
+
* into, so ingesting that same block again is skipped. `epochs` labels each
|
|
386
|
+
* generation; by default they are the contiguous run that ends at the block's
|
|
387
|
+
* epoch (or at `generations.length` without a block).
|
|
388
|
+
*/
|
|
389
|
+
rememberSealedGenerations(keyId, generations, block, epochs) {
|
|
390
|
+
const top = block?.epoch && block.epoch >= generations.length ? block.epoch : generations.length;
|
|
376
391
|
this.sealedGenerations.set(keyId, generations);
|
|
392
|
+
this.sealedEpochs.set(keyId, epochs ?? generations.map((_, index) => top - index));
|
|
393
|
+
if (block)
|
|
394
|
+
this.sealedBlocks.set(keyId, block.bundle);
|
|
395
|
+
else
|
|
396
|
+
this.sealedBlocks.delete(keyId);
|
|
397
|
+
}
|
|
398
|
+
/** The cached series with its epochs, newest first. */
|
|
399
|
+
getSealedSeries(keyId) {
|
|
400
|
+
const generations = this.sealedGenerations.get(keyId) ?? [];
|
|
401
|
+
const epochs = this.sealedEpochs.get(keyId) ?? generations.map((_, index) => generations.length - index);
|
|
402
|
+
return generations.map((key, index) => ({ epoch: epochs[index], key }));
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Whether this session lacks some generation of a sealed key series (added
|
|
406
|
+
* without the history, or away for a while): documents encrypted with a
|
|
407
|
+
* missing generation are not readable although the key id is known.
|
|
408
|
+
*/
|
|
409
|
+
isPartialSealedSeries(keyId) {
|
|
410
|
+
const epochs = this.sealedEpochs.get(keyId);
|
|
411
|
+
if (!epochs?.length)
|
|
412
|
+
return false;
|
|
413
|
+
return epochs.length < Math.max(...epochs);
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* True while a partial series has not been completed from the key document's
|
|
417
|
+
* whole history yet: the older recipient blocks may hold more generations
|
|
418
|
+
* for this reader than the newest one (see {@link ingestSealedFromEntries}).
|
|
419
|
+
*/
|
|
420
|
+
needsDeepSealedIngest(keyId) {
|
|
421
|
+
return (this.isPartialSealedSeries(keyId) &&
|
|
422
|
+
this.sealedDeep.get(keyId) !== this.sealedBlocks.get(keyId));
|
|
377
423
|
}
|
|
378
424
|
getSealedGenerations(keyId) {
|
|
379
425
|
return this.sealedGenerations.get(keyId) ?? [];
|
|
380
426
|
}
|
|
427
|
+
async sealedUnwrapKeys() {
|
|
428
|
+
return [
|
|
429
|
+
...(await this.userKeys.getUserKeyCryptoKeysForReconcile()),
|
|
430
|
+
await this.getEncryptionPrivateKeyForReconcile(),
|
|
431
|
+
].filter((k) => !!k);
|
|
432
|
+
}
|
|
433
|
+
async openSealedBlock(recipients, keys) {
|
|
434
|
+
for (const key of keys) {
|
|
435
|
+
try {
|
|
436
|
+
return await (0, sealedCrypto_1.openBundleRange)({ crypto: this.cryptoAdapter, recipients, privateKey: key });
|
|
437
|
+
}
|
|
438
|
+
catch {
|
|
439
|
+
// try next key
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
return null;
|
|
443
|
+
}
|
|
444
|
+
/** Adds `range` to the cached series of `keyId` (a newer block wins per epoch). */
|
|
445
|
+
mergeSealedSeries(keyId, range, preferRange) {
|
|
446
|
+
const byEpoch = new Map();
|
|
447
|
+
const current = this.getSealedSeries(keyId);
|
|
448
|
+
for (const entry of preferRange ? current : range)
|
|
449
|
+
byEpoch.set(entry.epoch, entry.key);
|
|
450
|
+
for (const entry of preferRange ? range : current)
|
|
451
|
+
byEpoch.set(entry.epoch, entry.key);
|
|
452
|
+
const epochs = [...byEpoch.keys()].sort((a, b) => b - a);
|
|
453
|
+
this.sealedGenerations.set(keyId, epochs.map((epoch) => byEpoch.get(epoch)));
|
|
454
|
+
this.sealedEpochs.set(keyId, epochs);
|
|
455
|
+
}
|
|
456
|
+
/**
|
|
457
|
+
* Opens the NEWEST recipient block of a key series. Opening it makes this
|
|
458
|
+
* replica a reader (its generations are merged into the session cache);
|
|
459
|
+
* failing to open it means removed or never added, and the cache is dropped.
|
|
460
|
+
*/
|
|
381
461
|
async ingestSealedRecipients(keyId, recipients) {
|
|
382
462
|
const cached = this.sealedGenerations.get(keyId);
|
|
383
463
|
const epoch = typeof recipients.epoch === "number" ? recipients.epoch : 0;
|
|
384
|
-
if (cached
|
|
385
|
-
|
|
386
|
-
keyId
|
|
387
|
-
cached: cached.length,
|
|
388
|
-
epoch,
|
|
389
|
-
});
|
|
464
|
+
if (cached?.length &&
|
|
465
|
+
(this.sealedBlocks.get(keyId) === recipients.bundle ||
|
|
466
|
+
(epoch > 0 && cached.length >= epoch && !this.isPartialSealedSeries(keyId)))) {
|
|
390
467
|
return;
|
|
391
468
|
}
|
|
392
|
-
const keys =
|
|
393
|
-
...(await this.userKeys.getUserKeyCryptoKeysForReconcile()),
|
|
394
|
-
await this.getEncryptionPrivateKeyForReconcile(),
|
|
395
|
-
].filter((k) => !!k);
|
|
396
|
-
console.log("[sealed] ingest: trying unwrap", {
|
|
397
|
-
keyId,
|
|
398
|
-
wrapCount: recipients.wraps?.length ?? 0,
|
|
399
|
-
wrapKinds: (recipients.wraps ?? []).map((wrap) => wrap.kind),
|
|
400
|
-
epoch,
|
|
401
|
-
keyCount: keys.length,
|
|
402
|
-
cached: cached?.length ?? 0,
|
|
403
|
-
});
|
|
469
|
+
const keys = await this.sealedUnwrapKeys();
|
|
404
470
|
if (keys.length === 0) {
|
|
405
471
|
// Keep a create-time session DEK. Without unwrap keys we cannot prove
|
|
406
472
|
// the wrap list excludes us, and deleting would make the author unable
|
|
407
473
|
// to read a document they just sealed.
|
|
408
474
|
return;
|
|
409
475
|
}
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
privateKey: key,
|
|
416
|
-
});
|
|
417
|
-
this.sealedGenerations.set(keyId, gens);
|
|
418
|
-
console.log("[sealed] ingest: unwrapped", { keyId, generations: gens.length });
|
|
419
|
-
return;
|
|
420
|
-
}
|
|
421
|
-
catch {
|
|
422
|
-
// try next key
|
|
423
|
-
}
|
|
476
|
+
const range = await this.openSealedBlock(recipients, keys);
|
|
477
|
+
if (range) {
|
|
478
|
+
this.mergeSealedSeries(keyId, range, true);
|
|
479
|
+
this.sealedBlocks.set(keyId, recipients.bundle);
|
|
480
|
+
return;
|
|
424
481
|
}
|
|
425
482
|
// Newest wrap list is not for us (removed, or never added). Drop any
|
|
426
483
|
// session DEK so hasDecryptionKey / visibility reconcile hide the
|
|
427
484
|
// document instead of leaving the last readable plaintext editable.
|
|
428
|
-
console.log("[sealed] ingest: unwrap failed, dropping session DEK", {
|
|
429
|
-
keyId,
|
|
430
|
-
cached: cached?.length ?? 0,
|
|
431
|
-
epoch,
|
|
432
|
-
});
|
|
433
485
|
this.sealedGenerations.delete(keyId);
|
|
486
|
+
this.sealedEpochs.delete(keyId);
|
|
487
|
+
this.sealedBlocks.delete(keyId);
|
|
488
|
+
this.sealedDeep.delete(keyId);
|
|
489
|
+
this.sealedExplored.delete(keyId);
|
|
434
490
|
}
|
|
435
491
|
/**
|
|
436
492
|
* Seals `value` to people (their published User-Keys) or devices, for a
|
|
@@ -467,13 +523,49 @@ class BaseMindooTenant {
|
|
|
467
523
|
].filter((key) => !!key);
|
|
468
524
|
return (0, sealedValues_1.openSealedValueWithKeys)({ crypto: this.cryptoAdapter, sealed, privateKeys });
|
|
469
525
|
}
|
|
470
|
-
|
|
526
|
+
/**
|
|
527
|
+
* Hands a key document's recipient blocks to the session. The newest block
|
|
528
|
+
* decides membership. A reader whose newest bundle does not reach back to
|
|
529
|
+
* epoch 1 (it was sealed by a member without the older history, or the reader
|
|
530
|
+
* joined late) completes the series from the older blocks it can open.
|
|
531
|
+
* Pass `complete` when `entries` is the key document's whole history.
|
|
532
|
+
*/
|
|
533
|
+
async ingestSealedFromEntries(keyId, entries, options) {
|
|
471
534
|
if (!(0, sealedTypes_1.isSealedKeyId)(keyId))
|
|
472
535
|
return;
|
|
473
536
|
const newest = (0, recipients_1.newestRecipientBlock)(entries);
|
|
474
537
|
if (!newest)
|
|
475
538
|
return;
|
|
476
539
|
await this.ingestSealedRecipients(keyId, newest);
|
|
540
|
+
if (!this.sealedGenerations.get(keyId)?.length)
|
|
541
|
+
return;
|
|
542
|
+
if (this.isPartialSealedSeries(keyId)) {
|
|
543
|
+
const explored = this.sealedExplored.get(keyId) ?? new Set();
|
|
544
|
+
this.sealedExplored.set(keyId, explored);
|
|
545
|
+
const older = entries
|
|
546
|
+
.filter((entry) => !!entry.recipients &&
|
|
547
|
+
(0, sealedTypes_1.hasRecipientWraps)(entry.recipients) &&
|
|
548
|
+
entry.recipients.bundle !== newest.bundle &&
|
|
549
|
+
!explored.has(entry.recipients.bundle))
|
|
550
|
+
.sort((a, b) => b.recipients.epoch - a.recipients.epoch || b.createdAt - a.createdAt);
|
|
551
|
+
let keys = null;
|
|
552
|
+
for (const entry of older) {
|
|
553
|
+
if (!this.isPartialSealedSeries(keyId))
|
|
554
|
+
break;
|
|
555
|
+
keys ?? (keys = await this.sealedUnwrapKeys());
|
|
556
|
+
if (keys.length === 0)
|
|
557
|
+
break;
|
|
558
|
+
explored.add(entry.recipients.bundle);
|
|
559
|
+
const range = await this.openSealedBlock(entry.recipients, keys);
|
|
560
|
+
if (range)
|
|
561
|
+
this.mergeSealedSeries(keyId, range, false);
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
if (options?.complete) {
|
|
565
|
+
const block = this.sealedBlocks.get(keyId);
|
|
566
|
+
if (block)
|
|
567
|
+
this.sealedDeep.set(keyId, block);
|
|
568
|
+
}
|
|
477
569
|
}
|
|
478
570
|
getFactory() {
|
|
479
571
|
return this.factory;
|