@schibsted/pulse-sdk 8.0.0-rc.3 → 8.0.0-rc.5

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 (29) hide show
  1. package/dist/cjs/Tracker.js +14 -79
  2. package/dist/cjs/Tracker.test-d.js +2 -0
  3. package/dist/cjs/builders/actor.js +3 -3
  4. package/dist/cjs/identity/actor.js +18 -6
  5. package/dist/cjs/tracker-proxy/consts.js +0 -7
  6. package/dist/cjs/version.js +1 -1
  7. package/dist/ejs/Tracker.js +16 -81
  8. package/dist/ejs/Tracker.test-d.js +2 -0
  9. package/dist/ejs/builders/actor.js +2 -2
  10. package/dist/ejs/identity/actor.js +19 -7
  11. package/dist/ejs/tracker-proxy/consts.js +0 -7
  12. package/dist/ejs/version.js +1 -1
  13. package/dist/types/Tracker.d.ts +2 -39
  14. package/dist/types/builders/actor.d.ts +3 -2
  15. package/dist/types/identity/actor.d.ts +2 -2
  16. package/dist/types/identity/cis.d.ts +1 -1
  17. package/dist/types/tracker-proxy/consts.d.ts +1 -1
  18. package/dist/types/version.d.ts +1 -1
  19. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders/catalogVersion.js +9 -0
  20. package/node_modules/@schibsted/tpaas-event-builder/dist/cjs/builders.js +63 -78
  21. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders/catalogVersion.js +6 -0
  22. package/node_modules/@schibsted/tpaas-event-builder/dist/ejs/builders.js +64 -72
  23. package/node_modules/@schibsted/tpaas-event-builder/dist/index.d.ts +736 -1058
  24. package/node_modules/@schibsted/tpaas-event-builder/package.json +1 -1
  25. package/node_modules/@schibsted/tpaas-schemas/dist/cjs/constants.js +80 -107
  26. package/node_modules/@schibsted/tpaas-schemas/dist/ejs/constants.js +78 -105
  27. package/node_modules/@schibsted/tpaas-schemas/dist/index.d.ts +850 -1214
  28. package/node_modules/@schibsted/tpaas-schemas/package.json +1 -1
  29. package/package.json +3 -3
@@ -6,112 +6,112 @@ export declare const AnonymousViewUIElement: {
6
6
  readonly object: {
7
7
  readonly objectType: "UIElement";
8
8
  };
9
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/AnonymousViewUIElement.json";
9
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/AnonymousViewUIElement.json";
10
10
  };
11
11
  export declare const CancelSubscription: {
12
12
  readonly eventType: "Cancel";
13
13
  readonly object: {
14
14
  readonly objectType: "Subscription";
15
15
  };
16
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/CancelSubscription.json";
16
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/CancelSubscription.json";
17
+ };
18
+ export declare const ChangePushNotificationSettings: {
19
+ readonly eventType: "Change";
20
+ readonly object: {
21
+ readonly objectType: "PushNotificationSettings";
22
+ };
23
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ChangePushNotificationSettings.json";
17
24
  };
18
25
  export declare const CompletedHealthAction: {
19
26
  readonly eventType: "Completed";
20
27
  readonly object: {
21
28
  readonly objectType: "HealthAction";
22
29
  };
23
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/CompletedHealthAction.json";
30
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/CompletedHealthAction.json";
24
31
  };
25
32
  export declare const EngagementAudio: {
26
33
  readonly eventType: "Engagement";
27
34
  readonly object: {
28
35
  readonly objectType: "Audio";
29
36
  };
30
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/EngagementAudio.json";
37
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementAudio.json";
31
38
  };
32
39
  export declare const EngagementForm: {
33
40
  readonly eventType: "Engagement";
34
41
  readonly object: {
35
42
  readonly objectType: "Form";
36
43
  };
37
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/EngagementForm.json";
44
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementForm.json";
38
45
  };
39
46
  export declare const EngagementHealthUIElement: {
40
47
  readonly eventType: "Engagement";
41
48
  readonly object: {
42
49
  readonly objectType: "HealthUIElement";
43
50
  };
44
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/EngagementHealthUIElement.json";
51
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementHealthUIElement.json";
45
52
  };
46
53
  export declare const EngagementNotification: {
47
54
  readonly eventType: "Engagement";
48
55
  readonly object: {
49
56
  readonly objectType: "Notification";
50
57
  };
51
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/EngagementNotification.json";
58
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementNotification.json";
52
59
  };
53
60
  export declare const EngagementOffer: {
54
61
  readonly eventType: "Engagement";
55
62
  readonly object: {
56
63
  readonly objectType: "Offer";
57
64
  };
58
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/EngagementOffer.json";
65
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementOffer.json";
59
66
  };
60
67
  export declare const EngagementTeaser: {
61
68
  readonly eventType: "Engagement";
62
69
  readonly object: {
63
70
  readonly objectType: "Teaser";
64
71
  };
65
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/EngagementTeaser.json";
72
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementTeaser.json";
66
73
  };
67
74
  export declare const EngagementUIElement: {
68
75
  readonly eventType: "Engagement";
69
76
  readonly object: {
70
77
  readonly objectType: "UIElement";
71
78
  };
72
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/EngagementUIElement.json";
79
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementUIElement.json";
73
80
  };
74
81
  export declare const EngagementVideo: {
75
82
  readonly eventType: "Engagement";
76
83
  readonly object: {
77
84
  readonly objectType: "Video";
78
85
  };
79
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/EngagementVideo.json";
86
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementVideo.json";
80
87
  };
81
88
  export declare const EngagementVideoAd: {
82
89
  readonly eventType: "Engagement";
83
90
  readonly object: {
84
91
  readonly objectType: "VideoAd";
85
92
  };
86
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/EngagementVideoAd.json";
93
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementVideoAd.json";
87
94
  };
88
95
  export declare const EngagementWidget: {
89
96
  readonly eventType: "Engagement";
90
97
  readonly object: {
91
98
  readonly objectType: "Widget";
92
99
  };
93
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/EngagementWidget.json";
94
- };
95
- export declare const ImpressionAdSlot: {
96
- readonly eventType: "Impression";
97
- readonly object: {
98
- readonly objectType: "AdSlot";
99
- };
100
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ImpressionAdSlot.json";
100
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/EngagementWidget.json";
101
101
  };
102
102
  export declare const ImpressionForm: {
103
103
  readonly eventType: "Impression";
104
104
  readonly object: {
105
105
  readonly objectType: "Form";
106
106
  };
107
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ImpressionForm.json";
107
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionForm.json";
108
108
  };
109
109
  export declare const ImpressionHealthUIElement: {
110
110
  readonly eventType: "Impression";
111
111
  readonly object: {
112
112
  readonly objectType: "HealthUIElement";
113
113
  };
114
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ImpressionHealthUIElement.json";
114
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionHealthUIElement.json";
115
115
  };
116
116
  export declare const ImpressionNotification: {
117
117
  readonly eventType: "Impression";
@@ -119,294 +119,266 @@ export declare const ImpressionNotification: {
119
119
  readonly name: "PushNotification";
120
120
  readonly objectType: "Notification";
121
121
  };
122
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ImpressionNotification.json";
122
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionNotification.json";
123
123
  };
124
124
  export declare const ImpressionOffer: {
125
125
  readonly eventType: "Impression";
126
126
  readonly object: {
127
127
  readonly objectType: "Offer";
128
128
  };
129
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ImpressionOffer.json";
129
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionOffer.json";
130
130
  };
131
131
  export declare const ImpressionPlayer: {
132
132
  readonly eventType: "Impression";
133
133
  readonly object: {
134
134
  readonly objectType: "Player";
135
135
  };
136
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ImpressionPlayer.json";
136
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionPlayer.json";
137
137
  };
138
138
  export declare const ImpressionTeaser: {
139
139
  readonly eventType: "Impression";
140
140
  readonly object: {
141
141
  readonly objectType: "Teaser";
142
142
  };
143
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ImpressionTeaser.json";
143
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionTeaser.json";
144
144
  };
145
145
  export declare const ImpressionUIElement: {
146
146
  readonly eventType: "Impression";
147
147
  readonly object: {
148
148
  readonly objectType: "UIElement";
149
149
  };
150
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ImpressionUIElement.json";
150
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionUIElement.json";
151
151
  };
152
152
  export declare const ImpressionWidget: {
153
153
  readonly eventType: "Impression";
154
154
  readonly object: {
155
155
  readonly objectType: "Widget";
156
156
  };
157
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ImpressionWidget.json";
157
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ImpressionWidget.json";
158
+ };
159
+ export declare const InternalAccessDecision: {
160
+ readonly eventType: "Internal";
161
+ readonly object: {
162
+ readonly objectType: "AccessDecision";
163
+ };
164
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/InternalAccessDecision.json";
158
165
  };
159
166
  export declare const InternalProbe: {
160
167
  readonly eventType: "Internal";
161
168
  readonly object: {
162
169
  readonly objectType: "Probe";
163
170
  };
164
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/InternalProbe.json";
171
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/InternalProbe.json";
172
+ };
173
+ export declare const LaunchApp: {
174
+ readonly eventType: "Launch";
175
+ readonly object: {
176
+ readonly objectType: "App";
177
+ };
178
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LaunchApp.json";
165
179
  };
166
180
  export declare const LeaveArticle: {
167
181
  readonly eventType: "Leave";
168
182
  readonly object: {
169
183
  readonly objectType: "Article";
170
184
  };
171
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveArticle.json";
185
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveArticle.json";
172
186
  };
173
187
  export declare const LeaveAudioPage: {
174
188
  readonly eventType: "Leave";
175
189
  readonly object: {
176
190
  readonly objectType: "AudioPage";
177
191
  };
178
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveAudioPage.json";
192
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveAudioPage.json";
179
193
  };
180
194
  export declare const LeaveError: {
181
195
  readonly eventType: "Leave";
182
196
  readonly object: {
183
197
  readonly objectType: "Error";
184
198
  };
185
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveError.json";
199
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveError.json";
186
200
  };
187
201
  export declare const LeaveFrontpage: {
188
202
  readonly eventType: "Leave";
189
203
  readonly object: {
190
204
  readonly objectType: "Frontpage";
191
205
  };
192
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveFrontpage.json";
206
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveFrontpage.json";
193
207
  };
194
208
  export declare const LeaveLandingpage: {
195
209
  readonly eventType: "Leave";
196
210
  readonly object: {
197
211
  readonly objectType: "Landingpage";
198
212
  };
199
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveLandingpage.json";
213
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveLandingpage.json";
200
214
  };
201
215
  export declare const LeaveListing: {
202
216
  readonly eventType: "Leave";
203
217
  readonly object: {
204
218
  readonly objectType: "Listing";
205
219
  };
206
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveListing.json";
220
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveListing.json";
207
221
  };
208
222
  export declare const LeaveLockedArticle: {
209
223
  readonly eventType: "Leave";
210
224
  readonly object: {
211
225
  readonly objectType: "LockedArticle";
212
226
  };
213
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveLockedArticle.json";
214
- };
215
- export declare const LeaveLockedAudio: {
216
- readonly eventType: "Leave";
217
- readonly object: {
218
- readonly objectType: "LockedAudio";
219
- };
220
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveLockedAudio.json";
227
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveLockedArticle.json";
221
228
  };
222
229
  export declare const LeaveLockedAudioPage: {
223
230
  readonly eventType: "Leave";
224
231
  readonly object: {
225
232
  readonly objectType: "LockedAudioPage";
226
233
  };
227
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveLockedAudioPage.json";
228
- };
229
- export declare const LeaveLockedVideo: {
230
- readonly eventType: "Leave";
231
- readonly object: {
232
- readonly objectType: "LockedVideo";
233
- };
234
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveLockedVideo.json";
234
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveLockedAudioPage.json";
235
235
  };
236
236
  export declare const LeaveLockedVideoPage: {
237
237
  readonly eventType: "Leave";
238
238
  readonly object: {
239
239
  readonly objectType: "LockedVideoPage";
240
240
  };
241
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveLockedVideoPage.json";
241
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveLockedVideoPage.json";
242
242
  };
243
243
  export declare const LeavePage: {
244
244
  readonly eventType: "Leave";
245
245
  readonly object: {
246
246
  readonly objectType: "Page";
247
247
  };
248
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeavePage.json";
248
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeavePage.json";
249
249
  };
250
250
  export declare const LeaveSportsPage: {
251
251
  readonly eventType: "Leave";
252
252
  readonly object: {
253
253
  readonly objectType: "SportsPage";
254
254
  };
255
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveSportsPage.json";
255
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveSportsPage.json";
256
256
  };
257
257
  export declare const LeaveVideoPage: {
258
258
  readonly eventType: "Leave";
259
259
  readonly object: {
260
260
  readonly objectType: "VideoPage";
261
261
  };
262
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveVideoPage.json";
262
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveVideoPage.json";
263
263
  };
264
264
  export declare const LeaveWeather: {
265
265
  readonly eventType: "Leave";
266
266
  readonly object: {
267
267
  readonly objectType: "Weather";
268
268
  };
269
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/LeaveWeather.json";
269
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/LeaveWeather.json";
270
270
  };
271
271
  export declare const PurchaseSubscription: {
272
272
  readonly eventType: "Purchase";
273
273
  readonly object: {
274
274
  readonly objectType: "Subscription";
275
275
  };
276
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/PurchaseSubscription.json";
276
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/PurchaseSubscription.json";
277
277
  };
278
278
  export declare const ViewArticle: {
279
279
  readonly eventType: "View";
280
280
  readonly object: {
281
281
  readonly objectType: "Article";
282
282
  };
283
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewArticle.json";
284
- };
285
- export declare const ViewAudio: {
286
- readonly eventType: "View";
287
- readonly object: {
288
- readonly objectType: "Audio";
289
- };
290
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewAudio.json";
283
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewArticle.json";
291
284
  };
292
285
  export declare const ViewAudioPage: {
293
286
  readonly eventType: "View";
294
287
  readonly object: {
295
288
  readonly objectType: "AudioPage";
296
289
  };
297
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewAudioPage.json";
290
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewAudioPage.json";
298
291
  };
299
292
  export declare const ViewError: {
300
293
  readonly eventType: "View";
301
294
  readonly object: {
302
295
  readonly objectType: "Error";
303
296
  };
304
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewError.json";
297
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewError.json";
305
298
  };
306
299
  export declare const ViewFrontpage: {
307
300
  readonly eventType: "View";
308
301
  readonly object: {
309
302
  readonly objectType: "Frontpage";
310
303
  };
311
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewFrontpage.json";
304
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewFrontpage.json";
312
305
  };
