mindoodb 0.0.1 → 0.0.2

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 (77) hide show
  1. package/README.md +5 -5
  2. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +9 -2
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +39 -22
  5. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  6. package/dist/appendonlystores/network/HttpTransport.d.ts +8 -2
  7. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  8. package/dist/appendonlystores/network/HttpTransport.js +50 -21
  9. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  10. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +15 -2
  11. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  12. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +52 -27
  13. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  14. package/dist/core/BaseMindooDB.d.ts +26 -4
  15. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  16. package/dist/core/BaseMindooDB.js +632 -253
  17. package/dist/core/BaseMindooDB.js.map +1 -1
  18. package/dist/core/BaseMindooTenant.d.ts +3 -1
  19. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  20. package/dist/core/BaseMindooTenant.js +83 -75
  21. package/dist/core/BaseMindooTenant.js.map +1 -1
  22. package/dist/core/BaseMindooTenantDirectory.d.ts +3 -1
  23. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  24. package/dist/core/BaseMindooTenantDirectory.js +40 -40
  25. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  26. package/dist/core/BaseMindooTenantFactory.d.ts +3 -1
  27. package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
  28. package/dist/core/BaseMindooTenantFactory.js +18 -12
  29. package/dist/core/BaseMindooTenantFactory.js.map +1 -1
  30. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +8 -2
  31. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  32. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +44 -18
  33. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  34. package/dist/core/appendonlystores/network/AuthenticationService.d.ts +3 -0
  35. package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
  36. package/dist/core/appendonlystores/network/AuthenticationService.js +21 -17
  37. package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
  38. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +15 -1
  39. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
  40. package/dist/core/appendonlystores/types.d.ts +14 -1
  41. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  42. package/dist/core/crypto/MindooDocSigner.d.ts +3 -1
  43. package/dist/core/crypto/MindooDocSigner.d.ts.map +1 -1
  44. package/dist/core/crypto/MindooDocSigner.js +9 -5
  45. package/dist/core/crypto/MindooDocSigner.js.map +1 -1
  46. package/dist/core/crypto/RSAEncryption.d.ts +3 -1
  47. package/dist/core/crypto/RSAEncryption.d.ts.map +1 -1
  48. package/dist/core/crypto/RSAEncryption.js +13 -9
  49. package/dist/core/crypto/RSAEncryption.js.map +1 -1
  50. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +1 -1
  51. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +2 -2
  52. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
  53. package/dist/core/indexing/virtualviews/index.d.ts +1 -1
  54. package/dist/core/indexing/virtualviews/index.js +1 -1
  55. package/dist/core/keys/KeyBag.d.ts +4 -1
  56. package/dist/core/keys/KeyBag.d.ts.map +1 -1
  57. package/dist/core/keys/KeyBag.js +10 -5
  58. package/dist/core/keys/KeyBag.js.map +1 -1
  59. package/dist/core/logging/LogLevel.d.ts +21 -0
  60. package/dist/core/logging/LogLevel.d.ts.map +1 -0
  61. package/dist/core/logging/LogLevel.js +56 -0
  62. package/dist/core/logging/LogLevel.js.map +1 -0
  63. package/dist/core/logging/Logger.d.ts +37 -0
  64. package/dist/core/logging/Logger.d.ts.map +1 -0
  65. package/dist/core/logging/Logger.js +3 -0
  66. package/dist/core/logging/Logger.js.map +1 -0
  67. package/dist/core/logging/MindooLogger.d.ts +28 -0
  68. package/dist/core/logging/MindooLogger.d.ts.map +1 -0
  69. package/dist/core/logging/MindooLogger.js +217 -0
  70. package/dist/core/logging/MindooLogger.js.map +1 -0
  71. package/dist/core/logging/index.d.ts +4 -0
  72. package/dist/core/logging/index.d.ts.map +1 -0
  73. package/dist/core/logging/index.js +10 -0
  74. package/dist/core/logging/index.js.map +1 -0
  75. package/dist/core/types.d.ts +96 -28
  76. package/dist/core/types.d.ts.map +1 -1
  77. package/package.json +1 -1
@@ -5,6 +5,7 @@ const BaseMindooDB_1 = require("./BaseMindooDB");
5
5
  const BaseMindooTenantDirectory_1 = require("./BaseMindooTenantDirectory");
6
6
  const MindooDocSigner_1 = require("./crypto/MindooDocSigner");
7
7
  const errors_1 = require("./errors");
