@walkeros/server-destination-aws 4.8.1 → 4.8.2

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,7 +1,7 @@
1
1
  {
2
2
  "$meta": {
3
3
  "package": "@walkeros/server-destination-aws",
4
- "version": "4.8.1",
4
+ "version": "4.8.2",
5
5
  "type": "destination",
6
6
  "platform": [
7
7
  "server"
@@ -89,7 +89,26 @@
89
89
  "title": "firehose"
90
90
  }
91
91
  },
92
- "additionalProperties": false
92
+ "additionalProperties": false,
93
+ "anyOf": [
94
+ {
95
+ "required": [
96
+ "streamName"
97
+ ]
98
+ },
99
+ {
100
+ "required": [
101
+ "firehose"
102
+ ],
103
+ "properties": {
104
+ "firehose": {
105
+ "required": [
106
+ "streamName"
107
+ ]
108
+ }
109
+ }
110
+ }
111
+ ]
93
112
  },
94
113
  "mapping": {
95
114
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -144,7 +163,26 @@
144
163
  "title": "firehose"
145
164
  }
146
165
  },
147
- "additionalProperties": false
166
+ "additionalProperties": false,
167
+ "anyOf": [
168
+ {
169
+ "required": [
170
+ "streamName"
171
+ ]
172
+ },
173
+ {
174
+ "required": [
175
+ "firehose"
176
+ ],
177
+ "properties": {
178
+ "firehose": {
179
+ "required": [
180
+ "streamName"
181
+ ]
182
+ }
183
+ }
184
+ }
185
+ ]
148
186
  },
149
187
  "snsMapping": {
150
188
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -186,7 +224,19 @@
186
224
  "description": "Raw SNSClient options passed to the SDK. Put keys in config.credentials instead."
187
225
  }
188
226
  },
189
- "additionalProperties": false
227
+ "additionalProperties": false,
228
+ "anyOf": [
229
+ {
230
+ "required": [
231
+ "topicArn"
232
+ ]
233
+ },
234
+ {
235
+ "required": [
236
+ "topicName"
237
+ ]
238
+ }
239
+ ]
190
240
  },
191
241
  "snsSetup": {
192
242
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -916,7 +966,7 @@
916
966
  "name": "order complete",
917
967
  "data": {
918
968
  "id": "ORD-400",
919
- "total": 99.99,
969
+ "value": 99.99,
920
970
  "currency": "EUR"
921
971
  },
922
972
  "context": {
@@ -1006,7 +1056,7 @@
1006
1056
  "id": "id",
1007
1057
  "name": "name",
1008
1058
  "order_id": "data.id",
1009
- "total": "data.total"
1059
+ "total": "data.value"
1010
1060
  }
1011
1061
  }
1012
1062
  },
@@ -1114,7 +1164,7 @@
1114
1164
  "name": "order complete",
1115
1165
  "data": {
1116
1166
  "id": "ORD-400",
1117
- "total": 99.99,
1167
+ "value": 99.99,
1118
1168
  "currency": "EUR"
1119
1169
  },
1120
1170
  "context": {
@@ -1255,11 +1305,11 @@
1255
1305
  "46": 34,
1256
1306
  "47": 44,
1257
1307
  "48": 34,
1258
- "49": 116,
1259
- "50": 111,
1260
- "51": 116,
1261
- "52": 97,
1262
- "53": 108,
1308
+ "49": 118,
1309
+ "50": 97,
1310
+ "51": 108,
1311
+ "52": 117,
1312
+ "53": 101,
1263
1313
  "54": 34,
1264
1314
  "55": 58,
1265
1315
  "56": 57,
@@ -2100,6 +2150,61 @@
2100
2150
  ]
2101
2151
  ]
2102
2152
  },
