@google-psat/common 0.14.1 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/attributionReporting.types.js +1 -2
  2. package/dist/cookies.types.js +6 -9
  3. package/dist/cookies.types.js.map +1 -1
  4. package/dist/data/cookieExclusionAndWarningReasons/cookieBlockedReason.js +1 -3
  5. package/dist/data/cookieExclusionAndWarningReasons/cookieBlockedReason.js.map +1 -1
  6. package/dist/data/cookieExclusionAndWarningReasons/cookieExclusionReason.js +20 -45
  7. package/dist/data/cookieExclusionAndWarningReasons/cookieExclusionReason.js.map +1 -1
  8. package/dist/data/cookieExclusionAndWarningReasons/cookieExclusionReasonHTMLContent.js +16 -19
  9. package/dist/data/cookieExclusionAndWarningReasons/cookieExclusionReasonHTMLContent.js.map +1 -1
  10. package/dist/data/cookieExclusionAndWarningReasons/cookieWarningReason.js +32 -57
  11. package/dist/data/cookieExclusionAndWarningReasons/cookieWarningReason.js.map +1 -1
  12. package/dist/data/cookieExclusionAndWarningReasons/cookieWarningReasonHTMLContent.js +29 -32
  13. package/dist/data/cookieExclusionAndWarningReasons/cookieWarningReasonHTMLContent.js.map +1 -1
  14. package/dist/data/cookieExclusionAndWarningReasons/index.js +7 -12
  15. package/dist/data/cookieExclusionAndWarningReasons/index.js.map +1 -1
  16. package/dist/data/cookieExemptionReason/exemptionReasons.js +10 -12
  17. package/dist/data/cookieExemptionReason/exemptionReasons.js.map +1 -1
  18. package/dist/data/cookieExemptionReason/index.js +1 -8
  19. package/dist/data/cookieExemptionReason/index.js.map +1 -1
  20. package/dist/data/index.js +3 -11
  21. package/dist/data/index.js.map +1 -1
  22. package/dist/index.js +40 -88
  23. package/dist/index.js.map +1 -1
  24. package/dist/mdl.types.js +2 -0
  25. package/dist/mdl.types.js.map +1 -0
  26. package/dist/prebid.types.js +2 -0
  27. package/dist/prebid.types.js.map +1 -0
  28. package/dist/prebidGlobal.types.js +2 -0
  29. package/dist/prebidGlobal.types.js.map +1 -0
  30. package/dist/protectedAudience.types.js +1 -2
  31. package/dist/prtToken.types.js +2 -0
  32. package/dist/prtToken.types.js.map +1 -0
  33. package/dist/test-utils/data.mock.js +4 -12
  34. package/dist/test-utils/data.mock.js.map +1 -1
  35. package/dist/utils/addUTMParams.js +5 -8
  36. package/dist/utils/addUTMParams.js.map +1 -1
  37. package/dist/utils/auctions/bidderCreator.js +117 -0
  38. package/dist/utils/auctions/bidderCreator.js.map +1 -0
  39. package/dist/utils/auctions/findMaximumBidderDuration.js +10 -0
  40. package/dist/utils/auctions/findMaximumBidderDuration.js.map +1 -0
  41. package/dist/{worker/enums.js → utils/auctions/formatDuration.js} +8 -9
  42. package/dist/utils/auctions/formatDuration.js.map +1 -0
  43. package/dist/utils/auctions/formatTimestamp.js +26 -0
  44. package/dist/utils/auctions/formatTimestamp.js.map +1 -0
  45. package/dist/utils/auctions/index.js +21 -0
  46. package/dist/utils/auctions/index.js.map +1 -0
  47. package/dist/utils/auctions/prepareTimelineData.js +176 -0
  48. package/dist/utils/auctions/prepareTimelineData.js.map +1 -0
  49. package/dist/utils/auctions/types.js +23 -0
  50. package/dist/utils/auctions/types.js.map +1 -0
  51. package/dist/utils/calculateEffectiveExpiryDate.js +3 -6
  52. package/dist/utils/calculateEffectiveExpiryDate.js.map +1 -1
  53. package/dist/utils/contextSelector/createContext.js +3 -5
  54. package/dist/utils/contextSelector/createContext.js.map +1 -1
  55. package/dist/utils/contextSelector/index.js +2 -10
  56. package/dist/utils/contextSelector/index.js.map +1 -1
  57. package/dist/utils/contextSelector/shallowEqual.js +3 -7
  58. package/dist/utils/contextSelector/shallowEqual.js.map +1 -1
  59. package/dist/utils/contextSelector/useContextSelector.js +7 -9
  60. package/dist/utils/contextSelector/useContextSelector.js.map +1 -1
  61. package/dist/utils/delay.js +1 -3
  62. package/dist/utils/delay.js.map +1 -1
  63. package/dist/utils/deriveBlockingStatus.js +11 -14
  64. package/dist/utils/deriveBlockingStatus.js.map +1 -1
  65. package/dist/utils/extractCookies.js +10 -8
  66. package/dist/utils/extractCookies.js.map +1 -1
  67. package/dist/utils/extractReportData.js +14 -20
  68. package/dist/utils/extractReportData.js.map +1 -1
  69. package/dist/utils/extractUrl.js +3 -6
  70. package/dist/utils/extractUrl.js.map +1 -1
  71. package/dist/utils/fetchLocalData.js +5 -16
  72. package/dist/utils/fetchLocalData.js.map +1 -1
  73. package/dist/utils/filterCookiesByFrame.js +3 -7
  74. package/dist/utils/filterCookiesByFrame.js.map +1 -1
  75. package/dist/utils/filterFramesWithCookies.js +3 -8
  76. package/dist/utils/filterFramesWithCookies.js.map +1 -1
  77. package/dist/utils/findAnalyticsMatch.js +4 -8
  78. package/dist/utils/findAnalyticsMatch.js.map +1 -1
  79. package/dist/utils/generateErrorLogs.js +4 -9
  80. package/dist/utils/generateErrorLogs.js.map +1 -1
  81. package/dist/utils/generateReports/generateAllCookiesCSV.js +22 -28
  82. package/dist/utils/generateReports/generateAllCookiesCSV.js.map +1 -1
  83. package/dist/utils/generateReports/generateCLICookieTableCSV.js +29 -35
  84. package/dist/utils/generateReports/generateCLICookieTableCSV.js.map +1 -1
  85. package/dist/utils/generateReports/generateCookiesWithIssuesCSV.js +33 -40
  86. package/dist/utils/generateReports/generateCookiesWithIssuesCSV.js.map +1 -1
  87. package/dist/utils/generateReports/generateExtensionCookietableCSV.js +34 -40
  88. package/dist/utils/generateReports/generateExtensionCookietableCSV.js.map +1 -1
  89. package/dist/utils/generateReports/generateRootSummaryDataCSV.js +12 -20
  90. package/dist/utils/generateReports/generateRootSummaryDataCSV.js.map +1 -1
  91. package/dist/utils/generateReports/generateSummaryDataCSV.js +14 -16
  92. package/dist/utils/generateReports/generateSummaryDataCSV.js.map +1 -1
  93. package/dist/utils/generateReports/index.js +6 -18
  94. package/dist/utils/generateReports/index.js.map +1 -1
  95. package/dist/utils/getCookieKey.js +4 -6
  96. package/dist/utils/getCookieKey.js.map +1 -1
  97. package/dist/utils/getCurrentDateAndTime.js +1 -3
  98. package/dist/utils/getCurrentDateAndTime.js.map +1 -1
  99. package/dist/utils/getDomainFromUrl.js +3 -6
  100. package/dist/utils/getDomainFromUrl.js.map +1 -1
  101. package/dist/utils/getLegendDescription.js +4 -6
  102. package/dist/utils/getLegendDescription.js.map +1 -1
  103. package/dist/utils/getValueByKey.js +2 -4
  104. package/dist/utils/getValueByKey.js.map +1 -1
  105. package/dist/utils/isFirstParty.js +5 -7
  106. package/dist/utils/isFirstParty.js.map +1 -1
  107. package/dist/{worker/devToolWorker.js → utils/isValidURL.js} +12 -10
  108. package/dist/utils/isValidURL.js.map +1 -0
  109. package/dist/utils/mergeDeep.js +1 -3
  110. package/dist/utils/mergeDeep.js.map +1 -1
  111. package/dist/utils/noop.js +1 -3
  112. package/dist/utils/noop.js.map +1 -1
  113. package/dist/utils/parseRequestWillBeSentExtraInfo.js +22 -33
  114. package/dist/utils/parseRequestWillBeSentExtraInfo.js.map +1 -1
  115. package/dist/utils/parseResponseReceivedExtraInfo.js +35 -38
  116. package/dist/utils/parseResponseReceivedExtraInfo.js.map +1 -1
  117. package/dist/utils/parseUrl.js +1 -5
  118. package/dist/utils/parseUrl.js.map +1 -1
  119. package/dist/utils/removeAndAddNewSpinnerText.js +1 -4
  120. package/dist/utils/removeAndAddNewSpinnerText.js.map +1 -1
  121. package/dist/utils/reshapeCookies.js +51 -50
  122. package/dist/utils/reshapeCookies.js.map +1 -1
  123. package/dist/utils/resolveWithTimeout.js +1 -4
  124. package/dist/utils/resolveWithTimeout.js.map +1 -1
  125. package/dist/utils/sanitizeCsvRecord.js +1 -3
  126. package/dist/utils/sanitizeCsvRecord.js.map +1 -1
  127. package/dist/utils/sessionStorage.js +6 -20
  128. package/dist/utils/sessionStorage.js.map +1 -1
  129. package/dist-types/cookies.types.d.ts +0 -4
  130. package/dist-types/index.d.ts +7 -4
  131. package/dist-types/mdl.types.d.ts +7 -0
  132. package/dist-types/prebid.types.d.ts +29 -0
  133. package/dist-types/prebidGlobal.types.d.ts +674 -0
  134. package/dist-types/protectedAudience.types.d.ts +32 -1
  135. package/dist-types/prtToken.types.d.ts +33 -0
  136. package/dist-types/utils/auctions/bidderCreator.d.ts +39 -0
  137. package/dist-types/utils/auctions/findMaximumBidderDuration.d.ts +5 -0
  138. package/dist-types/utils/auctions/formatDuration.d.ts +1 -0
  139. package/dist-types/utils/auctions/formatTimestamp.d.ts +1 -0
  140. package/dist-types/utils/auctions/index.d.ts +5 -0
  141. package/dist-types/utils/auctions/prepareTimelineData.d.ts +6 -0
  142. package/dist-types/utils/auctions/types.d.ts +24 -0
  143. package/dist-types/utils/extractReportData.d.ts +0 -4
  144. package/dist-types/utils/isValidURL.d.ts +7 -0
  145. package/package.json +5 -3
  146. package/tsconfig.json +3 -3
  147. package/dist/libraryDetection.types.js +0 -3
  148. package/dist/libraryDetection.types.js.map +0 -1
  149. package/dist/worker/devToolWorker.js.map +0 -1
  150. package/dist/worker/enums.js.map +0 -1
  151. package/dist/worker/executeTaskInDevToolWorker.js +0 -43
  152. package/dist/worker/executeTaskInDevToolWorker.js.map +0 -1
  153. package/dist-types/libraryDetection.types.d.ts +0 -50
  154. package/dist-types/worker/devToolWorker.d.ts +0 -6
  155. package/dist-types/worker/enums.d.ts +0 -3
  156. package/dist-types/worker/executeTaskInDevToolWorker.d.ts +0 -11
