prebid.js 10.3.0 → 10.4.0

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 (1210) hide show
  1. package/.github/dependabot.yml +8 -0
  2. package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
  3. package/dist/chunks/33acrossBidAdapter.js +1 -1
  4. package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
  5. package/dist/chunks/33acrossIdSystem.js +1 -1
  6. package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
  7. package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
  8. package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
  9. package/dist/chunks/adagioBidAdapter.js +1 -1
  10. package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
  11. package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
  12. package/dist/chunks/adagioUtils.js +1 -1
  13. package/dist/chunks/addefendBidAdapter.js +1 -1
  14. package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
  15. package/dist/chunks/adfBidAdapter.metadata.js +1 -1
  16. package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
  17. package/dist/chunks/adgenerationBidAdapter.js +1 -1
  18. package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
  19. package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
  20. package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
  21. package/dist/chunks/adlooxRtdProvider.js +1 -1
  22. package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
  23. package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
  24. package/dist/chunks/admixerIdSystem.metadata.js +1 -1
  25. package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
  26. package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
  27. package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
  28. package/dist/chunks/adotBidAdapter.metadata.js +1 -1
  29. package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
  30. package/dist/chunks/adqueryBidAdapter.js +1 -1
  31. package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
  32. package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
  33. package/dist/chunks/adrelevantisBidAdapter.js +1 -1
  34. package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
  35. package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
  36. package/dist/chunks/adstirBidAdapter.js +1 -1
  37. package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
  38. package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
  39. package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
  40. package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
  41. package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
  42. package/dist/chunks/advertisingBidAdapter.js +1 -1
  43. package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
  44. package/dist/chunks/adxcgBidAdapter.js +1 -1
  45. package/dist/chunks/adyoulikeBidAdapter.js +1 -1
  46. package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
  47. package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
  48. package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
  49. package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
  50. package/dist/chunks/ajaBidAdapter.js +1 -1
  51. package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
  52. package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
  53. package/dist/chunks/amxBidAdapter.js +1 -1
  54. package/dist/chunks/amxBidAdapter.metadata.js +1 -1
  55. package/dist/chunks/amxIdSystem.js +1 -1
  56. package/dist/chunks/amxIdSystem.metadata.js +1 -1
  57. package/dist/chunks/aniviewBidAdapter.js +1 -1
  58. package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
  59. package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
  60. package/dist/chunks/appierAnalyticsAdapter.js +1 -1
  61. package/dist/chunks/appierBidAdapter.metadata.js +1 -1
  62. package/dist/chunks/appnexusBidAdapter.js +1 -1
  63. package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
  64. package/dist/chunks/appushBidAdapter.metadata.js +1 -1
  65. package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
  66. package/dist/chunks/asoBidAdapter.js +1 -1
  67. package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
  68. package/dist/chunks/axisBidAdapter.metadata.js +1 -1
  69. package/dist/chunks/axonixBidAdapter.js +1 -1
  70. package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
  71. package/dist/chunks/beopBidAdapter.js +1 -1
  72. package/dist/chunks/beopBidAdapter.metadata.js +1 -1
  73. package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
  74. package/dist/chunks/bidglassBidAdapter.js +1 -1
  75. package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
  76. package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
  77. package/dist/chunks/big-richmediaBidAdapter.js +1 -1
  78. package/dist/chunks/bitmediaBidAdapter.js +1 -1
  79. package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
  80. package/dist/chunks/blockthroughBidAdapter.js +1 -1
  81. package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
  82. package/dist/chunks/blueBidAdapter.metadata.js +1 -1
  83. package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
  84. package/dist/chunks/bmtmBidAdapter.js +1 -1
  85. package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
  86. package/dist/chunks/bridBidAdapter.js +1 -1
  87. package/dist/chunks/bridBidAdapter.metadata.js +1 -1
  88. package/dist/chunks/bridgewellBidAdapter.js +1 -1
  89. package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
  90. package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
  91. package/dist/chunks/carodaBidAdapter.js +1 -1
  92. package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
  93. package/dist/chunks/categoryTranslation.metadata.js +1 -1
  94. package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
  95. package/dist/chunks/ceeIdSystem.metadata.js +1 -1
  96. package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
  97. package/dist/chunks/chtnwBidAdapter.js +1 -1
  98. package/dist/chunks/chunk-core.js +1 -1
  99. package/dist/chunks/compassBidAdapter.metadata.js +1 -1
  100. package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
  101. package/dist/chunks/concertBidAdapter.js +1 -1
  102. package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
  103. package/dist/chunks/connectIdSystem.metadata.js +1 -1
  104. package/dist/chunks/connectadBidAdapter.js +1 -1
  105. package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
  106. package/dist/chunks/consumableBidAdapter.js +1 -1
  107. package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
  108. package/dist/chunks/contxtfulBidAdapter.js +1 -1
  109. package/dist/chunks/conversantBidAdapter.js +1 -1
  110. package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
  111. package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
  112. package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
  113. package/dist/chunks/craftBidAdapter.js +1 -1
  114. package/dist/chunks/criteoBidAdapter.js +1 -1
  115. package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
  116. package/dist/chunks/criteoIdSystem.metadata.js +1 -1
  117. package/dist/chunks/cwireBidAdapter.js +1 -1
  118. package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
  119. package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
  120. package/dist/chunks/dailymotionBidAdapter.js +1 -1
  121. package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
  122. package/dist/chunks/debugging.metadata.js +1 -1
  123. package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
  124. package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
  125. package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
  126. package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
  127. package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
  128. package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
  129. package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
  130. package/dist/chunks/dspxBidAdapter.js +1 -1
  131. package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
  132. package/dist/chunks/dxkultureBidAdapter.js +1 -1
  133. package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
  134. package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
  135. package/dist/chunks/eplanningBidAdapter.js +1 -1
  136. package/dist/chunks/equativBidAdapter.js +1 -1
  137. package/dist/chunks/equativBidAdapter.metadata.js +1 -1
  138. package/dist/chunks/eskimiBidAdapter.js +1 -1
  139. package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
  140. package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
  141. package/dist/chunks/euidIdSystem.js +1 -1
  142. package/dist/chunks/euidIdSystem.metadata.js +1 -1
  143. package/dist/chunks/exadsBidAdapter.js +1 -1
  144. package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
  145. package/dist/chunks/excoBidAdapter.js +1 -1
  146. package/dist/chunks/feedadBidAdapter.js +1 -1
  147. package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
  148. package/dist/chunks/finativeBidAdapter.js +1 -1
  149. package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
  150. package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
  151. package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
  152. package/dist/chunks/gmosspBidAdapter.js +1 -1
  153. package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
  154. package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
  155. package/dist/chunks/greenbidsBidAdapter.js +1 -1
  156. package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
  157. package/dist/chunks/greenbidsRtdProvider.js +1 -1
  158. package/dist/chunks/gridBidAdapter.js +1 -1
  159. package/dist/chunks/gridBidAdapter.metadata.js +1 -1
  160. package/dist/chunks/gumgumBidAdapter.js +1 -1
  161. package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
  162. package/dist/chunks/h12mediaBidAdapter.js +1 -1
  163. package/dist/chunks/hadronIdSystem.metadata.js +1 -1
  164. package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
  165. package/dist/chunks/holidBidAdapter.metadata.js +1 -1
  166. package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
  167. package/dist/chunks/hypelabBidAdapter.js +1 -1
  168. package/dist/chunks/id5AnalyticsAdapter.js +1 -1
  169. package/dist/chunks/id5IdSystem.js +1 -1
  170. package/dist/chunks/id5IdSystem.metadata.js +1 -1
  171. package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
  172. package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
  173. package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
  174. package/dist/chunks/improvedigitalBidAdapter.js +1 -1
  175. package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
  176. package/dist/chunks/inmobiBidAdapter.js +1 -1
  177. package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
  178. package/dist/chunks/innityBidAdapter.metadata.js +1 -1
  179. package/dist/chunks/insticatorBidAdapter.js +1 -1
  180. package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
  181. package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
  182. package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
  183. package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
  184. package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
  185. package/dist/chunks/ixBidAdapter.js +1 -1
  186. package/dist/chunks/ixBidAdapter.metadata.js +1 -1
  187. package/dist/chunks/jixieBidAdapter.js +1 -1
  188. package/dist/chunks/justIdSystem.metadata.js +1 -1
  189. package/dist/chunks/justpremiumBidAdapter.js +1 -1
  190. package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
  191. package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
  192. package/dist/chunks/kargoBidAdapter.js +1 -1
  193. package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
  194. package/dist/chunks/kimberliteBidAdapter.js +1 -1
  195. package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
  196. package/dist/chunks/lassoBidAdapter.js +1 -1
  197. package/dist/chunks/lifestreetBidAdapter.js +1 -1
  198. package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
  199. package/dist/chunks/liveIntentId.js +1 -1
  200. package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
  201. package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
  202. package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
  203. package/dist/chunks/logicadBidAdapter.js +1 -1
  204. package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
  205. package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
  206. package/dist/chunks/luceadBidAdapter.js +1 -1
  207. package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
  208. package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
  209. package/dist/chunks/mabidderBidAdapter.js +1 -1
  210. package/dist/chunks/madsenseBidAdapter.js +1 -1
  211. package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
  212. package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
  213. package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
  214. package/dist/chunks/marsmediaBidAdapter.js +1 -1
  215. package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
  216. package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
  217. package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
  218. package/dist/chunks/mediafuseBidAdapter.js +1 -1
  219. package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
  220. package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
  221. package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
  222. package/dist/chunks/medianetBidAdapter.js +1 -1
  223. package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
  224. package/dist/chunks/medianetUtils.js +1 -1
  225. package/dist/chunks/mediasquareBidAdapter.js +1 -1
  226. package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
  227. package/dist/chunks/mgidBidAdapter.js +1 -1
  228. package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
  229. package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
  230. package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
  231. package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
  232. package/dist/chunks/missenaBidAdapter.js +1 -1
  233. package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
  234. package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
  235. package/dist/chunks/mobilefuseBidAdapter.js +1 -1
  236. package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
  237. package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
  238. package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
  239. package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
  240. package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
  241. package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
  242. package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
  243. package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
  244. package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
  245. package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
  246. package/dist/chunks/nexx360Utils.js +1 -1
  247. package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
  248. package/dist/chunks/nobidBidAdapter.js +1 -1
  249. package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
  250. package/dist/chunks/nodalsAiRtdProvider.js +1 -1
  251. package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
  252. package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
  253. package/dist/chunks/oguryBidAdapter.js +1 -1
  254. package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
  255. package/dist/chunks/omsBidAdapter.metadata.js +1 -1
  256. package/dist/chunks/onetagBidAdapter.js +1 -1
  257. package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
  258. package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
  259. package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
  260. package/dist/chunks/openxBidAdapter.js +1 -1
  261. package/dist/chunks/openxBidAdapter.metadata.js +1 -1
  262. package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
  263. package/dist/chunks/optidigitalBidAdapter.js +1 -1
  264. package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
  265. package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
  266. package/dist/chunks/orbidderBidAdapter.js +1 -1
  267. package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
  268. package/dist/chunks/outbrainBidAdapter.js +1 -1
  269. package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
  270. package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
  271. package/dist/chunks/pairIdSystem.metadata.js +1 -1
  272. package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
  273. package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
  274. package/dist/chunks/pixfutureBidAdapter.js +1 -1
  275. package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
  276. package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
  277. package/dist/chunks/prebid-core.metadata.js +1 -1
  278. package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
  279. package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
  280. package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
  281. package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
  282. package/dist/chunks/publinkIdSystem.js +1 -1
  283. package/dist/chunks/publinkIdSystem.metadata.js +1 -1
  284. package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
  285. package/dist/chunks/pubmaticBidAdapter.js +1 -1
  286. package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
  287. package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
  288. package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
  289. package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
  290. package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
  291. package/dist/chunks/pxyzBidAdapter.js +1 -1
  292. package/dist/chunks/qtBidAdapter.metadata.js +1 -1
  293. package/dist/chunks/quantcastBidAdapter.js +1 -1
  294. package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
  295. package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
  296. package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
  297. package/dist/chunks/raynRtdProvider.metadata.js +1 -1
  298. package/dist/chunks/readpeakBidAdapter.js +1 -1
  299. package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
  300. package/dist/chunks/relaidoBidAdapter.js +1 -1
  301. package/dist/chunks/relayBidAdapter.metadata.js +1 -1
  302. package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
  303. package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
  304. package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
  305. package/dist/chunks/retailspotBidAdapter.js +1 -1
  306. package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
  307. package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
  308. package/dist/chunks/rhythmoneBidAdapter.js +1 -1
  309. package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
  310. package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
  311. package/dist/chunks/riseBidAdapter.metadata.js +1 -1
  312. package/dist/chunks/riseUtils.js +1 -1
  313. package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
  314. package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
  315. package/dist/chunks/rubiconBidAdapter.js +1 -1
  316. package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
  317. package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
  318. package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
  319. package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
  320. package/dist/chunks/seedtagBidAdapter.js +1 -1
  321. package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
  322. package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
  323. package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
  324. package/dist/chunks/sevioBidAdapter.js +1 -1
  325. package/dist/chunks/sevioBidAdapter.metadata.js +1 -1
  326. package/dist/chunks/sharedIdSystem.metadata.js +1 -1
  327. package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
  328. package/dist/chunks/sharethroughBidAdapter.js +1 -1
  329. package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
  330. package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
  331. package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
  332. package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
  333. package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
  334. package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
  335. package/dist/chunks/smaatoBidAdapter.js +1 -1
  336. package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
  337. package/dist/chunks/smartadserverBidAdapter.js +1 -1
  338. package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
  339. package/dist/chunks/smartxBidAdapter.js +1 -1
  340. package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
  341. package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
  342. package/dist/chunks/smilewantedBidAdapter.js +1 -1
  343. package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
  344. package/dist/chunks/snigelBidAdapter.js +1 -1
  345. package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
  346. package/dist/chunks/sonaradsBidAdapter.js +1 -1
  347. package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
  348. package/dist/chunks/sonobiBidAdapter.js +1 -1
  349. package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
  350. package/dist/chunks/sovrnBidAdapter.js +1 -1
  351. package/dist/chunks/sparteoBidAdapter.js +1 -1
  352. package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
  353. package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
  354. package/dist/chunks/sspBCBidAdapter.js +1 -1
  355. package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
  356. package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
  357. package/dist/chunks/startioBidAdapter.metadata.js +1 -1
  358. package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
  359. package/dist/chunks/stvBidAdapter.js +1 -1
  360. package/dist/chunks/stvBidAdapter.metadata.js +1 -1
  361. package/dist/chunks/sublimeBidAdapter.js +1 -1
  362. package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
  363. package/dist/chunks/taboolaBidAdapter.js +1 -1
  364. package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
  365. package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
  366. package/dist/chunks/tappxBidAdapter.js +1 -1
  367. package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
  368. package/dist/chunks/targetVideoBidAdapter.js +1 -1
  369. package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
  370. package/dist/chunks/teadsBidAdapter.js +1 -1
  371. package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
  372. package/dist/chunks/teadsIdSystem.metadata.js +1 -1
  373. package/dist/chunks/tealBidAdapter.metadata.js +1 -1
  374. package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
  375. package/dist/chunks/themoneytizerBidAdapter.js +1 -1
  376. package/dist/chunks/tncIdSystem.metadata.js +1 -1
  377. package/dist/chunks/topicsFpdModule.metadata.js +1 -1
  378. package/dist/chunks/trionBidAdapter.js +1 -1
  379. package/dist/chunks/tripleliftBidAdapter.js +1 -1
  380. package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
  381. package/dist/chunks/ttdBidAdapter.js +1 -1
  382. package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
  383. package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
  384. package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
  385. package/dist/chunks/uid2IdSystem.js +1 -1
  386. package/dist/chunks/underdogmediaBidAdapter.js +1 -1
  387. package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
  388. package/dist/chunks/undertoneBidAdapter.js +1 -1
  389. package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
  390. package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
  391. package/dist/chunks/unrulyBidAdapter.js +1 -1
  392. package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
  393. package/dist/chunks/userId.metadata.js +1 -1
  394. package/dist/chunks/validationFpdModule.metadata.js +1 -1
  395. package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
  396. package/dist/chunks/vidazooUtils.js +1 -1
  397. package/dist/chunks/videobyteBidAdapter.js +1 -1
  398. package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
  399. package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
  400. package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
  401. package/dist/chunks/visxBidAdapter.js +1 -1
  402. package/dist/chunks/visxBidAdapter.metadata.js +1 -1
  403. package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
  404. package/dist/chunks/voxBidAdapter.metadata.js +1 -1
  405. package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
  406. package/dist/chunks/vuukleBidAdapter.js +1 -1
  407. package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
  408. package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
  409. package/dist/chunks/welectBidAdapter.metadata.js +1 -1
  410. package/dist/chunks/widespaceBidAdapter.js +1 -1
  411. package/dist/chunks/winrBidAdapter.js +1 -1
  412. package/dist/chunks/yahooAdsBidAdapter.js +1 -1
  413. package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
  414. package/dist/chunks/yandexBidAdapter.js +1 -1
  415. package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
  416. package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
  417. package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
  418. package/dist/chunks/yieldmoBidAdapter.js +1 -1
  419. package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
  420. package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
  421. package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
  422. package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
  423. package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
  424. package/dist/not-for-prod/prebid.js +424 -424
  425. package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
  426. package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
  427. package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
  428. package/dist/src/libraries/liveIntentId/shared.js +20 -0
  429. package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
  430. package/dist/src/libraries/medianetUtils/constants.js +1 -1
  431. package/dist/src/libraries/nexx360Utils/index.js +1 -1
  432. package/dist/src/libraries/riseUtils/index.js +1 -1
  433. package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
  434. package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
  435. package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
  436. package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
  437. package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
  438. package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
  439. package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
  440. package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
  441. package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
  442. package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
  443. package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
  444. package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
  445. package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
  446. package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
  447. package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
  448. package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
  449. package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
  450. package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
  451. package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
  452. package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
  453. package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
  454. package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
  455. package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
  456. package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
  457. package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
  458. package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
  459. package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
  460. package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
  461. package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
  462. package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
  463. package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
  464. package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
  465. package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
  466. package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
  467. package/dist/src/metadata/modules/amxIdSystem.js +1 -1
  468. package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
  469. package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
  470. package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
  471. package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
  472. package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
  473. package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
  474. package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
  475. package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
  476. package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
  477. package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
  478. package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
  479. package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
  480. package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
  481. package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
  482. package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
  483. package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
  484. package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
  485. package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
  486. package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
  487. package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
  488. package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
  489. package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
  490. package/dist/src/metadata/modules/categoryTranslation.js +1 -1
  491. package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
  492. package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
  493. package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
  494. package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
  495. package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
  496. package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
  497. package/dist/src/metadata/modules/connectIdSystem.js +1 -1
  498. package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
  499. package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
  500. package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
  501. package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
  502. package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
  503. package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
  504. package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
  505. package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
  506. package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
  507. package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
  508. package/dist/src/metadata/modules/debugging.js +1 -1
  509. package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
  510. package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
  511. package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
  512. package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
  513. package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
  514. package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
  515. package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
  516. package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
  517. package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
  518. package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
  519. package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
  520. package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
  521. package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
  522. package/dist/src/metadata/modules/euidIdSystem.js +1 -1
  523. package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
  524. package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
  525. package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
  526. package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
  527. package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
  528. package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
  529. package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
  530. package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
  531. package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
  532. package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
  533. package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
  534. package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
  535. package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
  536. package/dist/src/metadata/modules/id5IdSystem.js +1 -1
  537. package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
  538. package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
  539. package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
  540. package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
  541. package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
  542. package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
  543. package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
  544. package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
  545. package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
  546. package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
  547. package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
  548. package/dist/src/metadata/modules/justIdSystem.js +1 -1
  549. package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
  550. package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
  551. package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
  552. package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
  553. package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
  554. package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
  555. package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
  556. package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
  557. package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
  558. package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
  559. package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
  560. package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
  561. package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
  562. package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
  563. package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
  564. package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
  565. package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
  566. package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
  567. package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
  568. package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
  569. package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
  570. package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
  571. package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
  572. package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
  573. package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
  574. package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
  575. package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
  576. package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
  577. package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
  578. package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
  579. package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
  580. package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
  581. package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
  582. package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
  583. package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
  584. package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
  585. package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
  586. package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
  587. package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
  588. package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
  589. package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
  590. package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
  591. package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
  592. package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
  593. package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
  594. package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
  595. package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
  596. package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
  597. package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
  598. package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
  599. package/dist/src/metadata/modules/pairIdSystem.js +1 -1
  600. package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
  601. package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
  602. package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
  603. package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
  604. package/dist/src/metadata/modules/prebid-core.js +1 -1
  605. package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
  606. package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
  607. package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
  608. package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
  609. package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
  610. package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
  611. package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
  612. package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
  613. package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
  614. package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
  615. package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
  616. package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
  617. package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
  618. package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
  619. package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
  620. package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
  621. package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
  622. package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
  623. package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
  624. package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
  625. package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
  626. package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
  627. package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
  628. package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
  629. package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
  630. package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
  631. package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
  632. package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
  633. package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
  634. package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
  635. package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
  636. package/dist/src/metadata/modules/sevioBidAdapter.js +1 -1
  637. package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
  638. package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
  639. package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
  640. package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
  641. package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
  642. package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
  643. package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
  644. package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
  645. package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
  646. package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
  647. package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
  648. package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
  649. package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
  650. package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
  651. package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
  652. package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
  653. package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
  654. package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
  655. package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
  656. package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
  657. package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
  658. package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
  659. package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
  660. package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
  661. package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
  662. package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
  663. package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
  664. package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
  665. package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
  666. package/dist/src/metadata/modules/tncIdSystem.js +1 -1
  667. package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
  668. package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
  669. package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
  670. package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
  671. package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
  672. package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
  673. package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
  674. package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
  675. package/dist/src/metadata/modules/userId.js +1 -1
  676. package/dist/src/metadata/modules/validationFpdModule.js +1 -1
  677. package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
  678. package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
  679. package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
  680. package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
  681. package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
  682. package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
  683. package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
  684. package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
  685. package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
  686. package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
  687. package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
  688. package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
  689. package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
  690. package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
  691. package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
  692. package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
  693. package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
  694. package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
  695. package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
  696. package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
  697. package/dist/src/modules/33acrossBidAdapter.js +1 -1
  698. package/dist/src/modules/33acrossIdSystem.js +1 -1
  699. package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
  700. package/dist/src/modules/adagioBidAdapter.js +1 -1
  701. package/dist/src/modules/addefendBidAdapter.js +1 -1
  702. package/dist/src/modules/adgenerationBidAdapter.js +1 -1
  703. package/dist/src/modules/adlooxRtdProvider.js +1 -1
  704. package/dist/src/modules/adqueryBidAdapter.js +1 -1
  705. package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
  706. package/dist/src/modules/adstirBidAdapter.js +1 -1
  707. package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
  708. package/dist/src/modules/advertisingBidAdapter.js +2 -2
  709. package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
  710. package/dist/src/modules/adxcgBidAdapter.js +1 -1
  711. package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
  712. package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
  713. package/dist/src/modules/ajaBidAdapter.js +1 -1
  714. package/dist/src/modules/amxBidAdapter.js +2 -2
  715. package/dist/src/modules/amxIdSystem.js +1 -1
  716. package/dist/src/modules/aniviewBidAdapter.js +1 -1
  717. package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
  718. package/dist/src/modules/appnexusBidAdapter.js +2 -2
  719. package/dist/src/modules/asoBidAdapter.js +1 -1
  720. package/dist/src/modules/axonixBidAdapter.js +1 -1
  721. package/dist/src/modules/beopBidAdapter.js +2 -2
  722. package/dist/src/modules/bidglassBidAdapter.js +1 -1
  723. package/dist/src/modules/bitmediaBidAdapter.js +1 -1
  724. package/dist/src/modules/blockthroughBidAdapter.js +1 -1
  725. package/dist/src/modules/bmtmBidAdapter.js +1 -1
  726. package/dist/src/modules/bridBidAdapter.js +1 -1
  727. package/dist/src/modules/bridgewellBidAdapter.js +1 -1
  728. package/dist/src/modules/carodaBidAdapter.js +1 -1
  729. package/dist/src/modules/chtnwBidAdapter.js +1 -1
  730. package/dist/src/modules/concertBidAdapter.js +1 -1
  731. package/dist/src/modules/connectadBidAdapter.js +1 -1
  732. package/dist/src/modules/consumableBidAdapter.js +1 -1
  733. package/dist/src/modules/contxtfulBidAdapter.js +1 -1
  734. package/dist/src/modules/conversantBidAdapter.js +1 -1
  735. package/dist/src/modules/craftBidAdapter.js +1 -1
  736. package/dist/src/modules/criteoBidAdapter.js +2 -2
  737. package/dist/src/modules/cwireBidAdapter.js +1 -1
  738. package/dist/src/modules/dailymotionBidAdapter.js +1 -1
  739. package/dist/src/modules/dspxBidAdapter.js +1 -1
  740. package/dist/src/modules/dxkultureBidAdapter.js +1 -1
  741. package/dist/src/modules/eplanningBidAdapter.js +1 -1
  742. package/dist/src/modules/equativBidAdapter.js +1 -1
  743. package/dist/src/modules/eskimiBidAdapter.js +1 -1
  744. package/dist/src/modules/euidIdSystem.js +1 -1
  745. package/dist/src/modules/exadsBidAdapter.js +1 -1
  746. package/dist/src/modules/excoBidAdapter.js +3 -3
  747. package/dist/src/modules/feedadBidAdapter.js +2 -2
  748. package/dist/src/modules/finativeBidAdapter.js +1 -1
  749. package/dist/src/modules/gmosspBidAdapter.js +1 -1
  750. package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
  751. package/dist/src/modules/greenbidsBidAdapter.js +1 -1
  752. package/dist/src/modules/greenbidsRtdProvider.js +1 -1
  753. package/dist/src/modules/gridBidAdapter.js +2 -2
  754. package/dist/src/modules/gumgumBidAdapter.js +2 -2
  755. package/dist/src/modules/h12mediaBidAdapter.js +1 -1
  756. package/dist/src/modules/hypelabBidAdapter.js +1 -1
  757. package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
  758. package/dist/src/modules/id5IdSystem.js +1 -1
  759. package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
  760. package/dist/src/modules/inmobiBidAdapter.js +1 -1
  761. package/dist/src/modules/insticatorBidAdapter.js +1 -1
  762. package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
  763. package/dist/src/modules/ixBidAdapter.js +1 -1
  764. package/dist/src/modules/jixieBidAdapter.js +1 -1
  765. package/dist/src/modules/justpremiumBidAdapter.js +1 -1
  766. package/dist/src/modules/kargoBidAdapter.js +1 -1
  767. package/dist/src/modules/kimberliteBidAdapter.js +1 -1
  768. package/dist/src/modules/lassoBidAdapter.js +1 -1
  769. package/dist/src/modules/lifestreetBidAdapter.js +1 -1
  770. package/dist/src/modules/logicadBidAdapter.js +1 -1
  771. package/dist/src/modules/luceadBidAdapter.js +1 -1
  772. package/dist/src/modules/mabidderBidAdapter.js +1 -1
  773. package/dist/src/modules/madsenseBidAdapter.js +1 -1
  774. package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
  775. package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
  776. package/dist/src/modules/marsmediaBidAdapter.js +1 -1
  777. package/dist/src/modules/mediafuseBidAdapter.js +2 -2
  778. package/dist/src/modules/medianetBidAdapter.js +1 -1
  779. package/dist/src/modules/mediasquareBidAdapter.js +2 -2
  780. package/dist/src/modules/mgidBidAdapter.js +1 -1
  781. package/dist/src/modules/missenaBidAdapter.js +1 -1
  782. package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
  783. package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
  784. package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
  785. package/dist/src/modules/nobidBidAdapter.js +1 -1
  786. package/dist/src/modules/nodalsAiRtdProvider.js +1 -1
  787. package/dist/src/modules/oguryBidAdapter.js +1 -1
  788. package/dist/src/modules/onetagBidAdapter.js +1 -1
  789. package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
  790. package/dist/src/modules/openxBidAdapter.js +7 -2
  791. package/dist/src/modules/openxBidAdapter.js.map +1 -1
  792. package/dist/src/modules/optidigitalBidAdapter.js +1 -1
  793. package/dist/src/modules/orbidderBidAdapter.js +1 -1
  794. package/dist/src/modules/outbrainBidAdapter.js +1 -1
  795. package/dist/src/modules/pixfutureBidAdapter.js +2 -2
  796. package/dist/src/modules/priceFloors.d.ts +2 -2
  797. package/dist/src/modules/priceFloors.js.map +1 -1
  798. package/dist/src/modules/publinkIdSystem.js +1 -1
  799. package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
  800. package/dist/src/modules/pubmaticBidAdapter.js +23 -3
  801. package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
  802. package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
  803. package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
  804. package/dist/src/modules/pxyzBidAdapter.js +1 -1
  805. package/dist/src/modules/quantcastBidAdapter.js +1 -1
  806. package/dist/src/modules/readpeakBidAdapter.js +1 -1
  807. package/dist/src/modules/relaidoBidAdapter.js +1 -1
  808. package/dist/src/modules/retailspotBidAdapter.js +1 -1
  809. package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
  810. package/dist/src/modules/rubiconBidAdapter.js +1 -1
  811. package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
  812. package/dist/src/modules/seedtagBidAdapter.js +1 -1
  813. package/dist/src/modules/sevioBidAdapter.js +4 -1
  814. package/dist/src/modules/sevioBidAdapter.js.map +1 -1
  815. package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
  816. package/dist/src/modules/sharethroughBidAdapter.js +1 -1
  817. package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
  818. package/dist/src/modules/smaatoBidAdapter.js +1 -1
  819. package/dist/src/modules/smartadserverBidAdapter.js +1 -1
  820. package/dist/src/modules/smartxBidAdapter.js +1 -1
  821. package/dist/src/modules/smilewantedBidAdapter.js +1 -1
  822. package/dist/src/modules/snigelBidAdapter.js +1 -1
  823. package/dist/src/modules/sonaradsBidAdapter.js +2 -2
  824. package/dist/src/modules/sonobiBidAdapter.js +1 -1
  825. package/dist/src/modules/sovrnBidAdapter.js +1 -1
  826. package/dist/src/modules/sparteoBidAdapter.js +1 -1
  827. package/dist/src/modules/sspBCBidAdapter.js +1 -1
  828. package/dist/src/modules/stvBidAdapter.js +1 -1
  829. package/dist/src/modules/sublimeBidAdapter.js +2 -2
  830. package/dist/src/modules/taboolaBidAdapter.js +1 -1
  831. package/dist/src/modules/tappxBidAdapter.js +1 -1
  832. package/dist/src/modules/targetVideoBidAdapter.js +1 -1
  833. package/dist/src/modules/teadsBidAdapter.js +1 -1
  834. package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
  835. package/dist/src/modules/themoneytizerBidAdapter.js +1 -1
  836. package/dist/src/modules/trionBidAdapter.js +1 -1
  837. package/dist/src/modules/tripleliftBidAdapter.js +1 -1
  838. package/dist/src/modules/ttdBidAdapter.js +1 -1
  839. package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
  840. package/dist/src/modules/uid2IdSystem.js +1 -1
  841. package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
  842. package/dist/src/modules/undertoneBidAdapter.js +1 -1
  843. package/dist/src/modules/unrulyBidAdapter.js +1 -1
  844. package/dist/src/modules/videobyteBidAdapter.js +1 -1
  845. package/dist/src/modules/visxBidAdapter.js +1 -1
  846. package/dist/src/modules/vuukleBidAdapter.js +1 -1
  847. package/dist/src/modules/widespaceBidAdapter.js +1 -1
  848. package/dist/src/modules/winrBidAdapter.js +1 -1
  849. package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
  850. package/dist/src/modules/yandexBidAdapter.js +1 -1
  851. package/dist/src/modules/yieldmoBidAdapter.js +2 -2
  852. package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
  853. package/dist/src/package.json +2 -3
  854. package/dist/src/src/debugging.js +1 -1
  855. package/dist/src/src/prebid.js +2 -2
  856. package/dist/src/src/targeting.d.ts +4 -4
  857. package/dist/src/src/targeting.js.map +1 -1
  858. package/dist/src/src/types/summary/core.d.ts +1 -1
  859. package/dist/src/src/types/summary/modules.d.ts +2 -2
  860. package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
  861. package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
  862. package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  863. package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
  864. package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
  865. package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
  866. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
  867. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
  868. package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
  869. package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
  870. package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
  871. package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  872. package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
  873. package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
  874. package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
  875. package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
  876. package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
  877. package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
  878. package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
  879. package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
  880. package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
  881. package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
  882. package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
  883. package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
  884. package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
  885. package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
  886. package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
  887. package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
  888. package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
  889. package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
  890. package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
  891. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
  892. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
  893. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
  894. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
  895. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
  896. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
  897. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
  898. package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
  899. package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
  900. package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
  901. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +9 -9
  902. package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
  903. package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
  904. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
  905. package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
  906. package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
  907. package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
  908. package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
  909. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
  910. package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
  911. package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
  912. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
  913. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
  914. package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
  915. package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
  916. package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
  917. package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
  918. package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
  919. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
  920. package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
  921. package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
  922. package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
  923. package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
  924. package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
  925. package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
  926. package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
  927. package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
  928. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +1 -1
  929. package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  930. package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
  931. package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
  932. package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
  933. package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
  934. package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
  935. package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
  936. package/gulpfile.js +0 -7
  937. package/libraries/liveIntentId/shared.js +16 -0
  938. package/metadata/modules/33acrossBidAdapter.json +1 -1
  939. package/metadata/modules/33acrossIdSystem.json +1 -1
  940. package/metadata/modules/acuityadsBidAdapter.json +1 -1
  941. package/metadata/modules/adagioBidAdapter.json +1 -1
  942. package/metadata/modules/adagioRtdProvider.json +1 -1
  943. package/metadata/modules/addefendBidAdapter.json +1 -1
  944. package/metadata/modules/adfBidAdapter.json +1 -1
  945. package/metadata/modules/adfusionBidAdapter.json +1 -1
  946. package/metadata/modules/adheseBidAdapter.json +1 -1
  947. package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
  948. package/metadata/modules/adkernelBidAdapter.json +4 -4
  949. package/metadata/modules/admaticBidAdapter.json +2 -2
  950. package/metadata/modules/admixerBidAdapter.json +1 -1
  951. package/metadata/modules/admixerIdSystem.json +1 -1
  952. package/metadata/modules/adnowBidAdapter.json +1 -1
  953. package/metadata/modules/adnuntiusBidAdapter.json +1 -1
  954. package/metadata/modules/adnuntiusRtdProvider.json +1 -1
  955. package/metadata/modules/adotBidAdapter.json +1 -1
  956. package/metadata/modules/adponeBidAdapter.json +1 -1
  957. package/metadata/modules/adqueryBidAdapter.json +1 -1
  958. package/metadata/modules/adqueryIdSystem.json +1 -1
  959. package/metadata/modules/adrinoBidAdapter.json +1 -1
  960. package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
  961. package/metadata/modules/adtargetBidAdapter.json +1 -1
  962. package/metadata/modules/adtelligentBidAdapter.json +3 -3
  963. package/metadata/modules/adtelligentIdSystem.json +1 -1
  964. package/metadata/modules/aduptechBidAdapter.json +1 -1
  965. package/metadata/modules/adyoulikeBidAdapter.json +1 -1
  966. package/metadata/modules/aidemBidAdapter.json +1 -1
  967. package/metadata/modules/airgridRtdProvider.json +1 -1
  968. package/metadata/modules/alkimiBidAdapter.json +1 -1
  969. package/metadata/modules/ampliffyBidAdapter.json +1 -1
  970. package/metadata/modules/amxBidAdapter.json +1 -1
  971. package/metadata/modules/amxIdSystem.json +1 -1
  972. package/metadata/modules/aniviewBidAdapter.json +1 -1
  973. package/metadata/modules/anonymisedRtdProvider.json +1 -1
  974. package/metadata/modules/appierBidAdapter.json +1 -1
  975. package/metadata/modules/appnexusBidAdapter.json +5 -5
  976. package/metadata/modules/appushBidAdapter.json +1 -1
  977. package/metadata/modules/apstreamBidAdapter.json +1 -1
  978. package/metadata/modules/audiencerunBidAdapter.json +1 -1
  979. package/metadata/modules/axisBidAdapter.json +1 -1
  980. package/metadata/modules/azerionedgeRtdProvider.json +1 -1
  981. package/metadata/modules/beopBidAdapter.json +1 -1
  982. package/metadata/modules/betweenBidAdapter.json +1 -1
  983. package/metadata/modules/bidmaticBidAdapter.json +1 -1
  984. package/metadata/modules/bidtheatreBidAdapter.json +1 -1
  985. package/metadata/modules/bliinkBidAdapter.json +1 -1
  986. package/metadata/modules/blockthroughBidAdapter.json +1 -1
  987. package/metadata/modules/blueBidAdapter.json +1 -1
  988. package/metadata/modules/bmsBidAdapter.json +1 -1
  989. package/metadata/modules/boldwinBidAdapter.json +1 -1
  990. package/metadata/modules/bridBidAdapter.json +1 -1
  991. package/metadata/modules/browsiBidAdapter.json +1 -1
  992. package/metadata/modules/bucksenseBidAdapter.json +1 -1
  993. package/metadata/modules/carodaBidAdapter.json +1 -1
  994. package/metadata/modules/categoryTranslation.json +1 -1
  995. package/metadata/modules/ccxBidAdapter.json +1 -1
  996. package/metadata/modules/ceeIdSystem.json +1 -1
  997. package/metadata/modules/chromeAiRtdProvider.json +1 -1
  998. package/metadata/modules/compassBidAdapter.json +1 -1
  999. package/metadata/modules/conceptxBidAdapter.json +1 -1
  1000. package/metadata/modules/connatixBidAdapter.json +1 -1
  1001. package/metadata/modules/connectIdSystem.json +1 -1
  1002. package/metadata/modules/connectadBidAdapter.json +1 -1
  1003. package/metadata/modules/contentexchangeBidAdapter.json +1 -1
  1004. package/metadata/modules/conversantBidAdapter.json +1 -1
  1005. package/metadata/modules/copper6sspBidAdapter.json +1 -1
  1006. package/metadata/modules/cpmstarBidAdapter.json +1 -1
  1007. package/metadata/modules/criteoBidAdapter.json +1 -1
  1008. package/metadata/modules/criteoIdSystem.json +1 -1
  1009. package/metadata/modules/cwireBidAdapter.json +1 -1
  1010. package/metadata/modules/czechAdIdSystem.json +1 -1
  1011. package/metadata/modules/dailymotionBidAdapter.json +1 -1
  1012. package/metadata/modules/debugging.json +1 -1
  1013. package/metadata/modules/deepintentBidAdapter.json +1 -1
  1014. package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
  1015. package/metadata/modules/dianomiBidAdapter.json +1 -1
  1016. package/metadata/modules/digitalMatterBidAdapter.json +1 -1
  1017. package/metadata/modules/distroscaleBidAdapter.json +1 -1
  1018. package/metadata/modules/docereeAdManagerBidAdapter.json +1 -1
  1019. package/metadata/modules/docereeBidAdapter.json +1 -1
  1020. package/metadata/modules/dspxBidAdapter.json +1 -1
  1021. package/metadata/modules/e_volutionBidAdapter.json +1 -1
  1022. package/metadata/modules/edge226BidAdapter.json +1 -1
  1023. package/metadata/modules/equativBidAdapter.json +1 -1
  1024. package/metadata/modules/eskimiBidAdapter.json +1 -1
  1025. package/metadata/modules/etargetBidAdapter.json +1 -1
  1026. package/metadata/modules/euidIdSystem.json +1 -1
  1027. package/metadata/modules/exadsBidAdapter.json +1 -1
  1028. package/metadata/modules/feedadBidAdapter.json +1 -1
  1029. package/metadata/modules/fwsspBidAdapter.json +1 -1
  1030. package/metadata/modules/gamoshiBidAdapter.json +1 -1
  1031. package/metadata/modules/glomexBidAdapter.json +1 -1
  1032. package/metadata/modules/goldbachBidAdapter.json +1 -1
  1033. package/metadata/modules/greenbidsBidAdapter.json +1 -1
  1034. package/metadata/modules/gridBidAdapter.json +1 -1
  1035. package/metadata/modules/gumgumBidAdapter.json +1 -1
  1036. package/metadata/modules/hadronIdSystem.json +1 -1
  1037. package/metadata/modules/hadronRtdProvider.json +1 -1
  1038. package/metadata/modules/holidBidAdapter.json +1 -1
  1039. package/metadata/modules/hybridBidAdapter.json +1 -1
  1040. package/metadata/modules/id5IdSystem.json +1 -1
  1041. package/metadata/modules/identityLinkIdSystem.json +1 -1
  1042. package/metadata/modules/illuminBidAdapter.json +1 -1
  1043. package/metadata/modules/impactifyBidAdapter.json +1 -1
  1044. package/metadata/modules/improvedigitalBidAdapter.json +1 -1
  1045. package/metadata/modules/inmobiBidAdapter.json +1 -1
  1046. package/metadata/modules/innityBidAdapter.json +1 -1
  1047. package/metadata/modules/insticatorBidAdapter.json +1 -1
  1048. package/metadata/modules/intentIqIdSystem.json +1 -1
  1049. package/metadata/modules/invibesBidAdapter.json +1 -1
  1050. package/metadata/modules/ipromBidAdapter.json +1 -1
  1051. package/metadata/modules/ixBidAdapter.json +1 -1
  1052. package/metadata/modules/justIdSystem.json +1 -1
  1053. package/metadata/modules/justpremiumBidAdapter.json +1 -1
  1054. package/metadata/modules/jwplayerBidAdapter.json +1 -1
  1055. package/metadata/modules/kargoBidAdapter.json +1 -1
  1056. package/metadata/modules/kueezRtbBidAdapter.json +1 -1
  1057. package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
  1058. package/metadata/modules/liveIntentIdSystem.json +1 -1
  1059. package/metadata/modules/liveIntentRtdProvider.json +1 -1
  1060. package/metadata/modules/livewrappedBidAdapter.json +1 -1
  1061. package/metadata/modules/loopmeBidAdapter.json +1 -1
  1062. package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
  1063. package/metadata/modules/luceadBidAdapter.json +1 -1
  1064. package/metadata/modules/luponmediaBidAdapter.json +1 -1
  1065. package/metadata/modules/madvertiseBidAdapter.json +1 -1
  1066. package/metadata/modules/marsmediaBidAdapter.json +1 -1
  1067. package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
  1068. package/metadata/modules/mediaforceBidAdapter.json +1 -1
  1069. package/metadata/modules/mediafuseBidAdapter.json +1 -1
  1070. package/metadata/modules/mediagoBidAdapter.json +1 -1
  1071. package/metadata/modules/mediakeysBidAdapter.json +1 -1
  1072. package/metadata/modules/medianetBidAdapter.json +2 -2
  1073. package/metadata/modules/mediasquareBidAdapter.json +1 -1
  1074. package/metadata/modules/mgidBidAdapter.json +1 -1
  1075. package/metadata/modules/mgidRtdProvider.json +1 -1
  1076. package/metadata/modules/mgidXBidAdapter.json +1 -1
  1077. package/metadata/modules/minutemediaBidAdapter.json +1 -1
  1078. package/metadata/modules/missenaBidAdapter.json +1 -1
  1079. package/metadata/modules/mobianRtdProvider.json +1 -1
  1080. package/metadata/modules/mobilefuseBidAdapter.json +1 -1
  1081. package/metadata/modules/mobkoiBidAdapter.json +1 -1
  1082. package/metadata/modules/mobkoiIdSystem.json +1 -1
  1083. package/metadata/modules/nativeryBidAdapter.json +1 -1
  1084. package/metadata/modules/nativoBidAdapter.json +1 -1
  1085. package/metadata/modules/newspassidBidAdapter.json +1 -1
  1086. package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
  1087. package/metadata/modules/nextrollBidAdapter.json +1 -1
  1088. package/metadata/modules/nexx360BidAdapter.json +5 -5
  1089. package/metadata/modules/nobidBidAdapter.json +2 -2
  1090. package/metadata/modules/nodalsAiRtdProvider.json +1 -1
  1091. package/metadata/modules/novatiqIdSystem.json +1 -1
  1092. package/metadata/modules/oguryBidAdapter.json +1 -1
  1093. package/metadata/modules/omsBidAdapter.json +1 -1
  1094. package/metadata/modules/onetagBidAdapter.json +1 -1
  1095. package/metadata/modules/openwebBidAdapter.json +1 -1
  1096. package/metadata/modules/openxBidAdapter.json +1 -1
  1097. package/metadata/modules/operaadsBidAdapter.json +1 -1
  1098. package/metadata/modules/optidigitalBidAdapter.json +1 -1
  1099. package/metadata/modules/optoutBidAdapter.json +1 -1
  1100. package/metadata/modules/orbidderBidAdapter.json +1 -1
  1101. package/metadata/modules/outbrainBidAdapter.json +1 -1
  1102. package/metadata/modules/ozoneBidAdapter.json +1 -1
  1103. package/metadata/modules/pairIdSystem.json +1 -1
  1104. package/metadata/modules/performaxBidAdapter.json +1 -1
  1105. package/metadata/modules/pgamsspBidAdapter.json +1 -1
  1106. package/metadata/modules/pixfutureBidAdapter.json +1 -1
  1107. package/metadata/modules/playdigoBidAdapter.json +1 -1
  1108. package/metadata/modules/prebid-core.json +2 -2
  1109. package/metadata/modules/precisoBidAdapter.json +1 -1
  1110. package/metadata/modules/prismaBidAdapter.json +1 -1
  1111. package/metadata/modules/programmaticXBidAdapter.json +1 -1
  1112. package/metadata/modules/proxistoreBidAdapter.json +1 -1
  1113. package/metadata/modules/publinkIdSystem.json +1 -1
  1114. package/metadata/modules/pubmaticBidAdapter.json +1 -1
  1115. package/metadata/modules/pubmaticIdSystem.json +1 -1
  1116. package/metadata/modules/pulsepointBidAdapter.json +1 -1
  1117. package/metadata/modules/qtBidAdapter.json +1 -1
  1118. package/metadata/modules/quantcastBidAdapter.json +1 -1
  1119. package/metadata/modules/quantcastIdSystem.json +1 -1
  1120. package/metadata/modules/r2b2BidAdapter.json +1 -1
  1121. package/metadata/modules/raynRtdProvider.json +1 -1
  1122. package/metadata/modules/readpeakBidAdapter.json +1 -1
  1123. package/metadata/modules/relayBidAdapter.json +1 -1
  1124. package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
  1125. package/metadata/modules/resetdigitalBidAdapter.json +1 -1
  1126. package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
  1127. package/metadata/modules/retailspotBidAdapter.json +1 -1
  1128. package/metadata/modules/revcontentBidAdapter.json +1 -1
  1129. package/metadata/modules/rhythmoneBidAdapter.json +1 -1
  1130. package/metadata/modules/richaudienceBidAdapter.json +1 -1
  1131. package/metadata/modules/riseBidAdapter.json +2 -2
  1132. package/metadata/modules/rixengineBidAdapter.json +1 -1
  1133. package/metadata/modules/rtbhouseBidAdapter.json +1 -1
  1134. package/metadata/modules/rubiconBidAdapter.json +1 -1
  1135. package/metadata/modules/scatteredBidAdapter.json +1 -1
  1136. package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
  1137. package/metadata/modules/seedtagBidAdapter.json +1 -1
  1138. package/metadata/modules/semantiqRtdProvider.json +1 -1
  1139. package/metadata/modules/setupadBidAdapter.json +1 -1
  1140. package/metadata/modules/sevioBidAdapter.json +1 -1
  1141. package/metadata/modules/sharedIdSystem.json +1 -1
  1142. package/metadata/modules/sharethroughBidAdapter.json +1 -1
  1143. package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
  1144. package/metadata/modules/silvermobBidAdapter.json +1 -1
  1145. package/metadata/modules/sirdataRtdProvider.json +1 -1
  1146. package/metadata/modules/slimcutBidAdapter.json +1 -1
  1147. package/metadata/modules/smaatoBidAdapter.json +1 -1
  1148. package/metadata/modules/smartadserverBidAdapter.json +1 -1
  1149. package/metadata/modules/smartxBidAdapter.json +1 -1
  1150. package/metadata/modules/smartyadsBidAdapter.json +1 -1
  1151. package/metadata/modules/smilewantedBidAdapter.json +1 -1
  1152. package/metadata/modules/snigelBidAdapter.json +1 -1
  1153. package/metadata/modules/sonaradsBidAdapter.json +1 -1
  1154. package/metadata/modules/sonobiBidAdapter.json +1 -1
  1155. package/metadata/modules/sparteoBidAdapter.json +1 -1
  1156. package/metadata/modules/ssmasBidAdapter.json +1 -1
  1157. package/metadata/modules/sspBCBidAdapter.json +1 -1
  1158. package/metadata/modules/stackadaptBidAdapter.json +1 -1
  1159. package/metadata/modules/startioBidAdapter.json +1 -1
  1160. package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
  1161. package/metadata/modules/stvBidAdapter.json +1 -1
  1162. package/metadata/modules/sublimeBidAdapter.json +1 -1
  1163. package/metadata/modules/taboolaBidAdapter.json +1 -1
  1164. package/metadata/modules/taboolaIdSystem.json +1 -1
  1165. package/metadata/modules/tappxBidAdapter.json +1 -1
  1166. package/metadata/modules/targetVideoBidAdapter.json +1 -1
  1167. package/metadata/modules/teadsBidAdapter.json +1 -1
  1168. package/metadata/modules/teadsIdSystem.json +1 -1
  1169. package/metadata/modules/tealBidAdapter.json +1 -1
  1170. package/metadata/modules/tncIdSystem.json +1 -1
  1171. package/metadata/modules/topicsFpdModule.json +1 -1
  1172. package/metadata/modules/tripleliftBidAdapter.json +1 -1
  1173. package/metadata/modules/ttdBidAdapter.json +1 -1
  1174. package/metadata/modules/twistDigitalBidAdapter.json +1 -1
  1175. package/metadata/modules/underdogmediaBidAdapter.json +1 -1
  1176. package/metadata/modules/undertoneBidAdapter.json +1 -1
  1177. package/metadata/modules/unifiedIdSystem.json +1 -1
  1178. package/metadata/modules/unrulyBidAdapter.json +1 -1
  1179. package/metadata/modules/userId.json +1 -1
  1180. package/metadata/modules/validationFpdModule.json +1 -1
  1181. package/metadata/modules/vidazooBidAdapter.json +1 -1
  1182. package/metadata/modules/vidoomyBidAdapter.json +1 -1
  1183. package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
  1184. package/metadata/modules/viouslyBidAdapter.json +1 -1
  1185. package/metadata/modules/visxBidAdapter.json +1 -1
  1186. package/metadata/modules/vlybyBidAdapter.json +1 -1
  1187. package/metadata/modules/voxBidAdapter.json +1 -1
  1188. package/metadata/modules/vrtcalBidAdapter.json +1 -1
  1189. package/metadata/modules/vuukleBidAdapter.json +1 -1
  1190. package/metadata/modules/weboramaRtdProvider.json +1 -1
  1191. package/metadata/modules/welectBidAdapter.json +1 -1
  1192. package/metadata/modules/yahooAdsBidAdapter.json +1 -1
  1193. package/metadata/modules/yieldlabBidAdapter.json +1 -1
  1194. package/metadata/modules/yieldliftBidAdapter.json +1 -1
  1195. package/metadata/modules/yieldloveBidAdapter.json +1 -1
  1196. package/metadata/modules/yieldmoBidAdapter.json +1 -1
  1197. package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
  1198. package/metadata/modules/zeta_globalBidAdapter.json +1 -1
  1199. package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
  1200. package/modules/openxBidAdapter.js +6 -1
  1201. package/modules/priceFloors.ts +2 -2
  1202. package/modules/pubmaticBidAdapter.js +21 -1
  1203. package/modules/sevioBidAdapter.js +4 -1
  1204. package/package.json +2 -3
  1205. package/src/targeting.ts +3 -3
  1206. package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
  1207. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
  1208. package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
  1209. package/test/spec/modules/openxBidAdapter_spec.js +129 -0
  1210. package/test/spec/modules/pubmaticBidAdapter_spec.js +70 -0
