@syncular/server 0.0.6-159 → 0.0.6-167

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 (93) hide show
  1. package/dist/blobs/adapters/database.d.ts +26 -9
  2. package/dist/blobs/adapters/database.d.ts.map +1 -1
  3. package/dist/blobs/adapters/database.js +65 -21
  4. package/dist/blobs/adapters/database.js.map +1 -1
  5. package/dist/blobs/manager.d.ts +60 -3
  6. package/dist/blobs/manager.d.ts.map +1 -1
  7. package/dist/blobs/manager.js +227 -56
  8. package/dist/blobs/manager.js.map +1 -1
  9. package/dist/blobs/migrate.d.ts.map +1 -1
  10. package/dist/blobs/migrate.js +16 -8
  11. package/dist/blobs/migrate.js.map +1 -1
  12. package/dist/blobs/types.d.ts +4 -0
  13. package/dist/blobs/types.d.ts.map +1 -1
  14. package/dist/dialect/helpers.d.ts +3 -0
  15. package/dist/dialect/helpers.d.ts.map +1 -1
  16. package/dist/dialect/helpers.js +17 -0
  17. package/dist/dialect/helpers.js.map +1 -1
  18. package/dist/handlers/collection.d.ts +0 -2
  19. package/dist/handlers/collection.d.ts.map +1 -1
  20. package/dist/handlers/collection.js +5 -56
  21. package/dist/handlers/collection.js.map +1 -1
  22. package/dist/handlers/create-handler.d.ts +0 -4
  23. package/dist/handlers/create-handler.d.ts.map +1 -1
  24. package/dist/handlers/create-handler.js +6 -34
  25. package/dist/handlers/create-handler.js.map +1 -1
  26. package/dist/notify.d.ts.map +1 -1
  27. package/dist/notify.js +13 -37
  28. package/dist/notify.js.map +1 -1
  29. package/dist/proxy/collection.d.ts +0 -2
  30. package/dist/proxy/collection.d.ts.map +1 -1
  31. package/dist/proxy/collection.js +2 -17
  32. package/dist/proxy/collection.js.map +1 -1
  33. package/dist/proxy/handler.d.ts +1 -1
  34. package/dist/proxy/handler.d.ts.map +1 -1
  35. package/dist/proxy/handler.js +1 -2
  36. package/dist/proxy/handler.js.map +1 -1
  37. package/dist/proxy/index.d.ts +1 -1
  38. package/dist/proxy/index.d.ts.map +1 -1
  39. package/dist/proxy/index.js +1 -1
  40. package/dist/proxy/index.js.map +1 -1
  41. package/dist/proxy/oplog.d.ts.map +1 -1
  42. package/dist/proxy/oplog.js +1 -7
  43. package/dist/proxy/oplog.js.map +1 -1
  44. package/dist/prune.d.ts.map +1 -1
  45. package/dist/prune.js +1 -13
  46. package/dist/prune.js.map +1 -1
  47. package/dist/pull.d.ts.map +1 -1
  48. package/dist/pull.js +186 -54
  49. package/dist/pull.js.map +1 -1
  50. package/dist/push.d.ts +1 -1
  51. package/dist/push.d.ts.map +1 -1
  52. package/dist/push.js +9 -36
  53. package/dist/push.js.map +1 -1
  54. package/dist/snapshot-chunks/db-metadata.d.ts +18 -0
  55. package/dist/snapshot-chunks/db-metadata.d.ts.map +1 -1
  56. package/dist/snapshot-chunks/db-metadata.js +71 -23
  57. package/dist/snapshot-chunks/db-metadata.js.map +1 -1
  58. package/dist/snapshot-chunks.d.ts +5 -1
  59. package/dist/snapshot-chunks.d.ts.map +1 -1
  60. package/dist/snapshot-chunks.js +14 -1
  61. package/dist/snapshot-chunks.js.map +1 -1
  62. package/dist/stats.d.ts.map +1 -1
  63. package/dist/stats.js +1 -13
  64. package/dist/stats.js.map +1 -1
  65. package/dist/subscriptions/resolve.d.ts +1 -1
  66. package/dist/subscriptions/resolve.d.ts.map +1 -1
  67. package/dist/subscriptions/resolve.js +3 -16
  68. package/dist/subscriptions/resolve.js.map +1 -1
  69. package/dist/sync.d.ts.map +1 -1
  70. package/dist/sync.js +2 -4
  71. package/dist/sync.js.map +1 -1
  72. package/package.json +2 -2
  73. package/src/blobs/adapters/database.test.ts +7 -0
  74. package/src/blobs/adapters/database.ts +119 -39
  75. package/src/blobs/manager.ts +339 -53
  76. package/src/blobs/migrate.ts +16 -8
  77. package/src/blobs/types.ts +4 -0
  78. package/src/dialect/helpers.ts +19 -0
  79. package/src/handlers/collection.ts +17 -86
  80. package/src/handlers/create-handler.ts +9 -44
  81. package/src/notify.ts +15 -40
  82. package/src/proxy/collection.ts +5 -27
  83. package/src/proxy/handler.ts +2 -2
  84. package/src/proxy/index.ts +0 -2
  85. package/src/proxy/oplog.ts +1 -9
  86. package/src/prune.ts +1 -12
  87. package/src/pull.ts +280 -105
  88. package/src/push.ts +14 -43
  89. package/src/snapshot-chunks/db-metadata.ts +107 -27
  90. package/src/snapshot-chunks.ts +18 -0
  91. package/src/stats.ts +1 -12
  92. package/src/subscriptions/resolve.ts +4 -20
  93. package/src/sync.ts +6 -6
@@ -7,6 +7,8 @@ import type { Generated } from 'kysely';
7
7
  * Tracks initiated uploads and their completion status.
8
8
  */
