prebid.js 7.42.0 → 7.43.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 (571) hide show
  1. package/.eslintrc.js +0 -1
  2. package/dist/1plusXRtdProvider.js +1 -1
  3. package/dist/33acrossBidAdapter.js +1 -1
  4. package/dist/33acrossIdSystem.js +1 -1
  5. package/dist/a4gBidAdapter.js +1 -1
  6. package/dist/aaxBlockmeterRtdProvider.js +1 -1
  7. package/dist/ablidaBidAdapter.js +1 -1
  8. package/dist/acuityAdsBidAdapter.js +1 -1
  9. package/dist/adWMGAnalyticsAdapter.js +1 -1
  10. package/dist/adWMGBidAdapter.js +1 -1
  11. package/dist/adagioAnalyticsAdapter.js +1 -1
  12. package/dist/adagioBidAdapter.js +1 -1
  13. package/dist/adbookpspBidAdapter.js +1 -1
  14. package/dist/addefendBidAdapter.js +1 -1
  15. package/dist/adfBidAdapter.js +1 -1
  16. package/dist/adgenerationBidAdapter.js +1 -1
  17. package/dist/adhashBidAdapter.js +1 -1
  18. package/dist/adheseBidAdapter.js +1 -1
  19. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  20. package/dist/adkernelAdnBidAdapter.js +1 -1
  21. package/dist/adkernelBidAdapter.js +1 -1
  22. package/dist/adlooxAdServerVideo.js +1 -1
  23. package/dist/adlooxAnalyticsAdapter.js +1 -1
  24. package/dist/adlooxRtdProvider.js +1 -1
  25. package/dist/admanBidAdapter.js +1 -1
  26. package/dist/admaruBidAdapter.js +1 -1
  27. package/dist/admaticBidAdapter.js +1 -1
  28. package/dist/admediaBidAdapter.js +1 -1
  29. package/dist/admixerBidAdapter.js +1 -1
  30. package/dist/admixerIdSystem.js +1 -1
  31. package/dist/adnowBidAdapter.js +1 -1
  32. package/dist/adnuntiusBidAdapter.js +1 -1
  33. package/dist/adnuntiusRtdProvider.js +1 -1
  34. package/dist/adoceanBidAdapter.js +1 -1
  35. package/dist/adomikAnalyticsAdapter.js +1 -1
  36. package/dist/adotBidAdapter.js +1 -1
  37. package/dist/adpartnerBidAdapter.js +1 -1
  38. package/dist/adplusBidAdapter.js +1 -1
  39. package/dist/adpod.js +1 -1
  40. package/dist/adponeBidAdapter.js +1 -1
  41. package/dist/adprimeBidAdapter.js +1 -1
  42. package/dist/adqueryBidAdapter.js +1 -1
  43. package/dist/adqueryIdSystem.js +1 -1
  44. package/dist/adrelevantisBidAdapter.js +1 -1
  45. package/dist/adrinoBidAdapter.js +1 -1
  46. package/dist/adriverBidAdapter.js +1 -1
  47. package/dist/adriverIdSystem.js +1 -1
  48. package/dist/adtargetBidAdapter.js +1 -1
  49. package/dist/adtelligentBidAdapter.js +1 -1
  50. package/dist/adtelligentIdSystem.js +1 -1
  51. package/dist/adtrgtmeBidAdapter.js +1 -1
  52. package/dist/adtrueBidAdapter.js +1 -1
  53. package/dist/aduptechBidAdapter.js +1 -1
  54. package/dist/advangelistsBidAdapter.js +1 -1
  55. package/dist/adxcgAnalyticsAdapter.js +1 -1
  56. package/dist/adxcgBidAdapter.js +1 -1
  57. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  58. package/dist/adyoulikeBidAdapter.js +1 -1
  59. package/dist/afpBidAdapter.js +1 -1
  60. package/dist/aidemBidAdapter.js +1 -1
  61. package/dist/airgridRtdProvider.js +1 -1
  62. package/dist/ajaBidAdapter.js +1 -1
  63. package/dist/akamaiDapRtdProvider.js +1 -1
  64. package/dist/alkimiBidAdapter.js +1 -1
  65. package/dist/amxBidAdapter.js +1 -1
  66. package/dist/amxIdSystem.js +1 -1
  67. package/dist/aniviewBidAdapter.js +1 -1
  68. package/dist/aolBidAdapter.js +1 -1
  69. package/dist/apacdexBidAdapter.js +1 -1
  70. package/dist/appierAnalyticsAdapter.js +1 -1
  71. package/dist/appierBidAdapter.js +1 -1
  72. package/dist/appnexusBidAdapter.js +1 -1
  73. package/dist/appushBidAdapter.js +1 -1
  74. package/dist/apstreamBidAdapter.js +1 -1
  75. package/dist/arcspanRtdProvider.js +1 -1
  76. package/dist/asealBidAdapter.js +1 -1
  77. package/dist/asoBidAdapter.js +1 -1
  78. package/dist/astraoneBidAdapter.js +1 -1
  79. package/dist/atsAnalyticsAdapter.js +1 -1
  80. package/dist/audiencerunBidAdapter.js +1 -1
  81. package/dist/automatadBidAdapter.js +1 -1
  82. package/dist/axonixBidAdapter.js +1 -1
  83. package/dist/beachfrontBidAdapter.js +1 -1
  84. package/dist/beopBidAdapter.js +1 -1
  85. package/dist/betweenBidAdapter.js +1 -1
  86. package/dist/beyondmediaBidAdapter.js +1 -1
  87. package/dist/bidViewability.js +1 -1
  88. package/dist/bidViewabilityIO.js +1 -1
  89. package/dist/biddoBidAdapter.js +1 -1
  90. package/dist/bidglassBidAdapter.js +1 -1
  91. package/dist/bidscubeBidAdapter.js +1 -1
  92. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  93. package/dist/big-richmediaBidAdapter.js +1 -1
  94. package/dist/bizzclickBidAdapter.js +1 -1
  95. package/dist/bliinkBidAdapter.js +1 -1
  96. package/dist/bluebillywigBidAdapter.js +1 -1
  97. package/dist/blueconicRtdProvider.js +1 -1
  98. package/dist/boldwinBidAdapter.js +1 -1
  99. package/dist/brandmetricsRtdProvider.js +1 -1
  100. package/dist/braveBidAdapter.js +1 -1
  101. package/dist/bridgewellBidAdapter.js +1 -1
  102. package/dist/brightMountainMediaBidAdapter.js +1 -1
  103. package/dist/brightcomBidAdapter.js +1 -1
  104. package/dist/brightcomSSPBidAdapter.js +1 -1
  105. package/dist/britepoolIdSystem.js +1 -1
  106. package/dist/browsiBidAdapter.js +1 -1
  107. package/dist/browsiRtdProvider.js +1 -1
  108. package/dist/bucksenseBidAdapter.js +1 -1
  109. package/dist/buzzoolaBidAdapter.js +1 -1
  110. package/dist/byDataAnalyticsAdapter.js +1 -1
  111. package/dist/c1xBidAdapter.js +1 -1
  112. package/dist/captifyRtdProvider.js +1 -1
  113. package/dist/carodaBidAdapter.js +1 -1
  114. package/dist/categoryTranslation.js +1 -1
  115. package/dist/ccxBidAdapter.js +1 -1
  116. package/dist/chtnwBidAdapter.js +1 -1
  117. package/dist/cleanioRtdProvider.js +1 -1
  118. package/dist/cleanmedianetBidAdapter.js +1 -1
  119. package/dist/clickforceBidAdapter.js +1 -1
  120. package/dist/codefuelBidAdapter.js +1 -1
  121. package/dist/cointrafficBidAdapter.js +1 -1
  122. package/dist/coinzillaBidAdapter.js +1 -1
  123. package/dist/colossussspBidAdapter.js +1 -1
  124. package/dist/compassBidAdapter.js +1 -1
  125. package/dist/concertAnalyticsAdapter.js +1 -1
  126. package/dist/concertBidAdapter.js +1 -1
  127. package/dist/confiantRtdProvider.js +1 -1
  128. package/dist/connectIdSystem.js +1 -1
  129. package/dist/connectadBidAdapter.js +1 -1
  130. package/dist/consentManagement.js +1 -1
  131. package/dist/consentManagementGpp.js +1 -1
  132. package/dist/consentManagementUsp.js +1 -1
  133. package/dist/consumableBidAdapter.js +1 -1
  134. package/dist/contentexchangeBidAdapter.js +1 -1
  135. package/dist/conversantAnalyticsAdapter.js +1 -1
  136. package/dist/conversantBidAdapter.js +1 -1
  137. package/dist/cpmstarBidAdapter.js +1 -1
  138. package/dist/craftBidAdapter.js +1 -1
  139. package/dist/criteoBidAdapter.js +1 -1
  140. package/dist/criteoIdSystem.js +1 -1
  141. package/dist/currency.js +1 -1
  142. package/dist/cwireBidAdapter.js +1 -1
  143. package/dist/czechAdIdSystem.js +1 -1
  144. package/dist/dacIdSystem.js +1 -1
  145. package/dist/dailyhuntBidAdapter.js +1 -1
  146. package/dist/dataControllerModule.js +1 -1
  147. package/dist/datablocksAnalyticsAdapter.js +1 -1
  148. package/dist/datablocksBidAdapter.js +1 -1
  149. package/dist/datawrkzBidAdapter.js +1 -1
  150. package/dist/dchain.js +1 -1
  151. package/dist/debugging-standalone.js +1 -1
  152. package/dist/debugging.js +1 -1
  153. package/dist/deepintentBidAdapter.js +1 -1
  154. package/dist/deepintentDpesIdSystem.js +1 -1
  155. package/dist/deltaprojectsBidAdapter.js +1 -1
  156. package/dist/dfpAdServerVideo.js +1 -1
  157. package/dist/dgkeywordRtdProvider.js +1 -1
  158. package/dist/dianomiBidAdapter.js +1 -1
  159. package/dist/discoveryBidAdapter.js +1 -1
  160. package/dist/displayioBidAdapter.js +1 -1
  161. package/dist/distroscaleBidAdapter.js +1 -1
  162. package/dist/dmdIdSystem.js +1 -1
  163. package/dist/docereeBidAdapter.js +1 -1
  164. package/dist/dspxBidAdapter.js +1 -1
  165. package/dist/e_volutionBidAdapter.js +1 -1
  166. package/dist/ebdrBidAdapter.js +1 -1
  167. package/dist/emx_digitalBidAdapter.js +1 -1
  168. package/dist/engageyaBidAdapter.js +1 -1
  169. package/dist/enrichmentFpdModule.js +1 -1
  170. package/dist/eplanningAnalyticsAdapter.js +1 -1
  171. package/dist/eplanningBidAdapter.js +1 -1
  172. package/dist/etargetBidAdapter.js +1 -1
  173. package/dist/express.js +1 -1
  174. package/dist/fabrickIdSystem.js +1 -1
  175. package/dist/feedadBidAdapter.js +1 -1
  176. package/dist/finativeBidAdapter.js +1 -1
  177. package/dist/fintezaAnalyticsAdapter.js +1 -1
  178. package/dist/fledgeForGpt.js +1 -1
  179. package/dist/fluctBidAdapter.js +1 -1
  180. package/dist/fpdModule.js +1 -1
  181. package/dist/freeWheelAdserverVideo.js +1 -1
  182. package/dist/freewheel-sspBidAdapter.js +1 -1
  183. package/dist/ftrackIdSystem.js +1 -1
  184. package/dist/gammaBidAdapter.js +1 -1
  185. package/dist/gamoshiBidAdapter.js +1 -1
  186. package/dist/gdprEnforcement.js +1 -1
  187. package/dist/genericAnalyticsAdapter.js +1 -1
  188. package/dist/geoedgeRtdProvider.js +1 -1
  189. package/dist/getintentBidAdapter.js +1 -1
  190. package/dist/gjirafaBidAdapter.js +1 -1
  191. package/dist/glimpseBidAdapter.js +1 -1
  192. package/dist/globalsunBidAdapter.js +1 -1
  193. package/dist/glomexBidAdapter.js +1 -1
  194. package/dist/gmosspBidAdapter.js +1 -1
  195. package/dist/gnetBidAdapter.js +1 -1
  196. package/dist/goldbachBidAdapter.js +1 -1
  197. package/dist/googleAnalyticsAdapter.js +1 -1
  198. package/dist/gothamadsBidAdapter.js +1 -1
  199. package/dist/gptPreAuction.js +1 -1
  200. package/dist/gravitoIdSystem.js +1 -1
  201. package/dist/gridBidAdapter.js +1 -1
  202. package/dist/gridNMBidAdapter.js +1 -1
  203. package/dist/growadvertisingBidAdapter.js +1 -1
  204. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  205. package/dist/growthCodeIdSystem.js +1 -1
  206. package/dist/gumgumBidAdapter.js +1 -1
  207. package/dist/h12mediaBidAdapter.js +1 -1
  208. package/dist/hadronAnalyticsAdapter.js +1 -1
  209. package/dist/hadronIdSystem.js +1 -1
  210. package/dist/hadronRtdProvider.js +1 -1
  211. package/dist/holidBidAdapter.js +1 -1
  212. package/dist/hybridBidAdapter.js +1 -1
  213. package/dist/iasRtdProvider.js +1 -1
  214. package/dist/id5AnalyticsAdapter.js +1 -1
  215. package/dist/id5IdSystem.js +1 -1
  216. package/dist/idImportLibrary.js +1 -1
  217. package/dist/idWardRtdProvider.js +1 -1
  218. package/dist/identityLinkIdSystem.js +1 -1
  219. package/dist/idxBidAdapter.js +1 -1
  220. package/dist/idxIdSystem.js +1 -1
  221. package/dist/imRtdProvider.js +1 -1
  222. package/dist/impactifyBidAdapter.js +1 -1
  223. package/dist/improvedigitalBidAdapter.js +1 -1
  224. package/dist/imuIdSystem.js +1 -1
  225. package/dist/incrxBidAdapter.js +1 -1
  226. package/dist/inmarBidAdapter.js +1 -1
  227. package/dist/innityBidAdapter.js +1 -1
  228. package/dist/inskinBidAdapter.js +1 -1
  229. package/dist/insticatorBidAdapter.js +1 -1
  230. package/dist/instreamTracking.js +1 -1
  231. package/dist/integr8BidAdapter.js +1 -1
  232. package/dist/intentIqIdSystem.js +1 -1
  233. package/dist/interactiveOffersBidAdapter.js +1 -1
  234. package/dist/intersectionRtdProvider.js +1 -1
  235. package/dist/invamiaBidAdapter.js +1 -1
  236. package/dist/invibesBidAdapter.js +1 -1
  237. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  238. package/dist/ipromBidAdapter.js +1 -1
  239. package/dist/iqmBidAdapter.js +1 -1
  240. package/dist/iqzoneBidAdapter.js +1 -1
  241. package/dist/ixBidAdapter.js +1 -1
  242. package/dist/jixieBidAdapter.js +1 -1
  243. package/dist/justIdSystem.js +1 -1
  244. package/dist/justpremiumBidAdapter.js +1 -1
  245. package/dist/jwplayerRtdProvider.js +1 -1
  246. package/dist/jwplayerVideoProvider.js +1 -1
  247. package/dist/kargoAnalyticsAdapter.js +1 -1
  248. package/dist/kargoBidAdapter.js +1 -1
  249. package/dist/kinessoIdSystem.js +1 -1
  250. package/dist/koblerBidAdapter.js +1 -1
  251. package/dist/konduitAnalyticsAdapter.js +1 -1
  252. package/dist/konduitWrapper.js +1 -1
  253. package/dist/krushmediaBidAdapter.js +1 -1
  254. package/dist/kubientBidAdapter.js +1 -1
  255. package/dist/kueezBidAdapter.js +1 -1
  256. package/dist/kueezRtbBidAdapter.js +1 -1
  257. package/dist/kulturemediaBidAdapter.js +1 -1
  258. package/dist/lassoBidAdapter.js +1 -1
  259. package/dist/lemmaDigitalBidAdapter.js +1 -1
  260. package/dist/lifestreetBidAdapter.js +1 -1
  261. package/dist/limelightDigitalBidAdapter.js +1 -1
  262. package/dist/liveIntentAnalyticsAdapter.js +1 -1
  263. package/dist/liveIntentIdSystem.js +1 -1
  264. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  265. package/dist/livewrappedBidAdapter.js +1 -1
  266. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  267. package/dist/lkqdBidAdapter.js +1 -1
  268. package/dist/lockerdomeBidAdapter.js +1 -1
  269. package/dist/loganBidAdapter.js +1 -1
  270. package/dist/logicadBidAdapter.js +1 -1
  271. package/dist/loglyliftBidAdapter.js +1 -1
  272. package/dist/lotamePanoramaIdSystem.js +1 -1
  273. package/dist/lunamediahbBidAdapter.js +1 -1
  274. package/dist/luponmediaBidAdapter.js +1 -1
  275. package/dist/mabidderBidAdapter.js +1 -1
  276. package/dist/madvertiseBidAdapter.js +1 -1
  277. package/dist/magniteAnalyticsAdapter.js +1 -1
  278. package/dist/malltvAnalyticsAdapter.js +1 -1
  279. package/dist/malltvBidAdapter.js +1 -1
  280. package/dist/mantisBidAdapter.js +1 -1
  281. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  282. package/dist/marsmediaBidAdapter.js +1 -1
  283. package/dist/mass.js +1 -1
  284. package/dist/mathildeadsBidAdapter.js +1 -1
  285. package/dist/mediaforceBidAdapter.js +1 -1
  286. package/dist/mediafuseBidAdapter.js +1 -1
  287. package/dist/mediagoBidAdapter.js +1 -1
  288. package/dist/mediakeysBidAdapter.js +1 -1
  289. package/dist/medianetAnalyticsAdapter.js +1 -1
  290. package/dist/medianetBidAdapter.js +1 -1
  291. package/dist/medianetRtdProvider.js +1 -1
  292. package/dist/mediasniperBidAdapter.js +1 -1
  293. package/dist/mediasquareBidAdapter.js +1 -1
  294. package/dist/merkleIdSystem.js +1 -1
  295. package/dist/mgidBidAdapter.js +1 -1
  296. package/dist/mgidRtdProvider.js +1 -1
  297. package/dist/microadBidAdapter.js +1 -1
  298. package/dist/minutemediaBidAdapter.js +1 -1
  299. package/dist/minutemediaplusBidAdapter.js +1 -1
  300. package/dist/missenaBidAdapter.js +1 -1
  301. package/dist/mobfoxpbBidAdapter.js +1 -1
  302. package/dist/multibid.js +1 -1
  303. package/dist/mwOpenLinkIdSystem.js +1 -1
  304. package/dist/my6senseBidAdapter.js +1 -1
  305. package/dist/mytargetBidAdapter.js +1 -1
  306. package/dist/nativoBidAdapter.js +1 -1
  307. package/dist/naveggIdSystem.js +1 -1
  308. package/dist/netIdSystem.js +1 -1
  309. package/dist/neuwoRtdProvider.js +1 -1
  310. package/dist/newspassidBidAdapter.js +1 -1
  311. package/dist/nextMillenniumBidAdapter.js +1 -1
  312. package/dist/nextrollBidAdapter.js +1 -1
  313. package/dist/nexx360BidAdapter.js +1 -1
  314. package/dist/nobidBidAdapter.js +1 -1
  315. package/dist/not-for-prod/prebid.js +501 -501
  316. package/dist/novatiqIdSystem.js +1 -1
  317. package/dist/oguryBidAdapter.js +1 -1
  318. package/dist/oneKeyIdSystem.js +1 -1
  319. package/dist/oneKeyRtdProvider.js +1 -1
  320. package/dist/onetagBidAdapter.js +1 -1
  321. package/dist/onomagicBidAdapter.js +1 -1
  322. package/dist/ooloAnalyticsAdapter.js +1 -1
  323. package/dist/open8BidAdapter.js +1 -1
  324. package/dist/openwebBidAdapter.js +1 -1
  325. package/dist/openxAnalyticsAdapter.js +1 -1
  326. package/dist/openxBidAdapter.js +1 -1
  327. package/dist/openxOrtbBidAdapter.js +1 -1
  328. package/dist/operaadsBidAdapter.js +1 -1
  329. package/dist/optidigitalBidAdapter.js +1 -1
  330. package/dist/optimeraRtdProvider.js +1 -1
  331. package/dist/optimonAnalyticsAdapter.js +1 -1
  332. package/dist/optoutBidAdapter.js +1 -1
  333. package/dist/orbidderBidAdapter.js +1 -1
  334. package/dist/orbitsoftBidAdapter.js +1 -1
  335. package/dist/ortbConverter.js +1 -1
  336. package/dist/otmBidAdapter.js +1 -1
  337. package/dist/outbrainBidAdapter.js +1 -1
  338. package/dist/oxxionRtdProvider.js +1 -1
  339. package/dist/ozoneBidAdapter.js +1 -1
  340. package/dist/padsquadBidAdapter.js +1 -1
  341. package/dist/parrableIdSystem.js +1 -1
  342. package/dist/permutiveRtdProvider.js +1 -1
  343. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  344. package/dist/pilotxBidAdapter.js +1 -1
  345. package/dist/pixfutureBidAdapter.js +1 -1
  346. package/dist/prebid-core.js +1 -1
  347. package/dist/prebidServerBidAdapter.js +1 -1
  348. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  349. package/dist/priceFloors.js +1 -1
  350. package/dist/prismaBidAdapter.js +1 -1
  351. package/dist/proxistoreBidAdapter.js +1 -1
  352. package/dist/pubCommonId.js +1 -1
  353. package/dist/pubProvidedIdSystem.js +1 -1
  354. package/dist/pubgeniusBidAdapter.js +1 -1
  355. package/dist/publinkIdSystem.js +1 -1
  356. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  357. package/dist/pubmaticBidAdapter.js +1 -1
  358. package/dist/pubperfAnalyticsAdapter.js +1 -1
  359. package/dist/pubstackAnalyticsAdapter.js +1 -1
  360. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  361. package/dist/pubwiseBidAdapter.js +1 -1
  362. package/dist/pubxBidAdapter.js +1 -1
  363. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  364. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  365. package/dist/pulsepointBidAdapter.js +1 -1
  366. package/dist/pxyzBidAdapter.js +1 -1
  367. package/dist/quantcastBidAdapter.js +1 -1
  368. package/dist/quantcastIdSystem.js +1 -1
  369. package/dist/qwarryBidAdapter.js +1 -1
  370. package/dist/radsBidAdapter.js +1 -1
  371. package/dist/rakutenBidAdapter.js +1 -1
  372. package/dist/rasBidAdapter.js +1 -1
  373. package/dist/readpeakBidAdapter.js +1 -1
  374. package/dist/realvuAnalyticsAdapter.js +1 -1
  375. package/dist/reconciliationRtdProvider.js +1 -1
  376. package/dist/redtramBidAdapter.js +1 -1
  377. package/dist/relaidoBidAdapter.js +1 -1
  378. package/dist/relevadRtdProvider.js +1 -1
  379. package/dist/relevantAnalyticsAdapter.js +1 -1
  380. package/dist/resetdigitalBidAdapter.js +1 -1
  381. package/dist/revcontentBidAdapter.js +1 -1
  382. package/dist/rhythmoneBidAdapter.js +1 -1
  383. package/dist/richaudienceBidAdapter.js +1 -1
  384. package/dist/riseBidAdapter.js +1 -1
  385. package/dist/rivrAnalyticsAdapter.js +1 -1
  386. package/dist/roxotAnalyticsAdapter.js +1 -1
  387. package/dist/rtbhouseBidAdapter.js +1 -1
  388. package/dist/rtbsapeBidAdapter.js +1 -1
  389. package/dist/rtdModule.js +1 -1
  390. package/dist/rubiconAnalyticsAdapter.js +1 -1
  391. package/dist/rubiconBidAdapter.js +1 -1
  392. package/dist/s2sTesting.js +1 -1
  393. package/dist/saambaaBidAdapter.js +1 -1
  394. package/dist/scaleableAnalyticsAdapter.js +1 -1
  395. package/dist/scatteredBidAdapter.js +1 -1
  396. package/dist/schain.js +1 -1
  397. package/dist/seedingAllianceBidAdapter.js +1 -1
  398. package/dist/seedtagBidAdapter.js +1 -1
  399. package/dist/sharedIdSystem.js +1 -1
  400. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  401. package/dist/sharethroughBidAdapter.js +1 -1
  402. package/dist/shinezBidAdapter.js +1 -1
  403. package/dist/showheroes-bsBidAdapter.js +1 -1
  404. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  405. package/dist/sirdataRtdProvider.js +1 -1
  406. package/dist/sizeMappingV2.js +1 -1
  407. package/dist/slimcutBidAdapter.js +1 -1
  408. package/dist/smaatoBidAdapter.js +1 -1
  409. package/dist/smartadserverBidAdapter.js +1 -1
  410. package/dist/smarthubBidAdapter.js +1 -1
  411. package/dist/smarticoBidAdapter.js +1 -1
  412. package/dist/smartxBidAdapter.js +1 -1
  413. package/dist/smartyadsBidAdapter.js +1 -1
  414. package/dist/smartytechBidAdapter.js +1 -1
  415. package/dist/smilewantedBidAdapter.js +1 -1
  416. package/dist/snigelBidAdapter.js +1 -1
  417. package/dist/sonobiAnalyticsAdapter.js +1 -1
  418. package/dist/sonobiBidAdapter.js +1 -1
  419. package/dist/sovrnAnalyticsAdapter.js +1 -1
  420. package/dist/sovrnBidAdapter.js +1 -1
  421. package/dist/spotxBidAdapter.js +1 -1
  422. package/dist/sspBCBidAdapter.js +1 -1
  423. package/dist/staqAnalyticsAdapter.js +1 -1
  424. package/dist/stroeerCoreBidAdapter.js +1 -1
  425. package/dist/stvBidAdapter.js +1 -1
  426. package/dist/sublimeBidAdapter.js +1 -1
  427. package/dist/synacormediaBidAdapter.js +1 -1
  428. package/dist/taboolaBidAdapter.js +1 -1
  429. package/dist/talkadsBidAdapter.js +1 -1
  430. package/dist/tapadIdSystem.js +1 -1
  431. package/dist/tappxBidAdapter.js +1 -1
  432. package/dist/targetVideoBidAdapter.js +1 -1
  433. package/dist/teadsBidAdapter.js +1 -1
  434. package/dist/teadsIdSystem.js +1 -1
  435. package/dist/telariaBidAdapter.js +1 -1
  436. package/dist/temedyaBidAdapter.js +1 -1
  437. package/dist/terceptAnalyticsAdapter.js +1 -1
  438. package/dist/theAdxBidAdapter.js +1 -1
  439. package/dist/timeoutRtdProvider.js +1 -1
  440. package/dist/tncIdSystem.js +1 -1
  441. package/dist/topicsFpdModule.js +1 -1
  442. package/dist/tpmnBidAdapter.js +1 -1
  443. package/dist/trafficgateBidAdapter.js +1 -1
  444. package/dist/trionBidAdapter.js +1 -1
  445. package/dist/tripleliftBidAdapter.js +1 -1
  446. package/dist/truereachBidAdapter.js +1 -1
  447. package/dist/trustpidSystem.js +1 -1
  448. package/dist/ttdBidAdapter.js +1 -1
  449. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  450. package/dist/ucfunnelBidAdapter.js +1 -1
  451. package/dist/uid2IdSystem.js +1 -1
  452. package/dist/underdogmediaBidAdapter.js +1 -1
  453. package/dist/undertoneBidAdapter.js +1 -1
  454. package/dist/unicornBidAdapter.js +1 -1
  455. package/dist/unifiedIdSystem.js +1 -1
  456. package/dist/unrulyBidAdapter.js +1 -1
  457. package/dist/userId.js +1 -1
  458. package/dist/validationFpdModule.js +1 -1
  459. package/dist/vdoaiBidAdapter.js +1 -1
  460. package/dist/ventesBidAdapter.js +1 -1
  461. package/dist/verizonMediaIdSystem.js +1 -1
  462. package/dist/vibrantmediaBidAdapter.js +1 -1
  463. package/dist/vidazooBidAdapter.js +1 -1
  464. package/dist/videoModule.js +1 -1
  465. package/dist/videobyteBidAdapter.js +1 -1
  466. package/dist/videoheroesBidAdapter.js +1 -1
  467. package/dist/videojsVideoProvider.js +1 -1
  468. package/dist/videonowBidAdapter.js +1 -1
  469. package/dist/videoreachBidAdapter.js +1 -1
  470. package/dist/vidoomyBidAdapter.js +1 -1
  471. package/dist/viewability.js +1 -1
  472. package/dist/viewdeosDXBidAdapter.js +1 -1
  473. package/dist/viouslyBidAdapter.js +1 -1
  474. package/dist/viqeoBidAdapter.js +1 -1
  475. package/dist/visiblemeasuresBidAdapter.js +1 -1
  476. package/dist/visxBidAdapter.js +1 -1
  477. package/dist/vlybyBidAdapter.js +1 -1
  478. package/dist/voxBidAdapter.js +1 -1
  479. package/dist/vrtcalBidAdapter.js +1 -1
  480. package/dist/vuukleBidAdapter.js +1 -1
  481. package/dist/waardexBidAdapter.js +1 -1
  482. package/dist/weboramaRtdProvider.js +1 -1
  483. package/dist/welectBidAdapter.js +1 -1
  484. package/dist/widespaceBidAdapter.js +1 -1
  485. package/dist/winrBidAdapter.js +1 -1
  486. package/dist/wipesBidAdapter.js +1 -1
  487. package/dist/xeBidAdapter.js +1 -1
  488. package/dist/yahoosspBidAdapter.js +1 -1
  489. package/dist/yandexBidAdapter.js +1 -1
  490. package/dist/yieldlabBidAdapter.js +1 -1
  491. package/dist/yieldliftBidAdapter.js +1 -1
  492. package/dist/yieldmoBidAdapter.js +1 -1
  493. package/dist/yieldmoSyntheticInventoryModule.js +1 -1
  494. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  495. package/dist/yieldoneBidAdapter.js +1 -1
  496. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  497. package/dist/zeotapIdPlusIdSystem.js +1 -1
  498. package/dist/zetaBidAdapter.js +1 -1
  499. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  500. package/dist/zeta_global_sspBidAdapter.js +1 -1
  501. package/dist/zeusPrimeRtdProvider.js +2 -2
  502. package/features.json +2 -1
  503. package/libraries/ortbConverter/processors/default.js +11 -8
  504. package/modules/adagioBidAdapter.js +41 -0
  505. package/modules/adagioBidAdapter.md +6 -0
  506. package/modules/addefendBidAdapter.js +2 -1
  507. package/modules/adkernelBidAdapter.js +2 -1
  508. package/modules/adpod.js +2 -3
  509. package/modules/adtelligentBidAdapter.js +8 -1
  510. package/modules/adxcgAnalyticsAdapter.js +2 -1
  511. package/modules/airgridRtdProvider.js +17 -7
  512. package/modules/atsAnalyticsAdapter.js +2 -1
  513. package/modules/concertBidAdapter.js +24 -41
  514. package/modules/consentManagement.js +2 -1
  515. package/modules/consentManagementGpp.js +2 -1
  516. package/modules/displayioBidAdapter.js +18 -8
  517. package/modules/express.js +7 -5
  518. package/modules/gumgumBidAdapter.js +2 -2
  519. package/modules/id5AnalyticsAdapter.js +2 -1
  520. package/modules/mabidderBidAdapter.js +3 -1
  521. package/modules/marsmediaAnalyticsAdapter.js +2 -1
  522. package/modules/medianetAnalyticsAdapter.js +124 -59
  523. package/modules/medianetBidAdapter.js +6 -5
  524. package/modules/orbidderBidAdapter.js +2 -1
  525. package/modules/permutiveRtdProvider.md +54 -84
  526. package/modules/pixfutureBidAdapter.js +2 -1
  527. package/modules/pubCommonId.js +3 -2
  528. package/modules/pubxaiAnalyticsAdapter.js +2 -1
  529. package/modules/rivrAnalyticsAdapter.js +2 -1
  530. package/modules/rtbhouseBidAdapter.js +10 -3
  531. package/modules/sizeMappingV2.js +1 -1
  532. package/modules/smaatoBidAdapter.js +16 -4
  533. package/modules/snigelBidAdapter.js +2 -1
  534. package/modules/sonobiBidAdapter.js +64 -1
  535. package/modules/tappxBidAdapter.js +2 -1
  536. package/modules/terceptAnalyticsAdapter.js +2 -1
  537. package/modules/userId/index.js +6 -5
  538. package/modules/yuktamediaAnalyticsAdapter.js +2 -1
  539. package/package.json +3 -1
  540. package/plugins/pbjsGlobals.js +16 -5
  541. package/src/Renderer.js +4 -1
  542. package/src/adapterManager.js +2 -2
  543. package/src/adapters/bidderFactory.js +46 -41
  544. package/src/auction.js +10 -5
  545. package/src/fpd/enrichment.js +1 -1
  546. package/src/prebid.js +96 -89
  547. package/src/prebidGlobal.js +14 -6
  548. package/src/storageManager.js +29 -76
  549. package/src/utils.js +5 -2
  550. package/test/spec/auctionmanager_spec.js +113 -105
  551. package/test/spec/modules/adagioBidAdapter_spec.js +70 -0
  552. package/test/spec/modules/adlooxAdServerVideo_spec.js +1 -0
  553. package/test/spec/modules/adtelligentBidAdapter_spec.js +11 -10
  554. package/test/spec/modules/airgridRtdProvider_spec.js +9 -3
  555. package/test/spec/modules/concertBidAdapter_spec.js +12 -81
  556. package/test/spec/modules/gumgumBidAdapter_spec.js +3 -3
  557. package/test/spec/modules/improvedigitalBidAdapter_spec.js +127 -121
  558. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +27 -1
  559. package/test/spec/modules/nexx360BidAdapter_spec.js +41 -39
  560. package/test/spec/modules/openxOrtbBidAdapter_spec.js +53 -49
  561. package/test/spec/modules/prebidServerBidAdapter_spec.js +148 -133
  562. package/test/spec/modules/realvuAnalyticsAdapter_spec.js +1 -0
  563. package/test/spec/modules/rtbhouseBidAdapter_spec.js +23 -9
  564. package/test/spec/modules/rubiconBidAdapter_spec.js +767 -761
  565. package/test/spec/modules/sizeMappingV2_spec.js +4 -0
  566. package/test/spec/modules/smaatoBidAdapter_spec.js +32 -0
  567. package/test/spec/modules/sonobiBidAdapter_spec.js +13 -0
  568. package/test/spec/unit/core/adapterManager_spec.js +5 -2
  569. package/test/spec/unit/core/bidderFactory_spec.js +4 -0
  570. package/test/spec/unit/core/storageManager_spec.js +84 -34
  571. package/test/spec/unit/pbjs_api_spec.js +129 -121
