@powersync/service-sync-rules 0.0.0-dev-20250825132649 → 0.0.0-dev-20250827072023

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 (46) hide show
  1. package/dist/BucketSource.d.ts +2 -2
  2. package/dist/BucketSource.js.map +1 -1
  3. package/dist/ExpressionType.d.ts +1 -0
  4. package/dist/ExpressionType.js.map +1 -1
  5. package/dist/SqlBucketDescriptor.d.ts +3 -1
  6. package/dist/SqlBucketDescriptor.js +5 -2
  7. package/dist/SqlBucketDescriptor.js.map +1 -1
  8. package/dist/SqlSyncRules.d.ts +3 -3
  9. package/dist/SqlSyncRules.js +21 -4
  10. package/dist/SqlSyncRules.js.map +1 -1
  11. package/dist/compatibility.d.ts +37 -0
  12. package/dist/compatibility.js +50 -0
  13. package/dist/compatibility.js.map +1 -0
  14. package/dist/events/SqlEventDescriptor.d.ts +3 -1
  15. package/dist/events/SqlEventDescriptor.js +5 -2
  16. package/dist/events/SqlEventDescriptor.js.map +1 -1
  17. package/dist/index.d.ts +3 -0
  18. package/dist/index.js +3 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/json_schema.js +23 -0
  21. package/dist/json_schema.js.map +1 -1
  22. package/dist/sql_functions.d.ts +3 -3
  23. package/dist/sql_functions.js +4 -0
  24. package/dist/sql_functions.js.map +1 -1
  25. package/dist/streams/from_sql.js +5 -1
  26. package/dist/streams/from_sql.js.map +1 -1
  27. package/dist/streams/parameter.d.ts +2 -2
  28. package/dist/streams/stream.d.ts +3 -1
  29. package/dist/streams/stream.js +11 -3
  30. package/dist/streams/stream.js.map +1 -1
  31. package/dist/streams/variant.d.ts +4 -4
  32. package/dist/streams/variant.js.map +1 -1
  33. package/dist/types/custom_sqlite_value.d.ts +38 -0
  34. package/dist/types/custom_sqlite_value.js +50 -0
  35. package/dist/types/custom_sqlite_value.js.map +1 -0
  36. package/dist/types/time.d.ts +33 -0
  37. package/dist/types/time.js +67 -0
  38. package/dist/types/time.js.map +1 -0
  39. package/dist/types.d.ts +20 -8
  40. package/dist/types.js +5 -2
  41. package/dist/types.js.map +1 -1
  42. package/dist/utils.d.ts +7 -4
  43. package/dist/utils.js +27 -13
  44. package/dist/utils.js.map +1 -1
  45. package/package.json +2 -2
  46. package/schema/sync_rules.json +17 -0
package/dist/types.d.ts CHANGED
@@ -5,6 +5,8 @@ import { SyncRulesOptions } from './SqlSyncRules.js';
5
5
  import { TablePattern } from './TablePattern.js';
6
6
  import { BucketPriority } from './BucketDescription.js';
7
7
  import { ParameterLookup } from './BucketParameterQuerier.js';
