mindoodb 0.0.1 → 0.0.3

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 (206) hide show
  1. package/README.md +97 -24
  2. package/dist/__mocks__/expo-standard-web-crypto.d.ts +10 -0
  3. package/dist/__mocks__/expo-standard-web-crypto.d.ts.map +1 -0
  4. package/dist/__mocks__/expo-standard-web-crypto.js +22 -0
  5. package/dist/__mocks__/expo-standard-web-crypto.js.map +1 -0
  6. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.d.ts +8 -0
  7. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.d.ts.map +1 -0
  8. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.js +16 -0
  9. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.js.map +1 -0
  10. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.d.ts +1 -1
  11. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.d.ts.map +1 -1
  12. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.js +2 -2
  13. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.js.map +1 -1
  14. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +19 -2
  15. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  16. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +133 -22
  17. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  18. package/dist/appendonlystores/network/HttpTransport.d.ts +20 -3
  19. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  20. package/dist/appendonlystores/network/HttpTransport.js +136 -21
  21. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  22. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +33 -3
  23. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  24. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +148 -27
  25. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  26. package/dist/appendonlystores/network/index.d.ts +1 -1
  27. package/dist/appendonlystores/network/index.d.ts.map +1 -1
  28. package/dist/appendonlystores/network/index.js.map +1 -1
  29. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts +61 -0
  30. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts.map +1 -0
  31. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js +685 -0
  32. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js.map +1 -0
  33. package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.d.ts +25 -0
  34. package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.d.ts.map +1 -0
  35. package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.js +41 -0
  36. package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.js.map +1 -0
  37. package/dist/browser/index.d.ts +5 -0
  38. package/dist/browser/index.d.ts.map +1 -1
  39. package/dist/browser/index.js +13 -1
  40. package/dist/browser/index.js.map +1 -1
  41. package/dist/core/BaseMindooDB.d.ts +38 -4
  42. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  43. package/dist/core/BaseMindooDB.js +810 -329
  44. package/dist/core/BaseMindooDB.js.map +1 -1
  45. package/dist/core/BaseMindooTenant.d.ts +42 -6
  46. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  47. package/dist/core/BaseMindooTenant.js +259 -93
  48. package/dist/core/BaseMindooTenant.js.map +1 -1
  49. package/dist/core/BaseMindooTenantDirectory.d.ts +3 -1
  50. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  51. package/dist/core/BaseMindooTenantDirectory.js +50 -40
  52. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  53. package/dist/core/BaseMindooTenantFactory.d.ts +25 -29
  54. package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
  55. package/dist/core/BaseMindooTenantFactory.js +175 -73
  56. package/dist/core/BaseMindooTenantFactory.js.map +1 -1
  57. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +68 -0
  58. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -0
  59. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.js +659 -0
  60. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -0
  61. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +50 -4
  62. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  63. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +204 -39
  64. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  65. package/dist/core/appendonlystores/bloom.d.ts +85 -0
  66. package/dist/core/appendonlystores/bloom.d.ts.map +1 -0
  67. package/dist/core/appendonlystores/bloom.js +228 -0
  68. package/dist/core/appendonlystores/bloom.js.map +1 -0
  69. package/dist/core/appendonlystores/network/AuthenticationService.d.ts +3 -0
  70. package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
  71. package/dist/core/appendonlystores/network/AuthenticationService.js +21 -17
  72. package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
  73. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +36 -2
  74. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
  75. package/dist/core/appendonlystores/network/types.d.ts +10 -0
  76. package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
  77. package/dist/core/appendonlystores/network/types.js.map +1 -1
  78. package/dist/core/appendonlystores/types.d.ts +137 -1
  79. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  80. package/dist/core/automerge-adapter.d.ts +15 -0
  81. package/dist/core/automerge-adapter.d.ts.map +1 -0
  82. package/dist/core/automerge-adapter.js +73 -0
  83. package/dist/core/automerge-adapter.js.map +1 -0
  84. package/dist/core/crypto/MindooDocSigner.d.ts +3 -1
  85. package/dist/core/crypto/MindooDocSigner.d.ts.map +1 -1
  86. package/dist/core/crypto/MindooDocSigner.js +9 -5
  87. package/dist/core/crypto/MindooDocSigner.js.map +1 -1
  88. package/dist/core/crypto/RSAEncryption.d.ts +3 -1
  89. package/dist/core/crypto/RSAEncryption.d.ts.map +1 -1
  90. package/dist/core/crypto/RSAEncryption.js +13 -9
  91. package/dist/core/crypto/RSAEncryption.js.map +1 -1
  92. package/dist/core/crypto/pbkdf2Iterations.d.ts +12 -0
  93. package/dist/core/crypto/pbkdf2Iterations.d.ts.map +1 -0
  94. package/dist/core/crypto/pbkdf2Iterations.js +55 -0
  95. package/dist/core/crypto/pbkdf2Iterations.js.map +1 -0
  96. package/dist/core/index.d.ts +7 -2
  97. package/dist/core/index.d.ts.map +1 -1
  98. package/dist/core/index.js +30 -1
  99. package/dist/core/index.js.map +1 -1
  100. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +1 -1
  101. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +2 -2
  102. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
  103. package/dist/core/indexing/virtualviews/index.d.ts +1 -1
  104. package/dist/core/indexing/virtualviews/index.js +1 -1
  105. package/dist/core/keys/KeyBag.d.ts +36 -13
  106. package/dist/core/keys/KeyBag.d.ts.map +1 -1
  107. package/dist/core/keys/KeyBag.js +96 -31
  108. package/dist/core/keys/KeyBag.js.map +1 -1
  109. package/dist/core/keys/KeyContext.d.ts +4 -0
  110. package/dist/core/keys/KeyContext.d.ts.map +1 -0
  111. package/dist/core/keys/KeyContext.js +11 -0
  112. package/dist/core/keys/KeyContext.js.map +1 -0
  113. package/dist/core/logging/LogLevel.d.ts +21 -0
  114. package/dist/core/logging/LogLevel.d.ts.map +1 -0
  115. package/dist/core/logging/LogLevel.js +56 -0
  116. package/dist/core/logging/LogLevel.js.map +1 -0
  117. package/dist/core/logging/Logger.d.ts +37 -0
  118. package/dist/core/logging/Logger.d.ts.map +1 -0
  119. package/dist/core/logging/Logger.js +3 -0
  120. package/dist/core/logging/Logger.js.map +1 -0
  121. package/dist/core/logging/MindooLogger.d.ts +28 -0
  122. package/dist/core/logging/MindooLogger.d.ts.map +1 -0
  123. package/dist/core/logging/MindooLogger.js +217 -0
  124. package/dist/core/logging/MindooLogger.js.map +1 -0
  125. package/dist/core/logging/index.d.ts +4 -0
  126. package/dist/core/logging/index.d.ts.map +1 -0
  127. package/dist/core/logging/index.js +10 -0
  128. package/dist/core/logging/index.js.map +1 -0
  129. package/dist/core/types.d.ts +313 -77
  130. package/dist/core/types.d.ts.map +1 -1
  131. package/dist/core/types.js +2 -0
  132. package/dist/core/types.js.map +1 -1
  133. package/dist/core/uri/MindooURI.d.ts +58 -0
  134. package/dist/core/uri/MindooURI.d.ts.map +1 -0
  135. package/dist/core/uri/MindooURI.js +169 -0
  136. package/dist/core/uri/MindooURI.js.map +1 -0
  137. package/dist/core/userid/index.d.ts +0 -10
  138. package/dist/core/userid/index.d.ts.map +1 -1
  139. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +541 -0
  140. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -0
  141. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +1334 -0
  142. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -0
  143. package/dist/node/index.d.ts +1 -0
  144. package/dist/node/index.d.ts.map +1 -1
  145. package/dist/node/index.js +5 -1
  146. package/dist/node/index.js.map +1 -1
  147. package/dist/reactnative/crypto/AESAdapter.d.ts +18 -0
  148. package/dist/reactnative/crypto/AESAdapter.d.ts.map +1 -0
  149. package/dist/reactnative/crypto/AESAdapter.js +112 -0
  150. package/dist/reactnative/crypto/AESAdapter.js.map +1 -0
  151. package/dist/reactnative/crypto/Ed25519Adapter.d.ts +34 -0
  152. package/dist/reactnative/crypto/Ed25519Adapter.d.ts.map +1 -0
  153. package/dist/reactnative/crypto/Ed25519Adapter.js +386 -0
  154. package/dist/reactnative/crypto/Ed25519Adapter.js.map +1 -0
  155. package/dist/reactnative/crypto/ExpoGoCryptoAdapter.d.ts +23 -0
  156. package/dist/reactnative/crypto/ExpoGoCryptoAdapter.d.ts.map +1 -0
  157. package/dist/reactnative/crypto/ExpoGoCryptoAdapter.js +51 -0
  158. package/dist/reactnative/crypto/ExpoGoCryptoAdapter.js.map +1 -0
  159. package/dist/reactnative/crypto/HMACAdapter.d.ts +13 -0
  160. package/dist/reactnative/crypto/HMACAdapter.d.ts.map +1 -0
  161. package/dist/reactnative/crypto/HMACAdapter.js +50 -0
  162. package/dist/reactnative/crypto/HMACAdapter.js.map +1 -0
  163. package/dist/reactnative/crypto/KeyFormatConverter.d.ts +21 -0
  164. package/dist/reactnative/crypto/KeyFormatConverter.d.ts.map +1 -0
  165. package/dist/reactnative/crypto/KeyFormatConverter.js +72 -0
  166. package/dist/reactnative/crypto/KeyFormatConverter.js.map +1 -0
  167. package/dist/reactnative/crypto/PBKDF2Adapter.d.ts +19 -0
  168. package/dist/reactnative/crypto/PBKDF2Adapter.d.ts.map +1 -0
  169. package/dist/reactnative/crypto/PBKDF2Adapter.js +67 -0
  170. package/dist/reactnative/crypto/PBKDF2Adapter.js.map +1 -0
  171. package/dist/reactnative/crypto/QuickCryptoAdapter.d.ts +37 -0
  172. package/dist/reactnative/crypto/QuickCryptoAdapter.d.ts.map +1 -0
  173. package/dist/reactnative/crypto/QuickCryptoAdapter.js +72 -0
  174. package/dist/reactnative/crypto/QuickCryptoAdapter.js.map +1 -0
  175. package/dist/reactnative/crypto/RSAAdapter.d.ts +38 -0
  176. package/dist/reactnative/crypto/RSAAdapter.d.ts.map +1 -0
  177. package/dist/reactnative/crypto/RSAAdapter.js +184 -0
  178. package/dist/reactnative/crypto/RSAAdapter.js.map +1 -0
  179. package/dist/reactnative/crypto/ReactNativeCryptoAdapter.d.ts +33 -0
  180. package/dist/reactnative/crypto/ReactNativeCryptoAdapter.d.ts.map +1 -0
  181. package/dist/reactnative/crypto/ReactNativeCryptoAdapter.js +61 -0
  182. package/dist/reactnative/crypto/ReactNativeCryptoAdapter.js.map +1 -0
  183. package/dist/reactnative/crypto/SHA256Adapter.d.ts +9 -0
  184. package/dist/reactnative/crypto/SHA256Adapter.d.ts.map +1 -0
  185. package/dist/reactnative/crypto/SHA256Adapter.js +29 -0
  186. package/dist/reactnative/crypto/SHA256Adapter.js.map +1 -0
  187. package/dist/reactnative/crypto/SubtleCryptoPolyfill.d.ts +63 -0
  188. package/dist/reactnative/crypto/SubtleCryptoPolyfill.d.ts.map +1 -0
  189. package/dist/reactnative/crypto/SubtleCryptoPolyfill.js +350 -0
  190. package/dist/reactnative/crypto/SubtleCryptoPolyfill.js.map +1 -0
  191. package/dist/reactnative/index.d.ts +8 -0
  192. package/dist/reactnative/index.d.ts.map +1 -0
  193. package/dist/reactnative/index.js +38 -0
  194. package/dist/reactnative/index.js.map +1 -0
  195. package/package.json +51 -6
  196. package/patches/PATCHES.md +111 -0
  197. package/patches/react-native+0.76.9.patch +34 -0
  198. package/patches/react-native-quick-crypto+1.0.7.patch +42 -0
  199. package/scripts/cli.js +21 -0
  200. package/scripts/setup-react-native.js +228 -0
  201. package/templates/reactnative/App.js +252 -0
  202. package/templates/reactnative/app.json +29 -0
  203. package/templates/reactnative/babel.config.js +6 -0
  204. package/templates/reactnative/index.js +26 -0
  205. package/templates/reactnative/metro.config.snippet.js +39 -0
  206. package/templates/reactnative/mindoodb-polyfills.js +116 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAGrD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACpI,OAAO,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;AAGvI,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACvG,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,YAAY,GACb,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvC,OAAO,EACL,eAAe,EACf,eAAe,EACf,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAGrD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;AAGvI,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACvG,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,UAAU,EACV,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,GACb,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,sCAAsC,EAC3C,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,yBAAyB,CAAC"}
