mindoodb 0.0.84 → 0.0.86

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 (264) hide show
  1. package/README-server.md +1 -0
  2. package/README.md +6 -4
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +15 -0
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  5. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +75 -1
  6. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  7. package/dist/appendonlystores/network/HttpTransport.d.ts +9 -1
  8. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  9. package/dist/appendonlystores/network/HttpTransport.js +38 -10
  10. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  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 +43 -1
  52. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  53. package/dist/core/BaseMindooDB.js +209 -87
  54. package/dist/core/BaseMindooDB.js.map +1 -1
  55. package/dist/core/BaseMindooTenant.d.ts +14 -0
  56. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  57. package/dist/core/BaseMindooTenant.js +46 -0
  58. package/dist/core/BaseMindooTenant.js.map +1 -1
  59. package/dist/core/BaseMindooTenantDirectory.d.ts +10 -0
  60. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  61. package/dist/core/BaseMindooTenantDirectory.js +79 -8
  62. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  63. package/dist/core/ChangeDocDraft.d.ts +133 -0
  64. package/dist/core/ChangeDocDraft.d.ts.map +1 -0
  65. package/dist/core/ChangeDocDraft.js +492 -0
  66. package/dist/core/ChangeDocDraft.js.map +1 -0
  67. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  68. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +1 -0
  69. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  70. package/dist/core/appendonlystores/network/AuthenticationService.d.ts +8 -0
  71. package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
  72. package/dist/core/appendonlystores/network/AuthenticationService.js +19 -0
  73. package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
  74. package/dist/core/appendonlystores/network/IrohStreamIO.d.ts.map +1 -1
  75. package/dist/core/appendonlystores/network/IrohStreamIO.js +3 -23
  76. package/dist/core/appendonlystores/network/IrohStreamIO.js.map +1 -1
  77. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +7 -1
  78. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
  79. package/dist/core/appendonlystores/network/types.d.ts +23 -0
  80. package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
  81. package/dist/core/appendonlystores/network/types.js.map +1 -1
  82. package/dist/core/appendonlystores/rpc/storeRpcCodec.d.ts.map +1 -1
  83. package/dist/core/appendonlystores/rpc/storeRpcCodec.js +3 -23
  84. package/dist/core/appendonlystores/rpc/storeRpcCodec.js.map +1 -1
  85. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.d.ts.map +1 -1
  86. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.js +21 -30
  87. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.js.map +1 -1
  88. package/dist/core/appendonlystores/sqlite/SqliteDriver.d.ts +37 -1
  89. package/dist/core/appendonlystores/sqlite/SqliteDriver.d.ts.map +1 -1
  90. package/dist/core/appendonlystores/sqlite/SqliteDriver.js +99 -40
  91. package/dist/core/appendonlystores/sqlite/SqliteDriver.js.map +1 -1
  92. package/dist/core/appendonlystores/syncStores.d.ts.map +1 -1
  93. package/dist/core/appendonlystores/syncStores.js +253 -168
  94. package/dist/core/appendonlystores/syncStores.js.map +1 -1
  95. package/dist/core/appendonlystores/types.d.ts +8 -0
  96. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  97. package/dist/core/appendonlystores/types.js.map +1 -1
  98. package/dist/core/expressions/evaluateExpression.d.ts +8 -0
  99. package/dist/core/expressions/evaluateExpression.d.ts.map +1 -1
  100. package/dist/core/expressions/evaluateExpression.js +29 -4
  101. package/dist/core/expressions/evaluateExpression.js.map +1 -1
  102. package/dist/core/expressions/metadata.js +4 -4
  103. package/dist/core/expressions/metadata.js.map +1 -1
  104. package/dist/core/types.d.ts +61 -2
  105. package/dist/core/types.d.ts.map +1 -1
  106. package/dist/core/types.js.map +1 -1
  107. package/dist/core/uri/MindooURI.d.ts.map +1 -1
  108. package/dist/core/uri/MindooURI.js +3 -24
  109. package/dist/core/uri/MindooURI.js.map +1 -1
  110. package/dist/core/utils/base64.d.ts +17 -0
  111. package/dist/core/utils/base64.d.ts.map +1 -0
  112. package/dist/core/utils/base64.js +54 -0
  113. package/dist/core/utils/base64.js.map +1 -0
  114. package/dist/core/utils/idGeneration.d.ts.map +1 -1
  115. package/dist/core/utils/idGeneration.js +14 -3
  116. package/dist/core/utils/idGeneration.js.map +1 -1
  117. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
  118. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +1 -0
  119. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
  120. package/dist/node/server/FsServerDataStore.d.ts +23 -0
  121. package/dist/node/server/FsServerDataStore.d.ts.map +1 -0
  122. package/dist/node/server/FsServerDataStore.js +59 -0
  123. package/dist/node/server/FsServerDataStore.js.map +1 -0
  124. package/dist/node/server/IrohServerEndpoint.d.ts +1 -1
  125. package/dist/node/server/IrohServerEndpoint.d.ts.map +1 -1
  126. package/dist/node/server/IrohServerRpc.d.ts +5 -5
  127. package/dist/node/server/IrohServerRpc.d.ts.map +1 -1
  128. package/dist/node/server/IrohServerRpc.js +1 -1
  129. package/dist/node/server/IrohServerRpc.js.map +1 -1
  130. package/dist/node/server/MindooDBServer.d.ts +29 -150
  131. package/dist/node/server/MindooDBServer.d.ts.map +1 -1
  132. package/dist/node/server/MindooDBServer.js +160 -1568
  133. package/dist/node/server/MindooDBServer.js.map +1 -1
  134. package/dist/node/server/PurgedDocRegistry.d.ts +4 -27
  135. package/dist/node/server/PurgedDocRegistry.d.ts.map +1 -1
  136. package/dist/node/server/PurgedDocRegistry.js +6 -83
  137. package/dist/node/server/PurgedDocRegistry.js.map +1 -1
  138. package/dist/node/server/StoreFactory.d.ts +1 -1
  139. package/dist/node/server/StoreFactory.d.ts.map +1 -1
  140. package/dist/node/server/TenantManager.d.ts +16 -284
  141. package/dist/node/server/TenantManager.d.ts.map +1 -1
  142. package/dist/node/server/TenantManager.js +35 -1168
  143. package/dist/node/server/TenantManager.js.map +1 -1
  144. package/dist/node/server/add-to-network.js +1 -1
  145. package/dist/node/server/add-to-network.js.map +1 -1
  146. package/dist/node/server/compressionMiddleware.d.ts +14 -0
  147. package/dist/node/server/compressionMiddleware.d.ts.map +1 -1
  148. package/dist/node/server/compressionMiddleware.js +46 -3
  149. package/dist/node/server/compressionMiddleware.js.map +1 -1
  150. package/dist/node/server/config.d.ts +11 -15
  151. package/dist/node/server/config.d.ts.map +1 -1
  152. package/dist/node/server/config.js +30 -245
  153. package/dist/node/server/config.js.map +1 -1
  154. package/dist/node/server/expressAdapter.d.ts +23 -0
  155. package/dist/node/server/expressAdapter.d.ts.map +1 -0
  156. package/dist/node/server/expressAdapter.js +108 -0
  157. package/dist/node/server/expressAdapter.js.map +1 -0
  158. package/dist/node/server/nativeIrohStreamIO.d.ts +1 -1
  159. package/dist/node/server/nativeIrohStreamIO.d.ts.map +1 -1
  160. package/dist/node/server/peer/FileClusterAuditStorage.d.ts +16 -0
  161. package/dist/node/server/peer/FileClusterAuditStorage.d.ts.map +1 -0
  162. package/dist/node/server/peer/FileClusterAuditStorage.js +39 -0
  163. package/dist/node/server/peer/FileClusterAuditStorage.js.map +1 -0
  164. package/dist/node/server/peer/IrohPeerLink.d.ts +1 -1
  165. package/dist/node/server/peer/IrohPeerLink.d.ts.map +1 -1
  166. package/dist/node/server/peer/routes.d.ts +10 -44
  167. package/dist/node/server/peer/routes.d.ts.map +1 -1
  168. package/dist/node/server/peer/routes.js +33 -275
  169. package/dist/node/server/peer/routes.js.map +1 -1
  170. package/dist/node/server/resolveServerPassword.js +1 -1
  171. package/dist/node/server/resolveServerPassword.js.map +1 -1
  172. package/dist/node/server/server.js +1 -1
  173. package/dist/node/server/server.js.map +1 -1
  174. package/dist/node/server/serverinit.js +1 -1
  175. package/dist/node/server/serverinit.js.map +1 -1
  176. package/dist/server/CapabilityMatcher.d.ts +60 -0
  177. package/dist/server/CapabilityMatcher.d.ts.map +1 -0
  178. package/dist/server/CapabilityMatcher.js +138 -0
  179. package/dist/server/CapabilityMatcher.js.map +1 -0
  180. package/dist/server/DeviceDiscoveryService.d.ts +36 -0
  181. package/dist/server/DeviceDiscoveryService.d.ts.map +1 -0
  182. package/dist/server/DeviceDiscoveryService.js +165 -0
  183. package/dist/server/DeviceDiscoveryService.js.map +1 -0
  184. package/dist/server/PurgedDocRegistry.d.ts +35 -0
  185. package/dist/server/PurgedDocRegistry.d.ts.map +1 -0
  186. package/dist/server/PurgedDocRegistry.js +90 -0
  187. package/dist/server/PurgedDocRegistry.js.map +1 -0
  188. package/dist/server/ServerDataStore.d.ts +67 -0
  189. package/dist/server/ServerDataStore.d.ts.map +1 -0
  190. package/dist/server/ServerDataStore.js +88 -0
  191. package/dist/server/ServerDataStore.js.map +1 -0
  192. package/dist/server/SyncEventBus.d.ts +39 -0
  193. package/dist/server/SyncEventBus.d.ts.map +1 -0
  194. package/dist/server/SyncEventBus.js +41 -0
  195. package/dist/server/SyncEventBus.js.map +1 -0
  196. package/dist/server/SystemAdminAuth.d.ts +82 -0
  197. package/dist/server/SystemAdminAuth.d.ts.map +1 -0
  198. package/dist/server/SystemAdminAuth.js +228 -0
  199. package/dist/server/SystemAdminAuth.js.map +1 -0
  200. package/dist/server/TenantManager.d.ts +330 -0
  201. package/dist/server/TenantManager.d.ts.map +1 -0
  202. package/dist/server/TenantManager.js +1186 -0
  203. package/dist/server/TenantManager.js.map +1 -0
  204. package/dist/server/http/MindooDBServerCore.d.ts +313 -0
  205. package/dist/server/http/MindooDBServerCore.d.ts.map +1 -0
  206. package/dist/server/http/MindooDBServerCore.js +1403 -0
  207. package/dist/server/http/MindooDBServerCore.js.map +1 -0
  208. package/dist/server/http/types.d.ts +89 -0
  209. package/dist/server/http/types.d.ts.map +1 -0
  210. package/dist/server/http/types.js +29 -0
  211. package/dist/server/http/types.js.map +1 -0
  212. package/dist/server/index.d.ts +32 -0
  213. package/dist/server/index.d.ts.map +1 -0
  214. package/dist/server/index.js +76 -0
  215. package/dist/server/index.js.map +1 -0
  216. package/dist/server/peer/ClusterAuditLog.d.ts +71 -0
  217. package/dist/server/peer/ClusterAuditLog.d.ts.map +1 -0
  218. package/dist/server/peer/ClusterAuditLog.js +81 -0
  219. package/dist/server/peer/ClusterAuditLog.js.map +1 -0
  220. package/dist/server/peer/ClusterJobRunner.d.ts +43 -0
  221. package/dist/server/peer/ClusterJobRunner.d.ts.map +1 -0
  222. package/dist/server/peer/ClusterJobRunner.js +119 -0
  223. package/dist/server/peer/ClusterJobRunner.js.map +1 -0
  224. package/dist/server/peer/ClusterManager.d.ts +149 -0
  225. package/dist/server/peer/ClusterManager.d.ts.map +1 -0
  226. package/dist/server/peer/ClusterManager.js +292 -0
  227. package/dist/server/peer/ClusterManager.js.map +1 -0
  228. package/dist/server/peer/PeerAuthService.d.ts +69 -0
  229. package/dist/server/peer/PeerAuthService.d.ts.map +1 -0
  230. package/dist/server/peer/PeerAuthService.js +208 -0
  231. package/dist/server/peer/PeerAuthService.js.map +1 -0
  232. package/dist/server/peer/PeerReplicator.d.ts +303 -0
  233. package/dist/server/peer/PeerReplicator.d.ts.map +1 -0
  234. package/dist/server/peer/PeerReplicator.js +1071 -0
  235. package/dist/server/peer/PeerReplicator.js.map +1 -0
  236. package/dist/server/peer/clusterHttp.d.ts +113 -0
  237. package/dist/server/peer/clusterHttp.d.ts.map +1 -0
  238. package/dist/server/peer/clusterHttp.js +290 -0
  239. package/dist/server/peer/clusterHttp.js.map +1 -0
  240. package/dist/server/peer/types.d.ts +244 -0
  241. package/dist/server/peer/types.d.ts.map +1 -0
  242. package/dist/server/peer/types.js +189 -0
  243. package/dist/server/peer/types.js.map +1 -0
  244. package/dist/server/rateLimits.d.ts +119 -0
  245. package/dist/server/rateLimits.d.ts.map +1 -0
  246. package/dist/server/rateLimits.js +159 -0
  247. package/dist/server/rateLimits.js.map +1 -0
  248. package/dist/server/serverConfig.d.ts +37 -0
  249. package/dist/server/serverConfig.d.ts.map +1 -0
  250. package/dist/server/serverConfig.js +251 -0
  251. package/dist/server/serverConfig.js.map +1 -0
  252. package/dist/server/timestampProxy.d.ts +129 -0
  253. package/dist/server/timestampProxy.d.ts.map +1 -0
  254. package/dist/server/timestampProxy.js +361 -0
  255. package/dist/server/timestampProxy.js.map +1 -0
  256. package/dist/server/types.d.ts +267 -0
  257. package/dist/server/types.d.ts.map +1 -0
  258. package/dist/server/types.js +56 -0
  259. package/dist/server/types.js.map +1 -0
  260. package/dist/server/validation.d.ts +43 -0
  261. package/dist/server/validation.d.ts.map +1 -0
  262. package/dist/server/validation.js +104 -0
  263. package/dist/server/validation.js.map +1 -0
  264. package/package.json +9 -1