8
+ const logging_1 = require("./logging");
8
9
  /**
9
10
  * BaseMindooTenant is a platform-agnostic implementation of MindooTenant
10
11
  * that works in both browser and server environments.
@@ -20,7 +21,7 @@ const errors_1 = require("./errors");
20
21
  * - PBKDF2 key derivation (for password-based key derivation)
21
22
  */
22
23
  class BaseMindooTenant {
23
- constructor(factory, tenantId, tenantEncryptionKey, tenantEncryptionKeyPassword, administrationPublicKey, administrationEncryptionPublicKey, currentUser, currentUserPassword, keyBag, storeFactory, cryptoAdapter) {
24
+ constructor(factory, tenantId, tenantEncryptionKey, tenantEncryptionKeyPassword, administrationPublicKey, administrationEncryptionPublicKey, currentUser, currentUserPassword, keyBag, storeFactory, cryptoAdapter, logger) {
24
25
  this.databaseCache = new Map();
25
26
  this.directoryCache = null;
26
27
  this.factory = factory;
@@ -41,15 +42,19 @@ class BaseMindooTenant {
41
42
  else {
42
43
  this.cryptoAdapter = cryptoAdapter;
43
44
  }
45
+ // Create logger if not provided (for backward compatibility)
46
+ this.logger =
47
+ logger ||
48
+ new logging_1.MindooLogger((0, logging_1.getDefaultLogLevel)(), `Tenant:${tenantId}`, true);
44
49
  }
45
50
  /**
46
51
  * Initialize the tenant.
47
52
  */
48
53
  async initialize() {
49
- console.log(`[BaseMindooTenant] Initializing tenant ${this.tenantId}`);
54
+ this.logger.info(`Initializing tenant ${this.tenantId}`);
50
55
  // KeyBag is already loaded by the caller before passing it to the constructor
51
56
  const keyCount = (await this.keyBag.listKeys()).length;
52
- console.log(`[BaseMindooTenant] Tenant initialized with ${keyCount} keys in KeyBag`);
57
+ this.logger.info(`Tenant initialized with ${keyCount} keys in KeyBag`);
53
58
  }
54
59
  getCryptoAdapter() {
55
60
  return this.cryptoAdapter;
@@ -83,94 +88,94 @@ class BaseMindooTenant {
83
88
  return this.tenantEncryptionKey;
84
89
  }
85
90
  async encryptPayload(payload, decryptionKeyId) {
86
- console.log(`[BaseMindooTenant] Encrypting payload with key: ${decryptionKeyId}`);
87
- console.log(`[BaseMindooTenant] Payload size: ${payload.length} bytes`);
91
+ this.logger.debug(`Encrypting payload with key: ${decryptionKeyId}`);
92
+ this.logger.debug(`Payload size: ${payload.length} bytes`);
88
93
  // Get the symmetric key for this key ID
89
94
  let symmetricKey;
90
95
  try {
91
96
  if (decryptionKeyId === "default") {
92
- console.log(`[BaseMindooTenant] Using default key (tenant encryption key)`);
97
+ this.logger.debug(`Using default key (tenant encryption key)`);
93
98
  // Use cached tenant encryption key if available
94
99
  if (this.decryptedTenantKeyCache) {
95
100
  symmetricKey = this.decryptedTenantKeyCache;
96
- console.log(`[BaseMindooTenant] Using cached tenant key, length: ${symmetricKey.length} bytes`);
101
+ this.logger.debug(`Using cached tenant key, length: ${symmetricKey.length} bytes`);
97
102
  }
98
103
  else {
99
- console.log(`[BaseMindooTenant] Decrypting tenant encryption key`);
104
+ this.logger.debug(`Decrypting tenant encryption key`);
100
105
  // Decrypt tenant encryption key
101
106
  const decrypted = await this.decryptPrivateKey(this.tenantEncryptionKey, this.tenantEncryptionKeyPassword, "default");
102
107
  symmetricKey = new Uint8Array(decrypted);
103
108
  this.decryptedTenantKeyCache = symmetricKey;
104
- console.log(`[BaseMindooTenant] Decrypted tenant key, length: ${symmetricKey.length} bytes`);
109
+ this.logger.debug(`Decrypted tenant key, length: ${symmetricKey.length} bytes`);
105
110
  }
106
111
  }
107
112
  else {
108
- console.log(`[BaseMindooTenant] Getting named key from KeyBag: ${decryptionKeyId}`);
113
+ this.logger.debug(`Getting named key from KeyBag: ${decryptionKeyId}`);
109
114
  // Get the decrypted key from KeyBag
110
115
  const decryptedKey = await this.keyBag.get(decryptionKeyId);
111
116
  if (!decryptedKey) {
112
117
  throw new errors_1.SymmetricKeyNotFoundError(decryptionKeyId);
113
118
  }
114
119
  symmetricKey = decryptedKey;
115
- console.log(`[BaseMindooTenant] Got named key, length: ${symmetricKey.length} bytes`);
120
+ this.logger.debug(`Got named key, length: ${symmetricKey.length} bytes`);
116
121
  }
117
122
  }
118
123
  catch (error) {
119
- console.error(`[BaseMindooTenant] Error getting symmetric key:`, error);
124
+ this.logger.error(`Error getting symmetric key:`, error);
120
125
  throw error;
121
126
  }
122
- console.log(`[BaseMindooTenant] Got symmetric key, length: ${symmetricKey.length} bytes`);
127
+ this.logger.debug(`Got symmetric key, length: ${symmetricKey.length} bytes`);
123
128
  const subtle = this.cryptoAdapter.getSubtle();
124
129
  // Bind getRandomValues to maintain 'this' context
125
130
  const randomValues = this.cryptoAdapter.getRandomValues.bind(this.cryptoAdapter);
126
131
  // Import the symmetric key
127
- console.log(`[BaseMindooTenant] Importing symmetric key for AES-GCM`);
132
+ this.logger.debug(`Importing symmetric key for AES-GCM`);
128
133
  let cryptoKey;
129
134
  try {
130
135
  // Create a new Uint8Array to ensure we have a proper ArrayBuffer
131
136
  const keyArray = new Uint8Array(symmetricKey);
132
- console.log(`[BaseMindooTenant] Key buffer size: ${keyArray.buffer.byteLength} bytes`);
137
+ this.logger.debug(`Key buffer size: ${keyArray.buffer.byteLength} bytes`);
133
138
  cryptoKey = await subtle.importKey("raw", keyArray.buffer, { name: "AES-GCM" }, false, // not extractable
134
139
  ["encrypt"]);
135
- console.log(`[BaseMindooTenant] Successfully imported key`);
140
+ this.logger.debug(`Successfully imported key`);
136
141
  }
137
142
  catch (error) {
138
- console.error(`[BaseMindooTenant] Error importing key:`, error);
139
- console.error(`[BaseMindooTenant] Key length: ${symmetricKey.length}, expected: 32 bytes for AES-256`);
143
+ this.logger.error(`Error importing key:`, error);
144
+ this.logger.error(`Key length: ${symmetricKey.length}, expected: 32 bytes for AES-256`);
140
145
  throw error;
141
146
  }
142
147
  // Generate IV (12 bytes for AES-GCM)
143
- console.log(`[BaseMindooTenant] Generating IV`);
148
+ this.logger.debug(`Generating IV`);
144
149
  let iv;
145
150
  try {
146
151
  const ivArray = new Uint8Array(12);
147
152
  randomValues(ivArray);
148
153
  iv = new Uint8Array(ivArray.buffer, ivArray.byteOffset, ivArray.byteLength);
149
- console.log(`[BaseMindooTenant] Generated IV: ${iv.length} bytes`);
154
+ this.logger.debug(`Generated IV: ${iv.length} bytes`);
150
155
  }
151
156
  catch (error) {
152
- console.error(`[BaseMindooTenant] Error generating IV:`, error);
157
+ this.logger.error(`Error generating IV:`, error);
153
158
  throw error;
154
159
  }
155
160
  // Encrypt the payload
156
- console.log(`[BaseMindooTenant] Encrypting payload with AES-GCM`);
157
- console.log(`[BaseMindooTenant] Payload buffer size: ${payload.buffer.byteLength} bytes`);
158
- console.log(`[BaseMindooTenant] Payload byteOffset: ${payload.byteOffset}, byteLength: ${payload.byteLength}`);
161
+ this.logger.debug(`Encrypting payload with AES-GCM`);
162
+ this.logger.debug(`Payload buffer size: ${payload.buffer.byteLength} bytes`);
163
+ this.logger.debug(`Payload byteOffset: ${payload.byteOffset}, byteLength: ${payload.byteLength}`);
159
164
  let encrypted;
160
165
  try {
161
166
  // Create a new Uint8Array to ensure we have a proper ArrayBuffer
162
167
  const payloadArray = new Uint8Array(payload);
163
- console.log(`[BaseMindooTenant] Using payload array: ${payloadArray.length} bytes`);
168
+ this.logger.debug(`Using payload array: ${payloadArray.length} bytes`);
164
169
  encrypted = await subtle.encrypt({
165
170
  name: "AES-GCM",
166
171
  iv: iv,
167
172
  tagLength: 128, // 128-bit authentication tag
168
173
  }, cryptoKey, payloadArray);
169
- console.log(`[BaseMindooTenant] Successfully encrypted payload, encrypted size: ${encrypted.byteLength} bytes`);
174
+ this.logger.debug(`Successfully encrypted payload, encrypted size: ${encrypted.byteLength} bytes`);
170
175
  }
171
176
  catch (error) {
172
- console.error(`[BaseMindooTenant] Error encrypting payload:`, error);
173
- console.error(`[BaseMindooTenant] Error details:`, {
177
+ this.logger.error(`Error encrypting payload:`, error);
178
+ this.logger.error(`Error details:`, {
174
179
  errorName: error instanceof Error ? error.name : typeof error,
175
180
  errorMessage: error instanceof Error ? error.message : String(error),
176
181
  payloadLength: payload.length,
@@ -181,16 +186,16 @@ class BaseMindooTenant {
181
186
  }
182
187
  // Combine IV and encrypted data
183
188
  // Format: IV (12 bytes) + encrypted data (includes authentication tag)
184
- console.log(`[BaseMindooTenant] Combining IV and encrypted data`);
189
+ this.logger.debug(`Combining IV and encrypted data`);
185
190
  const encryptedArray = new Uint8Array(encrypted);
186
191
  const result = new Uint8Array(12 + encryptedArray.length);
187
192
  result.set(iv, 0);
188
193
  result.set(encryptedArray, 12);
189
- console.log(`[BaseMindooTenant] Encrypted payload (${payload.length} -> ${result.length} bytes)`);
194
+ this.logger.debug(`Encrypted payload (${payload.length} -> ${result.length} bytes)`);
190
195
  return result;
191
196
  }
192
197
  async decryptPayload(encryptedPayload, decryptionKeyId) {
193
- console.log(`[BaseMindooTenant] Decrypting payload with key: ${decryptionKeyId}`);
198
+ this.logger.debug(`Decrypting payload with key: ${decryptionKeyId}`);
194
199
  if (encryptedPayload.length < 12) {
195
200
  throw new Error("Encrypted payload too short (missing IV)");
196
201
  }
@@ -229,11 +234,11 @@ class BaseMindooTenant {
229
234
  iv: iv,
230
235
  tagLength: 128, // 128-bit authentication tag
231
236
  }, cryptoKey, encryptedData.buffer);
232
- console.log(`[BaseMindooTenant] Decrypted payload (${encryptedPayload.length} -> ${decrypted.byteLength} bytes)`);
237
+ this.logger.debug(`Decrypted payload (${encryptedPayload.length} -> ${decrypted.byteLength} bytes)`);
233
238
  return new Uint8Array(decrypted);
234
239
  }
235
240
  async signPayload(payload) {
236
- console.log(`[BaseMindooTenant] Signing payload`);
241
+ this.logger.debug(`Signing payload`);
237
242
  // Get the current user's signing private key (decrypted)
238
243
  const signingKey = await this.getDecryptedSigningKey();
239
244
  const subtle = this.cryptoAdapter.getSubtle();
@@ -241,11 +246,11 @@ class BaseMindooTenant {
241
246
  const signature = await subtle.sign({
242
247
  name: "Ed25519",
243
248
  }, signingKey, payload.buffer);
244
- console.log(`[BaseMindooTenant] Signed payload (signature: ${signature.byteLength} bytes)`);
249
+ this.logger.debug(`Signed payload (signature: ${signature.byteLength} bytes)`);
245
250
  return new Uint8Array(signature);
246
251
  }
247
252
  async signPayloadWithKey(payload, signingKeyPair, password) {
248
- console.log(`[BaseMindooTenant] Signing payload with provided key`);
253
+ this.logger.debug(`Signing payload with provided key`);
249
254
  const subtle = this.cryptoAdapter.getSubtle();
250
255
  // Decrypt the provided signing private key
251
256
  const decryptedKeyBuffer = await this.decryptPrivateKey(signingKeyPair.privateKey, password, "signing");
@@ -258,15 +263,15 @@ class BaseMindooTenant {
258
263
  const signature = await subtle.sign({
259
264
  name: "Ed25519",
260
265
  }, signingKey, payload.buffer);
261
- console.log(`[BaseMindooTenant] Signed payload with provided key (signature: ${signature.byteLength} bytes)`);
266
+ this.logger.debug(`Signed payload with provided key (signature: ${signature.byteLength} bytes)`);
262
267
  return new Uint8Array(signature);
263
268
  }
264
269
  async verifySignature(payload, signature, publicKey) {
265
- console.log(`[BaseMindooTenant] Verifying signature`);
270
+ this.logger.debug(`Verifying signature`);
266
271
  const directory = await this.openDirectory();
267
272
  const isTrusted = await directory.validatePublicSigningKey(publicKey);
268
273
  if (!isTrusted) {
269
- console.warn(`[BaseMindooTenant] Public key not trusted: ${publicKey}`);
274
+ this.logger.warn(`Public key not trusted: ${publicKey}`);
270
275
  return false;
271
276
  }
272
277
  const subtle = this.cryptoAdapter.getSubtle();
@@ -281,11 +286,11 @@ class BaseMindooTenant {
281
286
  const isValid = await subtle.verify({
282
287
  name: "Ed25519",
283
288
  }, cryptoKey, signature.buffer, payload.buffer);
284
- console.log(`[BaseMindooTenant] Signature verification result: ${isValid}`);
289
+ this.logger.info(`Signature verification result: ${isValid}`);
285
290
  return isValid;
286
291
  }
287
292
  async validatePublicSigningKey(publicKey) {
288
- console.log(`[BaseMindooTenant] Validating public signing key`);
293
+ this.logger.info(`Validating public signing key`);
289
294
  // Load the directory database to check if this key belongs to a trusted user
290
295
  const directoryDB = await this.openDB("directory");
291
296
  // TODO: Query the directory database to check if this public key belongs to a registered,
@@ -308,7 +313,8 @@ class BaseMindooTenant {
308
313
  }
309
314
  async openDirectory() {
310
315
  if (!this.directoryCache) {
311
- this.directoryCache = new BaseMindooTenantDirectory_1.BaseMindooTenantDirectory(this);
316
+ const directoryLogger = this.logger.createChild("Directory");
317
+ this.directoryCache = new BaseMindooTenantDirectory_1.BaseMindooTenantDirectory(this, directoryLogger);
312
318
  }
313
319
  return this.directoryCache;
314
320
  }
@@ -331,15 +337,17 @@ class BaseMindooTenant {
331
337
  const { adminOnlyDb, attachmentConfig, ...storeOptions } = effectiveOptions;
332
338
  // Create the database stores using the factory
333
339
  const { docStore, attachmentStore } = this.storeFactory.createStore(id, storeOptions);
334
- const db = new BaseMindooDB_1.BaseMindooDB(this, docStore, attachmentStore, attachmentConfig, adminOnlyDb ?? false);
340
+ const dbLogger = this.logger.createChild("BaseMindooDB");
341
+ const db = new BaseMindooDB_1.BaseMindooDB(this, docStore, attachmentStore, attachmentConfig, adminOnlyDb ?? false, dbLogger);
335
342
  await db.initialize();
336
343
  // Cache the database for future use
337
344
  this.databaseCache.set(id, db);
338
345
  return db;
339
346
  }
340
347
  createDocSignerFor(signKey) {
341
- console.log(`[BaseMindooTenant] Creating MindooDocSigner for signing key pair`);
342
- return new MindooDocSigner_1.MindooDocSigner(this, signKey);
348
+ this.logger.debug(`Creating MindooDocSigner for signing key pair`);
349
+ const signerLogger = this.logger.createChild("MindooDocSigner");
350
+ return new MindooDocSigner_1.MindooDocSigner(this, signKey, signerLogger);
343
351
  }
344
352
  /**
345
353
  * Internal method to get the decrypted signing key for the current user.
@@ -371,12 +379,12 @@ class BaseMindooTenant {
371
379
  * @returns The decrypted private key as ArrayBuffer
372
380
  */
373
381
  async decryptPrivateKey(encryptedKey, password, saltString) {
374
- console.log(`[BaseMindooTenant] decryptPrivateKey: Starting decryption with saltString: ${saltString}`);
375
- console.log(`[BaseMindooTenant] decryptPrivateKey: Password length: ${password.length}`);
376
- console.log(`[BaseMindooTenant] decryptPrivateKey: EncryptedKey iterations: ${encryptedKey.iterations}`);
382
+ this.logger.debug(`decryptPrivateKey: Starting decryption with saltString: ${saltString}`);
383
+ this.logger.debug(`decryptPrivateKey: Password length: ${password.length}`);
384
+ this.logger.debug(`decryptPrivateKey: EncryptedKey iterations: ${encryptedKey.iterations}`);
377
385
  const subtle = this.cryptoAdapter.getSubtle();
378
386
  // Decode base64 strings
379
- console.log(`[BaseMindooTenant] decryptPrivateKey: Decoding base64 strings`);
387
+ this.logger.debug(`decryptPrivateKey: Decoding base64 strings`);
380
388
  let ciphertext;
381
389
  let iv;
382
390
  let tag;
@@ -386,33 +394,33 @@ class BaseMindooTenant {
386
394
  iv = this.base64ToUint8Array(encryptedKey.iv);
387
395
  tag = this.base64ToUint8Array(encryptedKey.tag);
388
396
  saltBytes = this.base64ToUint8Array(encryptedKey.salt);
389
- console.log(`[BaseMindooTenant] decryptPrivateKey: Decoded - ciphertext: ${ciphertext.length} bytes, iv: ${iv.length} bytes, tag: ${tag.length} bytes, salt: ${saltBytes.length} bytes`);
397
+ this.logger.debug(`decryptPrivateKey: Decoded - ciphertext: ${ciphertext.length} bytes, iv: ${iv.length} bytes, tag: ${tag.length} bytes, salt: ${saltBytes.length} bytes`);
390
398
  }
391
399
  catch (error) {
392
- console.error(`[BaseMindooTenant] decryptPrivateKey: Error decoding base64:`, error);
400
+ this.logger.error(`decryptPrivateKey: Error decoding base64:`, error);
393
401
  throw error;
394
402
  }
395
403
  // Derive key from password using PBKDF2
396
404
  // Combine the stored salt bytes with the salt string for additional security
397
405
  // This ensures different key types (signing, encryption, etc.) use different derived keys
398
406
  // even if they share the same password
399
- console.log(`[BaseMindooTenant] decryptPrivateKey: Combining salt with saltString`);
407
+ this.logger.debug(`decryptPrivateKey: Combining salt with saltString`);
400
408
  const saltStringBytes = new TextEncoder().encode(saltString);
401
409
  const combinedSalt = new Uint8Array(saltBytes.length + saltStringBytes.length);
402
410
  combinedSalt.set(saltBytes);
403
411
  combinedSalt.set(saltStringBytes, saltBytes.length);
404
- console.log(`[BaseMindooTenant] decryptPrivateKey: Combined salt length: ${combinedSalt.length} bytes`);
405
- console.log(`[BaseMindooTenant] decryptPrivateKey: Importing password key for PBKDF2`);
412
+ this.logger.debug(`decryptPrivateKey: Combined salt length: ${combinedSalt.length} bytes`);
413
+ this.logger.debug(`decryptPrivateKey: Importing password key for PBKDF2`);
406
414
  let passwordKey;
407
415
  try {
408
416
  passwordKey = await subtle.importKey("raw", new TextEncoder().encode(password), "PBKDF2", false, ["deriveBits", "deriveKey"]);
409
- console.log(`[BaseMindooTenant] decryptPrivateKey: Successfully imported password key`);
417
+ this.logger.debug(`decryptPrivateKey: Successfully imported password key`);
410
418
  }
411
419
  catch (error) {
412
- console.error(`[BaseMindooTenant] decryptPrivateKey: Error importing password key:`, error);
420
+ this.logger.error(`decryptPrivateKey: Error importing password key:`, error);
413
421
  throw error;
414
422
  }
415
- console.log(`[BaseMindooTenant] decryptPrivateKey: Deriving key with PBKDF2 (iterations: ${encryptedKey.iterations})`);
423
+ this.logger.debug(`decryptPrivateKey: Deriving key with PBKDF2 (iterations: ${encryptedKey.iterations})`);
416
424
  let derivedKey;
417
425
  try {
418
426
  derivedKey = await subtle.deriveKey({
@@ -424,39 +432,39 @@ class BaseMindooTenant {
424
432
  name: "AES-GCM",
425
433
  length: 256,
426
434
  }, false, ["decrypt"]);
427
- console.log(`[BaseMindooTenant] decryptPrivateKey: Successfully derived key`);
435
+ this.logger.debug(`decryptPrivateKey: Successfully derived key`);
428
436
  }
429
437
  catch (error) {
430
- console.error(`[BaseMindooTenant] decryptPrivateKey: Error deriving key:`, error);
438
+ this.logger.error(`decryptPrivateKey: Error deriving key:`, error);
431
439
  throw error;
432
440
  }
433
441
  // Combine ciphertext and tag (GCM authentication tag is separate)
434
442
  // AES-GCM expects the tag to be appended to the ciphertext
435
- console.log(`[BaseMindooTenant] decryptPrivateKey: Combining ciphertext and tag`);
443
+ this.logger.debug(`decryptPrivateKey: Combining ciphertext and tag`);
436
444
  const encryptedData = new Uint8Array(ciphertext.length + tag.length);
437
445
  encryptedData.set(ciphertext);
438
446
  encryptedData.set(tag, ciphertext.length);
439
- console.log(`[BaseMindooTenant] decryptPrivateKey: Combined encrypted data length: ${encryptedData.length} bytes`);
447
+ this.logger.debug(`decryptPrivateKey: Combined encrypted data length: ${encryptedData.length} bytes`);
440
448
  // Decrypt the private key
441
- console.log(`[BaseMindooTenant] decryptPrivateKey: Decrypting with AES-GCM`);
442
- console.log(`[BaseMindooTenant] decryptPrivateKey: IV length: ${iv.length} bytes (expected: 12 for AES-GCM)`);
443
- console.log(`[BaseMindooTenant] decryptPrivateKey: Tag length: ${tag.length} bytes (expected: 16 for 128-bit tag)`);
444
- console.log(`[BaseMindooTenant] decryptPrivateKey: Ciphertext length: ${ciphertext.length} bytes`);
449
+ this.logger.debug(`decryptPrivateKey: Decrypting with AES-GCM`);
450
+ this.logger.debug(`decryptPrivateKey: IV length: ${iv.length} bytes (expected: 12 for AES-GCM)`);
451
+ this.logger.debug(`decryptPrivateKey: Tag length: ${tag.length} bytes (expected: 16 for 128-bit tag)`);
452
+ this.logger.debug(`decryptPrivateKey: Ciphertext length: ${ciphertext.length} bytes`);
445
453
  let decrypted;
446
454
  try {
447
455
  // Create a new ArrayBuffer to ensure we have the correct buffer without any offset issues
448
456
  const encryptedBuffer = new Uint8Array(encryptedData).buffer;
449
- console.log(`[BaseMindooTenant] decryptPrivateKey: Encrypted buffer size: ${encryptedBuffer.byteLength} bytes`);
457
+ this.logger.debug(`decryptPrivateKey: Encrypted buffer size: ${encryptedBuffer.byteLength} bytes`);
450
458
  decrypted = await subtle.decrypt({
451
459
  name: "AES-GCM",
452
460
  iv: new Uint8Array(iv), // Create a new Uint8Array to ensure proper buffer
453
461
  tagLength: 128,
454
462
  }, derivedKey, encryptedBuffer);
455
- console.log(`[BaseMindooTenant] decryptPrivateKey: Successfully decrypted, result length: ${decrypted.byteLength} bytes`);
463
+ this.logger.debug(`decryptPrivateKey: Successfully decrypted, result length: ${decrypted.byteLength} bytes`);
456
464
  }
457
465
  catch (error) {
458
- console.error(`[BaseMindooTenant] decryptPrivateKey: Error during decryption:`, error);
459
- console.error(`[BaseMindooTenant] decryptPrivateKey: Error details:`, {
466
+ this.logger.error(`decryptPrivateKey: Error during decryption:`, error);
467
+ this.logger.error(`decryptPrivateKey: Error details:`, {
460
468
  errorName: error instanceof Error ? error.name : typeof error,
461
469
  errorMessage: error instanceof Error ? error.message : String(error),
462
470
  ivLength: iv.length,
@@ -576,7 +584,7 @@ class BaseMindooTenant {
576
584
  * @returns The encrypted payload with mode prefix
577
585
  */
578
586
  async encryptAttachmentPayload(payload, decryptionKeyId) {
579
- console.log(`[BaseMindooTenant] Encrypting attachment payload with key: ${decryptionKeyId}`);
587
+ this.logger.debug(`Encrypting attachment payload with key: ${decryptionKeyId}`);
580
588
  const symmetricKey = await this.getSymmetricKey(decryptionKeyId);
581
589
  const subtle = this.cryptoAdapter.getSubtle();
582
590
  const randomValues = this.cryptoAdapter.getRandomValues.bind(this.cryptoAdapter);
@@ -595,13 +603,13 @@ class BaseMindooTenant {
595
603
  const payloadBuffer = payload.buffer.slice(payload.byteOffset, payload.byteOffset + payload.byteLength);
596
604
  const hashBuffer = await subtle.digest("SHA-256", payloadBuffer);
597
605
  iv = new Uint8Array(hashBuffer).slice(0, 12);
598
- console.log(`[BaseMindooTenant] Using deterministic IV derived from content hash`);
606
+ this.logger.debug(`Using deterministic IV derived from content hash`);
599
607
  }
600
608
  else {
601
609
  // Random IV
602
610
  iv = new Uint8Array(12);
603
611
  randomValues(iv);
604
- console.log(`[BaseMindooTenant] Using random IV`);
612
+ this.logger.debug(`Using random IV`);
605
613
  }
606
614
  // Encrypt the payload
607
615
  const payloadArray = new Uint8Array(payload);
@@ -616,7 +624,7 @@ class BaseMindooTenant {
616
624
  result[0] = mode;
617
625
  result.set(iv, 1);
618
626
  result.set(encryptedArray, 13);
619
- console.log(`[BaseMindooTenant] Encrypted attachment (mode=${mode}, ${payload.length} -> ${result.length} bytes)`);
627
+ this.logger.debug(`Encrypted attachment (mode=${mode}, ${payload.length} -> ${result.length} bytes)`);
620
628
  return result;
621
629
  }
622
630
  /**
@@ -628,7 +636,7 @@ class BaseMindooTenant {
628
636
  * @returns The decrypted plaintext
629
637
  */
630
638
  async decryptAttachmentPayload(encryptedPayload, decryptionKeyId) {
631
- console.log(`[BaseMindooTenant] Decrypting attachment payload with key: ${decryptionKeyId}`);
639
+ this.logger.debug(`Decrypting attachment payload with key: ${decryptionKeyId}`);
632
640
  if (encryptedPayload.length < 13) {
633
641
  throw new Error("Invalid encrypted attachment payload: too short");
634
642
  }
@@ -638,7 +646,7 @@ class BaseMindooTenant {
638
646
  mode !== BaseMindooTenant.ENCRYPTION_MODE_DETERMINISTIC) {
639
647
  throw new Error(`Invalid encryption mode: ${mode}`);
640
648
  }
641
- console.log(`[BaseMindooTenant] Decrypting attachment with mode=${mode}`);
649
+ this.logger.debug(`Decrypting attachment with mode=${mode}`);
642
650
  // Extract IV (bytes 1-12)
643
651
  const iv = encryptedPayload.slice(1, 13);
644
652
  // Extract ciphertext (bytes 13 onwards)
@@ -655,7 +663,7 @@ class BaseMindooTenant {
655
663
  tagLength: 128,
656
664
  }, cryptoKey, ciphertext);
657
665
  const result = new Uint8Array(decrypted);
658
- console.log(`[BaseMindooTenant] Decrypted attachment (${encryptedPayload.length} -> ${result.length} bytes)`);
666
+ this.logger.debug(`Decrypted attachment (${encryptedPayload.length} -> ${result.length} bytes)`);
659
667
  return result;
660
668
  }
661
669
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMindooTenant.js","sourceRoot":"","sources":["../../src/core/BaseMindooTenant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseMindooTenant.js","sourceRoot":"","sources":["../../src/core/BaseMindooTenant.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { EncryptedPrivateKey, MindooDB, MindooDoc, MindooTenantDirectory, PublicUserId } from "./types";
2
2
  import { BaseMindooTenant } from "./BaseMindooTenant";
3
+ import { Logger } from "./logging";
3
4
  export declare class BaseMindooTenantDirectory implements MindooTenantDirectory {
4
5
  private tenant;
5
6
  private directoryDB;
@@ -9,7 +10,8 @@ export declare class BaseMindooTenantDirectory implements MindooTenantDirectory
9
10
  private dbSettingsCache;
10
11
  private groupsCache;
11
12
  private unifiedCacheLastCursor;
12
- constructor(tenant: BaseMindooTenant);
13
+ private logger;
14
+ constructor(tenant: BaseMindooTenant, logger?: Logger);
13
15
  getDirectoryDB(): Promise<MindooDB>;
14
16
  registerUser(userId: PublicUserId, administrationPrivateKey: EncryptedPrivateKey, administrationPrivateKeyPassword: string): Promise<void>;
15
17
  findGrantAccessDocuments(username: string): Promise<MindooDoc[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMindooTenantDirectory.d.ts","sourceRoot":"","sources":["../../src/core/BaseMindooTenantDirectory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseMindooTenantDirectory.d.ts","sourceRoot":"","sources":["../../src/core/BaseMindooTenantDirectory.ts"],"names":[],"mappings":"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"}