@@ -15,9 +15,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
16
  };
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.NetworkError = exports.NetworkErrorType = exports.AuthenticationService = exports.InMemoryContentAddressedStoreFactory = exports.InMemoryContentAddressedStore = exports.computeContentHash = exports.extractDocIdFromEntryId = exports.isAttachmentChunkId = exports.isDocEntryId = exports.parseAttachmentChunkId = exports.parseDocEntryId = exports.generateChunkUuid7 = exports.generateFileUuid7 = exports.generateAttachmentChunkId = exports.generateDepsFingerprint = exports.generateDocEntryId = exports.SymmetricKeyNotFoundError = exports.KeyBag = exports.MindooDocSigner = exports.RSAEncryption = void 0;
18
+ exports.SelectedOnly = exports.WithDocuments = exports.WithCategories = exports.CategorizationStyle = exports.TotalMode = exports.ColumnSorting = exports.MindooDBVirtualViewDataProvider = exports.VirtualViewDataChange = exports.VirtualViewEntryData = exports.VirtualViewNavigator = exports.VirtualViewColumn = exports.VirtualViewNavigatorBuilder = exports.VirtualViewBuilder = exports.VirtualViewFactory = exports.VirtualView = exports.NetworkError = exports.NetworkErrorType = exports.AuthenticationService = exports.InMemoryContentAddressedStoreFactory = exports.InMemoryContentAddressedStore = exports.computeContentHash = exports.extractDocIdFromEntryId = exports.isAttachmentChunkId = exports.isDocEntryId = exports.parseAttachmentChunkId = exports.parseDocEntryId = exports.generateChunkUuid7 = exports.generateFileUuid7 = exports.generateAttachmentChunkId = exports.generateDepsFingerprint = exports.generateDocEntryId = exports.SymmetricKeyNotFoundError = exports.isMindooURI = exports.decodeMindooURI = exports.encodeMindooURI = exports.KeyBag = exports.MindooDocSigner = exports.RSAEncryption = exports.BaseMindooTenantFactory = exports.BaseMindooTenant = exports.BaseMindooDB = void 0;
19
19
  // Types