@@ -6,42 +6,23 @@
6
6
  * authorization for system admin endpoints.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.isTenantCreationCapabilityRule = isTenantCreationCapabilityRule;
10
- exports.isWildcardSystemAdminPrincipal = isWildcardSystemAdminPrincipal;
11
- exports.hasTenantCreationWildcardPrincipal = hasTenantCreationWildcardPrincipal;
9
+ exports.FileServerConfigRepository = exports.validateServerConfig = exports.isWildcardSystemAdminPrincipal = exports.isTenantCreationCapabilityRule = exports.isConfigBackupFilename = exports.hasTenantCreationWildcardPrincipal = exports.extractAllPrincipals = void 0;
12
10
  exports.resolveConfigPath = resolveConfigPath;
13
11
  exports.loadServerConfig = loadServerConfig;
14
- exports.validateServerConfig = validateServerConfig;
15
12
  exports.backupConfig = backupConfig;
16
13
  exports.writeConfig = writeConfig;
17
- exports.isConfigBackupFilename = isConfigBackupFilename;
18
14
  exports.listConfigBackups = listConfigBackups;
19
15
  exports.loadConfigBackup = loadConfigBackup;
20
- exports.extractAllPrincipals = extractAllPrincipals;
21
16
  const fs_1 = require("fs");
