@fleettools/squawk 0.1.0 → 0.1.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 (66) hide show
  1. package/package.json +1 -1
  2. package/AGENTS.md +0 -28
  3. package/dist/src/db/checkpoint-storage.d.ts +0 -19
  4. package/dist/src/db/checkpoint-storage.d.ts.map +0 -1
  5. package/dist/src/db/checkpoint-storage.js +0 -355
  6. package/dist/src/db/checkpoint-storage.js.map +0 -1
  7. package/dist/src/db/index.d.ts +0 -30
  8. package/dist/src/db/index.d.ts.map +0 -1
  9. package/dist/src/db/index.js +0 -329
  10. package/dist/src/db/index.js.map +0 -1
  11. package/dist/src/db/sqlite.d.ts +0 -31
  12. package/dist/src/db/sqlite.d.ts.map +0 -1
  13. package/dist/src/db/sqlite.js +0 -558
  14. package/dist/src/db/sqlite.js.map +0 -1
  15. package/dist/src/db/types.d.ts +0 -611
  16. package/dist/src/db/types.d.ts.map +0 -1
  17. package/dist/src/db/types.js +0 -4
  18. package/dist/src/db/types.js.map +0 -1
  19. package/dist/src/index.d.ts +0 -2
  20. package/dist/src/index.d.ts.map +0 -1
  21. package/dist/src/index.js +0 -285
  22. package/dist/src/index.js.map +0 -1
  23. package/dist/src/recovery/checkpointing.d.ts +0 -244
  24. package/dist/src/recovery/checkpointing.d.ts.map +0 -1
  25. package/dist/src/recovery/checkpointing.js +0 -511
  26. package/dist/src/recovery/checkpointing.js.map +0 -1
  27. package/dist/src/recovery/detection.d.ts +0 -137
  28. package/dist/src/recovery/detection.d.ts.map +0 -1
  29. package/dist/src/recovery/detection.js +0 -240
  30. package/dist/src/recovery/detection.js.map +0 -1
  31. package/dist/src/recovery/detector.d.ts +0 -34
  32. package/dist/src/recovery/detector.d.ts.map +0 -1
  33. package/dist/src/recovery/detector.js +0 -42
  34. package/dist/src/recovery/detector.js.map +0 -1
  35. package/dist/src/recovery/index.d.ts +0 -3
  36. package/dist/src/recovery/index.d.ts.map +0 -1
  37. package/dist/src/recovery/index.js +0 -3
  38. package/dist/src/recovery/index.js.map +0 -1
  39. package/dist/src/recovery/restorer.d.ts +0 -51
  40. package/dist/src/recovery/restorer.d.ts.map +0 -1
  41. package/dist/src/recovery/restorer.js +0 -266
  42. package/dist/src/recovery/restorer.js.map +0 -1
  43. package/dist/src/schemas.d.ts +0 -142
  44. package/dist/src/schemas.d.ts.map +0 -1
  45. package/dist/src/schemas.js +0 -110
  46. package/dist/src/schemas.js.map +0 -1
  47. package/src/db/checkpoint-storage.ts +0 -443
  48. package/src/db/index.d.ts +0 -30
  49. package/src/db/index.d.ts.map +0 -1
  50. package/src/db/index.js.map +0 -1
  51. package/src/db/index.ts +0 -417
  52. package/src/db/schema.sql +0 -112
  53. package/src/db/sqlite.d.ts +0 -31
  54. package/src/db/sqlite.d.ts.map +0 -1
  55. package/src/db/sqlite.js +0 -667
  56. package/src/db/sqlite.js.map +0 -1
  57. package/src/db/sqlite.ts +0 -677
  58. package/src/db/types.d.ts +0 -612
  59. package/src/db/types.d.ts.map +0 -1
  60. package/src/db/types.js +0 -4
  61. package/src/db/types.js.map +0 -1
  62. package/src/db/types.ts +0 -771
  63. package/src/index.ts +0 -332
  64. package/src/recovery/detector.ts +0 -82
  65. package/src/recovery/index.ts +0 -3
  66. package/src/recovery/restorer.ts +0 -377
