prebid.js 7.43.0 → 7.45.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 (503) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/acuityAdsBidAdapter.js +1 -1
  4. package/dist/adagioBidAdapter.js +1 -1
  5. package/dist/adbookpspBidAdapter.js +1 -1
  6. package/dist/adgenerationBidAdapter.js +1 -1
  7. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  8. package/dist/admixerIdSystem.js +1 -1
  9. package/dist/adnuntiusBidAdapter.js +1 -1
  10. package/dist/adqueryBidAdapter.js +1 -1
  11. package/dist/adqueryIdSystem.js +1 -1
  12. package/dist/adrelevantisBidAdapter.js +1 -1
  13. package/dist/adrinoBidAdapter.js +1 -1
  14. package/dist/adriverIdSystem.js +1 -1
  15. package/dist/adsinteractiveBidAdapter.js +1 -0
  16. package/dist/adtrgtmeBidAdapter.js +1 -1
  17. package/dist/adxcgBidAdapter.js +1 -1
  18. package/dist/adyoulikeBidAdapter.js +1 -1
  19. package/dist/aidemBidAdapter.js +1 -1
  20. package/dist/airgridRtdProvider.js +1 -1
  21. package/dist/ajaBidAdapter.js +1 -1
  22. package/dist/akamaiDapRtdProvider.js +1 -1
  23. package/dist/amxBidAdapter.js +1 -1
  24. package/dist/amxIdSystem.js +1 -1
  25. package/dist/appierAnalyticsAdapter.js +1 -1
  26. package/dist/appnexusBidAdapter.js +1 -1
  27. package/dist/appushBidAdapter.js +1 -1
  28. package/dist/apstreamBidAdapter.js +1 -1
  29. package/dist/asoBidAdapter.js +1 -1
  30. package/dist/atsAnalyticsAdapter.js +1 -1
  31. package/dist/audiencerunBidAdapter.js +1 -1
  32. package/dist/axonixBidAdapter.js +1 -1
  33. package/dist/bedigitechBidAdapter.js +1 -0
  34. package/dist/beyondmediaBidAdapter.js +1 -1
  35. package/dist/bidglassBidAdapter.js +1 -1
  36. package/dist/big-richmediaBidAdapter.js +1 -1
  37. package/dist/bluebillywigBidAdapter.js +1 -1
  38. package/dist/blueconicRtdProvider.js +1 -1
  39. package/dist/braveBidAdapter.js +1 -1
  40. package/dist/bridgewellBidAdapter.js +1 -1
  41. package/dist/brightMountainMediaBidAdapter.js +1 -1
  42. package/dist/brightcomBidAdapter.js +1 -1
  43. package/dist/brightcomSSPBidAdapter.js +1 -1
  44. package/dist/browsiRtdProvider.js +1 -1
  45. package/dist/byDataAnalyticsAdapter.js +1 -1
  46. package/dist/carodaBidAdapter.js +1 -1
  47. package/dist/chtnwBidAdapter.js +1 -1
  48. package/dist/coinzillaBidAdapter.js +1 -1
  49. package/dist/compassBidAdapter.js +1 -1
  50. package/dist/concertBidAdapter.js +1 -1
  51. package/dist/connectIdSystem.js +1 -1
  52. package/dist/connectadBidAdapter.js +1 -1
  53. package/dist/consumableBidAdapter.js +1 -1
  54. package/dist/contentexchangeBidAdapter.js +1 -1
  55. package/dist/conversantAnalyticsAdapter.js +1 -1
  56. package/dist/conversantBidAdapter.js +1 -1
  57. package/dist/craftBidAdapter.js +1 -1
  58. package/dist/criteoBidAdapter.js +1 -1
  59. package/dist/criteoIdSystem.js +1 -1
  60. package/dist/cwireBidAdapter.js +1 -1
  61. package/dist/czechAdIdSystem.js +1 -1
  62. package/dist/dacIdSystem.js +1 -1
  63. package/dist/deepintentDpesIdSystem.js +1 -1
  64. package/dist/dependencies.json +15 -0
  65. package/dist/discoveryBidAdapter.js +1 -1
  66. package/dist/domainOverrideToRootDomain.js +1 -0
  67. package/dist/dspxBidAdapter.js +1 -1
  68. package/dist/eplanningBidAdapter.js +1 -1
  69. package/dist/feedadBidAdapter.js +1 -1
  70. package/dist/finativeBidAdapter.js +1 -1
  71. package/dist/fintezaAnalyticsAdapter.js +1 -1
  72. package/dist/fledgeForGpt.js +1 -1
  73. package/dist/freewheel-sspBidAdapter.js +1 -1
  74. package/dist/ftrackIdSystem.js +1 -1
  75. package/dist/gdprEnforcement.js +1 -1
  76. package/dist/glimpseBidAdapter.js +1 -1
  77. package/dist/globalsunBidAdapter.js +1 -1
  78. package/dist/gmosspBidAdapter.js +1 -1
  79. package/dist/gnetBidAdapter.js +1 -1
  80. package/dist/goldbachBidAdapter.js +1 -1
  81. package/dist/gravitoIdSystem.js +1 -1
  82. package/dist/greenbidsAnalyticsAdapter.js +1 -0
  83. package/dist/gridBidAdapter.js +1 -1
  84. package/dist/gridNMBidAdapter.js +1 -1
  85. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  86. package/dist/growthCodeIdSystem.js +1 -1
  87. package/dist/gumgumBidAdapter.js +1 -1
  88. package/dist/h12mediaBidAdapter.js +1 -1
  89. package/dist/hadronAnalyticsAdapter.js +1 -1
  90. package/dist/hadronIdSystem.js +1 -1
  91. package/dist/hadronRtdProvider.js +1 -1
  92. package/dist/id5IdSystem.js +1 -1
  93. package/dist/idWardRtdProvider.js +1 -1
  94. package/dist/identityLinkIdSystem.js +1 -1
  95. package/dist/idxIdSystem.js +1 -1
  96. package/dist/imRtdProvider.js +1 -1
  97. package/dist/impactifyBidAdapter.js +1 -1
  98. package/dist/improvedigitalBidAdapter.js +1 -1
  99. package/dist/imuIdSystem.js +1 -1
  100. package/dist/inmarBidAdapter.js +1 -1
  101. package/dist/insticatorBidAdapter.js +1 -1
  102. package/dist/intentIqIdSystem.js +1 -1
  103. package/dist/invibesBidAdapter.js +1 -1
  104. package/dist/iqzoneBidAdapter.js +1 -1
  105. package/dist/ivsBidAdapter.js +1 -0
  106. package/dist/ixBidAdapter.js +1 -1
  107. package/dist/jixieBidAdapter.js +1 -1
  108. package/dist/justpremiumBidAdapter.js +1 -1
  109. package/dist/jwplayerVideoProvider.js +1 -1
  110. package/dist/kargoBidAdapter.js +1 -1
  111. package/dist/koblerBidAdapter.js +1 -1
  112. package/dist/konduitAnalyticsAdapter.js +1 -1
  113. package/dist/kueezBidAdapter.js +1 -1
  114. package/dist/kueezRtbBidAdapter.js +1 -1
  115. package/dist/kulturemediaBidAdapter.js +1 -1
  116. package/dist/lassoBidAdapter.js +1 -1
  117. package/dist/lifestreetBidAdapter.js +1 -1
  118. package/dist/liveIntentIdSystem.js +1 -1
  119. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  120. package/dist/logicadBidAdapter.js +1 -1
  121. package/dist/loglyliftBidAdapter.js +1 -1
  122. package/dist/lotamePanoramaIdSystem.js +1 -1
  123. package/dist/luponmediaBidAdapter.js +1 -1
  124. package/dist/magniteAnalyticsAdapter.js +1 -1
  125. package/dist/malltvAnalyticsAdapter.js +1 -1
  126. package/dist/marsmediaBidAdapter.js +1 -1
  127. package/dist/mathildeadsBidAdapter.js +1 -1
  128. package/dist/mediafuseBidAdapter.js +1 -1
  129. package/dist/mediagoBidAdapter.js +1 -1
  130. package/dist/mediakeysBidAdapter.js +1 -1
  131. package/dist/medianetBidAdapter.js +1 -1
  132. package/dist/mediasquareBidAdapter.js +1 -1
  133. package/dist/merkleIdSystem.js +1 -1
  134. package/dist/mgidBidAdapter.js +1 -1
  135. package/dist/mgidRtdProvider.js +1 -1
  136. package/dist/minutemediaBidAdapter.js +1 -1
  137. package/dist/minutemediaplusBidAdapter.js +1 -1
  138. package/dist/mwOpenLinkIdSystem.js +1 -1
  139. package/dist/naveggIdSystem.js +1 -1
  140. package/dist/nexx360BidAdapter.js +1 -1
  141. package/dist/nobidBidAdapter.js +1 -1
  142. package/dist/not-for-prod/prebid.js +232 -227
  143. package/dist/novatiqIdSystem.js +1 -1
  144. package/dist/oguryBidAdapter.js +1 -1
  145. package/dist/onetagBidAdapter.js +1 -1
  146. package/dist/onomagicBidAdapter.js +1 -1
  147. package/dist/ooloAnalyticsAdapter.js +1 -1
  148. package/dist/openxBidAdapter.js +1 -1
  149. package/dist/openxOrtbBidAdapter.js +1 -1
  150. package/dist/operaadsBidAdapter.js +1 -1
  151. package/dist/optidigitalBidAdapter.js +1 -1
  152. package/dist/ortbConverter.js +1 -1
  153. package/dist/outbrainBidAdapter.js +1 -1
  154. package/dist/parrableIdSystem.js +1 -1
  155. package/dist/permutiveRtdProvider.js +1 -1
  156. package/dist/pixfutureBidAdapter.js +1 -1
  157. package/dist/prebid-core.js +1 -1
  158. package/dist/prebidServerBidAdapter.js +1 -1
  159. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  160. package/dist/pubCommonId.js +1 -1
  161. package/dist/publinkIdSystem.js +1 -1
  162. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  163. package/dist/pubmaticBidAdapter.js +1 -1
  164. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  165. package/dist/pubxBidAdapter.js +1 -1
  166. package/dist/pxyzBidAdapter.js +1 -1
  167. package/dist/quantcastBidAdapter.js +1 -1
  168. package/dist/quantcastIdSystem.js +1 -1
  169. package/dist/readpeakBidAdapter.js +1 -1
  170. package/dist/realvuAnalyticsAdapter.js +1 -1
  171. package/dist/relaidoBidAdapter.js +1 -1
  172. package/dist/rhythmoneBidAdapter.js +1 -1
  173. package/dist/riseBidAdapter.js +1 -1
  174. package/dist/roxotAnalyticsAdapter.js +1 -1
  175. package/dist/rtbhouseBidAdapter.js +1 -1
  176. package/dist/rtdModule.js +1 -1
  177. package/dist/rubiconAnalyticsAdapter.js +1 -1
  178. package/dist/rubiconBidAdapter.js +1 -1
  179. package/dist/seedingAllianceBidAdapter.js +1 -1
  180. package/dist/seedtagBidAdapter.js +1 -1
  181. package/dist/sharedIdSystem.js +1 -1
  182. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  183. package/dist/sharethroughBidAdapter.js +1 -1
  184. package/dist/shinezBidAdapter.js +1 -1
  185. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  186. package/dist/smaatoBidAdapter.js +1 -1
  187. package/dist/smartadserverBidAdapter.js +1 -1
  188. package/dist/smarthubBidAdapter.js +1 -1
  189. package/dist/smartxBidAdapter.js +1 -1
  190. package/dist/smilewantedBidAdapter.js +1 -1
  191. package/dist/sonobiBidAdapter.js +1 -1
  192. package/dist/sovrnAnalyticsAdapter.js +1 -1
  193. package/dist/sovrnBidAdapter.js +1 -1
  194. package/dist/sspBCBidAdapter.js +1 -1
  195. package/dist/staqAnalyticsAdapter.js +1 -1
  196. package/dist/stroeerCoreBidAdapter.js +1 -1
  197. package/dist/stvBidAdapter.js +1 -1
  198. package/dist/sublimeBidAdapter.js +1 -1
  199. package/dist/synacormediaBidAdapter.js +1 -1
  200. package/dist/taboolaBidAdapter.js +1 -1
  201. package/dist/targetVideoBidAdapter.js +1 -1
  202. package/dist/teadsBidAdapter.js +1 -1
  203. package/dist/teadsIdSystem.js +1 -1
  204. package/dist/trionBidAdapter.js +1 -1
  205. package/dist/tripleliftBidAdapter.js +1 -1
  206. package/dist/truereachBidAdapter.js +1 -1
  207. package/dist/trustpidSystem.js +1 -1
  208. package/dist/ttdBidAdapter.js +1 -1
  209. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  210. package/dist/uid2IdSystem.js +1 -1
  211. package/dist/underdogmediaBidAdapter.js +1 -1
  212. package/dist/undertoneBidAdapter.js +1 -1
  213. package/dist/userId.js +1 -1
  214. package/dist/validationFpdModule.js +1 -1
  215. package/dist/vidazooBidAdapter.js +1 -1
  216. package/dist/videobyteBidAdapter.js +1 -1
  217. package/dist/videoheroesBidAdapter.js +1 -1
  218. package/dist/vidoomyBidAdapter.js +1 -1
  219. package/dist/visiblemeasuresBidAdapter.js +1 -1
  220. package/dist/visxBidAdapter.js +1 -1
  221. package/dist/vrtcalBidAdapter.js +1 -1
  222. package/dist/vuukleBidAdapter.js +1 -1
  223. package/dist/weboramaRtdProvider.js +1 -1
  224. package/dist/widespaceBidAdapter.js +1 -1
  225. package/dist/winrBidAdapter.js +1 -1
  226. package/dist/yahoosspBidAdapter.js +1 -1
  227. package/dist/yieldmoBidAdapter.js +1 -1
  228. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  229. package/dist/yieldoneBidAdapter.js +1 -1
  230. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  231. package/dist/zeotapIdPlusIdSystem.js +1 -1
  232. package/dist/zeta_global_sspBidAdapter.js +1 -1
  233. package/libraries/domainOverrideToRootDomain/index.js +39 -0
  234. package/libraries/ortbConverter/converter.js +3 -2
  235. package/modules/33acrossIdSystem.js +5 -2
  236. package/modules/acuityAdsBidAdapter.js +1 -1
  237. package/modules/adagioBidAdapter.js +3 -4
  238. package/modules/adkernelAdnAnalyticsAdapter.js +4 -2
  239. package/modules/admixerIdSystem.js +4 -2
  240. package/modules/adnuntiusBidAdapter.js +1 -1
  241. package/modules/adqueryBidAdapter.js +1 -1
  242. package/modules/adqueryIdSystem.js +2 -1
  243. package/modules/adrinoBidAdapter.js +24 -16
  244. package/modules/adriverIdSystem.js +3 -2
  245. package/modules/adsinteractiveBidAdapter.js +144 -0
  246. package/modules/adsinteractiveBidAdapter.md +31 -0
  247. package/modules/adyoulikeBidAdapter.js +2 -3
  248. package/modules/aidemBidAdapter.js +5 -0
  249. package/modules/airgridRtdProvider.js +4 -2
  250. package/modules/ajaBidAdapter.js +38 -16
  251. package/modules/akamaiDapRtdProvider.js +2 -1
  252. package/modules/amxBidAdapter.js +12 -10
  253. package/modules/amxIdSystem.js +23 -20
  254. package/modules/amxIdSystem.md +7 -7
  255. package/modules/appnexusBidAdapter.js +8 -8
  256. package/modules/appushBidAdapter.js +1 -1
  257. package/modules/apstreamBidAdapter.js +1 -1
  258. package/modules/atsAnalyticsAdapter.js +4 -2
  259. package/modules/audiencerunBidAdapter.js +9 -10
  260. package/modules/bedigitechBidAdapter.js +67 -0
  261. package/modules/bedigitechBidAdapter.md +32 -0
  262. package/modules/beyondmediaBidAdapter.js +1 -1
  263. package/modules/bluebillywigBidAdapter.js +2 -4
  264. package/modules/blueconicRtdProvider.js +2 -1
  265. package/modules/braveBidAdapter.js +1 -1
  266. package/modules/brightcomBidAdapter.js +1 -2
  267. package/modules/brightcomSSPBidAdapter.js +1 -2
  268. package/modules/browsiRtdProvider.js +4 -2
  269. package/modules/byDataAnalyticsAdapter.js +6 -3
  270. package/modules/coinzillaBidAdapter.js +1 -2
  271. package/modules/compassBidAdapter.js +1 -1
  272. package/modules/concertBidAdapter.js +14 -7
  273. package/modules/connectIdSystem.js +96 -21
  274. package/modules/connectIdSystem.md +6 -5
  275. package/modules/connectadBidAdapter.js +2 -4
  276. package/modules/contentexchangeBidAdapter.js +1 -1
  277. package/modules/craftBidAdapter.js +29 -24
  278. package/modules/criteoBidAdapter.js +4 -2
  279. package/modules/criteoIdSystem.js +6 -2
  280. package/modules/czechAdIdSystem.js +3 -2
  281. package/modules/dacIdSystem.js +4 -3
  282. package/modules/deepintentDpesIdSystem.js +3 -2
  283. package/modules/discoveryBidAdapter.js +1 -1
  284. package/modules/dspxBidAdapter.js +223 -15
  285. package/modules/fintezaAnalyticsAdapter.js +5 -3
  286. package/modules/fledgeForGpt.js +54 -6
  287. package/modules/freewheel-sspBidAdapter.js +8 -0
  288. package/modules/ftrackIdSystem.js +6 -6
  289. package/modules/gdprEnforcement.js +56 -68
  290. package/modules/glimpseBidAdapter.js +2 -6
  291. package/modules/globalsunBidAdapter.js +1 -1
  292. package/modules/gnetBidAdapter.js +1 -2
  293. package/modules/gravitoIdSystem.js +5 -3
  294. package/modules/greenbidsAnalyticsAdapter.js +181 -0
  295. package/modules/greenbidsAnalyticsAdapter.md +23 -0
  296. package/modules/gridBidAdapter.js +14 -8
  297. package/modules/gridNMBidAdapter.js +1 -1
  298. package/modules/growthCodeAnalyticsAdapter.js +3 -2
  299. package/modules/growthCodeIdSystem.js +21 -17
  300. package/modules/gumgumBidAdapter.js +8 -18
  301. package/modules/hadronAnalyticsAdapter.js +5 -3
  302. package/modules/hadronIdSystem.js +3 -1
  303. package/modules/hadronRtdProvider.js +4 -2
  304. package/modules/id5IdSystem.js +4 -2
  305. package/modules/idWardRtdProvider.js +2 -1
  306. package/modules/identityLinkIdSystem.js +5 -2
  307. package/modules/idxIdSystem.js +3 -2
  308. package/modules/imRtdProvider.js +3 -1
  309. package/modules/impactifyBidAdapter.js +2 -4
  310. package/modules/imuIdSystem.js +6 -3
  311. package/modules/insticatorBidAdapter.js +1 -1
  312. package/modules/intentIqIdSystem.js +3 -2
  313. package/modules/invibesBidAdapter.js +1 -1
  314. package/modules/iqzoneBidAdapter.js +1 -1
  315. package/modules/ivsBidAdapter.js +85 -0
  316. package/modules/ivsBidAdapter.md +34 -0
  317. package/modules/ixBidAdapter.js +43 -106
  318. package/modules/jixieBidAdapter.js +3 -6
  319. package/modules/jwplayerVideoProvider.js +25 -32
  320. package/modules/kargoBidAdapter.js +1 -1
  321. package/modules/koblerBidAdapter.js +1 -2
  322. package/modules/kueezBidAdapter.js +1 -1
  323. package/modules/kueezRtbBidAdapter.js +1 -1
  324. package/modules/liveIntentIdSystem.js +11 -2
  325. package/modules/lotamePanoramaIdSystem.js +3 -2
  326. package/modules/luponmediaBidAdapter.js +1 -1
  327. package/modules/magniteAnalyticsAdapter.js +101 -9
  328. package/modules/mathildeadsBidAdapter.js +1 -1
  329. package/modules/mediafuseBidAdapter.js +1 -1
  330. package/modules/mediagoBidAdapter.js +1 -1
  331. package/modules/mediakeysBidAdapter.js +2 -3
  332. package/modules/medianetBidAdapter.js +1 -1
  333. package/modules/merkleIdSystem.js +2 -1
  334. package/modules/mgidBidAdapter.js +179 -27
  335. package/modules/mgidRtdProvider.js +3 -1
  336. package/modules/minutemediaBidAdapter.js +1 -1
  337. package/modules/minutemediaplusBidAdapter.js +1 -1
  338. package/modules/mwOpenLinkIdSystem.js +3 -2
  339. package/modules/naveggIdSystem.js +3 -2
  340. package/modules/nexx360BidAdapter.js +0 -1
  341. package/modules/nobidBidAdapter.js +1 -1
  342. package/modules/novatiqIdSystem.js +6 -3
  343. package/modules/oguryBidAdapter.js +3 -2
  344. package/modules/onetagBidAdapter.js +1 -1
  345. package/modules/onomagicBidAdapter.js +1 -2
  346. package/modules/openxBidAdapter.js +192 -563
  347. package/modules/openxBidAdapter.md +22 -20
  348. package/modules/openxOrtbBidAdapter.js +24 -10
  349. package/modules/openxOrtbBidAdapter.md +11 -8
  350. package/modules/operaadsBidAdapter.js +1 -1
  351. package/modules/parrableIdSystem.js +4 -2
  352. package/modules/permutiveRtdProvider.js +2 -1
  353. package/modules/prebidServerBidAdapter/index.js +9 -3
  354. package/modules/prebidServerBidAdapter/ortbConverter.js +12 -2
  355. package/modules/prebidmanagerAnalyticsAdapter.js +3 -2
  356. package/modules/pubCommonId.js +6 -3
  357. package/modules/publinkIdSystem.js +2 -1
  358. package/modules/pubmaticAnalyticsAdapter.js +12 -1
  359. package/modules/pubmaticBidAdapter.js +193 -223
  360. package/modules/pubwiseAnalyticsAdapter.js +5 -3
  361. package/modules/pubxBidAdapter.js +5 -2
  362. package/modules/quantcastBidAdapter.js +1 -1
  363. package/modules/quantcastIdSystem.js +5 -3
  364. package/modules/realvuAnalyticsAdapter.js +6 -3
  365. package/modules/riseBidAdapter.js +1 -1
  366. package/modules/roxotAnalyticsAdapter.js +5 -2
  367. package/modules/rtbhouseBidAdapter.js +5 -3
  368. package/modules/rtdModule/index.js +3 -0
  369. package/modules/rubiconAnalyticsAdapter.js +3 -2
  370. package/modules/rubiconBidAdapter.js +1 -0
  371. package/modules/sharedIdSystem.js +16 -36
  372. package/modules/sharethroughBidAdapter.js +2 -3
  373. package/modules/shinezBidAdapter.js +1 -1
  374. package/modules/sigmoidAnalyticsAdapter.js +4 -2
  375. package/modules/smartadserverBidAdapter.js +2 -3
  376. package/modules/smarthubBidAdapter.js +1 -1
  377. package/modules/sovrnBidAdapter.js +2 -3
  378. package/modules/staqAnalyticsAdapter.js +5 -3
  379. package/modules/stroeerCoreBidAdapter.js +3 -2
  380. package/modules/synacormediaBidAdapter.js +1 -3
  381. package/modules/taboolaBidAdapter.js +4 -2
  382. package/modules/teadsBidAdapter.js +1 -1
  383. package/modules/teadsIdSystem.js +2 -1
  384. package/modules/tripleliftBidAdapter.js +1 -1
  385. package/modules/truereachBidAdapter.js +1 -2
  386. package/modules/trustpidSystem.js +3 -2
  387. package/modules/ttdBidAdapter.js +11 -5
  388. package/modules/uid2IdSystem.js +3 -2
  389. package/modules/undertoneBidAdapter.js +1 -0
  390. package/modules/userId/eids.js +18 -0
  391. package/modules/userId/eids.md +16 -0
  392. package/modules/userId/index.js +5 -2
  393. package/modules/validationFpdModule/index.js +3 -2
  394. package/modules/vidazooBidAdapter.js +14 -5
  395. package/modules/videoheroesBidAdapter.js +1 -1
  396. package/modules/vidoomyBidAdapter.js +51 -2
  397. package/modules/visiblemeasuresBidAdapter.js +1 -1
  398. package/modules/vrtcalBidAdapter.js +1 -1
  399. package/modules/weboramaRtdProvider.js +3 -1
  400. package/modules/yieldmoBidAdapter.js +2 -3
  401. package/modules/yieldoneBidAdapter.js +1 -1
  402. package/modules/yuktamediaAnalyticsAdapter.js +4 -2
  403. package/modules/zeotapIdPlusIdSystem.js +3 -2
  404. package/modules/zeta_global_sspBidAdapter.js +3 -0
  405. package/package.json +1 -1
  406. package/plugins/eslint/validateImports.js +13 -14
  407. package/plugins/pbjsGlobals.js +3 -1
  408. package/src/Renderer.js +2 -1
  409. package/src/activities/modules.js +5 -0
  410. package/src/adapterManager.js +4 -8
  411. package/src/adapters/bidderFactory.js +30 -16
  412. package/src/consentHandler.js +42 -0
  413. package/src/native.js +5 -1
  414. package/src/refererDetection.js +39 -21
  415. package/src/secureCreatives.js +2 -2
  416. package/src/storageManager.js +33 -47
  417. package/src/userSync.js +7 -4
  418. package/test/spec/auctionmanager_spec.js +2 -2
  419. package/test/spec/libraries/domainOverrideToRootDomain/index_spec.js +77 -0
  420. package/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  421. package/test/spec/modules/acuityAdsBidAdapter_spec.js +2 -1
  422. package/test/spec/modules/adagioBidAdapter_spec.js +11 -17
  423. package/test/spec/modules/admixerIdSystem_spec.js +0 -3
  424. package/test/spec/modules/adnuntiusBidAdapter_spec.js +6 -6
  425. package/test/spec/modules/adrinoBidAdapter_spec.js +65 -34
  426. package/test/spec/modules/adsinteractiveBidAdapter_spec.js +207 -0
  427. package/test/spec/modules/adyoulikeBidAdapter_spec.js +13 -11
  428. package/test/spec/modules/aidemBidAdapter_spec.js +72 -8
  429. package/test/spec/modules/amxBidAdapter_spec.js +4 -1
  430. package/test/spec/modules/amxIdSystem_spec.js +13 -26
  431. package/test/spec/modules/appushBidAdapter_spec.js +2 -1
  432. package/test/spec/modules/atsAnalyticsAdapter_spec.js +2 -2
  433. package/test/spec/modules/audiencerunBidAdapter_spec.js +8 -11
  434. package/test/spec/modules/bedigitechBidAdapter_spec.js +145 -0
  435. package/test/spec/modules/beyondmediaBidAdapter_spec.js +2 -1
  436. package/test/spec/modules/bluebillywigBidAdapter_spec.js +1 -3
  437. package/test/spec/modules/compassBidAdapter_spec.js +2 -1
  438. package/test/spec/modules/concertBidAdapter_spec.js +3 -8
  439. package/test/spec/modules/connectIdSystem_spec.js +420 -242
  440. package/test/spec/modules/connectadBidAdapter_spec.js +11 -3
  441. package/test/spec/modules/contentexchangeBidAdapter_spec.js +2 -1
  442. package/test/spec/modules/criteoBidAdapter_spec.js +29 -0
  443. package/test/spec/modules/criteoIdSystem_spec.js +38 -0
  444. package/test/spec/modules/datablocksBidAdapter_spec.js +0 -1
  445. package/test/spec/modules/dspxBidAdapter_spec.js +184 -13
  446. package/test/spec/modules/eids_spec.js +30 -0
  447. package/test/spec/modules/fledge_spec.js +173 -2
  448. package/test/spec/modules/freewheel-sspBidAdapter_spec.js +37 -0
  449. package/test/spec/modules/gdprEnforcement_spec.js +134 -164
  450. package/test/spec/modules/globalsunBidAdapter_spec.js +2 -1
  451. package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +418 -0
  452. package/test/spec/modules/gridBidAdapter_spec.js +9 -5
  453. package/test/spec/modules/growthCodeIdSystem_spec.js +2 -1
  454. package/test/spec/modules/id5IdSystem_spec.js +41 -4
  455. package/test/spec/modules/identityLinkIdSystem_spec.js +2 -2
  456. package/test/spec/modules/improvedigitalBidAdapter_spec.js +10 -3
  457. package/test/spec/modules/iqzoneBidAdapter_spec.js +2 -1
  458. package/test/spec/modules/ivsBidAdapter_spec.js +197 -0
  459. package/test/spec/modules/ixBidAdapter_spec.js +84 -71
  460. package/test/spec/modules/jixieBidAdapter_spec.js +42 -60
  461. package/test/spec/modules/koblerBidAdapter_spec.js +0 -20
  462. package/test/spec/modules/liveIntentIdSystem_spec.js +10 -0
  463. package/test/spec/modules/luponmediaBidAdapter_spec.js +1 -1
  464. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +129 -1
  465. package/test/spec/modules/mathildeadsBidAdapter_spec.js +2 -1
  466. package/test/spec/modules/mediakeysBidAdapter_spec.js +12 -16
  467. package/test/spec/modules/mgidBidAdapter_spec.js +184 -36
  468. package/test/spec/modules/oguryBidAdapter_spec.js +19 -4
  469. package/test/spec/modules/openxBidAdapter_spec.js +1157 -1936
  470. package/test/spec/modules/openxOrtbBidAdapter_spec.js +108 -50
  471. package/test/spec/modules/prebidServerBidAdapter_spec.js +68 -2
  472. package/test/spec/modules/publinkIdSystem_spec.js +3 -2
  473. package/test/spec/modules/pubmaticBidAdapter_spec.js +67 -10
  474. package/test/spec/modules/pubxBidAdapter_spec.js +10 -2
  475. package/test/spec/modules/realTimeDataModule_spec.js +22 -0
  476. package/test/spec/modules/realvuAnalyticsAdapter_spec.js +0 -1
  477. package/test/spec/modules/relaidoBidAdapter_spec.js +5 -5
  478. package/test/spec/modules/rubiconBidAdapter_spec.js +2 -1
  479. package/test/spec/modules/sharedIdSystem_spec.js +0 -46
  480. package/test/spec/modules/sharethroughBidAdapter_spec.js +99 -22
  481. package/test/spec/modules/smartadserverBidAdapter_spec.js +74 -12
  482. package/test/spec/modules/smarthubBidAdapter_spec.js +2 -1
  483. package/test/spec/modules/sovrnBidAdapter_spec.js +25 -6
  484. package/test/spec/modules/stroeerCoreBidAdapter_spec.js +13 -18
  485. package/test/spec/modules/synacormediaBidAdapter_spec.js +0 -26
  486. package/test/spec/modules/taboolaBidAdapter_spec.js +101 -0
  487. package/test/spec/modules/ttdBidAdapter_spec.js +25 -7
  488. package/test/spec/modules/userId_spec.js +68 -0
  489. package/test/spec/modules/vidazooBidAdapter_spec.js +13 -0
  490. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +17 -4
  491. package/test/spec/modules/vidoomyBidAdapter_spec.js +68 -0
  492. package/test/spec/modules/visiblemeasuresBidAdapter_spec.js +2 -1
  493. package/test/spec/modules/vrtcalBidAdapter_spec.js +3 -2
  494. package/test/spec/modules/yieldmoBidAdapter_spec.js +18 -2
  495. package/test/spec/modules/zeotapIdPlusIdSystem_spec.js +3 -2
  496. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +8 -0
  497. package/test/spec/refererDetection_spec.js +56 -1
  498. package/test/spec/renderer_spec.js +1 -2
  499. package/test/spec/unit/core/adapterManager_spec.js +21 -58
  500. package/test/spec/unit/core/bidderFactory_spec.js +28 -10
  501. package/test/spec/unit/core/consentHandler_spec.js +29 -1
  502. package/test/spec/unit/core/storageManager_spec.js +31 -21
  503. package/test/spec/userSync_spec.js +2 -1
