@syncular/server-dialect-sqlite 0.0.1-60 → 0.0.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.
package/dist/index.d.ts CHANGED
@@ -27,33 +27,24 @@ export declare class SqliteServerSyncDialect implements ServerSyncDialect {
27
27
  ensureSyncSchema<DB extends SyncCoreDb>(db: Kysely<DB>): Promise<void>;
28
28
  executeInTransaction<DB extends SyncCoreDb, T>(db: Kysely<DB>, fn: (executor: DbExecutor<DB>) => Promise<T>): Promise<T>;
29
29
  setRepeatableRead<DB extends SyncCoreDb>(_trx: DbExecutor<DB>): Promise<void>;
30
- readMaxCommitSeq<DB extends SyncCoreDb>(db: Kysely<DB> | Transaction<DB>, options?: {
31
- partitionId?: string;
32
- }): Promise<number>;
33
- readMinCommitSeq<DB extends SyncCoreDb>(db: Kysely<DB> | Transaction<DB>, options?: {
34
- partitionId?: string;
35
- }): Promise<number>;
30
+ readMaxCommitSeq<DB extends SyncCoreDb>(db: Kysely<DB> | Transaction<DB>): Promise<number>;
31
+ readMinCommitSeq<DB extends SyncCoreDb>(db: Kysely<DB> | Transaction<DB>): Promise<number>;
36
32
  readCommitSeqsForPull<DB extends SyncCoreDb>(db: Kysely<DB> | Transaction<DB>, args: {
37
33
  cursor: number;
38
34
  limitCommits: number;
39
35
  tables: string[];
40
- partitionId?: string;
41
36
  }): Promise<number[]>;
42
- readCommits<DB extends SyncCoreDb>(db: Kysely<DB> | Transaction<DB>, commitSeqs: number[], options?: {
43
- partitionId?: string;
44
- }): Promise<SyncCommitRow[]>;
37
+ readCommits<DB extends SyncCoreDb>(db: Kysely<DB> | Transaction<DB>, commitSeqs: number[]): Promise<SyncCommitRow[]>;
45
38
  readChangesForCommits<DB extends SyncCoreDb>(db: Kysely<DB> | Transaction<DB>, args: {
46
39
  commitSeqs: number[];
47
40
  table: string;
48
41
  scopes: ScopeValues;
49
- partitionId?: string;
50
42
  }): Promise<SyncChangeRow[]>;
51
43
  readIncrementalPullRows<DB extends SyncCoreDb>(db: Kysely<DB> | Transaction<DB>, args: {
52
44
  table: string;
53
45
  scopes: ScopeValues;
54
46
  cursor: number;
55
47
  limitCommits: number;
56
- partitionId?: string;
57
48
  }): Promise<Array<{
58
49
  commit_seq: number;
59
50
  actor_id: string;
@@ -75,7 +66,6 @@ export declare class SqliteServerSyncDialect implements ServerSyncDialect {
75
66
  scopes: ScopeValues;
76
67
  cursor: number;
77
68
  limitCommits: number;
78
- partitionId?: string;
79
69
  }): AsyncGenerator<{
80
70
  commit_seq: number;
81
71
  actor_id: string;
@@ -92,7 +82,6 @@ export declare class SqliteServerSyncDialect implements ServerSyncDialect {
92
82
  fullHistoryHours: number;
93
83
  }): Promise<number>;
94
84
  recordClientCursor<DB extends SyncCoreDb>(db: Kysely<DB> | Transaction<DB>, args: {
95
- partitionId?: string;
96
85
  clientId: string;
97
86
  actorId: string;
98
87
  cursor: number;
@@ -102,9 +91,7 @@ export declare class SqliteServerSyncDialect implements ServerSyncDialect {
102
91
  dbToScopes(value: unknown): StoredScopes;
103
92
  dbToArray(value: unknown): string[];
104
93
  arrayToDb(values: string[]): string;
105
- readAffectedTablesFromChanges<DB extends SyncCoreDb>(db: Kysely<DB> | Transaction<DB>, commitSeq: number, options?: {
106
- partitionId?: string;
107
- }): Promise<string[]>;
94
+ readAffectedTablesFromChanges<DB extends SyncCoreDb>(db: Kysely<DB> | Transaction<DB>, commitSeq: number): Promise<string[]>;
108
95
  ensureConsoleSchema<DB extends SyncCoreDb>(db: Kysely<DB>): Promise<void>;
109
96
  }
110
97
  export declare function createSqliteServerDialect(options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -118,14 +118,6 @@ function scopesMatch(stored, requested) {
118
118
  }
119
119
  return true;
120
120
  }
121
- async function ensurePartitionColumn(db, table) {
122
- try {
123
- await sql.raw(`ALTER TABLE ${table} ADD COLUMN partition_id TEXT NOT NULL DEFAULT 'default'`).execute(db);
124
- }
125
- catch {
126
- // Ignore when column already exists (or table is immutable in the current backend).
127
- }
128
- }
129
121
  export class SqliteServerSyncDialect {
130
122
  name = 'sqlite';
131
123
  supportsForUpdate = false;
@@ -146,7 +138,6 @@ export class SqliteServerSyncDialect {
146
138
  .createTable('sync_commits')
147
139
  .ifNotExists()
148
140
  .addColumn('commit_seq', 'integer', (col) => col.primaryKey().autoIncrement())
149
- .addColumn('partition_id', 'text', (col) => col.notNull().defaultTo('default'))
150
141
  .addColumn('actor_id', 'text', (col) => col.notNull())
151
142
  .addColumn('client_id', 'text', (col) => col.notNull())
152
143
  .addColumn('client_commit_id', 'text', (col) => col.notNull())
@@ -156,32 +147,23 @@ export class SqliteServerSyncDialect {
156
147
  .addColumn('change_count', 'integer', (col) => col.notNull().defaultTo(0))
157
148
  .addColumn('affected_tables', 'text', (col) => col.notNull().defaultTo('[]'))
158
149
  .execute();
159
- await ensurePartitionColumn(db, 'sync_commits');
160
- await sql `DROP INDEX IF EXISTS idx_sync_commits_client_commit`.execute(db);
161
150
  await sql `CREATE UNIQUE INDEX IF NOT EXISTS idx_sync_commits_client_commit
162
- ON sync_commits(partition_id, client_id, client_commit_id)`.execute(db);
151
+ ON sync_commits(client_id, client_commit_id)`.execute(db);
163
152
  // sync_table_commits table (index of which commits affect which tables)
164
153
  await db.schema
165
154
  .createTable('sync_table_commits')
166
155
  .ifNotExists()
167
- .addColumn('partition_id', 'text', (col) => col.notNull().defaultTo('default'))
168
156
  .addColumn('table', 'text', (col) => col.notNull())
169
157
  .addColumn('commit_seq', 'integer', (col) => col.notNull().references('sync_commits.commit_seq').onDelete('cascade'))
170
- .addPrimaryKeyConstraint('sync_table_commits_pk', [
171
- 'partition_id',
172
- 'table',
173
- 'commit_seq',
174
- ])
158
+ .addPrimaryKeyConstraint('sync_table_commits_pk', ['table', 'commit_seq'])
175
159
  .execute();
176
- await ensurePartitionColumn(db, 'sync_table_commits');
177
160
  await sql `CREATE INDEX IF NOT EXISTS idx_sync_table_commits_commit_seq
178
- ON sync_table_commits(partition_id, commit_seq)`.execute(db);
161
+ ON sync_table_commits(commit_seq)`.execute(db);
179
162
  // sync_changes table - uses JSON for scopes
180
163
  await db.schema
181
164
  .createTable('sync_changes')
182
165
  .ifNotExists()
183
166
  .addColumn('change_id', 'integer', (col) => col.primaryKey().autoIncrement())
184
- .addColumn('partition_id', 'text', (col) => col.notNull().defaultTo('default'))
185
167
  .addColumn('commit_seq', 'integer', (col) => col.notNull().references('sync_commits.commit_seq').onDelete('cascade'))
186
168
  .addColumn('table', 'text', (col) => col.notNull())
187
169
  .addColumn('row_id', 'text', (col) => col.notNull())
@@ -190,27 +172,20 @@ export class SqliteServerSyncDialect {
190
172
  .addColumn('row_version', 'integer')
191
173
  .addColumn('scopes', 'json', (col) => col.notNull())
192
174
  .execute();
193
- await ensurePartitionColumn(db, 'sync_changes');
194
175
  await sql `CREATE INDEX IF NOT EXISTS idx_sync_changes_commit_seq
195
- ON sync_changes(partition_id, commit_seq)`.execute(db);
176
+ ON sync_changes(commit_seq)`.execute(db);
196
177
  await sql `CREATE INDEX IF NOT EXISTS idx_sync_changes_table
197
- ON sync_changes(partition_id, "table")`.execute(db);
178
+ ON sync_changes("table")`.execute(db);
198
179
  // sync_client_cursors table
199
180
  await db.schema
200
181
  .createTable('sync_client_cursors')
201
182
  .ifNotExists()
202
- .addColumn('partition_id', 'text', (col) => col.notNull().defaultTo('default'))
203
- .addColumn('client_id', 'text', (col) => col.notNull())
183
+ .addColumn('client_id', 'text', (col) => col.primaryKey())
204
184
  .addColumn('actor_id', 'text', (col) => col.notNull())
205
185
  .addColumn('cursor', 'integer', (col) => col.notNull().defaultTo(0))
206
186
  .addColumn('effective_scopes', 'json', (col) => col.notNull().defaultTo('{}'))
207
187
  .addColumn('updated_at', 'text', (col) => col.notNull().defaultTo(nowIso))
208
- .addPrimaryKeyConstraint('sync_client_cursors_pk', [
209
- 'partition_id',
210
- 'client_id',
211
- ])
212
188
  .execute();
213
- await ensurePartitionColumn(db, 'sync_client_cursors');
214
189
  await sql `CREATE INDEX IF NOT EXISTS idx_sync_client_cursors_updated_at
215
190
  ON sync_client_cursors(updated_at)`.execute(db);
216
191
  // sync_snapshot_chunks table
@@ -218,7 +193,6 @@ export class SqliteServerSyncDialect {
218
193
  .createTable('sync_snapshot_chunks')
219
194
  .ifNotExists()
220
195
  .addColumn('chunk_id', 'text', (col) => col.primaryKey())
221
- .addColumn('partition_id', 'text', (col) => col.notNull().defaultTo('default'))
222
196
  .addColumn('scope_key', 'text', (col) => col.notNull())
223
197
  .addColumn('scope', 'text', (col) => col.notNull())
224
198
  .addColumn('as_of_commit_seq', 'integer', (col) => col.notNull())
@@ -233,11 +207,10 @@ export class SqliteServerSyncDialect {
233
207
  .addColumn('created_at', 'text', (col) => col.notNull().defaultTo(nowIso))
234
208
  .addColumn('expires_at', 'text', (col) => col.notNull())
235
209
  .execute();
236
- await ensurePartitionColumn(db, 'sync_snapshot_chunks');
237
210
  await sql `CREATE INDEX IF NOT EXISTS idx_sync_snapshot_chunks_expires_at
238
211
  ON sync_snapshot_chunks(expires_at)`.execute(db);
239
212
  await sql `CREATE UNIQUE INDEX IF NOT EXISTS idx_sync_snapshot_chunks_page_key
240
- ON sync_snapshot_chunks(partition_id, scope_key, scope, as_of_commit_seq, row_cursor, row_limit, encoding, compression)`.execute(db);
213
+ ON sync_snapshot_chunks(scope_key, scope, as_of_commit_seq, row_cursor, row_limit, encoding, compression)`.execute(db);
241
214
  // Cleanup orphaned rows
242
215
  await sql `
243
216
  DELETE FROM sync_table_commits
@@ -263,34 +236,28 @@ export class SqliteServerSyncDialect {
263
236
  // ===========================================================================
264
237
  // Commit/Change Log Queries
265
238
  // ===========================================================================
266
- async readMaxCommitSeq(db, options) {
267
- const partitionId = options?.partitionId ?? 'default';
239
+ async readMaxCommitSeq(db) {
268
240
  const res = await sql `
269
241
  SELECT max(commit_seq) as max_seq
270
242
  FROM sync_commits
271
- WHERE partition_id = ${partitionId}
272
243
  `.execute(db);
273
244
  return coerceNumber(res.rows[0]?.max_seq) ?? 0;
274
245
  }
275
- async readMinCommitSeq(db, options) {
276
- const partitionId = options?.partitionId ?? 'default';
246
+ async readMinCommitSeq(db) {
277
247
  const res = await sql `
278
248
  SELECT min(commit_seq) as min_seq
279
249
  FROM sync_commits
280
- WHERE partition_id = ${partitionId}
281
250
  `.execute(db);
282
251
  return coerceNumber(res.rows[0]?.min_seq) ?? 0;
283
252
  }
284
253
  async readCommitSeqsForPull(db, args) {
285
- const partitionId = args.partitionId ?? 'default';
286
254
  if (args.tables.length === 0)
287
255
  return [];
288
256
  const tablesIn = sql.join(args.tables.map((t) => sql `${t}`), sql `, `);
289
257
  const res = await sql `
290
258
  SELECT DISTINCT commit_seq
291
259
  FROM sync_table_commits
292
- WHERE partition_id = ${partitionId}
293
- AND "table" IN (${tablesIn})
260
+ WHERE "table" IN (${tablesIn})
294
261
  AND commit_seq > ${args.cursor}
295
262
  ORDER BY commit_seq ASC
296
263
  LIMIT ${args.limitCommits}
@@ -299,8 +266,7 @@ export class SqliteServerSyncDialect {
299
266
  .map((r) => coerceNumber(r.commit_seq))
300
267
  .filter((n) => typeof n === 'number' && Number.isFinite(n) && n > args.cursor);
301
268
  }
302
- async readCommits(db, commitSeqs, options) {
303
- const partitionId = options?.partitionId ?? 'default';
269
+ async readCommits(db, commitSeqs) {
304
270
  if (commitSeqs.length === 0)
305
271
  return [];
306
272
  const commitSeqsIn = sql.join(commitSeqs.map((seq) => sql `${seq}`), sql `, `);
@@ -308,7 +274,6 @@ export class SqliteServerSyncDialect {
308
274
  SELECT commit_seq, actor_id, created_at, result_json
309
275
  FROM sync_commits
310
276
  WHERE commit_seq IN (${commitSeqsIn})
311
- AND partition_id = ${partitionId}
312
277
  ORDER BY commit_seq ASC
313
278
  `.execute(db);
314
279
  return res.rows.map((row) => ({
@@ -319,7 +284,6 @@ export class SqliteServerSyncDialect {
319
284
  }));
320
285
  }
321
286
  async readChangesForCommits(db, args) {
322
- const partitionId = args.partitionId ?? 'default';
323
287
  if (args.commitSeqs.length === 0)
324
288
  return [];
325
289
  const commitSeqsIn = sql.join(args.commitSeqs.map((seq) => sql `${seq}`), sql `, `);
@@ -328,7 +292,6 @@ export class SqliteServerSyncDialect {
328
292
  SELECT commit_seq, "table", row_id, op, row_json, row_version, scopes
329
293
  FROM sync_changes
330
294
  WHERE commit_seq IN (${commitSeqsIn})
331
- AND partition_id = ${partitionId}
332
295
  AND "table" = ${args.table}
333
296
  ORDER BY commit_seq ASC, change_id ASC
334
297
  `.execute(db);
@@ -349,20 +312,17 @@ export class SqliteServerSyncDialect {
349
312
  }));
350
313
  }
351
314
  async readIncrementalPullRows(db, args) {
352
- const partitionId = args.partitionId ?? 'default';
353
315
  const limitCommits = Math.max(1, Math.min(500, args.limitCommits));
354
316
  // Get commit_seqs for this table
355
317
  const commitSeqsRes = await sql `
356
318
  SELECT commit_seq
357
319
  FROM sync_table_commits
358
- WHERE partition_id = ${partitionId}
359
- AND "table" = ${args.table}
320
+ WHERE "table" = ${args.table}
360
321
  AND commit_seq > ${args.cursor}
361
322
  AND EXISTS (
362
323
  SELECT 1
363
324
  FROM sync_commits cm
364
325
  WHERE cm.commit_seq = sync_table_commits.commit_seq
365
- AND cm.partition_id = ${partitionId}
366
326
  )
367
327
  ORDER BY commit_seq ASC
368
328
  LIMIT ${limitCommits}
@@ -389,8 +349,6 @@ export class SqliteServerSyncDialect {
389
349
  FROM sync_commits cm
390
350
  JOIN sync_changes c ON c.commit_seq = cm.commit_seq
391
351
  WHERE cm.commit_seq IN (${commitSeqsIn})
392
- AND cm.partition_id = ${partitionId}
393
- AND c.partition_id = ${partitionId}
394
352
  AND c."table" = ${args.table}
395
353
  ORDER BY cm.commit_seq ASC, c.change_id ASC
396
354
  `.execute(db);
@@ -418,20 +376,17 @@ export class SqliteServerSyncDialect {
418
376
  * Yields changes one at a time instead of loading all into memory.
419
377
  */
420
378
  async *streamIncrementalPullRows(db, args) {
421
- const partitionId = args.partitionId ?? 'default';
422
379
  const limitCommits = Math.max(1, Math.min(500, args.limitCommits));
423
380
  // Get commit_seqs for this table
424
381
  const commitSeqsRes = await sql `
425
382
  SELECT commit_seq
426
383
  FROM sync_table_commits
427
- WHERE partition_id = ${partitionId}
428
- AND "table" = ${args.table}
384
+ WHERE "table" = ${args.table}
429
385
  AND commit_seq > ${args.cursor}
430
386
  AND EXISTS (
431
387
  SELECT 1
432
388
  FROM sync_commits cm
433
389
  WHERE cm.commit_seq = sync_table_commits.commit_seq
434
- AND cm.partition_id = ${partitionId}
435
390
  )
436
391
  ORDER BY commit_seq ASC
437
392
  LIMIT ${limitCommits}
@@ -461,8 +416,6 @@ export class SqliteServerSyncDialect {
461
416
  FROM sync_commits cm
462
417
  JOIN sync_changes c ON c.commit_seq = cm.commit_seq
463
418
  WHERE cm.commit_seq IN (${commitSeqsIn})
464
- AND cm.partition_id = ${partitionId}
465
- AND c.partition_id = ${partitionId}
466
419
  AND c."table" = ${args.table}
467
420
  ORDER BY cm.commit_seq ASC, c.change_id ASC
468
421
  `.execute(db);
@@ -490,16 +443,16 @@ export class SqliteServerSyncDialect {
490
443
  const cutoffIso = new Date(Date.now() - args.fullHistoryHours * 60 * 60 * 1000).toISOString();
491
444
  // Find all old changes
492
445
  const oldChanges = await sql `
493
- SELECT c.change_id, c.partition_id, c.commit_seq, c."table", c.row_id, c.scopes
446
+ SELECT c.change_id, c.commit_seq, c."table", c.row_id, c.scopes
494
447
  FROM sync_changes c
495
448
  JOIN sync_commits cm ON cm.commit_seq = c.commit_seq
496
449
  WHERE cm.created_at < ${cutoffIso}
497
450
  `.execute(db);
498
- // Group by (partition_id, table, row_id, scopes)
451
+ // Group by (table, row_id, scopes)
499
452
  const groups = new Map();
500
453
  for (const row of oldChanges.rows) {
501
454
  const scopesStr = JSON.stringify(parseScopes(row.scopes));
502
- const key = `${row.partition_id}|${row.table}|${row.row_id}|${scopesStr}`;
455
+ const key = `${row.table}|${row.row_id}|${scopesStr}`;
503
456
  if (!groups.has(key)) {
504
457
  groups.set(key, []);
505
458
  }
@@ -543,13 +496,11 @@ export class SqliteServerSyncDialect {
543
496
  SELECT commit_seq
544
497
  FROM sync_commits
545
498
  WHERE created_at < ${cutoffIso}
546
- AND partition_id = sync_table_commits.partition_id
547
499
  )
548
500
  AND NOT EXISTS (
549
501
  SELECT 1
550
502
  FROM sync_changes c
551
503
  WHERE c.commit_seq = sync_table_commits.commit_seq
552
- AND c.partition_id = sync_table_commits.partition_id
553
504
  AND c."table" = sync_table_commits."table"
554
505
  )
555
506
  `.execute(db);
@@ -559,13 +510,12 @@ export class SqliteServerSyncDialect {
559
510
  // Client Cursor Recording
560
511
  // ===========================================================================
561
512
  async recordClientCursor(db, args) {
562
- const partitionId = args.partitionId ?? 'default';
563
513
  const now = new Date().toISOString();
564
514
  const scopesJson = JSON.stringify(args.effectiveScopes);
565
515
  await sql `
566
- INSERT INTO sync_client_cursors (partition_id, client_id, actor_id, cursor, effective_scopes, updated_at)
567
- VALUES (${partitionId}, ${args.clientId}, ${args.actorId}, ${args.cursor}, ${scopesJson}, ${now})
568
- ON CONFLICT(partition_id, client_id) DO UPDATE SET
516
+ INSERT INTO sync_client_cursors (client_id, actor_id, cursor, effective_scopes, updated_at)
517
+ VALUES (${args.clientId}, ${args.actorId}, ${args.cursor}, ${scopesJson}, ${now})
518
+ ON CONFLICT(client_id) DO UPDATE SET
569
519
  actor_id = ${args.actorId},
570
520
  cursor = ${args.cursor},
571
521
  effective_scopes = ${scopesJson},
@@ -587,13 +537,11 @@ export class SqliteServerSyncDialect {
587
537
  arrayToDb(values) {
588
538
  return JSON.stringify(values.filter((v) => v.length > 0));
589
539
  }
590
- async readAffectedTablesFromChanges(db, commitSeq, options) {
591
- const partitionId = options?.partitionId ?? 'default';
540
+ async readAffectedTablesFromChanges(db, commitSeq) {
592
541
  const res = await sql `
593
542
  SELECT DISTINCT "table"
594
543
  FROM sync_changes
595
544
  WHERE commit_seq = ${commitSeq}
596
- AND partition_id = ${partitionId}
597
545
  `.execute(db);
598
546
  return res.rows
599
547
  .map((r) => r.table)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,SAAS,YAAY,CAAC,KAAc,EAAiB;IACnD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,IAAI,OAAO,KAAK,KAAK,QAAQ;QAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC;AAAA,CACb;AAED,SAAS,eAAe,CAAC,KAAc,EAAU;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IACtD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AAAA,CACtB;AAED,SAAS,cAAc,CAAC,KAAc,EAAW;IAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AAAA,CACd;AAED,SAAS,WAAW,CAAC,KAAc,EAAgB;IACjD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YACtE,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,IACE,OAAO,MAAM,KAAK,QAAQ;gBAC1B,MAAM,KAAK,IAAI;gBACf,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACtB,CAAC;gBACD,MAAM,MAAM,GAAiB,EAAE,CAAC;gBAChC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CACjC,MAAiC,CAClC,EAAE,CAAC;oBACF,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC1B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AAAA,CACX;AAED,SAAS,aAAa,CAAC,KAAc,EAAY;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAU,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,CAAU,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CACnD,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AAAA,CACX;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,MAAoB,EAAE,SAAsB,EAAW;IAC1E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,OAAO,KAAK,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,IAAI,WAAW,KAAK,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AAAA,CACb;AAED,MAAM,OAAO,uBAAuB;IACzB,IAAI,GAAG,QAAiB,CAAC;IACzB,iBAAiB,GAAG,KAAK,CAAC;IAC1B,kBAAkB,CAAU;IACpB,qBAAqB,CAAU;IAEhD,YAAY,OAA4C,EAAE;QACxD,IAAI,CAAC,qBAAqB,GAAG,OAAO,EAAE,oBAAoB,IAAI,IAAI,CAAC;QACnE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC;IAAA,CACtD;IAED,8EAA8E;IAC9E,eAAe;IACf,8EAA8E;IAE9E,KAAK,CAAC,gBAAgB,CAAwB,EAAc,EAAiB;QAC3E,MAAM,GAAG,CAAA,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,GAAG,CAAA,wCAAwC,CAAC;QAE3D,qBAAqB;QACrB,MAAM,EAAE,CAAC,MAAM;aACZ,WAAW,CAAC,cAAc,CAAC;aAC3B,WAAW,EAAE;aACb,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,CACjC;aACA,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACrD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACtD,SAAS,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aAC7D,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACzE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;aACzB,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;aAChC,SAAS,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACzE,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAC5C,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAC9B;aACA,OAAO,EAAE,CAAC;QAEb,MAAM,GAAG,CAAA;mDACsC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE5D,wEAAwE;QACxE,MAAM,EAAE,CAAC,MAAM;aACZ,WAAW,CAAC,oBAAoB,CAAC;aACjC,WAAW,EAAE;aACb,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aAClD,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CACxE;aACA,uBAAuB,CAAC,uBAAuB,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;aACzE,OAAO,EAAE,CAAC;QAEb,MAAM,GAAG,CAAA;wCAC2B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEjD,4CAA4C;QAC5C,MAAM,EAAE,CAAC,MAAM;aACZ,WAAW,CAAC,cAAc,CAAC;aAC3B,WAAW,EAAE;aACb,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACzC,GAAG,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,CACjC;aACA,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CACxE;aACA,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aAClD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACnD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aAC/C,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;aAC7B,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC;aACnC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACnD,OAAO,EAAE,CAAC;QAEb,MAAM,GAAG,CAAA;kCACqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE3C,MAAM,GAAG,CAAA;+BACkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAExC,4BAA4B;QAC5B,MAAM,EAAE,CAAC,MAAM;aACZ,WAAW,CAAC,qBAAqB,CAAC;aAClC,WAAW,EAAE;aACb,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;aACzD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACrD,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACnE,SAAS,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAC7C,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAC9B;aACA,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACzE,OAAO,EAAE,CAAC;QAEb,MAAM,GAAG,CAAA;yCAC4B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAElD,6BAA6B;QAC7B,MAAM,EAAE,CAAC,MAAM;aACZ,WAAW,CAAC,sBAAsB,CAAC;aACnC,WAAW,EAAE;aACb,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;aACxD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACtD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aAClD,SAAS,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aAChE,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aACrE,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACzD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACrD,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACxD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACnD,SAAS,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aAC3D,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aACpE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,+BAA+B;aACzD,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACzE,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACvD,OAAO,EAAE,CAAC;QAEb,MAAM,GAAG,CAAA;0CAC6B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEnD,MAAM,GAAG,CAAA;gHACmG,CAAC,OAAO,CAClH,EAAE,CACH,CAAC;QAEF,wBAAwB;QACxB,MAAM,GAAG,CAAA;;;KAGR,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACd,MAAM,GAAG,CAAA;;;KAGR,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAAA,CACf;IAED,8EAA8E;IAC9E,sBAAsB;IACtB,8EAA8E;IAE9E,KAAK,CAAC,oBAAoB,CACxB,EAAc,EACd,EAA4C,EAChC;QACZ,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAAA,CACf;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAoB,EACL;QACf,6DAA6D;IAD7C,CAEjB;IAED,8EAA8E;IAC9E,4BAA4B;IAC5B,8EAA8E;IAE9E,KAAK,CAAC,gBAAgB,CACpB,EAAgC,EACf;QACjB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAsB;;;KAG1C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEd,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAAA,CAChD;IAED,KAAK,CAAC,gBAAgB,CACpB,EAAgC,EACf;QACjB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAsB;;;KAG1C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEd,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAAA,CAChD;IAED,KAAK,CAAC,qBAAqB,CACzB,EAAgC,EAChC,IAAgE,EAC7C;QACnB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAExC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,CAAC,EAAE,CAAC,EACjC,GAAG,CAAA,IAAI,CACR,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAyB;;;0BAGxB,QAAQ;2BACP,IAAI,CAAC,MAAM;;cAExB,IAAI,CAAC,YAAY;KAC1B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEd,OAAO,GAAG,CAAC,IAAI;aACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;aACtC,MAAM,CACL,CAAC,CAAC,EAAe,EAAE,CACjB,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CACjE,CAAC;IAAA,CACL;IAED,KAAK,CAAC,WAAW,CACf,EAAgC,EAChC,UAAoB,EACM;QAC1B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEvC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAC3B,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,GAAG,EAAE,CAAC,EACpC,GAAG,CAAA,IAAI,CACR,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,GAAG,CAKnB;;;6BAGuB,YAAY;;KAEpC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEd,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5B,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAC7C,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC;YAC3C,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;SACrC,CAAC,CAAC,CAAC;IAAA,CACL;IAED,KAAK,CAAC,qBAAqB,CACzB,EAAgC,EAChC,IAAkE,EACxC;QAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE5C,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,GAAG,EAAE,CAAC,EACzC,GAAG,CAAA,IAAI,CACR,CAAC;QAEF,uDAAuD;QACvD,MAAM,GAAG,GAAG,MAAM,GAAG,CAQnB;;;6BAGuB,YAAY;wBACjB,IAAI,CAAC,KAAK;;KAE7B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEd,qEAAqE;QACrE,OAAO,GAAG,CAAC,IAAI;aACZ,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAAA,CAC/C,CAAC;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACb,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAC7C,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;YACtC,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;YAC1C,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;SAChC,CAAC,CAAC,CAAC;IAAA,CACP;IAED,KAAK,CAAC,uBAAuB,CAC3B,EAAgC,EAChC,IAKC,EAcD;QACA,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAEnE,iCAAiC;QACjC,MAAM,aAAa,GAAG,MAAM,GAAG,CAAyB;;;wBAGpC,IAAI,CAAC,KAAK;2BACP,IAAI,CAAC,MAAM;;;;;;;cAOxB,YAAY;KACrB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEd,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAE1C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEvC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAC3B,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,GAAG,EAAE,CAAC,EACpC,GAAG,CAAA,IAAI,CACR,CAAC;QAEF,gDAAgD;QAChD,MAAM,UAAU,GAAG,MAAM,GAAG,CAW1B;;;;;;;;;;;;;;gCAc0B,YAAY;0BAClB,IAAI,CAAC,KAAK;;KAE/B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEd,iCAAiC;QACjC,OAAO,UAAU,CAAC,IAAI;aACnB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAAA,CAC/C,CAAC;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACb,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAC7C,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC;YAC3C,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;YAC3C,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;YACtC,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;YAC1C,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;SAChC,CAAC,CAAC,CAAC;IAAA,CACP;IAED;;;OAGG;IACH,KAAK,CAAC,CAAC,yBAAyB,CAC9B,EAAgC,EAChC,IAKC,EAYA;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAEnE,iCAAiC;QACjC,MAAM,aAAa,GAAG,MAAM,GAAG,CAAyB;;;wBAGpC,IAAI,CAAC,KAAK;2BACP,IAAI,CAAC,MAAM;;;;;;;cAOxB,YAAY;KACrB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEd,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAE1C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEpC,oDAAoD;QACpD,MAAM,SAAS,GAAG,GAAG,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAC3B,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,GAAG,EAAE,CAAC,EAC/B,GAAG,CAAA,IAAI,CACR,CAAC;YAEF,MAAM,UAAU,GAAG,MAAM,GAAG,CAW1B;;;;;;;;;;;;;;kCAc0B,YAAY;4BAClB,IAAI,CAAC,KAAK;;OAE/B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEd,4BAA4B;YAC5B,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3C,MAAM;wBACJ,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;wBAC7C,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC;wBAC3C,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;wBAC3C,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,EAAE,EAAE,GAAG,CAAC,EAAY;wBACpB,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;wBACtC,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;wBAC1C,MAAM,EAAE,YAAY;qBACrB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IAAA,CACF;IAED,KAAK,CAAC,cAAc,CAClB,EAAgC,EAChC,IAAkC,EACjB;QACjB,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CACpD,CAAC,WAAW,EAAE,CAAC;QAEhB,uBAAuB;QACvB,MAAM,UAAU,GAAG,MAAM,GAAG,CAM1B;;;;8BAIwB,SAAS;KAClC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEd,mCAAmC;QACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAGnB,CAAC;QAEJ,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACtB,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC;gBACpB,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC3C,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QAED,sEAAsE;QACtE,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;gBAAE,SAAS;YAElC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrB,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;oBAAE,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;gBACtE,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;YAAA,CAClC,CAAC,CAAC;YAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEpC,oBAAoB;QACpB,MAAM,SAAS,GAAG,GAAG,CAAC;QACtB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CACtB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA,GAAG,EAAE,EAAE,CAAC,EAC7B,GAAG,CAAA,IAAI,CACR,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;;8BAEG,OAAO;OAC9B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEd,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,yEAAyE;QACzE,MAAM,GAAG,CAAA;;;;;6BAKgB,SAAS;;;;;;;;KAQjC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEd,OAAO,OAAO,CAAC;IAAA,CAChB;IAED,8EAA8E;IAC9E,0BAA0B;IAC1B,8EAA8E;IAE9E,KAAK,CAAC,kBAAkB,CACtB,EAAgC,EAChC,IAKC,EACc;QACf,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAExD,MAAM,GAAG,CAAA;;gBAEG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,KAAK,UAAU,KAAK,GAAG;;qBAEhE,IAAI,CAAC,OAAO;mBACd,IAAI,CAAC,MAAM;6BACD,UAAU;uBAChB,GAAG;KACrB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAAA,CACf;IAED,8EAA8E;IAC9E,2BAA2B;IAC3B,8EAA8E;IAE9E,UAAU,CAAC,MAAoB,EAAU;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAAA,CAC/B;IAED,UAAU,CAAC,KAAc,EAAgB;QACvC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAAA,CAC3B;IAED,SAAS,CAAC,KAAc,EAAY;QAClC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAAA,CAC7B;IAED,SAAS,CAAC,MAAgB,EAAU;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAAA,CAC3D;IAED,KAAK,CAAC,6BAA6B,CACjC,EAAgC,EAChC,SAAiB,EACE;QACnB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAmB;;;2BAGjB,SAAS;KAC/B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEd,OAAO,GAAG,CAAC,IAAI;aACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aACnB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAAA,CACtE;IAED,8EAA8E;IAC9E,kCAAkC;IAClC,8EAA8E;IAE9E,KAAK,CAAC,mBAAmB,CACvB,EAAc,EACC;QACf,MAAM,MAAM,GAAG,GAAG,CAAA,wCAAwC,CAAC;QAE3D,MAAM,EAAE,CAAC,MAAM;aACZ,WAAW,CAAC,qBAAqB,CAAC;aAClC,WAAW,EAAE;aACb,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACxC,GAAG,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,CACjC;aACA,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACvD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACrD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACtD,SAAS,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aAC3D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACpD,SAAS,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aAC3D,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC;aAClC,SAAS,CAAC,iBAAiB,EAAE,SAAS,CAAC;aACvC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC;aACjC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACnE,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;aAClC,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACzE,OAAO,EAAE,CAAC;QAEb,MAAM,GAAG,CAAA;8CACiC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,GAAG,CAAA;yCAC4B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,GAAG,CAAA;wCAC2B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEjD,iBAAiB;QACjB,MAAM,EAAE,CAAC,MAAM;aACZ,WAAW,CAAC,eAAe,CAAC;aAC5B,WAAW,EAAE;aACb,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;aACtD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACrD,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACvD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACjD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;aACrD,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC7D,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;aAC7B,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACzE,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;aAC/B,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;aACjC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;aAC/B,OAAO,EAAE,CAAC;QAEb,MAAM,GAAG,CAAA;iCACoB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,GAAG,CAAA;iCACoB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAAA,CAC3C;CACF;AAED,MAAM,UAAU,yBAAyB,CAAC,OAEzC,EAA2B;IAC1B,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAAA,CAC7C"}
package/package.json CHANGED
@@ -1,25 +1,6 @@
1
1
  {
2
2
  "name": "@syncular/server-dialect-sqlite",
3
- "version": "0.0.1-60",
4
- "description": "SQLite dialect for the Syncular server",
5
- "license": "MIT",
6
- "author": "Benjamin Kniffler",
7
- "homepage": "https://syncular.dev",
8
- "repository": {
9
- "type": "git",
10
- "url": "https://github.com/syncular/syncular.git",
11
- "directory": "packages/server-dialect-sqlite"
12
- },
13
- "bugs": {
14
- "url": "https://github.com/syncular/syncular/issues"
15
- },
16
- "keywords": [
17
- "sync",
18
- "offline-first",
19
- "realtime",
20
- "database",
21
- "typescript"
22
- ],
3
+ "version": "0.0.1",
23
4
  "private": false,
24
5
  "publishConfig": {
25
6
  "access": "public"
@@ -36,18 +17,17 @@
36
17
  },
37
18
  "scripts": {
38
19
  "tsgo": "tsgo --noEmit",
39
- "build": "rm -rf dist && tsgo",
40
- "release": "bun pm pack --destination . && npm publish ./*.tgz --tag latest && rm -f ./*.tgz"
20
+ "build": "rm -rf dist && tsgo"
41
21
  },
42
22
  "dependencies": {
43
- "@syncular/core": "0.0.1",
44
- "@syncular/server": "0.0.1"
23
+ "@syncular/core": "workspace:*",
24
+ "@syncular/server": "workspace:*"
45
25
  },
46
26
  "peerDependencies": {
47
27
  "kysely": "^0.28.0"
48
28
  },
49
29
  "devDependencies": {
50
- "@syncular/config": "0.0.0",
30
+ "@syncular/config": "workspace:*",
51
31
  "kysely": "*"
52
32
  },
53
33
  "files": [
package/src/index.ts CHANGED
@@ -126,19 +126,6 @@ function scopesMatch(stored: StoredScopes, requested: ScopeValues): boolean {
126
126
  return true;
127
127
  }
128
128
 
129
- async function ensurePartitionColumn<DB extends SyncCoreDb>(
130
- db: Kysely<DB>,
131
- table: string
132
- ): Promise<void> {
133
- try {
134
- await sql.raw(
135
- `ALTER TABLE ${table} ADD COLUMN partition_id TEXT NOT NULL DEFAULT 'default'`
136
- ).execute(db);
137
- } catch {
138
- // Ignore when column already exists (or table is immutable in the current backend).
139
- }
140
- }
141
-
142
129
  export class SqliteServerSyncDialect implements ServerSyncDialect {
143
130
  readonly name = 'sqlite' as const;
144
131
  readonly supportsForUpdate = false;
@@ -166,9 +153,6 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
166
153
  .addColumn('commit_seq', 'integer', (col) =>
167
154
  col.primaryKey().autoIncrement()
168
155
  )
169
- .addColumn('partition_id', 'text', (col) =>
170
- col.notNull().defaultTo('default')
171
- )
172
156
  .addColumn('actor_id', 'text', (col) => col.notNull())
173
157
  .addColumn('client_id', 'text', (col) => col.notNull())
174
158
  .addColumn('client_commit_id', 'text', (col) => col.notNull())
@@ -180,33 +164,23 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
180
164
  col.notNull().defaultTo('[]')
181
165
  )
182
166
  .execute();
183
- await ensurePartitionColumn(db, 'sync_commits');
184
167
 
185
- await sql`DROP INDEX IF EXISTS idx_sync_commits_client_commit`.execute(db);
186
168
  await sql`CREATE UNIQUE INDEX IF NOT EXISTS idx_sync_commits_client_commit
187
- ON sync_commits(partition_id, client_id, client_commit_id)`.execute(db);
169
+ ON sync_commits(client_id, client_commit_id)`.execute(db);
188
170
 
189
171
  // sync_table_commits table (index of which commits affect which tables)
190
172
  await db.schema
191
173
  .createTable('sync_table_commits')
192
174
  .ifNotExists()
193
- .addColumn('partition_id', 'text', (col) =>
194
- col.notNull().defaultTo('default')
195
- )
196
175
  .addColumn('table', 'text', (col) => col.notNull())
197
176
  .addColumn('commit_seq', 'integer', (col) =>
198
177
  col.notNull().references('sync_commits.commit_seq').onDelete('cascade')
199
178
  )
200
- .addPrimaryKeyConstraint('sync_table_commits_pk', [
201
- 'partition_id',
202
- 'table',
203
- 'commit_seq',
204
- ])
179
+ .addPrimaryKeyConstraint('sync_table_commits_pk', ['table', 'commit_seq'])
205
180
  .execute();
206
- await ensurePartitionColumn(db, 'sync_table_commits');
207
181
 
208
182
  await sql`CREATE INDEX IF NOT EXISTS idx_sync_table_commits_commit_seq
209
- ON sync_table_commits(partition_id, commit_seq)`.execute(db);
183
+ ON sync_table_commits(commit_seq)`.execute(db);
210
184
 
211
185
  // sync_changes table - uses JSON for scopes
212
186
  await db.schema
@@ -215,9 +189,6 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
215
189
  .addColumn('change_id', 'integer', (col) =>
216
190
  col.primaryKey().autoIncrement()
217
191
  )
218
- .addColumn('partition_id', 'text', (col) =>
219
- col.notNull().defaultTo('default')
220
- )
221
192
  .addColumn('commit_seq', 'integer', (col) =>
222
193
  col.notNull().references('sync_commits.commit_seq').onDelete('cascade')
223
194
  )
@@ -228,34 +199,25 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
228
199
  .addColumn('row_version', 'integer')
229
200
  .addColumn('scopes', 'json', (col) => col.notNull())
230
201
  .execute();
231
- await ensurePartitionColumn(db, 'sync_changes');
232
202
 
233
203
  await sql`CREATE INDEX IF NOT EXISTS idx_sync_changes_commit_seq
234
- ON sync_changes(partition_id, commit_seq)`.execute(db);
204
+ ON sync_changes(commit_seq)`.execute(db);
235
205
 
236
206
  await sql`CREATE INDEX IF NOT EXISTS idx_sync_changes_table
237
- ON sync_changes(partition_id, "table")`.execute(db);
207
+ ON sync_changes("table")`.execute(db);
238
208
 
239
209
  // sync_client_cursors table
240
210
  await db.schema
241
211
  .createTable('sync_client_cursors')
242
212
  .ifNotExists()
243
- .addColumn('partition_id', 'text', (col) =>
244
- col.notNull().defaultTo('default')
245
- )
246
- .addColumn('client_id', 'text', (col) => col.notNull())
213
+ .addColumn('client_id', 'text', (col) => col.primaryKey())
247
214
  .addColumn('actor_id', 'text', (col) => col.notNull())
248
215
  .addColumn('cursor', 'integer', (col) => col.notNull().defaultTo(0))
249
216
  .addColumn('effective_scopes', 'json', (col) =>
250
217
  col.notNull().defaultTo('{}')
251
218
  )
252
219
  .addColumn('updated_at', 'text', (col) => col.notNull().defaultTo(nowIso))
253
- .addPrimaryKeyConstraint('sync_client_cursors_pk', [
254
- 'partition_id',
255
- 'client_id',
256
- ])
257
220
  .execute();
258
- await ensurePartitionColumn(db, 'sync_client_cursors');
259
221
 
260
222
  await sql`CREATE INDEX IF NOT EXISTS idx_sync_client_cursors_updated_at
261
223
  ON sync_client_cursors(updated_at)`.execute(db);
@@ -265,9 +227,6 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
265
227
  .createTable('sync_snapshot_chunks')
266
228
  .ifNotExists()
267
229
  .addColumn('chunk_id', 'text', (col) => col.primaryKey())
268
- .addColumn('partition_id', 'text', (col) =>
269
- col.notNull().defaultTo('default')
270
- )
271
230
  .addColumn('scope_key', 'text', (col) => col.notNull())
272
231
  .addColumn('scope', 'text', (col) => col.notNull())
273
232
  .addColumn('as_of_commit_seq', 'integer', (col) => col.notNull())
@@ -282,13 +241,12 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
282
241
  .addColumn('created_at', 'text', (col) => col.notNull().defaultTo(nowIso))
283
242
  .addColumn('expires_at', 'text', (col) => col.notNull())
284
243
  .execute();
285
- await ensurePartitionColumn(db, 'sync_snapshot_chunks');
286
244
 
287
245
  await sql`CREATE INDEX IF NOT EXISTS idx_sync_snapshot_chunks_expires_at
288
246
  ON sync_snapshot_chunks(expires_at)`.execute(db);
289
247
 
290
248
  await sql`CREATE UNIQUE INDEX IF NOT EXISTS idx_sync_snapshot_chunks_page_key
291
- ON sync_snapshot_chunks(partition_id, scope_key, scope, as_of_commit_seq, row_cursor, row_limit, encoding, compression)`.execute(
249
+ ON sync_snapshot_chunks(scope_key, scope, as_of_commit_seq, row_cursor, row_limit, encoding, compression)`.execute(
292
250
  db
293
251
  );
294
252
 
@@ -328,28 +286,22 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
328
286
  // ===========================================================================
329
287
 
330
288
  async readMaxCommitSeq<DB extends SyncCoreDb>(
331
- db: Kysely<DB> | Transaction<DB>,
332
- options?: { partitionId?: string }
289
+ db: Kysely<DB> | Transaction<DB>
333
290
  ): Promise<number> {
334
- const partitionId = options?.partitionId ?? 'default';
335
291
  const res = await sql<{ max_seq: unknown }>`
336
292
  SELECT max(commit_seq) as max_seq
337
293
  FROM sync_commits
338
- WHERE partition_id = ${partitionId}
339
294
  `.execute(db);
340
295
 
341
296
  return coerceNumber(res.rows[0]?.max_seq) ?? 0;
342
297
  }
343
298
 
344
299
  async readMinCommitSeq<DB extends SyncCoreDb>(
345
- db: Kysely<DB> | Transaction<DB>,
346
- options?: { partitionId?: string }
300
+ db: Kysely<DB> | Transaction<DB>
347
301
  ): Promise<number> {
348
- const partitionId = options?.partitionId ?? 'default';
349
302
  const res = await sql<{ min_seq: unknown }>`
350
303
  SELECT min(commit_seq) as min_seq
351
304
  FROM sync_commits
352
- WHERE partition_id = ${partitionId}
353
305
  `.execute(db);
354
306
 
355
307
  return coerceNumber(res.rows[0]?.min_seq) ?? 0;
@@ -357,14 +309,8 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
357
309
 
358
310
  async readCommitSeqsForPull<DB extends SyncCoreDb>(
359
311
  db: Kysely<DB> | Transaction<DB>,
360
- args: {
361
- cursor: number;
362
- limitCommits: number;
363
- tables: string[];
364
- partitionId?: string;
365
- }
312
+ args: { cursor: number; limitCommits: number; tables: string[] }
366
313
  ): Promise<number[]> {
367
- const partitionId = args.partitionId ?? 'default';
368
314
  if (args.tables.length === 0) return [];
369
315
 
370
316
  const tablesIn = sql.join(
@@ -375,8 +321,7 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
375
321
  const res = await sql<{ commit_seq: unknown }>`
376
322
  SELECT DISTINCT commit_seq
377
323
  FROM sync_table_commits
378
- WHERE partition_id = ${partitionId}
379
- AND "table" IN (${tablesIn})
324
+ WHERE "table" IN (${tablesIn})
380
325
  AND commit_seq > ${args.cursor}
381
326
  ORDER BY commit_seq ASC
382
327
  LIMIT ${args.limitCommits}
@@ -392,10 +337,8 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
392
337
 
393
338
  async readCommits<DB extends SyncCoreDb>(
394
339
  db: Kysely<DB> | Transaction<DB>,
395
- commitSeqs: number[],
396
- options?: { partitionId?: string }
340
+ commitSeqs: number[]
397
341
  ): Promise<SyncCommitRow[]> {
398
- const partitionId = options?.partitionId ?? 'default';
399
342
  if (commitSeqs.length === 0) return [];
400
343
 
401
344
  const commitSeqsIn = sql.join(
@@ -412,7 +355,6 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
412
355
  SELECT commit_seq, actor_id, created_at, result_json
413
356
  FROM sync_commits
414
357
  WHERE commit_seq IN (${commitSeqsIn})
415
- AND partition_id = ${partitionId}
416
358
  ORDER BY commit_seq ASC
417
359
  `.execute(db);
418
360
 
@@ -426,14 +368,8 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
426
368
 
427
369
  async readChangesForCommits<DB extends SyncCoreDb>(
428
370
  db: Kysely<DB> | Transaction<DB>,
429
- args: {
430
- commitSeqs: number[];
431
- table: string;
432
- scopes: ScopeValues;
433
- partitionId?: string;
434
- }
371
+ args: { commitSeqs: number[]; table: string; scopes: ScopeValues }
435
372
  ): Promise<SyncChangeRow[]> {
436
- const partitionId = args.partitionId ?? 'default';
437
373
  if (args.commitSeqs.length === 0) return [];
438
374
 
439
375
  const commitSeqsIn = sql.join(
@@ -454,7 +390,6 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
454
390
  SELECT commit_seq, "table", row_id, op, row_json, row_version, scopes
455
391
  FROM sync_changes
456
392
  WHERE commit_seq IN (${commitSeqsIn})
457
- AND partition_id = ${partitionId}
458
393
  AND "table" = ${args.table}
459
394
  ORDER BY commit_seq ASC, change_id ASC
460
395
  `.execute(db);
@@ -483,7 +418,6 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
483
418
  scopes: ScopeValues;
484
419
  cursor: number;
485
420
  limitCommits: number;
486
- partitionId?: string;
487
421
  }
488
422
  ): Promise<
489
423
  Array<{
@@ -499,21 +433,18 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
499
433
  scopes: StoredScopes;
500
434
  }>
501
435
  > {
502
- const partitionId = args.partitionId ?? 'default';
503
436
  const limitCommits = Math.max(1, Math.min(500, args.limitCommits));
504
437
 
505
438
  // Get commit_seqs for this table
506
439
  const commitSeqsRes = await sql<{ commit_seq: unknown }>`
507
440
  SELECT commit_seq
508
441
  FROM sync_table_commits
509
- WHERE partition_id = ${partitionId}
510
- AND "table" = ${args.table}
442
+ WHERE "table" = ${args.table}
511
443
  AND commit_seq > ${args.cursor}
512
444
  AND EXISTS (
513
445
  SELECT 1
514
446
  FROM sync_commits cm
515
447
  WHERE cm.commit_seq = sync_table_commits.commit_seq
516
- AND cm.partition_id = ${partitionId}
517
448
  )
518
449
  ORDER BY commit_seq ASC
519
450
  LIMIT ${limitCommits}
@@ -557,8 +488,6 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
557
488
  FROM sync_commits cm
558
489
  JOIN sync_changes c ON c.commit_seq = cm.commit_seq
559
490
  WHERE cm.commit_seq IN (${commitSeqsIn})
560
- AND cm.partition_id = ${partitionId}
561
- AND c.partition_id = ${partitionId}
562
491
  AND c."table" = ${args.table}
563
492
  ORDER BY cm.commit_seq ASC, c.change_id ASC
564
493
  `.execute(db);
@@ -594,7 +523,6 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
594
523
  scopes: ScopeValues;
595
524
  cursor: number;
596
525
  limitCommits: number;
597
- partitionId?: string;
598
526
  }
599
527
  ): AsyncGenerator<{
600
528
  commit_seq: number;
@@ -608,21 +536,18 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
608
536
  row_version: number | null;
609
537
  scopes: StoredScopes;
610
538
  }> {
611
- const partitionId = args.partitionId ?? 'default';
612
539
  const limitCommits = Math.max(1, Math.min(500, args.limitCommits));
613
540
 
614
541
  // Get commit_seqs for this table
615
542
  const commitSeqsRes = await sql<{ commit_seq: unknown }>`
616
543
  SELECT commit_seq
617
544
  FROM sync_table_commits
618
- WHERE partition_id = ${partitionId}
619
- AND "table" = ${args.table}
545
+ WHERE "table" = ${args.table}
620
546
  AND commit_seq > ${args.cursor}
621
547
  AND EXISTS (
622
548
  SELECT 1
623
549
  FROM sync_commits cm
624
550
  WHERE cm.commit_seq = sync_table_commits.commit_seq
625
- AND cm.partition_id = ${partitionId}
626
551
  )
627
552
  ORDER BY commit_seq ASC
628
553
  LIMIT ${limitCommits}
@@ -669,8 +594,6 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
669
594
  FROM sync_commits cm
670
595
  JOIN sync_changes c ON c.commit_seq = cm.commit_seq
671
596
  WHERE cm.commit_seq IN (${commitSeqsIn})
672
- AND cm.partition_id = ${partitionId}
673
- AND c.partition_id = ${partitionId}
674
597
  AND c."table" = ${args.table}
675
598
  ORDER BY cm.commit_seq ASC, c.change_id ASC
676
599
  `.execute(db);
@@ -707,19 +630,18 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
707
630
  // Find all old changes
708
631
  const oldChanges = await sql<{
709
632
  change_id: unknown;
710
- partition_id: string;
711
633
  commit_seq: unknown;
712
634
  table: string;
713
635
  row_id: string;
714
636
  scopes: unknown;
715
637
  }>`
716
- SELECT c.change_id, c.partition_id, c.commit_seq, c."table", c.row_id, c.scopes
638
+ SELECT c.change_id, c.commit_seq, c."table", c.row_id, c.scopes
717
639
  FROM sync_changes c
718
640
  JOIN sync_commits cm ON cm.commit_seq = c.commit_seq
719
641
  WHERE cm.created_at < ${cutoffIso}
720
642
  `.execute(db);
721
643
 
722
- // Group by (partition_id, table, row_id, scopes)
644
+ // Group by (table, row_id, scopes)
723
645
  const groups = new Map<
724
646
  string,
725
647
  Array<{ change_id: number; commit_seq: number }>
@@ -727,7 +649,7 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
727
649
 
728
650
  for (const row of oldChanges.rows) {
729
651
  const scopesStr = JSON.stringify(parseScopes(row.scopes));
730
- const key = `${row.partition_id}|${row.table}|${row.row_id}|${scopesStr}`;
652
+ const key = `${row.table}|${row.row_id}|${scopesStr}`;
731
653
  if (!groups.has(key)) {
732
654
  groups.set(key, []);
733
655
  }
@@ -780,13 +702,11 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
780
702
  SELECT commit_seq
781
703
  FROM sync_commits
782
704
  WHERE created_at < ${cutoffIso}
783
- AND partition_id = sync_table_commits.partition_id
784
705
  )
785
706
  AND NOT EXISTS (
786
707
  SELECT 1
787
708
  FROM sync_changes c
788
709
  WHERE c.commit_seq = sync_table_commits.commit_seq
789
- AND c.partition_id = sync_table_commits.partition_id
790
710
  AND c."table" = sync_table_commits."table"
791
711
  )
792
712
  `.execute(db);
@@ -801,21 +721,19 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
801
721
  async recordClientCursor<DB extends SyncCoreDb>(
802
722
  db: Kysely<DB> | Transaction<DB>,
803
723
  args: {
804
- partitionId?: string;
805
724
  clientId: string;
806
725
  actorId: string;
807
726
  cursor: number;
808
727
  effectiveScopes: ScopeValues;
809
728
  }
810
729
  ): Promise<void> {
811
- const partitionId = args.partitionId ?? 'default';
812
730
  const now = new Date().toISOString();
813
731
  const scopesJson = JSON.stringify(args.effectiveScopes);
814
732
 
815
733
  await sql`
816
- INSERT INTO sync_client_cursors (partition_id, client_id, actor_id, cursor, effective_scopes, updated_at)
817
- VALUES (${partitionId}, ${args.clientId}, ${args.actorId}, ${args.cursor}, ${scopesJson}, ${now})
818
- ON CONFLICT(partition_id, client_id) DO UPDATE SET
734
+ INSERT INTO sync_client_cursors (client_id, actor_id, cursor, effective_scopes, updated_at)
735
+ VALUES (${args.clientId}, ${args.actorId}, ${args.cursor}, ${scopesJson}, ${now})
736
+ ON CONFLICT(client_id) DO UPDATE SET
819
737
  actor_id = ${args.actorId},
820
738
  cursor = ${args.cursor},
821
739
  effective_scopes = ${scopesJson},
@@ -845,15 +763,12 @@ export class SqliteServerSyncDialect implements ServerSyncDialect {
845
763
 
846
764
  async readAffectedTablesFromChanges<DB extends SyncCoreDb>(
847
765
  db: Kysely<DB> | Transaction<DB>,
848
- commitSeq: number,
849
- options?: { partitionId?: string }
766
+ commitSeq: number
850
767
  ): Promise<string[]> {
851
- const partitionId = options?.partitionId ?? 'default';
852
768
  const res = await sql<{ table: string }>`
853
769
  SELECT DISTINCT "table"
854
770
  FROM sync_changes
855
771
  WHERE commit_seq = ${commitSeq}
856
- AND partition_id = ${partitionId}
857
772
  `.execute(db);
858
773
 
859
774
  return res.rows