2153
+ "silentRule": {
2154
+ "public": false,
2155
+ "description": "A rule with silent: true sends no record to Firehose.",
2156
+ "in": {
2157
+ "name": "page view",
2158
+ "data": {
2159
+ "title": "Home",
2160
+ "url": "https://example.com/"
2161
+ },
2162
+ "context": {
2163
+ "dev": [
2164
+ "test",
2165
+ 1
2166
+ ]
2167
+ },
2168
+ "globals": {
2169
+ "pagegroup": "docs"
2170
+ },
2171
+ "custom": {
2172
+ "completely": "random"
2173
+ },
2174
+ "user": {
2175
+ "id": "us3r",
2176
+ "device": "c00k13",
2177
+ "session": "s3ss10n"
2178
+ },
2179
+ "nested": [
2180
+ {
2181
+ "entity": "child",
2182
+ "data": {
2183
+ "is": "subordinated"
2184
+ }
2185
+ }
2186
+ ],
2187
+ "consent": {
2188
+ "functional": true
2189
+ },
2190
+ "id": "ev-1700001000",
2191
+ "trigger": "load",
2192
+ "entity": "page",
2193
+ "action": "view",
2194
+ "timestamp": 1700001000,
2195
+ "timing": 3.14,
2196
+ "source": {
2197
+ "count": 1,
2198
+ "trace": "0a1b2c3d4e5f60718293a4b5c6d7e8f9",
2199
+ "type": "express",
2200
+ "platform": "server"
2201
+ }
2202
+ },
2203
+ "mapping": {
2204
+ "silent": true
2205
+ },
2206
+ "out": []
2207
+ },
2103
2208
  "userSignupEvent": {
2104
2209
  "title": "User signup record",
2105
2210
  "description": "A user signup event including user fields is streamed to Firehose as a JSON record.",
@@ -2676,25 +2781,25 @@
2676
2781
  "push": {
2677
2782
  "AWS": {
2678
2783
  "SNSClient": {
2679
- "$code": "class{constructor(e){this.config=e}config;async send(e){return e instanceof C?{TopicArn:\"arn:aws:sns:eu-central-1:123456789012:walkeros-events\"}:e instanceof _?{MessageId:\"mock-message-id\"}:{}}destroy(){}}"
2784
+ "$code": "class{constructor(e){this.config=e}config;async send(e){return e instanceof k?{TopicArn:\"arn:aws:sns:eu-central-1:123456789012:walkeros-events\"}:e instanceof T?{MessageId:\"mock-message-id\"}:{}}destroy(){}}"
2680
2785
  },
2681
2786
  "CreateTopicCommand": {
2682
- "$code": "class extends E{get[Symbol.toStringTag](){return\"CreateTopicCommand\"}}"
2787
+ "$code": "class extends _{get[Symbol.toStringTag](){return\"CreateTopicCommand\"}}"
2683
2788
  },
2684
2789
  "PublishCommand": {
2685
- "$code": "class extends E{get[Symbol.toStringTag](){return\"PublishCommand\"}}"
2790
+ "$code": "class extends _{get[Symbol.toStringTag](){return\"PublishCommand\"}}"
2686
2791
  },
2687
2792
  "GetTopicAttributesCommand": {
2688
- "$code": "class extends E{get[Symbol.toStringTag](){return\"GetTopicAttributesCommand\"}}"
2793
+ "$code": "class extends _{get[Symbol.toStringTag](){return\"GetTopicAttributesCommand\"}}"
2689
2794
  },
2690
2795
  "SubscribeCommand": {
2691
- "$code": "class extends E{get[Symbol.toStringTag](){return\"SubscribeCommand\"}}"
2796
+ "$code": "class extends _{get[Symbol.toStringTag](){return\"SubscribeCommand\"}}"
2692
2797
  },
2693
2798
  "STSClient": {
2694
2799
  "$code": "class{constructor(e){this.config=e}config;async send(){return{Account:\"123456789012\",Arn:\"arn:aws:iam::123456789012:user/walkeros\"}}destroy(){}}"
2695
2800
  },
2696
2801
  "GetCallerIdentityCommand": {
2697
- "$code": "class extends E{get[Symbol.toStringTag](){return\"GetCallerIdentityCommand\"}}"
2802
+ "$code": "class extends _{get[Symbol.toStringTag](){return\"GetCallerIdentityCommand\"}}"
2698
2803
  }
2699
2804
  }
2700
2805
  },
@@ -2820,7 +2925,7 @@
2820
2925
  "name": "order complete",
2821
2926
  "data": {
2822
2927
  "id": "ORD-400",
2823
- "total": 99.99,
2928
+ "value": 99.99,
2824
2929
  "currency": "EUR"
2825
2930
  },
2826
2931
  "context": {
@@ -2908,7 +3013,7 @@
2908
3013
  "id": "id",
2909
3014
  "name": "name",
2910
3015
  "order_id": "data.id",
2911
- "total": "data.total"
3016
+ "total": "data.value"
2912
3017
  }
2913
3018
  }
