mindoodb 0.0.53 → 0.0.55

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 (99) hide show
  1. package/README-server.md +125 -69
  2. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +17 -0
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +22 -0
  5. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  6. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +58 -0
  7. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  8. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +156 -3
  9. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  10. package/dist/browser/index.mjs +2 -0
  11. package/dist/core/BaseMindooDB.d.ts +73 -74
  12. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  13. package/dist/core/BaseMindooDB.js +263 -509
  14. package/dist/core/BaseMindooDB.js.map +1 -1
  15. package/dist/core/MindooDBServerAdmin.d.ts +44 -22
  16. package/dist/core/MindooDBServerAdmin.d.ts.map +1 -1
  17. package/dist/core/MindooDBServerAdmin.js +45 -21
  18. package/dist/core/MindooDBServerAdmin.js.map +1 -1
  19. package/dist/core/appendonlystores/syncStores.d.ts +147 -0
  20. package/dist/core/appendonlystores/syncStores.d.ts.map +1 -0
  21. package/dist/core/appendonlystores/syncStores.js +612 -0
  22. package/dist/core/appendonlystores/syncStores.js.map +1 -0
  23. package/dist/core/builtinDbInvariants.d.ts +30 -0
  24. package/dist/core/builtinDbInvariants.d.ts.map +1 -1
  25. package/dist/core/builtinDbInvariants.js +97 -0
  26. package/dist/core/builtinDbInvariants.js.map +1 -1
  27. package/dist/core/index.d.ts +1 -1
  28. package/dist/core/index.d.ts.map +1 -1
  29. package/dist/core/index.js +7 -4
  30. package/dist/core/index.js.map +1 -1
  31. package/dist/core/types.d.ts +42 -0
  32. package/dist/core/types.d.ts.map +1 -1
  33. package/dist/node/server/CapabilityMatcher.d.ts +2 -2
  34. package/dist/node/server/CapabilityMatcher.js +2 -2
  35. package/dist/node/server/MindooDBServer.d.ts +14 -1
  36. package/dist/node/server/MindooDBServer.d.ts.map +1 -1
  37. package/dist/node/server/MindooDBServer.js +166 -159
  38. package/dist/node/server/MindooDBServer.js.map +1 -1
  39. package/dist/node/server/SyncEventBus.d.ts +10 -0
  40. package/dist/node/server/SyncEventBus.d.ts.map +1 -1
  41. package/dist/node/server/SyncEventBus.js.map +1 -1
  42. package/dist/node/server/TenantManager.d.ts +58 -6
  43. package/dist/node/server/TenantManager.d.ts.map +1 -1
  44. package/dist/node/server/TenantManager.js +90 -65
  45. package/dist/node/server/TenantManager.js.map +1 -1
  46. package/dist/node/server/add-to-network.d.ts.map +1 -1
  47. package/dist/node/server/add-to-network.js +33 -15
  48. package/dist/node/server/add-to-network.js.map +1 -1
  49. package/dist/node/server/canonicalSetupName.d.ts +22 -0
  50. package/dist/node/server/canonicalSetupName.d.ts.map +1 -0
  51. package/dist/node/server/canonicalSetupName.js +38 -0
  52. package/dist/node/server/canonicalSetupName.js.map +1 -0
  53. package/dist/node/server/config.d.ts.map +1 -1
  54. package/dist/node/server/config.js +33 -1
  55. package/dist/node/server/config.js.map +1 -1
  56. package/dist/node/server/peer/ClusterAuditLog.d.ts +64 -0
  57. package/dist/node/server/peer/ClusterAuditLog.d.ts.map +1 -0
  58. package/dist/node/server/peer/ClusterAuditLog.js +99 -0
  59. package/dist/node/server/peer/ClusterAuditLog.js.map +1 -0
  60. package/dist/node/server/peer/ClusterJobRunner.d.ts +43 -0
  61. package/dist/node/server/peer/ClusterJobRunner.d.ts.map +1 -0
  62. package/dist/node/server/peer/ClusterJobRunner.js +119 -0
  63. package/dist/node/server/peer/ClusterJobRunner.js.map +1 -0
  64. package/dist/node/server/peer/ClusterManager.d.ts +116 -0
  65. package/dist/node/server/peer/ClusterManager.d.ts.map +1 -0
  66. package/dist/node/server/peer/ClusterManager.js +274 -0
  67. package/dist/node/server/peer/ClusterManager.js.map +1 -0
  68. package/dist/node/server/peer/PeerAuthService.d.ts +69 -0
  69. package/dist/node/server/peer/PeerAuthService.d.ts.map +1 -0
  70. package/dist/node/server/peer/PeerAuthService.js +208 -0
  71. package/dist/node/server/peer/PeerAuthService.js.map +1 -0
  72. package/dist/node/server/peer/PeerReplicator.d.ts +232 -0
  73. package/dist/node/server/peer/PeerReplicator.d.ts.map +1 -0
  74. package/dist/node/server/peer/PeerReplicator.js +879 -0
  75. package/dist/node/server/peer/PeerReplicator.js.map +1 -0
  76. package/dist/node/server/peer/routes.d.ts +66 -0
  77. package/dist/node/server/peer/routes.d.ts.map +1 -0
  78. package/dist/node/server/peer/routes.js +322 -0
  79. package/dist/node/server/peer/routes.js.map +1 -0
  80. package/dist/node/server/peer/types.d.ts +244 -0
  81. package/dist/node/server/peer/types.d.ts.map +1 -0
  82. package/dist/node/server/peer/types.js +189 -0
  83. package/dist/node/server/peer/types.js.map +1 -0
  84. package/dist/node/server/server.d.ts +1 -1
  85. package/dist/node/server/server.js +18 -37
  86. package/dist/node/server/server.js.map +1 -1
  87. package/dist/node/server/serverinit.d.ts +2 -1
  88. package/dist/node/server/serverinit.d.ts.map +1 -1
  89. package/dist/node/server/serverinit.js +34 -12
  90. package/dist/node/server/serverinit.js.map +1 -1
  91. package/dist/node/server/types.d.ts +42 -30
  92. package/dist/node/server/types.d.ts.map +1 -1
  93. package/dist/node/server/types.js +1 -7
  94. package/dist/node/server/types.js.map +1 -1
  95. package/dist/node/server/validation.d.ts +0 -6
  96. package/dist/node/server/validation.d.ts.map +1 -1
  97. package/dist/node/server/validation.js +1 -7
  98. package/dist/node/server/validation.js.map +1 -1
  99. package/package.json +1 -1