@@ -13,7 +13,7 @@ gulp build --modules=rtdModule,permutiveRtdProvider
13
13
 
14
14
  > Note that the global RTD module, `rtdModule`, is a prerequisite of the Permutive RTD module.
15
15
 
16
- You then need to enable the Permutive RTD in your Prebid configuration, using the below format:
16
+ You then need to enable the Permutive RTD in your Prebid configuration. Below is an example of the format:
17
17
 
18
18
  ```javascript
19
19
  pbjs.setConfig({
@@ -37,59 +37,16 @@ pbjs.setConfig({
37
37
  The parameters below provide configurability for general behaviours of the RTD submodule,
38
38
  as well as enabling settings for specific use cases mentioned above (e.g. acbidders).
39
39
 
40
- | Name | Type | Description | Default |
41
- |------------------------|----------|-----------------------------------------------------------------------------------------------|---------|
42
- | name | String | This should always be `permutive` | - |
43
- | waitForIt | Boolean | Should be `true` if there's an `auctionDelay` defined (optional) | `false` |
44
- | params | Object | | - |
45
- | params.acBidders | String[] | An array of bidders which should receive AC cohorts. | `[]` |
46
- | params.maxSegs | Integer | Maximum number of cohorts to be included in either the `permutive` or `p_standard` key-value. | `500` |
47
- | params.transformations | Object[] | An array of configurations for ORTB2 user data transformations | |
48
- | params.overwrites | Object | An object specifying functions for custom targeting logic for bidders. | - |
49
-
50
- ##### The `transformations` parameter
51
-
52
- This array contains configurations for transformations we'll apply to the Permutive object in the ORTB2 `user.data` array. The results of these transformations will be appended to the `user.data` array that's attached to ORTB2 bid requests.
53
-
54
- ###### Supported transformations
55
-
56
- | Name | ID | Config structure | Description |
57
- |----------------|-----|---------------------------------------------------|--------------------------------------------------------------------------------------|
58
- | IAB taxonomies | iab | { segtax: number, iabIds: Object<number, number>} | Transform segment IDs from Permutive to IAB (note: alpha version, subject to change) |
59
-
60
- ##### The `overwrites` parameter
61
-
62
- The keys for this object should match a bidder (e.g. `rubicon`), which then can define a function to overwrite the customer targeting logic.
63
-
64
- ```javascript
65
- {
66
- params: {
67
- overwrites: {
68
- rubicon: function customTargeting(bid, data, acEnabled, utils, defaultFn) {
69
- if (defaultFn) {
70
- bid = defaultFn(bid, data, acEnabled)
71
- }
72
- if (data.gam && data.gam.length) {
73
- utils.deepSetValue(bid, 'params.visitor.permutive', data.gam)
74
- }
75
- }
76
- }
77
- }
78
- }
79
- ```
80
-
81
- ###### `customTargeting` function parameters
82
-
83
- | Name | Description |
84
- |--------------|--------------------------------------------------------------------------------|
85
- | `bid` | The bid request object. |
86
- | `data` | Permutive's targeting data read from localStorage. |
87
- | `acEnabled` | Boolean stating whether Audience Connect is enabled via `acBidders`. |
88
- | `utils` | An object of helpful utilities. `(deepSetValue, deepAccess, isFn, mergeDeep)`. |
89
- | `defaultFn` | The default targeting function. |
90
-
91
-
40
+ ## Parameters
92
41
 
42
+ {: .table .table-bordered .table-striped }
43
+ | Name | Type | Description | Default |
44
+ | ---------------------- | -------------------- | --------------------------------------------------------------------------------------------- | ------------------ |
45
+ | name | String | This should always be `permutive` | - |
46
+ | waitForIt | Boolean | Should be `true` if there's an `auctionDelay` defined (optional) | `false` |
47
+ | params | Object | | - |
48
+ | params.acBidders | String[] | An array of bidder codes to share cohorts with in certain versions of Prebid, see below | `[]` |
49
+ | params.maxSegs | Integer | Maximum number of cohorts to be included in either the `permutive` or `p_standard` key-value. | `500` |
93
50
 
94
51
  #### Context
95
52
 
@@ -100,7 +57,7 @@ As Prebid utilizes TCF vendor consent, for the Permutive RTD module to load, Per
100
57
 
101
58
  #### Instructions
102
59
 
103
- 1. Publisher enables GDPR rules within Prebid.
60
+ 1. Publisher enables rules within Prebid GDPR module
104
61
  2. Label Permutive as an exception, as shown below.
105
62
  ```javascript