2914
3019
  },
@@ -2929,7 +3034,7 @@
2929
3034
  "name": "order complete",
2930
3035
  "data": {
2931
3036
  "id": "ORD-400",
2932
- "total": 99.99,
3037
+ "value": 99.99,
2933
3038
  "currency": "EUR"
2934
3039
  },
2935
3040
  "context": {
@@ -3021,7 +3126,7 @@
3021
3126
  "client.send",
3022
3127
  {
3023
3128
  "TopicArn": "arn:aws:sns:eu-central-1:123456789012:walkeros-events.fifo",
3024
- "Message": "{\"name\":\"order complete\",\"data\":{\"id\":\"ORD-400\",\"total\":99.99,\"currency\":\"EUR\"},\"context\":{\"shopping\":[\"complete\",0]},\"globals\":{\"pagegroup\":\"shop\"},\"custom\":{\"completely\":\"random\"},\"user\":{\"id\":\"usr-789\"},\"nested\":[{\"entity\":\"product\",\"data\":{\"id\":\"ers\",\"name\":\"Everyday Ruck Snack\",\"color\":\"black\",\"size\":\"l\",\"price\":420},\"context\":{\"shopping\":[\"complete\",0]},\"nested\":[]},{\"entity\":\"product\",\"data\":{\"id\":\"cc\",\"name\":\"Cool Cap\",\"size\":\"one size\",\"price\":42},\"context\":{\"shopping\":[\"complete\",0]},\"nested\":[]},{\"entity\":\"gift\",\"data\":{\"name\":\"Surprise\"},\"context\":{\"shopping\":[\"complete\",0]},\"nested\":[]}],\"consent\":{\"functional\":true},\"id\":\"ev-1700001001\",\"trigger\":\"load\",\"entity\":\"order\",\"action\":\"complete\",\"timestamp\":1700001001,\"timing\":3.14,\"source\":{\"count\":1,\"trace\":\"0a1b2c3d4e5f60718293a4b5c6d7e8f9\",\"type\":\"express\",\"platform\":\"server\"}}",
3129
+ "Message": "{\"name\":\"order complete\",\"data\":{\"id\":\"ORD-400\",\"value\":99.99,\"currency\":\"EUR\"},\"context\":{\"shopping\":[\"complete\",0]},\"globals\":{\"pagegroup\":\"shop\"},\"custom\":{\"completely\":\"random\"},\"user\":{\"id\":\"usr-789\"},\"nested\":[{\"entity\":\"product\",\"data\":{\"id\":\"ers\",\"name\":\"Everyday Ruck Snack\",\"color\":\"black\",\"size\":\"l\",\"price\":420},\"context\":{\"shopping\":[\"complete\",0]},\"nested\":[]},{\"entity\":\"product\",\"data\":{\"id\":\"cc\",\"name\":\"Cool Cap\",\"size\":\"one size\",\"price\":42},\"context\":{\"shopping\":[\"complete\",0]},\"nested\":[]},{\"entity\":\"gift\",\"data\":{\"name\":\"Surprise\"},\"context\":{\"shopping\":[\"complete\",0]},\"nested\":[]}],\"consent\":{\"functional\":true},\"id\":\"ev-1700001001\",\"trigger\":\"load\",\"entity\":\"order\",\"action\":\"complete\",\"timestamp\":1700001001,\"timing\":3.14,\"source\":{\"count\":1,\"trace\":\"0a1b2c3d4e5f60718293a4b5c6d7e8f9\",\"type\":\"express\",\"platform\":\"server\"}}",
3025
3130
  "MessageGroupId": "usr-789",
3026
3131
  "MessageDeduplicationId": "ev-1700001001"
3027
3132
  }
@@ -3087,6 +3192,61 @@
3087
3192
  }
