hzl-core 1.6.0 → 1.7.1

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 (161) hide show
  1. package/dist/__tests__/backup/backup-restore.test.js +13 -12
  2. package/dist/__tests__/backup/backup-restore.test.js.map +1 -1
  3. package/dist/__tests__/backup/import-export.test.js +41 -39
  4. package/dist/__tests__/backup/import-export.test.js.map +1 -1
  5. package/dist/__tests__/concurrency/stress.test.js +2 -2
  6. package/dist/__tests__/concurrency/stress.test.js.map +1 -1
  7. package/dist/__tests__/concurrency/worker.js +3 -2
  8. package/dist/__tests__/concurrency/worker.js.map +1 -1
  9. package/dist/__tests__/migrations/upgrade.test.js +132 -117
  10. package/dist/__tests__/migrations/upgrade.test.js.map +1 -1
  11. package/dist/__tests__/projections/rebuild-equivalence.test.js +2 -2
  12. package/dist/__tests__/projections/rebuild-equivalence.test.js.map +1 -1
  13. package/dist/__tests__/properties/invariants.test.js +2 -2
  14. package/dist/__tests__/properties/invariants.test.js.map +1 -1
  15. package/dist/db/__tests__/append-only.test.d.ts +2 -0
  16. package/dist/db/__tests__/append-only.test.d.ts.map +1 -0
  17. package/dist/db/__tests__/append-only.test.js +46 -0
  18. package/dist/db/__tests__/append-only.test.js.map +1 -0
  19. package/dist/db/__tests__/datastore.test.d.ts +2 -0
  20. package/dist/db/__tests__/datastore.test.d.ts.map +1 -0
  21. package/dist/db/__tests__/datastore.test.js +68 -0
  22. package/dist/db/__tests__/datastore.test.js.map +1 -0
  23. package/dist/db/__tests__/libsql-compat.test.d.ts +2 -0
  24. package/dist/db/__tests__/libsql-compat.test.d.ts.map +1 -0
  25. package/dist/db/__tests__/libsql-compat.test.js +56 -0
  26. package/dist/db/__tests__/libsql-compat.test.js.map +1 -0
  27. package/dist/db/__tests__/lock.test.d.ts +2 -0
  28. package/dist/db/__tests__/lock.test.d.ts.map +1 -0
  29. package/dist/db/__tests__/lock.test.js +77 -0
  30. package/dist/db/__tests__/lock.test.js.map +1 -0
  31. package/dist/db/__tests__/meta.test.d.ts +2 -0
  32. package/dist/db/__tests__/meta.test.d.ts.map +1 -0
  33. package/dist/db/__tests__/meta.test.js +50 -0
  34. package/dist/db/__tests__/meta.test.js.map +1 -0
  35. package/dist/db/__tests__/migrations.test.d.ts +2 -0
  36. package/dist/db/__tests__/migrations.test.d.ts.map +1 -0
  37. package/dist/db/__tests__/migrations.test.js +57 -0
  38. package/dist/db/__tests__/migrations.test.js.map +1 -0
  39. package/dist/db/__tests__/sync-policy.test.d.ts +2 -0
  40. package/dist/db/__tests__/sync-policy.test.d.ts.map +1 -0
  41. package/dist/db/__tests__/sync-policy.test.js +118 -0
  42. package/dist/db/__tests__/sync-policy.test.js.map +1 -0
  43. package/dist/db/__tests__/types.test.d.ts +2 -0
  44. package/dist/db/__tests__/types.test.d.ts.map +1 -0
  45. package/dist/db/__tests__/types.test.js +91 -0
  46. package/dist/db/__tests__/types.test.js.map +1 -0
  47. package/dist/db/datastore.d.ts +16 -0
  48. package/dist/db/datastore.d.ts.map +1 -0
  49. package/dist/db/datastore.js +159 -0
  50. package/dist/db/datastore.js.map +1 -0
  51. package/dist/db/lock.d.ts +38 -0
  52. package/dist/db/lock.d.ts.map +1 -0
  53. package/dist/db/lock.js +114 -0
  54. package/dist/db/lock.js.map +1 -0
  55. package/dist/db/meta.d.ts +28 -0
  56. package/dist/db/meta.d.ts.map +1 -0
  57. package/dist/db/meta.js +95 -0
  58. package/dist/db/meta.js.map +1 -0
  59. package/dist/db/migrations.d.ts +23 -3
  60. package/dist/db/migrations.d.ts.map +1 -1
  61. package/dist/db/migrations.js +69 -99
  62. package/dist/db/migrations.js.map +1 -1
  63. package/dist/db/migrations.test.js +40 -105
  64. package/dist/db/migrations.test.js.map +1 -1
  65. package/dist/db/schema.d.ts +2 -1
  66. package/dist/db/schema.d.ts.map +1 -1
  67. package/dist/db/schema.js +52 -10
  68. package/dist/db/schema.js.map +1 -1
  69. package/dist/db/sync-policy.d.ts +21 -0
  70. package/dist/db/sync-policy.d.ts.map +1 -0
  71. package/dist/db/sync-policy.js +62 -0
  72. package/dist/db/sync-policy.js.map +1 -0
  73. package/dist/db/test-utils.d.ts +33 -0
  74. package/dist/db/test-utils.d.ts.map +1 -0
  75. package/dist/db/test-utils.js +58 -0
  76. package/dist/db/test-utils.js.map +1 -0
  77. package/dist/db/{connection.d.ts → transaction.d.ts} +2 -4
  78. package/dist/db/transaction.d.ts.map +1 -0
  79. package/dist/db/{connection.js → transaction.js} +1 -23
  80. package/dist/db/transaction.js.map +1 -0
  81. package/dist/db/types.d.ts +199 -0
  82. package/dist/db/types.d.ts.map +1 -0
  83. package/dist/db/types.js +43 -0
  84. package/dist/db/types.js.map +1 -0
  85. package/dist/events/store.d.ts +1 -1
  86. package/dist/events/store.d.ts.map +1 -1
  87. package/dist/events/store.test.js +2 -4
  88. package/dist/events/store.test.js.map +1 -1
  89. package/dist/index.d.ts +7 -2
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +6 -2
  92. package/dist/index.js.map +1 -1
  93. package/dist/index.test.js +13 -11
  94. package/dist/index.test.js.map +1 -1
  95. package/dist/projections/comments-checkpoints.d.ts +1 -1
  96. package/dist/projections/comments-checkpoints.d.ts.map +1 -1
  97. package/dist/projections/comments-checkpoints.test.js +3 -4
  98. package/dist/projections/comments-checkpoints.test.js.map +1 -1
  99. package/dist/projections/dependencies.d.ts +1 -1
  100. package/dist/projections/dependencies.d.ts.map +1 -1
  101. package/dist/projections/dependencies.test.js +3 -4
  102. package/dist/projections/dependencies.test.js.map +1 -1
  103. package/dist/projections/engine.d.ts +9 -2
  104. package/dist/projections/engine.d.ts.map +1 -1
  105. package/dist/projections/engine.js +22 -6
  106. package/dist/projections/engine.js.map +1 -1
  107. package/dist/projections/engine.test.js +3 -4
  108. package/dist/projections/engine.test.js.map +1 -1
  109. package/dist/projections/projects.d.ts +1 -1
  110. package/dist/projections/projects.d.ts.map +1 -1
  111. package/dist/projections/projects.test.js +2 -20
  112. package/dist/projections/projects.test.js.map +1 -1
  113. package/dist/projections/rebuild.d.ts +1 -1
  114. package/dist/projections/rebuild.d.ts.map +1 -1
  115. package/dist/projections/rebuild.test.js +3 -4
  116. package/dist/projections/rebuild.test.js.map +1 -1
  117. package/dist/projections/search.d.ts +1 -1
  118. package/dist/projections/search.d.ts.map +1 -1
  119. package/dist/projections/search.test.js +3 -4
  120. package/dist/projections/search.test.js.map +1 -1
  121. package/dist/projections/tags.d.ts +1 -1
  122. package/dist/projections/tags.d.ts.map +1 -1
  123. package/dist/projections/tags.test.js +3 -4
  124. package/dist/projections/tags.test.js.map +1 -1
  125. package/dist/projections/tasks-current.d.ts +1 -1
  126. package/dist/projections/tasks-current.d.ts.map +1 -1
  127. package/dist/projections/tasks-current.test.js +3 -4
  128. package/dist/projections/tasks-current.test.js.map +1 -1
  129. package/dist/projections/types.d.ts +1 -1
  130. package/dist/projections/types.d.ts.map +1 -1
  131. package/dist/services/backup-service.d.ts +2 -2
  132. package/dist/services/backup-service.d.ts.map +1 -1
  133. package/dist/services/backup-service.js +13 -3
  134. package/dist/services/backup-service.js.map +1 -1
  135. package/dist/services/project-service.d.ts +1 -1
  136. package/dist/services/project-service.d.ts.map +1 -1
  137. package/dist/services/project-service.js +1 -1
  138. package/dist/services/project-service.js.map +1 -1
  139. package/dist/services/project-service.test.js +2 -13
  140. package/dist/services/project-service.test.js.map +1 -1
  141. package/dist/services/search-service.d.ts +1 -1
  142. package/dist/services/search-service.d.ts.map +1 -1
  143. package/dist/services/search-service.test.js +3 -4
  144. package/dist/services/search-service.test.js.map +1 -1
  145. package/dist/services/task-service.d.ts +1 -1
  146. package/dist/services/task-service.d.ts.map +1 -1
  147. package/dist/services/task-service.js +1 -1
  148. package/dist/services/task-service.js.map +1 -1
  149. package/dist/services/task-service.test.js +3 -4
  150. package/dist/services/task-service.test.js.map +1 -1
  151. package/dist/services/validation-service.d.ts +1 -1
  152. package/dist/services/validation-service.d.ts.map +1 -1
  153. package/dist/services/validation-service.test.js +2 -4
  154. package/dist/services/validation-service.test.js.map +1 -1
  155. package/package.json +4 -4
  156. package/dist/db/connection.d.ts.map +0 -1
  157. package/dist/db/connection.js.map +0 -1
  158. package/dist/db/connection.test.d.ts +0 -2
  159. package/dist/db/connection.test.d.ts.map +0 -1
  160. package/dist/db/connection.test.js +0 -63
  161. package/dist/db/connection.test.js.map +0 -1
