mindoodb 0.0.92 → 0.0.94

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.
Files changed (79) hide show
  1. package/README-server.md +34 -0
  2. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +12 -3
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  5. package/dist/browser/index.mjs +2 -0
  6. package/dist/cloudflare/host.d.ts.map +1 -1
  7. package/dist/cloudflare/host.js +3 -0
  8. package/dist/cloudflare/host.js.map +1 -1
  9. package/dist/cloudflare/types.d.ts +2 -0
  10. package/dist/cloudflare/types.d.ts.map +1 -1
  11. package/dist/core/BaseMindooDB.d.ts +38 -0
  12. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  13. package/dist/core/BaseMindooDB.js +278 -22
  14. package/dist/core/BaseMindooDB.js.map +1 -1
  15. package/dist/core/BaseMindooTenant.d.ts +51 -2
  16. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  17. package/dist/core/BaseMindooTenant.js +131 -39
  18. package/dist/core/BaseMindooTenant.js.map +1 -1
  19. package/dist/core/accesscontrol/directoryProjection.d.ts.map +1 -1
  20. package/dist/core/accesscontrol/directoryProjection.js +9 -0
  21. package/dist/core/accesscontrol/directoryProjection.js.map +1 -1
  22. package/dist/core/accesscontrol/types.d.ts +24 -2
  23. package/dist/core/accesscontrol/types.d.ts.map +1 -1
  24. package/dist/core/accesscontrol/types.js +25 -0
  25. package/dist/core/accesscontrol/types.js.map +1 -1
  26. package/dist/core/appendonlystores/MaterializationPlanner.d.ts.map +1 -1
  27. package/dist/core/appendonlystores/MaterializationPlanner.js +19 -6
  28. package/dist/core/appendonlystores/MaterializationPlanner.js.map +1 -1
  29. package/dist/core/appendonlystores/network/AuthenticationService.d.ts +2 -1
  30. package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
  31. package/dist/core/appendonlystores/network/AuthenticationService.js +2 -1
  32. package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
  33. package/dist/core/crypto/AuthChallenge.d.ts +27 -2
  34. package/dist/core/crypto/AuthChallenge.d.ts.map +1 -1
  35. package/dist/core/crypto/AuthChallenge.js +25 -4
  36. package/dist/core/crypto/AuthChallenge.js.map +1 -1
  37. package/dist/core/crypto/EntrySignature.d.ts +1 -1
  38. package/dist/core/crypto/EntrySignature.js +2 -2
  39. package/dist/core/crypto/EntrySignature.js.map +1 -1
  40. package/dist/core/index.d.ts +1 -1
  41. package/dist/core/index.d.ts.map +1 -1
  42. package/dist/core/index.js +7 -5
  43. package/dist/core/index.js.map +1 -1
  44. package/dist/core/types.d.ts +43 -2
  45. package/dist/core/types.d.ts.map +1 -1
  46. package/dist/core/types.js.map +1 -1
  47. package/dist/core/userkeys/recipients.d.ts +12 -0
  48. package/dist/core/userkeys/recipients.d.ts.map +1 -1
  49. package/dist/core/userkeys/recipients.js +42 -9
  50. package/dist/core/userkeys/recipients.js.map +1 -1
  51. package/dist/core/userkeys/sealedCrypto.d.ts +17 -0
  52. package/dist/core/userkeys/sealedCrypto.d.ts.map +1 -1
  53. package/dist/core/userkeys/sealedCrypto.js +31 -8
  54. package/dist/core/userkeys/sealedCrypto.js.map +1 -1
  55. package/dist/core/userkeys/sealedTypes.d.ts +52 -0
  56. package/dist/core/userkeys/sealedTypes.d.ts.map +1 -1
  57. package/dist/core/userkeys/sealedTypes.js +37 -1
  58. package/dist/core/userkeys/sealedTypes.js.map +1 -1
  59. package/dist/node/server/MindooDBServer.d.ts.map +1 -1
  60. package/dist/node/server/MindooDBServer.js +4 -0
  61. package/dist/node/server/MindooDBServer.js.map +1 -1
  62. package/dist/server/DeviceDiscoveryService.d.ts.map +1 -1
  63. package/dist/server/DeviceDiscoveryService.js +3 -1
  64. package/dist/server/DeviceDiscoveryService.js.map +1 -1
  65. package/dist/server/SystemAdminAuth.d.ts.map +1 -1
  66. package/dist/server/SystemAdminAuth.js +3 -1
  67. package/dist/server/SystemAdminAuth.js.map +1 -1
  68. package/dist/server/legacyChallengeSignatures.d.ts +11 -0
  69. package/dist/server/legacyChallengeSignatures.d.ts.map +1 -0
  70. package/dist/server/legacyChallengeSignatures.js +50 -0
  71. package/dist/server/legacyChallengeSignatures.js.map +1 -0
  72. package/dist/server/peer/PeerAuthService.d.ts.map +1 -1
  73. package/dist/server/peer/PeerAuthService.js +3 -1
  74. package/dist/server/peer/PeerAuthService.js.map +1 -1
  75. package/dist/server/types.d.ts +8 -0
  76. package/dist/server/types.d.ts.map +1 -1
  77. package/dist/server/types.js +8 -0
  78. package/dist/server/types.js.map +1 -1
  79. package/package.json +2 -1
