@powersync/service-sync-rules 0.42.0 → 0.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/README.md +49 -14
  2. package/dist/BucketSource.d.ts +2 -2
  3. package/dist/HydratedSyncConfig.d.ts +2 -0
  4. package/dist/HydratedSyncConfig.js +9 -3
  5. package/dist/HydratedSyncConfig.js.map +1 -1
  6. package/dist/SourceTableConfig.d.ts +42 -0
  7. package/dist/SourceTableConfig.js +152 -0
  8. package/dist/SourceTableConfig.js.map +1 -0
  9. package/dist/SqlSyncRules.d.ts +14 -0
  10. package/dist/SqlSyncRules.js +2 -1
  11. package/dist/SqlSyncRules.js.map +1 -1
  12. package/dist/StorageVersion.d.ts +0 -1
  13. package/dist/StorageVersion.js +0 -1
  14. package/dist/StorageVersion.js.map +1 -1
  15. package/dist/SyncConfig.d.ts +3 -1
  16. package/dist/SyncConfig.js +3 -1
  17. package/dist/SyncConfig.js.map +1 -1
  18. package/dist/SyncConfigDiagnostics.d.ts +12 -0
  19. package/dist/SyncConfigDiagnostics.js +2 -0
  20. package/dist/SyncConfigDiagnostics.js.map +1 -0
  21. package/dist/TablePattern.d.ts +2 -2
  22. package/dist/TablePattern.js +17 -7
  23. package/dist/TablePattern.js.map +1 -1
  24. package/dist/compatibility.d.ts +2 -1
  25. package/dist/compatibility.js +4 -2
  26. package/dist/compatibility.js.map +1 -1
  27. package/dist/compiler/compiler.d.ts +4 -4
  28. package/dist/compiler/compiler.js +2 -2
  29. package/dist/compiler/equality.d.ts +2 -2
  30. package/dist/compiler/equality.js +2 -2
  31. package/dist/compiler/expression.d.ts +3 -3
  32. package/dist/compiler/expression.js +2 -2
  33. package/dist/compiler/parser.d.ts +1 -1
  34. package/dist/compiler/parser.js +2 -2
  35. package/dist/compiler/sqlite.js +1 -2
  36. package/dist/compiler/sqlite.js.map +1 -1
  37. package/dist/compiler/table.d.ts +2 -2
  38. package/dist/compiler/table.js +1 -1
  39. package/dist/from_yaml.d.ts +3 -1
  40. package/dist/from_yaml.js +121 -26
  41. package/dist/from_yaml.js.map +1 -1
  42. package/dist/index.d.ts +5 -0
  43. package/dist/index.js +5 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/json.d.ts +7 -0
  46. package/dist/json.js +2 -0
  47. package/dist/json.js.map +1 -0
  48. package/dist/json_schema.d.ts +10 -0
  49. package/dist/json_schema.js +26 -7
  50. package/dist/json_schema.js.map +1 -1
  51. package/dist/legacy/BaseSqlDataQuery.d.ts +12 -0
  52. package/dist/legacy/BaseSqlDataQuery.js +3 -0
  53. package/dist/legacy/BaseSqlDataQuery.js.map +1 -1
  54. package/dist/legacy/SqlBucketDescriptor.d.ts +9 -0
  55. package/dist/legacy/SqlBucketDescriptor.js +6 -0
  56. package/dist/legacy/SqlBucketDescriptor.js.map +1 -1
  57. package/dist/legacy/SqlDataQuery.d.ts +6 -0
  58. package/dist/legacy/SqlDataQuery.js +3 -0
  59. package/dist/legacy/SqlDataQuery.js.map +1 -1
  60. package/dist/legacy/SqlParameterQuery.d.ts +4 -0
  61. package/dist/legacy/SqlParameterQuery.js +1 -0
  62. package/dist/legacy/SqlParameterQuery.js.map +1 -1
  63. package/dist/legacy/StaticSqlParameterQuery.d.ts +4 -0
  64. package/dist/legacy/StaticSqlParameterQuery.js +1 -0
  65. package/dist/legacy/StaticSqlParameterQuery.js.map +1 -1
  66. package/dist/legacy/TableQuerySchema.d.ts +1 -0
  67. package/dist/legacy/TableQuerySchema.js +1 -0
  68. package/dist/legacy/TableQuerySchema.js.map +1 -1
  69. package/dist/legacy/TableValuedFunctionSqlParameterQuery.d.ts +4 -0
  70. package/dist/legacy/TableValuedFunctionSqlParameterQuery.js +1 -0
  71. package/dist/legacy/TableValuedFunctionSqlParameterQuery.js.map +1 -1
  72. package/dist/legacy/sql_filters.d.ts +13 -0
  73. package/dist/legacy/sql_filters.js +10 -0
  74. package/dist/legacy/sql_filters.js.map +1 -1
  75. package/dist/legacy/sql_support.d.ts +33 -0
  76. package/dist/legacy/sql_support.js +33 -0
  77. package/dist/legacy/sql_support.js.map +1 -1
  78. package/dist/legacy/streams/filter.d.ts +22 -0
  79. package/dist/legacy/streams/filter.js +19 -0
  80. package/dist/legacy/streams/filter.js.map +1 -1
  81. package/dist/legacy/streams/from_sql.d.ts +3 -0
  82. package/dist/legacy/streams/from_sql.js +5 -2
  83. package/dist/legacy/streams/from_sql.js.map +1 -1
  84. package/dist/legacy/streams/functions.d.ts +3 -0
  85. package/dist/legacy/streams/functions.js +3 -0
  86. package/dist/legacy/streams/functions.js.map +1 -1
  87. package/dist/legacy/streams/parameter.d.ts +10 -0
  88. package/dist/legacy/streams/stream.d.ts +7 -1
  89. package/dist/legacy/streams/stream.js +7 -1
  90. package/dist/legacy/streams/stream.js.map +1 -1
  91. package/dist/legacy/streams/variant.d.ts +6 -0
  92. package/dist/legacy/streams/variant.js +1 -0
  93. package/dist/legacy/streams/variant.js.map +1 -1
  94. package/dist/legacy/validators.d.ts +1 -0
  95. package/dist/legacy/validators.js +1 -0
  96. package/dist/legacy/validators.js.map +1 -1
  97. package/dist/mongo/MongoBsonValidators.d.ts +78 -0
  98. package/dist/mongo/MongoBsonValidators.js +129 -0
  99. package/dist/mongo/MongoBsonValidators.js.map +1 -0
  100. package/dist/mongo/MongoFilterExpression.d.ts +65 -0
  101. package/dist/mongo/MongoFilterExpression.js +183 -0
  102. package/dist/mongo/MongoFilterExpression.js.map +1 -0
  103. package/dist/mongo/MongoFilterValidation.d.ts +28 -0
  104. package/dist/mongo/MongoFilterValidation.js +47 -0
  105. package/dist/mongo/MongoFilterValidation.js.map +1 -0
  106. package/dist/schema-generators/TsSchemaGenerator.d.ts +1 -0
  107. package/dist/schema-generators/TsSchemaGenerator.js +15 -9
  108. package/dist/schema-generators/TsSchemaGenerator.js.map +1 -1
  109. package/dist/sync_plan/evaluator/bucket_source.js +1 -1
  110. package/dist/sync_plan/evaluator/parameter_evaluator.d.ts +1 -1
  111. package/dist/sync_plan/evaluator/parameter_evaluator.js +1 -1
  112. package/dist/sync_plan/plan.d.ts +3 -1
  113. package/dist/sync_plan/schema_inference.d.ts +1 -1
  114. package/dist/sync_plan/schema_inference.js +1 -1
  115. package/dist/sync_plan/serialize.d.ts +13 -2
  116. package/dist/sync_plan/serialize.js +17 -8
  117. package/dist/sync_plan/serialize.js.map +1 -1
  118. package/dist/types.d.ts +1 -8
  119. package/dist/types.js +8 -13
  120. package/dist/types.js.map +1 -1
  121. package/dist/utils.d.ts +1 -0
  122. package/dist/utils.js +43 -12
  123. package/dist/utils.js.map +1 -1
  124. package/dist/yaml_source_locations.d.ts +14 -0
  125. package/dist/yaml_source_locations.js +112 -0
  126. package/dist/yaml_source_locations.js.map +1 -0
  127. package/dist/yaml_validation.js.map +1 -1
  128. package/package.json +9 -3
  129. package/schema/sync_config.json +620 -0
  130. package/schema/sync_rules.json +387 -4
