@syncular/core 0.0.1 → 0.0.2-127

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 (70) hide show
  1. package/README.md +24 -0
  2. package/dist/blobs.d.ts +9 -4
  3. package/dist/blobs.d.ts.map +1 -1
  4. package/dist/blobs.js +0 -12
  5. package/dist/blobs.js.map +1 -1
  6. package/dist/column-codecs.d.ts +55 -0
  7. package/dist/column-codecs.d.ts.map +1 -0
  8. package/dist/column-codecs.js +124 -0
  9. package/dist/column-codecs.js.map +1 -0
  10. package/dist/index.d.ts +11 -9
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +21 -7
  13. package/dist/index.js.map +1 -1
  14. package/dist/kysely-serialize.d.ts +1 -1
  15. package/dist/kysely-serialize.d.ts.map +1 -1
  16. package/dist/logger.d.ts +7 -32
  17. package/dist/logger.d.ts.map +1 -1
  18. package/dist/logger.js +6 -40
  19. package/dist/logger.js.map +1 -1
  20. package/dist/proxy/types.d.ts +0 -9
  21. package/dist/proxy/types.d.ts.map +1 -1
  22. package/dist/schemas/index.js +3 -3
  23. package/dist/schemas/sync.d.ts +120 -6
  24. package/dist/schemas/sync.d.ts.map +1 -1
  25. package/dist/schemas/sync.js +17 -3
  26. package/dist/schemas/sync.js.map +1 -1
  27. package/dist/scopes/index.d.ts +39 -64
  28. package/dist/scopes/index.d.ts.map +1 -1
  29. package/dist/scopes/index.js +9 -154
  30. package/dist/scopes/index.js.map +1 -1
  31. package/dist/snapshot-chunks.d.ts +26 -0
  32. package/dist/snapshot-chunks.d.ts.map +1 -0
  33. package/dist/snapshot-chunks.js +89 -0
  34. package/dist/snapshot-chunks.js.map +1 -0
  35. package/dist/telemetry.d.ts +114 -0
  36. package/dist/telemetry.d.ts.map +1 -0
  37. package/dist/telemetry.js +113 -0
  38. package/dist/telemetry.js.map +1 -0
  39. package/dist/types.d.ts +12 -9
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/types.js.map +1 -1
  42. package/dist/utils/id.d.ts +2 -0
  43. package/dist/utils/id.d.ts.map +1 -0
  44. package/dist/utils/id.js +8 -0
  45. package/dist/utils/id.js.map +1 -0
  46. package/dist/utils/index.d.ts +3 -0
  47. package/dist/utils/index.d.ts.map +1 -0
  48. package/dist/utils/index.js +3 -0
  49. package/dist/utils/index.js.map +1 -0
  50. package/dist/utils/object.d.ts +2 -0
  51. package/dist/utils/object.d.ts.map +1 -0
  52. package/dist/utils/object.js +4 -0
  53. package/dist/utils/object.js.map +1 -0
  54. package/package.json +28 -8
  55. package/src/__tests__/telemetry.test.ts +170 -0
  56. package/src/__tests__/utils.test.ts +27 -0
  57. package/src/blobs.ts +15 -14
  58. package/src/column-codecs.ts +228 -0
  59. package/src/index.ts +15 -41
  60. package/src/kysely-serialize.ts +1 -1
  61. package/src/logger.ts +10 -68
  62. package/src/proxy/types.ts +0 -10
  63. package/src/schemas/sync.ts +27 -3
  64. package/src/scopes/index.ts +72 -200
  65. package/src/snapshot-chunks.ts +112 -0
  66. package/src/telemetry.ts +238 -0
  67. package/src/types.ts +14 -18
  68. package/src/utils/id.ts +7 -0
  69. package/src/utils/index.ts +2 -0
  70. package/src/utils/object.ts +3 -0
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # @syncular/core
2
+
3
+ Core protocol types, schemas, and shared utilities for Syncular (scopes, commit-log types, telemetry, blob types, etc.).
4
+
5
+ Most apps won't depend on this directly. It is the shared foundation used by `@syncular/client`, `@syncular/server`, and the transports.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install @syncular/core
11
+ ```
12
+
13
+ ## Documentation
14
+
15
+ - Overview: https://syncular.dev/docs/introduction/what-is-syncular
16
+ - Architecture (commit log, push/pull, snapshots): https://syncular.dev/docs/introduction/architecture
17
+
18
+ ## Links
19
+
20
+ - GitHub: https://github.com/syncular/syncular
21
+ - Issues: https://github.com/syncular/syncular/issues
22
+
23
+ > Status: Alpha. APIs and storage layouts may change between releases.
24
+
package/dist/blobs.d.ts CHANGED
@@ -110,10 +110,19 @@ export interface BlobStorageAdapter {
110
110
  * Used for snapshot chunks and other internal data.
111
111
  */
112
112
  put?(hash: string, data: Uint8Array, metadata?: Record<string, unknown>): Promise<void>;
113
+ /**
114
+ * Store blob data directly from a stream.
115
+ * Preferred for large payloads to avoid full buffering in memory.
116
+ */
117
+ putStream?(hash: string, stream: ReadableStream<Uint8Array>, metadata?: Record<string, unknown>): Promise<void>;
113
118
  /**
114
119
  * Get blob data directly (for adapters that support direct retrieval).
115
120
  */
116
121
  get?(hash: string): Promise<Uint8Array | null>;
122
+ /**
123
+ * Get blob data directly as a stream (for adapters that support stream retrieval).
124
+ */
125
+ getStream?(hash: string): Promise<ReadableStream<Uint8Array> | null>;
117
126
  }
118
127
  /**
119
128
  * Create a BlobRef from upload metadata.
@@ -134,8 +143,4 @@ export declare function parseBlobHash(hash: string): string | null;
134
143
  * Create a blob hash string from hex.
135
144
  */
136
145
  export declare function createBlobHash(hexHash: string): string;
137
- /**
138
- * Check if a value looks like a BlobRef.
139
- */
140
- export declare function isBlobRef(value: unknown): value is BlobRef;
141
146
  //# sourceMappingURL=blobs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../src/blobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../src/blobs.ts"],"names":[],"mappings":"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"}
package/dist/blobs.js CHANGED
@@ -44,16 +44,4 @@ export function parseBlobHash(hash) {
44
44
  export function createBlobHash(hexHash) {
45
45
  return `sha256:${hexHash.toLowerCase()}`;
46
46
  }
47
- /**
48
- * Check if a value looks like a BlobRef.
49
- */
50
- export function isBlobRef(value) {
51
- if (typeof value !== 'object' || value === null)
52
- return false;
53
- const obj = value;
54
- return (typeof obj.hash === 'string' &&
55
- obj.hash.startsWith('sha256:') &&
56
- typeof obj.size === 'number' &&
57
- typeof obj.mimeType === 'string');
58
- }
59
47
  //# sourceMappingURL=blobs.js.map
package/dist/blobs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"blobs.js","sourceRoot":"","sources":["../src/blobs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwIH,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAM7B,EAAW;IACV,MAAM,GAAG,GAAY;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;IACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AAAA,CACZ;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAiB;IACzD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAAA,CAC1B;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAU;IACtD,OAAO,UAAU,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AAAA,CAC1C;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc,EAAoB;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAC9B,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CACjC,CAAC;AAAA,CACH"}
1
+ {"version":3,"file":"blobs.js","sourceRoot":"","sources":["../src/blobs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuJH,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAM7B,EAAW;IACV,MAAM,GAAG,GAAY;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;IACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AAAA,CACZ;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAiB;IACzD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAAA,CAC1B;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAU;IACtD,OAAO,UAAU,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AAAA,CAC1C"}
@@ -0,0 +1,55 @@
1
+ export type ColumnCodecDialect = 'sqlite' | 'postgres';
2
+ export interface ColumnCodecTypeImport {
3
+ name: string;
4
+ from: string;
5
+ }
6
+ export type ColumnCodecType = string | {
7
+ type: string;
8
+ import?: ColumnCodecTypeImport;
9
+ };
10
+ export interface ColumnCodec<App, Db> {
11
+ ts: ColumnCodecType;
12
+ toDb(value: App): Db;
13
+ fromDb(value: Db): App;
14
+ dialects?: Partial<Record<ColumnCodecDialect, {
15
+ toDb?(value: App): Db;
16
+ fromDb?(value: Db): App;
17
+ }>>;
18
+ }
19
+ export type AnyColumnCodec = ColumnCodec<unknown, unknown>;
20
+ export interface ColumnCodecColumn {
21
+ table: string;
22
+ column: string;
23
+ sqlType?: string;
24
+ nullable?: boolean;
25
+ isPrimaryKey?: boolean;
26
+ hasDefault?: boolean;
27
+ dialect?: ColumnCodecDialect;
28
+ }
29
+ export type TableColumnCodecs = Record<string, AnyColumnCodec>;
30
+ export type ColumnCodecSource = (column: ColumnCodecColumn) => AnyColumnCodec | undefined;
31
+ export declare function toTableColumnCodecs(table: string, codecSource: ColumnCodecSource | undefined, columns: Iterable<string>, options?: {
32
+ dialect?: ColumnCodecDialect;
33
+ sqlTypes?: Record<string, string | undefined>;
34
+ }): TableColumnCodecs;
35
+ export declare function applyCodecToDbValue(codec: AnyColumnCodec, value: unknown, dialect?: ColumnCodecDialect): unknown;
36
+ export declare function applyCodecFromDbValue(codec: AnyColumnCodec, value: unknown, dialect?: ColumnCodecDialect): unknown;
37
+ export declare function applyCodecsToDbRow(row: Record<string, unknown>, tableCodecs: TableColumnCodecs, dialect?: ColumnCodecDialect): Record<string, unknown>;
38
+ export declare function applyCodecsFromDbRow(row: Record<string, unknown>, tableCodecs: TableColumnCodecs, dialect?: ColumnCodecDialect): Record<string, unknown>;
39
+ export declare function numberBoolean(): ColumnCodec<boolean, number | boolean | string>;
40
+ export interface StringJsonCodecOptions<T> {
41
+ ts?: ColumnCodecType;
42
+ import?: ColumnCodecTypeImport;
43
+ stringify?: (value: T) => string;
44
+ parse?: (value: string) => T;
45
+ }
46
+ export declare function stringJson<T = unknown>(options?: StringJsonCodecOptions<T>): ColumnCodec<T, string | T>;
47
+ export declare function timestampDate(): ColumnCodec<Date, string | Date>;
48
+ export declare function dateString(): ColumnCodec<string, string | Date>;
49
+ export declare const codecs: {
50
+ numberBoolean: typeof numberBoolean;
51
+ stringJson: typeof stringJson;
52
+ timestampDate: typeof timestampDate;
53
+ dateString: typeof dateString;
54
+ };
55
+ //# sourceMappingURL=column-codecs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-codecs.d.ts","sourceRoot":"","sources":["../src/column-codecs.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,eAAe,GACvB,MAAM,GACN;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAErD,MAAM,WAAW,WAAW,CAAC,GAAG,EAAE,EAAE;IAClC,EAAE,EAAE,eAAe,CAAC;IACpB,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC;IACrB,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAChB,MAAM,CACJ,kBAAkB,EAClB;QACE,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC;KACzB,CACF,CACF,CAAC;CACH;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG,CAC9B,MAAM,EAAE,iBAAiB,KACtB,cAAc,GAAG,SAAS,CAAC;AAoBhC,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,iBAAiB,GAAG,SAAS,EAC1C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C,GACL,iBAAiB,CAgBnB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,kBAA6B,GACrC,OAAO,CAIT;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,kBAA6B,GACrC,OAAO,CAIT;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,WAAW,EAAE,iBAAiB,EAC9B,OAAO,GAAE,kBAA6B,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAazB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,WAAW,EAAE,iBAAiB,EAC9B,OAAO,GAAE,kBAA6B,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAazB;AAYD,wBAAgB,aAAa,IAAI,WAAW,CAC1C,OAAO,EACP,MAAM,GAAG,OAAO,GAAG,MAAM,CAC1B,CAYA;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,EAAE,CAAC,EAAE,eAAe,CAAC;IACrB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC;CAC9B;AAED,wBAAgB,UAAU,CAAC,CAAC,GAAG,OAAO,EACpC,OAAO,GAAE,sBAAsB,CAAC,CAAC,CAAM,GACtC,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAoB5B;AAED,wBAAgB,aAAa,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAOhE;AAED,wBAAgB,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAO/D;AAED,eAAO,MAAM,MAAM;;;;;CAKlB,CAAC"}
@@ -0,0 +1,124 @@
1
+ function hasCodecs(tableCodecs) {
2
+ return Object.keys(tableCodecs).length > 0;
3
+ }
4
+ function resolveCodecToDb(codec, dialect) {
5
+ return codec.dialects?.[dialect]?.toDb ?? codec.toDb;
6
+ }
7
+ function resolveCodecFromDb(codec, dialect) {
8
+ return codec.dialects?.[dialect]?.fromDb ?? codec.fromDb;
9
+ }
10
+ export function toTableColumnCodecs(table, codecSource, columns, options = {}) {
11
+ if (!codecSource)
12
+ return {};
13
+ const out = {};
14
+ for (const column of columns) {
15
+ if (column.length === 0)
16
+ continue;
17
+ const codec = codecSource({
18
+ table,
19
+ column,
20
+ sqlType: options.sqlTypes?.[column],
21
+ dialect: options.dialect,
22
+ });
23
+ if (codec)
24
+ out[column] = codec;
25
+ }
26
+ return out;
27
+ }
28
+ export function applyCodecToDbValue(codec, value, dialect = 'sqlite') {
29
+ if (value === null || value === undefined)
30
+ return value;
31
+ const transform = resolveCodecToDb(codec, dialect);
32
+ return transform(value);
33
+ }
34
+ export function applyCodecFromDbValue(codec, value, dialect = 'sqlite') {
35
+ if (value === null || value === undefined)
36
+ return value;
37
+ const transform = resolveCodecFromDb(codec, dialect);
38
+ return transform(value);
39
+ }
40
+ export function applyCodecsToDbRow(row, tableCodecs, dialect = 'sqlite') {
41
+ if (!hasCodecs(tableCodecs))
42
+ return { ...row };
43
+ const transformed = { ...row };
44
+ for (const [column, codec] of Object.entries(tableCodecs)) {
45
+ if (!(column in transformed))
46
+ continue;
47
+ transformed[column] = applyCodecToDbValue(codec, transformed[column], dialect);
48
+ }
49
+ return transformed;
50
+ }
51
+ export function applyCodecsFromDbRow(row, tableCodecs, dialect = 'sqlite') {
52
+ if (!hasCodecs(tableCodecs))
53
+ return { ...row };
54
+ const transformed = { ...row };
55
+ for (const [column, codec] of Object.entries(tableCodecs)) {
56
+ if (!(column in transformed))
57
+ continue;
58
+ transformed[column] = applyCodecFromDbValue(codec, transformed[column], dialect);
59
+ }
60
+ return transformed;
61
+ }
62
+ function parseBooleanValue(value) {
63
+ if (typeof value === 'boolean')
64
+ return value;
65
+ if (typeof value === 'number')
66
+ return value === 1;
67
+ if (typeof value === 'string') {
68
+ const normalized = value.trim().toLowerCase();
69
+ return normalized === '1' || normalized === 'true';
70
+ }
71
+ return Boolean(value);
72
+ }
73
+ export function numberBoolean() {
74
+ return {
75
+ ts: 'boolean',
76
+ toDb: (value) => (value ? 1 : 0),
77
+ fromDb: (value) => parseBooleanValue(value),
78
+ dialects: {
79
+ postgres: {
80
+ toDb: (value) => value,
81
+ fromDb: (value) => parseBooleanValue(value),
82
+ },
83
+ },
84
+ };
85
+ }
86
+ export function stringJson(options = {}) {
87
+ const stringify = options.stringify ?? ((value) => JSON.stringify(value));
88
+ const parse = options.parse ?? ((value) => JSON.parse(value));
89
+ const ts = options.ts ??
90
+ (options.import
91
+ ? { type: options.import.name, import: options.import }
92
+ : 'unknown');
93
+ return {
94
+ ts,
95
+ toDb: (value) => stringify(value),
96
+ fromDb: (value) => {
97
+ if (typeof value === 'string') {
98
+ return parse(value);
99
+ }
100
+ return value;
101
+ },
102
+ };
103
+ }
104
+ export function timestampDate() {
105
+ return {
106
+ ts: 'Date',
107
+ toDb: (value) => value.toISOString(),
108
+ fromDb: (value) => value instanceof Date ? value : new Date(String(value)),
109
+ };
110
+ }
111
+ export function dateString() {
112
+ return {
113
+ ts: 'string',
114
+ toDb: (value) => value,
115
+ fromDb: (value) => value instanceof Date ? value.toISOString().slice(0, 10) : String(value),
116
+ };
117
+ }
118
+ export const codecs = {
119
+ numberBoolean,
120
+ stringJson,
121
+ timestampDate,
122
+ dateString,
123
+ };
124
+ //# sourceMappingURL=column-codecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-codecs.js","sourceRoot":"","sources":["../src/column-codecs.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,15 +9,17 @@
9
9
  * - Blob types for media/binary handling
10
10
  * - Zod schemas for runtime validation and OpenAPI
11
11
  */
12
- export type { BlobSignDownloadOptions, BlobSignedUpload, BlobSignUploadOptions, BlobStorageAdapter, BlobTransport, } from './blobs';
13
- export { createBlobHash, createBlobRef, parseBlobHash, } from './blobs';
14
- export { SerializePlugin } from './kysely-serialize';
15
- export { createSyncTimer, logSyncEvent, } from './logger';
16
- export type { ProxyHandshake, ProxyHandshakeAck, ProxyMessage, ProxyResponse, } from './proxy';
12
+ export * from './blobs';
13
+ export * from './column-codecs';
14
+ export * from './conflict';
15
+ export * from './kysely-serialize';
16
+ export * from './logger';
17
+ export * from './proxy';
17
18
  export * from './schemas';
18
- export type { ScopeDefinition, ScopePattern, ScopeValues, StoredScopes, } from './scopes';
19
- export { extractScopeVars, normalizeScopes } from './scopes';
19
+ export * from './scopes';
20
+ export * from './snapshot-chunks';
21
+ export * from './telemetry';
20
22
  export * from './transforms';
21
- export type { ConflictCheckResult, MergeResult, MergeResultConflict, MergeResultOk, SyncTransport, SyncTransportBlobs, SyncTransportOptions, } from './types';
22
- export { SyncTransportError } from './types';
23
+ export * from './types';
24
+ export * from './utils';
23
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,YAAY,EACV,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EACL,eAAe,EACf,YAAY,GACb,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,cAAc,WAAW,CAAC;AAE1B,YAAY,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE7D,cAAc,cAAc,CAAC;AAG7B,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,cAAc,SAAS,CAAC;AAExB,cAAc,iBAAiB,CAAC;AAEhC,cAAc,YAAY,CAAC;AAE3B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,UAAU,CAAC;AAEzB,cAAc,SAAS,CAAC;AAExB,cAAc,WAAW,CAAC;AAE1B,cAAc,UAAU,CAAC;AAEzB,cAAc,mBAAmB,CAAC;AAElC,cAAc,aAAa,CAAC;AAE5B,cAAc,cAAc,CAAC;AAE7B,cAAc,SAAS,CAAC;AAExB,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -9,16 +9,30 @@
9
9
  * - Blob types for media/binary handling
10
10
  * - Zod schemas for runtime validation and OpenAPI
11
11
  */
12
- export { createBlobHash, createBlobRef, parseBlobHash, } from './blobs';
12
+ // Blob transport/storage types and utilities (protocol types come from ./schemas)
13
+ export * from './blobs.js';
14
+ // Column-level codecs shared by typegen and runtime paths
15
+ export * from './column-codecs.js';
13
16
  // Conflict detection utilities
17
+ export * from './conflict.js';
14
18
  // Kysely plugin utilities
15
- export { SerializePlugin } from './kysely-serialize';
19
+ export * from './kysely-serialize.js';
16
20
  // Logging utilities
17
- export { createSyncTimer, logSyncEvent, } from './logger';
21
+ export * from './logger.js';
22
+ // Proxy protocol types
23
+ export * from './proxy/index.js';
18
24
  // Schemas (Zod)
19
- export * from './schemas';
20
- export { extractScopeVars, normalizeScopes } from './scopes';
25
+ export * from './schemas/index.js';
26
+ // Scope types, patterns, and utilities
27
+ export * from './scopes/index.js';
28
+ // Snapshot chunk encoding helpers
29
+ export * from './snapshot-chunks.js';
30
+ // Telemetry abstraction
31
+ export * from './telemetry.js';
21
32
  // Data transformation hooks
22
- export * from './transforms';
23
- export { SyncTransportError } from './types';
33
+ export * from './transforms.js';
34
+ // Transport and conflict types (protocol types come from ./schemas)
35
+ export * from './types.js';
36
+ // Shared runtime utilities
37
+ export * from './utils/index.js';
24
38
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,+BAA+B;AAC/B,0BAA0B;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,oBAAoB;AACpB,OAAO,EACL,eAAe,EACf,YAAY,GACb,MAAM,UAAU,CAAC;AAQlB,gBAAgB;AAChB,cAAc,WAAW,CAAC;AAQ1B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7D,4BAA4B;AAC5B,cAAc,cAAc,CAAC;AAY7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,kFAAkF;AAClF,cAAc,SAAS,CAAC;AACxB,0DAA0D;AAC1D,cAAc,iBAAiB,CAAC;AAChC,+BAA+B;AAC/B,cAAc,YAAY,CAAC;AAC3B,0BAA0B;AAC1B,cAAc,oBAAoB,CAAC;AACnC,oBAAoB;AACpB,cAAc,UAAU,CAAC;AACzB,uBAAuB;AACvB,cAAc,SAAS,CAAC;AACxB,gBAAgB;AAChB,cAAc,WAAW,CAAC;AAC1B,uCAAuC;AACvC,cAAc,UAAU,CAAC;AACzB,kCAAkC;AAClC,cAAc,mBAAmB,CAAC;AAClC,wBAAwB;AACxB,cAAc,aAAa,CAAC;AAC5B,4BAA4B;AAC5B,cAAc,cAAc,CAAC;AAC7B,oEAAoE;AACpE,cAAc,SAAS,CAAC;AACxB,2BAA2B;AAC3B,cAAc,SAAS,CAAC"}
@@ -10,7 +10,7 @@ declare class BaseSerializePlugin implements KyselyPlugin {
10
10
  transformQuery({ node, queryId }: PluginTransformQueryArgs): RootOperationNode;
11
11
  transformResult({ result, queryId }: PluginTransformResultArgs): Promise<QueryResult<UnknownRow>>;
12
12
  }
13
- export interface SerializePluginOptions {
13
+ interface SerializePluginOptions {
14
14
  serializer?: Serializer;
15
15
  deserializer?: Deserializer;
16
16
  skipNodeKind?: Array<RootOperationNode['kind']>;
@@ -1 +1 @@
1
- {"version":3,"file":"kysely-serialize.d.ts","sourceRoot":"","sources":["../src/kysely-serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAE9B,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAEhB,MAAM,QAAQ,CAAC;AAEhB,KAAK,UAAU,GAAG,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC;AAClD,KAAK,YAAY,GAAG,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC;AA4HpD,cAAM,mBAAoB,YAAW,YAAY;;IAM/C;;OAEG;IACH,YACE,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAW/C;IAED,cAAc,CAAC,EACb,IAAI,EACJ,OAAO,EACR,EAAE,wBAAwB,GAAG,iBAAiB,CAM9C;IAEK,eAAe,CAAC,EACpB,MAAM,EACN,OAAO,EACR,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAK9D;CAcF;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,qBAAa,eAAgB,SAAQ,mBAAmB;IACtD,YAAY,OAAO,GAAE,sBAA2B,EAO/C;CACF"}
1
+ {"version":3,"file":"kysely-serialize.d.ts","sourceRoot":"","sources":["../src/kysely-serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAE9B,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAEhB,MAAM,QAAQ,CAAC;AAEhB,KAAK,UAAU,GAAG,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC;AAClD,KAAK,YAAY,GAAG,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC;AA4HpD,cAAM,mBAAoB,YAAW,YAAY;;IAM/C;;OAEG;IACH,YACE,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAW/C;IAED,cAAc,CAAC,EACb,IAAI,EACJ,OAAO,EACR,EAAE,wBAAwB,GAAG,iBAAiB,CAM9C;IAEK,eAAe,CAAC,EACpB,MAAM,EACN,OAAO,EACR,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAK9D;CAcF;AAED,UAAU,sBAAsB;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,qBAAa,eAAgB,SAAQ,mBAAmB;IACtD,YAAY,OAAO,GAAE,sBAA2B,EAO/C;CACF"}
package/dist/logger.d.ts CHANGED
@@ -1,35 +1,19 @@
1
1
  /**
2
2
  * @syncular/core - Structured logging utilities for sync operations
3
3
  *
4
- * Outputs JSON lines for easy parsing by log aggregation tools.
5
- * Each log event includes a timestamp and event type.
4
+ * Uses the active telemetry backend configured via `configureSyncTelemetry()`.
6
5
  */
6
+ import { type SyncTelemetryEvent } from './telemetry';
7
7
  /**
8
- * Sync log event structure
8
+ * Sync log event structure.
9
9
  */
10
- interface SyncLogEvent {
11
- /** Event type identifier */
12
- event: string;
13
- /** User ID (optional) */
14
- userId?: string;
15
- /** Operation duration in milliseconds (optional) */
16
- durationMs?: number;
17
- /** Number of rows affected (optional) */
18
- rowCount?: number;
19
- /** Whether a full reset was required (optional) */
20
- resetRequired?: boolean;
21
- /** Error message if operation failed (optional) */
22
- error?: string;
23
- /** Additional arbitrary properties */
24
- [key: string]: unknown;
25
- }
10
+ export type SyncLogEvent = SyncTelemetryEvent;
26
11
  /**
27
- * Logger function type - allows custom logging implementations
12
+ * Logger function type.
28
13
  */
29
- type SyncLogger = (event: SyncLogEvent) => void;
14
+ export type SyncLogger = (event: SyncLogEvent) => void;
30
15
  /**
31
- * Log a sync event using the default logger.
32
- * For custom logging, create your own logger with createDefaultLogger pattern.
16
+ * Log a sync event using the currently configured telemetry backend.
33
17
  */
34
18
  export declare const logSyncEvent: SyncLogger;
35
19
  /**
@@ -42,13 +26,4 @@ export declare const logSyncEvent: SyncLogger;
42
26
  * logSyncEvent({ event: 'work_complete', durationMs: elapsed() });
43
27
  */
44
28
  export declare function createSyncTimer(): () => number;
45
- /**
46
- * Create a scoped logger that automatically adds context to all events.
47
- *
48
- * @example
49
- * const log = createScopedLogger({ userId: 'user123', shape: 'teams' });
50
- * log({ event: 'pull_start' }); // Includes userId and shape
51
- */
52
- export declare function createScopedLogger(context: Record<string, unknown>, baseLogger?: SyncLogger): SyncLogger;
53
- export {};
54
29
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,UAAU,YAAY;IACpB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,KAAK,UAAU,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AA+BhD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,UAAkC,CAAC;AAE9D;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,MAAM,MAAM,CAG9C;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,UAAU,GAAE,UAAyB,GACpC,UAAU,CAIZ"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAE1B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,MAAM,MAAM,CAG9C"}
package/dist/logger.js CHANGED
@@ -1,37 +1,15 @@
1
1
  /**
2
2
  * @syncular/core - Structured logging utilities for sync operations
3
3
  *
4
- * Outputs JSON lines for easy parsing by log aggregation tools.
5
- * Each log event includes a timestamp and event type.
4
+ * Uses the active telemetry backend configured via `configureSyncTelemetry()`.
6
5
  */
6
+ import { getSyncTelemetry } from './telemetry.js';
7
7
  /**
8
- * Default logger that outputs JSON lines to console.
9
- * Non-blocking - defers logging to avoid blocking the event loop.
10
- *
11
- * On server (Node.js), uses setImmediate.
12
- * On client (browser), uses setTimeout(0).
8
+ * Log a sync event using the currently configured telemetry backend.
13
9
  */
14
- function createDefaultLogger() {
15
- // Detect environment
16
- const isNode = typeof globalThis !== 'undefined' &&
17
- typeof globalThis.setImmediate === 'function';
18
- const defer = isNode
19
- ? (fn) => globalThis.setImmediate(fn)
20
- : (fn) => setTimeout(fn, 0);
21
- return (event) => {
22
- defer(() => {
23
- console.log(JSON.stringify({
24
- timestamp: new Date().toISOString(),
25
- ...event,
26
- }));
27
- });
28
- };
29
- }
30
- /**
31
- * Log a sync event using the default logger.
32
- * For custom logging, create your own logger with createDefaultLogger pattern.
33
- */
34
- export const logSyncEvent = createDefaultLogger();
10
+ export const logSyncEvent = (event) => {
11
+ getSyncTelemetry().log(event);
12
+ };
35
13
  /**
36
14
  * Create a timer for measuring operation duration.
37
15
  * Returns the elapsed time in milliseconds when called.
@@ -45,16 +23,4 @@ export function createSyncTimer() {
45
23
  const start = performance.now();
46
24
  return () => Math.round(performance.now() - start);
47
25
  }
48
- /**
49
- * Create a scoped logger that automatically adds context to all events.
50
- *
51
- * @example
52
- * const log = createScopedLogger({ userId: 'user123', shape: 'teams' });
53
- * log({ event: 'pull_start' }); // Includes userId and shape
54
- */
55
- export function createScopedLogger(context, baseLogger = logSyncEvent) {
56
- return (event) => {
57
- baseLogger({ ...context, ...event });
58
- };
59
- }
60
26
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2BH;;;;;;GAMG;AACH,SAAS,mBAAmB,GAAe;IACzC,qBAAqB;IACrB,MAAM,MAAM,GACV,OAAO,UAAU,KAAK,WAAW;QACjC,OAAO,UAAU,CAAC,YAAY,KAAK,UAAU,CAAC;IAEhD,MAAM,KAAK,GAAG,MAAM;QAClB,CAAC,CAAC,CAAC,EAAc,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC,EAAc,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAE1C,OAAO,CAAC,KAAmB,EAAE,EAAE,CAAC;QAC9B,KAAK,CAAC,GAAG,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;gBACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,GAAG,KAAK;aACT,CAAC,CACH,CAAC;QAAA,CACH,CAAC,CAAC;IAAA,CACJ,CAAC;AAAA,CACH;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAe,mBAAmB,EAAE,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,GAAiB;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;AAAA,CACpD;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgC,EAChC,UAAU,GAAe,YAAY,EACzB;IACZ,OAAO,CAAC,KAAmB,EAAE,EAAE,CAAC;QAC9B,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAAA,CACtC,CAAC;AAAA,CACH"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAA2B,MAAM,aAAa,CAAC;AAYxE;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAe,CAAC,KAAK,EAAE,EAAE,CAAC;IACjD,gBAAgB,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAAA,CAC/B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,GAAiB;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;AAAA,CACpD"}
@@ -31,15 +31,6 @@ export interface ProxyResponse {
31
31
  /** Error message (for 'error' type) */
32
32
  error?: string;
33
33
  }
34
- /**
35
- * Options for establishing a proxy connection.
36
- */
37
- export interface ProxyConnectOptions {
38
- /** Actor ID for oplog tracking */
39
- actorId: string;
40
- /** Client ID for oplog tracking */
41
- clientId: string;
42
- }
43
34
  /**
44
35
  * Handshake message sent when connection is established.
45
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/proxy/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAChD,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,uCAAuC;IACvC,EAAE,EAAE,OAAO,CAAC;IACZ,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/proxy/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAChD,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,uCAAuC;IACvC,EAAE,EAAE,OAAO,CAAC;IACZ,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @syncular/core - Schema exports
3
3
  */
4
- export * from './blobs';
5
- export * from './common';
6
- export * from './sync';
4
+ export * from './blobs.js';
5
+ export * from './common.js';
6
+ export * from './sync.js';
7
7
  //# sourceMappingURL=index.js.map