@@ -1,12 +1,17 @@
1
- import { deepAccess } from '../src/utils.js';
1
+ import {deepAccess, getBidIdParameter, logError, logMessage, logWarn, isFn} from '../src/utils.js';
2
2
  import {config} from '../src/config.js';
3
3
  import {registerBidder} from '../src/adapters/bidderFactory.js';
4
- import { BANNER, VIDEO } from '../src/mediaTypes.js';
4
+ import {BANNER, VIDEO} from '../src/mediaTypes.js';
5
+ import {Renderer} from '../src/Renderer.js';
6
+ import {includes} from '../src/polyfill.js';
5
7
 
6
8
  const BIDDER_CODE = 'dspx';
7
9
  const ENDPOINT_URL = 'https://buyer.dspx.tv/request/';
8
10
  const ENDPOINT_URL_DEV = 'https://dcbuyer.dspx.tv/request/';
9
11
  const GVLID = 602;
12
+ const VIDEO_ORTB_PARAMS = ['mimes', 'minduration', 'maxduration', 'protocols', 'w', 'h', 'startdelay', 'placement', 'linearity', 'skip', 'skipmin',
13
+ 'skipafter', 'sequence', 'battr', 'maxextended', 'minbitrate', 'maxbitrate', 'boxingallowed', 'playbackmethod', 'playbackend', 'delivery', 'pos', 'companionad',
14
+ 'api', 'companiontype', 'ext'];
10
15
 