@@ -20,7 +20,7 @@ const sealedTypes_1 = require("./sealedTypes");
20
20
  function newestRecipientBlock(entries) {
21
21
  let best;
22
22
  for (const entry of entries) {
23
- if (!entry.recipients?.wraps?.length)
23
+ if (!entry.recipients || !(0, sealedTypes_1.hasRecipientWraps)(entry.recipients))
24
24
  continue;
25
25
  if (!best ||
26
26
  entry.recipients.epoch > best.recipients.epoch ||
@@ -40,7 +40,7 @@ function activeEncryptForEntries(map) {
40
40
  return Object.entries(map).filter(([, entry]) => !entry.removedAt);
41
41
  }
42
42
  function resolveRecipientsFromPayload(payload, recipientsBlock) {
43
- const wraps = new Set((recipientsBlock?.wraps ?? []).map((wrap) => wrap.keyFingerprint));
43
+ const wraps = new Set((0, sealedTypes_1.allRecipientWraps)(recipientsBlock).map((wrap) => wrap.keyFingerprint));
44
44
  const epoch = recipientsBlock?.epoch ?? 1;
45
45
  return activeEncryptForEntries(readEncryptFor(payload)).map(([id, entry]) => ({
46
46
  kind: entry.kind === "device" ? "device" : "user",
@@ -49,6 +49,7 @@ function resolveRecipientsFromPayload(payload, recipientsBlock) {
49
49
  label: entry.label,
50
50
  addedInEpoch: epoch,
51
51
  sealed: !!(entry.keyFingerprint && wraps.has(entry.keyFingerprint)),
52
+ ...(entry.historyFrom && entry.historyFrom > 1 ? { historyFrom: entry.historyFrom } : {}),
52
53
  }));
53
54
  }
54
55
  function specKey(spec) {
@@ -212,17 +213,49 @@ async function resolveDeviceTarget(tenant, fingerprint, label) {
212
213
  }
213
214
  return null;
214
215
  }
216
+ /**
217
+ * Seals `generations` to `targets`. `generations` is newest first and is the
218
+ * contiguous run that ends at `epoch`; when the sealing replica does not hold
219
+ * the older ones, the run starts above epoch 1.
220
+ *
221
+ * Every target gets the run from its own first epoch on (`historyFrom`, at
222
+ * least the start of the run). Targets that share a first epoch share a
223
+ * bundle; the group that reaches back furthest is the block's main bundle
224
+ * (`bundleFrom` when that is not epoch 1), the others are `partial` tiers.
225
+ */
215
226
  async function sealToTargets(input) {
227
+ const crypto = input.tenant.getCryptoAdapter();
228
+ const runFrom = Math.max(1, input.epoch - input.generations.length + 1);
229
+ const wrapsOf = (targets) => targets.map((target) => ({
230
+ kind: target.kind,
231
+ fingerprint: target.keyFingerprint,
232
+ publicKeyPem: target.publicKeyPem,
233
+ }));
234
+ const fromOf = (target) => Math.min(Math.max(target.historyFrom ?? 1, runFrom), input.epoch);
235
+ const byFrom = new Map();
236
+ for (const target of input.targets) {
237
+ const from = fromOf(target);
238
+ byFrom.set(from, [...(byFrom.get(from) ?? []), target]);
239
+ }
240
+ const froms = [...byFrom.keys()].sort((a, b) => a - b);
241
+ // generations are newest first: epoch N is index 0, epoch `from` is index N - from.
242
+ const slice = (from) => input.generations.slice(0, input.epoch - from + 1);
243
+ const mainFrom = froms[0] ?? runFrom;
216
244
  const sealed = await (0, sealedCrypto_1.sealBundle)({
217
- crypto: input.tenant.getCryptoAdapter(),
218
- generations: input.generations,
219
- wrapsTo: input.targets.map((target) => ({
220
- kind: target.kind,
221
- fingerprint: target.keyFingerprint,
222
- publicKeyPem: target.publicKeyPem,
223
- })),
245
+ crypto,
246
+ generations: slice(mainFrom),
247
+ wrapsTo: wrapsOf(byFrom.get(mainFrom) ?? []),
224
248
  });
225
249
  sealed.epoch = input.epoch;
250
+ if (mainFrom > 1)
251
+ sealed.bundleFrom = mainFrom;
252
+ const tiers = [];
253
+ for (const from of froms.slice(1)) {
254
+ const tier = await (0, sealedCrypto_1.sealBundle)({ crypto, generations: slice(from), wrapsTo: wrapsOf(byFrom.get(from)) });
255
+ tiers.push({ from, bundle: tier.bundle, wraps: tier.wraps });
256
+ }
257
+ if (tiers.length > 0)
258
+ sealed.partial = tiers;
226
259
  return sealed;
227
260
  }
228
261
  function automergeSafe(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"recipients.js","sourceRoot":"","sources":["../../../src/core/userkeys/recipients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipients.js","sourceRoot":"","sources":["../../../src/core/userkeys/recipients.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,26 @@ export declare function sealBundle(input: {
13
13
  publicKeyPem: string;
14
14
  }>;
15
15
  }): Promise<EntryRecipients>;
16
+ /**
17
+ * Opens a recipient block with `privateKey`: the whole-history bundle first,
18
+ * then the partial tiers. Returns the generations newest first (index 0 is the
19
+ * current key), as they were sealed.
20
+ */
16
21
  export declare function openBundle(input: {
17
22
  crypto: CryptoAdapter;
18
23
  recipients: EntryRecipients;
19
24
  privateKey: CryptoKey;
20
25
  }): Promise<Uint8Array[]>;
26
+ /**
27
+ * Like {@link openBundle}, with the epochs the opened bundle covers: a bundle
28
+ * always holds a contiguous run that ends at the block's epoch.
29
+ */
30
+ export declare function openBundleRange(input: {
31
+ crypto: CryptoAdapter;
32
+ recipients: EntryRecipients;
33
+ privateKey: CryptoKey;
34
+ }): Promise<Array<{
35
+ epoch: number;
36
+ key: Uint8Array;
37
+ }>>;
21
38
  //# sourceMappingURL=sealedCrypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sealedCrypto.d.ts","sourceRoot":"","sources":["../../../src/core/userkeys/sealedCrypto.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,UAAU,CAAC,CAerB;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,UAAU,CAAC,CAarB;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAIvE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,CAMhE;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxF,GAAG,OAAO,CAAC,eAAe,CAAC,CAkB3B;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,SAAS,CAAC;CACvB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAaxB"}
1
+ {"version":3,"file":"sealedCrypto.d.ts","sourceRoot":"","sources":["../../../src/core/userkeys/sealedCrypto.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,UAAU,CAAC,CAerB;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,UAAU,CAAC,CAarB;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU,CAIvE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,CAMhE;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxF,GAAG,OAAO,CAAC,eAAe,CAAC,CAkB3B;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,SAAS,CAAC;CACvB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAmBxB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,SAAS,CAAC;CACvB,GAAG,OAAO,CAAC,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAAC,CAAC,CAOrD"}
@@ -6,6 +6,7 @@ exports.concatGenerations = concatGenerations;
6
6
  exports.splitGenerations = splitGenerations;
7
7
  exports.sealBundle = sealBundle;
8
8
  exports.openBundle = openBundle;
9
+ exports.openBundleRange = openBundleRange;
9
10
  const RSAEncryption_1 = require("../crypto/RSAEncryption");
10
11
  const fingerprint_1 = require("./fingerprint");
11
12
  async function encryptAesGcm(crypto, keyBytes, plaintext) {
@@ -61,19 +62,41 @@ async function sealBundle(input) {
61
62
  wraps,
62
63
  };
63
64
  }
65
+ /**
66
+ * Opens a recipient block with `privateKey`: the whole-history bundle first,
67
+ * then the partial tiers. Returns the generations newest first (index 0 is the
68
+ * current key), as they were sealed.
69
+ */
64
70
  async function openBundle(input) {
65
71
  const rsa = new RSAEncryption_1.RSAEncryption(input.crypto);
66
72
  let lastError;
67
- for (const wrap of input.recipients.wraps) {
68
- try {
69
- const bundleKey = await rsa.decrypt((0, fingerprint_1.base64ToBytes)(wrap.wrapped), input.privateKey);
70
- const packed = await decryptAesGcm(input.crypto, bundleKey, (0, fingerprint_1.base64ToBytes)(input.recipients.bundle));
71
- return splitGenerations(packed).reverse();
72
- }
73
- catch (error) {
74
- lastError = error;
73
+ const tiers = [
74
+ { bundle: input.recipients.bundle, wraps: input.recipients.wraps ?? [] },
75
+ ...(input.recipients.partial ?? []),
76
+ ];
77
+ for (const tier of tiers) {
78
+ for (const wrap of tier.wraps) {
79
+ try {
80
+ const bundleKey = await rsa.decrypt((0, fingerprint_1.base64ToBytes)(wrap.wrapped), input.privateKey);
81
+ const packed = await decryptAesGcm(input.crypto, bundleKey, (0, fingerprint_1.base64ToBytes)(tier.bundle));
82
+ return splitGenerations(packed);
83
+ }
84
+ catch (error) {
85
+ lastError = error;
86
+ }
75
87
  }
76
88
  }
77
89
  throw lastError ?? new Error("no recipient wrap opened");
78
90
  }
91
+ /**
92
+ * Like {@link openBundle}, with the epochs the opened bundle covers: a bundle
93
+ * always holds a contiguous run that ends at the block's epoch.
94
+ */
95
+ async function openBundleRange(input) {
96
+ const generations = await openBundle(input);
97
+ const top = typeof input.recipients.epoch === "number" && input.recipients.epoch >= generations.length
98
+ ? input.recipients.epoch
99
+ : generations.length;
100
+ return generations.map((key, index) => ({ epoch: top - index, key }));
101
+ }
79
102
  //# sourceMappingURL=sealedCrypto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sealedCrypto.js","sourceRoot":"","sources":["../../../src/core/userkeys/sealedCrypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sealedCrypto.js","sourceRoot":"","sources":["../../../src/core/userkeys/sealedCrypto.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,19 @@ export declare const SEALED_KEY_PREFIX = "$sealed:";
2
2
  export declare const ENCRYPT_FOR_FIELD = "_encryptFor";
3
3
  export declare function sealedKeyId(docId: string): string;
4
4
  export declare function isSealedKeyId(keyId: string): boolean;
5
+ /** The document whose key series `keyId` names (`$sealed:<docId>`), or `undefined`. */
6
+ export declare function sealedKeyDocId(keyId: string): string | undefined;
7
+ /**
8
+ * The group document of a document encrypted with another document's key series
9
+ * (`groupKeyDocId` on create), or `undefined` for an own series or a named key.
10
+ */
11
+ export declare function groupKeyDocIdOf(keyId: string, docId: string): string | undefined;
12
+ /**
13
+ * What new readers get when the caller does not say (`RecipientChangeOptions.history`).
14
+ * `"all"` keeps a shared document complete: its existing attachments are encrypted
15
+ * with the older generations and stay unreadable for a reader added with `"none"`.
16
+ */
17
+ export declare const DEFAULT_RECIPIENT_HISTORY: "all" | "none";
5
18
  export type RecipientSpec = string | {
6
19
  user: string;
7
20
  } | {
@@ -29,6 +42,12 @@ export interface EncryptForEntry {
29
42
  viaGroup?: string;
30
43
  removedAt?: number;
31
44
  removedBy?: string;
45
+ /**
46
+ * First key generation (epoch) this reader holds. Absent: the whole history.
47
+ * Set by `addRecipients(..., { history: "none" })`, cleared by `revealHistory`.
48
+ * Every later re-seal honours it, so the reader never gets older generations.
49
+ */
50
+ historyFrom?: number;
32
51
  }
33
52
  export interface RecipientChangeOptions {
34
53
  signingKeyPair?: import("../types").SigningKeyPair;
@@ -40,6 +59,16 @@ export interface RecipientChangeOptions {
40
59
  strict?: boolean;
41
60
  /** When setting the list, also keep the caller (default true). */
42
61
  includeSelf?: boolean;
62
+ /**
63
+ * Adding readers (`addRecipients`, additions of `setRecipients`).
64
+ * `"all"` (default, {@link DEFAULT_RECIPIENT_HISTORY}): new readers decrypt
65
+ * the history, as far back as the caller holds it.
66
+ * `"none"`: the key rotates first and new readers get only the new
67
+ * generation, so nothing written before they joined is readable for them
68
+ * (including existing attachments); `revealHistory` can hand them the older
69
+ * generations later.
70
+ */
71
+ history?: "all" | "none";
43
72
  }
44
73
  export interface ResolvedRecipient {
45
74
  kind: "user" | "device";
@@ -48,18 +77,41 @@ export interface ResolvedRecipient {
48
77
  label?: string;
49
78
  addedInEpoch: number;
50
79
  sealed: boolean;
80
+ /** First generation this reader holds; absent for the whole history. */
81
+ historyFrom?: number;
51
82
  }
52
83
  export interface EntryRecipientWrap {
53
84
  kind: "user" | "device";
54
85
  keyFingerprint: string;
55
86
  wrapped: string;
56
87
  }
88
+ /**
89
+ * Readers without the whole history: their own bundle with only the
90
+ * generations from `from` (epoch, 1-based) up to the newest.
91
+ */
92
+ export interface EntryRecipientTier {
93
+ from: number;
94
+ bundle: string;
95
+ wraps: EntryRecipientWrap[];
96
+ }
57
97
  export interface EntryRecipients {
58
98
  epoch: number;
59
99
  bundle: string;
60
100
  wraps: EntryRecipientWrap[];
61
101
  namesEncrypted?: string;
102
+ /**
103
+ * First epoch in `bundle`; absent means 1 (the whole series). Above 1 when the
104
+ * replica that sealed this block did not hold the older generations itself:
105
+ * readers entitled to more take them from the earlier blocks they can open.
106
+ */
107
+ bundleFrom?: number;
108
+ /** Bundles for readers with a history limit (`historyFrom`). */
109
+ partial?: EntryRecipientTier[];
62
110
  }
111
+ /** Whether a recipient block wraps to anyone (whole history or partial). */
112
+ export declare function hasRecipientWraps(recipients: EntryRecipients | undefined): boolean;
113
+ /** All wraps of a recipient block, whole-history and partial. */
114
+ export declare function allRecipientWraps(recipients: EntryRecipients | undefined): EntryRecipientWrap[];
63
115
  export interface RecipientChangeResult {
64
116
  epoch: number;
65
117
  rotated: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"sealedTypes.d.ts","sourceRoot":"","sources":["../../../src/core/userkeys/sealedTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAE/C,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,MAAM,MAAM,aAAa,GACrB,MAAM,GACN;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,CAAC,EAAE,OAAO,UAAU,EAAE,cAAc,CAAC;IACnD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,sBAAsB,EAAE,sBAAsB,CAAC;IACpE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,UAAU,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"sealedTypes.d.ts","sourceRoot":"","sources":["../../../src/core/userkeys/sealedTypes.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ENCRYPT_FOR_FIELD = exports.SEALED_KEY_PREFIX = void 0;
3
+ exports.DEFAULT_RECIPIENT_HISTORY = exports.ENCRYPT_FOR_FIELD = exports.SEALED_KEY_PREFIX = void 0;
4
4
  exports.sealedKeyId = sealedKeyId;
5
5
  exports.isSealedKeyId = isSealedKeyId;
6
+ exports.sealedKeyDocId = sealedKeyDocId;
7
+ exports.groupKeyDocIdOf = groupKeyDocIdOf;
8
+ exports.hasRecipientWraps = hasRecipientWraps;
9
+ exports.allRecipientWraps = allRecipientWraps;
6
10
  exports.SEALED_KEY_PREFIX = "$sealed:";
7
11
  exports.ENCRYPT_FOR_FIELD = "_encryptFor";
8
12
  function sealedKeyId(docId) {
@@ -11,4 +15,36 @@ function sealedKeyId(docId) {
11
15
  function isSealedKeyId(keyId) {
12
16
  return keyId.startsWith(exports.SEALED_KEY_PREFIX);
13
17
  }
18
+ /** The document whose key series `keyId` names (`$sealed:<docId>`), or `undefined`. */
19
+ function sealedKeyDocId(keyId) {
20
+ return isSealedKeyId(keyId) ? keyId.slice(exports.SEALED_KEY_PREFIX.length) : undefined;
21
+ }
22
+ /**
23
+ * The group document of a document encrypted with another document's key series
24
+ * (`groupKeyDocId` on create), or `undefined` for an own series or a named key.
25
+ */
26
+ function groupKeyDocIdOf(keyId, docId) {
27
+ const owner = sealedKeyDocId(keyId);
28
+ return owner !== undefined && owner !== docId ? owner : undefined;
29
+ }
30
+ /**
31
+ * What new readers get when the caller does not say (`RecipientChangeOptions.history`).
32
+ * `"all"` keeps a shared document complete: its existing attachments are encrypted
33
+ * with the older generations and stay unreadable for a reader added with `"none"`.
34
+ */
35
+ exports.DEFAULT_RECIPIENT_HISTORY = "all";
36
+ /** Whether a recipient block wraps to anyone (whole history or partial). */
37
+ function hasRecipientWraps(recipients) {
38
+ if (!recipients)
39
+ return false;
40
+ if (recipients.wraps?.length)
41
+ return true;
42
+ return (recipients.partial ?? []).some((tier) => tier.wraps?.length);
43
+ }
44
+ /** All wraps of a recipient block, whole-history and partial. */
45
+ function allRecipientWraps(recipients) {
46
+ if (!recipients)
47
+ return [];
48
+ return [...(recipients.wraps ?? []), ...(recipients.partial ?? []).flatMap((tier) => tier.wraps ?? [])];
49
+ }
14
50
  //# sourceMappingURL=sealedTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sealedTypes.js","sourceRoot":"","sources":["../../../src/core/userkeys/sealedTypes.ts"],"names":[],"mappings":";;;AAGA,kCAEC;AAED,sCAEC;AATY,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,iBAAiB,GAAG,aAAa,CAAC;AAE/C,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,GAAG,yBAAiB,GAAG,KAAK,EAAE,CAAC;AACxC,CAAC;AAED,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,UAAU,CAAC,yBAAiB,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"sealedTypes.js","sourceRoot":"","sources":["../../../src/core/userkeys/sealedTypes.ts"],"names":[],"mappings":";;;AAGA,kCAEC;AAED,sCAEC;AAGD,wCAEC;AAMD,0CAGC;AA2GD,8CAIC;AAGD,8CAGC;AA5IY,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,iBAAiB,GAAG,aAAa,CAAC;AAE/C,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,GAAG,yBAAiB,GAAG,KAAK,EAAE,CAAC;AACxC,CAAC;AAED,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,UAAU,CAAC,yBAAiB,CAAC,CAAC;AAC7C,CAAC;AAED,uFAAuF;AACvF,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClF,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,KAAa,EAAE,KAAa;IAC1D,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACU,QAAA,yBAAyB,GAAmB,KAAK,CAAC;AAmG/D,4EAA4E;AAC5E,SAAgB,iBAAiB,CAAC,UAAuC;IACvE,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC;AAED,iEAAiE;AACjE,SAAgB,iBAAiB,CAAC,UAAuC;IACvE,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1G,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MindooDBServer.d.ts","sourceRoot":"","sources":["../../../src/node/server/MindooDBServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MindooDBServer.d.ts","sourceRoot":"","sources":["../../../src/node/server/MindooDBServer.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,7 @@ const SystemIpAllowlist_1 = require("./SystemIpAllowlist");
78
78
  const IrohServerRpc_1 = require("./IrohServerRpc");
79
79
  const IrohServerEndpoint_1 = require("./IrohServerEndpoint");
80
80
  const types_1 = require("../../server/types");
81
+ const legacyChallengeSignatures_1 = require("../../server/legacyChallengeSignatures");
81
82
  const timestampProxy_1 = require("../../server/timestampProxy");
82
83
  const rateLimits_1 = require("../../server/rateLimits");
83
84
  const MindooDBServerCore_1 = require("../../server/http/MindooDBServerCore");
@@ -111,6 +112,9 @@ class MindooDBServer {
111
112
  .map((provider) => provider.id)
112
113
  .join(", ")}`);
113
114
  }
115
+ if (!(0, legacyChallengeSignatures_1.configureLegacyChallengeSignatures)(process.env[types_1.ENV_VARS.ACCEPT_LEGACY_CHALLENGE_SIGNATURES])) {
116
+ console.log("[MindooDBServer] Legacy (pre-v2) login challenge signatures are refused");
117
+ }
114
118
  this.serverConfig = config ?? { capabilities: {} };
115
119
  this.capabilityMatcher = new CapabilityMatcher_1.CapabilityMatcher(this.serverConfig);
116
120
  // SystemAdminAuthService generates a random HMAC-SHA256 secret for JWTs
@@ -1 +1 @@
1
- {"version":3,"file":"MindooDBServer.js","sourceRoot":"","sources":["../../../src/node/server/MindooDBServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MindooDBServer.js","sourceRoot":"","sources":["../../../src/node/server/MindooDBServer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceDiscoveryService.d.ts","sourceRoot":"","sources":["../../src/server/DeviceDiscoveryService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAarD,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,sBAAsB;IAI/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJhC,OAAO,CAAC,UAAU,CAAsC;gBAGrC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa;IAG/C;;;OAGG;IACH,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM;IAkBjD;;;;OAIG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC;YA0GzE,eAAe;IAyB7B,OAAO,CAAC,OAAO;CAahB"}
1
+ {"version":3,"file":"DeviceDiscoveryService.d.ts","sourceRoot":"","sources":["../../src/server/DeviceDiscoveryService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAarD,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,sBAAsB;IAI/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJhC,OAAO,CAAC,UAAU,CAAsC;gBAGrC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa;IAG/C;;;OAGG;IACH,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM;IAkBjD;;;;OAIG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC;YA0GzE,eAAe;IA2B7B,OAAO,CAAC,OAAO;CAahB"}
@@ -139,7 +139,9 @@ class DeviceDiscoveryService {
139
139
  .replace(/\s/g, "");
140
140
  const binaryDer = Uint8Array.from(atob(pemContents), (c) => c.charCodeAt(0));
141
141
  const key = await subtle.importKey("spki", binaryDer.buffer, { name: "Ed25519" }, false, ["verify"]);
142
- return await (0, AuthChallenge_1.verifyAuthChallengeSignature)(subtle, key, challenge, signature);
142
+ return await (0, AuthChallenge_1.verifyAuthChallengeSignature)(subtle, key, challenge, signature, {
143
+ use: "device-discovery",
144
+ });
143
145
  }
144
146
  catch {
145
147
  return false;