@@ -1,329 +0,0 @@
1
- import path from 'path';
2
- import fs from 'fs';
3
- import { SQLiteAdapter } from './sqlite.js';
4
- // CONFIGURATION
5
- function getLegacyDbPath() {
6
- return path.join(process.env.HOME || '', '.local', 'share', 'fleet', 'squawk.json');
7
- }
8
- function getSqliteDbPath() {
9
- return path.join(process.env.HOME || '', '.local', 'share', 'fleet', 'squawk.db');
10
- }
11
- // PRIVATE STATE
12
- let adapter = null;
13
- // INITIALIZATION
14
- export async function initializeDatabase(dbPath) {
15
- const targetPath = dbPath || getSqliteDbPath();
16
- const dbDir = path.dirname(targetPath);
17
- if (!fs.existsSync(dbDir)) {
18
- fs.mkdirSync(dbDir, { recursive: true });
19
- }
20
- const schemaPath = path.join(process.cwd(), 'squawk', 'src', 'db', 'schema.sql');
21
- adapter = new SQLiteAdapter(targetPath, schemaPath);
22
- await adapter.initialize();
23
- const legacyDbPath = getLegacyDbPath();
24
- if (fs.existsSync(legacyDbPath)) {
25
- await migrateFromJson(legacyDbPath);
26
- const backupPath = legacyDbPath + '.backup';
27
- fs.renameSync(legacyDbPath, backupPath);
28
- console.log(`[Migration] Legacy data migrated to SQLite`);
29
- console.log(`[Migration] Backup saved to: ${backupPath}`);
30
- }
31
- }
32
- export function getAdapter() {
33
- if (!adapter) {
34
- throw new Error('Database not initialized. Call initializeDatabase() first.');
35
- }
36
- return adapter;
37
- }
38
- export async function closeDatabase() {
39
- if (adapter) {
40
- await adapter.close();
41
- adapter = null;
42
- }
43
- }
44
- async function migrateFromJson(jsonPath) {
45
- console.log(`[Migration] Starting migration from: ${jsonPath}`);
46
- try {
47
- const content = fs.readFileSync(jsonPath, 'utf-8');
48
- const legacyData = JSON.parse(content);
49
- const stats = {
50
- mailboxes: 0,
51
- events: 0,
52
- cursors: 0,
53
- locks: 0,
54
- };
55
- for (const [id, mailbox] of Object.entries(legacyData.mailboxes || {})) {
56
- try {
57
- if (!mailbox.created_at || !mailbox.updated_at) {
58
- console.warn(`[Migration] Skipping mailbox ${id} due to missing required fields`);
59
- continue;
60
- }
61
- await adapter.mailboxes.create({
62
- id,
63
- created_at: mailbox.created_at,
64
- updated_at: mailbox.updated_at,
65
- });
66
- stats.mailboxes++;
67
- }
68
- catch (error) {
69
- console.warn(`[Migration] Failed to migrate mailbox ${id}:`, error);
70
- }
71
- }
72
- for (const [mailboxId, events] of Object.entries(legacyData.events || {})) {
73
- if (!(await adapter.mailboxes.getById(mailboxId))) {
74
- await adapter.mailboxes.create({
75
- id: mailboxId,
76
- created_at: new Date().toISOString(),
77
- updated_at: new Date().toISOString(),
78
- });
79
- stats.mailboxes++;
80
- }
81
- for (const event of events) {
82
- try {
83
- if (!event.type) {
84
- console.warn(`[Migration] Skipping event without type field in mailbox ${mailboxId}`);
85
- continue;
86
- }
87
- await adapter.events.append({
88
- event_type: event.type,
89
- stream_type: 'squawk',
90
- stream_id: mailboxId,
91
- data: typeof event.data === 'string'
92
- ? JSON.parse(event.data)
93
- : event.data,
94
- occurred_at: event.occurred_at,
95
- causation_id: event.causation_id,
96
- correlation_id: event.correlation_id,
97
- metadata: event.metadata
98
- ? typeof event.metadata === 'string'
99
- ? JSON.parse(event.metadata)
100
- : event.metadata
101
- : undefined,
102
- });
103
- stats.events++;
104
- }
105
- catch (error) {
106
- console.warn(`[Migration] Failed to migrate event:`, error);
107
- }
108
- }
109
- }
110
- for (const [id, cursor] of Object.entries(legacyData.cursors || {})) {
111
- try {
112
- await adapter.cursors.create({
113
- id,
114
- stream_type: 'squawk',
115
- stream_id: cursor.stream_id,
116
- position: cursor.position,
117
- consumer_id: cursor.consumer_id || 'migrated',
118
- });
119
- stats.cursors++;
120
- }
121
- catch (error) {
122
- console.warn(`[Migration] Failed to migrate cursor ${id}:`, error);
123
- }
124
- }
125
- for (const [id, lock] of Object.entries(legacyData.locks || {})) {
126
- const lockData = lock;
127
- if (!lockData.released_at) {
128
- try {
129
- await adapter.locks.acquire({
130
- file: lockData.file,
131
- specialist_id: lockData.reserved_by,
132
- timeout_ms: lockData.timeout_ms || 30000,
133
- purpose: lockData.purpose === 'delete'
134
- ? 'delete'
135
- : lockData.purpose === 'read'
136
- ? 'read'
137
- : 'edit',
138
- checksum: lockData.checksum,
139
- });
140
- stats.locks++;
141
- }
142
- catch (error) {
143
- console.warn(`[Migration] Failed to migrate lock ${id}:`, error);
144
- }
145
- }
146
- }
147
- console.log(`[Migration] Complete:`);
148
- console.log(` - Mailboxes: ${stats.mailboxes}`);
149
- console.log(` - Events: ${stats.events}`);
150
- console.log(` - Cursors: ${stats.cursors}`);
151
- console.log(` - Locks: ${stats.locks}`);
152
- }
153
- catch (error) {
154
- console.error('[Migration] Failed:', error);
155
- throw error;
156
- }
157
- }
158
- export const mailboxOps = {
159
- getAll: async () => {
160
- const adapter = getAdapter();
161
- const mailboxes = await adapter.mailboxes.getAll();
162
- return mailboxes.sort((a, b) => new Date(b.created_at).getTime() - new Date(a.created_at).getTime());
163
- },
164
- getById: async (id) => {
165
- const adapter = getAdapter();
166
- return adapter.mailboxes.getById(id);
167
- },
168
- create: async (id) => {
169
- const adapter = getAdapter();
170
- const now = new Date().toISOString();
171
- return adapter.mailboxes.create({
172
- id,
173
- created_at: now,
174
- updated_at: now,
175
- });
176
- },
177
- exists: async (id) => {
178
- const adapter = getAdapter();
179
- const mailbox = await adapter.mailboxes.getById(id);
180
- return mailbox !== null;
181
- },
182
- };
183
- export const eventOps = {
184
- getByMailbox: async (mailboxId) => {
185
- const adapter = getAdapter();
186
- const events = await adapter.events.queryByStream('squawk', mailboxId);
187
- return events.sort((a, b) => new Date(a.occurred_at).getTime() -
188
- new Date(b.occurred_at).getTime());
189
- },
190
- append: async (mailboxId, events) => {
191
- const adapter = getAdapter();
192
- if (!(await adapter.mailboxes.getById(mailboxId))) {
193
- await adapter.mailboxes.create({
194
- id: mailboxId,
195
- created_at: new Date().toISOString(),
196
- updated_at: new Date().toISOString(),
197
- });
198
- }
199
- const inserted = [];
200
- for (const event of events) {
201
- const appended = await adapter.events.append({
202
- event_type: event.type,
203
- stream_type: 'squawk',
204
- stream_id: mailboxId,
205
- data: typeof event.data === 'string'
206
- ? JSON.parse(event.data)
207
- : event.data,
208
- occurred_at: event.occurred_at,
209
- causation_id: event.causation_id,
210
- correlation_id: event.correlation_id,
211
- metadata: event.metadata
212
- ? typeof event.metadata === 'string'
213
- ? JSON.parse(event.metadata)
214
- : event.metadata
215
- : undefined,
216
- });
217
- inserted.push(appended);
218
- }
219
- return inserted;
220
- },
221
- };
222
- export const cursorOps = {
223
- getById: async (id) => {
224
- const adapter = getAdapter();
225
- return adapter.cursors.getById(id);
226
- },
227
- getByStream: async (streamId) => {
228
- const adapter = getAdapter();
229
- const cursors = await adapter.cursors.getAll();
230
- return (cursors.find((c) => c.stream_id === streamId) ||
231
- null);
232
- },
233
- upsert: async (cursor) => {
234
- const adapter = getAdapter();
235
- const id = cursor.id || `${cursor.stream_id}_cursor`;
236
- const now = new Date().toISOString();
237
- const existing = await adapter.cursors.getById(id);
238
- if (existing) {
239
- await adapter.cursors.update(id, {
240
- position: cursor.position,
241
- updated_at: now,
242
- });
243
- return existing;
244
- }
245
- else {
246
- return adapter.cursors.create({
247
- id,
248
- stream_type: 'squawk',
249
- stream_id: cursor.stream_id,
250
- position: cursor.position,
251
- consumer_id: cursor.consumer_id || 'default',
252
- });
253
- }
254
- },
255
- };
256
- export const lockOps = {
257
- getAll: async () => {
258
- const adapter = getAdapter();
259
- const allLocks = await adapter.locks.getAll();
260
- const now = new Date().toISOString();
261
- return allLocks.filter((lock) => {
262
- if (lock.status === 'released')
263
- return false;
264
- const expiresAt = lock.expires_at;
265
- return expiresAt > now;
266
- });
267
- },
268
- getById: async (id) => {
269
- const adapter = getAdapter();
270
- return adapter.locks.getById(id);
271
- },
272
- acquire: async (lock) => {
273
- const adapter = getAdapter();
274
- const result = await adapter.locks.acquire({
275
- file: lock.file,
276
- specialist_id: lock.reserved_by || lock.specialist_id,
277
- timeout_ms: lock.timeout_ms || 30000,
278
- purpose: lock.purpose === 'delete'
279
- ? 'delete'
280
- : lock.purpose === 'read'
281
- ? 'read'
282
- : 'edit',
283
- checksum: lock.checksum,
284
- });
285
- if (result.conflict) {
286
- // (legacy behavior: acquire always returns a lock object)
287
- return result.existing_lock || {
288
- id: result.lock?.id || '',
289
- file: lock.file,
290
- reserved_by: result.lock?.reserved_by || '',
291
- reserved_at: result.lock?.reserved_at || '',
292
- released_at: null,
293
- purpose: lock.purpose || 'edit',
294
- checksum: lock.checksum,
295
- timeout_ms: lock.timeout_ms || 30000,
296
- metadata: lock.metadata,
297
- };
298
- }
299
- return result.lock;
300
- },
301
- release: async (id) => {
302
- const adapter = getAdapter();
303
- const lock = await adapter.locks.getById(id);
304
- if (lock) {
305
- await adapter.locks.release(id);
306
- return lock;
307
- }
308
- return null;
309
- },
310
- getExpired: async () => {
311
- const adapter = getAdapter();
312
- const allLocks = await adapter.locks.getAll();
313
- const now = new Date().toISOString();
314
- return allLocks.filter((lock) => {
315
- if (lock.status === 'released')
316
- return false;
317
- const expiresAt = lock.expires_at;
318
- return expiresAt <= now;
319
- });
320
- },
321
- releaseExpired: async () => {
322
- const expired = await lockOps.getExpired();
323
- for (const lock of expired) {
324
- await lockOps.release(lock.id);
325
- }
326
- return expired.length;
327
- },
328
- };
329
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/index.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,gBAAgB;AAEhB,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,IAAI,CACd,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EACtB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,CACd,CAAC;AACJ,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,IAAI,CACd,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EACtB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,gBAAgB;AAEhB,IAAI,OAAO,GAAyB,IAAI,CAAC;AAEzC,iBAAiB;AAEjB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAe;IACtD,MAAM,UAAU,GAAG,MAAM,IAAI,eAAe,EAAE,CAAC;IAE/C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACjF,OAAO,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACpD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAE3B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;QAC5C,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;AACH,CAAC;AAWD,KAAK,UAAU,eAAe,CAAC,QAAgB;IAC7C,OAAO,CAAC,GAAG,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,UAAU,GAAmB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG;YACZ,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;SACT,CAAC;QAEF,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC/C,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,iCAAiC,CAAC,CAAC;oBAClF,SAAS;gBACX,CAAC;gBAED,MAAO,OAAe,CAAC,SAAS,CAAC,MAAM,CAAC;oBACtC,EAAE;oBACF,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC,CAAC;gBACH,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAC9C,UAAU,CAAC,MAAM,IAAI,EAAE,CACxB,EAAE,CAAC;YACF,IAAI,CAAC,CAAC,MAAO,OAAe,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAO,OAAe,CAAC,SAAS,CAAC,MAAM,CAAC;oBACtC,EAAE,EAAE,SAAS;oBACb,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACpC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACrC,CAAC,CAAC;gBACH,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wBAChB,OAAO,CAAC,IAAI,CAAC,4DAA4D,SAAS,EAAE,CAAC,CAAC;wBACtF,SAAS;oBACX,CAAC;oBAED,MAAO,OAAe,CAAC,MAAM,CAAC,MAAM,CAAC;wBACnC,UAAU,EAAE,KAAK,CAAC,IAAI;wBACtB,WAAW,EAAE,QAAQ;wBACrB,SAAS,EAAE,SAAS;wBACpB,IAAI,EACF,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;4BAC5B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;4BACxB,CAAC,CAAC,KAAK,CAAC,IAAI;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACtB,CAAC,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;gCAClC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;gCAC5B,CAAC,CAAC,KAAK,CAAC,QAAQ;4BAClB,CAAC,CAAC,SAAS;qBACd,CAAC,CAAC;oBACH,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC;gBACH,MAAO,OAAe,CAAC,OAAO,CAAC,MAAM,CAAC;oBACpC,EAAE;oBACF,WAAW,EAAE,QAAQ;oBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,UAAU;iBAC9C,CAAC,CAAC;gBACH,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAW,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAO,OAAe,CAAC,KAAK,CAAC,OAAO,CAAC;wBACnC,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,aAAa,EAAE,QAAQ,CAAC,WAAW;wBACnC,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,KAAK;wBACxC,OAAO,EACL,QAAQ,CAAC,OAAO,KAAK,QAAQ;4BAC3B,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,MAAM;gCAC7B,CAAC,CAAC,MAAM;gCACR,CAAC,CAAC,MAAM;wBACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;qBAC5B,CAAC,CAAC;oBACH,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAID,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,KAAK,IAAI,EAAE;QACjB,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,SAAS,CAAC,IAAI,CACnB,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CACjB,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CACtE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,EAAU,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QACpC,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;YAC9B,EAAE;YACF,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,OAAO,KAAK,IAAI,CAAC;IAC1B,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,YAAY,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACvE,OAAO,MAAM,CAAC,IAAI,CAChB,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CACjB,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;YACjC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CACpC,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,SAAiB,EAAE,MAAa,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QAEpC,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC7B,EAAE,EAAE,SAAS;gBACb,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAY,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC3C,UAAU,EAAE,KAAK,CAAC,IAAI;gBACtB,WAAW,EAAE,QAAQ;gBACrB,SAAS,EAAE,SAAS;gBACpB,IAAI,EACF,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAC5B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;oBACxB,CAAC,CAAC,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACtB,CAAC,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;wBAClC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAC5B,CAAC,CAAC,KAAK,CAAC,QAAQ;oBAClB,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,OAAO,EAAE,KAAK,EAAE,EAAU,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QACpC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,WAAW,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/C,OAAO,CACL,OAAO,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC;YACrD,IAAI,CACL,CAAC;IACL,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAAW,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QACpC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,SAAS,SAAS,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEnD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE;gBAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC5B,EAAE;gBACF,WAAW,EAAE,QAAQ;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,SAAS;aAC7C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,MAAM,EAAE,KAAK,IAAI,EAAE;QACjB,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;YACnC,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YAE7C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,OAAO,SAAS,GAAG,GAAG,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,EAAU,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QACpC,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAEA,OAAO,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;YAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa;YACrD,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;YACpC,OAAO,EACL,IAAI,CAAC,OAAO,KAAK,QAAQ;gBACvB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM;oBACzB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,MAAM;YACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,0DAA0D;YAC1D,OAAO,MAAM,CAAC,aAAa,IAAI;gBAC7B,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE;gBAC3C,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE;gBAC3C,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM;gBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;gBACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,EAAU,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,OAAO,GAAG,UAAU,EAAS,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;YACnC,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YAE7C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,OAAO,SAAS,IAAI,GAAG,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;CACF,CAAC"}
@@ -1,31 +0,0 @@
1
- import Database from 'bun:sqlite';
2
- import type { DatabaseAdapter, DatabaseStats, MissionOps, SortieOps, LockOps, EventOps, CheckpointOps, SpecialistOps, MessageOps, CursorOps } from './types.js';
3
- export declare class SQLiteAdapter implements DatabaseAdapter {
4
- version: "1.0.0";
5
- private db;
6
- private dbPath;
7
- private schemaPath;
8
- missions: MissionOps;
9
- sorties: SortieOps;
10
- locks: LockOps;
11
- events: EventOps;
12
- checkpoints: CheckpointOps;
13
- specialists: SpecialistOps;
14
- messages: MessageOps;
15
- cursors: CursorOps;
16
- constructor(dbPath?: string, schemaPath?: string);
17
- private resolveSchemaPath;
18
- initialize(): Promise<void>;
19
- private initializeOperations;
20
- close(): Promise<void>;
21
- isHealthy(): Promise<boolean>;
22
- getStats(): Promise<DatabaseStats>;
23
- maintenance(): Promise<void>;
24
- beginTransaction(): Promise<void>;
25
- commitTransaction(): Promise<void>;
26
- rollbackTransaction(): Promise<void>;
27
- getDatabase(): Database | null;
28
- }
29
- export declare function createSQLiteAdapter(dbPath?: string): Promise<SQLiteAdapter>;
30
- export declare function createInMemoryAdapter(): Promise<SQLiteAdapter>;
31
- //# sourceMappingURL=sqlite.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../src/db/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EAEb,UAAU,EACV,SAAS,EACT,OAAO,EACP,QAAQ,EACR,aAAa,EACb,aAAa,EACb,UAAU,EACV,SAAS,EAQV,MAAM,YAAY,CAAC;AAEpB,qBAAa,aAAc,YAAW,eAAe;IACnD,OAAO,EAAG,OAAO,CAAU;IAE3B,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAEpB,QAAQ,EAAE,UAAU,CAAoB;IACxC,OAAO,EAAE,SAAS,CAAmB;IACrC,KAAK,EAAE,OAAO,CAAiB;IAC/B,MAAM,EAAE,QAAQ,CAAkB;IAClC,WAAW,EAAE,aAAa,CAAuB;IACjD,WAAW,EAAE,aAAa,CAAuB;IACjD,QAAQ,EAAE,UAAU,CAAoB;IACxC,OAAO,EAAE,SAAS,CAAmB;gBAEhC,MAAM,GAAE,MAAmB,EAAE,UAAU,CAAC,EAAE,MAAM;IAW5D,OAAO,CAAC,iBAAiB;IA0CnB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BjC,OAAO,CAAC,oBAAoB;IAwatB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAa7B,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAuClC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAalC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAa1C,WAAW,IAAI,QAAQ,GAAG,IAAI;CAG/B;AAED,wBAAsB,mBAAmB,CAAC,MAAM,GAAE,MAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAI7F;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,aAAa,CAAC,CAEpE"}