@forzalabs/remora 1.8.0 → 2.0.1

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.
@@ -81,7 +81,7 @@
81
81
  "properties": {
82
82
  "key": {
83
83
  "type": "string",
84
- "description": "The dimension/measure of the producer OR '*'. If '*' then return all dimensions"
84
+ "description": "The dimension/measure of the producer, OR '*' for every dimension of one producer, OR a pattern holding a '*' (e.g. 'addr*Street') that selects every matching field — each keeping the rest of this field's configuration, so one entry can transform or validate a whole family of columns."
85
85
  },
86
86
  "description": {
87
87
  "type": "string",
@@ -89,7 +89,7 @@
89
89
  },
90
90
  "alias": {
91
91
  "type": "string",
92
- "description": "If set, changes the key returned by the consumer to this alias"
92
+ "description": "If set, changes the key returned by the consumer to this alias. When the key is a pattern the alias is a template, and must vary per match: '*' is replaced by what the pattern captured (positionally) and '{key}' by the matched field name, e.g. key 'addr*Street' with alias 'street_*' gives street_0, street_1."
93
93
  },
94
94
  "from": {
95
95
  "type": "string",
@@ -327,6 +327,10 @@
327
327
  "type": "string",
328
328
  "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."
329
329
  },
330
+ "omitNull": {
331
+ "type": "boolean",
332
+ "description": "'JSON'/'API' only. Omits the fields whose value is null from each exported record instead of writing them as \"field\": null — worth it on a wide, sparse record. Records then legitimately differ in shape, so it is rejected on a positional format (CSV/TXT), and on a JSON output whose consumer also writes one, since every output is serialized from the same record."
333
+ },
330
334
  "trigger": {
331
335
  "type": "object",
332
336
  "description": "Triggers to perform the export (not just the usual 'Deploy')",
@@ -393,6 +397,15 @@
393
397
  "externalId": {
394
398
  "type": "string",
395
399
  "description": "Optional STS ExternalId for third-party / cross-account trust when method is 'arn' (for QUEUE triggers)."
400
+ },
401
+ "deadLetterQueue": {
402
+ "type": "string",
403
+ "description": "Dead-letter queue URL or name (for QUEUE triggers). A message that has failed 'maxReceiveCount' deliveries is moved here and deleted from this queue. Omit it and the exhausted message is skipped instead, staying in the queue until it expires."
404
+ },
405
+ "maxReceiveCount": {
406
+ "type": "string",
407
+ "pattern": "^[1-9][0-9]*$",
408
+ "description": "How many failed deliveries are tolerated before the message stops being processed (for QUEUE triggers). Applies with or without a 'deadLetterQueue'. Defaults to '5'."
396
409
  }
397
410
  },
398
411
  "additionalProperties": {
@@ -434,13 +447,9 @@
434
447
  "items": {
435
448
  "type": "object",
436
449
  "properties": {
437
- "sql": {
438
- "type": "string",
439
- "description": "The SQL to use to filter on the included dimension"
440
- },
441
450
  "rule": {
442
451
  "type": "object",
443
- "description": "Non-SQL based filtering logic",
452
+ "description": "The filtering logic applied per record to the consumer result set",
444
453
  "properties": {
445
454
  "member": {
446
455
  "type": "string",
@@ -468,8 +477,7 @@
468
477
  "true",
469
478
  "false",
470
479
  "matches",
471
- "notMatches",
472
- "sql"
480
+ "notMatches"
473
481
  ],
474
482
  "description": "The filter operator to apply"
475
483
  },
@@ -489,6 +497,9 @@
489
497
  "additionalProperties": false
490
498
  }
491
499
  },
500
+ "required": [
501
+ "rule"
502
+ ],
492
503
  "additionalProperties": false
493
504
  }
494
505
  },