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
@@ -4,6 +4,8 @@ exports.ServerNetworkContentAddressedStore = void 0;
4
4
  const bloom_1 = require("../../core/appendonlystores/bloom");
5
5
  const types_1 = require("../../core/appendonlystores/network/types");
6
6
  const RSAEncryption_1 = require("../../core/crypto/RSAEncryption");
7
+ const EntrySignature_1 = require("../../core/crypto/EntrySignature");
8
+ const idGeneration_1 = require("../../core/utils/idGeneration");
7
9
  const logging_1 = require("../../core/logging");
8
10
  /**
9
11
  * Server-side network handler for ContentAddressedStore operations.
@@ -27,7 +29,7 @@ class ServerNetworkContentAddressedStore {
27
29
  * @param cryptoAdapter The crypto adapter for encryption
28
30
  * @param logger Optional logger instance
29
31
  */
30
- constructor(localStore, directory, authService, cryptoAdapter, logger) {
32
+ constructor(localStore, directory, authService, cryptoAdapter, logger, accessControl) {
31
33
  this.localStore = localStore;
32
34
  this.directory = directory;
33
35
  this.authService = authService;
@@ -37,6 +39,97 @@ class ServerNetworkContentAddressedStore {
37
39
  new logging_1.MindooLogger((0, logging_1.getDefaultLogLevel)(), `ServerNetworkStore:${localStore.getId()}`, true);
38
40
  const rsaLogger = this.logger.createChild("RSAEncryption");
39
41
  this.rsaEncryption = new RSAEncryption_1.RSAEncryption(cryptoAdapter, rsaLogger);
42
+ this.timestampProvider = accessControl?.timestampProvider;
43
+ this.witnessDbid = accessControl?.witnessDbid;
44
+ this.tier1Evaluator = accessControl?.tier1Evaluator;
45
+ this.wipeGrantDocIdResolver = accessControl?.wipeGrantDocIdResolver;
46
+ this.dbAccessEvaluator = accessControl?.dbAccessEvaluator;
47
+ this.revokedKeyResolver = accessControl?.revokedKeyResolver;
48
+ this.purgedDocResolver = accessControl?.purgedDocResolver;
49
+ }
50
+ /**
51
+ * Resolve the reader's RSA encryption public key for transport encryption.
52
+ * Prefers the authenticated device signing key (so key-based tokens whose
53
+ * `sub` is a key, not a username, still resolve), falling back to a
54
+ * username-based lookup for legacy tokens. Returns null when no active grant
55
+ * is found.
56
+ */
57
+ async resolveReaderEncryptionKey(payload) {
58
+ if (payload.deviceSigningKey && typeof this.directory.getUserBySigningPublicKey === "function") {
59
+ const lookup = await this.directory.getUserBySigningPublicKey(payload.deviceSigningKey);
60
+ if (lookup?.encryptionPublicKey) {
61
+ return lookup.encryptionPublicKey;
62
+ }
63
+ }
64
+ const userKeys = await this.directory.getUserPublicKeys(payload.sub);
65
+ return userKeys?.encryptionPublicKey ?? null;
66
+ }
67
+ /**
68
+ * Compute the id allow-list for a (possibly wipe-scoped) token
69
+ * (docs/accesscontrol.md §6.5). Returns:
70
+ * - `null` for a normal token: serving is unrestricted; OR
71
+ * - a `Set<string>` for a wipe-scoped token: only these entry ids may be
72
+ * served. On the directory store this is exactly the admin-signed grant
73
+ * document carrying the directive; on any data store it is empty.
74
+ */
75
+ async wipeAllowedIds(payload) {
76
+ if (!payload.wipe || !payload.deviceSigningKey || !this.wipeGrantDocIdResolver) {
77
+ return null;
78
+ }
79
+ // A wipe-targeted device gets no data-database content at all.
80
+ if (this.localStore.getId() !== ServerNetworkContentAddressedStore.DIRECTORY_DB_ID) {
81
+ return new Set();
82
+ }
83
+ const grantDocId = await this.wipeGrantDocIdResolver(payload.deviceSigningKey);
84
+ if (!grantDocId) {
85
+ return new Set();
86
+ }
87
+ const metas = await this.localStore.findNewEntriesForDoc([], grantDocId);
88
+ return new Set(metas.map((m) => m.id));
89
+ }
90
+ /**
91
+ * The authenticated principal used for blacklist resolution: the device
92
+ * signing public key carried by the token (§13).
93
+ */
94
+ readPrincipal(payload) {
95
+ return { signingKey: payload.deviceSigningKey };
96
+ }
97
+ /**
98
+ * The set of revoked decryption key ids for the request's principal (§13), or
99
+ * `null` when the blacklist is disabled (no resolver) or this is the directory
100
+ * store (never blacklisted, so its policy can always be read). Resolved once
101
+ * per request and reused across the per-entry filter.
102
+ */
103
+ async resolveRevokedKeyIds(payload) {
104
+ if (!this.revokedKeyResolver)
105
+ return null;
106
+ if (this.localStore.getId() === ServerNetworkContentAddressedStore.DIRECTORY_DB_ID) {
107
+ return null;
108
+ }
109
+ return this.revokedKeyResolver(this.readPrincipal(payload));
110
+ }
111
+ /** Drop metadata whose `decryptionKeyId` is in the revoked set (§13). */
112
+ filterMetasByRevokedKeys(metas, revoked) {
113
+ if (!revoked || revoked.size === 0)
114
+ return metas;
115
+ return metas.filter((m) => !m.decryptionKeyId || !revoked.has(m.decryptionKeyId));
116
+ }
117
+ /**
118
+ * Drop ids whose entry `decryptionKeyId` is revoked (§13). Resolves each id's
119
+ * metadata from the local store; ids with no resolvable metadata are kept
120
+ * (they carry no revocable key).
121
+ */
122
+ async filterIdsByRevokedKeys(ids, revoked) {
123
+ if (!revoked || revoked.size === 0)
124
+ return ids;
125
+ const kept = [];
126
+ for (const id of ids) {
127
+ const meta = await this.localStore.getEntryMetadata(id);
128
+ if (!meta?.decryptionKeyId || !revoked.has(meta.decryptionKeyId)) {
129
+ kept.push(id);
130
+ }
131
+ }
132
+ return kept;
40
133
  }
41
134
  /**
42
135
  * Get the ID of the underlying store.
@@ -47,12 +140,17 @@ class ServerNetworkContentAddressedStore {
47
140
  /**
48
141
  * Handle a challenge request from a client.
49
142
  *
50
- * @param username The username requesting authentication
143
+ * The username is optional: a client may identify itself by its device
144
+ * signing public key instead, so the server never needs the cleartext name.
145
+ *
146
+ * @param username The username requesting authentication (optional)
147
+ * @param options.signingPublicKey The device signing public key the client is
148
+ * identifying with, when no username is supplied
51
149
  * @returns The challenge string
52
150
  */
53
- async handleChallengeRequest(username) {
54
- this.logger.debug(`Handling challenge request for user: ${username}`);
55
- return this.authService.generateChallenge(username);
151
+ async handleChallengeRequest(username, options) {
152
+ this.logger.debug(`Handling challenge request${username ? ` for user: ${username}` : " by signing key"}`);
153
+ return this.authService.generateChallenge(username, options);
56
154
  }
57
155
  /**
58
156
  * Handle an authentication request from a client.
@@ -80,7 +178,10 @@ class ServerNetworkContentAddressedStore {
80
178
  // Find new entries
81
179
  const newEntries = await this.localStore.findNewEntries(knownIds);
82
180
  this.logger.debug(`Found ${newEntries.length} new entries`);
83
- return newEntries;
181
+ const allowed = await this.wipeAllowedIds(tokenPayload);
182
+ const scoped = allowed ? newEntries.filter((e) => allowed.has(e.id)) : newEntries;
183
+ const revoked = await this.resolveRevokedKeyIds(tokenPayload);
184
+ return this.filterMetasByRevokedKeys(scoped, revoked);
84
185
  }
85
186
  /**
86
187
  * Handle a findNewEntriesForDoc request from a client.
@@ -99,7 +200,10 @@ class ServerNetworkContentAddressedStore {
99
200
  // Find new entries for the specific document
100
201
  const newEntries = await this.localStore.findNewEntriesForDoc(knownIds, docId);
101
202
  this.logger.debug(`Found ${newEntries.length} new entries for doc ${docId}`);
102
- return newEntries;
203
+ const allowed = await this.wipeAllowedIds(tokenPayload);
204
+ const scoped = allowed ? newEntries.filter((e) => allowed.has(e.id)) : newEntries;
205
+ const revoked = await this.resolveRevokedKeyIds(tokenPayload);
206
+ return this.filterMetasByRevokedKeys(scoped, revoked);
103
207
  }
104
208
  /**
105
209
  * Handle a findEntries request from a client.
@@ -118,7 +222,10 @@ class ServerNetworkContentAddressedStore {
118
222
  // Find entries
119
223
  const entries = await this.localStore.findEntries(type, creationDateFrom, creationDateUntil);
120
224
  this.logger.debug(`Found ${entries.length} entries`);
121
- return entries;
225
+ const allowed = await this.wipeAllowedIds(tokenPayload);
226
+ const scoped = allowed ? entries.filter((e) => allowed.has(e.id)) : entries;
227
+ const revoked = await this.resolveRevokedKeyIds(tokenPayload);
228
+ return this.filterMetasByRevokedKeys(scoped, revoked);
122
229
  }
123
230
  /**
124
231
  * Handle a cursor-based scanEntriesSince request from a client.
@@ -129,8 +236,32 @@ class ServerNetworkContentAddressedStore {
129
236
  // Validate token
130
237
  const tokenPayload = await this.validateToken(token);
131
238
  this.logger.debug(`Token validated for user: ${tokenPayload.sub}`);
239
+ // Wipe-scoped token (§6.5): return only the allowed entries (the grant
240
+ // directive on the directory store, nothing on data stores) in a single
241
+ // terminal page, regardless of cursor.
242
+ const allowed = await this.wipeAllowedIds(tokenPayload);
243
+ if (allowed) {
244
+ if (allowed.size === 0) {
245
+ return { entries: [], nextCursor: cursor, hasMore: false };
246
+ }
247
+ const all = await this.localStore.findNewEntries([]);
248
+ const entries = all.filter((e) => allowed.has(e.id));
249
+ return { entries, nextCursor: cursor, hasMore: false };
250
+ }
251
+ // Clamp the page size server-side (DoS guard): never trust the client's
252
+ // `limit` to bound the work/response. A missing or non-finite limit falls
253
+ // back to the maximum page size.
254
+ const requestedLimit = typeof limit === "number" && Number.isFinite(limit)
255
+ ? Math.floor(limit)
256
+ : ServerNetworkContentAddressedStore.MAX_SCAN_PAGE_SIZE;
257
+ const effectiveLimit = Math.max(1, Math.min(requestedLimit, ServerNetworkContentAddressedStore.MAX_SCAN_PAGE_SIZE));
258
+ // Per-user revoked-key blacklist (§13): silently omit revoked entries from
259
+ // the page. Filtering after paging only shrinks a page; the store's own
260
+ // cursor still advances so the client keeps making progress.
261
+ const revoked = await this.resolveRevokedKeyIds(tokenPayload);
132
262
  if (this.localStore.scanEntriesSince) {
133
- return this.localStore.scanEntriesSince(cursor, limit, filters);
263
+ const result = await this.localStore.scanEntriesSince(cursor, effectiveLimit, filters);
264
+ return { ...result, entries: this.filterMetasByRevokedKeys(result.entries, revoked) };
134
265
  }
135
266
  // Fallback: emulate cursor scan using existing metadata query.
136
267
  const all = filters?.docId
@@ -156,7 +287,7 @@ class ServerNetworkContentAddressedStore {
156
287
  ? a.id.localeCompare(b.id)
157
288
  : leftReceiptOrder - rightReceiptOrder;
158
289
  });
159
- const max = limit ?? Number.MAX_SAFE_INTEGER;
290
+ const max = effectiveLimit;
160
291
  const startIndex = cursor === null
161
292
  ? 0
162
293
  : sorted.findIndex((meta) => (meta.receiptOrder ?? 0) > cursor.receiptOrder ||
@@ -167,7 +298,7 @@ class ServerNetworkContentAddressedStore {
167
298
  const page = sorted.slice(startIndex, startIndex + max);
168
299
  const last = page.length > 0 ? page[page.length - 1] : null;
169
300
  return {
170
- entries: page,
301
+ entries: this.filterMetasByRevokedKeys(page, revoked),
171
302
  nextCursor: last ? { receiptOrder: last.receiptOrder ?? 0, id: last.id } : cursor,
172
303
  hasMore: startIndex + page.length < sorted.length,
173
304
  };
@@ -199,6 +330,12 @@ class ServerNetworkContentAddressedStore {
199
330
  supportsMaterializationPlanning: typeof this.localStore.planDocumentMaterialization === "function",
200
331
  supportsBatchMaterializationPlanning: typeof this.localStore.planDocumentMaterializationBatch === "function",
201
332
  supportsAttachmentReadPlanning: typeof this.localStore.planAttachmentReadByWalkingMetadata === "function",
333
+ // Access-control v1 negotiation (docs/accesscontrol.md §4). `serverTime`
334
+ // lets the client run its clock-skew guard before syncing; the flag
335
+ // advertises that this server stamps witness receipts and enforces Tier 1.
336
+ serverTime: Date.now(),
337
+ supportsAccessControlV1: this.timestampProvider !== undefined,
338
+ supportsRemoteWipeV1: this.wipeGrantDocIdResolver !== undefined,
202
339
  };
203
340
  }
204
341
  /**
@@ -239,19 +376,31 @@ class ServerNetworkContentAddressedStore {
239
376
  const tokenPayload = await this.validateToken(token);
240
377
  const username = tokenPayload.sub;
241
378
  this.logger.debug(`Token validated for user: ${username}`);
242
- // Get user's public encryption key
243
- const userKeys = await this.directory.getUserPublicKeys(username);
244
- if (!userKeys) {
379
+ // Resolve the reader's RSA encryption public key for transport encryption.
380
+ // Prefer the authenticated device signing key, which works for key-based
381
+ // tokens whose `sub` is a key rather than a cleartext username; fall back to
382
+ // the username for legacy tokens.
383
+ const encryptionPublicKey = await this.resolveReaderEncryptionKey(tokenPayload);
384
+ if (!encryptionPublicKey) {
245
385
  throw new types_1.NetworkError(types_1.NetworkErrorType.USER_NOT_FOUND, `User "${username}" is not found, or has no active access grant on this server. `
246
386
  + `The tenant's directory database may not have been synced to this server yet, `
247
387
  + `or the access was revoked.`);
248
388
  }
249
389
  this.logger.debug(`Retrieved encryption key for user: ${username}`);
390
+ // Restrict a wipe-scoped token to only the grant directive (§6.5).
391
+ const allowed = await this.wipeAllowedIds(tokenPayload);
392
+ const requestedIds = allowed ? ids.filter((id) => allowed.has(id)) : ids;
250
393
  // Get the entries from local store
251
- const entries = await this.localStore.getEntries(ids);
394
+ const entries = await this.localStore.getEntries(requestedIds);
252
395
  this.logger.debug(`Retrieved ${entries.length} entries from local store`);
396
+ // Per-user revoked-key blacklist (§13): fail-closed on the data-serving
397
+ // path. Even if a client already knows a revoked entry's id, the server
398
+ // never hands back its bytes. A StoreEntry carries its own decryptionKeyId,
399
+ // so we filter without an extra metadata lookup.
400
+ const revoked = await this.resolveRevokedKeyIds(tokenPayload);
401
+ const servableEntries = this.filterMetasByRevokedKeys(entries, revoked);
253
402
  // Encrypt each entry with the user's RSA public key
254
- const encryptedEntries = await this.encryptEntriesForUser(entries, userKeys.encryptionPublicKey);
403
+ const encryptedEntries = await this.encryptEntriesForUser(servableEntries, encryptionPublicKey);
255
404
  this.logger.debug(`Encrypted ${encryptedEntries.length} entries for user: ${username}`);
256
405
  return encryptedEntries;
257
406
  }
@@ -259,7 +408,20 @@ class ServerNetworkContentAddressedStore {
259
408
  this.logger.debug(`Handling getEntryMetadata request for ${id}`);
260
409
  const tokenPayload = await this.validateToken(token);
261
410
  this.logger.debug(`Token validated for user: ${tokenPayload.sub}`);
262
- return this.localStore.getEntryMetadata(id);
411
+ const allowed = await this.wipeAllowedIds(tokenPayload);
412
+ if (allowed && !allowed.has(id)) {
413
+ return null;
414
+ }
415
+ const meta = await this.localStore.getEntryMetadata(id);
416
+ if (!meta)
417
+ return null;
418
+ // Per-user revoked-key blacklist (§13): fail-closed — never reveal metadata
419
+ // for a revoked entry.
420
+ const revoked = await this.resolveRevokedKeyIds(tokenPayload);
421
+ if (revoked && meta.decryptionKeyId && revoked.has(meta.decryptionKeyId)) {
422
+ return null;
423
+ }
424
+ return meta;
263
425
  }
264
426
  /**
265
427
  * Handle a putEntries request from a client.
@@ -272,17 +434,131 @@ class ServerNetworkContentAddressedStore {
272
434
  // Validate token
273
435
  const tokenPayload = await this.validateToken(token);
274
436
  this.logger.debug(`Token validated for user: ${tokenPayload.sub}`);
437
+ // A wipe-targeted device may not push anything (§6.5): it exists only to
438
+ // receive the wipe directive and then delete its local copy.
439
+ if (tokenPayload.wipe && this.wipeGrantDocIdResolver) {
440
+ throw new types_1.NetworkError(types_1.NetworkErrorType.ACCESS_DENIED, "Device is targeted for remote wipe and may not push entries");
441
+ }
442
+ // Per-user revoked-key blacklist (§13): a revoked key id is also a write
443
+ // blacklist — the user may neither receive further updates for it nor push
444
+ // new ones. Resolved once per batch (null for the directory store / when the
445
+ // blacklist is disabled).
446
+ const revokedKeyIds = await this.resolveRevokedKeyIds(tokenPayload);
447
+ // Purged-document denylist (§13): entries belonging to a document whose
448
+ // history was purged on the server may never be re-ingested, so a stale
449
+ // client cannot resurrect purged data. Resolved once per batch (null when
450
+ // disabled / for the directory store).
451
+ const purgedDocIds = this.purgedDocResolver
452
+ ? await this.purgedDocResolver()
453
+ : null;
454
+ // A single acceptance time for this batch so receipts are consistent and a
455
+ // batch cannot interleave with the witness's own monotonic clock (§5.3).
456
+ const receivedAt = Date.now();
457
+ const stampedMetadata = [];
458
+ // Storage-format floor (requireMetadataSignatureSince): this is the
459
+ // authoritative v2 enforcement point. The server compares the admin-signed
460
+ // cutoff against its OWN clock (receivedAt) — never the entry's
461
+ // attacker-settable createdAt — so once the cutoff has passed, no new v1
462
+ // entry can be ingested and a forged v1 entry cannot bypass the floor by
463
+ // backdating. Resolved once per batch. The directory store is exempt: it
464
+ // must always accept so the policy that defines the floor can be read.
465
+ let requireMetadataSignature = false;
466
+ if ((this.witnessDbid ?? this.localStore.getId()) !== "directory" &&
467
+ typeof this.directory.getRequireMetadataSignatureSince === "function") {
468
+ const cutoff = await this.directory.getRequireMetadataSignatureSince();
469
+ requireMetadataSignature = cutoff !== undefined && receivedAt >= cutoff;
470
+ }
275
471
  // Process each entry
472
+ const toStore = [];
473
+ // Audit #4 (revocation lag): force a directory trust refresh once at the
474
+ // start of the batch so a just-pushed revocation is observed immediately
475
+ // instead of lagging by up to DIRECTORY_SYNC_INTERVAL_MS. The refresh
476
+ // updates the shared trust cache, so subsequent entries in the batch reuse
477
+ // it without re-syncing.
478
+ let forceTrustRefresh = true;
276
479
  for (const entry of entries) {
277
- // Verify the entry was created by a trusted user
278
- const isValidKey = await this.directory.validatePublicSigningKey(entry.createdByPublicKey);
480
+ // Reject a push carrying a revoked decryptionKeyId (§13). The user has
481
+ // been removed from this key's distribution, so the server refuses to
482
+ // ingest or propagate further writes under it.
483
+ if (revokedKeyIds &&
484
+ entry.decryptionKeyId &&
485
+ revokedKeyIds.has(entry.decryptionKeyId)) {
486
+ throw new types_1.NetworkError(types_1.NetworkErrorType.ACCESS_DENIED, `Entry ${entry.id} carries a revoked decryptionKeyId and may not be pushed`);
487
+ }
488
+ // Reject a push for a purged document (§13). The document's history was
489
+ // physically purged on the server; re-ingesting these entries would
490
+ // resurrect data that must stay deleted.
491
+ if (purgedDocIds && entry.docId && purgedDocIds.has(entry.docId)) {
492
+ throw new types_1.NetworkError(types_1.NetworkErrorType.ACCESS_DENIED, `Entry ${entry.id} belongs to a purged document and may not be pushed`);
493
+ }
494
+ // Verify the entry was created by a trusted user (baseline Tier 1).
495
+ const isValidKey = await this.directory.validatePublicSigningKey(entry.createdByPublicKey, { forceRefresh: forceTrustRefresh });
496
+ forceTrustRefresh = false;
279
497
  if (!isValidKey) {
280
498
  throw new types_1.NetworkError(types_1.NetworkErrorType.INVALID_SIGNATURE, `Entry ${entry.id} was not signed by a trusted user`);
281
499
  }
500
+ // Zero-trust ingest (audit finding #1 & #5): the server must not witness or
501
+ // propagate an entry it cannot authenticate. Verify that the served bytes
502
+ // hash to the entry's contentHash and that the author signature (the
503
+ // metadata-binding signature when present, otherwise the legacy ciphertext
504
+ // signature) is valid. A trusted key alone is NOT sufficient: anyone
505
+ // holding any trusted key could otherwise push entries with mismatched or
506
+ // absent signatures.
507
+ const subtle = this.cryptoAdapter.getSubtle();
508
+ const actualHash = await (0, idGeneration_1.computeContentHash)(entry.encryptedData, subtle);
509
+ if (actualHash !== entry.contentHash) {
510
+ throw new types_1.NetworkError(types_1.NetworkErrorType.INVALID_SIGNATURE, `Entry ${entry.id} content hash does not match its payload`);
511
+ }
512
+ // Enforce the v2 floor with a clear, dedicated error before the generic
513
+ // signature check (which would also reject it via requireMetadataSignature).
514
+ if (requireMetadataSignature && !entry.metadataSignature) {
515
+ throw new types_1.NetworkError(types_1.NetworkErrorType.INVALID_SIGNATURE, `Entry ${entry.id} must carry a v2 metadata signature (tenant requires v2 as of the configured cutoff)`);
516
+ }
517
+ const isValidSignature = await (0, EntrySignature_1.verifyEntrySignatureCrypto)(entry, entry.encryptedData, entry.createdByPublicKey, subtle, { requireMetadataSignature });
518
+ if (!isValidSignature) {
519
+ throw new types_1.NetworkError(types_1.NetworkErrorType.INVALID_SIGNATURE, `Entry ${entry.id} has an invalid author signature`);
520
+ }
521
+ // Rule-based Tier 1 enforcement (docs/accesscontrol.md §7). The server can
522
+ // only decide the identity tier; content-tier (Tier 2) gates are deferred
523
+ // to clients and treated as allowed here.
524
+ if (this.tier1Evaluator) {
525
+ const decision = await this.tier1Evaluator(entry, this.witnessDbid ?? this.localStore.getId());
526
+ if (!decision.allowed) {
527
+ throw new types_1.NetworkError(types_1.NetworkErrorType.ACCESS_DENIED, `Entry ${entry.id} denied by Tier 1 policy: ${decision.reason}`);
528
+ }
529
+ }
530
+ // Stamp a witness receipt onto the accepted entry (§5.3). Self-authored
531
+ // entries (the witness pushing its own data) are not self-witnessed.
532
+ //
533
+ // Legacy entries (no `entryVersion`) are NOT witnessed: they predate the
534
+ // witness era and the version-aware trusted-time rule treats them as
535
+ // stable at their `createdAt` (see core/storeEntryTime.ts). Stamping a
536
+ // `receivedAt = now` on them when an old local DB first syncs to a fresh
537
+ // server would collapse every old doc onto "today" and re-introduce the
538
+ // "access since: today" bug. Only witness-era writers (`entryVersion`
539
+ // present) are eligible for a receipt.
540
+ if (this.timestampProvider
541
+ && entry.entryVersion !== undefined
542
+ && entry.createdByPublicKey !== this.timestampProvider.issuerPublicKey) {
543
+ const stamp = await this.timestampProvider.stamp(entry, { dbid: this.witnessDbid ?? this.localStore.getId(), receivedAt });
544
+ const witnessed = { ...entry, ...stamp };
545
+ toStore.push(witnessed);
546
+ stampedMetadata.push(this.toMetadata(witnessed));
547
+ }
548
+ else {
549
+ toStore.push(entry);
550
+ stampedMetadata.push(this.toMetadata(entry));
551
+ }
282
552
  }
283
- // Store all entries
284
- await this.localStore.putEntries(entries);
285
- this.logger.debug(`Successfully stored ${entries.length} entries`);
553
+ // Store all entries (witnessed where applicable)
554
+ await this.localStore.putEntries(toStore);
555
+ this.logger.debug(`Successfully stored ${toStore.length} entries`);
556
+ return stampedMetadata;
557
+ }
558
+ /** Project a store entry to its metadata (including any witness fields). */
559
+ toMetadata(entry) {
560
+ const { encryptedData: _encryptedData, ...metadata } = entry;
561
+ return metadata;
286
562
  }
287
563
  /**
288
564
  * Handle a hasEntries request from a client.
@@ -300,7 +576,10 @@ class ServerNetworkContentAddressedStore {
300
576
  // Check which IDs exist in local store
301
577
  const existingIds = await this.localStore.hasEntries(ids);
302
578
  this.logger.debug(`Found ${existingIds.length} existing entries out of ${ids.length} checked`);
303
- return existingIds;
579
+ const allowed = await this.wipeAllowedIds(tokenPayload);
580
+ const scoped = allowed ? existingIds.filter((id) => allowed.has(id)) : existingIds;
581
+ const revoked = await this.resolveRevokedKeyIds(tokenPayload);
582
+ return this.filterIdsByRevokedKeys(scoped, revoked);
304
583
  }
305
584
  /**
306
585
  * Handle a getAllIds request from a client.
@@ -317,7 +596,10 @@ class ServerNetworkContentAddressedStore {
317
596
  // Get all entry IDs from local store
318
597
  const allIds = await this.localStore.getAllIds();
319
598
  this.logger.debug(`Returning ${allIds.length} entry IDs`);
320
- return allIds;
599
+ const allowed = await this.wipeAllowedIds(tokenPayload);
600
+ const scoped = allowed ? allIds.filter((id) => allowed.has(id)) : allIds;
601
+ const revoked = await this.resolveRevokedKeyIds(tokenPayload);
602
+ return this.filterIdsByRevokedKeys(scoped, revoked);
321
603
  }
322
604
  /**
323
605
  * Handle a resolveDependencies request from a client.
@@ -333,10 +615,16 @@ class ServerNetworkContentAddressedStore {
333
615
  // Validate token
334
616
  const tokenPayload = await this.validateToken(token);
335
617
  this.logger.debug(`Token validated for user: ${tokenPayload.sub}`);
618
+ // A wipe-scoped token may not traverse the DAG beyond its grant directive.
619
+ const allowed = await this.wipeAllowedIds(tokenPayload);
620
+ if (allowed) {
621
+ return allowed.has(startId) ? [startId] : [];
622
+ }
336
623
  // Resolve dependencies in local store
337
624
  const resolvedIds = await this.localStore.resolveDependencies(startId, options);
338
625
  this.logger.debug(`Resolved ${resolvedIds.length} dependencies`);
339
- return resolvedIds;
626
+ const revoked = await this.resolveRevokedKeyIds(tokenPayload);
627
+ return this.filterIdsByRevokedKeys(resolvedIds, revoked);
340
628
  }
341
629
  async handlePlanDocumentMaterialization(token, docId, options) {
342
630
  const tokenPayload = await this.validateToken(token);
@@ -368,6 +656,17 @@ class ServerNetworkContentAddressedStore {
368
656
  if (!payload) {
369
657
  throw new types_1.NetworkError(types_1.NetworkErrorType.INVALID_TOKEN, "Invalid or expired token");
370
658
  }
659
+ // Database-open gate (docs/accesscontrol.md, directory-restricted policy).
660
+ // Applied here so it covers every authenticated sync operation (reads and
661
+ // writes) in one place. The directory store is never wired with an
662
+ // evaluator, so it always syncs.
663
+ if (this.dbAccessEvaluator) {
664
+ const dbid = this.witnessDbid ?? this.localStore.getId();
665
+ const allowed = await this.dbAccessEvaluator({ signingKey: payload.deviceSigningKey }, dbid);
666
+ if (!allowed) {
667
+ throw new types_1.NetworkError(types_1.NetworkErrorType.ACCESS_DENIED, `Database "${dbid}" is not in the tenant's allowed database list`);
668
+ }
669
+ }
371
670
  return payload;
372
671
  }
373
672
  /**
@@ -396,6 +695,7 @@ class ServerNetworkContentAddressedStore {
396
695
  signature: entry.signature,
397
696
  originalSize: entry.originalSize,
398
697
  encryptedSize: entry.encryptedSize,
698
+ attachmentRefs: entry.attachmentRefs,
399
699
  rsaEncryptedPayload,
400
700
  };
401
701
  results.push(encryptedEntry);
@@ -404,4 +704,13 @@ class ServerNetworkContentAddressedStore {
404
704
  }
405
705
  }
406
706
  exports.ServerNetworkContentAddressedStore = ServerNetworkContentAddressedStore;
707
+ /** The directory database id, where grant documents live (§6.5). */
708
+ ServerNetworkContentAddressedStore.DIRECTORY_DB_ID = "directory";
709
+ /**
710
+ * Server-side cap on a single `scanEntriesSince` page (DoS guard). A client
711
+ * may request fewer, but never more — an unbounded/huge `limit` would let a
712
+ * caller force the server to materialize and serialize the entire store in one
713
+ * response. Clients page via `nextCursor`/`hasMore` to read more.
714
+ */
715
+ ServerNetworkContentAddressedStore.MAX_SCAN_PAGE_SIZE = 1000;
407
716
  //# sourceMappingURL=ServerNetworkContentAddressedStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerNetworkContentAddressedStore.js","sourceRoot":"","sources":["../../../src/appendonlystores/network/ServerNetworkContentAddressedStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerNetworkContentAddressedStore.js","sourceRoot":"","sources":["../../../src/appendonlystores/network/ServerNetworkContentAddressedStore.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,15 @@ export declare class IndexedDBContentAddressedStore implements ContentAddressedS
67
67
  */
68
68
  getStoredBytes(): Promise<StoreByteTotals>;
69
69
  putEntries(entries: StoreEntry[]): Promise<void>;
70
+ /**
71
+ * Apply witness receipts to already-stored entries (docs/accesscontrol.md §5.3).
72
+ *
73
+ * Updates the witness fields on the affected entry metadata and assigns each a
74
+ * fresh `receiptOrder` (from the persisted counter) so the revision feed's
75
+ * `scanEntriesSince` cursor re-discovers the now-witnessed entries. Receipts
76
+ * whose entry is absent locally, or that match the stored witness, are skipped.
77
+ */
78
+ applyWitnessReceipts(receipts: StoreEntryMetadata[]): Promise<void>;
70
79
  getEntries(ids: string[]): Promise<StoreEntry[]>;
71
80
  getEntryMetadata(id: string): Promise<StoreEntryMetadata | null>;
72
81
  planAttachmentReadByWalkingMetadata(lastChunkId: string, attachmentSize: number, options: AttachmentReadPlanOptions): Promise<AttachmentReadPlan>;
@@ -1 +1 @@
1
- {"version":3,"file":"IndexedDBContentAddressedStore.d.ts","sourceRoot":"","sources":["../../../src/browser/appendonlystores/IndexedDBContentAddressedStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,SAAS,EACV,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,gCAAgC,EAChC,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAoC,MAAM,oBAAoB,CAAC;AAqC9E,UAAU,eAAe;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAYtE;AAqRD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,8BAA+B,YAAW,qBAAqB;IAC1E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,WAAW,CAAqC;gBAGtD,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,SAA0B,EACrC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,gBAAgB;IAoB5B,4EAA4E;IAC5E,OAAO,CAAC,UAAU;IA8HlB,KAAK,IAAI,MAAM;IAIf,YAAY,IAAI,SAAS;IAIzB,gBAAgB,IAAI,MAAM;IAI1B,OAAO,CAAC,eAAe;YAWT,gBAAgB;IAyB9B;;;;;;;;;OASG;IACG,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC;IAiB1C,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoIhD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAyChD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAUhE,mCAAmC,CACvC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC;IAIxB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAuB5C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA+BjE,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAgC1B,WAAW,CACf,IAAI,EAAE,cAAc,EACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAsC1B,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAwB9B,gBAAgB,CACpB,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,KAAK,GAAE,MAAgC,EACvC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC;IA8DrB,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAmCjD,2BAA2B,CAC/B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,2BAA2B,CAAC;IAOjC,gCAAgC,CACpC,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,gCAAgC,CAAC;IAmBtC,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC;IAyDd,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuF7C,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUhF,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBlC,eAAe,CACnB,QAAQ,CAAC,EAAE,sBAAsB,GAChC,OAAO,CAAC,qBAAqB,CAAC;IAQjC,mBAAmB,IAAI,qBAAqB;IAY5C,OAAO,CAAC,kBAAkB;YA+BZ,kBAAkB;YA4ElB,iBAAiB;IAwB/B;;;;OAIG;YACW,2BAA2B;CAqC1C;AAED;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,CAmFrD"}
1
+ {"version":3,"file":"IndexedDBContentAddressedStore.d.ts","sourceRoot":"","sources":["../../../src/browser/appendonlystores/IndexedDBContentAddressedStore.ts"],"names":[],"mappings":"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"}