313
306
  export declare const ViewHealthPage: {
314
307
  readonly eventType: "View";
315
308
  readonly object: {
316
309
  readonly objectType: "HealthPage";
317
310
  };
318
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewHealthPage.json";
311
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewHealthPage.json";
319
312
  };
320
313
  export declare const ViewLandingpage: {
321
314
  readonly eventType: "View";
322
315
  readonly object: {
323
316
  readonly objectType: "Landingpage";
324
317
  };
325
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewLandingpage.json";
318
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewLandingpage.json";
326
319
  };
327
320
  export declare const ViewListing: {
328
321
  readonly eventType: "View";
329
322
  readonly object: {
330
323
  readonly objectType: "Listing";
331
324
  };
332
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewListing.json";
325
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewListing.json";
333
326
  };
334
327
  export declare const ViewLockedArticle: {
335
328
  readonly eventType: "View";
336
329
  readonly object: {
337
330
  readonly objectType: "LockedArticle";
338
331
  };
339
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewLockedArticle.json";
340
- };
341
- export declare const ViewLockedAudio: {
342
- readonly eventType: "View";
343
- readonly object: {
344
- readonly objectType: "LockedAudio";
345
- };
346
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewLockedAudio.json";
332
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewLockedArticle.json";
347
333
  };
348
334
  export declare const ViewLockedAudioPage: {
349
335
  readonly eventType: "View";
350
336
  readonly object: {
351
337
  readonly objectType: "LockedAudioPage";
352
338
  };
353
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewLockedAudioPage.json";
354
- };
355
- export declare const ViewLockedVideo: {
356
- readonly eventType: "View";
357
- readonly object: {
358
- readonly objectType: "LockedVideo";
359
- };
360
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewLockedVideo.json";
339
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewLockedAudioPage.json";
361
340
  };
362
341
  export declare const ViewLockedVideoPage: {
363
342
  readonly eventType: "View";
364
343
  readonly object: {
365
344
  readonly objectType: "LockedVideoPage";
366
345
  };
367
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewLockedVideoPage.json";
346
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewLockedVideoPage.json";
368
347
  };
369
348
  export declare const ViewPage: {
370
349
  readonly eventType: "View";
371
350
  readonly object: {
372
351
  readonly objectType: "Page";
373
352
  };
374
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewPage.json";
353
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewPage.json";
375
354
  };
376
355
  export declare const ViewSportsPage: {
377
356
  readonly eventType: "View";
378
357
  readonly object: {
379
358
  readonly objectType: "SportsPage";
380
359
  };
381
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewSportsPage.json";
360
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewSportsPage.json";
382
361
  };
383
362
  export declare const ViewTitle: {
384
363
  readonly eventType: "View";
385
364
  readonly object: {
386
365
  readonly objectType: "Title";
387
366
  };
388
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewTitle.json";
389
- };
390
- export declare const ViewVideo: {
391
- readonly eventType: "View";
392
- readonly object: {
393
- readonly objectType: "Video";
394
- };
395
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewVideo.json";
367
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewTitle.json";
396
368
  };
397
369
  export declare const ViewVideoPage: {
398
370
  readonly eventType: "View";
399
371
  readonly object: {
400
372
  readonly objectType: "VideoPage";
401
373
  };
402
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewVideoPage.json";
374
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewVideoPage.json";
403
375
  };
404
376
  export declare const ViewWeather: {
405
377
  readonly eventType: "View";
406
378
  readonly object: {
407
379
  readonly objectType: "Weather";
408
380
  };
409
- readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.4.2/schemas/ViewWeather.json";
381
+ readonly schema: "https://tpaas-schemas.schibsted.media/catalogs/versions/2.6.0/schemas/ViewWeather.json";
410
382
  };
