@quereus/sync 0.6.3 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/README.md +187 -155
  2. package/dist/src/index.d.ts +3 -5
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +3 -5
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/metadata/keys.d.ts +8 -0
  7. package/dist/src/metadata/keys.d.ts.map +1 -1
  8. package/dist/src/metadata/keys.js +11 -0
  9. package/dist/src/metadata/keys.js.map +1 -1
  10. package/dist/src/sync/change-applicator.d.ts +44 -0
  11. package/dist/src/sync/change-applicator.d.ts.map +1 -0
  12. package/dist/src/sync/change-applicator.js +243 -0
  13. package/dist/src/sync/change-applicator.js.map +1 -0
  14. package/dist/src/sync/snapshot-stream.d.ts +26 -0
  15. package/dist/src/sync/snapshot-stream.d.ts.map +1 -0
  16. package/dist/src/sync/snapshot-stream.js +375 -0
  17. package/dist/src/sync/snapshot-stream.js.map +1 -0
  18. package/dist/src/sync/snapshot.d.ts +17 -0
  19. package/dist/src/sync/snapshot.d.ts.map +1 -0
  20. package/dist/src/sync/snapshot.js +166 -0
  21. package/dist/src/sync/snapshot.js.map +1 -0
  22. package/dist/src/sync/store-adapter.d.ts.map +1 -1
  23. package/dist/src/sync/store-adapter.js +3 -2
  24. package/dist/src/sync/store-adapter.js.map +1 -1
  25. package/dist/src/sync/sync-context.d.ts +47 -0
  26. package/dist/src/sync/sync-context.d.ts.map +1 -0
  27. package/dist/src/sync/sync-context.js +36 -0
  28. package/dist/src/sync/sync-context.js.map +1 -0
  29. package/dist/src/sync/sync-manager-impl.d.ts +21 -48
  30. package/dist/src/sync/sync-manager-impl.d.ts.map +1 -1
  31. package/dist/src/sync/sync-manager-impl.js +140 -988
  32. package/dist/src/sync/sync-manager-impl.js.map +1 -1
  33. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-stream.js","sourceRoot":"","sources":["../../../src/sync/snapshot-stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Non-streaming snapshot operations.