22
17
  const path_1 = require("path");
23
- const types_1 = require("./peer/types");
24
- const CONFIG_BACKUP_FILENAME_RE = /^config\.(\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}(?:\.\d{3})?Z)\.json$/;
25
- function isTenantCreationCapabilityRule(ruleKey) {
26
- const colonIdx = ruleKey.indexOf(":");
27
- if (colonIdx === -1) {
28
- return false;
29
- }
30
- const method = ruleKey.substring(0, colonIdx).toUpperCase();
31
- const pathPattern = ruleKey.substring(colonIdx + 1);
32
- // Segment-exact: tenant creation targets exactly one segment under
33
- // `/system/tenants/` (the tenant id, which may itself be a `*` pattern). A
34
- // prefix test would let a wildcard `*` principal be configured on an existing
35
- // tenant's sub-resource, an over-grant (audit #6).
36
- return method === "POST" && /^\/system\/tenants\/[^/]+\/?$/.test(pathPattern);
37
- }
38
- function isWildcardSystemAdminPrincipal(principal) {
39
- return principal.username === "*" && principal.publicsignkey === "*";
40
- }
41
- function hasTenantCreationWildcardPrincipal(config) {
42
- return Object.entries(config.capabilities).some(([ruleKey, principals]) => isTenantCreationCapabilityRule(ruleKey) &&
43
- principals.some((principal) => isWildcardSystemAdminPrincipal(principal)));
44
- }
18
+ const serverConfig_1 = require("../../server/serverConfig");
19
+ var serverConfig_2 = require("../../server/serverConfig");
20
+ Object.defineProperty(exports, "extractAllPrincipals", { enumerable: true, get: function () { return serverConfig_2.extractAllPrincipals; } });
21
+ Object.defineProperty(exports, "hasTenantCreationWildcardPrincipal", { enumerable: true, get: function () { return serverConfig_2.hasTenantCreationWildcardPrincipal; } });
22
+ Object.defineProperty(exports, "isConfigBackupFilename", { enumerable: true, get: function () { return serverConfig_2.isConfigBackupFilename; } });
23
+ Object.defineProperty(exports, "isTenantCreationCapabilityRule", { enumerable: true, get: function () { return serverConfig_2.isTenantCreationCapabilityRule; } });
24
+ Object.defineProperty(exports, "isWildcardSystemAdminPrincipal", { enumerable: true, get: function () { return serverConfig_2.isWildcardSystemAdminPrincipal; } });
25
+ Object.defineProperty(exports, "validateServerConfig", { enumerable: true, get: function () { return serverConfig_2.validateServerConfig; } });
45
26
  /**
46
27
  * Resolve the config file path from CLI argument or data directory fallback.
47
28
  */
