@quereus/sync-coordinator 4.5.0 → 4.6.0

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.
@@ -19,9 +19,11 @@ import { type SyncMaintenanceTarget } from '@quereus/sync';
19
19
  * and that one is inert on a relay — no `getTableSchema` oracle to tell it which
20
20
  * held tables are back, so it returns 0. `evictExpiredBasisTables` is likewise
21
21
  * inert without a `dropLocalTable` callback. What actually reclaims here is
22
- * `pruneTombstones` / `pruneQuarantine`, both at horizon granularity (default 30
23
- * days), so hourly expires records well inside the horizon while costing nothing
24
- * when there is nothing to reclaim (every sweep is zero-cost on an empty scan).
22
+ * `pruneTombstones` / `pruneQuarantine` — both at horizon granularity (default 30
23
+ * days) — plus `repairChangeLog`, which needs neither oracle nor callback and so
24
+ * does real work on a relay too. Hourly expires records well inside the horizon
25
+ * while costing nothing when there is nothing to reclaim (every sweep is
26
+ * zero-cost on an empty scan).
25
27
  * A documented constant rather than a `CoordinatorConfig` knob,
26
28
  * matching the other internal timings in this package (store idle timeout,
27
29
  * cleanup interval); promote it to config only if a deployment needs to tune it.
@@ -1 +1 @@
1
- {"version":3,"file":"maintenance.d.ts","sourceRoot":"","sources":["../../../src/service/maintenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAC;AAGvB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mCAAmC,QAAiB,CAAC;AAElE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,eAAe,IAAI,MAAM,EAAE,CAAC;IAC5B,wFAAwF;IACxF,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG;QAAE,WAAW,EAAE,qBAAqB,CAAA;KAAE,GAAG,SAAS,CAAC;IACtF,2CAA2C;IAC3C,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,qFAAqF;AACrF,MAAM,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAOhG;;;;;;;;;;;;;GAaG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,sBAAsB,EAC9B,GAAG,GAAE,sBAAmC,GACvC,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;IAgBnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAjBtB,OAAO,CAAC,KAAK,CAA+C;IAC5D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,CAA8B;gBAG3B,MAAM,EAAE,sBAAsB,EAC9B,UAAU,GAAE,MAA4C,EACxD,GAAG,GAAE,sBAAmC;IAG3D,0EAA0E;IAC1E,KAAK,IAAI,IAAI;IAMb;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAY/B"}
1
+ {"version":3,"file":"maintenance.d.ts","sourceRoot":"","sources":["../../../src/service/maintenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAC;AAGvB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mCAAmC,QAAiB,CAAC;AAElE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,eAAe,IAAI,MAAM,EAAE,CAAC;IAC5B,wFAAwF;IACxF,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG;QAAE,WAAW,EAAE,qBAAqB,CAAA;KAAE,GAAG,SAAS,CAAC;IACtF,2CAA2C;IAC3C,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,qFAAqF;AACrF,MAAM,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAOhG;;;;;;;;;;;;;GAaG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,sBAAsB,EAC9B,GAAG,GAAE,sBAAmC,GACvC,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;IAgBnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAjBtB,OAAO,CAAC,KAAK,CAA+C;IAC5D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,CAA8B;gBAG3B,MAAM,EAAE,sBAAsB,EAC9B,UAAU,GAAE,MAA4C,EACxD,GAAG,GAAE,sBAAmC;IAG3D,0EAA0E;IAC1E,KAAK,IAAI,IAAI;IAMb;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAY/B"}
@@ -20,9 +20,11 @@ import { serviceLog } from '../common/logger.js';
20
20
  * and that one is inert on a relay — no `getTableSchema` oracle to tell it which
21
21
  * held tables are back, so it returns 0. `evictExpiredBasisTables` is likewise
22
22
  * inert without a `dropLocalTable` callback. What actually reclaims here is
23
- * `pruneTombstones` / `pruneQuarantine`, both at horizon granularity (default 30
24
- * days), so hourly expires records well inside the horizon while costing nothing
25
- * when there is nothing to reclaim (every sweep is zero-cost on an empty scan).
23
+ * `pruneTombstones` / `pruneQuarantine` — both at horizon granularity (default 30
24
+ * days) — plus `repairChangeLog`, which needs neither oracle nor callback and so
25
+ * does real work on a relay too. Hourly expires records well inside the horizon
26
+ * while costing nothing when there is nothing to reclaim (every sweep is
27
+ * zero-cost on an empty scan).
26
28
  * A documented constant rather than a `CoordinatorConfig` knob,
27
29
  * matching the other internal timings in this package (store idle timeout,
28
30
  * cleanup interval); promote it to config only if a deployment needs to tune it.
@@ -1 +1 @@
1
- {"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../../src/service/maintenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../../src/service/maintenance.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quereus/sync-coordinator",
3
- "version": "4.5.0",
3
+ "version": "4.6.0",
4
4
  "type": "module",
5
5
  "description": "Standalone coordinator backend for Quereus Sync - production-ready sync server",
6
6
  "keywords": [
@@ -38,7 +38,7 @@
38
38
  "build": "tsc",
39
39
  "lint": "echo 'No lint configured'",
40
40
  "dev": "tsx watch --clear-screen=false src/bin/sync-coordinator.ts --port 8080",
41
- "typecheck": "tsc --noEmit",
41
+ "typecheck": "tsc --noEmit && tsc -p tsconfig.test.json --noEmit",
42
42
  "test": "cd ../.. && node --import ./packages/sync-coordinator/register.mjs node_modules/mocha/bin/mocha.js \"packages/sync-coordinator/test/**/*.spec.ts\" --reporter min --colors",
43
43
  "test:single": "cd ../.. && node --import ./packages/sync-coordinator/register.mjs node_modules/mocha/bin/mocha.js --bail",
44
44
  "start": "npx sync-coordinator --port 8080 --debug 'sync-coordinator:*'"
@@ -47,17 +47,17 @@
47
47
  "@aws-sdk/client-s3": "3.1069.0",
48
48
  "@fastify/cors": "^11.2.0",
49
49
  "@fastify/websocket": "^11.2.0",
50
- "@quereus/isolation": "^4.5.0",
51
- "@quereus/plugin-leveldb": "^4.5.0",
52
- "@quereus/quereus": "^4.5.0",
53
- "@quereus/store": "^4.5.0",
54
- "@quereus/sync": "^4.5.0",
50
+ "@quereus/isolation": "^4.6.0",
51
+ "@quereus/plugin-leveldb": "^4.6.0",
52
+ "@quereus/quereus": "^4.6.0",
53
+ "@quereus/store": "^4.6.0",
54
+ "@quereus/sync": "^4.6.0",
55
55
  "commander": "^15.0.0",
56
56
  "debug": "^4.4.3",
57
57
  "fastify": "^5.8.5"
58
58
  },
59
59
  "devDependencies": {
60
- "@quereus/sync-client": "^4.5.0",
60
+ "@quereus/sync-client": "^4.6.0",
61
61
  "@types/debug": "^4.1.13",
62
62
  "@types/mocha": "^10.0.10",
63
63
  "@types/node": "^25.9.3",