@@ -41,16 +41,25 @@ export interface MindooDBServerAdminOptions {
41
41
  /** Platform crypto (e.g. `NodeCryptoAdapter`, browser `createCryptoAdapter()`, RN adapter). */
42
42
  cryptoAdapter: CryptoAdapter;
43
43
  }
44
+ /**
45
+ * One entry of `trusted-servers.json`.
46
+ *
47
+ * The keys establish trust; the optional fields turn that trust into an active
48
+ * replication link. Without a `url` this server accepts the peer's inbound
49
+ * connections but never dials out to it.
50
+ */
44
51
  interface TrustedServer {
45
52
  name: string;
46
53
  signingPublicKey: string;
47
54
  encryptionPublicKey: string;
48
- }
49
- interface SyncServerConfig {
50
- name: string;
51
- url: string;
52
- syncIntervalMs?: number;
53
- databases: string[];
55
+ /** Base URL of the peer. Omit for a trust-only entry. */
56
+ url?: string;
57
+ /** Which way entries flow. Defaults to `bidirectional`. */
58
+ direction?: "bidirectional" | "push" | "pull" | "disabled";
59
+ /** Mesh shape. Defaults to `peer`; two spokes never dial each other. */
60
+ role?: "peer" | "hub" | "spoke";
61
+ /** How eagerly attachment blobs follow their documents. Defaults to `eager`. */
62
+ attachments?: "eager" | "lazy" | "never";
54
63
  }
55
64
  /**
56
65
  * One system-admin identity as stored in server `config.json`.
@@ -163,30 +172,43 @@ export declare class MindooDBServerAdmin {
163
172
  success: boolean;
164
173
  message?: string;
165
174
  }>;
175
+ /** This node's peers, their roles and whether a session is live. */
176
+ getClusterTopology(): Promise<unknown>;
177
+ /** Health, lag, retry depth and last error per peer. */
178
+ getClusterStatus(): Promise<unknown>;
179
+ /** Per-peer replication state for one tenant. */
180
+ getClusterTenantStatus(tenantId: string): Promise<unknown>;
166
181
  /**
167
- * List sync server targets configured for one tenant.
168
- */
169
- listTenantSyncServers(tenantId: string): Promise<SyncServerConfig[]>;
170
- /**
171
- * Add one sync target for a tenant.
182
+ * Dispatch a cluster action. Returns a `jobId` immediately; poll
183
+ * {@link getClusterJob} for progress and the result.
184
+ *
185
+ * Omit `scope.peer` to act on every peer.
172
186
  */