106
63
  [
@@ -123,29 +80,58 @@ Before making any updates to this configuration, please ensure that this approac
123
80
 
124
81
  ## Cohort Activation with Permutive RTD Module
125
82
 
126
- ### _Enabling Standard Cohorts_
127
-
128
83
  **Note**: Publishers must be enabled on the above Permutive RTD Submodule to enable Standard Cohorts.
129
84
 
130
- The acbidders config in the Permutive RTD module allows publishers to determine which demand partners (SSPs) will receive standard cohorts via the <u>user.data</u> ortb2 object. Cohorts will be sent in the `p_standard` key-value.
85
+ ### _Enabling Publisher Cohorts_
86
+
87
+ #### Standard Cohorts
88
+
89
+ The Permutive RTD module sets Standard Cohort IDs as bidder-specific ortb2.user.data first-party data, following the Prebid ortb2 convention. Cohorts will be sent in the `p_standard` key-value.
90
+
91
+ For Prebid versions below 7.29.0, populate the acbidders config in the Permutive RTD with an array of bidder codes with whom you wish to share Standard Cohorts with. You also need to permission the bidders by communicating the bidder list to the Permutive team at strategicpartnershipops@permutive.com.
131
92
 
132
- The Permutive RTD module sets standard cohort IDs as bidder-specific ortb2.user.data first-party data, following the Prebid ortb2 convention.
93
+ For Prebid versions 7.29.0 and above, do not populate bidder codes in acbidders for the purpose of sharing Standard Cohorts (Note: there may be other business needs that require you to populate acbidders for Prebid versions 7.29.0+, see Advertiser Cohorts below). To share Standard Cohorts with bidders in Prebid versions 7.29.0 and above, communicate the bidder list to the Permutive team at strategicpartnershipops@permutive.com.
133
94
 
134
- There are **two** ways to assign which demand partner bidders (e.g. SSPs) will receive Standard Cohort information via the Audience Connector (acbidders) config:
95
+ #### _Bidder Specific Requirements for Standard Cohorts_
96
+ For PubMatic or OpenX: Please ensure you are using Prebid.js 7.13 (or later)
97
+ For Xandr: Please ensure you are using Prebid.js 7.29 (or later)
98
+ For Equativ: Please ensure you are using Prebid.js 7.26 (or later)
99
+
100
+ #### Custom Cohorts
101
+
102
+ The Permutive RTD module also supports passing any of the **Custom** Cohorts created in the dashboard to some SSP partners for targeting
103
+ e.g. setting up publisher deals. For these activations, cohort IDs are set in bidder-specific locations per ad unit (custom parameters).
104
+
105
+ Currently, bidders with known support for custom cohort targeting are:
106
+
107
+ - Xandr
108
+ - Magnite
109
+
110
+ When enabling the respective Activation for a cohort in Permutive, this module will automatically attach that cohort ID to the bid request.
111
+ There is no need to enable individual bidders in the module configuration, it will automatically reflect which SSP integrations you have enabled in your Permutive dashboard.
112
+ Permutive cohorts will be sent in the permutive key-value.
113
+
114
+
115
+ ### _Enabling Advertiser Cohorts_
116
+
117
+ If you are connecting to an Advertiser seat within Permutive to share Advertiser Cohorts, populate the acbidders config in the Permutive RTD with an array of bidder codes with whom you wish to share Advertiser Cohorts with.
118
+
119
+ ### _Managing acbidders_
120
+
121
+ If your business needs require you to populate acbidders with bidder codes based on the criteria above, there are **two** ways to manage it.
135
122
 
136
123
  #### Option 1 - Automated
137
124
 
138
- New demand partner bidders may be added to the acbidders config directly within the Permutive Platform.
125
+ If you are using Prebid.js v7.13.0+, bidders may be added to or removed from the acbidders config directly within the Permutive Dashboard.
139
126
 
140
127
  **Permutive can do this on your behalf**. Simply contact your Permutive CSM with strategicpartnershipops@permutive.com on cc,
141
128
  indicating which bidders you would like added.
142
129
 
143
- Or, a publisher may do this themselves within the UI using the below instructions.
130
+ Or, a publisher may do this themselves within the Permutive Dashboard using the below instructions.
144
131
 
145
132
  ##### Create Integration
146
133
 
147
- In order to update acbidders via the Permutive dashboard,
148
- it is necessary to first enable the prebid integration in the integrations page (settings).
134
+ In order to manage acbidders via the Permutive dashboard, it is necessary to first enable the Prebid integration via the integrations page (settings).
149
135
 
150
136
  **Note on Revenue Insights:** The prebid integration includes a feature for revenue insights,
151
137
  which is not required for the purpose of updating acbidders config.
@@ -153,31 +139,15 @@ Please see [this document](https://support.permutive.com/hc/en-us/articles/36001
153
139
 
154
140
  ##### Update acbidders
155
141
 
156
- The input for the “Data Provider config” is currently a multi-input free text.
157
- A valid “bidder code” needs to be entered in order to enable Standard Cohorts to be passed to the desired partner.
158
- The [prebid Bidders page](https://docs.prebid.org/dev-docs/bidders.html) contains instructions and a link to a list of possible bidder codes.
142
+ The input for the “Data Provider config” is a multi-input free text. A valid “bidder code” needs to be entered in order to enable Standard or Advertiser Cohorts to be passed to the desired partner. The [prebid Bidders page](https://docs.prebid.org/dev-docs/bidders.html) contains instructions and a link to a list of possible bidder codes.
159
143
 
160
- Acbidders can be added or removed from the list using this feature, however, this will not impact any acbidders that have been applied using the manual method below.
144
+ Bidders can be added or removed from acbidders using this feature, however, this will not impact any bidders that have been applied using the manual method below.
161
145
 
162
146
  #### Option 2 - Manual
163
147
 
164
- As a secondary option, new demand partner bidders may be added manually.
148
+ As a secondary option, bidders may be added manually.
165
149
 
166
- To do so, a Publisher may define which bidders should receive Standard Cohorts by
150
+ To do so, define which bidders should receive Standard or Advertiser Cohorts by
167
151
  including the _bidder code_ of any bidder in the `acBidders` array.
168
152
 
169
- **Note:** If a Publisher ever needs to remove a manually-added bidder, the bidder will also need to be removed manually.
170
-
171
- ### _Enabling Custom Cohort IDs for Targeting_
172
-
173
- Separately from Standard Cohorts - The Permutive RTD module also supports passing any of the **custom** cohorts created in the dashboard to some SSP partners for targeting
174
- e.g. setting up publisher deals. For these activations, cohort IDs are set in bidder-specific locations per ad unit (custom parameters).
175
-
176
- Currently, bidders with known support for custom cohort targeting are:
177
-
178
- - Xandr
179
- - Magnite
180
-
181
- When enabling the respective Activation for a cohort in Permutive, this module will automatically attach that cohort ID to the bid request.
182
- There is no need to enable individual bidders in the module configuration, it will automatically reflect which SSP integrations you have enabled in your Permutive dashboard.
183
- Permutive cohorts will be sent in the permutive key-value.
153
+ **Note:** If you ever need to remove a manually-added bidder, the bidder will also need to be removed manually.
@@ -14,6 +14,7 @@ import {
14
14
  transformBidderParamKeywords
15
15
  } from '../src/utils.js';
16
16
  import { auctionManager } from '../src/auctionManager.js';
17
+ import {getGlobal} from '../src/prebidGlobal.js';
17
18
 
18
19
  const SOURCE = 'pbjs';
19
20
  const storageManager = getStorageManager({bidderCode: 'pixfuture'});
@@ -132,7 +133,7 @@ export const spec = {
132
133
  method: 'POST',
133
134
  options: {withCredentials: true},
134
135
  data: {
135
- v: $$PREBID_GLOBAL$$.version,
136
+ v: getGlobal().version,
136
137
  pageUrl: referer,
137
138
  bidId: bidRequest.bidId,
138
139
  auctionId: bidRequest.auctionId,
@@ -10,6 +10,7 @@ import CONSTANTS from '../src/constants.json';
10
10
  import { getStorageManager } from '../src/storageManager.js';
11
11
  import {timedAuctionHook} from '../src/utils/perfMetrics.js';
12
12
  import {VENDORLESS_GVLID} from '../src/consentHandler.js';
13
+ import {getGlobal} from '../src/prebidGlobal.js';
13
14
 
14
15
  const storage = getStorageManager({moduleName: 'pubCommonId', gvlid: VENDORLESS_GVLID});
15
16
 
@@ -168,7 +169,7 @@ export function getPubcidConfig() { return pubcidConfig; }
168
169
  */
169
170
 
170
171
  export const requestBidHook = timedAuctionHook('pubCommonId', function requestBidHook(next, config) {
171
- let adUnits = config.adUnits || $$PREBID_GLOBAL$$.adUnits;
172
+ let adUnits = config.adUnits || getGlobal().adUnits;
172
173
  let pubcid = null;
173
174
 
174
175
  // Pass control to the next function if not enabled
@@ -292,7 +293,7 @@ export function initPubcid() {
292
293
  (storage.hasLocalStorage() && readValue(OPTOUT_NAME, LOCAL_STORAGE));
293
294
 
294
295
  if (!optout) {
295
- $$PREBID_GLOBAL$$.requestBids.before(requestBidHook);
296
+ getGlobal().requestBids.before(requestBidHook);
296
297
  }
297
298
  }
298
299
 
@@ -3,6 +3,7 @@ import { ajax } from '../src/ajax.js';
3
3
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import CONSTANTS from '../src/constants.json';
6
+ import {getGlobal} from '../src/prebidGlobal.js';
6
7
 
7
8
  const emptyUrl = '';
8
9
  const analyticsType = 'endpoint';
@@ -180,7 +181,7 @@ function send(data, status) {
180
181
  search: {
181
182
  auctionTimestamp: auctionTimestamp,
182
183
  pubxaiAnalyticsVersion: pubxaiAnalyticsVersion,
183
- prebidVersion: $$PREBID_GLOBAL$$.version
184
+ prebidVersion: getGlobal().version
184
185
  }
185
186
  });
186
187
  if (status == 'bidwon') {
@@ -2,6 +2,7 @@ import {ajax} from '../src/ajax.js';
2
2
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
3
  import adapterManager from '../src/adapterManager.js';
4
4
  import * as utils from '../src/utils.js';
5
+ import {getGlobal} from '../src/prebidGlobal.js';
5
6
 
6
7
  const analyticsType = 'endpoint';
7
8
 
@@ -20,7 +21,7 @@ rivrAnalytics.originEnableAnalytics = rivrAnalytics.enableAnalytics;
20
21
  // override enableAnalytics so we can get access to the config passed in from the page
21
22
  rivrAnalytics.enableAnalytics = (config) => {
22
23
  if (window.rivraddon && window.rivraddon.analytics) {
23
- window.rivraddon.analytics.enableAnalytics(config, {utils, ajax, pbjsGlobalVariable: $$PREBID_GLOBAL$$});
24
+ window.rivraddon.analytics.enableAnalytics(config, {utils, ajax, pbjsGlobalVariable: getGlobal()});
24
25
  rivrAnalytics.originEnableAnalytics(config);
25
26
  }
26
27
  };
@@ -56,7 +56,7 @@ export const spec = {
56
56
  site: mapSite(validBidRequests, bidderRequest),
57
57
  cur: DEFAULT_CURRENCY_ARR,
58
58
  test: validBidRequests[0].params.test || 0,
59
- source: mapSource(validBidRequests[0]),
59
+ source: mapSource(validBidRequests[0], bidderRequest),
60
60
  };
61
61
 
62
62
  if (bidderRequest && bidderRequest.gdprConsent && bidderRequest.gdprConsent.gdprApplies) {
@@ -228,6 +228,13 @@ function mapImpression(slot, bidderRequest) {
228
228
  delete imp.ext.ae;
229
229
  }
230
230
  }
231
+
232
+ const tid = deepAccess(slot, 'ortb2Imp.ext.tid');
233
+ if (tid) {
234
+ imp.ext = imp.ext || {};
235
+ imp.ext.tid = tid;
236
+ }
237
+
231
238
  return imp;
232
239
  }
233
240
 
@@ -283,9 +290,9 @@ function mapSite(slot, bidderRequest) {
283
290
  * @param {object} slot Ad Unit Params by Prebid
284
291
  * @returns {object} Source by OpenRTB 2.5 §3.2.2
285
292
  */
286
- function mapSource(slot) {
293
+ function mapSource(slot, bidderRequest) {
287
294
  const source = {
288
- tid: slot.transactionId,
295
+ tid: bidderRequest?.auctionId || '',
289
296
  };
290
297
 
291
298
  return source;
@@ -182,7 +182,7 @@ export function checkAdUnitSetupHook(adUnits) {
182
182
  }
183
183
  }
184
184
 
185
- if (mediaTypes.video) {
185
+ if (FEATURES.VIDEO && mediaTypes.video) {
186
186
  if (mediaTypes.video.playerSize) {
187
187
  // Ad unit is using 'mediaTypes.video.playerSize' instead of the new property 'sizeConfig'. Apply the old checks!
188
188
  validatedVideo = validatedBanner ? adUnitSetupChecks.validateVideoMediaType(validatedBanner) : adUnitSetupChecks.validateVideoMediaType(adUnit);
@@ -68,11 +68,23 @@ const buildOpenRtbBidRequest = (bidRequest, bidderRequest) => {
68
68
  deepSetValue(requestTemplate, 'regs.ext.gpp_sid', ortb2.regs.gpp_sid);
69
69
  }
70
70
 
71
+ if (ortb2.device?.ifa !== undefined) {
72
+ deepSetValue(requestTemplate, 'device.ifa', ortb2.device.ifa);
73
+ }
74
+
75
+ if (ortb2.device?.geo !== undefined) {
76
+ deepSetValue(requestTemplate, 'device.geo', ortb2.device.geo);
77
+ }
78
+
71
79
  if (deepAccess(bidRequest, 'params.app')) {
72
- const geo = deepAccess(bidRequest, 'params.app.geo');
73
- deepSetValue(requestTemplate, 'device.geo', geo);
74
- const ifa = deepAccess(bidRequest, 'params.app.ifa');
75
- deepSetValue(requestTemplate, 'device.ifa', ifa);
80
+ if (!deepAccess(requestTemplate, 'device.geo')) {
81
+ const geo = deepAccess(bidRequest, 'params.app.geo');
82
+ deepSetValue(requestTemplate, 'device.geo', geo);
83
+ }
84
+ if (!deepAccess(requestTemplate, 'device.ifa')) {
85
+ const ifa = deepAccess(bidRequest, 'params.app.ifa');
86
+ deepSetValue(requestTemplate, 'device.ifa', ifa);
87
+ }
76
88
  }
77
89
 
78
90
  const eids = deepAccess(bidRequest, 'userIdAsEids');
@@ -3,6 +3,7 @@ import {registerBidder} from '../src/adapters/bidderFactory.js';
3
3
  import {BANNER} from '../src/mediaTypes.js';
4
4
  import {deepAccess, isArray, isFn, isPlainObject} from '../src/utils.js';
5
5
  import {hasPurpose1Consent} from '../src/utils/gpdr.js';
6
+ import {getGlobal} from '../src/prebidGlobal.js';
6
7
 
7
8
  const BIDDER_CODE = 'snigel';
8
9
  const GVLID = 1076;
@@ -33,7 +34,7 @@ export const spec = {
33
34
  test: getTestFlag(),
34
35
  devw: window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth,
35
36
  devh: window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight,
36
- version: $$PREBID_GLOBAL$$.version,
37
+ version: getGlobal().version,
37
38
  gdprApplies: gdprApplies,
38
39
  gdprConsentString: gdprApplies === true ? deepAccess(bidderRequest, 'gdprConsent.consentString') : undefined,
39
40
  gdprConsentProv: gdprApplies === true ? deepAccess(bidderRequest, 'gdprConsent.addtlConsent') : undefined,
@@ -4,6 +4,7 @@ import { BANNER, VIDEO } from '../src/mediaTypes.js';
4
4
  import { config } from '../src/config.js';
5
5
  import { Renderer } from '../src/Renderer.js';
6
6
  import { userSync } from '../src/userSync.js';
7
+ import { bidderSettings } from '../src/bidderSettings.js';
7
8
  const BIDDER_CODE = 'sonobi';
8
9
  const STR_ENDPOINT = 'https://apex.go.sonobi.com/trinity.json';
9
10
  const PAGEVIEW_ID = generateUUID();
@@ -49,6 +50,7 @@ export const spec = {
49
50
 
50
51
  return true;
51
52
  },
53
+
52
54
  /**
53
55
  * Make a server request from the list of BidRequests.
54
56
  *
@@ -93,7 +95,7 @@ export const spec = {
93
95
  'lib_name': 'prebid',
94
96
  'lib_v': '$prebid.version$',
95
97
  'us': 0,
96
-
98
+ 'iqid': bidderSettings.get(BIDDER_CODE, 'storageAllowed') ? JSON.stringify(loadOrCreateFirstPartyData()) : null,
97
99
  };
98
100
 
99
101
  const fpd = bidderRequest.ortb2;
@@ -388,6 +390,67 @@ export function _getPlatform(context = window) {
388
390
  }
389
391
  return 'desktop';
390
392
  }
393
+ /**
394
+ * Check for local storage
395
+ * Generate a UUID for the user if one does not exist in local storage
396
+ * Store the UUID in local storage for future use
397
+ * @return {object} firstPartyData - Data object containing first party information
398
+ */
399
+ function loadOrCreateFirstPartyData() {
400
+ var localStorageEnabled;
401
+
402
+ var FIRST_PARTY_KEY = '_iiq_fdata';
403
+ var tryParse = function (data) {
404
+ try {
405
+ return JSON.parse(data);
406
+ } catch (err) {
407
+ return null;
408
+ }
409
+ };
410
+ var readData = function (key) {
411
+ if (hasLocalStorage()) {
412
+ return window.localStorage.getItem(key);
413
+ }
414
+ return null;
415
+ };
416
+ var hasLocalStorage = function () {
417
+ if (typeof localStorageEnabled != 'undefined') { return localStorageEnabled; } else {
418
+ try {
419
+ localStorageEnabled = !!window.localStorage;
420
+ return localStorageEnabled;
421
+ } catch (e) {
422
+ localStorageEnabled = false;
423
+ }
424
+ }
425
+ return false;
426
+ };
427
+ var generateGUID = function () {
428
+ var d = new Date().getTime();
429
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
430
+ var r = (d + Math.random() * 16) % 16 | 0;
431
+ d = Math.floor(d / 16);
432
+ return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);
433
+ });
434
+ };
435
+ var storeData = function (key, value) {
436
+ try {
437
+ if (hasLocalStorage()) {
438
+ window.localStorage.setItem(key, value);
439
+ }
440
+ } catch (error) {
441
+ return null;
442
+ }
443
+ };
444
+ var firstPartyData = tryParse(readData(FIRST_PARTY_KEY));
445
+ if (!firstPartyData || !firstPartyData.pcid) {
446
+ var firstPartyId = generateGUID();
447
+ firstPartyData = { pcid: firstPartyId, pcidDate: Date.now() };
448
+ } else if (firstPartyData && !firstPartyData.pcidDate) {
449
+ firstPartyData.pcidDate = Date.now();
450
+ }
451
+ storeData(FIRST_PARTY_KEY, JSON.stringify(firstPartyData));
452
+ return firstPartyData;
453
+ };
391
454
 
392
455
  function newRenderer(adUnitCode, bid, rendererOptions = {}) {
393
456
  const renderer = Renderer.install({
@@ -6,6 +6,7 @@ import { BANNER, VIDEO } from '../src/mediaTypes.js';
6
6
  import { config } from '../src/config.js';
7
7
  import { Renderer } from '../src/Renderer.js';
8
8
  import {parseDomain} from '../src/refererDetection.js';
9
+ import {getGlobal} from '../src/prebidGlobal.js';
9
10
 
10
11
  const BIDDER_CODE = 'tappx';
11
12
  const GVLID_CODE = 628;
@@ -473,7 +474,7 @@ function buildOneRequest(validBidRequests, bidderRequest) {
473
474
  payload.regs = regs;
474
475
  // < Payload
475
476
 
476
- let pbjsv = ($$PREBID_GLOBAL$$.version !== null) ? encodeURIComponent($$PREBID_GLOBAL$$.version) : -1;
477
+ let pbjsv = (getGlobal().version !== null) ? encodeURIComponent(getGlobal().version) : -1;
477
478
 
478
479
  return {
479
480
  method: 'POST',
@@ -3,6 +3,7 @@ import { ajax } from '../src/ajax.js';
3
3
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import CONSTANTS from '../src/constants.json';
6
+ import {getGlobal} from '../src/prebidGlobal.js';
6
7
 
7
8
  const emptyUrl = '';
8
9
  const analyticsType = 'endpoint';
@@ -123,7 +124,7 @@ function send(data, status) {
123
124
  search: {
124
125
  auctionTimestamp: auctionTimestamp,
125
126
  terceptAnalyticsVersion: terceptAnalyticsVersion,
126
- prebidVersion: $$PREBID_GLOBAL$$.version
127
+ prebidVersion: getGlobal().version
127
128
  }
128
129
  });
129
130
 
@@ -133,13 +133,15 @@ import adapterManager, {gdprDataHandler} from '../../src/adapterManager.js';
133
133
  import CONSTANTS from '../../src/constants.json';
134
134
  import {hook, module, ready as hooksReady} from '../../src/hook.js';
135
135
  import {buildEidPermissions, createEidsArray, USER_IDS_CONFIG} from './eids.js';
136
- import {getCoreStorageManager} from '../../src/storageManager.js';
136
+ import {getCoreStorageManager, STORAGE_TYPE_COOKIES, STORAGE_TYPE_LOCALSTORAGE} from '../../src/storageManager.js';
137
137
  import {
138
138
  cyrb53Hash,
139
139
  deepAccess,
140
+ deepSetValue,
140
141
  delayExecution,
141
142
  getPrebidInternal,
142
143
  isArray,
144
+ isEmpty,
143
145
  isEmptyStr,
144
146
  isFn,
145
147
  isGptPubadsDefined,
@@ -147,8 +149,7 @@ import {
147
149
  isPlainObject,
148
150
  logError,
149
151
  logInfo,
150
- logWarn,
151
- isEmpty, deepSetValue
152
+ logWarn
152
153
  } from '../../src/utils.js';
153
154
  import {getPPID as coreGetPPID} from '../../src/adserver.js';
154
155
  import {defer, GreedyPromise} from '../../src/utils/promise.js';
@@ -158,8 +159,8 @@ import {newMetrics, timedAuctionHook, useMetrics} from '../../src/utils/perfMetr
158
159
  import {findRootDomain} from '../../src/fpd/rootDomain.js';
159
160
 
160
161
  const MODULE_NAME = 'User ID';
161
- const COOKIE = 'cookie';
162
- const LOCAL_STORAGE = 'html5';
162
+ const COOKIE = STORAGE_TYPE_COOKIES;
163
+ const LOCAL_STORAGE = STORAGE_TYPE_LOCALSTORAGE;
163
164
  const DEFAULT_SYNC_DELAY = 500;
164
165
  const NO_AUCTION_DELAY = 0;
165
166
  const CONSENT_DATA_COOKIE_STORAGE_CONFIG = {
@@ -6,6 +6,7 @@ import CONSTANTS from '../src/constants.json';
6
6
  import {getStorageManager} from '../src/storageManager.js';
7
7
  import {getRefererInfo} from '../src/refererDetection.js';
8
8
  import {includes as strIncludes} from '../src/polyfill.js';
9
+ import {getGlobal} from '../src/prebidGlobal.js';
9
10
 
10
11
  const storage = getStorageManager();
11
12
  const yuktamediaAnalyticsVersion = 'v3.1.0';
@@ -34,7 +35,7 @@ const _pageInfo = {
34
35
  referer: referer,
35
36
  refererDomain: parseUrl(referer).host,
36
37
  yuktamediaAnalyticsVersion: yuktamediaAnalyticsVersion,
37
- prebidVersion: $$PREBID_GLOBAL$$.version
38
+ prebidVersion: getGlobal().version
38
39
  };
39
40
 
40
41
  function getParameterByName(param) {
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "prebid.js",
3
- "version": "7.42.0",
3
+ "version": "7.43.0",
4
4
  "description": "Header Bidding Management Library",
5
5
  "main": "src/prebid.js",
6
6
  "scripts": {
7
+ "serve": "gulp serve",
7
8
  "test": "gulp test",
8
9
  "lint": "gulp lint"
9
10
  },
@@ -28,6 +29,7 @@
28
29
  "prebid"
29
30
  ],
30
31
  "globalVarName": "pbjs",
32
+ "defineGlobal": true,
31
33
  "author": "the prebid.js contributors",
32
34
  "license": "Apache-2.0",
33
35
  "engines": {
@@ -1,4 +1,3 @@
1
-
2
1
  let t = require('@babel/core').types;
3
2
  let prebid = require('../package.json');
4
3
  const path = require('path');
@@ -28,10 +27,12 @@ function getNpmVersion(version) {
28
27
 
29
28
  module.exports = function(api, options) {
30
29
  const pbGlobal = options.globalVarName || prebid.globalVarName;
30
+ const defineGlobal = typeof (options.defineGlobal) !== 'undefined' ? options.defineGlobal : prebid.defineGlobal;
31
31
  const features = featureMap(options.disableFeatures);
32
32
  let replace = {
33
33
  '$prebid.version$': prebid.version,
34
34
  '$$PREBID_GLOBAL$$': pbGlobal,
35
+ '$$DEFINE_PREBID_GLOBAL$$': defineGlobal,
35
36
  '$$REPO_AND_VERSION$$': `${prebid.repository.url.split('/')[3]}_prebid_${prebid.version}`,
36
37
  '$$PREBID_DIST_URL_BASE$$': options.prebidDistUrlBase || `https://cdn.jsdelivr.net/npm/prebid.js@${getNpmVersion(prebid.version)}/dist/`
37
38
  };
@@ -42,6 +43,10 @@ module.exports = function(api, options) {
42
43
 
43
44
  const PREBID_ROOT = path.resolve(__dirname, '..');
44
45
 
46
+ function relPath(from, toRelToProjectRoot) {
47
+ return path.relative(path.dirname(from), path.join(PREBID_ROOT, toRelToProjectRoot));
48
+ }
49
+
45
50
  function getModuleName(filename) {
46
51
  const modPath = path.parse(path.relative(PREBID_ROOT, filename));
47
52
  if (modPath.ext.toLowerCase() !== '.js') {
@@ -63,8 +68,14 @@ module.exports = function(api, options) {
63
68
  Program(path, state) {
64
69
  const modName = getModuleName(state.filename);
65
70
  if (modName != null) {
66
- // append "registration" of module file to $$PREBID_GLOBAL$$.installedModules
67
- path.node.body.push(...api.parse(`window.${pbGlobal}.installedModules.push('${modName}');`, {filename: state.filename}).program.body);
71
+ // append "registration" of module file to getGlobal().installedModules
72
+ let i = 0;
73
+ let registerName;
74
+ do {
75
+ registerName = `__r${i++}`
76
+ } while (path.scope.hasBinding(registerName))
77
+ path.node.body.unshift(...api.parse(`import {registerModule as ${registerName}} from '${relPath(state.filename, 'src/prebidGlobal.js')}';`, {filename: state.filename}).program.body);
78
+ path.node.body.push(...api.parse(`${registerName}('${modName}');`, {filename: state.filename}).program.body);
68
79
  }
69
80
  },
70
81
  StringLiteral(path) {
@@ -72,7 +83,7 @@ module.exports = function(api, options) {
72
83
  if (path.node.value.includes(name)) {
73
84
  path.node.value = path.node.value.replace(
74
85
  new RegExp(escapeRegExp(name), 'g'),
75
- replace[name]
86
+ replace[name].toString()
76
87
  );
77
88
  }
78
89
  });
@@ -102,7 +113,7 @@ module.exports = function(api, options) {
102
113
  );
103
114
  } else {
104
115
  path.replaceWith(
105
- t.Identifier(replace[name])
116
+ t.Identifier(replace[name].toString())
106
117
  );
107
118
  }
108
119
  }
package/src/Renderer.js CHANGED
@@ -3,6 +3,9 @@ import {
3
3
  logError, logWarn, logMessage, deepAccess
4
4
  } from './utils.js';
5
5
  import {find} from './polyfill.js';
6
+ import {getGlobal} from './prebidGlobal.js';
7
+
8
+ const pbjsInstance = getGlobal();
6
9
  const moduleCode = 'outstream';
7
10
 
8
11
  /**
@@ -129,7 +132,7 @@ export function executeRenderer(renderer, bid, doc) {
129
132
  }
130
133
 
131
134
  function isRendererPreferredFromAdUnit(adUnitCode) {
132
- const adUnits = $$PREBID_GLOBAL$$.adUnits;
135
+ const adUnits = pbjsInstance.adUnits;
133
136
  const adUnit = find(adUnits, adUnit => {
134
137
  return adUnit.code === adUnitCode;
135
138
  });