mindoodb 0.0.85 → 0.0.88

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 (319) hide show
  1. package/README-server.md +6 -2
  2. package/README.md +6 -4
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +2 -1
  5. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  6. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +151 -12
  7. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  8. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +340 -24
  9. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  10. package/dist/browser/index.mjs +14 -0
  11. package/dist/cloudflare/DurableObjectSql.d.ts +56 -0
  12. package/dist/cloudflare/DurableObjectSql.d.ts.map +1 -0
  13. package/dist/cloudflare/DurableObjectSql.js +180 -0
  14. package/dist/cloudflare/DurableObjectSql.js.map +1 -0
  15. package/dist/cloudflare/MindooDatabaseObject.d.ts +86 -0
  16. package/dist/cloudflare/MindooDatabaseObject.d.ts.map +1 -0
  17. package/dist/cloudflare/MindooDatabaseObject.js +614 -0
  18. package/dist/cloudflare/MindooDatabaseObject.js.map +1 -0
  19. package/dist/cloudflare/MindooServerObject.d.ts +63 -0
  20. package/dist/cloudflare/MindooServerObject.d.ts.map +1 -0
  21. package/dist/cloudflare/MindooServerObject.js +521 -0
  22. package/dist/cloudflare/MindooServerObject.js.map +1 -0
  23. package/dist/cloudflare/WorkersCryptoAdapter.d.ts +7 -0
  24. package/dist/cloudflare/WorkersCryptoAdapter.d.ts.map +1 -0
  25. package/dist/cloudflare/WorkersCryptoAdapter.js +14 -0
  26. package/dist/cloudflare/WorkersCryptoAdapter.js.map +1 -0
  27. package/dist/cloudflare/host.d.ts +49 -0
  28. package/dist/cloudflare/host.d.ts.map +1 -0
  29. package/dist/cloudflare/host.js +104 -0
  30. package/dist/cloudflare/host.js.map +1 -0
  31. package/dist/cloudflare/http.d.ts +91 -0
  32. package/dist/cloudflare/http.d.ts.map +1 -0
  33. package/dist/cloudflare/http.js +266 -0
  34. package/dist/cloudflare/http.js.map +1 -0
  35. package/dist/cloudflare/index.d.ts +12 -0
  36. package/dist/cloudflare/index.d.ts.map +1 -0
  37. package/dist/cloudflare/index.js +20 -0
  38. package/dist/cloudflare/index.js.map +1 -0
  39. package/dist/cloudflare/storeRpc.d.ts +22 -0
  40. package/dist/cloudflare/storeRpc.d.ts.map +1 -0
  41. package/dist/cloudflare/storeRpc.js +85 -0
  42. package/dist/cloudflare/storeRpc.js.map +1 -0
  43. package/dist/cloudflare/types.d.ts +101 -0
  44. package/dist/cloudflare/types.d.ts.map +1 -0
  45. package/dist/cloudflare/types.js +10 -0
  46. package/dist/cloudflare/types.js.map +1 -0
  47. package/dist/cloudflare/worker.d.ts +25 -0
  48. package/dist/cloudflare/worker.d.ts.map +1 -0
  49. package/dist/cloudflare/worker.js +170 -0
  50. package/dist/cloudflare/worker.js.map +1 -0
  51. package/dist/core/BaseMindooDB.d.ts +95 -10
  52. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  53. package/dist/core/BaseMindooDB.js +441 -98
  54. package/dist/core/BaseMindooDB.js.map +1 -1
  55. package/dist/core/BaseMindooTenant.d.ts +43 -0
  56. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  57. package/dist/core/BaseMindooTenant.js +157 -6
  58. package/dist/core/BaseMindooTenant.js.map +1 -1
  59. package/dist/core/BaseMindooTenantDirectory.d.ts +103 -0
  60. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  61. package/dist/core/BaseMindooTenantDirectory.js +371 -8
  62. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  63. package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
  64. package/dist/core/BaseMindooTenantFactory.js +2 -1
  65. package/dist/core/BaseMindooTenantFactory.js.map +1 -1
  66. package/dist/core/ChangeDocDraft.d.ts +133 -0
  67. package/dist/core/ChangeDocDraft.d.ts.map +1 -0
  68. package/dist/core/ChangeDocDraft.js +492 -0
  69. package/dist/core/ChangeDocDraft.js.map +1 -0
  70. package/dist/core/MindooDBServerAdmin.d.ts.map +1 -1
  71. package/dist/core/MindooDBServerAdmin.js +2 -1
  72. package/dist/core/MindooDBServerAdmin.js.map +1 -1
  73. package/dist/core/accesscontrol/directoryProjection.d.ts.map +1 -1
  74. package/dist/core/accesscontrol/directoryProjection.js +19 -0
  75. package/dist/core/accesscontrol/directoryProjection.js.map +1 -1
  76. package/dist/core/accesscontrol/evaluate.d.ts +14 -0
  77. package/dist/core/accesscontrol/evaluate.d.ts.map +1 -1
  78. package/dist/core/accesscontrol/evaluate.js +42 -1
  79. package/dist/core/accesscontrol/evaluate.js.map +1 -1
  80. package/dist/core/accesscontrol/types.d.ts +88 -4
  81. package/dist/core/accesscontrol/types.d.ts.map +1 -1
  82. package/dist/core/accesscontrol/types.js +114 -1
  83. package/dist/core/accesscontrol/types.js.map +1 -1
  84. package/dist/core/appendonlystores/network/AuthenticationService.d.ts +14 -0
  85. package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
  86. package/dist/core/appendonlystores/network/AuthenticationService.js +27 -7
  87. package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
  88. package/dist/core/appendonlystores/network/IrohNetworkTransport.d.ts.map +1 -1
  89. package/dist/core/appendonlystores/network/IrohNetworkTransport.js +12 -0
  90. package/dist/core/appendonlystores/network/IrohNetworkTransport.js.map +1 -1
  91. package/dist/core/appendonlystores/network/IrohStreamIO.d.ts.map +1 -1
  92. package/dist/core/appendonlystores/network/IrohStreamIO.js +3 -23
  93. package/dist/core/appendonlystores/network/IrohStreamIO.js.map +1 -1
  94. package/dist/core/appendonlystores/rpc/RpcContentAddressedStore.d.ts +6 -0
  95. package/dist/core/appendonlystores/rpc/RpcContentAddressedStore.d.ts.map +1 -1
  96. package/dist/core/appendonlystores/rpc/RpcContentAddressedStore.js +20 -1
  97. package/dist/core/appendonlystores/rpc/RpcContentAddressedStore.js.map +1 -1
  98. package/dist/core/appendonlystores/rpc/storeRpcCodec.d.ts.map +1 -1
  99. package/dist/core/appendonlystores/rpc/storeRpcCodec.js +3 -23
  100. package/dist/core/appendonlystores/rpc/storeRpcCodec.js.map +1 -1
  101. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.d.ts +7 -0
  102. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.d.ts.map +1 -1
  103. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.js +39 -30
  104. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.js.map +1 -1
  105. package/dist/core/appendonlystores/sqlite/SqliteDriver.d.ts +37 -1
  106. package/dist/core/appendonlystores/sqlite/SqliteDriver.d.ts.map +1 -1
  107. package/dist/core/appendonlystores/sqlite/SqliteDriver.js +99 -40
  108. package/dist/core/appendonlystores/sqlite/SqliteDriver.js.map +1 -1
  109. package/dist/core/appendonlystores/syncStores.d.ts.map +1 -1
  110. package/dist/core/appendonlystores/syncStores.js +25 -5
  111. package/dist/core/appendonlystores/syncStores.js.map +1 -1
  112. package/dist/core/appendonlystores/types.d.ts +7 -1
  113. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  114. package/dist/core/appendonlystores/types.js +1 -0
  115. package/dist/core/appendonlystores/types.js.map +1 -1
  116. package/dist/core/builtinDbInvariants.d.ts +49 -0
  117. package/dist/core/builtinDbInvariants.d.ts.map +1 -1
  118. package/dist/core/builtinDbInvariants.js +86 -1
  119. package/dist/core/builtinDbInvariants.js.map +1 -1
  120. package/dist/core/crypto/AuthChallenge.d.ts +68 -0
  121. package/dist/core/crypto/AuthChallenge.d.ts.map +1 -0
  122. package/dist/core/crypto/AuthChallenge.js +118 -0
  123. package/dist/core/crypto/AuthChallenge.js.map +1 -0
  124. package/dist/core/crypto/DomainStatement.d.ts +5 -3
  125. package/dist/core/crypto/DomainStatement.d.ts.map +1 -1
  126. package/dist/core/crypto/DomainStatement.js +5 -3
  127. package/dist/core/crypto/DomainStatement.js.map +1 -1
  128. package/dist/core/crypto/encryptedFields.d.ts +11 -0
  129. package/dist/core/crypto/encryptedFields.d.ts.map +1 -1
  130. package/dist/core/crypto/encryptedFields.js +18 -0
  131. package/dist/core/crypto/encryptedFields.js.map +1 -1
  132. package/dist/core/expressions/evaluateExpression.d.ts +8 -0
  133. package/dist/core/expressions/evaluateExpression.d.ts.map +1 -1
  134. package/dist/core/expressions/evaluateExpression.js +29 -4
  135. package/dist/core/expressions/evaluateExpression.js.map +1 -1
  136. package/dist/core/expressions/metadata.js +4 -4
  137. package/dist/core/expressions/metadata.js.map +1 -1
  138. package/dist/core/index.d.ts +3 -3
  139. package/dist/core/index.d.ts.map +1 -1
  140. package/dist/core/index.js +17 -6
  141. package/dist/core/index.js.map +1 -1
  142. package/dist/core/query/executeQuery.d.ts.map +1 -1
  143. package/dist/core/query/executeQuery.js +5 -1
  144. package/dist/core/query/executeQuery.js.map +1 -1
  145. package/dist/core/query/executeQueryInclude.d.ts.map +1 -1
  146. package/dist/core/query/executeQueryInclude.js +2 -0
  147. package/dist/core/query/executeQueryInclude.js.map +1 -1
  148. package/dist/core/query/queryView.d.ts.map +1 -1
  149. package/dist/core/query/queryView.js +5 -1
  150. package/dist/core/query/queryView.js.map +1 -1
  151. package/dist/core/types.d.ts +204 -10
  152. package/dist/core/types.d.ts.map +1 -1
  153. package/dist/core/types.js.map +1 -1
  154. package/dist/core/uri/MindooURI.d.ts.map +1 -1
  155. package/dist/core/uri/MindooURI.js +3 -24
  156. package/dist/core/uri/MindooURI.js.map +1 -1
  157. package/dist/core/userkeys/index.d.ts +1 -0
  158. package/dist/core/userkeys/index.d.ts.map +1 -1
  159. package/dist/core/userkeys/index.js +5 -1
  160. package/dist/core/userkeys/index.js.map +1 -1
  161. package/dist/core/userkeys/sealedValues.d.ts +54 -0
  162. package/dist/core/userkeys/sealedValues.d.ts.map +1 -0
  163. package/dist/core/userkeys/sealedValues.js +67 -0
  164. package/dist/core/userkeys/sealedValues.js.map +1 -0
  165. package/dist/core/utils/base64.d.ts +17 -0
  166. package/dist/core/utils/base64.d.ts.map +1 -0
  167. package/dist/core/utils/base64.js +54 -0
  168. package/dist/core/utils/base64.js.map +1 -0
  169. package/dist/core/utils/dynamicImportInterop.d.ts +10 -0
  170. package/dist/core/utils/dynamicImportInterop.d.ts.map +1 -0
  171. package/dist/core/utils/dynamicImportInterop.js +22 -0
  172. package/dist/core/utils/dynamicImportInterop.js.map +1 -0
  173. package/dist/core/utils/idGeneration.d.ts.map +1 -1
  174. package/dist/core/utils/idGeneration.js +14 -3
  175. package/dist/core/utils/idGeneration.js.map +1 -1
  176. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
  177. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +7 -0
  178. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
  179. package/dist/node/server/FsServerDataStore.d.ts +23 -0
  180. package/dist/node/server/FsServerDataStore.d.ts.map +1 -0
  181. package/dist/node/server/FsServerDataStore.js +59 -0
  182. package/dist/node/server/FsServerDataStore.js.map +1 -0
  183. package/dist/node/server/IrohServerEndpoint.d.ts +1 -1
  184. package/dist/node/server/IrohServerEndpoint.d.ts.map +1 -1
  185. package/dist/node/server/IrohServerRpc.d.ts +5 -5
  186. package/dist/node/server/IrohServerRpc.d.ts.map +1 -1
  187. package/dist/node/server/IrohServerRpc.js +1 -1
  188. package/dist/node/server/IrohServerRpc.js.map +1 -1
  189. package/dist/node/server/MindooDBServer.d.ts +29 -150
  190. package/dist/node/server/MindooDBServer.d.ts.map +1 -1
  191. package/dist/node/server/MindooDBServer.js +160 -1573
  192. package/dist/node/server/MindooDBServer.js.map +1 -1
  193. package/dist/node/server/PurgedDocRegistry.d.ts +4 -27
  194. package/dist/node/server/PurgedDocRegistry.d.ts.map +1 -1
  195. package/dist/node/server/PurgedDocRegistry.js +6 -83
  196. package/dist/node/server/PurgedDocRegistry.js.map +1 -1
  197. package/dist/node/server/StoreFactory.d.ts +1 -1
  198. package/dist/node/server/StoreFactory.d.ts.map +1 -1
  199. package/dist/node/server/TenantManager.d.ts +16 -284
  200. package/dist/node/server/TenantManager.d.ts.map +1 -1
  201. package/dist/node/server/TenantManager.js +35 -1168
  202. package/dist/node/server/TenantManager.js.map +1 -1
  203. package/dist/node/server/add-to-network.js +1 -1
  204. package/dist/node/server/add-to-network.js.map +1 -1
  205. package/dist/node/server/config.d.ts +11 -15
  206. package/dist/node/server/config.d.ts.map +1 -1
  207. package/dist/node/server/config.js +30 -245
  208. package/dist/node/server/config.js.map +1 -1
  209. package/dist/node/server/expressAdapter.d.ts +23 -0
  210. package/dist/node/server/expressAdapter.d.ts.map +1 -0
  211. package/dist/node/server/expressAdapter.js +108 -0
  212. package/dist/node/server/expressAdapter.js.map +1 -0
  213. package/dist/node/server/nativeIrohStreamIO.d.ts +1 -1
  214. package/dist/node/server/nativeIrohStreamIO.d.ts.map +1 -1
  215. package/dist/node/server/peer/FileClusterAuditStorage.d.ts +16 -0
  216. package/dist/node/server/peer/FileClusterAuditStorage.d.ts.map +1 -0
  217. package/dist/node/server/peer/FileClusterAuditStorage.js +39 -0
  218. package/dist/node/server/peer/FileClusterAuditStorage.js.map +1 -0
  219. package/dist/node/server/peer/IrohPeerLink.d.ts +1 -1
  220. package/dist/node/server/peer/IrohPeerLink.d.ts.map +1 -1
  221. package/dist/node/server/peer/routes.d.ts +10 -44
  222. package/dist/node/server/peer/routes.d.ts.map +1 -1
  223. package/dist/node/server/peer/routes.js +33 -275
  224. package/dist/node/server/peer/routes.js.map +1 -1
  225. package/dist/node/server/resolveServerPassword.js +1 -1
  226. package/dist/node/server/resolveServerPassword.js.map +1 -1
  227. package/dist/node/server/server.js +1 -1
  228. package/dist/node/server/server.js.map +1 -1
  229. package/dist/node/server/serverinit.js +1 -1
  230. package/dist/node/server/serverinit.js.map +1 -1
  231. package/dist/server/CapabilityMatcher.d.ts +60 -0
  232. package/dist/server/CapabilityMatcher.d.ts.map +1 -0
  233. package/dist/server/CapabilityMatcher.js +138 -0
  234. package/dist/server/CapabilityMatcher.js.map +1 -0
  235. package/dist/server/DeviceDiscoveryService.d.ts +36 -0
  236. package/dist/server/DeviceDiscoveryService.d.ts.map +1 -0
  237. package/dist/server/DeviceDiscoveryService.js +164 -0
  238. package/dist/server/DeviceDiscoveryService.js.map +1 -0
  239. package/dist/server/PurgedDocRegistry.d.ts +35 -0
  240. package/dist/server/PurgedDocRegistry.d.ts.map +1 -0
  241. package/dist/server/PurgedDocRegistry.js +90 -0
  242. package/dist/server/PurgedDocRegistry.js.map +1 -0
  243. package/dist/server/ServerDataStore.d.ts +67 -0
  244. package/dist/server/ServerDataStore.d.ts.map +1 -0
  245. package/dist/server/ServerDataStore.js +88 -0
  246. package/dist/server/ServerDataStore.js.map +1 -0
  247. package/dist/server/SyncEventBus.d.ts +39 -0
  248. package/dist/server/SyncEventBus.d.ts.map +1 -0
  249. package/dist/server/SyncEventBus.js +41 -0
  250. package/dist/server/SyncEventBus.js.map +1 -0
  251. package/dist/server/SystemAdminAuth.d.ts +82 -0
  252. package/dist/server/SystemAdminAuth.d.ts.map +1 -0
  253. package/dist/server/SystemAdminAuth.js +227 -0
  254. package/dist/server/SystemAdminAuth.js.map +1 -0
  255. package/dist/server/TenantManager.d.ts +366 -0
  256. package/dist/server/TenantManager.d.ts.map +1 -0
  257. package/dist/server/TenantManager.js +1416 -0
  258. package/dist/server/TenantManager.js.map +1 -0
  259. package/dist/server/http/MindooDBServerCore.d.ts +313 -0
  260. package/dist/server/http/MindooDBServerCore.d.ts.map +1 -0
  261. package/dist/server/http/MindooDBServerCore.js +1410 -0
  262. package/dist/server/http/MindooDBServerCore.js.map +1 -0
  263. package/dist/server/http/types.d.ts +89 -0
  264. package/dist/server/http/types.d.ts.map +1 -0
  265. package/dist/server/http/types.js +29 -0
  266. package/dist/server/http/types.js.map +1 -0
  267. package/dist/server/index.d.ts +32 -0
  268. package/dist/server/index.d.ts.map +1 -0
  269. package/dist/server/index.js +76 -0
  270. package/dist/server/index.js.map +1 -0
  271. package/dist/server/peer/ClusterAuditLog.d.ts +71 -0
  272. package/dist/server/peer/ClusterAuditLog.d.ts.map +1 -0
  273. package/dist/server/peer/ClusterAuditLog.js +81 -0
  274. package/dist/server/peer/ClusterAuditLog.js.map +1 -0
  275. package/dist/server/peer/ClusterJobRunner.d.ts +43 -0
  276. package/dist/server/peer/ClusterJobRunner.d.ts.map +1 -0
  277. package/dist/server/peer/ClusterJobRunner.js +119 -0
  278. package/dist/server/peer/ClusterJobRunner.js.map +1 -0
  279. package/dist/server/peer/ClusterManager.d.ts +149 -0
  280. package/dist/server/peer/ClusterManager.d.ts.map +1 -0
  281. package/dist/server/peer/ClusterManager.js +292 -0
  282. package/dist/server/peer/ClusterManager.js.map +1 -0
  283. package/dist/server/peer/PeerAuthService.d.ts +69 -0
  284. package/dist/server/peer/PeerAuthService.d.ts.map +1 -0
  285. package/dist/server/peer/PeerAuthService.js +207 -0
  286. package/dist/server/peer/PeerAuthService.js.map +1 -0
  287. package/dist/server/peer/PeerReplicator.d.ts +303 -0
  288. package/dist/server/peer/PeerReplicator.d.ts.map +1 -0
  289. package/dist/server/peer/PeerReplicator.js +1072 -0
  290. package/dist/server/peer/PeerReplicator.js.map +1 -0
  291. package/dist/server/peer/clusterHttp.d.ts +113 -0
  292. package/dist/server/peer/clusterHttp.d.ts.map +1 -0
  293. package/dist/server/peer/clusterHttp.js +290 -0
  294. package/dist/server/peer/clusterHttp.js.map +1 -0
  295. package/dist/server/peer/types.d.ts +244 -0
  296. package/dist/server/peer/types.d.ts.map +1 -0
  297. package/dist/server/peer/types.js +189 -0
  298. package/dist/server/peer/types.js.map +1 -0
  299. package/dist/server/rateLimits.d.ts +119 -0
  300. package/dist/server/rateLimits.d.ts.map +1 -0
  301. package/dist/server/rateLimits.js +159 -0
  302. package/dist/server/rateLimits.js.map +1 -0
  303. package/dist/server/serverConfig.d.ts +37 -0
  304. package/dist/server/serverConfig.d.ts.map +1 -0
  305. package/dist/server/serverConfig.js +251 -0
  306. package/dist/server/serverConfig.js.map +1 -0
  307. package/dist/server/timestampProxy.d.ts +129 -0
  308. package/dist/server/timestampProxy.d.ts.map +1 -0
  309. package/dist/server/timestampProxy.js +361 -0
  310. package/dist/server/timestampProxy.js.map +1 -0
  311. package/dist/server/types.d.ts +267 -0
  312. package/dist/server/types.d.ts.map +1 -0
  313. package/dist/server/types.js +56 -0
  314. package/dist/server/types.js.map +1 -0
  315. package/dist/server/validation.d.ts +43 -0
  316. package/dist/server/validation.d.ts.map +1 -0
  317. package/dist/server/validation.js +104 -0
  318. package/dist/server/validation.js.map +1 -0
  319. package/package.json +9 -1