411
383
  export declare const ADVERTISING_VALUES: readonly [
412
384
  "Accepted",
@@ -497,22 +469,26 @@ export declare const ACTION_VALUES: readonly [
497
469
  ];
498
470
  export declare const PAGE_TYPE_VALUES: readonly [
499
471
  "Article",
500
- "Audio",
472
+ "AudioPage",
501
473
  "Error",
502
474
  "Frontpage",
503
475
  "HealthPage",
504
476
  "Landingpage",
505
477
  "Listing",
506
478
  "LockedArticle",
507
- "LockedAudio",
508
- "LockedVideo",
479
+ "LockedAudioPage",
480
+ "LockedVideoPage",
509
481
  "Login",
510
482
  "Page",
511
483
  "SportsPage",
512
484
  "Title",
513
- "Video",
485
+ "VideoPage",
514
486
  "Weather"
515
487
  ];
488
+ export declare const COLUMN_NAME_VALUES: readonly [
489
+ "main",
490
+ "aside"
491
+ ];
516
492
  export declare const STAGE_VALUES: readonly [
517
493
  "Dev",
518
494
  "Test",
@@ -583,7 +559,7 @@ export declare const UTM_MEDIUM_VALUES: readonly [
583
559
  "Video",
584
560
  "Internal"
585
561
  ];
586
- export declare const CATALOG_VERSION: "2.4.2";
562
+ export declare const CATALOG_VERSION: "2.6.0";
587
563
  /* eslint-disable */
588
564
  /**
589
565
  * This file was automatically generated by json-schema-to-typescript.
@@ -594,10 +570,22 @@ export declare const CATALOG_VERSION: "2.4.2";
594
570
  * Information about A/B testing groups.
595
571
  */
596
572
  export type IExperiments = {
573
+ /**
574
+ * Unique experiment identifier.
575
+ */
576
+ experimentSdrn: string;
597
577
  /**
598
578
  * The name of the experiment
599
579
  */
600
580
  name: string;
581
+ /**
582
+ * The name of the experimentation platform.
583
+ */
584
+ platform: string;
585
+ /**
586
+ * A UUIDV5 hash of a combination of variant IDs.
587
+ */
588
+ testId?: string;
601
589
  /**
602
590
  * The level of the experiment variant.
603
591
  */
@@ -610,7 +598,7 @@ export type IExperiments = {
610
598
  * and run json-schema-to-typescript to regenerate this file.
611
599
  */
612
600
  /**
613
- * A reference to another (internal) page.
601
+ * A reference to a page.
614
602
  */
615
603
  export interface IPageRef {
616
604
  /**
@@ -618,9 +606,9 @@ export interface IPageRef {
618
606
  */
619
607
  pageId?: string;
620
608
  /**
621
- * The event type of the base pageview.
609
+ * The object type of the base pageview.
622
610
  */
623
- pageType?: "Article" | "Audio" | "Error" | "Frontpage" | "HealthPage" | "Landingpage" | "Listing" | "LockedArticle" | "LockedAudio" | "LockedVideo" | "Login" | "Page" | "SportsPage" | "Title" | "Video" | "Weather";
611
+ pageType?: "Article" | "AudioPage" | "Error" | "Frontpage" | "HealthPage" | "Landingpage" | "Listing" | "LockedArticle" | "LockedAudioPage" | "LockedVideoPage" | "Login" | "Page" | "SportsPage" | "Title" | "VideoPage" | "Weather";
624
612
  /**
625
613
  * The URL of the page.
626
614
  */
@@ -754,7 +742,7 @@ export interface ITracker {
754
742
  */
755
743
  isHybrid: boolean;
756
744
  /**
757
- * The version of the tracker.
745
+ * The version of the proxy.
758
746
  */
759
747
  proxyVersion?: string;
760
748
  /**
@@ -770,6 +758,10 @@ export interface ITracker {
770
758
  * A view event when Consents are not yet decided (example: tracking the view of a cookie consent popup). Note: currently only used on Web. In this case, the SDK has restrictions on storage/cookies and is unable to provide user or device related fields.
771
759
  */
772
760
  export interface IAnonymousViewUIElement {
761
+ /**
762
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
763
+ */
764
+ catalogVersion: string;
773
765
  /**
774
766
  * The unique identifier for the event.
775
767
  */
@@ -868,6 +860,10 @@ export interface IUser {
868
860
  * Backend event for cancelled subscriptions.
869
861
  */
870
862
  export interface ICancelSubscription {
863
+ /**
864
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
865
+ */
866
+ catalogVersion: string;
871
867
  consents?: IConsents;
872
868
  device?: {
873
869
  /**
@@ -1000,6 +996,7 @@ export interface IDevice {
1000
996
  * The environmentId.
1001
997
  */
1002
998
  environmentId: string;
999
+ ipAddress?: string;
1003
1000
  /**
1004
1001
  * DEPRECATED: Backwards compatibility with ads.
1005
1002
  */
@@ -1036,21 +1033,69 @@ export interface IDevice {
1036
1033
  * and run json-schema-to-typescript to regenerate this file.
1037
1034
  */
1038
1035
  /**
1039
- * Information about the origin of the health page content.
1036
+ * Information about the current session.
1040
1037
  */
1041
- export interface IHealthOrigin {
1038
+ export interface ISession {
1042
1039
  /**
1043
- * The specific UI element or component that navigated to this page.
1040
+ * True if the event is the first to fire in a this session.
1044
1041
  */
1045
- content?: string;
1042
+ isFirstEvent: boolean;
1046
1043
  /**
1047
- * The feature area that navigated to this page
1044
+ * The sessionID.
1048
1045
  */
1049
- feature?: string;
1046
+ sessionId: string;
1050
1047
  /**
1051
- * The origin name / place that the user navigated from.
1048
+ * Timestamp of when the session started.
1052
1049
  */
1053
- name?: string;
1050
+ startTime: string;
1051
+ /**
1052
+ * The session ID on a partner domain (set via query parameter), else the current session ID. This value is used to connect cross-domain events such as behavior events to purchase events.
1053
+ */
1054
+ xDomainId?: string;
1055
+ }
1056
+ /**
1057
+ * Tracking whether the user have enabled or disabled push notifications.
1058
+ */
1059
+ export interface IChangePushNotificationSettings {
1060
+ /**
1061
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1062
+ */
1063
+ catalogVersion: string;
1064
+ consents: IConsents;
1065
+ device: IDevice;
1066
+ /**
1067
+ * The unique identifier for the event.
1068
+ */
1069
+ eventId: string;
1070
+ /**
1071
+ * The type of the event.
1072
+ */
1073
+ eventType: "Change";
1074
+ experiments?: IExperiments;
1075
+ metrics?: IMetrics;
1076
+ object: {
1077
+ /**
1078
+ * The push topics the user have enabled.
1079
+ */
1080
+ enabledTopics: string[];
1081
+ /**
1082
+ * Whether the user have enabled or disabled push notifications.
1083
+ */
1084
+ isPushEnabled: boolean;
1085
+ /**
1086
+ * The type of the object.
1087
+ */
1088
+ objectType: "PushNotificationSettings";
1089
+ };
1090
+ provider: IProvider;
1091
+ /**
1092
+ * URL to the JSON schema for this event.
1093
+ */
1094
+ schema: string;
1095
+ session: ISession;
1096
+ time: ITime;
1097
+ tracker: ITracker;
1098
+ user?: IUser;
1054
1099
  }
1055
1100
  /* eslint-disable */
1056
1101
  /**
@@ -1059,25 +1104,21 @@ export interface IHealthOrigin {
1059
1104
  * and run json-schema-to-typescript to regenerate this file.
1060
1105
  */
1061
1106
  /**
1062
- * Information about the current session.
1107
+ * Information about the origin of the health page content.
1063
1108
  */
1064
- export interface ISession {
1065
- /**
1066
- * True if the event is the first to fire in a this session.
1067
- */
1068
- isFirstEvent: boolean;
1109
+ export interface IHealthOrigin {
1069
1110
  /**
1070
- * The sessionID.
1111
+ * The specific UI element or component that navigated to this page.
1071
1112
  */
1072
- sessionId: string;
1113
+ content?: string;
1073
1114
  /**
1074
- * Timestamp of when the session started.
1115
+ * The feature area that navigated to this page
1075
1116
  */
1076
- startTime: string;
1117
+ feature?: string;
1077
1118
  /**
1078
- * The session ID on a partner domain (set via query parameter), else the current session ID. This value is used to connect cross-domain events such as behavior events to purchase events.
1119
+ * The origin name / place that the user navigated from.
1079
1120
  */
1080
- xDomainId?: string;
1121
+ name?: string;
1081
1122
  }
1082
1123
  /* eslint-disable */
1083
1124
  /**
@@ -1123,6 +1164,10 @@ export interface IContent {
1123
1164
  * Tracking when a user completes health-related actions within a health application. This includes both simple actions (logged food, scanned barcode) and complex multi-step processes (started new program, achieved goals). Only used by Vektklubb/Wellobe.
1124
1165
  */
1125
1166
  export interface ICompletedHealthAction {
1167
+ /**
1168
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1169
+ */
1170
+ catalogVersion: string;
1126
1171
  consents: IConsents;
1127
1172
  device: IDevice;
1128
1173
  /**
@@ -1216,6 +1261,10 @@ export interface ICompletedHealthAction {
1216
1261
  * Audio usage and heartbeats.
1217
1262
  */
1218
1263
  export interface IEngagementAudio {
1264
+ /**
1265
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1266
+ */
1267
+ catalogVersion: string;
1219
1268
  consents: IConsents;
1220
1269
  device: IDevice;
1221
1270
  /**
@@ -1233,7 +1282,7 @@ export interface IEngagementAudio {
1233
1282
  /**
1234
1283
  * Semantic event type (e.g. "start" (first start), "replay", “pause”. "next", "stop" etc.).
1235
1284
  */
1236
- engagementType?: "Start" | "Replay" | "Pause" | "Resume" | "Next" | "Stop" | "Cancel" | "Error" | "Seek" | "Watch";
1285
+ engagementType?: "Start" | "Replay" | "Pause" | "Resume" | "Next" | "Stop" | "Cancel" | "Error" | "Seek" | "Watch" | "Load";
1237
1286
  };
1238
1287
  /**
1239
1288
  * The unique identifier for the event.
@@ -1244,20 +1293,57 @@ export interface IEngagementAudio {
1244
1293
  */
1245
1294
  eventType: "Engagement";
1246
1295
  experiments?: IExperiments;
1247
- metrics?: IMetrics;
1248
- object: {
1296
+ /**
1297
+ * Type of user interaction with the audio
1298
+ */
1299
+ interaction?: {
1249
1300
  /**
1250
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
1301
+ * How the audio is consumed by the user at any given time
1251
1302
  */
1252
- containerName: string;
1303
+ displayMode: "Normal" | "Fullscreen" | "Minimized" | "Background" | "Chromecast" | "Airplay" | "Carplay";
1304
+ /**
1305
+ * True if the audio is muted
1306
+ */
1307
+ isMuted: boolean;
1253
1308
  /**
1254
- * The context in which the recommendation was made.
1309
+ * Indicates how the audio started
1255
1310
  */
1256
- curateContext?: string;
1311
+ playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
1257
1312
  /**
1258
- * How the content is presented on the page.
1313
+ * The current playback speed
1259
1314
  */
1260
- displayMode: "Normal" | "Fullscreen" | "Minimized" | "Background" | "Chromecast" | "Airplay" | "Carplay";
1315
+ playbackSpeed?: number;
1316
+ /**
1317
+ * The offset of the current playback from the start of the audio in milliseconds
1318
+ */
1319
+ positionMs: number;
1320
+ /**
1321
+ * The playback position in the audio where the current play segment started. For the first segment it equals the start position, and after a seek it equals the seek-from position
1322
+ */
1323
+ prevPositionMs: string;
1324
+ /**
1325
+ * The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
1326
+ */
1327
+ seekFromMs?: number;
1328
+ /**
1329
+ * The playback position (in milliseconds) the user sought to. Only included when engagement.type = "seek"
1330
+ */
1331
+ seekToMs?: number;
1332
+ /**
1333
+ * How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc
1334
+ */
1335
+ viewtimeMs: number;
1336
+ };
1337
+ metrics?: IMetrics;
1338
+ object: {
1339
+ /**
1340
+ * The editorial category of this audio
1341
+ */
1342
+ category: string;
1343
+ /**
1344
+ * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
1345
+ */
1346
+ containerName: string;
1261
1347
  /**
1262
1348
  * The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
1263
1349
  */
@@ -1267,9 +1353,21 @@ export interface IEngagementAudio {
1267
1353
  */
1268
1354
  elementSize?: "XS" | "S" | "M" | "L" | "XL";
1269
1355
  /**
1270
- * True if the audio is muted.
1356
+ * The UI surface or context from which the audio playback was initiated, such as the frontpage, an article embed, podcast-page or play-next etc
1271
1357
  */
1272
- isMuted: boolean;
1358
+ entryPoint: string;
1359
+ /**
1360
+ * Which episode
1361
+ */
1362
+ episode?: string;
1363
+ /**
1364
+ * Audio thumbnail from Stream to use in (Kilkaya) dashboards
1365
+ */
1366
+ imageUrl: string;
1367
+ /**
1368
+ * True if audio is accesible for the user
1369
+ */
1370
+ isAccessible: boolean;
1273
1371
  /**
1274
1372
  * The name of the audio.
1275
1373
  */
@@ -1284,13 +1382,13 @@ export interface IEngagementAudio {
1284
1382
  objectSdrn: string;
1285
1383
  objectType: "Audio";
1286
1384
  /**
1287
- * Indicates how the audio started.
1385
+ * Indicates how the audio is configured to start
1288
1386
  */
1289
- playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
1387
+ playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
1290
1388
  /**
1291
- * The current playback speed.
1389
+ * The type of player exposed to the user
1292
1390
  */
1293
- playbackSpeed?: number;
1391
+ player: "VideoPlayer" | "StoriesPlayer" | "AudioPlayer" | "TtsPlayer";
1294
1392
  /**
1295
1393
  * A unique ID for this player instance.
1296
1394
  */
@@ -1300,37 +1398,26 @@ export interface IEngagementAudio {
1300
1398
  */
1301
1399
  playlistId?: string;
1302
1400
  /**
1303
- * The unique ID for this audio when published at PodMe.
1401
+ * The unique ID for this audio when published in PodMe.
1304
1402
  */
1305
1403
  podmeId?: string;
1306
- /**
1307
- * The offset of the current playback from the start of the audio in milliseconds.
1308
- */
1309
- positionMs: number;
1310
- /**
1311
- * The playback position in the audio where the current play segment started. For the first segment it equals the start position, and after a seek it equals the seek-from position.
1312
- */
1313
- prevPositionMs: number;
1314
1404
  /**
1315
1405
  * The position of the audio in the playlist.
1316
1406
  */
1317
1407
  queuePosition?: number;
1318
1408
  /**
1319
- * The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
1409
+ * Which season
1320
1410
  */
1321
- seekFromMs?: number;
1411
+ season?: string;
1322
1412
  /**
1323
- * The playback position (in milliseconds) the user sought to. Only included when engagement.type = "seek"
1413
+ * Follow accesslevel from Stream (viewer access)
1324
1414
  */
1325
- seekToMs?: number;
1415
+ streamAccessLevel: string;
1326
1416
  /**
1327
1417
  * Reflects the stream type as defined in Stream at the time of playback.
1328
1418
  */
1329
1419
  streamType: string;
1330
- /**
1331
- * How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc.
1332
- */
1333
- userDurationMs: number;
1420
+ tags?: string[];
1334
1421
  /**
1335
1422
  * Type of audio. Fetched from content type in Stream.
1336
1423
  */
@@ -1379,6 +1466,10 @@ export interface IEngagement {
1379
1466
  * Interaction with a form component.
1380
1467
  */
1381
1468
  export interface IEngagementForm {
1469
+ /**
1470
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1471
+ */
1472
+ catalogVersion: string;
1382
1473
  consents: IConsents;
1383
1474
  device: IDevice;
1384
1475
  engagement: IEngagement;
@@ -1463,6 +1554,10 @@ export interface IEngagementForm {
1463
1554
  * Tracking user interactions with UI elements within health applications. This includes clicks, scrolls, drags and other user engagement actions with buttons, items, content cards, and other interactive elements. Only used by the Vektklubb/Wellobe projects.
1464
1555
  */
1465
1556
  export interface IEngagementHealthUIElement {
1557
+ /**
1558
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1559
+ */
1560
+ catalogVersion: string;
1466
1561
  consents: IConsents;
1467
1562
  device: IDevice;
1468
1563
  engagement: IEngagement;
@@ -1558,6 +1653,10 @@ export interface IEngagementHealthUIElement {
1558
1653
  * Interaction with a push notification.
1559
1654
  */
1560
1655
  export interface IEngagementNotification {
1656
+ /**
1657
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1658
+ */
1659
+ catalogVersion: string;
1561
1660
  consents: IConsents;
1562
1661
  device: IDevice;
1563
1662
  engagement: IEngagement;
@@ -1626,6 +1725,10 @@ export interface IEngagementNotification {
1626
1725
  * Interaction with an offer event.
1627
1726
  */
1628
1727
  export interface IEngagementOffer {
1728
+ /**
1729
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1730
+ */
1731
+ catalogVersion: string;
1629
1732
  consents: IConsents;
1630
1733
  device: IDevice;
1631
1734
  engagement: IEngagement;
@@ -1711,18 +1814,34 @@ export interface IEngagementOffer {
1711
1814
  * It describes where a teaser was shown on a page and in what structural context at the moment an Impression or Click event was fired.
1712
1815
  */
1713
1816
  export interface IPlacement {
1714
- columnName: string;
1817
+ columnName: "main" | "aside";
1715
1818
  /**
1716
1819
  * The context in which the recommendation was made.
1717
1820
  */
1718
- curateContext: string;
1821
+ curateContext?: string;
1822
+ /**
1823
+ * The source of the impression/engagement.
1824
+ */
1825
+ curateSource?: string;
1719
1826
  positionInBundle: number;
1720
- source: string;
1827
+ /**
1828
+ * The position of this component along the primary axis.
1829
+ */
1830
+ primaryPosition: number;
1831
+ /**
1832
+ * The position of this component along the secondary axis.
1833
+ */
1834
+ secondaryPosition: number;
1835
+ source?: string;
1721
1836
  }
1722
1837
  /**
1723
1838
  * An interaction with a teaser component.
1724
1839
  */
1725
1840
  export interface IEngagementTeaser {
1841
+ /**
1842
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1843
+ */
1844
+ catalogVersion: string;
1726
1845
  consents: IConsents;
1727
1846
  device: IDevice;
1728
1847
  engagement: IEngagement;
@@ -1769,19 +1888,10 @@ export interface IEngagementTeaser {
1769
1888
  * The type of the component.
1770
1889
  */
1771
1890
  objectType: "Teaser";
1772
- placement?: IPlacement;
1773
1891
  /**
1774
1892
  * The parent’s primary direction along which components are laid out.
1775
1893
  */
1776
1894
  primaryAxis: "Horizontal" | "Vertical";
1777
- /**
1778
- * The position of this component along the primary axis.
1779
- */
1780
- primaryPosition: number;
1781
- /**
1782
- * The position of this component along the secondary axis.
1783
- */
1784
- secondaryPosition: number;
1785
1895
  /**
1786
1896
  * The title of the teaser.
1787
1897
  */
@@ -1797,6 +1907,7 @@ export interface IEngagementTeaser {
1797
1907
  referrer?: IPageRef;
1798
1908
  utm?: IUtmTags;
1799
1909
  };
1910
+ placement: IPlacement;
1800
1911
  provider: IProvider;
1801
1912
  /**
1802
1913
  * The schema of the event.
@@ -1815,6 +1926,10 @@ export interface IEngagementTeaser {
1815
1926
  * Interaction with a UIElement.
1816
1927
  */
1817
1928
  export interface IEngagementUIElement {
1929
+ /**
1930
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1931
+ */
1932
+ catalogVersion: string;
1818
1933
  consents: IConsents;
1819
1934
  device: IDevice;
1820
1935
  engagement: IEngagement;
@@ -1889,6 +2004,10 @@ export interface IEngagementUIElement {
1889
2004
  * Video usage and heartbeats.
1890
2005
  */
1891
2006
  export interface IEngagementVideo {
2007
+ /**
2008
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2009
+ */
2010
+ catalogVersion: string;
1892
2011
  consents: IConsents;
1893
2012
  device: IDevice;
1894
2013
  /**
@@ -1906,7 +2025,7 @@ export interface IEngagementVideo {
1906
2025
  /**
1907
2026
  * Semantic event type (e.g. "start" (first start), "replay", “pause”. "next", "stop" etc.).
1908
2027
  */
1909
- engagementType?: "Start" | "Replay" | "Pause" | "Resume" | "Next" | "Stop" | "Cancel" | "Error" | "Seek" | "Watch" | "Prev";
2028
+ engagementType?: "Start" | "Replay" | "Pause" | "Resume" | "Next" | "Stop" | "Cancel" | "Error" | "Seek" | "Watch" | "Prev" | "Load";
1910
2029
  };
1911
2030
  /**
1912
2031
  * The unique identifier for the event.
@@ -1917,48 +2036,105 @@ export interface IEngagementVideo {
1917
2036
  */
1918
2037
  eventType: "Engagement";
1919
2038
  experiments?: IExperiments;
1920
- metrics?: IMetrics;
1921
- object: {
2039
+ /**
2040
+ * Type of user interaction with the video
2041
+ */
2042
+ interaction?: {
1922
2043
  /**
1923
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
2044
+ * How the video is consumed by the user at any given time
1924
2045
  */
1925
- containerName: string;
2046
+ displayMode: "Normal" | "Sticky" | "Fullscreen" | "Overlay" | "Minimized" | "PictureInPicture" | "Chromecast" | "Airplay" | "Carplay" | "Background" | "Floating";
1926
2047
  /**
1927
- * The context in which the recommendation was made.
2048
+ * True if the video is muted.
1928
2049
  */
1929
- curateContext?: string;
2050
+ isMuted: boolean;
1930
2051
  /**
1931
- * How the content is presented on the page.
2052
+ * The number of times the video has automatically repeated itself.
1932
2053
  */
1933
- displayMode: "Normal" | "Sticky" | "Fullscreen" | "Overlay" | "Minimized" | "PictureInPicture" | "Chromecast" | "Airplay" | "Carplay" | "Background" | "Floating";
2054
+ loopCount?: number;
1934
2055
  /**
1935
- * The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
2056
+ * Indicates how the video started.
1936
2057
  */
1937
- durationMs: number;
2058
+ playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
1938
2059
  /**
1939
- * The size of the player.
2060
+ * The current playback speed.
1940
2061
  */
1941
- elementSize?: "XS" | "S" | "M" | "L" | "XL";
2062
+ playbackSpeed?: number;
1942
2063
  /**
1943
- * True if the video is an ad published through editorial CMS and not Xandr.
2064
+ * The offset of the current playback from the start of the video in milliseconds.
1944
2065
  */
1945
- isAd: boolean;
2066
+ positionMs: number;
1946
2067
  /**
1947
- * True if the video has loop
2068
+ * The playback position in the video where the current play segment started. For the first segment it equals the start position, and after a seek it equals the seek-from position.
1948
2069
  */
1949
- isLoop: boolean;
2070
+ prevPositionMs: number;
1950
2071
  /**
1951
- * True if the video is muted.
2072
+ * The current playback quality.
1952
2073
  */
1953
- isMuted: boolean;
2074
+ quality?: string;
1954
2075
  /**
1955
- * True if video is sponsored.
2076
+ * The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
1956
2077
  */
1957
- isSponsored: boolean;
2078
+ seekFromMs?: number;
1958
2079
  /**
1959
- * The number of times the video has automatically repeated itself.
2080
+ * The playback position (in milliseconds) the user sought to. Only included when engagement.type = "seek"
1960
2081
  */
1961
- loopCount?: number;
2082
+ seekToMs?: number;
2083
+ /**
2084
+ * How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc.
2085
+ */
2086
+ viewTimeMs: number;
2087
+ };
2088
+ metrics?: IMetrics;
2089
+ object: {
2090
+ /**
2091
+ * Numeric value of the video aspect ratio
2092
+ */
2093
+ aspectRatio: number;
2094
+ /**
2095
+ * The editorial category of this video
2096
+ */
2097
+ category: string;
2098
+ /**
2099
+ * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
2100
+ */
2101
+ containerName: string;
2102
+ /**
2103
+ * The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
2104
+ */
2105
+ durationMs: number;
2106
+ /**
2107
+ * The size of the player.
2108
+ */
2109
+ elementSize?: "XS" | "S" | "M" | "L" | "XL";
2110
+ /**
2111
+ * The UI surface or context from which the video playback was initiated, such as the frontpage, an article embed, a stories feed, a carousel, or play-next etc
2112
+ */
2113
+ entryPoint: string;
2114
+ /**
2115
+ * Which episode
2116
+ */
2117
+ episode?: string;
2118
+ /**
2119
+ * Video thumbnail from Stream to use in (Kilkaya) dashboards
2120
+ */
2121
+ imageUrl: string;
2122
+ /**
2123
+ * True if the video is accessible for the user
2124
+ */
2125
+ isAccessible: boolean;
2126
+ /**
2127
+ * True if the video is an ad published through editorial CMS and not Xandr.
2128
+ */
2129
+ isAd: boolean;
2130
+ /**
2131
+ * True if the video has loop
2132
+ */
2133
+ isLoop: boolean;
2134
+ /**
2135
+ * True if video is sponsored.
2136
+ */
2137
+ isSponsored: boolean;
1962
2138
  /**
1963
2139
  * The name of the video.
1964
2140
  */
@@ -1976,13 +2152,13 @@ export interface IEngagementVideo {
1976
2152
  */
1977
2153
  objectType: "Video";
1978
2154
  /**
1979
- * Indicates how the video started.
2155
+ * Indicates how the video is configured to start
1980
2156
  */
1981
- playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
2157
+ playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
1982
2158
  /**
1983
- * The current playback speed.
2159
+ * The type of player exposed to the user
1984
2160
  */
1985
- playbackSpeed?: number;
2161
+ player: "VideoPlayer" | "StoriesPlayer" | "AudioPlayer" | "TtsPlayer";
1986
2162
  /**
1987
2163
  * A unique ID for this player instance.
1988
2164
  */
@@ -1991,38 +2167,23 @@ export interface IEngagementVideo {
1991
2167
  * The ID of the playlist.
1992
2168
  */
1993
2169
  playlistId?: string;
1994
- /**
1995
- * The offset of the current playback from the start of the video in milliseconds.
1996
- */
1997
- positionMs: number;
1998
- /**
1999
- * The playback position in the video where the current play segment started. For the first segment it equals the start position, and after a seek it equals the seek-from position.
2000
- */
2001
- prevPositionMs: number;
2002
- /**
2003
- * The current playback quality.
2004
- */
2005
- quality?: string;
2006
2170
  /**
2007
2171
  * The position of the video in the playlist.
2008
2172
  */
2009
2173
  queuePosition?: number;
2010
2174
  /**
2011
- * The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
2175
+ * Which season
2012
2176
  */
2013
- seekFromMs?: number;
2177
+ season?: string;
2014
2178
  /**
2015
- * The playback position (in milliseconds) the user sought to. Only included when engagement.type = "seek"
2179
+ * Follow accesslevel from Stream (viewer access)
2016
2180
  */
2017
- seekToMs?: number;
2181
+ streamAccessLevel: string;
2018
2182
  /**
2019
2183
  * Reflects the stream type as defined in Stream at the time of playback.
2020
2184
  */
2021
2185
  streamType: string;
2022
- /**
2023
- * How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc.
2024
- */
2025
- userDurationMs: number;
2186
+ tags?: string[];
2026
2187
  /**
2027
2188
  * Type of video. Fetched from content type in Stream.
2028
2189
  */
@@ -2055,6 +2216,10 @@ export interface IEngagementVideo {
2055
2216
  * Events for ads from Xandr.
2056
2217
  */
2057
2218
  export interface IEngagementVideoAd {
2219
+ /**
2220
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2221
+ */
2222
+ catalogVersion: string;
2058
2223
  consents: IConsents;
2059
2224
  device: IDevice;
2060
2225
  /**
@@ -2083,6 +2248,20 @@ export interface IEngagementVideoAd {
2083
2248
  */
2084
2249
  eventType: "Engagement";
2085
2250
  experiments?: IExperiments;
2251
+ /**
2252
+ * Type of user interaction with the video ad
2253
+ *
2254
+ */
2255
+ interaction?: {
2256
+ /**
2257
+ * True if the ad is muted.
2258
+ */
2259
+ isMuted: boolean;
2260
+ /**
2261
+ * Position (in milliseconds) for when the ad is skipped, stopped or completed.
2262
+ */
2263
+ positionMs: number;
2264
+ };
2086
2265
  object: {
2087
2266
  /**
2088
2267
  * Duration of this specific ad in milliseconds. If the duration is unknown or not provided by the ad server, the fallback is -1.
@@ -2116,10 +2295,6 @@ export interface IEngagementVideoAd {
2116
2295
  * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
2117
2296
  */
2118
2297
  containerName: string;
2119
- /**
2120
- * True if the ad is muted.
2121
- */
2122
- isMuted: boolean;
2123
2298
  /**
2124
2299
  * The identifier of the asset the ad belongs to.
2125
2300
  */
@@ -2144,10 +2319,6 @@ export interface IEngagementVideoAd {
2144
2319
  * A unique ID for this player instance.
2145
2320
  */
2146
2321
  playerId: string;
2147
- /**
2148
- * Position for when the ad is skipped, stopped or completed.
2149
- */
2150
- positionMs: number;
2151
2322
  };
2152
2323
  page: {
2153
2324
  content?: IContent;
@@ -2176,6 +2347,10 @@ export interface IEngagementVideoAd {
2176
2347
  * Interaction with a widget component.
2177
2348
  */
2178
2349
  export interface IEngagementWidget {
2350
+ /**
2351
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2352
+ */
2353
+ catalogVersion: string;
2179
2354
  consents: IConsents;
2180
2355
  device: IDevice;
2181
2356
  engagement: IEngagement;
@@ -2217,14 +2392,6 @@ export interface IEngagementWidget {
2217
2392
  * The parent’s primary direction along which components are laid out.
2218
2393
  */
2219
2394
  primaryAxis?: "Horizontal" | "Vertical";
2220
- /**
2221
- * The position of this component along the primary axis.
2222
- */
2223
- primaryPosition: number;
2224
- /**
2225
- * The position of this component along the secondary axis.
2226
- */
2227
- secondaryPosition: number;
2228
2395
  };
2229
2396
  page: {
2230
2397
  content?: IContent;
@@ -2236,6 +2403,7 @@ export interface IEngagementWidget {
2236
2403
  referrer?: IPageRef;
2237
2404
  utm?: IUtmTags;
2238
2405
  };
2406
+ placement: IPlacement;
2239
2407
  provider: IProvider;
2240
2408
  /**
2241
2409
  * The schema of the event.
@@ -2250,60 +2418,14 @@ export interface IEngagementWidget {
2250
2418
  tracker: ITracker;
2251
2419
  user?: IUser;
2252
2420
  }
2253
- /**
2254
- * A space where an advertisement can be served.
2255
- */
2256
- export interface IImpressionAdSlot {
2257
- consents: IConsents;
2258
- device: IDevice;
2259
- /**
2260
- * The unique identifier for the event.
2261
- */
2262
- eventId: string;
2263
- /**
2264
- * The type of the event.
2265
- */
2266
- eventType: "Impression";
2267
- experiments?: IExperiments;
2268
- object: {
2269
- availableFormats: ("Preroll" | "Bumper" | "Board" | "Netboard" | "Wallpaper" | "Fullscreen" | "BannerXL" | "Broadband" | "Skyscraper" | "Horseshoe" | "PauseBanner" | "Snapchat" | "FoodChannel")[];
2270
- /**
2271
- * The type of the object.
2272
- */
2273
- objectType: "AdSlot";
2274
- /**
2275
- * The identifier of the player.
2276
- */
2277
- playerId: string;
2278
- /**
2279
- * The identifier of the ad request.
2280
- */
2281
- queuePointId: string;
2282
- };
2283
- page: {
2284
- content?: IContent;
2285
- info: IPageRef;
2286
- /**
2287
- * The pageviewID.
2288
- */
2289
- pageviewId: string;
2290
- referrer?: IPageRef;
2291
- utm?: IUtmTags;
2292
- };
2293
- provider: IProvider;
2294
- /**
2295
- * URL to the JSON schema for this event.
2296
- */
2297
- schema: string;
2298
- session: ISession;
2299
- time: ITime;
2300
- tracker: ITracker;
2301
- user?: IUser;
2302
- }
2303
2421
  /**
2304
2422
  * A form field to collect declared data.
2305
2423
  */
2306
2424
  export interface IImpressionForm {
2425
+ /**
2426
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2427
+ */
2428
+ catalogVersion: string;
2307
2429
  consents: IConsents;
2308
2430
  device: IDevice;
2309
2431
  /**
@@ -2391,6 +2513,10 @@ export interface IImpressionForm {
2391
2513
  * An event to track when a user views specific health-related content ui elements such as popups, modals, tooltips, educational ui content, or interactive health components within a page or app. Only used by the Vektklubb/Wellobe projects.
2392
2514
  */
2393
2515
  export interface IImpressionHealthUIElement {
2516
+ /**
2517
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2518
+ */
2519
+ catalogVersion: string;
2394
2520
  consents: IConsents;
2395
2521
  device: IDevice;
2396
2522
  /**
@@ -2492,6 +2618,10 @@ export interface IImpressionHealthUIElement {
2492
2618
  * The user saw a push notification on mobile. (push received, Android only)
2493
2619
  */
2494
2620
  export interface IImpressionNotification {
2621
+ /**
2622
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2623
+ */
2624
+ catalogVersion: string;
2495
2625
  consents: IConsents;
2496
2626
  device: IDevice;
2497
2627
  /**
@@ -2557,6 +2687,10 @@ export interface IImpressionNotification {
2557
2687
  * A widget asking the user to buy a subscription, often with some discount or other perks.
2558
2688
  */
2559
2689
  export interface IImpressionOffer {
2690
+ /**
2691
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2692
+ */
2693
+ catalogVersion: string;
2560
2694
  consents: IConsents;
2561
2695
  device: IDevice;
2562
2696
  /**
@@ -2609,7 +2743,7 @@ export interface IImpressionOffer {
2609
2743
  /**
2610
2744
  * The variant/layout of the offer.
2611
2745
  */
2612
- offerType: "Login" | "Meter" | "Paid";
2746
+ offerType?: "Login" | "Meter" | "Paid";
2613
2747
  };
2614
2748
  page: {
2615
2749
  content?: IContent;
@@ -2639,6 +2773,10 @@ export interface IImpressionOffer {
2639
2773
  * A component used for video and audio/TTS playbacks with metadata about the player.
2640
2774
  */
2641
2775
  export interface IImpressionPlayer {
2776
+ /**
2777
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2778
+ */
2779
+ catalogVersion: string;
2642
2780
  consents: IConsents;
2643
2781
  device: IDevice;
2644
2782
  /**
@@ -2665,11 +2803,11 @@ export interface IImpressionPlayer {
2665
2803
  */
2666
2804
  foldPosition: "Above" | "Below" | "Unknown";
2667
2805
  /**
2668
- * The unique ID of the embedded asset ready to play in the player.
2806
+ * The unique ID of the embedded asset (not ads from Xandr) ready to play in the player.
2669
2807
  */
2670
2808
  mediaAssetId: string;
2671
2809
  /**
2672
- * The name of the embedded asset. Fallback is -1 when name is not available.
2810
+ * The name of the embedded asset (not ads from Xandr). Fallback is -1 when name is not available.
2673
2811
  */
2674
2812
  mediaAssetName: string;
2675
2813
  /**
@@ -2683,19 +2821,15 @@ export interface IImpressionPlayer {
2683
2821
  /**
2684
2822
  * The type of player exposed to the user.
2685
2823
  */
2824
+ player: "VideoPlayer" | "StoriesPlayer" | "AudioPlayer" | "TtsPlayer";
2825
+ /**
2826
+ * The type of player engine exposed to the user.
2827
+ */
2686
2828
  playerEngine: "WebPlayer" | "AppPlayer";
2687
2829
  /**
2688
2830
  * A unique ID for this player instance.
2689
2831
  */
2690
2832
  playerId: string;
2691
- /**
2692
- * The type of player exposed to the user.
2693
- */
2694
- playerType: "VideoPlayer" | "StoriesPlayer" | "AudioPlayer" | "TtsPlayer";
2695
- /**
2696
- * The vertical position of the container within its context.
2697
- */
2698
- primaryPosition?: number;
2699
2833
  };
2700
2834
  page: {
2701
2835
  content?: IContent;
@@ -2707,6 +2841,7 @@ export interface IImpressionPlayer {
2707
2841
  referrer?: IPageRef;
2708
2842
  utm?: IUtmTags;
2709
2843
  };
2844
+ placement: IPlacement;
2710
2845
  provider: IProvider;
2711
2846
  /**
2712
2847
  * URL to the JSON schema for this event.
@@ -2721,6 +2856,10 @@ export interface IImpressionPlayer {
2721
2856
  * A widget promoting content.
2722
2857
  */
2723
2858
  export interface IImpressionTeaser {
2859
+ /**
2860
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2861
+ */
2862
+ catalogVersion: string;
2724
2863
  consents: IConsents;
2725
2864
  device: IDevice;
2726
2865
  /**
@@ -2770,19 +2909,10 @@ export interface IImpressionTeaser {
2770
2909
  * The type of the object.
2771
2910
  */
2772
2911
  objectType: "Teaser";
2773
- placement?: IPlacement;
2774
2912
  /**
2775
2913
  * The parent’s primary direction along which components are laid out.
2776
2914
  */
2777
2915
  primaryAxis: "Horizontal" | "Vertical";
2778
- /**
2779
- * The position of this component along the primary axis.
2780
- */
2781
- primaryPosition: number;
2782
- /**
2783
- * The position of this component along the secondary axis.
2784
- */
2785
- secondaryPosition: number;
2786
2916
  /**
2787
2917
  * The title of the teaser.
2788
2918
  */
@@ -2798,6 +2928,7 @@ export interface IImpressionTeaser {
2798
2928
  referrer?: IPageRef;
2799
2929
  utm?: IUtmTags;
2800
2930
  };
2931
+ placement: IPlacement;
2801
2932
  provider: IProvider;
2802
2933
  /**
2803
2934
  * URL to the JSON schema for this event.
@@ -2816,6 +2947,10 @@ export interface IImpressionTeaser {
2816
2947
  * An interactive element within a component or page, e.g., a button, link, or form field.
2817
2948
  */
2818
2949
  export interface IImpressionUIElement {
2950
+ /**
2951
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2952
+ */
2953
+ catalogVersion: string;
2819
2954
  consents: IConsents;
2820
2955
  device: IDevice;
2821
2956
  /**
@@ -2897,6 +3032,10 @@ export interface IImpressionUIElement {
2897
3032
  * A reusable component on a page.
2898
3033
  */
2899
3034
  export interface IImpressionWidget {
3035
+ /**
3036
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3037
+ */
3038
+ catalogVersion: string;
2900
3039
  consents: IConsents;
2901
3040
  device: IDevice;
2902
3041
  /**
@@ -2942,14 +3081,6 @@ export interface IImpressionWidget {
2942
3081
  * The parent’s primary direction along which components are laid out.
2943
3082
  */
2944
3083
  primaryAxis: "Horizontal" | "Vertical";
2945
- /**
2946
- * The position of this component along the primary axis.
2947
- */
2948
- primaryPosition: number;
2949
- /**
2950
- * The position of this component along the secondary axis.
2951
- */
2952
- secondaryPosition: number;
2953
3084
  };
2954
3085
  page: {
2955
3086
  content?: IContent;
@@ -2961,6 +3092,7 @@ export interface IImpressionWidget {
2961
3092
  referrer?: IPageRef;
2962
3093
  utm?: IUtmTags;
2963
3094
  };
3095
+ placement: IPlacement;
2964
3096
  provider: IProvider;
2965
3097
  /**
2966
3098
  * URL to the JSON schema for this event.
@@ -2976,14 +3108,36 @@ export interface IImpressionWidget {
2976
3108
  user?: IUser;
2977
3109
  }
2978
3110
  /**
2979
- * This file was automatically generated by json-schema-to-typescript.
2980
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
2981
- * and run json-schema-to-typescript to regenerate this file.
2982
- */
2983
- /**
2984
- * Internal Pulse event to calculate pipeline latency
3111
+ * Backend event from the dynamic paywall decision system, which decides to open or block content for non-subscribers.
2985
3112
  */
2986
- export interface IInternalProbe {
3113
+ export interface IInternalAccessDecision {
3114
+ /**
3115
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3116
+ */
3117
+ catalogVersion: string;
3118
+ consents: IConsents;
3119
+ device: {
3120
+ /**
3121
+ * The client used to render the site.
3122
+ */
3123
+ clientType?: "Chrome" | "Safari" | "Edge" | "Firefox" | "Samsung" | "NativeScreen" | "Webview" | "Other";
3124
+ /**
3125
+ * The device’s hardware category.
3126
+ */
3127
+ deviceType?: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
3128
+ /**
3129
+ * The environment ID.
3130
+ */
3131
+ environmentId: string;
3132
+ /**
3133
+ * The device’s operating system.
3134
+ */
3135
+ operatingSystem?: "Windows" | "Mac" | "Linux" | "Other";
3136
+ /**
3137
+ * The raw userAgent string, if it exists.
3138
+ */
3139
+ userAgent: string;
3140
+ };
2987
3141
  /**
2988
3142
  * The unique identifier for the event.
2989
3143
  */
@@ -2992,19 +3146,152 @@ export interface IInternalProbe {
2992
3146
  * The type of the event.
2993
3147
  */
2994
3148
  eventType: "Internal";
3149
+ experiments?: IExperiments;
2995
3150
  object: {
3151
+ arm: {
3152
+ /**
3153
+ * Unique ID of the experimental arm the user is assigned to.
3154
+ */
3155
+ armId: string;
3156
+ /**
3157
+ * By which mechanism the user was assigned to the arm.
3158
+ */
3159
+ assignmentSource: "Hash" | "Cache";
3160
+ /**
3161
+ * Complete setup of all arms at time of decision.
3162
+ */
3163
+ config: {
3164
+ armId: string;
3165
+ version: string;
3166
+ weight: number;
3167
+ }[];
3168
+ /**
3169
+ * Unique ID of the arm configuration.
3170
+ */
3171
+ configId: string;
3172
+ /**
3173
+ * End time of the arm assignment in UTC.
3174
+ */
3175
+ endAt: string;
3176
+ /**
3177
+ * Start time of the arm assignment in UTC.
3178
+ */
3179
+ startAt: string;
3180
+ };
3181
+ /**
3182
+ * When the decision system created the decision in UTC.
3183
+ */
3184
+ decidedAt: string;
3185
+ /**
3186
+ * The decision made.
3187
+ */
3188
+ decision: "Open" | "Close" | "Login";
3189
+ /**
3190
+ * Unique ID of the decision.
3191
+ */
3192
+ decisionId: string;
3193
+ /**
3194
+ * Versioning of decision models.
3195
+ */
3196
+ decisionPolicy: string;
3197
+ /**
3198
+ * Categorization of how the decision was made.
3199
+ */
3200
+ decisionType: "RCT" | "Policy" | "Replay" | "Fallback";
3201
+ episode: {
3202
+ /**
3203
+ * End time of the episode in UTC.
3204
+ */
3205
+ endAt: string;
3206
+ /**
3207
+ * Unique ID of the episode.
3208
+ */
3209
+ episodeId: string;
3210
+ /**
3211
+ * Start time of the episode in UTC.
3212
+ */
3213
+ startAt: string;
3214
+ };
2996
3215
  /**
2997
3216
  * The type of the object.
2998
3217
  */
2999
- objectType: "Probe";
3218
+ objectType: "AccessDecision";
3219
+ /**
3220
+ * ID from SalesPoster service.
3221
+ */
3222
+ requestId: string;
3223
+ };
3224
+ page?: {
3225
+ referrer?: IPageRef;
3000
3226
  };
3001
3227
  provider: IProvider;
3002
3228
  /**
3003
3229
  * URL to the JSON schema for this event.
3004
3230
  */
3005
3231
  schema: string;
3006
- /**
3007
- * Numerical identifier of the Probe instance emitting the events.
3232
+ target: {
3233
+ content: {
3234
+ /**
3235
+ * The access restriction placed on the content.
3236
+ */
3237
+ accessLevel?: "Free" | "Login" | "Meter" | "Paid" | "Dynamic";
3238
+ /**
3239
+ * The format that this content is presented in.
3240
+ */
3241
+ category?: "Article" | "Audio" | "Video" | "Weather" | "Title" | "Other";
3242
+ /**
3243
+ * The identifier of the content.
3244
+ */
3245
+ contentId: string;
3246
+ /**
3247
+ * The subtype of the content.
3248
+ */
3249
+ contentType?: "Article" | "LiveArticle" | "SpecialArticle" | "Podcast" | "Episode" | "Audiobook" | "AudiobookSample" | "Movie" | "Series" | "Story";
3250
+ /**
3251
+ * The id of the provider that requested the access decision and where the result will be shown (svdse). Note: Not the same as .provider.providerId.
3252
+ */
3253
+ providerId: string;
3254
+ tags: string[];
3255
+ };
3256
+ };
3257
+ time: ITime;
3258
+ tracker: ITracker;
3259
+ user?: IUser;
3260
+ }
3261
+ /**
3262
+ * This file was automatically generated by json-schema-to-typescript.
3263
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
3264
+ * and run json-schema-to-typescript to regenerate this file.
3265
+ */
3266
+ /**
3267
+ * Internal Pulse event to calculate pipeline latency
3268
+ */
3269
+ export interface IInternalProbe {
3270
+ /**
3271
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3272
+ */
3273
+ catalogVersion: string;
3274
+ /**
3275
+ * The unique identifier for the event.
3276
+ */
3277
+ eventId: string;
3278
+ /**
3279
+ * The type of the event.
3280
+ */
3281
+ eventType: "Internal";
3282
+ object: {
3283
+ /**
3284
+ * The type of the object.
3285
+ */
3286
+ objectType: "Probe";
3287
+ };
3288
+ provider: IProvider;
3289
+ /**
3290
+ * URL to the JSON schema for this event.
3291
+ */
3292
+ schema: string;
3293
+ /**
3294
+ * Numerical identifier of the Probe instance emitting the events.
3008
3295
  */
3009
3296
  senderId: number;
3010
3297
  /**
@@ -3013,6 +3300,45 @@ export interface IInternalProbe {
3013
3300
  sequenceNumber: number;
3014
3301
  time: ITime;
3015
3302
  }
3303
+ /**
3304
+ * Tracking when a mobile app is launched.
3305
+ */
3306
+ export interface ILaunchApp {
3307
+ /**
3308
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3309
+ */
3310
+ catalogVersion: string;
3311
+ consents: IConsents;
3312
+ device: IDevice;
3313
+ /**
3314
+ * The unique identifier for the event.
3315
+ */
3316
+ eventId: string;
3317
+ /**
3318
+ * The type of the event.
3319
+ */
3320
+ eventType: "Launch";
3321
+ experiments?: IExperiments;
3322
+ metrics?: IMetrics;
3323
+ object: {
3324
+ custom: {
3325
+ [k: string]: unknown;
3326
+ };
3327
+ /**
3328
+ * The type of the object.
3329
+ */
3330
+ objectType: "App";
3331
+ };
3332
+ provider: IProvider;
3333
+ /**
3334
+ * URL to the JSON schema for this event.
3335
+ */
3336
+ schema: string;
3337
+ session: ISession;
3338
+ time: ITime;
3339
+ tracker: ITracker;
3340
+ user?: IUser;
3341
+ }
3016
3342
  /* eslint-disable */
3017
3343
  /**
3018
3344
  * This file was automatically generated by json-schema-to-typescript.
@@ -3060,6 +3386,10 @@ export interface ILeave {
3060
3386
  * A user leaving an article page.
3061
3387
  */
3062
3388
  export interface ILeaveArticle {
3389
+ /**
3390
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3391
+ */
3392
+ catalogVersion: string;
3063
3393
  consents: IConsents;
3064
3394
  device: IDevice;
3065
3395
  /**
@@ -3073,15 +3403,10 @@ export interface ILeaveArticle {
3073
3403
  experiments?: IExperiments;
3074
3404
  leave: ILeave;
3075
3405
  object: {
3076
- authors: string[];
3077
3406
  /**
3078
3407
  * The editorial category of this article.
3079
3408
  */
3080
3409
  category: string;
3081
- /**
3082
- * The hotness value that was set in the CMS.
3083
- */
3084
- hotness: number;
3085
3410
  /**
3086
3411
  * True if scrolling up/down transitions to the next or previous article.
3087
3412
  */
@@ -3090,10 +3415,6 @@ export interface ILeaveArticle {
3090
3415
  * The publication date of this version of the article.
3091
3416
  */
3092
3417
  lastUpdatedDate: string;
3093
- /**
3094
- * The lifetime value that was set in the CMS.
3095
- */
3096
- lifetime: number;
3097
3418
  /**
3098
3419
  * The newsroom that published the article.
3099
3420
  */
@@ -3114,10 +3435,6 @@ export interface ILeaveArticle {
3114
3435
  * The publication date of the article.
3115
3436
  */
3116
3437
  publicationDate: string;
3117
- /**
3118
- * The name of the company that sponsored the article. Omitted if the article was not sponsored.
3119
- */
3120
- sponsor?: string;
3121
3438
  /**
3122
3439
  * The title of the page.
3123
3440
  */
@@ -3130,10 +3447,6 @@ export interface ILeaveArticle {
3130
3447
  * The version counter of the article.
3131
3448
  */
3132
3449
  versionCounter: number;
3133
- /**
3134
- * The number of words in this version of the article.
3135
- */
3136
- wordCount: number;
3137
3450
  };
3138
3451
  page: {
3139
3452
  content: IContent;
@@ -3191,15 +3504,14 @@ export interface ILeaveAudio {
3191
3504
  */
3192
3505
  playlistPositionPercentage?: number;
3193
3506
  }
3194
- /**
3195
- * This file was automatically generated by json-schema-to-typescript.
3196
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
3197
- * and run json-schema-to-typescript to regenerate this file.
3198
- */
3199
3507
  /**
3200
3508
  * A user leaving an audio page.
3201
3509
  */
3202
3510
  export interface ILeaveAudioPage {
3511
+ /**
3512
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3513
+ */
3514
+ catalogVersion: string;
3203
3515
  consents: IConsents;
3204
3516
  device: IDevice;
3205
3517
  /**
@@ -3210,8 +3522,10 @@ export interface ILeaveAudioPage {
3210
3522
  * The type of the event.
3211
3523
  */
3212
3524
  eventType: "Leave";
3525
+ experiments?: IExperiments;
3213
3526
  leave: ILeave;
3214
3527
  leaveAudio: ILeaveAudio;
3528
+ metrics?: IMetrics;
3215
3529
  object: {
3216
3530
  /**
3217
3531
  * The location of the page in the brand’s page hierarchy.
@@ -3226,10 +3540,6 @@ export interface ILeaveAudioPage {
3226
3540
  */
3227
3541
  objectSdrn: string;
3228
3542
  objectType: "AudioPage";
3229
- /**
3230
- * The ID of the playlist.
3231
- */
3232
- playlistId?: string;
3233
3543
  /**
3234
3544
  * The title of the page.
3235
3545
  */
@@ -3263,6 +3573,10 @@ export interface ILeaveAudioPage {
3263
3573
  * A user leaves an error page
3264
3574
  */
3265
3575
  export interface ILeaveError {
3576
+ /**
3577
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3578
+ */
3579
+ catalogVersion: string;
3266
3580
  consents: IConsents;
3267
3581
  device: IDevice;
3268
3582
  /**
@@ -3332,6 +3646,10 @@ export interface ILeaveError {
3332
3646
  * A user leaves the frontpage.
3333
3647
  */
3334
3648
  export interface ILeaveFrontpage {
3649
+ /**
3650
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3651
+ */
3652
+ catalogVersion: string;
3335
3653
  consents: IConsents;
3336
3654
  device: IDevice;
3337
3655
  /**
@@ -3409,6 +3727,10 @@ export interface ILeaveFrontpage {
3409
3727
  * A user leaves a landingpage.
3410
3728
  */
3411
3729
  export interface ILeaveLandingpage {
3730
+ /**
3731
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3732
+ */
3733
+ catalogVersion: string;
3412
3734
  consents: IConsents;
3413
3735
  device: IDevice;
3414
3736
  /**
@@ -3474,6 +3796,10 @@ export interface ILeaveLandingpage {
3474
3796
  * A user leaving a listing page.
3475
3797
  */
3476
3798
  export interface ILeaveListing {
3799
+ /**
3800
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3801
+ */
3802
+ catalogVersion: string;
3477
3803
  consents: IConsents;
3478
3804
  device: IDevice;
3479
3805
  /**
@@ -3559,6 +3885,10 @@ export interface ILeaveListing {
3559
3885
  * A user leaving a page preventing them from accessing a premium article.
3560
3886
  */
3561
3887
  export interface ILeaveLockedArticle {
3888
+ /**
3889
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3890
+ */
3891
+ catalogVersion: string;
3562
3892
  consents: IConsents;
3563
3893
  device: IDevice;
3564
3894
  /**
@@ -3572,15 +3902,10 @@ export interface ILeaveLockedArticle {
3572
3902
  experiments?: IExperiments;
3573
3903
  leave: ILeave;
3574
3904
  object: {
3575
- authors: string[];
3576
3905
  /**
3577
3906
  * The location of the page in the brand’s page hierarchy.
3578
3907
  */
3579
3908
  category: string;
3580
- /**
3581
- * The hotness value that was set in the CMS.
3582
- */
3583
- hotness: number;
3584
3909
  /**
3585
3910
  * True if scrolling up/down transitions to the next or previous article.
3586
3911
  */
@@ -3589,10 +3914,6 @@ export interface ILeaveLockedArticle {
3589
3914
  * The publication date of this version of the article.
3590
3915
  */
3591
3916
  lastUpdatedDate: string;
3592
- /**
3593
- * The lifetime value that was set in the CMS.
3594
- */
3595
- lifetime: number;
3596
3917
  /**
3597
3918
  * The newsroom that published the article.
3598
3919
  */
@@ -3609,6 +3930,10 @@ export interface ILeaveLockedArticle {
3609
3930
  * The type of this page.
3610
3931
  */
3611
3932
  objectType: "LockedArticle";
3933
+ /**
3934
+ * Indicator if the offer was visible at pageload (“above”) or if the user had to scroll to it (“below”).
3935
+ */
3936
+ offerFoldPosition: "Above" | "Below" | "Unknown";
3612
3937
  /**
3613
3938
  * The reason the user saw this paywall instead of the content.
3614
3939
  */
@@ -3617,10 +3942,6 @@ export interface ILeaveLockedArticle {
3617
3942
  * The publication date of the article.
3618
3943
  */
3619
3944
  publicationDate: string;
3620
- /**
3621
- * The name of the company that sponsored the article. Omitted if the article was not sponsored.
3622
- */
3623
- sponsor?: string;
3624
3945
  /**
3625
3946
  * The title of the page.
3626
3947
  */
@@ -3633,10 +3954,6 @@ export interface ILeaveLockedArticle {
3633
3954
  * The version counter of the article.
3634
3955
  */
3635
3956
  versionCounter: number;
3636
- /**
3637
- * The number of words in this version of the article.
3638
- */
3639
- wordCount: number;
3640
3957
  };
3641
3958
  page: {
3642
3959
  content: IContent;
@@ -3665,106 +3982,53 @@ export interface ILeaveLockedArticle {
3665
3982
  /**
3666
3983
  * A user leaving a page preventing them from accessing premium audio content.
3667
3984
  */
3668
- export interface ILeaveLockedAudio {
3985
+ export interface ILeaveLockedAudioPage {
3986
+ /**
3987
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3988
+ */
3989
+ catalogVersion: string;
3669
3990
  consents: IConsents;
3670
3991
  device: IDevice;
3671
3992
  /**
3672
- * Event ID
3993
+ * The unique identifier for the event.
3673
3994
  */
3674
3995
  eventId: string;
3675
3996
  /**
3676
- * The type of event.
3997
+ * The type of the event.
3677
3998
  */
3678
3999
  eventType: "Leave";
3679
4000
  experiments?: IExperiments;
3680
4001
  leave: ILeave;
4002
+ metrics?: IMetrics;
3681
4003
  object: {
3682
4004
  /**
3683
- * The editorial category of this audio.
4005
+ * The location of the page in the brand’s page hierarchy.
3684
4006
  */
3685
4007
  category: string;
3686
4008
  /**
3687
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
3688
- */
3689
- containerName: string;
3690
- /**
3691
- * The context in which the recommendation was made.
3692
- */
3693
- curateContext?: string;
3694
- /**
3695
- * The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
3696
- */
3697
- durationMs: number;
3698
- /**
3699
- * The UI surface or context from which the audio playback was initiated, such as the frontpage, an article embed, podcast-page or play-next etc.
3700
- */
3701
- entryPoint: string;
3702
- /**
3703
- * Which episode.
3704
- */
3705
- episode?: string;
3706
- /**
3707
- * Audio thumbnail from Stream to use in (Kilkaya) dashboards.
3708
- */
3709
- imageUrl: string;
3710
- /**
3711
- * True if the audio is accessible to the user.
4009
+ * True if content is accessible to the user.
3712
4010
  */
3713
4011
  isAccessible: boolean;
3714
4012
  /**
3715
- * The name of the audio.
3716
- */
3717
- name: string;
3718
- /**
3719
- * The unique ID of this audio.
4013
+ * The unique ID of this page.
3720
4014
  */
3721
4015
  objectId: string;
3722
4016
  /**
3723
- * The unique SDRN of this audio.
4017
+ * The unique SDRN of this page.
3724
4018
  */
3725
4019
  objectSdrn: string;
3726
- objectType: "LockedAudio";
3727
- /**
3728
- * The reason the user saw this paywall instead of the content.
3729
- */
3730
- paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
3731
- /**
3732
- * Indicates how the audio is configured to start.
3733
- */
3734
- playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
3735
- /**
3736
- * A unique ID for this player instance.
3737
- */
3738
- playerId: string;
3739
- /**
3740
- * The ID of the playlist.
3741
- */
3742
- playlistId?: string;
3743
4020
  /**
3744
- * The unique ID for this audio when published at PodMe.
3745
- */
3746
- podmeId?: string;
3747
- /**
3748
- * The position of the audio in the playlist.
3749
- */
3750
- queuePosition?: number;
3751
- /**
3752
- * Which season.
3753
- */
3754
- season?: string;
3755
- /**
3756
- * Follow accesslevel from Stream (viewer access).
4021
+ * The type of the object.
3757
4022
  */
3758
- streamAccessLevel: string;
4023
+ objectType: "LockedAudioPage";
3759
4024
  /**
3760
- * Reflects the stream type as defined in Stream at the time of playback.
4025
+ * The reason the user saw this paywall instead of the content.
3761
4026
  */
3762
- streamType: string;
3763
- tags?: string[];
4027
+ paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
3764
4028
  /**
3765
- * Type of audio. Fetched from content type in Stream.
4029
+ * The title of the page.
3766
4030
  */
3767
- variant: string;
4031
+ title: string;
3768
4032
  };
3769
4033
  page: {
3770
4034
  content?: IContent;
@@ -3782,7 +4046,7 @@ export interface ILeaveLockedAudio {
3782
4046
  };
3783
4047
  provider: IProvider;
3784
4048
  /**
3785
- * The schema of the event.
4049
+ * URL to the JSON schema for this event.
3786
4050
  */
3787
4051
  schema: string;
3788
4052
  session: ISession;
@@ -3791,14 +4055,13 @@ export interface ILeaveLockedAudio {
3791
4055
  user?: IUser;
3792
4056
  }
3793
4057
  /**
3794
- * This file was automatically generated by json-schema-to-typescript.
3795
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
3796
- * and run json-schema-to-typescript to regenerate this file.
3797
- */
3798
- /**
3799
- * A user leaving a page preventing them from accessing premium audio content.
4058
+ * A user leaving a page preventing them from accessing premium video content.
3800
4059
  */
3801
- export interface ILeaveLockedAudioPage {
4060
+ export interface ILeaveLockedVideoPage {
4061
+ /**
4062
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4063
+ */
4064
+ catalogVersion: string;
3802
4065
  consents: IConsents;
3803
4066
  device: IDevice;
3804
4067
  /**
@@ -3809,14 +4072,16 @@ export interface ILeaveLockedAudioPage {
3809
4072
  * The type of the event.
3810
4073
  */
3811
4074
  eventType: "Leave";
4075
+ experiments?: IExperiments;
3812
4076
  leave: ILeave;
4077
+ metrics?: IMetrics;
3813
4078
  object: {
3814
4079
  /**
3815
4080
  * The location of the page in the brand’s page hierarchy.
3816
4081
  */
3817
4082
  category: string;
3818
4083
  /**
3819
- * True if content is accessible to the user.
4084
+ * True if the content is accessible to the user.
3820
4085
  */
3821
4086
  isAccessible: boolean;
3822
4087
  /**
@@ -3828,9 +4093,9 @@ export interface ILeaveLockedAudioPage {
3828
4093
  */
3829
4094
  objectSdrn: string;
3830
4095
  /**
3831
- * The type of the object.
4096
+ * The type of the page.
3832
4097
  */
3833
- objectType: "LockedAudioPage";
4098
+ objectType: "LockedVideoPage";
3834
4099
  /**
3835
4100
  * The reason the user saw this paywall instead of the content.
3836
4101
  */
@@ -3865,9 +4130,13 @@ export interface ILeaveLockedAudioPage {
3865
4130
  user?: IUser;
3866
4131
  }
3867
4132
  /**
3868
- * A user leaving a page preventing them from accessing premium video content.
4133
+ * An event tracking the user exiting a generic page.
3869
4134
  */
3870
- export interface ILeaveLockedVideo {
4135
+ export interface ILeavePage {
4136
+ /**
4137
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4138
+ */
4139
+ catalogVersion: string;
3871
4140
  consents: IConsents;
3872
4141
  device: IDevice;
3873
4142
  /**
@@ -3882,230 +4151,23 @@ export interface ILeaveLockedVideo {
3882
4151
  leave: ILeave;
3883
4152
  object: {
3884
4153
  /**
3885
- * Numeric value of the video aspect ratio.
4154
+ * The location of the page in the brand’s page hierarchy.
3886
4155
  */
3887
- aspectRatio: number;
4156
+ category?: string;
4157
+ objectId: string;
4158
+ objectSdrn: string;
3888
4159
  /**
3889
- * The editorial category of this video.
4160
+ * The type of this page.
3890
4161
  */
3891
- category: string;
4162
+ objectType: "Page";
4163
+ tags?: string[];
3892
4164
  /**
3893
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
4165
+ * The title of the page.
3894
4166
  */
3895
- containerName: string;
3896
- /**
3897
- * The context in which the recommendation was made.
3898
- */
3899
- curateContext?: string;
3900
- /**
3901
- * The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
3902
- */
3903
- durationMs: number;
3904
- /**
3905
- * The UI surface or context from which the video playback was initiated, such as the frontpage, an article embed, a stories feed, a carousel, or play-next etc.
3906
- */
3907
- entryPoint: string;
3908
- /**
3909
- * Which episode.
3910
- */
3911
- episode?: string;
3912
- /**
3913
- * Video thumbnail from Stream to use in (Kilkaya) dashboards.
3914
- */
3915
- imageUrl: string;
3916
- /**
3917
- * True if the content is accessible to the user.
3918
- */
3919
- isAccessible: boolean;
3920
- /**
3921
- * The name of the video.
3922
- */
3923
- name: string;
3924
- /**
3925
- * The unique ID of this video.
3926
- */
3927
- objectId: string;
3928
- /**
3929
- * The unique SDRN for this video.
3930
- */
3931
- objectSdrn: string;
3932
- /**
3933
- * The type of the object.
3934
- */
3935
- objectType: "LockedVideo";
3936
- /**
3937
- * The reason the user saw this paywall instead of the content.
3938
- */
3939
- paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
3940
- /**
3941
- * Indicates how the video is configured to start.
3942
- */
3943
- playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
3944
- /**
3945
- * A unique ID for this player instance.
3946
- */
3947
- playerId: string;
3948
- /**
3949
- * The ID of the playlist.
3950
- */
3951
- playlistId?: string;
3952
- /**
3953
- * The position of the video in the playlist.
3954
- */
3955
- queuePosition?: number;
3956
- /**
3957
- * Which season.
3958
- */
3959
- season?: string;
3960
- /**
3961
- * Follow accesslevel from Stream (viewer access).
3962
- */
3963
- streamAccessLevel: string;
3964
- /**
3965
- * Reflects the stream type as defined in Stream at the time of playback.
3966
- */
3967
- streamType: string;
3968
- /**
3969
- * Tags from Stream.
3970
- */
3971
- tags?: string[];
3972
- /**
3973
- * Type of video. Fetched from content type in Stream.
3974
- */
3975
- variant: string;
3976
- };
3977
- page: {
3978
- content?: IContent;
3979
- info: IPageRef;
3980
- /**
3981
- * The browser navigation that got the user to the current page.
3982
- */
3983
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
3984
- /**
3985
- * The pageviewID.
3986
- */
3987
- pageviewId: string;
3988
- referrer?: IPageRef;
3989
- utm?: IUtmTags;
3990
- };
3991
- provider: IProvider;
3992
- /**
3993
- * The schema of the event.
3994
- */
3995
- schema: string;
3996
- session: ISession;
3997
- time: ITime;
3998
- tracker: ITracker;
3999
- user?: IUser;
4000
- }
4001
- /**
4002
- * This file was automatically generated by json-schema-to-typescript.
4003
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4004
- * and run json-schema-to-typescript to regenerate this file.
4005
- */
4006
- /**
4007
- * A user leaving a page preventing them from accessing premium video content.
4008
- */
4009
- export interface ILeaveLockedVideoPage {
4010
- consents: IConsents;
4011
- device: IDevice;
4012
- /**
4013
- * The unique identifier for the event.
4014
- */
4015
- eventId: string;
4016
- /**
4017
- * The type of the event.
4018
- */
4019
- eventType: "Leave";
4020
- leave: ILeave;
4021
- object: {
4022
- /**
4023
- * The location of the page in the brand’s page hierarchy.
4024
- */
4025
- category: string;
4026
- /**
4027
- * True if the content is accessible to the user.
4028
- */
4029
- isAccessible: boolean;
4030
- /**
4031
- * The unique ID of this page.
4032
- */
4033
- objectId: string;
4034
- /**
4035
- * The unique SDRN of this page.
4036
- */
4037
- objectSdrn: string;
4038
- /**
4039
- * The type of the page.
4040
- */
4041
- objectType: "LockedVideoPage";
4042
- /**
4043
- * The reason the user saw this paywall instead of the content.
4044
- */
4045
- paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
4046
- /**
4047
- * The title of the page.
4048
- */
4049
- title: string;
4050
- };
4051
- page: {
4052
- content?: IContent;
4053
- info: IPageRef;
4054
- /**
4055
- * The browser navigation that got the user to the current page.
4056
- */
4057
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4058
- /**
4059
- * The pageviewID.
4060
- */
4061
- pageviewId: string;
4062
- referrer?: IPageRef;
4063
- utm?: IUtmTags;
4064
- };
4065
- provider: IProvider;
4066
- /**
4067
- * URL to the JSON schema for this event.
4068
- */
4069
- schema: string;
4070
- session: ISession;
4071
- time: ITime;
4072
- tracker: ITracker;
4073
- user?: IUser;
4074
- }
4075
- /**
4076
- * An event tracking the user exiting a generic page.
4077
- */
4078
- export interface ILeavePage {
4079
- consents: IConsents;
4080
- device: IDevice;
4081
- /**
4082
- * Event ID
4083
- */
4084
- eventId: string;
4085
- /**
4086
- * The type of event.
4087
- */
4088
- eventType: "Leave";
4089
- experiments?: IExperiments;
4090
- leave: ILeave;
4091
- object: {
4092
- /**
4093
- * The location of the page in the brand’s page hierarchy.
4094
- */
4095
- category?: string;
4096
- objectId: string;
4097
- objectSdrn: string;
4098
- /**
4099
- * The type of this page.
4100
- */
4101
- objectType: "Page";
4102
- /**
4103
- * The title of the page.
4104
- */
4105
- title: string;
4106
- };
4107
- page: {
4108
- info: IPageRef;
4167
+ title: string;
4168
+ };
4169
+ page: {
4170
+ info: IPageRef;
4109
4171
  /**
4110
4172
  * The browser navigation that got the user to the current page.
4111
4173
  */
@@ -4137,11 +4199,11 @@ export interface ISports {
4137
4199
  /**
4138
4200
  * Unique ID of the athlete.
4139
4201
  */
4140
- atheleteId?: number;
4202
+ athleteId?: number;
4141
4203
  /**
4142
4204
  * Name of the athlete.
4143
4205
  */
4144
- atheleteName?: string;
4206
+ athleteName?: string;
4145
4207
  /**
4146
4208
  * Unique ID of the competition.
4147
4209
  */
@@ -4243,6 +4305,10 @@ export interface ISports {
4243
4305
  * An event tracking the user leaving a sports page.
4244
4306
  */
4245
4307
  export interface ILeaveSportsPage {
4308
+ /**
4309
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4310
+ */
4311
+ catalogVersion: string;
4246
4312
  consents: IConsents;
4247
4313
  device: IDevice;
4248
4314
  /**
@@ -4342,15 +4408,14 @@ export interface ILeaveStories {
4342
4408
  */
4343
4409
  storiesStarted: number;
4344
4410
  }
4345
- /**
4346
- * This file was automatically generated by json-schema-to-typescript.
4347
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4348
- * and run json-schema-to-typescript to regenerate this file.
4349
- */
4350
4411
  /**
4351
4412
  * A user leaving a video page.
4352
4413
  */
4353
4414
  export interface ILeaveVideoPage {
4415
+ /**
4416
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4417
+ */
4418
+ catalogVersion: string;
4354
4419
  consents: IConsents;
4355
4420
  device: IDevice;
4356
4421
  /**
@@ -4361,8 +4426,10 @@ export interface ILeaveVideoPage {
4361
4426
  * The type of the event.
4362
4427
  */
4363
4428
  eventType: "Leave";
4429
+ experiments?: IExperiments;
4364
4430
  leave: ILeave;
4365
4431
  leaveStories?: ILeaveStories;
4432
+ metrics?: IMetrics;
4366
4433
  object: {
4367
4434
  /**
4368
4435
  * The location of the page in the brand's page hierarchy.
@@ -4380,10 +4447,6 @@ export interface ILeaveVideoPage {
4380
4447
  * The type of the object.
4381
4448
  */
4382
4449
  objectType: "VideoPage";
4383
- /**
4384
- * The ID of the playlist.
4385
- */
4386
- playlistId?: string;
4387
4450
  /**
4388
4451
  * The title of the page.
4389
4452
  */
@@ -4417,6 +4480,10 @@ export interface ILeaveVideoPage {
4417
4480
  * A user navigating away from a weather page.
4418
4481
  */
4419
4482
  export interface ILeaveWeather {
4483
+ /**
4484
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4485
+ */
4486
+ catalogVersion: string;
4420
4487
  consents: IConsents;
4421
4488
  device: IDevice;
4422
4489
  /**
@@ -4449,11 +4516,15 @@ export interface ILeaveWeather {
4449
4516
  * Backend event for purchased subscriptions.
4450
4517
  */
4451
4518
  export interface IPurchaseSubscription {
4519
+ /**
4520
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4521
+ */
4522
+ catalogVersion: string;
4452
4523
  consents?: IConsents;
4453
4524
  /**
4454
4525
  * Information about the device.
4455
4526
  */
4456
- device: {
4527
+ device?: {
4457
4528
  /**
4458
4529
  * The device’s hardware category.
4459
4530
  */
@@ -4461,7 +4532,7 @@ export interface IPurchaseSubscription {
4461
4532
  /**
4462
4533
  * The environmentId.
4463
4534
  */
4464
- environmentId: string;
4535
+ environmentId?: string;
4465
4536
  };
4466
4537
  /**
4467
4538
  * The unique identifier for the event.
@@ -4563,10 +4634,28 @@ export interface IPurchaseSubscription {
4563
4634
  tracker: ITracker;
4564
4635
  user: IUser;
4565
4636
  }
4637
+ /* eslint-disable */
4638
+ /**
4639
+ * This file was automatically generated by json-schema-to-typescript.
4640
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4641
+ * and run json-schema-to-typescript to regenerate this file.
4642
+ */
4643
+ /**
4644
+ * Location data populated by the Apps.
4645
+ */
4646
+ export interface ILocation {
4647
+ accuracy: number;
4648
+ latitude: string;
4649
+ longitude: string;
4650
+ }
4566
4651
  /**
4567
4652
  * A page dedicated to presenting an article.
4568
4653
  */
4569
4654
  export interface IViewArticle {
4655
+ /**
4656
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4657
+ */
4658
+ catalogVersion: string;
4570
4659
  consents: IConsents;
4571
4660
  device: IDevice;
4572
4661
  /**
@@ -4578,6 +4667,7 @@ export interface IViewArticle {
4578
4667
  */
4579
4668
  eventType: "View";
4580
4669
  experiments?: IExperiments;
4670
+ location?: ILocation;
4581
4671
  object: {
4582
4672
  authors: string[];
4583
4673
  /**
@@ -4666,164 +4756,44 @@ export interface IViewArticle {
4666
4756
  user?: IUser;
4667
4757
  }
4668
4758
  /**
4669
- * Metadata about the audio that is about to play.
4759
+ * A page allowing the user to access audio content.
4670
4760
  */
4671
- export interface IViewAudio {
4761
+ export interface IViewAudioPage {
4762
+ /**
4763
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4764
+ */
4765
+ catalogVersion: string;
4672
4766
  consents: IConsents;
4673
4767
  device: IDevice;
4674
4768
  /**
4675
- * Event ID
4769
+ * The unique identifier for the event.
4676
4770
  */
4677
4771
  eventId: string;
4772
+ /**
4773
+ * The type of the event.
4774
+ */
4678
4775
  eventType: "View";
4679
4776
  experiments?: IExperiments;
4680
4777
  metrics?: IMetrics;
4681
4778
  object: {
4682
4779
  /**
4683
- * The editorial category of this audio.
4780
+ * The location of the page in the brand’s page hierarchy.
4684
4781
  */
4685
4782
  category: string;
4686
4783
  /**
4687
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
4784
+ * The unique ID of this page.
4688
4785
  */
4689
- containerName: string;
4786
+ objectId: string;
4690
4787
  /**
4691
- * The context in which the recommendation was made.
4788
+ * The unique SDRN of this page.
4692
4789
  */
4693
- curateContext?: string;
4790
+ objectSdrn: string;
4694
4791
  /**
4695
- * The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
4792
+ * The type of the object.
4696
4793
  */
4697
- durationMs: number;
4794
+ objectType: "AudioPage";
4698
4795
  /**
4699
- * The UI surface or context from which the audio playback was initiated, such as the frontpage, an article embed, podcast-page or play-next etc.
4700
- */
4701
- entryPoint: string;
4702
- /**
4703
- * Which episode.
4704
- */
4705
- episode?: string;
4706
- /**
4707
- * Audio thumbnail from Stream to use in (Kilkaya) dashboards.
4708
- */
4709
- imageUrl: string;
4710
- /**
4711
- * True if audio is accessible for the user.
4712
- */
4713
- isAccessible: boolean;
4714
- /**
4715
- * The name of the audio.
4716
- */
4717
- name: string;
4718
- /**
4719
- * The unique ID for this audio.
4720
- */
4721
- objectId: string;
4722
- /**
4723
- * The unique SDRN for this audio.
4724
- */
4725
- objectSdrn: string;
4726
- objectType: "Audio";
4727
- /**
4728
- * Indicates how the audio is configured to start.
4729
- */
4730
- playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
4731
- /**
4732
- * A unique ID for this player instance.
4733
- */
4734
- playerId: string;
4735
- /**
4736
- * The ID of the playlist.
4737
- */
4738
- playlistId?: string;
4739
- /**
4740
- * The unique ID for this audio when published at PodMe.
4741
- */
4742
- podmeId?: string;
4743
- /**
4744
- * The position of the audio in the playlist.
4745
- */
4746
- queuePosition?: number;
4747
- /**
4748
- * Which season.
4749
- */
4750
- season?: string;
4751
- /**
4752
- * Follow accesslevel from Stream (viewer access).
4753
- */
4754
- streamAccessLevel: string;
4755
- /**
4756
- * Reflects the stream type as defined in Stream at the time of playback.
4757
- */
4758
- streamType: string;
4759
- /**
4760
- * Tags from Stream.
4761
- */
4762
- tags?: string[];
4763
- /**
4764
- * Type of audio. Fetched from content type in Stream.
4765
- */
4766
- variant: string;
4767
- };
4768
- page: {
4769
- content?: IContent;
4770
- info: IPageRef;
4771
- /**
4772
- * The browser navigation that got the user to the current page.
4773
- */
4774
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4775
- /**
4776
- * The pageviewID.
4777
- */
4778
- pageviewId: string;
4779
- referrer?: IPageRef;
4780
- utm?: IUtmTags;
4781
- };
4782
- provider: IProvider;
4783
- /**
4784
- * The schema of the event.
4785
- */
4786
- schema: string;
4787
- session: ISession;
4788
- time: ITime;
4789
- tracker: ITracker;
4790
- user?: IUser;
4791
- }
4792
- /**
4793
- * A page allowing the user to access audio content.
4794
- */
4795
- export interface IViewAudioPage {
4796
- consents: IConsents;
4797
- device: IDevice;
4798
- /**
4799
- * The unique identifier for the event.
4800
- */
4801
- eventId: string;
4802
- /**
4803
- * The type of the event.
4804
- */
4805
- eventType: "View";
4806
- experiments?: IExperiments;
4807
- metrics?: IMetrics;
4808
- object: {
4809
- /**
4810
- * The location of the page in the brand’s page hierarchy.
4811
- */
4812
- category: string;
4813
- /**
4814
- * The unique ID of this page.
4815
- */
4816
- objectId: string;
4817
- /**
4818
- * The unique SDRN of this page.
4819
- */
4820
- objectSdrn: string;
4821
- /**
4822
- * The type of the object.
4823
- */
4824
- objectType: "AudioPage";
4825
- /**
4826
- * The title of the page.
4796
+ * The title of the page.
4827
4797
  */
4828
4798
  title: string;
4829
4799
  };
@@ -4855,6 +4825,10 @@ export interface IViewAudioPage {
4855
4825
  * A error page.
4856
4826
  */
4857
4827
  export interface IViewError {
4828
+ /**
4829
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4830
+ */
4831
+ catalogVersion: string;
4858
4832
  consents: IConsents;
4859
4833
  device: IDevice;
4860
4834
  /**
@@ -4917,6 +4891,10 @@ export interface IViewError {
4917
4891
  user?: IUser;
4918
4892
  }
4919
4893
  export interface IViewFrontpage {
4894
+ /**
4895
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4896
+ */
4897
+ catalogVersion: string;
4920
4898
  consents: IConsents;
4921
4899
  device: IDevice;
4922
4900
  /**
@@ -4928,6 +4906,7 @@ export interface IViewFrontpage {
4928
4906
  */
4929
4907
  eventType: "View";
4930
4908
  experiments?: IExperiments;
4909
+ location?: ILocation;
4931
4910
  metrics?: IMetrics;
4932
4911
  object: {
4933
4912
  /**
@@ -4994,6 +4973,10 @@ export interface IViewFrontpage {
4994
4973
  * A generic event to track when a user views a health-related page on a website or app. Only used by the Vektklubb/Wellobe projects.
4995
4974
  */
4996
4975
  export interface IViewHealthPage {
4976
+ /**
4977
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4978
+ */
4979
+ catalogVersion: string;
4997
4980
  consents: IConsents;
4998
4981
  device: IDevice;
4999
4982
  /**
@@ -5080,6 +5063,10 @@ export interface IViewHealthPage {
5080
5063
  * Prompt a specific action.
5081
5064
  */
5082
5065
  export interface IViewLandingpage {
5066
+ /**
5067
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5068
+ */
5069
+ catalogVersion: string;
5083
5070
  consents: IConsents;
5084
5071
  device: IDevice;
5085
5072
  /**
@@ -5133,6 +5120,10 @@ export interface IViewLandingpage {
5133
5120
  * Show a collection of content.
5134
5121
  */
5135
5122
  export interface IViewListing {
5123
+ /**
5124
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5125
+ */
5126
+ catalogVersion: string;
5136
5127
  consents: IConsents;
5137
5128
  device: IDevice;
5138
5129
  /**
@@ -5214,6 +5205,10 @@ export interface IViewListing {
5214
5205
  * A page preventing the user from accessing article content.
5215
5206
  */
5216
5207
  export interface IViewLockedArticle {
5208
+ /**
5209
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5210
+ */
5211
+ catalogVersion: string;
5217
5212
  consents: IConsents;
5218
5213
  device: IDevice;
5219
5214
  /**
@@ -5263,6 +5258,10 @@ export interface IViewLockedArticle {
5263
5258
  * The type of this page.
5264
5259
  */
5265
5260
  objectType: "LockedArticle";
5261
+ /**
5262
+ * Indicator if the offer was visible at pageload (“above”) or if the user had to scroll to it (“below”).
5263
+ */
5264
+ offerFoldPosition: "Above" | "Below" | "Unknown";
5266
5265
  /**
5267
5266
  * The reason the user saw this paywall instead of the content.
5268
5267
  */
@@ -5316,138 +5315,14 @@ export interface IViewLockedArticle {
5316
5315
  tracker: ITracker;
5317
5316
  user?: IUser;
5318
5317
  }
5319
- /**
5320
- * A page preventing the user from accessing a piece of audio content.
5321
- */
5322
- export interface IViewLockedAudio {
5323
- consents: IConsents;
5324
- device: IDevice;
5325
- /**
5326
- * Event ID
5327
- */
5328
- eventId: string;
5329
- /**
5330
- * The type of the event.
5331
- */
5332
- eventType: "View";
5333
- experiments?: IExperiments;
5334
- metrics?: IMetrics;
5335
- object: {
5336
- /**
5337
- * The editorial category of this audio.
5338
- */
5339
- category: string;
5340
- /**
5341
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
5342
- */
5343
- containerName: string;
5344
- /**
5345
- * The context in which the recommendation was made.
5346
- */
5347
- curateContext?: string;
5348
- /**
5349
- * The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
5350
- */
5351
- durationMs: number;
5352
- /**
5353
- * The UI surface or context from which the audio playback was initiated, such as the frontpage, an article embed, podcast-page or play-next etc.
5354
- */
5355
- entryPoint: string;
5356
- /**
5357
- * Which episode.
5358
- */
5359
- episode?: string;
5360
- /**
5361
- * Audio thumbnail from Stream to use in (Kilkaya) dashboards.
5362
- */
5363
- imageUrl: string;
5364
- /**
5365
- * True if the audio is accessible for the user.
5366
- */
5367
- isAccessible: boolean;
5368
- /**
5369
- * The name of the audio.
5370
- */
5371
- name: string;
5372
- /**
5373
- * The unique ID of this audio.
5374
- */
5375
- objectId: string;
5376
- /**
5377
- * The unique SDRN for this audio.
5378
- */
5379
- objectSdrn: string;
5380
- objectType: "LockedAudio";
5381
- /**
5382
- * The reason the user saw this paywall instead of the audio.
5383
- */
5384
- paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
5385
- /**
5386
- * Indicates how the audio is configured to start.
5387
- */
5388
- playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
5389
- /**
5390
- * A unique ID for this player instance.
5391
- */
5392
- playerId: string;
5393
- /**
5394
- * The ID of the playlist.
5395
- */
5396
- playlistId?: string;
5397
- /**
5398
- * The unique ID for this audio when published at PodMe.
5399
- */
5400
- podmeId?: string;
5401
- /**
5402
- * The position of the audio in the playlist.
5403
- */
5404
- queuePosition?: number;
5405
- /**
5406
- * Which season.
5407
- */
5408
- season?: string;
5409
- /**
5410
- * Follow accesslevel from Stream (viewer access).
5411
- */
5412
- streamAccessLevel: string;
5413
- /**
5414
- * Reflects the stream type as defined in Stream at the time of playback.
5415
- */
5416
- streamType: string;
5417
- tags?: string[];
5418
- /**
5419
- * Type of audio. Fetched from content type in Stream.
5420
- */
5421
- variant: string;
5422
- };
5423
- page: {
5424
- content?: IContent;
5425
- info: IPageRef;
5426
- /**
5427
- * The browser navigation that got the user to the current page.
5428
- */
5429
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5430
- /**
5431
- * The pageviewID.
5432
- */
5433
- pageviewId: string;
5434
- referrer?: IPageRef;
5435
- utm?: IUtmTags;
5436
- };
5437
- provider: IProvider;
5438
- /**
5439
- * The schema of the event.
5440
- */
5441
- schema: string;
5442
- session: ISession;
5443
- time: ITime;
5444
- tracker: ITracker;
5445
- user?: IUser;
5446
- }
5447
5318
  /**
5448
5319
  * A page preventing the user from accessing premium audio content.
5449
5320
  */
5450
5321
  export interface IViewLockedAudioPage {
5322
+ /**
5323
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5324
+ */
5325
+ catalogVersion: string;
5451
5326
  consents: IConsents;
5452
5327
  device: IDevice;
5453
5328
  /**
@@ -5514,144 +5389,14 @@ export interface IViewLockedAudioPage {
5514
5389
  tracker: ITracker;
5515
5390
  user?: IUser;
5516
5391
  }
5517
- /**
5518
- * A page preventing the user from accessing a piece of video content.
5519
- */
5520
- export interface IViewLockedVideo {
5521
- consents: IConsents;
5522
- device: IDevice;
5523
- /**
5524
- * Event ID
5525
- */
5526
- eventId: string;
5527
- /**
5528
- * The type of the event.
5529
- */
5530
- eventType: "View";
5531
- experiments?: IExperiments;
5532
- metrics?: IMetrics;
5533
- object: {
5534
- /**
5535
- * Numeric value of the video aspect ratio.
5536
- */
5537
- aspectRatio: number;
5538
- /**
5539
- * The editorial category of this video.
5540
- */
5541
- category: string;
5542
- /**
5543
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
5544
- */
5545
- containerName: string;
5546
- /**
5547
- * The context in which the recommendation was made.
5548
- */
5549
- curateContext?: string;
5550
- /**
5551
- * The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
5552
- */
5553
- durationMs: number;
5554
- /**
5555
- * The UI surface or context from which the video playback was initiated, such as the frontpage, an article embed, a stories feed, a carousel, or play-next etc.
5556
- */
5557
- entryPoint: string;
5558
- /**
5559
- * Which episode.
5560
- */
5561
- episode?: string;
5562
- /**
5563
- * Video thumbnail from Stream to use in (Kilkaya) dashboards.
5564
- */
5565
- imageUrl: string;
5566
- /**
5567
- * True if the content is accessible to the user.
5568
- */
5569
- isAccessible: boolean;
5570
- /**
5571
- * The name of the video.
5572
- */
5573
- name: string;
5574
- /**
5575
- * The unique ID of this video.
5576
- */
5577
- objectId: string;
5578
- /**
5579
- * The unique SDRN for this video.
5580
- */
5581
- objectSdrn: string;
5582
- /**
5583
- * The type of this object.
5584
- */
5585
- objectType: "LockedVideo";
5586
- /**
5587
- * The reason the user saw this paywall instead of the content.
5588
- */
5589
- paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
5590
- /**
5591
- * Indicates how the video is configured to start.
5592
- */
5593
- playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
5594
- /**
5595
- * A unique ID for this player instance.
5596
- */
5597
- playerId: string;
5598
- /**
5599
- * The ID of the playlist.
5600
- */
5601
- playlistId?: string;
5602
- /**
5603
- * The position of the video in the playlist.
5604
- */
5605
- queuePosition?: number;
5606
- /**
5607
- * Which season.
5608
- */
5609
- season?: string;
5610
- /**
5611
- * Follow accesslevel from Stream (viewer access).
5612
- */
5613
- streamAccessLevel: string;
5614
- /**
5615
- * Reflects the stream type as defined in Stream at the time of playback.
5616
- */
5617
- streamType: string;
5618
- /**
5619
- * Tags from Stream.
5620
- */
5621
- tags?: string[];
5622
- /**
5623
- * Type of video. Fetched from content type in Stream.
5624
- */
5625
- variant: string;
5626
- };
5627
- page: {
5628
- content?: IContent;
5629
- info: IPageRef;
5630
- /**
5631
- * The browser navigation that got the user to the current page.
5632
- */
5633
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5634
- /**
5635
- * The pageviewID.
5636
- */
5637
- pageviewId: string;
5638
- referrer?: IPageRef;
5639
- utm?: IUtmTags;
5640
- };
5641
- provider: IProvider;
5642
- /**
5643
- * The schema of the event.
5644
- */
5645
- schema: string;
5646
- session: ISession;
5647
- time: ITime;
5648
- tracker: ITracker;
5649
- user?: IUser;
5650
- }
5651
5392
  /**
5652
5393
  * A page preventing the user from accessing premium video content.
5653
5394
  */
5654
5395
  export interface IViewLockedVideoPage {
5396
+ /**
5397
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5398
+ */
5399
+ catalogVersion: string;
5655
5400
  consents: IConsents;
5656
5401
  device: IDevice;
5657
5402
  /**
@@ -5663,7 +5408,7 @@ export interface IViewLockedVideoPage {
5663
5408
  */
5664
5409
  eventType: "View";
5665
5410
  experiments?: IExperiments;
5666
- metrics: IMetrics;
5411
+ metrics?: IMetrics;
5667
5412
  object: {
5668
5413
  /**
5669
5414
  * The location of the page in the brand’s page hierarchy.
@@ -5722,6 +5467,10 @@ export interface IViewLockedVideoPage {
5722
5467
  * A generic pageview event.
5723
5468
  */
5724
5469
  export interface IViewPage {
5470
+ /**
5471
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5472
+ */
5473
+ catalogVersion: string;
5725
5474
  consents: IConsents;
5726
5475
  device: IDevice;
5727
5476
  /**
@@ -5784,6 +5533,10 @@ export interface IViewPage {
5784
5533
  * A sports pageview event.
5785
5534
  */
5786
5535
  export interface IViewSportsPage {
5536
+ /**
5537
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5538
+ */
5539
+ catalogVersion: string;
5787
5540
  consents: IConsents;
5788
5541
  device: IDevice;
5789
5542
  /**
@@ -5847,6 +5600,10 @@ export interface IViewSportsPage {
5847
5600
  * A page showing summary information about a TV series, streaming show, or sport event. (Note: currently only used by TVnu.)
5848
5601
  */
5849
5602
  export interface IViewTitle {
5603
+ /**
5604
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5605
+ */
5606
+ catalogVersion: string;
5850
5607
  consents: IConsents;
5851
5608
  device: IDevice;
5852
5609
  /**
@@ -5911,139 +5668,14 @@ export interface IViewTitle {
5911
5668
  tracker: ITracker;
5912
5669
  user?: IUser;
5913
5670
  }
5914
- /**
5915
- * Metadata about the video that is about to play.
5916
- */
5917
- export interface IViewVideo {
5918
- consents: IConsents;
5919
- device: IDevice;
5920
- /**
5921
- * Event ID
5922
- */
5923
- eventId: string;
5924
- eventType: "View";
5925
- experiments?: IExperiments;
5926
- metrics?: IMetrics;
5927
- object: {
5928
- /**
5929
- * Numeric value of the video aspect ratio.
5930
- */
5931
- aspectRatio: number;
5932
- /**
5933
- * The editorial category of this video.
5934
- */
5935
- category: string;
5936
- /**
5937
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
5938
- */
5939
- containerName: string;
5940
- /**
5941
- * The context in which the recommendation was made.
5942
- */
5943
- curateContext?: string;
5944
- /**
5945
- * The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
5946
- */
5947
- durationMs: number;
5948
- /**
5949
- * The UI surface or context from which the video playback was initiated, such as the frontpage, an article embed, a stories feed, a carousel, or play-next etc
5950
- */
5951
- entryPoint: string;
5952
- /**
5953
- * Which episode
5954
- */
5955
- episode?: string;
5956
- /**
5957
- * Video thumbnail from Stream to use in (Kilkaya) dashboards
5958
- */
5959
- imageUrl: string;
5960
- /**
5961
- * True if the content is accessible to the user.
5962
- */
5963
- isAccessible: boolean;
5964
- /**
5965
- * True if the video is an ad published through editorial CMS and not Xandr.
5966
- */
5967
- isAd: boolean;
5968
- /**
5969
- * True if video is sponsored.
5970
- */
5971
- isSponsored: boolean;
5972
- /**
5973
- * The name of the video.
5974
- */
5975
- name: string;
5976
- /**
5977
- * The unique ID of this video.
5978
- */
5979
- objectId: string;
5980
- /**
5981
- * The unique SDRN for this video.
5982
- */
5983
- objectSdrn: string;
5984
- objectType: "Video";
5985
- /**
5986
- * Indicates how the video is configured to start.
5987
- */
5988
- playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
5989
- /**
5990
- * A unique ID for this player instance.
5991
- */
5992
- playerId: string;
5993
- /**
5994
- * The ID of the playlist.
5995
- */
5996
- playlistId?: string;
5997
- /**
5998
- * The position of the video in the playlist.
5999
- */
6000
- queuePosition?: number;
6001
- /**
6002
- * Which season
6003
- */
6004
- season?: string;
6005
- /**
6006
- * Follow accesslevel from Stream (viewer access)
6007
- */
6008
- streamAccessLevel: string;
6009
- /**
6010
- * Reflects the stream type as defined in Stream at the time of playback.
6011
- */
6012
- streamType: string;
6013
- tags?: string[];
6014
- /**
6015
- * Type of video. Fetched from content type in Stream.
6016
- */
6017
- variant: string;
6018
- };
6019
- page: {
6020
- content?: IContent;
6021
- info: IPageRef;
6022
- /**
6023
- * The browser navigation that got the user to the current page.
6024
- */
6025
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
6026
- /**
6027
- * The pageviewID.
6028
- */
6029
- pageviewId: string;
6030
- referrer?: IPageRef;
6031
- utm?: IUtmTags;
6032
- };
6033
- provider: IProvider;
6034
- /**
6035
- * The schema of the event.
6036
- */
6037
- schema: string;
6038
- session: ISession;
6039
- time: ITime;
6040
- tracker: ITracker;
6041
- user?: IUser;
6042
- }
6043
5671
  /**
6044
5672
  * A page allowing the user to access video content.
6045
5673
  */
6046
5674
  export interface IViewVideoPage {
5675
+ /**
5676
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5677
+ */
5678
+ catalogVersion: string;
6047
5679
  consents: IConsents;
6048
5680
  device: IDevice;
6049
5681
  /**
@@ -6106,6 +5738,10 @@ export interface IViewVideoPage {
6106
5738
  * A page showing a weather forecast.
6107
5739
  */
6108
5740
  export interface IViewWeather {
5741
+ /**
5742
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5743
+ */
5744
+ catalogVersion: string;
6109
5745
  consents: IConsents;
6110
5746
  device: IDevice;
6111
5747
  /**
@@ -6172,6 +5808,6 @@ export interface IViewWeather {
6172
5808
  tracker: ITracker;
6173
5809
  user?: IUser;
6174
5810
  }
6175
- export type ITpaasEvent = IAnonymousViewUIElement | ICancelSubscription | ICompletedHealthAction | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementNotification | IEngagementOffer | IEngagementTeaser | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionAdSlot | IImpressionForm | IImpressionHealthUIElement | IImpressionNotification | IImpressionOffer | IImpressionPlayer | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | IInternalProbe | ILeaveArticle | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedArticle | ILeaveLockedAudio | ILeaveLockedAudioPage | ILeaveLockedVideo | ILeaveLockedVideoPage | ILeavePage | ILeaveSportsPage | ILeaveVideoPage | ILeaveWeather | IPurchaseSubscription | IViewArticle | IViewAudio | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedArticle | IViewLockedAudio | IViewLockedAudioPage | IViewLockedVideo | IViewLockedVideoPage | IViewPage | IViewSportsPage | IViewTitle | IViewVideo | IViewVideoPage | IViewWeather;
5811
+ export type ITpaasEvent = IAnonymousViewUIElement | ICancelSubscription | IChangePushNotificationSettings | ICompletedHealthAction | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementNotification | IEngagementOffer | IEngagementTeaser | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionForm | IImpressionHealthUIElement | IImpressionNotification | IImpressionOffer | IImpressionPlayer | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | IInternalAccessDecision | IInternalProbe | ILaunchApp | ILeaveArticle | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedArticle | ILeaveLockedAudioPage | ILeaveLockedVideoPage | ILeavePage | ILeaveSportsPage | ILeaveVideoPage | ILeaveWeather | IPurchaseSubscription | IViewArticle | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedArticle | IViewLockedAudioPage | IViewLockedVideoPage | IViewPage | IViewSportsPage | IViewTitle | IViewVideoPage | IViewWeather;
6176
5812
 
6177
5813
  export {};