@forzalabs/remora 1.2.12 → 1.3.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.
- package/CHANGELOG.md +12 -0
- package/index.js +8786 -7996
- package/json_schemas/consumer-schema.json +728 -297
- package/json_schemas/producer-schema.json +36 -17
- package/json_schemas/source-schema.json +15 -21
- package/package.json +1 -1
- package/workers/ExecutorWorker.js +8970 -8206
|
@@ -91,28 +91,6 @@
|
|
|
91
91
|
"type": "string",
|
|
92
92
|
"description": "If the key is ambiguous, set a 'from' with the name of the producer/consumer to get the key from"
|
|
93
93
|
},
|
|
94
|
-
"grouping": {
|
|
95
|
-
"type": "object",
|
|
96
|
-
"description": "If set, group resulting items that have the same value for the 'groupingKey'",
|
|
97
|
-
"properties": {
|
|
98
|
-
"groupingKey": {
|
|
99
|
-
"type": "string",
|
|
100
|
-
"description": "Used to create hierarchical data structure (parent -> children)"
|
|
101
|
-
},
|
|
102
|
-
"subFields": {
|
|
103
|
-
"type": "array",
|
|
104
|
-
"description": "Recursive structure defining fields that should be pulled inside this grouped field",
|
|
105
|
-
"items": {
|
|
106
|
-
"$ref": "#/definitions/consumerField"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
"required": [
|
|
111
|
-
"groupingKey",
|
|
112
|
-
"subFields"
|
|
113
|
-
],
|
|
114
|
-
"additionalProperties": false
|
|
115
|
-
},
|
|
116
94
|
"transform": {
|
|
117
95
|
"description": "Optional list of transformations to apply to the dataset before returning the data",
|
|
118
96
|
"oneOf": [
|
|
@@ -139,43 +117,126 @@
|
|
|
139
117
|
"description": "The validation rule to check",
|
|
140
118
|
"oneOf": [
|
|
141
119
|
{
|
|
142
|
-
"properties": {
|
|
143
|
-
|
|
120
|
+
"properties": {
|
|
121
|
+
"min": {
|
|
122
|
+
"type": "number",
|
|
123
|
+
"description": "Minimum value for numeric fields"
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"required": [
|
|
127
|
+
"min"
|
|
128
|
+
],
|
|
144
129
|
"additionalProperties": false
|
|
145
130
|
},
|
|
146
131
|
{
|
|
147
|
-
"properties": {
|
|
148
|
-
|
|
132
|
+
"properties": {
|
|
133
|
+
"max": {
|
|
134
|
+
"type": "number",
|
|
135
|
+
"description": "Maximum value for numeric fields"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"required": [
|
|
139
|
+
"max"
|
|
140
|
+
],
|
|
149
141
|
"additionalProperties": false
|
|
150
142
|
},
|
|
151
143
|
{
|
|
152
|
-
"properties": {
|
|
153
|
-
|
|
144
|
+
"properties": {
|
|
145
|
+
"regex": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"description": "Regular expression pattern to validate string fields"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"required": [
|
|
151
|
+
"regex"
|
|
152
|
+
],
|
|
154
153
|
"additionalProperties": false
|
|
155
154
|
},
|
|
156
155
|
{
|
|
157
|
-
"properties": {
|
|
158
|
-
|
|
156
|
+
"properties": {
|
|
157
|
+
"required": {
|
|
158
|
+
"type": "boolean",
|
|
159
|
+
"const": true,
|
|
160
|
+
"description": "Whether the field value must be present"
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
"required": [
|
|
164
|
+
"required"
|
|
165
|
+
],
|
|
159
166
|
"additionalProperties": false
|
|
160
167
|
},
|
|
161
168
|
{
|
|
162
|
-
"properties": {
|
|
163
|
-
|
|
169
|
+
"properties": {
|
|
170
|
+
"min_length": {
|
|
171
|
+
"type": "number",
|
|
172
|
+
"description": "Minimum string length"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"required": [
|
|
176
|
+
"min_length"
|
|
177
|
+
],
|
|
164
178
|
"additionalProperties": false
|
|
165
179
|
},
|
|
166
180
|
{
|
|
167
|
-
"properties": {
|
|
168
|
-
|
|
181
|
+
"properties": {
|
|
182
|
+
"max_length": {
|
|
183
|
+
"type": "number",
|
|
184
|
+
"description": "Maximum string length"
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"required": [
|
|
188
|
+
"max_length"
|
|
189
|
+
],
|
|
169
190
|
"additionalProperties": false
|
|
170
191
|
},
|
|
171
192
|
{
|
|
172
|
-
"properties": {
|
|
173
|
-
|
|
193
|
+
"properties": {
|
|
194
|
+
"in": {
|
|
195
|
+
"type": "array",
|
|
196
|
+
"items": {
|
|
197
|
+
"oneOf": [
|
|
198
|
+
{
|
|
199
|
+
"type": "string"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"type": "number"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"type": "boolean"
|
|
206
|
+
}
|
|
207
|
+
]
|
|
208
|
+
},
|
|
209
|
+
"description": "Allowed values"
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"required": [
|
|
213
|
+
"in"
|
|
214
|
+
],
|
|
174
215
|
"additionalProperties": false
|
|
175
216
|
},
|
|
176
217
|
{
|
|
177
|
-
"properties": {
|
|
178
|
-
|
|
218
|
+
"properties": {
|
|
219
|
+
"not_in": {
|
|
220
|
+
"type": "array",
|
|
221
|
+
"items": {
|
|
222
|
+
"oneOf": [
|
|
223
|
+
{
|
|
224
|
+
"type": "string"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"type": "number"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"type": "boolean"
|
|
231
|
+
}
|
|
232
|
+
]
|
|
233
|
+
},
|
|
234
|
+
"description": "Disallowed values"
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
"required": [
|
|
238
|
+
"not_in"
|
|
239
|
+
],
|
|
179
240
|
"additionalProperties": false
|
|
180
241
|
}
|
|
181
242
|
]
|
|
@@ -183,17 +244,29 @@
|
|
|
183
244
|
"onFail": {
|
|
184
245
|
"type": "string",
|
|
185
246
|
"description": "Action to take when validation fails",
|
|
186
|
-
"enum": [
|
|
247
|
+
"enum": [
|
|
248
|
+
"fail",
|
|
249
|
+
"skip",
|
|
250
|
+
"warn",
|
|
251
|
+
"set_default"
|
|
252
|
+
]
|
|
187
253
|
}
|
|
188
254
|
},
|
|
189
|
-
"required": [
|
|
255
|
+
"required": [
|
|
256
|
+
"rule",
|
|
257
|
+
"onFail"
|
|
258
|
+
],
|
|
190
259
|
"additionalProperties": false
|
|
191
260
|
}
|
|
192
261
|
},
|
|
193
262
|
"onError": {
|
|
194
263
|
"type": "string",
|
|
195
264
|
"description": "Action to take if an error occurs during transformations",
|
|
196
|
-
"enum": [
|
|
265
|
+
"enum": [
|
|
266
|
+
"set_default",
|
|
267
|
+
"skip",
|
|
268
|
+
"fail"
|
|
269
|
+
]
|
|
197
270
|
},
|
|
198
271
|
"default": {
|
|
199
272
|
"description": "Default value of the field if it is missing (or on error if specified)"
|
|
@@ -231,21 +304,12 @@
|
|
|
231
304
|
"format": {
|
|
232
305
|
"type": "string",
|
|
233
306
|
"enum": [
|
|
234
|
-
"SQL",
|
|
235
307
|
"API",
|
|
236
308
|
"CSV",
|
|
237
|
-
"
|
|
238
|
-
"
|
|
309
|
+
"JSON",
|
|
310
|
+
"TXT"
|
|
239
311
|
],
|
|
240
|
-
"description": "The output format of the consumer"
|
|
241
|
-
},
|
|
242
|
-
"accelerated": {
|
|
243
|
-
"type": "boolean",
|
|
244
|
-
"description": "If true and supported, the consumer will be materialized to improve query performance"
|
|
245
|
-
},
|
|
246
|
-
"direct": {
|
|
247
|
-
"type": "boolean",
|
|
248
|
-
"description": "If true, no view is created on the consumer side due to permission limitations"
|
|
312
|
+
"description": "The output format of the consumer. JSON/CSV/TXT export to a file destination; API exposes the result over the API."
|
|
249
313
|
},
|
|
250
314
|
"exportDestination": {
|
|
251
315
|
"type": "string",
|
|
@@ -255,6 +319,10 @@
|
|
|
255
319
|
"type": "string",
|
|
256
320
|
"description": "If the format is a file, forces the same name in the export file (extension is auto-added)"
|
|
257
321
|
},
|
|
322
|
+
"delimiter": {
|
|
323
|
+
"type": "string",
|
|
324
|
+
"description": "Only used when the format is 'TXT'. The single-character delimiter used between fields in the exported file. Defaults to a tab if not set."
|
|
325
|
+
},
|
|
258
326
|
"trigger": {
|
|
259
327
|
"type": "object",
|
|
260
328
|
"description": "Triggers to perform the export (not just the usual 'Deploy')",
|
|
@@ -302,7 +370,12 @@
|
|
|
302
370
|
},
|
|
303
371
|
"method": {
|
|
304
372
|
"type": "string",
|
|
305
|
-
"enum": [
|
|
373
|
+
"enum": [
|
|
374
|
+
"access-secret-key",
|
|
375
|
+
"arn",
|
|
376
|
+
"implicit",
|
|
377
|
+
"iam"
|
|
378
|
+
],
|
|
306
379
|
"description": "Credential method for the queue (QUEUE triggers). 'arn' assumes an IAM role via STS; 'implicit'/'iam' use the AWS SDK default chain (instance/task role); omit or 'access-secret-key' to use static keys."
|
|
307
380
|
},
|
|
308
381
|
"roleArn": {
|
|
@@ -452,7 +525,12 @@
|
|
|
452
525
|
"properties": {
|
|
453
526
|
"strategy": {
|
|
454
527
|
"type": "string",
|
|
455
|
-
"enum": [
|
|
528
|
+
"enum": [
|
|
529
|
+
"first",
|
|
530
|
+
"last",
|
|
531
|
+
"min",
|
|
532
|
+
"max"
|
|
533
|
+
],
|
|
456
534
|
"description": "Strategy for resolving which record to keep. 'first': Keep the first record based on orderBy field. 'last': Keep the last record based on orderBy field. 'min': Keep the record with the minimum value in orderBy field. 'max': Keep the record with the maximum value in orderBy field."
|
|
457
535
|
},
|
|
458
536
|
"orderBy": {
|
|
@@ -461,16 +539,24 @@
|
|
|
461
539
|
},
|
|
462
540
|
"direction": {
|
|
463
541
|
"type": "string",
|
|
464
|
-
"enum": [
|
|
542
|
+
"enum": [
|
|
543
|
+
"asc",
|
|
544
|
+
"desc"
|
|
545
|
+
],
|
|
465
546
|
"default": "asc",
|
|
466
547
|
"description": "For 'first' and 'last' strategies, the sort direction."
|
|
467
548
|
}
|
|
468
549
|
},
|
|
469
|
-
"required": [
|
|
550
|
+
"required": [
|
|
551
|
+
"strategy"
|
|
552
|
+
],
|
|
470
553
|
"additionalProperties": false
|
|
471
554
|
}
|
|
472
555
|
},
|
|
473
|
-
"required": [
|
|
556
|
+
"required": [
|
|
557
|
+
"keys",
|
|
558
|
+
"resolution"
|
|
559
|
+
],
|
|
474
560
|
"additionalProperties": false
|
|
475
561
|
},
|
|
476
562
|
"pivot": {
|
|
@@ -495,7 +581,13 @@
|
|
|
495
581
|
},
|
|
496
582
|
"aggregation": {
|
|
497
583
|
"type": "string",
|
|
498
|
-
"enum": [
|
|
584
|
+
"enum": [
|
|
585
|
+
"sum",
|
|
586
|
+
"count",
|
|
587
|
+
"avg",
|
|
588
|
+
"min",
|
|
589
|
+
"max"
|
|
590
|
+
],
|
|
499
591
|
"description": "The aggregation function to apply when combining values."
|
|
500
592
|
},
|
|
501
593
|
"pivotValues": {
|
|
@@ -510,7 +602,12 @@
|
|
|
510
602
|
"description": "Optional prefix for the generated pivot column names (e.g. 'revenue_' produces 'revenue_East', 'revenue_West')."
|
|
511
603
|
}
|
|
512
604
|
},
|
|
513
|
-
"required": [
|
|
605
|
+
"required": [
|
|
606
|
+
"rowKeys",
|
|
607
|
+
"pivotColumn",
|
|
608
|
+
"valueColumn",
|
|
609
|
+
"aggregation"
|
|
610
|
+
],
|
|
514
611
|
"additionalProperties": false
|
|
515
612
|
}
|
|
516
613
|
},
|
|
@@ -520,6 +617,10 @@
|
|
|
520
617
|
"type": "string",
|
|
521
618
|
"description": "The name of the JSON schema in this project that this consumer needs to adhere to"
|
|
522
619
|
},
|
|
620
|
+
"maximumFileSize": {
|
|
621
|
+
"type": "number",
|
|
622
|
+
"description": "The maximum size of each output file, expressed in Gb. When the current output file exceeds this size it is rotated and a new file is started."
|
|
623
|
+
},
|
|
523
624
|
"_version": {
|
|
524
625
|
"type": "number",
|
|
525
626
|
"description": "Version number of the consumer configuration"
|
|
@@ -535,28 +636,69 @@
|
|
|
535
636
|
"description": "The dataset validation rule to check",
|
|
536
637
|
"oneOf": [
|
|
537
638
|
{
|
|
538
|
-
"properties": {
|
|
539
|
-
|
|
639
|
+
"properties": {
|
|
640
|
+
"unique_fields": {
|
|
641
|
+
"type": "array",
|
|
642
|
+
"items": {
|
|
643
|
+
"type": "string"
|
|
644
|
+
},
|
|
645
|
+
"minItems": 1,
|
|
646
|
+
"description": "Field(s) that must have unique values across the dataset"
|
|
647
|
+
}
|
|
648
|
+
},
|
|
649
|
+
"required": [
|
|
650
|
+
"unique_fields"
|
|
651
|
+
],
|
|
540
652
|
"additionalProperties": false
|
|
541
653
|
},
|
|
542
654
|
{
|
|
543
|
-
"properties": {
|
|
544
|
-
|
|
655
|
+
"properties": {
|
|
656
|
+
"min_rows": {
|
|
657
|
+
"type": "number",
|
|
658
|
+
"description": "Minimum number of rows expected in the dataset"
|
|
659
|
+
}
|
|
660
|
+
},
|
|
661
|
+
"required": [
|
|
662
|
+
"min_rows"
|
|
663
|
+
],
|
|
545
664
|
"additionalProperties": false
|
|
546
665
|
},
|
|
547
666
|
{
|
|
548
|
-
"properties": {
|
|
549
|
-
|
|
667
|
+
"properties": {
|
|
668
|
+
"max_rows": {
|
|
669
|
+
"type": "number",
|
|
670
|
+
"description": "Maximum number of rows allowed in the dataset"
|
|
671
|
+
}
|
|
672
|
+
},
|
|
673
|
+
"required": [
|
|
674
|
+
"max_rows"
|
|
675
|
+
],
|
|
550
676
|
"additionalProperties": false
|
|
551
677
|
},
|
|
552
678
|
{
|
|
553
|
-
"properties": {
|
|
554
|
-
|
|
679
|
+
"properties": {
|
|
680
|
+
"no_duplicates": {
|
|
681
|
+
"type": "boolean",
|
|
682
|
+
"const": true,
|
|
683
|
+
"description": "No fully duplicate rows allowed"
|
|
684
|
+
}
|
|
685
|
+
},
|
|
686
|
+
"required": [
|
|
687
|
+
"no_duplicates"
|
|
688
|
+
],
|
|
555
689
|
"additionalProperties": false
|
|
556
690
|
},
|
|
557
691
|
{
|
|
558
|
-
"properties": {
|
|
559
|
-
|
|
692
|
+
"properties": {
|
|
693
|
+
"not_empty": {
|
|
694
|
+
"type": "boolean",
|
|
695
|
+
"const": true,
|
|
696
|
+
"description": "Dataset must contain at least one row"
|
|
697
|
+
}
|
|
698
|
+
},
|
|
699
|
+
"required": [
|
|
700
|
+
"not_empty"
|
|
701
|
+
],
|
|
560
702
|
"additionalProperties": false
|
|
561
703
|
}
|
|
562
704
|
]
|
|
@@ -564,10 +706,16 @@
|
|
|
564
706
|
"onFail": {
|
|
565
707
|
"type": "string",
|
|
566
708
|
"description": "Action to take when dataset validation fails",
|
|
567
|
-
"enum": [
|
|
709
|
+
"enum": [
|
|
710
|
+
"fail",
|
|
711
|
+
"warn"
|
|
712
|
+
]
|
|
568
713
|
}
|
|
569
714
|
},
|
|
570
|
-
"required": [
|
|
715
|
+
"required": [
|
|
716
|
+
"rule",
|
|
717
|
+
"onFail"
|
|
718
|
+
],
|
|
571
719
|
"additionalProperties": false
|
|
572
720
|
}
|
|
573
721
|
}
|
|
@@ -580,145 +728,121 @@
|
|
|
580
728
|
],
|
|
581
729
|
"additionalProperties": false,
|
|
582
730
|
"definitions": {
|
|
583
|
-
"
|
|
584
|
-
"
|
|
585
|
-
|
|
586
|
-
"key": {
|
|
587
|
-
"type": "string",
|
|
588
|
-
"description": "The dimension/measure of the producer OR '*'. If '*' then return all dimensions"
|
|
589
|
-
},
|
|
590
|
-
"alias": {
|
|
591
|
-
"type": "string",
|
|
592
|
-
"description": "If set, changes the key returned by the consumer to this alias"
|
|
593
|
-
},
|
|
594
|
-
"from": {
|
|
595
|
-
"type": "string",
|
|
596
|
-
"description": "If the key is ambiguous, set a 'from' with the name of the producer/consumer to get the key from"
|
|
597
|
-
},
|
|
598
|
-
"grouping": {
|
|
731
|
+
"singleTransformation": {
|
|
732
|
+
"oneOf": [
|
|
733
|
+
{
|
|
599
734
|
"type": "object",
|
|
600
|
-
"description": "If set, group resulting items that have the same value for the 'groupingKey'",
|
|
601
735
|
"properties": {
|
|
602
|
-
"
|
|
736
|
+
"cast": {
|
|
603
737
|
"type": "string",
|
|
604
|
-
"description": "
|
|
738
|
+
"description": "Cast the value to a specific type",
|
|
739
|
+
"enum": [
|
|
740
|
+
"string",
|
|
741
|
+
"number",
|
|
742
|
+
"datetime",
|
|
743
|
+
"boolean"
|
|
744
|
+
]
|
|
605
745
|
},
|
|
606
|
-
"
|
|
607
|
-
"type": "
|
|
608
|
-
"description": "
|
|
609
|
-
"items": {
|
|
610
|
-
"$ref": "#/definitions/consumerField"
|
|
611
|
-
}
|
|
746
|
+
"format": {
|
|
747
|
+
"type": "string",
|
|
748
|
+
"description": "Optional format for date parsing or string formatting (e.g. YYYY-MM-DD, DD/MM/YY)"
|
|
612
749
|
}
|
|
613
750
|
},
|
|
614
751
|
"required": [
|
|
615
|
-
"
|
|
616
|
-
"subFields"
|
|
752
|
+
"cast"
|
|
617
753
|
],
|
|
618
754
|
"additionalProperties": false
|
|
619
755
|
},
|
|
620
|
-
|
|
621
|
-
"description": "Optional list of transformations to apply to the dataset before returning the data",
|
|
622
|
-
"oneOf": [
|
|
623
|
-
{
|
|
624
|
-
"$ref": "#/definitions/singleTransformation"
|
|
625
|
-
},
|
|
626
|
-
{
|
|
627
|
-
"type": "array",
|
|
628
|
-
"items": {
|
|
629
|
-
"$ref": "#/definitions/singleTransformation"
|
|
630
|
-
},
|
|
631
|
-
"description": "A list of transformations to be applied in sequence"
|
|
632
|
-
}
|
|
633
|
-
]
|
|
634
|
-
},
|
|
635
|
-
"validate": {
|
|
756
|
+
{
|
|
636
757
|
"type": "object",
|
|
637
|
-
"description": "Rules to check field value compliance and data quality",
|
|
638
758
|
"properties": {
|
|
639
|
-
"
|
|
640
|
-
"
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
"description": "
|
|
650
|
-
},
|
|
651
|
-
"required": {
|
|
652
|
-
"type": "boolean",
|
|
653
|
-
"description": "Whether the field is required"
|
|
759
|
+
"multiply": {
|
|
760
|
+
"oneOf": [
|
|
761
|
+
{
|
|
762
|
+
"type": "number"
|
|
763
|
+
},
|
|
764
|
+
{
|
|
765
|
+
"type": "string",
|
|
766
|
+
"pattern": "^\\$"
|
|
767
|
+
}
|
|
768
|
+
],
|
|
769
|
+
"description": "Multiply the numeric value by this factor. Use \"$fieldName\" to multiply by another field's value."
|
|
654
770
|
}
|
|
655
771
|
},
|
|
772
|
+
"required": [
|
|
773
|
+
"multiply"
|
|
774
|
+
],
|
|
656
775
|
"additionalProperties": false
|
|
657
776
|
},
|
|
658
|
-
"onError": {
|
|
659
|
-
"type": "string",
|
|
660
|
-
"description": "Action to take if an error occurs during transformations or validation",
|
|
661
|
-
"enum": ["set_default", "skip", "fail"]
|
|
662
|
-
},
|
|
663
|
-
"default": {
|
|
664
|
-
"description": "Default value of the field if it is missing (or on error if specified)"
|
|
665
|
-
},
|
|
666
|
-
"hidden": {
|
|
667
|
-
"type": "boolean",
|
|
668
|
-
"description": "If set, the field is kept and used during processing, but omitted when exporting the data"
|
|
669
|
-
},
|
|
670
|
-
"fixed": {
|
|
671
|
-
"type": "boolean",
|
|
672
|
-
"description": "If set, \"default\" must have a value. This field is not searched in the underlying dataset, but is a fixed value set by the \"default\" prop."
|
|
673
|
-
},
|
|
674
|
-
"copyFrom": {
|
|
675
|
-
"type": "string",
|
|
676
|
-
"description": "If set, this field will be added as new to the consumer dataset and will be a copy of the specified field. Use the alias if set, otherwise the key. The source field should come before this field in the fields list."
|
|
677
|
-
}
|
|
678
|
-
},
|
|
679
|
-
"required": [
|
|
680
|
-
"key"
|
|
681
|
-
],
|
|
682
|
-
"additionalProperties": false
|
|
683
|
-
},
|
|
684
|
-
"singleTransformation": {
|
|
685
|
-
"oneOf": [
|
|
686
777
|
{
|
|
687
778
|
"type": "object",
|
|
688
779
|
"properties": {
|
|
689
|
-
"
|
|
690
|
-
"type": "
|
|
691
|
-
"
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
780
|
+
"multiplyBy": {
|
|
781
|
+
"type": "object",
|
|
782
|
+
"properties": {
|
|
783
|
+
"fields": {
|
|
784
|
+
"type": "array",
|
|
785
|
+
"items": {
|
|
786
|
+
"type": "string"
|
|
787
|
+
},
|
|
788
|
+
"description": "Field names whose values are multiplied together."
|
|
789
|
+
}
|
|
790
|
+
},
|
|
791
|
+
"required": [
|
|
792
|
+
"fields"
|
|
793
|
+
],
|
|
794
|
+
"additionalProperties": false
|
|
697
795
|
}
|
|
698
796
|
},
|
|
699
|
-
"required": [
|
|
797
|
+
"required": [
|
|
798
|
+
"multiplyBy"
|
|
799
|
+
],
|
|
700
800
|
"additionalProperties": false
|
|
701
801
|
},
|
|
702
802
|
{
|
|
703
803
|
"type": "object",
|
|
704
804
|
"properties": {
|
|
705
|
-
"
|
|
706
|
-
"
|
|
707
|
-
|
|
805
|
+
"add": {
|
|
806
|
+
"oneOf": [
|
|
807
|
+
{
|
|
808
|
+
"type": "number"
|
|
809
|
+
},
|
|
810
|
+
{
|
|
811
|
+
"type": "string",
|
|
812
|
+
"pattern": "^\\$"
|
|
813
|
+
}
|
|
814
|
+
],
|
|
815
|
+
"description": "Add this number to the numeric value. Use \"$fieldName\" to add another field's value."
|
|
708
816
|
}
|
|
709
817
|
},
|
|
710
|
-
"required": [
|
|
818
|
+
"required": [
|
|
819
|
+
"add"
|
|
820
|
+
],
|
|
711
821
|
"additionalProperties": false
|
|
712
822
|
},
|
|
713
823
|
{
|
|
714
824
|
"type": "object",
|
|
715
825
|
"properties": {
|
|
716
|
-
"
|
|
717
|
-
"type": "
|
|
718
|
-
"
|
|
826
|
+
"addBy": {
|
|
827
|
+
"type": "object",
|
|
828
|
+
"properties": {
|
|
829
|
+
"fields": {
|
|
830
|
+
"type": "array",
|
|
831
|
+
"items": {
|
|
832
|
+
"type": "string"
|
|
833
|
+
},
|
|
834
|
+
"description": "Field names whose values are added together."
|
|
835
|
+
}
|
|
836
|
+
},
|
|
837
|
+
"required": [
|
|
838
|
+
"fields"
|
|
839
|
+
],
|
|
840
|
+
"additionalProperties": false
|
|
719
841
|
}
|
|
720
842
|
},
|
|
721
|
-
"required": [
|
|
843
|
+
"required": [
|
|
844
|
+
"addBy"
|
|
845
|
+
],
|
|
722
846
|
"additionalProperties": false
|
|
723
847
|
},
|
|
724
848
|
{
|
|
@@ -726,11 +850,19 @@
|
|
|
726
850
|
"properties": {
|
|
727
851
|
"extract": {
|
|
728
852
|
"type": "string",
|
|
729
|
-
"enum": [
|
|
853
|
+
"enum": [
|
|
854
|
+
"year",
|
|
855
|
+
"month",
|
|
856
|
+
"day",
|
|
857
|
+
"hour",
|
|
858
|
+
"minute"
|
|
859
|
+
],
|
|
730
860
|
"description": "Extract a component from a date value"
|
|
731
861
|
}
|
|
732
862
|
},
|
|
733
|
-
"required": [
|
|
863
|
+
"required": [
|
|
864
|
+
"extract"
|
|
865
|
+
],
|
|
734
866
|
"additionalProperties": false
|
|
735
867
|
},
|
|
736
868
|
{
|
|
@@ -744,11 +876,15 @@
|
|
|
744
876
|
"description": "The separator to use when joining array elements"
|
|
745
877
|
}
|
|
746
878
|
},
|
|
747
|
-
"required": [
|
|
879
|
+
"required": [
|
|
880
|
+
"separator"
|
|
881
|
+
],
|
|
748
882
|
"additionalProperties": false
|
|
749
883
|
}
|
|
750
884
|
},
|
|
751
|
-
"required": [
|
|
885
|
+
"required": [
|
|
886
|
+
"concat"
|
|
887
|
+
],
|
|
752
888
|
"additionalProperties": false
|
|
753
889
|
},
|
|
754
890
|
{
|
|
@@ -766,11 +902,16 @@
|
|
|
766
902
|
"description": "The index of the split part to keep"
|
|
767
903
|
}
|
|
768
904
|
},
|
|
769
|
-
"required": [
|
|
905
|
+
"required": [
|
|
906
|
+
"separator",
|
|
907
|
+
"index"
|
|
908
|
+
],
|
|
770
909
|
"additionalProperties": false
|
|
771
910
|
}
|
|
772
911
|
},
|
|
773
|
-
"required": [
|
|
912
|
+
"required": [
|
|
913
|
+
"split"
|
|
914
|
+
],
|
|
774
915
|
"additionalProperties": false
|
|
775
916
|
},
|
|
776
917
|
{
|
|
@@ -788,11 +929,15 @@
|
|
|
788
929
|
"description": "Regex flags (e.g., 'i' for case-insensitive)"
|
|
789
930
|
}
|
|
790
931
|
},
|
|
791
|
-
"required": [
|
|
932
|
+
"required": [
|
|
933
|
+
"pattern"
|
|
934
|
+
],
|
|
792
935
|
"additionalProperties": false
|
|
793
936
|
}
|
|
794
937
|
},
|
|
795
|
-
"required": [
|
|
938
|
+
"required": [
|
|
939
|
+
"regex_match"
|
|
940
|
+
],
|
|
796
941
|
"additionalProperties": false
|
|
797
942
|
},
|
|
798
943
|
{
|
|
@@ -814,11 +959,16 @@
|
|
|
814
959
|
"description": "Regex flags (e.g., 'g' for global)"
|
|
815
960
|
}
|
|
816
961
|
},
|
|
817
|
-
"required": [
|
|
962
|
+
"required": [
|
|
963
|
+
"pattern",
|
|
964
|
+
"replacement"
|
|
965
|
+
],
|
|
818
966
|
"additionalProperties": false
|
|
819
967
|
}
|
|
820
968
|
},
|
|
821
|
-
"required": [
|
|
969
|
+
"required": [
|
|
970
|
+
"regex_replace"
|
|
971
|
+
],
|
|
822
972
|
"additionalProperties": false
|
|
823
973
|
},
|
|
824
974
|
{
|
|
@@ -840,11 +990,16 @@
|
|
|
840
990
|
"description": "Regex flags (e.g., 'i' for case-insensitive)"
|
|
841
991
|
}
|
|
842
992
|
},
|
|
843
|
-
"required": [
|
|
993
|
+
"required": [
|
|
994
|
+
"pattern",
|
|
995
|
+
"group"
|
|
996
|
+
],
|
|
844
997
|
"additionalProperties": false
|
|
845
998
|
}
|
|
846
999
|
},
|
|
847
|
-
"required": [
|
|
1000
|
+
"required": [
|
|
1001
|
+
"regex_extract"
|
|
1002
|
+
],
|
|
848
1003
|
"additionalProperties": false
|
|
849
1004
|
},
|
|
850
1005
|
{
|
|
@@ -855,7 +1010,9 @@
|
|
|
855
1010
|
"description": "Trim whitespace from both ends of the string"
|
|
856
1011
|
}
|
|
857
1012
|
},
|
|
858
|
-
"required": [
|
|
1013
|
+
"required": [
|
|
1014
|
+
"trim"
|
|
1015
|
+
],
|
|
859
1016
|
"additionalProperties": false
|
|
860
1017
|
},
|
|
861
1018
|
{
|
|
@@ -866,7 +1023,9 @@
|
|
|
866
1023
|
"description": "Convert string to lowercase"
|
|
867
1024
|
}
|
|
868
1025
|
},
|
|
869
|
-
"required": [
|
|
1026
|
+
"required": [
|
|
1027
|
+
"to_lowercase"
|
|
1028
|
+
],
|
|
870
1029
|
"additionalProperties": false
|
|
871
1030
|
},
|
|
872
1031
|
{
|
|
@@ -877,7 +1036,9 @@
|
|
|
877
1036
|
"description": "Convert string to uppercase"
|
|
878
1037
|
}
|
|
879
1038
|
},
|
|
880
|
-
"required": [
|
|
1039
|
+
"required": [
|
|
1040
|
+
"to_uppercase"
|
|
1041
|
+
],
|
|
881
1042
|
"additionalProperties": false
|
|
882
1043
|
},
|
|
883
1044
|
{
|
|
@@ -888,7 +1049,9 @@
|
|
|
888
1049
|
"description": "Capitalize the first letter of the string"
|
|
889
1050
|
}
|
|
890
1051
|
},
|
|
891
|
-
"required": [
|
|
1052
|
+
"required": [
|
|
1053
|
+
"capitalize"
|
|
1054
|
+
],
|
|
892
1055
|
"additionalProperties": false
|
|
893
1056
|
},
|
|
894
1057
|
{
|
|
@@ -906,11 +1069,15 @@
|
|
|
906
1069
|
"description": "Optional ending position of substring"
|
|
907
1070
|
}
|
|
908
1071
|
},
|
|
909
|
-
"required": [
|
|
1072
|
+
"required": [
|
|
1073
|
+
"start"
|
|
1074
|
+
],
|
|
910
1075
|
"additionalProperties": false
|
|
911
1076
|
}
|
|
912
1077
|
},
|
|
913
|
-
"required": [
|
|
1078
|
+
"required": [
|
|
1079
|
+
"substring"
|
|
1080
|
+
],
|
|
914
1081
|
"additionalProperties": false
|
|
915
1082
|
},
|
|
916
1083
|
{
|
|
@@ -930,11 +1097,16 @@
|
|
|
930
1097
|
"maxLength": 1
|
|
931
1098
|
}
|
|
932
1099
|
},
|
|
933
|
-
"required": [
|
|
1100
|
+
"required": [
|
|
1101
|
+
"length",
|
|
1102
|
+
"char"
|
|
1103
|
+
],
|
|
934
1104
|
"additionalProperties": false
|
|
935
1105
|
}
|
|
936
1106
|
},
|
|
937
|
-
"required": [
|
|
1107
|
+
"required": [
|
|
1108
|
+
"pad_start"
|
|
1109
|
+
],
|
|
938
1110
|
"additionalProperties": false
|
|
939
1111
|
},
|
|
940
1112
|
{
|
|
@@ -954,11 +1126,16 @@
|
|
|
954
1126
|
"maxLength": 1
|
|
955
1127
|
}
|
|
956
1128
|
},
|
|
957
|
-
"required": [
|
|
1129
|
+
"required": [
|
|
1130
|
+
"length",
|
|
1131
|
+
"char"
|
|
1132
|
+
],
|
|
958
1133
|
"additionalProperties": false
|
|
959
1134
|
}
|
|
960
1135
|
},
|
|
961
|
-
"required": [
|
|
1136
|
+
"required": [
|
|
1137
|
+
"pad_end"
|
|
1138
|
+
],
|
|
962
1139
|
"additionalProperties": false
|
|
963
1140
|
},
|
|
964
1141
|
{
|
|
@@ -966,10 +1143,12 @@
|
|
|
966
1143
|
"properties": {
|
|
967
1144
|
"prepend": {
|
|
968
1145
|
"type": "string",
|
|
969
|
-
"description": "String to add at the beginning"
|
|
1146
|
+
"description": "String to add at the beginning. Use \"$fieldName\" to prepend another field's value (\"$$\" escapes a literal leading $)."
|
|
970
1147
|
}
|
|
971
1148
|
},
|
|
972
|
-
"required": [
|
|
1149
|
+
"required": [
|
|
1150
|
+
"prepend"
|
|
1151
|
+
],
|
|
973
1152
|
"additionalProperties": false
|
|
974
1153
|
},
|
|
975
1154
|
{
|
|
@@ -977,10 +1156,12 @@
|
|
|
977
1156
|
"properties": {
|
|
978
1157
|
"append": {
|
|
979
1158
|
"type": "string",
|
|
980
|
-
"description": "String to add at the end"
|
|
1159
|
+
"description": "String to add at the end. Use \"$fieldName\" to append another field's value (\"$$\" escapes a literal leading $)."
|
|
981
1160
|
}
|
|
982
1161
|
},
|
|
983
|
-
"required": [
|
|
1162
|
+
"required": [
|
|
1163
|
+
"append"
|
|
1164
|
+
],
|
|
984
1165
|
"additionalProperties": false
|
|
985
1166
|
},
|
|
986
1167
|
{
|
|
@@ -1006,11 +1187,15 @@
|
|
|
1006
1187
|
"description": "Optional template string with placeholders like '{field1} - {field2}'"
|
|
1007
1188
|
}
|
|
1008
1189
|
},
|
|
1009
|
-
"required": [
|
|
1190
|
+
"required": [
|
|
1191
|
+
"fields"
|
|
1192
|
+
],
|
|
1010
1193
|
"additionalProperties": false
|
|
1011
1194
|
}
|
|
1012
1195
|
},
|
|
1013
|
-
"required": [
|
|
1196
|
+
"required": [
|
|
1197
|
+
"combine_fields"
|
|
1198
|
+
],
|
|
1014
1199
|
"additionalProperties": false
|
|
1015
1200
|
},
|
|
1016
1201
|
{
|
|
@@ -1030,34 +1215,55 @@
|
|
|
1030
1215
|
"$ref": "#/definitions/comparisonCondition"
|
|
1031
1216
|
},
|
|
1032
1217
|
"then": {
|
|
1033
|
-
"description": "The value to return if the condition matches",
|
|
1218
|
+
"description": "The value to return if the condition matches. Use \"$fieldName\" to return another field's value.",
|
|
1034
1219
|
"oneOf": [
|
|
1035
|
-
{
|
|
1036
|
-
|
|
1037
|
-
|
|
1220
|
+
{
|
|
1221
|
+
"type": "string"
|
|
1222
|
+
},
|
|
1223
|
+
{
|
|
1224
|
+
"type": "number"
|
|
1225
|
+
},
|
|
1226
|
+
{
|
|
1227
|
+
"type": "boolean"
|
|
1228
|
+
}
|
|
1038
1229
|
]
|
|
1039
1230
|
}
|
|
1040
1231
|
},
|
|
1041
|
-
"required": [
|
|
1232
|
+
"required": [
|
|
1233
|
+
"if",
|
|
1234
|
+
"then"
|
|
1235
|
+
],
|
|
1042
1236
|
"additionalProperties": false
|
|
1043
1237
|
},
|
|
1044
1238
|
"minItems": 1
|
|
1045
1239
|
},
|
|
1046
1240
|
"else": {
|
|
1047
|
-
"description": "Default value if no clause matches. If not specified, the original value is kept.",
|
|
1241
|
+
"description": "Default value if no clause matches. If not specified, the original value is kept. Use \"$fieldName\" to return another field's value.",
|
|
1048
1242
|
"oneOf": [
|
|
1049
|
-
{
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
{
|
|
1243
|
+
{
|
|
1244
|
+
"type": "string"
|
|
1245
|
+
},
|
|
1246
|
+
{
|
|
1247
|
+
"type": "number"
|
|
1248
|
+
},
|
|
1249
|
+
{
|
|
1250
|
+
"type": "boolean"
|
|
1251
|
+
},
|
|
1252
|
+
{
|
|
1253
|
+
"type": "null"
|
|
1254
|
+
}
|
|
1053
1255
|
]
|
|
1054
1256
|
}
|
|
1055
1257
|
},
|
|
1056
|
-
"required": [
|
|
1258
|
+
"required": [
|
|
1259
|
+
"clauses"
|
|
1260
|
+
],
|
|
1057
1261
|
"additionalProperties": false
|
|
1058
1262
|
}
|
|
1059
1263
|
},
|
|
1060
|
-
"required": [
|
|
1264
|
+
"required": [
|
|
1265
|
+
"conditional"
|
|
1266
|
+
],
|
|
1061
1267
|
"additionalProperties": false
|
|
1062
1268
|
},
|
|
1063
1269
|
{
|
|
@@ -1076,40 +1282,67 @@
|
|
|
1076
1282
|
"when": {
|
|
1077
1283
|
"description": "The value to match against (strict equality)",
|
|
1078
1284
|
"oneOf": [
|
|
1079
|
-
{
|
|
1080
|
-
|
|
1081
|
-
|
|
1285
|
+
{
|
|
1286
|
+
"type": "string"
|
|
1287
|
+
},
|
|
1288
|
+
{
|
|
1289
|
+
"type": "number"
|
|
1290
|
+
},
|
|
1291
|
+
{
|
|
1292
|
+
"type": "boolean"
|
|
1293
|
+
}
|
|
1082
1294
|
]
|
|
1083
1295
|
},
|
|
1084
1296
|
"then": {
|
|
1085
|
-
"description": "The value to return if the case matches",
|
|
1297
|
+
"description": "The value to return if the case matches. Use \"$fieldName\" to return another field's value.",
|
|
1086
1298
|
"oneOf": [
|
|
1087
|
-
{
|
|
1088
|
-
|
|
1089
|
-
|
|
1299
|
+
{
|
|
1300
|
+
"type": "string"
|
|
1301
|
+
},
|
|
1302
|
+
{
|
|
1303
|
+
"type": "number"
|
|
1304
|
+
},
|
|
1305
|
+
{
|
|
1306
|
+
"type": "boolean"
|
|
1307
|
+
}
|
|
1090
1308
|
]
|
|
1091
1309
|
}
|
|
1092
1310
|
},
|
|
1093
|
-
"required": [
|
|
1311
|
+
"required": [
|
|
1312
|
+
"when",
|
|
1313
|
+
"then"
|
|
1314
|
+
],
|
|
1094
1315
|
"additionalProperties": false
|
|
1095
1316
|
},
|
|
1096
1317
|
"minItems": 1
|
|
1097
1318
|
},
|
|
1098
1319
|
"default": {
|
|
1099
|
-
"description": "Default value if no case matches. If not specified, the original value is kept.",
|
|
1320
|
+
"description": "Default value if no case matches. If not specified, the original value is kept. Use \"$fieldName\" to return another field's value.",
|
|
1100
1321
|
"oneOf": [
|
|
1101
|
-
{
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
{
|
|
1322
|
+
{
|
|
1323
|
+
"type": "string"
|
|
1324
|
+
},
|
|
1325
|
+
{
|
|
1326
|
+
"type": "number"
|
|
1327
|
+
},
|
|
1328
|
+
{
|
|
1329
|
+
"type": "boolean"
|
|
1330
|
+
},
|
|
1331
|
+
{
|
|
1332
|
+
"type": "null"
|
|
1333
|
+
}
|
|
1105
1334
|
]
|
|
1106
1335
|
}
|
|
1107
1336
|
},
|
|
1108
|
-
"required": [
|
|
1337
|
+
"required": [
|
|
1338
|
+
"cases"
|
|
1339
|
+
],
|
|
1109
1340
|
"additionalProperties": false
|
|
1110
1341
|
}
|
|
1111
1342
|
},
|
|
1112
|
-
"required": [
|
|
1343
|
+
"required": [
|
|
1344
|
+
"switch_case"
|
|
1345
|
+
],
|
|
1113
1346
|
"additionalProperties": false
|
|
1114
1347
|
},
|
|
1115
1348
|
{
|
|
@@ -1117,11 +1350,129 @@
|
|
|
1117
1350
|
"properties": {
|
|
1118
1351
|
"mask": {
|
|
1119
1352
|
"type": "string",
|
|
1120
|
-
"enum": [
|
|
1353
|
+
"enum": [
|
|
1354
|
+
"hash",
|
|
1355
|
+
"mask",
|
|
1356
|
+
"crypt",
|
|
1357
|
+
"random",
|
|
1358
|
+
"seeded-random",
|
|
1359
|
+
"none"
|
|
1360
|
+
],
|
|
1121
1361
|
"description": "Apply masking to the field value for data privacy. Options: 'hash' (one-way hash), 'mask' (replace with asterisks), 'crypt' (reversible encryption), 'random' (random value), 'seeded-random' (consistent random value per input), 'none' (no masking)"
|
|
1122
1362
|
}
|
|
1123
1363
|
},
|
|
1124
|
-
"required": [
|
|
1364
|
+
"required": [
|
|
1365
|
+
"mask"
|
|
1366
|
+
],
|
|
1367
|
+
"additionalProperties": false
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
"type": "object",
|
|
1371
|
+
"properties": {
|
|
1372
|
+
"bit_extract": {
|
|
1373
|
+
"type": "object",
|
|
1374
|
+
"properties": {
|
|
1375
|
+
"position": {
|
|
1376
|
+
"type": "integer",
|
|
1377
|
+
"minimum": 0,
|
|
1378
|
+
"maximum": 52,
|
|
1379
|
+
"description": "0-based bit index to extract from the integer bitmask (least-significant bit = 0)"
|
|
1380
|
+
},
|
|
1381
|
+
"as_boolean": {
|
|
1382
|
+
"type": "boolean",
|
|
1383
|
+
"description": "Return true/false instead of 1/0"
|
|
1384
|
+
}
|
|
1385
|
+
},
|
|
1386
|
+
"required": [
|
|
1387
|
+
"position"
|
|
1388
|
+
],
|
|
1389
|
+
"additionalProperties": false
|
|
1390
|
+
}
|
|
1391
|
+
},
|
|
1392
|
+
"required": [
|
|
1393
|
+
"bit_extract"
|
|
1394
|
+
],
|
|
1395
|
+
"additionalProperties": false
|
|
1396
|
+
},
|
|
1397
|
+
{
|
|
1398
|
+
"type": "object",
|
|
1399
|
+
"properties": {
|
|
1400
|
+
"date_format": {
|
|
1401
|
+
"type": "object",
|
|
1402
|
+
"properties": {
|
|
1403
|
+
"input_fmt": {
|
|
1404
|
+
"type": "string",
|
|
1405
|
+
"description": "dayjs tokens describing the source date string, e.g. DDMMYYYY"
|
|
1406
|
+
},
|
|
1407
|
+
"output_fmt": {
|
|
1408
|
+
"type": "string",
|
|
1409
|
+
"description": "dayjs tokens for the output date string, e.g. YYYY-MM-DD"
|
|
1410
|
+
},
|
|
1411
|
+
"strict": {
|
|
1412
|
+
"type": "boolean",
|
|
1413
|
+
"description": "Strict parsing of the input format (default true)"
|
|
1414
|
+
}
|
|
1415
|
+
},
|
|
1416
|
+
"required": [
|
|
1417
|
+
"input_fmt",
|
|
1418
|
+
"output_fmt"
|
|
1419
|
+
],
|
|
1420
|
+
"additionalProperties": false
|
|
1421
|
+
}
|
|
1422
|
+
},
|
|
1423
|
+
"required": [
|
|
1424
|
+
"date_format"
|
|
1425
|
+
],
|
|
1426
|
+
"additionalProperties": false
|
|
1427
|
+
},
|
|
1428
|
+
{
|
|
1429
|
+
"type": "object",
|
|
1430
|
+
"description": "Map a code to a value using the output of another consumer as the lookup table. The referenced consumer is executed to build a code->value table; keep it small and cheap.",
|
|
1431
|
+
"properties": {
|
|
1432
|
+
"code_lookup": {
|
|
1433
|
+
"type": "object",
|
|
1434
|
+
"properties": {
|
|
1435
|
+
"consumer": {
|
|
1436
|
+
"type": "string",
|
|
1437
|
+
"description": "Name of the consumer whose output is the lookup table"
|
|
1438
|
+
},
|
|
1439
|
+
"key": {
|
|
1440
|
+
"type": "string",
|
|
1441
|
+
"description": "Field in that consumer's output used as the map key (the code)"
|
|
1442
|
+
},
|
|
1443
|
+
"value": {
|
|
1444
|
+
"type": "string",
|
|
1445
|
+
"description": "Field in that consumer's output returned as the mapped value"
|
|
1446
|
+
},
|
|
1447
|
+
"default": {
|
|
1448
|
+
"description": "Value returned when the code is not found. If omitted, the field's onError policy applies.",
|
|
1449
|
+
"oneOf": [
|
|
1450
|
+
{
|
|
1451
|
+
"type": "string"
|
|
1452
|
+
},
|
|
1453
|
+
{
|
|
1454
|
+
"type": "number"
|
|
1455
|
+
},
|
|
1456
|
+
{
|
|
1457
|
+
"type": "boolean"
|
|
1458
|
+
},
|
|
1459
|
+
{
|
|
1460
|
+
"type": "null"
|
|
1461
|
+
}
|
|
1462
|
+
]
|
|
1463
|
+
}
|
|
1464
|
+
},
|
|
1465
|
+
"required": [
|
|
1466
|
+
"consumer",
|
|
1467
|
+
"key",
|
|
1468
|
+
"value"
|
|
1469
|
+
],
|
|
1470
|
+
"additionalProperties": false
|
|
1471
|
+
}
|
|
1472
|
+
},
|
|
1473
|
+
"required": [
|
|
1474
|
+
"code_lookup"
|
|
1475
|
+
],
|
|
1125
1476
|
"additionalProperties": false
|
|
1126
1477
|
}
|
|
1127
1478
|
]
|
|
@@ -1134,11 +1485,21 @@
|
|
|
1134
1485
|
"description": "Check if the numeric value is greater than the specified number",
|
|
1135
1486
|
"properties": {
|
|
1136
1487
|
"greater_than": {
|
|
1137
|
-
"
|
|
1138
|
-
|
|
1488
|
+
"oneOf": [
|
|
1489
|
+
{
|
|
1490
|
+
"type": "number"
|
|
1491
|
+
},
|
|
1492
|
+
{
|
|
1493
|
+
"type": "string",
|
|
1494
|
+
"pattern": "^\\$"
|
|
1495
|
+
}
|
|
1496
|
+
],
|
|
1497
|
+
"description": "The value must be greater than this number. Use \"$fieldName\" to compare against another field's value."
|
|
1139
1498
|
}
|
|
1140
1499
|
},
|
|
1141
|
-
"required": [
|
|
1500
|
+
"required": [
|
|
1501
|
+
"greater_than"
|
|
1502
|
+
],
|
|
1142
1503
|
"additionalProperties": false
|
|
1143
1504
|
},
|
|
1144
1505
|
{
|
|
@@ -1146,11 +1507,21 @@
|
|
|
1146
1507
|
"description": "Check if the numeric value is greater than or equal to the specified number",
|
|
1147
1508
|
"properties": {
|
|
1148
1509
|
"greater_than_or_equal": {
|
|
1149
|
-
"
|
|
1150
|
-
|
|
1510
|
+
"oneOf": [
|
|
1511
|
+
{
|
|
1512
|
+
"type": "number"
|
|
1513
|
+
},
|
|
1514
|
+
{
|
|
1515
|
+
"type": "string",
|
|
1516
|
+
"pattern": "^\\$"
|
|
1517
|
+
}
|
|
1518
|
+
],
|
|
1519
|
+
"description": "The value must be greater than or equal to this number. Use \"$fieldName\" to compare against another field's value."
|
|
1151
1520
|
}
|
|
1152
1521
|
},
|
|
1153
|
-
"required": [
|
|
1522
|
+
"required": [
|
|
1523
|
+
"greater_than_or_equal"
|
|
1524
|
+
],
|
|
1154
1525
|
"additionalProperties": false
|
|
1155
1526
|
},
|
|
1156
1527
|
{
|
|
@@ -1158,11 +1529,21 @@
|
|
|
1158
1529
|
"description": "Check if the numeric value is less than the specified number",
|
|
1159
1530
|
"properties": {
|
|
1160
1531
|
"less_than": {
|
|
1161
|
-
"
|
|
1162
|
-
|
|
1532
|
+
"oneOf": [
|
|
1533
|
+
{
|
|
1534
|
+
"type": "number"
|
|
1535
|
+
},
|
|
1536
|
+
{
|
|
1537
|
+
"type": "string",
|
|
1538
|
+
"pattern": "^\\$"
|
|
1539
|
+
}
|
|
1540
|
+
],
|
|
1541
|
+
"description": "The value must be less than this number. Use \"$fieldName\" to compare against another field's value."
|
|
1163
1542
|
}
|
|
1164
1543
|
},
|
|
1165
|
-
"required": [
|
|
1544
|
+
"required": [
|
|
1545
|
+
"less_than"
|
|
1546
|
+
],
|
|
1166
1547
|
"additionalProperties": false
|
|
1167
1548
|
},
|
|
1168
1549
|
{
|
|
@@ -1170,11 +1551,21 @@
|
|
|
1170
1551
|
"description": "Check if the numeric value is less than or equal to the specified number",
|
|
1171
1552
|
"properties": {
|
|
1172
1553
|
"less_than_or_equal": {
|
|
1173
|
-
"
|
|
1174
|
-
|
|
1554
|
+
"oneOf": [
|
|
1555
|
+
{
|
|
1556
|
+
"type": "number"
|
|
1557
|
+
},
|
|
1558
|
+
{
|
|
1559
|
+
"type": "string",
|
|
1560
|
+
"pattern": "^\\$"
|
|
1561
|
+
}
|
|
1562
|
+
],
|
|
1563
|
+
"description": "The value must be less than or equal to this number. Use \"$fieldName\" to compare against another field's value."
|
|
1175
1564
|
}
|
|
1176
1565
|
},
|
|
1177
|
-
"required": [
|
|
1566
|
+
"required": [
|
|
1567
|
+
"less_than_or_equal"
|
|
1568
|
+
],
|
|
1178
1569
|
"additionalProperties": false
|
|
1179
1570
|
},
|
|
1180
1571
|
{
|
|
@@ -1182,15 +1573,23 @@
|
|
|
1182
1573
|
"description": "Check if the value equals the specified value (strict equality)",
|
|
1183
1574
|
"properties": {
|
|
1184
1575
|
"equals": {
|
|
1185
|
-
"description": "The value must equal this exactly",
|
|
1576
|
+
"description": "The value must equal this exactly. Use \"$fieldName\" to compare against another field's value.",
|
|
1186
1577
|
"oneOf": [
|
|
1187
|
-
{
|
|
1188
|
-
|
|
1189
|
-
|
|
1578
|
+
{
|
|
1579
|
+
"type": "string"
|
|
1580
|
+
},
|
|
1581
|
+
{
|
|
1582
|
+
"type": "number"
|
|
1583
|
+
},
|
|
1584
|
+
{
|
|
1585
|
+
"type": "boolean"
|
|
1586
|
+
}
|
|
1190
1587
|
]
|
|
1191
1588
|
}
|
|
1192
1589
|
},
|
|
1193
|
-
"required": [
|
|
1590
|
+
"required": [
|
|
1591
|
+
"equals"
|
|
1592
|
+
],
|
|
1194
1593
|
"additionalProperties": false
|
|
1195
1594
|
},
|
|
1196
1595
|
{
|
|
@@ -1198,15 +1597,23 @@
|
|
|
1198
1597
|
"description": "Check if the value does not equal the specified value",
|
|
1199
1598
|
"properties": {
|
|
1200
1599
|
"not_equals": {
|
|
1201
|
-
"description": "The value must not equal this",
|
|
1600
|
+
"description": "The value must not equal this. Use \"$fieldName\" to compare against another field's value.",
|
|
1202
1601
|
"oneOf": [
|
|
1203
|
-
{
|
|
1204
|
-
|
|
1205
|
-
|
|
1602
|
+
{
|
|
1603
|
+
"type": "string"
|
|
1604
|
+
},
|
|
1605
|
+
{
|
|
1606
|
+
"type": "number"
|
|
1607
|
+
},
|
|
1608
|
+
{
|
|
1609
|
+
"type": "boolean"
|
|
1610
|
+
}
|
|
1206
1611
|
]
|
|
1207
1612
|
}
|
|
1208
1613
|
},
|
|
1209
|
-
"required": [
|
|
1614
|
+
"required": [
|
|
1615
|
+
"not_equals"
|
|
1616
|
+
],
|
|
1210
1617
|
"additionalProperties": false
|
|
1211
1618
|
},
|
|
1212
1619
|
{
|
|
@@ -1215,18 +1622,26 @@
|
|
|
1215
1622
|
"properties": {
|
|
1216
1623
|
"in": {
|
|
1217
1624
|
"type": "array",
|
|
1218
|
-
"description": "The value must be one of these values",
|
|
1625
|
+
"description": "The value must be one of these values. A \"$fieldName\" entry compares against another field's value.",
|
|
1219
1626
|
"items": {
|
|
1220
1627
|
"oneOf": [
|
|
1221
|
-
{
|
|
1222
|
-
|
|
1223
|
-
|
|
1628
|
+
{
|
|
1629
|
+
"type": "string"
|
|
1630
|
+
},
|
|
1631
|
+
{
|
|
1632
|
+
"type": "number"
|
|
1633
|
+
},
|
|
1634
|
+
{
|
|
1635
|
+
"type": "boolean"
|
|
1636
|
+
}
|
|
1224
1637
|
]
|
|
1225
1638
|
},
|
|
1226
1639
|
"minItems": 1
|
|
1227
1640
|
}
|
|
1228
1641
|
},
|
|
1229
|
-
"required": [
|
|
1642
|
+
"required": [
|
|
1643
|
+
"in"
|
|
1644
|
+
],
|
|
1230
1645
|
"additionalProperties": false
|
|
1231
1646
|
},
|
|
1232
1647
|
{
|
|
@@ -1235,18 +1650,26 @@
|
|
|
1235
1650
|
"properties": {
|
|
1236
1651
|
"not_in": {
|
|
1237
1652
|
"type": "array",
|
|
1238
|
-
"description": "The value must not be any of these values",
|
|
1653
|
+
"description": "The value must not be any of these values. A \"$fieldName\" entry compares against another field's value.",
|
|
1239
1654
|
"items": {
|
|
1240
1655
|
"oneOf": [
|
|
1241
|
-
{
|
|
1242
|
-
|
|
1243
|
-
|
|
1656
|
+
{
|
|
1657
|
+
"type": "string"
|
|
1658
|
+
},
|
|
1659
|
+
{
|
|
1660
|
+
"type": "number"
|
|
1661
|
+
},
|
|
1662
|
+
{
|
|
1663
|
+
"type": "boolean"
|
|
1664
|
+
}
|
|
1244
1665
|
]
|
|
1245
1666
|
},
|
|
1246
1667
|
"minItems": 1
|
|
1247
1668
|
}
|
|
1248
1669
|
},
|
|
1249
|
-
"required": [
|
|
1670
|
+
"required": [
|
|
1671
|
+
"not_in"
|
|
1672
|
+
],
|
|
1250
1673
|
"additionalProperties": false
|
|
1251
1674
|
},
|
|
1252
1675
|
{
|
|
@@ -1255,10 +1678,12 @@
|
|
|
1255
1678
|
"properties": {
|
|
1256
1679
|
"starts_with": {
|
|
1257
1680
|
"type": "string",
|
|
1258
|
-
"description": "The string value must start with this prefix"
|
|
1681
|
+
"description": "The string value must start with this prefix. Use \"$fieldName\" to compare against another field's value."
|
|
1259
1682
|
}
|
|
1260
1683
|
},
|
|
1261
|
-
"required": [
|
|
1684
|
+
"required": [
|
|
1685
|
+
"starts_with"
|
|
1686
|
+
],
|
|
1262
1687
|
"additionalProperties": false
|
|
1263
1688
|
},
|
|
1264
1689
|
{
|
|
@@ -1267,10 +1692,12 @@
|
|
|
1267
1692
|
"properties": {
|
|
1268
1693
|
"ends_with": {
|
|
1269
1694
|
"type": "string",
|
|
1270
|
-
"description": "The string value must end with this suffix"
|
|
1695
|
+
"description": "The string value must end with this suffix. Use \"$fieldName\" to compare against another field's value."
|
|
1271
1696
|
}
|
|
1272
1697
|
},
|
|
1273
|
-
"required": [
|
|
1698
|
+
"required": [
|
|
1699
|
+
"ends_with"
|
|
1700
|
+
],
|
|
1274
1701
|
"additionalProperties": false
|
|
1275
1702
|
},
|
|
1276
1703
|
{
|
|
@@ -1279,10 +1706,12 @@
|
|
|
1279
1706
|
"properties": {
|
|
1280
1707
|
"contains": {
|
|
1281
1708
|
"type": "string",
|
|
1282
|
-
"description": "The string value must contain this substring"
|
|
1709
|
+
"description": "The string value must contain this substring. Use \"$fieldName\" to compare against another field's value."
|
|
1283
1710
|
}
|
|
1284
1711
|
},
|
|
1285
|
-
"required": [
|
|
1712
|
+
"required": [
|
|
1713
|
+
"contains"
|
|
1714
|
+
],
|
|
1286
1715
|
"additionalProperties": false
|
|
1287
1716
|
},
|
|
1288
1717
|
{
|
|
@@ -1291,10 +1720,12 @@
|
|
|
1291
1720
|
"properties": {
|
|
1292
1721
|
"not_contains": {
|
|
1293
1722
|
"type": "string",
|
|
1294
|
-
"description": "The string value must not contain this substring"
|
|
1723
|
+
"description": "The string value must not contain this substring. Use \"$fieldName\" to compare against another field's value."
|
|
1295
1724
|
}
|
|
1296
1725
|
},
|
|
1297
|
-
"required": [
|
|
1726
|
+
"required": [
|
|
1727
|
+
"not_contains"
|
|
1728
|
+
],
|
|
1298
1729
|
"additionalProperties": false
|
|
1299
1730
|
},
|
|
1300
1731
|
{
|
|
@@ -1307,7 +1738,9 @@
|
|
|
1307
1738
|
"description": "Returns true if the value is null, undefined, or an empty/whitespace-only string"
|
|
1308
1739
|
}
|
|
1309
1740
|
},
|
|
1310
|
-
"required": [
|
|
1741
|
+
"required": [
|
|
1742
|
+
"is_empty"
|
|
1743
|
+
],
|
|
1311
1744
|
"additionalProperties": false
|
|
1312
1745
|
},
|
|
1313
1746
|
{
|
|
@@ -1320,7 +1753,9 @@
|
|
|
1320
1753
|
"description": "Returns true if the value is not null, not undefined, and not an empty/whitespace-only string"
|
|
1321
1754
|
}
|
|
1322
1755
|
},
|
|
1323
|
-
"required": [
|
|
1756
|
+
"required": [
|
|
1757
|
+
"is_not_empty"
|
|
1758
|
+
],
|
|
1324
1759
|
"additionalProperties": false
|
|
1325
1760
|
}
|
|
1326
1761
|
]
|
|
@@ -1331,7 +1766,9 @@
|
|
|
1331
1766
|
"properties": {
|
|
1332
1767
|
"action": {
|
|
1333
1768
|
"type": "string",
|
|
1334
|
-
"enum": [
|
|
1769
|
+
"enum": [
|
|
1770
|
+
"move-file"
|
|
1771
|
+
],
|
|
1335
1772
|
"description": "The action to perform"
|
|
1336
1773
|
},
|
|
1337
1774
|
"moveToDestination": {
|
|
@@ -1339,7 +1776,9 @@
|
|
|
1339
1776
|
"description": "If the action is 'move-file', this specifies the source destination in remora where the source file should be moved"
|
|
1340
1777
|
}
|
|
1341
1778
|
},
|
|
1342
|
-
"required": [
|
|
1779
|
+
"required": [
|
|
1780
|
+
"action"
|
|
1781
|
+
],
|
|
1343
1782
|
"additionalProperties": false
|
|
1344
1783
|
}
|
|
1345
1784
|
},
|
|
@@ -1377,25 +1816,17 @@
|
|
|
1377
1816
|
"from": "UserData"
|
|
1378
1817
|
},
|
|
1379
1818
|
{
|
|
1380
|
-
"key": "
|
|
1381
|
-
"
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
"from": "OrderData"
|
|
1392
|
-
},
|
|
1393
|
-
{
|
|
1394
|
-
"key": "total_amount",
|
|
1395
|
-
"from": "OrderData"
|
|
1396
|
-
}
|
|
1397
|
-
]
|
|
1398
|
-
}
|
|
1819
|
+
"key": "id",
|
|
1820
|
+
"from": "OrderData",
|
|
1821
|
+
"alias": "order_id"
|
|
1822
|
+
},
|
|
1823
|
+
{
|
|
1824
|
+
"key": "created_at",
|
|
1825
|
+
"from": "OrderData"
|
|
1826
|
+
},
|
|
1827
|
+
{
|
|
1828
|
+
"key": "total_amount",
|
|
1829
|
+
"from": "OrderData"
|
|
1399
1830
|
}
|
|
1400
1831
|
],
|
|
1401
1832
|
"outputs": [
|
|
@@ -1430,4 +1861,4 @@
|
|
|
1430
1861
|
"_version": 1
|
|
1431
1862
|
}
|
|
1432
1863
|
]
|
|
1433
|
-
}
|
|
1864
|
+
}
|