@powersync/service-sync-rules 0.0.0-dev-20261007110800 → 0.0.0-dev-20261015132441

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.
@@ -28,6 +28,10 @@ export declare function findDuplicateSourceTableConfigKeys(keys: Iterable<string
28
28
  * Validate and copy source-table options while preserving declaration order.
29
29
  */
30
30
  export declare function normalizeSourceTableConfig(value: unknown): SourceTableConfigMap;
31
+ /**
32
+ * Reject filter connection tags that query hydration cannot honor.
33
+ */
34
+ export declare function assertMongoFilterConnection(pattern: ImplicitSchemaTablePattern): void;
31
35
  /**
32
36
  * Conservative equality: declaration order and expression order are significant.
33
37
  */
@@ -1,4 +1,4 @@
1
- import { MONGO_FILTER_JSON_SCHEMA, MONGO_FILTER_VALIDATOR } from './mongo/MongoFilterExpression.js';
1
+ import { MONGO_FILTER_VALIDATOR } from './mongo/MongoFilterExpression.js';
2
2
  import { DEFAULT_TAG, ImplicitSchemaTablePattern, TablePattern } from './TablePattern.js';
3
3
  const SOURCE_TABLE_NAME_ERROR = 'Source table patterns must use <table>, <database>.<table>, or <connection>.<database>.<table>. Double-quote names containing dots or quotes.';
4
4
  /**
@@ -15,10 +15,7 @@ export function createSourceTableConfigSchema() {
15
15
  type: 'object',
16
16
  properties: {
17
17
  mongodb_filter_expression: {
18
- anyOf: [
19
- { ...MONGO_FILTER_JSON_SCHEMA, $id: 'https://powersync.com/schemas/mongodb-filter-expression' },
20
- { const: 'disabled' }
21
- ]
18
+ anyOf: [{ $ref: '#/definitions/mongodb_filter_expression' }, { const: 'disabled' }]
22
19
  }
23
20
  },
24
21
  additionalProperties: false
@@ -100,7 +97,7 @@ export function normalizeSourceTableConfig(value) {
100
97
  return Object.fromEntries(Object.entries(value).map(([table, options]) => {
101
98
  if (!table)
102
99
  throw new Error('A source table name must not be empty.');
103
- parseSourceTableConfigKey(table);
100
+ const pattern = parseSourceTableConfigKey(table);
104
101
  assertObject(options, 'Source table options must be JSON objects.');
105
102
  for (const key of Object.keys(options)) {
106
103
  if (key !== 'mongodb_filter_expression')
@@ -108,6 +105,7 @@ export function normalizeSourceTableConfig(value) {
108
105
  }
109
106
  const filter = options.mongodb_filter_expression;
110
107
  if (filter !== undefined && filter !== 'disabled') {
108
+ assertMongoFilterConnection(pattern);
111
109
  const result = MONGO_FILTER_VALIDATOR.safeParse(filter);
112
110
  if (!result.success) {
113
111
  throw new Error(`Invalid MongoDB pre-filtering expression for source table ${JSON.stringify(table)}: ${result.error.message}`);
@@ -116,11 +114,28 @@ export function normalizeSourceTableConfig(value) {
116
114
  return [table, structuredClone(options)];
117
115
  }));
118
116
  }
117
+ /**
118
+ * Reject filter connection tags that query hydration cannot honor.
119
+ */
120
+ export function assertMongoFilterConnection(pattern) {
121
+ // FIXME: Revisit when multiple connections are supported and query hydration honors explicit tags.
122
+ // Until then, accepting another tag can silently omit its filter while the query reads the default connection.
123
+ const tag = pattern.connectionTag ?? DEFAULT_TAG;
124
+ if (tag !== DEFAULT_TAG) {
125
+ throw new Error(`MongoDB replication pre-filtering only supports the "${DEFAULT_TAG}" connection; connection ${JSON.stringify(tag)} is not supported.`);
126
+ }
127
+ }
119
128
  /**
120
129
  * Conservative equality: declaration order and expression order are significant.
121
130
  */
122
131
  export function sourceTableConfigsEqual(left, right) {
123
- return JSON.stringify(normalizeSourceTableConfig(left)) == JSON.stringify(normalizeSourceTableConfig(right));
132
+ try {
133
+ return JSON.stringify(normalizeSourceTableConfig(left)) == JSON.stringify(normalizeSourceTableConfig(right));
134
+ }
135
+ catch {
136
+ // Saved options may no longer validate after an upgrade. Do not reuse their replication stream.
137
+ return false;
138
+ }
124
139
  }
125
140
  function assertObject(value, message) {
126
141
  if (value == null || typeof value != 'object' || Array.isArray(value))
@@ -1 +1 @@
1
- {"version":3,"file":"SourceTableConfig.js","sourceRoot":"","sources":["../src/SourceTableConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SourceTableConfig.js","sourceRoot":"","sources":["../src/SourceTableConfig.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,12 @@ import { BucketPriority } from './BucketDescription.js';
2
2
  import { SyncConfig, SyncConfigWithErrors } from './SyncConfig.js';
3
3
  import { YamlError } from './errors.js';
4
4
  import { RequestParameters, SourceSchema, SqliteJsonRow } from './types.js';
5
+ /**
6
+ * Source connection types keyed by connection tag for sync config validation.
7
+ */
8
+ export type SourceConnectionMap = Record<string, {
9
+ type: string;
10
+ }>;
5
11
  export interface SyncRulesOptions {
6
12
  /**
7
13
  * Source database schema.
@@ -13,6 +19,11 @@ export interface SyncRulesOptions {
13
19
  * 'public' for Postgres, default database for MongoDB/MySQL.
14
20
  */
15
21
  defaultSchema: string;
22
+ /**
23
+ * Source connection types keyed by connection tag. When omitted, source-specific options report warnings
24
+ * if their connection type cannot be checked.
25
+ */
26
+ connections?: SourceConnectionMap;
16
27
  throwOnError?: boolean;
17
28
  }
18
29
  export interface RequestedStream {
@@ -23,7 +23,8 @@ export class SqlSyncRules extends SyncConfig {
23
23
  const parser = new SyncConfigFromYaml({
24
24
  throwOnError: options.throwOnError ?? true,
25
25
  schema: options.schema,
26
- defaultSchema: options.defaultSchema
26
+ defaultSchema: options.defaultSchema,
27
+ connections: options.connections
27
28
  }, yaml);
28
29
  return parser.read();
29
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SqlSyncRules.js","sourceRoot":"","sources":["../src/SqlSyncRules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AA4DpD,MAAM,OAAO,YAAa,SAAQ,UAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAyB;QACrD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC,MAAM,CAAC;QACtB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,eAAe,EAAE,CAAC;gBACjC,OAAO,CAAC,CAAC,MAAM,CAAC;YAClB,CAAC;iBAAM,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC;gBAClC,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAyB;QACrD,MAAM,MAAM,GAAG,IAAI,kBAAkB,CACnC;YACE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;YAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,EACD,IAAI,CACL,CAAC;QAEF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"SqlSyncRules.js","sourceRoot":"","sources":["../src/SqlSyncRules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAuEpD,MAAM,OAAO,YAAa,SAAQ,UAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAyB;QACrD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC,MAAM,CAAC;QACtB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,eAAe,EAAE,CAAC;gBACjC,OAAO,CAAC,CAAC,MAAM,CAAC;YAClB,CAAC;iBAAM,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC;gBAClC,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAyB;QACrD,MAAM,MAAM,GAAG,IAAI,kBAAkB,CACnC;YACE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;YAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,EACD,IAAI,CACL,CAAC;QAEF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;CACF"}
@@ -1,3 +1,4 @@
1
+ import { type SourceConnectionMap } from './SqlSyncRules.js';
1
2
  import { SyncConfigWithErrors } from './SyncConfig.js';
2
3
  import { SourceSchema } from './types.js';
3
4
  /**
@@ -21,4 +22,5 @@ export interface SyncConfigFromYamlOptions {
21
22
  * 'public' for Postgres, default database for MongoDB/MySQL.
22
23
  */
23
24
  readonly defaultSchema: string;
25
+ readonly connections?: SourceConnectionMap;
24
26
  }
package/dist/from_yaml.js CHANGED
@@ -8,11 +8,11 @@ import { validateSyncRulesSchema } from './json_schema.js';
8
8
  import { SqlBucketDescriptor } from './legacy/SqlBucketDescriptor.js';
9
9
  import { syncStreamFromSql } from './legacy/streams/from_sql.js';
10
10
  import { parseMongoFilterExpression } from './mongo/MongoFilterExpression.js';
11
- import { findDuplicateSourceTableConfigKeys } from './SourceTableConfig.js';
11
+ import { assertMongoFilterConnection, findDuplicateSourceTableConfigKeys, normalizeSourceTableConfig, parseSourceTableConfigKey } from './SourceTableConfig.js';
12
12
  import { SqlSyncRules } from './SqlSyncRules.js';
13
13
  import { validateStorageVersion } from './StorageVersion.js';
14
14
  import { PrecompiledSyncConfig } from './sync_plan/evaluator/index.js';
15
- import { TablePattern } from './TablePattern.js';
15
+ import { DEFAULT_TAG, TablePattern } from './TablePattern.js';
16
16
  import { buildParsedToSourceValueMap, isBlockScalar, isQuotedScalar } from './yaml_scalar_map.js';
17
17
  import { createYamlSourceLocationResolver, mapAjvErrorsToYamlErrors } from './yaml_source_locations.js';
18
18
  import { documentState } from './yaml_validation.js';
@@ -96,14 +96,22 @@ export class SyncConfigFromYaml {
96
96
  ?.requireMap('Source-table options must be a map of table names or patterns to option maps.');
97
97
  if (sourceTables) {
98
98
  const sourceLocationResolver = createYamlSourceLocationResolver(parsed);
99
- for (const { key: table, value } of sourceTables.stringKeyedItems()) {
99
+ for (const { key: table, keyScalar, value } of sourceTables.stringKeyedItems()) {
100
+ let pattern;
101
+ try {
102
+ pattern = parseSourceTableConfigKey(table);
103
+ }
104
+ catch (error) {
105
+ keyScalar.reportError(error instanceof Error ? error.message : String(error));
106
+ }
100
107
  using tableOptions = value.requireMap('Options for a source table must be a map.');
101
108
  const expression = tableOptions?.get('mongodb_filter_expression');
102
109
  if (!expression)
103
110
  continue;
104
111
  let filter;
105
112
  try {
106
- filter = expression.node.toJS(parsed);
113
+ // Disallow YAML aliases so recursive validation only receives a tree.
114
+ filter = expression.node.toJS(parsed, { maxAliasCount: 0 });
107
115
  }
108
116
  catch (error) {
109
117
  expression.reportError(error instanceof Error ? error.message : String(error));
@@ -111,11 +119,32 @@ export class SyncConfigFromYaml {
111
119
  }
112
120
  if (filter === 'disabled')
113
121
  continue;
114
- this.#errors.push(...parseMongoFilterExpression({
122
+ const errors = parseMongoFilterExpression({
115
123
  value: filter,
116
124
  basePath: ['config', 'source_table_options', table, 'mongodb_filter_expression'],
117
125
  sourceLocationResolver
118
- }));
126
+ });
127
+ this.#errors.push(...errors);
128
+ if (errors.length > 0 || !pattern)
129
+ continue;
130
+ try {
131
+ assertMongoFilterConnection(pattern);
132
+ }
133
+ catch (error) {
134
+ expression.reportError(error instanceof Error ? error.message : String(error));
135
+ continue;
136
+ }
137
+ const tag = pattern.connectionTag ?? DEFAULT_TAG;
138
+ const connections = this.options.connections;
139
+ if (connections === undefined) {
140
+ expression.reportError(`Cannot verify MongoDB replication pre-filtering for connection ${JSON.stringify(tag)} without connection type information.`, 'warning');
141
+ }
142
+ else if (!Object.hasOwn(connections, tag)) {
143
+ expression.reportError(`Unknown source connection ${JSON.stringify(tag)} for MongoDB replication pre-filtering.`, 'warning');
144
+ }
145
+ else if (connections[tag].type !== 'mongodb') {
146
+ expression.reportError(`MongoDB replication pre-filtering expressions are only supported by MongoDB sources. Connection ${JSON.stringify(tag)} has type ${JSON.stringify(connections[tag].type)}.`);
147
+ }
119
148
  }
120
149
  }
121
150
  let compatibility;
@@ -139,20 +168,21 @@ export class SyncConfigFromYaml {
139
168
  let sourceTableConfig = {};
140
169
  if (sourceTables && !this.#hasFatalError) {
141
170
  try {
142
- sourceTableConfig = sourceTables.node.toJS(parsed);
171
+ const authoredOptions = sourceTables.node.toJS(parsed);
172
+ // Different authored keys can resolve to the same SQL identifier. Report each duplicate at its key.
173
+ const sourceLocationResolver = createYamlSourceLocationResolver(parsed);
174
+ for (const [previous, duplicate] of findDuplicateSourceTableConfigKeys(Object.keys(authoredOptions))) {
175
+ this.#errors.push(new YamlError(new Error(`Source-table keys ${JSON.stringify(previous)} and ${JSON.stringify(duplicate)} resolve to the same pattern.`), sourceLocationResolver.getLocation(['config', 'source_table_options', duplicate], 'key')));
176
+ }
177
+ if (!this.#hasFatalError) {
178
+ // Only normalized options belong in the plan. Failures remain YAML diagnostics so invalid configs
179
+ // can be persisted for diagnostics without failing again during serialization.
180
+ sourceTableConfig = normalizeSourceTableConfig(authoredOptions);
181
+ }
143
182
  }
144
183
  catch (error) {
145
184
  sourceTables.reportError(error instanceof Error ? error.message : String(error));
146
185
  }
147
- /**
148
- * Table pattern keys can map to the same table via different pathways.
149
- * E.g. [default_schema].[tablename] and [tablename] can refer to the same item,
150
- * we report errors for duplicates.
151
- */
152
- const sourceLocationResolver = createYamlSourceLocationResolver(parsed);
153
- for (const [previous, duplicate] of findDuplicateSourceTableConfigKeys(Object.keys(sourceTableConfig))) {
154
- this.#errors.push(new YamlError(new Error(`Source-table keys ${JSON.stringify(previous)} and ${JSON.stringify(duplicate)} resolve to the same pattern.`), sourceLocationResolver.getLocation(['config', 'source_table_options', duplicate], 'key')));
155
- }
156
186
  }
157
187
  // Bucket definitions using explicit parameter and data queries.
158
188
  const bucketMap = rootState.get('bucket_definitions')?.requireMap();
@@ -319,15 +349,9 @@ export class SyncConfigFromYaml {
319
349
  }
320
350
  // Only reported here: with config.edition: 3, bucket_definitions is already a fatal error in #compileSyncPlan().
321
351
  bucketMap?.reportError('Sync Rules (`bucket_definitions`) are deprecated and will be removed in the next major version of the PowerSync Service. Migrate to Sync Streams: https://docs.powersync.com/sync/rules/migrate-to-sync-streams.', 'warning');
322
- // The edition is checked once for the whole streams block, so that a block without any query to compile still
323
- // reports it. Edition 2 runs the alpha, so it only gets a warning.
324
- const supportsStreams = compatibility.edition >= CompatibilityEdition.SYNC_STREAMS;
325
- if (supportsStreams) {
326
- streamMap?.reportError('This is using the deprecated alpha version of Sync Streams. It will be removed in the next major version. Upgrade `config.edition` to version 3.', 'warning');
327
- }
328
- else {
329
- streamMap?.reportError('Sync Streams require edition 3. Add a `config: {edition: 3}` block to the sync config.');
330
- }
352
+ // Preserve the warning for legacy streams blocks, including empty ones. Actual queries below still
353
+ // require a supported edition when compiled by syncStreamFromSql.
354
+ streamMap?.reportError('This is using the deprecated alpha version of Sync Streams. It will be removed in the next major version. Upgrade `config.edition` to version 3.', 'warning');
331
355
  for (const { key, keyScalar, value: maybeMap } of bucketMap?.stringKeyedItems() ?? []) {
332
356
  if (!this.#checkUniqueName(key, keyScalar)) {
333
357
  continue;
@@ -376,10 +400,6 @@ export class SyncConfigFromYaml {
376
400
  rules.bucketDataSources.push(...descriptor.dataSources);
377
401
  rules.bucketParameterLookupSources.push(...descriptor.parameterIndexLookupCreators);
378
402
  }
379
- if (!supportsStreams) {
380
- // The edition error above covers the whole streams block. Compiling each stream would only repeat it.
381
- return rules;
382
- }
383
403
  for (const { key, keyScalar, value } of streamMap?.stringKeyedItems() ?? []) {
384
404
  if (!this.#checkUniqueName(key, keyScalar)) {
385
405
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"from_yaml.js","sourceRoot":"","sources":["../src/from_yaml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"from_yaml.js","sourceRoot":"","sources":["../src/from_yaml.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import ajvModule from 'ajv';
2
2
  import { CompatibilityEdition, CompatibilityOption, TimeValuePrecision } from './compatibility.js';
3
+ import { MONGO_FILTER_JSON_SCHEMA_DEFINITIONS } from './mongo/MongoFilterExpression.js';
3
4
  import { createSourceTableConfigSchema } from './SourceTableConfig.js';
4
5
  import { STORAGE_VERSIONS } from './StorageVersion.js';
5
6
  // Hack to make this work both in NodeJS and a browser
6
7
  const Ajv = ajvModule.default ?? ajvModule;
7
8
  export const syncRulesSchema = {
8
9
  type: 'object',
10
+ definitions: MONGO_FILTER_JSON_SCHEMA_DEFINITIONS,
9
11
  properties: {
10
12
  bucket_definitions: {
11
13
  type: 'object',
@@ -1 +1 @@
1
- {"version":3,"file":"json_schema.js","sourceRoot":"","sources":["../src/json_schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json_schema.js","sourceRoot":"","sources":["../src/json_schema.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  /**
2
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.
3
9
  */
4
10
  export declare const MONGO_BSON_VALIDATORS: {
5
11
  readonly mongoNumber: {
@@ -13,6 +19,9 @@ export declare const MONGO_BSON_VALIDATORS: {
13
19
  readonly type: "string";
14
20
  /**
15
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.
16
25
  */
17
26
  readonly validate: (value: unknown) => void;
18
27
  };
@@ -20,6 +29,9 @@ export declare const MONGO_BSON_VALIDATORS: {
20
29
  readonly type: "string";
21
30
  /**
22
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.
23
35
  */
24
36
  readonly validate: (value: unknown) => void;
25
37
  };
@@ -40,7 +52,9 @@ export declare const MONGO_BSON_VALIDATORS: {
40
52
  readonly mongoDateString: {
41
53
  readonly type: "string";
42
54
  /**
43
- * Checks date validity after the schema requires an ISO timestamp with an explicit timezone.
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.
44
58
  */
45
59
  readonly validate: (value: unknown) => void;
46
60
  };
@@ -55,6 +69,9 @@ export declare const MONGO_BSON_VALIDATORS: {
55
69
  readonly type: "object";
56
70
  /**
57
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.
58
75
  */
59
76
  readonly validate: (value: unknown) => void;
60
77
  };
@@ -18,6 +18,12 @@ function integerRange(value, minimum, maximum) {
18
18
  }
19
19
  /**
20
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.
21
27
  */
22
28
  export const MONGO_BSON_VALIDATORS = {
23
29
  mongoNumber: {
@@ -35,6 +41,9 @@ export const MONGO_BSON_VALIDATORS = {
35
41
  type: 'string',
36
42
  /**
37
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.
38
47
  */
39
48
  validate(value) {
40
49
  integerRange(value, -2147483648n, 2147483647n);
@@ -44,6 +53,9 @@ export const MONGO_BSON_VALIDATORS = {
44
53
  type: 'string',
45
54
  /**
46
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.
47
59
  */
48
60
  validate(value) {
49
61
  integerRange(value, -9223372036854775808n, 9223372036854775807n);
@@ -78,7 +90,9 @@ export const MONGO_BSON_VALIDATORS = {
78
90
  mongoDateString: {
79
91
  type: 'string',
80
92
  /**
81
- * Checks date validity after the schema requires an ISO timestamp with an explicit timezone.
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.
82
96
  */
83
97
  validate(value) {
84
98
  if (typeof value != 'string' || !Number.isFinite(Date.parse(value)))
@@ -98,6 +112,9 @@ export const MONGO_BSON_VALIDATORS = {
98
112
  type: 'object',
99
113
  /**
100
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.
101
118
  */
102
119
  validate(value) {
103
120
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"MongoBsonValidators.js","sourceRoot":"","sources":["../../src/mongo/MongoBsonValidators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoBsonValidators.js","sourceRoot":"","sources":["../../src/mongo/MongoBsonValidators.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,15 @@ import { z } from 'zod';
2
2
  import { YamlError } from '../errors.js';
3
3
  import type { JsonObject } from '../json.js';
4
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
+ */
5
14
  declare const WRAPPERS: {
6
15
  $literal: z.ZodString;
7
16
  $oid: z.ZodString;
@@ -24,7 +33,7 @@ declare const WRAPPERS: {
24
33
  };
25
34
  export declare const MONGO_FILTER_SCHEMA: z.ZodType<MongoFilterExpression, unknown, z.core.$ZodTypeInternals<MongoFilterExpression, unknown>>;
26
35
  export declare const MONGO_FILTER_VALIDATOR: z.ZodType<MongoFilterExpression, unknown, z.core.$ZodTypeInternals<MongoFilterExpression, unknown>>;
27
- export declare const MONGO_FILTER_JSON_SCHEMA: JsonObject;
36
+ export declare const MONGO_FILTER_JSON_SCHEMA_DEFINITIONS: JsonObject;
28
37
  /**
29
38
  * Validates authored input without replacing it with Zod's parsed output.
30
39
  *