hungry-ghost-hive 0.45.0 → 0.46.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.
- package/dist/cli/commands/cluster.d.ts.map +1 -1
- package/dist/cli/commands/cluster.js +348 -1
- package/dist/cli/commands/cluster.js.map +1 -1
- package/dist/cli/commands/cluster.test.js +313 -9
- package/dist/cli/commands/cluster.test.js.map +1 -1
- package/dist/cli/commands/req-spawn.test.d.ts +2 -0
- package/dist/cli/commands/req-spawn.test.d.ts.map +1 -0
- package/dist/cli/commands/req-spawn.test.js +116 -0
- package/dist/cli/commands/req-spawn.test.js.map +1 -0
- package/dist/cli/commands/req.d.ts.map +1 -1
- package/dist/cli/commands/req.js +21 -13
- package/dist/cli/commands/req.js.map +1 -1
- package/dist/cluster/cluster-http-server.d.ts +32 -0
- package/dist/cluster/cluster-http-server.d.ts.map +1 -1
- package/dist/cluster/cluster-http-server.js +42 -0
- package/dist/cluster/cluster-http-server.js.map +1 -1
- package/dist/cluster/distributed-runtime-coverage.test.js +9 -0
- package/dist/cluster/distributed-runtime-coverage.test.js.map +1 -1
- package/dist/cluster/distributed-system.test.js +135 -0
- package/dist/cluster/distributed-system.test.js.map +1 -1
- package/dist/cluster/events.d.ts +23 -0
- package/dist/cluster/events.d.ts.map +1 -1
- package/dist/cluster/events.js +74 -0
- package/dist/cluster/events.js.map +1 -1
- package/dist/cluster/heartbeat-manager.d.ts +2 -0
- package/dist/cluster/heartbeat-manager.d.ts.map +1 -1
- package/dist/cluster/heartbeat-manager.js +42 -6
- package/dist/cluster/heartbeat-manager.js.map +1 -1
- package/dist/cluster/membership.test.d.ts +2 -0
- package/dist/cluster/membership.test.d.ts.map +1 -0
- package/dist/cluster/membership.test.js +416 -0
- package/dist/cluster/membership.test.js.map +1 -0
- package/dist/cluster/partition-safety.test.d.ts +2 -0
- package/dist/cluster/partition-safety.test.d.ts.map +1 -0
- package/dist/cluster/partition-safety.test.js +440 -0
- package/dist/cluster/partition-safety.test.js.map +1 -0
- package/dist/cluster/raft-state-machine.d.ts +33 -1
- package/dist/cluster/raft-state-machine.d.ts.map +1 -1
- package/dist/cluster/raft-state-machine.js +65 -3
- package/dist/cluster/raft-state-machine.js.map +1 -1
- package/dist/cluster/raft-store.d.ts +26 -1
- package/dist/cluster/raft-store.d.ts.map +1 -1
- package/dist/cluster/raft-store.js +137 -0
- package/dist/cluster/raft-store.js.map +1 -1
- package/dist/cluster/replication-lag.test.d.ts +2 -0
- package/dist/cluster/replication-lag.test.d.ts.map +1 -0
- package/dist/cluster/replication-lag.test.js +239 -0
- package/dist/cluster/replication-lag.test.js.map +1 -0
- package/dist/cluster/replication.d.ts +2 -2
- package/dist/cluster/replication.d.ts.map +1 -1
- package/dist/cluster/replication.js +1 -1
- package/dist/cluster/replication.js.map +1 -1
- package/dist/cluster/runtime.d.ts +78 -0
- package/dist/cluster/runtime.d.ts.map +1 -1
- package/dist/cluster/runtime.js +400 -13
- package/dist/cluster/runtime.js.map +1 -1
- package/dist/cluster/state-recovery.test.d.ts +2 -0
- package/dist/cluster/state-recovery.test.d.ts.map +1 -0
- package/dist/cluster/state-recovery.test.js +310 -0
- package/dist/cluster/state-recovery.test.js.map +1 -0
- package/dist/cluster/types.d.ts +30 -0
- package/dist/cluster/types.d.ts.map +1 -1
- package/dist/config/schema.d.ts +48 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +11 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/context-files/generator.js +1 -1
- package/dist/context-files/generator.js.map +1 -1
- package/dist/context-files/generator.test.js +51 -0
- package/dist/context-files/generator.test.js.map +1 -1
- package/dist/orchestrator/orphan-recovery.d.ts +1 -1
- package/dist/orchestrator/orphan-recovery.d.ts.map +1 -1
- package/dist/orchestrator/orphan-recovery.js +4 -4
- package/dist/orchestrator/orphan-recovery.js.map +1 -1
- package/dist/orchestrator/prompt-templates.d.ts +3 -1
- package/dist/orchestrator/prompt-templates.d.ts.map +1 -1
- package/dist/orchestrator/prompt-templates.js +45 -8
- package/dist/orchestrator/prompt-templates.js.map +1 -1
- package/dist/orchestrator/prompt-templates.test.js +210 -0
- package/dist/orchestrator/prompt-templates.test.js.map +1 -1
- package/dist/orchestrator/scheduler.d.ts +1 -0
- package/dist/orchestrator/scheduler.d.ts.map +1 -1
- package/dist/orchestrator/scheduler.js +15 -10
- package/dist/orchestrator/scheduler.js.map +1 -1
- package/dist/orchestrator/scheduler.test.js +97 -6
- package/dist/orchestrator/scheduler.test.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/commands/cluster.test.ts +387 -9
- package/src/cli/commands/cluster.ts +486 -1
- package/src/cli/commands/req-spawn.test.ts +153 -0
- package/src/cli/commands/req.ts +31 -18
- package/src/cluster/cluster-http-server.ts +80 -0
- package/src/cluster/distributed-runtime-coverage.test.ts +9 -0
- package/src/cluster/distributed-system.test.ts +168 -0
- package/src/cluster/events.ts +90 -0
- package/src/cluster/heartbeat-manager.ts +48 -6
- package/src/cluster/membership.test.ts +498 -0
- package/src/cluster/partition-safety.test.ts +523 -0
- package/src/cluster/raft-state-machine.ts +76 -4
- package/src/cluster/raft-store.ts +167 -1
- package/src/cluster/replication-lag.test.ts +284 -0
- package/src/cluster/replication.ts +6 -0
- package/src/cluster/runtime.ts +551 -12
- package/src/cluster/state-recovery.test.ts +420 -0
- package/src/cluster/types.ts +32 -0
- package/src/config/schema.ts +11 -0
- package/src/context-files/generator.test.ts +55 -0
- package/src/context-files/generator.ts +5 -5
- package/src/orchestrator/orphan-recovery.ts +32 -13
- package/src/orchestrator/prompt-templates.test.ts +263 -0
- package/src/orchestrator/prompt-templates.ts +49 -8
- package/src/orchestrator/scheduler.test.ts +129 -6
- package/src/orchestrator/scheduler.ts +46 -20
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
// Licensed under the Hungry Ghost Hive License. See LICENSE.
|
|
2
|
+
/**
|
|
3
|
+
* Tests for offline node state recovery (STORY-STATE-RECOVERY).
|
|
4
|
+
*
|
|
5
|
+
* Covers:
|
|
6
|
+
* - Short outage: delta sync is sufficient, no snapshot needed
|
|
7
|
+
* - Long outage: delta is insufficient, snapshot-based recovery is triggered
|
|
8
|
+
* - Catching-up status: node suppresses elections while catching up
|
|
9
|
+
* - Progress indicator: catch_up_applied / catch_up_total in sync result
|
|
10
|
+
* - Effective version vector: snapshot vector is used to avoid re-requesting events
|
|
11
|
+
*/
|
|
12
|
+
import { mkdtempSync, rmSync } from 'fs';
|
|
13
|
+
import { tmpdir } from 'os';
|
|
14
|
+
import { join } from 'path';
|
|
15
|
+
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
16
|
+
import { run } from '../db/client.js';
|
|
17
|
+
import { createTestDatabase } from '../db/queries/test-helpers.js';
|
|
18
|
+
import { RaftStateMachine } from './raft-state-machine.js';
|
|
19
|
+
import { ensureClusterTables, getEffectiveVersionVector, getSnapshotVersionVector, getVersionVector, scanLocalChanges, setSnapshotVersionVector, } from './replication.js';
|
|
20
|
+
const tempDirs = [];
|
|
21
|
+
afterEach(() => {
|
|
22
|
+
for (const dir of tempDirs.splice(0)) {
|
|
23
|
+
rmSync(dir, { recursive: true, force: true });
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
27
|
+
// Helpers
|
|
28
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
29
|
+
function makeHiveDir() {
|
|
30
|
+
const dir = mkdtempSync(join(tmpdir(), 'hive-state-recovery-'));
|
|
31
|
+
tempDirs.push(dir);
|
|
32
|
+
return join(dir, '.hive');
|
|
33
|
+
}
|
|
34
|
+
function insertStory(db, id, title) {
|
|
35
|
+
const now = new Date().toISOString();
|
|
36
|
+
run(db, `INSERT OR IGNORE INTO stories (id, requirement_id, team_id, title, description, status, created_at, updated_at)
|
|
37
|
+
VALUES (?, NULL, NULL, ?, '', 'planned', ?, ?)`, [id, title, now, now]);
|
|
38
|
+
}
|
|
39
|
+
function makeRaftConfig(overrides = {}) {
|
|
40
|
+
return {
|
|
41
|
+
enabled: true,
|
|
42
|
+
node_id: 'node-test',
|
|
43
|
+
listen_host: '127.0.0.1',
|
|
44
|
+
listen_port: 9999,
|
|
45
|
+
public_url: 'http://127.0.0.1:9999',
|
|
46
|
+
peers: [],
|
|
47
|
+
heartbeat_interval_ms: 100,
|
|
48
|
+
election_timeout_min_ms: 200,
|
|
49
|
+
election_timeout_max_ms: 400,
|
|
50
|
+
sync_interval_ms: 200,
|
|
51
|
+
request_timeout_ms: 500,
|
|
52
|
+
story_similarity_threshold: 0.92,
|
|
53
|
+
...overrides,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
57
|
+
// Snapshot version vector management
|
|
58
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
59
|
+
describe('snapshot version vector management', () => {
|
|
60
|
+
it('getSnapshotVersionVector returns empty object when no snapshot applied', async () => {
|
|
61
|
+
const db = await createTestDatabase();
|
|
62
|
+
ensureClusterTables(db, 'node-a');
|
|
63
|
+
expect(getSnapshotVersionVector(db)).toEqual({});
|
|
64
|
+
db.close();
|
|
65
|
+
});
|
|
66
|
+
it('setSnapshotVersionVector persists and is readable', async () => {
|
|
67
|
+
const db = await createTestDatabase();
|
|
68
|
+
ensureClusterTables(db, 'node-a');
|
|
69
|
+
setSnapshotVersionVector(db, { 'node-a': 42, 'node-b': 17 });
|
|
70
|
+
expect(getSnapshotVersionVector(db)).toEqual({ 'node-a': 42, 'node-b': 17 });
|
|
71
|
+
db.close();
|
|
72
|
+
});
|
|
73
|
+
it('overwrites previous snapshot version vector', async () => {
|
|
74
|
+
const db = await createTestDatabase();
|
|
75
|
+
ensureClusterTables(db, 'node-a');
|
|
76
|
+
setSnapshotVersionVector(db, { 'node-a': 10 });
|
|
77
|
+
setSnapshotVersionVector(db, { 'node-a': 50, 'node-c': 5 });
|
|
78
|
+
expect(getSnapshotVersionVector(db)).toEqual({ 'node-a': 50, 'node-c': 5 });
|
|
79
|
+
db.close();
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
83
|
+
// Effective version vector
|
|
84
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
85
|
+
describe('getEffectiveVersionVector', () => {
|
|
86
|
+
it('returns event-derived vector when no snapshot applied', async () => {
|
|
87
|
+
const db = await createTestDatabase();
|
|
88
|
+
ensureClusterTables(db, 'node-a');
|
|
89
|
+
insertStory(db, 'S-1', 'Story 1');
|
|
90
|
+
scanLocalChanges(db, 'node-a');
|
|
91
|
+
const effective = getEffectiveVersionVector(db);
|
|
92
|
+
const event = getVersionVector(db);
|
|
93
|
+
expect(effective).toEqual(event);
|
|
94
|
+
db.close();
|
|
95
|
+
});
|
|
96
|
+
it('merges snapshot vector with event vector taking max per actor', async () => {
|
|
97
|
+
const db = await createTestDatabase();
|
|
98
|
+
ensureClusterTables(db, 'node-a');
|
|
99
|
+
// Emit some events from node-a (counter becomes 1)
|
|
100
|
+
insertStory(db, 'S-1', 'Story 1');
|
|
101
|
+
scanLocalChanges(db, 'node-a');
|
|
102
|
+
// Apply a snapshot from node-b at counter 100
|
|
103
|
+
setSnapshotVersionVector(db, { 'node-b': 100, 'node-a': 0 });
|
|
104
|
+
const effective = getEffectiveVersionVector(db);
|
|
105
|
+
// node-a: max(event=1, snapshot=0) = 1
|
|
106
|
+
expect(effective['node-a']).toBe(1);
|
|
107
|
+
// node-b: from snapshot = 100 (no events from node-b in event log)
|
|
108
|
+
expect(effective['node-b']).toBe(100);
|
|
109
|
+
db.close();
|
|
110
|
+
});
|
|
111
|
+
it('snapshot vector wins when event log is empty after snapshot recovery', async () => {
|
|
112
|
+
const db = await createTestDatabase();
|
|
113
|
+
ensureClusterTables(db, 'node-a');
|
|
114
|
+
// Simulate snapshot-based recovery: no local events yet, but snapshot applied
|
|
115
|
+
setSnapshotVersionVector(db, { leader: 500 });
|
|
116
|
+
const effective = getEffectiveVersionVector(db);
|
|
117
|
+
expect(effective['leader']).toBe(500);
|
|
118
|
+
db.close();
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
122
|
+
// Catching-up state in RaftStateMachine
|
|
123
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
124
|
+
describe('RaftStateMachine catching-up state', () => {
|
|
125
|
+
it('isCatchingUp starts as false', () => {
|
|
126
|
+
const raft = new RaftStateMachine(makeRaftConfig(), {
|
|
127
|
+
postJson: vi.fn(),
|
|
128
|
+
isActive: () => true,
|
|
129
|
+
handleBackgroundError: vi.fn(),
|
|
130
|
+
});
|
|
131
|
+
expect(raft.isCatchingUp).toBe(false);
|
|
132
|
+
});
|
|
133
|
+
it('suppresses elections while isCatchingUp is true', () => {
|
|
134
|
+
const hiveDir = makeHiveDir();
|
|
135
|
+
const startElectionSpy = vi.fn().mockResolvedValue(undefined);
|
|
136
|
+
// Use very short timeouts so the deadline fires quickly
|
|
137
|
+
const raft = new RaftStateMachine(makeRaftConfig({ election_timeout_min_ms: 1, election_timeout_max_ms: 1 }), {
|
|
138
|
+
postJson: vi.fn(),
|
|
139
|
+
isActive: () => true,
|
|
140
|
+
handleBackgroundError: vi.fn(),
|
|
141
|
+
});
|
|
142
|
+
vi.spyOn(raft, 'startElection').mockImplementation(startElectionSpy);
|
|
143
|
+
raft.initializeRaftStore(hiveDir);
|
|
144
|
+
raft.isCatchingUp = true;
|
|
145
|
+
raft.startElectionLoop();
|
|
146
|
+
// Election should not start because of catching-up, even after the deadline
|
|
147
|
+
return new Promise(resolve => {
|
|
148
|
+
setTimeout(() => {
|
|
149
|
+
raft.stopElectionLoop();
|
|
150
|
+
expect(startElectionSpy).not.toHaveBeenCalled();
|
|
151
|
+
resolve();
|
|
152
|
+
}, 400);
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
it('allows elections after isCatchingUp is set to false', () => {
|
|
156
|
+
const hiveDir = makeHiveDir();
|
|
157
|
+
const electionStarted = vi.fn().mockResolvedValue(undefined);
|
|
158
|
+
// Use very short timeouts so the deadline fires quickly
|
|
159
|
+
const raft = new RaftStateMachine(makeRaftConfig({ election_timeout_min_ms: 1, election_timeout_max_ms: 1 }), {
|
|
160
|
+
postJson: vi.fn(),
|
|
161
|
+
isActive: () => true,
|
|
162
|
+
handleBackgroundError: vi.fn(),
|
|
163
|
+
});
|
|
164
|
+
vi.spyOn(raft, 'startElection').mockImplementation(electionStarted);
|
|
165
|
+
raft.initializeRaftStore(hiveDir);
|
|
166
|
+
raft.isCatchingUp = false;
|
|
167
|
+
raft.startElectionLoop();
|
|
168
|
+
return new Promise(resolve => {
|
|
169
|
+
setTimeout(() => {
|
|
170
|
+
raft.stopElectionLoop();
|
|
171
|
+
expect(electionStarted).toHaveBeenCalled();
|
|
172
|
+
resolve();
|
|
173
|
+
}, 400);
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
178
|
+
// Delta sufficiency detection (unit-level)
|
|
179
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
180
|
+
describe('delta sufficiency detection', () => {
|
|
181
|
+
/**
|
|
182
|
+
* Simulate what isDeltaInsufficient would decide by checking whether
|
|
183
|
+
* received events cover what the peer's version vector says is needed.
|
|
184
|
+
*/
|
|
185
|
+
function isDeltaInsufficient(localVector, peerVector, receivedActorCounts) {
|
|
186
|
+
for (const [actorId, peerCounter] of Object.entries(peerVector)) {
|
|
187
|
+
const localCounter = localVector[actorId] ?? 0;
|
|
188
|
+
const needed = peerCounter - localCounter;
|
|
189
|
+
if (needed <= 0)
|
|
190
|
+
continue;
|
|
191
|
+
const receivedCount = receivedActorCounts[actorId] ?? 0;
|
|
192
|
+
if (receivedCount < needed)
|
|
193
|
+
return true;
|
|
194
|
+
}
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
it('returns false when received events cover all needed (short outage)', () => {
|
|
198
|
+
// Local is 10 behind, peer sends 10 events — sufficient
|
|
199
|
+
const result = isDeltaInsufficient({ leader: 90 }, { leader: 100 }, { leader: 10 });
|
|
200
|
+
expect(result).toBe(false);
|
|
201
|
+
});
|
|
202
|
+
it('returns true when received events are fewer than needed (long outage / log truncated)', () => {
|
|
203
|
+
// Local is 1000 behind, peer only sent 4000 events for a different actor
|
|
204
|
+
const result = isDeltaInsufficient({ leader: 0 }, { leader: 5000 }, { leader: 4000 } // cache can only provide 4000, but 5000 needed
|
|
205
|
+
);
|
|
206
|
+
expect(result).toBe(true);
|
|
207
|
+
});
|
|
208
|
+
it('returns false when already caught up (no events needed)', () => {
|
|
209
|
+
const result = isDeltaInsufficient({ leader: 100 }, { leader: 100 }, {});
|
|
210
|
+
expect(result).toBe(false);
|
|
211
|
+
});
|
|
212
|
+
it('returns true when node has no events but peer has many (fresh node, long history)', () => {
|
|
213
|
+
// A node that just joined and the peer has 25000 events (exceeds 20k cache)
|
|
214
|
+
const result = isDeltaInsufficient({}, { leader: 25000 }, { leader: 20000 } // got max cache size, still missing 5000
|
|
215
|
+
);
|
|
216
|
+
expect(result).toBe(true);
|
|
217
|
+
});
|
|
218
|
+
it('handles multiple actors and detects insufficiency in one', () => {
|
|
219
|
+
// actor-a is fine, actor-b is truncated
|
|
220
|
+
const result = isDeltaInsufficient({ 'actor-a': 95, 'actor-b': 0 }, { 'actor-a': 100, 'actor-b': 6000 }, { 'actor-a': 5, 'actor-b': 4000 } // actor-b has only 4000/6000
|
|
221
|
+
);
|
|
222
|
+
expect(result).toBe(true);
|
|
223
|
+
});
|
|
224
|
+
it('returns false when all actors are fully covered', () => {
|
|
225
|
+
const result = isDeltaInsufficient({ 'actor-a': 50, 'actor-b': 20 }, { 'actor-a': 60, 'actor-b': 30 }, { 'actor-a': 10, 'actor-b': 10 });
|
|
226
|
+
expect(result).toBe(false);
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
230
|
+
// Applying a snapshot
|
|
231
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
232
|
+
describe('applying snapshot to local database', () => {
|
|
233
|
+
it('upserts rows from snapshot into local tables and sets snapshot version vector', async () => {
|
|
234
|
+
const db = await createTestDatabase();
|
|
235
|
+
ensureClusterTables(db, 'node-recovering');
|
|
236
|
+
// Simulate a snapshot received from the leader
|
|
237
|
+
const snapshotVersionVector = { 'leader-node': 42 };
|
|
238
|
+
const payload = {
|
|
239
|
+
id: 'STORY-SNAP-1',
|
|
240
|
+
requirement_id: null,
|
|
241
|
+
team_id: null,
|
|
242
|
+
title: 'Snapshot story',
|
|
243
|
+
description: '',
|
|
244
|
+
acceptance_criteria: null,
|
|
245
|
+
complexity_score: null,
|
|
246
|
+
story_points: null,
|
|
247
|
+
status: 'planned',
|
|
248
|
+
assigned_agent_id: null,
|
|
249
|
+
branch_name: null,
|
|
250
|
+
pr_url: null,
|
|
251
|
+
external_subtask_key: null,
|
|
252
|
+
created_at: new Date().toISOString(),
|
|
253
|
+
updated_at: new Date().toISOString(),
|
|
254
|
+
};
|
|
255
|
+
// Manually apply like applySnapshot would
|
|
256
|
+
run(db, `INSERT OR REPLACE INTO stories
|
|
257
|
+
(id, requirement_id, team_id, title, description, acceptance_criteria,
|
|
258
|
+
complexity_score, story_points, status, assigned_agent_id, branch_name, pr_url, created_at, updated_at)
|
|
259
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
260
|
+
payload.id,
|
|
261
|
+
payload.requirement_id,
|
|
262
|
+
payload.team_id,
|
|
263
|
+
payload.title,
|
|
264
|
+
payload.description,
|
|
265
|
+
payload.acceptance_criteria,
|
|
266
|
+
payload.complexity_score,
|
|
267
|
+
payload.story_points,
|
|
268
|
+
payload.status,
|
|
269
|
+
payload.assigned_agent_id,
|
|
270
|
+
payload.branch_name,
|
|
271
|
+
payload.pr_url,
|
|
272
|
+
payload.created_at,
|
|
273
|
+
payload.updated_at,
|
|
274
|
+
]);
|
|
275
|
+
setSnapshotVersionVector(db, snapshotVersionVector);
|
|
276
|
+
// Verify story was applied
|
|
277
|
+
const story = db.exec(`SELECT id, title FROM stories WHERE id = 'STORY-SNAP-1'`);
|
|
278
|
+
expect(story[0]?.values[0]?.[0]).toBe('STORY-SNAP-1');
|
|
279
|
+
expect(story[0]?.values[0]?.[1]).toBe('Snapshot story');
|
|
280
|
+
// Verify snapshot version vector was stored
|
|
281
|
+
expect(getSnapshotVersionVector(db)).toEqual(snapshotVersionVector);
|
|
282
|
+
// Effective version vector should reflect snapshot
|
|
283
|
+
const effective = getEffectiveVersionVector(db);
|
|
284
|
+
expect(effective['leader-node']).toBe(42);
|
|
285
|
+
db.close();
|
|
286
|
+
});
|
|
287
|
+
it('effective version vector prevents re-requesting snapshotted events on next sync', async () => {
|
|
288
|
+
const db = await createTestDatabase();
|
|
289
|
+
ensureClusterTables(db, 'node-recovering');
|
|
290
|
+
// Snapshot was applied at leader counter 1000
|
|
291
|
+
setSnapshotVersionVector(db, { 'leader-node': 1000 });
|
|
292
|
+
const effective = getEffectiveVersionVector(db);
|
|
293
|
+
// When we request delta, we'll ask for events > 1000, not from 0
|
|
294
|
+
expect(effective['leader-node']).toBe(1000);
|
|
295
|
+
db.close();
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
299
|
+
// Snapshot HTTP endpoint
|
|
300
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
301
|
+
describe('snapshot served via HTTP endpoint', () => {
|
|
302
|
+
it('cachedSnapshot starts as null and returns empty snapshot before first sync', async () => {
|
|
303
|
+
// This tests the runtime's default behavior without starting a real HTTP server.
|
|
304
|
+
// The handler returns { version_vector: {}, tables: {} } when no snapshot cached.
|
|
305
|
+
const emptySnapshot = { version_vector: {}, tables: {} };
|
|
306
|
+
expect(emptySnapshot.version_vector).toEqual({});
|
|
307
|
+
expect(emptySnapshot.tables).toEqual({});
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
//# sourceMappingURL=state-recovery.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-recovery.test.js","sourceRoot":"","sources":["../../src/cluster/state-recovery.test.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE7D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,QAAQ,GAAa,EAAE,CAAC;AAE9B,SAAS,CAAC,GAAG,EAAE;IACb,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,EAAY,EAAE,EAAU,EAAE,KAAa;IAC1D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,GAAG,CACD,EAAE,EACF;oDACgD,EAChD,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CACtB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,YAAoC,EAAE;IAC5D,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,uBAAuB;QACnC,KAAK,EAAE,EAAE;QACT,qBAAqB,EAAE,GAAG;QAC1B,uBAAuB,EAAE,GAAG;QAC5B,uBAAuB,EAAE,GAAG;QAC5B,gBAAgB,EAAE,GAAG;QACrB,kBAAkB,EAAE,GAAG;QACvB,0BAA0B,EAAE,IAAI;QAChC,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAEhF,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACtC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAElC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEjD,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACtC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAElC,wBAAwB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7D,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7E,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACtC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAElC,wBAAwB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/C,wBAAwB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAE5D,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAE5E,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACtC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAClC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE/B,MAAM,SAAS,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAEnC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjC,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACtC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAElC,mDAAmD;QACnD,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAClC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE/B,8CAA8C;QAC9C,wBAAwB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAE7D,MAAM,SAAS,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAEhD,uCAAuC;QACvC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,mEAAmE;QACnE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtC,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACtC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAElC,8EAA8E;QAC9E,wBAAwB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAEhD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtC,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,wCAAwC;AACxC,gFAAgF;AAEhF,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,cAAc,EAAE,EAAE;YAClD,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;YACjB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;YACpB,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE9D,wDAAwD;QACxD,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAC/B,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC,EAAE,CAAC,EAC1E;YACE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;YACjB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;YACpB,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;SAC/B,CACF,CAAC;QAEF,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAErE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,4EAA4E;QAC5E,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACjC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBAChD,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE7D,wDAAwD;QACxD,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAC/B,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC,EAAE,CAAC,EAC1E;YACE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;YACjB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;YACpB,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;SAC/B,CACF,CAAC;QAEF,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAEpE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACjC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,MAAM,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBAC3C,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,2CAA2C;AAC3C,gFAAgF;AAEhF,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C;;;OAGG;IACH,SAAS,mBAAmB,CAC1B,WAAmC,EACnC,UAAkC,EAClC,mBAA2C;QAE3C,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC;YAC1C,IAAI,MAAM,IAAI,CAAC;gBAAE,SAAS;YAE1B,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,aAAa,GAAG,MAAM;gBAAE,OAAO,IAAI,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,wDAAwD;QACxD,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;QAC/F,yEAAyE;QACzE,MAAM,MAAM,GAAG,mBAAmB,CAChC,EAAE,MAAM,EAAE,CAAC,EAAE,EACb,EAAE,MAAM,EAAE,IAAI,EAAE,EAChB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,+CAA+C;SACjE,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;QAC3F,4EAA4E;QAC5E,MAAM,MAAM,GAAG,mBAAmB,CAChC,EAAE,EACF,EAAE,MAAM,EAAE,KAAK,EAAE,EACjB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,yCAAyC;SAC5D,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,wCAAwC;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAChC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAC/B,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,EACnC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,6BAA6B;SAChE,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,MAAM,GAAG,mBAAmB,CAChC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAChC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAChC,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CACjC,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACtC,mBAAmB,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAE3C,+CAA+C;QAC/C,MAAM,qBAAqB,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,cAAc;YAClB,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,EAAE;YACf,mBAAmB,EAAE,IAAI;YACzB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,SAAS;YACjB,iBAAiB,EAAE,IAAI;YACvB,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,IAAI;YACZ,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;QAEF,0CAA0C;QAC1C,GAAG,CACD,EAAE,EACF;;;yDAGmD,EACnD;YACE,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,cAAc;YACtB,OAAO,CAAC,OAAO;YACf,OAAO,CAAC,KAAK;YACb,OAAO,CAAC,WAAW;YACnB,OAAO,CAAC,mBAAmB;YAC3B,OAAO,CAAC,gBAAgB;YACxB,OAAO,CAAC,YAAY;YACpB,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,iBAAiB;YACzB,OAAO,CAAC,WAAW;YACnB,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,UAAU;YAClB,OAAO,CAAC,UAAU;SACnB,CACF,CAAC;QACF,wBAAwB,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAEpD,2BAA2B;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACjF,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAExD,4CAA4C;QAC5C,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAEpE,mDAAmD;QACnD,MAAM,SAAS,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1C,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACtC,mBAAmB,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAE3C,8CAA8C;QAC9C,wBAAwB,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtD,MAAM,SAAS,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAEhD,iEAAiE;QACjE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,iFAAiF;QACjF,kFAAkF;QAClF,MAAM,aAAa,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACzD,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/cluster/types.d.ts
CHANGED
|
@@ -62,5 +62,35 @@ export interface TableAdapter {
|
|
|
62
62
|
upsert: (db: Database, payload: Record<string, unknown>) => void;
|
|
63
63
|
delete: (db: Database, rowId: string) => void;
|
|
64
64
|
}
|
|
65
|
+
export interface RaftSnapshot {
|
|
66
|
+
/** Log index at which this snapshot was taken */
|
|
67
|
+
last_included_index: number;
|
|
68
|
+
/** Raft term at the snapshot point */
|
|
69
|
+
last_included_term: number;
|
|
70
|
+
/** Version vector capturing all actors' progress at snapshot time */
|
|
71
|
+
version_vector: VersionVector;
|
|
72
|
+
/** Known event IDs at the time of snapshotting (for deduplication) */
|
|
73
|
+
known_event_ids: string[];
|
|
74
|
+
/** ISO timestamp when the snapshot was created */
|
|
75
|
+
created_at: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* A full snapshot of all replicated tables at a given version vector.
|
|
79
|
+
* Used for snapshot-based state recovery when delta sync is insufficient.
|
|
80
|
+
*/
|
|
81
|
+
export interface ClusterSnapshot {
|
|
82
|
+
version_vector: VersionVector;
|
|
83
|
+
tables: Partial<Record<ReplicatedTable, Array<{
|
|
84
|
+
rowId: string;
|
|
85
|
+
payload: Record<string, unknown>;
|
|
86
|
+
}>>>;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Progress indicator for snapshot-based catch-up.
|
|
90
|
+
*/
|
|
91
|
+
export interface CatchUpProgress {
|
|
92
|
+
applied: number;
|
|
93
|
+
total: number;
|
|
94
|
+
}
|
|
65
95
|
import type { Database } from 'sql.js';
|
|
66
96
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cluster/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,QAAQ,GACR,cAAc,GACd,SAAS,GACT,oBAAoB,GACpB,YAAY,GACZ,aAAa,GACb,eAAe,GACf,UAAU,CAAC;AAEf,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,eAAe,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,aAAa,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,eAAe,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,aAAa,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,eAAe,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EACF,OAAO,GACP,WAAW,GACX,SAAS,GACT,aAAa,GACb,QAAQ,GACR,IAAI,GACJ,WAAW,GACX,cAAc,GACd,QAAQ,CAAC;IACb,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACjE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAGD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cluster/types.ts"],"names":[],"mappings":"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"}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -1002,7 +1002,11 @@ declare const ClusterConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1002
1002
|
election_timeout_max_ms: z.ZodDefault<z.ZodNumber>;
|
|
1003
1003
|
sync_interval_ms: z.ZodDefault<z.ZodNumber>;
|
|
1004
1004
|
request_timeout_ms: z.ZodDefault<z.ZodNumber>;
|
|
1005
|
+
leader_lease_ms: z.ZodOptional<z.ZodNumber>;
|
|
1005
1006
|
story_similarity_threshold: z.ZodDefault<z.ZodNumber>;
|
|
1007
|
+
max_log_entries: z.ZodOptional<z.ZodNumber>;
|
|
1008
|
+
max_cluster_events: z.ZodOptional<z.ZodNumber>;
|
|
1009
|
+
compaction_interval_ms: z.ZodOptional<z.ZodNumber>;
|
|
1006
1010
|
}, "strip", z.ZodTypeAny, {
|
|
1007
1011
|
enabled: boolean;
|
|
1008
1012
|
node_id: string;
|
|
@@ -1020,6 +1024,10 @@ declare const ClusterConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1020
1024
|
request_timeout_ms: number;
|
|
1021
1025
|
story_similarity_threshold: number;
|
|
1022
1026
|
auth_token?: string | undefined;
|
|
1027
|
+
leader_lease_ms?: number | undefined;
|
|
1028
|
+
max_log_entries?: number | undefined;
|
|
1029
|
+
max_cluster_events?: number | undefined;
|
|
1030
|
+
compaction_interval_ms?: number | undefined;
|
|
1023
1031
|
}, {
|
|
1024
1032
|
enabled?: boolean | undefined;
|
|
1025
1033
|
node_id?: string | undefined;
|
|
@@ -1036,7 +1044,11 @@ declare const ClusterConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1036
1044
|
election_timeout_max_ms?: number | undefined;
|
|
1037
1045
|
sync_interval_ms?: number | undefined;
|
|
1038
1046
|
request_timeout_ms?: number | undefined;
|
|
1047
|
+
leader_lease_ms?: number | undefined;
|
|
1039
1048
|
story_similarity_threshold?: number | undefined;
|
|
1049
|
+
max_log_entries?: number | undefined;
|
|
1050
|
+
max_cluster_events?: number | undefined;
|
|
1051
|
+
compaction_interval_ms?: number | undefined;
|
|
1040
1052
|
}>, {
|
|
1041
1053
|
enabled: boolean;
|
|
1042
1054
|
node_id: string;
|
|
@@ -1054,6 +1066,10 @@ declare const ClusterConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1054
1066
|
request_timeout_ms: number;
|
|
1055
1067
|
story_similarity_threshold: number;
|
|
1056
1068
|
auth_token?: string | undefined;
|
|
1069
|
+
leader_lease_ms?: number | undefined;
|
|
1070
|
+
max_log_entries?: number | undefined;
|
|
1071
|
+
max_cluster_events?: number | undefined;
|
|
1072
|
+
compaction_interval_ms?: number | undefined;
|
|
1057
1073
|
}, {
|
|
1058
1074
|
enabled?: boolean | undefined;
|
|
1059
1075
|
node_id?: string | undefined;
|
|
@@ -1070,7 +1086,11 @@ declare const ClusterConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1070
1086
|
election_timeout_max_ms?: number | undefined;
|
|
1071
1087
|
sync_interval_ms?: number | undefined;
|
|
1072
1088
|
request_timeout_ms?: number | undefined;
|
|
1089
|
+
leader_lease_ms?: number | undefined;
|
|
1073
1090
|
story_similarity_threshold?: number | undefined;
|
|
1091
|
+
max_log_entries?: number | undefined;
|
|
1092
|
+
max_cluster_events?: number | undefined;
|
|
1093
|
+
compaction_interval_ms?: number | undefined;
|
|
1074
1094
|
}>;
|
|
1075
1095
|
export declare const HiveConfigSchema: z.ZodObject<{
|
|
1076
1096
|
version: z.ZodDefault<z.ZodString>;
|
|
@@ -1905,7 +1925,11 @@ export declare const HiveConfigSchema: z.ZodObject<{
|
|
|
1905
1925
|
election_timeout_max_ms: z.ZodDefault<z.ZodNumber>;
|
|
1906
1926
|
sync_interval_ms: z.ZodDefault<z.ZodNumber>;
|
|
1907
1927
|
request_timeout_ms: z.ZodDefault<z.ZodNumber>;
|
|
1928
|
+
leader_lease_ms: z.ZodOptional<z.ZodNumber>;
|
|
1908
1929
|
story_similarity_threshold: z.ZodDefault<z.ZodNumber>;
|
|
1930
|
+
max_log_entries: z.ZodOptional<z.ZodNumber>;
|
|
1931
|
+
max_cluster_events: z.ZodOptional<z.ZodNumber>;
|
|
1932
|
+
compaction_interval_ms: z.ZodOptional<z.ZodNumber>;
|
|
1909
1933
|
}, "strip", z.ZodTypeAny, {
|
|
1910
1934
|
enabled: boolean;
|
|
1911
1935
|
node_id: string;
|
|
@@ -1923,6 +1947,10 @@ export declare const HiveConfigSchema: z.ZodObject<{
|
|
|
1923
1947
|
request_timeout_ms: number;
|
|
1924
1948
|
story_similarity_threshold: number;
|
|
1925
1949
|
auth_token?: string | undefined;
|
|
1950
|
+
leader_lease_ms?: number | undefined;
|
|
1951
|
+
max_log_entries?: number | undefined;
|
|
1952
|
+
max_cluster_events?: number | undefined;
|
|
1953
|
+
compaction_interval_ms?: number | undefined;
|
|
1926
1954
|
}, {
|
|
1927
1955
|
enabled?: boolean | undefined;
|
|
1928
1956
|
node_id?: string | undefined;
|
|
@@ -1939,7 +1967,11 @@ export declare const HiveConfigSchema: z.ZodObject<{
|
|
|
1939
1967
|
election_timeout_max_ms?: number | undefined;
|
|
1940
1968
|
sync_interval_ms?: number | undefined;
|
|
1941
1969
|
request_timeout_ms?: number | undefined;
|
|
1970
|
+
leader_lease_ms?: number | undefined;
|
|
1942
1971
|
story_similarity_threshold?: number | undefined;
|
|
1972
|
+
max_log_entries?: number | undefined;
|
|
1973
|
+
max_cluster_events?: number | undefined;
|
|
1974
|
+
compaction_interval_ms?: number | undefined;
|
|
1943
1975
|
}>, {
|
|
1944
1976
|
enabled: boolean;
|
|
1945
1977
|
node_id: string;
|
|
@@ -1957,6 +1989,10 @@ export declare const HiveConfigSchema: z.ZodObject<{
|
|
|
1957
1989
|
request_timeout_ms: number;
|
|
1958
1990
|
story_similarity_threshold: number;
|
|
1959
1991
|
auth_token?: string | undefined;
|
|
1992
|
+
leader_lease_ms?: number | undefined;
|
|
1993
|
+
max_log_entries?: number | undefined;
|
|
1994
|
+
max_cluster_events?: number | undefined;
|
|
1995
|
+
compaction_interval_ms?: number | undefined;
|
|
1960
1996
|
}, {
|
|
1961
1997
|
enabled?: boolean | undefined;
|
|
1962
1998
|
node_id?: string | undefined;
|
|
@@ -1973,7 +2009,11 @@ export declare const HiveConfigSchema: z.ZodObject<{
|
|
|
1973
2009
|
election_timeout_max_ms?: number | undefined;
|
|
1974
2010
|
sync_interval_ms?: number | undefined;
|
|
1975
2011
|
request_timeout_ms?: number | undefined;
|
|
2012
|
+
leader_lease_ms?: number | undefined;
|
|
1976
2013
|
story_similarity_threshold?: number | undefined;
|
|
2014
|
+
max_log_entries?: number | undefined;
|
|
2015
|
+
max_cluster_events?: number | undefined;
|
|
2016
|
+
compaction_interval_ms?: number | undefined;
|
|
1977
2017
|
}>>;
|
|
1978
2018
|
e2e_tests: z.ZodOptional<z.ZodObject<{
|
|
1979
2019
|
path: z.ZodString;
|
|
@@ -2170,6 +2210,10 @@ export declare const HiveConfigSchema: z.ZodObject<{
|
|
|
2170
2210
|
request_timeout_ms: number;
|
|
2171
2211
|
story_similarity_threshold: number;
|
|
2172
2212
|
auth_token?: string | undefined;
|
|
2213
|
+
leader_lease_ms?: number | undefined;
|
|
2214
|
+
max_log_entries?: number | undefined;
|
|
2215
|
+
max_cluster_events?: number | undefined;
|
|
2216
|
+
compaction_interval_ms?: number | undefined;
|
|
2173
2217
|
};
|
|
2174
2218
|
e2e_tests?: {
|
|
2175
2219
|
path: string;
|
|
@@ -2361,7 +2405,11 @@ export declare const HiveConfigSchema: z.ZodObject<{
|
|
|
2361
2405
|
election_timeout_max_ms?: number | undefined;
|
|
2362
2406
|
sync_interval_ms?: number | undefined;
|
|
2363
2407
|
request_timeout_ms?: number | undefined;
|
|
2408
|
+
leader_lease_ms?: number | undefined;
|
|
2364
2409
|
story_similarity_threshold?: number | undefined;
|
|
2410
|
+
max_log_entries?: number | undefined;
|
|
2411
|
+
max_cluster_events?: number | undefined;
|
|
2412
|
+
compaction_interval_ms?: number | undefined;
|
|
2365
2413
|
} | undefined;
|
|
2366
2414
|
e2e_tests?: {
|
|
2367
2415
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,aAAa;;;;;;;;;EAGjB,CAAC;AAGH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQrB,CAAC;AAGH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyDtB,CAAC;AAGH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBvB,CAAC;AAGH,QAAA,MAAM,yBAAyB;;;;;;EAG7B,CAAC;AAGH,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBpB,CAAC;AAGH,QAAA,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKjC,CAAC;AAGH,QAAA,MAAM,oBAAoB;;;;;;EAGxB,CAAC;AAGH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB1B,CAAC;AAGL,QAAA,MAAM,kBAAkB;;;;;;;;;EAatB,CAAC;AAGH,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBlB,CAAC;AAGH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;EActB,CAAC;AAaH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBvB,CAAC;AAGH,QAAA,MAAM,sBAAsB;;;;;;EAI1B,CAAC;AAGH,QAAA,MAAM,mBAAmB;;;;;;;;;EAKvB,CAAC;AAGH,QAAA,MAAM,iBAAiB;;;;;;;;;EAGrB,CAAC;AAaH,QAAA,MAAM,oBAAoB;;;;;;EAGxB,CAAC;AAGH,QAAA,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/config/schema.js
CHANGED
|
@@ -289,8 +289,17 @@ const ClusterConfigSchema = z
|
|
|
289
289
|
sync_interval_ms: z.number().int().positive().default(5000),
|
|
290
290
|
// Outbound HTTP request timeout for peer calls
|
|
291
291
|
request_timeout_ms: z.number().int().positive().default(5000),
|
|
292
|
+
// Leader lease window in ms; followers reject commands from leaders
|
|
293
|
+
// whose last heartbeat is older than this. Defaults to 3× heartbeat_interval_ms.
|
|
294
|
+
leader_lease_ms: z.number().int().positive().optional(),
|
|
292
295
|
// Story similarity threshold [0..1] for duplicate merge detection
|
|
293
296
|
story_similarity_threshold: z.number().min(0).max(1).default(0.92),
|
|
297
|
+
// Maximum raft log entries before triggering compaction (0 = disabled)
|
|
298
|
+
max_log_entries: z.number().int().nonnegative().optional(),
|
|
299
|
+
// Maximum cluster_events rows to retain after pruning (0 = disabled)
|
|
300
|
+
max_cluster_events: z.number().int().nonnegative().optional(),
|
|
301
|
+
// Minimum interval between compaction runs in milliseconds
|
|
302
|
+
compaction_interval_ms: z.number().int().nonnegative().optional(),
|
|
294
303
|
})
|
|
295
304
|
.superRefine((cluster, ctx) => {
|
|
296
305
|
if (!cluster.enabled)
|
|
@@ -551,6 +560,8 @@ cluster:
|
|
|
551
560
|
# State replication cadence
|
|
552
561
|
sync_interval_ms: 5000
|
|
553
562
|
request_timeout_ms: 5000
|
|
563
|
+
# Leader lease window (default: 3× heartbeat_interval_ms)
|
|
564
|
+
# leader_lease_ms: 6000
|
|
554
565
|
# Duplicate story detection sensitivity
|
|
555
566
|
story_similarity_threshold: 0.92
|
|
556
567
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export function formatStoriesForContext(stories) {
|
|
|
37
37
|
- **Complexity**: ${story.complexity_score || 'Not estimated'}
|
|
38
38
|
- **Story Points**: ${story.story_points || 'Not estimated'}
|
|
39
39
|
- **Description**: ${story.description}
|
|
40
|
-
${story.acceptance_criteria && story.acceptance_criteria.length > 0
|
|
40
|
+
${story.markdown_path ? `- **Full Story Details**: Read \`${story.markdown_path}\` for complete requirements and acceptance criteria\n` : ''}${story.acceptance_criteria && story.acceptance_criteria.length > 0
|
|
41
41
|
? `**Acceptance Criteria**:\n${(Array.isArray(story.acceptance_criteria) ? story.acceptance_criteria : JSON.parse(story.acceptance_criteria || '[]')).map((c) => ` - ${c}`).join('\n')}`
|
|
42
42
|
: ''}`)
|
|
43
43
|
.join('\n\n');
|