@schibsted/pulse-sdk 8.0.0-rc.20 → 8.0.0-rc.21

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 (74) hide show
  1. package/dist/cjs/Tracker.js +170 -334
  2. package/dist/cjs/builders/session-browser.js +4 -79
  3. package/dist/cjs/session/store.js +96 -0
  4. package/dist/cjs/tpaas-builders/builders/device.js +42 -70
  5. package/dist/cjs/tpaas-builders/builders/pageInfo.js +2 -3
  6. package/dist/cjs/tpaas-builders/builders/session.js +2 -114
  7. package/dist/cjs/tpaas-builders/builders/utm.js +2 -8
  8. package/dist/cjs/tpaas-builders/builders.js +135 -148
  9. package/dist/cjs/tpaas-context/adapters.js +85 -0
  10. package/dist/cjs/tpaas-context/browser.js +51 -0
  11. package/dist/cjs/tpaas-context/index.js +6 -0
  12. package/dist/cjs/tpaas-context/prepare.js +177 -0
  13. package/dist/cjs/tpaas-context/session.js +23 -0
  14. package/dist/cjs/tpaas-schemas/constants.js +68 -75
  15. package/dist/cjs/tracker-proxy/consts.js +1 -2
  16. package/dist/cjs/version.js +1 -1
  17. package/dist/ejs/Tracker.js +171 -335
  18. package/dist/ejs/builders/session-browser.js +4 -77
  19. package/dist/ejs/session/store.js +90 -0
  20. package/dist/ejs/tpaas-builders/builders/device.js +42 -70
  21. package/dist/ejs/tpaas-builders/builders/pageInfo.js +2 -3
  22. package/dist/ejs/tpaas-builders/builders/session.js +1 -111
  23. package/dist/ejs/tpaas-builders/builders/utm.js +2 -8
  24. package/dist/ejs/tpaas-builders/builders.js +135 -147
  25. package/dist/ejs/tpaas-context/adapters.js +80 -0
  26. package/dist/ejs/tpaas-context/browser.js +47 -0
  27. package/dist/ejs/tpaas-context/index.js +1 -0
  28. package/dist/ejs/tpaas-context/prepare.js +137 -0
  29. package/dist/ejs/tpaas-context/session.js +19 -0
  30. package/dist/ejs/tpaas-schemas/constants.js +66 -73
  31. package/dist/ejs/tracker-proxy/consts.js +1 -2
  32. package/dist/ejs/version.js +1 -1
  33. package/dist/types/Tracker.d.ts +27 -23
  34. package/dist/types/builders/session-browser.d.ts +0 -13
  35. package/dist/types/session/store.d.ts +34 -0
  36. package/dist/types/tpaas-builders/builders/consents.d.ts +2 -2
  37. package/dist/types/tpaas-builders/builders/device.d.ts +2 -2
  38. package/dist/types/tpaas-builders/builders/experiments.d.ts +2 -2
  39. package/dist/types/tpaas-builders/builders/pageInfo.d.ts +2 -1
  40. package/dist/types/tpaas-builders/builders/pageviewId.d.ts +2 -2
  41. package/dist/types/tpaas-builders/builders/provider.d.ts +2 -2
  42. package/dist/types/tpaas-builders/builders/session.d.ts +1 -12
  43. package/dist/types/tpaas-builders/builders/trackerBuilder.d.ts +2 -2
  44. package/dist/types/tpaas-builders/builders/user.d.ts +2 -2
  45. package/dist/types/tpaas-builders/builders/utm.d.ts +2 -1
  46. package/dist/types/tpaas-builders/builders.d.ts +70 -70
  47. package/dist/types/tpaas-builders/index.d.ts +0 -1
  48. package/dist/types/tpaas-context/adapters.d.ts +26 -0
  49. package/dist/types/tpaas-context/browser.d.ts +8 -0
  50. package/dist/types/tpaas-context/index.d.ts +2 -0
  51. package/dist/types/tpaas-context/prepare.d.ts +38 -0
  52. package/dist/types/tpaas-context/session.d.ts +10 -0
  53. package/dist/types/tpaas-context/types.d.ts +66 -0
  54. package/dist/types/tpaas-schemas/constants.d.ts +66 -73
  55. package/dist/types/tpaas-schemas/types/ITpaasEvent.d.ts +2 -4
  56. package/dist/types/tpaas-schemas/types/schemas/{IAnonymousViewUIElement.d.ts → IAnonymousImpressionUIElement.d.ts} +2 -2
  57. package/dist/types/tpaas-schemas/types/schemas/IEngagementAudio.d.ts +6 -2
  58. package/dist/types/tpaas-schemas/types/schemas/IEngagementTeaser.d.ts +2 -2
  59. package/dist/types/tpaas-schemas/types/schemas/IEngagementTvModule.d.ts +4 -1
  60. package/dist/types/tpaas-schemas/types/schemas/IEngagementTvSearch.d.ts +4 -4
  61. package/dist/types/tpaas-schemas/types/schemas/IEngagementVideo.d.ts +6 -2
  62. package/dist/types/tpaas-schemas/types/schemas/IEngagementVideoAd.d.ts +10 -8
  63. package/dist/types/tpaas-schemas/types/schemas/IImpressionTeaser.d.ts +2 -2
  64. package/dist/types/tpaas-schemas/types/schemas/ILeaveWeather.d.ts +2 -0
  65. package/dist/types/tpaas-schemas/types/schemas/index.d.ts +1 -2
  66. package/dist/types/tpaas-schemas/types.d.ts +2 -2
  67. package/dist/types/tracker-proxy/consts.d.ts +1 -1
  68. package/dist/types/types.d.ts +2 -4
  69. package/dist/types/version.d.ts +1 -1
  70. package/package.json +1 -1
  71. package/dist/types/tpaas-builders/types.d.ts +0 -36
  72. package/dist/types/tpaas-schemas/types/schemas/IRequestAd.d.ts +0 -95
  73. /package/dist/cjs/{tpaas-builders → tpaas-context}/types.js +0 -0
  74. /package/dist/ejs/{tpaas-builders → tpaas-context}/types.js +0 -0