20
20
  __exportStar(require("./types"), exports);
21
+ // Base classes
22
+ var BaseMindooDB_1 = require("./BaseMindooDB");
23
+ Object.defineProperty(exports, "BaseMindooDB", { enumerable: true, get: function () { return BaseMindooDB_1.BaseMindooDB; } });
24
+ var BaseMindooTenant_1 = require("./BaseMindooTenant");
25
+ Object.defineProperty(exports, "BaseMindooTenant", { enumerable: true, get: function () { return BaseMindooTenant_1.BaseMindooTenant; } });
26
+ var BaseMindooTenantFactory_1 = require("./BaseMindooTenantFactory");
27
+ Object.defineProperty(exports, "BaseMindooTenantFactory", { enumerable: true, get: function () { return BaseMindooTenantFactory_1.BaseMindooTenantFactory; } });
21
28
  var RSAEncryption_1 = require("./crypto/RSAEncryption");
22
29
  Object.defineProperty(exports, "RSAEncryption", { enumerable: true, get: function () { return RSAEncryption_1.RSAEncryption; } });
23
30
  var MindooDocSigner_1 = require("./crypto/MindooDocSigner");
@@ -25,6 +32,11 @@ Object.defineProperty(exports, "MindooDocSigner", { enumerable: true, get: funct
25
32
  // Keys
26
33
  var KeyBag_1 = require("./keys/KeyBag");
27
34
  Object.defineProperty(exports, "KeyBag", { enumerable: true, get: function () { return KeyBag_1.KeyBag; } });
35
+ // URI
36
+ var MindooURI_1 = require("./uri/MindooURI");
37
+ Object.defineProperty(exports, "encodeMindooURI", { enumerable: true, get: function () { return MindooURI_1.encodeMindooURI; } });
38
+ Object.defineProperty(exports, "decodeMindooURI", { enumerable: true, get: function () { return MindooURI_1.decodeMindooURI; } });
39
+ Object.defineProperty(exports, "isMindooURI", { enumerable: true, get: function () { return MindooURI_1.isMindooURI; } });
28
40
  // Errors
29
41
  var errors_1 = require("./errors");
30
42
  Object.defineProperty(exports, "SymmetricKeyNotFoundError", { enumerable: true, get: function () { return errors_1.SymmetricKeyNotFoundError; } });
@@ -50,4 +62,21 @@ Object.defineProperty(exports, "AuthenticationService", { enumerable: true, get:
50
62
  var types_1 = require("./appendonlystores/network/types");
51
63
  Object.defineProperty(exports, "NetworkErrorType", { enumerable: true, get: function () { return types_1.NetworkErrorType; } });
52
64
  Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return types_1.NetworkError; } });
65
+ // Indexing - Virtual Views
66
+ var virtualviews_1 = require("./indexing/virtualviews");
67
+ Object.defineProperty(exports, "VirtualView", { enumerable: true, get: function () { return virtualviews_1.VirtualView; } });
68
+ Object.defineProperty(exports, "VirtualViewFactory", { enumerable: true, get: function () { return virtualviews_1.VirtualViewFactory; } });
69
+ Object.defineProperty(exports, "VirtualViewBuilder", { enumerable: true, get: function () { return virtualviews_1.VirtualViewBuilder; } });
70
+ Object.defineProperty(exports, "VirtualViewNavigatorBuilder", { enumerable: true, get: function () { return virtualviews_1.VirtualViewNavigatorBuilder; } });
71
+ Object.defineProperty(exports, "VirtualViewColumn", { enumerable: true, get: function () { return virtualviews_1.VirtualViewColumn; } });
72
+ Object.defineProperty(exports, "VirtualViewNavigator", { enumerable: true, get: function () { return virtualviews_1.VirtualViewNavigator; } });
73
+ Object.defineProperty(exports, "VirtualViewEntryData", { enumerable: true, get: function () { return virtualviews_1.VirtualViewEntryData; } });
74
+ Object.defineProperty(exports, "VirtualViewDataChange", { enumerable: true, get: function () { return virtualviews_1.VirtualViewDataChange; } });
75
+ Object.defineProperty(exports, "MindooDBVirtualViewDataProvider", { enumerable: true, get: function () { return virtualviews_1.MindooDBVirtualViewDataProvider; } });
76
+ Object.defineProperty(exports, "ColumnSorting", { enumerable: true, get: function () { return virtualviews_1.ColumnSorting; } });
77
+ Object.defineProperty(exports, "TotalMode", { enumerable: true, get: function () { return virtualviews_1.TotalMode; } });
78
+ Object.defineProperty(exports, "CategorizationStyle", { enumerable: true, get: function () { return virtualviews_1.CategorizationStyle; } });
79
+ Object.defineProperty(exports, "WithCategories", { enumerable: true, get: function () { return virtualviews_1.WithCategories; } });
80
+ Object.defineProperty(exports, "WithDocuments", { enumerable: true, get: function () { return virtualviews_1.WithDocuments; } });
81
+ Object.defineProperty(exports, "SelectedOnly", { enumerable: true, get: function () { return virtualviews_1.SelectedOnly; } });
53
82
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;;;;;;;;;;;;;;;AAEjC,QAAQ;AACR,0CAAwB;AAOxB,wDAAuD;AAA9C,8GAAA,aAAa,OAAA;AACtB,4DAA2D;AAAlD,kHAAA,eAAe,OAAA;AAExB,OAAO;AACP,wCAAuC;AAA9B,gGAAA,MAAM,OAAA;AAEf,SAAS;AACT,mCAAqD;AAA5C,mHAAA,yBAAyB,OAAA;AAElC,YAAY;AACZ,iCAYiB;AAXf,2GAAA,kBAAkB,OAAA;AAClB,gHAAA,uBAAuB,OAAA;AACvB,kHAAA,yBAAyB,OAAA;AACzB,0GAAA,iBAAiB,OAAA;AACjB,2GAAA,kBAAkB,OAAA;AAClB,wGAAA,eAAe,OAAA;AACf,+GAAA,sBAAsB,OAAA;AACtB,qGAAA,YAAY,OAAA;AACZ,4GAAA,mBAAmB,OAAA;AACnB,gHAAA,uBAAuB,OAAA;AACvB,2GAAA,kBAAkB,OAAA;AAKpB,kGAAuI;AAA9H,8IAAA,6BAA6B,OAAA;AAAE,qJAAA,oCAAoC,OAAA;AAE5E,UAAU;AACV,0FAAyF;AAAhF,8HAAA,qBAAqB,OAAA;AAE9B,0DAQ0C;AAFxC,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;;;;;;;;;;;;;;;AAEjC,QAAQ;AACR,0CAAwB;AAKxB,eAAe;AACf,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAIhC,wDAAuD;AAA9C,8GAAA,aAAa,OAAA;AACtB,4DAA2D;AAAlD,kHAAA,eAAe,OAAA;AAExB,OAAO;AACP,wCAAuC;AAA9B,gGAAA,MAAM,OAAA;AAEf,MAAM;AACN,6CAMyB;AALvB,4GAAA,eAAe,OAAA;AACf,4GAAA,eAAe,OAAA;AACf,wGAAA,WAAW,OAAA;AAKb,SAAS;AACT,mCAAqD;AAA5C,mHAAA,yBAAyB,OAAA;AAElC,YAAY;AACZ,iCAYiB;AAXf,2GAAA,kBAAkB,OAAA;AAClB,gHAAA,uBAAuB,OAAA;AACvB,kHAAA,yBAAyB,OAAA;AACzB,0GAAA,iBAAiB,OAAA;AACjB,2GAAA,kBAAkB,OAAA;AAClB,wGAAA,eAAe,OAAA;AACf,+GAAA,sBAAsB,OAAA;AACtB,qGAAA,YAAY,OAAA;AACZ,4GAAA,mBAAmB,OAAA;AACnB,gHAAA,uBAAuB,OAAA;AACvB,2GAAA,kBAAkB,OAAA;AAepB,kGAAuI;AAA9H,8IAAA,6BAA6B,OAAA;AAAE,qJAAA,oCAAoC,OAAA;AAE5E,UAAU;AACV,0FAAyF;AAAhF,8HAAA,qBAAqB,OAAA;AAE9B,0DAS0C;AAFxC,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AAGd,2BAA2B;AAC3B,wDAsBiC;AArB/B,2GAAA,WAAW,OAAA;AACX,kHAAA,kBAAkB,OAAA;AAClB,kHAAA,kBAAkB,OAAA;AAClB,2HAAA,2BAA2B,OAAA;AAC3B,iHAAA,iBAAiB,OAAA;AACjB,oHAAA,oBAAoB,OAAA;AACpB,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,+HAAA,+BAA+B,OAAA;AAC/B,6GAAA,aAAa,OAAA;AACb,yGAAA,SAAS,OAAA;AACT,mHAAA,mBAAmB,OAAA;AACnB,8GAAA,cAAc,OAAA;AACd,6GAAA,aAAa,OAAA;AACb,4GAAA,YAAY,OAAA"}
@@ -17,7 +17,7 @@ export interface MindooDBVirtualViewDataProviderOptions {
17
17
  }
18
18
  /**
19
19
  * Data provider that reads documents from a MindooDB and provides them
20
- * to a VirtualView. Uses processChangesSince for incremental updates.
20
+ * to a VirtualView. Uses iterateChangesSince for incremental updates.
21
21
  */
22
22
  export declare class MindooDBVirtualViewDataProvider implements IVirtualViewDataProvider {
23
23
  private readonly origin;
@@ -4,7 +4,7 @@ exports.MindooDBVirtualViewDataProvider = void 0;
4
4
  const VirtualViewDataChange_1 = require("./VirtualViewDataChange");
5
5
  /**
6
6
  * Data provider that reads documents from a MindooDB and provides them
7
- * to a VirtualView. Uses processChangesSince for incremental updates.
7
+ * to a VirtualView. Uses iterateChangesSince for incremental updates.
8
8
  */
9
9
  class MindooDBVirtualViewDataProvider {
10
10
  constructor(options) {
@@ -30,7 +30,7 @@ class MindooDBVirtualViewDataProvider {
30
30
  const change = new VirtualViewDataChange_1.VirtualViewDataChange(this.origin);
31
31
  const columns = this.view.getColumns();
32
32
  // Process documents using iterateChangesSince for incremental updates
33
- for await (const { doc, cursor } of this.db.iterateChangesSince(this.cursor, this.pageSize)) {
33
+ for await (const { doc, cursor } of this.db.iterateChangesSince(this.cursor)) {
34
34
  const docId = doc.getId();
35
35
  const isDeleted = doc.isDeleted();
36
36
  // Check if document passes filter
@@ -1 +1 @@
1
- {"version":3,"file":"MindooDBVirtualViewDataProvider.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MindooDBVirtualViewDataProvider.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * - VirtualView: Main class for creating categorized, sorted views
6
6
  * - VirtualViewColumn: Column definitions with sorting, categories, and totals
7
7
  * - VirtualViewNavigator: Navigation through the view tree structure
8
- * - MindooDBVirtualViewDataProvider: Data provider using MindooDB.processChangesSince
8
+ * - MindooDBVirtualViewDataProvider: Data provider using MindooDB.iterateChangesSince
9
9
  * - VirtualViewFactory: Builder pattern for easy view construction
10
10
  *
11
11
  * Example usage:
@@ -6,7 +6,7 @@
6
6
  * - VirtualView: Main class for creating categorized, sorted views
7
7
  * - VirtualViewColumn: Column definitions with sorting, categories, and totals
8
8
  * - VirtualViewNavigator: Navigation through the view tree structure
9
- * - MindooDBVirtualViewDataProvider: Data provider using MindooDB.processChangesSince
9
+ * - MindooDBVirtualViewDataProvider: Data provider using MindooDB.iterateChangesSince
10
10
  * - VirtualViewFactory: Builder pattern for easy view construction
11
11
  *
12
12
  * Example usage:
@@ -1,5 +1,7 @@
1
1
  import { EncryptedPrivateKey } from "../types";
2
+ import { KeyType } from "./KeyContext";
2
3
  import { CryptoAdapter } from "../crypto/CryptoAdapter";
4
+ import { Logger } from "../logging";
3
5
  /**
4
6
  * The KeyBag is used to store encryption keys that the current user has access to
5
7
  * in order to decrypt document changes stored in the AppendOnlyStore.
@@ -10,14 +12,16 @@ export declare class KeyBag {
10
12
  private userEncryptionKeyPassword;
11
13
  private keys;
12
14
  private cryptoAdapter;
15
+ private logger;
13
16
  /**
14
17
  * Creates a new KeyBag instance.
15
18
  *
16
19
  * @param userEncryptionKey The encrypted user encryption key
17
20
  * @param userEncryptionKeyPassword The password to decrypt the user encryption key
18
21
  * @param cryptoAdapter The crypto adapter to use for encryption and decryption
22
+ * @param logger Optional logger instance
19
23
  */
20
- constructor(userEncryptionKey: EncryptedPrivateKey, userEncryptionKeyPassword: string, cryptoAdapter: CryptoAdapter);
24
+ constructor(userEncryptionKey: EncryptedPrivateKey, userEncryptionKeyPassword: string, cryptoAdapter: CryptoAdapter, logger?: Logger);
21
25
  /**
22
26
  * Reads a key from the key bag.
23
27
  * Returns the newest key (based on createdAt) or the first key if no timestamps are available.
@@ -25,7 +29,7 @@ export declare class KeyBag {
25
29
  * @param keyId The ID of the key to read
26
30
  * @return The exported key, or null if not found
27
31
  */
28
- get(keyId: string): Promise<Uint8Array | null>;
32
+ get(type: KeyType, id: string): Promise<Uint8Array | null>;
29
33
  /**
30
34
  * Gets all keys for a given keyId, sorted by createdAt (newest first).
31
35
  * Useful for trying multiple keys during decryption (key rotation support).
@@ -33,7 +37,7 @@ export declare class KeyBag {
33
37
  * @param keyId The ID of the keys to read
34
38
  * @return Array of keys sorted by createdAt (newest first), or empty array if not found
35
39
  */
36
- getAllKeys(keyId: string): Promise<Uint8Array[]>;
40
+ getAllKeys(type: KeyType, id: string): Promise<Uint8Array[]>;
37
41
  /**
38
42
  * Sets a key in the key bag.
39
43
  * Adds the key to the array of keys for this keyId (supports key rotation).
@@ -42,42 +46,57 @@ export declare class KeyBag {
42
46
  * @param key The key bytes
43
47
  * @param createdAt Optional creation timestamp (milliseconds since Unix epoch)
44
48
  */
45
- set(keyId: string, key: Uint8Array, createdAt?: number): Promise<void>;
49
+ set(type: KeyType, id: string, key: Uint8Array, createdAt?: number): Promise<void>;
50
+ /**
51
+ * Creates a new tenant symmetric key (AES-256) and stores it directly in this KeyBag.
52
+ * This avoids temporary password-wrapped key blobs when the key is only needed locally.
53
+ */
54
+ createTenantKey(tenantId: string, createdAt?: number): Promise<void>;
55
+ /**
56
+ * Creates a new document symmetric key (AES-256) and stores it directly in this KeyBag.
57
+ * This avoids temporary password-wrapped key blobs when the key is only needed locally.
58
+ */
59
+ createDocKey(keyId: string, createdAt?: number): Promise<void>;
46
60
  /**
47
61
  * Decrypts an encrypted private key with the given password and imports it into the key bag.
48
62
  * Adds the key to the array of keys for this keyId (supports key rotation).
49
63
  *
50
- * @param keyId The ID to store the decrypted key under
64
+ * @param type The key type ("tenant" | "doc")
65
+ * @param id The key identifier (tenantId or doc keyId)
51
66
  * @param key The encrypted private key to decrypt
52
67
  * @param password The password to decrypt the key
53
- * @param saltString Optional salt string for key derivation. Defaults to "default".
54
- * Use "default" for keys created by createSymmetricEncryptedPrivateKey.
55
- * Keys exported via encryptAndExportKey use keyId as salt, so pass keyId explicitly.
56
68
  * @return A promise that resolves when the key is decrypted and stored
57
69
  */
58
- decryptAndImportKey(keyId: string, key: EncryptedPrivateKey, password: string, saltString?: string): Promise<void>;
70
+ decryptAndImportKey(type: KeyType, id: string, key: EncryptedPrivateKey, password: string): Promise<void>;
59
71
  /**
60
72
  * Encrypts a key from the key bag with the given password and exports it as an EncryptedPrivateKey.
61
73
  * Returns the newest key (based on createdAt) or the first key if no timestamps are available.
62
74
  *
63
- * @param keyId The ID of the key to encrypt and export
75
+ * @param type The key type ("tenant" | "doc")
76
+ * @param id The key identifier (tenantId or doc keyId)
64
77
  * @param password The password to encrypt the key with
65
78
  * @return A promise that resolves to the encrypted private key, or null if the key is not found
66
79
  */
67
- encryptAndExportKey(keyId: string, password: string): Promise<EncryptedPrivateKey | null>;
80
+ encryptAndExportKey(type: KeyType, id: string, password: string): Promise<EncryptedPrivateKey | null>;
68
81
  /**
69
82
  * Deletes all keys for a given keyId from the key bag.
70
83
  *
71
- * @param keyId The ID of the keys to delete
84
+ * @param type The key type ("tenant" | "doc")
85
+ * @param id The key identifier (tenantId or doc keyId)
72
86
  * @return A promise that resolves when the keys are deleted
73
87
  */
74
- deleteKey(keyId: string): Promise<void>;
88
+ deleteKey(type: KeyType, id: string): Promise<void>;
75
89
  /**
76
90
  * Lists all key IDs in the key bag.
77
91
  *
78
92
  * @return A promise that resolves to an array of key IDs
79
93
  */
80
94
  listKeys(): Promise<string[]>;
95
+ /**
96
+ * Creates an in-memory clone of this KeyBag.
97
+ * The clone contains deep-copied key material and independent key maps.
98
+ */
99
+ clone(): KeyBag;
81
100
  /**
82
101
  * Save the key bag to a binary data blob, encrypted with the user encryption key.
83
102
  *
@@ -100,6 +119,10 @@ export declare class KeyBag {
100
119
  * @returns The decrypted private key as ArrayBuffer
101
120
  */
102
121
  private decryptPrivateKey;
122
+ /**
123
+ * Generates a new AES-256 key and stores raw key bytes in KeyBag.
124
+ */
125
+ private createAndStoreSymmetricKey;
103
126
  /**
104
127
  * Internal method to encrypt a private key using password-based key derivation.
105
128
  * This is the reverse of decryptPrivateKey().
@@ -1 +1 @@
1
- {"version":3,"file":"KeyBag.d.ts","sourceRoot":"","sources":["../../../src/core/keys/KeyBag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAUxD;;;;GAIG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,aAAa,CAAgB;IAErC;;;;;;OAMG;gBACS,iBAAiB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa;IAMnH;;;;;;OAMG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAgBpD;;;;;;OAMG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgBtD;;;;;;;OAOG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5E;;;;;;;;;;;OAWG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxH;;;;;;;OAOG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAgC/F;;;;;OAKG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAInC;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IA2FjC;;;;;OAKG;IACG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuFpD;;;;;;;OAOG;YACW,iBAAiB;IA+D/B;;;;;;;;OAQG;YACW,iBAAiB;IAgF/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAO3B"}
1
+ {"version":3,"file":"KeyBag.d.ts","sourceRoot":"","sources":["../../../src/core/keys/KeyBag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,OAAO,EAA4C,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAoC,MAAM,YAAY,CAAC;AAUtE;;;;GAIG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IAEvB;;;;;;;OAOG;gBACS,iBAAiB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM;IASpI;;;;;;OAMG;IACG,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAiBhE;;;;;;OAMG;IACG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAiBlE;;;;;;;OAOG;IACG,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxF;;;OAGG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1E;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE;;;;;;;;;OASG;IACG,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/G;;;;;;;;OAQG;IACG,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAqC3G;;;;;;OAMG;IACG,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAInC;;;OAGG;IACH,KAAK,IAAI,MAAM;IAsBf;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAgGjC;;;;;OAKG;IACG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA4FpD;;;;;;;OAOG;YACW,iBAAiB;IA+D/B;;OAEG;YACW,0BAA0B;IAkBxC;;;;;;;;OAQG;YACW,iBAAiB;IAmF/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAO3B"}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.KeyBag = void 0;
4
+ const KeyContext_1 = require("./KeyContext");
5
+ const pbkdf2Iterations_1 = require("../crypto/pbkdf2Iterations");
6
+ const logging_1 = require("../logging");
4
7
  /**
5
8
  * The KeyBag is used to store encryption keys that the current user has access to
6
9
  * in order to decrypt document changes stored in the AppendOnlyStore.
@@ -13,12 +16,16 @@ class KeyBag {
13
16
  * @param userEncryptionKey The encrypted user encryption key
14
17
  * @param userEncryptionKeyPassword The password to decrypt the user encryption key
15
18
  * @param cryptoAdapter The crypto adapter to use for encryption and decryption
19
+ * @param logger Optional logger instance
16
20
  */
17
- constructor(userEncryptionKey, userEncryptionKeyPassword, cryptoAdapter) {
21
+ constructor(userEncryptionKey, userEncryptionKeyPassword, cryptoAdapter, logger) {
18
22
  this.keys = new Map();
19
23
  this.userEncryptionKey = userEncryptionKey;
20
24
  this.userEncryptionKeyPassword = userEncryptionKeyPassword;
21
25
  this.cryptoAdapter = cryptoAdapter;
26
+ this.logger =
27
+ logger ||
28
+ new logging_1.MindooLogger((0, logging_1.getDefaultLogLevel)(), "KeyBag", true);
22
29
  }
23
30
  /**
24
31
  * Reads a key from the key bag.
@@ -27,8 +34,9 @@ class KeyBag {
27
34
  * @param keyId The ID of the key to read
28
35
  * @return The exported key, or null if not found
29
36
  */
30
- async get(keyId) {
31
- const keyEntries = this.keys.get(keyId);
37
+ async get(type, id) {
38
+ const scopedKeyId = (0, KeyContext_1.buildScopedKeyId)(type, id);
39
+ const keyEntries = this.keys.get(scopedKeyId);
32
40
  if (!keyEntries || keyEntries.length === 0) {
33
41
  return null;
34
42
  }
@@ -47,8 +55,9 @@ class KeyBag {
47
55
  * @param keyId The ID of the keys to read
48
56
  * @return Array of keys sorted by createdAt (newest first), or empty array if not found
49
57
  */
50
- async getAllKeys(keyId) {
51
- const keyEntries = this.keys.get(keyId);
58
+ async getAllKeys(type, id) {
59
+ const scopedKeyId = (0, KeyContext_1.buildScopedKeyId)(type, id);
60
+ const keyEntries = this.keys.get(scopedKeyId);
52
61
  if (!keyEntries || keyEntries.length === 0) {
53
62
  return [];
54
63
  }
@@ -68,48 +77,64 @@ class KeyBag {
68
77
  * @param key The key bytes
69
78
  * @param createdAt Optional creation timestamp (milliseconds since Unix epoch)
70
79
  */
71
- async set(keyId, key, createdAt) {
72
- const keyEntries = this.keys.get(keyId) || [];
80
+ async set(type, id, key, createdAt) {
81
+ const scopedKeyId = (0, KeyContext_1.buildScopedKeyId)(type, id);
82
+ const keyEntries = this.keys.get(scopedKeyId) || [];
73
83
  keyEntries.push({ key, createdAt });
74
- this.keys.set(keyId, keyEntries);
84
+ this.keys.set(scopedKeyId, keyEntries);
85
+ }
86
+ /**
87
+ * Creates a new tenant symmetric key (AES-256) and stores it directly in this KeyBag.
88
+ * This avoids temporary password-wrapped key blobs when the key is only needed locally.
89
+ */
90
+ async createTenantKey(tenantId, createdAt) {
91
+ await this.createAndStoreSymmetricKey("tenant", tenantId, createdAt);
92
+ }
93
+ /**
94
+ * Creates a new document symmetric key (AES-256) and stores it directly in this KeyBag.
95
+ * This avoids temporary password-wrapped key blobs when the key is only needed locally.
96
+ */
97
+ async createDocKey(keyId, createdAt) {
98
+ await this.createAndStoreSymmetricKey("doc", keyId, createdAt);
75
99
  }
76
100
  /**
77
101
  * Decrypts an encrypted private key with the given password and imports it into the key bag.
78
102
  * Adds the key to the array of keys for this keyId (supports key rotation).
79
103
  *
80
- * @param keyId The ID to store the decrypted key under
104
+ * @param type The key type ("tenant" | "doc")
105
+ * @param id The key identifier (tenantId or doc keyId)
81
106
  * @param key The encrypted private key to decrypt
82
107
  * @param password The password to decrypt the key
83
- * @param saltString Optional salt string for key derivation. Defaults to "default".
84
- * Use "default" for keys created by createSymmetricEncryptedPrivateKey.
85
- * Keys exported via encryptAndExportKey use keyId as salt, so pass keyId explicitly.
86
108
  * @return A promise that resolves when the key is decrypted and stored
87
109
  */
88
- async decryptAndImportKey(keyId, key, password, saltString) {
89
- const salt = saltString ?? "default";
110
+ async decryptAndImportKey(type, id, key, password) {
111
+ const salt = (0, KeyContext_1.buildKeyDerivationSalt)(type, id);
112
+ const scopedKeyId = (0, KeyContext_1.buildScopedKeyId)(type, id);
90
113
  const decryptedKeyBytes = await this.decryptPrivateKey(key, password, salt);
91
- const keyEntries = this.keys.get(keyId) || [];
114
+ const keyEntries = this.keys.get(scopedKeyId) || [];
92
115
  keyEntries.push({
93
116
  key: new Uint8Array(decryptedKeyBytes),
94
117
  createdAt: key.createdAt
95
118
  });
96
- this.keys.set(keyId, keyEntries);
119
+ this.keys.set(scopedKeyId, keyEntries);
97
120
  }
98
121
  /**
99
122
  * Encrypts a key from the key bag with the given password and exports it as an EncryptedPrivateKey.
100
123
  * Returns the newest key (based on createdAt) or the first key if no timestamps are available.
101
124
  *
102
- * @param keyId The ID of the key to encrypt and export
125
+ * @param type The key type ("tenant" | "doc")
126
+ * @param id The key identifier (tenantId or doc keyId)
103
127
  * @param password The password to encrypt the key with
104
128
  * @return A promise that resolves to the encrypted private key, or null if the key is not found
105
129
  */
106
- async encryptAndExportKey(keyId, password) {
107
- const key = await this.get(keyId);
130
+ async encryptAndExportKey(type, id, password) {
131
+ const scopedKeyId = (0, KeyContext_1.buildScopedKeyId)(type, id);
132
+ const key = await this.get(type, id);
108
133
  if (!key) {
109
134
  return null;
110
135
  }
111
136
  // Get the createdAt timestamp from the newest key entry
112
- const keyEntries = this.keys.get(keyId);
137
+ const keyEntries = this.keys.get(scopedKeyId);
113
138
  if (!keyEntries || keyEntries.length === 0) {
114
139
  return null;
115
140
  }
@@ -121,7 +146,7 @@ class KeyBag {
121
146
  });
122
147
  const createdAt = sorted[0].createdAt;
123
148
  // Encrypt the key using the same pattern as decryptPrivateKey
124
- const encryptedKey = await this.encryptPrivateKey(key, password, keyId);
149
+ const encryptedKey = await this.encryptPrivateKey(key, password, (0, KeyContext_1.buildKeyDerivationSalt)(type, id));
125
150
  // Include the createdAt timestamp if available
126
151
  if (createdAt !== undefined) {
127
152
  encryptedKey.createdAt = createdAt;
@@ -131,11 +156,12 @@ class KeyBag {
131
156
  /**
132
157
  * Deletes all keys for a given keyId from the key bag.
133
158
  *
134
- * @param keyId The ID of the keys to delete
159
+ * @param type The key type ("tenant" | "doc")
160
+ * @param id The key identifier (tenantId or doc keyId)
135
161
  * @return A promise that resolves when the keys are deleted
136
162
  */
137
- async deleteKey(keyId) {
138
- this.keys.delete(keyId);
163
+ async deleteKey(type, id) {
164
+ this.keys.delete((0, KeyContext_1.buildScopedKeyId)(type, id));
139
165
  }
140
166
  /**
141
167
  * Lists all key IDs in the key bag.
@@ -145,13 +171,29 @@ class KeyBag {
145
171
  async listKeys() {
146
172
  return Array.from(this.keys.keys());
147
173
  }
174
+ /**
175
+ * Creates an in-memory clone of this KeyBag.
176
+ * The clone contains deep-copied key material and independent key maps.
177
+ */
178
+ clone() {
179
+ const clonedUserEncryptionKey = { ...this.userEncryptionKey };
180
+ const cloned = new KeyBag(clonedUserEncryptionKey, this.userEncryptionKeyPassword, this.cryptoAdapter, this.logger);
181
+ cloned.keys = new Map(Array.from(this.keys.entries()).map(([scopedKeyId, entries]) => [
182
+ scopedKeyId,
183
+ entries.map((entry) => ({
184
+ key: new Uint8Array(entry.key),
185
+ createdAt: entry.createdAt,
186
+ })),
187
+ ]));
188
+ return cloned;
189
+ }
148
190
  /**
149
191
  * Save the key bag to a binary data blob, encrypted with the user encryption key.
150
192
  *
151
193
  * @return A promise that resolves to the encrypted binary data (Uint8Array)
152
194
  */
153
195
  async save() {
154
- console.log(`[KeyBag] Saving key bag with ${this.keys.size} keys`);
196
+ this.logger.debug(`Saving key bag with ${this.keys.size} keys`);
155
197
  // Serialize the map to JSON and convert to Uint8Array
156
198
  // Convert Uint8Array values to base64 strings for JSON serialization
157
199
  // Support multiple keys per keyId with createdAt timestamps
@@ -178,11 +220,15 @@ class KeyBag {
178
220
  // Use the user's password as input for PBKDF2
179
221
  const passwordInput = new TextEncoder().encode(`${this.userEncryptionKeyPassword}:key-bag-encryption`);
180
222
  const passwordKey = await subtle.importKey("raw", passwordInput, "PBKDF2", false, ["deriveKey"]);
223
+ const keyBagIterations = (0, pbkdf2Iterations_1.resolvePbkdf2Iterations)(pbkdf2Iterations_1.DEFAULT_PBKDF2_ITERATIONS);
224
+ if (keyBagIterations !== pbkdf2Iterations_1.DEFAULT_PBKDF2_ITERATIONS) {
225
+ this.logger.warn(`Using overridden PBKDF2 iterations for KeyBag.save(): ${keyBagIterations}`);
226
+ }
181
227
  // Derive AES-GCM key using PBKDF2
182
228
  const derivedKey = await subtle.deriveKey({
183
229
  name: "PBKDF2",
184
230
  salt: combinedSalt,
185
- iterations: 310000, // OWASP-recommended PBKDF2 iterations for PBKDF2-SHA256
231
+ iterations: keyBagIterations,
186
232
  hash: "SHA-256",
187
233
  }, passwordKey, {
188
234
  name: "AES-GCM",
@@ -209,7 +255,7 @@ class KeyBag {
209
255
  result.set(iv, 0);
210
256
  result.set(tag, 12);
211
257
  result.set(ciphertext, 12 + 16);
212
- console.log(`[KeyBag] Saved key bag (${plaintext.length} -> ${result.length} bytes)`);
258
+ this.logger.debug(`Saved key bag (${plaintext.length} -> ${result.length} bytes)`);
213
259
  return result;
214
260
  }
215
261
  /**
@@ -219,7 +265,7 @@ class KeyBag {
219
265
  * @return A promise that resolves when the keys are loaded
220
266
  */
221
267
  async load(encryptedData) {
222
- console.log(`[KeyBag] Loading key bag`);
268
+ this.logger.debug(`Loading key bag`);
223
269
  if (encryptedData.length < 28) {
224
270
  throw new Error("Encrypted data too short (missing IV and tag)");
225
271
  }
@@ -238,11 +284,15 @@ class KeyBag {
238
284
  // Use the user's password as input for PBKDF2 (same as encryption)
239
285
  const passwordInput = new TextEncoder().encode(`${this.userEncryptionKeyPassword}:key-bag-encryption`);
240
286
  const passwordKey = await subtle.importKey("raw", passwordInput, "PBKDF2", false, ["deriveKey"]);
287
+ const keyBagIterations = (0, pbkdf2Iterations_1.resolvePbkdf2Iterations)(pbkdf2Iterations_1.DEFAULT_PBKDF2_ITERATIONS);
288
+ if (keyBagIterations !== pbkdf2Iterations_1.DEFAULT_PBKDF2_ITERATIONS) {
289
+ this.logger.warn(`Using overridden PBKDF2 iterations for KeyBag.load(): ${keyBagIterations}`);
290
+ }
241
291
  // Derive AES-GCM key using PBKDF2 (same parameters as encryption)
242
292
  const derivedKey = await subtle.deriveKey({
243
293
  name: "PBKDF2",
244
294
  salt: combinedSalt,
245
- iterations: 310000, // OWASP-recommended PBKDF2 iterations for PBKDF2-SHA256
295
+ iterations: keyBagIterations,
246
296
  hash: "SHA-256",
247
297
  }, passwordKey, {
248
298
  name: "AES-GCM",
@@ -271,7 +321,7 @@ class KeyBag {
271
321
  createdAt: entry.createdAt
272
322
  }))
273
323
  ]));
274
- console.log(`[KeyBag] Loaded key bag (${encryptedData.length} -> ${this.keys.size} keys)`);
324
+ this.logger.debug(`Loaded key bag (${encryptedData.length} -> ${this.keys.size} keys)`);
275
325
  }
276
326
  /**
277
327
  * Internal method to decrypt a private key using password-based key derivation.
@@ -316,6 +366,18 @@ class KeyBag {
316
366
  }, derivedKey, encryptedData.buffer);
317
367
  return decrypted;
318
368
  }
369
+ /**
370
+ * Generates a new AES-256 key and stores raw key bytes in KeyBag.
371
+ */
372
+ async createAndStoreSymmetricKey(type, id, createdAt) {
373
+ const subtle = this.cryptoAdapter.getSubtle();
374
+ const key = await subtle.generateKey({
375
+ name: "AES-GCM",
376
+ length: 256,
377
+ }, true, ["encrypt", "decrypt"]);
378
+ const keyMaterial = await subtle.exportKey("raw", key);
379
+ await this.set(type, id, new Uint8Array(keyMaterial), createdAt);
380
+ }
319
381
  /**
320
382
  * Internal method to encrypt a private key using password-based key derivation.
321
383
  * This is the reverse of decryptPrivateKey().
@@ -343,7 +405,10 @@ class KeyBag {
343
405
  combinedSalt.set(saltStringBytes, salt.length);
344
406
  // Derive encryption key from password using PBKDF2
345
407
  const passwordKey = await subtle.importKey("raw", new TextEncoder().encode(password), "PBKDF2", false, ["deriveBits", "deriveKey"]);
346
- const iterations = 310000; // OWASP-recommended PBKDF2 iterations for PBKDF2-SHA256
408
+ const iterations = (0, pbkdf2Iterations_1.resolvePbkdf2Iterations)(pbkdf2Iterations_1.DEFAULT_PBKDF2_ITERATIONS);
409
+ if (iterations !== pbkdf2Iterations_1.DEFAULT_PBKDF2_ITERATIONS) {
410
+ this.logger.warn(`Using overridden PBKDF2 iterations for KeyBag.encryptPrivateKey(): ${iterations}`);
411
+ }
347
412
  const derivedKey = await subtle.deriveKey({
348
413
  name: "PBKDF2",
349
414
  salt: combinedSalt,
@@ -1 +1 @@
1
- {"version":3,"file":"KeyBag.js","sourceRoot":"","sources":["../../../src/core/keys/KeyBag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KeyBag.js","sourceRoot":"","sources":["../../../src/core/keys/KeyBag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export type KeyType = "tenant" | "doc";
2
+ export declare function buildKeyDerivationSalt(type: KeyType, id: string): string;
3
+ export declare function buildScopedKeyId(type: KeyType, id: string): string;
4
+ //# sourceMappingURL=KeyContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyContext.d.ts","sourceRoot":"","sources":["../../../src/core/keys/KeyContext.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEvC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAElE"}