@@ -23,6 +23,7 @@ function parsePolicyDoc(data) {
23
23
  denyDocUndelete: bool(data.denyDocUndelete),
24
24
  denyDocSnapshot: bool(data.denyDocSnapshot),
25
25
  denyDocRead: bool(data.denyDocRead),
26
+ docReadScope: data.docReadScope === "own" ? "own" : data.docReadScope === "all" ? "all" : undefined,
26
27
  defaultCreateKeyId: typeof data.defaultCreateKeyId === "string" ? data.defaultCreateKeyId : undefined,
27
28
  databaseCreationPolicy: data.databaseCreationPolicy === "directory-restricted"
28
29
  ? "directory-restricted"
@@ -35,8 +36,20 @@ function parsePolicyDoc(data) {
35
36
  ? data.requireMetadataSignatureSince
36
37
  : undefined,
37
38
  llm: parseLlmEndpointPolicy(data.llm),
39
+ personalDatabasePrefixes: stringArray(data.personalDatabasePrefixes)?.filter((prefix) => /^[a-z][a-z0-9]*_$/.test(prefix)),
40
+ internalMail: data.internalMail === "off" || data.internalMail === "members" || data.internalMail === "rules"
41
+ ? data.internalMail
42
+ : undefined,
43
+ internalMailLimits: parseInternalMailLimits(data.internalMailLimits),
38
44
  };
39
45
  }
