mindoodb 0.0.24 → 0.0.32

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 (340) hide show
  1. package/README-server.md +9 -1
  2. package/README.md +5 -3
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +1 -1
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  5. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +24 -5
  6. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  7. package/dist/appendonlystores/network/HttpTransport.d.ts +14 -2
  8. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  9. package/dist/appendonlystores/network/HttpTransport.js +124 -27
  10. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  11. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +159 -4
  12. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  13. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +334 -25
  14. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  15. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts +9 -0
  16. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts.map +1 -1
  17. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js +77 -5
  18. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js.map +1 -1
  19. package/dist/browser/index.mjs +103 -0
  20. package/dist/core/BaseMindooDB.d.ts +662 -4
  21. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  22. package/dist/core/BaseMindooDB.js +2769 -144
  23. package/dist/core/BaseMindooDB.js.map +1 -1
  24. package/dist/core/BaseMindooTenant.d.ts +192 -1
  25. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  26. package/dist/core/BaseMindooTenant.js +633 -88
  27. package/dist/core/BaseMindooTenant.js.map +1 -1
  28. package/dist/core/BaseMindooTenantDirectory.d.ts +770 -10
  29. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  30. package/dist/core/BaseMindooTenantDirectory.js +2715 -292
  31. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  32. package/dist/core/BaseMindooTenantFactory.d.ts +2 -0
  33. package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
  34. package/dist/core/BaseMindooTenantFactory.js +20 -0
  35. package/dist/core/BaseMindooTenantFactory.js.map +1 -1
  36. package/dist/core/accesscontrol/AccessDeniedError.d.ts +22 -0
  37. package/dist/core/accesscontrol/AccessDeniedError.d.ts.map +1 -0
  38. package/dist/core/accesscontrol/AccessDeniedError.js +28 -0
  39. package/dist/core/accesscontrol/AccessDeniedError.js.map +1 -0
  40. package/dist/core/accesscontrol/DirectoryStateNode.d.ts +220 -0
  41. package/dist/core/accesscontrol/DirectoryStateNode.d.ts.map +1 -0
  42. package/dist/core/accesscontrol/DirectoryStateNode.js +297 -0
  43. package/dist/core/accesscontrol/DirectoryStateNode.js.map +1 -0
  44. package/dist/core/accesscontrol/DirectoryTimeTravelIndex.d.ts +118 -0
  45. package/dist/core/accesscontrol/DirectoryTimeTravelIndex.d.ts.map +1 -0
  46. package/dist/core/accesscontrol/DirectoryTimeTravelIndex.js +173 -0
  47. package/dist/core/accesscontrol/DirectoryTimeTravelIndex.js.map +1 -0
  48. package/dist/core/accesscontrol/directoryProjection.d.ts +26 -0
  49. package/dist/core/accesscontrol/directoryProjection.d.ts.map +1 -0
  50. package/dist/core/accesscontrol/directoryProjection.js +174 -0
  51. package/dist/core/accesscontrol/directoryProjection.js.map +1 -0
  52. package/dist/core/accesscontrol/evaluate.d.ts +77 -0
  53. package/dist/core/accesscontrol/evaluate.d.ts.map +1 -0
  54. package/dist/core/accesscontrol/evaluate.js +206 -0
  55. package/dist/core/accesscontrol/evaluate.js.map +1 -0
  56. package/dist/core/accesscontrol/grantKeys.d.ts +113 -0
  57. package/dist/core/accesscontrol/grantKeys.d.ts.map +1 -0
  58. package/dist/core/accesscontrol/grantKeys.js +302 -0
  59. package/dist/core/accesscontrol/grantKeys.js.map +1 -0
  60. package/dist/core/accesscontrol/keyBagReconciler.d.ts +22 -0
  61. package/dist/core/accesscontrol/keyBagReconciler.d.ts.map +1 -0
  62. package/dist/core/accesscontrol/keyBagReconciler.js +3 -0
  63. package/dist/core/accesscontrol/keyBagReconciler.js.map +1 -0
  64. package/dist/core/accesscontrol/materializationGuard.d.ts +89 -0
  65. package/dist/core/accesscontrol/materializationGuard.d.ts.map +1 -0
  66. package/dist/core/accesscontrol/materializationGuard.js +69 -0
  67. package/dist/core/accesscontrol/materializationGuard.js.map +1 -0
  68. package/dist/core/accesscontrol/quarantine.d.ts +65 -0
  69. package/dist/core/accesscontrol/quarantine.d.ts.map +1 -0
  70. package/dist/core/accesscontrol/quarantine.js +79 -0
  71. package/dist/core/accesscontrol/quarantine.js.map +1 -0
  72. package/dist/core/accesscontrol/receiptValidation.d.ts +113 -0
  73. package/dist/core/accesscontrol/receiptValidation.d.ts.map +1 -0
  74. package/dist/core/accesscontrol/receiptValidation.js +142 -0
  75. package/dist/core/accesscontrol/receiptValidation.js.map +1 -0
  76. package/dist/core/accesscontrol/timestamp/Ed25519WitnessProvider.d.ts +31 -0
  77. package/dist/core/accesscontrol/timestamp/Ed25519WitnessProvider.d.ts.map +1 -0
  78. package/dist/core/accesscontrol/timestamp/Ed25519WitnessProvider.js +66 -0
  79. package/dist/core/accesscontrol/timestamp/Ed25519WitnessProvider.js.map +1 -0
  80. package/dist/core/accesscontrol/timestamp/TimestampProvider.d.ts +79 -0
  81. package/dist/core/accesscontrol/timestamp/TimestampProvider.d.ts.map +1 -0
  82. package/dist/core/accesscontrol/timestamp/TimestampProvider.js +22 -0
  83. package/dist/core/accesscontrol/timestamp/TimestampProvider.js.map +1 -0
  84. package/dist/core/accesscontrol/types.d.ts +825 -0
  85. package/dist/core/accesscontrol/types.d.ts.map +1 -0
  86. package/dist/core/accesscontrol/types.js +534 -0
  87. package/dist/core/accesscontrol/types.js.map +1 -0
  88. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +9 -0
  89. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  90. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +54 -0
  91. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  92. package/dist/core/appendonlystores/network/AuthenticationService.d.ts +38 -2
  93. package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
  94. package/dist/core/appendonlystores/network/AuthenticationService.js +199 -26
  95. package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
  96. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +17 -3
  97. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
  98. package/dist/core/appendonlystores/network/types.d.ts +58 -4
  99. package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
  100. package/dist/core/appendonlystores/network/types.js +4 -0
  101. package/dist/core/appendonlystores/network/types.js.map +1 -1
  102. package/dist/core/appendonlystores/scanUtils.d.ts +27 -0
  103. package/dist/core/appendonlystores/scanUtils.d.ts.map +1 -0
  104. package/dist/core/appendonlystores/scanUtils.js +87 -0
  105. package/dist/core/appendonlystores/scanUtils.js.map +1 -0
  106. package/dist/core/appendonlystores/types.d.ts +23 -2
  107. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  108. package/dist/core/cache/CacheManager.d.ts +13 -3
  109. package/dist/core/cache/CacheManager.d.ts.map +1 -1
  110. package/dist/core/cache/CacheManager.js +7 -4
  111. package/dist/core/cache/CacheManager.js.map +1 -1
  112. package/dist/core/crypto/EntrySignature.d.ts +137 -0
  113. package/dist/core/crypto/EntrySignature.d.ts.map +1 -0
  114. package/dist/core/crypto/EntrySignature.js +210 -0
  115. package/dist/core/crypto/EntrySignature.js.map +1 -0
  116. package/dist/core/crypto/MindooDocSigner.d.ts.map +1 -1
  117. package/dist/core/crypto/MindooDocSigner.js +6 -2
  118. package/dist/core/crypto/MindooDocSigner.js.map +1 -1
  119. package/dist/core/crypto/WitnessReceipt.d.ts +137 -0
  120. package/dist/core/crypto/WitnessReceipt.d.ts.map +1 -0
  121. package/dist/core/crypto/WitnessReceipt.js +182 -0
  122. package/dist/core/crypto/WitnessReceipt.js.map +1 -0
  123. package/dist/core/crypto/encryptedFields.d.ts +27 -0
  124. package/dist/core/crypto/encryptedFields.d.ts.map +1 -0
  125. package/dist/core/crypto/encryptedFields.js +58 -0
  126. package/dist/core/crypto/encryptedFields.js.map +1 -0
  127. package/dist/core/crypto/pbkdf2Iterations.d.ts +12 -0
  128. package/dist/core/crypto/pbkdf2Iterations.d.ts.map +1 -1
  129. package/dist/core/crypto/pbkdf2Iterations.js +23 -0
  130. package/dist/core/crypto/pbkdf2Iterations.js.map +1 -1
  131. package/dist/core/crypto/privateKeyEncryption.d.ts.map +1 -1
  132. package/dist/core/crypto/privateKeyEncryption.js +3 -1
  133. package/dist/core/crypto/privateKeyEncryption.js.map +1 -1
  134. package/dist/core/databaseIdValidation.d.ts +1 -1
  135. package/dist/core/databaseIdValidation.d.ts.map +1 -1
  136. package/dist/core/databaseIdValidation.js +4 -4
  137. package/dist/core/databaseIdValidation.js.map +1 -1
  138. package/dist/core/errors.d.ts +26 -0
  139. package/dist/core/errors.d.ts.map +1 -1
  140. package/dist/core/errors.js +42 -1
  141. package/dist/core/errors.js.map +1 -1
  142. package/dist/core/expressions/builder.d.ts +102 -0
  143. package/dist/core/expressions/builder.d.ts.map +1 -0
  144. package/dist/core/expressions/builder.js +249 -0
  145. package/dist/core/expressions/builder.js.map +1 -0
  146. package/dist/core/expressions/evaluateExpression.d.ts +78 -0
  147. package/dist/core/expressions/evaluateExpression.d.ts.map +1 -0
  148. package/dist/core/expressions/evaluateExpression.js +386 -0
  149. package/dist/core/expressions/evaluateExpression.js.map +1 -0
  150. package/dist/core/expressions/formulaSource.d.ts +24 -0
  151. package/dist/core/expressions/formulaSource.d.ts.map +1 -0
  152. package/dist/core/expressions/formulaSource.js +765 -0
  153. package/dist/core/expressions/formulaSource.js.map +1 -0
  154. package/dist/core/expressions/index.d.ts +8 -0
  155. package/dist/core/expressions/index.d.ts.map +1 -0
  156. package/dist/core/expressions/index.js +46 -0
  157. package/dist/core/expressions/index.js.map +1 -0
  158. package/dist/core/expressions/metadata.d.ts +23 -0
  159. package/dist/core/expressions/metadata.d.ts.map +1 -0
  160. package/dist/core/expressions/metadata.js +191 -0
  161. package/dist/core/expressions/metadata.js.map +1 -0
  162. package/dist/core/expressions/types.d.ts +164 -0
  163. package/dist/core/expressions/types.d.ts.map +1 -0
  164. package/dist/core/expressions/types.js +3 -0
  165. package/dist/core/expressions/types.js.map +1 -0
  166. package/dist/core/extraction/types.d.ts +47 -0
  167. package/dist/core/extraction/types.d.ts.map +1 -0
  168. package/dist/core/extraction/types.js +42 -0
  169. package/dist/core/extraction/types.js.map +1 -0
  170. package/dist/core/index.d.ts +13 -3
  171. package/dist/core/index.d.ts.map +1 -1
  172. package/dist/core/index.js +113 -4
  173. package/dist/core/index.js.map +1 -1
  174. package/dist/core/indexing/createViewDataProvider.d.ts +84 -0
  175. package/dist/core/indexing/createViewDataProvider.d.ts.map +1 -0
  176. package/dist/core/indexing/createViewDataProvider.js +139 -0
  177. package/dist/core/indexing/createViewDataProvider.js.map +1 -0
  178. package/dist/core/indexing/fulltext/DocumentFullTextIndex.d.ts +180 -0
  179. package/dist/core/indexing/fulltext/DocumentFullTextIndex.d.ts.map +1 -0
  180. package/dist/core/indexing/fulltext/DocumentFullTextIndex.js +548 -0
  181. package/dist/core/indexing/fulltext/DocumentFullTextIndex.js.map +1 -0
  182. package/dist/core/indexing/fulltext/SearchEngineAdapter.d.ts +69 -0
  183. package/dist/core/indexing/fulltext/SearchEngineAdapter.d.ts.map +1 -0
  184. package/dist/core/indexing/fulltext/SearchEngineAdapter.js +183 -0
  185. package/dist/core/indexing/fulltext/SearchEngineAdapter.js.map +1 -0
  186. package/dist/core/indexing/fulltext/extractFulltextText.d.ts +34 -0
  187. package/dist/core/indexing/fulltext/extractFulltextText.d.ts.map +1 -0
  188. package/dist/core/indexing/fulltext/extractFulltextText.js +129 -0
  189. package/dist/core/indexing/fulltext/extractFulltextText.js.map +1 -0
  190. package/dist/core/indexing/fulltext/index.d.ts +5 -0
  191. package/dist/core/indexing/fulltext/index.d.ts.map +1 -0
  192. package/dist/core/indexing/fulltext/index.js +20 -0
  193. package/dist/core/indexing/fulltext/index.js.map +1 -0
  194. package/dist/core/indexing/fulltext/types.d.ts +168 -0
  195. package/dist/core/indexing/fulltext/types.d.ts.map +1 -0
  196. package/dist/core/indexing/fulltext/types.js +89 -0
  197. package/dist/core/indexing/fulltext/types.js.map +1 -0
  198. package/dist/core/indexing/summary/DocumentSummaryStore.d.ts +137 -0
  199. package/dist/core/indexing/summary/DocumentSummaryStore.d.ts.map +1 -0
  200. package/dist/core/indexing/summary/DocumentSummaryStore.js +438 -0
  201. package/dist/core/indexing/summary/DocumentSummaryStore.js.map +1 -0
  202. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.d.ts +72 -0
  203. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.d.ts.map +1 -0
  204. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js +221 -0
  205. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js.map +1 -0
  206. package/dist/core/indexing/summary/extractSummaryFields.d.ts +75 -0
  207. package/dist/core/indexing/summary/extractSummaryFields.d.ts.map +1 -0
  208. package/dist/core/indexing/summary/extractSummaryFields.js +266 -0
  209. package/dist/core/indexing/summary/extractSummaryFields.js.map +1 -0
  210. package/dist/core/indexing/summary/index.d.ts +5 -0
  211. package/dist/core/indexing/summary/index.d.ts.map +1 -0
  212. package/dist/core/indexing/summary/index.js +23 -0
  213. package/dist/core/indexing/summary/index.js.map +1 -0
  214. package/dist/core/indexing/summary/types.d.ts +119 -0
  215. package/dist/core/indexing/summary/types.d.ts.map +1 -0
  216. package/dist/core/indexing/summary/types.js +81 -0
  217. package/dist/core/indexing/summary/types.js.map +1 -0
  218. package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.d.ts +47 -1
  219. package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.d.ts.map +1 -1
  220. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +24 -8
  221. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -1
  222. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +96 -41
  223. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
  224. package/dist/core/indexing/virtualviews/ViewEntrySortKey.d.ts +2 -0
  225. package/dist/core/indexing/virtualviews/ViewEntrySortKey.d.ts.map +1 -1
  226. package/dist/core/indexing/virtualviews/ViewEntrySortKey.js +8 -3
  227. package/dist/core/indexing/virtualviews/ViewEntrySortKey.js.map +1 -1
  228. package/dist/core/indexing/virtualviews/VirtualView.d.ts +111 -5
  229. package/dist/core/indexing/virtualviews/VirtualView.d.ts.map +1 -1
  230. package/dist/core/indexing/virtualviews/VirtualView.js +266 -75
  231. package/dist/core/indexing/virtualviews/VirtualView.js.map +1 -1
  232. package/dist/core/indexing/virtualviews/VirtualViewColumn.d.ts +12 -0
  233. package/dist/core/indexing/virtualviews/VirtualViewColumn.d.ts.map +1 -1
  234. package/dist/core/indexing/virtualviews/VirtualViewColumn.js +1 -0
  235. package/dist/core/indexing/virtualviews/VirtualViewColumn.js.map +1 -1
  236. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts +12 -0
  237. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts.map +1 -1
  238. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js +66 -5
  239. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js.map +1 -1
  240. package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts +50 -6
  241. package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts.map +1 -1
  242. package/dist/core/indexing/virtualviews/VirtualViewFactory.js +54 -12
  243. package/dist/core/indexing/virtualviews/VirtualViewFactory.js.map +1 -1
  244. package/dist/core/indexing/virtualviews/index.d.ts +3 -3
  245. package/dist/core/indexing/virtualviews/index.d.ts.map +1 -1
  246. package/dist/core/indexing/virtualviews/index.js.map +1 -1
  247. package/dist/core/indexing/virtualviews/types.d.ts +6 -0
  248. package/dist/core/indexing/virtualviews/types.d.ts.map +1 -1
  249. package/dist/core/indexing/virtualviews/types.js +11 -3
  250. package/dist/core/indexing/virtualviews/types.js.map +1 -1
  251. package/dist/core/keys/KeyBag.d.ts +25 -0
  252. package/dist/core/keys/KeyBag.d.ts.map +1 -1
  253. package/dist/core/keys/KeyBag.js +37 -1
  254. package/dist/core/keys/KeyBag.js.map +1 -1
  255. package/dist/core/query/executeQuery.d.ts +18 -0
  256. package/dist/core/query/executeQuery.d.ts.map +1 -0
  257. package/dist/core/query/executeQuery.js +313 -0
  258. package/dist/core/query/executeQuery.js.map +1 -0
  259. package/dist/core/query/index.d.ts +5 -0
  260. package/dist/core/query/index.d.ts.map +1 -0
  261. package/dist/core/query/index.js +14 -0
  262. package/dist/core/query/index.js.map +1 -0
  263. package/dist/core/query/queryLive.d.ts +27 -0
  264. package/dist/core/query/queryLive.d.ts.map +1 -0
  265. package/dist/core/query/queryLive.js +104 -0
  266. package/dist/core/query/queryLive.js.map +1 -0
  267. package/dist/core/query/queryView.d.ts +156 -0
  268. package/dist/core/query/queryView.d.ts.map +1 -0
  269. package/dist/core/query/queryView.js +266 -0
  270. package/dist/core/query/queryView.js.map +1 -0
  271. package/dist/core/query/types.d.ts +121 -0
  272. package/dist/core/query/types.d.ts.map +1 -0
  273. package/dist/core/query/types.js +18 -0
  274. package/dist/core/query/types.js.map +1 -0
  275. package/dist/core/storeEntryTime.d.ts +57 -0
  276. package/dist/core/storeEntryTime.d.ts.map +1 -0
  277. package/dist/core/storeEntryTime.js +72 -0
  278. package/dist/core/storeEntryTime.js.map +1 -0
  279. package/dist/core/types.d.ts +1371 -34
  280. package/dist/core/types.d.ts.map +1 -1
  281. package/dist/core/types.js +13 -1
  282. package/dist/core/types.js.map +1 -1
  283. package/dist/core/uri/MindooURI.d.ts +53 -1
  284. package/dist/core/uri/MindooURI.d.ts.map +1 -1
  285. package/dist/core/uri/MindooURI.js +135 -0
  286. package/dist/core/uri/MindooURI.js.map +1 -1
  287. package/dist/core/utils/urlSafety.d.ts +46 -0
  288. package/dist/core/utils/urlSafety.d.ts.map +1 -0
  289. package/dist/core/utils/urlSafety.js +144 -0
  290. package/dist/core/utils/urlSafety.js.map +1 -0
  291. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +14 -0
  292. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
  293. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +95 -4
  294. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
  295. package/dist/node/server/CapabilityMatcher.d.ts +10 -0
  296. package/dist/node/server/CapabilityMatcher.d.ts.map +1 -1
  297. package/dist/node/server/CapabilityMatcher.js +14 -2
  298. package/dist/node/server/CapabilityMatcher.js.map +1 -1
  299. package/dist/node/server/MindooDBServer.d.ts.map +1 -1
  300. package/dist/node/server/MindooDBServer.js +117 -8
  301. package/dist/node/server/MindooDBServer.js.map +1 -1
  302. package/dist/node/server/PurgedDocRegistry.d.ts +32 -0
  303. package/dist/node/server/PurgedDocRegistry.d.ts.map +1 -0
  304. package/dist/node/server/PurgedDocRegistry.js +94 -0
  305. package/dist/node/server/PurgedDocRegistry.js.map +1 -0
  306. package/dist/node/server/ServerSync.d.ts.map +1 -1
  307. package/dist/node/server/ServerSync.js +5 -2
  308. package/dist/node/server/ServerSync.js.map +1 -1
  309. package/dist/node/server/SystemAdminAuth.d.ts +10 -0
  310. package/dist/node/server/SystemAdminAuth.d.ts.map +1 -1
  311. package/dist/node/server/SystemAdminAuth.js +25 -0
  312. package/dist/node/server/SystemAdminAuth.js.map +1 -1
  313. package/dist/node/server/TenantManager.d.ts +95 -1
  314. package/dist/node/server/TenantManager.d.ts.map +1 -1
  315. package/dist/node/server/TenantManager.js +382 -15
  316. package/dist/node/server/TenantManager.js.map +1 -1
  317. package/dist/node/server/config.d.ts.map +1 -1
  318. package/dist/node/server/config.js +5 -1
  319. package/dist/node/server/config.js.map +1 -1
  320. package/dist/node/server/types.d.ts +29 -3
  321. package/dist/node/server/types.d.ts.map +1 -1
  322. package/dist/node/server/types.js +12 -0
  323. package/dist/node/server/types.js.map +1 -1
  324. package/dist/node/server/validation.d.ts +6 -0
  325. package/dist/node/server/validation.d.ts.map +1 -1
  326. package/dist/node/server/validation.js +7 -1
  327. package/dist/node/server/validation.js.map +1 -1
  328. package/package.json +4 -3
  329. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.d.ts +0 -8
  330. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.d.ts.map +0 -1
  331. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.js +0 -16
  332. package/dist/appendonlystores/BasicOnDiskContentAddressedStoreFactory.js.map +0 -1
  333. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +0 -68
  334. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +0 -1
  335. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.js +0 -659
  336. package/dist/core/appendonlystores/BasicOnDiskContentAddressedStore.js.map +0 -1
  337. package/dist/node/attachments/writeAttachmentToFile.d.ts +0 -15
  338. package/dist/node/attachments/writeAttachmentToFile.d.ts.map +0 -1
  339. package/dist/node/attachments/writeAttachmentToFile.js +0 -73
  340. package/dist/node/attachments/writeAttachmentToFile.js.map +0 -1