3
+ *
4
+ * Full in-memory snapshot get/apply for small databases
5
+ * or when streaming is not needed.
6
+ */
7
+ import type { Snapshot } from './protocol.js';
8
+ import type { SyncContext } from './sync-context.js';
9
+ /**
10
+ * Get a full snapshot of all data and schema state.
11
+ */
12
+ export declare function getSnapshot(ctx: SyncContext): Promise<Snapshot>;
13
+ /**
14
+ * Apply a full snapshot, replacing all local data.
15
+ */
16
+ export declare function applySnapshot(ctx: SyncContext, snapshot: Snapshot): Promise<void>;
17
+ //# sourceMappingURL=snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/sync/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,KAAK,EACX,QAAQ,EAKR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4ErE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAClC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC,CAkHf"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * Non-streaming snapshot operations.
3
+ *
4
+ * Full in-memory snapshot get/apply for small databases
5
+ * or when streaming is not needed.
6
+ */
7
+ import { deserializeColumnVersion } from '../metadata/column-version.js';
8
+ import { deserializeMigration } from '../metadata/schema-migration.js';
9
+ import { buildAllColumnVersionsScanBounds, buildAllTombstonesScanBounds, buildAllSchemaMigrationsScanBounds, buildAllChangeLogScanBounds, parseColumnVersionKey, parseSchemaMigrationKey, encodePK, } from '../metadata/keys.js';
10
+ import { persistHLCState } from './sync-context.js';
11
+ /**
12
+ * Get a full snapshot of all data and schema state.
13
+ */
14
+ export async function getSnapshot(ctx) {
15
+ const tableData = new Map();
16
+ const cvBounds = buildAllColumnVersionsScanBounds();
17
+ for await (const entry of ctx.kv.iterate(cvBounds)) {
18
+ const parsed = parseColumnVersionKey(entry.key);
19
+ if (!parsed)
20
+ continue;
21
+ const cv = deserializeColumnVersion(entry.value);
22
+ const tableKey = `${parsed.schema}.${parsed.table}`;
23
+ const rowKey = encodePK(parsed.pk);
24
+ if (!tableData.has(tableKey)) {
25
+ tableData.set(tableKey, new Map());
26
+ }
27
+ const tableRows = tableData.get(tableKey);
28
+ if (!tableRows.has(rowKey)) {
29
+ tableRows.set(rowKey, new Map());
30
+ }
31
+ const rowVersions = tableRows.get(rowKey);
32
+ rowVersions.set(parsed.column, cv);
33
+ }
34
+ // Build table snapshots
35
+ const tables = [];
36
+ for (const [tableKey, rows] of tableData) {
37
+ const [schema, table] = tableKey.split('.');
38
+ const columnVersions = new Map();
39
+ const rowsArray = [];
40
+ for (const [rowKey, rowVersionsMap] of rows) {
41
+ const row = Array.from(rowVersionsMap.values()).map(cv => cv.value);
42
+ rowsArray.push(row);
43
+ for (const [column, cv] of rowVersionsMap) {
44
+ const versionKey = `${rowKey}:${column}`;
45
+ columnVersions.set(versionKey, { hlc: cv.hlc, value: cv.value });
46
+ }
47
+ }
48
+ tables.push({
49
+ schema,
50
+ table,
51
+ rows: rowsArray,
52
+ columnVersions,
53
+ });
54
+ }
55
+ // Collect all schema migrations
56
+ const schemaMigrations = [];
57
+ const smBounds = buildAllSchemaMigrationsScanBounds();
58
+ for await (const entry of ctx.kv.iterate(smBounds)) {
59
+ const parsed = parseSchemaMigrationKey(entry.key);
60
+ if (!parsed)
61
+ continue;
62
+ const migration = deserializeMigration(entry.value);
63
+ schemaMigrations.push({
64
+ type: migration.type,
65
+ schema: parsed.schema,
66
+ table: parsed.table,
67
+ ddl: migration.ddl,
68
+ hlc: migration.hlc,
69
+ schemaVersion: migration.schemaVersion,
70
+ });
71
+ }
72
+ return {
73
+ siteId: ctx.getSiteId(),
74
+ hlc: ctx.getCurrentHLC(),
75
+ tables,
76
+ schemaMigrations,
77
+ };
78
+ }
79
+ /**
80
+ * Apply a full snapshot, replacing all local data.
81
+ */
82
+ export async function applySnapshot(ctx, snapshot) {
83
+ // PHASE 1: Build data changes from snapshot
84
+ const dataChangesToApply = [];
85
+ const schemaChangesToApply = [];
86
+ for (const migration of snapshot.schemaMigrations) {
87
+ schemaChangesToApply.push({
88
+ type: migration.type,
89
+ schema: migration.schema,
90
+ table: migration.table,
91
+ ddl: migration.ddl,
92
+ });
93
+ }
94
+ for (const tableSnapshot of snapshot.tables) {
95
+ const rowsByPk = new Map();
96
+ for (const [versionKey, cvEntry] of tableSnapshot.columnVersions) {
97
+ const lastColon = versionKey.lastIndexOf(':');
98
+ if (lastColon === -1)
99
+ continue;
100
+ const rowKey = versionKey.slice(0, lastColon);
101
+ const column = versionKey.slice(lastColon + 1);
102
+ if (!rowsByPk.has(rowKey)) {
103
+ rowsByPk.set(rowKey, {});
104
+ }
105
+ rowsByPk.get(rowKey)[column] = cvEntry.value;
106
+ }
107
+ for (const [rowKey, columns] of rowsByPk) {
108
+ const pk = JSON.parse(rowKey);
109
+ dataChangesToApply.push({
110
+ type: 'update',
111
+ schema: tableSnapshot.schema,
112
+ table: tableSnapshot.table,
113
+ pk,
114
+ columns,
115
+ });
116
+ }
117
+ }
118
+ // PHASE 2: Apply data to store
119
+ if (ctx.applyToStore && (dataChangesToApply.length > 0 || schemaChangesToApply.length > 0)) {
120
+ await ctx.applyToStore(dataChangesToApply, schemaChangesToApply, { remote: true });
121
+ }
122
+ // PHASE 3: Clear existing CRDT metadata and apply new
123
+ const clearBatch = ctx.kv.batch();
124
+ for await (const entry of ctx.kv.iterate(buildAllColumnVersionsScanBounds())) {
125
+ clearBatch.delete(entry.key);
126
+ }
127
+ for await (const entry of ctx.kv.iterate(buildAllTombstonesScanBounds())) {
128
+ clearBatch.delete(entry.key);
129
+ }
130
+ for await (const entry of ctx.kv.iterate(buildAllChangeLogScanBounds())) {
131
+ clearBatch.delete(entry.key);
132
+ }
133
+ await clearBatch.write();
134
+ // Apply snapshot's column versions and rebuild change log
135
+ const applyBatch = ctx.kv.batch();
136
+ for (const tableSnapshot of snapshot.tables) {
137
+ for (const [versionKey, cvEntry] of tableSnapshot.columnVersions) {
138
+ const lastColon = versionKey.lastIndexOf(':');
139
+ if (lastColon === -1)
140
+ continue;
141
+ const rowKey = versionKey.slice(0, lastColon);
142
+ const column = versionKey.slice(lastColon + 1);
143
+ const pk = JSON.parse(rowKey);
144
+ ctx.columnVersions.setColumnVersionBatch(applyBatch, tableSnapshot.schema, tableSnapshot.table, pk, column, { hlc: cvEntry.hlc, value: cvEntry.value });
145
+ ctx.changeLog.recordColumnChangeBatch(applyBatch, cvEntry.hlc, tableSnapshot.schema, tableSnapshot.table, pk, column);
146
+ }
147
+ }
148
+ // Record schema migrations
149
+ for (const migration of snapshot.schemaMigrations) {
150
+ const schemaVersion = migration.schemaVersion ??
151
+ (await ctx.schemaMigrations.getCurrentVersion(migration.schema, migration.table)) + 1;
152
+ await ctx.schemaMigrations.recordMigration(migration.schema, migration.table, {
153
+ type: migration.type,
154
+ ddl: migration.ddl,
155
+ hlc: migration.hlc,
156
+ schemaVersion,
157
+ });
158
+ }
159
+ await applyBatch.write();
160
+ // Update HLC
161
+ ctx.hlcManager.receive(snapshot.hlc);
162
+ await persistHLCState(ctx);
163
+ // Emit sync state change
164
+ ctx.syncEvents.emitSyncStateChange({ status: 'synced', lastSyncHLC: snapshot.hlc });
165
+ }
166
+ //# sourceMappingURL=snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/sync/snapshot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"store-adapter.d.ts","sourceRoot":"","sources":["../../../src/sync/store-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAiB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,KAAK,EACV,oBAAoB,EAKrB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,yDAAyD;IACzD,EAAE,EAAE,QAAQ,CAAC;IACb;;;;OAIG;IACH,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,gDAAgD;IAChD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,4CAA4C;IAC5C,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IACnF,uCAAuC;IACvC,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACjC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,oBAAoB,CAyDzF"}
1
+ {"version":3,"file":"store-adapter.d.ts","sourceRoot":"","sources":["../../../src/sync/store-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAiB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,KAAK,EACV,oBAAoB,EAKrB,MAAM,eAAe,CAAC;AAGvB;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,yDAAyD;IACzD,EAAE,EAAE,QAAQ,CAAC;IACb;;;;OAIG;IACH,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,gDAAgD;IAChD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,4CAA4C;IAC5C,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IACnF,uCAAuC;IACvC,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACjC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,oBAAoB,CAyDzF"}
@@ -6,6 +6,7 @@
6
6
  * to apply remote changes to the actual data store.
7
7
  */
8
8
  import { buildDataKey, serializeRow, deserializeRow } from '@quereus/store';
9
+ import { toError } from './sync-context.js';
9
10
  /**
10
11
  * Creates an ApplyToStoreCallback for applying remote sync changes.
11
12
  *
@@ -34,7 +35,7 @@ export function createStoreAdapter(options) {
34
35
  catch (error) {
35
36
  result.errors.push({
36
37
  change: schemaChange,
37
- error: error instanceof Error ? error : new Error(String(error)),
38
+ error: toError(error),
38
39
  });
39
40
  }
40
41
  }
@@ -58,7 +59,7 @@ export function createStoreAdapter(options) {
58
59
  for (const change of tableChanges) {
59
60
  result.errors.push({
60
61
  change,
61
- error: error instanceof Error ? error : new Error(String(error)),
62
+ error: toError(error),
62
63
  });
63
64
  }
64
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store-adapter.js","sourceRoot":"","sources":["../../../src/sync/store-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA6B5E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgC;IACjE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEjF,OAAO,KAAK,EACV,WAAgC,EAChC,aAAoC,EACpC,YAAiC,EACJ,EAAE;QAC/B,MAAM,MAAM,GAAuB;YACjC,kBAAkB,EAAE,CAAC;YACrB,oBAAoB,EAAE,CAAC;YACvB,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,8CAA8C;QAC9C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;gBAChE,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjB,MAAM,EAAE,YAAY;oBACpB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,iEAAiE;QACjE,MAAM,cAAc,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAExD,+BAA+B;QAC/B,KAAK,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,cAAc,EAAE,CAAC;YACtD,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC;gBACH,0CAA0C;gBAC1C,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAEnD,gCAAgC;gBAChC,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBAErD,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,YAAY,EAAE,CAAC;oBAChD,MAAM,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;oBAC/F,MAAM,CAAC,kBAAkB,IAAI,UAAU,CAAC,MAAM,CAAC;gBACjD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;oBAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;wBACjB,MAAM;wBACN,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;qBACjE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,OAA4B;IAE5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,OAA4B;IAE5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/E,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,EAAY,EACZ,MAAyB,EACzB,MAA2B,EAC3B,QAA6B;IAE7B,gCAAgC;IAChC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAClH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAErE,kEAAkE;IAClE,0EAA0E;IAC1E,uDAAuD;IACvD,kEAAkE;IAClE,MAAM,CAAC,uBAAuB,CAAC;QAC7B,IAAI,EAAE,SAAS;QACf,UAAU;QACV,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,UAAU,EAAE,MAAM,CAAC,KAAK;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,4BAA4B;QAC5B,sEAAsE;QACtE,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sCAAsC;QACtC,MAAM,CAAC,8BAA8B,CAAC;YACpC,IAAI,EAAE,SAAS;YACf,UAAU;YACV,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,UAAU,EAAE,MAAM,CAAC,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,CAAC,CAAC;IACV,CAAC;IACD,qDAAqD;IACrD,wDAAwD;AAC1D,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,EAAW,EACX,MAAyB,EACzB,cAAkF,EAClF,SAA8B,EAC9B,OAAe,EACf,OAA4B,EAC5B,QAA6B;IAE7B,sDAAsD;IACtD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;IAE1C,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,aAAa,GAAG,EAAE,SAAS,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAEhD,oCAAoC;IACpC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC5D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,0CAA0C;IAC1C,MAAM,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,CAAC;AAC5G,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CACxB,EAAW,EACX,MAAyB,EACzB,WAAwB,EACxB,OAAmB,EACnB,EAAc;IAEd,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzB,0CAA0C;IAC1C,MAAM,CAAC,cAAc,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,SAAS,EAAE,WAAW,CAAC,IAAI;QAC3B,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAC/B,EAAW,EACX,MAAyB,EACzB,WAAwB,EACxB,OAAmB,EACnB,EAAc,EACd,OAA4B,EAC5B,aAGC;IAED,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC;IAEvD,2BAA2B;IAC3B,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,GAAQ,CAAC;IACb,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,YAAY,EAAE,CAAC;QACjB,GAAG,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,4BAA4B;QAC5B,GAAG,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,gBAAgB;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjE,MAAM,KAAK,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAClD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,wCAAwC;IACxC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBACvE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;oBACtB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,6DAA6D;oBAC7D,OAAO,CAAC,IAAI,CACV,kBAAkB,OAAO,kBAAkB,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,IAAI;wBACzF,sBAAsB,CAAC,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1E,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CACV,sCAAsC,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI;YAC7G,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,oBAAoB;IACpB,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzC,0CAA0C;IAC1C,MAAM,CAAC,cAAc,CAAC;QACpB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QACpC,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,SAAS,EAAE,WAAW,CAAC,IAAI;QAC3B,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,GAAG;QACX,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;QACrD,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"store-adapter.js","sourceRoot":"","sources":["../../../src/sync/store-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Shared context for sync operations.
3
+ *
4
+ * Extracted modules (snapshot-stream, change-applicator, snapshot) receive
5
+ * this context instead of accessing SyncManagerImpl internals directly.
6
+ */
7
+ import type { KVStore } from '@quereus/store';
8
+ import type { HLCManager, HLC } from '../clock/hlc.js';
9
+ import type { SiteId } from '../clock/site.js';
10
+ import type { ColumnVersionStore } from '../metadata/column-version.js';
11
+ import type { TombstoneStore } from '../metadata/tombstones.js';
12
+ import type { ChangeLogStore } from '../metadata/change-log.js';
13
+ import type { SchemaMigrationStore } from '../metadata/schema-migration.js';
14
+ import type { SyncConfig, ApplyToStoreCallback } from './protocol.js';
15
+ import type { SyncEventEmitterImpl } from './events.js';
16
+ /**
17
+ * Context shared across sync sub-modules.
18
+ *
19
+ * SyncManagerImpl implements this interface; extracted functions
20
+ * accept it as their first parameter.
21
+ */
22
+ export interface SyncContext {
23
+ readonly kv: KVStore;
24
+ readonly config: SyncConfig;
25
+ readonly hlcManager: HLCManager;
26
+ readonly columnVersions: ColumnVersionStore;
27
+ readonly tombstones: TombstoneStore;
28
+ readonly changeLog: ChangeLogStore;
29
+ readonly schemaMigrations: SchemaMigrationStore;
30
+ readonly syncEvents: SyncEventEmitterImpl;
31
+ readonly applyToStore?: ApplyToStoreCallback;
32
+ getSiteId(): SiteId;
33
+ getCurrentHLC(): HLC;
34
+ }
35
+ /**
36
+ * Persist HLC state to the KV store (standalone put).
37
+ */
38
+ export declare function persistHLCState(ctx: SyncContext): Promise<void>;
39
+ /**
40
+ * Normalize an unknown caught value into an Error instance.
41
+ */
42
+ export declare function toError(error: unknown): Error;
43
+ /**
44
+ * Write HLC state into an existing WriteBatch.
45
+ */
46
+ export declare function persistHLCStateBatch(ctx: SyncContext, batch: import('@quereus/store').WriteBatch): void;
47
+ //# sourceMappingURL=sync-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-context.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAE7C,SAAS,IAAI,MAAM,CAAC;IACpB,aAAa,IAAI,GAAG,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAE7C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,gBAAgB,EAAE,UAAU,GACxC,IAAI,CAON"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Shared context for sync operations.
3
+ *
4
+ * Extracted modules (snapshot-stream, change-applicator, snapshot) receive
5
+ * this context instead of accessing SyncManagerImpl internals directly.
6
+ */
7
+ import { SYNC_KEY_PREFIX } from '../metadata/keys.js';
8
+ /**
9
+ * Persist HLC state to the KV store (standalone put).
10
+ */
11
+ export async function persistHLCState(ctx) {
12
+ const state = ctx.hlcManager.getState();
13
+ const buffer = new Uint8Array(10);
14
+ const view = new DataView(buffer.buffer);
15
+ view.setBigUint64(0, state.wallTime, false);
16
+ view.setUint16(8, state.counter, false);
17
+ await ctx.kv.put(SYNC_KEY_PREFIX.HLC_STATE, buffer);
18
+ }
19
+ /**
20
+ * Normalize an unknown caught value into an Error instance.
21
+ */
22
+ export function toError(error) {
23
+ return error instanceof Error ? error : new Error(String(error));
24
+ }
25
+ /**
26
+ * Write HLC state into an existing WriteBatch.
27
+ */
28
+ export function persistHLCStateBatch(ctx, batch) {
29
+ const state = ctx.hlcManager.getState();
30
+ const buffer = new Uint8Array(10);
31
+ const view = new DataView(buffer.buffer);
32
+ view.setBigUint64(0, state.wallTime, false);
33
+ view.setUint16(8, state.counter, false);
34
+ batch.put(SYNC_KEY_PREFIX.HLC_STATE, buffer);
35
+ }
36
+ //# sourceMappingURL=sync-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-context.js","sourceRoot":"","sources":["../../../src/sync/sync-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAuBtD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAgB;IACrD,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAc;IACrC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CACnC,GAAgB,EAChB,KAA0C;IAE1C,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC"}
@@ -2,33 +2,37 @@
2
2
  * SyncManager implementation.
3
3
  *
4
4
  * Coordinates CRDT metadata tracking and sync operations.
5
+ * Delegates to focused sub-modules for snapshot, streaming, and change application.
5
6
  */
6
7
  import type { KVStore, StoreEventEmitter } from '@quereus/store';
7
- import type { TableSchema } from '@quereus/quereus';
8
- /**
9
- * Callback to get table schema by name.
10
- * Used to map column indices to actual column names.
11
- */
12
- export type GetTableSchemaCallback = (schemaName: string, tableName: string) => TableSchema | undefined;
13
- import { type HLC } from '../clock/hlc.js';
8
+ import type { GetTableSchemaCallback } from '../create-sync-module.js';
9
+ import { HLCManager, type HLC } from '../clock/hlc.js';
14
10
  import { type SiteId } from '../clock/site.js';
11
+ import { ColumnVersionStore } from '../metadata/column-version.js';
12
+ import { TombstoneStore } from '../metadata/tombstones.js';
13
+ import { SchemaMigrationStore } from '../metadata/schema-migration.js';
14
+ import { ChangeLogStore } from '../metadata/change-log.js';
15
15
  import type { SyncManager, SnapshotCheckpoint } from './manager.js';
16
16
  import type { SyncConfig, ChangeSet, ApplyResult, Snapshot, SnapshotChunk, SnapshotProgress, ApplyToStoreCallback } from './protocol.js';
17
17
  import { SyncEventEmitterImpl } from './events.js';
18
+ import type { SyncContext } from './sync-context.js';
18
19
  /**
19
20
  * Implementation of SyncManager.
21
+ *
22
+ * Acts as a coordinator/facade that delegates snapshot, streaming,
23
+ * and change application to focused sub-modules.
20
24
  */
21
- export declare class SyncManagerImpl implements SyncManager {
22
- private readonly kv;
23
- private readonly config;
24
- private readonly hlcManager;
25
- private readonly columnVersions;
26
- private readonly tombstones;
25
+ export declare class SyncManagerImpl implements SyncManager, SyncContext {
26
+ readonly kv: KVStore;
27
+ readonly config: SyncConfig;
28
+ readonly hlcManager: HLCManager;
29
+ readonly columnVersions: ColumnVersionStore;
30
+ readonly tombstones: TombstoneStore;
27
31
  private readonly peerStates;
28
- private readonly changeLog;
29
- private readonly schemaMigrations;
30
- private readonly syncEvents;
31
- private readonly applyToStore?;
32
+ readonly changeLog: ChangeLogStore;
33
+ readonly schemaMigrations: SchemaMigrationStore;
34
+ readonly syncEvents: SyncEventEmitterImpl;
35
+ readonly applyToStore?: ApplyToStoreCallback;
32
36
  private readonly getTableSchema?;
33
37
  private pendingChanges;
34
38
  private currentTransactionId;
@@ -49,58 +53,27 @@ export declare class SyncManagerImpl implements SyncManager {
49
53
  /**
50
54
  * Handle a data change event from the store.
51
55
  * Records CRDT metadata for the change.
52
- * Skips remote events to prevent duplicate recording.
53
56
  */
54
57
  private handleDataChange;
55
58
  /**
56
59
  * Handle a schema change event from the store.
57
60
  * Records schema migrations for sync.
58
- * Skips remote events to prevent duplicate recording.
59
61
  */
60
62
  private handleSchemaChange;
61
63
  private recordColumnVersions;
62
- private persistHLCState;
63
64
  getChangesSince(peerSiteId: SiteId, sinceHLC?: HLC): Promise<ChangeSet[]>;
64
- /**
65
- * Fallback: collect all changes when no sinceHLC is provided.
66
- */
67
65
  private collectAllChanges;
68
66
  applyChanges(changes: ChangeSet[]): Promise<ApplyResult>;
69
- /**
70
- * Resolve CRDT conflicts for a change WITHOUT writing metadata.
71
- * This is phase 1 of the two-phase apply: resolve first, then after
72
- * data is written to store, call commitChangeMetadata to persist CRDT state.
73
- *
74
- * Write order (for crash safety):
75
- * 1. Resolve all changes (this method) - no writes
76
- * 2. Apply data to store (applyToStore callback)
77
- * 3. Commit CRDT metadata (commitChangeMetadata)
78
- *
79
- * If crash occurs after data but before metadata, re-sync will re-apply
80
- * the same changes. Since CRDT operations are idempotent (same HLC → same
81
- * LWW outcome), this is safe.
82
- */
83
- private resolveChange;
84
- /**
85
- * Commit CRDT metadata for resolved changes.
86
- * This is phase 2 of the two-phase apply: called AFTER data is written to store.
87
- */
88
- private commitChangeMetadata;
89
67
  canDeltaSync(peerSiteId: SiteId, sinceHLC: HLC): Promise<boolean>;
90
68
  getSnapshot(): Promise<Snapshot>;
91
69
  applySnapshot(snapshot: Snapshot): Promise<void>;
92
70
  updatePeerSyncState(peerSiteId: SiteId, hlc: HLC): Promise<void>;
93
71
  getPeerSyncState(peerSiteId: SiteId): Promise<HLC | undefined>;
94
72
  pruneTombstones(): Promise<number>;
95
- /**
96
- * Get the sync event emitter for UI integration.
97
- */
98
73
  getEventEmitter(): SyncEventEmitterImpl;
99
74
  getSnapshotStream(chunkSize?: number): AsyncIterable<SnapshotChunk>;
100
75
  applySnapshotStream(chunks: AsyncIterable<SnapshotChunk>, onProgress?: (progress: SnapshotProgress) => void): Promise<void>;
101
76
  getSnapshotCheckpoint(snapshotId: string): Promise<SnapshotCheckpoint | undefined>;
102
- private saveSnapshotCheckpoint;
103
- private clearSnapshotCheckpoint;
104
77
  resumeSnapshotStream(checkpoint: SnapshotCheckpoint): AsyncIterable<SnapshotChunk>;
105
78
  }
106
79
  //# sourceMappingURL=sync-manager-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-manager-impl.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-manager-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-manager-impl.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-manager-impl.ts"],"names":[],"mappings":"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"}