@powersync/service-sync-rules 0.43.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 (58) hide show
  1. package/dist/HydratedSyncConfig.d.ts +2 -0
  2. package/dist/HydratedSyncConfig.js +6 -0
  3. package/dist/HydratedSyncConfig.js.map +1 -1
  4. package/dist/SourceTableConfig.d.ts +42 -0
  5. package/dist/SourceTableConfig.js +152 -0
  6. package/dist/SourceTableConfig.js.map +1 -0
  7. package/dist/SqlSyncRules.d.ts +14 -0
  8. package/dist/SqlSyncRules.js +2 -1
  9. package/dist/SqlSyncRules.js.map +1 -1
  10. package/dist/SyncConfig.d.ts +3 -1
  11. package/dist/SyncConfig.js +3 -1
  12. package/dist/SyncConfig.js.map +1 -1
  13. package/dist/SyncConfigDiagnostics.d.ts +12 -0
  14. package/dist/SyncConfigDiagnostics.js +2 -0
  15. package/dist/SyncConfigDiagnostics.js.map +1 -0
  16. package/dist/TablePattern.d.ts +2 -2
  17. package/dist/TablePattern.js +17 -7
  18. package/dist/TablePattern.js.map +1 -1
  19. package/dist/from_yaml.d.ts +3 -1
  20. package/dist/from_yaml.js +116 -19
  21. package/dist/from_yaml.js.map +1 -1
  22. package/dist/index.d.ts +5 -0
  23. package/dist/index.js +5 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/json.d.ts +7 -0
  26. package/dist/json.js +2 -0
  27. package/dist/json.js.map +1 -0
  28. package/dist/json_schema.d.ts +10 -0
  29. package/dist/json_schema.js +24 -4
  30. package/dist/json_schema.js.map +1 -1
  31. package/dist/legacy/streams/from_sql.js +1 -1
  32. package/dist/legacy/streams/from_sql.js.map +1 -1
  33. package/dist/mongo/MongoBsonValidators.d.ts +78 -0
  34. package/dist/mongo/MongoBsonValidators.js +129 -0
  35. package/dist/mongo/MongoBsonValidators.js.map +1 -0
  36. package/dist/mongo/MongoFilterExpression.d.ts +65 -0
  37. package/dist/mongo/MongoFilterExpression.js +183 -0
  38. package/dist/mongo/MongoFilterExpression.js.map +1 -0
  39. package/dist/mongo/MongoFilterValidation.d.ts +28 -0
  40. package/dist/mongo/MongoFilterValidation.js +47 -0
  41. package/dist/mongo/MongoFilterValidation.js.map +1 -0
  42. package/dist/schema-generators/TsSchemaGenerator.d.ts +1 -0
  43. package/dist/schema-generators/TsSchemaGenerator.js +15 -9
  44. package/dist/schema-generators/TsSchemaGenerator.js.map +1 -1
  45. package/dist/sync_plan/plan.d.ts +2 -0
  46. package/dist/sync_plan/serialize.d.ts +13 -2
  47. package/dist/sync_plan/serialize.js +17 -8
  48. package/dist/sync_plan/serialize.js.map +1 -1
  49. package/dist/types.d.ts +1 -8
  50. package/dist/types.js +8 -13
  51. package/dist/types.js.map +1 -1
  52. package/dist/yaml_source_locations.d.ts +14 -0
  53. package/dist/yaml_source_locations.js +112 -0
  54. package/dist/yaml_source_locations.js.map +1 -0
  55. package/dist/yaml_validation.js.map +1 -1
  56. package/package.json +5 -2
  57. package/schema/sync_config.json +382 -2
  58. package/schema/sync_rules.json +620 -0
@@ -1,4 +1,5 @@
1
1
  import { ParameterLookupDefinitionId } from '../HydrationState.js';
2
+ import { SourceTableConfigMap } from '../SourceTableConfig.js';
2
3
  import { SqlExpression } from './expression.js';
3
4
  import { ColumnSqlParameterValue, RequestSqlParameterValue, RowMetadataSqlValue, StreamOptions, SyncPlan, TableProcessorTableValuedFunction } from './plan.js';