@@ -0,0 +1,31 @@
1
+ import type { WitnessSigner } from "../../crypto/WitnessReceipt";
2
+ import { StampedReceipt, TimestampProvider, TimestampStampContext, TimestampVerifier, TimestampableEntry } from "./TimestampProvider";
3
+ /**
4
+ * The v1 {@link TimestampProvider}: an Ed25519 receipt stamped by a trusted sync
5
+ * server ("witness", docs/accesscontrol.md §5). This is a thin facade over the
6
+ * existing primitives — {@link stampEntryReceipt} on the issue side and
7
+ * {@link WitnessReceiptValidator} on the verify side — so behavior is identical
8
+ * to the pre-abstraction code; the seam exists only so other schemes (e.g. an
9
+ * RFC 3161 TSA) can be added later without touching call sites.
10
+ */
11
+ export declare class Ed25519WitnessProvider implements TimestampProvider {
12
+ readonly kind = "ed25519-witness";
13
+ /** The witness signing identity; undefined for a verify-only provider (clients). */
14
+ private readonly signer?;
15
+ private readonly subtle;
16
+ /**
17
+ * @param opts.signer The witness identity used to stamp receipts. Omit on
18
+ * clients that only verify.
19
+ * @param opts.subtle WebCrypto used for signing/verifying. When a signer is
20
+ * provided this is typically `signer.subtle`.
21
+ */
22
+ constructor(opts: {
23
+ signer?: WitnessSigner;
24
+ subtle: SubtleCrypto;
25
+ });
26
+ get issuerPublicKey(): string | undefined;
27
+ get canStamp(): boolean;
28
+ stamp(entry: TimestampableEntry, ctx: TimestampStampContext): Promise<StampedReceipt>;
29
+ createVerifier(initialLastSeen?: Map<string, number>): TimestampVerifier;
30
+ }
31
+ //# sourceMappingURL=Ed25519WitnessProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ed25519WitnessProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/accesscontrol/timestamp/Ed25519WitnessProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAIjE,OAAO,EAEL,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;GAOG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,QAAQ,CAAC,IAAI,qBAA0B;IAEvC,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC;;;;;OAKG;gBACS,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE;IAKlE,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAEK,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ3F,cAAc,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB;CAGzE"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Ed25519WitnessProvider = void 0;
4
+ const WitnessReceipt_1 = require("../../crypto/WitnessReceipt");
5
+ const receiptValidation_1 = require("../receiptValidation");
6
+ const TimestampProvider_1 = require("./TimestampProvider");
7
+ /**
8
+ * The v1 {@link TimestampProvider}: an Ed25519 receipt stamped by a trusted sync
9
+ * server ("witness", docs/accesscontrol.md §5). This is a thin facade over the
10
+ * existing primitives — {@link stampEntryReceipt} on the issue side and
11
+ * {@link WitnessReceiptValidator} on the verify side — so behavior is identical
12
+ * to the pre-abstraction code; the seam exists only so other schemes (e.g. an
13
+ * RFC 3161 TSA) can be added later without touching call sites.
14
+ */
15
+ class Ed25519WitnessProvider {
16
+ /**
17
+ * @param opts.signer The witness identity used to stamp receipts. Omit on
18
+ * clients that only verify.
19
+ * @param opts.subtle WebCrypto used for signing/verifying. When a signer is
20
+ * provided this is typically `signer.subtle`.
21
+ */
22
+ constructor(opts) {
23
+ this.kind = TimestampProvider_1.ED25519_WITNESS_SCHEME;
24
+ this.signer = opts.signer;
25
+ this.subtle = opts.subtle;
26
+ }
27
+ get issuerPublicKey() {
28
+ return this.signer?.publicKeyPem;
29
+ }
30
+ get canStamp() {
31
+ return this.signer !== undefined;
32
+ }
33
+ async stamp(entry, ctx) {
34
+ if (!this.signer) {
35
+ throw new Error("Ed25519WitnessProvider.stamp called on a verify-only provider (no signer configured)");
36
+ }
37
+ const stamp = await (0, WitnessReceipt_1.stampEntryReceipt)(entry, ctx, this.signer);
38
+ return { ...stamp, receiptScheme: this.kind };
39
+ }
40
+ createVerifier(initialLastSeen) {
41
+ return new Ed25519WitnessVerifier(this.subtle, initialLastSeen);
42
+ }
43
+ }
44
+ exports.Ed25519WitnessProvider = Ed25519WitnessProvider;
45
+ /**
46
+ * Verifier adapter for {@link Ed25519WitnessProvider}. Wraps a
47
+ * {@link WitnessReceiptValidator} (which carries the per-witness `receivedAt`
48
+ * monotonicity state, §5.4) and first guards on the receipt scheme tag: with no
49
+ * router yet, a receipt declaring any other scheme is cleanly rejected rather
50
+ * than misinterpreted as Ed25519.
51
+ */
52
+ class Ed25519WitnessVerifier {
53
+ constructor(subtle, initialLastSeen) {
54
+ this.subtle = subtle;
55
+ this.inner = new receiptValidation_1.WitnessReceiptValidator(initialLastSeen);
56
+ }
57
+ async validate(entry, ctx) {
58
+ // Absence means the default Ed25519 witness scheme (legacy entries predate
59
+ // the tag). Any explicit, non-Ed25519 scheme cannot be verified here.
60
+ if (entry.receiptScheme !== undefined && entry.receiptScheme !== TimestampProvider_1.ED25519_WITNESS_SCHEME) {
61
+ return { ok: false, reason: `unsupported receipt scheme: ${entry.receiptScheme}` };
62
+ }
63
+ return this.inner.validate(entry, ctx, this.subtle);
64
+ }
65
+ }
66
+ //# sourceMappingURL=Ed25519WitnessProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ed25519WitnessProvider.js","sourceRoot":"","sources":["../../../../src/core/accesscontrol/timestamp/Ed25519WitnessProvider.ts"],"names":[],"mappings":";;;AAEA,gEAAgE;AAChE,4DAA+D;AAE/D,2DAO6B;AAE7B;;;;;;;GAOG;AACH,MAAa,sBAAsB;IAOjC;;;;;OAKG;IACH,YAAY,IAAsD;QAZzD,SAAI,GAAG,0CAAsB,CAAC;QAarC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAyB,EAAE,GAA0B;QAC/D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAA,kCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,cAAc,CAAC,eAAqC;QAClD,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAClE,CAAC;CACF;AArCD,wDAqCC;AAED;;;;;;GAMG;AACH,MAAM,sBAAsB;IAG1B,YAA6B,MAAoB,EAAE,eAAqC;QAA3D,WAAM,GAAN,MAAM,CAAc;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,2CAAuB,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAyB,EAAE,GAA6B;QACrE,2EAA2E;QAC3E,sEAAsE;QACtE,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,0CAAsB,EAAE,CAAC;YACxF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,+BAA+B,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;QACrF,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;CACF"}
@@ -0,0 +1,79 @@
1
+ import { StoreEntryMetadata } from "../../types";
2
+ import type { StampedWitnessFields } from "../../crypto/WitnessReceipt";
3
+ import type { ReceiptValidationContext, ReceiptValidationResult } from "../receiptValidation";
4
+ /**
5
+ * Pluggable trusted-time / receipt provider seam (docs/accesscontrol.md §5, §13).
6
+ *
7
+ * The trusted time of an entry (`receivedAt`, used for all access-control
8
+ * time-travel evaluation) is attested by a {@link TimestampProvider}. v1 ships a
9
+ * single implementation, the Ed25519 sync-server witness
10
+ * (`Ed25519WitnessProvider`), but the abstraction exists so an alternative such
11
+ * as an RFC 3161 Time-Stamping Authority (TSA) can later plug into BOTH sides:
12
+ * - the **issue** side: a server stamps an accepted entry ({@link TimestampProvider.stamp}), and
13
+ * - the **verify** side: a receiver validates the receipt ({@link TimestampVerifier}).
14
+ *
15
+ * Each scheme tags its receipts with a stable {@link TimestampProvider.kind}
16
+ * value, persisted on the entry as `receiptScheme`, so receipts can later be
17
+ * routed to the right verifier. Absence of `receiptScheme` means the default
18
+ * Ed25519 witness scheme (the only scheme that existed before this field).
19
+ */
20
+ /** Stable identifier of the Ed25519 sync-server witness scheme (§5). */
21
+ export declare const ED25519_WITNESS_SCHEME = "ed25519-witness";
22
+ /**
23
+ * The subset of an entry's metadata a provider needs in order to stamp a
24
+ * receipt. Mirrors the fields bound by the witness signing layout (§5.2).
25
+ */
26
+ export type TimestampableEntry = Pick<StoreEntryMetadata, "entryType" | "contentHash" | "id" | "docId" | "decryptionKeyId" | "createdAt" | "createdByPublicKey">;
27
+ /** Context the provider needs to stamp a receipt onto an accepted entry. */
28
+ export interface TimestampStampContext {
29
+ /** Database id the entry is accepted/witnessed under (bound into the receipt). */
30
+ dbid: string;
31
+ /** Provider-assigned acceptance time (ms epoch). */
32
+ receivedAt: number;
33
+ }
34
+ /**
35
+ * The fields a provider writes onto an accepted entry: the existing witness
36
+ * receipt fields plus the {@link TimestampProvider.kind} discriminator
37
+ * (`receiptScheme`). Merging this into an entry's metadata produces a stamped
38
+ * entry.
39
+ */
40
+ export interface StampedReceipt extends StampedWitnessFields {
41
+ /** The scheme that produced this receipt (equals the provider's `kind`). */
42
+ receiptScheme: string;
43
+ }
44
+ /**
45
+ * A stateful verifier for a single materialization pass. Implementations may
46
+ * carry per-issuer high-water marks (e.g. the Ed25519 per-witness `receivedAt`
47
+ * monotonicity, §5.4), so one verifier should be used per materialization.
48
+ */
49
+ export interface TimestampVerifier {
50
+ /**
51
+ * Validate the receipt on an entry. Returns `{ ok: true, noReceipt: true }`
52
+ * for entries that carry no receipt (local, not-yet-synced). Never throws for
53
+ * an invalid receipt — returns `{ ok: false, reason }` so the caller can
54
+ * quarantine.
55
+ */
56
+ validate(entry: StoreEntryMetadata, ctx: ReceiptValidationContext): Promise<ReceiptValidationResult>;
57
+ }
58
+ /**
59
+ * Issues and verifies trusted-time receipts for one timestamping scheme. A
60
+ * single instance can be verify-only (no issuing identity configured) or able
61
+ * to both issue and verify.
62
+ */
63
+ export interface TimestampProvider {
64
+ /** Stable scheme identifier written onto receipts as `receiptScheme`. */
65
+ readonly kind: string;
66
+ /**
67
+ * The public identity of the issuer (e.g. the witness public key, PEM), or
68
+ * undefined for a verify-only provider. Used to advertise capability and to
69
+ * skip self-witnessing (a server need not witness its own entries).
70
+ */
71
+ readonly issuerPublicKey?: string;
72
+ /** Whether this provider can issue (stamp) receipts. */
73
+ readonly canStamp: boolean;
74
+ /** Stamp a receipt onto an accepted entry (issue side). Throws if it cannot stamp. */
75
+ stamp(entry: TimestampableEntry, ctx: TimestampStampContext): Promise<StampedReceipt>;
76
+ /** Create a stateful verifier for a single materialization pass (verify side). */
77
+ createVerifier(initialLastSeen?: Map<string, number>): TimestampVerifier;
78
+ }
79
+ //# sourceMappingURL=TimestampProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimestampProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/accesscontrol/timestamp/TimestampProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE9F;;;;;;;;;;;;;;;GAeG;AAEH,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,oBAAoB,CAAC;AAExD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,kBAAkB,EAClB,WAAW,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,GAAG,iBAAiB,GAAG,WAAW,GAAG,oBAAoB,CACtG,CAAC;AAEF,4EAA4E;AAC5E,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IAC1D,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACtG;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,sFAAsF;IACtF,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACtF,kFAAkF;IAClF,cAAc,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC;CAC1E"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ED25519_WITNESS_SCHEME = void 0;
4
+ /**
5
+ * Pluggable trusted-time / receipt provider seam (docs/accesscontrol.md §5, §13).
6
+ *
7
+ * The trusted time of an entry (`receivedAt`, used for all access-control
8
+ * time-travel evaluation) is attested by a {@link TimestampProvider}. v1 ships a
9
+ * single implementation, the Ed25519 sync-server witness
10
+ * (`Ed25519WitnessProvider`), but the abstraction exists so an alternative such
11
+ * as an RFC 3161 Time-Stamping Authority (TSA) can later plug into BOTH sides:
12
+ * - the **issue** side: a server stamps an accepted entry ({@link TimestampProvider.stamp}), and
13
+ * - the **verify** side: a receiver validates the receipt ({@link TimestampVerifier}).
14
+ *
15
+ * Each scheme tags its receipts with a stable {@link TimestampProvider.kind}
16
+ * value, persisted on the entry as `receiptScheme`, so receipts can later be
17
+ * routed to the right verifier. Absence of `receiptScheme` means the default
18
+ * Ed25519 witness scheme (the only scheme that existed before this field).
19
+ */
20
+ /** Stable identifier of the Ed25519 sync-server witness scheme (§5). */
21
+ exports.ED25519_WITNESS_SCHEME = "ed25519-witness";
22
+ //# sourceMappingURL=TimestampProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimestampProvider.js","sourceRoot":"","sources":["../../../../src/core/accesscontrol/timestamp/TimestampProvider.ts"],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;;GAeG;AAEH,wEAAwE;AAC3D,QAAA,sBAAsB,GAAG,iBAAiB,CAAC"}