9
9
  export interface SyncBlobUploadsTable {
10
+ /** Partition/tenant namespace */
11
+ partition_id: string;
10
12
  /** SHA-256 hash with prefix: "sha256:<hex>" */
11
13
  hash: string;
12
14
  /** Expected size in bytes */
@@ -32,6 +34,8 @@ export interface SyncBlobUploadsDb {
32
34
  * Stores blob content directly in the database.
33
35
  */
34
36
  export interface SyncBlobsTable {
37
+ /** Partition/tenant namespace */
38
+ partition_id: string;
35
39
  /** SHA-256 hash with prefix: "sha256:<hex>" */
36
40
  hash: string;
37
41
  /** Size in bytes */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/blobs/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAMxC;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,oBAAoB,CAAC;CACzC;AAMD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,gCAAgC;IAChC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,cAAc,CAAC;CAC5B;AAMD;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,iBAAiB,EAAE,WAAW;CAAG"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/blobs/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAMxC;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,oBAAoB,CAAC;CACzC;AAMD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,gCAAgC;IAChC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,cAAc,CAAC;CAC5B;AAMD;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,iBAAiB,EAAE,WAAW;CAAG"}
@@ -4,7 +4,10 @@
4
4
  * Pure helper functions used by all server sync dialect implementations.
5
5
  */
6
6
  import type { StoredScopes } from '@syncular/core';
7
+ import type { ServerSyncDialect } from './types';
7
8
  export declare function coerceNumber(value: unknown): number | null;
8
9
  export declare function coerceIsoString(value: unknown): string;
10
+ export declare function parseJsonValue(value: unknown): unknown;
11
+ export declare function toDialectJsonValue(dialect: Pick<ServerSyncDialect, 'family'>, value: unknown): unknown;
9
12
  export declare function parseScopes(value: unknown): StoredScopes;
10
13
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/dialect/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAU1D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAItD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAkCxD"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/dialect/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAU1D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAItD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOtD;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAC1C,KAAK,EAAE,OAAO,GACb,OAAO,CAIT;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAkCxD"}
@@ -23,6 +23,23 @@ export function coerceIsoString(value) {
23
23
  return value.toISOString();
24
24
  return String(value);
25
25
  }
26
+ export function parseJsonValue(value) {
27
+ if (typeof value !== 'string')
28
+ return value;
29
+ try {
30
+ return JSON.parse(value);
31
+ }
32
+ catch {
33
+ return value;
34
+ }
35
+ }
36
+ export function toDialectJsonValue(dialect, value) {
37
+ if (value === null || value === undefined)
38
+ return null;
39
+ if (dialect.family === 'sqlite')
40
+ return JSON.stringify(value);
41
+ return value;
42
+ }
26
43
  export function parseScopes(value) {
27
44
  if (value === null || value === undefined)
28
45
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/dialect/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,UAAU,YAAY,CAAC,KAAc,EAAiB;IAC1D,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,MAAM,UAAU,eAAe,CAAC,KAAc,EAAU;IACtD,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,MAAM,UAAU,WAAW,CAAC,KAAc,EAAgB;IACxD,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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/dialect/helpers.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,6 @@ export interface ServerHandlerCollection<DB extends SyncCoreDb = SyncCoreDb, Aut
5
5
  byTable: ReadonlyMap<string, ServerTableHandler<DB, Auth>>;
6
6
  }
7
7
  export declare function createServerHandlerCollection<DB extends SyncCoreDb = SyncCoreDb, Auth extends SyncServerAuth = SyncServerAuth>(handlers: ServerTableHandler<DB, Auth>[]): ServerHandlerCollection<DB, Auth>;
8
- export declare function getServerHandler<DB extends SyncCoreDb = SyncCoreDb, Auth extends SyncServerAuth = SyncServerAuth>(collection: ServerHandlerCollection<DB, Auth>, table: string): ServerTableHandler<DB, Auth> | undefined;
9
- export declare function getServerHandlerOrThrow<DB extends SyncCoreDb = SyncCoreDb, Auth extends SyncServerAuth = SyncServerAuth>(collection: ServerHandlerCollection<DB, Auth>, table: string): ServerTableHandler<DB, Auth>;
10
8
  export declare function getServerBootstrapOrder<DB extends SyncCoreDb = SyncCoreDb, Auth extends SyncServerAuth = SyncServerAuth>(collection: ServerHandlerCollection<DB, Auth>): ServerTableHandler<DB, Auth>[];
11
9
  export declare function getServerBootstrapOrderFor<DB extends SyncCoreDb = SyncCoreDb, Auth extends SyncServerAuth = SyncServerAuth>(collection: ServerHandlerCollection<DB, Auth>, table: string): ServerTableHandler<DB, Auth>[];
12
10
  //# sourceMappingURL=collection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../src/handlers/collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,WAAW,uBAAuB,CACtC,EAAE,SAAS,UAAU,GAAG,UAAU,EAClC,IAAI,SAAS,cAAc,GAAG,cAAc;IAE5C,QAAQ,EAAE,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;IACzC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;CAC5D;AAED,wBAAgB,6BAA6B,CAC3C,EAAE,SAAS,UAAU,GAAG,UAAU,EAClC,IAAI,SAAS,cAAc,GAAG,cAAc,EAC5C,QAAQ,EAAE,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,CAqB7E;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,SAAS,UAAU,GAAG,UAAU,EAClC,IAAI,SAAS,cAAc,GAAG,cAAc,EAE5C,UAAU,EAAE,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,EAC7C,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,SAAS,CAE1C;AAED,wBAAgB,uBAAuB,CACrC,EAAE,SAAS,UAAU,GAAG,UAAU,EAClC,IAAI,SAAS,cAAc,GAAG,cAAc,EAE5C,UAAU,EAAE,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,EAC7C,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,CAI9B;AA8CD,wBAAgB,uBAAuB,CACrC,EAAE,SAAS,UAAU,GAAG,UAAU,EAClC,IAAI,SAAS,cAAc,GAAG,cAAc,EAE5C,UAAU,EAAE,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,GAC5C,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAEhC;AAED,wBAAgB,0BAA0B,CACxC,EAAE,SAAS,UAAU,GAAG,UAAU,EAClC,IAAI,SAAS,cAAc,GAAG,cAAc,EAE5C,UAAU,EAAE,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,EAC7C,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAEhC"}
1
+ {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../src/handlers/collection.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,WAAW,uBAAuB,CACtC,EAAE,SAAS,UAAU,GAAG,UAAU,EAClC,IAAI,SAAS,cAAc,GAAG,cAAc;IAE5C,QAAQ,EAAE,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;IACzC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;CAC5D;AAED,wBAAgB,6BAA6B,CAC3C,EAAE,SAAS,UAAU,GAAG,UAAU,EAClC,IAAI,SAAS,cAAc,GAAG,cAAc,EAC5C,QAAQ,EAAE,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,CAa7E;AAED,wBAAgB,uBAAuB,CACrC,EAAE,SAAS,UAAU,GAAG,UAAU,EAClC,IAAI,SAAS,cAAc,GAAG,cAAc,EAE5C,UAAU,EAAE,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,GAC5C,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAEhC;AAED,wBAAgB,0BAA0B,CACxC,EAAE,SAAS,UAAU,GAAG,UAAU,EAClC,IAAI,SAAS,cAAc,GAAG,cAAc,EAE5C,UAAU,EAAE,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,EAC7C,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAEhC"}
@@ -1,64 +1,13 @@
1
+ import { assertKnownTableDependencies, createTableLookup, topologicallySortTablesByDependencies, } from '@syncular/core';
1
2
  export function createServerHandlerCollection(handlers) {
2
- const byTable = new Map();
3
- for (const handler of handlers) {
4
- if (byTable.has(handler.table)) {
5
- throw new Error(`Table "${handler.table}" is already registered`);
6
- }
7
- byTable.set(handler.table, handler);
8
- }
9
- for (const handler of handlers) {
10
- for (const dep of handler.dependsOn ?? []) {
11
- if (!byTable.has(dep)) {
12
- throw new Error(`Table "${handler.table}" depends on unknown table "${dep}"`);
13
- }
14
- }
15
- }
3
+ const byTable = createTableLookup(handlers, (table) => `Table "${table}" is already registered`);
4
+ assertKnownTableDependencies(handlers, byTable, (table, dependency) => `Table "${table}" depends on unknown table "${dependency}"`);
16
5
  return { handlers, byTable };
17
6
  }
18
- export function getServerHandler(collection, table) {
19
- return collection.byTable.get(table);
20
- }
21
- export function getServerHandlerOrThrow(collection, table) {
22
- const handler = collection.byTable.get(table);
23
- if (!handler)
24
- throw new Error(`Unknown table: ${table}`);
25
- return handler;
26
- }
27
- function topoSortTables(collection, targetTable) {
28
- const visited = new Set();
29
- const visiting = new Set();
30
- const sorted = [];
31
- const visit = (table) => {
32
- if (visited.has(table))
33
- return;
34
- if (visiting.has(table)) {
35
- throw new Error(`Circular dependency detected involving table "${table}"`);
36
- }
37
- const handler = collection.byTable.get(table);
38
- if (!handler) {
39
- throw new Error(`Unknown table: ${table}`);
40
- }
41
- visiting.add(table);
42
- for (const dep of handler.dependsOn ?? []) {
43
- visit(dep);
44
- }
45
- visiting.delete(table);
46
- visited.add(table);
47
- sorted.push(handler);
48
- };
49
- if (targetTable) {
50
- visit(targetTable);
51
- return sorted;
52
- }
53
- for (const table of collection.byTable.keys()) {
54
- visit(table);
55
- }
56
- return sorted;
57
- }
58
7
  export function getServerBootstrapOrder(collection) {
59
- return topoSortTables(collection);
8
+ return topologicallySortTablesByDependencies(collection.byTable);
60
9
  }
61
10
  export function getServerBootstrapOrderFor(collection, table) {
62
- return topoSortTables(collection, table);
11
+ return topologicallySortTablesByDependencies(collection.byTable, table);
63
12
  }
64
13
  //# sourceMappingURL=collection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collection.js","sourceRoot":"","sources":["../../src/handlers/collection.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,6BAA6B,CAG3C,QAAwC,EAAqC;IAC7E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwC,CAAC;IAEhE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,KAAK,yBAAyB,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,UAAU,OAAO,CAAC,KAAK,+BAA+B,GAAG,GAAG,CAC7D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAAA,CAC9B;AAED,MAAM,UAAU,gBAAgB,CAI9B,UAA6C,EAC7C,KAAa,EAC6B;IAC1C,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAAA,CACtC;AAED,MAAM,UAAU,uBAAuB,CAIrC,UAA6C,EAC7C,KAAa,EACiB;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;IACzD,OAAO,OAAO,CAAC;AAAA,CAChB;AAED,SAAS,cAAc,CAIrB,UAA6C,EAC7C,WAAoB,EACY;IAChC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,MAAM,GAAmC,EAAE,CAAC;IAElD,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO;QAC/B,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,iDAAiD,KAAK,GAAG,CAC1D,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAAA,CACtB,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC;AAAA,CACf;AAED,MAAM,UAAU,uBAAuB,CAIrC,UAA6C,EACb;IAChC,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;AAAA,CACnC;AAED,MAAM,UAAU,0BAA0B,CAIxC,UAA6C,EAC7C,KAAa,EACmB;IAChC,OAAO,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAAA,CAC1C"}
1
+ {"version":3,"file":"collection.js","sourceRoot":"","sources":["../../src/handlers/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,EACjB,qCAAqC,GACtC,MAAM,gBAAgB,CAAC;AAYxB,MAAM,UAAU,6BAA6B,CAG3C,QAAwC,EAAqC;IAC7E,MAAM,OAAO,GAAG,iBAAiB,CAC/B,QAAQ,EACR,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,KAAK,yBAAyB,CACpD,CAAC;IACF,4BAA4B,CAC1B,QAAQ,EACR,OAAO,EACP,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CACpB,UAAU,KAAK,+BAA+B,UAAU,GAAG,CAC9D,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAAA,CAC9B;AAED,MAAM,UAAU,uBAAuB,CAIrC,UAA6C,EACb;IAChC,OAAO,qCAAqC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAAA,CAClE;AAED,MAAM,UAAU,0BAA0B,CAIxC,UAA6C,EAC7C,KAAa,EACmB;IAChC,OAAO,qCAAqC,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAAA,CACzE"}
@@ -14,10 +14,6 @@ type AuthorizeResult = true | {
14
14
  code: string;
15
15
  retriable?: boolean;
16
16
  };
17
- /**
18
- * Scope definition for a column - maps scope variable to column name.
19
- */
20
- export type ScopeColumnMap = Record<string, string>;
21
17
  /**
22
18
  * Options for creating a declarative server handler.
23
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"create-handler.d.ts","sourceRoot":"","sources":["../../src/handlers/create-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-handler.d.ts","sourceRoot":"","sources":["../../src/handlers/create-handler.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @syncular/server - Declarative server handler helper
3
3
  */
4
- import { applyCodecsFromDbRow, applyCodecsToDbRow, extractScopeVars, normalizeScopes, toTableColumnCodecs, } from '@syncular/core';
4
+ import { applyCodecsFromDbRow, applyCodecsToDbRow, createSingleVariableScopeMetadata, createTableColumnCodecsResolver, } from '@syncular/core';
5
5
  import { sql } from 'kysely';
6
6
  function classifyConstraintViolationCode(message) {
7
7
  const normalized = message.toLowerCase();
@@ -54,41 +54,13 @@ function isMissingColumnReferenceError(message) {
54
54
  */
55
55
  export function createServerHandler(options) {
56
56
  const { table, scopes: scopeDefs, primaryKey = 'id', versionColumn = 'server_version', dependsOn, snapshotChunkTtlMs, resolveScopes, transformInbound, transformOutbound, codecs, codecDialect = 'sqlite', authorize, extractScopes: customExtractScopes, } = options;
57
- const codecCache = new Map();
57
+ const resolveRowCodecs = createTableColumnCodecsResolver(codecs, {
58
+ dialect: codecDialect,
59
+ });
58
60
  const primaryKeyColumn = primaryKey;
59
61
  const qualifiedVersionRef = `${table}.${versionColumn}`;
60
- const resolveTableCodecs = (row) => {
61
- if (!codecs)
62
- return {};
63
- const columns = Object.keys(row);
64
- if (columns.length === 0)
65
- return {};
66
- const cacheKey = columns.slice().sort().join('\u0000');
67
- const cached = codecCache.get(cacheKey);
68
- if (cached)
69
- return cached;
70
- const resolved = toTableColumnCodecs(table, codecs, columns, {
71
- dialect: codecDialect,
72
- });
73
- codecCache.set(cacheKey, resolved);
74
- return resolved;
75
- };
76
- // Normalize scopes to pattern map and extract patterns/columns
77
- const scopeColumnMap = normalizeScopes(scopeDefs);
78
- const scopePatterns = Object.keys(scopeColumnMap);
79
- const scopeColumns = {};
80
- for (const [pattern, columnName] of Object.entries(scopeColumnMap)) {
81
- const vars = extractScopeVars(pattern);
82
- if (vars.length !== 1) {
83
- throw new Error(`Scope pattern "${pattern}" must contain exactly one placeholder (got ${vars.length}).`);
84
- }
85
- const varName = vars[0];
86
- const existing = scopeColumns[varName];
87
- if (existing && existing !== columnName) {
88
- throw new Error(`Scope variable "${varName}" is mapped to multiple columns: "${existing}" and "${columnName}".`);
89
- }
90
- scopeColumns[varName] = columnName;
91
- }
62
+ const resolveTableCodecs = (row) => resolveRowCodecs(table, row);
63
+ const { scopePatterns, scopeColumnsByVariable: scopeColumns } = createSingleVariableScopeMetadata(scopeDefs);
92
64
  // Default extractScopes from scope columns
93
65
  const defaultExtractScopes = (row) => {
94
66
  const scopes = {};
@@ -1 +1 @@
1
- {"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../../src/handlers/create-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../../src/handlers/create-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAGlB,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,gBAAgB,CAAC;AAaxB,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAoB7B,SAAS,+BAA+B,CAAC,OAAe,EAAU;IAChE,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,qBAAqB,CAAC;IAClE,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAC9D,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACxE,OAAO,sBAAsB,CAAC;AAAA,CAC/B;AAED,SAAS,0BAA0B,CAAC,OAAe,EAAW;IAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QACjC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC/B,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC9B,CAAC;AAAA,CACH;AAED,SAAS,6BAA6B,CAAC,OAAe,EAAW;IAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACrC,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CACzE,CAAC;AAAA,CACH;AA6HD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,mBAAmB,CAQjC,OAMC,EACmC;IAYpC,MAAM,EACJ,KAAK,EACL,MAAM,EAAE,SAAS,EACjB,UAAU,GAAG,IAAI,EACjB,aAAa,GAAG,gBAAgB,EAChC,SAAS,EACT,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,EACN,YAAY,GAAG,QAAQ,EACvB,SAAS,EACT,aAAa,EAAE,mBAAmB,GACnC,GAAG,OAAO,CAAC;IACZ,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,MAAM,EAAE;QAC/D,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,UAAgD,CAAC;IAC1E,MAAM,mBAAmB,GAAG,GAAG,KAAK,IAAI,aAAa,EAAE,CAAC;IACxD,MAAM,kBAAkB,GAAG,CAAC,GAA4B,EAAE,EAAE,CAC1D,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE/B,MAAM,EAAE,aAAa,EAAE,sBAAsB,EAAE,YAAY,EAAE,GAC3D,iCAAiC,CAAC,SAAS,CAAC,CAAC;IAE/C,2CAA2C;IAC3C,MAAM,oBAAoB,GAAG,CAAC,GAA4B,EAAgB,EAAE,CAAC;QAC3E,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACjE,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YAChD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAAA,CACf,CAAC;IAEF,MAAM,iBAAiB,GAAG,mBAAmB,IAAI,oBAAoB,CAAC;IAEtE,MAAM,iBAAiB,GAAG,KAAK,EAC7B,GAAkC,EACZ,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChE,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IAAA,CACnB,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAC7B,GAAoC,EACH,EAAE,CAAC;QACpC,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,SAAS,GAAG,GAA8B,CAAC;QACjD,MAAM,WAAW,GAAG,oBAAoB,CACtC,SAAS,EACT,kBAAkB,CAAC,SAAS,CAAC,EAC7B,YAAY,CACb,CAAC;QACF,OAAO,WAA8C,CAAC;IAAA,CACvD,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAC5B,GAA4B,EAC5B,aAAiC,EACA,EAAE,CAAC;QACpC,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,gBAAgB,CAAC,GAAsC,EAAE;gBAC9D,aAAa;aACd,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CACpC,GAAG,EACH,kBAAkB,CAAC,GAAG,CAAC,EACvB,YAAY,CACb,CAAC;QACF,OAAO,WAA8C,CAAC;IAAA,CACvD,CAAC;IAEF,kCAAkC;IAClC,MAAM,eAAe,GAAG,KAAK,EAC3B,GAAkD,EAClD,OAA4C,EACa,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAE1D,iCAAiC;QACjC,MAAM,eAAe,GAAgD,EAAE,CAAC;QACxE,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACjE,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAS;YACnC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC7D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACtC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,EAItC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAS,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAS,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACxB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAS,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC;aACjB,OAAO,CAAC,GAAG,CAAS,UAAU,CAAC,EAAE,KAAK,CAAC;aACvC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;aACnB,OAAO,EAAE,CAAC;QAEb,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAE/B,CAAC;QACd,MAAM,UAAU,GAAG,OAAO;YACxB,CAAC,CAAG,OAA+C,EAAE,CAAC,UAAU,CAEhD;YAChB,CAAC,CAAC,IAAI,CAAC;QAET,iCAAiC;QACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpC,sBAAsB,CAAC,CAAoC,CAAC,CAC7D,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,UAAU,EACR,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBACrD,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,IAAI;SACX,CAAC;IAAA,CACH,CAAC;IAEF,wCAAwC;IACxC,MAAM,qBAAqB,GAAG,KAAK,EACjC,GAAgD,EAChD,EAAiB,EACjB,OAAe,EACgB,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QAE5B,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACvB,OAAO;gBACL,MAAM,EAAE;oBACN,OAAO;oBACP,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,iBAAiB,EAAE,CAAC,KAAK,EAAE;oBAClC,IAAI,EAAE,eAAe;oBACrB,SAAS,EAAE,KAAK;iBACjB;gBACD,cAAc,EAAE,EAAE;aACnB,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO;oBACL,MAAM,EAAE;wBACN,OAAO;wBACP,MAAM,EAAE,OAAO;wBACf,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,KAAK;qBACzC;oBACD,cAAc,EAAE,EAAE;iBACnB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,MACd,GAAG,CAAC,UAAU,CAAC,KAAK,CAKrB;iBACE,KAAK,CAAC,GAAG,CAAS,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC;iBAC9C,YAAY,EAAE;iBACd,gBAAgB,EAAE,CAAC;YAEtB,MAAM,UAAU,GAAG,OAA8C,CAAC;YAClE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;YACxE,CAAC;YAED,2DAA2D;YAC3D,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAE7C,MAAM,OAAO,GAAkB;gBAC7B,KAAK;gBACL,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,EAAE,EAAE,QAAQ;gBACZ,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,IAAI;gBACjB,MAAM;aACP,CAAC;YAEF,OAAO;gBACL,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE;gBACtC,cAAc,EAAE,CAAC,OAAO,CAAC;aAC1B,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,MAAM,aAAa,GACjB,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ;YACnD,CAAC,CAAE,UAAsC;YACzC,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QAExE,IAAI,OAA4C,CAAC;QACjD,IAAI,eAAe,GAA6C,IAAI,CAAC;QAErE,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBAC5B,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC;gBACxC,MAAM,oBAAoB,GAA4B;oBACpD,GAAG,OAAO;oBACV,CAAC,aAAa,CAAC,EAAE,eAAe,GAAG,CAAC;iBACrC,CAAC;gBACF,OAAO,oBAAoB,CAAC,UAAU,CAAC,CAAC;gBACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9C,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;gBAED,OAAO,GAAG,CAAC,MACT,GAAG,CAAC,WAAW,CAAC,KAAK,CAMtB;qBACE,GAAG,CAAC,oBAAuC,CAAC;qBAC5C,KAAK,CAAC,GAAG,CAAS,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC;qBAC9C,KAAK,CAAC,GAAG,CAAS,aAAa,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC;qBACvD,YAAY,EAAE;qBACd,gBAAgB,EAAE,CAAwC,CAAC;gBAE9D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,WAAW,GAAG,MAChB,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,EAKhC;yBACE,KAAK,CAAC,GAAG,CAAS,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC;yBAC9C,gBAAgB,EAAE,CAAC;oBAEtB,IAAI,CAAC,WAAW,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;wBAC1C,MAAM,YAAY,GAA4B;4BAC5C,GAAG,OAAO;4BACV,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM;4BACvB,CAAC,aAAa,CAAC,EAAE,CAAC;yBACnB,CAAC;wBAEF,IAAI,CAAC;4BACH,OAAO,GAAG,CAAC,MACT,GAAG,CAAC,UAAU,CAAC,KAAK,CAKrB;iCACE,MAAM,CAAC,YAA+C,CAAC;iCACvD,YAAY,EAAE;iCACd,gBAAgB,EAAE,CAAwC,CAAC;wBAChE,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BACjE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;gCACzC,MAAM,GAAG,CAAC;4BACZ,CAAC;4BACD,WAAW,GAAG,MACZ,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,EAKhC;iCACE,KAAK,CAAC,GAAG,CAAS,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC;iCAC9C,gBAAgB,EAAE,CAAC;wBACxB,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;wBAC7B,OAAO;4BACL,MAAM,EAAE;gCACN,OAAO;gCACP,MAAM,EAAE,OAAO;gCACf,KAAK,EAAE,gCAAgC;gCACvC,IAAI,EAAE,aAAa;gCACnB,SAAS,EAAE,KAAK;6BACjB;4BACD,cAAc,EAAE,EAAE;yBACnB,CAAC;oBACJ,CAAC;oBAED,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC;wBAC5B,MAAM,eAAe,GAClB,WAAW,CAAC,aAAa,CAAwB,IAAI,CAAC,CAAC;wBAC1D,OAAO;4BACL,MAAM,EAAE;gCACN,OAAO;gCACP,MAAM,EAAE,UAAU;gCAClB,OAAO,EAAE,4BAA4B,eAAe,UAAU,eAAe,EAAE;gCAC/E,cAAc,EAAE,eAAe;gCAC/B,UAAU,EAAE,sBAAsB,CAChC,WAA8C,CAC/C;6BACF;4BACD,cAAc,EAAE,EAAE;yBACnB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAA4B;oBACzC,GAAG,OAAO;oBACV,CAAC,aAAa,CAAC,EAAE,GAAG,CAAA,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM;iBAC1D,CAAC;gBACF,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9C,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;gBAED,MAAM,YAAY,GAA4B;oBAC5C,GAAG,OAAO;oBACV,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM;oBACvB,CAAC,aAAa,CAAC,EAAE,CAAC;iBACnB,CAAC;gBAEF,OAAO,GAAG,CAAC,MACT,GAAG,CAAC,UAAU,CAAC,KAAK,CAKrB;qBACE,MAAM,CAAC,YAA+C,CAAC;qBACvD,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CACjB,EAAE;qBACC,MAAM,CAAC,gBAAgB,CAAC;qBACxB,WAAW,CAAC,SAA4B,CAAC,CAC7C;qBACA,YAAY,EAAE;qBACd,gBAAgB,EAAE,CAAwC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,EAAE,CAAC,YAAY,IAAI,IAAI,IAAI,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtE,MAAM,GAAG,GAAG,MACV,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,EAKhC;qBACE,KAAK,CAAC,GAAG,CAAS,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC;qBAC9C,gBAAgB,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,OAAO;wBACL,MAAM,EAAE;4BACN,OAAO;4BACP,MAAM,EAAE,OAAO;4BACf,KAAK,EAAE,gCAAgC;4BACvC,IAAI,EAAE,aAAa;4BACnB,SAAS,EAAE,KAAK;yBACjB;wBACD,cAAc,EAAE,EAAE;qBACnB,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,eAAe,GAAG;gBAChB,OAAO;gBACP,IAAI,EAAE,+BAA+B,CAAC,OAAO,CAAC;aAC/C,CAAC;QACJ,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO;gBACL,MAAM,EAAE;oBACN,OAAO;oBACP,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,eAAe,CAAC,OAAO;oBAC9B,IAAI,EAAE,eAAe,CAAC,IAAI;oBAC1B,SAAS,EAAE,KAAK;iBACjB;gBACD,cAAc,EAAE,EAAE;aACnB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC;QAC3B,MAAM,UAAU,GAAI,UAAU,CAAC,aAAa,CAAY,IAAI,CAAC,CAAC;QAE9D,kCAAkC;QAClC,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE7C,wCAAwC;QACxC,MAAM,OAAO,GAAG,sBAAsB,CACpC,OAA0C,CAC3C,CAAC;QAEF,MAAM,OAAO,GAAkB;YAC7B,KAAK;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,EAAE,EAAE,QAAQ;YACZ,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,UAAU;YACvB,MAAM;SACP,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE;YACtC,cAAc,EAAE,CAAC,OAAO,CAAC;SAC1B,CAAC;IAAA,CACH,CAAC;IAEF,MAAM,0BAA0B,GAAG,KAAK,EACtC,GAAgD,EAChD,UAAsC,EACL,EAAE,CAAC;QACpC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEvC,MAAM,qBAAqB,GAAG,KAAK,IAAqC,EAAE,CAAC;YACzE,MAAM,UAAU,GAA2B,EAAE,CAAC;YAC9C,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,MAAM,qBAAqB,CACzC,GAAG,EACH,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,OAAO,CACd,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACxC,MAAM;gBACR,CAAC;YACH,CAAC;YACD,OAAO,UAAU,CAAC;QAAA,CACnB,CAAC;QAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;YACzC,OAAO,qBAAqB,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,MAAM,QAAQ,GAIT,EAAE,CAAC;QACR,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/C,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBACxE,OAAO,qBAAqB,EAAE,CAAC;YACjC,CAAC;YACD,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,OAAO,qBAAqB,EAAE,CAAC;YACjC,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;YACpC,MAAM,aAAa,GACjB,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ;gBACnD,CAAC,CAAE,UAAsC;gBACzC,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,qBAAqB,CACnC,aAAa,EACb,GAAG,CAAC,aAAa,CACS,CAAC;YAE7B,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAErE,MAAM,YAAY,GAA4B;gBAC5C,GAAG,OAAO;gBACV,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM;gBACvB,CAAC,aAAa,CAAC,EAAE,CAAC;aACnB,CAAC;YAEF,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK;gBACL,OAAO;gBACP,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,qBAAqB,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC;QACzC,MAAM,SAAS,GAA4B;YACzC,GAAG,WAAW;YACd,CAAC,aAAa,CAAC,EAAE,GAAG,CAAA,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM;SAC1D,CAAC;QACF,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,CAAC,MACnB,GAAG,CAAC,UAAU,CAAC,KAAK,CAKrB;iBACE,MAAM,CACL,QAAQ,CAAC,GAAG,CACV,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAA+C,CAC/D,CACF;iBACA,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CACjB,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,SAA4B,CAAC,CACtE;iBACA,YAAY,EAAE;iBACd,OAAO,EAAE,CAA8B,CAAC;YAE3C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmC,CAAC;YAC/D,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;gBACnC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS;oBAAE,SAAS;gBAC9D,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC;gBACnC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,qBAAqB,EAAE,CAAC;gBACjC,CAAC;gBAED,MAAM,UAAU,GAAI,OAAO,CAAC,aAAa,CAAY,IAAI,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM,OAAO,GAAG,sBAAsB,CACpC,OAA0C,CAC3C,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE;oBAC1D,cAAc,EAAE;wBACd;4BACE,KAAK;4BACL,MAAM,EAAE,KAAK;4BACb,EAAE,EAAE,QAAQ;4BACZ,QAAQ,EAAE,OAAO;4BACjB,WAAW,EAAE,UAAU;4BACvB,MAAM;yBACP;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,OAAO,qBAAqB,EAAE,CAAC;YACjC,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IAAA,CACF,CAAC;IAEF,OAAO;QACL,KAAK;QACL,aAAa;QACb,SAAS;QACT,kBAAkB;QAClB,wCAAwC,EACtC,OAAO,CAAC,wCAAwC;YAChD,OAAO,CAAC,cAAc,KAAK,SAAS;QACtC,aAAa,EAAE,iBAAiB;QAChC,aAAa,EAAE,iBAAiB;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,eAAe;QAC7C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,qBAAqB;QAC/D,mBAAmB,EACjB,OAAO,CAAC,cAAc,KAAK,SAAS;YAClC,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,SAAS;KAChB,CAAC;AAAA,CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../src/notify.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAc,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AA2BjD,MAAM,WAAW,4BAA4B,CAAC,EAAE,SAAS,UAAU;IACjE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;IAC3B,iDAAiD;IACjD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,8BAA8B;IAC7C,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAAC,EAAE,SAAS,UAAU,EAClE,IAAI,EAAE,4BAA4B,CAAC,EAAE,CAAC,GACrC,OAAO,CAAC,8BAA8B,CAAC,CA4FzC"}
1
+ {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../src/notify.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAc,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,MAAM,WAAW,4BAA4B,CAAC,EAAE,SAAS,UAAU;IACjE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;IAC3B,iDAAiD;IACjD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,8BAA8B;IAC7C,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAAC,EAAE,SAAS,UAAU,EAClE,IAAI,EAAE,4BAA4B,CAAC,EAAE,CAAC,GACrC,OAAO,CAAC,8BAA8B,CAAC,CA2FzC"}
package/dist/notify.js CHANGED
@@ -8,34 +8,12 @@
8
8
  * ensuring clients receive the updated data.
9
9
  */
10
10
  import { randomId } from '@syncular/core';
11
+ import { coerceNumber, toDialectJsonValue } from './dialect/helpers.js';
11
12
  /**
12
13
  * Well-known client_id for external/synthetic commits.
13
14
  * Used by the pull handler to detect external data changes.
14
15
  */
15
16
  export const EXTERNAL_CLIENT_ID = '__external__';
16
- function toDialectJsonValue(dialect, value) {
17
- if (value === null || value === undefined)
18
- return null;
19
- if (dialect.family === 'sqlite')
20
- return JSON.stringify(value);
21
- return value;
22
- }
23
- function coerceNumber(value) {
24
- if (value === null || value === undefined)
25
- return null;
26
- if (typeof value === 'number') {
27
- return Number.isFinite(value) ? value : null;
28
- }
29
- if (typeof value === 'bigint') {
30
- const coerced = Number(value);
31
- return Number.isFinite(coerced) ? coerced : null;
32
- }
33
- if (typeof value === 'string') {
34
- const coerced = Number(value);
35
- return Number.isFinite(coerced) ? coerced : null;
36
- }
37
- return null;
38
- }
39
17
  /**
40
18
  * Notify the sync framework about external data changes.
41
19
  *
@@ -50,7 +28,8 @@ export async function notifyExternalDataChange(args) {
50
28
  const { db, dialect, tables } = args;
51
29
  const partitionId = args.partitionId ?? 'default';
52
30
  const actorId = args.actorId ?? EXTERNAL_CLIENT_ID;
53
- if (tables.length === 0) {
31
+ const uniqueTables = Array.from(new Set(tables.filter((table) => typeof table === 'string')));
32
+ if (uniqueTables.length === 0) {
54
33
  throw new Error('notifyExternalDataChange: tables must not be empty');
55
34
  }
56
35
  return dialect.executeInTransaction(db, async (trx) => {
@@ -65,7 +44,7 @@ export async function notifyExternalDataChange(args) {
65
44
  meta: null,
66
45
  result_json: toDialectJsonValue(dialect, { ok: true, status: 'applied' }),
67
46
  change_count: 0,
68
- affected_tables: dialect.arrayToDb(tables),
47
+ affected_tables: dialect.arrayToDb(uniqueTables),
69
48
  };
70
49
  let commitSeq = 0;
71
50
  if (dialect.supportsInsertReturning) {
@@ -95,7 +74,7 @@ export async function notifyExternalDataChange(args) {
95
74
  commitSeq = Number(inserted.commit_seq);
96
75
  }
97
76
  // 2. Insert sync_table_commits entries for each affected table
98
- const tableCommits = tables.map((table) => ({
77
+ const tableCommits = uniqueTables.map((table) => ({
99
78
  partition_id: partitionId,
100
79
  table,
101
80
  commit_seq: commitSeq,
@@ -105,19 +84,16 @@ export async function notifyExternalDataChange(args) {
105
84
  .values(tableCommits)
106
85
  .onConflict((oc) => oc.columns(['partition_id', 'table', 'commit_seq']).doNothing())
107
86
  .execute();
108
- // 3. Delete cached snapshot chunks for affected tables
109
- let deletedChunks = 0;
110
- for (const table of tables) {
111
- const result = await syncTrx
112
- .deleteFrom('sync_snapshot_chunks')
113
- .where('partition_id', '=', partitionId)
114
- .where('scope', '=', table)
115
- .executeTakeFirst();
116
- deletedChunks += Number(result?.numDeletedRows ?? 0);
117
- }
87
+ // 3. Delete cached snapshot chunks for affected tables.
88
+ const deletedResult = await syncTrx
89
+ .deleteFrom('sync_snapshot_chunks')
90
+ .where('partition_id', '=', partitionId)
91
+ .where('scope', 'in', uniqueTables)
92
+ .executeTakeFirst();
93
+ const deletedChunks = Number(deletedResult?.numDeletedRows ?? 0);
118
94
  return {
119
95
  commitSeq,
120
- tables,
96
+ tables: uniqueTables,
121
97
  deletedChunks,
122
98
  };
123
99
  });
@@ -1 +1 @@
1
- {"version":3,"file":"notify.js","sourceRoot":"","sources":["../src/notify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notify.js","sourceRoot":"","sources":["../src/notify.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,4 @@ export interface ProxyHandlerCollection {
4
4
  byTable: ReadonlyMap<string, ProxyTableHandler>;
5
5
  }
6
6
  export declare function createProxyHandlerCollection(handlers: ProxyTableHandler[]): ProxyHandlerCollection;
7
- export declare function getProxyHandler(collection: ProxyHandlerCollection, tableName: string): ProxyTableHandler | undefined;
8
- export declare function getProxyHandlerOrThrow(collection: ProxyHandlerCollection, tableName: string): ProxyTableHandler;
9
7
  //# sourceMappingURL=collection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../src/proxy/collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACjD;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,sBAAsB,CAWxB;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,sBAAsB,EAClC,SAAS,EAAE,MAAM,GAChB,iBAAiB,GAAG,SAAS,CAE/B;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,sBAAsB,EAClC,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAMnB"}
1
+ {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../src/proxy/collection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACjD;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,sBAAsB,CAMxB"}
@@ -1,21 +1,6 @@
1
+ import { createTableLookup } from '@syncular/core';
1
2
  export function createProxyHandlerCollection(handlers) {
2
- const byTable = new Map();
3
- for (const handler of handlers) {
4
- if (byTable.has(handler.table)) {
5
- throw new Error(`Proxy table handler already registered: ${handler.table}`);
6
- }
7
- byTable.set(handler.table, handler);
8
- }
3
+ const byTable = createTableLookup(handlers, (table) => `Proxy table handler already registered: ${table}`);
9
4
  return { handlers, byTable };
10
5
  }
11
- export function getProxyHandler(collection, tableName) {
12
- return collection.byTable.get(tableName);
13
- }
14
- export function getProxyHandlerOrThrow(collection, tableName) {
15
- const handler = collection.byTable.get(tableName);
16
- if (!handler) {
17
- throw new Error(`No proxy table handler for table: ${tableName}`);
18
- }
19
- return handler;
20
- }
21
6
  //# sourceMappingURL=collection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collection.js","sourceRoot":"","sources":["../../src/proxy/collection.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,4BAA4B,CAC1C,QAA6B,EACL;IACxB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,CAAC,KAAK,EAAE,CAC3D,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAAA,CAC9B;AAED,MAAM,UAAU,eAAe,CAC7B,UAAkC,EAClC,SAAiB,EACc;IAC/B,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAAA,CAC1C;AAED,MAAM,UAAU,sBAAsB,CACpC,UAAkC,EAClC,SAAiB,EACE;IACnB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,OAAO,CAAC;AAAA,CAChB"}
1
+ {"version":3,"file":"collection.js","sourceRoot":"","sources":["../../src/proxy/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAQnD,MAAM,UAAU,4BAA4B,CAC1C,QAA6B,EACL;IACxB,MAAM,OAAO,GAAG,iBAAiB,CAC/B,QAAQ,EACR,CAAC,KAAK,EAAE,EAAE,CAAC,2CAA2C,KAAK,EAAE,CAC9D,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAAA,CAC9B"}
@@ -6,7 +6,7 @@
6
6
  import type { Kysely } from 'kysely';
7
7
  import type { ServerSyncDialect } from '../dialect/types';
8
8
  import type { SyncCoreDb } from '../schema';
9
- import { type ProxyHandlerCollection } from './collection';
9
+ import type { ProxyHandlerCollection } from './collection';
10
10
  import type { ProxyQueryContext } from './types';
11
11
  export interface ExecuteProxyQueryArgs<DB extends SyncCoreDb = SyncCoreDb> {
12
12
  /** Database connection or transaction */
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/proxy/handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAQ5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,qBAAqB,CAAC,EAAE,SAAS,UAAU,GAAG,UAAU;IACvE,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACf,0BAA0B;IAC1B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,EAAE,sBAAsB,CAAC;IACjC,uCAAuC;IACvC,GAAG,EAAE,iBAAiB,CAAC;IACvB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,UAAU,EAAE,SAAS,OAAO,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAiDD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,SAAS,UAAU,EAC3D,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CAyDlC"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/proxy/handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAQ3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,qBAAqB,CAAC,EAAE,SAAS,UAAU,GAAG,UAAU;IACvE,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACf,0BAA0B;IAC1B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,EAAE,sBAAsB,CAAC;IACjC,uCAAuC;IACvC,GAAG,EAAE,iBAAiB,CAAC;IACvB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,UAAU,EAAE,SAAS,OAAO,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAiDD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,SAAS,UAAU,EAC3D,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CAyDlC"}
@@ -4,7 +4,6 @@
4
4
  * Executes proxied queries with automatic oplog generation for mutations.
5
5
  */
6
6
  import { sql } from 'kysely';
7
- import { getProxyHandler } from './collection.js';
8
7
  import { appendReturning, detectMutation, hasReturningClause, hasReturningWildcard, } from './mutation-detector.js';
9
8
  import { createOplogEntries } from './oplog.js';
10
9
  /**
@@ -62,7 +61,7 @@ export async function executeProxyQuery(args) {
62
61
  return { rows: result.rows };
63
62
  }
64
63
  // Check if this table has a registered handler
65
- const handler = getProxyHandler(handlers, mutation.tableName);
64
+ const handler = handlers.byTable.get(mutation.tableName);
66
65
  if (!handler) {
67
66
  // No handler registered - execute without oplog
68
67
  // This allows proxy operations on non-synced tables
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/proxy/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/proxy/handler.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Server-side proxy functionality for database access.
5
5
  */
6
- export { createProxyHandlerCollection, getProxyHandler, getProxyHandlerOrThrow, type ProxyHandlerCollection, } from './collection';
6
+ export { createProxyHandlerCollection, type ProxyHandlerCollection, } from './collection';
7
7
  export { type ExecuteProxyQueryArgs, type ExecuteProxyQueryResult, executeProxyQuery, } from './handler';
8
8
  export { type DetectedMutation, detectMutation } from './mutation-detector';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proxy/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,4BAA4B,EAC5B,eAAe,EACf,sBAAsB,EACtB,KAAK,sBAAsB,GAC5B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,KAAK,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proxy/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,4BAA4B,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,KAAK,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  // Oplog creation
7
7
  // Collections
8
- export { createProxyHandlerCollection, getProxyHandler, getProxyHandlerOrThrow, } from './collection.js';
8
+ export { createProxyHandlerCollection, } from './collection.js';
9
9
  // Query execution
10
10
  export { executeProxyQuery, } from './handler.js';
11
11
  // Mutation detection
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/proxy/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iBAAiB;AACjB,cAAc;AACd,OAAO,EACL,4BAA4B,EAC5B,eAAe,EACf,sBAAsB,GAEvB,MAAM,cAAc,CAAC;AACtB,kBAAkB;AAClB,OAAO,EAGL,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,qBAAqB;AACrB,OAAO,EAAyB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC5E,QAAQ"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/proxy/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iBAAiB;AACjB,cAAc;AACd,OAAO,EACL,4BAA4B,GAE7B,MAAM,cAAc,CAAC;AACtB,kBAAkB;AAClB,OAAO,EAGL,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,qBAAqB;AACrB,OAAO,EAAyB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC5E,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"oplog.d.ts","sourceRoot":"","sources":["../../src/proxy/oplog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,KAAK,MAAM,EAAO,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAWjD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;IACpE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACjC,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAiH3D"}
1
+ {"version":3,"file":"oplog.d.ts","sourceRoot":"","sources":["../../src/proxy/oplog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,KAAK,MAAM,EAAO,MAAM,QAAQ,CAAC;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;IACpE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACjC,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAiH3D"}