@@ -1 +1 @@
1
- {"version":3,"file":"pubmaticBidAdapter_spec.js","names":["expect","spec","cpmAdjustment","addViewabilityToImp","utils","bidderSettings","config","describe","firstBid","videoBid","firstResponse","response","videoResponse","request","adUnitCode","bidder","mediaTypes","banner","sizes","pos","params","publisherId","adSlot","kadfloor","pmzoneid","yob","gender","lat","lon","wiid","profId","verId","currency","dctr","deals","placementCode","bidId","requestId","bidderRequestId","ortb2","device","w","h","sua","language","js","connectiontype","site","domain","page","source","ortb2Imp","ext","tid","gpid","data","pbadslot","adserver","name","adslot","customData","id","cur","seatbid","validBidRequests","bidderRequest","bids","auctionId","auctionStart","bidderCode","refererInfo","ref","timeout","videoBidRequest","videoBidderRequest","utilsLogWarnMock","nativeBidderRequest","it","isValid","isBidRequestValid","to","equal","bid","deepClone","beforeEach","video","playerSize","protocols","context","skippable","skip","linearity","mimes","bidRequestWithPrevAuction","bidderRequestWithPrevAuction","prebid","previousauctioninfo","buildRequests","have","property","previousAuctionInfo","deep","imp","be","an","with","lengthOf","not","singleSizeBid","singleSizeBidderRequest","sinon","stub","minduration","maxduration","startdelay","playbackmethod","api","battr","placement","plcmt","minbitrate","maxbitrate","afterEach","restore","assert","called","logWarn","undefined","nativeOrtbRequest","ver","assets","img","required","native","title","length","image","sponsoredBy","bcat","acat","include","members","options","bidderSettingStub","returns","withArgs","marketplace","allowedbidders","copiedBidderRequest","app","badv","copiedValidBidRequests","wrapper","user","consent","regs","gpp","gpp_sid","that","eql","dsa","dsarequired","pubrender","datatopub","transparency","dsaparams","global","onBidWon","cpm","originalCpm","originalCurrency","mediaType","meta","adjustment","Number","toFixed","metaMediaType","bidResponse","interpretResponse","copiedResponse","body","deal_channel","dealid","cat","resetConfig","setConfig","coppa","gdprConsent","gdprApplies","consentString","uspConsent","gppConsent","gppString","applicableSections","sync","getUserSyncs","iframeEnabled","type","url","element","originalGetElementById","originalVisibilityState","sandbox","createSandbox","document","createElement","appendChild","getElementById","callsFake","visibilityState","Object","defineProperty","value","configurable","window","removeChild","isIframeStub","viewability","amount","exist"],"sourceRoot":"../../../../..","sources":["test/spec/modules/pubmaticBidAdapter_spec.js"],"sourcesContent":["import { expect } from 'chai';\nimport { spec, cpmAdjustment, addViewabilityToImp } from 'modules/pubmaticBidAdapter.js';\nimport * as utils from 'src/utils.js';\nimport { bidderSettings } from 'src/bidderSettings.js';\nimport { config } from 'src/config.js';\n\ndescribe('PubMatic adapter', () => {\n let firstBid, videoBid, firstResponse, response, videoResponse;\n const request = {};\n firstBid = {\n adUnitCode: 'Div1',\n bidder: 'pubmatic',\n mediaTypes: {\n banner: {\n sizes: [[728, 90], [160, 600]],\n pos: 1\n }\n },\n params: {\n publisherId: '5670',\n adSlot: '/15671365/DMDemo@300x250:0',\n kadfloor: '1.2',\n pmzoneid: 'aabc, ddef',\n // kadpageurl: 'www.publisher.com',\n yob: '1986',\n gender: 'M',\n lat: '12.3',\n lon: '23.7',\n wiid: '1234567890',\n profId: '100',\n verId: '200',\n currency: 'AUD',\n dctr: 'key1:val1,val2|key2:val1',\n deals: ['deal-1', 'deal-2']\n },\n placementCode: '/19968336/header-bid-tag-1',\n sizes: [\n [300, 250],\n [300, 600],\n ['fluid']\n ],\n bidId: '3736271c3c4b27',\n requestId: '0fb4905b-9456-4152-86be-c6f6d259ba99',\n bidderRequestId: '1c56ad30b9b8ca8',\n ortb2: {\n device: {\n w: 1200,\n h: 1800,\n sua: {},\n language: 'en',\n js: 1,\n connectiontype: 6\n },\n site: {domain: 'ebay.com', page: 'https://ebay.com'},\n source: {}\n },\n ortb2Imp: {\n ext: {\n tid: '92489f71-1bf2-49a0-adf9-000cea934729',\n gpid: '/1111/homepage-leftnav',\n data: {\n pbadslot: '/1111/homepage-leftnav',\n adserver: {\n name: 'gam',\n adslot: '/1111/homepage-leftnav'\n },\n customData: {\n id: 'id-1'\n }\n }\n }\n },\n }\n videoBid = {\n 'seat': 'seat-id',\n 'ext': {\n 'buyid': 'BUYER-ID-987'\n },\n 'bid': [{\n 'id': '74858439-49D7-4169-BA5D-44A046315B2F',\n 'impid': '3736271c3c4b27',\n 'price': 1.3,\n 'adm': '<VAST version=\"3.0\"><Ad id=\"601364\"><InLine><AdSystem>Acudeo Compatible</AdSystem><AdTitle>VAST 2.0 Instream Test 1</AdTitle><Description>VAST 2.0 Instream Test 1</Description><Impression><![CDATA[http://172.16.4.213/AdServer/AdDisplayTrackerServlet?operId=1&pubId=5890&siteId=47163&adId=1405268&adType=13&adServerId=243&kefact=70.000000&kaxefact=70.000000&kadNetFrequecy=0&kadwidth=0&kadheight=0&kadsizeid=97&kltstamp=1529929473&indirectAdId=0&adServerOptimizerId=2&ranreq=0.1&kpbmtpfact=100.000000&dcId=1&tldId=0&passback=0&svr=MADS1107&ekefact=Ad8wW91TCwCmdG0jlfjXn7Tyzh20hnTVx-m5DoNSep-RXGDr&ekaxefact=Ad8wWwRUCwAGir4Zzl1eF0bKiC-qrCV0D0yp_eE7YizB_BQk&ekpbmtpfact=Ad8wWxRUCwD7qgzwwPE2LnS5-Ou19uO5amJl1YT6-XVFvQ41&imprId=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&oid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&crID=creative-1_1_2&ucrid=160175026529250297&campaignId=17050&creativeId=0&pctr=0.000000&wDSPByrId=511&wDspId=6&wbId=0&wrId=0&wAdvID=3170&isRTB=1&rtbId=EBCA079F-8D7C-45B8-B733-92951F670AA1&pmZoneId=zone1&pageURL=www.yahoo.com&lpu=ae.com]]></Impression><Impression>https://dsptracker.com/{PSPM}</Impression><Error><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&er=[ERRORCODE]]]></Error><Error><![CDATA[https://Errortrack.com?p=1234&er=[ERRORCODE]]]></Error><Creatives><Creative AdID=\"601364\"><Linear skipoffset=\"20%\"><TrackingEvents><Tracking event=\"close\"><![CDATA[https://mytracking.com/linear/close]]></Tracking><Tracking event=\"skip\"><![CDATA[https://mytracking.com/linear/skip]]></Tracking><Tracking event=\"creativeView\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=1]]></Tracking><Tracking event=\"start\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=2]]></Tracking><Tracking event=\"midpoint\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=3]]></Tracking><Tracking event=\"firstQuartile\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=4]]></Tracking><Tracking event=\"thirdQuartile\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=5]]></Tracking><Tracking event=\"complete\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=6]]></Tracking></TrackingEvents><Duration>00:00:04</Duration><VideoClicks><ClickTracking><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=99]]></ClickTracking><ClickThrough>https://www.pubmatic.com</ClickThrough></VideoClicks><MediaFiles><MediaFile delivery=\"progressive\" type=\"video/mp4\" bitrate=\"500\" width=\"400\" height=\"300\" scalable=\"true\" maintainAspectRatio=\"true\"><![CDATA[https://stagingnyc.pubmatic.com:8443/video/Shashank/mediaFileHost/media/mp4-sample-2.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>',\n 'adomain': ['blackrock.com'],\n 'h': 250,\n 'w': 300,\n 'ext': {\n 'deal_channel': 6,\n 'advid': 976,\n 'dspid': 123\n },\n 'dealid': 'PUBDEAL1',\n 'mtype': 2\n }]\n };\n firstResponse = {\n 'seat': 'seat-id',\n 'ext': {\n 'buyid': 'BUYER-ID-987'\n },\n 'bid': [{\n 'id': '74858439-49D7-4169-BA5D-44A046315B2F',\n 'impid': '3736271c3c4b27',\n 'price': 1.3,\n 'adm': 'image3.pubmatic.com Layer based creative',\n 'adomain': ['blackrock.com'],\n 'h': 250,\n 'w': 300,\n 'ext': {\n 'deal_channel': 6,\n 'advid': 976,\n 'dspid': 123\n },\n 'dealid': 'PUBDEAL1',\n 'mtype': 1\n }]\n };\n response = {\n 'body': {\n cur: 'USD',\n id: '93D3BAD6-E2E2-49FB-9D89-920B1761C865',\n seatbid: [firstResponse]\n }\n };\n videoResponse = {\n 'body': {\n cur: 'USD',\n id: '93D3BAD6-E2E2-49FB-9D89-920B1761C865',\n seatbid: [videoBid]\n }\n }\n const validBidRequests = [firstBid];\n const bidderRequest = {\n bids: [firstBid],\n auctionId: 'ee3074fe-97ce-4681-9235-d7622aede74c',\n auctionStart: 1725514077194,\n bidderCode: 'pubmatic',\n bidderRequestId: '1c56ad30b9b8ca8',\n refererInfo: {\n page: 'https://ebay.com',\n ref: ''\n },\n ortb2: {\n device: {\n w: 1200,\n h: 1800,\n sua: {},\n language: 'en',\n js: 1,\n connectiontype: 6\n },\n site: {domain: 'ebay.com', page: 'https://ebay.com'},\n source: {}\n },\n timeout: 2000\n };\n let videoBidRequest, videoBidderRequest, utilsLogWarnMock, nativeBidderRequest;\n\n describe('Bid validations', () => {\n it('should return true if publisherId is present in params', () => {\n const isValid = spec.isBidRequestValid(validBidRequests[0]);\n expect(isValid).to.equal(true);\n });\n\n it('should return false if publisherId is missing', () => {\n const bid = utils.deepClone(validBidRequests[0]);\n delete bid.params.publisherId;\n const isValid = spec.isBidRequestValid(bid);\n expect(isValid).to.equal(false);\n });\n\n it('should return false if publisherId is not of type string', () => {\n const bid = utils.deepClone(validBidRequests[0]);\n bid.params.publisherId = 5890;\n const isValid = spec.isBidRequestValid(bid);\n expect(isValid).to.equal(false);\n });\n\n if (FEATURES.VIDEO) {\n describe('VIDEO', () => {\n beforeEach(() => {\n videoBidRequest = utils.deepClone(validBidRequests[0]);\n delete videoBidRequest.mediaTypes.banner;\n videoBidRequest.mediaTypes.video = {\n playerSize: [\n [640, 480]\n ],\n protocols: [1, 2, 5],\n context: 'instream',\n skippable: false,\n skip: 1,\n linearity: 2\n }\n });\n it('should return false if mimes are missing in a video impression request', () => {\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(false);\n });\n\n it('should return false if context is missing in a video impression request', () => {\n delete videoBidRequest.mediaTypes.context;\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(false);\n })\n\n it('should return true if banner/native present, but outstreamAU or renderer is missing', () => {\n videoBidRequest.mediaTypes.video.mimes = ['video/flv'];\n videoBidRequest.mediaTypes.video.context = 'outstream';\n videoBidRequest.mediaTypes.banner = {\n sizes: [[728, 90], [160, 600]]\n }\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(true);\n });\n\n it('should return false if outstreamAU or renderer is missing', () => {\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(false);\n });\n });\n }\n });\n\n describe('Request formation', () => {\n describe('IMP', () => {\n it('should include previousAuctionInfo in request when available', () => {\n const bidRequestWithPrevAuction = utils.deepClone(validBidRequests[0]);\n const bidderRequestWithPrevAuction = utils.deepClone(bidderRequest);\n\n bidderRequestWithPrevAuction.ortb2 = bidderRequestWithPrevAuction.ortb2 || {};\n bidderRequestWithPrevAuction.ortb2.ext = bidderRequestWithPrevAuction.ortb2.ext || {};\n bidderRequestWithPrevAuction.ortb2.ext.prebid = bidderRequestWithPrevAuction.ortb2.ext.prebid || {};\n bidderRequestWithPrevAuction.ortb2.ext.prebid.previousauctioninfo = {\n bidderRequestId: 'bidder-request-id'\n };\n\n const request = spec.buildRequests([bidRequestWithPrevAuction], bidderRequestWithPrevAuction);\n expect(request.data.ext).to.have.property('previousAuctionInfo');\n expect(request.data.ext.previousAuctionInfo).to.deep.equal({\n bidderRequestId: 'bidder-request-id'\n });\n });\n\n it('should generate request with banner', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner');\n expect(imp[0]).to.have.property('id').equal('3736271c3c4b27');\n });\n\n it('should add pmp if deals are present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('pmp');\n expect(imp[0]).to.have.property('pmp').to.have.property('deals').with.lengthOf(2);\n });\n\n it('should not add pmp if deals are absent in parameters', () => {\n delete validBidRequests[0].params.deals;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.not.have.property('pmp');\n });\n\n it('should add key_val property if dctr is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('ext');\n expect(imp[0]).to.have.property('ext').to.have.property('key_val');\n });\n\n it('should not add key_val if dctr is absent in parameters', () => {\n delete validBidRequests[0].params.dctr;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('ext').to.not.have.property('key_val');\n });\n\n it('should set w and h to the primary size for banner', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner');\n expect(imp[0]).to.have.property('banner').to.have.property('w').equal(300);\n expect(imp[0]).to.have.property('banner').to.have.property('h').equal(250);\n });\n\n it('should have 1 size in the banner.format array', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('format');\n expect(imp[0]).to.have.property('banner').to.have.property('format').to.be.an('array');\n });\n\n it('should not have format object in banner when there is only a single size', () => {\n // Create a complete bid with only one size\n const singleSizeBid = utils.deepClone(validBidRequests[0]);\n singleSizeBid.mediaTypes.banner.sizes = [[300, 250]];\n singleSizeBid.params.adSlot = '/15671365/DMDemo@300x250:0';\n\n // Create a complete bidder request\n const singleSizeBidderRequest = utils.deepClone(bidderRequest);\n singleSizeBidderRequest.bids = [singleSizeBid];\n\n const request = spec.buildRequests([singleSizeBid], singleSizeBidderRequest);\n const { imp } = request?.data;\n\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner');\n expect(imp[0].banner).to.not.have.property('format');\n expect(imp[0].banner).to.have.property('w').equal(300);\n expect(imp[0].banner).to.have.property('h').equal(250);\n });\n\n it('should add pmZoneId in ext if pmzoneid is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('ext');\n expect(imp[0]).to.have.property('ext').to.have.property('pmZoneId');\n });\n\n it('should add bidfloor if kadfloor is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('bidfloor');\n expect(imp[0]).to.have.property('bidfloor').equal(1.2);\n });\n\n it('should add bidfloorcur if currency is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('bidfloorcur');\n expect(imp[0]).to.have.property('bidfloorcur').equal('AUD');\n });\n\n it('should add bidfloorcur with default value if currency is missing in parameters', () => {\n delete validBidRequests[0].params.currency;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('bidfloorcur');\n expect(imp[0]).to.have.property('bidfloorcur').equal('USD');\n });\n\n it('should add tagid', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('tagid');\n expect(imp[0]).to.have.property('tagid').equal('/15671365/DMDemo');\n });\n\n it('should add secure, displaymanager & displaymanagerver', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('secure').equal(1);\n expect(imp[0]).to.have.property('displaymanager').equal('Prebid.js');\n expect(imp[0]).to.have.property('displaymanagerver');\n });\n\n it('should include the properties topframe and format as an array', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('topframe');\n expect(imp[0]).to.have.property('banner').to.have.property('format').to.be.an('array');\n });\n\n it('should respect the publisher-provided pos for the banner impression', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('pos');\n expect(imp[0]).to.have.property('banner').to.have.property('pos').equal(1);\n });\n\n it('should default pos to 0 if not explicitly provided by the publisher', () => {\n delete bidderRequest.bids[0].mediaTypes.banner.pos;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('pos');\n expect(imp[0]).to.have.property('banner').to.have.property('pos').equal(0);\n });\n\n if (FEATURES.VIDEO) {\n describe('VIDEO', () => {\n beforeEach(() => {\n utilsLogWarnMock = sinon.stub(utils, 'logWarn');\n videoBidderRequest = utils.deepClone(bidderRequest);\n delete videoBidderRequest.bids[0].mediaTypes.banner;\n videoBidderRequest.bids[0].mediaTypes.video = {\n skip: 1,\n mimes: ['video/mp4', 'video/x-flv'],\n minduration: 5,\n maxduration: 30,\n startdelay: 5,\n playbackmethod: [1, 3],\n api: [1, 2],\n protocols: [2, 3],\n battr: [13, 14],\n linearity: 1,\n placement: 2,\n plcmt: 1,\n minbitrate: 10,\n maxbitrate: 10,\n playerSize: [640, 480]\n }\n });\n\n afterEach(() => {\n utilsLogWarnMock.restore();\n })\n\n it('should generate request with mediatype video', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n });\n\n it('should log a warning if playerSize is missing', () => {\n delete videoBidderRequest.bids[0].mediaTypes.video.playerSize;\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n sinon.assert.called(utils.logWarn);\n });\n\n it('should log a warning if plcmt is missing', () => {\n delete videoBidderRequest.bids[0].mediaTypes.video.plcmt;\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n sinon.assert.called(utils.logWarn);\n expect(imp.video).to.be.undefined;\n });\n\n it('should have all supporting parameters', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n expect(imp[0]).to.have.property('video').to.have.property('mimes');\n expect(imp[0]).to.have.property('video').to.have.property('minbitrate');\n expect(imp[0]).to.have.property('video').to.have.property('maxbitrate');\n expect(imp[0]).to.have.property('video').to.have.property('minduration');\n expect(imp[0]).to.have.property('video').to.have.property('maxduration');\n expect(imp[0]).to.have.property('video').to.have.property('plcmt');\n expect(imp[0]).to.have.property('video').to.have.property('battr');\n expect(imp[0]).to.have.property('video').to.have.property('startdelay');\n expect(imp[0]).to.have.property('video').to.have.property('playbackmethod');\n expect(imp[0]).to.have.property('video').to.have.property('api');\n expect(imp[0]).to.have.property('video').to.have.property('protocols');\n expect(imp[0]).to.have.property('video').to.have.property('linearity');\n expect(imp[0]).to.have.property('video').to.have.property('placement');\n expect(imp[0]).to.have.property('video').to.have.property('skip');\n expect(imp[0]).to.have.property('video').to.have.property('w');\n expect(imp[0]).to.have.property('video').to.have.property('h');\n });\n });\n }\n if (FEATURES.NATIVE) {\n describe('NATIVE', () => {\n beforeEach(() => {\n utilsLogWarnMock = sinon.stub(utils, 'logWarn');\n nativeBidderRequest = utils.deepClone(bidderRequest);\n delete nativeBidderRequest.bids[0].mediaTypes.banner;\n nativeBidderRequest.bids[0].nativeOrtbRequest = {\n ver: '1.2',\n assets: [{\n id: 0,\n img: {\n 'type': 3,\n 'w': 300,\n 'h': 250\n },\n required: 1,\n }]\n };\n nativeBidderRequest.bids[0].mediaTypes.native = {\n title: {\n required: true,\n length: 80\n },\n image: {\n required: true,\n sizes: [300, 250]\n },\n sponsoredBy: {\n required: true\n }\n }\n });\n\n afterEach(() => {\n utilsLogWarnMock.restore();\n })\n\n it('should generate request with mediatype native', () => {\n const request = spec.buildRequests(validBidRequests, nativeBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('native');\n });\n });\n }\n // describe('MULTIFORMAT', () => {\n // let multiFormatBidderRequest;\n // it('should have both banner & video impressions', () => {\n // multiFormatBidderRequest = utils.deepClone(bidderRequest);\n // multiFormatBidderRequest.bids[0].mediaTypes.video = {\n // skip: 1,\n // mimes: ['video/mp4', 'video/x-flv'],\n // minduration: 5,\n // maxduration: 30,\n // startdelay: 5,\n // playbackmethod: [1, 3],\n // api: [1, 2],\n // protocols: [2, 3],\n // battr: [13, 14],\n // linearity: 1,\n // placement: 2,\n // plcmt: 1,\n // minbitrate: 10,\n // maxbitrate: 10,\n // playerSize: [640, 480]\n // }\n // const request = spec.buildRequests(validBidRequests, multiFormatBidderRequest);\n // const { imp } = request?.data;\n // expect(imp).to.be.an('array');\n // expect(imp[0]).to.have.property('banner');\n // expect(imp[0].banner).to.have.property('topframe');\n // expect(imp[0].banner).to.have.property('format');\n // expect(imp[0]).to.have.property('video');\n // });\n\n // it('should have both banner & native impressions', () => {\n // multiFormatBidderRequest = utils.deepClone(bidderRequest);\n // multiFormatBidderRequest.bids[0].nativeOrtbRequest = {\n // ver: '1.2',\n // assets: [{\n // id: 0,\n // img: {\n // 'type': 3,\n // 'w': 300,\n // 'h': 250\n // },\n // required: 1,\n // }]\n // };\n // const request = spec.buildRequests(validBidRequests, multiFormatBidderRequest);\n // const { imp } = request?.data;\n // expect(imp).to.be.an('array');\n // expect(imp[0]).to.have.property('banner');\n // expect(imp[0].banner).to.have.property('topframe');\n // expect(imp[0].banner).to.have.property('format');\n // expect(imp[0]).to.have.property('native');\n // });\n // });\n });\n\n describe('rest of ORTB request', () => {\n describe('BCAT', () => {\n it('should contain only string values', () => {\n validBidRequests[0].params.bcat = [1, 2, 3, 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should contain string values with length greater than 3', function() {\n validBidRequests[0].params.bcat = ['AB', 'CD', 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should trim strings', function() {\n validBidRequests[0].params.bcat = [' IAB1 ', ' IAB2 '];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should pass unique strings', function() {\n validBidRequests[0].params.bcat = ['IAB1', 'IAB2', 'IAB1', 'IAB2', 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should fail if validations are not met', function() {\n validBidRequests[0].params.bcat = ['', 'IA', 'IB'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.not.have.property('bcat');\n });\n });\n\n describe('ACAT', () => {\n it('should contain only string values', () => {\n validBidRequests[0].params.acat = [1, 2, 3, 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n expect(request.data).to.have.property('acat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should trim strings', () => {\n validBidRequests[0].params.acat = [' IAB1 ', ' IAB2 '];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n expect(request.data).to.have.property('acat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should pass unique strings', () => {\n validBidRequests[0].params.acat = ['IAB1', 'IAB2', 'IAB1', 'IAB2', 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n expect(request.data).to.have.property('acat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should fail if validations are not met', () => {\n validBidRequests[0].params.acat = ['', 'IA', 'IB'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n });\n });\n\n describe('TMAX, ID, AT, CUR, EXT', () => {\n it('should have tmax', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('tmax').to.equal(2000);\n });\n\n it('should remove test if pubmaticTest is not set', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('test').to.equal(undefined);\n });\n\n it('should have id', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('id');\n });\n\n it('should set at to 1', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('at').to.equal(1);\n });\n\n it('should have cur', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('cur').to.be.an('array').to.have.lengthOf(1);\n expect(request.data).to.have.property('cur').to.include.members(['USD']);\n });\n\n it('should have ext', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext').to.have.property('epoch');\n expect(request.data).to.have.property('ext').to.have.property('wrapper');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('profile');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('wiid');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('wv');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('wp');\n });\n\n it('should have url with post method', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request).to.have.property('method').to.equal('POST');\n expect(request).to.have.property('url').to.equal('https://hbopenbid.pubmatic.com/translator?source=prebid-client');\n });\n });\n\n describe('Request Options', () => {\n it('should set endpointCompression to true in request options', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request).to.have.property('options');\n expect(request.options).to.have.property('endpointCompression').to.equal(true);\n });\n });\n\n describe('GROUPM', () => {\n let bidderSettingStub;\n beforeEach(() => {\n bidderSettingStub = sinon.stub(bidderSettings, 'get');\n });\n\n afterEach(() => {\n bidderSettingStub.restore();\n });\n\n it('should skip setting the marketplace object in extension if allowAlternateBidderCodes is not defined', () => {\n bidderSettingStub.returns(undefined);\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext').to.not.have.property('marketplace');\n });\n\n it('should set the marketplace object in the extension when allowAlternateBidderCodes is set to \"groupm\"', () => {\n bidderSettingStub.withArgs('pubmatic', 'allowAlternateBidderCodes').returns(true);\n bidderSettingStub.withArgs('pubmatic', 'allowedAlternateBidderCodes').returns(['groupm']);\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext').to.have.property('marketplace');\n expect(request.data).to.have.property('ext').to.have.property('marketplace').to.have.property('allowedbidders').to.be.an('array');\n expect(request.data.ext.marketplace.allowedbidders.length).to.equal(2);\n expect(request.data.ext.marketplace.allowedbidders[0]).to.equal('pubmatic');\n expect(request.data.ext.marketplace.allowedbidders[1]).to.equal('groupm');\n });\n\n it('should be ALL when allowedAlternateBidderCodes is \\'*\\'', () => {\n bidderSettingStub.withArgs('pubmatic', 'allowAlternateBidderCodes').returns(true);\n bidderSettingStub.withArgs('pubmatic', 'allowedAlternateBidderCodes').returns(['*']);\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data.ext.marketplace.allowedbidders).to.be.an('array');\n expect(request.data.ext.marketplace.allowedbidders[0]).to.equal('all');\n });\n });\n\n describe('SITE', () => {\n it('should have site object', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('site');\n });\n\n it('should have site object with page, domain', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('site').to.have.property('page').to.equal('https://ebay.com');\n expect(request.data).to.have.property('site').to.have.property('domain').to.equal('ebay.com');\n });\n });\n\n describe('DEVICE', () => {\n it('should have device object', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('device');\n expect(request.data.device).to.have.property('w').to.equal(1200);\n expect(request.data.device).to.have.property('h').to.equal(1800);\n expect(request.data.device).to.have.property('js').to.equal(1);\n expect(request.data.device).to.have.property('connectiontype');\n expect(request.data.device).to.have.property('language').to.equal('en');\n });\n });\n\n describe('CONFIG/BADV', () => {\n let copiedBidderRequest;\n beforeEach(() => {\n copiedBidderRequest = utils.deepClone(bidderRequest);\n copiedBidderRequest.ortb2.app = {\n id: 'app-id',\n name: 'app-name',\n };\n copiedBidderRequest.ortb2.site.ext = {\n id: 'site-id',\n name: 'site-name',\n }\n copiedBidderRequest.ortb2.badv = ['example.com'];\n });\n\n it('should have app if it is set in ortb2', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('app');\n });\n\n it('should include app if it is defined in ortb2 but not site', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('app');\n expect(request.data).to.not.have.property('site');\n });\n\n it('should have badv if it is set in ortb2', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('badv');\n expect(request.data.badv).to.deep.equal(['example.com']);\n });\n });\n\n describe('AUCTION ID', () => {\n it('should use auctionId as wiid when it is not provided in params', () => {\n const copiedValidBidRequests = utils.deepClone(validBidRequests);\n delete copiedValidBidRequests[0].params.wiid;\n const request = spec.buildRequests(copiedValidBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext');\n expect(request.data.ext).to.have.property('wrapper');\n expect(request.data.ext.wrapper).to.have.property('wiid');\n expect(request.data.ext.wrapper.wiid).to.equal('ee3074fe-97ce-4681-9235-d7622aede74c');\n });\n\n it('should use auctionId as wiid from params', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext');\n expect(request.data.ext).to.have.property('wrapper');\n expect(request.data.ext.wrapper).to.have.property('wiid');\n expect(request.data.ext.wrapper.wiid).to.equal('1234567890');\n });\n });\n\n describe('GDPR', () => {\n let copiedBidderRequest;\n beforeEach(() => {\n copiedBidderRequest = utils.deepClone(bidderRequest);\n copiedBidderRequest.ortb2.user = {\n ext: {\n consent: 'kjfdniwjnifwenrif3'\n }\n }\n });\n\n it('should have GDPR string', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('user');\n expect(request.data.user).to.have.property('ext');\n expect(request.data.user.ext).to.have.property('consent').to.equal('kjfdniwjnifwenrif3');\n });\n });\n\n describe('GPP', () => {\n it('should have gpp & gpp_sid in request if set using ortb2 and not present in request', () => {\n const copiedBidderRequest = utils.deepClone(bidderRequest);\n copiedBidderRequest.ortb2.regs = {\n gpp: 'DBACNYA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA~1YNN',\n gpp_sid: [5]\n }\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('regs');\n expect(request.data.regs).to.have.property('gpp').to.equal('DBACNYA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA~1YNN');\n expect(request.data.regs).to.have.property('gpp_sid').that.eql([5]);\n });\n });\n\n describe('DSA', () => {\n const dsa = {\n dsarequired: 3,\n pubrender: 0,\n datatopub: 2,\n transparency: [\n {\n domain: 'platform1domain.com',\n dsaparams: [1]\n },\n {\n domain: 'SSP2domain.com',\n dsaparams: [1, 2]\n }\n ]\n };\n beforeEach(() => {\n bidderRequest.ortb2.regs = {ext: { dsa }};\n });\n\n it('should have DSA in regs.ext', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('regs');\n expect(request.data.regs).to.have.property('ext');\n expect(request.data.regs.ext).to.have.property('dsa').to.deep.equal(dsa);\n });\n });\n\n describe('ORTB2IMP', () => {\n it('should send gpid if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('gpid');\n expect(request.data.imp[0].ext.gpid).to.equal('/1111/homepage-leftnav');\n });\n\n it('should send pbadslot if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('data');\n expect(request.data.imp[0].ext.data).to.have.property('pbadslot');\n expect(request.data.imp[0].ext.data.pbadslot).to.equal('/1111/homepage-leftnav');\n });\n\n it('should send adserver if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('data');\n expect(request.data.imp[0].ext.data).to.have.property('adserver');\n expect(request.data.imp[0].ext.data.adserver).to.have.property('name');\n expect(request.data.imp[0].ext.data.adserver.name).to.equal('gam');\n expect(request.data.imp[0].ext.data.adserver).to.have.property('adslot');\n expect(request.data.imp[0].ext.data.adserver.adslot).to.equal('/1111/homepage-leftnav');\n });\n\n it('should send custom data if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('data');\n expect(request.data.imp[0].ext.data).to.have.property('customData');\n expect(request.data.imp[0].ext.data.customData).to.have.property('id').to.equal('id-1');\n });\n });\n\n describe('FLEDGE', () => {\n it('should not send imp.ext.ae when FLEDGE is disabled, ', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp).to.be.an('array');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.not.have.property('ae');\n });\n })\n\n describe('cpm adjustment', () => {\n beforeEach(() => {\n global.cpmAdjustment = {};\n });\n\n it('should not perform any action if the bid is undefined', () => {\n spec.onBidWon(undefined);\n expect(global.cpmAdjustment).to.deep.equal({});\n });\n\n it('should not perform any action if the bid is null', () => {\n spec.onBidWon(null);\n expect(global.cpmAdjustment).to.deep.equal({});\n });\n it('should invoke _calculateBidCpmAdjustment and correctly update cpmAdjustment', () => {\n const bid = {\n cpm: 2.5,\n originalCpm: 3,\n originalCurrency: 'USD',\n currency: 'USD',\n mediaType: 'banner',\n meta: { mediaType: 'banner' }\n };\n\n spec.onBidWon(bid);\n\n expect(cpmAdjustment).to.deep.equal({\n currency: 'USD',\n originalCurrency: 'USD',\n adjustment: [\n {\n cpmAdjustment: Number(((3 - 2.5) / 3).toFixed(2)), // Expected: 0.17\n mediaType: 'banner',\n metaMediaType: 'banner',\n cpm: 2.5,\n originalCpm: 3\n }\n ]\n });\n });\n });\n\n // describe('USER ID/ EIDS', () => {\n // let copiedBidderRequest;\n // beforeEach(() => {\n // copiedBidderRequest = utils.deepClone(bidderRequest);\n // copiedBidderRequest.bids[0].userId = {\n // id5id : {\n // uid: 'id5id-xyz-user-id'\n // }\n // }\n // copiedBidderRequest.bids[0].userIdAsEids = [{\n // source: 'id5-sync.com',\n // uids: [{\n // 'id': \"ID5*G3_osFE_-UHoUjSuA4T8-f51U-JTNOoGcb2aMpx1APnDy8pDwkKCzXCcoSb1HXIIw9AjWBOWmZ3QbMUDTXKq8MPPW8h0II9mBYkP4F_IXkvD-XG64NuFFDPKvez1YGGx\",\n // 'atype': 1,\n // 'ext': {\n // 'linkType': 2,\n // 'pba': 'q6Vzr0jEebxzmvS8aSrVQJFoJnOxs9gKBKCOLw1y6ew='\n // }\n // }]\n // }]\n // });\n\n // it('should send gpid if specified', () => {\n // const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n // expect(request.data).to.have.property('user');\n // expect(request.data.user).to.have.property('eids');\n // });\n // });\n });\n });\n\n describe('Response', () => {\n it('should return response in prebid format', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(response, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('ad');\n expect(bidResponse[0]).to.have.property('dealId');\n expect(bidResponse[0]).to.have.property('dealChannel');\n expect(bidResponse[0]).to.have.property('currency');\n expect(bidResponse[0]).to.have.property('meta');\n expect(bidResponse[0]).to.have.property('mediaType');\n expect(bidResponse[0]).to.have.property('referrer');\n expect(bidResponse[0]).to.have.property('cpm');\n expect(bidResponse[0]).to.have.property('pm_seat');\n expect(bidResponse[0]).to.have.property('pm_dspid');\n expect(bidResponse[0]).to.have.property('sspID');\n expect(bidResponse[0]).to.have.property('partnerImpId');\n expect(bidResponse[0]).to.have.property('requestId');\n expect(bidResponse[0]).to.have.property('width');\n expect(bidResponse[0]).to.have.property('height');\n expect(bidResponse[0]).to.have.property('ttl');\n expect(bidResponse[0]).to.have.property('netRevenue');\n expect(bidResponse[0]).to.have.property('creativeId');\n });\n\n it('should return response and match with input values', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(response, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('currency').to.be.equal('USD');\n expect(bidResponse[0]).to.have.property('dealId').to.equal('PUBDEAL1');\n expect(bidResponse[0]).to.have.property('dealChannel').to.equal('PMPG');\n expect(bidResponse[0]).to.have.property('meta').to.be.an('object');\n expect(bidResponse[0]).to.have.property('mediaType').to.equal('banner');\n expect(bidResponse[0]).to.have.property('cpm').to.equal(1.3);\n expect(bidResponse[0]).to.have.property('pm_seat').to.equal('seat-id');\n expect(bidResponse[0]).to.have.property('pm_dspid').to.equal(123);\n expect(bidResponse[0]).to.have.property('sspID').to.equal('74858439-49D7-4169-BA5D-44A046315B2F');\n expect(bidResponse[0]).to.have.property('requestId').to.equal('3736271c3c4b27');\n expect(bidResponse[0]).to.have.property('width').to.equal(300);\n expect(bidResponse[0]).to.have.property('height').to.equal(250);\n expect(bidResponse[0]).to.have.property('ttl').to.equal(360);\n });\n\n describe('DEALID', () => {\n it('should set deal_channel to PMP if ext.deal_channel is missing', () => {\n const copiedResponse = utils.deepClone(response);\n delete copiedResponse.body.seatbid[0].bid[0].ext.deal_channel;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('dealChannel').to.equal('PMP');\n });\n\n it('should exclude deal_id and deal_channel from the response if the deal id is missing', () => {\n const copiedResponse = utils.deepClone(response);\n delete copiedResponse.body.seatbid[0].bid[0].ext.deal_channel;\n delete copiedResponse.body.seatbid[0].bid[0].dealid;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.not.have.property('dealId');\n expect(bidResponse[0]).to.not.have.property('dealChannel');\n });\n });\n if (FEATURES.VIDEO) {\n describe('VIDEO', () => {\n beforeEach(() => {\n const videoBidderRequest = utils.deepClone(bidderRequest);\n delete videoBidderRequest.bids[0].mediaTypes.banner;\n videoBidderRequest.bids[0].mediaTypes.video = {\n skip: 1,\n mimes: ['video/mp4', 'video/x-flv'],\n minduration: 5,\n maxduration: 30,\n startdelay: 5,\n playbackmethod: [1, 3],\n api: [1, 2],\n protocols: [2, 3],\n battr: [13, 14],\n linearity: 1,\n placement: 2,\n plcmt: 1,\n context: 'outstream',\n minbitrate: 10,\n maxbitrate: 10,\n playerSize: [640, 480]\n }\n });\n\n it('should generate video response', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n const bidResponse = spec.interpretResponse(videoResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('vastXml');\n expect(bidResponse[0]).to.have.property('mediaType');\n expect(bidResponse[0]).to.have.property('playerHeight');\n expect(bidResponse[0]).to.have.property('playerWidth');\n });\n\n it('should generate video response with input values', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n const bidResponse = spec.interpretResponse(videoResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('mediaType').to.equal('video');\n expect(bidResponse[0]).to.have.property('playerHeight').to.equal(480);\n expect(bidResponse[0]).to.have.property('playerWidth').to.equal(640);\n });\n });\n }\n\n describe('CATEGORY IDS', () => {\n it('should set primaryCatId and secondaryCatIds in meta when bid.cat is present', () => {\n const copiedResponse = utils.deepClone(response);\n copiedResponse.body.seatbid[0].bid[0].cat = ['IAB1', 'IAB2', 'IAB3'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0].meta).to.have.property('primaryCatId').to.equal('IAB1');\n expect(bidResponse[0].meta).to.have.property('secondaryCatIds').to.deep.equal(['IAB1', 'IAB2', 'IAB3']);\n });\n\n it('should not set primaryCatId and secondaryCatIds in meta when bid.cat is null', () => {\n const copiedResponse = utils.deepClone(response);\n copiedResponse.body.seatbid[0].bid[0].cat = null;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0].meta).to.not.have.property('primaryCatId');\n expect(bidResponse[0].meta).to.not.have.property('secondaryCatIds');\n });\n\n it('should not set primaryCatId and secondaryCatIds in meta when bid.cat is undefined', () => {\n const copiedResponse = utils.deepClone(response);\n delete copiedResponse.body.seatbid[0].bid[0].cat;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0].meta).to.not.have.property('primaryCatId');\n expect(bidResponse[0].meta).to.not.have.property('secondaryCatIds');\n });\n });\n\n describe('getUserSyncs', () => {\n beforeEach(() => {\n spec.buildRequests(validBidRequests, bidderRequest);\n });\n\n afterEach(() => {\n config.resetConfig();\n });\n\n it('returns iframe sync url with consent parameters and COPPA', () => {\n config.setConfig({ coppa: true });\n const gdprConsent = { gdprApplies: true, consentString: 'CONSENT' };\n const uspConsent = '1YNN';\n const gppConsent = { gppString: 'GPP', applicableSections: [2, 4] };\n const [sync] = spec.getUserSyncs({ iframeEnabled: true }, [], gdprConsent, uspConsent, gppConsent);\n expect(sync).to.deep.equal({\n type: 'iframe',\n url: 'https://ads.pubmatic.com/AdServer/js/user_sync.html?kdntuid=1&p=5670&gdpr=1&gdpr_consent=CONSENT&us_privacy=1YNN&gpp=GPP&gpp_sid=2%2C4&coppa=1'\n });\n });\n\n it('returns image sync url when no consent data provided', () => {\n const [sync] = spec.getUserSyncs({}, []);\n expect(sync).to.deep.equal({\n type: 'image',\n url: 'https://image8.pubmatic.com/AdServer/ImgSync?p=5670'\n });\n });\n });\n })\n})\n\ndescribe('addViewabilityToImp', () => {\n let imp;\n let element;\n let originalGetElementById;\n let originalVisibilityState;\n let sandbox;\n\n beforeEach(() => {\n sandbox = sinon.createSandbox();\n imp = { ext: {} };\n element = document.createElement('div');\n element.id = 'Div1';\n document.body.appendChild(element);\n originalGetElementById = document.getElementById;\n sandbox.stub(document, 'getElementById').callsFake(id => id === 'Div1' ? element : null);\n originalVisibilityState = document.visibilityState;\n Object.defineProperty(document, 'visibilityState', {\n value: 'visible',\n configurable: true\n });\n sandbox.stub(utils, 'getWindowTop').returns(window);\n });\n\n afterEach(() => {\n sandbox.restore();\n document.body.removeChild(element);\n Object.defineProperty(document, 'visibilityState', {\n value: originalVisibilityState,\n configurable: true\n });\n document.getElementById = originalGetElementById;\n });\n\n it('should add viewability to imp.ext when measurable', () => {\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.have.property('viewability');\n });\n\n it('should set viewability amount to \"na\" if not measurable (e.g., in iframe)', () => {\n const isIframeStub = sandbox.stub(utils, 'inIframe').returns(true);\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.have.property('viewability');\n expect(imp.ext.viewability.amount).to.equal('na');\n });\n\n it('should not add viewability if element is not found', () => {\n document.getElementById.restore();\n sandbox.stub(document, 'getElementById').returns(null);\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.not.have.property('viewability');\n });\n\n it('should create imp.ext if not present', () => {\n imp = {};\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.exist;\n expect(imp.ext).to.have.property('viewability');\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"pubmaticBidAdapter_spec.js","names":["expect","spec","cpmAdjustment","addViewabilityToImp","utils","bidderSettings","config","describe","firstBid","videoBid","firstResponse","response","videoResponse","request","adUnitCode","bidder","mediaTypes","banner","sizes","pos","params","publisherId","adSlot","kadfloor","pmzoneid","yob","gender","lat","lon","wiid","profId","verId","currency","dctr","deals","placementCode","bidId","requestId","bidderRequestId","ortb2","device","w","h","sua","language","js","connectiontype","site","domain","page","source","ortb2Imp","ext","tid","gpid","data","pbadslot","adserver","name","adslot","customData","id","cur","seatbid","validBidRequests","bidderRequest","bids","auctionId","auctionStart","bidderCode","refererInfo","ref","timeout","videoBidRequest","videoBidderRequest","utilsLogWarnMock","nativeBidderRequest","it","isValid","isBidRequestValid","to","equal","bid","deepClone","beforeEach","video","playerSize","protocols","context","skippable","skip","linearity","mimes","bidRequestWithPrevAuction","bidderRequestWithPrevAuction","prebid","previousauctioninfo","buildRequests","have","property","previousAuctionInfo","deep","imp","be","an","with","lengthOf","not","singleSizeBid","singleSizeBidderRequest","sinon","stub","minduration","maxduration","startdelay","playbackmethod","api","battr","placement","plcmt","minbitrate","maxbitrate","afterEach","restore","assert","called","logWarn","undefined","nativeOrtbRequest","ver","assets","img","required","native","title","length","image","sponsoredBy","bcat","acat","configStub","bidderConfigStub","options","endpointCompression","true","returns","pubmatic","gzipEnabled","false","include","members","bidderSettingStub","withArgs","marketplace","allowedbidders","copiedBidderRequest","app","badv","copiedValidBidRequests","wrapper","user","consent","regs","gpp","gpp_sid","that","eql","dsa","dsarequired","pubrender","datatopub","transparency","dsaparams","global","onBidWon","cpm","originalCpm","originalCurrency","mediaType","meta","adjustment","Number","toFixed","metaMediaType","bidResponse","interpretResponse","copiedResponse","body","deal_channel","dealid","cat","resetConfig","setConfig","coppa","gdprConsent","gdprApplies","consentString","uspConsent","gppConsent","gppString","applicableSections","sync","getUserSyncs","iframeEnabled","type","url","element","originalGetElementById","originalVisibilityState","sandbox","createSandbox","document","createElement","appendChild","getElementById","callsFake","visibilityState","Object","defineProperty","value","configurable","window","removeChild","isIframeStub","viewability","amount","exist"],"sourceRoot":"../../../../..","sources":["test/spec/modules/pubmaticBidAdapter_spec.js"],"sourcesContent":["import { expect } from 'chai';\nimport { spec, cpmAdjustment, addViewabilityToImp } from 'modules/pubmaticBidAdapter.js';\nimport * as utils from 'src/utils.js';\nimport { bidderSettings } from 'src/bidderSettings.js';\nimport { config } from 'src/config.js';\n\ndescribe('PubMatic adapter', () => {\n let firstBid, videoBid, firstResponse, response, videoResponse;\n const request = {};\n firstBid = {\n adUnitCode: 'Div1',\n bidder: 'pubmatic',\n mediaTypes: {\n banner: {\n sizes: [[728, 90], [160, 600]],\n pos: 1\n }\n },\n params: {\n publisherId: '5670',\n adSlot: '/15671365/DMDemo@300x250:0',\n kadfloor: '1.2',\n pmzoneid: 'aabc, ddef',\n // kadpageurl: 'www.publisher.com',\n yob: '1986',\n gender: 'M',\n lat: '12.3',\n lon: '23.7',\n wiid: '1234567890',\n profId: '100',\n verId: '200',\n currency: 'AUD',\n dctr: 'key1:val1,val2|key2:val1',\n deals: ['deal-1', 'deal-2']\n },\n placementCode: '/19968336/header-bid-tag-1',\n sizes: [\n [300, 250],\n [300, 600],\n ['fluid']\n ],\n bidId: '3736271c3c4b27',\n requestId: '0fb4905b-9456-4152-86be-c6f6d259ba99',\n bidderRequestId: '1c56ad30b9b8ca8',\n ortb2: {\n device: {\n w: 1200,\n h: 1800,\n sua: {},\n language: 'en',\n js: 1,\n connectiontype: 6\n },\n site: {domain: 'ebay.com', page: 'https://ebay.com'},\n source: {}\n },\n ortb2Imp: {\n ext: {\n tid: '92489f71-1bf2-49a0-adf9-000cea934729',\n gpid: '/1111/homepage-leftnav',\n data: {\n pbadslot: '/1111/homepage-leftnav',\n adserver: {\n name: 'gam',\n adslot: '/1111/homepage-leftnav'\n },\n customData: {\n id: 'id-1'\n }\n }\n }\n },\n }\n videoBid = {\n 'seat': 'seat-id',\n 'ext': {\n 'buyid': 'BUYER-ID-987'\n },\n 'bid': [{\n 'id': '74858439-49D7-4169-BA5D-44A046315B2F',\n 'impid': '3736271c3c4b27',\n 'price': 1.3,\n 'adm': '<VAST version=\"3.0\"><Ad id=\"601364\"><InLine><AdSystem>Acudeo Compatible</AdSystem><AdTitle>VAST 2.0 Instream Test 1</AdTitle><Description>VAST 2.0 Instream Test 1</Description><Impression><![CDATA[http://172.16.4.213/AdServer/AdDisplayTrackerServlet?operId=1&pubId=5890&siteId=47163&adId=1405268&adType=13&adServerId=243&kefact=70.000000&kaxefact=70.000000&kadNetFrequecy=0&kadwidth=0&kadheight=0&kadsizeid=97&kltstamp=1529929473&indirectAdId=0&adServerOptimizerId=2&ranreq=0.1&kpbmtpfact=100.000000&dcId=1&tldId=0&passback=0&svr=MADS1107&ekefact=Ad8wW91TCwCmdG0jlfjXn7Tyzh20hnTVx-m5DoNSep-RXGDr&ekaxefact=Ad8wWwRUCwAGir4Zzl1eF0bKiC-qrCV0D0yp_eE7YizB_BQk&ekpbmtpfact=Ad8wWxRUCwD7qgzwwPE2LnS5-Ou19uO5amJl1YT6-XVFvQ41&imprId=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&oid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&crID=creative-1_1_2&ucrid=160175026529250297&campaignId=17050&creativeId=0&pctr=0.000000&wDSPByrId=511&wDspId=6&wbId=0&wrId=0&wAdvID=3170&isRTB=1&rtbId=EBCA079F-8D7C-45B8-B733-92951F670AA1&pmZoneId=zone1&pageURL=www.yahoo.com&lpu=ae.com]]></Impression><Impression>https://dsptracker.com/{PSPM}</Impression><Error><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&er=[ERRORCODE]]]></Error><Error><![CDATA[https://Errortrack.com?p=1234&er=[ERRORCODE]]]></Error><Creatives><Creative AdID=\"601364\"><Linear skipoffset=\"20%\"><TrackingEvents><Tracking event=\"close\"><![CDATA[https://mytracking.com/linear/close]]></Tracking><Tracking event=\"skip\"><![CDATA[https://mytracking.com/linear/skip]]></Tracking><Tracking event=\"creativeView\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=1]]></Tracking><Tracking event=\"start\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=2]]></Tracking><Tracking event=\"midpoint\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=3]]></Tracking><Tracking event=\"firstQuartile\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=4]]></Tracking><Tracking event=\"thirdQuartile\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=5]]></Tracking><Tracking event=\"complete\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=6]]></Tracking></TrackingEvents><Duration>00:00:04</Duration><VideoClicks><ClickTracking><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=99]]></ClickTracking><ClickThrough>https://www.pubmatic.com</ClickThrough></VideoClicks><MediaFiles><MediaFile delivery=\"progressive\" type=\"video/mp4\" bitrate=\"500\" width=\"400\" height=\"300\" scalable=\"true\" maintainAspectRatio=\"true\"><![CDATA[https://stagingnyc.pubmatic.com:8443/video/Shashank/mediaFileHost/media/mp4-sample-2.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>',\n 'adomain': ['blackrock.com'],\n 'h': 250,\n 'w': 300,\n 'ext': {\n 'deal_channel': 6,\n 'advid': 976,\n 'dspid': 123\n },\n 'dealid': 'PUBDEAL1',\n 'mtype': 2\n }]\n };\n firstResponse = {\n 'seat': 'seat-id',\n 'ext': {\n 'buyid': 'BUYER-ID-987'\n },\n 'bid': [{\n 'id': '74858439-49D7-4169-BA5D-44A046315B2F',\n 'impid': '3736271c3c4b27',\n 'price': 1.3,\n 'adm': 'image3.pubmatic.com Layer based creative',\n 'adomain': ['blackrock.com'],\n 'h': 250,\n 'w': 300,\n 'ext': {\n 'deal_channel': 6,\n 'advid': 976,\n 'dspid': 123\n },\n 'dealid': 'PUBDEAL1',\n 'mtype': 1\n }]\n };\n response = {\n 'body': {\n cur: 'USD',\n id: '93D3BAD6-E2E2-49FB-9D89-920B1761C865',\n seatbid: [firstResponse]\n }\n };\n videoResponse = {\n 'body': {\n cur: 'USD',\n id: '93D3BAD6-E2E2-49FB-9D89-920B1761C865',\n seatbid: [videoBid]\n }\n }\n const validBidRequests = [firstBid];\n const bidderRequest = {\n bids: [firstBid],\n auctionId: 'ee3074fe-97ce-4681-9235-d7622aede74c',\n auctionStart: 1725514077194,\n bidderCode: 'pubmatic',\n bidderRequestId: '1c56ad30b9b8ca8',\n refererInfo: {\n page: 'https://ebay.com',\n ref: ''\n },\n ortb2: {\n device: {\n w: 1200,\n h: 1800,\n sua: {},\n language: 'en',\n js: 1,\n connectiontype: 6\n },\n site: {domain: 'ebay.com', page: 'https://ebay.com'},\n source: {}\n },\n timeout: 2000\n };\n let videoBidRequest, videoBidderRequest, utilsLogWarnMock, nativeBidderRequest;\n\n describe('Bid validations', () => {\n it('should return true if publisherId is present in params', () => {\n const isValid = spec.isBidRequestValid(validBidRequests[0]);\n expect(isValid).to.equal(true);\n });\n\n it('should return false if publisherId is missing', () => {\n const bid = utils.deepClone(validBidRequests[0]);\n delete bid.params.publisherId;\n const isValid = spec.isBidRequestValid(bid);\n expect(isValid).to.equal(false);\n });\n\n it('should return false if publisherId is not of type string', () => {\n const bid = utils.deepClone(validBidRequests[0]);\n bid.params.publisherId = 5890;\n const isValid = spec.isBidRequestValid(bid);\n expect(isValid).to.equal(false);\n });\n\n if (FEATURES.VIDEO) {\n describe('VIDEO', () => {\n beforeEach(() => {\n videoBidRequest = utils.deepClone(validBidRequests[0]);\n delete videoBidRequest.mediaTypes.banner;\n videoBidRequest.mediaTypes.video = {\n playerSize: [\n [640, 480]\n ],\n protocols: [1, 2, 5],\n context: 'instream',\n skippable: false,\n skip: 1,\n linearity: 2\n }\n });\n it('should return false if mimes are missing in a video impression request', () => {\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(false);\n });\n\n it('should return false if context is missing in a video impression request', () => {\n delete videoBidRequest.mediaTypes.context;\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(false);\n })\n\n it('should return true if banner/native present, but outstreamAU or renderer is missing', () => {\n videoBidRequest.mediaTypes.video.mimes = ['video/flv'];\n videoBidRequest.mediaTypes.video.context = 'outstream';\n videoBidRequest.mediaTypes.banner = {\n sizes: [[728, 90], [160, 600]]\n }\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(true);\n });\n\n it('should return false if outstreamAU or renderer is missing', () => {\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(false);\n });\n });\n }\n });\n\n describe('Request formation', () => {\n describe('IMP', () => {\n it('should include previousAuctionInfo in request when available', () => {\n const bidRequestWithPrevAuction = utils.deepClone(validBidRequests[0]);\n const bidderRequestWithPrevAuction = utils.deepClone(bidderRequest);\n\n bidderRequestWithPrevAuction.ortb2 = bidderRequestWithPrevAuction.ortb2 || {};\n bidderRequestWithPrevAuction.ortb2.ext = bidderRequestWithPrevAuction.ortb2.ext || {};\n bidderRequestWithPrevAuction.ortb2.ext.prebid = bidderRequestWithPrevAuction.ortb2.ext.prebid || {};\n bidderRequestWithPrevAuction.ortb2.ext.prebid.previousauctioninfo = {\n bidderRequestId: 'bidder-request-id'\n };\n\n const request = spec.buildRequests([bidRequestWithPrevAuction], bidderRequestWithPrevAuction);\n expect(request.data.ext).to.have.property('previousAuctionInfo');\n expect(request.data.ext.previousAuctionInfo).to.deep.equal({\n bidderRequestId: 'bidder-request-id'\n });\n });\n\n it('should generate request with banner', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner');\n expect(imp[0]).to.have.property('id').equal('3736271c3c4b27');\n });\n\n it('should add pmp if deals are present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('pmp');\n expect(imp[0]).to.have.property('pmp').to.have.property('deals').with.lengthOf(2);\n });\n\n it('should not add pmp if deals are absent in parameters', () => {\n delete validBidRequests[0].params.deals;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.not.have.property('pmp');\n });\n\n it('should add key_val property if dctr is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('ext');\n expect(imp[0]).to.have.property('ext').to.have.property('key_val');\n });\n\n it('should not add key_val if dctr is absent in parameters', () => {\n delete validBidRequests[0].params.dctr;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('ext').to.not.have.property('key_val');\n });\n\n it('should set w and h to the primary size for banner', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner');\n expect(imp[0]).to.have.property('banner').to.have.property('w').equal(300);\n expect(imp[0]).to.have.property('banner').to.have.property('h').equal(250);\n });\n\n it('should have 1 size in the banner.format array', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('format');\n expect(imp[0]).to.have.property('banner').to.have.property('format').to.be.an('array');\n });\n\n it('should not have format object in banner when there is only a single size', () => {\n // Create a complete bid with only one size\n const singleSizeBid = utils.deepClone(validBidRequests[0]);\n singleSizeBid.mediaTypes.banner.sizes = [[300, 250]];\n singleSizeBid.params.adSlot = '/15671365/DMDemo@300x250:0';\n\n // Create a complete bidder request\n const singleSizeBidderRequest = utils.deepClone(bidderRequest);\n singleSizeBidderRequest.bids = [singleSizeBid];\n\n const request = spec.buildRequests([singleSizeBid], singleSizeBidderRequest);\n const { imp } = request?.data;\n\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner');\n expect(imp[0].banner).to.not.have.property('format');\n expect(imp[0].banner).to.have.property('w').equal(300);\n expect(imp[0].banner).to.have.property('h').equal(250);\n });\n\n it('should add pmZoneId in ext if pmzoneid is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('ext');\n expect(imp[0]).to.have.property('ext').to.have.property('pmZoneId');\n });\n\n it('should add bidfloor if kadfloor is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('bidfloor');\n expect(imp[0]).to.have.property('bidfloor').equal(1.2);\n });\n\n it('should add bidfloorcur if currency is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('bidfloorcur');\n expect(imp[0]).to.have.property('bidfloorcur').equal('AUD');\n });\n\n it('should add bidfloorcur with default value if currency is missing in parameters', () => {\n delete validBidRequests[0].params.currency;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('bidfloorcur');\n expect(imp[0]).to.have.property('bidfloorcur').equal('USD');\n });\n\n it('should add tagid', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('tagid');\n expect(imp[0]).to.have.property('tagid').equal('/15671365/DMDemo');\n });\n\n it('should add secure, displaymanager & displaymanagerver', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('secure').equal(1);\n expect(imp[0]).to.have.property('displaymanager').equal('Prebid.js');\n expect(imp[0]).to.have.property('displaymanagerver');\n });\n\n it('should include the properties topframe and format as an array', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('topframe');\n expect(imp[0]).to.have.property('banner').to.have.property('format').to.be.an('array');\n });\n\n it('should respect the publisher-provided pos for the banner impression', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('pos');\n expect(imp[0]).to.have.property('banner').to.have.property('pos').equal(1);\n });\n\n it('should default pos to 0 if not explicitly provided by the publisher', () => {\n delete bidderRequest.bids[0].mediaTypes.banner.pos;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('pos');\n expect(imp[0]).to.have.property('banner').to.have.property('pos').equal(0);\n });\n\n if (FEATURES.VIDEO) {\n describe('VIDEO', () => {\n beforeEach(() => {\n utilsLogWarnMock = sinon.stub(utils, 'logWarn');\n videoBidderRequest = utils.deepClone(bidderRequest);\n delete videoBidderRequest.bids[0].mediaTypes.banner;\n videoBidderRequest.bids[0].mediaTypes.video = {\n skip: 1,\n mimes: ['video/mp4', 'video/x-flv'],\n minduration: 5,\n maxduration: 30,\n startdelay: 5,\n playbackmethod: [1, 3],\n api: [1, 2],\n protocols: [2, 3],\n battr: [13, 14],\n linearity: 1,\n placement: 2,\n plcmt: 1,\n minbitrate: 10,\n maxbitrate: 10,\n playerSize: [640, 480]\n }\n });\n\n afterEach(() => {\n utilsLogWarnMock.restore();\n })\n\n it('should generate request with mediatype video', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n });\n\n it('should log a warning if playerSize is missing', () => {\n delete videoBidderRequest.bids[0].mediaTypes.video.playerSize;\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n sinon.assert.called(utils.logWarn);\n });\n\n it('should log a warning if plcmt is missing', () => {\n delete videoBidderRequest.bids[0].mediaTypes.video.plcmt;\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n sinon.assert.called(utils.logWarn);\n expect(imp.video).to.be.undefined;\n });\n\n it('should have all supporting parameters', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n expect(imp[0]).to.have.property('video').to.have.property('mimes');\n expect(imp[0]).to.have.property('video').to.have.property('minbitrate');\n expect(imp[0]).to.have.property('video').to.have.property('maxbitrate');\n expect(imp[0]).to.have.property('video').to.have.property('minduration');\n expect(imp[0]).to.have.property('video').to.have.property('maxduration');\n expect(imp[0]).to.have.property('video').to.have.property('plcmt');\n expect(imp[0]).to.have.property('video').to.have.property('battr');\n expect(imp[0]).to.have.property('video').to.have.property('startdelay');\n expect(imp[0]).to.have.property('video').to.have.property('playbackmethod');\n expect(imp[0]).to.have.property('video').to.have.property('api');\n expect(imp[0]).to.have.property('video').to.have.property('protocols');\n expect(imp[0]).to.have.property('video').to.have.property('linearity');\n expect(imp[0]).to.have.property('video').to.have.property('placement');\n expect(imp[0]).to.have.property('video').to.have.property('skip');\n expect(imp[0]).to.have.property('video').to.have.property('w');\n expect(imp[0]).to.have.property('video').to.have.property('h');\n });\n });\n }\n if (FEATURES.NATIVE) {\n describe('NATIVE', () => {\n beforeEach(() => {\n utilsLogWarnMock = sinon.stub(utils, 'logWarn');\n nativeBidderRequest = utils.deepClone(bidderRequest);\n delete nativeBidderRequest.bids[0].mediaTypes.banner;\n nativeBidderRequest.bids[0].nativeOrtbRequest = {\n ver: '1.2',\n assets: [{\n id: 0,\n img: {\n 'type': 3,\n 'w': 300,\n 'h': 250\n },\n required: 1,\n }]\n };\n nativeBidderRequest.bids[0].mediaTypes.native = {\n title: {\n required: true,\n length: 80\n },\n image: {\n required: true,\n sizes: [300, 250]\n },\n sponsoredBy: {\n required: true\n }\n }\n });\n\n afterEach(() => {\n utilsLogWarnMock.restore();\n })\n\n it('should generate request with mediatype native', () => {\n const request = spec.buildRequests(validBidRequests, nativeBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('native');\n });\n });\n }\n // describe('MULTIFORMAT', () => {\n // let multiFormatBidderRequest;\n // it('should have both banner & video impressions', () => {\n // multiFormatBidderRequest = utils.deepClone(bidderRequest);\n // multiFormatBidderRequest.bids[0].mediaTypes.video = {\n // skip: 1,\n // mimes: ['video/mp4', 'video/x-flv'],\n // minduration: 5,\n // maxduration: 30,\n // startdelay: 5,\n // playbackmethod: [1, 3],\n // api: [1, 2],\n // protocols: [2, 3],\n // battr: [13, 14],\n // linearity: 1,\n // placement: 2,\n // plcmt: 1,\n // minbitrate: 10,\n // maxbitrate: 10,\n // playerSize: [640, 480]\n // }\n // const request = spec.buildRequests(validBidRequests, multiFormatBidderRequest);\n // const { imp } = request?.data;\n // expect(imp).to.be.an('array');\n // expect(imp[0]).to.have.property('banner');\n // expect(imp[0].banner).to.have.property('topframe');\n // expect(imp[0].banner).to.have.property('format');\n // expect(imp[0]).to.have.property('video');\n // });\n\n // it('should have both banner & native impressions', () => {\n // multiFormatBidderRequest = utils.deepClone(bidderRequest);\n // multiFormatBidderRequest.bids[0].nativeOrtbRequest = {\n // ver: '1.2',\n // assets: [{\n // id: 0,\n // img: {\n // 'type': 3,\n // 'w': 300,\n // 'h': 250\n // },\n // required: 1,\n // }]\n // };\n // const request = spec.buildRequests(validBidRequests, multiFormatBidderRequest);\n // const { imp } = request?.data;\n // expect(imp).to.be.an('array');\n // expect(imp[0]).to.have.property('banner');\n // expect(imp[0].banner).to.have.property('topframe');\n // expect(imp[0].banner).to.have.property('format');\n // expect(imp[0]).to.have.property('native');\n // });\n // });\n });\n\n describe('rest of ORTB request', () => {\n describe('BCAT', () => {\n it('should contain only string values', () => {\n validBidRequests[0].params.bcat = [1, 2, 3, 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should contain string values with length greater than 3', function() {\n validBidRequests[0].params.bcat = ['AB', 'CD', 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should trim strings', function() {\n validBidRequests[0].params.bcat = [' IAB1 ', ' IAB2 '];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should pass unique strings', function() {\n validBidRequests[0].params.bcat = ['IAB1', 'IAB2', 'IAB1', 'IAB2', 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should fail if validations are not met', function() {\n validBidRequests[0].params.bcat = ['', 'IA', 'IB'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.not.have.property('bcat');\n });\n });\n\n describe('ACAT', () => {\n it('should contain only string values', () => {\n validBidRequests[0].params.acat = [1, 2, 3, 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n expect(request.data).to.have.property('acat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should trim strings', () => {\n validBidRequests[0].params.acat = [' IAB1 ', ' IAB2 '];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n expect(request.data).to.have.property('acat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should pass unique strings', () => {\n validBidRequests[0].params.acat = ['IAB1', 'IAB2', 'IAB1', 'IAB2', 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n expect(request.data).to.have.property('acat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should fail if validations are not met', () => {\n validBidRequests[0].params.acat = ['', 'IA', 'IB'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n });\n });\n\n describe('TMAX, ID, AT, CUR, EXT', () => {\n it('should have tmax', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('tmax').to.equal(2000);\n });\n\n describe('Gzip Configuration', () => {\n let configStub;\n let bidderConfigStub;\n\n beforeEach(() => {\n configStub = sinon.stub(config, 'getConfig');\n bidderConfigStub = sinon.stub(config, 'getBidderConfig');\n });\n\n afterEach(() => {\n configStub.restore();\n if (bidderConfigStub && bidderConfigStub.restore) {\n bidderConfigStub.restore();\n }\n });\n\n it('should enable gzip compression by default', () => {\n // No specific configuration set, should use default\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.options.endpointCompression).to.be.true;\n });\n\n it('should respect bidder-specific boolean configuration set via setBidderConfig', () => {\n // Mock bidder-specific config to return false\n bidderConfigStub.returns({\n pubmatic: {\n gzipEnabled: false\n }\n });\n\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.options.endpointCompression).to.be.false;\n });\n\n it('should handle bidder-specific string configuration (\"true\")', () => {\n bidderConfigStub.returns({\n pubmatic: {\n gzipEnabled: 'true'\n }\n });\n\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.options.endpointCompression).to.be.true;\n });\n\n it('should handle bidder-specific string configuration (\"false\")', () => {\n bidderConfigStub.returns({\n pubmatic: {\n gzipEnabled: 'false'\n }\n });\n\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.options.endpointCompression).to.be.false;\n });\n\n it('should fall back to default when bidder-specific value is invalid', () => {\n // Mock bidder-specific config to return invalid value\n bidderConfigStub.returns({\n pubmatic: {\n gzipEnabled: 'invalid'\n }\n });\n\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n // Should fall back to default (true)\n expect(request.options.endpointCompression).to.be.true;\n });\n });\n\n it('should remove test if pubmaticTest is not set', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('test').to.equal(undefined);\n });\n\n it('should have id', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('id');\n });\n\n it('should set at to 1', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('at').to.equal(1);\n });\n\n it('should have cur', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('cur').to.be.an('array').to.have.lengthOf(1);\n expect(request.data).to.have.property('cur').to.include.members(['USD']);\n });\n\n it('should have ext', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext').to.have.property('epoch');\n expect(request.data).to.have.property('ext').to.have.property('wrapper');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('profile');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('wiid');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('wv');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('wp');\n });\n\n it('should have url with post method', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request).to.have.property('method').to.equal('POST');\n expect(request).to.have.property('url').to.equal('https://hbopenbid.pubmatic.com/translator?source=prebid-client');\n });\n });\n\n describe('Request Options', () => {\n it('should set endpointCompression to true in request options', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request).to.have.property('options');\n expect(request.options).to.have.property('endpointCompression').to.equal(true);\n });\n });\n\n describe('GROUPM', () => {\n let bidderSettingStub;\n beforeEach(() => {\n bidderSettingStub = sinon.stub(bidderSettings, 'get');\n });\n\n afterEach(() => {\n bidderSettingStub.restore();\n });\n\n it('should skip setting the marketplace object in extension if allowAlternateBidderCodes is not defined', () => {\n bidderSettingStub.returns(undefined);\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext').to.not.have.property('marketplace');\n });\n\n it('should set the marketplace object in the extension when allowAlternateBidderCodes is set to \"groupm\"', () => {\n bidderSettingStub.withArgs('pubmatic', 'allowAlternateBidderCodes').returns(true);\n bidderSettingStub.withArgs('pubmatic', 'allowedAlternateBidderCodes').returns(['groupm']);\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext').to.have.property('marketplace');\n expect(request.data).to.have.property('ext').to.have.property('marketplace').to.have.property('allowedbidders').to.be.an('array');\n expect(request.data.ext.marketplace.allowedbidders.length).to.equal(2);\n expect(request.data.ext.marketplace.allowedbidders[0]).to.equal('pubmatic');\n expect(request.data.ext.marketplace.allowedbidders[1]).to.equal('groupm');\n });\n\n it('should be ALL when allowedAlternateBidderCodes is \\'*\\'', () => {\n bidderSettingStub.withArgs('pubmatic', 'allowAlternateBidderCodes').returns(true);\n bidderSettingStub.withArgs('pubmatic', 'allowedAlternateBidderCodes').returns(['*']);\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data.ext.marketplace.allowedbidders).to.be.an('array');\n expect(request.data.ext.marketplace.allowedbidders[0]).to.equal('all');\n });\n });\n\n describe('SITE', () => {\n it('should have site object', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('site');\n });\n\n it('should have site object with page, domain', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('site').to.have.property('page').to.equal('https://ebay.com');\n expect(request.data).to.have.property('site').to.have.property('domain').to.equal('ebay.com');\n });\n });\n\n describe('DEVICE', () => {\n it('should have device object', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('device');\n expect(request.data.device).to.have.property('w').to.equal(1200);\n expect(request.data.device).to.have.property('h').to.equal(1800);\n expect(request.data.device).to.have.property('js').to.equal(1);\n expect(request.data.device).to.have.property('connectiontype');\n expect(request.data.device).to.have.property('language').to.equal('en');\n });\n });\n\n describe('CONFIG/BADV', () => {\n let copiedBidderRequest;\n beforeEach(() => {\n copiedBidderRequest = utils.deepClone(bidderRequest);\n copiedBidderRequest.ortb2.app = {\n id: 'app-id',\n name: 'app-name',\n };\n copiedBidderRequest.ortb2.site.ext = {\n id: 'site-id',\n name: 'site-name',\n }\n copiedBidderRequest.ortb2.badv = ['example.com'];\n });\n\n it('should have app if it is set in ortb2', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('app');\n });\n\n it('should include app if it is defined in ortb2 but not site', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('app');\n expect(request.data).to.not.have.property('site');\n });\n\n it('should have badv if it is set in ortb2', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('badv');\n expect(request.data.badv).to.deep.equal(['example.com']);\n });\n });\n\n describe('AUCTION ID', () => {\n it('should use auctionId as wiid when it is not provided in params', () => {\n const copiedValidBidRequests = utils.deepClone(validBidRequests);\n delete copiedValidBidRequests[0].params.wiid;\n const request = spec.buildRequests(copiedValidBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext');\n expect(request.data.ext).to.have.property('wrapper');\n expect(request.data.ext.wrapper).to.have.property('wiid');\n expect(request.data.ext.wrapper.wiid).to.equal('ee3074fe-97ce-4681-9235-d7622aede74c');\n });\n\n it('should use auctionId as wiid from params', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext');\n expect(request.data.ext).to.have.property('wrapper');\n expect(request.data.ext.wrapper).to.have.property('wiid');\n expect(request.data.ext.wrapper.wiid).to.equal('1234567890');\n });\n });\n\n describe('GDPR', () => {\n let copiedBidderRequest;\n beforeEach(() => {\n copiedBidderRequest = utils.deepClone(bidderRequest);\n copiedBidderRequest.ortb2.user = {\n ext: {\n consent: 'kjfdniwjnifwenrif3'\n }\n }\n });\n\n it('should have GDPR string', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('user');\n expect(request.data.user).to.have.property('ext');\n expect(request.data.user.ext).to.have.property('consent').to.equal('kjfdniwjnifwenrif3');\n });\n });\n\n describe('GPP', () => {\n it('should have gpp & gpp_sid in request if set using ortb2 and not present in request', () => {\n const copiedBidderRequest = utils.deepClone(bidderRequest);\n copiedBidderRequest.ortb2.regs = {\n gpp: 'DBACNYA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA~1YNN',\n gpp_sid: [5]\n }\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('regs');\n expect(request.data.regs).to.have.property('gpp').to.equal('DBACNYA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA~1YNN');\n expect(request.data.regs).to.have.property('gpp_sid').that.eql([5]);\n });\n });\n\n describe('DSA', () => {\n const dsa = {\n dsarequired: 3,\n pubrender: 0,\n datatopub: 2,\n transparency: [\n {\n domain: 'platform1domain.com',\n dsaparams: [1]\n },\n {\n domain: 'SSP2domain.com',\n dsaparams: [1, 2]\n }\n ]\n };\n beforeEach(() => {\n bidderRequest.ortb2.regs = {ext: { dsa }};\n });\n\n it('should have DSA in regs.ext', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('regs');\n expect(request.data.regs).to.have.property('ext');\n expect(request.data.regs.ext).to.have.property('dsa').to.deep.equal(dsa);\n });\n });\n\n describe('ORTB2IMP', () => {\n it('should send gpid if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('gpid');\n expect(request.data.imp[0].ext.gpid).to.equal('/1111/homepage-leftnav');\n });\n\n it('should send pbadslot if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('data');\n expect(request.data.imp[0].ext.data).to.have.property('pbadslot');\n expect(request.data.imp[0].ext.data.pbadslot).to.equal('/1111/homepage-leftnav');\n });\n\n it('should send adserver if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('data');\n expect(request.data.imp[0].ext.data).to.have.property('adserver');\n expect(request.data.imp[0].ext.data.adserver).to.have.property('name');\n expect(request.data.imp[0].ext.data.adserver.name).to.equal('gam');\n expect(request.data.imp[0].ext.data.adserver).to.have.property('adslot');\n expect(request.data.imp[0].ext.data.adserver.adslot).to.equal('/1111/homepage-leftnav');\n });\n\n it('should send custom data if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('data');\n expect(request.data.imp[0].ext.data).to.have.property('customData');\n expect(request.data.imp[0].ext.data.customData).to.have.property('id').to.equal('id-1');\n });\n });\n\n describe('FLEDGE', () => {\n it('should not send imp.ext.ae when FLEDGE is disabled, ', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp).to.be.an('array');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.not.have.property('ae');\n });\n })\n\n describe('cpm adjustment', () => {\n beforeEach(() => {\n global.cpmAdjustment = {};\n });\n\n it('should not perform any action if the bid is undefined', () => {\n spec.onBidWon(undefined);\n expect(global.cpmAdjustment).to.deep.equal({});\n });\n\n it('should not perform any action if the bid is null', () => {\n spec.onBidWon(null);\n expect(global.cpmAdjustment).to.deep.equal({});\n });\n it('should invoke _calculateBidCpmAdjustment and correctly update cpmAdjustment', () => {\n const bid = {\n cpm: 2.5,\n originalCpm: 3,\n originalCurrency: 'USD',\n currency: 'USD',\n mediaType: 'banner',\n meta: { mediaType: 'banner' }\n };\n\n spec.onBidWon(bid);\n\n expect(cpmAdjustment).to.deep.equal({\n currency: 'USD',\n originalCurrency: 'USD',\n adjustment: [\n {\n cpmAdjustment: Number(((3 - 2.5) / 3).toFixed(2)), // Expected: 0.17\n mediaType: 'banner',\n metaMediaType: 'banner',\n cpm: 2.5,\n originalCpm: 3\n }\n ]\n });\n });\n });\n\n // describe('USER ID/ EIDS', () => {\n // let copiedBidderRequest;\n // beforeEach(() => {\n // copiedBidderRequest = utils.deepClone(bidderRequest);\n // copiedBidderRequest.bids[0].userId = {\n // id5id : {\n // uid: 'id5id-xyz-user-id'\n // }\n // }\n // copiedBidderRequest.bids[0].userIdAsEids = [{\n // source: 'id5-sync.com',\n // uids: [{\n // 'id': \"ID5*G3_osFE_-UHoUjSuA4T8-f51U-JTNOoGcb2aMpx1APnDy8pDwkKCzXCcoSb1HXIIw9AjWBOWmZ3QbMUDTXKq8MPPW8h0II9mBYkP4F_IXkvD-XG64NuFFDPKvez1YGGx\",\n // 'atype': 1,\n // 'ext': {\n // 'linkType': 2,\n // 'pba': 'q6Vzr0jEebxzmvS8aSrVQJFoJnOxs9gKBKCOLw1y6ew='\n // }\n // }]\n // }]\n // });\n\n // it('should send gpid if specified', () => {\n // const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n // expect(request.data).to.have.property('user');\n // expect(request.data.user).to.have.property('eids');\n // });\n // });\n });\n });\n\n describe('Response', () => {\n it('should return response in prebid format', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(response, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('ad');\n expect(bidResponse[0]).to.have.property('dealId');\n expect(bidResponse[0]).to.have.property('dealChannel');\n expect(bidResponse[0]).to.have.property('currency');\n expect(bidResponse[0]).to.have.property('meta');\n expect(bidResponse[0]).to.have.property('mediaType');\n expect(bidResponse[0]).to.have.property('referrer');\n expect(bidResponse[0]).to.have.property('cpm');\n expect(bidResponse[0]).to.have.property('pm_seat');\n expect(bidResponse[0]).to.have.property('pm_dspid');\n expect(bidResponse[0]).to.have.property('sspID');\n expect(bidResponse[0]).to.have.property('partnerImpId');\n expect(bidResponse[0]).to.have.property('requestId');\n expect(bidResponse[0]).to.have.property('width');\n expect(bidResponse[0]).to.have.property('height');\n expect(bidResponse[0]).to.have.property('ttl');\n expect(bidResponse[0]).to.have.property('netRevenue');\n expect(bidResponse[0]).to.have.property('creativeId');\n });\n\n it('should return response and match with input values', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(response, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('currency').to.be.equal('USD');\n expect(bidResponse[0]).to.have.property('dealId').to.equal('PUBDEAL1');\n expect(bidResponse[0]).to.have.property('dealChannel').to.equal('PMPG');\n expect(bidResponse[0]).to.have.property('meta').to.be.an('object');\n expect(bidResponse[0]).to.have.property('mediaType').to.equal('banner');\n expect(bidResponse[0]).to.have.property('cpm').to.equal(1.3);\n expect(bidResponse[0]).to.have.property('pm_seat').to.equal('seat-id');\n expect(bidResponse[0]).to.have.property('pm_dspid').to.equal(123);\n expect(bidResponse[0]).to.have.property('sspID').to.equal('74858439-49D7-4169-BA5D-44A046315B2F');\n expect(bidResponse[0]).to.have.property('requestId').to.equal('3736271c3c4b27');\n expect(bidResponse[0]).to.have.property('width').to.equal(300);\n expect(bidResponse[0]).to.have.property('height').to.equal(250);\n expect(bidResponse[0]).to.have.property('ttl').to.equal(360);\n });\n\n describe('DEALID', () => {\n it('should set deal_channel to PMP if ext.deal_channel is missing', () => {\n const copiedResponse = utils.deepClone(response);\n delete copiedResponse.body.seatbid[0].bid[0].ext.deal_channel;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('dealChannel').to.equal('PMP');\n });\n\n it('should exclude deal_id and deal_channel from the response if the deal id is missing', () => {\n const copiedResponse = utils.deepClone(response);\n delete copiedResponse.body.seatbid[0].bid[0].ext.deal_channel;\n delete copiedResponse.body.seatbid[0].bid[0].dealid;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.not.have.property('dealId');\n expect(bidResponse[0]).to.not.have.property('dealChannel');\n });\n });\n if (FEATURES.VIDEO) {\n describe('VIDEO', () => {\n beforeEach(() => {\n const videoBidderRequest = utils.deepClone(bidderRequest);\n delete videoBidderRequest.bids[0].mediaTypes.banner;\n videoBidderRequest.bids[0].mediaTypes.video = {\n skip: 1,\n mimes: ['video/mp4', 'video/x-flv'],\n minduration: 5,\n maxduration: 30,\n startdelay: 5,\n playbackmethod: [1, 3],\n api: [1, 2],\n protocols: [2, 3],\n battr: [13, 14],\n linearity: 1,\n placement: 2,\n plcmt: 1,\n context: 'outstream',\n minbitrate: 10,\n maxbitrate: 10,\n playerSize: [640, 480]\n }\n });\n\n it('should generate video response', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n const bidResponse = spec.interpretResponse(videoResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('vastXml');\n expect(bidResponse[0]).to.have.property('mediaType');\n expect(bidResponse[0]).to.have.property('playerHeight');\n expect(bidResponse[0]).to.have.property('playerWidth');\n });\n\n it('should generate video response with input values', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n const bidResponse = spec.interpretResponse(videoResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('mediaType').to.equal('video');\n expect(bidResponse[0]).to.have.property('playerHeight').to.equal(480);\n expect(bidResponse[0]).to.have.property('playerWidth').to.equal(640);\n });\n });\n }\n\n describe('CATEGORY IDS', () => {\n it('should set primaryCatId and secondaryCatIds in meta when bid.cat is present', () => {\n const copiedResponse = utils.deepClone(response);\n copiedResponse.body.seatbid[0].bid[0].cat = ['IAB1', 'IAB2', 'IAB3'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0].meta).to.have.property('primaryCatId').to.equal('IAB1');\n expect(bidResponse[0].meta).to.have.property('secondaryCatIds').to.deep.equal(['IAB1', 'IAB2', 'IAB3']);\n });\n\n it('should not set primaryCatId and secondaryCatIds in meta when bid.cat is null', () => {\n const copiedResponse = utils.deepClone(response);\n copiedResponse.body.seatbid[0].bid[0].cat = null;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0].meta).to.not.have.property('primaryCatId');\n expect(bidResponse[0].meta).to.not.have.property('secondaryCatIds');\n });\n\n it('should not set primaryCatId and secondaryCatIds in meta when bid.cat is undefined', () => {\n const copiedResponse = utils.deepClone(response);\n delete copiedResponse.body.seatbid[0].bid[0].cat;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0].meta).to.not.have.property('primaryCatId');\n expect(bidResponse[0].meta).to.not.have.property('secondaryCatIds');\n });\n });\n\n describe('getUserSyncs', () => {\n beforeEach(() => {\n spec.buildRequests(validBidRequests, bidderRequest);\n });\n\n afterEach(() => {\n config.resetConfig();\n });\n\n it('returns iframe sync url with consent parameters and COPPA', () => {\n config.setConfig({ coppa: true });\n const gdprConsent = { gdprApplies: true, consentString: 'CONSENT' };\n const uspConsent = '1YNN';\n const gppConsent = { gppString: 'GPP', applicableSections: [2, 4] };\n const [sync] = spec.getUserSyncs({ iframeEnabled: true }, [], gdprConsent, uspConsent, gppConsent);\n expect(sync).to.deep.equal({\n type: 'iframe',\n url: 'https://ads.pubmatic.com/AdServer/js/user_sync.html?kdntuid=1&p=5670&gdpr=1&gdpr_consent=CONSENT&us_privacy=1YNN&gpp=GPP&gpp_sid=2%2C4&coppa=1'\n });\n });\n\n it('returns image sync url when no consent data provided', () => {\n const [sync] = spec.getUserSyncs({}, []);\n expect(sync).to.deep.equal({\n type: 'image',\n url: 'https://image8.pubmatic.com/AdServer/ImgSync?p=5670'\n });\n });\n });\n })\n})\n\ndescribe('addViewabilityToImp', () => {\n let imp;\n let element;\n let originalGetElementById;\n let originalVisibilityState;\n let sandbox;\n\n beforeEach(() => {\n sandbox = sinon.createSandbox();\n imp = { ext: {} };\n element = document.createElement('div');\n element.id = 'Div1';\n document.body.appendChild(element);\n originalGetElementById = document.getElementById;\n sandbox.stub(document, 'getElementById').callsFake(id => id === 'Div1' ? element : null);\n originalVisibilityState = document.visibilityState;\n Object.defineProperty(document, 'visibilityState', {\n value: 'visible',\n configurable: true\n });\n sandbox.stub(utils, 'getWindowTop').returns(window);\n });\n\n afterEach(() => {\n sandbox.restore();\n document.body.removeChild(element);\n Object.defineProperty(document, 'visibilityState', {\n value: originalVisibilityState,\n configurable: true\n });\n document.getElementById = originalGetElementById;\n });\n\n it('should add viewability to imp.ext when measurable', () => {\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.have.property('viewability');\n });\n\n it('should set viewability amount to \"na\" if not measurable (e.g., in iframe)', () => {\n const isIframeStub = sandbox.stub(utils, 'inIframe').returns(true);\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.have.property('viewability');\n expect(imp.ext.viewability.amount).to.equal('na');\n });\n\n it('should not add viewability if element is not found', () => {\n document.getElementById.restore();\n sandbox.stub(document, 'getElementById').returns(null);\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.not.have.property('viewability');\n });\n\n it('should create imp.ext if not present', () => {\n imp = {};\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.exist;\n expect(imp.ext).to.have.property('viewability');\n });\n});\n"],"mappings":"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","ignoreList":[]}