mindoodb 0.0.3 → 0.0.4

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 (209) hide show
  1. package/README-server.md +1001 -0
  2. package/README.md +14 -26
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +19 -0
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  5. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +58 -5
  6. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  7. package/dist/appendonlystores/network/HttpTransport.d.ts +4 -0
  8. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  9. package/dist/appendonlystores/network/HttpTransport.js +43 -0
  10. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  11. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +3 -0
  12. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  13. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +15 -1
  14. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  15. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts +5 -1
  16. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts.map +1 -1
  17. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js +59 -3
  18. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js.map +1 -1
  19. package/dist/browser/cache/IndexedDBLocalCacheStore.d.ts +21 -0
  20. package/dist/browser/cache/IndexedDBLocalCacheStore.d.ts.map +1 -0
  21. package/dist/browser/cache/IndexedDBLocalCacheStore.js +106 -0
  22. package/dist/browser/cache/IndexedDBLocalCacheStore.js.map +1 -0
  23. package/dist/browser/index.d.ts +3 -0
  24. package/dist/browser/index.d.ts.map +1 -1
  25. package/dist/browser/index.js +9 -1
  26. package/dist/browser/index.js.map +1 -1
  27. package/dist/core/BaseMindooDB.d.ts +103 -13
  28. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  29. package/dist/core/BaseMindooDB.js +1066 -205
  30. package/dist/core/BaseMindooDB.js.map +1 -1
  31. package/dist/core/BaseMindooTenant.d.ts +30 -1
  32. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  33. package/dist/core/BaseMindooTenant.js +143 -108
  34. package/dist/core/BaseMindooTenant.js.map +1 -1
  35. package/dist/core/BaseMindooTenantDirectory.d.ts +13 -10
  36. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  37. package/dist/core/BaseMindooTenantDirectory.js +134 -27
  38. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  39. package/dist/core/BaseMindooTenantFactory.d.ts +5 -1
  40. package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
  41. package/dist/core/BaseMindooTenantFactory.js +46 -69
  42. package/dist/core/BaseMindooTenantFactory.js.map +1 -1
  43. package/dist/core/MindooDBServerAdmin.d.ts +238 -0
  44. package/dist/core/MindooDBServerAdmin.d.ts.map +1 -0
  45. package/dist/core/MindooDBServerAdmin.js +345 -0
  46. package/dist/core/MindooDBServerAdmin.js.map +1 -0
  47. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +3 -1
  48. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  49. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +22 -0
  50. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  51. package/dist/core/appendonlystores/MaterializationPlanner.d.ts +49 -0
  52. package/dist/core/appendonlystores/MaterializationPlanner.d.ts.map +1 -0
  53. package/dist/core/appendonlystores/MaterializationPlanner.js +325 -0
  54. package/dist/core/appendonlystores/MaterializationPlanner.js.map +1 -0
  55. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +15 -0
  56. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
  57. package/dist/core/appendonlystores/network/types.d.ts +2 -0
  58. package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
  59. package/dist/core/appendonlystores/network/types.js.map +1 -1
  60. package/dist/core/appendonlystores/types.d.ts +83 -0
  61. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  62. package/dist/core/cache/CacheManager.d.ts +75 -0
  63. package/dist/core/cache/CacheManager.d.ts.map +1 -0
  64. package/dist/core/cache/CacheManager.js +101 -0
  65. package/dist/core/cache/CacheManager.js.map +1 -0
  66. package/dist/core/cache/EncryptedLocalCacheStore.d.ts +41 -0
  67. package/dist/core/cache/EncryptedLocalCacheStore.d.ts.map +1 -0
  68. package/dist/core/cache/EncryptedLocalCacheStore.js +120 -0
  69. package/dist/core/cache/EncryptedLocalCacheStore.js.map +1 -0
  70. package/dist/core/cache/LocalCacheStore.d.ts +50 -0
  71. package/dist/core/cache/LocalCacheStore.d.ts.map +1 -0
  72. package/dist/core/cache/LocalCacheStore.js +39 -0
  73. package/dist/core/cache/LocalCacheStore.js.map +1 -0
  74. package/dist/core/crypto/privateKeyEncryption.d.ts +5 -0
  75. package/dist/core/crypto/privateKeyEncryption.d.ts.map +1 -0
  76. package/dist/core/crypto/privateKeyEncryption.js +87 -0
  77. package/dist/core/crypto/privateKeyEncryption.js.map +1 -0
  78. package/dist/core/index.d.ts +13 -6
  79. package/dist/core/index.d.ts.map +1 -1
  80. package/dist/core/index.js +13 -1
  81. package/dist/core/index.js.map +1 -1
  82. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +4 -1
  83. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -1
  84. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +39 -11
  85. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
  86. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.d.ts +1 -0
  87. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.d.ts.map +1 -1
  88. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.js +3 -0
  89. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.js.map +1 -1
  90. package/dist/core/indexing/virtualviews/VirtualView.d.ts +43 -0
  91. package/dist/core/indexing/virtualviews/VirtualView.d.ts.map +1 -1
  92. package/dist/core/indexing/virtualviews/VirtualView.js +173 -0
  93. package/dist/core/indexing/virtualviews/VirtualView.js.map +1 -1
  94. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts +7 -0
  95. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts.map +1 -1
  96. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js +28 -0
  97. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js.map +1 -1
  98. package/dist/core/keys/KeyBag.d.ts +38 -14
  99. package/dist/core/keys/KeyBag.d.ts.map +1 -1
  100. package/dist/core/keys/KeyBag.js +102 -76
  101. package/dist/core/keys/KeyBag.js.map +1 -1
  102. package/dist/core/keys/KeyContext.d.ts +3 -3
  103. package/dist/core/keys/KeyContext.d.ts.map +1 -1
  104. package/dist/core/keys/KeyContext.js +10 -4
  105. package/dist/core/keys/KeyContext.js.map +1 -1
  106. package/dist/core/types.d.ts +305 -21
  107. package/dist/core/types.d.ts.map +1 -1
  108. package/dist/core/types.js +7 -1
  109. package/dist/core/types.js.map +1 -1
  110. package/dist/core/utils/idGeneration.d.ts.map +1 -1
  111. package/dist/core/utils/idGeneration.js +37 -3
  112. package/dist/core/utils/idGeneration.js.map +1 -1
  113. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +4 -1
  114. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
  115. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +24 -0
  116. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
  117. package/dist/node/attachments/writeAttachmentToFile.d.ts +15 -0
  118. package/dist/node/attachments/writeAttachmentToFile.d.ts.map +1 -0
  119. package/dist/node/attachments/writeAttachmentToFile.js +73 -0
  120. package/dist/node/attachments/writeAttachmentToFile.js.map +1 -0
  121. package/dist/node/cache/FileSystemLocalCacheStore.d.ts +17 -0
  122. package/dist/node/cache/FileSystemLocalCacheStore.d.ts.map +1 -0
  123. package/dist/node/cache/FileSystemLocalCacheStore.js +128 -0
  124. package/dist/node/cache/FileSystemLocalCacheStore.js.map +1 -0
  125. package/dist/node/cli/change-identity-password.d.ts +7 -0
  126. package/dist/node/cli/change-identity-password.d.ts.map +1 -0
  127. package/dist/node/cli/change-identity-password.js +67 -0
  128. package/dist/node/cli/change-identity-password.js.map +1 -0
  129. package/dist/node/cli/cli-utils.d.ts +16 -0
  130. package/dist/node/cli/cli-utils.d.ts.map +1 -0
  131. package/dist/node/cli/cli-utils.js +113 -0
  132. package/dist/node/cli/cli-utils.js.map +1 -0
  133. package/dist/node/cli/identity-export-public.d.ts +4 -0
  134. package/dist/node/cli/identity-export-public.d.ts.map +1 -0
  135. package/dist/node/cli/identity-export-public.js +55 -0
  136. package/dist/node/cli/identity-export-public.js.map +1 -0
  137. package/dist/node/cli/identity-info.d.ts +4 -0
  138. package/dist/node/cli/identity-info.d.ts.map +1 -0
  139. package/dist/node/cli/identity-info.js +57 -0
  140. package/dist/node/cli/identity-info.js.map +1 -0
  141. package/dist/node/index.d.ts +1 -0
  142. package/dist/node/index.d.ts.map +1 -1
  143. package/dist/node/index.js +4 -1
  144. package/dist/node/index.js.map +1 -1
  145. package/dist/node/server/CapabilityMatcher.d.ts +45 -0
  146. package/dist/node/server/CapabilityMatcher.d.ts.map +1 -0
  147. package/dist/node/server/CapabilityMatcher.js +117 -0
  148. package/dist/node/server/CapabilityMatcher.js.map +1 -0
  149. package/dist/node/server/MindooDBServer.d.ts +87 -0
  150. package/dist/node/server/MindooDBServer.d.ts.map +1 -0
  151. package/dist/node/server/MindooDBServer.js +1040 -0
  152. package/dist/node/server/MindooDBServer.js.map +1 -0
  153. package/dist/node/server/ServerSync.d.ts +41 -0
  154. package/dist/node/server/ServerSync.d.ts.map +1 -0
  155. package/dist/node/server/ServerSync.js +187 -0
  156. package/dist/node/server/ServerSync.js.map +1 -0
  157. package/dist/node/server/StoreFactory.d.ts +45 -0
  158. package/dist/node/server/StoreFactory.d.ts.map +1 -0
  159. package/dist/node/server/StoreFactory.js +89 -0
  160. package/dist/node/server/StoreFactory.js.map +1 -0
  161. package/dist/node/server/SystemAdminAuth.d.ts +65 -0
  162. package/dist/node/server/SystemAdminAuth.d.ts.map +1 -0
  163. package/dist/node/server/SystemAdminAuth.js +200 -0
  164. package/dist/node/server/SystemAdminAuth.js.map +1 -0
  165. package/dist/node/server/SystemIpAllowlist.d.ts +21 -0
  166. package/dist/node/server/SystemIpAllowlist.d.ts.map +1 -0
  167. package/dist/node/server/SystemIpAllowlist.js +210 -0
  168. package/dist/node/server/SystemIpAllowlist.js.map +1 -0
  169. package/dist/node/server/TenantManager.d.ts +85 -0
  170. package/dist/node/server/TenantManager.d.ts.map +1 -0
  171. package/dist/node/server/TenantManager.js +493 -0
  172. package/dist/node/server/TenantManager.js.map +1 -0
  173. package/dist/node/server/add-to-network.d.ts +20 -0
  174. package/dist/node/server/add-to-network.d.ts.map +1 -0
  175. package/dist/node/server/add-to-network.js +275 -0
  176. package/dist/node/server/add-to-network.js.map +1 -0
  177. package/dist/node/server/config.d.ts +51 -0
  178. package/dist/node/server/config.d.ts.map +1 -0
  179. package/dist/node/server/config.js +218 -0
  180. package/dist/node/server/config.js.map +1 -0
  181. package/dist/node/server/resolveServerPassword.d.ts +7 -0
  182. package/dist/node/server/resolveServerPassword.d.ts.map +1 -0
  183. package/dist/node/server/resolveServerPassword.js +25 -0
  184. package/dist/node/server/resolveServerPassword.js.map +1 -0
  185. package/dist/node/server/server.d.ts +22 -0
  186. package/dist/node/server/server.d.ts.map +1 -0
  187. package/dist/node/server/server.js +225 -0
  188. package/dist/node/server/server.js.map +1 -0
  189. package/dist/node/server/serverinit.d.ts +21 -0
  190. package/dist/node/server/serverinit.d.ts.map +1 -0
  191. package/dist/node/server/serverinit.js +317 -0
  192. package/dist/node/server/serverinit.js.map +1 -0
  193. package/dist/node/server/types.d.ts +162 -0
  194. package/dist/node/server/types.d.ts.map +1 -0
  195. package/dist/node/server/types.js +24 -0
  196. package/dist/node/server/types.js.map +1 -0
  197. package/dist/node/server/validation.d.ts +47 -0
  198. package/dist/node/server/validation.d.ts.map +1 -0
  199. package/dist/node/server/validation.js +114 -0
  200. package/dist/node/server/validation.js.map +1 -0
  201. package/dist/reactnative/cache/MMKVLocalCacheStore.d.ts +48 -0
  202. package/dist/reactnative/cache/MMKVLocalCacheStore.d.ts.map +1 -0
  203. package/dist/reactnative/cache/MMKVLocalCacheStore.js +113 -0
  204. package/dist/reactnative/cache/MMKVLocalCacheStore.js.map +1 -0
  205. package/dist/reactnative/index.d.ts +1 -0
  206. package/dist/reactnative/index.d.ts.map +1 -1
  207. package/dist/reactnative/index.js +4 -1
  208. package/dist/reactnative/index.js.map +1 -1
  209. package/package.json +14 -3
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseMindooTenantFactory = void 0;
4
4
  const types_1 = require("./types");