@@ -0,0 +1,674 @@
1
+ export interface AdUnit {
2
+ code: string;
3
+ mediaTypes?: {
4
+ banner?: {
5
+ sizes: Array<[number, number]>;
6
+ };
7
+ video?: {
8
+ context: 'instream' | 'outstream';
9
+ playerSize: Array<[number, number]>;
10
+ };
11
+ native?: {
12
+ adTemplate?: string;
13
+ rendererUrl?: string;
14
+ ortb?: object;
15
+ };
16
+ };
17
+ bids: Bid[];
18
+ sizes?: number[][];
19
+ ortb2Imp?: object;
20
+ labelAny?: string[];
21
+ labelAll?: string[];
22
+ }
23
+ export interface Bid {
24
+ bidder: string;
25
+ params: Record<string, any>;
26
+ labelAny?: string[];
27
+ labelAll?: string[];
28
+ }
29
+ export interface NoBid {
30
+ bidder: string;
31
+ bidderCode: string;
32
+ adUnitCode: string;
33
+ auctionId: string;
34
+ bidId: string;
35
+ bidderRequestId: string;
36
+ src?: string;
37
+ params?: Record<string, any>;
38
+ mediaTypes?: {
39
+ banner?: {
40
+ sizes: Array<[number, number]>;
41
+ };
42
+ video?: {
43
+ context: 'instream' | 'outstream';
44
+ playerSize: Array<[number, number]>;
45
+ };
46
+ native?: object;
47
+ };
48
+ status?: string;
49
+ sizes?: number[][];
50
+ responseTimestamp?: number;
51
+ requestTimestamp?: number;
52
+ timeToRespond?: number;
53
+ }
54
+ export interface BeforeBidderHttpEvent {
55
+ bidder: string;
56
+ adUnitCode: string;
57
+ bidId: string;
58
+ auctionId: string;
59
+ bidderRequestId: string;
60
+ src?: string;
61
+ params?: Record<string, any>;
62
+ mediaTypes?: {
63
+ banner?: {
64
+ sizes: Array<[number, number]>;
65
+ };
66
+ video?: {
67
+ context: 'instream' | 'outstream';
68
+ playerSize: Array<[number, number]>;
69
+ };
70
+ native?: object;
71
+ };
72
+ ortb2Imp?: object;
73
+ transactionId?: string;
74
+ sizes?: Array<[number, number]>;
75
+ }
76
+ export interface BidRequestedEvent {
77
+ bidder: string;
78
+ auctionId: string;
79
+ bidderRequestId: string;
80
+ bidderCode: string;
81
+ serverResponseTimeMs?: number;
82
+ bids: Array<{
83
+ adUnitCode: string;
84
+ bidId: string;
85
+ bidder: string;
86
+ auctionId: string;
87
+ bidderRequestId: string;
88
+ params?: Record<string, any>;
89
+ mediaTypes?: {
90
+ banner?: {
91
+ sizes: Array<[number, number]>;
92
+ };
93
+ video?: {
94
+ context: 'instream' | 'outstream';
95
+ playerSize: Array<[number, number]>;
96
+ };
97
+ native?: object;
98
+ };
99
+ ortb2Imp?: object;
100
+ transactionId?: string;
101
+ sizes?: Array<[number, number]>;
102
+ }>;
103
+ start: number;
104
+ timeout: number;
105
+ refererInfo?: {
106
+ referer: string;
107
+ reachedTop: boolean;
108
+ numIframes: number;
109
+ stack: string[];
110
+ };
111
+ src?: string;
112
+ tags?: any[];
113
+ }
114
+ export interface BidWonEvent {
115
+ adUnitCode: string;
116
+ requestId: string;
117
+ cpm: number;
118
+ currency: string;
119
+ creativeId: string;
120
+ dealId?: string;
121
+ width: number;
122
+ height: number;
123
+ ad?: string;
124
+ adUrl?: string;
125
+ vastUrl?: string;
126
+ vastXml?: string;
127
+ ttl: number;
128
+ netRevenue: boolean;
129
+ bidder: string;
130
+ timeToRespond: number;
131
+ auctionId: string;
132
+ responseTimestamp?: number;
133
+ requestTimestamp?: number;
134
+ status?: string;
135
+ adserverTargeting?: Record<string, string>;
136
+ meta?: {
137
+ advertiserDomains?: string[];
138
+ [key: string]: any;
139
+ };
140
+ mediaType?: 'banner' | 'video' | 'native';
141
+ renderer?: any;
142
+ native?: any;
143
+ }
144
+ export interface AuctionInitEvent {
145
+ auctionId: string;
146
+ timestamp: number;
147
+ timeout: number;
148
+ adUnits: AdUnit[];
149
+ auctionStatus: 'inProgress' | 'completed';
150
+ labels?: string[];
151
+ }
152
+ export interface PrebidEventDataMap {
153
+ auctionInit: AuctionInitEvent;
154
+ auctionEnd: AuctionEndEvent;
155
+ bidRequested: BidRequestedEvent;
156
+ bidResponse: BidResponse;
157
+ bidWon: BidWonEvent;
158
+ bidTimeout: BidTimeoutEvent[];
159
+ bidRejected: BidRejectedEvent;
160
+ bidderDone: BidderDoneEvent;
161
+ noBid: NoBid;
162
+ bidAccepted: BidAcceptedEvent;
163
+ beforeRequestBids: BeforeRequestBidsEvent;
164
+ beforeBidderHttp: BeforeBidderHttpEvent;
165
+ auctionDebug: AuctionDebugEvent;
166
+ addAdUnits: Record<string, never>;
167
+ }
168
+ export interface BidderDoneEvent {
169
+ bidderCode: string;
170
+ serverResponseTimeMs?: number;
171
+ timeToRespond: number;
172
+ bids?: BidResponse[];
173
+ }
174
+ export interface BidTimeoutEvent {
175
+ bidId: string;
176
+ bidder: string;
177
+ adUnitCode: string;
178
+ auctionId: string;
179
+ bidderRequestId: string;
180
+ timeout: number;
181
+ params?: Record<string, any>;
182
+ }
183
+ export interface BidRejectedEvent {
184
+ adUnitCode: string;
185
+ bidder: string;
186
+ reason: string;
187
+ bid: Partial<BidResponse>;
188
+ }
189
+ export interface BidAcceptedEvent {
190
+ adUnitCode: string;
191
+ requestId: string;
192
+ cpm: number;
193
+ currency: string;
194
+ creativeId: string;
195
+ dealId?: string;
196
+ width: number;
197
+ height: number;
198
+ ad?: string;
199
+ adUrl?: string;
200
+ vastUrl?: string;
201
+ vastXml?: string;
202
+ ttl: number;
203
+ netRevenue: boolean;
204
+ bidder: string;
205
+ timeToRespond: number;
206
+ auctionId: string;
207
+ responseTimestamp?: number;
208
+ requestTimestamp?: number;
209
+ adserverTargeting?: Record<string, string>;
210
+ meta?: {
211
+ advertiserDomains?: string[];
212
+ mediaType?: string;
213
+ secondaryCatIds?: string[];
214
+ networkId?: string;
215
+ agencyId?: string;
216
+ };
217
+ mediaType?: 'banner' | 'video' | 'native';
218
+ renderer?: any;
219
+ native?: any;
220
+ status?: string;
221
+ }
222
+ export interface BeforeRequestBidsEvent {
223
+ timeout: number;
224
+ adUnits: AdUnit[];
225
+ labels?: string[];
226
+ auctionId: string;
227
+ start?: number;
228
+ }
229
+ export interface AuctionEndEvent {
230
+ auctionId: string;
231
+ timestamp: number;
232
+ timeout: number;
233
+ adUnits: AdUnit[];
234
+ bidderRequests: BidRequestedEvent[];
235
+ bidsReceived: BidResponse[];
236
+ winningBids: BidWonEvent[];
237
+ noBids: NoBid[];
238
+ auctionEnd: number;
239
+ adUnitCodes: string[];
240
+ }
241
+ export type PrebidEvent = 'auctionInit' | 'auctionEnd' | 'auctionDebug' | 'bidRequested' | 'beforeBidderHttp' | 'bidAccepted' | 'bidResponse' | 'bidWon' | 'bidTimeout' | 'bidRejected' | 'bidderDone' | 'noBid' | 'beforeRequestBids' | 'addAdUnits';
242
+ export interface BidResponse {
243
+ requestId: string;
244
+ cpm: number;
245
+ currency: string;
246
+ width: number;
247
+ height: number;
248
+ ad?: string;
249
+ adUrl?: string;
250
+ vastUrl?: string;
251
+ vastXml?: string;
252
+ ttl: number;
253
+ creativeId: string;
254
+ netRevenue: boolean;
255
+ bidder: string;
256
+ bidderCode: string;
257
+ adUnitCode: string;
258
+ auctionId: string;
259
+ bidderRequestId: string;
260
+ price: number;
261
+ dealId?: string;
262
+ mediaType?: 'banner' | 'video' | 'native';
263
+ meta?: {
264
+ advertiserDomains?: string[];
265
+ advertiserId?: string;
266
+ advertiserName?: string;
267
+ agencyId?: string;
268
+ agencyName?: string;
269
+ brandId?: string;
270
+ brandName?: string;
271
+ dchain?: object;
272
+ };
273
+ adserverTargeting?: Record<string, string>;
274
+ status?: 'targetingSet' | 'rendered' | string;
275
+ statusMessage?: string;
276
+ pbLg?: string;
277
+ pbMg?: string;
278
+ pbHg?: string;
279
+ pbAg?: string;
280
+ pbDg?: string;
281
+ pbCg?: string;
282
+ size?: string;
283
+ timeToRespond?: number;
284
+ responseTimestamp?: number;
285
+ requestTimestamp?: number;
286
+ renderer?: any;
287
+ native?: {
288
+ title?: string;
289
+ body?: string;
290
+ image?: {
291
+ url: string;
292
+ height: number;
293
+ width: number;
294
+ };
295
+ icon?: {
296
+ url: string;
297
+ height: number;
298
+ width: number;
299
+ };
300
+ clickUrl?: string;
301
+ clickTrackers?: string[];
302
+ impressionTrackers?: string[];
303
+ [key: string]: any;
304
+ };
305
+ }
306
+ export type AuctionDebugEventType = 'INFO' | 'WARNING' | 'ERROR';
307
+ export interface EID {
308
+ source: string;
309
+ uids: UID[];
310
+ }
311
+ export interface UID {
312
+ id: string;
313
+ atype: number;
314
+ ext?: Record<string, any>;
315
+ }
316
+ export interface UserIdConfig {
317
+ name: string;
318
+ storage?: {
319
+ type: 'cookie' | 'html5';
320
+ name: string;
321
+ expires?: number;
322
+ refreshInSeconds?: number;
323
+ };
324
+ params?: Record<string, any>;
325
+ value?: any;
326
+ bidders?: string[];
327
+ }
328
+ export interface AuctionDebugEvent {
329
+ type: AuctionDebugEventType;
330
+ arguments: string[];
331
+ }
332
+ export interface PrebidConfig {
333
+ debug?: boolean;
334
+ bidderTimeout?: number;
335
+ enableSendAllBids?: boolean;
336
+ bidderSequence?: string;
337
+ useBidCache?: boolean;
338
+ eids?: EID[];
339
+ priceGranularity?: 'low' | 'medium' | 'high' | 'auto' | 'dense' | 'custom';
340
+ currency?: {
341
+ adServerCurrency: string;
342
+ granularityMultiplier?: number;
343
+ defaultRates?: Record<string, number>;
344
+ conversionRateFile?: string;
345
+ rates?: Record<string, number>;
346
+ };
347
+ consentManagement?: {
348
+ gdpr?: {
349
+ cmpApi: 'iab' | 'static' | 'iabnonsupport' | 'none';
350
+ timeout?: number;
351
+ allowAuctionWithoutConsent?: boolean;
352
+ defaultGdprScope?: boolean;
353
+ };
354
+ usp?: {
355
+ cmpApi: 'iab' | 'static' | 'none';
356
+ timeout?: number;
357
+ };
358
+ };
359
+ userSync?: {
360
+ userIds?: UserIdConfig[];
361
+ syncEnabled?: boolean;
362
+ filterSettings?: {
363
+ all?: {
364
+ bidders?: string[];
365
+ filter?: 'include' | 'exclude';
366
+ };
367
+ iframe?: {
368
+ bidders?: string[];
369
+ filter?: 'include' | 'exclude';
370
+ };
371
+ image?: {
372
+ bidders?: string[];
373
+ filter?: 'include' | 'exclude';
374
+ };
375
+ };
376
+ syncsPerBidder?: number;
377
+ syncDelay?: number;
378
+ auctionDelay?: number;
379
+ enableOverride?: boolean;
380
+ };
381
+ cache?: {
382
+ url?: string;
383
+ vasturl?: string;
384
+ ignoreBidderCacheKey?: boolean;
385
+ };
386
+ targetingControls?: {
387
+ alwaysIncludeDeals?: boolean;
388
+ appendBidderNames?: boolean;
389
+ includeWinners?: boolean;
390
+ includeBidderKeys?: boolean;
391
+ };
392
+ s2sConfig?: {
393
+ accountId: string;
394
+ bidders: string[];
395
+ timeout?: number;
396
+ adapter?: string;
397
+ endpoint?: string;
398
+ syncEndpoint?: string;
399
+ cookieSet?: boolean;
400
+ cookieSetUrl?: string;
401
+ defaultVendor?: string;
402
+ sendTopBidOnly?: boolean;
403
+ allowUnknownBidderCodes?: boolean;
404
+ } | Array<{
405
+ name: string;
406
+ accountId: string;
407
+ bidders: string[];
408
+ timeout?: number;
409
+ adapter?: string;
410
+ endpoint?: string;
411
+ syncEndpoint?: string;
412
+ cookieSet?: boolean;
413
+ cookieSetUrl?: string;
414
+ defaultVendor?: string;
415
+ sendTopBidOnly?: boolean;
416
+ allowUnknownBidderCodes?: boolean;
417
+ }>;
418
+ ortb2?: {
419
+ site?: {
420
+ page?: string;
421
+ domain?: string;
422
+ ref?: string;
423
+ keywords?: string;
424
+ cat?: string[];
425
+ sectioncat?: string[];
426
+ pagecat?: string[];
427
+ content?: {
428
+ id?: string;
429
+ episode?: number;
430
+ title?: string;
431
+ series?: string;
432
+ season?: string;
433
+ artist?: string;
434
+ genre?: string;
435
+ album?: string;
436
+ isrc?: string;
437
+ producer?: {
438
+ id?: string;
439
+ name?: string;
440
+ };
441
+ url?: string;
442
+ cat?: string[];
443
+ prodq?: number;
444
+ context?: number;
445
+ contentrating?: string;
446
+ userrating?: string;
447
+ qagmediarating?: number;
448
+ keywords?: string;
449
+ livestream?: boolean;
450
+ sourcerelationship?: number;
451
+ len?: number;
452
+ language?: string;
453
+ embeddable?: boolean;
454
+ data?: Array<{
455
+ id?: string;
456
+ name?: string;
457
+ segment?: Array<{
458
+ id?: string;
459
+ name?: string;
460
+ value?: string;
461
+ }>;
462
+ }>;
463
+ };
464
+ publisher?: {
465
+ id?: string;
466
+ name?: string;
467
+ cat?: string[];
468
+ domain?: string;
469
+ };
470
+ ext?: Record<string, any>;
471
+ };
472
+ user?: {
473
+ id?: string;
474
+ buyeruid?: string;
475
+ yob?: number;
476
+ gender?: string;
477
+ keywords?: string;
478
+ customdata?: string;
479
+ geo?: {
480
+ lat?: number;
481
+ lon?: number;
482
+ type?: number;
483
+ accuracy?: number;
484
+ lastfix?: number;
485
+ ipservice?: number;
486
+ country?: string;
487
+ region?: string;
488
+ regionfips104?: string;
489
+ metro?: string;
490
+ city?: string;
491
+ zip?: string;
492
+ utcoffset?: number;
493
+ };
494
+ data?: Array<{
495
+ id?: string;
496
+ name?: string;
497
+ segment?: Array<{
498
+ id?: string;
499
+ name?: string;
500
+ value?: string;
501
+ }>;
502
+ }>;
503
+ ext?: Record<string, any>;
504
+ };
505
+ device?: {
506
+ ua?: string;
507
+ geo?: {
508
+ lat?: number;
509
+ lon?: number;
510
+ type?: number;
511
+ accuracy?: number;
512
+ lastfix?: number;
513
+ ipservice?: number;
514
+ country?: string;
515
+ region?: string;
516
+ regionfips104?: string;
517
+ metro?: string;
518
+ city?: string;
519
+ zip?: string;
520
+ utcoffset?: number;
521
+ };
522
+ dnt?: number;
523
+ lmt?: number;
524
+ ip?: string;
525
+ ipv6?: string;
526
+ devicetype?: number;
527
+ make?: string;
528
+ model?: string;
529
+ os?: string;
530
+ osv?: string;
531
+ hwv?: string;
532
+ h?: number;
533
+ w?: number;
534
+ ppi?: number;
535
+ pxratio?: number;
536
+ js?: number;
537
+ geofetch?: number;
538
+ flashver?: string;
539
+ language?: string;
540
+ carrier?: string;
541
+ mccmnc?: string;
542
+ connectiontype?: number;
543
+ ifa?: string;
544
+ didsha1?: string;
545
+ didmd5?: string;
546
+ dpidsha1?: string;
547
+ dpidmd5?: string;
548
+ macsha1?: string;
549
+ macmd5?: string;
550
+ };
551
+ regs?: {
552
+ coppa?: number;
553
+ gdpr?: number;
554
+ us_privacy?: string;
555
+ ext?: Record<string, any>;
556
+ };
557
+ ext?: Record<string, any>;
558
+ };
559
+ labels?: string[];
560
+ maxNestedIframes?: number;
561
+ disableAjaxTimeout?: boolean;
562
+ enableTIDs?: boolean;
563
+ gptPreAuction?: GptPreAuctionConfig;
564
+ allowActivities?: {
565
+ [activity: string]: {
566
+ rules: Array<{
567
+ priority: number;
568
+ condition: (params: any) => boolean;
569
+ allow: boolean;
570
+ }>;
571
+ };
572
+ };
573
+ analytics?: Array<{
574
+ provider: string;
575
+ options: Record<string, any>;
576
+ includeEvents?: string[];
577
+ excludeEvents?: string[];
578
+ }>;
579
+ bidderSettings?: Record<string, SingleBidderSetting>;
580
+ [key: string]: any;
581
+ }
582
+ export interface GptPreAuctionConfig {
583
+ enabled: boolean;
584
+ timeout?: number;
585
+ setTargeting?: boolean;
586
+ suppressInitialLoad?: boolean;
587
+ auctionDelay?: number;
588
+ requestBidsHook?: () => void;
589
+ }
590
+ export type SingleBidderSetting = {
591
+ bidCpmAdjustment?: (bidCpm: number) => number;
592
+ alwaysUseBid?: boolean;
593
+ sendStandardTargeting?: boolean;
594
+ adserverTargeting?: Array<{
595
+ key: string;
596
+ val: (bidResponse: any) => string;
597
+ }>;
598
+ };
599
+ export type PriceGranularityValue = Array<{
600
+ min: number;
601
+ max: number;
602
+ increment: number;
603
+ precision: number;
604
+ }>;
605
+ export type CustomPriceGranularity = {
606
+ buckets: PriceGranularityValue;
607
+ };
608
+ export interface PrebidJsGlobal {
609
+ que: Array<() => void>;
610
+ adUnits: AdUnit[];
611
+ addAdUnits(adUnits: AdUnit | AdUnit[]): void;
612
+ removeAdUnit(code: string): void;
613
+ requestBids(options?: {
614
+ timeout?: number;
615
+ adUnits?: AdUnit[];
616
+ adUnitCodes?: string[];
617
+ bidsBackHandler?: (bids: Record<string, BidResponse[]>, timedOut: boolean, auctionId: string) => void;
618
+ labels?: string[];
619
+ auctionId?: string;
620
+ ortb2?: object;
621
+ ttlBuffer?: number;
622
+ }): void;
623
+ getBidResponses(): Record<string, {
624
+ bids: BidResponse[];
625
+ }>;
626
+ getBidResponsesForAdUnitCode(adUnitCode: string): {
627
+ bids: BidResponse[];
628
+ };
629
+ getAdserverTargeting(): Record<string, Record<string, string>>;
630
+ getAdserverTargetingForAdUnitCode(code: string): Record<string, string>;
631
+ setTargetingForGPTAsync(adUnitCodes?: string[]): void;
632
+ setConfig(config: PrebidConfig): void;
633
+ getConfig(key?: string): any;
634
+ getAllWinningBids(): BidResponse[];
635
+ getAllPrebidWinningBids(): BidResponse[];
636
+ renderAd(document: Document, adId: string): void;
637
+ getUserIds(): Record<string, any>;
638
+ getUserIdsAsEids(): EID[];
639
+ getUserIdsAsync(): void;
640
+ setBidderConfig(config: object): void;
641
+ aliasBidder(adapterName: string, aliasedName: string, options?: {
642
+ gvlid?: number;
643
+ useBaseGvlid?: boolean;
644
+ }): void;
645
+ getEvents(): Array<{
646
+ eventType: string;
647
+ args: any;
648
+ id?: string;
649
+ elapsedTime: number;
650
+ }>;
651
+ clearAllAuctions(): void;
652
+ getNoBids(): BidResponse[];
653
+ getNoBidsForAdUnitCode(adUnitCode: string): BidResponse[];
654
+ getHighestCpmBids(adUnitCode?: string): BidResponse[];
655
+ getHighestUnusedBidResponseForAdUnitCode(adUnitCode: string): BidResponse | null;
656
+ version: string;
657
+ installedModules: string[];
658
+ bidderSettings: Record<string, any>;
659
+ aliasRegistry: Record<string, string>;
660
+ adServers: {
661
+ dfp: {
662
+ buildAdpodVideoUrl(options: object): string;
663
+ buildVideoUrl(options: object): string;
664
+ };
665
+ freewheel: {
666
+ getTargeting(options: object): Record<string, string>;
667
+ };
668
+ targetVideo: {
669
+ buildVideoUrl(options: object): string;
670
+ };
671
+ };
672
+ onEvent<K extends PrebidEvent>(event: K, handler: (data: PrebidEventDataMap[K]) => void): void;
673
+ offEvent<K extends PrebidEvent>(event: K, handler: (data: PrebidEventDataMap[K]) => void): void;
674
+ }