@@ -82,8 +82,8 @@ export interface IEngagementTvSearch {
82
82
  */
83
83
  searchItemTitle: string;
84
84
  searchResult: {
85
- personId?: string;
86
- programId?: string;
85
+ resultId: string;
86
+ resultType: string;
87
87
  };
88
88
  };
89
89
  /**
@@ -99,8 +99,8 @@ export interface IEngagementTvSearch {
99
99
  * Search results shown to the user.
100
100
  */
101
101
  searchResults: {
102
- personId?: string;
103
- programId?: string;
102
+ resultId: string;
103
+ resultType: string;
104
104
  }[];
105
105
  /**
106
106
  * The name of the company that sponsored the UIElement. Omitted if it was not sponsored.
@@ -70,10 +70,14 @@ export interface IEngagementVideo {
70
70
  * Identifies the entry path that led to the playback. Examples include direct playback, next/previous navigation etc
71
71
  */
72
72
  playEntry: string;
73
+ /**
74
+ * Describes what triggered playback. `None` indicates automatic continuation of an ongoing playback flow, such as Play Next or Stories advancing without user interaction
75
+ */
76
+ playTrigger: 'Autoplay' | 'Click' | 'Scoll' | 'None';
73
77
  /**
74
78
  * Indicates how the video started.
75
79
  */
76
- playType: 'Autoplay' | 'ClickToPlay' | 'ScrollToPlay';
80
+ playType: 'Automatic' | 'Manual';
77
81
  /**
78
82
  * How the content is being consumed by the user
79
83
  */