@@ -1,14 +1,12 @@
1
1
  import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
- import Database from 'better-sqlite3';
2
+ import Database from 'libsql';
3
3
  import fs from 'fs';
4
4
  import path from 'path';
5
5
  import os from 'os';
6
- import { fileURLToPath } from 'url';
7
- import { runMigrations, getCurrentVersion } from '../../db/migrations.js';
8
- import { createConnection } from '../../db/connection.js';
9
- const __filename = fileURLToPath(import.meta.url);
10
- const __dirname = path.dirname(__filename);
11
- describe('Migration Upgrade Tests', () => {
6
+ import { createTestDbAtPath } from '../../db/test-utils.js';
7
+ import { EVENTS_SCHEMA_V2, CACHE_SCHEMA_V1, PRAGMAS } from '../../db/schema.js';
8
+ import { runMigrationsWithRollback, MigrationError } from '../../db/migrations.js';
9
+ describe('Schema Creation Tests', () => {
12
10
  let tempDir;
13
11
  let dbPath;
14
12
  beforeEach(() => {
@@ -18,9 +16,9 @@ describe('Migration Upgrade Tests', () => {
18
16
  afterEach(() => {
19
17
  fs.rmSync(tempDir, { recursive: true, force: true });
20
18
  });
21
- describe('v1 schema creation', () => {
19
+ describe('V2 schema creation', () => {
22
20
  it('creates all required tables', () => {
23
- const db = createConnection(dbPath);
21
+ const db = createTestDbAtPath(dbPath);
24
22
  const tables = db
25
23
  .prepare("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name")
26
24
  .all();
@@ -36,7 +34,7 @@ describe('Migration Upgrade Tests', () => {
36
34
  db.close();
37
35
  });
38
36
  it('creates all required indexes', () => {
39
- const db = createConnection(dbPath);
37
+ const db = createTestDbAtPath(dbPath);
40
38
  const indexes = db
41
39
  .prepare("SELECT name FROM sqlite_master WHERE type='index' AND name LIKE 'idx_%'")
42
40
  .all();
@@ -49,149 +47,166 @@ describe('Migration Upgrade Tests', () => {
49
47
  expect(indexNames).toContain('idx_task_tags_tag');
50
48
  db.close();
51
49
  });
52
- it('sets correct schema version', () => {
53
- const db = createConnection(dbPath);
54
- const version = getCurrentVersion(db);
55
- expect(version).toBe(1);
50
+ it('creates schema_migrations table with correct structure', () => {
51
+ const db = createTestDbAtPath(dbPath);
52
+ const columns = db
53
+ .prepare("PRAGMA table_info(schema_migrations)")
54
+ .all();
55
+ const columnNames = columns.map((c) => c.name);
56
+ expect(columnNames).toContain('migration_id');
57
+ expect(columnNames).toContain('applied_at_ms');
58
+ expect(columnNames).toContain('checksum');
56
59
  db.close();
57
60
  });
58
61
  });
59
- describe('v1 fixture loading', () => {
60
- it('loads v1 fixture and verifies data integrity', () => {
62
+ describe('schema idempotency', () => {
63
+ it('schema creation is idempotent', () => {
61
64
  const db = new Database(dbPath);
62
- const fixturePath = path.join(__dirname, 'fixtures', 'v1-sample.sql');
63
- const fixtureSql = fs.readFileSync(fixturePath, 'utf-8');
64
- db.exec(fixtureSql);
65
- db.close();
66
- const migratedDb = createConnection(dbPath);
67
- const eventCount = migratedDb
68
- .prepare('SELECT COUNT(*) as count FROM events')
69
- .get();
70
- expect(eventCount.count).toBeGreaterThan(0);
71
- const taskCount = migratedDb
72
- .prepare('SELECT COUNT(*) as count FROM tasks_current')
73
- .get();
74
- expect(taskCount.count).toBeGreaterThan(0);
75
- const taskWithDeps = migratedDb
76
- .prepare(`
77
- SELECT tc.task_id, COUNT(td.depends_on_id) as dep_count
78
- FROM tasks_current tc
79
- LEFT JOIN task_dependencies td ON tc.task_id = td.task_id
80
- GROUP BY tc.task_id
81
- HAVING dep_count > 0
82
- `)
65
+ db.exec(PRAGMAS);
66
+ db.exec(EVENTS_SCHEMA_V2);
67
+ db.exec(CACHE_SCHEMA_V1);
68
+ const tablesBefore = db
69
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name")
70
+ .all();
71
+ // Run schema again
72
+ db.exec(EVENTS_SCHEMA_V2);
73
+ db.exec(CACHE_SCHEMA_V1);
74
+ const tablesAfter = db
75
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name")
83
76
  .all();
84
- expect(taskWithDeps.length).toBeGreaterThan(0);
85
- migratedDb.close();
77
+ expect(tablesAfter.map(t => t.name)).toEqual(tablesBefore.map(t => t.name));
78
+ db.close();
86
79
  });
87
- });
88
- describe('v1 v2 migration (future)', () => {
89
- it('preserves all existing data after upgrade', async () => {
90
- const db = createConnection(dbPath);
80
+ it('preserves data across multiple schema applications', () => {
81
+ const db = createTestDbAtPath(dbPath);
91
82
  db.exec(`
92
83
  INSERT INTO events (event_id, task_id, type, data, timestamp)
93
- VALUES
84
+ VALUES
94
85
  ('EVT001', 'TASK001', 'task_created', '{"title":"Test task","project":"inbox"}', '2026-01-01T00:00:00Z'),
95
86
  ('EVT002', 'TASK001', 'status_changed', '{"from":"backlog","to":"ready"}', '2026-01-01T00:01:00Z');
96
-
87
+
97
88
  INSERT INTO tasks_current (task_id, title, project, status, links, tags, metadata, created_at, updated_at, last_event_id)
98
89
  VALUES ('TASK001', 'Test task', 'inbox', 'ready', '[]', '["important"]', '{}', '2026-01-01T00:00:00Z', '2026-01-01T00:01:00Z', 2);
99
-
90
+
100
91
  INSERT INTO task_tags (task_id, tag) VALUES ('TASK001', 'important');
101
92
  `);
102
93
  const preEventCount = db
103
94
  .prepare('SELECT COUNT(*) as count FROM events')
104
95
  .get();
105
- const preTaskCount = db
106
- .prepare('SELECT COUNT(*) as count FROM tasks_current')
107
- .get();
108
- db.close();
109
- const migratedDb = createConnection(dbPath);
110
- const postEventCount = migratedDb
96
+ // Apply schema again (should be idempotent via IF NOT EXISTS)
97
+ db.exec(EVENTS_SCHEMA_V2);
98
+ db.exec(CACHE_SCHEMA_V1);
99
+ const postEventCount = db
111
100
  .prepare('SELECT COUNT(*) as count FROM events')
112
101
  .get();
113
- const postTaskCount = migratedDb
114
- .prepare('SELECT COUNT(*) as count FROM tasks_current')
115
- .get();
116
102
  expect(postEventCount.count).toBe(preEventCount.count);
117
- expect(postTaskCount.count).toBe(preTaskCount.count);
118
- const task = migratedDb
103
+ const task = db
119
104
  .prepare('SELECT * FROM tasks_current WHERE task_id = ?')
120
105
  .get('TASK001');
121
106
  expect(task.title).toBe('Test task');
122
107
  expect(task.status).toBe('ready');
123
- migratedDb.close();
124
- });
125
- it('handles empty database upgrade', () => {
126
- const db = new Database(dbPath);
127
- db.exec(`
128
- CREATE TABLE schema_migrations (version INTEGER PRIMARY KEY, applied_at TEXT NOT NULL);
129
- INSERT INTO schema_migrations (version, applied_at) VALUES (1, '2026-01-01T00:00:00Z');
130
- `);
131
108
  db.close();
132
- const migratedDb = createConnection(dbPath);
133
- const version = getCurrentVersion(migratedDb);
134
- expect(version).toBeGreaterThanOrEqual(1);
135
- migratedDb.close();
136
- });
137
- it('migration is idempotent', () => {
138
- const db = createConnection(dbPath);
139
- const version1 = getCurrentVersion(db);
140
- db.close();
141
- const db2 = createConnection(dbPath);
142
- const version2 = getCurrentVersion(db2);
143
- db2.close();
144
- const db3 = createConnection(dbPath);
145
- const version3 = getCurrentVersion(db3);
146
- db3.close();
147
- expect(version1).toBe(version2);
148
- expect(version2).toBe(version3);
149
109
  });
150
110
  });
151
- describe('migration rollback scenarios', () => {
152
- it('fails gracefully on corrupted schema_migrations table', () => {
153
- const db = new Database(dbPath);
154
- db.exec(`
155
- CREATE TABLE schema_migrations (version TEXT, applied_at TEXT);
156
- INSERT INTO schema_migrations (version, applied_at) VALUES ('not_a_number', '2026-01-01');
157
- `);
111
+ describe('runMigrationsWithRollback', () => {
112
+ it('applies pending migrations', () => {
113
+ const db = createTestDbAtPath(dbPath);
114
+ const migrations = [
115
+ {
116
+ id: 'test-001',
117
+ up: "CREATE TABLE test_table (id INTEGER PRIMARY KEY)",
118
+ },
119
+ {
120
+ id: 'test-002',
121
+ up: "ALTER TABLE test_table ADD COLUMN name TEXT",
122
+ },
123
+ ];
124
+ const result = runMigrationsWithRollback(db, migrations);
125
+ expect(result.success).toBe(true);
126
+ expect(result.applied).toEqual(['test-001', 'test-002']);
127
+ expect(result.skipped).toEqual([]);
128
+ // Verify table was created
129
+ const tables = db
130
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='test_table'")
131
+ .all();
132
+ expect(tables.length).toBe(1);
133
+ // Verify migrations were recorded
134
+ const recorded = db
135
+ .prepare('SELECT migration_id FROM schema_migrations ORDER BY migration_id')
136
+ .all();
137
+ expect(recorded.map(r => r.migration_id)).toEqual(['test-001', 'test-002']);
158
138
  db.close();
159
- const migratedDb = createConnection(dbPath);
160
- const version = getCurrentVersion(migratedDb);
161
- expect(version).toBeGreaterThanOrEqual(1);
162
- migratedDb.close();
163
139
  });
164
- it('handles partial migration failure', () => {
165
- const db = new Database(dbPath);
166
- runMigrations(db);
167
- db.exec('DROP TABLE IF EXISTS task_search');
140
+ it('skips already applied migrations', () => {
141
+ const db = createTestDbAtPath(dbPath);
142
+ const migrations = [
143
+ {
144
+ id: 'test-001',
145
+ up: "CREATE TABLE test_table (id INTEGER PRIMARY KEY)",
146
+ },
147
+ ];
148
+ // Apply once
149
+ runMigrationsWithRollback(db, migrations);
150
+ // Apply again
151
+ const result = runMigrationsWithRollback(db, migrations);
152
+ expect(result.success).toBe(true);
153
+ expect(result.applied).toEqual([]);
154
+ expect(result.skipped).toEqual(['test-001']);
168
155
  db.close();
169
- const reconnectedDb = createConnection(dbPath);
170
- const ftsTable = reconnectedDb
171
- .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='task_search'")
172
- .get();
173
- expect(ftsTable).toBeDefined();
174
- reconnectedDb.close();
175
156
  });
176
- });
177
- describe('schema version tracking', () => {
178
- it('records migration timestamps', () => {
179
- const db = createConnection(dbPath);
180
- const migrations = db
181
- .prepare('SELECT version, applied_at FROM schema_migrations ORDER BY version')
157
+ it('rolls back all changes on failure', () => {
158
+ const db = createTestDbAtPath(dbPath);
159
+ const migrations = [
160
+ {
161
+ id: 'good-001',
162
+ up: "CREATE TABLE good_table (id INTEGER PRIMARY KEY)",
163
+ },
164
+ {
165
+ id: 'bad-002',
166
+ up: "CREATE TABLE INVALID SYNTAX", // This will fail
167
+ },
168
+ ];
169
+ expect(() => runMigrationsWithRollback(db, migrations)).toThrow(MigrationError);
170
+ // Verify the first migration was rolled back
171
+ const tables = db
172
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='good_table'")
182
173
  .all();
183
- expect(migrations.length).toBeGreaterThan(0);
184
- for (const m of migrations) {
185
- expect(m.version).toBeGreaterThan(0);
186
- expect(new Date(m.applied_at).getTime()).not.toBeNaN();
187
- }
174
+ expect(tables.length).toBe(0);
175
+ // Verify no migrations were recorded
176
+ const recorded = db
177
+ .prepare("SELECT migration_id FROM schema_migrations WHERE migration_id LIKE 'good-%' OR migration_id LIKE 'bad-%'")
178
+ .all();
179
+ expect(recorded.length).toBe(0);
180
+ db.close();
181
+ });
182
+ it('records migration timestamps and checksums', () => {
183
+ const db = createTestDbAtPath(dbPath);
184
+ const beforeMs = Date.now();
185
+ const migrations = [
186
+ {
187
+ id: 'test-001',
188
+ up: "CREATE TABLE test_table (id INTEGER PRIMARY KEY)",
189
+ },
190
+ ];
191
+ runMigrationsWithRollback(db, migrations);
192
+ const afterMs = Date.now();
193
+ const recorded = db
194
+ .prepare('SELECT migration_id, applied_at_ms, checksum FROM schema_migrations WHERE migration_id = ?')
195
+ .get('test-001');
196
+ expect(recorded.migration_id).toBe('test-001');
197
+ expect(recorded.applied_at_ms).toBeGreaterThanOrEqual(beforeMs);
198
+ expect(recorded.applied_at_ms).toBeLessThanOrEqual(afterMs);
199
+ expect(recorded.checksum).toBeDefined();
200
+ expect(recorded.checksum.length).toBeGreaterThan(0);
188
201
  db.close();
189
202
  });
190
- it('does not re-run already applied migrations', () => {
191
- const db = createConnection(dbPath);
203
+ });
204
+ describe('data persistence', () => {
205
+ it('preserves existing data on reconnection', () => {
206
+ const db = createTestDbAtPath(dbPath);
192
207
  db.exec("INSERT INTO projection_state (name, last_event_id, updated_at) VALUES ('test_marker', 999, '2026-01-01')");
193
208
  db.close();
194
- const db2 = createConnection(dbPath);
209
+ const db2 = createTestDbAtPath(dbPath);
195
210
  const marker = db2
196
211
  .prepare("SELECT * FROM projection_state WHERE name = 'test_marker'")
197
212
  .get();
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.test.js","sourceRoot":"","sources":["../../../src/__tests__/migrations/upgrade.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.test.js","sourceRoot":"","sources":["../../../src/__tests__/migrations/upgrade.test.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
2
  import fs from 'fs';
3
3
  import path from 'path';
4
4
  import os from 'os';
5
- import { createConnection } from '../../db/connection.js';
5
+ import { createTestDbAtPath } from '../../db/test-utils.js';
6
6
  import { EventStore } from '../../events/store.js';
7
7
  import { ProjectionEngine } from '../../projections/engine.js';
8
8
  import { TasksCurrentProjector } from '../../projections/tasks-current.js';
@@ -46,7 +46,7 @@ describe('Projection Rebuild Equivalence Tests', () => {
46
46
  beforeEach(() => {
47
47
  tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'hzl-rebuild-'));
48
48
  dbPath = path.join(tempDir, 'test.db');
49
- db = createConnection(dbPath);
49
+ db = createTestDbAtPath(dbPath);
50
50
  eventStore = new EventStore(db);
51
51
  projectionEngine = new ProjectionEngine(db);
52
52
  setupProjectors(projectionEngine);
@@ -1 +1 @@
1
- {"version":3,"file":"rebuild-equivalence.test.js","sourceRoot":"","sources":["../../../src/__tests__/projections/rebuild-equivalence.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAErE,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,IAAI,OAAe,CAAC;IACpB,IAAI,MAAc,CAAC;IACnB,IAAI,EAAqB,CAAC;IAC1B,IAAI,UAAsB,CAAC;IAC3B,IAAI,gBAAkC,CAAC;IACvC,IAAI,WAAwB,CAAC;IAE7B,SAAS,eAAe,CAAC,MAAwB;QAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,sBAAsB,CAAC,QAA2B;QAQzD,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,EAAE;YAC7E,YAAY,EAAE,QAAQ;iBACnB,OAAO,CAAC,iEAAiE,CAAC;iBAC1E,GAAG,EAAE;YACR,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,EAAE;YAC7E,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC,GAAG,EAAE;YACpF,WAAW,EAAE,QAAQ;iBAClB,OAAO,CAAC,qDAAqD,CAAC;iBAC9D,GAAG,EAAE;YACR,MAAM,EAAE,QAAQ;iBACb,OAAO,CAAC,sEAAsE,CAAC;iBAC/E,GAAG,EAAE;SACT,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QACjE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvC,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9B,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAChC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC5C,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAClC,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACvD,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YAC1E,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC;gBACnC,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAC3B,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC;gBACnC,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;aAC5B,CAAC,CAAC;YAEH,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACvD,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE;gBACnC,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,sBAAsB;aACpC,CAAC,CAAC;YACH,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACvD,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACpE,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAExC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACvD,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAE5D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;YAEpD,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACzC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACxC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACnC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAExC,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAE5C,MAAM,YAAY,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;YAEhD,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC3D,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACzE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACjE,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACvE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC;oBAClC,KAAK,EAAE,QAAQ,CAAC,EAAE;oBAClB,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;oBAChD,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,QAAQ,EAAE,CAAC,GAAG,CAAC;iBAChB,CAAC,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,EAAE,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC,GAAG,CACpF,KAAK,CAAC,CAAC,CAAC,EACR,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CACb,CAAC;YACJ,CAAC;YAED,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YAClD,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACvD,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC9C,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC9C,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YACnD,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YAClD,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACvD,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACzD,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAEvD,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAElE,MAAM,aAAa,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;YAEjD,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACzC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACxC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACnC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACxC,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAE5C,MAAM,YAAY,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;YAEhD,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACzE,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YAEtD,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAErC,MAAM,cAAc,GAAG,EAAE;iBACtB,OAAO,CAAC,6CAA6C,CAAC;iBACtD,GAAG,EAAuB,CAAC;YAC9B,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAErC,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAE5C,MAAM,aAAa,GAAG,EAAE;iBACrB,OAAO,CAAC,+CAA+C,CAAC;iBACxD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAQ,CAAC;YAC5B,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5E,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC;gBACnC,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;aAC5B,CAAC,CAAC;YAEH,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAEzC,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAE5C,MAAM,GAAG,GAAG,EAAE;iBACX,OAAO,CAAC,mDAAmD,CAAC;iBAC5D,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC;gBAClC,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;aACvB,CAAC,CAAC;YAEH,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAEjC,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAE5C,MAAM,IAAI,GAAG,EAAE;iBACZ,OAAO,CAAC,0DAA0D,CAAC;iBACnE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAsB,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC;gBAClC,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,kBAAkB;aAChC,CAAC,CAAC;YAEH,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAEnC,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAE5C,MAAM,OAAO,GAAG,EAAE;iBACf,OAAO,CAAC,sEAAsE,CAAC;iBAC/E,GAAG,EAA2B,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC;gBAClC,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,CAAC,KAAK,CAAC;aACd,CAAC,CAAC;YACH,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACtD,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAEhD,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACxC,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;YAE1C,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACxC,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;YAE1C,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACxC,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;YAE1C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAE5D,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACxC,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAE5C,MAAM,MAAM,GAAG,EAAE;iBACd,OAAO,CAAC,8CAA8C,CAAC;iBACvD,GAAG,EAA+C,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAEzC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAE5E,MAAM,SAAS,GAAG,EAAE;iBACjB,OAAO,CAAC,sCAAsC,CAAC;iBAC/C,GAAG,EAAwB,CAAC;YAE/B,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9D,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YAEvD,MAAM,cAAc,GAAG,gBAAgB;iBACpC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;iBACvB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;YAEtD,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACxC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACzC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACxC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAEnC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YAED,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,aAAa,EAAE,EAAE,CAAC;gBACzD,EAAE,CAAC,OAAO,CACR,iFAAiF,CAClF,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC1E,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEjC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,UAAU,GAAG,EAAE;iBAClB,OAAO,CAAC,oDAAoD,CAAC;iBAC7D,GAAG,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"rebuild-equivalence.test.js","sourceRoot":"","sources":["../../../src/__tests__/projections/rebuild-equivalence.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { describe, it } from 'vitest';
2
2
  import * as fc from 'fast-check';
3
- import { createConnection } from '../../db/connection.js';
3
+ import { createTestDb } from '../../db/test-utils.js';
4
4
  import { EventStore } from '../../events/store.js';
5
5
  import { ProjectionEngine } from '../../projections/engine.js';
6
6
  import { TasksCurrentProjector } from '../../projections/tasks-current.js';
@@ -22,7 +22,7 @@ const tagArb = fc
22
22
  const priorityArb = fc.integer({ min: 0, max: 3 });
23
23
  describe('Property-Based Tests', () => {
24
24
  function withIsolatedServices(fn) {
25
- const db = createConnection(':memory:');
25
+ const db = createTestDb();
26
26
  const eventStore = new EventStore(db);
27
27
  const engine = new ProjectionEngine(db);
28
28
  engine.register(new TasksCurrentProjector());
@@ -1 +1 @@
1
- {"version":3,"file":"invariants.test.js","sourceRoot":"","sources":["../../../src/__tests__/properties/invariants.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invariants.test.js","sourceRoot":"","sources":["../../../src/__tests__/properties/invariants.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=append-only.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"append-only.test.d.ts","sourceRoot":"","sources":["../../../src/db/__tests__/append-only.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,46 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import Database from 'libsql';
3
+ import fs from 'fs';
4
+ import path from 'path';
5
+ import os from 'os';
6
+ import { EVENTS_SCHEMA_V2 } from '../schema.js';
7
+ describe('append-only enforcement', () => {
8
+ let db;
9
+ const testDbPath = path.join(os.tmpdir(), `append-only-test-${Date.now()}.db`);
10
+ beforeEach(() => {
11
+ db = new Database(testDbPath);
12
+ db.exec(EVENTS_SCHEMA_V2);
13
+ });
14
+ afterEach(() => {
15
+ db.close();
16
+ if (fs.existsSync(testDbPath)) {
17
+ fs.unlinkSync(testDbPath);
18
+ }
19
+ });
20
+ it('allows INSERT into events table', () => {
21
+ const stmt = db.prepare(`
22
+ INSERT INTO events (event_id, task_id, type, data, timestamp)
23
+ VALUES (?, ?, ?, ?, ?)
24
+ `);
25
+ expect(() => stmt.run('evt-1', 'task-1', 'TaskCreated', '{}', new Date().toISOString())).not.toThrow();
26
+ });
27
+ it('rejects UPDATE on events table', () => {
28
+ db.prepare(`
29
+ INSERT INTO events (event_id, task_id, type, data, timestamp)
30
+ VALUES (?, ?, ?, ?, ?)
31
+ `).run('evt-1', 'task-1', 'TaskCreated', '{}', new Date().toISOString());
32
+ expect(() => {
33
+ db.prepare('UPDATE events SET type = ? WHERE event_id = ?').run('Modified', 'evt-1');
34
+ }).toThrow(/cannot UPDATE/i);
35
+ });
36
+ it('rejects DELETE on events table', () => {
37
+ db.prepare(`
38
+ INSERT INTO events (event_id, task_id, type, data, timestamp)
39
+ VALUES (?, ?, ?, ?, ?)
40
+ `).run('evt-1', 'task-1', 'TaskCreated', '{}', new Date().toISOString());
41
+ expect(() => {
42
+ db.prepare('DELETE FROM events WHERE event_id = ?').run('evt-1');
43
+ }).toThrow(/cannot DELETE/i);
44
+ });
45
+ });
46
+ //# sourceMappingURL=append-only.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"append-only.test.js","sourceRoot":"","sources":["../../../src/db/__tests__/append-only.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,QAAQ,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,IAAI,EAAqB,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE/E,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC9B,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAG3B,CAAC,CAAC;QACC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,OAAO,CAAC;;;KAGd,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,EAAE;YACR,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,OAAO,CAAC;;;KAGd,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,EAAE;YACR,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=datastore.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datastore.test.d.ts","sourceRoot":"","sources":["../../../src/db/__tests__/datastore.test.ts"],"names":[],"mappings":""}