@cleocode/core 2026.10.7 → 2026.10.8-rc.ci.675
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.
- package/dist/build-provenance.json +2 -2
- package/dist/cloud/nexus-link.d.ts +15 -0
- package/dist/cloud/nexus-link.d.ts.map +1 -1
- package/dist/cloud/nexus-link.js +25 -0
- package/dist/cloud/nexus-link.js.map +1 -1
- package/dist/cloud/nexus-vault.d.ts +14 -1
- package/dist/cloud/nexus-vault.d.ts.map +1 -1
- package/dist/cloud/nexus-vault.js +72 -5
- package/dist/cloud/nexus-vault.js.map +1 -1
- package/dist/cloud/replica-rebind.d.ts +51 -0
- package/dist/cloud/replica-rebind.d.ts.map +1 -0
- package/dist/cloud/replica-rebind.js +101 -0
- package/dist/cloud/replica-rebind.js.map +1 -0
- package/dist/doctor/container-reaper.d.ts +107 -0
- package/dist/doctor/container-reaper.d.ts.map +1 -0
- package/dist/doctor/container-reaper.js +194 -0
- package/dist/doctor/container-reaper.js.map +1 -0
- package/dist/store/sync/apply/applier.d.ts +3 -0
- package/dist/store/sync/apply/applier.d.ts.map +1 -1
- package/dist/store/sync/apply/applier.js +208 -85
- package/dist/store/sync/apply/applier.js.map +1 -1
- package/dist/store/sync/capture.d.ts +23 -3
- package/dist/store/sync/capture.d.ts.map +1 -1
- package/dist/store/sync/capture.js +31 -3
- package/dist/store/sync/capture.js.map +1 -1
- package/dist/store/sync/collision-settle.d.ts +62 -0
- package/dist/store/sync/collision-settle.d.ts.map +1 -0
- package/dist/store/sync/collision-settle.js +156 -0
- package/dist/store/sync/collision-settle.js.map +1 -0
- package/dist/store/sync/conflicts.d.ts +11 -0
- package/dist/store/sync/conflicts.d.ts.map +1 -1
- package/dist/store/sync/conflicts.js +18 -0
- package/dist/store/sync/conflicts.js.map +1 -1
- package/dist/store/sync/inherit.d.ts +15 -8
- package/dist/store/sync/inherit.d.ts.map +1 -1
- package/dist/store/sync/inherit.js +28 -11
- package/dist/store/sync/inherit.js.map +1 -1
- package/dist/store/sync/merge/types.d.ts +6 -0
- package/dist/store/sync/merge/types.d.ts.map +1 -1
- package/dist/store/sync/pull.d.ts +23 -2
- package/dist/store/sync/pull.d.ts.map +1 -1
- package/dist/store/sync/pull.js +27 -2
- package/dist/store/sync/pull.js.map +1 -1
- package/dist/store/sync/rebind.d.ts +112 -0
- package/dist/store/sync/rebind.d.ts.map +1 -0
- package/dist/store/sync/rebind.js +187 -0
- package/dist/store/sync/rebind.js.map +1 -0
- package/dist/store/sync/reconcile.d.ts +93 -0
- package/dist/store/sync/reconcile.d.ts.map +1 -0
- package/dist/store/sync/reconcile.js +330 -0
- package/dist/store/sync/reconcile.js.map +1 -0
- package/dist/store/sync/repair.d.ts +5 -0
- package/dist/store/sync/repair.d.ts.map +1 -1
- package/dist/store/sync/repair.js +2 -2
- package/dist/store/sync/repair.js.map +1 -1
- package/dist/store/sync/replica.d.ts +28 -1
- package/dist/store/sync/replica.d.ts.map +1 -1
- package/dist/store/sync/replica.js +17 -3
- package/dist/store/sync/replica.js.map +1 -1
- package/dist/store/sync/retire.d.ts +161 -0
- package/dist/store/sync/retire.d.ts.map +1 -0
- package/dist/store/sync/retire.js +193 -0
- package/dist/store/sync/retire.js.map +1 -0
- package/dist/store/sync/schema.d.ts +27 -0
- package/dist/store/sync/schema.d.ts.map +1 -1
- package/dist/store/sync/schema.js +43 -0
- package/dist/store/sync/schema.js.map +1 -1
- package/dist/store/sync/sealer.d.ts +10 -0
- package/dist/store/sync/sealer.d.ts.map +1 -1
- package/dist/store/sync/sealer.js +51 -5
- package/dist/store/sync/sealer.js.map +1 -1
- package/dist/store/sync/segments.d.ts.map +1 -1
- package/dist/store/sync/segments.js +6 -2
- package/dist/store/sync/segments.js.map +1 -1
- package/dist/store/sync/uid-alias.d.ts +100 -0
- package/dist/store/sync/uid-alias.d.ts.map +1 -0
- package/dist/store/sync/uid-alias.js +169 -0
- package/dist/store/sync/uid-alias.js.map +1 -0
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +48 -0
- package/dist/store/table-classification.js.map +1 -1
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +16 -5
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/complete-ci.d.ts.map +1 -1
- package/dist/tasks/complete-ci.js +7 -1
- package/dist/tasks/complete-ci.js.map +1 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +24 -17
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +3 -2
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts +20 -0
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +141 -19
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +2 -0
- package/dist/validation/engine-ops.js.map +1 -1
- package/migrations/sync-journal/20261009130000_t13278-replica-retire/migration.sql +29 -0
- package/migrations/sync-journal/20261009140000_t13366-retire-confirm/migration.sql +18 -0
- package/migrations/sync-journal/20261010150000_t13397-uid-alias/migration.sql +32 -0
- package/migrations/sync-journal/20261010160000_t13399-rekey-follow/migration.sql +57 -0
- package/package.json +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replica.js","sourceRoot":"","sources":["../../../src/store/sync/replica.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"replica.js","sourceRoot":"","sources":["../../../src/store/sync/replica.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retiring a replica (journal spec §1.5 "Retirement", §3.5 Rule 2 D5;
|
|
3
|
+
* T13278, T12753).
|
|
4
|
+
*
|
|
5
|
+
* A rebind that does not announce the old replica's end pins the fold
|
|
6
|
+
* horizon (§1.7) and skews the remint authority (T12341). So a rebind of the
|
|
7
|
+
* same file emits a signed `retire` control transaction under the NEW replica
|
|
8
|
+
* ({@link queueRetireTxn}): `{replica, successor, lastReplicaSeq}`, packed and
|
|
9
|
+
* signed like any sealed transaction. Every receiver records it at staging
|
|
10
|
+
* ({@link recordRetirement}, `_sync_retired`), with the stream seq it was
|
|
11
|
+
* sequenced at.
|
|
12
|
+
*
|
|
13
|
+
* A recorded retire counts only once the SERVER confirmed it
|
|
14
|
+
* ({@link confirmRetirements}, T13366): any device on the account can sign a
|
|
15
|
+
* `retire` naming itself successor, and only the server checks that the
|
|
16
|
+
* signer may retire that replica (the pinned device, or a project owner's;
|
|
17
|
+
* E31 `not-pinned-or-owner`). The emitter confirms from its E31 answer; a
|
|
18
|
+
* home-stream receiver from the home replica listing's `retiredAt` and
|
|
19
|
+
* `successor`. Until then the retire changes nothing.
|
|
20
|
+
*
|
|
21
|
+
* Once confirmed:
|
|
22
|
+
* - a transaction of the retired replica sequenced AFTER the retire (a late
|
|
23
|
+
* segment, pushed before the rebind) is inherited history
|
|
24
|
+
* ({@link isInheritedHistory}): applied as an ordinary op, its merge
|
|
25
|
+
* conflicts not recorded against the successor's reconcile. Every receiver
|
|
26
|
+
* decides it by stream seq, so they all decide the same;
|
|
27
|
+
* - the fold horizon leaves the retired replica out ({@link liveReplicaHorizon});
|
|
28
|
+
* - the remint authority sees it retired at the retire's HLC
|
|
29
|
+
* ({@link withRetirements}).
|
|
30
|
+
*
|
|
31
|
+
* A copy retires nothing: its original is still live.
|
|
32
|
+
*
|
|
33
|
+
* @task T13278
|
|
34
|
+
* @module store/sync/retire
|
|
35
|
+
*/
|
|
36
|
+
import type { DatabaseSync } from 'node:sqlite';
|
|
37
|
+
import type { TableScope } from '@cleocode/contracts';
|
|
38
|
+
import type { LedgerTxnRetire } from '@cleocode/contracts/ledger';
|
|
39
|
+
import type { ProjectReplica } from '../display-id-alias.js';
|
|
40
|
+
/** One replica a stream retired (`_sync_retired`). */
|
|
41
|
+
export interface RetiredReplicaRow {
|
|
42
|
+
readonly stream: string;
|
|
43
|
+
readonly replicaId: string;
|
|
44
|
+
readonly successor: string;
|
|
45
|
+
/** The last replicaSeq of the retired replica that may still land. */
|
|
46
|
+
readonly lastReplicaSeq: number;
|
|
47
|
+
/** The `retire` transaction. */
|
|
48
|
+
readonly txn: string;
|
|
49
|
+
/** Its HLC: the remint authority's retirement time. */
|
|
50
|
+
readonly hlc: string;
|
|
51
|
+
/** The stream seq the retire was sequenced at; null until it is (an own retire before its echo). */
|
|
52
|
+
readonly seq: number | null;
|
|
53
|
+
/** When the server confirmed the retirement (its `retiredAt`); null until it has. */
|
|
54
|
+
readonly confirmedAt: string | null;
|
|
55
|
+
}
|
|
56
|
+
/** The server's record of one retirement, as a confirmation of a recorded retire. */
|
|
57
|
+
export interface ServerRetirement {
|
|
58
|
+
readonly replicaId: string;
|
|
59
|
+
/** The successor the server stored; a retire naming another one stays unconfirmed. */
|
|
60
|
+
readonly successor: string | null;
|
|
61
|
+
/** When the server retired the replica. */
|
|
62
|
+
readonly retiredAt: string;
|
|
63
|
+
}
|
|
64
|
+
/** Options for {@link queueRetireTxn}. */
|
|
65
|
+
export interface QueueRetireOptions {
|
|
66
|
+
readonly scope: TableScope;
|
|
67
|
+
/** The stream the retire is announced on. */
|
|
68
|
+
readonly stream: string;
|
|
69
|
+
/** What is retired; `retire.successor` is the emitting (new) replica. */
|
|
70
|
+
readonly retire: LedgerTxnRetire;
|
|
71
|
+
/** Wall clock, ms. */
|
|
72
|
+
readonly nowMs: number;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Write this replica's `retire` control transaction as a sealed transaction
|
|
76
|
+
* of the successor, in the caller's transaction, and record the retirement
|
|
77
|
+
* locally (its seq comes with its echo). The segment builder packs and signs
|
|
78
|
+
* it like any sealed transaction (`kind: 'retire'`, `via: 'rebind'`, no ops).
|
|
79
|
+
*
|
|
80
|
+
* @param db - The store, inside a transaction.
|
|
81
|
+
* @param o - Scope, stream, the retirement and the clock.
|
|
82
|
+
* @returns The transaction id, `${successor}:${localSeq}`.
|
|
83
|
+
*/
|
|
84
|
+
export declare function queueRetireTxn(db: DatabaseSync, o: QueueRetireOptions): string;
|
|
85
|
+
/**
|
|
86
|
+
* Record a retirement a stream carries (staging), or this replica's own
|
|
87
|
+
* before its echo. The first retirement of a replica stands; a later record
|
|
88
|
+
* of the same retire transaction only fills its seq.
|
|
89
|
+
*
|
|
90
|
+
* @param db - The store, inside the staging transaction.
|
|
91
|
+
* @param stream - The stream.
|
|
92
|
+
* @param r - The retire body, its transaction, HLC and stream seq.
|
|
93
|
+
*/
|
|
94
|
+
export declare function recordRetirement(db: DatabaseSync, stream: string, r: LedgerTxnRetire & {
|
|
95
|
+
readonly txn: string;
|
|
96
|
+
readonly hlc: string;
|
|
97
|
+
readonly seq: number | null;
|
|
98
|
+
}): void;
|
|
99
|
+
/**
|
|
100
|
+
* Confirm recorded retires against the server's records (T13366): each
|
|
101
|
+
* recorded, unconfirmed retire of a listed replica whose successor matches
|
|
102
|
+
* gets the server's `retiredAt`. A server record for a retire not received
|
|
103
|
+
* yet, or naming another successor, confirms nothing.
|
|
104
|
+
*
|
|
105
|
+
* @param db - The store.
|
|
106
|
+
* @param stream - The stream the records are for.
|
|
107
|
+
* @param records - The server's retirements on it.
|
|
108
|
+
* @returns How many retires this confirmed.
|
|
109
|
+
*/
|
|
110
|
+
export declare function confirmRetirements(db: DatabaseSync, stream: string, records: readonly ServerRetirement[]): number;
|
|
111
|
+
/**
|
|
112
|
+
* The replicas the server confirmed retired on `stream` (every stream when
|
|
113
|
+
* omitted), by replica id: the set the fold horizon and the remint authority
|
|
114
|
+
* leave out. `includeUnconfirmed` adds the retires received but not yet
|
|
115
|
+
* confirmed (diagnostics). Read-only; empty before the journal schema is
|
|
116
|
+
* installed.
|
|
117
|
+
*
|
|
118
|
+
* @param db - The store.
|
|
119
|
+
* @param stream - The stream, or every stream.
|
|
120
|
+
* @param opts - `includeUnconfirmed`: every recorded retire.
|
|
121
|
+
* @returns The retirements.
|
|
122
|
+
*/
|
|
123
|
+
export declare function retiredReplicas(db: DatabaseSync, stream?: string, opts?: {
|
|
124
|
+
readonly includeUnconfirmed?: boolean;
|
|
125
|
+
}): Map<string, RetiredReplicaRow>;
|
|
126
|
+
/**
|
|
127
|
+
* Whether a transaction of `replicaId` at stream seq `seq` is inherited
|
|
128
|
+
* history: its replica was retired on this stream by a retire sequenced
|
|
129
|
+
* before it (§3.5 D5) and the server confirmed that retirement (T13366).
|
|
130
|
+
* Stream order decides which transactions are late; a receiver that applies
|
|
131
|
+
* one before its confirmation arrives records its conflicts, which changes
|
|
132
|
+
* conflict records only, never the applied values.
|
|
133
|
+
*
|
|
134
|
+
* @param db - The store.
|
|
135
|
+
* @param stream - The stream.
|
|
136
|
+
* @param replicaId - The transaction's replica.
|
|
137
|
+
* @param seq - The transaction's stream seq.
|
|
138
|
+
* @returns True for a late transaction of a retired replica.
|
|
139
|
+
*/
|
|
140
|
+
export declare function isInheritedHistory(db: DatabaseSync, stream: string, replicaId: string, seq: number): boolean;
|
|
141
|
+
/**
|
|
142
|
+
* The fold horizon's input over live replicas only (§1.7, §1.5): the lowest
|
|
143
|
+
* HLC among `heads` once every retired replica is left out, or null when no
|
|
144
|
+
* live replica remains. A retired replica never holds the horizon back.
|
|
145
|
+
*
|
|
146
|
+
* @param heads - Per replica, the HLC it has covered (its receive watermark).
|
|
147
|
+
* @param retired - The retired replica ids.
|
|
148
|
+
* @returns The lowest live HLC, or null.
|
|
149
|
+
*/
|
|
150
|
+
export declare function liveReplicaHorizon(heads: Readonly<Record<string, string>>, retired: ReadonlySet<string> | ReadonlyMap<string, unknown>): string | null;
|
|
151
|
+
/**
|
|
152
|
+
* The project membership the remint authority evaluates (T12341 §9.2), with
|
|
153
|
+
* every replica this store saw retired marked `retiredHlc` at its retire's
|
|
154
|
+
* HLC (a membership's own earlier retirement stands).
|
|
155
|
+
*
|
|
156
|
+
* @param replicas - The project's replicas.
|
|
157
|
+
* @param retired - {@link retiredReplicas}.
|
|
158
|
+
* @returns The membership with retirements applied.
|
|
159
|
+
*/
|
|
160
|
+
export declare function withRetirements(replicas: readonly ProjectReplica[], retired: ReadonlyMap<string, RetiredReplicaRow>): ProjectReplica[];
|
|
161
|
+
//# sourceMappingURL=retire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retire.d.ts","sourceRoot":"","sources":["../../../src/store/sync/retire.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retiring a replica (journal spec §1.5 "Retirement", §3.5 Rule 2 D5;
|
|
3
|
+
* T13278, T12753).
|
|
4
|
+
*
|
|
5
|
+
* A rebind that does not announce the old replica's end pins the fold
|
|
6
|
+
* horizon (§1.7) and skews the remint authority (T12341). So a rebind of the
|
|
7
|
+
* same file emits a signed `retire` control transaction under the NEW replica
|
|
8
|
+
* ({@link queueRetireTxn}): `{replica, successor, lastReplicaSeq}`, packed and
|
|
9
|
+
* signed like any sealed transaction. Every receiver records it at staging
|
|
10
|
+
* ({@link recordRetirement}, `_sync_retired`), with the stream seq it was
|
|
11
|
+
* sequenced at.
|
|
12
|
+
*
|
|
13
|
+
* A recorded retire counts only once the SERVER confirmed it
|
|
14
|
+
* ({@link confirmRetirements}, T13366): any device on the account can sign a
|
|
15
|
+
* `retire` naming itself successor, and only the server checks that the
|
|
16
|
+
* signer may retire that replica (the pinned device, or a project owner's;
|
|
17
|
+
* E31 `not-pinned-or-owner`). The emitter confirms from its E31 answer; a
|
|
18
|
+
* home-stream receiver from the home replica listing's `retiredAt` and
|
|
19
|
+
* `successor`. Until then the retire changes nothing.
|
|
20
|
+
*
|
|
21
|
+
* Once confirmed:
|
|
22
|
+
* - a transaction of the retired replica sequenced AFTER the retire (a late
|
|
23
|
+
* segment, pushed before the rebind) is inherited history
|
|
24
|
+
* ({@link isInheritedHistory}): applied as an ordinary op, its merge
|
|
25
|
+
* conflicts not recorded against the successor's reconcile. Every receiver
|
|
26
|
+
* decides it by stream seq, so they all decide the same;
|
|
27
|
+
* - the fold horizon leaves the retired replica out ({@link liveReplicaHorizon});
|
|
28
|
+
* - the remint authority sees it retired at the retire's HLC
|
|
29
|
+
* ({@link withRetirements}).
|
|
30
|
+
*
|
|
31
|
+
* A copy retires nothing: its original is still live.
|
|
32
|
+
*
|
|
33
|
+
* @task T13278
|
|
34
|
+
* @module store/sync/retire
|
|
35
|
+
*/
|
|
36
|
+
import { tickClock } from './clock-store.js';
|
|
37
|
+
import { hasTable } from './schema.js';
|
|
38
|
+
import { reserveLocalSeq } from './sealer.js';
|
|
39
|
+
import { canonicalJson } from './sealer-values.js';
|
|
40
|
+
/**
|
|
41
|
+
* Write this replica's `retire` control transaction as a sealed transaction
|
|
42
|
+
* of the successor, in the caller's transaction, and record the retirement
|
|
43
|
+
* locally (its seq comes with its echo). The segment builder packs and signs
|
|
44
|
+
* it like any sealed transaction (`kind: 'retire'`, `via: 'rebind'`, no ops).
|
|
45
|
+
*
|
|
46
|
+
* @param db - The store, inside a transaction.
|
|
47
|
+
* @param o - Scope, stream, the retirement and the clock.
|
|
48
|
+
* @returns The transaction id, `${successor}:${localSeq}`.
|
|
49
|
+
*/
|
|
50
|
+
export function queueRetireTxn(db, o) {
|
|
51
|
+
// @sync-invariant none:local-only programming-error guard: the retire commits with its rebind
|
|
52
|
+
if (!db.isTransaction)
|
|
53
|
+
throw new Error('queueRetireTxn must run inside a transaction');
|
|
54
|
+
const nowIso = new Date(o.nowMs).toISOString();
|
|
55
|
+
const localSeq = reserveLocalSeq(db, nowIso);
|
|
56
|
+
const txn = `${o.retire.successor}:${localSeq}`;
|
|
57
|
+
const hlc = tickClock(db, o.retire.successor, o.nowMs);
|
|
58
|
+
db.prepare(`INSERT INTO _sync_txn (txn, local_seq, replica, hlc, scope, via, kind, actor, frame, unframed,
|
|
59
|
+
partial, op_count, sealed_at_ms, retire_json)
|
|
60
|
+
VALUES (?, ?, ?, ?, ?, 'rebind', 'retire', NULL, NULL, 0, 0, 0, ?, ?)`).run(txn, localSeq, o.retire.successor, hlc, o.scope, o.nowMs, canonicalJson(o.retire));
|
|
61
|
+
recordRetirement(db, o.stream, { ...o.retire, txn, hlc, seq: null });
|
|
62
|
+
return txn;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Record a retirement a stream carries (staging), or this replica's own
|
|
66
|
+
* before its echo. The first retirement of a replica stands; a later record
|
|
67
|
+
* of the same retire transaction only fills its seq.
|
|
68
|
+
*
|
|
69
|
+
* @param db - The store, inside the staging transaction.
|
|
70
|
+
* @param stream - The stream.
|
|
71
|
+
* @param r - The retire body, its transaction, HLC and stream seq.
|
|
72
|
+
*/
|
|
73
|
+
export function recordRetirement(db, stream, r) {
|
|
74
|
+
db.prepare(`INSERT INTO _sync_retired (stream, replica_id, successor, last_replica_seq, txn, hlc, seq)
|
|
75
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
76
|
+
ON CONFLICT (stream, replica_id) DO UPDATE SET seq = coalesce(_sync_retired.seq, excluded.seq)
|
|
77
|
+
WHERE _sync_retired.txn = excluded.txn`).run(stream, r.replica, r.successor, r.lastReplicaSeq, r.txn, r.hlc, r.seq);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Confirm recorded retires against the server's records (T13366): each
|
|
81
|
+
* recorded, unconfirmed retire of a listed replica whose successor matches
|
|
82
|
+
* gets the server's `retiredAt`. A server record for a retire not received
|
|
83
|
+
* yet, or naming another successor, confirms nothing.
|
|
84
|
+
*
|
|
85
|
+
* @param db - The store.
|
|
86
|
+
* @param stream - The stream the records are for.
|
|
87
|
+
* @param records - The server's retirements on it.
|
|
88
|
+
* @returns How many retires this confirmed.
|
|
89
|
+
*/
|
|
90
|
+
export function confirmRetirements(db, stream, records) {
|
|
91
|
+
if (records.length === 0 || !hasTable(db, '_sync_retired'))
|
|
92
|
+
return 0;
|
|
93
|
+
const confirm = db.prepare(`UPDATE _sync_retired SET confirmed_at = ?
|
|
94
|
+
WHERE stream = ? AND replica_id = ? AND successor = ? AND confirmed_at IS NULL`);
|
|
95
|
+
let n = 0;
|
|
96
|
+
for (const r of records) {
|
|
97
|
+
n += Number(confirm.run(r.retiredAt, stream, r.replicaId, r.successor).changes);
|
|
98
|
+
}
|
|
99
|
+
return n;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* The replicas the server confirmed retired on `stream` (every stream when
|
|
103
|
+
* omitted), by replica id: the set the fold horizon and the remint authority
|
|
104
|
+
* leave out. `includeUnconfirmed` adds the retires received but not yet
|
|
105
|
+
* confirmed (diagnostics). Read-only; empty before the journal schema is
|
|
106
|
+
* installed.
|
|
107
|
+
*
|
|
108
|
+
* @param db - The store.
|
|
109
|
+
* @param stream - The stream, or every stream.
|
|
110
|
+
* @param opts - `includeUnconfirmed`: every recorded retire.
|
|
111
|
+
* @returns The retirements.
|
|
112
|
+
*/
|
|
113
|
+
export function retiredReplicas(db, stream, opts = {}) {
|
|
114
|
+
const out = new Map();
|
|
115
|
+
if (!hasTable(db, '_sync_retired'))
|
|
116
|
+
return out;
|
|
117
|
+
const confirmed = opts.includeUnconfirmed === true ? '' : 'confirmed_at IS NOT NULL';
|
|
118
|
+
const where = [stream === undefined ? '' : 'stream = ?', confirmed].filter((c) => c !== '');
|
|
119
|
+
const sql = `SELECT * FROM _sync_retired${where.length > 0 ? ` WHERE ${where.join(' AND ')}` : ''} ORDER BY stream, replica_id`;
|
|
120
|
+
const rows = (stream === undefined ? db.prepare(sql).all() : db.prepare(sql).all(stream));
|
|
121
|
+
for (const r of rows) {
|
|
122
|
+
out.set(r.replica_id, {
|
|
123
|
+
stream: r.stream,
|
|
124
|
+
replicaId: r.replica_id,
|
|
125
|
+
successor: r.successor,
|
|
126
|
+
lastReplicaSeq: Number(r.last_replica_seq),
|
|
127
|
+
txn: r.txn,
|
|
128
|
+
hlc: r.hlc,
|
|
129
|
+
seq: r.seq === null ? null : Number(r.seq),
|
|
130
|
+
confirmedAt: r.confirmed_at === null ? null : String(r.confirmed_at),
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
return out;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Whether a transaction of `replicaId` at stream seq `seq` is inherited
|
|
137
|
+
* history: its replica was retired on this stream by a retire sequenced
|
|
138
|
+
* before it (§3.5 D5) and the server confirmed that retirement (T13366).
|
|
139
|
+
* Stream order decides which transactions are late; a receiver that applies
|
|
140
|
+
* one before its confirmation arrives records its conflicts, which changes
|
|
141
|
+
* conflict records only, never the applied values.
|
|
142
|
+
*
|
|
143
|
+
* @param db - The store.
|
|
144
|
+
* @param stream - The stream.
|
|
145
|
+
* @param replicaId - The transaction's replica.
|
|
146
|
+
* @param seq - The transaction's stream seq.
|
|
147
|
+
* @returns True for a late transaction of a retired replica.
|
|
148
|
+
*/
|
|
149
|
+
export function isInheritedHistory(db, stream, replicaId, seq) {
|
|
150
|
+
if (!hasTable(db, '_sync_retired'))
|
|
151
|
+
return false;
|
|
152
|
+
const row = db
|
|
153
|
+
.prepare('SELECT seq FROM _sync_retired WHERE stream = ? AND replica_id = ? AND confirmed_at IS NOT NULL')
|
|
154
|
+
.get(stream, replicaId);
|
|
155
|
+
return row !== undefined && row.seq !== null && seq > Number(row.seq);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* The fold horizon's input over live replicas only (§1.7, §1.5): the lowest
|
|
159
|
+
* HLC among `heads` once every retired replica is left out, or null when no
|
|
160
|
+
* live replica remains. A retired replica never holds the horizon back.
|
|
161
|
+
*
|
|
162
|
+
* @param heads - Per replica, the HLC it has covered (its receive watermark).
|
|
163
|
+
* @param retired - The retired replica ids.
|
|
164
|
+
* @returns The lowest live HLC, or null.
|
|
165
|
+
*/
|
|
166
|
+
export function liveReplicaHorizon(heads, retired) {
|
|
167
|
+
let low = null;
|
|
168
|
+
for (const [replica, hlc] of Object.entries(heads)) {
|
|
169
|
+
if (retired.has(replica))
|
|
170
|
+
continue;
|
|
171
|
+
if (low === null || hlc < low)
|
|
172
|
+
low = hlc;
|
|
173
|
+
}
|
|
174
|
+
return low;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* The project membership the remint authority evaluates (T12341 §9.2), with
|
|
178
|
+
* every replica this store saw retired marked `retiredHlc` at its retire's
|
|
179
|
+
* HLC (a membership's own earlier retirement stands).
|
|
180
|
+
*
|
|
181
|
+
* @param replicas - The project's replicas.
|
|
182
|
+
* @param retired - {@link retiredReplicas}.
|
|
183
|
+
* @returns The membership with retirements applied.
|
|
184
|
+
*/
|
|
185
|
+
export function withRetirements(replicas, retired) {
|
|
186
|
+
return replicas.map((r) => {
|
|
187
|
+
const gone = retired.get(r.id);
|
|
188
|
+
if (!gone || r.retiredHlc != null)
|
|
189
|
+
return r;
|
|
190
|
+
return { ...r, retiredHlc: gone.hlc };
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=retire.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retire.js","sourceRoot":"","sources":["../../../src/store/sync/retire.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,33 @@ export declare class SyncSchemaHashDriftError extends Error {
|
|
|
47
47
|
}
|
|
48
48
|
/** Whether a table exists in the `main` schema. Read-only. */
|
|
49
49
|
export declare function hasTable(db: DatabaseSync, table: string): boolean;
|
|
50
|
+
/** The local-only alias table (sync-journal folder `20261010150000_t13397-uid-alias`). */
|
|
51
|
+
export declare const UID_ALIAS_JOURNAL_TABLE = "_sync_uid_alias";
|
|
52
|
+
/** One reference boundary per (table, old uid, origin) (sync-journal folder `20261010160000_t13399-rekey-follow`). */
|
|
53
|
+
export declare const UID_REF_ALIAS_JOURNAL_TABLE = "_sync_uid_ref_alias";
|
|
54
|
+
/**
|
|
55
|
+
* Whether `uid` is the old uid of a re-key this replica owes or made an
|
|
56
|
+
* announcement of (T13399): the stream carried it (the origin's insert and
|
|
57
|
+
* K), so the sealer never drops the announcement as a re-key of a uid no
|
|
58
|
+
* replica knew.
|
|
59
|
+
*
|
|
60
|
+
* @param db - The store.
|
|
61
|
+
* @param table - The table.
|
|
62
|
+
* @param uid - The uid.
|
|
63
|
+
*/
|
|
64
|
+
export declare function isAnnouncedOldUid(db: DatabaseSync, table: string, uid: string): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Whether a K this replica is sealing is an announcement (`markAliasPlaced` in uid-alias.ts):
|
|
67
|
+
* the re-key it names was already applied here from another replica, so it
|
|
68
|
+
* moves nothing and only draws this replica's reference boundary.
|
|
69
|
+
*
|
|
70
|
+
* @param db - The store.
|
|
71
|
+
* @param table - The K's table.
|
|
72
|
+
* @param oldUid - The K's uid.
|
|
73
|
+
* @param oldBfp - The K's old birth fingerprint.
|
|
74
|
+
* @param newUid - The K's new uid.
|
|
75
|
+
*/
|
|
76
|
+
export declare function isAnnouncedRekey(db: DatabaseSync, table: string, oldUid: string, oldBfp: string, newUid: string): boolean;
|
|
50
77
|
/** The sync schema folders, oldest first. */
|
|
51
78
|
export declare function syncSchemaFolders(root?: string): SyncSchemaFolder[];
|
|
52
79
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/store/sync/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,+DAA+D;AAC/D,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,iBAAiB,CAAC;AAKrD,8BAA8B;AAC9B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IAI/C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM;IAL1B,QAAQ,CAAC,IAAI,8BAA8B;gBAGhC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM;CAQ3B;AAID,8DAA8D;AAC9D,wBAAgB,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKjE;AAED,6CAA6C;AAC7C,wBAAgB,iBAAiB,CAC/B,IAAI,GAAE,MAA4D,GACjE,gBAAgB,EAAE,CAapB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAM7E;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,EAAE,CAE5D;AAiBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,YAAY,EAChB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CAAO,GACnE,MAAM,EAAE,CA0BV;AAmBD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,YAAY,EAChB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,OAAO,CAQT"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/store/sync/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,+DAA+D;AAC/D,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,iBAAiB,CAAC;AAKrD,8BAA8B;AAC9B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IAI/C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM;IAL1B,QAAQ,CAAC,IAAI,8BAA8B;gBAGhC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM;CAQ3B;AAID,8DAA8D;AAC9D,wBAAgB,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKjE;AAKD,0FAA0F;AAC1F,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AAEzD,sHAAsH;AACtH,eAAO,MAAM,2BAA2B,wBAAwB,CAAC;AAEjE;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CASvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAUT;AAED,6CAA6C;AAC7C,wBAAgB,iBAAiB,CAC/B,IAAI,GAAE,MAA4D,GACjE,gBAAgB,EAAE,CAapB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAM7E;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,EAAE,CAE5D;AAiBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,YAAY,EAChB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CAAO,GACnE,MAAM,EAAE,CA0BV;AAmBD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,YAAY,EAChB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,OAAO,CAQT"}
|
|
@@ -56,6 +56,49 @@ export function hasTable(db, table) {
|
|
|
56
56
|
return (db.prepare("SELECT 1 FROM main.sqlite_master WHERE type = 'table' AND name = ?").get(table) !==
|
|
57
57
|
undefined);
|
|
58
58
|
}
|
|
59
|
+
// The uid-alias tables and the sealer's two reads of them live here, not in
|
|
60
|
+
// uid-alias.ts: the sealer is on every store open's import graph and
|
|
61
|
+
// uid-alias.ts is not (gate 39, T13397).
|
|
62
|
+
/** The local-only alias table (sync-journal folder `20261010150000_t13397-uid-alias`). */
|
|
63
|
+
export const UID_ALIAS_JOURNAL_TABLE = '_sync_uid_alias';
|
|
64
|
+
/** One reference boundary per (table, old uid, origin) (sync-journal folder `20261010160000_t13399-rekey-follow`). */
|
|
65
|
+
export const UID_REF_ALIAS_JOURNAL_TABLE = '_sync_uid_ref_alias';
|
|
66
|
+
/**
|
|
67
|
+
* Whether `uid` is the old uid of a re-key this replica owes or made an
|
|
68
|
+
* announcement of (T13399): the stream carried it (the origin's insert and
|
|
69
|
+
* K), so the sealer never drops the announcement as a re-key of a uid no
|
|
70
|
+
* replica knew.
|
|
71
|
+
*
|
|
72
|
+
* @param db - The store.
|
|
73
|
+
* @param table - The table.
|
|
74
|
+
* @param uid - The uid.
|
|
75
|
+
*/
|
|
76
|
+
export function isAnnouncedOldUid(db, table, uid) {
|
|
77
|
+
if (!hasTable(db, UID_REF_ALIAS_JOURNAL_TABLE))
|
|
78
|
+
return false;
|
|
79
|
+
return (db
|
|
80
|
+
.prepare(`SELECT 1 FROM ${UID_ALIAS_JOURNAL_TABLE} WHERE tbl = ? AND old_uid = ? AND placed = 1`)
|
|
81
|
+
.get(table, uid) !== undefined);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Whether a K this replica is sealing is an announcement (`markAliasPlaced` in uid-alias.ts):
|
|
85
|
+
* the re-key it names was already applied here from another replica, so it
|
|
86
|
+
* moves nothing and only draws this replica's reference boundary.
|
|
87
|
+
*
|
|
88
|
+
* @param db - The store.
|
|
89
|
+
* @param table - The K's table.
|
|
90
|
+
* @param oldUid - The K's uid.
|
|
91
|
+
* @param oldBfp - The K's old birth fingerprint.
|
|
92
|
+
* @param newUid - The K's new uid.
|
|
93
|
+
*/
|
|
94
|
+
export function isAnnouncedRekey(db, table, oldUid, oldBfp, newUid) {
|
|
95
|
+
if (!hasTable(db, UID_REF_ALIAS_JOURNAL_TABLE))
|
|
96
|
+
return false;
|
|
97
|
+
return (db
|
|
98
|
+
.prepare(`SELECT 1 FROM ${UID_ALIAS_JOURNAL_TABLE}
|
|
99
|
+
WHERE tbl = ? AND old_uid = ? AND old_bfp = ? AND new_uid = ? AND placed = 1`)
|
|
100
|
+
.get(table, oldUid, oldBfp, newUid) !== undefined);
|
|
101
|
+
}
|
|
59
102
|
/** The sync schema folders, oldest first. */
|
|
60
103
|
export function syncSchemaFolders(root = resolveCorePackageMigrationsFolder(SYNC_SCHEMA_SET)) {
|
|
61
104
|
if (!existsSync(root)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/store/sync/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/store/sync/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -152,6 +152,16 @@ export declare function sealerRowView(db: DatabaseSync, scope: TableScope): Seal
|
|
|
152
152
|
export declare function sealPreconditions(db: DatabaseSync, env: NodeJS.ProcessEnv, allowUnreleased?: boolean): string | null;
|
|
153
153
|
/** Where the sealer's transaction counter is persisted (T13033). */
|
|
154
154
|
export declare const SEAL_COUNTER_KEY = "sealer.local_seq";
|
|
155
|
+
/**
|
|
156
|
+
* Take the next transaction counter for a transaction written outside a
|
|
157
|
+
* sealing pass (a `retire` control transaction, T13278), in the caller's
|
|
158
|
+
* transaction. The counter only rises, so the sealer continues past it.
|
|
159
|
+
*
|
|
160
|
+
* @param db - The store, inside a transaction.
|
|
161
|
+
* @param atIso - Now (ISO-8601), recorded with the counter.
|
|
162
|
+
* @returns The reserved `local_seq`.
|
|
163
|
+
*/
|
|
164
|
+
export declare function reserveLocalSeq(db: DatabaseSync, atIso: string): number;
|
|
155
165
|
/**
|
|
156
166
|
* Seal up to `budget` live captures (ending on a group boundary) into
|
|
157
167
|
* transactions, in one synchronous `BEGIN IMMEDIATE` transaction.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealer.d.ts","sourceRoot":"","sources":["../../../src/store/sync/sealer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sealer.d.ts","sourceRoot":"","sources":["../../../src/store/sync/sealer.ts"],"names":[],"mappings":"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"}
|