@@ -72,193 +53,7 @@ function loadServerConfig(dataDir, explicitConfigPath) {
72
53
  catch (err) {
73
54
  throw new Error(`Failed to parse config.json at ${configPath}: ${err}`);
74
55
  }
75
- return validateServerConfig(parsed, configPath);
76
- }
77
- function validateServerConfig(raw, filePath) {
78
- if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
79
- throw new Error(`config.json at ${filePath} must be a JSON object`);
80
- }
81
- const obj = raw;
82
- if (!obj.capabilities || typeof obj.capabilities !== "object" || Array.isArray(obj.capabilities)) {
83
- throw new Error(`config.json at ${filePath} must have a "capabilities" object`);
84
- }
85
- const capabilities = {};
86
- for (const [ruleKey, principals] of Object.entries(obj.capabilities)) {
87
- validateCapabilityRule(ruleKey, filePath);
88
- if (!Array.isArray(principals)) {
89
- throw new Error(`config.json: capability rule "${ruleKey}" must map to an array of principals`);
90
- }
91
- capabilities[ruleKey] = principals.map((p, i) => validatePrincipal(p, ruleKey, i, filePath));
92
- }
93
- const rateLimits = validateRateLimits(obj.rateLimits, filePath);
94
- const config = rateLimits ? { capabilities, rateLimits } : { capabilities };
95
- const cluster = validateCluster(obj.cluster, filePath);
96
- if (cluster) {
97
- config.cluster = cluster;
98
- }
99
- const iroh = validateIroh(obj.iroh, filePath);
100
- if (iroh) {
101
- config.iroh = iroh;
102
- }
103
- const principalCount = Object.values(capabilities).reduce((sum, arr) => sum + arr.length, 0);
104
- console.log(`[Config] Loaded config.json from ${filePath}: ${Object.keys(capabilities).length} capability rule(s), ${principalCount} principal entry/entries`);
105
- return config;
106
- }
107
- function validateCluster(raw, filePath) {
108
- if (raw === undefined) {
109
- return undefined;
110
- }
111
- if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
112
- throw new Error(`config.json at ${filePath}: "cluster" must be an object`);
113
- }
114
- const obj = raw;
115
- const cluster = {};
116
- if (obj.autoSync !== undefined) {
117
- if (typeof obj.autoSync !== "boolean") {
118
- throw new Error(`config.json at ${filePath}: "cluster.autoSync" must be a boolean`);
119
- }
120
- cluster.autoSync = obj.autoSync;
121
- }
122
- if (obj.role !== undefined) {
123
- if (!(0, types_1.isPeerRole)(obj.role)) {
124
- throw new Error(`config.json at ${filePath}: "cluster.role" must be "peer", "hub" or "spoke"`);
125
- }
126
- cluster.role = obj.role;
127
- }
128
- return Object.keys(cluster).length > 0 ? cluster : undefined;
129
- }
130
- function validateIroh(raw, filePath) {
131
- if (raw === undefined) {
132
- return undefined;
133
- }
134
- if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
135
- throw new Error(`config.json at ${filePath}: "iroh" must be an object`);
136
- }
137
- const obj = raw;
138
- if (obj.enabled !== undefined && typeof obj.enabled !== "boolean") {
139
- throw new Error(`config.json at ${filePath}: "iroh.enabled" must be a boolean`);
140
- }
141
- if (obj.secretKeyPath !== undefined) {
142
- if (typeof obj.secretKeyPath !== "string" || !obj.secretKeyPath.trim()) {
143
- throw new Error(`config.json at ${filePath}: "iroh.secretKeyPath" must be a non-empty string`);
144
- }
145
- }
146
- const iroh = {
147
- enabled: obj.enabled === true,
148
- };
149
- if (typeof obj.secretKeyPath === "string") {
150
- iroh.secretKeyPath = obj.secretKeyPath.trim();
151
- }
152
- return iroh;
153
- }
154
- function validateRateLimits(raw, filePath) {
155
- if (raw === undefined) {
156
- return undefined;
157
- }
158
- if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
159
- throw new Error(`config.json at ${filePath}: "rateLimits" must be an object`);
160
- }
161
- const obj = raw;
162
- const auth = validateRateLimitConfig(obj.auth, "auth", filePath);
163
- const sync = validateRateLimitConfig(obj.sync, "sync", filePath);
164
- const timestamps = validateTimestampRateLimitConfig(obj.timestamps, filePath);
165
- const global = validateRateLimitConfig(obj.global, "global", filePath);
166
- const system = validateRateLimitConfig(obj.system, "system", filePath);
167
- const rateLimits = {};
168
- if (system) {
169
- rateLimits.system = system;
170
- }
171
- if (auth) {
172
- rateLimits.auth = auth;
173
- }
174
- if (sync) {
175
- rateLimits.sync = sync;
176
- }
177
- if (timestamps) {
178
- rateLimits.timestamps = timestamps;
179
- }
180
- if (global) {
181
- rateLimits.global = global;
182
- }
183
- return Object.keys(rateLimits).length > 0 ? rateLimits : {};
184
- }
185
- function validateRateLimitConfig(raw, name, filePath) {
186
- if (raw === undefined) {
187
- return undefined;
188
- }
189
- if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
190
- throw new Error(`config.json at ${filePath}: "rateLimits.${name}" must be an object`);
191
- }
192
- const obj = raw;
193
- const config = {};
194
- if (obj.windowMs !== undefined) {
195
- config.windowMs = validatePositiveInteger(obj.windowMs, `rateLimits.${name}.windowMs`, filePath);
196
- }
197
- if (obj.max !== undefined) {
198
- config.max = validatePositiveInteger(obj.max, `rateLimits.${name}.max`, filePath);
199
- }
200
- return Object.keys(config).length > 0 ? config : {};
201
- }
202
- function validateTimestampRateLimitConfig(raw, filePath) {
203
- const base = validateRateLimitConfig(raw, "timestamps", filePath);
204
- if (!base) {
205
- return undefined;
206
- }
207
- const obj = raw;
208
- const config = { ...base };
209
- if (obj.dailyMax !== undefined) {
210
- config.dailyMax = validatePositiveInteger(obj.dailyMax, "rateLimits.timestamps.dailyMax", filePath);
211
- }
212
- return config;
213
- }
214
- function validatePositiveInteger(raw, fieldName, filePath) {
215
- if (!Number.isInteger(raw) || raw <= 0) {
216
- throw new Error(`config.json at ${filePath}: "${fieldName}" must be a positive integer`);
217
- }
218
- return raw;
219
- }
220
- /**
221
- * Validate a capability rule key has the format `METHOD:PATH`.
222
- */
223
- function validateCapabilityRule(rule, filePath) {
224
- const colonIdx = rule.indexOf(":");
225
- if (colonIdx === -1) {
226
- throw new Error(`config.json at ${filePath}: invalid capability rule "${rule}" — expected "METHOD:PATH" format`);
227
- }
228
- const method = rule.substring(0, colonIdx).toUpperCase();
229
- const pathPattern = rule.substring(colonIdx + 1);
230
- const validMethods = ["ALL", "GET", "POST", "PUT", "DELETE", "PATCH"];
231
- if (!validMethods.includes(method)) {
232
- throw new Error(`config.json at ${filePath}: invalid method "${method}" in rule "${rule}" — expected one of ${validMethods.join(", ")}`);
233
- }
234
- if (!pathPattern.startsWith("/")) {
235
- throw new Error(`config.json at ${filePath}: path pattern in rule "${rule}" must start with "/"`);
236
- }
237
- }
238
- function validatePrincipal(raw, ruleKey, index, filePath) {
239
- if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
240
- throw new Error(`config.json at ${filePath}: principal #${index} in rule "${ruleKey}" must be an object`);
241
- }
242
- const obj = raw;
243
- if (typeof obj.username !== "string" || obj.username.length === 0) {
244
- throw new Error(`config.json at ${filePath}: principal #${index} in rule "${ruleKey}" must have a non-empty "username" string`);
245
- }
246
- if (typeof obj.publicsignkey !== "string" || obj.publicsignkey.length === 0) {
247
- throw new Error(`config.json at ${filePath}: principal #${index} in rule "${ruleKey}" must have a non-empty "publicsignkey" string`);
248
- }
249
- const hasWildcardField = obj.username === "*" || obj.publicsignkey === "*";
250
- if (hasWildcardField) {
251
- if (obj.username !== "*" || obj.publicsignkey !== "*") {
252
- throw new Error(`config.json at ${filePath}: principal #${index} in rule "${ruleKey}" must use "*" for both "username" and "publicsignkey"`);
253
- }
254
- if (!isTenantCreationCapabilityRule(ruleKey)) {
255
- throw new Error(`config.json at ${filePath}: wildcard principal "*" is only allowed for POST:/system/tenants/... rules`);
256
- }
257
- }
258
- return {
259
- username: obj.username,
260
- publicsignkey: obj.publicsignkey,
261
- };
56
+ return (0, serverConfig_1.validateServerConfig)(parsed, configPath);
262
57
  }