@@ -11,6 +11,7 @@ import { ParameterValueSet, RequestParameters, SqliteJsonValue, SqliteValue, Tab
11
11
  *
12
12
  * 1. Values in the row to sync are compared against request parameters: {@link CompareRowValueWithStreamParameter}.
13
13
  * 2. Values in the row to sync are compared against a subquery: {@link InOperator}.
14
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
14
15
  */
15
16
  export interface BucketParameter {
16
17
  lookup: StaticLookup | EqualsRowInSubqueryLookup | OverlapsSubqueryLookup;
@@ -26,11 +27,17 @@ export interface BucketParameter {
26
27
  */
27
28
  filterRow(row: TableRow): SqliteJsonValue[];
28
29
  }
30
+ /**
31
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
32
+ */
29
33
  export interface SubqueryEvaluator {
30
34
  parameterTable: TablePattern;
31
35
  indexLookupCreators(): ParameterIndexLookupCreator[];
32
36
  hydrateLookupsForRequest(hydrationState: HydrationState): (params: RequestParameters) => ScopedParameterLookup[];
33
37
  }
38
+ /**
39
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
40
+ */
34
41
  export interface SubqueryLookups {
35
42
  lookups: UnscopedParameterLookup[];
36
43
  /**
@@ -40,6 +47,7 @@ export interface SubqueryLookups {
40
47
  }
41
48
  /**
42
49
  * An association of rows to subscription parameters that does not depend on a subquery.
50
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
43
51
  */
44
52
  export interface StaticLookup {
45
53
  type: 'static';
@@ -53,6 +61,7 @@ export interface StaticLookup {
53
61
  }
54
62
  /**
55
63
  * An association of rows that is matched if a value in the source row is contained in the results of a subquery.
64
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
56
65
  */
57
66
  export interface EqualsRowInSubqueryLookup {
58
67
  type: 'in';
@@ -61,6 +70,7 @@ export interface EqualsRowInSubqueryLookup {
61
70
  /**
62
71
  * An association of rows that is matched if a source-row value (interpreted as a JSON array) overlaps with rows
63
72
  * contained in the results of a subqery.
73
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
64
74
  */
65
75
  export interface OverlapsSubqueryLookup {
66
76
  type: 'overlap';
@@ -6,6 +6,9 @@ import { TablePattern } from '../../TablePattern.js';
6
6
  import { EvaluateRowOptions, SourceSchema, UnscopedEvaluationResult } from '../../types.js';
7
7
  import { BaseSqlDataQuery } from '../BaseSqlDataQuery.js';
8
8
  import { StreamVariant } from './variant.js';
9
+ /**
10
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
11
+ */
9
12
  export declare class SyncStream implements BucketSource {
10
13
  name: string;
11
14
  subscribedToByDefault: boolean;
@@ -30,13 +33,16 @@ export declare class SyncStream implements BucketSource {
30
33
  };
31
34
  hydrate(params: CreateSourceParams): HydratedBucketSource;
32
35
  }
36
+ /**
37
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
38
+ */
33
39
  export declare class SyncStreamDataSource implements BucketDataSource, BucketDataEvaluator {
34
40
  private stream;
35
41
  private data;
36
42
  private variant;
37
43
  constructor(stream: SyncStream, data: BaseSqlDataQuery, variant: StreamVariant);
38
44
  /**
39
- * Not relevant for sync streams.
45
+ * Not relevant for Sync Streams.
40
46
  */
41
47
  get bucketParameters(): never[];
42
48
  get uniqueName(): string;
@@ -1,5 +1,8 @@
1
1
  import { DEFAULT_BUCKET_PRIORITY } from '../../BucketDescription.js';
2
2
  import { BucketSourceType } from '../../BucketSource.js';
3
+ /**
4
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
5
+ */
3
6
  export class SyncStream {
4
7
  name;
5
8
  subscribedToByDefault;
@@ -54,6 +57,9 @@ export class SyncStream {
54
57
  };
55
58
  }
56
59
  }
60
+ /**
61
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
62
+ */
57
63
  export class SyncStreamDataSource {
58
64
  stream;
59
65
  data;
@@ -64,7 +70,7 @@ export class SyncStreamDataSource {
64
70
  this.variant = variant;
65
71
  }
66
72
  /**
67
- * Not relevant for sync streams.
73
+ * Not relevant for Sync Streams.
68
74
  */
69
75
  get bucketParameters() {
70
76
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/legacy/streams/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/legacy/streams/stream.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ import { SyncStream } from './stream.js';
26
26
  * Multiple variants may cause the same row to get synced via different buckets. Depending on the request, users may
27
27
  * also receive multiple buckets with the same data. This is not an issue! Clients deduplicate rows received across
28
28
  * buckets, so we don't have to filter for this case in the sync service.
29
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
29
30
  */
30
31
  export declare class StreamVariant {
31
32
  id: number;
@@ -90,6 +91,7 @@ export declare class StreamVariant {
90
91
  }
91
92
  /**
92
93
  * A stateless filter condition that only depends on the request itself, e.g. `WHERE token_parameters.is_admin`.
94
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
93
95
  */
94
96
  export interface StaticRequestFilter {
95
97
  type: 'static';
@@ -98,6 +100,7 @@ export interface StaticRequestFilter {
98
100
  /**
99
101
  * A filter condition that depends on parameters and an evaluated subquery, e.g.
100
102
  * `WHERE request.user_id() IN (SELECT id FROM users WHERE ...)`.
103
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
101
104
  */
102
105
  export interface SubqueryRequestFilter {
103
106
  type: 'dynamic';
@@ -109,6 +112,9 @@ export interface SubqueryRequestFilter {
109
112
  */
110
113
  matches(params: RequestParameters, results: SqliteJsonValue[]): boolean;
111
114
  }
115
+ /**
116
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
117
+ */
112
118
  export type RequestFilter = StaticRequestFilter | SubqueryRequestFilter;
113
119
  type HydratedSubqueries = Map<SubqueryEvaluator, (params: RequestParameters) => ScopedParameterLookup[]>;
114
120
  export {};
@@ -21,6 +21,7 @@ import { bucketDescription, cartesianProduct, isJsonValue, JSONBucketNameSeriali
21
21
  * Multiple variants may cause the same row to get synced via different buckets. Depending on the request, users may
22
22
  * also receive multiple buckets with the same data. This is not an issue! Clients deduplicate rows received across
23
23
  * buckets, so we don't have to filter for this case in the sync service.
24
+ * @deprecated Alpha Sync Streams implementation for `config.edition` 1 and 2, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
24
25
  */
25
26
  export class StreamVariant {
26
27
  id;
@@ -1 +1 @@
1
- {"version":3,"file":"variant.js","sourceRoot":"","sources":["../../../src/legacy/streams/variant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variant.js","sourceRoot":"","sources":["../../../src/legacy/streams/variant.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { CompiledClause } from '../types.js';
2
2
  /**
3
3
  * Detects the use of request parameters in a compiled clause.
4
+ * @deprecated Legacy Sync Rules (`bucket_definitions`) implementation, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
4
5
  */
5
6
  export declare class DetectRequestParameters {
6
7
  /** request.user_id(), request.jwt(), token_parameters.* */
@@ -3,6 +3,7 @@ import { isLegacyParameterFromTableClause } from '../types.js';
3
3
  import { isParameterMatchClause } from './sql_support.js';
4
4
  /**
5
5
  * Detects the use of request parameters in a compiled clause.
6
+ * @deprecated Legacy Sync Rules (`bucket_definitions`) implementation, kept for backwards compatibility until the next major version. See `src/legacy/README.md`.
6
7
  */
7
8
  export class DetectRequestParameters {
8
9
  /** request.user_id(), request.jwt(), token_parameters.* */
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/legacy/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAkB,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAClC,2DAA2D;IAC3D,kCAAkC,GAAY,KAAK,CAAC;IACpD,8CAA8C;IAC9C,oCAAoC,GAAY,KAAK,CAAC;IACtD,+DAA+D;IAC/D,oBAAoB,GAAY,KAAK,CAAC;IAEtC,MAAM,CAAC,MAAuB;QAC5B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YAE1B,IAAI,CAAC,kCAAkC,KAAK,CAAC,CAAC,cAAc,IAAI,eAAe,CAAC;YAChF,IAAI,CAAC,oCAAoC;gBACvC,CAAC,CAAC,cAAc,IAAI,iBAAiB,IAAI,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC;YAC9E,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC;QACnE,CAAC;aAAM,IAAI,gCAAgC,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,KAAK,IAAI,kBAAkB,EAAE,CAAC;gBAChC,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC;YACjD,CAAC;iBAAM,IAAI,KAAK,IAAI,iBAAiB,EAAE,CAAC;gBACtC,IAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC;YACnD,CAAC;QACH,CAAC;aAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YACxE,kHAAkH;YAClH,cAAc;YACd,MAAM,WAAW,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAEnD,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,aAAc,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1B,IAAI,YAAY,EAAE,CAAC;oBACjB,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,kCAAkC;gBACrC,WAAW,CAAC,kCAAkC,IAAI,YAAY,CAAC,kCAAkC,CAAC;YAEpG,yFAAyF;YACzF,IAAI,CAAC,oCAAoC,KAAK,WAAW,CAAC,oCAAoC,CAAC;YAC/F,IAAI,CAAC,oCAAoC,KAAK,YAAY,CAAC,oCAAoC,CAAC;YAChG,OAAO;QACT,CAAC;QAED,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,CAAC,OAAiC;QACzC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/legacy/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAkB,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAClC,2DAA2D;IAC3D,kCAAkC,GAAY,KAAK,CAAC;IACpD,8CAA8C;IAC9C,oCAAoC,GAAY,KAAK,CAAC;IACtD,+DAA+D;IAC/D,oBAAoB,GAAY,KAAK,CAAC;IAEtC,MAAM,CAAC,MAAuB;QAC5B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YAE1B,IAAI,CAAC,kCAAkC,KAAK,CAAC,CAAC,cAAc,IAAI,eAAe,CAAC;YAChF,IAAI,CAAC,oCAAoC;gBACvC,CAAC,CAAC,cAAc,IAAI,iBAAiB,IAAI,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC;YAC9E,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC;QACnE,CAAC;aAAM,IAAI,gCAAgC,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,KAAK,IAAI,kBAAkB,EAAE,CAAC;gBAChC,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC;YACjD,CAAC;iBAAM,IAAI,KAAK,IAAI,iBAAiB,EAAE,CAAC;gBACtC,IAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC;YACnD,CAAC;QACH,CAAC;aAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YACxE,kHAAkH;YAClH,cAAc;YACd,MAAM,WAAW,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAEnD,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,aAAc,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1B,IAAI,YAAY,EAAE,CAAC;oBACjB,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,kCAAkC;gBACrC,WAAW,CAAC,kCAAkC,IAAI,YAAY,CAAC,kCAAkC,CAAC;YAEpG,yFAAyF;YACzF,IAAI,CAAC,oCAAoC,KAAK,WAAW,CAAC,oCAAoC,CAAC;YAC/F,IAAI,CAAC,oCAAoC,KAAK,YAAY,CAAC,oCAAoC,CAAC;YAChG,OAAO;QACT,CAAC;QAED,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,CAAC,OAAiC;QACzC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Specialized payload checks attached directly to Zod schemas. Wrapper selection and recursion belong to the schema.
3
+ * This validates the filter's supported EJSON subset without replacing authored values with BSON instances.
4
+ * EJSON.deserialize alone is not a strict validator: the BSON library can coerce overflowing integers or
5
+ * normalize malformed base64 instead of rejecting them. Explicit bounds and syntax checks prevent those coercions;
6
+ * BSON still supplies Decimal128 representability and binary subtype checks where appropriate.
7
+ * Date strings deliberately retain the library's Date.parse behavior rather than strict calendar validation.
8
+ * See docs/replication/sync-config-parsing.md for the differences from general Extended JSON.
9
+ */
10
+ export declare const MONGO_BSON_VALIDATORS: {
11
+ readonly mongoNumber: {
12
+ readonly type: "number";
13
+ /**
14
+ * Plain integer literals have an Int32 interpretation; larger integers must select an EJSON type explicitly.
15
+ */
16
+ readonly validate: (value: unknown) => void;
17
+ };
18
+ readonly mongoInt32: {
19
+ readonly type: "string";
20
+ /**
21
+ * Checks a canonical Int32 payload against its signed bounds.
22
+ * In BSON 6.10.4, EJSON.deserialize({ $numberInt: '2147483648' }, { relaxed: false })
23
+ * wraps to -2147483648. Default relaxed mode instead returns the out-of-range JS number 2147483648.
24
+ * Reject the overflow in either case rather than relying on deserialization to validate the bounds.
25
+ */
26
+ readonly validate: (value: unknown) => void;
27
+ };
28
+ readonly mongoInt64: {
29
+ readonly type: "string";
30
+ /**
31
+ * Checks a canonical Int64 payload using exact integer arithmetic.
32
+ * In BSON 6.10.4, EJSON.deserialize({ $numberLong: '9223372036854775808' }, { relaxed: false })
33
+ * wraps to Long(-9223372036854775808). Default relaxed mode also wraps, then loses precision when
34
+ * converting to a JS number. Checking with BigInt rejects the overflow before either conversion.
35
+ */
36
+ readonly validate: (value: unknown) => void;
37
+ };
38
+ readonly mongoDouble: {
39
+ readonly type: "string";
40
+ /**
41
+ * Rejects overflow to infinity after the schema checks decimal/exponent syntax.
42
+ */
43
+ readonly validate: (value: unknown) => void;
44
+ };
45
+ readonly mongoDecimal128: {
46
+ readonly type: "string";
47
+ /**
48
+ * Delegates representability to BSON rather than converting through a lossy JavaScript number.
49
+ */
50
+ readonly validate: (value: unknown) => void;
51
+ };
52
+ readonly mongoDateString: {
53
+ readonly type: "string";
54
+ /**
55
+ * Requires a finite timestamp after the schema checks the timestamp format and explicit timezone.
56
+ * BSON's EJSON date-string conversion also uses Date.parse, including its calendar normalization
57
+ * (for example, 2026-02-29 becomes March 1). This does not enforce strict calendar validity.
58
+ */
59
+ readonly validate: (value: unknown) => void;
60
+ };
61
+ readonly mongoDateMillis: {
62
+ readonly type: "string";
63
+ /**
64
+ * BSON dates are restored as JavaScript Date objects and must fit their supported millisecond range.
65
+ */
66
+ readonly validate: (value: unknown) => void;
67
+ };
68
+ readonly mongoBinary: {
69
+ readonly type: "object";
70
+ /**
71
+ * Checks BSON subtype constraints, including UUID byte length, after structural byte-encoding validation.
72
+ * BSON 6.10.4 accepts { $binary: { base64: 'AQI', subType: '0' } } in both relaxed and typed modes;
73
+ * re-serialization produces base64 'AQI=' and subtype '00'. The Zod schema rejects missing padding
74
+ * and one-digit subtypes independently before this check, requiring the canonical spelling we support.
75
+ */
76
+ readonly validate: (value: unknown) => void;
77
+ };
78
+ };
@@ -0,0 +1,129 @@
1
+ import { Decimal128, EJSON } from 'bson';
2
+ import { MongoFilterValidationError } from './MongoFilterValidation.js';
3
+ /**
4
+ * Reports a payload error relative to the codec node; Zod supplies the surrounding source path.
5
+ */
6
+ function fail(message) {
7
+ throw new MongoFilterValidationError({ path: [], message });
8
+ }
9
+ /**
10
+ * Checks integer-string bounds without losing Int64 precision. Syntax is constrained by the codec's pattern.
11
+ */
12
+ function integerRange(value, minimum, maximum) {
13
+ if (typeof value != 'string' || !/^-?(?:0|[1-9][0-9]*)$/.test(value))
14
+ return;
15
+ const parsed = BigInt(value);
16
+ if (parsed < minimum || parsed > maximum)
17
+ fail('integer is outside the supported BSON range.');
18
+ }
19
+ /**
20
+ * Specialized payload checks attached directly to Zod schemas. Wrapper selection and recursion belong to the schema.
21
+ * This validates the filter's supported EJSON subset without replacing authored values with BSON instances.
22
+ * EJSON.deserialize alone is not a strict validator: the BSON library can coerce overflowing integers or
23
+ * normalize malformed base64 instead of rejecting them. Explicit bounds and syntax checks prevent those coercions;
24
+ * BSON still supplies Decimal128 representability and binary subtype checks where appropriate.
25
+ * Date strings deliberately retain the library's Date.parse behavior rather than strict calendar validation.
26
+ * See docs/replication/sync-config-parsing.md for the differences from general Extended JSON.
27
+ */
28
+ export const MONGO_BSON_VALIDATORS = {
29
+ mongoNumber: {
30
+ type: 'number',
31
+ /**
32
+ * Plain integer literals have an Int32 interpretation; larger integers must select an EJSON type explicitly.
33
+ */
34
+ validate(value) {
35
+ if (typeof value == 'number' && Number.isInteger(value) && (value < -2_147_483_648 || value > 2_147_483_647)) {
36
+ fail('integers outside the BSON Int32 range require an EJSON wrapper.');
37
+ }
38
+ }
39
+ },
40
+ mongoInt32: {
41
+ type: 'string',
42
+ /**
43
+ * Checks a canonical Int32 payload against its signed bounds.
44
+ * In BSON 6.10.4, EJSON.deserialize({ $numberInt: '2147483648' }, { relaxed: false })
45
+ * wraps to -2147483648. Default relaxed mode instead returns the out-of-range JS number 2147483648.
46
+ * Reject the overflow in either case rather than relying on deserialization to validate the bounds.
47
+ */
48
+ validate(value) {
49
+ integerRange(value, -2147483648n, 2147483647n);
50
+ }
51
+ },
52
+ mongoInt64: {
53
+ type: 'string',
54
+ /**
55
+ * Checks a canonical Int64 payload using exact integer arithmetic.
56
+ * In BSON 6.10.4, EJSON.deserialize({ $numberLong: '9223372036854775808' }, { relaxed: false })
57
+ * wraps to Long(-9223372036854775808). Default relaxed mode also wraps, then loses precision when
58
+ * converting to a JS number. Checking with BigInt rejects the overflow before either conversion.
59
+ */
60
+ validate(value) {
61
+ integerRange(value, -9223372036854775808n, 9223372036854775807n);
62
+ }
63
+ },
64
+ mongoDouble: {
65
+ type: 'string',
66
+ /**
67
+ * Rejects overflow to infinity after the schema checks decimal/exponent syntax.
68
+ */
69
+ validate(value) {
70
+ if (!Number.isFinite(Number(value)))
71
+ fail('expected a finite Extended JSON double string.');
72
+ }
73
+ },
74
+ mongoDecimal128: {
75
+ type: 'string',
76
+ /**
77
+ * Delegates representability to BSON rather than converting through a lossy JavaScript number.
78
+ */
79
+ validate(value) {
80
+ if (typeof value != 'string' || /nan|inf/i.test(value))
81
+ fail('expected a finite Extended JSON Decimal128 string.');
82
+ try {
83
+ Decimal128.fromString(value);
84
+ }
85
+ catch {
86
+ fail('expected a valid Extended JSON Decimal128 string.');
87
+ }
88
+ }
89
+ },
90
+ mongoDateString: {
91
+ type: 'string',
92
+ /**
93
+ * Requires a finite timestamp after the schema checks the timestamp format and explicit timezone.
94
+ * BSON's EJSON date-string conversion also uses Date.parse, including its calendar normalization
95
+ * (for example, 2026-02-29 becomes March 1). This does not enforce strict calendar validity.
96
+ */
97
+ validate(value) {
98
+ if (typeof value != 'string' || !Number.isFinite(Date.parse(value)))
99
+ fail('expected a valid ISO date string.');
100
+ }
101
+ },
102
+ mongoDateMillis: {
103
+ type: 'string',
104
+ /**
105
+ * BSON dates are restored as JavaScript Date objects and must fit their supported millisecond range.
106
+ */
107
+ validate(value) {
108
+ integerRange(value, -8640000000000000n, 8640000000000000n);
109
+ }
110
+ },
111
+ mongoBinary: {
112
+ type: 'object',
113
+ /**
114
+ * Checks BSON subtype constraints, including UUID byte length, after structural byte-encoding validation.
115
+ * BSON 6.10.4 accepts { $binary: { base64: 'AQI', subType: '0' } } in both relaxed and typed modes;
116
+ * re-serialization produces base64 'AQI=' and subtype '00'. The Zod schema rejects missing padding
117
+ * and one-digit subtypes independently before this check, requiring the canonical spelling we support.
118
+ */
119
+ validate(value) {
120
+ try {
121
+ EJSON.deserialize({ $binary: value }, { relaxed: false });
122
+ }
123
+ catch {
124
+ fail('the Extended JSON binary value is invalid or unsupported.');
125
+ }
126
+ }
127
+ }
128
+ };
129
+ //# sourceMappingURL=MongoBsonValidators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoBsonValidators.js","sourceRoot":"","sources":["../../src/mongo/MongoBsonValidators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { z } from 'zod';
2
+ import { YamlError } from '../errors.js';
3
+ import type { JsonObject } from '../json.js';
4
+ import type { SyncConfigSourceLocationResolver, SyncConfigSourcePath } from '../SyncConfigDiagnostics.js';
5
+ /**
6
+ * Supported filter literals, not a general-purpose EJSON parser. EJSON.deserialize converts BSON wrappers but
7
+ * does not enforce our expression grammar, reject ordinary object operands, or generate editor schemas.
8
+ * These declarations also supply paths for YAML diagnostics while keeping authored wrappers in saved plans.
9
+ * We intentionally exclude other EJSON types and non-finite numbers. Plain integers must fit Int32, date
10
+ * milliseconds must fit JavaScript Date, and binary subtypes use exactly two hex digits.
11
+ * $literal is a string-only aggregation-expression escape here, not an EJSON type wrapper.
12
+ * See docs/replication/sync-config-parsing.md for the supported subset and parser compatibility details.
13
+ */
14
+ declare const WRAPPERS: {
15
+ $literal: z.ZodString;
16
+ $oid: z.ZodString;
17
+ $numberInt: z.ZodString;
18
+ $numberLong: z.ZodString;
19
+ $numberDouble: z.ZodString;
20
+ $numberDecimal: z.ZodString;
21
+ $uuid: z.ZodString;
22
+ $date: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
23
+ $numberLong: z.ZodString;
24
+ }, z.core.$strict>]>;
25
+ $timestamp: z.ZodObject<{
26
+ t: z.ZodNumber;
27
+ i: z.ZodNumber;
28
+ }, z.core.$strict>;
29
+ $binary: z.ZodObject<{
30
+ base64: z.ZodString;
31
+ subType: z.ZodString;
32
+ }, z.core.$strict>;
33
+ };
34
+ export declare const MONGO_FILTER_SCHEMA: z.ZodType<MongoFilterExpression, unknown, z.core.$ZodTypeInternals<MongoFilterExpression, unknown>>;
35
+ export declare const MONGO_FILTER_VALIDATOR: z.ZodType<MongoFilterExpression, unknown, z.core.$ZodTypeInternals<MongoFilterExpression, unknown>>;
36
+ export declare const MONGO_FILTER_JSON_SCHEMA_DEFINITIONS: JsonObject;
37
+ /**
38
+ * Validates authored input without replacing it with Zod's parsed output.
39
+ *
40
+ * The base path locates the expression within the config. Validation errors may point inside nested
41
+ * expression objects or operand arrays, so their relative paths are appended to that base path and
42
+ * resolved through sourceLocationResolver to highlight the specific key or value in the original source.
43
+ */
44
+ export declare function parseMongoFilterExpression({ value, basePath, sourceLocationResolver }: {
45
+ value: unknown;
46
+ basePath: SyncConfigSourcePath;
47
+ sourceLocationResolver: SyncConfigSourceLocationResolver;
48
+ }): YamlError[];
49
+ export type MongoFieldPath = `$$doc.${string}`;
50
+ export type MongoExpressionLiteral = boolean | number | string | {
51
+ [Key in keyof typeof WRAPPERS]: {
52
+ [Property in Key]: z.output<(typeof WRAPPERS)[Key]>;
53
+ };
54
+ }[keyof typeof WRAPPERS];
55
+ export type MongoFilterExpression = {
56
+ $eq: [MongoFieldPath, MongoExpressionLiteral];
57
+ } | {
58
+ $in: [MongoFieldPath, MongoExpressionLiteral[]];
59
+ } | {
60
+ $and: MongoFilterExpression[];
61
+ } | {
62
+ $or: MongoFilterExpression[];
63
+ };
64
+ export type MongoTableFilter = MongoFilterExpression | 'disabled';
65
+ export {};