8
+ import { CustomSqliteValue } from './types/custom_sqlite_value.js';
9
+ import { CompatibilityContext } from './compatibility.js';
8
10
  export interface SyncRules {
9
11
  evaluateRow(options: EvaluateRowOptions): EvaluationResult[];
10
12
  evaluateParameterRow(table: SourceTableInterface, row: SqliteRow): EvaluatedParametersResult[];
@@ -12,6 +14,7 @@ export interface SyncRules {
12
14
  export interface QueryParseOptions extends SyncRulesOptions {
13
15
  accept_potentially_dangerous_queries?: boolean;
14
16
  priority?: BucketPriority;
17
+ compatibility: CompatibilityContext;
15
18
  }
16
19
  export interface StreamParseOptions extends QueryParseOptions {
17
20
  auto_subscribe?: boolean;
@@ -99,6 +102,11 @@ export type SqliteJsonValue = number | string | bigint | null;
99
102
  * A value supported by the SQLite type system.
100
103
  */
101
104
  export type SqliteValue = number | string | null | bigint | Uint8Array;
105
+ /**
106
+ * A value that is either supported by SQLite natively, or one that can be lowered into a SQLite-value given additional
107
+ * context.
108
+ */
109
+ export type SqliteInputValue = SqliteValue | CustomSqliteValue;
102
110
  /**
103
111
  * A set of values that are both SQLite and JSON-compatible.
104
112
  *
@@ -111,22 +119,21 @@ export type SqliteJsonRow = {
111
119
  * SQLite-compatible row (NULL, TEXT, INTEGER, REAL, BLOB).
112
120
  * JSON is represented as TEXT.
113
121
  */
114
- export type SqliteRow = {
115
- [column: string]: SqliteValue;
122
+ export type SqliteRow<T = SqliteValue> = {
123
+ [column: string]: T;
116
124
  };
125
+ export type SqliteInputRow = SqliteRow<SqliteInputValue>;
117
126
  /**
118
127
  * SQLite-compatible row (NULL, TEXT, INTEGER, REAL, BLOB).
119
128
  * JSON is represented as TEXT.
120
129
  *
121
130
  * Toasted values are `undefined`.
122
131
  */
123
- export type ToastableSqliteRow = {
124
- [column: string]: SqliteValue | undefined;
125
- };
132
+ export type ToastableSqliteRow = SqliteRow<SqliteInputValue | undefined>;
126
133
  /**
127
134
  * A value as received from the database.
128
135
  */
129
- export type DatabaseInputValue = SqliteValue | boolean | DatabaseInputValue[] | JsonContainer | {
136
+ export type DatabaseInputValue = SqliteValue | boolean | DatabaseInputValue[] | JsonContainer | CustomSqliteValue | {
130
137
  [key: string]: DatabaseInputValue;
131
138
  };
132
139
  /**
@@ -180,9 +187,14 @@ export interface InputParameter {
180
187
  */
181
188
  parametersToLookupValue(parameters: ParameterValueSet): SqliteValue;
182
189
  }
183
- export interface EvaluateRowOptions {
190
+ export interface EvaluateRowOptions extends TableRow<SqliteInputRow> {
191
+ }
192
+ /**
193
+ * A row associated with the table it's coming from.
194
+ */
195
+ export interface TableRow<R = SqliteRow> {
184
196
  sourceTable: SourceTableInterface;
185
- record: SqliteRow;
197
+ record: R;
186
198
  }
187
199
  /**
188
200
  * This is a clause that matches row and parameter values for equality.
package/dist/types.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { JSONBig } from '@powersync/service-jsonbig';
2
2
  import { toSyncRulesParameters } from './utils.js';
3
+ import { CompatibilityContext } from './compatibility.js';
3
4
  export function isEvaluationError(e) {
4
5
  return typeof e.error == 'string';
5
6
  }
@@ -41,11 +42,13 @@ export class RequestParameters {
41
42
  // sub takes presedence over any embedded parameters
42
43
  user_id: tokenPayload.sub
43
44
  };
44
- this.tokenParameters = toSyncRulesParameters(tokenParameters);
45
+ // Client and token parameters don't contain DateTime values or other custom types, so we don't need to consider
46
+ // compatibility.
47
+ this.tokenParameters = toSyncRulesParameters(tokenParameters, CompatibilityContext.FULL_BACKWARDS_COMPATIBILITY);
45
48
  this.userId = tokenPayload.sub;
46
49
  this.rawTokenPayload = JSONBig.stringify(tokenPayload);
47
50
  this.rawUserParameters = JSONBig.stringify(clientParameters);
48
- this.userParameters = toSyncRulesParameters(clientParameters);
51
+ this.userParameters = toSyncRulesParameters(clientParameters, CompatibilityContext.FULL_BACKWARDS_COMPATIBILITY);
49
52
  this.streamParameters = null;
50
53
  this.rawStreamParameters = null;
51
54
  }
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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"}
package/dist/utils.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Replacer } from '@powersync/service-jsonbig';
2
2
  import { SelectFromStatement, Statement } from 'pgsql-ast-parser';
3
- import { DatabaseInputRow, SqliteJsonRow, SqliteJsonValue, SqliteRow, SqliteValue } from './types.js';
3
+ import { DatabaseInputRow, DatabaseInputValue, SqliteInputValue, SqliteInputRow, SqliteJsonRow, SqliteJsonValue, SqliteRow, SqliteValue } from './types.js';
4
+ import { CompatibilityContext } from './compatibility.js';
4
5
  export declare function isSelectStatement(q: Statement): q is SelectFromStatement;
5
6
  export declare function getBucketId(descriptor_id: string, bucket_parameters: string[], params: Record<string, SqliteJsonValue>): string;
6
7
  /**
@@ -21,19 +22,21 @@ export declare function isJsonValue(value: SqliteValue): value is SqliteJsonValu
21
22
  /**
22
23
  * Map database row to SqliteRow for use in sync rules.
23
24
  */
24
- export declare function toSyncRulesRow(row: DatabaseInputRow): SqliteRow;
25
+ export declare function toSyncRulesRow(row: DatabaseInputRow): SqliteInputRow;
25
26
  /**
26
27
  * Convert parameter query input to a SqliteJsonRow.
27
28
  *
28
29
  * @param parameters Generic JSON input
29
30
  */
30
- export declare function toSyncRulesParameters(parameters: Record<string, any>): SqliteJsonRow;
31
+ export declare function toSyncRulesParameters(parameters: Record<string, any>, context: CompatibilityContext): SqliteJsonRow;
31
32
  /**
32
33
  * Convert to a SQLITE-equivalent value: NULL, TEXT, INTEGER, REAL or BLOB.
33
34
  *
34
35
  * Any object or array is converted to JSON TEXT.
35
36
  */
36
- export declare function toSyncRulesValue(data: any, autoBigNum?: boolean, keepUndefined?: boolean): SqliteValue;
37
+ export declare function toSyncRulesValue(data: DatabaseInputValue, autoBigNum?: boolean, keepUndefined?: boolean): SqliteInputValue;
38
+ export declare function applyValueContext(value: SqliteInputValue, context: CompatibilityContext): SqliteValue;
39
+ export declare function applyRowContext(value: SqliteInputRow, context: CompatibilityContext): SqliteRow;
37
40
  /**
38
41
  * Only use this for serializing bucket names. Bucket names should never be parsed except perhaps for debug purposes.
39
42
  *
package/dist/utils.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { JSONBig, JsonContainer, stringifyRaw } from '@powersync/service-jsonbig';
2
2
  import { SQLITE_FALSE, SQLITE_TRUE } from './sql_support.js';
3
3
  import { SyncRuleProcessingError as SyncRulesProcessingError } from './errors.js';
4
+ import { CustomArray, CustomObject, CustomSqliteValue } from './types/custom_sqlite_value.js';
4
5
  export function isSelectStatement(q) {
5
6
  return q.type == 'select';
6
7
  }
@@ -47,7 +48,7 @@ export function jsonValueToSqlite(value) {
47
48
  export function isJsonValue(value) {
48
49
  return value == null || typeof value == 'string' || typeof value == 'number' || typeof value == 'bigint';
49
50
  }
50
- function filterJsonData(data, depth = 0) {
51
+ function filterJsonData(data, context, depth = 0) {
51
52
  if (depth > DEPTH_LIMIT) {
52
53
  // This is primarily to prevent infinite recursion
53
54
  // TODO: Proper error class
@@ -68,7 +69,7 @@ function filterJsonData(data, depth = 0) {
68
69
  return data;
69
70
  }
70
71
  else if (Array.isArray(data)) {
71
- return data.map((element) => filterJsonData(element, depth + 1));
72
+ return data.map((element) => filterJsonData(element, context, depth + 1));
72
73
  }
73
74
  else if (ArrayBuffer.isView(data)) {
74
75
  return undefined;
@@ -77,10 +78,13 @@ function filterJsonData(data, depth = 0) {
77
78
  // Can be stringified directly when using our JSONBig implementation
78
79
  return data;
79
80
  }
81
+ else if (data instanceof CustomSqliteValue) {
82
+ return data.toSqliteValue(context);
83
+ }
80
84
  else if (typeof data == 'object') {
81
85
  let record = {};
82
86
  for (let key of Object.keys(data)) {
83
- record[key] = filterJsonData(data[key], depth + 1);
87
+ record[key] = filterJsonData(data[key], context, depth + 1);
84
88
  }
85
89
  return record;
86
90
  }
@@ -103,10 +107,10 @@ export function toSyncRulesRow(row) {
103
107
  *
104
108
  * @param parameters Generic JSON input
105
109
  */
106
- export function toSyncRulesParameters(parameters) {
110
+ export function toSyncRulesParameters(parameters, context) {
107
111
  let record = {};
108
112
  for (let key of Object.keys(parameters)) {
109
- record[key] = toSyncRulesValue(parameters[key], true, false);
113
+ record[key] = applyValueContext(toSyncRulesValue(parameters[key], true, false), context);
110
114
  }
111
115
  return record;
112
116
  }
@@ -141,26 +145,36 @@ export function toSyncRulesValue(data, autoBigNum, keepUndefined) {
141
145
  return data ? SQLITE_TRUE : SQLITE_FALSE;
142
146
  }
143
147
  else if (Array.isArray(data)) {
144
- // We may be able to avoid some parse + stringify cycles here for JsonSqliteContainer.
145
- return JSONBig.stringify(data.map((element) => filterJsonData(element)));
148
+ return new CustomArray(data, filterJsonData);
146
149
  }
147
- else if (data instanceof Uint8Array) {
150
+ else if (data instanceof Uint8Array || data instanceof CustomSqliteValue) {
148
151
  return data;
149
152
  }
150
153
  else if (data instanceof JsonContainer) {
151
154
  return data.toString();
152
155
  }
153
156
  else if (typeof data == 'object') {
154
- let record = {};
155
- for (let key of Object.keys(data)) {
156
- record[key] = filterJsonData(data[key]);
157
- }
158
- return JSONBig.stringify(record);
157
+ return new CustomObject(data, filterJsonData);
159
158
  }
160
159
  else {
161
160
  return null;
162
161
  }
163
162
  }
163
+ export function applyValueContext(value, context) {
164
+ if (value instanceof CustomSqliteValue) {
165
+ return value.toSqliteValue(context);
166
+ }
167
+ else {
168
+ return value;
169
+ }
170
+ }
171
+ export function applyRowContext(value, context) {
172
+ let record = {};
173
+ for (let key of Object.keys(value)) {
174
+ record[key] = applyValueContext(value[key], context);
175
+ }
176
+ return record;
177
+ }
164
178
  /**
165
179
  * Only use this for serializing bucket names. Bucket names should never be parsed except perhaps for debug purposes.
166
180
  *
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAY,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAW7D,OAAO,EAAE,uBAAuB,IAAI,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAG9F,MAAM,UAAU,iBAAiB,CAAC,CAAY;IAC5C,OAAO,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,aAAqB,EACrB,iBAA2B,EAC3B,MAAuC;IAEvC,gHAAgH;IAChH,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,OAAO,GAAG,aAAa,GAAG,uBAAuB,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,IAAe;IAC3C,IAAI,MAAM,GAAwB,EAAE,CAAC;IACrC,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAkE;IAClG,IAAI,OAAO,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IAC5C,CAAC;SAAM,IAAI,OAAO,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,yCAAyC;QACzC,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,IAAI,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,IAAI,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,CAAC;AAC3G,CAAC;AAED,SAAS,cAAc,CAAC,IAAS,EAAE,OAA6B,EAAE,KAAK,GAAG,CAAC;IACzE,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;QACxB,kDAAkD;QAClD,2BAA2B;QAC3B,MAAM,IAAI,wBAAwB;QAChC,uCAAuC;QACvC,aAAa,EACb,iDAAiD,WAAW,EAAE,CAC/D,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,CAAC,oBAAoB;IACnC,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,SAAS,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IAC3C,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,IAAI,YAAY,aAAa,EAAE,CAAC;QACzC,oEAAoE;QACpE,OAAO,IAAW,CAAC;IACrB,CAAC;SAAM,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,MAAM,GAAwB,EAAE,CAAC;QACrC,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,MAAa,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAqB;IAClD,IAAI,MAAM,GAAmB,EAAE,CAAC;IAChC,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAA+B,EAAE,OAA6B;IAClG,IAAI,MAAM,GAAkB,EAAE,CAAC;IAC/B,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,CAAoB,CAAC;IAC9G,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAwB,EACxB,UAAoB,EACpB,aAAuB;IAEvB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,oBAAoB;QACpB,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,SAAS,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IAC3C,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,IAAI,YAAY,UAAU,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,IAAI,YAAY,aAAa,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAuB,EAAE,OAA6B;IACtF,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAqB,EAAE,OAA6B;IAClF,IAAI,MAAM,GAAc,EAAE,CAAC;IAC3B,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,SAAS,CAAC,KAAU,EAAE,QAAmB,EAAE,KAAuB;QAChE,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAE,CAAC;IAC/C,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAsB;IAC5D,IAAI,OAAO,KAAK,IAAI,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
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.0.0-dev-20250825132649",
4
+ "version": "0.0.0-dev-20250827072023",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "FSL-1.1-ALv2",
@@ -19,7 +19,7 @@
19
19
  "pgsql-ast-parser": "^11.1.0",
20
20
  "uuid": "^11.1.0",
21
21
  "yaml": "^2.3.1",
22
- "@powersync/service-jsonbig": "^0.0.0-dev-20250825132649"
22
+ "@powersync/service-jsonbig": "^0.0.0-dev-20250827072023"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/node": "^22.16.2",
@@ -145,6 +145,23 @@
145
145
  }
146
146
  }
147
147
  }
148
+ },
149
+ "config": {
150
+ "type": "object",
151
+ "description": "Config declaring the compatibility level used to parse these definitions.",
152
+ "properties": {
153
+ "edition": {
154
+ "type": "integer",
155
+ "default": 1,
156
+ "minimum": 1,
157
+ "exclusiveMaximum": 3
158
+ },
159
+ "timestamps_iso8601": {
160
+ "type": "boolean",
161
+ "description": "Enabled by default starting from edition 2: Consistently renders timestamps with an ISO 8601-compatible format (previous versions used a space instead of a T to separate date and time)."
162
+ }
163
+ },
164
+ "additionalProperties": false
148
165
  }
149
166
  },
150
167
  "anyOf": [