263
58
  /**
264
59
  * Create a timestamped backup of the current config.json.
@@ -283,22 +78,12 @@ function writeConfig(configPath, config) {
283
78
  (0, fs_1.writeFileSync)(configPath, JSON.stringify(config, null, 2), "utf-8");
284
79
  console.log(`[Config] Config written to ${configPath}`);
285
80
  }
286
- function isConfigBackupFilename(fileName) {
287
- return CONFIG_BACKUP_FILENAME_RE.test(fileName);
288
- }
289
- function parseBackupTimestamp(fileName) {
290
- const match = CONFIG_BACKUP_FILENAME_RE.exec(fileName);
291
- if (!match) {
292
- return null;
293
- }
294
- return match[1].replace(/^(\d{4}-\d{2}-\d{2}T\d{2})-(\d{2})-(\d{2}(?:\.\d{3})?Z)$/, "$1:$2:$3");
295
- }
296
81
  function listConfigBackups(configPath) {
297
82
  const dir = (0, path_1.dirname)(configPath);
298
83
  return (0, fs_1.readdirSync)(dir)
299
- .filter((file) => isConfigBackupFilename(file))
84
+ .filter((file) => (0, serverConfig_1.isConfigBackupFilename)(file))
300
85
  .map((file) => {
301
- const createdAt = parseBackupTimestamp(file);
86
+ const createdAt = (0, serverConfig_1.parseConfigBackupTimestamp)(file);
302
87
  if (!createdAt) {
303
88
  throw new Error(`Invalid config backup filename: ${file}`);
304
89
  }
@@ -307,7 +92,7 @@ function listConfigBackups(configPath) {
307
92
  .sort((a, b) => b.createdAt.localeCompare(a.createdAt));
308
93
  }
309
94
  function loadConfigBackup(configPath, backupFile) {
310
- if (!isConfigBackupFilename(backupFile)) {
95
+ if (!(0, serverConfig_1.isConfigBackupFilename)(backupFile)) {
311
96
  throw new Error(`Invalid config backup filename: ${backupFile}`);
312
97
  }
313
98
  const backupPath = (0, path_1.join)((0, path_1.dirname)(configPath), backupFile);
@@ -322,24 +107,24 @@ function loadConfigBackup(configPath, backupFile) {
322
107
  catch (err) {
323
108
  throw new Error(`Failed to parse config backup ${backupFile}: ${err}`);
324
109
  }
325
- return validateServerConfig(parsed, backupPath);
110
+ return (0, serverConfig_1.validateServerConfig)(parsed, backupPath);
326
111
  }
327
- /**
328
- * Extract all unique system admin principals from the capabilities config.
329
- * Each principal is identified by (username, publicsignkey).
330
- */
331
- function extractAllPrincipals(config) {
332
- const seen = new Set();
333
- const result = [];
334
- for (const principals of Object.values(config.capabilities)) {
335
- for (const p of principals) {
336
- const key = `${p.username.toLowerCase()}\0${p.publicsignkey}`;
337
- if (!seen.has(key)) {
338
- seen.add(key);
339
- result.push(p);
340
- }
341
- }
112
+ /** `config.json` on disk next to its timestamped backups. */
113
+ class FileServerConfigRepository {
114
+ constructor(configPath) {
115
+ this.configPath = configPath;
116
+ }
117
+ listBackups() {
118
+ return listConfigBackups(this.configPath);
119
+ }
120
+ loadBackup(backupFile) {
121
+ return loadConfigBackup(this.configPath, backupFile);
122
+ }
123
+ replace(config) {
124
+ const backupFile = (0, fs_1.existsSync)(this.configPath) ? backupConfig(this.configPath) : null;
125
+ writeConfig(this.configPath, config);
126
+ return backupFile;
342
127
  }
343
- return result;
344
128
  }
129
+ exports.FileServerConfigRepository = FileServerConfigRepository;
345
130
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/node/server/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/node/server/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Glue between Express and the platform-neutral handlers in
3
+ * {@link MindooDBServerCore}: turns an Express request into a
4
+ * {@link ServerRequest} and writes a {@link ServerResponse} back.
5
+ */
6
+ import type { Request, Response, RequestHandler } from "express";
7
+ import { type ServerRequest, type ServerResponse } from "../../server/http/types";
8
+ /** Snapshot of an Express request, including what earlier guards resolved. */
9
+ export declare function toServerRequest(req: Request): ServerRequest;
10
+ /** Write a JSON or binary response. Event streams are the caller's business. */
11
+ export declare function sendServerResponse(req: Request, res: Response, response: ServerResponse): Promise<void>;
12
+ /**
13
+ * Express route handler running a core handler. Anything the handler did not
14
+ * turn into a response goes to the Express error handler, as a throw from a
15
+ * synchronous handler would.
16
+ */
17
+ export declare function route(handler: (request: ServerRequest) => ServerResponse | Promise<ServerResponse>): RequestHandler;
18
+ /**
19
+ * Express middleware running a core guard: a returned response ends the
20
+ * request, null continues with the guard's results on the request.
21
+ */
22
+ export declare function guard(check: (request: ServerRequest) => ServerResponse | null | Promise<ServerResponse | null>): RequestHandler;
23
+ //# sourceMappingURL=expressAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressAdapter.d.ts","sourceRoot":"","sources":["../../../src/node/server/expressAdapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAgB,cAAc,EAAE,MAAM,SAAS,CAAC;AAE/E,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAGjC,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAqB3D;AAWD,gFAAgF;AAChF,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CACnB,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,GAC5E,cAAc,CAShB;AAED;;;GAGG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,GACxF,cAAc,CAiBhB"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ /**
3
+ * Glue between Express and the platform-neutral handlers in
4
+ * {@link MindooDBServerCore}: turns an Express request into a
5
+ * {@link ServerRequest} and writes a {@link ServerResponse} back.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.toServerRequest = toServerRequest;
9
+ exports.sendServerResponse = sendServerResponse;
10
+ exports.route = route;
11
+ exports.guard = guard;
12
+ const types_1 = require("../../server/http/types");
13
+ const compressionMiddleware_1 = require("./compressionMiddleware");
14
+ /** Snapshot of an Express request, including what earlier guards resolved. */
15
+ function toServerRequest(req) {
16
+ const rawBody = Buffer.isBuffer(req.body)
17
+ ? new Uint8Array(req.body.buffer, req.body.byteOffset, req.body.byteLength)
18
+ : undefined;
19
+ return {
20
+ method: req.method.toUpperCase(),
21
+ path: req.path,
22
+ params: req.params,
23
+ query: req.query,
24
+ headers: req.headers,
25
+ body: rawBody ? {} : req.body,
26
+ rawBody,
27
+ jsonBodyBytes: req.jsonBodyBytes,
28
+ httpVersion: req.httpVersion,
29
+ clientIp: req.ip,
30
+ tenantId: req.tenantId,
31
+ systemAdmin: req.systemAdmin,
32
+ syncPrincipal: req.syncPrincipal,
33
+ timestampPrincipal: req.timestampPrincipal,
34
+ peerName: req.peerName,
35
+ };
36
+ }
37
+ /** Copy what a guard resolved back onto the Express request for later middleware. */
38
+ function applyGuardResults(req, serverRequest) {
39
+ req.tenantId = serverRequest.tenantId;
40
+ req.systemAdmin = serverRequest.systemAdmin;
41
+ req.syncPrincipal = serverRequest.syncPrincipal;
42
+ req.timestampPrincipal = serverRequest.timestampPrincipal;
43
+ req.peerName = serverRequest.peerName;
44
+ }
45
+ /** Write a JSON or binary response. Event streams are the caller's business. */
46
+ async function sendServerResponse(req, res, response) {
47
+ if ((0, types_1.isJsonResponse)(response)) {
48
+ for (const [name, value] of Object.entries(response.headers ?? {})) {
49
+ res.setHeader(name, value);
50
+ }
51
+ res.status(response.status).json(response.json);
52
+ return;
53
+ }
54
+ if ((0, types_1.isBytesResponse)(response)) {
55
+ for (const [name, value] of Object.entries(response.headers)) {
56
+ res.setHeader(name, value);
57
+ }
58
+ res.status(response.status);
59
+ if (response.binaryEntryFrameBytes !== undefined) {
60
+ await (0, compressionMiddleware_1.sendBinaryEntryBody)(req, res, response.bytes, response.binaryEntryFrameBytes);
61
+ return;
62
+ }
63
+ const bytes = response.bytes;
64
+ res.send(Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength));
65
+ return;
66
+ }
67
+ throw new Error("Event stream responses must be handled by the route");
68
+ }
69
+ /**
70
+ * Express route handler running a core handler. Anything the handler did not
71
+ * turn into a response goes to the Express error handler, as a throw from a
72
+ * synchronous handler would.
73
+ */
74
+ function route(handler) {
75
+ return async (req, res, next) => {
76
+ try {
77
+ const response = await handler(toServerRequest(req));
78
+ await sendServerResponse(req, res, response);
79
+ }
80
+ catch (error) {
81
+ next(error);
82
+ }
83
+ };
84
+ }
85
+ /**
86
+ * Express middleware running a core guard: a returned response ends the
87
+ * request, null continues with the guard's results on the request.
88
+ */
89
+ function guard(check) {
90
+ return async (req, res, next) => {
91
+ const serverRequest = toServerRequest(req);
92
+ let rejection;
93
+ try {
94
+ rejection = await check(serverRequest);
95
+ }
96
+ catch (error) {
97
+ next(error);
98
+ return;
99
+ }
100
+ if (rejection) {
101
+ await sendServerResponse(req, res, rejection);
102
+ return;
103
+ }
104
+ applyGuardResults(req, serverRequest);
105
+ next();
106
+ };
107
+ }
108
+ //# sourceMappingURL=expressAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressAdapter.js","sourceRoot":"","sources":["../../../src/node/server/expressAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type IrohStreamIO } from "../../core/appendonlystores/network/IrohStreamIO";
2
- import type { ServerIrohConfig } from "./types";
2
+ import type { ServerIrohConfig } from "../../server/types";
3
3
  export interface NativeIrohStreamIO extends IrohStreamIO {
4
4
  endpointId?: string;
5
5
  close?(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"nativeIrohStreamIO.d.ts","sourceRoot":"","sources":["../../../src/node/server/nativeIrohStreamIO.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,KAAK,YAAY,EAClB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AA6BD,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,cAAc,eAAe,CAAC,GAAG,IAAI,CAAC,CAM3F;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAwE7B"}
1
+ {"version":3,"file":"nativeIrohStreamIO.d.ts","sourceRoot":"","sources":["../../../src/node/server/nativeIrohStreamIO.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,KAAK,YAAY,EAClB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AA6BD,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,cAAc,eAAe,CAAC,GAAG,IAAI,CAAC,CAM3F;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAwE7B"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The cluster audit log on disk: `<dataDir>/cluster/audit.jsonl`, rotated to
3
+ * `audit.jsonl.<timestamp>` once it passes {@link DEFAULT_MAX_BYTES}. Only the
4
+ * active file is read back.
5
+ */
6
+ import type { ClusterAuditStorage } from "../../../server/peer/ClusterAuditLog";
7
+ export declare class FileClusterAuditStorage implements ClusterAuditStorage {
8
+ private readonly maxBytes;
9
+ private readonly dir;
10
+ private readonly file;
11
+ constructor(dataDir: string, maxBytes?: number);
12
+ appendLine(line: string): void;
13
+ readLines(): string[];
14
+ private rotateIfNeeded;
15
+ }
16
+ //# sourceMappingURL=FileClusterAuditStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileClusterAuditStorage.d.ts","sourceRoot":"","sources":["../../../../src/node/server/peer/FileClusterAuditStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAKhF,qBAAa,uBAAwB,YAAW,mBAAmB;IAM/D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL3B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAG5B,OAAO,EAAE,MAAM,EACE,QAAQ,GAAE,MAA0B;IAMvD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM9B,SAAS,IAAI,MAAM,EAAE;IAKrB,OAAO,CAAC,cAAc;CAKvB"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * The cluster audit log on disk: `<dataDir>/cluster/audit.jsonl`, rotated to
4
+ * `audit.jsonl.<timestamp>` once it passes {@link DEFAULT_MAX_BYTES}. Only the
5
+ * active file is read back.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.FileClusterAuditStorage = void 0;
9
+ const fs_1 = require("fs");
10
+ const path_1 = require("path");
11
+ /** Rotate once the active file passes this size. */
12
+ const DEFAULT_MAX_BYTES = 5 * 1024 * 1024;
13
+ class FileClusterAuditStorage {
14
+ constructor(dataDir, maxBytes = DEFAULT_MAX_BYTES) {
15
+ this.maxBytes = maxBytes;
16
+ this.dir = (0, path_1.join)(dataDir, "cluster");
17
+ this.file = (0, path_1.join)(this.dir, "audit.jsonl");
18
+ }
19
+ appendLine(line) {
20
+ if (!(0, fs_1.existsSync)(this.dir))
21
+ (0, fs_1.mkdirSync)(this.dir, { recursive: true });
22
+ this.rotateIfNeeded();
23
+ (0, fs_1.appendFileSync)(this.file, `${line}\n`, "utf8");
24
+ }
25
+ readLines() {
26
+ if (!(0, fs_1.existsSync)(this.file))
27
+ return [];
28
+ return (0, fs_1.readFileSync)(this.file, "utf8").split("\n");
29
+ }
30
+ rotateIfNeeded() {
31
+ if (!(0, fs_1.existsSync)(this.file))
32
+ return;
33
+ if ((0, fs_1.statSync)(this.file).size < this.maxBytes)
34
+ return;
35
+ (0, fs_1.renameSync)(this.file, `${this.file}.${Date.now()}`);
36
+ }
37
+ }
38
+ exports.FileClusterAuditStorage = FileClusterAuditStorage;
39
+ //# sourceMappingURL=FileClusterAuditStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileClusterAuditStorage.js","sourceRoot":"","sources":["../../../../src/node/server/peer/FileClusterAuditStorage.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,2BAA+F;AAC/F,+BAA4B;AAI5B,oDAAoD;AACpD,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1C,MAAa,uBAAuB;IAIlC,YACE,OAAe,EACE,WAAmB,iBAAiB;QAApC,aAAQ,GAAR,QAAQ,CAA4B;QAErD,IAAI,CAAC,GAAG,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,GAAG,CAAC;YAAE,IAAA,cAAS,EAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAA,mBAAc,EAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,OAAO,IAAA,iBAAY,EAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QACnC,IAAI,IAAA,aAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ;YAAE,OAAO;QACrD,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;CACF;AA5BD,0DA4BC"}
@@ -3,7 +3,7 @@
3
3
  * change feed share the handshake; each in-flight call still owns its stream.
4
4
  */
5
5
  import { type IrohByteStream, type IrohRpcContext, type IrohStreamIO } from "../../../core/appendonlystores/network/IrohStreamIO";
6
- import type { SyncChangeEvent } from "../SyncEventBus";
6
+ import type { SyncChangeEvent } from "../../../server/SyncEventBus";
7
7
  export declare class IrohPeerLink {
8
8
  private readonly io;
9
9
  private readonly ticket;
@@ -1 +1 @@
1
- {"version":3,"file":"IrohPeerLink.d.ts","sourceRoot":"","sources":["../../../../src/node/server/peer/IrohPeerLink.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIL,KAAK,cAAc,EAEnB,KAAK,cAAc,EAEnB,KAAK,YAAY,EAClB,MAAM,qDAAqD,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,qBAAa,YAAY;IAKrB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,MAAM,CAAK;gBAGA,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM;YAGnB,gBAAgB;IAUxB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlF;;;OAGG;IACH,UAAU,IAAI,YAAY;IAWpB,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,EACzC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC;IA4CV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B;AAkBD,YAAY,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"IrohPeerLink.d.ts","sourceRoot":"","sources":["../../../../src/node/server/peer/IrohPeerLink.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIL,KAAK,cAAc,EAEnB,KAAK,cAAc,EAEnB,KAAK,YAAY,EAClB,MAAM,qDAAqD,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,qBAAa,YAAY;IAKrB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,MAAM,CAAK;gBAGA,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM;YAGnB,gBAAgB;IAUxB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlF;;;OAGG;IACH,UAAU,IAAI,YAAY;IAWpB,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,EACzC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC;IA4CV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B;AAkBD,YAAY,EAAE,cAAc,EAAE,CAAC"}