5
5
  const BaseMindooTenant_1 = require("./BaseMindooTenant");
6
+ const privateKeyEncryption_1 = require("./crypto/privateKeyEncryption");
6
7
  const pbkdf2Iterations_1 = require("./crypto/pbkdf2Iterations");
7
8
  const KeyBag_1 = require("./keys/KeyBag");
8
9
  const logging_1 = require("./logging");
@@ -15,14 +16,18 @@ const MindooURI_1 = require("./uri/MindooURI");
15
16
  * allowing the same implementation to work in browsers and Node.js.
16
17
  */
17
18
  class BaseMindooTenantFactory {
18
- constructor(storeFactory, cryptoAdapter, logger) {
19
+ constructor(storeFactory, cryptoAdapter, logger, localCacheStore) {
19
20
  this.storeFactory = storeFactory;
20
21
  this.cryptoAdapter = cryptoAdapter;
22
+ this.localCacheStore = localCacheStore;
21
23
  // Create root logger if not provided (for backward compatibility)
22
24
  this.logger =
23
25
  logger ||
24
26
  new logging_1.MindooLogger((0, logging_1.getDefaultLogLevel)(), "MindooTenantFactory", true);
25
27
  }
28
+ getLocalCacheStore() {
29
+ return this.localCacheStore;
30
+ }
26
31
  getCryptoAdapter() {
27
32
  return this.cryptoAdapter;
28
33
  }
@@ -56,7 +61,7 @@ class BaseMindooTenantFactory {
56
61
  }
57
62
  await this.assertRequiredKeysInKeyBag(tenantId, keyBag);
58
63
  const tenantLogger = this.logger.createChild(`Tenant:${tenantId}`);
59
- const tenant = new BaseMindooTenant_1.BaseMindooTenant(this, tenantId, administrationPublicKey, administrationEncryptionPublicKey, currentUser, currentUserPassword, keyBag, this.storeFactory, this.cryptoAdapter, tenantLogger, options?.additionalTrustedKeys);
64
+ const tenant = new BaseMindooTenant_1.BaseMindooTenant(this, tenantId, administrationPublicKey, administrationEncryptionPublicKey, currentUser, currentUserPassword, keyBag, this.storeFactory, this.cryptoAdapter, tenantLogger, options?.additionalTrustedKeys, this.localCacheStore);
60
65
  // Initialize the tenant
61
66
  await tenant.initialize();
62
67
  return tenant;
@@ -153,6 +158,24 @@ class BaseMindooTenantFactory {
153
158
  userEncryptionPublicKey: privateUserId.userEncryptionKeyPair.publicKey,
154
159
  };
155
160
  }
161
+ async changeIdentityPassword(identity, oldPassword, newPassword) {
162
+ this.logger.debug(`Changing identity password for: ${identity.username}`);
163
+ const decryptedSigningKey = await (0, privateKeyEncryption_1.decryptPrivateKey)(this.cryptoAdapter, identity.userSigningKeyPair.privateKey, oldPassword, "signing");
164
+ const decryptedEncryptionKey = await (0, privateKeyEncryption_1.decryptPrivateKey)(this.cryptoAdapter, identity.userEncryptionKeyPair.privateKey, oldPassword, "encryption");
165
+ const encryptedSigningKey = await (0, privateKeyEncryption_1.encryptPrivateKey)(this.cryptoAdapter, new Uint8Array(decryptedSigningKey), newPassword, "signing");
166
+ const encryptedEncryptionKey = await (0, privateKeyEncryption_1.encryptPrivateKey)(this.cryptoAdapter, new Uint8Array(decryptedEncryptionKey), newPassword, "encryption");
167
+ return {
168
+ username: identity.username,
169
+ userSigningKeyPair: {
170
+ publicKey: identity.userSigningKeyPair.publicKey,
171
+ privateKey: encryptedSigningKey,
172
+ },
173
+ userEncryptionKeyPair: {
174
+ publicKey: identity.userEncryptionKeyPair.publicKey,
175
+ privateKey: encryptedEncryptionKey,
176
+ },
177
+ };
178
+ }
156
179
  /**
157
180
  * Creates a new signing key pair for the tenant.
158
181
  * Returns both the public and encrypted private key, as the public key is needed
@@ -220,14 +243,21 @@ class BaseMindooTenantFactory {
220
243
  */
221
244
  async createTenant(options) {
222
245
  this.logger.info(`Creating tenant: ${options.tenantId}`);
223
- console.log(`[createTenant] Creating tenant "${options.tenantId}" with admin "${options.adminName}" and user "${options.userName}"`);
224
- // 1. Create admin and app user identities
225
- const adminUser = await this.createUserId(options.adminName, options.adminPassword);
226
- const appUser = await this.createUserId(options.userName, options.userPassword);
246
+ const hasExistingUsers = "adminUser" in options;
247
+ const adminLabel = hasExistingUsers ? options.adminUser.username : options.adminName;
248
+ const userLabel = hasExistingUsers ? options.appUser.username : options.userName;
249
+ console.log(`[createTenant] Creating tenant "${options.tenantId}" with admin "${adminLabel}" and user "${userLabel}"`);
250
+ // 1. Create or reuse admin and app user identities
251
+ const adminUser = hasExistingUsers
252
+ ? options.adminUser
253
+ : await this.createUserId(options.adminName, options.adminPassword);
254
+ const appUser = hasExistingUsers
255
+ ? options.appUser
256
+ : await this.createUserId(options.userName, options.userPassword);
227
257
  // 2. Create KeyBag with required keys
228
258
  const keyBag = new KeyBag_1.KeyBag(appUser.userEncryptionKeyPair.privateKey, options.userPassword, this.cryptoAdapter, this.logger.createChild("KeyBag"));
229
- await keyBag.createTenantKey(options.tenantId);
230
- await keyBag.createDocKey(types_1.PUBLIC_INFOS_KEY_ID);
259
+ await keyBag.createDocKey(options.tenantId, types_1.DEFAULT_TENANT_KEY_ID);
260
+ await keyBag.createDocKey(options.tenantId, types_1.PUBLIC_INFOS_KEY_ID);
231
261
  // 3. Open tenant
232
262
  const tenant = await this.openTenant(options.tenantId, adminUser.userSigningKeyPair.publicKey, adminUser.userEncryptionKeyPair.publicKey, appUser, options.userPassword, keyBag);
233
263
  // 4. Register the app user in the directory
@@ -274,9 +304,9 @@ class BaseMindooTenantFactory {
274
304
  // 1. Create a new KeyBag for this user
275
305
  const keyBag = new KeyBag_1.KeyBag(options.user.userEncryptionKeyPair.privateKey, options.password, this.cryptoAdapter, this.logger.createChild("KeyBag"));
276
306
  // 2. Import the encrypted tenant key
277
- await keyBag.decryptAndImportKey("tenant", response.tenantId, response.encryptedTenantKey, options.sharePassword);
307
+ await keyBag.decryptAndImportKey("doc", response.tenantId, types_1.DEFAULT_TENANT_KEY_ID, response.encryptedTenantKey, options.sharePassword);
278
308
  // 3. Import the encrypted $publicinfos key
279
- await keyBag.decryptAndImportKey("doc", types_1.PUBLIC_INFOS_KEY_ID, response.encryptedPublicInfosKey, options.sharePassword);
309
+ await keyBag.decryptAndImportKey("doc", response.tenantId, types_1.PUBLIC_INFOS_KEY_ID, response.encryptedPublicInfosKey, options.sharePassword);
280
310
  // 4. Open the tenant
281
311
  const tenant = await this.openTenant(response.tenantId, response.adminSigningPublicKey, response.adminEncryptionPublicKey, options.user, options.password, keyBag);
282
312
  console.log(`[joinTenant] ✓ Joined tenant "${response.tenantId}" successfully`);
@@ -295,78 +325,25 @@ class BaseMindooTenantFactory {
295
325
  async encryptPrivateKey(privateKeyBytes, password, saltString) {
296
326
  console.log(`[encryptPrivateKey] Starting encryption with salt: "${saltString}", key size: ${privateKeyBytes.length} bytes`);
297
327
  const startTime = Date.now();
298
- const subtle = this.cryptoAdapter.getSubtle();
299
- // Bind getRandomValues to maintain 'this' context
300
- const randomValues = this.cryptoAdapter.getRandomValues.bind(this.cryptoAdapter);
301
- // Generate random salt and IV
302
- console.log('[encryptPrivateKey] Generating random salt and IV...');
303
- const saltArray = new Uint8Array(16); // 16 bytes salt
304
- randomValues(saltArray);
305
- const salt = new Uint8Array(saltArray);
306
- const ivArray = new Uint8Array(12); // 12 bytes for AES-GCM
307
- randomValues(ivArray);
308
- const iv = new Uint8Array(ivArray);
309
- console.log('[encryptPrivateKey] ✓ Salt and IV generated');
310
- // Combine salt with saltString for key derivation (same as decryption)
311
- const saltStringBytes = new TextEncoder().encode(saltString);
312
- const combinedSalt = new Uint8Array(salt.length + saltStringBytes.length);
313
- combinedSalt.set(salt);
314
- combinedSalt.set(saltStringBytes, salt.length);
315
- // Derive encryption key from password using PBKDF2
316
- console.log('[encryptPrivateKey] Importing password key...');
317
- const importKeyStart = Date.now();
318
- const passwordKey = await subtle.importKey("raw", new TextEncoder().encode(password), "PBKDF2", false, ["deriveBits", "deriveKey"]);
319
- console.log('[encryptPrivateKey] ✓ Password key imported in', Date.now() - importKeyStart, 'ms');
320
328
  const iterations = (0, pbkdf2Iterations_1.resolvePbkdf2Iterations)(pbkdf2Iterations_1.DEFAULT_PBKDF2_ITERATIONS);
321
- console.log(`[encryptPrivateKey] Deriving key with PBKDF2 (${iterations} iterations)...`);
322
- const deriveKeyStart = Date.now();
323
- const derivedKey = await subtle.deriveKey({
324
- name: "PBKDF2",
325
- salt: combinedSalt,
326
- iterations: iterations,
327
- hash: "SHA-256",
328
- }, passwordKey, {
329
- name: "AES-GCM",
330
- length: 256,
331
- }, false, ["encrypt"]);
332
- console.log('[encryptPrivateKey] ✓ Key derived in', Date.now() - deriveKeyStart, 'ms');
333
- // Encrypt the private key
334
- console.log('[encryptPrivateKey] Encrypting private key data...');
329
+ console.log('[encryptPrivateKey] Delegating salt generation, PBKDF2, and AES-GCM encryption to shared helper...');
335
330
  const encryptStart = Date.now();
336
- const encrypted = await subtle.encrypt({
337
- name: "AES-GCM",
338
- iv: iv,
339
- tagLength: 128,
340
- }, derivedKey, privateKeyBytes.buffer);
331
+ const encryptedKey = await (0, privateKeyEncryption_1.encryptPrivateKey)(this.cryptoAdapter, privateKeyBytes, password, saltString);
341
332
  console.log('[encryptPrivateKey] ✓ Private key encrypted in', Date.now() - encryptStart, 'ms');
342
- // Extract ciphertext and tag from encrypted data
343
- // AES-GCM appends the tag at the end
344
- const encryptedArray = new Uint8Array(encrypted);
345
- const tagLength = 16; // 128 bits = 16 bytes
346
- const ciphertext = encryptedArray.slice(0, encryptedArray.length - tagLength);
347
- const tag = encryptedArray.slice(encryptedArray.length - tagLength);
348
- // Create encrypted key structure
349
- const encryptedKey = {
350
- ciphertext: this.uint8ArrayToBase64(ciphertext),
351
- iv: this.uint8ArrayToBase64(iv),
352
- tag: this.uint8ArrayToBase64(tag),
353
- salt: this.uint8ArrayToBase64(salt),
354
- iterations: iterations,
355
- };
356
333
  const totalTime = Date.now() - startTime;
357
334
  console.log(`[encryptPrivateKey] ✓ Encryption completed in ${totalTime}ms total`);
358
335
  return encryptedKey;
359
336
  }
360
337
  async assertRequiredKeysInKeyBag(tenantId, keyBag) {
361
- // Note: The tenant key (type "tenant", id tenantId) is NOT checked here.
338
+ // Note: The default tenant key (type "doc", id DEFAULT_TENANT_KEY_ID) is NOT checked here.
362
339
  // It is only needed when decrypting regular database payloads (decryptionKeyId "default").
363
340
  // Server-side tenants that only need directory access can operate without it.
364
341
  // If it is missing and code tries to decrypt regular data, a clear
365
342
  // SymmetricKeyNotFoundError will be thrown at the point of use.
366
- const publicInfosKey = await keyBag.get("doc", types_1.PUBLIC_INFOS_KEY_ID);
343
+ const publicInfosKey = await keyBag.get("doc", tenantId, types_1.PUBLIC_INFOS_KEY_ID);
367
344
  if (!publicInfosKey) {
368
- throw new Error(`Missing required directory access key in KeyBag: ("doc", "${types_1.PUBLIC_INFOS_KEY_ID}"). ` +
369
- `Create/import it first with keyBag.createDocKey("${types_1.PUBLIC_INFOS_KEY_ID}") or keyBag.decryptAndImportKey("doc", "${types_1.PUBLIC_INFOS_KEY_ID}", encryptedPublicInfosKey, password).`);
345
+ throw new Error(`Missing required directory access key in KeyBag: ("doc", "${tenantId}", "${types_1.PUBLIC_INFOS_KEY_ID}"). ` +
346
+ `Create/import it first with keyBag.createDocKey("${tenantId}", "${types_1.PUBLIC_INFOS_KEY_ID}") or keyBag.decryptAndImportKey("doc", "${tenantId}", "${types_1.PUBLIC_INFOS_KEY_ID}", encryptedPublicInfosKey, password).`);
370
347
  }
371
348
  }
372
349
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMindooTenantFactory.js","sourceRoot":"","sources":["../../src/core/BaseMindooTenantFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseMindooTenantFactory.js","sourceRoot":"","sources":["../../src/core/BaseMindooTenantFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,238 @@
1
+ /**
2
+ * MindooDBServerAdmin — client for MindooDB server `/system/*` endpoints.
3
+ *
4
+ * Platform-agnostic: pass a {@link CryptoAdapter} (`NodeCryptoAdapter`,
5
+ * `createCryptoAdapter()` in browser, or React Native adapter). Uses `fetch`,
6
+ * Web Crypto via the adapter, and `atob`/`btoa` for base64 (no Node `Buffer`).
7
+ */
8
+ import type { CryptoAdapter } from "./crypto/CryptoAdapter";
9
+ import type { PrivateUserId } from "./userid";
10
+ /**
11
+ * Connection and authentication options for {@link MindooDBServerAdmin}.
12
+ */
13
+ export interface MindooDBServerAdminOptions {
14
+ serverUrl: string;
15
+ systemAdminUser: PrivateUserId;
16
+ systemAdminPassword: string;
17
+ /** Platform crypto (e.g. `NodeCryptoAdapter`, browser `createCryptoAdapter()`, RN adapter). */
18
+ cryptoAdapter: CryptoAdapter;
19
+ }
20
+ interface TrustedServer {
21
+ name: string;
22
+ signingPublicKey: string;
23
+ encryptionPublicKey: string;
24
+ }
25
+ interface SyncServerConfig {
26
+ name: string;
27
+ url: string;
28
+ syncIntervalMs?: number;
29
+ databases: string[];
30
+ }
31
+ /**
32
+ * One system-admin identity as stored in server `config.json`.
33
+ *
34
+ * A principal is uniquely identified by the combination of `username` and
35
+ * `publicsignkey`.
36
+ */
37
+ export interface SystemAdminPrincipal {
38
+ username: string;
39
+ publicsignkey: string;
40
+ }
41
+ /**
42
+ * Runtime server config returned by `GET /system/config`.
43
+ */
44
+ export interface ServerConfig {
45
+ capabilities: Record<string, SystemAdminPrincipal[]>;
46
+ }
47
+ /**
48
+ * Metadata for one historical `config.json` backup.
49
+ */
50
+ export interface ConfigBackupInfo {
51
+ file: string;
52
+ createdAt: string;
53
+ }
54
+ /**
55
+ * Response body for reading one historical config backup.
56
+ */
57
+ export interface ConfigBackupResponse {
58
+ file: string;
59
+ config: ServerConfig;
60
+ }
61
+ interface RegisterTenantBody {
62
+ adminSigningPublicKey: string;
63
+ adminEncryptionPublicKey: string;
64
+ adminUsername?: string;
65
+ publicInfosKey?: string;
66
+ defaultStoreType?: "inmemory" | "file";
67
+ users?: Array<{
68
+ username: string;
69
+ signingPublicKey: string;
70
+ encryptionPublicKey: string;
71
+ }>;
72
+ }
73
+ /**
74
+ * High-level client for authenticated access to MindooDB server `/system/*`
75
+ * endpoints.
76
+ *
77
+ * This wrapper performs the Ed25519 challenge/response flow automatically,
78
+ * caches the short-lived JWT, and exposes ergonomic methods for common server
79
+ * administration tasks such as tenant registration, runtime config updates,
80
+ * and delegated system-admin management.
81
+ */
82
+ export declare class MindooDBServerAdmin {
83
+ private baseUrl;
84
+ private adminUser;
85
+ private adminPassword;
86
+ private cryptoAdapter;
87
+ private cachedToken;
88
+ private tokenExpiresAt;
89
+ /**
90
+ * Create a new system-admin API client for one MindooDB server.
91
+ */
92
+ constructor(options: MindooDBServerAdminOptions);
93
+ /**
94
+ * List all tenant IDs currently registered on the server.
95
+ */
96
+ listTenants(): Promise<string[]>;
97
+ /**
98
+ * Create a new tenant on the server.
99
+ *
100
+ * The caller must already be authorized for `POST /system/tenants/:tenantId`
101
+ * by the server's runtime config.
102
+ */
103
+ registerTenant(tenantId: string, body: RegisterTenantBody): Promise<{
104
+ success: boolean;
105
+ tenantId: string;
106
+ message?: string;
107
+ }>;
108
+ /**
109
+ * Update server-side metadata for an existing tenant.
110
+ */
111
+ updateTenant(tenantId: string, updates: Record<string, unknown>): Promise<{
112
+ success: boolean;
113
+ message?: string;
114
+ }>;
115
+ /**
116
+ * Remove a tenant from the server.
117
+ */
118
+ removeTenant(tenantId: string): Promise<{
119
+ success: boolean;
120
+ message?: string;
121
+ }>;
122
+ /**
123
+ * List globally trusted peer servers used for server-to-server sync.
124
+ */
125
+ listTrustedServers(): Promise<TrustedServer[]>;
126
+ /**
127
+ * Add one globally trusted peer server.
128
+ */
129
+ addTrustedServer(server: TrustedServer): Promise<{
130
+ success: boolean;
131
+ message?: string;
132
+ }>;
133
+ /**
134
+ * Remove one globally trusted peer server by name.
135
+ */
136
+ removeTrustedServer(serverName: string): Promise<{
137
+ success: boolean;
138
+ message?: string;
139
+ }>;
140
+ /**
141
+ * List sync server targets configured for one tenant.
142
+ */
143
+ listTenantSyncServers(tenantId: string): Promise<SyncServerConfig[]>;
144
+ /**
145
+ * Add one sync target for a tenant.
146
+ */
147
+ addTenantSyncServer(tenantId: string, config: SyncServerConfig): Promise<{
148
+ success: boolean;
149
+ message?: string;
150
+ }>;
151
+ /**
152
+ * Remove one tenant-specific sync target.
153
+ */
154
+ removeTenantSyncServer(tenantId: string, serverName: string): Promise<{
155
+ success: boolean;
156
+ message?: string;
157
+ }>;
158
+ /**
159
+ * Trigger an on-demand sync for one tenant.
160
+ */
161
+ triggerTenantSync(tenantId: string): Promise<{
162
+ success: boolean;
163
+ message?: string;
164
+ }>;
165
+ /**
166
+ * Fetch the currently active runtime server config.
167
+ */
168
+ getConfig(): Promise<ServerConfig>;
169
+ /**
170
+ * Replace the full runtime server config.
171
+ *
172
+ * The server remains the source of truth for validation, backup creation, and
173
+ * self-lockout protection.
174
+ */
175
+ updateConfig(config: ServerConfig): Promise<{
176
+ success: boolean;
177
+ message?: string;
178
+ backupFile?: string;
179
+ }>;
180
+ /**
181
+ * List historical config backups created by prior runtime config updates.
182
+ */
183
+ listConfigBackups(): Promise<ConfigBackupInfo[]>;
184
+ /**
185
+ * Read one historical config backup from the server.
186
+ */
187
+ readConfigBackup(backupFile: string): Promise<ConfigBackupResponse>;
188
+ /**
189
+ * Read one historical config backup from the server.
190
+ *
191
+ * Alias for {@link readConfigBackup} kept for compatibility with earlier
192
+ * wrapper code.
193
+ */
194
+ getConfigBackup(backupFile: string): Promise<ConfigBackupResponse>;
195
+ /**
196
+ * Return all capability rules that currently include the given principal.
197
+ *
198
+ * This is a client-side convenience method derived from `getConfig()`. It
199
+ * does not require a dedicated server endpoint.
200
+ */
201
+ findSystemAdminAccess(principal: SystemAdminPrincipal): Promise<{
202
+ principal: SystemAdminPrincipal;
203
+ rules: string[];
204
+ }>;
205
+ /**
206
+ * Grant a principal access to one or more capability rules.
207
+ *
208
+ * Missing rules are created automatically. Existing principal entries are
209
+ * deduplicated by `username.toLowerCase()` + `publicsignkey`.
210
+ */
211
+ grantSystemAdminAccess(principal: SystemAdminPrincipal, rules: string[]): Promise<{
212
+ success: boolean;
213
+ config: ServerConfig;
214
+ addedToRules: string[];
215
+ alreadyPresentRules: string[];
216
+ backupFile?: string;
217
+ }>;
218
+ /**
219
+ * Revoke a principal from selected capability rules, or from all rules when
220
+ * no `rules` filter is provided.
221
+ */
222
+ revokeSystemAdminAccess(principal: SystemAdminPrincipal, options?: {
223
+ rules?: string[];
224
+ }): Promise<{
225
+ success: boolean;
226
+ config: ServerConfig;
227
+ removedFromRules: string[];
228
+ backupFile?: string;
229
+ }>;
230
+ private authenticatedRequest;
231
+ private ensureAuthenticated;
232
+ /**
233
+ * Decrypt a PBKDF2 + AES-GCM encrypted private key (same layout as BaseMindooTenant).
234
+ */
235
+ private decryptPrivateKey;
236
+ }
237
+ export {};
238
+ //# sourceMappingURL=MindooDBServerAdmin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MindooDBServerAdmin.d.ts","sourceRoot":"","sources":["../../src/core/MindooDBServerAdmin.ts"],"names":[],"mappings":"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"}