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 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/accesscontrol/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,534 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ACL_DOC_HISTORY_PURGE_PREFIX = exports.DOC_HISTORY_PURGE_TYPE = exports.ACL_SYNC_SETUP_POLICY_PREFIX = exports.SYNC_SETUP_POLICY_MODES = exports.SYNC_SETUP_POLICY_TYPE = exports.ACL_APP_DISTRIBUTION_PREFIX = exports.APP_DISTRIBUTION_TYPE = exports.ACL_KEY_DISTRIBUTION_PREFIX = exports.PROTECTED_DISTRIBUTION_KEY_IDS = exports.KEY_DISTRIBUTION_TYPE = exports.ACL_DEFAULT_POLICY_DOC_ID = exports.RULE_TYPE_TO_DENY_FIELD = exports.DEFAULT_POLICY_DEFAULTS = exports.RESERVED_PSEUDO_TOKENS = exports.PSEUDO_TOKEN_AUTHOR = exports.PSEUDO_TOKEN_ADMIN = exports.PSEUDO_TOKEN_EVERYONE = exports.PLACEHOLDERS = exports.OPERATORS = exports.RULE_TYPES = exports.ACCESS_CONTROL_FORM = void 0;
4
+ exports.isPlaceholder = isPlaceholder;
5
+ exports.encodeAclIdComponent = encodeAclIdComponent;
6
+ exports.decodeAclIdComponent = decodeAclIdComponent;
7
+ exports.aclDbPolicyDocId = aclDbPolicyDocId;
8
+ exports.aclTrustedWitnessDocId = aclTrustedWitnessDocId;
9
+ exports.aclRuleDocId = aclRuleDocId;
10
+ exports.validateWithFieldClause = validateWithFieldClause;
11
+ exports.validateAclRule = validateAclRule;
12
+ exports.validateAccessPolicy = validateAccessPolicy;
13
+ exports.effectivePolicy = effectivePolicy;
14
+ exports.aclKeyDistributionDocId = aclKeyDistributionDocId;
15
+ exports.isKeyDistributionDocId = isKeyDistributionDocId;
16
+ exports.validateKeyDistribution = validateKeyDistribution;
17
+ exports.aclAppDistributionDocId = aclAppDistributionDocId;
18
+ exports.isAppDistributionDocId = isAppDistributionDocId;
19
+ exports.validateAppDistribution = validateAppDistribution;
20
+ exports.aclSyncSetupPolicyDocId = aclSyncSetupPolicyDocId;
21
+ exports.isSyncSetupPolicyDocId = isSyncSetupPolicyDocId;
22
+ exports.validateSyncSetupPolicy = validateSyncSetupPolicy;
23
+ exports.aclDocHistoryPurgeDocId = aclDocHistoryPurgeDocId;
24
+ exports.isDocHistoryPurgeDocId = isDocHistoryPurgeDocId;
25
+ exports.validateDocHistoryPurge = validateDocHistoryPurge;
26
+ const types_1 = require("../types");
27
+ const databaseIdValidation_1 = require("../databaseIdValidation");
28
+ /**
29
+ * Access-control directory schema (docs/accesscontrol.md §6) plus the
30
+ * evaluation result type (§7).
31
+ *
32
+ * All access-control state lives in the admin-only `directory` database and
33
+ * syncs to every participant. Several documents use **fixed document IDs** so
34
+ * they can be read by direct lookup without an index/view. Every field the
35
+ * SERVER must evaluate for Tier 1 is encrypted with the `$publicinfos` key (so
36
+ * the server can read it without the tenant key); `withfields` (Tier 2) is
37
+ * never readable by the server.
38
+ */
39
+ /** The `form` value shared by every access-control directory document (§6). */
40
+ exports.ACCESS_CONTROL_FORM = "accesscontrol";
41
+ /** All valid {@link RuleType} values, for validation and iteration. */
42
+ exports.RULE_TYPES = [
43
+ "doc_create",
44
+ "doc_change",
45
+ "doc_delete",
46
+ "doc_undelete",
47
+ "doc_snapshot",
48
+ "doc_read",
49
+ ];
50
+ /** All valid {@link Operator} values. */
51
+ exports.OPERATORS = [
52
+ "equals",
53
+ "notEquals",
54
+ "contains",
55
+ "containsAny",
56
+ "containsAll",
57
+ "exists",
58
+ "notExists",
59
+ "gt",
60
+ "gte",
61
+ "lt",
62
+ "lte",
63
+ ];
64
+ /** All valid {@link Placeholder} values. */
65
+ exports.PLACEHOLDERS = [
66
+ "${user.username}",
67
+ "${user.usernames}",
68
+ "${user.groups}",
69
+ ];
70
+ /** Returns true if `value` is a recognized {@link Placeholder}. */
71
+ function isPlaceholder(value) {
72
+ return typeof value === "string" && exports.PLACEHOLDERS.includes(value);
73
+ }
74
+ /**
75
+ * Reserved pseudo-tokens stored literally in `users_hashes`. They are NOT
76
+ * secret (§6.3):
77
+ * - `$everyone` — all registered users;
78
+ * - `$admin` — the tenant admin only;
79
+ * - `$author` — the original creator of the document being modified
80
+ * (meaningful only on `doc_change`/`doc_delete`/`doc_undelete`).
81
+ */
82
+ exports.PSEUDO_TOKEN_EVERYONE = "$everyone";
83
+ exports.PSEUDO_TOKEN_ADMIN = "$admin";
84
+ exports.PSEUDO_TOKEN_AUTHOR = "$author";
85
+ exports.RESERVED_PSEUDO_TOKENS = [
86
+ exports.PSEUDO_TOKEN_EVERYONE,
87
+ exports.PSEUDO_TOKEN_ADMIN,
88
+ exports.PSEUDO_TOKEN_AUTHOR,
89
+ ];
90
+ /**
91
+ * The effective baseline defaults when a policy document exists but omits a
92
+ * field (§6.1). Snapshot and purge default to denied (admin-only).
93
+ */
94
+ exports.DEFAULT_POLICY_DEFAULTS = {
95
+ denyDocCreate: false,
96
+ denyDocChange: false,
97
+ denyDocDelete: false,
98
+ denyDocUndelete: false,
99
+ denyDocSnapshot: true,
100
+ denyDocRead: false,
101
+ };
102
+ /** Map a {@link RuleType} to the policy `deny<Op>` field that gates it. */
103
+ exports.RULE_TYPE_TO_DENY_FIELD = {
104
+ doc_create: "denyDocCreate",
105
+ doc_change: "denyDocChange",
106
+ doc_delete: "denyDocDelete",
107
+ doc_undelete: "denyDocUndelete",
108
+ doc_snapshot: "denyDocSnapshot",
109
+ doc_read: "denyDocRead",
110
+ };
111
+ // ---------------------------------------------------------------------------
112
+ // Fixed/pattern document IDs (§6)
113
+ // ---------------------------------------------------------------------------
114
+ /** Singleton id of the tenant default policy document. */
115
+ exports.ACL_DEFAULT_POLICY_DOC_ID = "acl_defaultpolicy";
116
+ const ACL_DB_POLICY_PREFIX = "acl_dbpolicy_";
117
+ const ACL_TRUSTED_WITNESS_PREFIX = "acl_trustedwitness_";
118
+ const ACL_RULE_PREFIX = "acl_rule_";
119
+ /**
120
+ * Encode an arbitrary string into a component made only of `[A-Za-z0-9_]`, so
121
+ * it can be embedded in a fixed document ID that satisfies
122
+ * {@link CUSTOM_DOC_ID_REGEX} (§6).
123
+ *
124
+ * The encoding is injective and reversible: ASCII letters and digits pass
125
+ * through unchanged; every other byte (including a literal `_`) is escaped as
126
+ * `_` followed by two lowercase hex digits. Because every literal underscore is
127
+ * escaped, decoding is unambiguous. Examples:
128
+ * - `directory` -> `directory`
129
+ * - `test-db` -> `test_2ddb`
130
+ * - `a_b` -> `a_5fb`
131
+ */
132
+ function encodeAclIdComponent(raw) {
133
+ let out = "";
134
+ const bytes = new TextEncoder().encode(raw);
135
+ for (const byte of bytes) {
136
+ const isLetter = (byte >= 0x41 && byte <= 0x5a) || (byte >= 0x61 && byte <= 0x7a);
137
+ const isDigit = byte >= 0x30 && byte <= 0x39;
138
+ if (isLetter || isDigit) {
139
+ out += String.fromCharCode(byte);
140
+ }
141
+ else {
142
+ out += "_" + byte.toString(16).padStart(2, "0");
143
+ }
144
+ }
145
+ return out;
146
+ }
147
+ /** Inverse of {@link encodeAclIdComponent}. */
148
+ function decodeAclIdComponent(encoded) {
149
+ const bytes = [];
150
+ for (let i = 0; i < encoded.length; i++) {
151
+ const ch = encoded[i];
152
+ if (ch === "_") {
153
+ const hex = encoded.slice(i + 1, i + 3);
154
+ bytes.push(parseInt(hex, 16));
155
+ i += 2;
156
+ }
157
+ else {
158
+ bytes.push(ch.charCodeAt(0));
159
+ }
160
+ }
161
+ return new TextDecoder().decode(new Uint8Array(bytes));
162
+ }
163
+ /** Document id for a per-database policy (§6.2). */
164
+ function aclDbPolicyDocId(dbid) {
165
+ return assertValidDocId(ACL_DB_POLICY_PREFIX + encodeAclIdComponent(dbid));
166
+ }
167
+ /** Document id for a trusted-witness entry, keyed by witness fingerprint (§6.4). */
168
+ function aclTrustedWitnessDocId(fingerprint) {
169
+ return assertValidDocId(ACL_TRUSTED_WITNESS_PREFIX + encodeAclIdComponent(fingerprint));
170
+ }
171
+ /** Document id for a single rule, keyed by its stable `ruleId` (§6.3). */
172
+ function aclRuleDocId(ruleId) {
173
+ return assertValidDocId(ACL_RULE_PREFIX + encodeAclIdComponent(ruleId));
174
+ }
175
+ function assertValidDocId(id) {
176
+ if (!types_1.CUSTOM_DOC_ID_REGEX.test(id)) {
177
+ throw new Error(`Internal error: computed ACL document id "${id}" does not satisfy CUSTOM_DOC_ID_REGEX`);
178
+ }
179
+ return id;
180
+ }
181
+ // ---------------------------------------------------------------------------
182
+ // Validation (§6.3: closed operator/placeholder set; doc_create can't use before)
183
+ // ---------------------------------------------------------------------------
184
+ /**
185
+ * Validate a {@link WithFieldClause} against the closed operator/placeholder
186
+ * set and the op-specific `when` constraints. Throws a descriptive error on
187
+ * the first violation. `ruleType` is needed to reject `when: "before"` on
188
+ * `doc_create` (no before state exists).
189
+ */
190
+ function validateWithFieldClause(clause, ruleType) {
191
+ if (typeof clause.key !== "string" || clause.key.length === 0) {
192
+ throw new Error("withfields clause requires a non-empty string `key`");
193
+ }
194
+ if (!exports.OPERATORS.includes(clause.op)) {
195
+ throw new Error(`withfields clause has unknown operator "${clause.op}"`);
196
+ }
197
+ if (typeof clause.value === "string" && clause.value.startsWith("${") && !isPlaceholder(clause.value)) {
198
+ throw new Error(`withfields clause uses unknown placeholder "${clause.value}"`);
199
+ }
200
+ if (clause.when !== undefined && clause.when !== "before" && clause.when !== "after") {
201
+ throw new Error(`withfields clause has invalid \`when\` "${clause.when}"`);
202
+ }
203
+ if (ruleType === "doc_create" && clause.when === "before") {
204
+ throw new Error('doc_create rules cannot use `when: "before"` (no before state exists)');
205
+ }
206
+ }
207
+ /**
208
+ * Validate an {@link AclRuleDoc} (minus the assigned `form`/`ruleId`, which the
209
+ * directory sets). Enforces the closed type/operator/placeholder sets and the
210
+ * `withfields` constraints (§6.3). Throws on the first violation.
211
+ */
212
+ function validateAclRule(rule) {
213
+ if (!exports.RULE_TYPES.includes(rule.type)) {
214
+ throw new Error(`rule has unknown type "${rule.type}"`);
215
+ }
216
+ if (rule.action !== "allow" && rule.action !== "deny") {
217
+ throw new Error(`rule has invalid action "${rule.action}" (expected "allow" or "deny")`);
218
+ }
219
+ if (typeof rule.dbid !== "string" || rule.dbid.length === 0) {
220
+ throw new Error("rule requires a non-empty `dbid` (or \"*\")");
221
+ }
222
+ if (!Array.isArray(rule.users_hashes) || rule.users_hashes.length === 0) {
223
+ throw new Error("rule requires a non-empty `users_hashes` array");
224
+ }
225
+ // `doc_read` is a database-level gate (§6.6); it has no document content to
226
+ // match, so content clauses are meaningless and would make the rule Tier 2
227
+ // (client-only) when the server must be able to enforce the read gate.
228
+ if (rule.type === "doc_read" && (rule.withfields?.length ?? 0) > 0) {
229
+ throw new Error("doc_read rules are database-level and cannot use `withfields`");
230
+ }
231
+ for (const clause of rule.withfields ?? []) {
232
+ validateWithFieldClause(clause, rule.type);
233
+ }
234
+ }
235
+ /**
236
+ * Validate a {@link DefaultAccessPolicyDoc} (tenant default or per-db) before
237
+ * it is written. Throws on violation.
238
+ */
239
+ function validateAccessPolicy(policy) {
240
+ if (policy.databaseCreationPolicy !== undefined &&
241
+ policy.databaseCreationPolicy !== "open" &&
242
+ policy.databaseCreationPolicy !== "directory-restricted") {
243
+ throw new Error(`databaseCreationPolicy "${String(policy.databaseCreationPolicy)}" must be ` +
244
+ `"open" or "directory-restricted"`);
245
+ }
246
+ if (policy.allowedDbIds !== undefined) {
247
+ if (!Array.isArray(policy.allowedDbIds)) {
248
+ throw new Error("allowedDbIds must be an array of database ids");
249
+ }
250
+ for (const dbId of policy.allowedDbIds) {
251
+ const error = (0, databaseIdValidation_1.getDatabaseIdValidationError)(dbId, "allowedDbIds entry");
252
+ if (error) {
253
+ throw new Error(error);
254
+ }
255
+ }
256
+ }
257
+ if (policy.requireMetadataSignatureSince !== undefined) {
258
+ if (typeof policy.requireMetadataSignatureSince !== "number" ||
259
+ !Number.isFinite(policy.requireMetadataSignatureSince) ||
260
+ policy.requireMetadataSignatureSince < 0) {
261
+ throw new Error("requireMetadataSignatureSince must be a non-negative epoch-millisecond timestamp");
262
+ }
263
+ }
264
+ }
265
+ /**
266
+ * Compute the effective policy by layering DB policy over the tenant default
267
+ * and filling omitted fields with {@link DEFAULT_POLICY_DEFAULTS} (§6.2, §7).
268
+ *
269
+ * Returns a fully-populated set of `deny<Op>` flags plus the master switch.
270
+ * A `null`/absent default policy means access control was never enabled, which
271
+ * callers should treat as "all allowed" before calling this.
272
+ */
273
+ function effectivePolicy(tenantDefault, dbPolicy) {
274
+ const pick = (field) => {
275
+ if (dbPolicy && dbPolicy[field] !== undefined)
276
+ return dbPolicy[field];
277
+ if (tenantDefault && tenantDefault[field] !== undefined)
278
+ return tenantDefault[field];
279
+ return exports.DEFAULT_POLICY_DEFAULTS[field];
280
+ };
281
+ const disable = (dbPolicy?.disableAllAccessChecksAndPolicies ?? tenantDefault?.disableAllAccessChecksAndPolicies) ===
282
+ true;
283
+ // Per-db precedence for the default create key: a per-db default fully
284
+ // overrides the tenant default's, so a database can pick its own default key.
285
+ const defaultCreateKeyId = (dbPolicy && dbPolicy.defaultCreateKeyId) ??
286
+ (tenantDefault && tenantDefault.defaultCreateKeyId) ??
287
+ undefined;
288
+ return {
289
+ disableAllAccessChecksAndPolicies: disable,
290
+ denyDocCreate: pick("denyDocCreate"),
291
+ denyDocChange: pick("denyDocChange"),
292
+ denyDocDelete: pick("denyDocDelete"),
293
+ denyDocUndelete: pick("denyDocUndelete"),
294
+ denyDocSnapshot: pick("denyDocSnapshot"),
295
+ denyDocRead: pick("denyDocRead"),
296
+ defaultCreateKeyId,
297
+ };
298
+ }
299
+ /**
300
+ * Key distribution type tag (the `type` field of a {@link KeyDistributionDoc}).
301
+ */
302
+ exports.KEY_DISTRIBUTION_TYPE = "keydistribution";
303
+ /** Key ids that may never be governed by a distribution document. */
304
+ exports.PROTECTED_DISTRIBUTION_KEY_IDS = ["default", "$publicinfos"];
305
+ /** Document id prefix for the per-key distribution documents. */
306
+ exports.ACL_KEY_DISTRIBUTION_PREFIX = "acl_keydistribution_";
307
+ /**
308
+ * Document id for a key distribution — a SINGLETON per key id, so there is one
309
+ * authoritative document governing each key's distribution and publish is always
310
+ * an upsert. The key id is encoded so arbitrary key ids stay valid doc-id
311
+ * components.
312
+ */
313
+ function aclKeyDistributionDocId(keyId) {
314
+ return assertValidDocId(exports.ACL_KEY_DISTRIBUTION_PREFIX + encodeAclIdComponent(keyId));
315
+ }
316
+ /** True when `docId` is a key-distribution document id. */
317
+ function isKeyDistributionDocId(docId) {
318
+ return docId.startsWith(exports.ACL_KEY_DISTRIBUTION_PREFIX);
319
+ }
320
+ /**
321
+ * Validate the structural invariants of a key distribution before publish
322
+ * (docs/accesscontrol.md §13). Throws on the first violation:
323
+ *
324
+ * - `keyId` is non-empty and not a protected id (`default` / `$publicinfos`);
325
+ * - `pushto` and `pullfrom` user-hash sets are disjoint;
326
+ * - every `pushto` device entry covers EXACTLY the manifest's version
327
+ * fingerprints (full coverage, no extras), so every recipient can decrypt
328
+ * documents encrypted under any distributed version.
329
+ *
330
+ * Grant existence / active-device coverage are enforced by the directory at
331
+ * publish time (they need directory state), not here.
332
+ */
333
+ function validateKeyDistribution(input) {
334
+ if (typeof input.keyId !== "string" || input.keyId.length === 0) {
335
+ throw new Error("key distribution requires a non-empty `keyId`");
336
+ }
337
+ if (exports.PROTECTED_DISTRIBUTION_KEY_IDS.includes(input.keyId)) {
338
+ throw new Error(`key distribution cannot govern the protected key id "${input.keyId}"`);
339
+ }
340
+ if (!Array.isArray(input.keyVersions) || input.keyVersions.length === 0) {
341
+ throw new Error("key distribution requires a non-empty `keyVersions` manifest");
342
+ }
343
+ const manifestFingerprints = input.keyVersions.map((v) => v.fingerprint);
344
+ if (manifestFingerprints.some((fp) => typeof fp !== "string" || fp.length === 0)) {
345
+ throw new Error("key distribution `keyVersions` entries require a non-empty `fingerprint`");
346
+ }
347
+ const manifestSet = new Set(manifestFingerprints);
348
+ if (manifestSet.size !== manifestFingerprints.length) {
349
+ throw new Error("key distribution `keyVersions` contains duplicate fingerprints");
350
+ }
351
+ const pushSet = new Set(input.pushto_users_hashes);
352
+ for (const hash of input.pullfrom_users_hashes) {
353
+ if (pushSet.has(hash)) {
354
+ throw new Error("key distribution `pushto` and `pullfrom` user sets must be disjoint");
355
+ }
356
+ }
357
+ // Every device entry must cover exactly the manifest's version fingerprints.
358
+ for (const [deviceKey, wrapped] of Object.entries(input.pushto_users_keys)) {
359
+ const covered = Object.keys(wrapped);
360
+ if (covered.length !== manifestSet.size || covered.some((fp) => !manifestSet.has(fp))) {
361
+ throw new Error(`key distribution device entry "${deviceKey}" must cover exactly the manifest versions ` +
362
+ `(${manifestSet.size} fingerprint(s)); got ${covered.length}`);
363
+ }
364
+ }
365
+ }
366
+ // ---------------------------------------------------------------------------
367
+ // App distribution (docs/accesscontrol.md §13). Mirrors key distribution but
368
+ // the distributed payload is a Haven application registration
369
+ // (`appdata_encrypted`) rather than wrapped key bytes, and the recipient lists
370
+ // support both users AND groups. Apps live only in the Haven client, so the
371
+ // install/update/remove reconcile runs in Haven after the directory syncs;
372
+ // there is no server-side enforcement (apps carry no secret key).
373
+ // ---------------------------------------------------------------------------
374
+ /**
375
+ * App distribution type tag (the `type` field of an {@link AppDistributionDoc}).
376
+ */
377
+ exports.APP_DISTRIBUTION_TYPE = "appdistribution";
378
+ /** Document id prefix for the per-app distribution documents. */
379
+ exports.ACL_APP_DISTRIBUTION_PREFIX = "acl_appdistribution_";
380
+ /**
381
+ * Document id for an app distribution — a SINGLETON per app id, so there is one
382
+ * authoritative document governing each app's distribution and publish is
383
+ * always an upsert. The app id is encoded so arbitrary ids stay valid doc-id
384
+ * components.
385
+ */
386
+ function aclAppDistributionDocId(appId) {
387
+ return assertValidDocId(exports.ACL_APP_DISTRIBUTION_PREFIX + encodeAclIdComponent(appId));
388
+ }
389
+ /** True when `docId` is an app-distribution document id. */
390
+ function isAppDistributionDocId(docId) {
391
+ return docId.startsWith(exports.ACL_APP_DISTRIBUTION_PREFIX);
392
+ }
393
+ /**
394
+ * Validate the structural invariants of an app distribution before publish
395
+ * (docs/accesscontrol.md §13). Throws on the first violation:
396
+ *
397
+ * - `appId` is non-empty;
398
+ * - `pushto` and `pullfrom` user-hash sets are disjoint;
399
+ * - `pushto` and `pullfrom` group-hash sets are disjoint.
400
+ */
401
+ function validateAppDistribution(input) {
402
+ if (typeof input.appId !== "string" || input.appId.length === 0) {
403
+ throw new Error("app distribution requires a non-empty `appId`");
404
+ }
405
+ const pushUsers = new Set(input.pushto_users_hashes);
406
+ for (const hash of input.pullfrom_users_hashes) {
407
+ if (pushUsers.has(hash)) {
408
+ throw new Error("app distribution `pushto` and `pullfrom` user sets must be disjoint");
409
+ }
410
+ }
411
+ const pushGroups = new Set(input.pushto_groups_hashes);
412
+ for (const hash of input.pullfrom_groups_hashes) {
413
+ if (pushGroups.has(hash)) {
414
+ throw new Error("app distribution `pushto` and `pullfrom` group sets must be disjoint");
415
+ }
416
+ }
417
+ }
418
+ // ---------------------------------------------------------------------------
419
+ // Sync setup policies. An onboarding/governance aid that pre-configures (and
420
+ // optionally permanently enforces) a set of databases on a targeted user's or
421
+ // group's Haven Sync page, so a client has a known sync configuration without
422
+ // the user having to open each database locally first. Mirrors app
423
+ // distribution: admin-signed directory documents with hashed `pushto`/
424
+ // `pullfrom` user/group targeting, reconciled client-side after the directory
425
+ // syncs. There is no server-side enforcement (the policy carries no secret
426
+ // key); the per-policy `mode` ("initial" vs "permanent") is a client-side UX/
427
+ // runner gesture, not a cryptographic guarantee.
428
+ // ---------------------------------------------------------------------------
429
+ /**
430
+ * Sync setup policy type tag (the `type` field of a {@link SyncSetupPolicyDoc}).
431
+ */
432
+ exports.SYNC_SETUP_POLICY_TYPE = "syncsetuppolicy";
433
+ /** All valid {@link SyncSetupPolicyMode} values, for validation. */
434
+ exports.SYNC_SETUP_POLICY_MODES = ["initial", "permanent"];
435
+ /** Document id prefix for the per-policy sync setup policy documents. */
436
+ exports.ACL_SYNC_SETUP_POLICY_PREFIX = "acl_syncsetuppolicy_";
437
+ /**
438
+ * Document id for a sync setup policy — one doc per `policyId`, so publish is
439
+ * always an upsert of that policy's full desired state. The policy id is
440
+ * encoded so arbitrary ids stay valid doc-id components.
441
+ */
442
+ function aclSyncSetupPolicyDocId(policyId) {
443
+ return assertValidDocId(exports.ACL_SYNC_SETUP_POLICY_PREFIX + encodeAclIdComponent(policyId));
444
+ }
445
+ /** True when `docId` is a sync-setup-policy document id. */
446
+ function isSyncSetupPolicyDocId(docId) {
447
+ return docId.startsWith(exports.ACL_SYNC_SETUP_POLICY_PREFIX);
448
+ }
449
+ /**
450
+ * Validate the structural invariants of a sync setup policy before publish.
451
+ * Throws on the first violation:
452
+ *
453
+ * - `policyId` is non-empty;
454
+ * - `mode` is a valid {@link SyncSetupPolicyMode};
455
+ * - `databaseIds` is non-empty;
456
+ * - `pushto` and `pullfrom` user-hash sets are disjoint;
457
+ * - `pushto` and `pullfrom` group-hash sets are disjoint.
458
+ */
459
+ function validateSyncSetupPolicy(input) {
460
+ if (typeof input.policyId !== "string" || input.policyId.length === 0) {
461
+ throw new Error("sync setup policy requires a non-empty `policyId`");
462
+ }
463
+ if (!exports.SYNC_SETUP_POLICY_MODES.includes(input.mode)) {
464
+ throw new Error("sync setup policy `mode` must be one of " + exports.SYNC_SETUP_POLICY_MODES.join(", "));
465
+ }
466
+ if (!Array.isArray(input.databaseIds) || input.databaseIds.length === 0) {
467
+ throw new Error("sync setup policy requires at least one database id");
468
+ }
469
+ const pushUsers = new Set(input.pushto_users_hashes);
470
+ for (const hash of input.pullfrom_users_hashes) {
471
+ if (pushUsers.has(hash)) {
472
+ throw new Error("sync setup policy `pushto` and `pullfrom` user sets must be disjoint");
473
+ }
474
+ }
475
+ const pushGroups = new Set(input.pushto_groups_hashes);
476
+ for (const hash of input.pullfrom_groups_hashes) {
477
+ if (pushGroups.has(hash)) {
478
+ throw new Error("sync setup policy `pushto` and `pullfrom` group sets must be disjoint");
479
+ }
480
+ }
481
+ }
482
+ // ---------------------------------------------------------------------------
483
+ // Document history purge requests (docs/accesscontrol.md §13). Unlike key/app
484
+ // distribution there is no recipient list: a purge applies tenant-wide. The
485
+ // request names a database and one or more documents whose entire history must
486
+ // be physically deleted from every replica (GDPR/erasure). The document is
487
+ // encrypted under `$publicinfos` with `dbId` + `docIds` kept as CLEARTEXT
488
+ // fields so the sync server can read the routing info and execute the purge on
489
+ // its own stores; only the human-readable `reason` is encrypted with the tenant
490
+ // `default` key. Each request is an immutable audit record keyed by `requestId`
491
+ // (one doc per request); a still-pending request may be deleted by an admin.
492
+ // ---------------------------------------------------------------------------
493
+ /**
494
+ * Document history purge request type tag (the `type` field of a
495
+ * {@link DocHistoryPurgeDoc}).
496
+ */
497
+ exports.DOC_HISTORY_PURGE_TYPE = "dochistorypurge";
498
+ /** Document id prefix for the per-request purge documents. */
499
+ exports.ACL_DOC_HISTORY_PURGE_PREFIX = "acl_dochistorypurge_";
500
+ /**
501
+ * Document id for a purge request — one doc per request, keyed by `requestId`
502
+ * (append-only audit record). The request id is encoded so arbitrary ids stay
503
+ * valid doc-id components.
504
+ */
505
+ function aclDocHistoryPurgeDocId(requestId) {
506
+ return assertValidDocId(exports.ACL_DOC_HISTORY_PURGE_PREFIX + encodeAclIdComponent(requestId));
507
+ }
508
+ /** True when `docId` is a purge-request document id. */
509
+ function isDocHistoryPurgeDocId(docId) {
510
+ return docId.startsWith(exports.ACL_DOC_HISTORY_PURGE_PREFIX);
511
+ }
512
+ /**
513
+ * Validate the structural invariants of a purge request before publish. Throws
514
+ * on the first violation:
515
+ *
516
+ * - `requestId` is non-empty;
517
+ * - `dbId` is non-empty;
518
+ * - `docIds` is a non-empty array of non-empty strings.
519
+ */
520
+ function validateDocHistoryPurge(input) {
521
+ if (typeof input.requestId !== "string" || input.requestId.length === 0) {
522
+ throw new Error("doc history purge request requires a non-empty `requestId`");
523
+ }
524
+ if (typeof input.dbId !== "string" || input.dbId.length === 0) {
525
+ throw new Error("doc history purge request requires a non-empty `dbId`");
526
+ }
527
+ if (!Array.isArray(input.docIds) || input.docIds.length === 0) {
528
+ throw new Error("doc history purge request requires a non-empty `docIds` array");
529
+ }
530
+ if (input.docIds.some((id) => typeof id !== "string" || id.length === 0)) {
531
+ throw new Error("doc history purge request `docIds` entries must be non-empty strings");
532
+ }
533
+ }
534
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/accesscontrol/types.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,15 @@ export declare class InMemoryContentAddressedStore implements ContentAddressedSt
40
40
  * @return A promise that resolves when all entries are stored
41
41
  */
42
42
  putEntries(entries: StoreEntry[]): Promise<void>;
43
+ /**
44
+ * Apply witness receipts to already-stored entries (docs/accesscontrol.md §5.3).
45
+ *
46
+ * Copies the witness fields onto the local metadata and assigns a fresh
47
+ * `receiptOrder` so the revision feed's `scanEntriesSince` cursor re-discovers
48
+ * the entry and re-anchors it from the provisional head to its committed
49
+ * `receivedAt`. Receipts whose entry is absent locally are ignored.
50
+ */
51
+ applyWitnessReceipts(receipts: StoreEntryMetadata[]): Promise<void>;
43
52
  /**
44
53
  * Get entries by their IDs.
45
54
  * Returns only entries that exist in this store.
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryContentAddressedStore.d.ts","sourceRoot":"","sources":["../../../src/core/appendonlystores/InMemoryContentAddressedStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InMemoryContentAddressedStore.d.ts","sourceRoot":"","sources":["../../../src/core/appendonlystores/InMemoryContentAddressedStore.ts"],"names":[],"mappings":"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"}