11
16
  export const spec = {
12
17
  code: BIDDER_CODE,
@@ -17,24 +22,34 @@ export const spec = {
17
22
  return !!(bid.params.placement);
18
23
  },
19
24
  buildRequests: function(validBidRequests, bidderRequest) {
25
+ let payload = {};
20
26
  return validBidRequests.map(bidRequest => {
21
27
  const params = bidRequest.params;
22
28
 
23
- const placementId = params.placement;
24
29
  const rnd = Math.floor(Math.random() * 99999999999);
25
30
  const referrer = bidderRequest.refererInfo.page;
26
31
  const bidId = bidRequest.bidId;
27
- const isDev = params.devMode || false;
28
32
  const pbcode = bidRequest.adUnitCode || false; // div id
29
33
  const auctionId = bidRequest.auctionId || false;
34
+ const isDev = params.devMode || false;
30
35
 
31
36
  let endpoint = isDev ? ENDPOINT_URL_DEV : ENDPOINT_URL;
37
+ let placementId = params.placement;
38
+
39
+ // dev config
40
+ if (isDev && params.dev) {
41
+ endpoint = params.dev.endpoint || endpoint;
42
+ placementId = params.dev.placement || placementId;
43
+ if (params.dev.pfilter !== undefined) {
44
+ params.pfilter = params.dev.pfilter;
45
+ }
46
+ }
32
47
 
33
48
  let mediaTypesInfo = getMediaTypesInfo(bidRequest);
34
49
  let type = isBannerRequest(bidRequest) ? BANNER : VIDEO;
35
50
  let sizes = mediaTypesInfo[type];
36
51
 
37
- let payload = {
52
+ payload = {
38
53
  _f: 'auto',
39
54
  alternative: 'prebid_js',
40
55
  inventory_item_id: placementId,
@@ -47,10 +62,6 @@ export const spec = {
47
62
  pbver: '$prebid.version$'
48
63
  };
49
64
 
50
- if (mediaTypesInfo[VIDEO] !== undefined && params.vastFormat !== undefined) {
51
- payload.vf = params.vastFormat;
52
- }
53
-
54
65
  if (params.pfilter !== undefined) {
55
66
  payload.pfilter = params.pfilter;
56
67
  }
@@ -79,11 +90,49 @@ export const spec = {
79
90
  payload.prebidDevMode = 1;
80
91
  }
81
92
 
82
- if (bidRequest.userId && bidRequest.userId.netId) {
83
- payload.did_netid = bidRequest.userId.netId;
93
+ // fill userId params
94
+ if (bidRequest.userId) {
95
+ if (bidRequest.userId.netId) {
96
+ payload.did_netid = bidRequest.userId.netId;
97
+ }
98
+ if (bidRequest.userId.id5id) {
99
+ payload.did_id5 = bidRequest.userId.id5id.uid || '0';
100
+ if (bidRequest.userId.id5id.ext.linkType !== undefined) {
101
+ payload.did_id5_linktype = bidRequest.userId.id5id.ext.linkType;
102
+ }
103
+ }
104
+ let uId2 = deepAccess(bidRequest, 'userId.uid2.id');
105
+ if (uId2) {
106
+ payload.did_uid2 = uId2;
107
+ }
108
+ let sharedId = deepAccess(bidRequest, 'userId.sharedid.id');
109
+ if (sharedId) {
110
+ payload.did_sharedid = sharedId;
111
+ }
112
+ let pubcId = deepAccess(bidRequest, 'userId.pubcid');
113
+ if (pubcId) {
114
+ payload.did_pubcid = pubcId;
115
+ }
116
+ let crumbsPubcid = deepAccess(bidRequest, 'crumbs.pubcid');
117
+ if (crumbsPubcid) {
118
+ payload.did_cpubcid = crumbsPubcid;
119
+ }
120
+ }
121
+
122
+ if (bidRequest.schain) {
123
+ payload.schain = bidRequest.schain;
84
124
  }
85
- if (bidRequest.userId && bidRequest.userId.uid2) {
86
- payload.did_uid2 = bidRequest.userId.uid2;
125
+
126
+ if (payload.pfilter === undefined || !payload.pfilter.floorprice) {
127
+ let bidFloor = getBidFloor(bidRequest);
128
+ if (bidFloor > 0) {
129
+ if (payload.pfilter !== undefined) {
130
+ payload.pfilter.floorprice = bidFloor;
131
+ } else {
132
+ payload.pfilter = { 'floorprice': bidFloor };
133
+ }
134
+ // payload.bidFloor = bidFloor;
135
+ }
87
136
  }
88
137
 
89
138
  if (auctionId) {
@@ -94,6 +143,17 @@ export const spec = {
94
143
  }
95
144
 
96
145
  payload.media_types = convertMediaInfoForRequest(mediaTypesInfo);
146
+ if (mediaTypesInfo[VIDEO] !== undefined) {
147
+ payload.vctx = getVideoContext(bidRequest);
148
+ if (params.vastFormat !== undefined) {
149
+ payload.vf = params.vastFormat;
150
+ }
151
+ payload.vpl = {};
152
+ let videoParams = deepAccess(bidRequest, 'mediaTypes.video');
153
+ Object.keys(videoParams)
154
+ .filter(key => includes(VIDEO_ORTB_PARAMS, key))
155
+ .forEach(key => payload.vpl[key] = videoParams[key]);
156
+ }
97
157
 
98
158
  return {
99
159
  method: 'GET',
@@ -103,6 +163,8 @@ export const spec = {
103
163
  });
104
164
  },
105
165
  interpretResponse: function(serverResponse, bidRequest) {
166
+ logMessage('DSPx: serverResponse', serverResponse);
167
+ logMessage('DSPx: bidRequest', bidRequest);
106
168
  const bidResponses = [];
107
169
  const response = serverResponse.body;
108
170
  const crid = response.crid || 0;
@@ -126,13 +188,33 @@ export const spec = {
126
188
  advertiserDomains: response.adomain || []
127
189
  }
128
190
  };
191
+
192
+ if (response.vastUrl) {
193
+ bidResponse.vastUrl = response.vastUrl;
194
+ bidResponse.mediaType = 'video';
195
+ }
129
196
  if (response.vastXml) {
130
197
  bidResponse.vastXml = response.vastXml;
131
198
  bidResponse.mediaType = 'video';
132
- } else {
199
+ }
200
+ if (response.renderer) {
201
+ bidResponse.renderer = newRenderer(bidRequest, response);
202
+ }
203
+
204
+ if (response.videoCacheKey) {
205
+ bidResponse.videoCacheKey = response.videoCacheKey;
206
+ }
207
+
208
+ if (response.adTag) {
133
209
  bidResponse.ad = response.adTag;
134
210
  }
135
211
 
212
+ if (response.bid_appendix) {
213
+ Object.keys(response.bid_appendix).forEach(fieldName => {
214
+ bidResponse[fieldName] = response.bid_appendix[fieldName];
215
+ });
216
+ }
217
+
136
218
  bidResponses.push(bidResponse);
137
219
  }
138
220
  return bidResponses;
@@ -217,12 +299,22 @@ function isVideoRequest(bid) {
217
299
  * Get video sizes
218
300
  *
219
301
  * @param {BidRequest} bid - Bid request generated from ad slots
220
- * @returns {object} True if it's a video bid
302
+ * @returns {object}
221
303
  */
222
304
  function getVideoSizes(bid) {
223
305
  return parseSizes(deepAccess(bid, 'mediaTypes.video.playerSize') || bid.sizes);
224
306
  }
225
307
 
308
+ /**
309
+ * Get video context
310
+ *
311
+ * @param {BidRequest} bid - Bid request generated from ad slots
312
+ * @returns {object}
313
+ */
314
+ function getVideoContext(bid) {
315
+ return deepAccess(bid, 'mediaTypes.video.context') || 'unknown';
316
+ }
317
+
226
318
  /**
227
319
  * Get banner sizes
228
320
  *
@@ -296,4 +388,120 @@ function getMediaTypesInfo(bid) {
296
388
  return mediaTypesInfo;
297
389
  }
298
390
 
391
+ /**
392
+ * Get Bid Floor
393
+ * @param bid
394
+ * @returns {number|*}
395
+ */
396
+ function getBidFloor(bid) {
397
+ if (!isFn(bid.getFloor)) {
398
+ return deepAccess(bid, 'params.bidfloor', 0);
399
+ }
400
+
401
+ try {
402
+ const bidFloor = bid.getFloor({
403
+ currency: 'EUR',
404
+ mediaType: '*',
405
+ size: '*',
406
+ });
407
+ return bidFloor.floor;
408
+ } catch (_) {
409
+ return 0
410
+ }
411
+ }
412
+
413
+ /**
414
+ * Create a new renderer
415
+ *
416
+ * @param bidRequest
417
+ * @param response
418
+ * @returns {Renderer}
419
+ */
420
+ function newRenderer(bidRequest, response) {
421
+ logMessage('DSPx: newRenderer', bidRequest, response);
422
+ const renderer = Renderer.install({
423
+ id: response.renderer.id || response.bid_id,
424
+ url: (bidRequest.params && bidRequest.params.rendererUrl) || response.renderer.url,
425
+ config: response.renderer.options || deepAccess(bidRequest, 'renderer.options'),
426
+ loaded: false
427
+ });
428
+
429
+ try {
430
+ renderer.setRender(outstreamRender);
431
+ } catch (err) {
432
+ logWarn('Prebid Error calling setRender on renderer', err);
433
+ }
434
+ return renderer;
435
+ }
436
+
437
+ /**
438
+ * Outstream Render Function
439
+ *
440
+ * @param bid
441
+ */
442
+ function outstreamRender(bid) {
443
+ logMessage('DSPx: outstreamRender bid:', bid);
444
+ const embedCode = createOutstreamEmbedCode(bid);
445
+ try {
446
+ const inIframe = getBidIdParameter('iframe', bid.renderer.config);
447
+ if (inIframe && window.document.getElementById(inIframe).nodeName === 'IFRAME') {
448
+ const iframe = window.document.getElementById(inIframe);
449
+ let framedoc = iframe.contentDocument || (iframe.contentWindow && iframe.contentWindow.document);
450
+ framedoc.body.appendChild(embedCode);
451
+ if (typeof window.dspxRender === 'function') {
452
+ window.dspxRender(bid);
453
+ } else {
454
+ logError('[dspx][renderer] Error: dspxRender function is not found');
455
+ }
456
+ return;
457
+ }
458
+
459
+ const slot = getBidIdParameter('slot', bid.renderer.config) || bid.adUnitCode;
460
+ if (slot && window.document.getElementById(slot)) {
461
+ window.document.getElementById(slot).appendChild(embedCode);
462
+ if (typeof window.dspxRender === 'function') {
463
+ window.dspxRender(bid);
464
+ } else {
465
+ logError('[dspx][renderer] Error: dspxRender function is not found');
466
+ }
467
+ } else if (slot) {
468
+ logError('[dspx][renderer] Error: slot not found');
469
+ }
470
+ } catch (err) {
471
+ logError('[dspx][renderer] Error:' + err.message)
472
+ }
473
+ }
474
+
475
+ /**
476
+ * create Outstream Embed Code Node
477
+ *
478
+ * @param bid
479
+ * @returns {DocumentFragment}
480
+ */
481
+ function createOutstreamEmbedCode(bid) {
482
+ const fragment = window.document.createDocumentFragment();
483
+ let div = window.document.createElement('div');
484
+ div.innerHTML = deepAccess(bid, 'renderer.config.code', '');
485
+ fragment.appendChild(div);
486
+
487
+ // run scripts
488
+ var scripts = div.getElementsByTagName('script');
489
+ var scriptsClone = [];
490
+ for (var idx = 0; idx < scripts.length; idx++) {
491
+ scriptsClone.push(scripts[idx]);
492
+ }
493
+ for (var i = 0; i < scriptsClone.length; i++) {
494
+ var currentScript = scriptsClone[i];
495
+ var s = document.createElement('script');
496
+ for (var j = 0; j < currentScript.attributes.length; j++) {
497
+ var a = currentScript.attributes[j];
498
+ s.setAttribute(a.name, a.value);
499
+ }
500
+ s.appendChild(document.createTextNode(currentScript.innerHTML));
501
+ currentScript.parentNode.replaceChild(s, currentScript);
502
+ }
503
+
504
+ return fragment;
505
+ }
506
+
299
507
  registerBidder(spec);
@@ -2,10 +2,12 @@ import { parseUrl, logError } from '../src/utils.js';
2
2
  import { ajax } from '../src/ajax.js';
3
3
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
- import { getStorageManager } from '../src/storageManager.js';
5
+ import {getStorageManager} from '../src/storageManager.js';
6
6
  import CONSTANTS from '../src/constants.json';
7
+ import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
7
8
 
8
- const storage = getStorageManager();
9
+ const MODULE_CODE = 'finteza';
10
+ const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
9
11
 
10
12
  const ANALYTICS_TYPE = 'endpoint';
11
13
  const FINTEZA_HOST = 'https://content.mql5.com/tr';
@@ -439,7 +441,7 @@ fntzAnalyticsAdapter.enableAnalytics = function (config) {
439
441
 
440
442
  adapterManager.registerAnalyticsAdapter({
441
443
  adapter: fntzAnalyticsAdapter,
442
- code: 'finteza'
444
+ code: MODULE_CODE,
443
445
  });
444
446
 
445
447
  export default fntzAnalyticsAdapter;
@@ -5,6 +5,7 @@
5
5
  import { config } from '../src/config.js';
6
6
  import { getHook } from '../src/hook.js';
7
7
  import { getGptSlotForAdUnitCode, logInfo, logWarn } from '../src/utils.js';
8
+ import {IMP, PBS, registerOrtbProcessor, RESPONSE} from '../src/pbjsORTB.js';
8
9
 
9
10
  const MODULE = 'fledgeForGpt'
10
11
 
@@ -21,22 +22,20 @@ export function init(cfg) {
21
22
  getHook('addComponentAuction').before(addComponentAuctionHook);
22
23
  isEnabled = true;
23
24
  }
24
- logInfo(MODULE, `isEnabled`, cfg);
25
+ logInfo(`${MODULE} enabled (browser ${isFledgeSupported() ? 'supports' : 'does NOT support'} fledge)`, cfg);
25
26
  } else {
26
27
  if (isEnabled) {
27
28
  getHook('addComponentAuction').getHooks({hook: addComponentAuctionHook}).remove();
28
29
  isEnabled = false;
29
30
  }
30
- logInfo(MODULE, `isDisabled`, cfg);
31
+ logInfo(`${MODULE} disabled`, cfg);
31
32
  }
32
33
  }
33
34
 
34
- export function addComponentAuctionHook(next, bidRequest, componentAuctionConfig) {
35
+ export function addComponentAuctionHook(next, adUnitCode, componentAuctionConfig) {
35
36
  const seller = componentAuctionConfig.seller;
36
- const adUnitCode = bidRequest.adUnitCode;
37
37
  const gptSlot = getGptSlotForAdUnitCode(adUnitCode);
38
38
  if (gptSlot && gptSlot.setConfig) {
39
- delete componentAuctionConfig.bidId;
40
39
  gptSlot.setConfig({
41
40
  componentAuction: [{
42
41
  configKey: seller,
@@ -48,5 +47,54 @@ export function addComponentAuctionHook(next, bidRequest, componentAuctionConfig
48
47
  logWarn(MODULE, `unable to register component auction config for: ${adUnitCode} x ${seller}.`);
49
48
  }
50
49
 
51
- next(bidRequest, componentAuctionConfig);
50
+ next(adUnitCode, componentAuctionConfig);
52
51
  }
52
+
53
+ function isFledgeSupported() {
54
+ return 'runAdAuction' in navigator && 'joinAdInterestGroup' in navigator
55
+ }
56
+
57
+ export function markForFledge(next, bidderRequests) {
58
+ if (isFledgeSupported()) {
59
+ bidderRequests.forEach((req) => {
60
+ req.fledgeEnabled = config.runWithBidder(req.bidderCode, () => config.getConfig('fledgeEnabled'))
61
+ })
62
+ }
63
+ next(bidderRequests);
64
+ }
65
+ getHook('makeBidRequests').after(markForFledge);
66
+
67
+ export function setImpExtAe(imp, bidRequest, context) {
68
+ if (!context.bidderRequest.fledgeEnabled) {
69
+ delete imp.ext?.ae;
70
+ }
71
+ }
72
+ registerOrtbProcessor({type: IMP, name: 'impExtAe', fn: setImpExtAe});
73
+
74
+ // to make it easier to share code between the PBS adapter and adapters whose backend is PBS, break up
75
+ // fledge response processing in two steps: first aggregate all the auction configs by their imp...
76
+
77
+ export function parseExtPrebidFledge(response, ortbResponse, context) {
78
+ (ortbResponse.ext?.prebid?.fledge?.auctionconfigs || []).forEach((cfg) => {
79
+ const impCtx = context.impContext[cfg.impid];
80
+ if (!impCtx?.imp?.ext?.ae) {
81
+ logWarn('Received fledge auction configuration for an impression that was not in the request or did not ask for it', cfg, impCtx?.imp);
82
+ } else {
83
+ impCtx.fledgeConfigs = impCtx.fledgeConfigs || [];
84
+ impCtx.fledgeConfigs.push(cfg);
85
+ }
86
+ })
87
+ }
88
+ registerOrtbProcessor({type: RESPONSE, name: 'extPrebidFledge', fn: parseExtPrebidFledge, dialects: [PBS]});
89
+
90
+ // ...then, make them available in the adapter's response. This is the client side version, for which the
91
+ // interpretResponse api is {fledgeAuctionConfigs: [{bidId, config}]}
92
+
93
+ export function setResponseFledgeConfigs(response, ortbResponse, context) {
94
+ const configs = Object.values(context.impContext)
95
+ .flatMap((impCtx) => (impCtx.fledgeConfigs || []).map(cfg => ({bidId: impCtx.bidRequest.bidId, config: cfg.config})));
96
+ if (configs.length > 0) {
97
+ response.fledgeAuctionConfigs = configs;
98
+ }
99
+ }
100
+ registerOrtbProcessor({type: RESPONSE, name: 'fledgeAuctionConfigs', priority: -1, fn: setResponseFledgeConfigs, dialects: [PBS]})
@@ -424,6 +424,14 @@ export const spec = {
424
424
  requestParams.playerSize = playerSize[0] + 'x' + playerSize[1];
425
425
  }
426
426
 
427
+ // Add video context and placement in requestParams
428
+ if (currentBidRequest.mediaTypes.video) {
429
+ var videoContext = currentBidRequest.mediaTypes.video.context ? currentBidRequest.mediaTypes.video.context : 'instream';
430
+ var videoPlacement = currentBidRequest.mediaTypes.video.placement ? currentBidRequest.mediaTypes.video.placement : 1;
431
+ requestParams.video_context = videoContext;
432
+ requestParams.video_placement = videoPlacement;
433
+ }
434
+
427
435
  return {
428
436
  method: 'GET',
429
437
  url: FREEWHEEL_ADSSETUP,
@@ -6,19 +6,19 @@
6
6
  */
7
7
 
8
8
  import * as utils from '../src/utils.js';
9
- import { submodule } from '../src/hook.js';
10
- import { getStorageManager } from '../src/storageManager.js';
11
- import { uspDataHandler } from '../src/adapterManager.js';
12
- import { loadExternalScript } from '../src/adloader.js';
9
+ import {submodule} from '../src/hook.js';
10
+ import {getStorageManager} from '../src/storageManager.js';
11
+ import {uspDataHandler} from '../src/adapterManager.js';
12
+ import {loadExternalScript} from '../src/adloader.js';
13
+ import {MODULE_TYPE_UID} from '../src/activities/modules.js';
13
14
 
14
15
  const MODULE_NAME = 'ftrackId';
15
16
  const LOG_PREFIX = 'FTRACK - ';
16
17
  const LOCAL_STORAGE_EXP_DAYS = 30;
17
- const VENDOR_ID = null;
18
18
  const LOCAL_STORAGE = 'html5';
19
19
  const FTRACK_STORAGE_NAME = 'ftrackId';
20
20
  const FTRACK_PRIVACY_STORAGE_NAME = `${FTRACK_STORAGE_NAME}_privacy`;
21
- const storage = getStorageManager({gvlid: VENDOR_ID, moduleName: MODULE_NAME});
21
+ const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
22
22
 
23
23
  let consentInfo = {
24
24
  gdpr: {