3088
3193
  ]
3089
3194
  ]
3195
+ },
3196
+ "silentRule": {
3197
+ "public": false,
3198
+ "description": "A rule with silent: true publishes no message to SNS.",
3199
+ "in": {
3200
+ "name": "page view",
3201
+ "data": {
3202
+ "title": "Home",
3203
+ "url": "https://example.com/"
3204
+ },
3205
+ "context": {
3206
+ "dev": [
3207
+ "test",
3208
+ 1
3209
+ ]
3210
+ },
3211
+ "globals": {
3212
+ "pagegroup": "docs"
3213
+ },
3214
+ "custom": {
3215
+ "completely": "random"
3216
+ },
3217
+ "user": {
3218
+ "id": "us3r",
3219
+ "device": "c00k13",
3220
+ "session": "s3ss10n"
3221
+ },
3222
+ "nested": [
3223
+ {
3224
+ "entity": "child",
3225
+ "data": {
3226
+ "is": "subordinated"
3227
+ }
3228
+ }
3229
+ ],
3230
+ "consent": {
3231
+ "functional": true
3232
+ },
3233
+ "id": "ev-1700001000",
3234
+ "trigger": "load",
3235
+ "entity": "page",
3236
+ "action": "view",
3237
+ "timestamp": 1700001000,
3238
+ "timing": 3.14,
3239
+ "source": {
3240
+ "count": 1,
3241
+ "trace": "0a1b2c3d4e5f60718293a4b5c6d7e8f9",
3242
+ "type": "express",
3243
+ "platform": "server"
3244
+ }
3245
+ },
3246
+ "mapping": {
3247
+ "silent": true
3248
+ },
3249
+ "out": []
3090
3250
  }
3091
3251
  }
3092
3252
  },
@@ -3716,7 +3876,7 @@
3716
3876
  "name": "order complete",
3717
3877
  "data": {
3718
3878
  "id": "ORD-400",
3719
- "total": 99.99,
3879
+ "value": 99.99,
3720
3880
  "currency": "EUR"
3721
3881
  },
3722
3882
  "context": {
@@ -3806,7 +3966,7 @@
3806
3966
  "id": "id",
3807
3967
  "name": "name",
3808
3968
  "order_id": "data.id",
3809
- "total": "data.total"
3969
+ "total": "data.value"
3810
3970
  }
3811
3971
  }
3812
3972
  },
@@ -3914,7 +4074,7 @@
3914
4074
  "name": "order complete",
3915
4075
  "data": {
3916
4076
  "id": "ORD-400",
3917
- "total": 99.99,
4077
+ "value": 99.99,
3918
4078
  "currency": "EUR"
3919
4079
  },
3920
4080
  "context": {
@@ -4055,11 +4215,11 @@
4055
4215
  "46": 34,
4056
4216
  "47": 44,
4057
4217
  "48": 34,
4058
- "49": 116,
4059
- "50": 111,
4060
- "51": 116,
4061
- "52": 97,
4062
- "53": 108,
4218
+ "49": 118,
4219
+ "50": 97,
4220
+ "51": 108,
4221
+ "52": 117,
4222
+ "53": 101,
4063
4223
  "54": 34,
4064
4224
  "55": 58,
4065
4225
  "56": 57,
@@ -4900,6 +5060,61 @@
4900
5060
  ]
4901
5061
  ]
4902
5062
  },
