instar 1.3.805 → 1.3.807

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 (33) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +21 -0
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  5. package/dist/config/ConfigDefaults.js +6 -1
  6. package/dist/config/ConfigDefaults.js.map +1 -1
  7. package/dist/core/CoherenceJournal.d.ts +14 -0
  8. package/dist/core/CoherenceJournal.d.ts.map +1 -1
  9. package/dist/core/CoherenceJournal.js +33 -0
  10. package/dist/core/CoherenceJournal.js.map +1 -1
  11. package/dist/core/JournalSyncApplier.d.ts +14 -0
  12. package/dist/core/JournalSyncApplier.d.ts.map +1 -1
  13. package/dist/core/JournalSyncApplier.js +33 -0
  14. package/dist/core/JournalSyncApplier.js.map +1 -1
  15. package/dist/core/ReplicatedJournalCompactor.d.ts +36 -0
  16. package/dist/core/ReplicatedJournalCompactor.d.ts.map +1 -0
  17. package/dist/core/ReplicatedJournalCompactor.js +234 -0
  18. package/dist/core/ReplicatedJournalCompactor.js.map +1 -0
  19. package/dist/core/ReplicatedPeerStreamReader.d.ts +29 -1
  20. package/dist/core/ReplicatedPeerStreamReader.d.ts.map +1 -1
  21. package/dist/core/ReplicatedPeerStreamReader.js +175 -0
  22. package/dist/core/ReplicatedPeerStreamReader.js.map +1 -1
  23. package/dist/core/types.d.ts +6 -0
  24. package/dist/core/types.d.ts.map +1 -1
  25. package/dist/core/types.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/data/builtin-manifest.json +2 -2
  28. package/upgrades/1.3.806.md +30 -0
  29. package/upgrades/1.3.807.md +27 -0
  30. package/upgrades/eli16/replicated-journal-compaction.md +19 -0
  31. package/upgrades/eli16/replicated-witness-index.md +19 -0
  32. package/upgrades/side-effects/replicated-journal-compaction.md +38 -0
  33. package/upgrades/side-effects/replicated-witness-index.md +83 -0
@@ -30,6 +30,7 @@
30
30
  */
31
31
  import fs from 'node:fs';
32
32
  import path from 'node:path';
33
+ import { StringDecoder } from 'node:string_decoder';
33
34
  import { sanitizeMachineId, readTailTolerant, } from './CoherenceJournal.js';
34
35
  import { HybridLogicalClock } from './HybridLogicalClock.js';
35
36
  import { validateReplicatedEnvelope, } from './ReplicatedRecordEnvelope.js';
@@ -42,6 +43,8 @@ const NOOP_COUNTERS = {
42
43
  bumpDroppedField: () => { },
43
44
  bumpJailReject: () => { },
44
45
  };