173
- addTenantSyncServer(tenantId: string, config: SyncServerConfig): Promise<{
174
- success: boolean;
175
- message?: string;
187
+ runClusterAction(action: "sync" | "retry-rejected" | "refresh-intersection" | "pause" | "resume", scope?: {
188
+ peer?: string;
189
+ tenantId?: string;
190
+ dbId?: string;
191
+ }): Promise<{
192
+ jobId: string;
193
+ job: unknown;
176
194
  }>;
195
+ getClusterJob(jobId: string): Promise<unknown>;
196
+ listClusterJobs(limit?: number): Promise<unknown>;
177
197
  /**
178
- * Remove one tenant-specific sync target.
198
+ * Read the administrative audit log, newest first. `before` is the
199
+ * `nextCursor` of the previous page.
179
200
  */
180
- removeTenantSyncServer(tenantId: string, serverName: string): Promise<{
201
+ getClusterAudit(options?: {
202
+ limit?: number;
203
+ before?: string;
204
+ }): Promise<unknown>;
205
+ /** Create or replace a peer's replication settings (url, role, direction). */
206
+ saveClusterPeer(name: string, peer: Partial<TrustedServer>, mode?: "create" | "update"): Promise<{
181
207
  success: boolean;
182
- message?: string;
208
+ peer: TrustedServer;
183
209
  }>;
184
- /**
185
- * Trigger an on-demand sync for one tenant.
186
- */
187
- triggerTenantSync(tenantId: string): Promise<{
210
+ deleteClusterPeer(name: string): Promise<{
188
211
  success: boolean;
189
- message?: string;
190
212
  }>;
191
213
  /**
192
214
  * Fetch the currently active runtime server config.
@@ -1 +1 @@
1
- {"version":3,"file":"MindooDBServerAdmin.d.ts","sourceRoot":"","sources":["../../src/core/MindooDBServerAdmin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,aAAa,CAAC;IAC/B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,+FAA+F;IAC/F,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,UAAU,kBAAkB;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;CACJ;AA+CD;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,cAAc,CAAa;IAEnC;;OAEG;gBACS,OAAO,EAAE,0BAA0B;IAkB/C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKtC;;;;;OAKG;IACG,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAyBpE;;OAEG;IACG,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAQlD;;OAEG;IACG,YAAY,CAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAWlD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAKpD;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI9F;;OAEG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAW9F;;OAEG;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQ1E;;OAEG;IACG,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAQlD;;OAEG;IACG,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAWlD;;OAEG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAWlD;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAIxC;;;;;OAKG;IACG,YAAY,CAChB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAIvE;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAKtD;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAOzE;;;;;OAKG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIxE;;;;;OAKG;IACG,qBAAqB,CACzB,SAAS,EAAE,oBAAoB,GAC9B,OAAO,CAAC;QAAE,SAAS,EAAE,oBAAoB,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAgBhE;;;;;OAKG;IACG,sBAAsB,CAC1B,SAAS,EAAE,oBAAoB,EAC/B,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,YAAY,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAuCF;;;OAGG;IACG,uBAAuB,CAC3B,SAAS,EAAE,oBAAoB,EAC/B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC7B,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,YAAY,CAAC;QACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;YA0CY,oBAAoB;YA4BpB,mBAAmB;YA0FnB,eAAe;YA6Bf,qBAAqB;IAYnC;;OAEG;YACW,iBAAiB;CAYhC"}
1
+ {"version":3,"file":"MindooDBServerAdmin.d.ts","sourceRoot":"","sources":["../../src/core/MindooDBServerAdmin.ts"],"names":[],"mappings":"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"}
@@ -142,35 +142,59 @@ class MindooDBServerAdmin {
142
142
  return await this.authenticatedRequest("DELETE", `/system/trusted-servers/${encodeURIComponent(serverName)}`);
143
143
  }
144
144
  // =========================================================================
145
- // Per-tenant sync server management
145
+ // Cluster administration
146
+ //
147
+ // Every method here answers for the node this client points at. A console
148
+ // that wants a cluster-wide view creates one client per node and merges the
149
+ // results — no node reports on behalf of another, because peers trust each
150
+ // other with data, not with each other's administration.
146
151
  // =========================================================================
147
- /**
148
- * List sync server targets configured for one tenant.
149
- */
150
- async listTenantSyncServers(tenantId) {
151
- const res = await this.authenticatedRequest("GET", `/system/tenants/${encodeURIComponent(tenantId)}/sync-servers`);
152
- return res.servers;
152
+ /** This node's peers, their roles and whether a session is live. */
153
+ async getClusterTopology() {
154
+ return await this.authenticatedRequest("GET", "/system/cluster/topology");
153
155
  }
154
- /**
155
- * Add one sync target for a tenant.
156
- */
157
- async addTenantSyncServer(tenantId, config) {
158
- return await this.authenticatedRequest("POST", `/system/tenants/${encodeURIComponent(tenantId)}/sync-servers`, config);
156
+ /** Health, lag, retry depth and last error per peer. */
157
+ async getClusterStatus() {
158
+ return await this.authenticatedRequest("GET", "/system/cluster/status");
159
+ }
160
+ /** Per-peer replication state for one tenant. */
161
+ async getClusterTenantStatus(tenantId) {
162
+ return await this.authenticatedRequest("GET", `/system/cluster/status/tenants/${encodeURIComponent(tenantId)}`);
159
163
  }
160
164
  /**
161
- * Remove one tenant-specific sync target.
165
+ * Dispatch a cluster action. Returns a `jobId` immediately; poll
166
+ * {@link getClusterJob} for progress and the result.
167
+ *
168
+ * Omit `scope.peer` to act on every peer.
162
169
  */
163
- async removeTenantSyncServer(tenantId, serverName) {
164
- return await this.authenticatedRequest("DELETE", `/system/tenants/${encodeURIComponent(tenantId)}/sync-servers/${encodeURIComponent(serverName)}`);
170
+ async runClusterAction(action, scope = {}) {
171
+ return (await this.authenticatedRequest("POST", `/system/cluster/actions/${action}`, scope));
172
+ }
173
+ async getClusterJob(jobId) {
174
+ return await this.authenticatedRequest("GET", `/system/cluster/jobs/${encodeURIComponent(jobId)}`);
175
+ }
176
+ async listClusterJobs(limit = 50) {
177
+ return await this.authenticatedRequest("GET", `/system/cluster/jobs?limit=${limit}`);
165
178
  }
166
- // =========================================================================
167
- // Trigger sync
168
- // =========================================================================
169
179
  /**
170
- * Trigger an on-demand sync for one tenant.
180
+ * Read the administrative audit log, newest first. `before` is the
181
+ * `nextCursor` of the previous page.
171
182
  */
172
- async triggerTenantSync(tenantId) {
173
- return await this.authenticatedRequest("POST", `/system/tenants/${encodeURIComponent(tenantId)}/trigger-sync`);
183
+ async getClusterAudit(options = {}) {
184
+ const params = new URLSearchParams();
185
+ if (options.limit !== undefined)
186
+ params.set("limit", String(options.limit));
187
+ if (options.before)
188
+ params.set("before", options.before);
189
+ const query = params.toString();
190
+ return await this.authenticatedRequest("GET", `/system/cluster/audit${query ? `?${query}` : ""}`);
191
+ }
192
+ /** Create or replace a peer's replication settings (url, role, direction). */
193
+ async saveClusterPeer(name, peer, mode = "update") {
194
+ return (await this.authenticatedRequest(mode === "create" ? "POST" : "PATCH", `/system/cluster/peers/${encodeURIComponent(name)}`, peer));
195
+ }
196
+ async deleteClusterPeer(name) {
197
+ return (await this.authenticatedRequest("DELETE", `/system/cluster/peers/${encodeURIComponent(name)}`));
174
198
  }
175
199
  // =========================================================================
176
200
  // Runtime config management
@@ -1 +1 @@
1
- {"version":3,"file":"MindooDBServerAdmin.js","sourceRoot":"","sources":["../../src/core/MindooDBServerAdmin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MindooDBServerAdmin.js","sourceRoot":"","sources":["../../src/core/MindooDBServerAdmin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Store-to-store entry transfer (sync-v5).
3
+ *
4
+ * This is the reconciliation algorithm that moves {@link StoreEntry} blobs from
5
+ * one {@link ContentAddressedStore} to another: persisted scan cursors, bloom
6
+ * pre-screening, and parallel transfer batches. It works purely on encrypted
7
+ * entries and never opens an Automerge document, which is what lets both the
8
+ * client (`BaseMindooDB.pullChangesFrom` / `pushChangesTo`) and the server-side
9
+ * peer replicator share one implementation instead of maintaining a second,
10
+ * weaker server-to-server algorithm.
11
+ *
12
+ * ## Cursor invariant: strictly per (source, target) pair
13
+ *
14
+ * A cursor position is a `(receiptOrder, id)` pair, and `receiptOrder` is the
15
+ * *local insertion order* of the store that produced it — it is assigned when
16
+ * an entry lands in that store and is NOT part of the replicated entry data
17
+ * (see `StampedWitnessFields` in `core/crypto/WitnessReceipt.ts`, which carries
18
+ * only `receivedAt` / `receivedByPublicKey` / `receivedDateSignature`).
19
+ *
20
+ * Two servers holding the identical entry set therefore assign it different
21
+ * receipt orders. A cursor is only meaningful for the exact pair of stores it
22
+ * was recorded for, which is why {@link syncScanCursorKey} embeds both
23
+ * identities and why cursors must never be shared, reused across peers, or
24
+ * replicated. Getting this wrong silently skips entries.
25
+ */
26
+ import type { ContentAddressedStore, StoreScanCursor, StoreIdBloomSummary, StoreHead, RejectedPutEntry } from "./types";
27
+ import type { SyncOptions } from "../types";
28
+ import type { Logger } from "../logging";
29
+ /**
30
+ * How far a previous sync between one (source, target) pair already scanned the
31
+ * source, anchored to the epochs of both stores at that moment. An epoch change
32
+ * on either side breaks the lineage and forces a full rescan.
33
+ */
34
+ export interface SyncScanCursorRecord {
35
+ sourceEpoch: string;
36
+ targetEpoch: string;
37
+ cursor: StoreScanCursor;
38
+ }
39
+ /**
40
+ * Where {@link syncEntriesBetweenStores} keeps its scan cursors.
41
+ *
42
+ * `BaseMindooDB` backs this with the map persisted in its metadata checkpoint;
43
+ * the server-side peer replicator backs it with a plain in-process map (a fresh
44
+ * process simply starts with one full metadata scan and then skips via the
45
+ * store head). Keys come from {@link syncScanCursorKey} — see the cursor
46
+ * invariant in the module docs before adding another implementation.
47
+ */
48
+ export interface SyncScanCursorStore {
49
+ get(key: string): SyncScanCursorRecord | null;
50
+ save(key: string, record: SyncScanCursorRecord): void;
51
+ delete(key: string): void;
52
+ }
53
+ /**
54
+ * What a caller does with entries the target refused per-entry
55
+ * (signature-class rejections, sync-v5 §5.7.6).
56
+ *
57
+ * - `"advance"` — the persisted cursor moves past the rejected entry, so it is
58
+ * never offered again. Correct for **clients**: one locally corrupted or
59
+ * forged entry must not block a database's push sync forever.
60
+ * - `"hold"` — the persisted cursor is clamped to just before the earliest
61
+ * rejected entry, so the next run re-offers it. Required for
62
+ * **server-to-server** replication: the most common rejection there is
63
+ * "author key not yet trusted", which resolves as soon as the peer has
64
+ * replicated the `directory` database. Advancing the cursor past those
65
+ * entries would drop them permanently and silently, leaving two servers
66
+ * divergent with no error anywhere.
67
+ */
68
+ export type SyncRejectionPolicy = "advance" | "hold";
69
+ /** Everything {@link syncEntriesBetweenStores} needs from its host. */
70
+ export interface SyncStoresContext {
71
+ logger: Logger;
72
+ cursors: SyncScanCursorStore;
73
+ /** Defaults to `"advance"` (client semantics). */
74
+ rejectionPolicy?: SyncRejectionPolicy;
75
+ }
76
+ export interface SyncStoresResult {
77
+ transferred: number;
78
+ transferredBytes?: number;
79
+ scanned: number;
80
+ cancelled: boolean;
81
+ rejected?: RejectedPutEntry[];
82
+ /**
83
+ * True when {@link SyncRejectionPolicy} `"hold"` clamped the persisted cursor
84
+ * because entries were rejected. The caller should retry this pair (with
85
+ * backoff) and surface it — under the hold policy this is the visible
86
+ * precursor of divergence.
87
+ */
88
+ cursorHeldForRetry?: boolean;
89
+ }
90
+ /** Stable identity for a store in the persisted sync-cursor map. */
91
+ export declare function syncStoreIdentity(store: ContentAddressedStore): string;
92
+ /** Key for a scan cursor: one record per (source, target) pair. */
93
+ export declare function syncScanCursorKey(sourceStore: ContentAddressedStore, targetStore: ContentAddressedStore): string;
94
+ export declare function setSyncAbortSignalOnStore(store: ContentAddressedStore, signal?: AbortSignal): void;
95
+ /**
96
+ * Fetch a store's head descriptor (`{ epoch, maxReceiptOrder }`), returning null
97
+ * when the store (or the remote server behind it) does not support it or the
98
+ * request fails. A null head simply disables the persisted-cursor fast path.
99
+ */
100
+ export declare function getStoreHeadSafe(store: ContentAddressedStore, logger: Logger): Promise<StoreHead | null>;
101
+ /**
102
+ * Fetch a store's bloom filter summary, returning null if unsupported or on
103
+ * error. Used on the target for missing-id pre-screening (callers fall back to
104
+ * exact checks) and on the source for the total-entry-count progress
105
+ * denominator.
106
+ */
107
+ export declare function getStoreBloomSummary(store: ContentAddressedStore, logger: Logger): Promise<StoreIdBloomSummary | null>;
108
+ /**
109
+ * From a list of candidate IDs, return only those the target store is missing.
110
+ * Uses bloom-filter pre-screening when available, then falls back to exact
111
+ * `hasEntries` for the uncertain set.
112
+ */
113
+ export declare function filterMissingIds(targetStore: ContentAddressedStore, candidateIds: string[], bloom: StoreIdBloomSummary | null): Promise<string[]>;
114
+ /**
115
+ * Transfer a set of entry IDs from source to target in fixed-size batches,
116
+ * emitting progress and checking for cancellation between each batch.
117
+ *
118
+ * Callers collect the IDs that need transferring, then delegate here instead of
119
+ * issuing one monolithic `getEntries`. This keeps progress updates frequent,
120
+ * lets cancellation interrupt between batches, and keeps each server-side
121
+ * `getEntries` + encryption unit small enough to avoid socket timeouts.
122
+ *
123
+ * Returns partial progress on cancellation so callers can report how much was
124
+ * actually transferred before the abort.
125
+ */
126
+ export declare function transferEntriesInBatches(sourceStore: ContentAddressedStore, targetStore: ContentAddressedStore, entryIds: string[], options: SyncOptions | undefined, state: {
127
+ transferred: number;
128
+ transferredBytes: number;
129
+ scanned: number;
130
+ totalSourceEntries?: number;
131
+ currentPage?: number;
132
+ }, logger: Logger): Promise<{
133
+ transferred: number;
134
+ transferredBytes: number;
135
+ cancelled: boolean;
136
+ rejected: RejectedPutEntry[];
137
+ }>;
138
+ /**
139
+ * Reconcile `targetStore` with `sourceStore`: find the entries the target is
140
+ * missing and transfer them.
141
+ *
142
+ * Takes the persisted-cursor fast path when the source supports
143
+ * `scanEntriesSince`, otherwise falls back to the `getAllIds` + `findNewEntries`
144
+ * path for older stores.
145
+ */
146
+ export declare function syncEntriesBetweenStores(sourceStore: ContentAddressedStore, targetStore: ContentAddressedStore, options: SyncOptions | undefined, ctx: SyncStoresContext): Promise<SyncStoresResult>;
147
+ //# sourceMappingURL=syncStores.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncStores.d.ts","sourceRoot":"","sources":["../../../src/core/appendonlystores/syncStores.ts"],"names":[],"mappings":"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"}