5063
+ "silentRule": {
5064
+ "public": false,
5065
+ "description": "A rule with silent: true sends no record to Firehose.",
5066
+ "in": {
5067
+ "name": "page view",
5068
+ "data": {
5069
+ "title": "Home",
5070
+ "url": "https://example.com/"
5071
+ },
5072
+ "context": {
5073
+ "dev": [
5074
+ "test",
5075
+ 1
5076
+ ]
5077
+ },
5078
+ "globals": {
5079
+ "pagegroup": "docs"
5080
+ },
5081
+ "custom": {
5082
+ "completely": "random"
5083
+ },
5084
+ "user": {
5085
+ "id": "us3r",
5086
+ "device": "c00k13",
5087
+ "session": "s3ss10n"
5088
+ },
5089
+ "nested": [
5090
+ {
5091
+ "entity": "child",
5092
+ "data": {
5093
+ "is": "subordinated"
5094
+ }
5095
+ }
5096
+ ],
5097
+ "consent": {
5098
+ "functional": true
5099
+ },
5100
+ "id": "ev-1700001000",
5101
+ "trigger": "load",
5102
+ "entity": "page",
5103
+ "action": "view",
5104
+ "timestamp": 1700001000,
5105
+ "timing": 3.14,
5106
+ "source": {
5107
+ "count": 1,
5108
+ "trace": "0a1b2c3d4e5f60718293a4b5c6d7e8f9",
5109
+ "type": "express",
5110
+ "platform": "server"
5111
+ }
5112
+ },
5113
+ "mapping": {
5114
+ "silent": true
5115
+ },
5116
+ "out": []
5117
+ },
4903
5118
  "userSignupEvent": {
4904
5119
  "title": "User signup record",
4905
5120
  "description": "A user signup event including user fields is streamed to Firehose as a JSON record.",
@@ -6114,7 +6329,7 @@
6114
6329
  "name": "order complete",
6115
6330
  "data": {
6116
6331
  "id": "ORD-400",
6117
- "total": 99.99,
6332
+ "value": 99.99,
6118
6333
  "currency": "EUR"
6119
6334
  },
6120
6335
  "context": {
@@ -6204,7 +6419,7 @@
6204
6419
  "id": "id",
6205
6420
  "name": "name",
6206
6421
  "order_id": "data.id",
6207
- "total": "data.total"
6422
+ "total": "data.value"
6208
6423
  }
6209
6424
  }
6210
6425
  },
@@ -6312,7 +6527,7 @@
6312
6527
  "name": "order complete",
6313
6528
  "data": {
6314
6529
  "id": "ORD-400",
6315
- "total": 99.99,
6530
+ "value": 99.99,
6316
6531
  "currency": "EUR"
6317
6532
  },
6318
6533
  "context": {
@@ -6453,11 +6668,11 @@
6453
6668
  "46": 34,
6454
6669
  "47": 44,
6455
6670
  "48": 34,
6456
- "49": 116,
6457
- "50": 111,
6458
- "51": 116,
6459
- "52": 97,
6460
- "53": 108,
6671
+ "49": 118,
6672
+ "50": 97,
6673
+ "51": 108,
6674
+ "52": 117,
6675
+ "53": 101,
6461
6676
  "54": 34,
6462
6677
  "55": 58,
6463
6678
  "56": 57,
@@ -7298,6 +7513,61 @@
7298
7513
  ]
7299
7514
  ]
7300
7515
  },
