@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
@@ -1,10 +1,22 @@
1
1
  // Generated by dts-bundle-generator v9.5.1
2
2
 
3
3
  type IExperiments = {
4
+ /**
5
+ * Unique experiment identifier.
6
+ */
7
+ experimentSdrn: string;
4
8
  /**
5
9
  * The name of the experiment
6
10
  */
7
11
  name: string;
12
+ /**
13
+ * The name of the experimentation platform.
14
+ */
15
+ platform: string;
16
+ /**
17
+ * A UUIDV5 hash of a combination of variant IDs.
18
+ */
19
+ testId?: string;
8
20
  /**
9
21
  * The level of the experiment variant.
10
22
  */
@@ -16,9 +28,9 @@ interface IPageRef {
16
28
  */
17
29
  pageId?: string;
18
30
  /**
19
- * The event type of the base pageview.
31
+ * The object type of the base pageview.
20
32
  */
21
- pageType?: "Article" | "Audio" | "Error" | "Frontpage" | "HealthPage" | "Landingpage" | "Listing" | "LockedArticle" | "LockedAudio" | "LockedVideo" | "Login" | "Page" | "SportsPage" | "Title" | "Video" | "Weather";
33
+ pageType?: "Article" | "AudioPage" | "Error" | "Frontpage" | "HealthPage" | "Landingpage" | "Listing" | "LockedArticle" | "LockedAudioPage" | "LockedVideoPage" | "Login" | "Page" | "SportsPage" | "Title" | "VideoPage" | "Weather";
22
34
  /**
23
35
  * The URL of the page.
24
36
  */
@@ -116,7 +128,7 @@ interface ITracker {
116
128
  */
117
129
  isHybrid: boolean;
118
130
  /**
119
- * The version of the tracker.
131
+ * The version of the proxy.
120
132
  */
121
133
  proxyVersion?: string;
122
134
  /**
@@ -129,6 +141,10 @@ interface ITracker {
129
141
  version: string;
130
142
  }
131
143
  interface IAnonymousViewUIElement {
144
+ /**
145
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
146
+ */
147
+ catalogVersion: string;
132
148
  /**
133
149
  * The unique identifier for the event.
134
150
  */
@@ -206,6 +222,10 @@ interface IUser {
206
222
  userSdrn: string;
207
223
  }
208
224
  interface ICancelSubscription {
225
+ /**
226
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
227
+ */
228
+ catalogVersion: string;
209
229
  consents?: IConsents;
210
230
  device?: {
211
231
  /**
@@ -320,6 +340,7 @@ interface IDevice {
320
340
  * The environmentId.
321
341
  */
322
342
  environmentId: string;
343
+ ipAddress?: string;
323
344
  /**
324
345
  * DEPRECATED: Backwards compatibility with ads.
325
346
  */
@@ -349,20 +370,6 @@ interface IDevice {
349
370
  */
350
371
  viewportSize: "XS" | "S" | "M" | "L" | "XL";
351
372
  }
352
- interface IHealthOrigin {
353
- /**
354
- * The specific UI element or component that navigated to this page.
355
- */
356
- content?: string;
357
- /**
358
- * The feature area that navigated to this page
359
- */
360
- feature?: string;
361
- /**
362
- * The origin name / place that the user navigated from.
363
- */
364
- name?: string;
365
- }
366
373
  interface ISession {
367
374
  /**
368
375
  * True if the event is the first to fire in a this session.
@@ -381,6 +388,61 @@ interface ISession {
381
388
  */
382
389
  xDomainId?: string;
383
390
  }
391
+ interface IChangePushNotificationSettings {
392
+ /**
393
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
394
+ */
395
+ catalogVersion: string;
396
+ consents: IConsents;
397
+ device: IDevice;
398
+ /**
399
+ * The unique identifier for the event.
400
+ */
401
+ eventId: string;
402
+ /**
403
+ * The type of the event.
404
+ */
405
+ eventType: "Change";
406
+ experiments?: IExperiments;
407
+ metrics?: IMetrics;
408
+ object: {
409
+ /**
410
+ * The push topics the user have enabled.
411
+ */
412
+ enabledTopics: string[];
413
+ /**
414
+ * Whether the user have enabled or disabled push notifications.
415
+ */
416
+ isPushEnabled: boolean;
417
+ /**
418
+ * The type of the object.
419
+ */
420
+ objectType: "PushNotificationSettings";
421
+ };
422
+ provider: IProvider;
423
+ /**
424
+ * URL to the JSON schema for this event.
425
+ */
426
+ schema: string;
427
+ session: ISession;
428
+ time: ITime;
429
+ tracker: ITracker;
430
+ user?: IUser;
431
+ }
432
+ interface IHealthOrigin {
433
+ /**
434
+ * The specific UI element or component that navigated to this page.
435
+ */
436
+ content?: string;
437
+ /**
438
+ * The feature area that navigated to this page
439
+ */
440
+ feature?: string;
441
+ /**
442
+ * The origin name / place that the user navigated from.
443
+ */
444
+ name?: string;
445
+ }
384
446
  interface IContent {
385
447
  /**
386
448
  * The access restriction placed on the content.
@@ -413,6 +475,10 @@ interface IContent {
413
475
  tags: string[];
414
476
  }
415
477
  interface ICompletedHealthAction {
478
+ /**
479
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
480
+ */
481
+ catalogVersion: string;
416
482
  consents: IConsents;
417
483
  device: IDevice;
418
484
  /**
@@ -503,6 +569,10 @@ interface ICompletedHealthAction {
503
569
  user?: IUser;
504
570
  }
505
571
  interface IEngagementAudio {
572
+ /**
573
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
574
+ */
575
+ catalogVersion: string;
506
576
  consents: IConsents;
507
577
  device: IDevice;
508
578
  /**
@@ -520,7 +590,7 @@ interface IEngagementAudio {
520
590
  /**
521
591
  * Semantic event type (e.g. "start" (first start), "replay", “pause”. "next", "stop" etc.).
522
592
  */
523
- engagementType?: "Start" | "Replay" | "Pause" | "Resume" | "Next" | "Stop" | "Cancel" | "Error" | "Seek" | "Watch";
593
+ engagementType?: "Start" | "Replay" | "Pause" | "Resume" | "Next" | "Stop" | "Cancel" | "Error" | "Seek" | "Watch" | "Load";
524
594
  };
525
595
  /**
526
596
  * The unique identifier for the event.
@@ -531,20 +601,57 @@ interface IEngagementAudio {
531
601
  */
532
602
  eventType: "Engagement";
533
603
  experiments?: IExperiments;
534
- metrics?: IMetrics;
535
- object: {
604
+ /**
605
+ * Type of user interaction with the audio
606
+ */
607
+ interaction?: {
536
608
  /**
537
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
609
+ * How the audio is consumed by the user at any given time
538
610
  */
539
- containerName: string;
611
+ displayMode: "Normal" | "Fullscreen" | "Minimized" | "Background" | "Chromecast" | "Airplay" | "Carplay";
540
612
  /**
541
- * The context in which the recommendation was made.
613
+ * True if the audio is muted
542
614
  */
543
- curateContext?: string;
615
+ isMuted: boolean;
544
616
  /**
545
- * How the content is presented on the page.
617
+ * Indicates how the audio started
546
618
  */
547
- displayMode: "Normal" | "Fullscreen" | "Minimized" | "Background" | "Chromecast" | "Airplay" | "Carplay";
619
+ playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
620
+ /**
621
+ * The current playback speed
622
+ */
623
+ playbackSpeed?: number;
624
+ /**
625
+ * The offset of the current playback from the start of the audio in milliseconds
626
+ */
627
+ positionMs: number;
628
+ /**
629
+ * 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
630
+ */
631
+ prevPositionMs: string;
632
+ /**
633
+ * The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
634
+ */
635
+ seekFromMs?: number;
636
+ /**
637
+ * The playback position (in milliseconds) the user sought to. Only included when engagement.type = "seek"
638
+ */
639
+ seekToMs?: number;
640
+ /**
641
+ * How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc
642
+ */
643
+ viewtimeMs: number;
644
+ };
645
+ metrics?: IMetrics;
646
+ object: {
647
+ /**
648
+ * The editorial category of this audio
649
+ */
650
+ category: string;
651
+ /**
652
+ * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
653
+ */
654
+ containerName: string;
548
655
  /**
549
656
  * The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
550
657
  */
@@ -554,9 +661,21 @@ interface IEngagementAudio {
554
661
  */
555
662
  elementSize?: "XS" | "S" | "M" | "L" | "XL";
556
663
  /**
557
- * True if the audio is muted.
664
+ * 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
558
665
  */
559
- isMuted: boolean;
666
+ entryPoint: string;
667
+ /**
668
+ * Which episode
669
+ */
670
+ episode?: string;
671
+ /**
672
+ * Audio thumbnail from Stream to use in (Kilkaya) dashboards
673
+ */
674
+ imageUrl: string;
675
+ /**
676
+ * True if audio is accesible for the user
677
+ */
678
+ isAccessible: boolean;
560
679
  /**
561
680
  * The name of the audio.
562
681
  */
@@ -571,13 +690,13 @@ interface IEngagementAudio {
571
690
  objectSdrn: string;
572
691
  objectType: "Audio";
573
692
  /**
574
- * Indicates how the audio started.
693
+ * Indicates how the audio is configured to start
575
694
  */
576
- playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
695
+ playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
577
696
  /**
578
- * The current playback speed.
697
+ * The type of player exposed to the user
579
698
  */
580
- playbackSpeed?: number;
699
+ player: "VideoPlayer" | "StoriesPlayer" | "AudioPlayer" | "TtsPlayer";
581
700
  /**
582
701
  * A unique ID for this player instance.
583
702
  */
@@ -587,37 +706,26 @@ interface IEngagementAudio {
587
706
  */
588
707
  playlistId?: string;
589
708
  /**
590
- * The unique ID for this audio when published at PodMe.
709
+ * The unique ID for this audio when published in PodMe.
591
710
  */
592
711
  podmeId?: string;
593
- /**
594
- * The offset of the current playback from the start of the audio in milliseconds.
595
- */
596
- positionMs: number;
597
- /**
598
- * 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.
599
- */
600
- prevPositionMs: number;
601
712
  /**
602
713
  * The position of the audio in the playlist.
603
714
  */
604
715
  queuePosition?: number;
605
716
  /**
606
- * The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
717
+ * Which season
607
718
  */
608
- seekFromMs?: number;
719
+ season?: string;
609
720
  /**
610
- * The playback position (in milliseconds) the user sought to. Only included when engagement.type = "seek"
721
+ * Follow accesslevel from Stream (viewer access)
611
722
  */
612
- seekToMs?: number;
723
+ streamAccessLevel: string;
613
724
  /**
614
725
  * Reflects the stream type as defined in Stream at the time of playback.
615
726
  */
616
727
  streamType: string;
617
- /**
618
- * How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc.
619
- */
620
- userDurationMs: number;
728
+ tags?: string[];
621
729
  /**
622
730
  * Type of audio. Fetched from content type in Stream.
623
731
  */
@@ -654,6 +762,10 @@ interface IEngagement {
654
762
  elementName: string;
655
763
  }
656
764
  interface IEngagementForm {
765
+ /**
766
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
767
+ */
768
+ catalogVersion: string;
657
769
  consents: IConsents;
658
770
  device: IDevice;
659
771
  engagement: IEngagement;
@@ -735,6 +847,10 @@ interface IEngagementForm {
735
847
  user?: IUser;
736
848
  }
737
849
  interface IEngagementHealthUIElement {
850
+ /**
851
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
852
+ */
853
+ catalogVersion: string;
738
854
  consents: IConsents;
739
855
  device: IDevice;
740
856
  engagement: IEngagement;
@@ -827,6 +943,10 @@ interface IEngagementHealthUIElement {
827
943
  user?: IUser;
828
944
  }
829
945
  interface IEngagementNotification {
946
+ /**
947
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
948
+ */
949
+ catalogVersion: string;
830
950
  consents: IConsents;
831
951
  device: IDevice;
832
952
  engagement: IEngagement;
@@ -892,6 +1012,10 @@ interface IEngagementNotification {
892
1012
  user?: IUser;
893
1013
  }
894
1014
  interface IEngagementOffer {
1015
+ /**
1016
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1017
+ */
1018
+ catalogVersion: string;
895
1019
  consents: IConsents;
896
1020
  device: IDevice;
897
1021
  engagement: IEngagement;
@@ -968,15 +1092,31 @@ interface IEngagementOffer {
968
1092
  user?: IUser;
969
1093
  }
970
1094
  interface IPlacement {
971
- columnName: string;
1095
+ columnName: "main" | "aside";
972
1096
  /**
973
1097
  * The context in which the recommendation was made.
974
1098
  */
975
- curateContext: string;
1099
+ curateContext?: string;
1100
+ /**
1101
+ * The source of the impression/engagement.
1102
+ */
1103
+ curateSource?: string;
976
1104
  positionInBundle: number;
977
- source: string;
1105
+ /**
1106
+ * The position of this component along the primary axis.
1107
+ */
1108
+ primaryPosition: number;
1109
+ /**
1110
+ * The position of this component along the secondary axis.
1111
+ */
1112
+ secondaryPosition: number;
1113
+ source?: string;
978
1114
  }
979
1115
  interface IEngagementTeaser {
1116
+ /**
1117
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1118
+ */
1119
+ catalogVersion: string;
980
1120
  consents: IConsents;
981
1121
  device: IDevice;
982
1122
  engagement: IEngagement;
@@ -1023,19 +1163,10 @@ interface IEngagementTeaser {
1023
1163
  * The type of the component.
1024
1164
  */
1025
1165
  objectType: "Teaser";
1026
- placement?: IPlacement;
1027
1166
  /**
1028
1167
  * The parent’s primary direction along which components are laid out.
1029
1168
  */
1030
1169
  primaryAxis: "Horizontal" | "Vertical";
1031
- /**
1032
- * The position of this component along the primary axis.
1033
- */
1034
- primaryPosition: number;
1035
- /**
1036
- * The position of this component along the secondary axis.
1037
- */
1038
- secondaryPosition: number;
1039
1170
  /**
1040
1171
  * The title of the teaser.
1041
1172
  */
@@ -1051,6 +1182,7 @@ interface IEngagementTeaser {
1051
1182
  referrer?: IPageRef;
1052
1183
  utm?: IUtmTags;
1053
1184
  };
1185
+ placement: IPlacement;
1054
1186
  provider: IProvider;
1055
1187
  /**
1056
1188
  * The schema of the event.
@@ -1066,6 +1198,10 @@ interface IEngagementTeaser {
1066
1198
  user?: IUser;
1067
1199
  }
1068
1200
  interface IEngagementUIElement {
1201
+ /**
1202
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1203
+ */
1204
+ catalogVersion: string;
1069
1205
  consents: IConsents;
1070
1206
  device: IDevice;
1071
1207
  engagement: IEngagement;
@@ -1137,6 +1273,10 @@ interface IEngagementUIElement {
1137
1273
  user?: IUser;
1138
1274
  }
1139
1275
  interface IEngagementVideo {
1276
+ /**
1277
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1278
+ */
1279
+ catalogVersion: string;
1140
1280
  consents: IConsents;
1141
1281
  device: IDevice;
1142
1282
  /**
@@ -1154,7 +1294,7 @@ interface IEngagementVideo {
1154
1294
  /**
1155
1295
  * Semantic event type (e.g. "start" (first start), "replay", “pause”. "next", "stop" etc.).
1156
1296
  */
1157
- engagementType?: "Start" | "Replay" | "Pause" | "Resume" | "Next" | "Stop" | "Cancel" | "Error" | "Seek" | "Watch" | "Prev";
1297
+ engagementType?: "Start" | "Replay" | "Pause" | "Resume" | "Next" | "Stop" | "Cancel" | "Error" | "Seek" | "Watch" | "Prev" | "Load";
1158
1298
  };
1159
1299
  /**
1160
1300
  * The unique identifier for the event.
@@ -1165,20 +1305,69 @@ interface IEngagementVideo {
1165
1305
  */
1166
1306
  eventType: "Engagement";
1167
1307
  experiments?: IExperiments;
1308
+ /**
1309
+ * Type of user interaction with the video
1310
+ */
1311
+ interaction?: {
1312
+ /**
1313
+ * How the video is consumed by the user at any given time
1314
+ */
1315
+ displayMode: "Normal" | "Sticky" | "Fullscreen" | "Overlay" | "Minimized" | "PictureInPicture" | "Chromecast" | "Airplay" | "Carplay" | "Background" | "Floating";
1316
+ /**
1317
+ * True if the video is muted.
1318
+ */
1319
+ isMuted: boolean;
1320
+ /**
1321
+ * The number of times the video has automatically repeated itself.
1322
+ */
1323
+ loopCount?: number;
1324
+ /**
1325
+ * Indicates how the video started.
1326
+ */
1327
+ playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
1328
+ /**
1329
+ * The current playback speed.
1330
+ */
1331
+ playbackSpeed?: number;
1332
+ /**
1333
+ * The offset of the current playback from the start of the video in milliseconds.
1334
+ */
1335
+ positionMs: number;
1336
+ /**
1337
+ * 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.
1338
+ */
1339
+ prevPositionMs: number;
1340
+ /**
1341
+ * The current playback quality.
1342
+ */
1343
+ quality?: string;
1344
+ /**
1345
+ * The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
1346
+ */
1347
+ seekFromMs?: number;
1348
+ /**
1349
+ * The playback position (in milliseconds) the user sought to. Only included when engagement.type = "seek"
1350
+ */
1351
+ seekToMs?: number;
1352
+ /**
1353
+ * How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc.
1354
+ */
1355
+ viewTimeMs: number;
1356
+ };
1168
1357
  metrics?: IMetrics;
1169
1358
  object: {
1170
1359
  /**
1171
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
1360
+ * Numeric value of the video aspect ratio
1172
1361
  */
1173
- containerName: string;
1362
+ aspectRatio: number;
1174
1363
  /**
1175
- * The context in which the recommendation was made.
1364
+ * The editorial category of this video
1176
1365
  */
1177
- curateContext?: string;
1366
+ category: string;
1178
1367
  /**
1179
- * How the content is presented on the page.
1368
+ * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
1180
1369
  */
1181
- displayMode: "Normal" | "Sticky" | "Fullscreen" | "Overlay" | "Minimized" | "PictureInPicture" | "Chromecast" | "Airplay" | "Carplay" | "Background" | "Floating";
1370
+ containerName: string;
1182
1371
  /**
1183
1372
  * The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
1184
1373
  */
@@ -1187,6 +1376,22 @@ interface IEngagementVideo {
1187
1376
  * The size of the player.
1188
1377
  */
1189
1378
  elementSize?: "XS" | "S" | "M" | "L" | "XL";
1379
+ /**
1380
+ * 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
1381
+ */
1382
+ entryPoint: string;
1383
+ /**
1384
+ * Which episode
1385
+ */
1386
+ episode?: string;
1387
+ /**
1388
+ * Video thumbnail from Stream to use in (Kilkaya) dashboards
1389
+ */
1390
+ imageUrl: string;
1391
+ /**
1392
+ * True if the video is accessible for the user
1393
+ */
1394
+ isAccessible: boolean;
1190
1395
  /**
1191
1396
  * True if the video is an ad published through editorial CMS and not Xandr.
1192
1397
  */
@@ -1195,18 +1400,10 @@ interface IEngagementVideo {
1195
1400
  * True if the video has loop
1196
1401
  */
1197
1402
  isLoop: boolean;
1198
- /**
1199
- * True if the video is muted.
1200
- */
1201
- isMuted: boolean;
1202
1403
  /**
1203
1404
  * True if video is sponsored.
1204
1405
  */
1205
1406
  isSponsored: boolean;
1206
- /**
1207
- * The number of times the video has automatically repeated itself.
1208
- */
1209
- loopCount?: number;
1210
1407
  /**
1211
1408
  * The name of the video.
1212
1409
  */
@@ -1224,13 +1421,13 @@ interface IEngagementVideo {
1224
1421
  */
1225
1422
  objectType: "Video";
1226
1423
  /**
1227
- * Indicates how the video started.
1424
+ * Indicates how the video is configured to start
1228
1425
  */
1229
- playType: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
1426
+ playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
1230
1427
  /**
1231
- * The current playback speed.
1428
+ * The type of player exposed to the user
1232
1429
  */
1233
- playbackSpeed?: number;
1430
+ player: "VideoPlayer" | "StoriesPlayer" | "AudioPlayer" | "TtsPlayer";
1234
1431
  /**
1235
1432
  * A unique ID for this player instance.
1236
1433
  */
@@ -1240,37 +1437,22 @@ interface IEngagementVideo {
1240
1437
  */
1241
1438
  playlistId?: string;
1242
1439
  /**
1243
- * The offset of the current playback from the start of the video in milliseconds.
1440
+ * The position of the video in the playlist.
1244
1441
  */
1245
- positionMs: number;
1442
+ queuePosition?: number;
1246
1443
  /**
1247
- * 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.
1248
- */
1249
- prevPositionMs: number;
1250
- /**
1251
- * The current playback quality.
1252
- */
1253
- quality?: string;
1254
- /**
1255
- * The position of the video in the playlist.
1256
- */
1257
- queuePosition?: number;
1258
- /**
1259
- * The playback position (in milliseconds) the user initiated the seek (timeline jump) from. Only included when engagement.type = "seek"
1444
+ * Which season
1260
1445
  */
1261
- seekFromMs?: number;
1446
+ season?: string;
1262
1447
  /**
1263
- * The playback position (in milliseconds) the user sought to. Only included when engagement.type = "seek"
1448
+ * Follow accesslevel from Stream (viewer access)
1264
1449
  */
1265
- seekToMs?: number;
1450
+ streamAccessLevel: string;
1266
1451
  /**
1267
1452
  * Reflects the stream type as defined in Stream at the time of playback.
1268
1453
  */
1269
1454
  streamType: string;
1270
- /**
1271
- * How much time user has spent on the playback (in milliseconds) regardless of seeking, pausing etc.
1272
- */
1273
- userDurationMs: number;
1455
+ tags?: string[];
1274
1456
  /**
1275
1457
  * Type of video. Fetched from content type in Stream.
1276
1458
  */
@@ -1300,6 +1482,10 @@ interface IEngagementVideo {
1300
1482
  user?: IUser;
1301
1483
  }
1302
1484
  interface IEngagementVideoAd {
1485
+ /**
1486
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1487
+ */
1488
+ catalogVersion: string;
1303
1489
  consents: IConsents;
1304
1490
  device: IDevice;
1305
1491
  /**
@@ -1328,6 +1514,20 @@ interface IEngagementVideoAd {
1328
1514
  */
1329
1515
  eventType: "Engagement";
1330
1516
  experiments?: IExperiments;
1517
+ /**
1518
+ * Type of user interaction with the video ad
1519
+ *
1520
+ */
1521
+ interaction?: {
1522
+ /**
1523
+ * True if the ad is muted.
1524
+ */
1525
+ isMuted: boolean;
1526
+ /**
1527
+ * Position (in milliseconds) for when the ad is skipped, stopped or completed.
1528
+ */
1529
+ positionMs: number;
1530
+ };
1331
1531
  object: {
1332
1532
  /**
1333
1533
  * Duration of this specific ad in milliseconds. If the duration is unknown or not provided by the ad server, the fallback is -1.
@@ -1361,10 +1561,6 @@ interface IEngagementVideoAd {
1361
1561
  * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
1362
1562
  */
1363
1563
  containerName: string;
1364
- /**
1365
- * True if the ad is muted.
1366
- */
1367
- isMuted: boolean;
1368
1564
  /**
1369
1565
  * The identifier of the asset the ad belongs to.
1370
1566
  */
@@ -1389,10 +1585,6 @@ interface IEngagementVideoAd {
1389
1585
  * A unique ID for this player instance.
1390
1586
  */
1391
1587
  playerId: string;
1392
- /**
1393
- * Position for when the ad is skipped, stopped or completed.
1394
- */
1395
- positionMs: number;
1396
1588
  };
1397
1589
  page: {
1398
1590
  content?: IContent;
@@ -1418,6 +1610,10 @@ interface IEngagementVideoAd {
1418
1610
  user?: IUser;
1419
1611
  }
1420
1612
  interface IEngagementWidget {
1613
+ /**
1614
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1615
+ */
1616
+ catalogVersion: string;
1421
1617
  consents: IConsents;
1422
1618
  device: IDevice;
1423
1619
  engagement: IEngagement;
@@ -1459,14 +1655,6 @@ interface IEngagementWidget {
1459
1655
  * The parent’s primary direction along which components are laid out.
1460
1656
  */
1461
1657
  primaryAxis?: "Horizontal" | "Vertical";
1462
- /**
1463
- * The position of this component along the primary axis.
1464
- */
1465
- primaryPosition: number;
1466
- /**
1467
- * The position of this component along the secondary axis.
1468
- */
1469
- secondaryPosition: number;
1470
1658
  };
1471
1659
  page: {
1472
1660
  content?: IContent;
@@ -1478,6 +1666,7 @@ interface IEngagementWidget {
1478
1666
  referrer?: IPageRef;
1479
1667
  utm?: IUtmTags;
1480
1668
  };
1669
+ placement: IPlacement;
1481
1670
  provider: IProvider;
1482
1671
  /**
1483
1672
  * The schema of the event.
@@ -1492,54 +1681,11 @@ interface IEngagementWidget {
1492
1681
  tracker: ITracker;
1493
1682
  user?: IUser;
1494
1683
  }
1495
- interface IImpressionAdSlot {
1496
- consents: IConsents;
1497
- device: IDevice;
1498
- /**
1499
- * The unique identifier for the event.
1500
- */
1501
- eventId: string;
1502
- /**
1503
- * The type of the event.
1504
- */
1505
- eventType: "Impression";
1506
- experiments?: IExperiments;
1507
- object: {
1508
- availableFormats: ("Preroll" | "Bumper" | "Board" | "Netboard" | "Wallpaper" | "Fullscreen" | "BannerXL" | "Broadband" | "Skyscraper" | "Horseshoe" | "PauseBanner" | "Snapchat" | "FoodChannel")[];
1509
- /**
1510
- * The type of the object.
1511
- */
1512
- objectType: "AdSlot";
1513
- /**
1514
- * The identifier of the player.
1515
- */
1516
- playerId: string;
1517
- /**
1518
- * The identifier of the ad request.
1519
- */
1520
- queuePointId: string;
1521
- };
1522
- page: {
1523
- content?: IContent;
1524
- info: IPageRef;
1525
- /**
1526
- * The pageviewID.
1527
- */
1528
- pageviewId: string;
1529
- referrer?: IPageRef;
1530
- utm?: IUtmTags;
1531
- };
1532
- provider: IProvider;
1684
+ interface IImpressionForm {
1533
1685
  /**
1534
- * URL to the JSON schema for this event.
1686
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1535
1687
  */
1536
- schema: string;
1537
- session: ISession;
1538
- time: ITime;
1539
- tracker: ITracker;
1540
- user?: IUser;
1541
- }
1542
- interface IImpressionForm {
1688
+ catalogVersion: string;
1543
1689
  consents: IConsents;
1544
1690
  device: IDevice;
1545
1691
  /**
@@ -1624,6 +1770,10 @@ interface IImpressionForm {
1624
1770
  user?: IUser;
1625
1771
  }
1626
1772
  interface IImpressionHealthUIElement {
1773
+ /**
1774
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1775
+ */
1776
+ catalogVersion: string;
1627
1777
  consents: IConsents;
1628
1778
  device: IDevice;
1629
1779
  /**
@@ -1722,6 +1872,10 @@ interface IImpressionHealthUIElement {
1722
1872
  user?: IUser;
1723
1873
  }
1724
1874
  interface IImpressionNotification {
1875
+ /**
1876
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1877
+ */
1878
+ catalogVersion: string;
1725
1879
  consents: IConsents;
1726
1880
  device: IDevice;
1727
1881
  /**
@@ -1784,6 +1938,10 @@ interface IImpressionNotification {
1784
1938
  user?: IUser;
1785
1939
  }
1786
1940
  interface IImpressionOffer {
1941
+ /**
1942
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
1943
+ */
1944
+ catalogVersion: string;
1787
1945
  consents: IConsents;
1788
1946
  device: IDevice;
1789
1947
  /**
@@ -1836,7 +1994,7 @@ interface IImpressionOffer {
1836
1994
  /**
1837
1995
  * The variant/layout of the offer.
1838
1996
  */
1839
- offerType: "Login" | "Meter" | "Paid";
1997
+ offerType?: "Login" | "Meter" | "Paid";
1840
1998
  };
1841
1999
  page: {
1842
2000
  content?: IContent;
@@ -1863,6 +2021,10 @@ interface IImpressionOffer {
1863
2021
  user?: IUser;
1864
2022
  }
1865
2023
  interface IImpressionPlayer {
2024
+ /**
2025
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2026
+ */
2027
+ catalogVersion: string;
1866
2028
  consents: IConsents;
1867
2029
  device: IDevice;
1868
2030
  /**
@@ -1889,11 +2051,11 @@ interface IImpressionPlayer {
1889
2051
  */
1890
2052
  foldPosition: "Above" | "Below" | "Unknown";
1891
2053
  /**
1892
- * The unique ID of the embedded asset ready to play in the player.
2054
+ * The unique ID of the embedded asset (not ads from Xandr) ready to play in the player.
1893
2055
  */
1894
2056
  mediaAssetId: string;
1895
2057
  /**
1896
- * The name of the embedded asset. Fallback is -1 when name is not available.
2058
+ * The name of the embedded asset (not ads from Xandr). Fallback is -1 when name is not available.
1897
2059
  */
1898
2060
  mediaAssetName: string;
1899
2061
  /**
@@ -1907,19 +2069,15 @@ interface IImpressionPlayer {
1907
2069
  /**
1908
2070
  * The type of player exposed to the user.
1909
2071
  */
2072
+ player: "VideoPlayer" | "StoriesPlayer" | "AudioPlayer" | "TtsPlayer";
2073
+ /**
2074
+ * The type of player engine exposed to the user.
2075
+ */
1910
2076
  playerEngine: "WebPlayer" | "AppPlayer";
1911
2077
  /**
1912
2078
  * A unique ID for this player instance.
1913
2079
  */
1914
2080
  playerId: string;
1915
- /**
1916
- * The type of player exposed to the user.
1917
- */
1918
- playerType: "VideoPlayer" | "StoriesPlayer" | "AudioPlayer" | "TtsPlayer";
1919
- /**
1920
- * The vertical position of the container within its context.
1921
- */
1922
- primaryPosition?: number;
1923
2081
  };
1924
2082
  page: {
1925
2083
  content?: IContent;
@@ -1931,6 +2089,7 @@ interface IImpressionPlayer {
1931
2089
  referrer?: IPageRef;
1932
2090
  utm?: IUtmTags;
1933
2091
  };
2092
+ placement: IPlacement;
1934
2093
  provider: IProvider;
1935
2094
  /**
1936
2095
  * URL to the JSON schema for this event.
@@ -1942,6 +2101,10 @@ interface IImpressionPlayer {
1942
2101
  user?: IUser;
1943
2102
  }
1944
2103
  interface IImpressionTeaser {
2104
+ /**
2105
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2106
+ */
2107
+ catalogVersion: string;
1945
2108
  consents: IConsents;
1946
2109
  device: IDevice;
1947
2110
  /**
@@ -1991,19 +2154,10 @@ interface IImpressionTeaser {
1991
2154
  * The type of the object.
1992
2155
  */
1993
2156
  objectType: "Teaser";
1994
- placement?: IPlacement;
1995
2157
  /**
1996
2158
  * The parent’s primary direction along which components are laid out.
1997
2159
  */
1998
2160
  primaryAxis: "Horizontal" | "Vertical";
1999
- /**
2000
- * The position of this component along the primary axis.
2001
- */
2002
- primaryPosition: number;
2003
- /**
2004
- * The position of this component along the secondary axis.
2005
- */
2006
- secondaryPosition: number;
2007
2161
  /**
2008
2162
  * The title of the teaser.
2009
2163
  */
@@ -2019,6 +2173,7 @@ interface IImpressionTeaser {
2019
2173
  referrer?: IPageRef;
2020
2174
  utm?: IUtmTags;
2021
2175
  };
2176
+ placement: IPlacement;
2022
2177
  provider: IProvider;
2023
2178
  /**
2024
2179
  * URL to the JSON schema for this event.
@@ -2034,6 +2189,10 @@ interface IImpressionTeaser {
2034
2189
  user?: IUser;
2035
2190
  }
2036
2191
  interface IImpressionUIElement {
2192
+ /**
2193
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2194
+ */
2195
+ catalogVersion: string;
2037
2196
  consents: IConsents;
2038
2197
  device: IDevice;
2039
2198
  /**
@@ -2112,6 +2271,10 @@ interface IImpressionUIElement {
2112
2271
  user?: IUser;
2113
2272
  }
2114
2273
  interface IImpressionWidget {
2274
+ /**
2275
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2276
+ */
2277
+ catalogVersion: string;
2115
2278
  consents: IConsents;
2116
2279
  device: IDevice;
2117
2280
  /**
@@ -2157,14 +2320,6 @@ interface IImpressionWidget {
2157
2320
  * The parent’s primary direction along which components are laid out.
2158
2321
  */
2159
2322
  primaryAxis: "Horizontal" | "Vertical";
2160
- /**
2161
- * The position of this component along the primary axis.
2162
- */
2163
- primaryPosition: number;
2164
- /**
2165
- * The position of this component along the secondary axis.
2166
- */
2167
- secondaryPosition: number;
2168
2323
  };
2169
2324
  page: {
2170
2325
  content?: IContent;
@@ -2176,6 +2331,7 @@ interface IImpressionWidget {
2176
2331
  referrer?: IPageRef;
2177
2332
  utm?: IUtmTags;
2178
2333
  };
2334
+ placement: IPlacement;
2179
2335
  provider: IProvider;
2180
2336
  /**
2181
2337
  * URL to the JSON schema for this event.
@@ -2190,7 +2346,159 @@ interface IImpressionWidget {
2190
2346
  tracker: ITracker;
2191
2347
  user?: IUser;
2192
2348
  }
2349
+ interface IInternalAccessDecision {
2350
+ /**
2351
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2352
+ */
2353
+ catalogVersion: string;
2354
+ consents: IConsents;
2355
+ device: {
2356
+ /**
2357
+ * The client used to render the site.
2358
+ */
2359
+ clientType?: "Chrome" | "Safari" | "Edge" | "Firefox" | "Samsung" | "NativeScreen" | "Webview" | "Other";
2360
+ /**
2361
+ * The device’s hardware category.
2362
+ */
2363
+ deviceType?: "Desktop" | "Mobile" | "Tablet" | "SmartTv" | "Other";
2364
+ /**
2365
+ * The environment ID.
2366
+ */
2367
+ environmentId: string;
2368
+ /**
2369
+ * The device’s operating system.
2370
+ */
2371
+ operatingSystem?: "Windows" | "Mac" | "Linux" | "Other";
2372
+ /**
2373
+ * The raw userAgent string, if it exists.
2374
+ */
2375
+ userAgent: string;
2376
+ };
2377
+ /**
2378
+ * The unique identifier for the event.
2379
+ */
2380
+ eventId: string;
2381
+ /**
2382
+ * The type of the event.
2383
+ */
2384
+ eventType: "Internal";
2385
+ experiments?: IExperiments;
2386
+ object: {
2387
+ arm: {
2388
+ /**
2389
+ * Unique ID of the experimental arm the user is assigned to.
2390
+ */
2391
+ armId: string;
2392
+ /**
2393
+ * By which mechanism the user was assigned to the arm.
2394
+ */
2395
+ assignmentSource: "Hash" | "Cache";
2396
+ /**
2397
+ * Complete setup of all arms at time of decision.
2398
+ */
2399
+ config: {
2400
+ armId: string;
2401
+ version: string;
2402
+ weight: number;
2403
+ }[];
2404
+ /**
2405
+ * Unique ID of the arm configuration.
2406
+ */
2407
+ configId: string;
2408
+ /**
2409
+ * End time of the arm assignment in UTC.
2410
+ */
2411
+ endAt: string;
2412
+ /**
2413
+ * Start time of the arm assignment in UTC.
2414
+ */
2415
+ startAt: string;
2416
+ };
2417
+ /**
2418
+ * When the decision system created the decision in UTC.
2419
+ */
2420
+ decidedAt: string;
2421
+ /**
2422
+ * The decision made.
2423
+ */
2424
+ decision: "Open" | "Close" | "Login";
2425
+ /**
2426
+ * Unique ID of the decision.
2427
+ */
2428
+ decisionId: string;
2429
+ /**
2430
+ * Versioning of decision models.
2431
+ */
2432
+ decisionPolicy: string;
2433
+ /**
2434
+ * Categorization of how the decision was made.
2435
+ */
2436
+ decisionType: "RCT" | "Policy" | "Replay" | "Fallback";
2437
+ episode: {
2438
+ /**
2439
+ * End time of the episode in UTC.
2440
+ */
2441
+ endAt: string;
2442
+ /**
2443
+ * Unique ID of the episode.
2444
+ */
2445
+ episodeId: string;
2446
+ /**
2447
+ * Start time of the episode in UTC.
2448
+ */
2449
+ startAt: string;
2450
+ };
2451
+ /**
2452
+ * The type of the object.
2453
+ */
2454
+ objectType: "AccessDecision";
2455
+ /**
2456
+ * ID from SalesPoster service.
2457
+ */
2458
+ requestId: string;
2459
+ };
2460
+ page?: {
2461
+ referrer?: IPageRef;
2462
+ };
2463
+ provider: IProvider;
2464
+ /**
2465
+ * URL to the JSON schema for this event.
2466
+ */
2467
+ schema: string;
2468
+ target: {
2469
+ content: {
2470
+ /**
2471
+ * The access restriction placed on the content.
2472
+ */
2473
+ accessLevel?: "Free" | "Login" | "Meter" | "Paid" | "Dynamic";
2474
+ /**
2475
+ * The format that this content is presented in.
2476
+ */
2477
+ category?: "Article" | "Audio" | "Video" | "Weather" | "Title" | "Other";
2478
+ /**
2479
+ * The identifier of the content.
2480
+ */
2481
+ contentId: string;
2482
+ /**
2483
+ * The subtype of the content.
2484
+ */
2485
+ contentType?: "Article" | "LiveArticle" | "SpecialArticle" | "Podcast" | "Episode" | "Audiobook" | "AudiobookSample" | "Movie" | "Series" | "Story";
2486
+ /**
2487
+ * 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.
2488
+ */
2489
+ providerId: string;
2490
+ tags: string[];
2491
+ };
2492
+ };
2493
+ time: ITime;
2494
+ tracker: ITracker;
2495
+ user?: IUser;
2496
+ }
2193
2497
  interface IInternalProbe {
2498
+ /**
2499
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2500
+ */
2501
+ catalogVersion: string;
2194
2502
  /**
2195
2503
  * The unique identifier for the event.
2196
2504
  */
@@ -2220,6 +2528,42 @@ interface IInternalProbe {
2220
2528
  sequenceNumber: number;
2221
2529
  time: ITime;
2222
2530
  }
2531
+ interface ILaunchApp {
2532
+ /**
2533
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2534
+ */
2535
+ catalogVersion: string;
2536
+ consents: IConsents;
2537
+ device: IDevice;
2538
+ /**
2539
+ * The unique identifier for the event.
2540
+ */
2541
+ eventId: string;
2542
+ /**
2543
+ * The type of the event.
2544
+ */
2545
+ eventType: "Launch";
2546
+ experiments?: IExperiments;
2547
+ metrics?: IMetrics;
2548
+ object: {
2549
+ custom: {
2550
+ [k: string]: unknown;
2551
+ };
2552
+ /**
2553
+ * The type of the object.
2554
+ */
2555
+ objectType: "App";
2556
+ };
2557
+ provider: IProvider;
2558
+ /**
2559
+ * URL to the JSON schema for this event.
2560
+ */
2561
+ schema: string;
2562
+ session: ISession;
2563
+ time: ITime;
2564
+ tracker: ITracker;
2565
+ user?: IUser;
2566
+ }
2223
2567
  interface ILeave {
2224
2568
  /**
2225
2569
  * The total active time a user spends on the page in milliseconds. Active implies a timespan of less than 30 sec since triggering one of the following browser events(On web): 'mousedown', 'mousemove', 'keydown', 'scroll', 'touchstart'.
@@ -2255,6 +2599,10 @@ interface ILeave {
2255
2599
  pageViewPercentage: number;
2256
2600
  }
2257
2601
  interface ILeaveArticle {
2602
+ /**
2603
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2604
+ */
2605
+ catalogVersion: string;
2258
2606
  consents: IConsents;
2259
2607
  device: IDevice;
2260
2608
  /**
@@ -2268,15 +2616,10 @@ interface ILeaveArticle {
2268
2616
  experiments?: IExperiments;
2269
2617
  leave: ILeave;
2270
2618
  object: {
2271
- authors: string[];
2272
2619
  /**
2273
2620
  * The editorial category of this article.
2274
2621
  */
2275
2622
  category: string;
2276
- /**
2277
- * The hotness value that was set in the CMS.
2278
- */
2279
- hotness: number;
2280
2623
  /**
2281
2624
  * True if scrolling up/down transitions to the next or previous article.
2282
2625
  */
@@ -2285,10 +2628,6 @@ interface ILeaveArticle {
2285
2628
  * The publication date of this version of the article.
2286
2629
  */
2287
2630
  lastUpdatedDate: string;
2288
- /**
2289
- * The lifetime value that was set in the CMS.
2290
- */
2291
- lifetime: number;
2292
2631
  /**
2293
2632
  * The newsroom that published the article.
2294
2633
  */
@@ -2309,10 +2648,6 @@ interface ILeaveArticle {
2309
2648
  * The publication date of the article.
2310
2649
  */
2311
2650
  publicationDate: string;
2312
- /**
2313
- * The name of the company that sponsored the article. Omitted if the article was not sponsored.
2314
- */
2315
- sponsor?: string;
2316
2651
  /**
2317
2652
  * The title of the page.
2318
2653
  */
@@ -2325,10 +2660,6 @@ interface ILeaveArticle {
2325
2660
  * The version counter of the article.
2326
2661
  */
2327
2662
  versionCounter: number;
2328
- /**
2329
- * The number of words in this version of the article.
2330
- */
2331
- wordCount: number;
2332
2663
  };
2333
2664
  page: {
2334
2665
  content: IContent;
@@ -2381,6 +2712,10 @@ interface ILeaveAudio {
2381
2712
  playlistPositionPercentage?: number;
2382
2713
  }
2383
2714
  interface ILeaveAudioPage {
2715
+ /**
2716
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2717
+ */
2718
+ catalogVersion: string;
2384
2719
  consents: IConsents;
2385
2720
  device: IDevice;
2386
2721
  /**
@@ -2391,8 +2726,10 @@ interface ILeaveAudioPage {
2391
2726
  * The type of the event.
2392
2727
  */
2393
2728
  eventType: "Leave";
2729
+ experiments?: IExperiments;
2394
2730
  leave: ILeave;
2395
2731
  leaveAudio: ILeaveAudio;
2732
+ metrics?: IMetrics;
2396
2733
  object: {
2397
2734
  /**
2398
2735
  * The location of the page in the brand’s page hierarchy.
@@ -2407,10 +2744,6 @@ interface ILeaveAudioPage {
2407
2744
  */
2408
2745
  objectSdrn: string;
2409
2746
  objectType: "AudioPage";
2410
- /**
2411
- * The ID of the playlist.
2412
- */
2413
- playlistId?: string;
2414
2747
  /**
2415
2748
  * The title of the page.
2416
2749
  */
@@ -2441,6 +2774,10 @@ interface ILeaveAudioPage {
2441
2774
  user?: IUser;
2442
2775
  }
2443
2776
  interface ILeaveError {
2777
+ /**
2778
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2779
+ */
2780
+ catalogVersion: string;
2444
2781
  consents: IConsents;
2445
2782
  device: IDevice;
2446
2783
  /**
@@ -2507,6 +2844,10 @@ interface ILeaveError {
2507
2844
  user?: IUser;
2508
2845
  }
2509
2846
  interface ILeaveFrontpage {
2847
+ /**
2848
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2849
+ */
2850
+ catalogVersion: string;
2510
2851
  consents: IConsents;
2511
2852
  device: IDevice;
2512
2853
  /**
@@ -2581,6 +2922,10 @@ interface ILeaveFrontpage {
2581
2922
  user?: IUser;
2582
2923
  }
2583
2924
  interface ILeaveLandingpage {
2925
+ /**
2926
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2927
+ */
2928
+ catalogVersion: string;
2584
2929
  consents: IConsents;
2585
2930
  device: IDevice;
2586
2931
  /**
@@ -2643,6 +2988,10 @@ interface ILeaveLandingpage {
2643
2988
  user?: IUser;
2644
2989
  }
2645
2990
  interface ILeaveListing {
2991
+ /**
2992
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
2993
+ */
2994
+ catalogVersion: string;
2646
2995
  consents: IConsents;
2647
2996
  device: IDevice;
2648
2997
  /**
@@ -2725,6 +3074,10 @@ interface ILeaveListing {
2725
3074
  user?: IUser;
2726
3075
  }
2727
3076
  interface ILeaveLockedArticle {
3077
+ /**
3078
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3079
+ */
3080
+ catalogVersion: string;
2728
3081
  consents: IConsents;
2729
3082
  device: IDevice;
2730
3083
  /**
@@ -2738,15 +3091,10 @@ interface ILeaveLockedArticle {
2738
3091
  experiments?: IExperiments;
2739
3092
  leave: ILeave;
2740
3093
  object: {
2741
- authors: string[];
2742
3094
  /**
2743
3095
  * The location of the page in the brand’s page hierarchy.
2744
3096
  */
2745
3097
  category: string;
2746
- /**
2747
- * The hotness value that was set in the CMS.
2748
- */
2749
- hotness: number;
2750
3098
  /**
2751
3099
  * True if scrolling up/down transitions to the next or previous article.
2752
3100
  */
@@ -2755,10 +3103,6 @@ interface ILeaveLockedArticle {
2755
3103
  * The publication date of this version of the article.
2756
3104
  */
2757
3105
  lastUpdatedDate: string;
2758
- /**
2759
- * The lifetime value that was set in the CMS.
2760
- */
2761
- lifetime: number;
2762
3106
  /**
2763
3107
  * The newsroom that published the article.
2764
3108
  */
@@ -2775,6 +3119,10 @@ interface ILeaveLockedArticle {
2775
3119
  * The type of this page.
2776
3120
  */
2777
3121
  objectType: "LockedArticle";
3122
+ /**
3123
+ * Indicator if the offer was visible at pageload (“above”) or if the user had to scroll to it (“below”).
3124
+ */
3125
+ offerFoldPosition: "Above" | "Below" | "Unknown";
2778
3126
  /**
2779
3127
  * The reason the user saw this paywall instead of the content.
2780
3128
  */
@@ -2783,10 +3131,6 @@ interface ILeaveLockedArticle {
2783
3131
  * The publication date of the article.
2784
3132
  */
2785
3133
  publicationDate: string;
2786
- /**
2787
- * The name of the company that sponsored the article. Omitted if the article was not sponsored.
2788
- */
2789
- sponsor?: string;
2790
3134
  /**
2791
3135
  * The title of the page.
2792
3136
  */
@@ -2799,10 +3143,6 @@ interface ILeaveLockedArticle {
2799
3143
  * The version counter of the article.
2800
3144
  */
2801
3145
  versionCounter: number;
2802
- /**
2803
- * The number of words in this version of the article.
2804
- */
2805
- wordCount: number;
2806
3146
  };
2807
3147
  page: {
2808
3148
  content: IContent;
@@ -2828,106 +3168,53 @@ interface ILeaveLockedArticle {
2828
3168
  tracker: ITracker;
2829
3169
  user?: IUser;
2830
3170
  }
2831
- interface ILeaveLockedAudio {
3171
+ interface ILeaveLockedAudioPage {
3172
+ /**
3173
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3174
+ */
3175
+ catalogVersion: string;
2832
3176
  consents: IConsents;
2833
3177
  device: IDevice;
2834
3178
  /**
2835
- * Event ID
3179
+ * The unique identifier for the event.
2836
3180
  */
2837
3181
  eventId: string;
2838
3182
  /**
2839
- * The type of event.
3183
+ * The type of the event.
2840
3184
  */
2841
3185
  eventType: "Leave";
2842
3186
  experiments?: IExperiments;
2843
3187
  leave: ILeave;
3188
+ metrics?: IMetrics;
2844
3189
  object: {
2845
3190
  /**
2846
- * The editorial category of this audio.
3191
+ * The location of the page in the brand’s page hierarchy.
2847
3192
  */
2848
3193
  category: string;
2849
3194
  /**
2850
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
2851
- */
2852
- containerName: string;
2853
- /**
2854
- * The context in which the recommendation was made.
2855
- */
2856
- curateContext?: string;
2857
- /**
2858
- * The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
2859
- */
2860
- durationMs: number;
2861
- /**
2862
- * 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.
2863
- */
2864
- entryPoint: string;
2865
- /**
2866
- * Which episode.
2867
- */
2868
- episode?: string;
2869
- /**
2870
- * Audio thumbnail from Stream to use in (Kilkaya) dashboards.
2871
- */
2872
- imageUrl: string;
2873
- /**
2874
- * True if the audio is accessible to the user.
3195
+ * True if content is accessible to the user.
2875
3196
  */
2876
3197
  isAccessible: boolean;
2877
3198
  /**
2878
- * The name of the audio.
2879
- */
2880
- name: string;
2881
- /**
2882
- * The unique ID of this audio.
3199
+ * The unique ID of this page.
2883
3200
  */
2884
3201
  objectId: string;
2885
3202
  /**
2886
- * The unique SDRN of this audio.
3203
+ * The unique SDRN of this page.
2887
3204
  */
2888
3205
  objectSdrn: string;
2889
- objectType: "LockedAudio";
2890
- /**
2891
- * The reason the user saw this paywall instead of the content.
2892
- */
2893
- paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
2894
- /**
2895
- * Indicates how the audio is configured to start.
2896
- */
2897
- playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
2898
- /**
2899
- * A unique ID for this player instance.
2900
- */
2901
- playerId: string;
2902
- /**
2903
- * The ID of the playlist.
2904
- */
2905
- playlistId?: string;
2906
- /**
2907
- * The unique ID for this audio when published at PodMe.
2908
- */
2909
- podmeId?: string;
2910
- /**
2911
- * The position of the audio in the playlist.
2912
- */
2913
- queuePosition?: number;
2914
- /**
2915
- * Which season.
2916
- */
2917
- season?: string;
2918
3206
  /**
2919
- * Follow accesslevel from Stream (viewer access).
3207
+ * The type of the object.
2920
3208
  */
2921
- streamAccessLevel: string;
3209
+ objectType: "LockedAudioPage";
2922
3210
  /**
2923
- * Reflects the stream type as defined in Stream at the time of playback.
3211
+ * The reason the user saw this paywall instead of the content.
2924
3212
  */
2925
- streamType: string;
2926
- tags?: string[];
3213
+ paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
2927
3214
  /**
2928
- * Type of audio. Fetched from content type in Stream.
3215
+ * The title of the page.
2929
3216
  */
2930
- variant: string;
3217
+ title: string;
2931
3218
  };
2932
3219
  page: {
2933
3220
  content?: IContent;
@@ -2945,7 +3232,7 @@ interface ILeaveLockedAudio {
2945
3232
  };
2946
3233
  provider: IProvider;
2947
3234
  /**
2948
- * The schema of the event.
3235
+ * URL to the JSON schema for this event.
2949
3236
  */
2950
3237
  schema: string;
2951
3238
  session: ISession;
@@ -2953,7 +3240,11 @@ interface ILeaveLockedAudio {
2953
3240
  tracker: ITracker;
2954
3241
  user?: IUser;
2955
3242
  }
2956
- interface ILeaveLockedAudioPage {
3243
+ interface ILeaveLockedVideoPage {
3244
+ /**
3245
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3246
+ */
3247
+ catalogVersion: string;
2957
3248
  consents: IConsents;
2958
3249
  device: IDevice;
2959
3250
  /**
@@ -2964,14 +3255,16 @@ interface ILeaveLockedAudioPage {
2964
3255
  * The type of the event.
2965
3256
  */
2966
3257
  eventType: "Leave";
3258
+ experiments?: IExperiments;
2967
3259
  leave: ILeave;
3260
+ metrics?: IMetrics;
2968
3261
  object: {
2969
3262
  /**
2970
3263
  * The location of the page in the brand’s page hierarchy.
2971
3264
  */
2972
3265
  category: string;
2973
3266
  /**
2974
- * True if content is accessible to the user.
3267
+ * True if the content is accessible to the user.
2975
3268
  */
2976
3269
  isAccessible: boolean;
2977
3270
  /**
@@ -2983,9 +3276,9 @@ interface ILeaveLockedAudioPage {
2983
3276
  */
2984
3277
  objectSdrn: string;
2985
3278
  /**
2986
- * The type of the object.
3279
+ * The type of the page.
2987
3280
  */
2988
- objectType: "LockedAudioPage";
3281
+ objectType: "LockedVideoPage";
2989
3282
  /**
2990
3283
  * The reason the user saw this paywall instead of the content.
2991
3284
  */
@@ -3019,7 +3312,11 @@ interface ILeaveLockedAudioPage {
3019
3312
  tracker: ITracker;
3020
3313
  user?: IUser;
3021
3314
  }
3022
- interface ILeaveLockedVideo {
3315
+ interface ILeavePage {
3316
+ /**
3317
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3318
+ */
3319
+ catalogVersion: string;
3023
3320
  consents: IConsents;
3024
3321
  device: IDevice;
3025
3322
  /**
@@ -3034,100 +3331,22 @@ interface ILeaveLockedVideo {
3034
3331
  leave: ILeave;
3035
3332
  object: {
3036
3333
  /**
3037
- * Numeric value of the video aspect ratio.
3038
- */
3039
- aspectRatio: number;
3040
- /**
3041
- * The editorial category of this video.
3042
- */
3043
- category: string;
3044
- /**
3045
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
3046
- */
3047
- containerName: string;
3048
- /**
3049
- * The context in which the recommendation was made.
3050
- */
3051
- curateContext?: string;
3052
- /**
3053
- * The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
3054
- */
3055
- durationMs: number;
3056
- /**
3057
- * 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.
3058
- */
3059
- entryPoint: string;
3060
- /**
3061
- * Which episode.
3062
- */
3063
- episode?: string;
3064
- /**
3065
- * Video thumbnail from Stream to use in (Kilkaya) dashboards.
3066
- */
3067
- imageUrl: string;
3068
- /**
3069
- * True if the content is accessible to the user.
3070
- */
3071
- isAccessible: boolean;
3072
- /**
3073
- * The name of the video.
3074
- */
3075
- name: string;
3076
- /**
3077
- * The unique ID of this video.
3334
+ * The location of the page in the brand’s page hierarchy.
3078
3335
  */
3336
+ category?: string;
3079
3337
  objectId: string;
3080
- /**
3081
- * The unique SDRN for this video.
3082
- */
3083
3338
  objectSdrn: string;
3084
3339
  /**
3085
- * The type of the object.
3086
- */
3087
- objectType: "LockedVideo";
3088
- /**
3089
- * The reason the user saw this paywall instead of the content.
3090
- */
3091
- paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
3092
- /**
3093
- * Indicates how the video is configured to start.
3094
- */
3095
- playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
3096
- /**
3097
- * A unique ID for this player instance.
3098
- */
3099
- playerId: string;
3100
- /**
3101
- * The ID of the playlist.
3102
- */
3103
- playlistId?: string;
3104
- /**
3105
- * The position of the video in the playlist.
3106
- */
3107
- queuePosition?: number;
3108
- /**
3109
- * Which season.
3110
- */
3111
- season?: string;
3112
- /**
3113
- * Follow accesslevel from Stream (viewer access).
3114
- */
3115
- streamAccessLevel: string;
3116
- /**
3117
- * Reflects the stream type as defined in Stream at the time of playback.
3118
- */
3119
- streamType: string;
3120
- /**
3121
- * Tags from Stream.
3340
+ * The type of this page.
3122
3341
  */
3342
+ objectType: "Page";
3123
3343
  tags?: string[];
3124
3344
  /**
3125
- * Type of video. Fetched from content type in Stream.
3345
+ * The title of the page.
3126
3346
  */
3127
- variant: string;
3347
+ title: string;
3128
3348
  };
3129
3349
  page: {
3130
- content?: IContent;
3131
3350
  info: IPageRef;
3132
3351
  /**
3133
3352
  * The browser navigation that got the user to the current page.
@@ -3150,133 +3369,15 @@ interface ILeaveLockedVideo {
3150
3369
  tracker: ITracker;
3151
3370
  user?: IUser;
3152
3371
  }
3153
- interface ILeaveLockedVideoPage {
3154
- consents: IConsents;
3155
- device: IDevice;
3372
+ interface ISports {
3156
3373
  /**
3157
- * The unique identifier for the event.
3374
+ * Unique ID of the athlete.
3158
3375
  */
3159
- eventId: string;
3376
+ athleteId?: number;
3160
3377
  /**
3161
- * The type of the event.
3378
+ * Name of the athlete.
3162
3379
  */
3163
- eventType: "Leave";
3164
- leave: ILeave;
3165
- object: {
3166
- /**
3167
- * The location of the page in the brand’s page hierarchy.
3168
- */
3169
- category: string;
3170
- /**
3171
- * True if the content is accessible to the user.
3172
- */
3173
- isAccessible: boolean;
3174
- /**
3175
- * The unique ID of this page.
3176
- */
3177
- objectId: string;
3178
- /**
3179
- * The unique SDRN of this page.
3180
- */
3181
- objectSdrn: string;
3182
- /**
3183
- * The type of the page.
3184
- */
3185
- objectType: "LockedVideoPage";
3186
- /**
3187
- * The reason the user saw this paywall instead of the content.
3188
- */
3189
- paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
3190
- /**
3191
- * The title of the page.
3192
- */
3193
- title: string;
3194
- };
3195
- page: {
3196
- content?: IContent;
3197
- info: IPageRef;
3198
- /**
3199
- * The browser navigation that got the user to the current page.
3200
- */
3201
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
3202
- /**
3203
- * The pageviewID.
3204
- */
3205
- pageviewId: string;
3206
- referrer?: IPageRef;
3207
- utm?: IUtmTags;
3208
- };
3209
- provider: IProvider;
3210
- /**
3211
- * URL to the JSON schema for this event.
3212
- */
3213
- schema: string;
3214
- session: ISession;
3215
- time: ITime;
3216
- tracker: ITracker;
3217
- user?: IUser;
3218
- }
3219
- interface ILeavePage {
3220
- consents: IConsents;
3221
- device: IDevice;
3222
- /**
3223
- * Event ID
3224
- */
3225
- eventId: string;
3226
- /**
3227
- * The type of event.
3228
- */
3229
- eventType: "Leave";
3230
- experiments?: IExperiments;
3231
- leave: ILeave;
3232
- object: {
3233
- /**
3234
- * The location of the page in the brand’s page hierarchy.
3235
- */
3236
- category?: string;
3237
- objectId: string;
3238
- objectSdrn: string;
3239
- /**
3240
- * The type of this page.
3241
- */
3242
- objectType: "Page";
3243
- /**
3244
- * The title of the page.
3245
- */
3246
- title: string;
3247
- };
3248
- page: {
3249
- info: IPageRef;
3250
- /**
3251
- * The browser navigation that got the user to the current page.
3252
- */
3253
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
3254
- /**
3255
- * The pageviewID.
3256
- */
3257
- pageviewId: string;
3258
- referrer?: IPageRef;
3259
- utm?: IUtmTags;
3260
- };
3261
- provider: IProvider;
3262
- /**
3263
- * The schema of the event.
3264
- */
3265
- schema: string;
3266
- session: ISession;
3267
- time: ITime;
3268
- tracker: ITracker;
3269
- user?: IUser;
3270
- }
3271
- interface ISports {
3272
- /**
3273
- * Unique ID of the athlete.
3274
- */
3275
- atheleteId?: number;
3276
- /**
3277
- * Name of the athlete.
3278
- */
3279
- atheleteName?: string;
3380
+ athleteName?: string;
3280
3381
  /**
3281
3382
  * Unique ID of the competition.
3282
3383
  */
@@ -3375,6 +3476,10 @@ interface ISports {
3375
3476
  userTheme?: "Light" | "Dark" | "System" | "Other";
3376
3477
  }
3377
3478
  interface ILeaveSportsPage {
3479
+ /**
3480
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3481
+ */
3482
+ catalogVersion: string;
3378
3483
  consents: IConsents;
3379
3484
  device: IDevice;
3380
3485
  /**
@@ -3466,6 +3571,10 @@ interface ILeaveStories {
3466
3571
  storiesStarted: number;
3467
3572
  }
3468
3573
  interface ILeaveVideoPage {
3574
+ /**
3575
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3576
+ */
3577
+ catalogVersion: string;
3469
3578
  consents: IConsents;
3470
3579
  device: IDevice;
3471
3580
  /**
@@ -3476,8 +3585,10 @@ interface ILeaveVideoPage {
3476
3585
  * The type of the event.
3477
3586
  */
3478
3587
  eventType: "Leave";
3588
+ experiments?: IExperiments;
3479
3589
  leave: ILeave;
3480
3590
  leaveStories?: ILeaveStories;
3591
+ metrics?: IMetrics;
3481
3592
  object: {
3482
3593
  /**
3483
3594
  * The location of the page in the brand's page hierarchy.
@@ -3495,10 +3606,6 @@ interface ILeaveVideoPage {
3495
3606
  * The type of the object.
3496
3607
  */
3497
3608
  objectType: "VideoPage";
3498
- /**
3499
- * The ID of the playlist.
3500
- */
3501
- playlistId?: string;
3502
3609
  /**
3503
3610
  * The title of the page.
3504
3611
  */
@@ -3529,6 +3636,10 @@ interface ILeaveVideoPage {
3529
3636
  user?: IUser;
3530
3637
  }
3531
3638
  interface ILeaveWeather {
3639
+ /**
3640
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3641
+ */
3642
+ catalogVersion: string;
3532
3643
  consents: IConsents;
3533
3644
  device: IDevice;
3534
3645
  /**
@@ -3558,11 +3669,15 @@ interface ILeaveWeather {
3558
3669
  user?: IUser;
3559
3670
  }
3560
3671
  interface IPurchaseSubscription {
3672
+ /**
3673
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3674
+ */
3675
+ catalogVersion: string;
3561
3676
  consents?: IConsents;
3562
3677
  /**
3563
3678
  * Information about the device.
3564
3679
  */
3565
- device: {
3680
+ device?: {
3566
3681
  /**
3567
3682
  * The device’s hardware category.
3568
3683
  */
@@ -3570,7 +3685,7 @@ interface IPurchaseSubscription {
3570
3685
  /**
3571
3686
  * The environmentId.
3572
3687
  */
3573
- environmentId: string;
3688
+ environmentId?: string;
3574
3689
  };
3575
3690
  /**
3576
3691
  * The unique identifier for the event.
@@ -3672,7 +3787,16 @@ interface IPurchaseSubscription {
3672
3787
  tracker: ITracker;
3673
3788
  user: IUser;
3674
3789
  }
3790
+ interface ILocation {
3791
+ accuracy: number;
3792
+ latitude: string;
3793
+ longitude: string;
3794
+ }
3675
3795
  interface IViewArticle {
3796
+ /**
3797
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3798
+ */
3799
+ catalogVersion: string;
3676
3800
  consents: IConsents;
3677
3801
  device: IDevice;
3678
3802
  /**
@@ -3684,6 +3808,7 @@ interface IViewArticle {
3684
3808
  */
3685
3809
  eventType: "View";
3686
3810
  experiments?: IExperiments;
3811
+ location?: ILocation;
3687
3812
  object: {
3688
3813
  authors: string[];
3689
3814
  /**
@@ -3771,128 +3896,11 @@ interface IViewArticle {
3771
3896
  tracker: ITracker;
3772
3897
  user?: IUser;
3773
3898
  }
3774
- interface IViewAudio {
3775
- consents: IConsents;
3776
- device: IDevice;
3777
- /**
3778
- * Event ID
3779
- */
3780
- eventId: string;
3781
- eventType: "View";
3782
- experiments?: IExperiments;
3783
- metrics?: IMetrics;
3784
- object: {
3785
- /**
3786
- * The editorial category of this audio.
3787
- */
3788
- category: string;
3789
- /**
3790
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
3791
- */
3792
- containerName: string;
3793
- /**
3794
- * The context in which the recommendation was made.
3795
- */
3796
- curateContext?: string;
3797
- /**
3798
- * The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
3799
- */
3800
- durationMs: number;
3801
- /**
3802
- * 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.
3803
- */
3804
- entryPoint: string;
3805
- /**
3806
- * Which episode.
3807
- */
3808
- episode?: string;
3809
- /**
3810
- * Audio thumbnail from Stream to use in (Kilkaya) dashboards.
3811
- */
3812
- imageUrl: string;
3813
- /**
3814
- * True if audio is accessible for the user.
3815
- */
3816
- isAccessible: boolean;
3817
- /**
3818
- * The name of the audio.
3819
- */
3820
- name: string;
3821
- /**
3822
- * The unique ID for this audio.
3823
- */
3824
- objectId: string;
3825
- /**
3826
- * The unique SDRN for this audio.
3827
- */
3828
- objectSdrn: string;
3829
- objectType: "Audio";
3830
- /**
3831
- * Indicates how the audio is configured to start.
3832
- */
3833
- playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
3834
- /**
3835
- * A unique ID for this player instance.
3836
- */
3837
- playerId: string;
3838
- /**
3839
- * The ID of the playlist.
3840
- */
3841
- playlistId?: string;
3842
- /**
3843
- * The unique ID for this audio when published at PodMe.
3844
- */
3845
- podmeId?: string;
3846
- /**
3847
- * The position of the audio in the playlist.
3848
- */
3849
- queuePosition?: number;
3850
- /**
3851
- * Which season.
3852
- */
3853
- season?: string;
3854
- /**
3855
- * Follow accesslevel from Stream (viewer access).
3856
- */
3857
- streamAccessLevel: string;
3858
- /**
3859
- * Reflects the stream type as defined in Stream at the time of playback.
3860
- */
3861
- streamType: string;
3862
- /**
3863
- * Tags from Stream.
3864
- */
3865
- tags?: string[];
3866
- /**
3867
- * Type of audio. Fetched from content type in Stream.
3868
- */
3869
- variant: string;
3870
- };
3871
- page: {
3872
- content?: IContent;
3873
- info: IPageRef;
3874
- /**
3875
- * The browser navigation that got the user to the current page.
3876
- */
3877
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
3878
- /**
3879
- * The pageviewID.
3880
- */
3881
- pageviewId: string;
3882
- referrer?: IPageRef;
3883
- utm?: IUtmTags;
3884
- };
3885
- provider: IProvider;
3899
+ interface IViewAudioPage {
3886
3900
  /**
3887
- * The schema of the event.
3901
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3888
3902
  */
3889
- schema: string;
3890
- session: ISession;
3891
- time: ITime;
3892
- tracker: ITracker;
3893
- user?: IUser;
3894
- }
3895
- interface IViewAudioPage {
3903
+ catalogVersion: string;
3896
3904
  consents: IConsents;
3897
3905
  device: IDevice;
3898
3906
  /**
@@ -3952,6 +3960,10 @@ interface IViewAudioPage {
3952
3960
  user?: IUser;
3953
3961
  }
3954
3962
  interface IViewError {
3963
+ /**
3964
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
3965
+ */
3966
+ catalogVersion: string;
3955
3967
  consents: IConsents;
3956
3968
  device: IDevice;
3957
3969
  /**
@@ -4014,6 +4026,10 @@ interface IViewError {
4014
4026
  user?: IUser;
4015
4027
  }
4016
4028
  interface IViewFrontpage {
4029
+ /**
4030
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4031
+ */
4032
+ catalogVersion: string;
4017
4033
  consents: IConsents;
4018
4034
  device: IDevice;
4019
4035
  /**
@@ -4025,6 +4041,7 @@ interface IViewFrontpage {
4025
4041
  */
4026
4042
  eventType: "View";
4027
4043
  experiments?: IExperiments;
4044
+ location?: ILocation;
4028
4045
  metrics?: IMetrics;
4029
4046
  object: {
4030
4047
  /**
@@ -4088,6 +4105,10 @@ interface IViewFrontpage {
4088
4105
  user?: IUser;
4089
4106
  }
4090
4107
  interface IViewHealthPage {
4108
+ /**
4109
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4110
+ */
4111
+ catalogVersion: string;
4091
4112
  consents: IConsents;
4092
4113
  device: IDevice;
4093
4114
  /**
@@ -4171,6 +4192,10 @@ interface IViewHealthPage {
4171
4192
  user?: IUser;
4172
4193
  }
4173
4194
  interface IViewLandingpage {
4195
+ /**
4196
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4197
+ */
4198
+ catalogVersion: string;
4174
4199
  consents: IConsents;
4175
4200
  device: IDevice;
4176
4201
  /**
@@ -4221,6 +4246,10 @@ interface IViewLandingpage {
4221
4246
  user?: IUser;
4222
4247
  }
4223
4248
  interface IViewListing {
4249
+ /**
4250
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4251
+ */
4252
+ catalogVersion: string;
4224
4253
  consents: IConsents;
4225
4254
  device: IDevice;
4226
4255
  /**
@@ -4299,6 +4328,10 @@ interface IViewListing {
4299
4328
  user?: IUser;
4300
4329
  }
4301
4330
  interface IViewLockedArticle {
4331
+ /**
4332
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4333
+ */
4334
+ catalogVersion: string;
4302
4335
  consents: IConsents;
4303
4336
  device: IDevice;
4304
4337
  /**
@@ -4348,6 +4381,10 @@ interface IViewLockedArticle {
4348
4381
  * The type of this page.
4349
4382
  */
4350
4383
  objectType: "LockedArticle";
4384
+ /**
4385
+ * Indicator if the offer was visible at pageload (“above”) or if the user had to scroll to it (“below”).
4386
+ */
4387
+ offerFoldPosition: "Above" | "Below" | "Unknown";
4351
4388
  /**
4352
4389
  * The reason the user saw this paywall instead of the content.
4353
4390
  */
@@ -4401,11 +4438,15 @@ interface IViewLockedArticle {
4401
4438
  tracker: ITracker;
4402
4439
  user?: IUser;
4403
4440
  }
4404
- interface IViewLockedAudio {
4441
+ interface IViewLockedAudioPage {
4442
+ /**
4443
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4444
+ */
4445
+ catalogVersion: string;
4405
4446
  consents: IConsents;
4406
4447
  device: IDevice;
4407
4448
  /**
4408
- * Event ID
4449
+ * The unique identifier for the event.
4409
4450
  */
4410
4451
  eventId: string;
4411
4452
  /**
@@ -4416,168 +4457,43 @@ interface IViewLockedAudio {
4416
4457
  metrics?: IMetrics;
4417
4458
  object: {
4418
4459
  /**
4419
- * The editorial category of this audio.
4460
+ * The location of the page in the brand’s page hierarchy.
4420
4461
  */
4421
4462
  category: string;
4422
4463
  /**
4423
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
4424
- */
4425
- containerName: string;
4426
- /**
4427
- * The context in which the recommendation was made.
4464
+ * True if content is accessible to the user.
4428
4465
  */
4429
- curateContext?: string;
4466
+ isAccessible: boolean;
4430
4467
  /**
4431
- * The total duration of the audio in milliseconds. Use -1 for live streams with unknown duration.
4468
+ * The unique ID of this page.
4432
4469
  */
4433
- durationMs: number;
4470
+ objectId: string;
4434
4471
  /**
4435
- * 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.
4472
+ * The unique SDRN of this page.
4436
4473
  */
4437
- entryPoint: string;
4474
+ objectSdrn: string;
4438
4475
  /**
4439
- * Which episode.
4476
+ * The type of the object.
4440
4477
  */
4441
- episode?: string;
4478
+ objectType: "LockedAudioPage";
4442
4479
  /**
4443
- * Audio thumbnail from Stream to use in (Kilkaya) dashboards.
4480
+ * The reason the user saw this paywall instead of the content.
4444
4481
  */
4445
- imageUrl: string;
4482
+ paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
4446
4483
  /**
4447
- * True if the audio is accessible for the user.
4484
+ * The title of the page.
4448
4485
  */
4449
- isAccessible: boolean;
4486
+ title: string;
4487
+ };
4488
+ page: {
4489
+ content?: IContent;
4490
+ info: IPageRef;
4450
4491
  /**
4451
- * The name of the audio.
4492
+ * The browser navigation that got the user to the current page.
4452
4493
  */
4453
- name: string;
4494
+ navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4454
4495
  /**
4455
- * The unique ID of this audio.
4456
- */
4457
- objectId: string;
4458
- /**
4459
- * The unique SDRN for this audio.
4460
- */
4461
- objectSdrn: string;
4462
- objectType: "LockedAudio";
4463
- /**
4464
- * The reason the user saw this paywall instead of the audio.
4465
- */
4466
- paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
4467
- /**
4468
- * Indicates how the audio is configured to start.
4469
- */
4470
- playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
4471
- /**
4472
- * A unique ID for this player instance.
4473
- */
4474
- playerId: string;
4475
- /**
4476
- * The ID of the playlist.
4477
- */
4478
- playlistId?: string;
4479
- /**
4480
- * The unique ID for this audio when published at PodMe.
4481
- */
4482
- podmeId?: string;
4483
- /**
4484
- * The position of the audio in the playlist.
4485
- */
4486
- queuePosition?: number;
4487
- /**
4488
- * Which season.
4489
- */
4490
- season?: string;
4491
- /**
4492
- * Follow accesslevel from Stream (viewer access).
4493
- */
4494
- streamAccessLevel: string;
4495
- /**
4496
- * Reflects the stream type as defined in Stream at the time of playback.
4497
- */
4498
- streamType: string;
4499
- tags?: string[];
4500
- /**
4501
- * Type of audio. Fetched from content type in Stream.
4502
- */
4503
- variant: string;
4504
- };
4505
- page: {
4506
- content?: IContent;
4507
- info: IPageRef;
4508
- /**
4509
- * The browser navigation that got the user to the current page.
4510
- */
4511
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4512
- /**
4513
- * The pageviewID.
4514
- */
4515
- pageviewId: string;
4516
- referrer?: IPageRef;
4517
- utm?: IUtmTags;
4518
- };
4519
- provider: IProvider;
4520
- /**
4521
- * The schema of the event.
4522
- */
4523
- schema: string;
4524
- session: ISession;
4525
- time: ITime;
4526
- tracker: ITracker;
4527
- user?: IUser;
4528
- }
4529
- interface IViewLockedAudioPage {
4530
- consents: IConsents;
4531
- device: IDevice;
4532
- /**
4533
- * The unique identifier for the event.
4534
- */
4535
- eventId: string;
4536
- /**
4537
- * The type of the event.
4538
- */
4539
- eventType: "View";
4540
- experiments?: IExperiments;
4541
- metrics?: IMetrics;
4542
- object: {
4543
- /**
4544
- * The location of the page in the brand’s page hierarchy.
4545
- */
4546
- category: string;
4547
- /**
4548
- * True if content is accessible to the user.
4549
- */
4550
- isAccessible: boolean;
4551
- /**
4552
- * The unique ID of this page.
4553
- */
4554
- objectId: string;
4555
- /**
4556
- * The unique SDRN of this page.
4557
- */
4558
- objectSdrn: string;
4559
- /**
4560
- * The type of the object.
4561
- */
4562
- objectType: "LockedAudioPage";
4563
- /**
4564
- * The reason the user saw this paywall instead of the content.
4565
- */
4566
- paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
4567
- /**
4568
- * The title of the page.
4569
- */
4570
- title: string;
4571
- };
4572
- page: {
4573
- content?: IContent;
4574
- info: IPageRef;
4575
- /**
4576
- * The browser navigation that got the user to the current page.
4577
- */
4578
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4579
- /**
4580
- * The pageviewID.
4496
+ * The pageviewID.
4581
4497
  */
4582
4498
  pageviewId: string;
4583
4499
  referrer?: IPageRef;
@@ -4593,138 +4509,11 @@ interface IViewLockedAudioPage {
4593
4509
  tracker: ITracker;
4594
4510
  user?: IUser;
4595
4511
  }
4596
- interface IViewLockedVideo {
4597
- consents: IConsents;
4598
- device: IDevice;
4599
- /**
4600
- * Event ID
4601
- */
4602
- eventId: string;
4603
- /**
4604
- * The type of the event.
4605
- */
4606
- eventType: "View";
4607
- experiments?: IExperiments;
4608
- metrics?: IMetrics;
4609
- object: {
4610
- /**
4611
- * Numeric value of the video aspect ratio.
4612
- */
4613
- aspectRatio: number;
4614
- /**
4615
- * The editorial category of this video.
4616
- */
4617
- category: string;
4618
- /**
4619
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
4620
- */
4621
- containerName: string;
4622
- /**
4623
- * The context in which the recommendation was made.
4624
- */
4625
- curateContext?: string;
4626
- /**
4627
- * The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
4628
- */
4629
- durationMs: number;
4630
- /**
4631
- * 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.
4632
- */
4633
- entryPoint: string;
4634
- /**
4635
- * Which episode.
4636
- */
4637
- episode?: string;
4638
- /**
4639
- * Video thumbnail from Stream to use in (Kilkaya) dashboards.
4640
- */
4641
- imageUrl: string;
4642
- /**
4643
- * True if the content is accessible to the user.
4644
- */
4645
- isAccessible: boolean;
4646
- /**
4647
- * The name of the video.
4648
- */
4649
- name: string;
4650
- /**
4651
- * The unique ID of this video.
4652
- */
4653
- objectId: string;
4654
- /**
4655
- * The unique SDRN for this video.
4656
- */
4657
- objectSdrn: string;
4658
- /**
4659
- * The type of this object.
4660
- */
4661
- objectType: "LockedVideo";
4662
- /**
4663
- * The reason the user saw this paywall instead of the content.
4664
- */
4665
- paywallType: "Paid" | "Metered" | "Login" | "Free" | "Dynamic";
4666
- /**
4667
- * Indicates how the video is configured to start.
4668
- */
4669
- playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
4670
- /**
4671
- * A unique ID for this player instance.
4672
- */
4673
- playerId: string;
4674
- /**
4675
- * The ID of the playlist.
4676
- */
4677
- playlistId?: string;
4678
- /**
4679
- * The position of the video in the playlist.
4680
- */
4681
- queuePosition?: number;
4682
- /**
4683
- * Which season.
4684
- */
4685
- season?: string;
4686
- /**
4687
- * Follow accesslevel from Stream (viewer access).
4688
- */
4689
- streamAccessLevel: string;
4690
- /**
4691
- * Reflects the stream type as defined in Stream at the time of playback.
4692
- */
4693
- streamType: string;
4694
- /**
4695
- * Tags from Stream.
4696
- */
4697
- tags?: string[];
4698
- /**
4699
- * Type of video. Fetched from content type in Stream.
4700
- */
4701
- variant: string;
4702
- };
4703
- page: {
4704
- content?: IContent;
4705
- info: IPageRef;
4706
- /**
4707
- * The browser navigation that got the user to the current page.
4708
- */
4709
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
4710
- /**
4711
- * The pageviewID.
4712
- */
4713
- pageviewId: string;
4714
- referrer?: IPageRef;
4715
- utm?: IUtmTags;
4716
- };
4717
- provider: IProvider;
4512
+ interface IViewLockedVideoPage {
4718
4513
  /**
4719
- * The schema of the event.
4514
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4720
4515
  */
4721
- schema: string;
4722
- session: ISession;
4723
- time: ITime;
4724
- tracker: ITracker;
4725
- user?: IUser;
4726
- }
4727
- interface IViewLockedVideoPage {
4516
+ catalogVersion: string;
4728
4517
  consents: IConsents;
4729
4518
  device: IDevice;
4730
4519
  /**
@@ -4736,7 +4525,7 @@ interface IViewLockedVideoPage {
4736
4525
  */
4737
4526
  eventType: "View";
4738
4527
  experiments?: IExperiments;
4739
- metrics: IMetrics;
4528
+ metrics?: IMetrics;
4740
4529
  object: {
4741
4530
  /**
4742
4531
  * The location of the page in the brand’s page hierarchy.
@@ -4792,6 +4581,10 @@ interface IViewLockedVideoPage {
4792
4581
  user?: IUser;
4793
4582
  }
4794
4583
  interface IViewPage {
4584
+ /**
4585
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4586
+ */
4587
+ catalogVersion: string;
4795
4588
  consents: IConsents;
4796
4589
  device: IDevice;
4797
4590
  /**
@@ -4851,6 +4644,10 @@ interface IViewPage {
4851
4644
  user?: IUser;
4852
4645
  }
4853
4646
  interface IViewSportsPage {
4647
+ /**
4648
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4649
+ */
4650
+ catalogVersion: string;
4854
4651
  consents: IConsents;
4855
4652
  device: IDevice;
4856
4653
  /**
@@ -4911,6 +4708,10 @@ interface IViewSportsPage {
4911
4708
  user?: IUser;
4912
4709
  }
4913
4710
  interface IViewTitle {
4711
+ /**
4712
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4713
+ */
4714
+ catalogVersion: string;
4914
4715
  consents: IConsents;
4915
4716
  device: IDevice;
4916
4717
  /**
@@ -4975,133 +4776,11 @@ interface IViewTitle {
4975
4776
  tracker: ITracker;
4976
4777
  user?: IUser;
4977
4778
  }
4978
- interface IViewVideo {
4979
- consents: IConsents;
4980
- device: IDevice;
4981
- /**
4982
- * Event ID
4983
- */
4984
- eventId: string;
4985
- eventType: "View";
4986
- experiments?: IExperiments;
4987
- metrics?: IMetrics;
4988
- object: {
4989
- /**
4990
- * Numeric value of the video aspect ratio.
4991
- */
4992
- aspectRatio: number;
4993
- /**
4994
- * The editorial category of this video.
4995
- */
4996
- category: string;
4997
- /**
4998
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
4999
- */
5000
- containerName: string;
5001
- /**
5002
- * The context in which the recommendation was made.
5003
- */
5004
- curateContext?: string;
5005
- /**
5006
- * The total duration of the video in milliseconds. Use -1 for live streams with unknown duration.
5007
- */
5008
- durationMs: number;
5009
- /**
5010
- * 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
5011
- */
5012
- entryPoint: string;
5013
- /**
5014
- * Which episode
5015
- */
5016
- episode?: string;
5017
- /**
5018
- * Video thumbnail from Stream to use in (Kilkaya) dashboards
5019
- */
5020
- imageUrl: string;
5021
- /**
5022
- * True if the content is accessible to the user.
5023
- */
5024
- isAccessible: boolean;
5025
- /**
5026
- * True if the video is an ad published through editorial CMS and not Xandr.
5027
- */
5028
- isAd: boolean;
5029
- /**
5030
- * True if video is sponsored.
5031
- */
5032
- isSponsored: boolean;
5033
- /**
5034
- * The name of the video.
5035
- */
5036
- name: string;
5037
- /**
5038
- * The unique ID of this video.
5039
- */
5040
- objectId: string;
5041
- /**
5042
- * The unique SDRN for this video.
5043
- */
5044
- objectSdrn: string;
5045
- objectType: "Video";
5046
- /**
5047
- * Indicates how the video is configured to start.
5048
- */
5049
- playTypeIntent: "Autoplay" | "ClickToPlay" | "ScrollToPlay";
5050
- /**
5051
- * A unique ID for this player instance.
5052
- */
5053
- playerId: string;
5054
- /**
5055
- * The ID of the playlist.
5056
- */
5057
- playlistId?: string;
5058
- /**
5059
- * The position of the video in the playlist.
5060
- */
5061
- queuePosition?: number;
5062
- /**
5063
- * Which season
5064
- */
5065
- season?: string;
5066
- /**
5067
- * Follow accesslevel from Stream (viewer access)
5068
- */
5069
- streamAccessLevel: string;
5070
- /**
5071
- * Reflects the stream type as defined in Stream at the time of playback.
5072
- */
5073
- streamType: string;
5074
- tags?: string[];
5075
- /**
5076
- * Type of video. Fetched from content type in Stream.
5077
- */
5078
- variant: string;
5079
- };
5080
- page: {
5081
- content?: IContent;
5082
- info: IPageRef;
5083
- /**
5084
- * The browser navigation that got the user to the current page.
5085
- */
5086
- navigationType: "Navigate" | "Reload" | "BackForward" | "Prerender";
5087
- /**
5088
- * The pageviewID.
5089
- */
5090
- pageviewId: string;
5091
- referrer?: IPageRef;
5092
- utm?: IUtmTags;
5093
- };
5094
- provider: IProvider;
4779
+ interface IViewVideoPage {
5095
4780
  /**
5096
- * The schema of the event.
4781
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
5097
4782
  */
5098
- schema: string;
5099
- session: ISession;
5100
- time: ITime;
5101
- tracker: ITracker;
5102
- user?: IUser;
5103
- }
5104
- interface IViewVideoPage {
4783
+ catalogVersion: string;
5105
4784
  consents: IConsents;
5106
4785
  device: IDevice;
5107
4786
  /**
@@ -5161,6 +4840,10 @@ interface IViewVideoPage {
5161
4840
  user?: IUser;
5162
4841
  }
5163
4842
  interface IViewWeather {
4843
+ /**
4844
+ * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
4845
+ */
4846
+ catalogVersion: string;
5164
4847
  consents: IConsents;
5165
4848
  device: IDevice;
5166
4849
  /**
@@ -5227,7 +4910,7 @@ interface IViewWeather {
5227
4910
  tracker: ITracker;
5228
4911
  user?: IUser;
5229
4912
  }
5230
- 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;
4913
+ 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;
5231
4914
  type UserParams = Pick<IUser, "hasAnySubscription" | "region"> & {
5232
4915
  id: string;
5233
4916
  realm: string;
@@ -5252,7 +4935,7 @@ export interface TpaasEventBuilderDependencies {
5252
4935
  experiments?: IExperiments;
5253
4936
  currentPage?: IPageRef;
5254
4937
  }
5255
- type OmittedProperties = "user" | "eventId" | "consents" | "device" | "time" | "tracker" | "session" | "eventType" | "schema" | "object.objectType" | "isAnonymous" | "provider.providerId" | "provider.providerSdrn" | "page.pageviewId" | "page.utm" | "page.info" | "page.referrer.url";
4938
+ type OmittedProperties = "user" | "eventId" | "consents" | "device" | "time" | "tracker" | "session" | "eventType" | "schema" | "object.objectType" | "isAnonymous" | "provider.providerId" | "provider.providerSdrn" | "page.pageviewId" | "page.utm" | "page.info" | "page.referrer.url" | "catalogVersion";
5256
4939
  type DeepOmit<T, K extends string> = T extends readonly unknown[] ? T : T extends object ? {
5257
4940
  [P in keyof T as P extends K ? never : P]: DeepOmit<T[P], K extends `${Exclude<P, symbol>}.${infer R}` ? R : never>;
5258
4941
  } extends infer Result ? {
@@ -5267,18 +4950,18 @@ type OptionalNavigationType<T extends ITpaasEvent> = T extends {
5267
4950
  navigationType?: N;
5268
4951
  };
5269
4952
  } : T;
5270
- type WithRequired<T, K extends keyof T> = T & {
5271
- [P in K]-?: T[P];
5272
- };
5273
4953
  /**
5274
4954
  * InputParams is a utility type that omits certain properties from a given type T.
5275
4955
  * @param T - The type from which properties will be omitted.
5276
4956
  * @private
5277
4957
  *
5278
4958
  * @privateRemarks
5279
- * the condition might look overkill, but it ensured that we require 'page' for HealthCompleted Action events on web only
5280
4959
  */
5281
- export type InputParams<T extends ITpaasEvent> = T extends ICompletedHealthAction ? DeepOmit<OptionalNavigationType<WithRequired<ICompletedHealthAction, "page">>, OmittedProperties> : DeepOmit<OptionalNavigationType<T>, OmittedProperties>;
4960
+ export type InputParams<T extends ITpaasEvent> = DeepOmit<WithOptionalPage<OptionalNavigationType<T>>, OmittedProperties>;
4961
+ type WithOptionalPage<T> = T extends TpaasOptionalPageSchemas ? Omit<T, "page"> & {
4962
+ page?: T["page"];
4963
+ } : T;
4964
+ type TpaasOptionalPageSchemas = IAnonymousViewUIElement | ICompletedHealthAction | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementOffer | IEngagementTeaser | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionForm | IImpressionHealthUIElement | IImpressionOffer | IImpressionPlayer | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedAudioPage | ILeaveLockedVideoPage | ILeavePage | ILeaveSportsPage | ILeaveVideoPage | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedAudioPage | IViewLockedVideoPage | IViewPage | IViewSportsPage | IViewTitle | IViewVideoPage | IViewWeather;
5282
4965
  /**
5283
4966
  * Common builders output to be merged into all events
5284
4967
  * @param createdAt
@@ -5305,7 +4988,7 @@ export declare const getCommonBuildersOutput: (createdAt: Date, { autoTrackerVer
5305
4988
  info: {
5306
4989
  url: string | undefined;
5307
4990
  pageId: string | undefined;
5308
- pageType: "Audio" | "Video" | "Article" | "Error" | "Frontpage" | "Landingpage" | "Listing" | "LockedArticle" | "LockedAudio" | "LockedVideo" | "Page" | "SportsPage" | "Weather" | "HealthPage" | "Title" | "Login" | undefined;
4991
+ pageType: "Article" | "AudioPage" | "Error" | "Frontpage" | "Landingpage" | "Listing" | "LockedArticle" | "LockedAudioPage" | "LockedVideoPage" | "Page" | "SportsPage" | "VideoPage" | "Weather" | "HealthPage" | "Title" | "Login" | undefined;
5309
4992
  };
5310
4993
  };
5311
4994
  user: IUser | undefined;
@@ -5326,6 +5009,7 @@ export declare const getCommonBuildersOutput: (createdAt: Date, { autoTrackerVer
5326
5009
  screenOrientation: "Portrait" | "Landscape";
5327
5010
  viewportSize: "XS" | "S" | "M" | "L" | "XL";
5328
5011
  browserVersion: string | undefined;
5012
+ ipAddress: string | undefined;
5329
5013
  mobileBrand: string | undefined;
5330
5014
  mobileModel: string | undefined;
5331
5015
  userAgent: string | undefined;
@@ -5338,6 +5022,7 @@ export declare const getCommonBuildersOutput: (createdAt: Date, { autoTrackerVer
5338
5022
  proxyVersion: string | undefined;
5339
5023
  trackerType: "JS" | "IOS" | "Android" | "Backend";
5340
5024
  };
5025
+ catalogVersion: string;
5341
5026
  provider: {
5342
5027
  providerId: string;
5343
5028
  providerSdrn: string;
@@ -5345,22 +5030,18 @@ export declare const getCommonBuildersOutput: (createdAt: Date, { autoTrackerVer
5345
5030
  };
5346
5031
  export declare function buildAnonymousViewUIElementEvent(input: InputParams<IAnonymousViewUIElement>, dependencies: Pick<TpaasEventBuilderDependencies, "autoTrackerVersion" | "isHybrid" | "version" | "pageviewId" | "providerId" | "experiments">): IAnonymousViewUIElement;
5347
5032
  export declare function buildViewArticleEvent(input: InputParams<IViewArticle>, dependencies: TpaasEventBuilderDependencies): IViewArticle;
5348
- export declare function buildViewAudioEvent(input: InputParams<IViewAudio>, dependencies: TpaasEventBuilderDependencies): IViewAudio;
5349
5033
  export declare function buildViewAudioPageEvent(input: InputParams<IViewAudioPage>, dependencies: TpaasEventBuilderDependencies): IViewAudioPage;
5350
5034
  export declare function buildViewErrorEvent(input: InputParams<IViewError>, dependencies: TpaasEventBuilderDependencies): IViewError;
5351
5035
  export declare function buildViewFrontpageEvent(input: InputParams<IViewFrontpage>, dependencies: TpaasEventBuilderDependencies): IViewFrontpage;
5352
5036
  export declare function buildViewLandingpageEvent(input: InputParams<IViewLandingpage>, dependencies: TpaasEventBuilderDependencies): IViewLandingpage;
5353
5037
  export declare function buildViewListingEvent(input: InputParams<IViewListing>, dependencies: TpaasEventBuilderDependencies): IViewListing;
5354
5038
  export declare function buildViewLockedArticleEvent(input: InputParams<IViewLockedArticle>, dependencies: TpaasEventBuilderDependencies): IViewLockedArticle;
5355
- export declare function buildViewLockedAudioEvent(input: InputParams<IViewLockedAudio>, dependencies: TpaasEventBuilderDependencies): IViewLockedAudio;
5356
5039
  export declare function buildViewLockedAudioPageEvent(input: InputParams<IViewLockedAudioPage>, dependencies: TpaasEventBuilderDependencies): IViewLockedAudioPage;
5357
- export declare function buildViewLockedVideoEvent(input: InputParams<IViewLockedVideo>, dependencies: TpaasEventBuilderDependencies): IViewLockedVideo;
5358
5040
  export declare function buildViewLockedVideoPageEvent(input: InputParams<IViewLockedVideoPage>, dependencies: TpaasEventBuilderDependencies): IViewLockedVideoPage;
5359
5041
  export declare function buildLeaveLockedVideoPageEvent(input: InputParams<ILeaveLockedVideoPage>, dependencies: TpaasEventBuilderDependencies): ILeaveLockedVideoPage;
5360
5042
  export declare function buildViewPageEvent(input: InputParams<IViewPage>, dependencies: TpaasEventBuilderDependencies): IViewPage;
5361
5043
  export declare function buildViewSportsPageEvent(input: InputParams<IViewSportsPage>, dependencies: TpaasEventBuilderDependencies): IViewSportsPage;
5362
5044
  export declare function buildViewTitleEvent(input: InputParams<IViewTitle>, dependencies: TpaasEventBuilderDependencies): IViewTitle;
5363
- export declare function buildViewVideoEvent(input: InputParams<IViewVideo>, dependencies: TpaasEventBuilderDependencies): IViewVideo;
5364
5045
  export declare function buildViewVideoPageEvent(input: InputParams<IViewVideoPage>, dependencies: TpaasEventBuilderDependencies): IViewVideoPage;
5365
5046
  export declare function buildViewWeatherEvent(input: InputParams<IViewWeather>, dependencies: TpaasEventBuilderDependencies): IViewWeather;
5366
5047
  export declare function buildLeaveArticleEvent(input: InputParams<ILeaveArticle>, dependencies: TpaasEventBuilderDependencies): ILeaveArticle;
@@ -5370,9 +5051,7 @@ export declare function buildLeaveFrontpageEvent(input: InputParams<ILeaveFrontp
5370
5051
  export declare function buildLeaveLandingpageEvent(input: InputParams<ILeaveLandingpage>, dependencies: TpaasEventBuilderDependencies): ILeaveLandingpage;
5371
5052
  export declare function buildLeaveListingEvent(input: InputParams<ILeaveListing>, dependencies: TpaasEventBuilderDependencies): ILeaveListing;
5372
5053
  export declare function buildLeaveLockedArticleEvent(input: InputParams<ILeaveLockedArticle>, dependencies: TpaasEventBuilderDependencies): ILeaveLockedArticle;
5373
- export declare function buildLeaveLockedAudioEvent(input: InputParams<ILeaveLockedAudio>, dependencies: TpaasEventBuilderDependencies): ILeaveLockedAudio;
5374
5054
  export declare function buildLeaveLockedAudioPageEvent(input: InputParams<ILeaveLockedAudioPage>, dependencies: TpaasEventBuilderDependencies): ILeaveLockedAudioPage;
5375
- export declare function buildLeaveLockedVideoEvent(input: InputParams<ILeaveLockedVideo>, dependencies: TpaasEventBuilderDependencies): ILeaveLockedVideo;
5376
5055
  export declare function buildLeavePageEvent(input: InputParams<ILeavePage>, dependencies: TpaasEventBuilderDependencies): ILeavePage;
5377
5056
  export declare function buildLeaveSportsPageEvent(input: InputParams<ILeaveSportsPage>, dependencies: TpaasEventBuilderDependencies): ILeaveSportsPage;
5378
5057
  export declare function buildLeaveVideoPageEvent(input: InputParams<ILeaveVideoPage>, dependencies: TpaasEventBuilderDependencies): ILeaveVideoPage;
@@ -5389,7 +5068,6 @@ export declare function buildCompletedHealthActionEvent(input: InputParams<IComp
5389
5068
  export declare function buildEngagementHealthUIElementEvent(input: InputParams<IEngagementHealthUIElement>, dependencies: TpaasEventBuilderDependencies): IEngagementHealthUIElement;
5390
5069
  export declare function buildViewHealthPageEvent(input: InputParams<IViewHealthPage>, dependencies: TpaasEventBuilderDependencies): IViewHealthPage;
5391
5070
  export declare function buildImpressionHealthUIElementEvent(input: InputParams<IImpressionHealthUIElement>, dependencies: TpaasEventBuilderDependencies): IImpressionHealthUIElement;
5392
- export declare function buildImpressionAdSlotEvent(input: InputParams<IImpressionAdSlot>, dependencies: TpaasEventBuilderDependencies): IImpressionAdSlot;
5393
5071
  export declare function buildImpressionFormEvent(input: InputParams<IImpressionForm>, dependencies: TpaasEventBuilderDependencies): IImpressionForm;
5394
5072
  export declare function buildImpressionOfferEvent(input: InputParams<IImpressionOffer>, dependencies: TpaasEventBuilderDependencies): IImpressionOffer;
5395
5073
  export declare function buildImpressionPlayerEvent(input: InputParams<IImpressionPlayer>, dependencies: TpaasEventBuilderDependencies): IImpressionPlayer;