@@ -169,7 +173,7 @@ export interface IEngagementVideo {
169
173
  /**
170
174
  * Indicates how the video is configured to start
171
175
  */
172
- playTypeIntent: 'Autoplay' | 'ClickToPlay' | 'ScrollToPlay';
176
+ playTypeIntent: 'Automatic' | 'Manual';
173
177
  /**
174
178
  * The type of player exposed to the user
175
179
  */
@@ -52,6 +52,10 @@ export interface IEngagementVideoAd {
52
52
  * True if the ad is muted.
53
53
  */
54
54
  isMuted: boolean;
55
+ /**
56
+ * Indicates how the ad playback was initiated.
57
+ */
58
+ playType: 'Automatic' | 'Manual';
55
59
  /**
56
60
  * Position (in milliseconds) for when the ad is skipped, stopped or completed.
57
61
  */
@@ -90,6 +94,10 @@ export interface IEngagementVideoAd {
90
94
  * The identifier of the asset the ad belongs to.
91
95
  */
92
96
  mediaAssetId: string;
97
+ /**
98
+ * The unique SDRN of the embedded mediaAsset (not ads from Xandr) ready to play in the player.
99
+ */
100
+ mediaAssetSdrn: string;
93
101
  /**
94
102
  * The type of media product the ad belongs to. Fetched from content type in Stream.
95
103
  */
@@ -103,9 +111,9 @@ export interface IEngagementVideoAd {
103
111
  */
104
112
  objectType: 'VideoAd';
105
113
  /**
106
- * Indicates how the ad playback was initiated.
114
+ * The type of player exposed to the user
107
115
  */
108
- playType: 'Autoplay' | 'ClickToPlay' | 'ScrollToPlay';
116
+ player: 'VideoPlayer' | 'StoriesPlayer';
109
117
  /**
110
118
  * A unique ID for this player instance.
111
119
  */
@@ -122,12 +130,6 @@ export interface IEngagementVideoAd {
122
130
  referrer?: IPageRef;
123
131
  utm?: IUtmTags;
124
132
  };
125
- placement: {
126
- /**
127
- * ContainerName is the name of the UI container/module in which the player renders (not the player type or content type).
128
- */
129
- containerName: string;
130
- };
131
133
  provider: IProvider;
132
134
  /**
133
135
  * URL to the JSON schema for this event.
@@ -41,9 +41,9 @@ export interface IImpressionTeaser {
41
41
  metrics?: IMetrics;
42
42
  object: {
43
43
  /**
44
- * The engine producing this teaser. Use “editorial” for manually curated item.
44
+ * The engine producing this teaser. Use “Editorial” for manually curated item.
45
45
  */
46
- contentSource: 'Capi' | 'Curate' | 'ElasticSearch' | 'Editorial' | 'Stream';
46
+ contentSource: 'Capi' | 'Curate' | 'ElasticSearch' | 'Editorial' | 'Stream' | 'Other';
47
47
  /**
48
48
  * The creative of the teaser.
49
49
  */
@@ -7,6 +7,7 @@ import type { ILeave } from '../templates/ILeave.d.ts';
7
7
  import type { IMetrics } from '../templates/IMetrics.d.ts';
8
8
  import type { IPageRef } from '../templates/IPageRef.d.ts';
9
9
  import type { IProvider } from '../templates/IProvider.d.ts';
10
+ import type { ISession } from '../templates/ISession.d.ts';
10
11
  import type { ITime } from '../templates/ITime.d.ts';
11
12
  import type { ITracker } from '../templates/ITracker.d.ts';
12
13
  import type { IUser } from '../templates/IUser.d.ts';
@@ -88,6 +89,7 @@ export interface ILeaveWeather {
88
89
  * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
89
90
  */
90
91
  schema: string;
92
+ session: ISession;
91
93
  time: ITime;
92
94
  tracker: ITracker;
93
95
  user?: IUser;
@@ -1,4 +1,4 @@
1
- export type { IAnonymousViewUIElement } from './IAnonymousViewUIElement.d.ts';
1
+ export type { IAnonymousImpressionUIElement } from './IAnonymousImpressionUIElement.d.ts';
2
2
  export type { ICompletedHealthAction } from './ICompletedHealthAction.d.ts';
3
3
  export type { IEngagementAd } from './IEngagementAd.d.ts';
4
4
  export type { IEngagementAffiliate } from './IEngagementAffiliate.d.ts';
@@ -44,7 +44,6 @@ export type { ILeaveSportsPage } from './ILeaveSportsPage.d.ts';
44
44
  export type { ILeaveVideoPage } from './ILeaveVideoPage.d.ts';
45
45
  export type { ILeaveWeather } from './ILeaveWeather.d.ts';
46
46
  export type { ILoadAd } from './ILoadAd.d.ts';
47
- export type { IRequestAd } from './IRequestAd.d.ts';
48
47
  export type { IViewArticle } from './IViewArticle.d.ts';
49
48
  export type { IViewAudioPage } from './IViewAudioPage.d.ts';
50
49
  export type { IViewError } from './IViewError.d.ts';
@@ -1,5 +1,5 @@
1
1
  import type { ITpaasEvent } from './types/ITpaasEvent.d.ts';
2
- import type { IAnonymousViewUIElement, ICompletedHealthAction, IEngagementAd, IEngagementAffiliate, IEngagementAudio, IEngagementForm, IEngagementHealthUIElement, IEngagementOffer, IEngagementSchoolUIElement, IEngagementSportsUIElement, IEngagementTeaser, IEngagementTvModule, IEngagementTvSearch, IEngagementUIElement, IEngagementVideo, IEngagementVideoAd, IEngagementWidget, IImpressionAd, IImpressionAdSlot, IImpressionAffiliate, IImpressionForm, IImpressionHealthUIElement, IImpressionOffer, IImpressionPlayer, IImpressionSchoolUIElement, IImpressionSportsUIElement, IImpressionTeaser, IImpressionUIElement, IImpressionWidget, ILeaveAudioPage, ILeaveError, ILeaveFrontpage, ILeaveLandingpage, ILeaveListing, ILeaveLockedAudioPage, ILeaveLockedPage, ILeaveLockedVideoPage, ILeavePage, ILeaveSchoolPage, ILeaveSportsPage, ILeaveVideoPage, ILeaveWeather, ILoadAd, IRequestAd, IViewAudioPage, IViewError, IViewFrontpage, IViewHealthPage, IViewLandingpage, IViewListing, IViewLockedAudioPage, IViewLockedPage, IViewLockedVideoPage, IViewPage, IViewSchoolPage, IViewSportsPage, IViewTitle, IViewVideoPage, IViewWeather } from './types/schemas/index.d.ts';
2
+ import type { IAnonymousImpressionUIElement, ICompletedHealthAction, IEngagementAd, IEngagementAffiliate, IEngagementAudio, IEngagementForm, IEngagementHealthUIElement, IEngagementOffer, IEngagementSchoolUIElement, IEngagementSportsUIElement, IEngagementTeaser, IEngagementTvModule, IEngagementTvSearch, IEngagementUIElement, IEngagementVideo, IEngagementVideoAd, IEngagementWidget, IImpressionAd, IImpressionAdSlot, IImpressionAffiliate, IImpressionForm, IImpressionHealthUIElement, IImpressionOffer, IImpressionPlayer, IImpressionSchoolUIElement, IImpressionSportsUIElement, IImpressionTeaser, IImpressionUIElement, IImpressionWidget, ILeaveAudioPage, ILeaveError, ILeaveFrontpage, ILeaveLandingpage, ILeaveListing, ILeaveLockedAudioPage, ILeaveLockedPage, ILeaveLockedVideoPage, ILeavePage, ILeaveSchoolPage, ILeaveSportsPage, ILeaveVideoPage, ILeaveWeather, ILoadAd, IViewAudioPage, IViewError, IViewFrontpage, IViewHealthPage, IViewLandingpage, IViewListing, IViewLockedAudioPage, IViewLockedPage, IViewLockedVideoPage, IViewPage, IViewSchoolPage, IViewSportsPage, IViewTitle, IViewVideoPage, IViewWeather } from './types/schemas/index.d.ts';
3
3
  export type OmittedProperties = 'user' | 'eventId' | 'consents' | 'device' | 'time' | 'tracker' | 'session' | 'eventType' | 'schema' | 'object.objectType' | 'isAnonymous' | 'provider' | 'page.pageviewId' | 'page.utm' | 'page.info' | 'page.sportName' | 'page.sportSubview' | 'page.sportView' | 'page.sports' | 'catalogVersion';
4
4
  export type TpaasSchemasWithNavigationType = Extract<ITpaasEvent, {
5
5
  page: {
@@ -37,6 +37,6 @@ type WithOmittedReferrer<T> = T extends Exclude<ITpaasEvent, {
37
37
  }> ? Omit<T, 'page'> & {
38
38
  page: Omit<T['page'], 'referrer'>;
39
39
  } : T;
40
- export type TpaasOptionalPageSchemas = IAnonymousViewUIElement | ICompletedHealthAction | IEngagementAd | IEngagementAffiliate | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementOffer | IEngagementSchoolUIElement | IEngagementSportsUIElement | IEngagementTeaser | IEngagementTvModule | IEngagementTvSearch | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionAd | IImpressionAdSlot | IImpressionAffiliate | IImpressionForm | IImpressionHealthUIElement | IImpressionOffer | IImpressionPlayer | IImpressionSchoolUIElement | IImpressionSportsUIElement | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedAudioPage | ILeaveLockedPage | ILeaveLockedVideoPage | ILeavePage | ILeaveSchoolPage | ILeaveSportsPage | ILeaveVideoPage | ILeaveWeather | ILoadAd | IRequestAd | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedAudioPage | IViewLockedPage | IViewLockedVideoPage | IViewPage | IViewSchoolPage | IViewSportsPage | IViewTitle | IViewVideoPage | IViewWeather;
40
+ export type TpaasOptionalPageSchemas = IAnonymousImpressionUIElement | ICompletedHealthAction | IEngagementAd | IEngagementAffiliate | IEngagementAudio | IEngagementForm | IEngagementHealthUIElement | IEngagementOffer | IEngagementSchoolUIElement | IEngagementSportsUIElement | IEngagementTeaser | IEngagementTvModule | IEngagementTvSearch | IEngagementUIElement | IEngagementVideo | IEngagementVideoAd | IEngagementWidget | IImpressionAd | IImpressionAdSlot | IImpressionAffiliate | IImpressionForm | IImpressionHealthUIElement | IImpressionOffer | IImpressionPlayer | IImpressionSchoolUIElement | IImpressionSportsUIElement | IImpressionTeaser | IImpressionUIElement | IImpressionWidget | ILeaveAudioPage | ILeaveError | ILeaveFrontpage | ILeaveLandingpage | ILeaveListing | ILeaveLockedAudioPage | ILeaveLockedPage | ILeaveLockedVideoPage | ILeavePage | ILeaveSchoolPage | ILeaveSportsPage | ILeaveVideoPage | ILeaveWeather | ILoadAd | IViewAudioPage | IViewError | IViewFrontpage | IViewHealthPage | IViewLandingpage | IViewListing | IViewLockedAudioPage | IViewLockedPage | IViewLockedVideoPage | IViewPage | IViewSchoolPage | IViewSportsPage | IViewTitle | IViewVideoPage | IViewWeather;
41
41
  export type InputParams<T extends ITpaasEvent> = DeepOmit<OptionalNavigationType<WithOptionalPage<WithOmittedReferrer<T>>>, OmittedProperties>;
42
42
  export {};
@@ -17,7 +17,7 @@ export declare const MESSAGE_TYPE_INVOKE = "pulse-tracker-proxy:invoke";
17
17
  export declare const MESSAGE_TYPE_RETURN = "pulse-tracker-proxy:return";
18
18
  export declare const MESSAGE_TYPE_RETURN_ERROR = "pulse-tracker-proxy:return-error";
19
19
  export declare const ALLOWED_METHODS: readonly ['track'];
20
- export declare const TPAAS_ALLOWED_METHODS: readonly ['trackAnonymousViewUIElement', 'trackEngagementAd', 'trackEngagementAffiliate', 'trackEngagementAudio', 'trackEngagementForm', 'trackEngagementHealthUIElement', 'trackEngagementOffer', 'trackEngagementSchoolUIElement', 'trackEngagementSportsUIElement', 'trackEngagementTeaser', 'trackEngagementTvModule', 'trackEngagementTvSearch', 'trackEngagementUIElement', 'trackEngagementVideo', 'trackEngagementVideoAd', 'trackEngagementWidget', 'trackHeartbeatCommercialArticle', 'trackCompletedHealthAction', 'trackImpressionAd', 'trackImpressionAdSlot', 'trackImpressionAffiliate', 'trackImpressionForm', 'trackImpressionHealthUIElement', 'trackImpressionOffer', 'trackImpressionPlayer', 'trackImpressionSchoolUIElement', 'trackImpressionSportsUIElement', 'trackImpressionTeaser', 'trackImpressionUIElement', 'trackImpressionWidget', 'trackLoadAd', 'trackRequestAd', 'trackLeaveArticle', 'trackLeaveAudioPage', 'trackLeaveError', 'trackLeaveFrontpage', 'trackLeaveLandingpage', 'trackLeaveListing', 'trackLeaveLockedArticle', 'trackLeaveLockedAudioPage', 'trackLeaveLockedPage', 'trackLeaveLockedVideoPage', 'trackLeavePage', 'trackLeaveSchoolPage', 'trackLeaveSportsPage', 'trackLeaveVideoPage', 'trackLeaveWeather', 'trackViewArticle', 'trackViewAudioPage', 'trackViewError', 'trackViewFrontpage', 'trackViewHealthPage', 'trackViewLandingpage', 'trackViewListing', 'trackViewLockedArticle', 'trackViewLockedAudioPage', 'trackViewLockedPage', 'trackViewLockedVideoPage', 'trackViewPage', 'trackViewSchoolPage', 'trackViewSportsPage', 'trackViewTitle', 'trackViewVideoPage', 'trackViewWeather', 'trackLegacyViewArticle', 'trackLegacyViewLoginPoster', 'trackLegacyViewSalesPoster', 'trackLegacyViewListing', 'trackLegacyViewFrontpage', 'trackLegacyViewPage', 'trackLegacyViewUIElement', 'trackLegacyClickUIElement'];
20
+ export declare const TPAAS_ALLOWED_METHODS: readonly ['trackAnonymousImpressionUIElement', 'trackEngagementAd', 'trackEngagementAffiliate', 'trackEngagementAudio', 'trackEngagementForm', 'trackEngagementHealthUIElement', 'trackEngagementOffer', 'trackEngagementSchoolUIElement', 'trackEngagementSportsUIElement', 'trackEngagementTeaser', 'trackEngagementTvModule', 'trackEngagementTvSearch', 'trackEngagementUIElement', 'trackEngagementVideo', 'trackEngagementVideoAd', 'trackEngagementWidget', 'trackHeartbeatCommercialArticle', 'trackCompletedHealthAction', 'trackImpressionAd', 'trackImpressionAdSlot', 'trackImpressionAffiliate', 'trackImpressionForm', 'trackImpressionHealthUIElement', 'trackImpressionOffer', 'trackImpressionPlayer', 'trackImpressionSchoolUIElement', 'trackImpressionSportsUIElement', 'trackImpressionTeaser', 'trackImpressionUIElement', 'trackImpressionWidget', 'trackLoadAd', 'trackLeaveArticle', 'trackLeaveAudioPage', 'trackLeaveError', 'trackLeaveFrontpage', 'trackLeaveLandingpage', 'trackLeaveListing', 'trackLeaveLockedArticle', 'trackLeaveLockedAudioPage', 'trackLeaveLockedPage', 'trackLeaveLockedVideoPage', 'trackLeavePage', 'trackLeaveSchoolPage', 'trackLeaveSportsPage', 'trackLeaveVideoPage', 'trackLeaveWeather', 'trackViewArticle', 'trackViewAudioPage', 'trackViewError', 'trackViewFrontpage', 'trackViewHealthPage', 'trackViewLandingpage', 'trackViewListing', 'trackViewLockedArticle', 'trackViewLockedAudioPage', 'trackViewLockedPage', 'trackViewLockedVideoPage', 'trackViewPage', 'trackViewSchoolPage', 'trackViewSportsPage', 'trackViewTitle', 'trackViewVideoPage', 'trackViewWeather', 'trackLegacyViewArticle', 'trackLegacyViewLoginPoster', 'trackLegacyViewSalesPoster', 'trackLegacyViewListing', 'trackLegacyViewFrontpage', 'trackLegacyViewPage', 'trackLegacyViewUIElement', 'trackLegacyClickUIElement'];
21
21
  export declare function isPulseProxyMessage(message: unknown): message is Message;
22
22
  export type TrackInvocation = {
23
23
  method: 'track';
@@ -48,11 +48,9 @@ export type AnonymousEventInputTypesByTrackingMethod = {
48
48
  */
49
49
  export type LeaveAudioInput = Omit<ILeaveAudio, 'activityDurationMs' | 'durationMs'>;
50
50
  /**
51
- * Input for {@link VideoPageLeaveTrackingOptions.leaveStoriesBuilder}. Omits `activityDurationMs` and
52
- * `durationMs` because those are copied automatically from the computed `leave` engagement
53
- * metrics when the Leave VideoPage event fires.
51
+ * Input for {@link VideoPageLeaveTrackingOptions.leaveStoriesBuilder}.
54
52
  */
55
- export type LeaveStoriesInput = Omit<ILeaveStories, 'activityDurationMs' | 'durationMs'>;
53
+ export type LeaveStoriesInput = ILeaveStories;
56
54
  export type TrackViewEventOptions<T extends ITpaasEvent> = {
57
55
  leaveTracking: LeaveTrackingDisabled | LeaveTrackingOptionsForProxy | (T extends IViewAudioPage ? AudioPageLeaveTrackingOptions : T extends IViewVideoPage ? VideoPageLeaveTrackingOptions : LeaveTrackingOptions);
58
56
  };
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "8.0.0-rc.20";
1
+ export declare const SDK_VERSION = "8.0.0-rc.21";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schibsted/pulse-sdk",
3
- "version": "8.0.0-rc.20",
3
+ "version": "8.0.0-rc.21",
4
4
  "description": "Node.js / Browser Pulse SDK",
5
5
  "author": "Schibsted Data&Tech",
6
6
  "license": "UNLICENSED",
@@ -1,36 +0,0 @@
1
- import type { IConsents, IContent, IDevice, IExperiments, IPageRef, IProvider, ITracker, IUser, IViewSportsPage } from '../tpaas-schemas';
2
- export type UserParams = Pick<IUser, 'hasAnySubscription' | 'region'> & {
3
- id: string;
4
- realm: string;
5
- };
6
- /**
7
- * @private
8
- *
9
- * @privateRemarks
10
- * These can be different from one event type to another, depending on the builders used by that event type.
11
- * However, for now, we use the same dependencies for all event types. let's make it more complex only if needed.
12
- */
13
- export interface TpaasEventBuilderDependencies {
14
- user?: UserParams;
15
- version: ITracker['version'];
16
- isHybrid: ITracker['isHybrid'];
17
- routingStage: ITracker['routingStage'];
18
- consents?: IConsents;
19
- providerId: IProvider['providerId'];
20
- providerName?: IProvider['name'];
21
- providerGroup?: IProvider['group'];
22
- providerStage: IProvider['stage'];
23
- providerProduct: NonNullable<IProvider['product']>;
24
- providerVersion: NonNullable<IProvider['version']>;
25
- component?: IProvider['component'];
26
- componentVersion?: IProvider['componentVersion'];
27
- environmentId: IDevice['environmentId'];
28
- jwe: IDevice['jweIds'];
29
- pageviewId: string;
30
- experiments?: IExperiments;
31
- currentPage?: IPageRef;
32
- currentPageContent?: IContent;
33
- currentPageSports?: Pick<IViewSportsPage['object'], 'sportName' | 'sportSubview' | 'sportView' | 'sports'>;
34
- currentPageReferrer: IPageRef;
35
- }
36
- export type TpaasAnonymousEventBuilderDependencies = Pick<TpaasEventBuilderDependencies, 'isHybrid' | 'version' | 'pageviewId' | 'providerId' | 'providerName' | 'providerGroup' | 'providerStage' | 'providerProduct' | 'providerVersion' | 'experiments' | 'component' | 'componentVersion' | 'currentPageReferrer' | 'routingStage'>;
@@ -1,95 +0,0 @@
1
- /* eslint-disable */
2
-
3
- import type { IConsents } from '../templates/IConsents.d.ts';
4
- import type { IContent } from '../templates/IContent.d.ts';
5
- import type { IDevice } from '../templates/IDevice.d.ts';
6
- import type { IExperiments } from '../templates/IExperiments.d.ts';
7
- import type { IPageRef } from '../templates/IPageRef.d.ts';
8
- import type { IProvider } from '../templates/IProvider.d.ts';
9
- import type { ISession } from '../templates/ISession.d.ts';
10
- import type { ITime } from '../templates/ITime.d.ts';
11
- import type { ITracker } from '../templates/ITracker.d.ts';
12
- import type { IUser } from '../templates/IUser.d.ts';
13
- import type { IUtmTags } from '../templates/IUtmTags.d.ts';
14
-
15
- /**
16
- * An ad opportunity being requested for a placement on a page view, and the rendering platforms competing to fill it.
17
- */
18
- export interface IRequestAd {
19
- /**
20
- * The version of the TPaaS schemas catalog that this particular schema belongs to. Semver format.
21
- * @pattern ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$
22
- * @example "1.2.3"
23
- */
24
- catalogVersion: string;
25
- consents: IConsents;
26
- device: IDevice;
27
- /**
28
- * The unique identifier for the event.
29
- * @format uuid
30
- */
31
- eventId: string;
32
- /**
33
- * The type of the event.
34
- */
35
- eventType: 'Request';
36
- experiments?: IExperiments;
37
- object: {
38
- /**
39
- * Type of creative.
40
- * @example "banner"
41
- */
42
- mediaType?: string;
43
- /**
44
- * The unique ID for this component.
45
- */
46
- objectId: string;
47
- /**
48
- * The unique SDRN for this component.
49
- */
50
- objectSdrn: string;
51
- /**
52
- * The type of the object.
53
- */
54
- objectType: 'Ad';
55
- /**
56
- * ID for a single ad opportunity in a placement on a page view, shared across all related ad lifecycle events.
57
- * @example "opp-12345"
58
- */
59
- opportunityId?: string;
60
- };
61
- page: {
62
- content?: IContent;
63
- info: IPageRef;
64
- /**
65
- * The pageviewID.
66
- * @format uuid
67
- */
68
- pageviewId: string;
69
- referrer?: IPageRef;
70
- utm?: IUtmTags;
71
- };
72
- placement: {
73
- /**
74
- * Placement identifier (string).
75
- * @example "adserver-placement-id"
76
- */
77
- placementId: string;
78
- };
79
- provider: IProvider;
80
- /**
81
- * List of rendering platforms competing to fill this ad opportunity.
82
- * @example "microsoft"
83
- */
84
- renderingPlatform: string;
85
- /**
86
- * URL to the JSON schema for this event.
87
- * @format uri
88
- * @pattern ^https://tpaas-schemas.schibsted.media/.+\.json$
89
- */
90
- schema: string;
91
- session: ISession;
92
- time: ITime;
93
- tracker: ITracker;
94
- user?: IUser;
95
- }