7516
+ "silentRule": {
7517
+ "public": false,
7518
+ "description": "A rule with silent: true sends no record to Firehose.",
7519
+ "in": {
7520
+ "name": "page view",
7521
+ "data": {
7522
+ "title": "Home",
7523
+ "url": "https://example.com/"
7524
+ },
7525
+ "context": {
7526
+ "dev": [
7527
+ "test",
7528
+ 1
7529
+ ]
7530
+ },
7531
+ "globals": {
7532
+ "pagegroup": "docs"
7533
+ },
7534
+ "custom": {
7535
+ "completely": "random"
7536
+ },
7537
+ "user": {
7538
+ "id": "us3r",
7539
+ "device": "c00k13",
7540
+ "session": "s3ss10n"
7541
+ },
7542
+ "nested": [
7543
+ {
7544
+ "entity": "child",
7545
+ "data": {
7546
+ "is": "subordinated"
7547
+ }
7548
+ }
7549
+ ],
7550
+ "consent": {
7551
+ "functional": true
7552
+ },
7553
+ "id": "ev-1700001000",
7554
+ "trigger": "load",
7555
+ "entity": "page",
7556
+ "action": "view",
7557
+ "timestamp": 1700001000,
7558
+ "timing": 3.14,
7559
+ "source": {
7560
+ "count": 1,
7561
+ "trace": "0a1b2c3d4e5f60718293a4b5c6d7e8f9",
7562
+ "type": "express",
7563
+ "platform": "server"
7564
+ }
7565
+ },
7566
+ "mapping": {
7567
+ "silent": true
7568
+ },
7569
+ "out": []
7570
+ },
7301
7571
  "userSignupEvent": {
7302
7572
  "title": "User signup record",
7303
7573
  "description": "A user signup event including user fields is streamed to Firehose as a JSON record.",
@@ -7874,25 +8144,25 @@
7874
8144
  "push": {
7875
8145
  "AWS": {
7876
8146
  "SNSClient": {
7877
- "$code": "class{constructor(e){this.config=e}config;async send(e){return e instanceof C?{TopicArn:\"arn:aws:sns:eu-central-1:123456789012:walkeros-events\"}:e instanceof _?{MessageId:\"mock-message-id\"}:{}}destroy(){}}"
8147
+ "$code": "class{constructor(e){this.config=e}config;async send(e){return e instanceof k?{TopicArn:\"arn:aws:sns:eu-central-1:123456789012:walkeros-events\"}:e instanceof T?{MessageId:\"mock-message-id\"}:{}}destroy(){}}"
7878
8148
  },
7879
8149
  "CreateTopicCommand": {
7880
- "$code": "class extends E{get[Symbol.toStringTag](){return\"CreateTopicCommand\"}}"
8150
+ "$code": "class extends _{get[Symbol.toStringTag](){return\"CreateTopicCommand\"}}"
7881
8151
  },
7882
8152
  "PublishCommand": {
7883
- "$code": "class extends E{get[Symbol.toStringTag](){return\"PublishCommand\"}}"
8153
+ "$code": "class extends _{get[Symbol.toStringTag](){return\"PublishCommand\"}}"
7884
8154
  },
7885
8155
  "GetTopicAttributesCommand": {
7886
- "$code": "class extends E{get[Symbol.toStringTag](){return\"GetTopicAttributesCommand\"}}"
8156
+ "$code": "class extends _{get[Symbol.toStringTag](){return\"GetTopicAttributesCommand\"}}"
7887
8157
  },
7888
8158
  "SubscribeCommand": {
7889
- "$code": "class extends E{get[Symbol.toStringTag](){return\"SubscribeCommand\"}}"
8159
+ "$code": "class extends _{get[Symbol.toStringTag](){return\"SubscribeCommand\"}}"
7890
8160
  },
7891
8161
  "STSClient": {
7892
8162
  "$code": "class{constructor(e){this.config=e}config;async send(){return{Account:\"123456789012\",Arn:\"arn:aws:iam::123456789012:user/walkeros\"}}destroy(){}}"
7893
8163
  },
7894
8164
  "GetCallerIdentityCommand": {
7895
- "$code": "class extends E{get[Symbol.toStringTag](){return\"GetCallerIdentityCommand\"}}"
8165
+ "$code": "class extends _{get[Symbol.toStringTag](){return\"GetCallerIdentityCommand\"}}"
7896
8166
  }
7897
8167
  }
7898
8168
  },
@@ -8018,7 +8288,7 @@
8018
8288
  "name": "order complete",
8019
8289
  "data": {
8020
8290
  "id": "ORD-400",
8021
- "total": 99.99,
8291
+ "value": 99.99,
8022
8292
  "currency": "EUR"
8023
8293
  },
8024
8294
  "context": {
@@ -8106,7 +8376,7 @@
8106
8376
  "id": "id",
8107
8377
  "name": "name",
8108
8378
  "order_id": "data.id",
8109
- "total": "data.total"
8379
+ "total": "data.value"
8110
8380
  }
8111
8381
  }
8112
8382
  },
@@ -8127,7 +8397,7 @@
8127
8397
  "name": "order complete",
8128
8398
  "data": {
8129
8399
  "id": "ORD-400",
8130
- "total": 99.99,
8400
+ "value": 99.99,
8131
8401
  "currency": "EUR"
8132
8402
  },