46
+ function parseInternalMailLimits(value) {
47
+ if (typeof value !== "object" || value === null || Array.isArray(value))
48
+ return undefined;
49
+ const v = value;
50
+ const positive = (x) => (typeof x === "number" && Number.isInteger(x) && x > 0 ? x : undefined);
51
+ return { maxBytesPerMail: positive(v.maxBytesPerMail), maxMailsPerHour: positive(v.maxMailsPerHour) };
52
+ }
40
53
  /**
41
54
  * Parse the `llm` block of a default policy. Malformed members are dropped
42
55
  * rather than failing the whole policy; a block without usable members still
@@ -80,6 +93,12 @@ function parseRuleDoc(data, ruleType) {
80
93
  users_hashes: usersHashes,
81
94
  users_encrypted: typeof data.users_encrypted === "string" ? data.users_encrypted : "",
82
95
  action: data.action === "deny" ? "deny" : "allow",
96
+ ...(ruleType === "doc_deposit" && typeof data.maxRecipients === "number"
97
+ ? { maxRecipients: data.maxRecipients }
98
+ : {}),
99
+ ...(ruleType === "doc_deposit" && Array.isArray(data.docIdPrefixes)
100
+ ? { docIdPrefixes: data.docIdPrefixes.filter((p) => typeof p === "string" && p.length > 0) }
101
+ : {}),
83
102
  };
84
103
  }
85
104
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"directoryProjection.js","sourceRoot":"","sources":["../../../src/core/accesscontrol/directoryProjection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directoryProjection.js","sourceRoot":"","sources":["../../../src/core/accesscontrol/directoryProjection.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,20 @@ export declare function evaluateLlmUse(input: {
82
82
  identity: IdentitySet;
83
83
  node: DirectoryStateNode;
84
84
  }): AccessDecision;
85
+ /**
86
+ * Whether the acting user reads every document of a database whose
87
+ * `docReadScope` is `"own"` (`doc_read_all`, docs/accesscontrol.md §6.12).
88
+ *
89
+ * Baseline is deny (only the own documents); a matching allow rule for this
90
+ * database (or `"*"`) opens all documents, deny overrides allow. The master
91
+ * switch turns the whole scope off (everyone reads everything), as it does
92
+ * every other check. The tenant admin is handled by the caller.
93
+ */
94
+ export declare function evaluateDocReadAll(input: {
95
+ dbid: string;
96
+ identity: IdentitySet;
97
+ node: DirectoryStateNode;
98
+ }): AccessDecision;
85
99
  /**
86
100
  * Convenience: the set of reserved pseudo-tokens an identity always/optionally
87
101
  * carries. `$everyone` is always present for registered users; `$admin` and
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../src/core/accesscontrol/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAGd,kBAAkB,EAClB,mBAAmB,EAGnB,QAAQ,EAER,aAAa,EAGd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;;GASG;AAEH;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;OAKG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB;AAED,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,EAAE,EAAE,QAAQ,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,QAAQ,EAAE,WAAW,CAAC;IACtB,mEAAmE;IACnE,IAAI,EAAE,kBAAkB,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,aAAa,CAE5D;AAUD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CA4FzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAAG,cAAc,CAgBzG;AA8GD;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAA4B,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../src/core/accesscontrol/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAGd,kBAAkB,EAClB,mBAAmB,EAGnB,QAAQ,EAER,aAAa,EAId,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;;GASG;AAEH;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;OAKG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB;AAED,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,EAAE,EAAE,QAAQ,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,QAAQ,EAAE,WAAW,CAAC;IACtB,mEAAmE;IACnE,IAAI,EAAE,kBAAkB,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,aAAa,CAE5D;AAUD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAkGzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAAG,cAAc,CAgBzG;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,kBAAkB,CAAC;CAC1B,GAAG,cAAc,CA2BjB;AA8GD;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAA4B,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -4,6 +4,7 @@ exports.PSEUDO_TOKEN_AUTHOR = exports.PSEUDO_TOKEN_ADMIN = exports.ALWAYS_PRESEN
4
4
  exports.defaultWhenForOp = defaultWhenForOp;
5
5
  exports.evaluateAccess = evaluateAccess;
6
6
  exports.evaluateLlmUse = evaluateLlmUse;
7
+ exports.evaluateDocReadAll = evaluateDocReadAll;
7
8
  const types_1 = require("./types");
8
9
  Object.defineProperty(exports, "PSEUDO_TOKEN_ADMIN", { enumerable: true, get: function () { return types_1.PSEUDO_TOKEN_ADMIN; } });
9
10
  Object.defineProperty(exports, "PSEUDO_TOKEN_AUTHOR", { enumerable: true, get: function () { return types_1.PSEUDO_TOKEN_AUTHOR; } });
@@ -27,6 +28,10 @@ function evaluateAccess(input) {
27
28
  if (op === "llm_use") {
28
29
  return evaluateLlmUse({ identity, node });
29
30
  }
31
+ // `doc_read_all` only matters in a `docReadScope: "own"` database (§6.12).
32
+ if (op === "doc_read_all") {
33
+ return evaluateDocReadAll({ dbid, identity, node });
34
+ }
30
35
  // No policy document has ever existed -> access control was never enabled ->
31
36
  // everything is allowed (§6.1, the "no acl_defaultpolicy" state).
32
37
  if (node.defaultPolicy === null) {
@@ -47,11 +52,13 @@ function evaluateAccess(input) {
47
52
  doc_undelete: eff.denyDocUndelete,
48
53
  doc_snapshot: eff.denyDocSnapshot,
49
54
  doc_read: eff.denyDocRead,
55
+ // No baseline flag: only an explicit allow rule grants deposit (§6.10).
56
+ doc_deposit: true,
50
57
  }[op];
51
58
  const baselineDenied = denyField === true;
52
59
  // Step 4: collect rules of this type whose dbid matches and whose users_hashes
53
60
  // intersect the identity set.
54
- const candidateRules = (node.rulesByType.get(op) ?? []).filter((r) => (r.dbid === dbid || r.dbid === "*") && intersects(r.users_hashes, identity.hashes));
61
+ const candidateRules = (node.rulesByType.get(op) ?? []).filter((r) => (0, types_1.ruleMatchesDbid)(r.dbid, dbid) && intersects(r.users_hashes, identity.hashes));
55
62
  // Partition into Tier 1 (no withfields) and Tier 2 (withfields) rules.
56
63
  let denyMatched = null;
57
64
  let allowMatched = null;
@@ -124,6 +131,40 @@ function evaluateLlmUse(input) {
124
131
  ? deny("denied by baseline policy for llm_use", "tier1")
125
132
  : allow("allowed by baseline policy for llm_use", "tier1");
126
133
  }
134
+ /**
135
+ * Whether the acting user reads every document of a database whose
136
+ * `docReadScope` is `"own"` (`doc_read_all`, docs/accesscontrol.md §6.12).
137
+ *
138
+ * Baseline is deny (only the own documents); a matching allow rule for this
139
+ * database (or `"*"`) opens all documents, deny overrides allow. The master
140
+ * switch turns the whole scope off (everyone reads everything), as it does
141
+ * every other check. The tenant admin is handled by the caller.
142
+ */
143
+ function evaluateDocReadAll(input) {
144
+ const { dbid, identity, node } = input;
145
+ if (node.defaultPolicy === null) {
146
+ return allow("access control not enabled (no default policy)", "tier1");
147
+ }
148
+ const eff = (0, types_1.effectivePolicy)(node.defaultPolicy, node.dbPolicies.get(dbid) ?? null);
149
+ if (eff.disableAllAccessChecksAndPolicies) {
150
+ return allow("access control disabled by master switch", "tier1");
151
+ }
152
+ if (eff.docReadScope !== "own") {
153
+ return allow(`docReadScope of ${dbid} is "all"`, "tier1");
154
+ }
155
+ const rules = (node.rulesByType.get("doc_read_all") ?? []).filter((r) => (r.dbid === dbid || r.dbid === "*") &&
156
+ (r.withfields?.length ?? 0) === 0 &&
157
+ intersects(r.users_hashes, identity.hashes));
158
+ const denyRule = rules.find((r) => r.action === "deny");
159
+ if (denyRule) {
160
+ return deny(`denied by rule ${denyRule.ruleId}`, "tier1", denyRule.ruleId);
161
+ }
162
+ const allowRule = rules.find((r) => r.action === "allow");
163
+ if (allowRule) {
164
+ return allow(`allowed by rule ${allowRule.ruleId}`, "tier1", allowRule.ruleId);
165
+ }
166
+ return deny(`docReadScope of ${dbid} is "own"`, "tier1");
167
+ }
127
168
  /** Returns true if any element of `hashes` is in `set`. */