46
+ const STREAM_CHUNK_BYTES = 64 * 1024;
47
+ const WITNESS_KEY_SEPARATOR = '\u0000';
45
48
  function realFs() {
46
49
  return {
47
50
  openSync: fs.openSync,
@@ -75,6 +78,10 @@ export class ReplicatedPeerStreamReader {
75
78
  registry;
76
79
  selfMachineId;
77
80
  io;
81
+ logger;
82
+ witnessIndexTrusted = true;
83
+ witnessIndex = new Map();
84
+ loggedWitnessParityMismatch = false;
78
85
  constructor(config) {
79
86
  if (!config)
80
87
  throw new Error('ReplicatedPeerStreamReader: config required');
@@ -87,6 +94,8 @@ export class ReplicatedPeerStreamReader {
87
94
  this.registry = config.registry;
88
95
  this.selfMachineId = config.selfMachineId;
89
96
  this.io = config.fsImpl ?? realFs();
97
+ this.logger = config.logger;
98
+ this.rebuildWitnessIndex();
90
99
  }
91
100
  // ── The ReplicatedStoreReader seams ────────────────────────────────────────
92
101
  /**
@@ -114,6 +123,12 @@ export class ReplicatedPeerStreamReader {
114
123
  * resolving (§7.2 err-toward-flag).
115
124
  */
116
125
  loadWitness(store, recordKey) {
126
+ if (this.witnessIndexTrusted) {
127
+ return this.witnessIndex.get(this.witnessKey(store, recordKey))?.hlc;
128
+ }
129
+ // Parity safety valve: if the derived index ever disagrees with a legacy
130
+ // scan during rebuild, serve the old full-scan answer until a later rebuild
131
+ // restores parity.
117
132
  const records = this.loadOriginRecords(store, recordKey);
118
133
  let max;
119
134
  for (const r of records) {
@@ -123,6 +138,45 @@ export class ReplicatedPeerStreamReader {
123
138
  }
124
139
  return max;
125
140
  }
141
+ /**
142
+ * Incrementally update the DERIVED witness index after replicated entries have
143
+ * crossed a durability boundary. The journal/replica streams remain the source
144
+ * of truth; crash/loss simply rebuilds this map from disk.
145
+ */
146
+ observeCommittedEntries(kind, entries) {
147
+ const reg = this.registry.getByKind(kind);
148
+ if (!reg || entries.length === 0)
149
+ return;
150
+ for (const entry of entries) {
151
+ const rec = this.validRegisteredRecord(reg.store, reg.schema, kind, entry);
152
+ if (!rec)
153
+ continue;
154
+ this.putWitness(rec.store, rec.recordKey, rec.hlc, this.witnessIndex);
155
+ }
156
+ }
157
+ /** Rebuild the derived witness index from the journal streams and parity-check it. */
158
+ rebuildWitnessIndex() {
159
+ const next = new Map();
160
+ this.scanRegisteredStreams((rec) => {
161
+ this.putWitness(rec.store, rec.recordKey, rec.hlc, next);
162
+ });
163
+ const legacy = this.scanWitnessesLegacy();
164
+ if (!this.witnessMapsEqual(next, legacy)) {
165
+ this.witnessIndexTrusted = false;
166
+ this.witnessIndex.clear();
167
+ for (const [k, v] of next.entries())
168
+ this.witnessIndex.set(k, v);
169
+ if (!this.loggedWitnessParityMismatch) {
170
+ this.loggedWitnessParityMismatch = true;
171
+ this.logger?.('[replicated-peer-stream-reader] witness index parity mismatch; falling back to legacy scan until rebuild parity is restored');
172
+ }
173
+ return;
174
+ }
175
+ this.witnessIndexTrusted = true;
176
+ this.witnessIndex.clear();
177
+ for (const [k, v] of next.entries())
178
+ this.witnessIndex.set(k, v);
179
+ }
126
180
  // ── The snapshot-serve seam (replaces loadOwnEntries: () => ({})) ──────────
127
181
  /**
128
182
  * The OWN-stream raw entries for `store`, keyed by contributing journal kind — the
@@ -208,6 +262,127 @@ export class ReplicatedPeerStreamReader {
208
262
  }
209
263
  return out;
210
264
  }
265
+ scanRegisteredStreams(visit) {
266
+ for (const store of this.registry.stores()) {
267
+ const reg = this.registry.getByStore(store);
268
+ if (!reg)
269
+ continue;
270
+ const kind = reg.kind;
271
+ const files = [
272
+ ...this.ownStreamFiles(this.selfMachineId, kind),
273
+ ...this.peerStreamFiles(kind),
274
+ ];
275
+ for (const file of files) {
276
+ this.forEachJournalEntryInFile(file, (entry) => {
277
+ const rec = this.validRegisteredRecord(store, reg.schema, kind, entry);
278
+ if (rec)
279
+ visit(rec);
280
+ });
281
+ }
282
+ }
283
+ }
284
+ /**
285
+ * Legacy witness answer used only for parity mode. This intentionally uses the
286
+ * pre-index materializer so an attribution bug in the derived index is caught
287
+ * before the index is trusted.
288
+ */
289
+ scanWitnessesLegacy() {
290
+ const out = new Map();
291
+ for (const store of this.registry.stores()) {
292
+ for (const recordKey of this.materialize(store).keys()) {
293
+ const records = this.loadOriginRecords(store, recordKey);
294
+ for (const r of records) {
295
+ this.putWitness(store, recordKey, r.envelope.hlc, out);
296
+ }
297
+ }
298
+ }
299
+ return out;
300
+ }
301
+ validRegisteredRecord(store, schema, kind, entry) {
302
+ if (entry.kind !== kind)
303
+ return null;
304
+ const data = entry.data;
305
+ if (!data || typeof data !== 'object')
306
+ return null;
307
+ const result = validateReplicatedEnvelope(data, schema, NOOP_COUNTERS);
308
+ if (!result.ok)
309
+ return null;
310
+ return {
311
+ store,
312
+ recordKey: result.envelope.recordKey,
313
+ hlc: result.envelope.hlc,
314
+ };
315
+ }
316
+ putWitness(store, recordKey, hlc, target) {
317
+ const key = this.witnessKey(store, recordKey);
318
+ const prior = target.get(key);
319
+ if (!prior || HybridLogicalClock.compare(hlc, prior.hlc) > 0) {
320
+ target.set(key, { hlc });
321
+ }
322
+ }
323
+ witnessKey(store, recordKey) {
324
+ return `${store}${WITNESS_KEY_SEPARATOR}${recordKey}`;
325
+ }
326
+ witnessMapsEqual(a, b) {
327
+ if (a.size !== b.size)
328
+ return false;
329
+ for (const [key, av] of a.entries()) {
330
+ const bv = b.get(key);
331
+ if (!bv || HybridLogicalClock.compare(av.hlc, bv.hlc) !== 0)
332
+ return false;
333
+ }
334
+ return true;
335
+ }
336
+ /** Stream a JSONL file forward in fixed chunks. Never materializes the file. */
337
+ forEachJournalEntryInFile(filePath, visit) {
338
+ if (!this.io.existsSync(filePath))
339
+ return;
340
+ let fd = null;
341
+ try {
342
+ fd = this.io.openSync(filePath, 'r');
343
+ const buf = Buffer.alloc(STREAM_CHUNK_BYTES);
344
+ const decoder = new StringDecoder('utf8');
345
+ let carry = '';
346
+ for (;;) {
347
+ const read = this.io.readSync(fd, buf, 0, buf.length, null);
348
+ if (read <= 0)
349
+ break;
350
+ carry += decoder.write(buf.subarray(0, read));
351
+ let nl;
352
+ while ((nl = carry.indexOf('\n')) >= 0) {
353
+ const line = carry.slice(0, nl);
354
+ carry = carry.slice(nl + 1);
355
+ this.parseJournalLine(line, visit);
356
+ }
357
+ }
358
+ carry += decoder.end();
359
+ this.parseJournalLine(carry, visit);
360
+ }
361
+ catch { /* @silent-fallback-ok: witness index is derived/rebuildable; unreadable streams are treated like absent witness and parity fallback can use the legacy scan. */
362
+ return;
363
+ }
364
+ finally {
365
+ if (fd !== null) {
366
+ try {
367
+ this.io.closeSync(fd);
368
+ }
369
+ catch {
370
+ /* best-effort */
371
+ }
372
+ }
373
+ }
374
+ }
375
+ parseJournalLine(line, visit) {
376
+ if (!line)
377
+ return;
378
+ try {
379
+ const obj = JSON.parse(line);
380
+ if (typeof obj.seq === 'number' && typeof obj.kind === 'string')
381
+ visit(obj);
382
+ }
383
+ catch { /* @silent-fallback-ok: tolerant journal readers skip corrupt/torn lines; authoritative repair happens at the journal layer. */
384
+ }
385
+ }
211
386
  // ── Path enumeration ───────────────────────────────────────────────────────
212
387
  journalDir() {
213
388
  return path.join(this.stateDir, 'state', 'coherence-journal');
@@ -1 +1 @@
1
- {"version":3,"file":"ReplicatedPeerStreamReader.js","sourceRoot":"","sources":["../../src/core/ReplicatedPeerStreamReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReplicatedPeerStreamReader.js","sourceRoot":"","sources":["../../src/core/ReplicatedPeerStreamReader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAIL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAqB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EACL,0BAA0B,GAI3B,MAAM,+BAA+B,CAAC;AAIvC,iGAAiG;AACjG,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C;uFACuF;AACvF,MAAM,aAAa,GAA+B;IAChD,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;CACzB,CAAC;AAEF,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;AACrC,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AAyBvC,SAAS,MAAM;IACb,OAAO;QACL,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,aAAa,EAAE,EAAE,CAAC,aAAa;QAC/B,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,aAAa,EAAE,EAAE,CAAC,aAAa;QAC/B,YAAY,EAAE,EAAE,CAAC,YAAY;QAC7B,WAAW,EAAE,EAAE,CAAC,WAAW;QAC3B,YAAY,EAAE,EAAE,CAAC,YAAY;QAC7B,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,QAAQ,EAAE,EAAE,CAAC,QAAQ;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,kFAAkF;AAClF,uFAAuF;AACvF,gFAAgF;AAChF,8EAA8E;AAC9E,oFAAoF;AACpF,iFAAiF;AACjF,uFAAuF;AACvF,6BAA6B;AAC7B,MAAM,OAAO,0BAA0B;IACpB,QAAQ,CAAS;IACjB,QAAQ,CAAyB;IACjC,aAAa,CAAS;IACtB,EAAE,CAAY;IACd,MAAM,CAAyB;IACxC,mBAAmB,GAAG,IAAI,CAAC;IAClB,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC7D,2BAA2B,GAAG,KAAK,CAAC;IAE5C,YAAY,MAAwC;QAClD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAClG,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,8EAA8E;IAE9E;;;;;OAKG;IACH,iBAAiB,CAAC,KAAa,EAAE,SAAiB;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;IAED,kFAAkF;IAClF,cAAc,CAAC,KAAa;QAC1B,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,8EAA8E;IAE9E;;;;;;;;OAQG;IACH,WAAW,CAAC,KAAa,EAAE,SAAiB;QAC1C,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;QACvE,CAAC;QACD,yEAAyE;QACzE,4EAA4E;QAC5E,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,GAA6B,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,GAAG,KAAK,SAAS,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7E,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,IAAiB,EAAE,OAAuB;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACzC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3E,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,mBAAmB;QACjB,MAAM,IAAI,GAAG,IAAI,GAAG,EAA6B,CAAC;QAClD,IAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACtC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;gBACxC,IAAI,CAAC,MAAM,EAAE,CAAC,6HAA6H,CAAC,CAAC;YAC/I,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,8EAA8E;IAE9E;;;;;;OAMG;IACH,cAAc,CAAC,KAAa,EAAE,MAAc;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,qDAAqD;QACrD,IAAI,MAAM,KAAK,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAmB,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACxE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACpC,MAAM,GAAG,GAAsB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjD,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,8EAA8E;IAE9E;;;;;OAKG;IACK,WAAW,CAAC,KAAa;QAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAqC,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAmB,CAAC;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAE1B,MAAM,KAAK,GAAG;YACZ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;YAChD,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;SAC9B,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;oBAAE,SAAS;gBAClC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACxB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,SAAS;gBAChD,MAAM,MAAM,GAAG,0BAA0B,CAAC,IAA+B,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;gBAClG,IAAI,CAAC,MAAM,CAAC,EAAE;oBAAE,SAAS;gBACzB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACtC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC5C,MAAM,GAAG,GAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1F,IAAI,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;oBAC3C,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC/B,CAAC;gBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,2EAA2E;gBAC3E,yEAAyE;gBACzE,IAAI,CAAC,KAAK,IAAI,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnF,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,4EAA4E;IACpE,eAAe,CAAC,KAAe;QACrC,MAAM,GAAG,GAAmB,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;YACtF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,qBAAqB,CAAC,KAA+C;QAC3E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAmB,CAAC;YACrC,MAAM,KAAK,GAAG;gBACZ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;gBAChD,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;aAC9B,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBACvE,IAAI,GAAG;wBAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,mBAAmB;QACzB,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBACzD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,qBAAqB,CAC3B,KAAa,EACb,MAAwB,EACxB,IAAiB,EACjB,KAAmB;QAEnB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACnD,MAAM,MAAM,GAAG,0BAA0B,CAAC,IAA+B,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAClG,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO;YACL,KAAK;YACL,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YACpC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG;SACzB,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,KAAa,EAAE,SAAiB,EAAE,GAAiB,EAAE,MAAsC;QAC5G,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,KAAa,EAAE,SAAiB;QACjD,OAAO,GAAG,KAAK,GAAG,qBAAqB,GAAG,SAAS,EAAE,CAAC;IACxD,CAAC;IAEO,gBAAgB,CAAC,CAAiC,EAAE,CAAiC;QAC3F,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACpC,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC5E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gFAAgF;IACxE,yBAAyB,CAAC,QAAgB,EAAE,KAAoC;QACtF,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO;QAC1C,IAAI,EAAE,GAAkB,IAAI,CAAC;QAC7B,IAAI,CAAC;YACH,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,SAAS,CAAC;gBACR,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC5D,IAAI,IAAI,IAAI,CAAC;oBAAE,MAAM;gBACrB,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC9C,IAAI,EAAU,CAAC;gBACf,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAChC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC5B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,KAAK,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC,CAAC,gKAAgK;YACxK,OAAO;QACT,CAAC;gBAAS,CAAC;YACT,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,iBAAiB;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,IAAY,EAAE,KAAoC;QACzE,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,CAAC;YAC7C,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC,CAAC,+HAA+H;QACzI,CAAC;IACH,CAAC;IAED,8EAA8E;IAEtE,UAAU;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAChE,CAAC;IAEO,QAAQ;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,oFAAoF;IAC5E,cAAc,CAAC,MAAc,EAAE,IAAiB;QACtD,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,QAAQ,CAAC,CAAC;QACxD,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,yFAAyF;IACjF,eAAe,CAAC,IAAiB;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAa,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC,CAAC,qHAAqH;YAC7H,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7B,+EAA+E;QAC/E,wEAAwE;QACxE,6EAA6E;QAC7E,iDAAiD;QACjD,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAAE,SAAS;YACzC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,0EAA0E;IAClE,WAAW,CAAC,GAAW,EAAE,IAAY,EAAE,IAAiB;QAC9D,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAa,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC,CAAC,gFAAgF;YACxF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAsC,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF"}
@@ -2647,6 +2647,12 @@ export interface CoherenceJournalUserConfig {
2647
2647
  replication?: {
2648
2648
  enabled?: boolean;
2649
2649
  maxBatchBytes?: number;
2650
+ /** Explicit one-shot replicated-record journal compaction. Disabled by default;
2651
+ * when enabled it still defaults to dry-run until deliberately flipped. */
2652
+ compaction?: {
2653
+ run?: boolean;
2654
+ dryRun?: boolean;
2655
+ };
2650
2656
  };
2651
2657
  /**
2652
2658
  * Working-Set Handoff tunables (WORKING-SET-HANDOFF-SPEC §3.7). All