8133
8403
  "context": {
@@ -8219,7 +8489,7 @@
8219
8489
  "client.send",
8220
8490
  {
8221
8491
  "TopicArn": "arn:aws:sns:eu-central-1:123456789012:walkeros-events.fifo",
8222
- "Message": "{\"name\":\"order complete\",\"data\":{\"id\":\"ORD-400\",\"total\":99.99,\"currency\":\"EUR\"},\"context\":{\"shopping\":[\"complete\",0]},\"globals\":{\"pagegroup\":\"shop\"},\"custom\":{\"completely\":\"random\"},\"user\":{\"id\":\"usr-789\"},\"nested\":[{\"entity\":\"product\",\"data\":{\"id\":\"ers\",\"name\":\"Everyday Ruck Snack\",\"color\":\"black\",\"size\":\"l\",\"price\":420},\"context\":{\"shopping\":[\"complete\",0]},\"nested\":[]},{\"entity\":\"product\",\"data\":{\"id\":\"cc\",\"name\":\"Cool Cap\",\"size\":\"one size\",\"price\":42},\"context\":{\"shopping\":[\"complete\",0]},\"nested\":[]},{\"entity\":\"gift\",\"data\":{\"name\":\"Surprise\"},\"context\":{\"shopping\":[\"complete\",0]},\"nested\":[]}],\"consent\":{\"functional\":true},\"id\":\"ev-1700001001\",\"trigger\":\"load\",\"entity\":\"order\",\"action\":\"complete\",\"timestamp\":1700001001,\"timing\":3.14,\"source\":{\"count\":1,\"trace\":\"0a1b2c3d4e5f60718293a4b5c6d7e8f9\",\"type\":\"express\",\"platform\":\"server\"}}",
8492
+ "Message": "{\"name\":\"order complete\",\"data\":{\"id\":\"ORD-400\",\"value\":99.99,\"currency\":\"EUR\"},\"context\":{\"shopping\":[\"complete\",0]},\"globals\":{\"pagegroup\":\"shop\"},\"custom\":{\"completely\":\"random\"},\"user\":{\"id\":\"usr-789\"},\"nested\":[{\"entity\":\"product\",\"data\":{\"id\":\"ers\",\"name\":\"Everyday Ruck Snack\",\"color\":\"black\",\"size\":\"l\",\"price\":420},\"context\":{\"shopping\":[\"complete\",0]},\"nested\":[]},{\"entity\":\"product\",\"data\":{\"id\":\"cc\",\"name\":\"Cool Cap\",\"size\":\"one size\",\"price\":42},\"context\":{\"shopping\":[\"complete\",0]},\"nested\":[]},{\"entity\":\"gift\",\"data\":{\"name\":\"Surprise\"},\"context\":{\"shopping\":[\"complete\",0]},\"nested\":[]}],\"consent\":{\"functional\":true},\"id\":\"ev-1700001001\",\"trigger\":\"load\",\"entity\":\"order\",\"action\":\"complete\",\"timestamp\":1700001001,\"timing\":3.14,\"source\":{\"count\":1,\"trace\":\"0a1b2c3d4e5f60718293a4b5c6d7e8f9\",\"type\":\"express\",\"platform\":\"server\"}}",
8223
8493
  "MessageGroupId": "usr-789",
8224
8494
  "MessageDeduplicationId": "ev-1700001001"
8225
8495
  }
@@ -8285,6 +8555,61 @@
8285
8555
  }
8286
8556
  ]
8287
8557
  ]