128
169
  function intersects(hashes, set) {
129
170
  for (const h of hashes) {
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../../src/core/accesscontrol/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../../src/core/accesscontrol/evaluate.ts"],"names":[],"mappings":"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"}
@@ -27,9 +27,28 @@ export declare const ACCESS_CONTROL_FORM: "accesscontrol";
27
27
  * evaluated by {@link evaluateLlmUse}, independent of the master switch. Like
28
28
  * the rest of the `llm` block it is client-enforced.
29
29
  */
30
- export type RuleType = "doc_create" | "doc_change" | "doc_delete" | "doc_undelete" | "doc_snapshot" | "doc_read" | "llm_use";
30
+ export type RuleType = "doc_create" | "doc_change" | "doc_delete" | "doc_undelete" | "doc_snapshot" | "doc_read" | "doc_read_all" | "doc_deposit" | "llm_use";
31
31
  /** All valid {@link RuleType} values, for validation and iteration. */
32
32
  export declare const RULE_TYPES: readonly RuleType[];
33
+ /**
34
+ * `doc_deposit` (§6.10): a database-level right to put sealed documents into a
35
+ * database the principal may not read. Only an explicit allow rule grants it
36
+ * (there is no baseline flag), it never carries `withfields`, and its `dbid`
37
+ * may be exact, `"*"`, or a prefix pattern ending in `*` (e.g. `"mmail_*"`), so
38
+ * one rule can cover a family of per-person databases.
39
+ *
40
+ * {@link AclRuleDoc.maxRecipients} bounds how many recipient wraps a deposited
41
+ * `doc_create` may carry; it defaults to {@link DEFAULT_DEPOSIT_MAX_RECIPIENTS}.
42
+ */
43
+ export declare const DEFAULT_DEPOSIT_MAX_RECIPIENTS = 1;
44
+ /** Upper bound accepted for {@link AclRuleDoc.maxRecipients}. */
45
+ export declare const MAX_DEPOSIT_RECIPIENTS = 100;
46
+ /**
47
+ * Whether a rule's `dbid` applies to `dbid`. `"*"` matches every database; a
48
+ * pattern ending in `*` (only valid on `doc_deposit` rules, see
49
+ * {@link validateAclRule}) matches by prefix.
50
+ */
51
+ export declare function ruleMatchesDbid(ruleDbid: string, dbid: string): boolean;
33
52
  /** Comparison operators usable in a {@link WithFieldClause}. Closed set. */
34
53
  export type Operator = "equals" | "notEquals" | "contains" | "containsAny" | "containsAll" | "exists" | "notExists" | "gt" | "gte" | "lt" | "lte";
35
54
  /** All valid {@link Operator} values. */
@@ -116,6 +135,17 @@ export interface DefaultAccessPolicyDoc {
116
135
  * itself can be read). Defaults to false.
117
136
  */
118
137
  denyDocRead?: boolean;
138
+ /**
139
+ * Which documents of the database a member may read (§6.12). `"all"`
140
+ * (default): every document. `"own"`: only documents whose `doc_create` was
141
+ * signed by one of the member's own signing keys (same grant, any device);
142
+ * the sync server leaves out everything else on every read path and refuses
143
+ * writes into other people's documents. The tenant admin and members matched
144
+ * by a `doc_read_all` allow rule still read everything. Layers per-db over
145
+ * the tenant default in {@link effectivePolicy}; usually set per-db only.
146
+ * Server-enforced (Tier 1, metadata only).
147
+ */
148
+ docReadScope?: "all" | "own";
119
149
  /**
120
150
  * Optional default `decryptionKeyId` for a `doc_create` that does not specify
121
151
  * one in the governed scope (tenant default, or a single database when set on
@@ -184,7 +214,38 @@ export interface DefaultAccessPolicyDoc {
184
214
  * the whole object is replaced on write. See {@link LlmEndpointPolicy}.
185
215
  */
186
216
  llm?: LlmEndpointPolicy;
217
+ /**
218
+ * More personal-database prefixes (§6.11), in addition to the built-in ones
219
+ * (`mmail_`). Tenant default policy only. Adding a prefix only ever makes
220
+ * databases more private: the built-in rule applies to every database id
221
+ * `<prefix><grantDocId>`. Like `llm` it holds while the master switch is on.
222
+ */
223
+ personalDatabasePrefixes?: string[];
224
+ /**
225
+ * Internal mail between tenant members (§6.11, "Internal mail"): who may
226
+ * deposit MindooMail messages (`memo_…`, sealed to the owner) into another
227
+ * person's `mmail_<grantDocId>`. `"members"` (default): every member with a
228
+ * grant. `"rules"`: only members matched by a `doc_deposit` allow rule for
229
+ * the mailbox (e.g. `dbid: "mmail_*"`, a group). `"off"`: nobody (only
230
+ * grants with `depositPrefixes`, such as the mail gateway). A `doc_deposit`
231
+ * deny rule always wins, so one member's right can be taken away. Tenant
232
+ * default policy only; holds while the master switch is on.
233
+ */
234
+ internalMail?: "off" | "members" | "rules";
235
+ /**
236
+ * Limits for internal mail deposits, enforced by the sync server per sender
237
+ * and mailbox: `maxBytesPerMail` (document plus attachments, default
238
+ * 25 MiB) and `maxMailsPerHour` (default 200). Tenant default policy only.
239
+ */
240
+ internalMailLimits?: InternalMailLimits;
187
241
  }
242
+ /** {@link DefaultAccessPolicyDoc.internalMailLimits}. */
243
+ export interface InternalMailLimits {
244
+ maxBytesPerMail?: number;
245
+ maxMailsPerHour?: number;
246
+ }
247
+ /** Defaults for {@link DefaultAccessPolicyDoc.internalMailLimits}. */
248
+ export declare const DEFAULT_INTERNAL_MAIL_LIMITS: Required<InternalMailLimits>;
188
249
  /**
189
250
  * The `llm` block of the tenant default policy.
190
251
  *
@@ -212,12 +273,14 @@ export interface LlmEndpointPolicy {
212
273
  * The effective baseline defaults when a policy document exists but omits a
213
274
  * field (§6.1). Snapshot and purge default to denied (admin-only).
214
275
  */
215
- export declare const DEFAULT_POLICY_DEFAULTS: Required<Omit<DefaultAccessPolicyDoc, "form" | "type" | "disableAllAccessChecksAndPolicies" | "defaultCreateKeyId" | "databaseCreationPolicy" | "allowedDbIds" | "requireMetadataSignatureSince" | "llm">>;
276
+ export declare const DEFAULT_POLICY_DEFAULTS: Required<Omit<DefaultAccessPolicyDoc, "form" | "type" | "disableAllAccessChecksAndPolicies" | "defaultCreateKeyId" | "docReadScope" | "databaseCreationPolicy" | "allowedDbIds" | "requireMetadataSignatureSince" | "llm" | "personalDatabasePrefixes" | "internalMail" | "internalMailLimits">>;
216
277
  /**
217
278
  * Map a database-scoped {@link RuleType} to the policy `deny<Op>` field that
218
279
  * gates it. `llm_use` is not listed: its baseline is `llm.denyUse` (§6.9).
280
+ * Neither is `doc_deposit`: it has no baseline flag and is always denied
281
+ * unless an allow rule grants it (§6.10).
219
282
  */
220
- export declare const RULE_TYPE_TO_DENY_FIELD: Record<Exclude<RuleType, "llm_use">, keyof typeof DEFAULT_POLICY_DEFAULTS>;
283
+ export declare const RULE_TYPE_TO_DENY_FIELD: Record<Exclude<RuleType, "llm_use" | "doc_read_all" | "doc_deposit">, keyof typeof DEFAULT_POLICY_DEFAULTS>;
221
284
  /** A single access-control rule (§6.3). */
222
285
  export interface AclRuleDoc {
223
286
  form: typeof ACCESS_CONTROL_FORM;
@@ -241,6 +304,17 @@ export interface AclRuleDoc {
241
304
  */
242
305
  users_encrypted: string;
243
306
  action: "allow" | "deny";
307
+ /**
308
+ * `doc_deposit` only: the largest number of recipient wraps a deposited
309
+ * `doc_create` may carry (1..{@link MAX_DEPOSIT_RECIPIENTS}). Absent means
310
+ * {@link DEFAULT_DEPOSIT_MAX_RECIPIENTS}. Ignored on every other rule type.
311
+ */
312
+ maxRecipients?: number;
313
+ /**
314
+ * `doc_deposit` only: the document ids a depositor may create must start with
315
+ * one of these prefixes (e.g. `["proposal_"]`). Absent or empty: any id.
316
+ */
317
+ docIdPrefixes?: string[];
244
318
  }
245
319
  /**
246
320
  * Decrypted targets of a rule, for admin-UI display only (never serialized to
@@ -311,12 +385,21 @@ export declare function validateWithFieldClause(clause: WithFieldClause, ruleTyp
311
385
  * directory sets). Enforces the closed type/operator/placeholder sets and the
312
386
  * `withfields` constraints (§6.3). Throws on the first violation.
313
387
  */
388
+ /**
389
+ * Document-id prefixes for deposits (§6.10): an array of non-empty strings
390
+ * made of the characters document ids use. Throws on violation.
391
+ */
392
+ export declare function validateDocIdPrefixes(prefixes: unknown, what: string): void;
393
+ /** Whether `docId` passes a deposit's `docIdPrefixes` (absent or empty: any id). */
394
+ export declare function docIdMatchesPrefixes(docId: string, prefixes: readonly string[] | undefined): boolean;
314
395
  export declare function validateAclRule(rule: {
315
396
  type: RuleType;
316
397
  dbid: string;
317
398
  action: "allow" | "deny";
318
399
  users_hashes: string[];
319
400
  withfields?: WithFieldClause[];
401
+ maxRecipients?: number;
402
+ docIdPrefixes?: string[];
320
403
  }): void;
321
404
  /**
322
405
  * Validate a {@link DefaultAccessPolicyDoc} (tenant default or per-db) before
@@ -335,8 +418,9 @@ export declare function validateLlmEndpointPolicy(llm: unknown): void;
335
418
  * A `null`/absent default policy means access control was never enabled, which
336
419
  * callers should treat as "all allowed" before calling this.
337
420
  */
338
- export declare function effectivePolicy(tenantDefault: DefaultAccessPolicyDoc | null | undefined, dbPolicy: DefaultAccessPolicyDoc | null | undefined): Required<Omit<DefaultAccessPolicyDoc, "form" | "type" | "defaultCreateKeyId" | "databaseCreationPolicy" | "allowedDbIds" | "requireMetadataSignatureSince" | "llm">> & {
421
+ export declare function effectivePolicy(tenantDefault: DefaultAccessPolicyDoc | null | undefined, dbPolicy: DefaultAccessPolicyDoc | null | undefined): Required<Omit<DefaultAccessPolicyDoc, "form" | "type" | "defaultCreateKeyId" | "docReadScope" | "databaseCreationPolicy" | "allowedDbIds" | "requireMetadataSignatureSince" | "llm" | "personalDatabasePrefixes" | "internalMail" | "internalMailLimits">> & {
339
422
  defaultCreateKeyId?: string;
423
+ docReadScope: "all" | "own";
340
424
  };
341
425
  /**
342
426
  * Key distribution type tag (the `type` field of a {@link KeyDistributionDoc}).
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/accesscontrol/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/accesscontrol/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
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;
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.DEFAULT_INTERNAL_MAIL_LIMITS = exports.RESERVED_PSEUDO_TOKENS = exports.PSEUDO_TOKEN_AUTHOR = exports.PSEUDO_TOKEN_ADMIN = exports.PSEUDO_TOKEN_EVERYONE = exports.PLACEHOLDERS = exports.OPERATORS = exports.MAX_DEPOSIT_RECIPIENTS = exports.DEFAULT_DEPOSIT_MAX_RECIPIENTS = exports.RULE_TYPES = exports.ACCESS_CONTROL_FORM = void 0;
4
+ exports.ruleMatchesDbid = ruleMatchesDbid;
4
5
  exports.isPlaceholder = isPlaceholder;
5
6
  exports.encodeAclIdComponent = encodeAclIdComponent;
6
7
  exports.decodeAclIdComponent = decodeAclIdComponent;
@@ -8,6 +9,8 @@ exports.aclDbPolicyDocId = aclDbPolicyDocId;
8
9
  exports.aclTrustedWitnessDocId = aclTrustedWitnessDocId;
9
10
  exports.aclRuleDocId = aclRuleDocId;
10
11
  exports.validateWithFieldClause = validateWithFieldClause;
12
+ exports.validateDocIdPrefixes = validateDocIdPrefixes;
13
+ exports.docIdMatchesPrefixes = docIdMatchesPrefixes;
11
14
  exports.validateAclRule = validateAclRule;
12
15
  exports.validateAccessPolicy = validateAccessPolicy;
13
16
  exports.isValidLlmEndpointUrl = isValidLlmEndpointUrl;
@@ -48,8 +51,33 @@ exports.RULE_TYPES = [
48
51
  "doc_undelete",
49
52
  "doc_snapshot",
50
53
  "doc_read",
54
+ "doc_read_all",
55
+ "doc_deposit",
51
56
  "llm_use",
52
57
  ];
58
+ /**
59
+ * `doc_deposit` (§6.10): a database-level right to put sealed documents into a
60
+ * database the principal may not read. Only an explicit allow rule grants it
61
+ * (there is no baseline flag), it never carries `withfields`, and its `dbid`
62
+ * may be exact, `"*"`, or a prefix pattern ending in `*` (e.g. `"mmail_*"`), so
63
+ * one rule can cover a family of per-person databases.
64
+ *
65
+ * {@link AclRuleDoc.maxRecipients} bounds how many recipient wraps a deposited
66
+ * `doc_create` may carry; it defaults to {@link DEFAULT_DEPOSIT_MAX_RECIPIENTS}.
67
+ */
68
+ exports.DEFAULT_DEPOSIT_MAX_RECIPIENTS = 1;
69
+ /** Upper bound accepted for {@link AclRuleDoc.maxRecipients}. */
70
+ exports.MAX_DEPOSIT_RECIPIENTS = 100;
71
+ /**
72
+ * Whether a rule's `dbid` applies to `dbid`. `"*"` matches every database; a
73
+ * pattern ending in `*` (only valid on `doc_deposit` rules, see
74
+ * {@link validateAclRule}) matches by prefix.
75
+ */
76
+ function ruleMatchesDbid(ruleDbid, dbid) {
77
+ if (ruleDbid === "*" || ruleDbid === dbid)
78
+ return true;
79
+ return ruleDbid.length > 1 && ruleDbid.endsWith("*") && dbid.startsWith(ruleDbid.slice(0, -1));
80
+ }
53
81
  /** All valid {@link Operator} values. */
54
82
  exports.OPERATORS = [
55
83
  "equals",
@@ -90,6 +118,11 @@ exports.RESERVED_PSEUDO_TOKENS = [
90
118
  exports.PSEUDO_TOKEN_ADMIN,
91
119
  exports.PSEUDO_TOKEN_AUTHOR,
92
120
  ];
121
+ /** Defaults for {@link DefaultAccessPolicyDoc.internalMailLimits}. */
122
+ exports.DEFAULT_INTERNAL_MAIL_LIMITS = {
123
+ maxBytesPerMail: 25 * 1024 * 1024,
124
+ maxMailsPerHour: 200,
125
+ };
93
126
  /**
94
127
  * The effective baseline defaults when a policy document exists but omits a
95
128
  * field (§6.1). Snapshot and purge default to denied (admin-only).
@@ -105,6 +138,8 @@ exports.DEFAULT_POLICY_DEFAULTS = {
105
138
  /**
106
139
  * Map a database-scoped {@link RuleType} to the policy `deny<Op>` field that
107
140
  * gates it. `llm_use` is not listed: its baseline is `llm.denyUse` (§6.9).
141
+ * Neither is `doc_deposit`: it has no baseline flag and is always denied
142
+ * unless an allow rule grants it (§6.10).
108
143
  */
109
144
  exports.RULE_TYPE_TO_DENY_FIELD = {
110
145
  doc_create: "denyDocCreate",
@@ -220,6 +255,25 @@ function validateWithFieldClause(clause, ruleType) {
220
255
  * directory sets). Enforces the closed type/operator/placeholder sets and the
221
256
  * `withfields` constraints (§6.3). Throws on the first violation.
222
257
  */
258
+ /**
259
+ * Document-id prefixes for deposits (§6.10): an array of non-empty strings
260
+ * made of the characters document ids use. Throws on violation.
261
+ */
262
+ function validateDocIdPrefixes(prefixes, what) {
263
+ if (prefixes === undefined)
264
+ return;
265
+ if (!Array.isArray(prefixes))
266
+ throw new Error(`${what} must be an array of strings`);
267
+ for (const prefix of prefixes) {
268
+ if (typeof prefix !== "string" || !/^[A-Za-z0-9_-]{1,64}$/.test(prefix)) {
269
+ throw new Error(`${what}: "${String(prefix)}" is not a valid document-id prefix`);
270
+ }
271
+ }
272
+ }
273
+ /** Whether `docId` passes a deposit's `docIdPrefixes` (absent or empty: any id). */
274
+ function docIdMatchesPrefixes(docId, prefixes) {
275
+ return !prefixes || prefixes.length === 0 || prefixes.some((prefix) => docId.startsWith(prefix));
276
+ }
223
277
  function validateAclRule(rule) {
224
278
  if (!exports.RULE_TYPES.includes(rule.type)) {
225
279
  throw new Error(`rule has unknown type "${rule.type}"`);
@@ -239,6 +293,37 @@ function validateAclRule(rule) {
239
293
  if (rule.type === "doc_read" && (rule.withfields?.length ?? 0) > 0) {
240
294
  throw new Error("doc_read rules are database-level and cannot use `withfields`");
241
295
  }
296
+ // `doc_read_all` names who reads every document of a `docReadScope: "own"`
297
+ // database (§6.12): database-level as well, so the server can enforce it.
298
+ if (rule.type === "doc_read_all" && (rule.withfields?.length ?? 0) > 0) {
299
+ throw new Error("doc_read_all rules are database-level and cannot use `withfields`");
300
+ }
301
+ // `doc_deposit` is a database-level right like `doc_read` (§6.10). It is the
302
+ // only type whose dbid may be a prefix pattern ("mmail_*").
303
+ if (rule.type === "doc_deposit") {
304
+ if ((rule.withfields?.length ?? 0) > 0) {
305
+ throw new Error("doc_deposit rules are database-level and cannot use `withfields`");
306
+ }
307
+ if (rule.maxRecipients !== undefined) {
308
+ if (!Number.isInteger(rule.maxRecipients) ||
309
+ rule.maxRecipients < 1 ||
310
+ rule.maxRecipients > exports.MAX_DEPOSIT_RECIPIENTS) {
311
+ throw new Error(`doc_deposit maxRecipients must be an integer from 1 to ${exports.MAX_DEPOSIT_RECIPIENTS}`);
312
+ }
313
+ }
314
+ validateDocIdPrefixes(rule.docIdPrefixes, "doc_deposit docIdPrefixes");
315
+ }
316
+ else {
317
+ if (rule.dbid !== "*" && rule.dbid.endsWith("*")) {
318
+ throw new Error('only doc_deposit rules may use a dbid prefix pattern ending in "*"');
319
+ }
320
+ if (rule.maxRecipients !== undefined) {
321
+ throw new Error("maxRecipients is only valid on doc_deposit rules");
322
+ }
323
+ if (rule.docIdPrefixes !== undefined) {
324
+ throw new Error("docIdPrefixes is only valid on doc_deposit rules");
325
+ }
326
+ }
242
327
  // `llm_use` is a tenant-wide decision about the assistant (§6.9), not about
243
328
  // a database or its documents.
244
329
  if (rule.type === "llm_use") {
@@ -258,6 +343,33 @@ function validateAclRule(rule) {
258
343
  * it is written. Throws on violation.
259
344
  */
260
345
  function validateAccessPolicy(policy) {
346
+ if (policy.internalMail !== undefined &&
347
+ policy.internalMail !== "off" &&
348
+ policy.internalMail !== "members" &&
349
+ policy.internalMail !== "rules") {
350
+ throw new Error(`internalMail "${String(policy.internalMail)}" must be "off", "members" or "rules"`);
351
+ }
352
+ if (policy.internalMailLimits !== undefined) {
353
+ for (const [key, value] of Object.entries(policy.internalMailLimits)) {
354
+ if (!["maxBytesPerMail", "maxMailsPerHour"].includes(key)) {
355
+ throw new Error(`internalMailLimits.${key} is unknown`);
356
+ }
357
+ if (value !== undefined && (!Number.isInteger(value) || value < 1)) {
358
+ throw new Error(`internalMailLimits.${key} must be a positive integer`);
359
+ }
360
+ }
361
+ }
362
+ if (policy.personalDatabasePrefixes !== undefined) {
363
+ if (!Array.isArray(policy.personalDatabasePrefixes) ||
364
+ !policy.personalDatabasePrefixes.every((prefix) => typeof prefix === "string" && /^[a-z][a-z0-9]*_$/.test(prefix))) {
365
+ throw new Error('personalDatabasePrefixes must be prefixes like "notes_" (lowercase letters and digits, ending in "_")');
366
+ }
367
+ }
368
+ if (policy.docReadScope !== undefined &&
369
+ policy.docReadScope !== "all" &&
370
+ policy.docReadScope !== "own") {
371
+ throw new Error(`docReadScope "${String(policy.docReadScope)}" must be "all" or "own"`);
372
+ }
261
373
  if (policy.databaseCreationPolicy !== undefined &&
262
374
  policy.databaseCreationPolicy !== "open" &&
263
375
  policy.databaseCreationPolicy !== "directory-restricted") {
@@ -372,6 +484,7 @@ function effectivePolicy(tenantDefault, dbPolicy) {
372
484
  denyDocSnapshot: pick("denyDocSnapshot"),
373
485
  denyDocRead: pick("denyDocRead"),
374
486
  defaultCreateKeyId,
487
+ docReadScope: dbPolicy?.docReadScope ?? tenantDefault?.docReadScope ?? "all",
375
488
  };
376
489
  }
377
490
  /**