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

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.
@@ -1,5 +1,361 @@
1
1
  {
2
2
  "type": "object",
3
+ "definitions": {
4
+ "mongodb_filter_expression": {
5
+ "allOf": [
6
+ {
7
+ "$ref": "#/definitions/__schema0"
8
+ }
9
+ ]
10
+ },
11
+ "__schema0": {
12
+ "anyOf": [
13
+ {
14
+ "type": "object",
15
+ "properties": {
16
+ "$eq": {
17
+ "type": "array",
18
+ "items": [
19
+ {
20
+ "$ref": "#/definitions/__schema1"
21
+ },
22
+ {
23
+ "$ref": "#/definitions/__schema2"
24
+ }
25
+ ],
26
+ "additionalItems": false,
27
+ "minItems": 2,
28
+ "maxItems": 2,
29
+ "description": "Compare a source field with a scalar constant.",
30
+ "examples": [
31
+ [
32
+ "$$doc.status",
33
+ "active"
34
+ ]
35
+ ]
36
+ }
37
+ },
38
+ "required": [
39
+ "$eq"
40
+ ],
41
+ "additionalProperties": false
42
+ },
43
+ {
44
+ "type": "object",
45
+ "properties": {
46
+ "$in": {
47
+ "type": "array",
48
+ "items": [
49
+ {
50
+ "$ref": "#/definitions/__schema1"
51
+ },
52
+ {
53
+ "$ref": "#/definitions/__schema6"
54
+ }
55
+ ],
56
+ "additionalItems": false,
57
+ "minItems": 2,
58
+ "maxItems": 2,
59
+ "examples": [
60
+ [
61
+ "$$doc.status",
62
+ [
63
+ "pending",
64
+ "shipped"
65
+ ]
66
+ ]
67
+ ]
68
+ }
69
+ },
70
+ "required": [
71
+ "$in"
72
+ ],
73
+ "additionalProperties": false
74
+ },
75
+ {
76
+ "type": "object",
77
+ "properties": {
78
+ "$and": {
79
+ "minItems": 1,
80
+ "type": "array",
81
+ "items": {
82
+ "$ref": "#/definitions/mongodb_filter_expression"
83
+ },
84
+ "examples": [
85
+ [
86
+ {
87
+ "$eq": [
88
+ "$$doc.active",
89
+ true
90
+ ]
91
+ }
92
+ ]
93
+ ]
94
+ }
95
+ },
96
+ "required": [
97
+ "$and"
98
+ ],
99
+ "additionalProperties": false
100
+ },
101
+ {
102
+ "type": "object",
103
+ "properties": {
104
+ "$or": {
105
+ "minItems": 1,
106
+ "type": "array",
107
+ "items": {
108
+ "$ref": "#/definitions/mongodb_filter_expression"
109
+ },
110
+ "examples": [
111
+ [
112
+ {
113
+ "$eq": [
114
+ "$$doc.status",
115
+ "pending"
116
+ ]
117
+ },
118
+ {
119
+ "$eq": [
120
+ "$$doc.priority",
121
+ true
122
+ ]
123
+ }
124
+ ]
125
+ ]
126
+ }
127
+ },
128
+ "required": [
129
+ "$or"
130
+ ],
131
+ "additionalProperties": false
132
+ }
133
+ ]
134
+ },
135
+ "__schema1": {
136
+ "type": "string",
137
+ "pattern": "^\\$\\$doc(?:\\.(?![0-9]+(?:\\.|$))[^.$][^.]*)+$"
138
+ },
139
+ "__schema2": {
140
+ "anyOf": [
141
+ {
142
+ "type": "boolean"
143
+ },
144
+ {
145
+ "type": "number"
146
+ },
147
+ {
148
+ "type": "string",
149
+ "pattern": "^(?!\\$)"
150
+ },
151
+ {
152
+ "anyOf": [
153
+ {
154
+ "type": "object",
155
+ "properties": {
156
+ "$literal": {
157
+ "type": "string"
158
+ }
159
+ },
160
+ "required": [
161
+ "$literal"
162
+ ],
163
+ "additionalProperties": false
164
+ },
165
+ {
166
+ "type": "object",
167
+ "properties": {
168
+ "$oid": {
169
+ "type": "string",
170
+ "pattern": "^[0-9a-fA-F]{24}$"
171
+ }
172
+ },
173
+ "required": [
174
+ "$oid"
175
+ ],
176
+ "additionalProperties": false
177
+ },
178
+ {
179
+ "type": "object",
180
+ "properties": {
181
+ "$numberInt": {
182
+ "allOf": [
183
+ {
184
+ "$ref": "#/definitions/__schema3"
185
+ }
186
+ ]
187
+ }
188
+ },
189
+ "required": [
190
+ "$numberInt"
191
+ ],
192
+ "additionalProperties": false
193
+ },
194
+ {
195
+ "type": "object",
196
+ "properties": {
197
+ "$numberLong": {
198
+ "allOf": [
199
+ {
200
+ "$ref": "#/definitions/__schema3"
201
+ }
202
+ ]
203
+ }
204
+ },
205
+ "required": [
206
+ "$numberLong"
207
+ ],
208
+ "additionalProperties": false
209
+ },
210
+ {
211
+ "type": "object",
212
+ "properties": {
213
+ "$numberDouble": {
214
+ "type": "string",
215
+ "pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$"
216
+ }
217
+ },
218
+ "required": [
219
+ "$numberDouble"
220
+ ],
221
+ "additionalProperties": false
222
+ },
223
+ {
224
+ "type": "object",
225
+ "properties": {
226
+ "$numberDecimal": {
227
+ "type": "string"
228
+ }
229
+ },
230
+ "required": [
231
+ "$numberDecimal"
232
+ ],
233
+ "additionalProperties": false
234
+ },
235
+ {
236
+ "type": "object",
237
+ "properties": {
238
+ "$uuid": {
239
+ "type": "string",
240
+ "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
241
+ }
242
+ },
243
+ "required": [
244
+ "$uuid"
245
+ ],
246
+ "additionalProperties": false
247
+ },
248
+ {
249
+ "type": "object",
250
+ "properties": {
251
+ "$date": {
252
+ "anyOf": [
253
+ {
254
+ "type": "string",
255
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"
256
+ },
257
+ {
258
+ "type": "object",
259
+ "properties": {
260
+ "$numberLong": {
261
+ "allOf": [
262
+ {
263
+ "$ref": "#/definitions/__schema3"
264
+ }
265
+ ]
266
+ }
267
+ },
268
+ "required": [
269
+ "$numberLong"
270
+ ],
271
+ "additionalProperties": false
272
+ }
273
+ ]
274
+ }
275
+ },
276
+ "required": [
277
+ "$date"
278
+ ],
279
+ "additionalProperties": false
280
+ },
281
+ {
282
+ "type": "object",
283
+ "properties": {
284
+ "$timestamp": {
285
+ "type": "object",
286
+ "properties": {
287
+ "t": {
288
+ "type": "integer",
289
+ "minimum": 0,
290
+ "maximum": 4294967295
291
+ },
292
+ "i": {
293
+ "type": "integer",
294
+ "minimum": 0,
295
+ "maximum": 4294967295
296
+ }
297
+ },
298
+ "required": [
299
+ "t",
300
+ "i"
301
+ ],
302
+ "additionalProperties": false
303
+ }
304
+ },
305
+ "required": [
306
+ "$timestamp"
307
+ ],
308
+ "additionalProperties": false
309
+ },
310
+ {
311
+ "type": "object",
312
+ "properties": {
313
+ "$binary": {
314
+ "type": "object",
315
+ "properties": {
316
+ "base64": {
317
+ "$ref": "#/definitions/__schema4"
318
+ },
319
+ "subType": {
320
+ "$ref": "#/definitions/__schema5"
321
+ }
322
+ },
323
+ "required": [
324
+ "base64",
325
+ "subType"
326
+ ],
327
+ "additionalProperties": false
328
+ }
329
+ },
330
+ "required": [
331
+ "$binary"
332
+ ],
333
+ "additionalProperties": false
334
+ }
335
+ ]
336
+ }
337
+ ]
338
+ },
339
+ "__schema3": {
340
+ "type": "string",
341
+ "pattern": "^-?(?:0|[1-9][0-9]*)$"
342
+ },
343
+ "__schema4": {
344
+ "type": "string",
345
+ "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/][AQgw]==|[A-Za-z0-9+/]{2}[AEIMQUYcgkosw048]=)?$"
346
+ },
347
+ "__schema5": {
348
+ "type": "string",
349
+ "pattern": "^[0-9a-fA-F]{2}$"
350
+ },
351
+ "__schema6": {
352
+ "minItems": 1,
353
+ "type": "array",
354
+ "items": {
355
+ "$ref": "#/definitions/__schema2"
356
+ }
357
+ }
358
+ },
3
359
  "properties": {
4
360
  "bucket_definitions": {
5
361
  "type": "object",
@@ -185,353 +541,7 @@
185
541
  "mongodb_filter_expression": {
186
542
  "anyOf": [
187
543
  {
188
- "$schema": "http://json-schema.org/draft-07/schema#",
189
- "anyOf": [
190
- {
191
- "type": "object",
192
- "properties": {
193
- "$eq": {
194
- "type": "array",
195
- "items": [
196
- {
197
- "$ref": "#/definitions/__schema0"
198
- },
199
- {
200
- "$ref": "#/definitions/__schema1"
201
- }
202
- ],
203
- "minItems": 2,
204
- "maxItems": 2,
205
- "description": "Compare a source field with a scalar constant.",
206
- "examples": [
207
- [
208
- "$$doc.status",
209
- "active"
210
- ]
211
- ]
212
- }
213
- },
214
- "required": [
215
- "$eq"
216
- ],
217
- "additionalProperties": false
218
- },
219
- {
220
- "type": "object",
221
- "properties": {
222
- "$in": {
223
- "type": "array",
224
- "items": [
225
- {
226
- "$ref": "#/definitions/__schema0"
227
- },
228
- {
229
- "$ref": "#/definitions/__schema5"
230
- }
231
- ],
232
- "minItems": 2,
233
- "maxItems": 2,
234
- "examples": [
235
- [
236
- "$$doc.status",
237
- [
238
- "pending",
239
- "shipped"
240
- ]
241
- ]
242
- ]
243
- }
244
- },
245
- "required": [
246
- "$in"
247
- ],
248
- "additionalProperties": false
249
- },
250
- {
251
- "type": "object",
252
- "properties": {
253
- "$and": {
254
- "minItems": 1,
255
- "type": "array",
256
- "items": {
257
- "$ref": "#"
258
- },
259
- "examples": [
260
- [
261
- {
262
- "$eq": [
263
- "$$doc.active",
264
- true
265
- ]
266
- }
267
- ]
268
- ]
269
- }
270
- },
271
- "required": [
272
- "$and"
273
- ],
274
- "additionalProperties": false
275
- },
276
- {
277
- "type": "object",
278
- "properties": {
279
- "$or": {
280
- "minItems": 1,
281
- "type": "array",
282
- "items": {
283
- "$ref": "#"
284
- },
285
- "examples": [
286
- [
287
- {
288
- "$eq": [
289
- "$$doc.status",
290
- "pending"
291
- ]
292
- },
293
- {
294
- "$eq": [
295
- "$$doc.priority",
296
- true
297
- ]
298
- }
299
- ]
300
- ]
301
- }
302
- },
303
- "required": [
304
- "$or"
305
- ],
306
- "additionalProperties": false
307
- }
308
- ],
309
- "definitions": {
310
- "__schema0": {
311
- "type": "string",
312
- "pattern": "^\\$\\$doc(?:\\.(?![0-9]+(?:\\.|$))[^.$][^.]*)+$"
313
- },
314
- "__schema1": {
315
- "anyOf": [
316
- {
317
- "type": "boolean"
318
- },
319
- {
320
- "type": "number"
321
- },
322
- {
323
- "type": "string",
324
- "pattern": "^(?!\\$)"
325
- },
326
- {
327
- "anyOf": [
328
- {
329
- "type": "object",
330
- "properties": {
331
- "$literal": {
332
- "type": "string"
333
- }
334
- },
335
- "required": [
336
- "$literal"
337
- ],
338
- "additionalProperties": false
339
- },
340
- {
341
- "type": "object",
342
- "properties": {
343
- "$oid": {
344
- "type": "string",
345
- "pattern": "^[0-9a-fA-F]{24}$"
346
- }
347
- },
348
- "required": [
349
- "$oid"
350
- ],
351
- "additionalProperties": false
352
- },
353
- {
354
- "type": "object",
355
- "properties": {
356
- "$numberInt": {
357
- "allOf": [
358
- {
359
- "$ref": "#/definitions/__schema2"
360
- }
361
- ]
362
- }
363
- },
364
- "required": [
365
- "$numberInt"
366
- ],
367
- "additionalProperties": false
368
- },
369
- {
370
- "type": "object",
371
- "properties": {
372
- "$numberLong": {
373
- "allOf": [
374
- {
375
- "$ref": "#/definitions/__schema2"
376
- }
377
- ]
378
- }
379
- },
380
- "required": [
381
- "$numberLong"
382
- ],
383
- "additionalProperties": false
384
- },
385
- {
386
- "type": "object",
387
- "properties": {
388
- "$numberDouble": {
389
- "type": "string",
390
- "pattern": "^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$"
391
- }
392
- },
393
- "required": [
394
- "$numberDouble"
395
- ],
396
- "additionalProperties": false
397
- },
398
- {
399
- "type": "object",
400
- "properties": {
401
- "$numberDecimal": {
402
- "type": "string"
403
- }
404
- },
405
- "required": [
406
- "$numberDecimal"
407
- ],
408
- "additionalProperties": false
409
- },
410
- {
411
- "type": "object",
412
- "properties": {
413
- "$uuid": {
414
- "type": "string",
415
- "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
416
- }
417
- },
418
- "required": [
419
- "$uuid"
420
- ],
421
- "additionalProperties": false
422
- },
423
- {
424
- "type": "object",
425
- "properties": {
426
- "$date": {
427
- "anyOf": [
428
- {
429
- "type": "string",
430
- "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"
431
- },
432
- {
433
- "type": "object",
434
- "properties": {
435
- "$numberLong": {
436
- "allOf": [
437
- {
438
- "$ref": "#/definitions/__schema2"
439
- }
440
- ]
441
- }
442
- },
443
- "required": [
444
- "$numberLong"
445
- ],
446
- "additionalProperties": false
447
- }
448
- ]
449
- }
450
- },
451
- "required": [
452
- "$date"
453
- ],
454
- "additionalProperties": false
455
- },
456
- {
457
- "type": "object",
458
- "properties": {
459
- "$timestamp": {
460
- "type": "object",
461
- "properties": {
462
- "t": {
463
- "type": "integer",
464
- "minimum": 0,
465
- "maximum": 4294967295
466
- },
467
- "i": {
468
- "type": "integer",
469
- "minimum": 0,
470
- "maximum": 4294967295
471
- }
472
- },
473
- "required": [
474
- "t",
475
- "i"
476
- ],
477
- "additionalProperties": false
478
- }
479
- },
480
- "required": [
481
- "$timestamp"
482
- ],
483
- "additionalProperties": false
484
- },
485
- {
486
- "type": "object",
487
- "properties": {
488
- "$binary": {
489
- "type": "object",
490
- "properties": {
491
- "base64": {
492
- "$ref": "#/definitions/__schema3"
493
- },
494
- "subType": {
495
- "$ref": "#/definitions/__schema4"
496
- }
497
- },
498
- "required": [
499
- "base64",
500
- "subType"
501
- ],
502
- "additionalProperties": false
503
- }
504
- },
505
- "required": [
506
- "$binary"
507
- ],
508
- "additionalProperties": false
509
- }
510
- ]
511
- }
512
- ]
513
- },
514
- "__schema2": {
515
- "type": "string",
516
- "pattern": "^-?(?:0|[1-9][0-9]*)$"
517
- },
518
- "__schema3": {
519
- "type": "string",
520
- "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/][AQgw]==|[A-Za-z0-9+/]{2}[AEIMQUYcgkosw048]=)?$"
521
- },
522
- "__schema4": {
523
- "type": "string",
524
- "pattern": "^[0-9a-fA-F]{2}$"
525
- },
526
- "__schema5": {
527
- "minItems": 1,
528
- "type": "array",
529
- "items": {
530
- "$ref": "#/definitions/__schema1"
531
- }
532
- }
533
- },
534
- "$id": "https://powersync.com/schemas/mongodb-filter-expression"
544
+ "$ref": "#/definitions/mongodb_filter_expression"
535
545
  },
536
546
  {
537
547
  "const": "disabled"