8558
+ },
8559
+ "silentRule": {
8560
+ "public": false,
8561
+ "description": "A rule with silent: true publishes no message to SNS.",
8562
+ "in": {
8563
+ "name": "page view",
8564
+ "data": {
8565
+ "title": "Home",
8566
+ "url": "https://example.com/"
8567
+ },
8568
+ "context": {
8569
+ "dev": [
8570
+ "test",
8571
+ 1
8572
+ ]
8573
+ },
8574
+ "globals": {
8575
+ "pagegroup": "docs"
8576
+ },
8577
+ "custom": {
8578
+ "completely": "random"
8579
+ },
8580
+ "user": {
8581
+ "id": "us3r",
8582
+ "device": "c00k13",
8583
+ "session": "s3ss10n"
8584
+ },
8585
+ "nested": [
8586
+ {
8587
+ "entity": "child",
8588
+ "data": {
8589
+ "is": "subordinated"
8590
+ }
8591
+ }
8592
+ ],
8593
+ "consent": {
8594
+ "functional": true
8595
+ },
8596
+ "id": "ev-1700001000",
8597
+ "trigger": "load",
8598
+ "entity": "page",
8599
+ "action": "view",
8600
+ "timestamp": 1700001000,
8601
+ "timing": 3.14,
8602
+ "source": {
8603
+ "count": 1,
8604
+ "trace": "0a1b2c3d4e5f60718293a4b5c6d7e8f9",
8605
+ "type": "express",
8606
+ "platform": "server"
8607
+ }
8608
+ },
8609
+ "mapping": {
8610
+ "silent": true
8611
+ },
8612
+ "out": []
8288
8613
  }
8289
8614
  }
8290
8615
  }
@@ -8338,7 +8663,26 @@
8338
8663
  "title": "firehose"
8339
8664
  }
8340
8665
  },
8341
- "additionalProperties": false
8666
+ "additionalProperties": false,
8667
+ "anyOf": [
8668
+ {
8669
+ "required": [
8670
+ "streamName"
8671
+ ]
8672
+ },
8673
+ {
8674
+ "required": [
8675
+ "firehose"
8676
+ ],
8677
+ "properties": {
8678
+ "firehose": {
8679
+ "required": [
8680
+ "streamName"
8681
+ ]
8682
+ }
8683
+ }
8684
+ }
8685
+ ]
8342
8686
  },
8343
8687
  "mapping": {
8344
8688
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -8372,7 +8716,19 @@
8372
8716
  "description": "Raw SNSClient options passed to the SDK. Put keys in config.credentials instead."
8373
8717
  }
8374
8718
  },
8375
- "additionalProperties": false
8719
+ "additionalProperties": false,
8720
+ "anyOf": [
8721
+ {
8722
+ "required": [
8723
+ "topicArn"
8724
+ ]
8725
+ },
8726
+ {
8727
+ "required": [
8728
+ "topicName"
8729
+ ]
8730
+ }
8731
+ ]
8376
8732
  },
8377
8733
  "mapping": {
8378
8734
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -8491,7 +8847,7 @@
8491
8847
  "text": "Delivery is at least once: deduplicate downstream on event.id, and keep id in mapped data. A record AWS rejects is reported as failed with code, status and retryable. There is no retry beyond the built-in AWS SDK retry: a rejected record goes to the in-memory dead letter queue of the collector, which nothing replays yet. On SNS FIFO topics MessageDeduplicationId defaults to event.id."
8492
8848
  },
8493
8849
  "troubleshoot-errors": {
8494
- "text": "Every failure carries code, status and retryable, and its message names the stream or topic and the region. ResourceNotFoundException: wrong settings.streamName or region. AccessDeniedException / AuthorizationErrorException: the credentials lack firehose:PutRecordBatch or sns:Publish. UnrecognizedClientException, InvalidSignatureException, ExpiredTokenException or no credentials found: check config.credentials or the environment. SNS NotFoundException: the topic does not exist; run walkeros setup or set settings.topicArn. NULL rows in Athena: the stream adds its own new line delimiter too, so set newline: false. InvalidConfig at start: a missing or conflicting setting, named in the message."
8850
+ "text": "Every failure carries code, status and retryable, and its message names the stream or topic and the region; the AWS error itself stays on the error as its cause. ResourceNotFoundException: wrong settings.streamName or region. AccessDeniedException / AuthorizationErrorException: the credentials lack firehose:PutRecordBatch or sns:Publish. UnrecognizedClientException, InvalidSignatureException, ExpiredTokenException or no credentials found: check config.credentials or the environment. SNS NotFoundException: the topic does not exist; run walkeros setup or set settings.topicArn. NULL rows in Athena: the stream adds its own new line delimiter too, so set newline: false. Code config at start: a missing or conflicting setting, named in the message."
8495
8851
  }
8496
8852
  }
8497
8853
  }