4
5
  /**
@@ -19,6 +20,10 @@ export declare function deserializeSyncPlan(serialized: unknown): SyncPlan;
19
20
  * plan for the legacy evaluator. Older readers ignore `events` and use that legacy mirror. Removing the mirror or
20
21
  * relying on compiled-only event semantics will require a version bump.
21
22
  *
23
+ * ### Version 3
24
+ *
25
+ * - First-class source-table configuration. Older services must reject plans whose source options they cannot interpret.
26
+ *
22
27
  * ### Version 2
23
28
  *
24
29
  * - Add {@link RowMetadataSqlValue} to data for row and parameter evaluators, exposing the exact table and schema name
@@ -29,9 +34,13 @@ export declare function deserializeSyncPlan(serialized: unknown): SyncPlan;
29
34
  *
30
35
  * - Initial version
31
36
  */
32
- export type SerializedSyncPlanVersion = 1 | 2;
37
+ export type SerializedSyncPlanVersion = 1 | 2 | 3;
33
38
  export declare const maxSupportedSyncPlanVersion: SerializedSyncPlanVersion;
34
39
  export interface SerializedSyncPlan {
40
+ /**
41
+ * Present only for configured source tables; requires plan version 3.
42
+ */
43
+ sourceTableConfig?: SourceTableConfigMap;
35
44
  version: SerializedSyncPlanVersion;
36
45
  dataSources: SerializedDataSource[];
37
46
  buckets: SerializedBucketDataSource[];
@@ -79,7 +88,9 @@ export interface SerializedEventDescriptor {
79
88
  sourceQueries: SerializedEventSourceQuery[];
80
89
  }
81
90
  export interface SerializedEventSourceQuery {
82
- /** Raw SQL retained for the legacy compatibility mirror. */
91
+ /**
92
+ * Raw SQL retained for the legacy compatibility mirror.
93
+ */
83
94
  sql: string;
84
95
  table: SerializedTablePattern;
85
96
  variants: SerializedEventRowEvaluator[];
@@ -1,4 +1,5 @@
1
- import { ImplicitSchemaTablePattern, TablePattern } from '../TablePattern.js';
1
+ import { normalizeSourceTableConfig } from '../SourceTableConfig.js';
2
+ import { DEFAULT_TAG, ImplicitSchemaTablePattern, TablePattern } from '../TablePattern.js';
2
3
  import { MapSourceVisitor, visitExpr } from './expression_visitor.js';
3
4
  function createTableProcessorSerializer() {
4
5
  const addedTableValuedFunctions = new Map();
@@ -172,6 +173,7 @@ export function serializeSyncPlan(plan) {
172
173
  };
173
174
  }
174
175
  const events = plan.events.map(tableProcessorSerializer.serializeEventDefinition);
176
+ const sourceTableConfig = normalizeSourceTableConfig(plan.sourceTableConfig);
175
177
  const serialized = {
176
178
  dataSources: serializeDataSources(),
177
179
  buckets: plan.buckets.map((bkt, index) => {
@@ -187,26 +189,28 @@ export function serializeSyncPlan(plan) {
187
189
  stream: s.stream,
188
190
  queriers: s.queriers.map(serializeStreamQuerier)
189
191
  })),
190
- version: tableProcessorSerializer.usesRowMetadataSqlValue ? 2 : 1
192
+ version: Object.keys(sourceTableConfig).length != 0 ? 3 : tableProcessorSerializer.usesRowMetadataSqlValue ? 2 : 1
191
193
  };
192
194
  // Compiled events are intentionally additive to plan versions 1 and 2. The service also persists their raw SQL in
193
195
  // the legacy eventDescriptors field, so older readers can ignore this field and retain equivalent event behavior.
194
196
  if (events.length != 0) {
195
197
  serialized.events = events;
196
198
  }
199
+ if (Object.keys(sourceTableConfig).length != 0)
200
+ serialized.sourceTableConfig = sourceTableConfig;
197
201
  return serialized;
198
202
  }
199
203
  export function deserializeSyncPlan(serialized) {
200
204
  const { version } = serialized;
201
- if (version < 1) {
202
- throw new Error('Unknown sync plan version passed to deserializeSyncPlan()');
203
- }
204
205
  if (version > maxSupportedSyncPlanVersion) {
205
206
  throw new Error(`Encountered a sync plan with version ${version}, the maximum supported version is ${maxSupportedSyncPlanVersion}. This can happen when the PowerSync service version is downgraded after deploying Sync Streams, consider upgrading or re-deploying.`);
206
207
  }
208
+ if (version !== 1 && version !== 2 && version !== 3) {
209
+ throw new Error('Unknown sync plan version passed to deserializeSyncPlan()');
210
+ }
207
211
  function deserializeTablePattern(pattern) {
208
212
  if (pattern.schema) {
209
- return new TablePattern(`${pattern.connection}.${pattern.schema}`, pattern.table);
213
+ return new TablePattern(pattern.schema, pattern.table, pattern.connection ?? DEFAULT_TAG);
210
214
  }
211
215
  else {
212
216
  return new ImplicitSchemaTablePattern(null, pattern.table);
@@ -230,6 +234,10 @@ export function deserializeSyncPlan(serialized) {
230
234
  });
231
235
  }
232
236
  const plan = serialized;
237
+ const sourceTableConfig = normalizeSourceTableConfig(plan.sourceTableConfig);
238
+ if (Object.keys(sourceTableConfig).length != 0 && plan.version != 3) {
239
+ throw new Error('Source table configuration requires sync plan version 3.');
240
+ }
233
241
  const dataSources = plan.dataSources.map((source) => {
234
242
  const functions = (tableValuedFunctionsInScope = source.tableValuedFunctions);
235
243
  return {
@@ -357,8 +365,9 @@ export function deserializeSyncPlan(serialized) {
357
365
  buckets,
358
366
  parameterIndexes,
359
367
  streams,
360
- events
368
+ events,
369
+ ...(Object.keys(sourceTableConfig).length != 0 && { sourceTableConfig })
361
370
  };
362
371
  }
363
- export const maxSupportedSyncPlanVersion = 2;
372
+ export const maxSupportedSyncPlanVersion = 3;
364
373
  //# sourceMappingURL=serialize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/sync_plan/serialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/sync_plan/serialize.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -85,13 +85,7 @@ export declare function isSourceEvaluatedRow(e: UnscopedEvaluationResult): e is
85
85
  export declare function isEvaluatedParameters(e: EvaluatedParametersResult): e is EvaluatedParameters;
86
86
  export type EvaluationResult = EvaluatedRow | EvaluationError;
87
87
  export type UnscopedEvaluationResult = UnscopedEvaluatedRow | EvaluationError;
88
- export interface RequestJwtPayload {
89
- userIdJson: SqliteJsonValue;
90
- parsedPayload: Record<string, any>;
91
- /** Legacy token_parameters */
92
- parameters?: Record<string, any> | undefined;
93
- }
94
- export declare class BaseJwtPayload implements RequestJwtPayload {
88
+ export declare class RequestJwtPayload {
95
89
  /**
96
90
  * Raw payload from JSON.parse.
97
91
  *
@@ -105,7 +99,6 @@ export declare class BaseJwtPayload implements RequestJwtPayload {
105
99
  */
106
100
  readonly userIdJson: SqliteJsonValue;
107
101
  constructor(parsedPayload: Record<string, any>);
108
- get parameters(): Record<string, any> | undefined;
109
102
  }
110
103
  export interface ParameterValueSet {
111
104
  lookup(table: string, column: string): SqliteValue;
package/dist/types.js CHANGED
@@ -13,7 +13,7 @@ export function isSourceEvaluatedRow(e) {
13
13
  export function isEvaluatedParameters(e) {
14
14
  return 'lookup' in e;
15
15
  }
16
- export class BaseJwtPayload {
16
+ export class RequestJwtPayload {
17
17
  /**
18
18
  * Raw payload from JSON.parse.
19
19
  *
@@ -30,10 +30,6 @@ export class BaseJwtPayload {
30
30
  this.parsedPayload = parsedPayload;
31
31
  this.userIdJson = jsonValueToSqlite(true, parsedPayload.sub);
32
32
  }
33
- get parameters() {
34
- // Verified to be either undefined or an object when parsing the token.
35
- return this.parsedPayload.parameters;
36
- }
37
33
  }
38
34
  export class RequestParameters {
39
35
  parsedTokenPayload;
@@ -62,17 +58,16 @@ export class RequestParameters {
62
58
  this.userId = tokenPayload.userId;
63
59
  return;
64
60
  }
65
- // This type is verified when we verify the token
66
- const legacyParameters = tokenPayload.parameters;
67
- const tokenParameters = {
68
- ...legacyParameters,
69
- // sub takes presedence over any embedded parameters
70
- user_id: tokenPayload.userIdJson
71
- };
61
+ // If the token has a non-null `parameters` key, the service verifies it to be an object (in KeyStore.verifyJwt).
62
+ const legacyParameters = tokenPayload.parsedPayload.parameters;
72
63
  // Client and token parameters don't contain DateTime values or other custom types, so we don't need to consider
73
64
  // compatibility.
74
65
  this.parsedTokenPayload = tokenPayload.parsedPayload;
75
- this.legacyTokenParameters = toSyncRulesParameters(tokenParameters, CompatibilityContext.FULL_BACKWARDS_COMPATIBILITY);
66
+ this.legacyTokenParameters = toSyncRulesParameters({
67
+ ...legacyParameters,
68
+ // sub takes presedence over any embedded parameters
69
+ user_id: tokenPayload.userIdJson
70
+ }, CompatibilityContext.FULL_BACKWARDS_COMPATIBILITY);
76
71
  this.userId = tokenPayload.userIdJson;
77
72
  this.rawTokenPayload = JSONBig.stringify(tokenPayload.parsedPayload);
78
73
  this.rawUserParameters = JSONBig.stringify(clientParameters);
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ErrorObject } from 'ajv';
2
+ import { Document } from 'yaml';
3
+ import { YamlError } from './errors.js';
4
+ import type { SyncConfigSourceLocationResolver } from './SyncConfigDiagnostics.js';
5
+ /**
6
+ * Creates a path-based source-location resolver over a parsed YAML document.
7
+ * For `config: { edition: 3 }`, resolving `['config', 'edition']` locates `3` by default or `edition` with target `'key'`.
8
+ */
9
+ export declare function createYamlSourceLocationResolver(document: Document): SyncConfigSourceLocationResolver;
10
+ /**
11
+ * Maps AJV validation errors to sync config errors positioned in the original source.
12
+ * For example, a type error at `/config/edition` highlights that field's value and retains AJV's message.
13
+ */
14
+ export declare function mapAjvErrorsToYamlErrors(sourceLocationResolver: SyncConfigSourceLocationResolver, errors: readonly ErrorObject[]): YamlError[];
@@ -0,0 +1,112 @@
1
+ import { isMap, isNode, isScalar } from 'yaml';
2
+ import { YamlError } from './errors.js';
3
+ /**
4
+ * Creates a path-based source-location resolver over a parsed YAML document.
5
+ * For `config: { edition: 3 }`, resolving `['config', 'edition']` locates `3` by default or `edition` with target `'key'`.
6
+ */
7
+ export function createYamlSourceLocationResolver(document) {
8
+ return {
9
+ getLocation(path, target = 'value') {
10
+ return getYamlPathLocation(document, path, target);
11
+ }
12
+ };
13
+ }
14
+ /**
15
+ * Maps AJV validation errors to sync config errors positioned in the original source.
16
+ * For example, a type error at `/config/edition` highlights that field's value and retains AJV's message.
17
+ */
18
+ export function mapAjvErrorsToYamlErrors(sourceLocationResolver, errors) {
19
+ return errors.map((error) => {
20
+ const { path, target } = getAjvErrorSourcePath(error);
21
+ const location = sourceLocationResolver.getLocation(path, target);
22
+ const message = error.message ?? 'The sync config does not match its JSON Schema.';
23
+ return new YamlError(new Error(message), location);
24
+ });
25
+ }
26
+ /**
27
+ * Converts an AJV error into a config path and chooses whether to highlight its key or value.
28
+ * An extra property `unknown` at `/config` targets the key at `['config', 'unknown']`.
29
+ * Missing properties target their containing map because the missing field has no source node.
30
+ */
31
+ function getAjvErrorSourcePath(error) {
32
+ const path = parseJsonPointer(error.instancePath);
33
+ if (error.keyword == 'additionalProperties') {
34
+ const additionalProperty = error.params.additionalProperty;
35
+ if (typeof additionalProperty == 'string') {
36
+ path.push(additionalProperty);
37
+ }
38
+ return { path, target: 'key' };
39
+ }
40
+ else if (error.keyword == 'propertyNames' && typeof error.propertyName == 'string') {
41
+ path.push(error.propertyName);
42
+ return { path, target: 'key' };
43
+ }
44
+ else if (error.keyword == 'required' || error.keyword == 'minProperties') {
45
+ // A missing property has no node of its own. Highlight the containing map's key, such as the table definition.
46
+ return { path, target: path.length == 0 ? 'value' : 'key' };
47
+ }
48
+ return { path, target: 'value' };
49
+ }
50
+ /**
51
+ * Finds a key or value's source offsets, trying parent paths when the requested node does not exist.
52
+ * For example, `['config', 'missing']` falls back to `['config']` if `missing` is absent.
53
+ */
54
+ function getYamlPathLocation(document, path, target) {
55
+ const resolvedPath = [...path];
56
+ while (true) {
57
+ const node = getYamlPathNode(document, resolvedPath, target);
58
+ if (node != null) {
59
+ return getNodeLocation(node);
60
+ }
61
+ if (resolvedPath.length == 0) {
62
+ return undefined;
63
+ }
64
+ resolvedPath.pop();
65
+ }
66
+ }
67
+ /**
68
+ * Looks up the YAML node at an exact path, returning undefined if no matching node exists.
69
+ * For `edition: 3`, `['edition']` selects the `edition` key node or the `3` value node according to the target.
70
+ * An empty path selects the document's root node.
71
+ */
72
+ function getYamlPathNode(document, path, target) {
73
+ if (target == 'value' || path.length == 0) {
74
+ const value = document.getIn(path, true);
75
+ return isNode(value) ? value : undefined;
76
+ }
77
+ const parent = document.getIn(path.slice(0, -1), true);
78
+ if (!isMap(parent)) {
79
+ return undefined;
80
+ }
81
+ const key = path[path.length - 1];
82
+ const pair = parent.items.find((candidate) => isScalar(candidate.key) && String(candidate.key.value) == String(key));
83
+ return pair != null && isNode(pair.key) ? pair.key : undefined;
84
+ }
85
+ /**
86
+ * Converts a YAML node's range into source offsets, including any trailing comment or newline in the node range.
87
+ * A range `[4, 7, 8]` becomes `{ start: 4, end: 8 }`; a node without a range has no location.
88
+ */
89
+ function getNodeLocation(node) {
90
+ if (node?.range == null) {
91
+ return undefined;
92
+ }
93
+ return {
94
+ start: node.range[0],
95
+ end: node.range[2]
96
+ };
97
+ }
98
+ /**
99
+ * Splits a JSON pointer into path segments and decodes escaped slashes (`~1`) and tildes (`~0`).
100
+ * For example, `/tables/a~1b/~0name` becomes `['tables', 'a/b', '~name']`; an empty pointer becomes `[]`.
101
+ * Numeric segments remain strings, so `/items/0` becomes `['items', '0']`.
102
+ */
103
+ function parseJsonPointer(pointer) {
104
+ if (pointer.length == 0) {
105
+ return [];
106
+ }
107
+ return pointer
108
+ .split('/')
109
+ .slice(1)
110
+ .map((segment) => segment.replaceAll('~1', '/').replaceAll('~0', '~'));
111
+ }
112
+ //# sourceMappingURL=yaml_source_locations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml_source_locations.js","sourceRoot":"","sources":["../src/yaml_source_locations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"yaml_validation.js","sourceRoot":"","sources":["../src/yaml_validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA+ExC,MAAM,UAAU,aAAa,CAAC,GAAa,EAAE,MAAkC;IAC7E,SAAS,eAAe,CAAC,IAAU,EAAE,OAAe;QAClD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACnC,OAAO,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,0DAA0D;IAC1D,SAAS,cAAc,CAAC,IAAU,EAAE,QAAgB;QAClD,OAAO,CAAC,OAAgB,EAAE,EAAE;YAC1B,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,YAAY,QAAQ,QAAQ,CAAC,CAAC,CAAC;YACvE,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,iBAAiB,CAAC,IAAU;QACnC,OAAO,CAAC,OAAe,EAAE,OAA4B,OAAO,EAAE,EAAE;YAC9D,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7C,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,OAAO,CAAC,IAAa;QAC5B,IAAI,WAAW,GAAuB,IAAI,GAAG,EAAU,CAAC;QACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QAEtC,OAAO;YACL,IAAI;YACJ,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC;YACpC,CAAC,gBAAgB;gBACf,oEAAoE;gBACpE,WAAW,GAAG,IAAI,CAAC;gBAEnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAW,CAAC,EAAE,aAAa,EAAE,CAAC;oBAC/D,MAAM,GAAG,GAAG,SAAS,EAAE,aAAa,EAAE,CAAC;oBACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAa,CAAC,CAAC;oBAE5C,IAAI,GAAG,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;wBACrC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,GAAG,CAAC,IAAI;gBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvB,OAAO,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,IAAI;gBACV,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,UAAU;gBACR,OAAO,IAAI,CAAC;YACd,CAAC;YACD,aAAa,EAAE,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC;YAC/C,eAAe,EAAE,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC;YACnD,CAAC,MAAM,CAAC,OAAO,CAAC;gBACd,wEAAwE;gBACxE,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;wBACrB,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;4BAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gCAC9B,MAAM,CAAC,eAAe,CAAC,GAAW,EAAE,gBAAgB,OAAO,IAAI,CAAC,CAAC,CAAC;4BACpE,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,eAAe,CAAC,GAAW,EAAE,4BAA4B,CAAC,CAAC,CAAC;wBACrE,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;oBACrB,MAAM,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,0BAA0B,IAAI,EAAE,CAAC,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS,YAAY,CAAC,IAAa;QACjC,OAAO;YACL,IAAI;YACJ,IAAI,KAAK;gBACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAS,CAAC,CAAC,CAAC;YACpD,CAAC;YACD,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC;YACpC,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;YACzC,aAAa,EAAE,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC;YAC/C,eAAe;gBACb,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS,UAAU,CAAC,IAAY;QAC9B,OAAO;YACL,IAAI;YACJ,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC;YACpC,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;YACzC,aAAa;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YACD,eAAe,EAAE,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC;YAEnD,cAAc,CAAC,OAAO;gBACpB,IAAI,OAAO,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;oBAClC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC;oBAC5D,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;YACD,cAAc,CAAC,OAAO;gBACpB,IAAI,OAAO,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;oBACnC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,mBAAmB,CAAC,CAAC,CAAC;oBAC9D,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;YACD,aAAa,CAAC,OAAO;gBACnB,IAAI,OAAO,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;oBAClC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,IAAI,kBAAkB,CAAC,CAAC,CAAC;oBAC7D,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS,QAAQ,CAAC,IAAU;QAC1B,OAAO;YACL,IAAI;YACJ,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC;YACpC,aAAa,EAAE,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC;YACjG,UAAU,EAAE,IAAI,YAAY,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;YACzF,eAAe,EAAE,IAAI,YAAY,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC;SACzG,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAS,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"yaml_validation.js","sourceRoot":"","sources":["../src/yaml_validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@powersync/service-sync-rules",
3
3
  "repository": "https://github.com/powersync-ja/powersync-service",
4
- "version": "0.43.0",
4
+ "version": "0.44.0",
5
5
  "exports": {
6
6
  ".": "./dist/index.js",
7
7
  "./schema/sync_config.json": "./schema/sync_config.json"
@@ -19,15 +19,18 @@
19
19
  "@syncpoint/wkx": "^0.5.0",
20
20
  "ajv": "^8.18.0",
21
21
  "pgsql-ast-parser": "^11.1.0",
22
+ "ts-codec": "^1.3.0",
22
23
  "uuid": "^14.0.0",
23
24
  "yaml": "^2.8.3",
25
+ "zod": "^4.6.5",
26
+ "bson": "^6.10.4",
24
27
  "@powersync/service-jsonbig": "^0.17.13"
25
28
  },
26
29
  "devDependencies": {
27
30
  "@types/node": "^22.16.2",
28
31
  "ebnf": "^1.9.1",
29
32
  "railroad-diagrams": "^1.0.0",
30
- "vitest": "^4.1.5"
33
+ "vitest": "^4.1.11"
31
34
  },
32
35
  "scripts": {
33
36
  "clean": "rm -r ./dist && tsc -b --clean",