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
@@ -1 +1 @@
1
- {"version":3,"file":"IrohServerRpc.js","sourceRoot":"","sources":["../../../src/node/server/IrohServerRpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IrohServerRpc.js","sourceRoot":"","sources":["../../../src/node/server/IrohServerRpc.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  /**
2
2
  * MindooDB Server - Express HTTP server implementing the sync API.
3
3
  *
4
+ * The route handlers themselves are platform-neutral and live in
5
+ * {@link MindooDBServerCore} (`src/server/http`); this class is the Node host:
6
+ * it wires the server's components, mounts the handlers on Express and adds
7
+ * what only a Node process provides — HTTP/2 + TLS, static files, Iroh, the
8
+ * peer and cluster routers, and the middleware stack below.
9
+ *
4
10
  * Security features:
5
11
  * - Capabilities-based system admin authorization via config.json
6
12
  * - Challenge/response (Ed25519) authentication for /system/* endpoints
@@ -12,14 +18,14 @@
12
18
  * - Request size limits and timeouts
13
19
  */
14
20
  import express from "express";
15
- import { ClusterManager } from "./peer/ClusterManager";
21
+ import { ClusterManager } from "../../server/peer/ClusterManager";
16
22
  import { TenantManager } from "./TenantManager";
17
- import { SystemAdminAuthService } from "./SystemAdminAuth";
18
- import type { ServerConfig } from "./types";
23
+ import { SystemAdminAuthService } from "../../server/SystemAdminAuth";
24
+ import type { ServerConfig } from "../../server/types";
19
25
  /**
20
26
  * Augment Express Request with fields populated by our middleware:
21
- * - tenantId: set by tenantMiddleware after validating the :tenantId URL param
22
- * - systemAdmin: set by systemAdminMiddleware after JWT verification
27
+ * - tenantId: set by the tenant guard after validating the :tenantId URL param
28
+ * - systemAdmin: set by the system admin guard after JWT verification
23
29
  * - jsonBodyBytes: raw byte count captured during JSON body parsing (for diagnostics)
24
30
  */
25
31
  declare global {
@@ -31,9 +37,9 @@ declare global {
31
37
  publicsignkey: string;
32
38
  };
33
39
  jsonBodyBytes?: number;
34
- /** Set by timestampAuthMiddleware; identifies the caller for per-identity throttling. */
40
+ /** Set by the timestamp auth guard; identifies the caller for per-identity throttling. */
35
41
  timestampPrincipal?: string;
36
- /** Set by syncPrincipalMiddleware; identifies the caller for per-identity throttling. */
42
+ /** Set by the sync principal pass; identifies the caller for per-identity throttling. */
37
43
  syncPrincipal?: string;
38
44
  }
39
45
  }
@@ -48,15 +54,16 @@ export declare class MindooDBServer {
48
54
  private deviceDiscovery;
49
55
  /** Peer sessions, replicators, cluster jobs and the audit log. */
50
56
  private cluster;
57
+ /** The platform-neutral route handlers. */
58
+ private core;
51
59
  private readonly staticDir;
52
60
  private serverConfig;
53
61
  private configPath;
54
62
  private readonly jsonBodyLimit;
55
- private readonly jsonBodyLimitBytes;
56
63
  /**
57
64
  * Upstream TSAs the proxy may contact. Populated only from server env config —
58
65
  * a client names a provider by id, never by URL, so this list is the whole
59
- * SSRF boundary for {@link handleTimestampRequest}.
66
+ * SSRF boundary for the timestamp proxy.
60
67
  */
61
68
  private readonly tsaProviders;
62
69
  private readonly irohEndpoint;
@@ -105,6 +112,8 @@ export declare class MindooDBServer {
105
112
  stopIroh(): Promise<void>;
106
113
  getSyncEventListenerCount(): number;
107
114
  startIrohIfEnabled(): Promise<void>;
115
+ /** Every limiter tier, resolved against the current config.json. */
116
+ private rateLimitPolicy;
108
117
  /**
109
118
  * Global middleware stack applied to every request, in order:
110
119
  * 1. helmet — security headers (CSP, X-Frame-Options, etc.)
@@ -115,7 +124,6 @@ export declare class MindooDBServer {
115
124
  * 5. request logger
116
125
  */
117
126
  private setupMiddleware;
118
- /** Parse MINDOODB_CORS_ORIGIN env var; supports comma-separated multiple origins. */
119
127
  /**
120
128
  * Teach Express which upstream hops to trust for `X-Forwarded-For`, so
121
129
  * `req.ip` is the client rather than the proxy. Every rate limiter keys on
@@ -130,6 +138,7 @@ export declare class MindooDBServer {
130
138
  * list over `true`, which trusts the whole chain.
131
139
  */
132
140
  private applyTrustProxySetting;
141
+ /** Parse MINDOODB_CORS_ORIGIN env var; supports comma-separated multiple origins. */
133
142
  private readCorsOriginsFromEnv;
134
143
  /**
135
144
  * Route hierarchy:
@@ -141,23 +150,6 @@ export declare class MindooDBServer {
141
150
  * /:tenantId/* — per-tenant sync & auth API
142
151
  */
143
152
  private setupRoutes;
144
- /**
145
- * JWT-based middleware for /system/* routes (excluding /system/auth/*).
146
- * Extracts and validates the bearer token, then checks capabilities
147
- * for the current (method, path, username, publicsignkey).
148
- *
149
- * `DELETE /system/tenants/:tenantId` is also allowed when the JWT signing
150
- * key is that tenant's registered `adminSigningPublicKey` (own-tenant
151
- * delete). Sub-resources and other tenants stay capability-gated.
152
- */
153
- private systemAdminMiddleware;
154
- /**
155
- * Owner bypass for deleting the caller's own tenant. Matches only
156
- * `DELETE /system/tenants/:tenantId` (no sub-resource) and requires the
157
- * JWT public key to equal that tenant's stored admin signing key.
158
- */
159
- private isOwnTenantDeleteAuthorized;
160
- private tenantMiddleware;
161
153
  /**
162
154
  * Wire up all /system/* routes. Auth endpoints sit outside the JWT
163
155
  * middleware because they implement the challenge-response handshake
@@ -165,16 +157,13 @@ export declare class MindooDBServer {
165
157
  * passes through the CapabilityMatcher for fine-grained authorization.
166
158
  */
167
159
  private setupSystemRoutes;
168
- private handleSystemChallenge;
169
- private handleSystemAuthenticate;
170
- private handleUpdateConfig;
171
160
  /**
172
161
  * Build the per-tenant router. Rate limiters are scoped: auth and sync
173
162
  * endpoints both use a per-user composite key (see createAuthRateLimit and
174
163
  * createSyncRateLimit), sync with a much higher ceiling.
175
164
  *
176
165
  * Both "docs" and "attachments" store kinds expose the same set of sync
177
- * operations, mounted at /sync/docs/* and /sync/attachments/*.
166
+ * operations (SYNC_ROUTES), mounted at /sync/docs/* and /sync/attachments/*.
178
167
  */
179
168
  private createTenantRouter;
180
169
  /**
@@ -185,30 +174,15 @@ export declare class MindooDBServer {
185
174
  private getGlobalRateLimitConfig;
186
175
  /** Resolved auth rate-limit config; falls back to defaults when not set in config.json. */
187
176
  private getAuthRateLimitConfig;
188
- /** Resolved sync rate-limit config; falls back to defaults when not set in config.json. */
189
- private getSyncRateLimitConfig;
190
- /** Resolved timestamp rate-limit config; falls back to defaults when not set in config.json. */
191
- private getTimestampRateLimitConfig;
192
177
  /**
193
178
  * Two limiters guard the timestamp proxy: a short burst window that keeps a
194
179
  * misbehaving client from hammering an upstream, and a daily cap that bounds
195
180
  * total consumption of a shared (often free) upstream allowance.
196
181
  *
197
- * Both key on tenant + principal + IP. The principal is present because
198
- * {@link timestampAuthMiddleware} runs first.
182
+ * Both key on tenant + principal + IP. The principal is present because the
183
+ * timestamp auth guard runs first.
199
184
  */
200
185
  private createTimestampRateLimit;
201
- /**
202
- * Resolve the caller of a sync request so {@link createSyncRateLimit} can
203
- * bucket per identity instead of per address.
204
- *
205
- * Unlike {@link timestampAuthMiddleware} this never rejects: the route
206
- * handlers do their own token validation and own the 401, and this pass only
207
- * needs to know whose budget to spend. An unverifiable token simply falls
208
- * back to address-only bucketing — a forged one must not be able to conjure
209
- * a fresh budget, which is why the token is verified rather than decoded.
210
- */
211
- private syncPrincipalMiddleware;
212
186
  /**
213
187
  * Sync budget, keyed on tenant + principal + IP like the auth and timestamp
214
188
  * tiers. Address-only keying would put every user behind one NAT or reverse
@@ -216,39 +190,14 @@ export declare class MindooDBServer {
216
190
  * throttle everyone else on that address.
217
191
  */
218
192
  private createSyncRateLimit;
219
- /**
220
- * Authenticate a timestamp request with the tenant's existing bearer token and
221
- * record the principal for rate-limit bucketing.
222
- *
223
- * The proxy makes outbound requests on the caller's behalf, so it must never
224
- * be open: unauthenticated it would be a free relay to third-party services.
225
- */
226
- private timestampAuthMiddleware;
227
- /**
228
- * Forward a DER TimeStampReq to a configured TSA and return the DER
229
- * TimeStampResp verbatim.
230
- *
231
- * The server neither parses nor validates the ASN.1: the client checks that
232
- * the returned token's `messageImprint` matches the digest it sent and that
233
- * the token chains to a trusted root. That is what reduces a hostile proxy —
234
- * ours or anyone's — from a forgery risk to a denial-of-service risk.
235
- */
236
- private handleTimestampRequest;
237
193
  /**
238
194
  * Create a rate-limiter for authentication endpoints. Challenge and
239
195
  * authenticate get separate limiters so that one phase can't starve the
240
- * other. The custom keyGenerator buckets by (scope, tenant, phase, IP,
241
- * username) — this prevents users behind a shared IP (NAT / reverse
242
- * proxy) from exhausting each other's budgets.
196
+ * other. The key buckets by (scope, tenant, phase, IP, username) — this
197
+ * prevents users behind a shared IP (NAT / reverse proxy) from exhausting
198
+ * each other's budgets.
243
199
  */
244
200
  private createAuthRateLimit;
245
- /**
246
- * Composite rate-limit key. Challenge requests include the username so
247
- * that brute-forcing one account doesn't block legitimate users on the
248
- * same IP. Authenticate requests omit username because the challenge
249
- * token is already scoped to a single principal.
250
- */
251
- private getAuthRateLimitKey;
252
201
  /**
253
202
  * Emit a structured warning when an auth rate limit is triggered.
254
203
  * The forwarded-for header is logged to help diagnose situations where
@@ -266,88 +215,18 @@ export declare class MindooDBServer {
266
215
  * the "unknown" fallback, pass through unchanged.
267
216
  */
268
217
  private getClientIpForRateLimit;
269
- private validateDbId;
270
- private formatTenantNotFoundOnServerError;
271
- private handleDeviceChallenge;
272
- private handleDeviceDiscover;
273
- private handleChallenge;
274
- private handleAuthenticate;
275
- private handleFindNewEntries;
276
- private handleFindNewEntriesForDoc;
277
- private handleFindEntries;
278
- private handleScanEntriesSince;
279
- private handleGetStoreHead;
280
- private handleGetIdBloomSummary;
281
- private handleGetCapabilities;
282
218
  /**
283
- * SSE live change feed (sync-v5, phase 5).
284
- *
285
- * `GET /:tenantId/sync/:storeKind/events` — Bearer-authenticated like every
286
- * other sync route (fetch-streaming clients can set headers; native
287
- * EventSource cannot, which is why the SDK uses a fetch reader).
288
- *
289
- * The subscribe-time read gate runs via `handleGetCapabilities` against the
290
- * database given in `?dbId=` (default `directory`, which every tenant member
291
- * can read): it validates the token and runs the database-open gate. Events
292
- * carry only `{dbId, storeKind, epoch, maxReceiptOrder}` — metadata, never
293
- * content. A heartbeat comment every 30 s keeps proxies from closing the
294
- * stream. Token expiry does not tear down an open stream; the events are
295
- * non-sensitive change hints and a reconnect re-authenticates.
219
+ * SSE transport for the change feed: the core runs the subscribe-time read
220
+ * gate, this keeps the stream open on the in-process event bus with a
221
+ * heartbeat every 30 s.
296
222
  */
297
223
  private handleSyncEvents;
298
- /**
299
- * Publish a change event after an accepted putEntries write (sync-v5,
300
- * phase 5). Fire-and-forget: head lookup failures must never affect the
301
- * write path.
302
- */
303
- private publishSyncChangeEvent;
304
- private handleGetCompactionStatus;
305
- private handleGetEntries;
306
- /**
307
- * Binary variant of getEntries (sync-v5, phase 3): always session-key
308
- * encrypted, response framed as `application/octet-stream` (see
309
- * binaryEntryFraming.ts). The request stays JSON (small).
310
- */
311
- private handleGetEntriesBinary;
312
- private handleGetEntryMetadata;
313
- /**
314
- * Ingest encrypted entries from a client. The `stage` variable tracks
315
- * progress through the pipeline so that error logs pinpoint the failing
316
- * step (token extraction → body parsing → deserialization → storage).
317
- */
318
- private handlePutEntries;
319
- /**
320
- * Binary variant of putEntries (sync-v5, phase 3). The request body is
321
- * octet-stream framing; `dbId` travels in the message header JSON because
322
- * there is no JSON body. Receipts are returned as JSON like putEntries.
323
- */
324
- private handlePutEntriesBinary;
325
- private handleHasEntries;
326
- private handleGetAllIds;
327
- private handleResolveDependencies;
328
- private handlePlanDocumentMaterialization;
329
- private handlePlanDocumentMaterializationBatch;
330
- private handlePlanAttachmentReadByWalkingMetadata;
331
- /**
332
- * Derive the StoreKind from the request path. Both "docs" and
333
- * "attachments" share the same handler implementations; the store kind
334
- * selects which on-disk append-only store to operate against.
335
- */
336
- private getStoreKindFromRequest;
337
- private extractToken;
338
- /** Map domain errors to HTTP status codes; unknown errors become 500. */
339
- private handleRequestError;
340
- private getStatusForErrorType;
224
+ private openSyncEventStream;
341
225
  /**
342
226
  * Express error handler (4-arg signature). Handles body-parser errors
343
227
  * (413 entity too large, 400 parse failed) with structured JSON responses;
344
228
  * everything else is logged and returned as a generic 500.
345
229
  */
346
230
  private errorHandler;
347
- private serializeEntryMetadata;
348
- private deserializeEntryMetadata;
349
- private deserializeEntry;
350
- private uint8ArrayToBase64;
351
- private base64ToUint8Array;
352
231
  }
353
232
  //# sourceMappingURL=MindooDBServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MindooDBServer.d.ts","sourceRoot":"","sources":["../../../src/node/server/MindooDBServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MindooDBServer.d.ts","sourceRoot":"","sources":["../../../src/node/server/MindooDBServer.ts"],"names":[],"mappings":"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"}