prebid.js 10.3.0 → 10.5.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.
- package/.github/dependabot.yml +8 -0
- package/.github/workflows/run-unit-tests.yml +8 -0
- package/.github/workflows/test-chunk.yml +9 -0
- package/.github/workflows/test.yml +8 -0
- package/README.md +1 -14
- package/creative/renderers/display/renderer.js +5 -1
- package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
- package/dist/chunks/33acrossIdSystem.js +1 -1
- package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
- package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
- package/dist/chunks/adagioUtils.js +1 -1
- package/dist/chunks/addefendBidAdapter.js +1 -1
- package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
- package/dist/chunks/adgenerationBidAdapter.js +1 -1
- package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
- package/dist/chunks/adipoloBidAdapter.js +1 -1
- package/dist/chunks/adipoloBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
- package/dist/chunks/adlooxRtdProvider.js +1 -1
- package/dist/chunks/admaticBidAdapter.js +1 -1
- package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerBidAdapter.js +1 -1
- package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerIdSystem.metadata.js +1 -1
- package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
- package/dist/chunks/adotBidAdapter.metadata.js +1 -1
- package/dist/chunks/adpartnerBidAdapter.js +1 -1
- package/dist/chunks/adplayerproVideoProvider.js +1 -1
- package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryBidAdapter.js +1 -1
- package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
- package/dist/chunks/adrelevantisBidAdapter.js +1 -1
- package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
- package/dist/chunks/adstirBidAdapter.js +1 -1
- package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentBidAdapter.js +1 -1
- package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
- package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
- package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
- package/dist/chunks/advertisingBidAdapter.js +1 -1
- package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
- package/dist/chunks/adxcgBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
- package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
- package/dist/chunks/aidemBidAdapter.js +1 -1
- package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
- package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
- package/dist/chunks/ajaBidAdapter.js +1 -1
- package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/ampliffyBidAdapter.js +1 -1
- package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxBidAdapter.js +1 -1
- package/dist/chunks/amxBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxIdSystem.js +1 -1
- package/dist/chunks/amxIdSystem.metadata.js +1 -1
- package/dist/chunks/aniviewBidAdapter.js +1 -1
- package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
- package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
- package/dist/chunks/appierAnalyticsAdapter.js +1 -1
- package/dist/chunks/appierBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusBidAdapter.js +1 -1
- package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
- package/dist/chunks/appushBidAdapter.metadata.js +1 -1
- package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
- package/dist/chunks/asoBidAdapter.js +1 -1
- package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
- package/dist/chunks/axisBidAdapter.metadata.js +1 -1
- package/dist/chunks/axonixBidAdapter.js +1 -1
- package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
- package/dist/chunks/beachfrontBidAdapter.js +1 -1
- package/dist/chunks/beachfrontBidAdapter.metadata.js +1 -1
- package/dist/chunks/beopBidAdapter.js +1 -1
- package/dist/chunks/beopBidAdapter.metadata.js +1 -1
- package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidglassBidAdapter.js +1 -1
- package/dist/chunks/bidmaticBidAdapter.js +1 -1
- package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
- package/dist/chunks/big-richmediaBidAdapter.js +1 -1
- package/dist/chunks/bitmediaBidAdapter.js +1 -1
- package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/blueBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmtmBidAdapter.js +1 -1
- package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridBidAdapter.js +1 -1
- package/dist/chunks/bridBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridgewellBidAdapter.js +1 -1
- package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
- package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
- package/dist/chunks/buzzoolaBidAdapter.js +1 -1
- package/dist/chunks/cadent_aperture_mxBidAdapter.js +1 -1
- package/dist/chunks/cadent_aperture_mxBidAdapter.metadata.js +1 -1
- package/dist/chunks/carodaBidAdapter.js +1 -1
- package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
- package/dist/chunks/categoryTranslation.metadata.js +1 -1
- package/dist/chunks/ccxBidAdapter.js +1 -1
- package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
- package/dist/chunks/ceeIdSystem.metadata.js +1 -1
- package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/chtnwBidAdapter.js +1 -1
- package/dist/chunks/chunk-core.js +1 -1
- package/dist/chunks/codefuelBidAdapter.js +1 -1
- package/dist/chunks/compassBidAdapter.metadata.js +1 -1
- package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
- package/dist/chunks/concertAnalyticsAdapter.js +1 -1
- package/dist/chunks/concertBidAdapter.js +1 -1
- package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
- package/dist/chunks/connectIdSystem.metadata.js +1 -1
- package/dist/chunks/connectadBidAdapter.js +1 -1
- package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
- package/dist/chunks/consumableBidAdapter.js +1 -1
- package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
- package/dist/chunks/contxtfulBidAdapter.js +1 -1
- package/dist/chunks/contxtfulRtdProvider.js +1 -1
- package/dist/chunks/conversantBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
- package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
- package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
- package/dist/chunks/craftBidAdapter.js +1 -1
- package/dist/chunks/creative-renderer-display.js +1 -1
- package/dist/chunks/criteoBidAdapter.js +1 -1
- package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/criteoIdSystem.metadata.js +1 -1
- package/dist/chunks/cwireBidAdapter.js +1 -1
- package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
- package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
- package/dist/chunks/debugging-standalone.js +1 -1
- package/dist/chunks/debugging.metadata.js +1 -1
- package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
- package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
- package/dist/chunks/dependencies.json +7 -0
- package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
- package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
- package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
- package/dist/chunks/dspxBidAdapter.js +1 -1
- package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
- package/dist/chunks/dxkultureBidAdapter.js +1 -1
- package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
- package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
- package/dist/chunks/eplanningBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.metadata.js +1 -1
- package/dist/chunks/equativUtils.js +1 -1
- package/dist/chunks/eskimiBidAdapter.js +1 -1
- package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/euidIdSystem.js +1 -1
- package/dist/chunks/euidIdSystem.metadata.js +1 -1
- package/dist/chunks/exadsBidAdapter.js +1 -1
- package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/excoBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
- package/dist/chunks/finativeBidAdapter.js +1 -1
- package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
- package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
- package/dist/chunks/gmosspBidAdapter.js +1 -1
- package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsRtdProvider.js +1 -1
- package/dist/chunks/gridBidAdapter.js +1 -1
- package/dist/chunks/gridBidAdapter.metadata.js +1 -1
- package/dist/chunks/gumgumBidAdapter.js +1 -1
- package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
- package/dist/chunks/h12mediaBidAdapter.js +1 -1
- package/dist/chunks/hadronIdSystem.metadata.js +1 -1
- package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
- package/dist/chunks/holidBidAdapter.metadata.js +1 -1
- package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
- package/dist/chunks/hypelabBidAdapter.js +1 -1
- package/dist/chunks/id5AnalyticsAdapter.js +1 -1
- package/dist/chunks/id5IdSystem.js +1 -1
- package/dist/chunks/id5IdSystem.metadata.js +1 -1
- package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
- package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
- package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/inmobiBidAdapter.js +1 -1
- package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/innityBidAdapter.js +1 -1
- package/dist/chunks/innityBidAdapter.metadata.js +1 -1
- package/dist/chunks/insticatorBidAdapter.js +1 -1
- package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
- package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
- package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
- package/dist/chunks/intersectionRtdProvider.js +1 -1
- package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
- package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
- package/dist/chunks/ixBidAdapter.js +1 -1
- package/dist/chunks/ixBidAdapter.metadata.js +1 -1
- package/dist/chunks/jixieBidAdapter.js +1 -1
- package/dist/chunks/justIdSystem.metadata.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
- package/dist/chunks/kargoBidAdapter.js +1 -1
- package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
- package/dist/chunks/kimberliteBidAdapter.js +1 -1
- package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
- package/dist/chunks/lassoBidAdapter.js +1 -1
- package/dist/chunks/lifestreetBidAdapter.js +1 -1
- package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/liveIntentId.js +1 -1
- package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
- package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
- package/dist/chunks/livewrappedAnalyticsAdapter.js +1 -1
- package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
- package/dist/chunks/logicadBidAdapter.js +1 -1
- package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
- package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
- package/dist/chunks/luceadBidAdapter.js +1 -1
- package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
- package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mabidderBidAdapter.js +1 -1
- package/dist/chunks/madsenseBidAdapter.js +1 -1
- package/dist/chunks/madvertiseBidAdapter.js +1 -1
- package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
- package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
- package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaImpactUtils.js +1 -1
- package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaimpactBidAdapter.js +1 -1
- package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetBidAdapter.js +1 -1
- package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetUtils.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidBidAdapter.js +1 -1
- package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
- package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
- package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/missenaBidAdapter.js +1 -1
- package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiAnalyticsAdapter.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiIdSystem.js +1 -1
- package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
- package/dist/chunks/multibid.js +1 -1
- package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
- package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
- package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360Utils.js +1 -1
- package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
- package/dist/chunks/oguryBidAdapter.js +1 -1
- package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
- package/dist/chunks/omsBidAdapter.metadata.js +1 -1
- package/dist/chunks/onetagBidAdapter.js +1 -1
- package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
- package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
- package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
- package/dist/chunks/openxBidAdapter.js +1 -1
- package/dist/chunks/openxBidAdapter.metadata.js +1 -1
- package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
- package/dist/chunks/orbidderBidAdapter.js +1 -1
- package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
- package/dist/chunks/ortbConverter.js +1 -1
- package/dist/chunks/outbrainBidAdapter.js +1 -1
- package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
- package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/pairIdSystem.metadata.js +1 -1
- package/dist/chunks/pbsExtensions.js +1 -1
- package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
- package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
- package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prebid-core.metadata.js +1 -1
- package/dist/chunks/prebidServerBidAdapter.js +1 -1
- package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
- package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
- package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/publinkIdSystem.js +1 -1
- package/dist/chunks/publinkIdSystem.metadata.js +1 -1
- package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
- package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
- package/dist/chunks/pwbidBidAdapter.js +1 -1
- package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
- package/dist/chunks/pxyzBidAdapter.js +1 -1
- package/dist/chunks/qtBidAdapter.js +1 -1
- package/dist/chunks/qtBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastBidAdapter.js +1 -1
- package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
- package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
- package/dist/chunks/raynRtdProvider.js +1 -1
- package/dist/chunks/raynRtdProvider.metadata.js +1 -1
- package/dist/chunks/readpeakBidAdapter.js +1 -1
- package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
- package/dist/chunks/relaidoBidAdapter.js +1 -1
- package/dist/chunks/relayBidAdapter.metadata.js +1 -1
- package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/retailspotBidAdapter.js +1 -1
- package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
- package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseUtils.js +1 -1
- package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
- package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
- package/dist/chunks/rtbsapeBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
- package/dist/chunks/scatteredBidAdapter.js +1 -1
- package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedtagBidAdapter.js +1 -1
- package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
- package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
- package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
- package/dist/chunks/sevioBidAdapter.js +1 -1
- package/dist/chunks/sevioBidAdapter.metadata.js +1 -1
- package/dist/chunks/sharedIdSystem.metadata.js +1 -1
- package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
- package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
- package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
- package/dist/chunks/sizeMapping.js +1 -1
- package/dist/chunks/slimcutBidAdapter.js +1 -1
- package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
- package/dist/chunks/smaatoBidAdapter.js +1 -1
- package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartxBidAdapter.js +1 -1
- package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
- package/dist/chunks/snigelBidAdapter.js +1 -1
- package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonobiBidAdapter.js +1 -1
- package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/sovrnBidAdapter.js +1 -1
- package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
- package/dist/chunks/sparteoBidAdapter.js +1 -1
- package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
- package/dist/chunks/sspBCBidAdapter.js +1 -1
- package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
- package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
- package/dist/chunks/startioBidAdapter.metadata.js +1 -1
- package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/stvBidAdapter.js +1 -1
- package/dist/chunks/stvBidAdapter.metadata.js +1 -1
- package/dist/chunks/sublimeBidAdapter.js +1 -1
- package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaBidAdapter.js +1 -1
- package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
- package/dist/chunks/tadvertisingBidAdapter.js +1 -0
- package/dist/chunks/tadvertisingBidAdapter.metadata.js +1 -0
- package/dist/chunks/talkadsBidAdapter.js +1 -1
- package/dist/chunks/talkadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/tappxBidAdapter.js +1 -1
- package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsBidAdapter.js +1 -1
- package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsIdSystem.metadata.js +1 -1
- package/dist/chunks/tealBidAdapter.metadata.js +1 -1
- package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.js +1 -1
- package/dist/chunks/tncIdSystem.metadata.js +1 -1
- package/dist/chunks/topicsFpdModule.metadata.js +1 -1
- package/dist/chunks/trionBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/ttdBidAdapter.js +1 -1
- package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
- package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/chunks/ucfunnelBidAdapter.js +1 -1
- package/dist/chunks/ucfunnelBidAdapter.metadata.js +1 -1
- package/dist/chunks/uid2IdSystem.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/undertoneBidAdapter.js +1 -1
- package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
- package/dist/chunks/unrulyBidAdapter.js +1 -1
- package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
- package/dist/chunks/userId.js +1 -1
- package/dist/chunks/userId.metadata.js +1 -1
- package/dist/chunks/validationFpdModule.metadata.js +1 -1
- package/dist/chunks/ventesBidAdapter.js +1 -1
- package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
- package/dist/chunks/vidazooUtils.js +1 -1
- package/dist/chunks/videobyteBidAdapter.js +1 -1
- package/dist/chunks/videoreachBidAdapter.js +1 -1
- package/dist/chunks/videoreachBidAdapter.metadata.js +1 -1
- package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
- package/dist/chunks/viewdeosDXBidAdapter.js +1 -1
- package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
- package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
- package/dist/chunks/visxBidAdapter.js +1 -1
- package/dist/chunks/visxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
- package/dist/chunks/voxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
- package/dist/chunks/vuukleBidAdapter.js +1 -1
- package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
- package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
- package/dist/chunks/welectBidAdapter.metadata.js +1 -1
- package/dist/chunks/widespaceBidAdapter.js +1 -1
- package/dist/chunks/winrBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/yandexBidAdapter.js +1 -1
- package/dist/chunks/yieldlabBidAdapter.js +1 -1
- package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldliftBidAdapter.js +1 -1
- package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
- package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
- package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
- package/dist/not-for-prod/prebid.js +480 -478
- package/dist/src/creative/renderers/display/renderer.js +3 -1
- package/dist/src/creative/renderers/display/renderer.js.map +1 -1
- package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
- package/dist/src/libraries/equativUtils/equativUtils.js +1 -1
- package/dist/src/libraries/equativUtils/equativUtils.js.map +1 -1
- package/dist/src/libraries/greedy/greedyPromise.js +15 -7
- package/dist/src/libraries/greedy/greedyPromise.js.map +1 -1
- package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/shared.js +20 -0
- package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
- package/dist/src/libraries/mediaImpactUtils/index.js +93 -0
- package/dist/src/libraries/mediaImpactUtils/index.js.map +1 -1
- package/dist/src/libraries/medianetUtils/constants.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js +1 -1
- package/dist/src/libraries/ortbConverter/processors/default.js +1 -1
- package/dist/src/libraries/ortbConverter/processors/default.js.map +1 -1
- package/dist/src/libraries/pbsExtensions/processors/pbs.js +3 -1
- package/dist/src/libraries/pbsExtensions/processors/pbs.js.map +1 -1
- package/dist/src/libraries/riseUtils/index.js +1 -1
- package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
- package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
- package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
- package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adipoloBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
- package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
- package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
- package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
- package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
- package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
- package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxIdSystem.js +1 -1
- package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
- package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
- package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
- package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
- package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
- package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
- package/dist/src/metadata/modules/beachfrontBidAdapter.js +1 -1
- package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
- package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/cadent_aperture_mxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/categoryTranslation.js +1 -1
- package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
- package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connectIdSystem.js +1 -1
- package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
- package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
- package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
- package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
- package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/debugging.js +1 -1
- package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
- package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
- package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
- package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/euidIdSystem.js +1 -1
- package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
- package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
- package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
- package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
- package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/id5IdSystem.js +1 -1
- package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
- package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
- package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
- package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/justIdSystem.js +1 -1
- package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
- package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
- package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
- package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
- package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
- package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
- package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
- package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
- package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pairIdSystem.js +1 -1
- package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
- package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prebid-core.js +1 -1
- package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
- package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
- package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
- package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
- package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
- package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
- package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sevioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
- package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
- package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
- package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
- package/dist/src/metadata/modules/tadvertisingBidAdapter.js +2 -0
- package/dist/src/metadata/modules/talkadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
- package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
- package/dist/src/metadata/modules/tncIdSystem.js +1 -1
- package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
- package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
- package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ucfunnelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
- package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/userId.js +1 -1
- package/dist/src/metadata/modules/validationFpdModule.js +1 -1
- package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
- package/dist/src/metadata/modules/videoreachBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
- package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
- package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
- package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
- package/dist/src/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/modules/33acrossIdSystem.js +1 -1
- package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adagioBidAdapter.js +5 -2
- package/dist/src/modules/adagioBidAdapter.js.map +1 -1
- package/dist/src/modules/addefendBidAdapter.js +1 -1
- package/dist/src/modules/adgenerationBidAdapter.js +1 -1
- package/dist/src/modules/adipoloBidAdapter.js +2 -0
- package/dist/src/modules/adipoloBidAdapter.js.map +1 -1
- package/dist/src/modules/adlooxRtdProvider.js +1 -1
- package/dist/src/modules/admaticBidAdapter.js +12 -8
- package/dist/src/modules/admaticBidAdapter.js.map +1 -1
- package/dist/src/modules/admixerBidAdapter.js +3 -1
- package/dist/src/modules/admixerBidAdapter.js.map +1 -1
- package/dist/src/modules/adpartnerBidAdapter.js +5 -87
- package/dist/src/modules/adpartnerBidAdapter.js.map +1 -1
- package/dist/src/modules/adplayerproVideoProvider.js +3 -1
- package/dist/src/modules/adplayerproVideoProvider.js.map +1 -1
- package/dist/src/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/modules/adrelevantisBidAdapter.js +10 -4
- package/dist/src/modules/adrelevantisBidAdapter.js.map +1 -1
- package/dist/src/modules/adstirBidAdapter.js +1 -1
- package/dist/src/modules/adtelligentBidAdapter.js +4 -0
- package/dist/src/modules/adtelligentBidAdapter.js.map +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
- package/dist/src/modules/advertisingBidAdapter.js +5 -3
- package/dist/src/modules/advertisingBidAdapter.js.map +1 -1
- package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adxcgBidAdapter.js +1 -1
- package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
- package/dist/src/modules/aidemBidAdapter.js +0 -2
- package/dist/src/modules/aidemBidAdapter.js.map +1 -1
- package/dist/src/modules/ajaBidAdapter.js +1 -1
- package/dist/src/modules/ampliffyBidAdapter.js +0 -2
- package/dist/src/modules/ampliffyBidAdapter.js.map +1 -1
- package/dist/src/modules/amxBidAdapter.js +2 -2
- package/dist/src/modules/amxIdSystem.js +1 -1
- package/dist/src/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
- package/dist/src/modules/appnexusBidAdapter.js +5 -3
- package/dist/src/modules/appnexusBidAdapter.js.map +1 -1
- package/dist/src/modules/asoBidAdapter.js +1 -1
- package/dist/src/modules/axonixBidAdapter.js +1 -1
- package/dist/src/modules/beachfrontBidAdapter.js +2 -2
- package/dist/src/modules/beachfrontBidAdapter.js.map +1 -1
- package/dist/src/modules/beopBidAdapter.js +2 -2
- package/dist/src/modules/bidViewability.js +4 -1
- package/dist/src/modules/bidViewability.js.map +1 -1
- package/dist/src/modules/bidglassBidAdapter.js +1 -1
- package/dist/src/modules/bidmaticBidAdapter.js +1 -0
- package/dist/src/modules/bidmaticBidAdapter.js.map +1 -1
- package/dist/src/modules/bitmediaBidAdapter.js +1 -1
- package/dist/src/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/modules/bmtmBidAdapter.js +1 -1
- package/dist/src/modules/bridBidAdapter.js +1 -1
- package/dist/src/modules/bridgewellBidAdapter.js +1 -1
- package/dist/src/modules/buzzoolaBidAdapter.js +3 -1
- package/dist/src/modules/buzzoolaBidAdapter.js.map +1 -1
- package/dist/src/modules/cadent_aperture_mxBidAdapter.js +5 -10
- package/dist/src/modules/cadent_aperture_mxBidAdapter.js.map +1 -1
- package/dist/src/modules/carodaBidAdapter.js +1 -1
- package/dist/src/modules/ccxBidAdapter.js +0 -2
- package/dist/src/modules/ccxBidAdapter.js.map +1 -1
- package/dist/src/modules/chtnwBidAdapter.js +1 -1
- package/dist/src/modules/codefuelBidAdapter.js +3 -1
- package/dist/src/modules/codefuelBidAdapter.js.map +1 -1
- package/dist/src/modules/concertAnalyticsAdapter.js +3 -1
- package/dist/src/modules/concertAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/concertBidAdapter.js +1 -1
- package/dist/src/modules/connectadBidAdapter.js +1 -1
- package/dist/src/modules/consumableBidAdapter.js +1 -1
- package/dist/src/modules/contxtfulBidAdapter.js +1 -1
- package/dist/src/modules/contxtfulRtdProvider.js +4 -1
- package/dist/src/modules/contxtfulRtdProvider.js.map +1 -1
- package/dist/src/modules/conversantBidAdapter.js +1 -1
- package/dist/src/modules/craftBidAdapter.js +1 -1
- package/dist/src/modules/criteoBidAdapter.js +14 -10
- package/dist/src/modules/criteoBidAdapter.js.map +1 -1
- package/dist/src/modules/cwireBidAdapter.js +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/modules/dspxBidAdapter.js +4 -2
- package/dist/src/modules/dspxBidAdapter.js.map +1 -1
- package/dist/src/modules/dxkultureBidAdapter.js +1 -1
- package/dist/src/modules/eplanningBidAdapter.js +4 -2
- package/dist/src/modules/eplanningBidAdapter.js.map +1 -1
- package/dist/src/modules/equativBidAdapter.js +4 -2
- package/dist/src/modules/equativBidAdapter.js.map +1 -1
- package/dist/src/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/modules/euidIdSystem.js +1 -1
- package/dist/src/modules/exadsBidAdapter.js +1 -1
- package/dist/src/modules/excoBidAdapter.js +3 -3
- package/dist/src/modules/feedadBidAdapter.js +7 -5
- package/dist/src/modules/feedadBidAdapter.js.map +1 -1
- package/dist/src/modules/finativeBidAdapter.js +1 -1
- package/dist/src/modules/gmosspBidAdapter.js +1 -1
- package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/src/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/modules/greenbidsRtdProvider.js +1 -1
- package/dist/src/modules/gridBidAdapter.js +2 -2
- package/dist/src/modules/gumgumBidAdapter.js +2 -2
- package/dist/src/modules/h12mediaBidAdapter.js +1 -1
- package/dist/src/modules/hypelabBidAdapter.js +1 -1
- package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
- package/dist/src/modules/id5IdSystem.js +1 -1
- package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/modules/innityBidAdapter.js +0 -2
- package/dist/src/modules/innityBidAdapter.js.map +1 -1
- package/dist/src/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
- package/dist/src/modules/intersectionRtdProvider.js +3 -1
- package/dist/src/modules/intersectionRtdProvider.js.map +1 -1
- package/dist/src/modules/ixBidAdapter.js +1 -1
- package/dist/src/modules/jixieBidAdapter.js +1 -1
- package/dist/src/modules/justpremiumBidAdapter.js +3 -2
- package/dist/src/modules/justpremiumBidAdapter.js.map +1 -1
- package/dist/src/modules/kargoBidAdapter.js +3 -2
- package/dist/src/modules/kargoBidAdapter.js.map +1 -1
- package/dist/src/modules/kimberliteBidAdapter.js +1 -1
- package/dist/src/modules/lassoBidAdapter.js +1 -1
- package/dist/src/modules/lifestreetBidAdapter.js +1 -1
- package/dist/src/modules/livewrappedAnalyticsAdapter.js +10 -0
- package/dist/src/modules/livewrappedAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/logicadBidAdapter.js +1 -1
- package/dist/src/modules/luceadBidAdapter.js +1 -3
- package/dist/src/modules/luceadBidAdapter.js.map +1 -1
- package/dist/src/modules/mabidderBidAdapter.js +1 -1
- package/dist/src/modules/madsenseBidAdapter.js +1 -1
- package/dist/src/modules/madvertiseBidAdapter.js +3 -1
- package/dist/src/modules/madvertiseBidAdapter.js.map +1 -1
- package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
- package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
- package/dist/src/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/modules/mediafuseBidAdapter.js +5 -3
- package/dist/src/modules/mediafuseBidAdapter.js.map +1 -1
- package/dist/src/modules/mediaimpactBidAdapter.js +5 -87
- package/dist/src/modules/mediaimpactBidAdapter.js.map +1 -1
- package/dist/src/modules/medianetBidAdapter.js +1 -1
- package/dist/src/modules/mediasquareBidAdapter.js +2 -2
- package/dist/src/modules/mgidBidAdapter.js +1 -1
- package/dist/src/modules/missenaBidAdapter.js +1 -1
- package/dist/src/modules/mobilefuseBidAdapter.js +1 -2
- package/dist/src/modules/mobilefuseBidAdapter.js.map +1 -1
- package/dist/src/modules/mobkoiAnalyticsAdapter.js +17 -17
- package/dist/src/modules/mobkoiAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/mobkoiBidAdapter.js +19 -16
- package/dist/src/modules/mobkoiBidAdapter.js.map +1 -1
- package/dist/src/modules/mobkoiIdSystem.js +20 -11
- package/dist/src/modules/mobkoiIdSystem.js.map +1 -1
- package/dist/src/modules/multibid/index.d.ts +1 -1
- package/dist/src/modules/multibid/index.js +3 -1
- package/dist/src/modules/multibid/index.js.map +1 -1
- package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
- package/dist/src/modules/nobidBidAdapter.js +1 -1
- package/dist/src/modules/nodalsAiRtdProvider.js +1 -1
- package/dist/src/modules/oguryBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js +1 -1
- package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
- package/dist/src/modules/openxBidAdapter.js +7 -2
- package/dist/src/modules/openxBidAdapter.js.map +1 -1
- package/dist/src/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/modules/permutiveRtdProvider.js +2 -1
- package/dist/src/modules/permutiveRtdProvider.js.map +1 -1
- package/dist/src/modules/pixfutureBidAdapter.js +2 -2
- package/dist/src/modules/prebidServerBidAdapter/bidderConfig.js +3 -1
- package/dist/src/modules/prebidServerBidAdapter/bidderConfig.js.map +1 -1
- package/dist/src/modules/priceFloors.d.ts +2 -2
- package/dist/src/modules/priceFloors.js.map +1 -1
- package/dist/src/modules/publinkIdSystem.js +1 -1
- package/dist/src/modules/pubmaticAnalyticsAdapter.js +5 -3
- package/dist/src/modules/pubmaticAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/pubmaticBidAdapter.js +23 -3
- package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
- package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
- package/dist/src/modules/pwbidBidAdapter.js +0 -2
- package/dist/src/modules/pwbidBidAdapter.js.map +1 -1
- package/dist/src/modules/pxyzBidAdapter.js +1 -1
- package/dist/src/modules/qtBidAdapter.js +0 -2
- package/dist/src/modules/qtBidAdapter.js.map +1 -1
- package/dist/src/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/modules/raynRtdProvider.js +1 -3
- package/dist/src/modules/raynRtdProvider.js.map +1 -1
- package/dist/src/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/modules/relaidoBidAdapter.js +1 -1
- package/dist/src/modules/retailspotBidAdapter.js +1 -3
- package/dist/src/modules/retailspotBidAdapter.js.map +1 -1
- package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/modules/rtbsapeBidAdapter.js +3 -1
- package/dist/src/modules/rtbsapeBidAdapter.js.map +1 -1
- package/dist/src/modules/rubiconBidAdapter.js +31 -8
- package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
- package/dist/src/modules/scatteredBidAdapter.js +0 -2
- package/dist/src/modules/scatteredBidAdapter.js.map +1 -1
- package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/modules/sevioBidAdapter.js +4 -1
- package/dist/src/modules/sevioBidAdapter.js.map +1 -1
- package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/src/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/modules/sizeMapping.js +3 -1
- package/dist/src/modules/sizeMapping.js.map +1 -1
- package/dist/src/modules/slimcutBidAdapter.js +1 -3
- package/dist/src/modules/slimcutBidAdapter.js.map +1 -1
- package/dist/src/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/modules/smartxBidAdapter.js +1 -1
- package/dist/src/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/modules/snigelBidAdapter.js +1 -1
- package/dist/src/modules/sonaradsBidAdapter.js +2 -2
- package/dist/src/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/modules/stvBidAdapter.js +4 -2
- package/dist/src/modules/stvBidAdapter.js.map +1 -1
- package/dist/src/modules/sublimeBidAdapter.js +2 -2
- package/dist/src/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/modules/tadvertisingBidAdapter.js +252 -0
- package/dist/src/modules/tadvertisingBidAdapter.js.map +1 -0
- package/dist/src/modules/talkadsBidAdapter.js +0 -2
- package/dist/src/modules/talkadsBidAdapter.js.map +1 -1
- package/dist/src/modules/tappxBidAdapter.js +15 -2
- package/dist/src/modules/tappxBidAdapter.js.map +1 -1
- package/dist/src/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/modules/teadsBidAdapter.js +1 -1
- package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
- package/dist/src/modules/themoneytizerBidAdapter.js +1 -1
- package/dist/src/modules/trionBidAdapter.js +1 -1
- package/dist/src/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/modules/ttdBidAdapter.js +1 -1
- package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/src/modules/ucfunnelBidAdapter.js +0 -2
- package/dist/src/modules/ucfunnelBidAdapter.js.map +1 -1
- package/dist/src/modules/uid2IdSystem.js +1 -1
- package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/modules/userId/eids.js +8 -6
- package/dist/src/modules/userId/eids.js.map +1 -1
- package/dist/src/modules/ventesBidAdapter.js +6 -2
- package/dist/src/modules/ventesBidAdapter.js.map +1 -1
- package/dist/src/modules/videobyteBidAdapter.js +1 -1
- package/dist/src/modules/videoreachBidAdapter.js +0 -2
- package/dist/src/modules/videoreachBidAdapter.js.map +1 -1
- package/dist/src/modules/viewdeosDXBidAdapter.js +0 -1
- package/dist/src/modules/viewdeosDXBidAdapter.js.map +1 -1
- package/dist/src/modules/visxBidAdapter.js +1 -1
- package/dist/src/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/modules/widespaceBidAdapter.js +1 -1
- package/dist/src/modules/winrBidAdapter.js +4 -2
- package/dist/src/modules/winrBidAdapter.js.map +1 -1
- package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/modules/yandexBidAdapter.js +1 -1
- package/dist/src/modules/yieldlabBidAdapter.js +2 -1
- package/dist/src/modules/yieldlabBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldliftBidAdapter.js +0 -2
- package/dist/src/modules/yieldliftBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldmoBidAdapter.js +11 -5
- package/dist/src/modules/yieldmoBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/src/package.json +2 -3
- package/dist/src/public/tadvertisingBidAdapter.js +1 -0
- package/dist/src/src/activities/rules.js +2 -1
- package/dist/src/src/activities/rules.js.map +1 -1
- package/dist/src/src/adUnits.js +2 -1
- package/dist/src/src/adUnits.js.map +1 -1
- package/dist/src/src/adapterManager.js +0 -1
- package/dist/src/src/adapterManager.js.map +1 -1
- package/dist/src/src/adapters/bidderFactory.js +1 -1
- package/dist/src/src/adapters/bidderFactory.js.map +1 -1
- package/dist/src/src/debugging.js +1 -1
- package/dist/src/src/prebid.js +2 -2
- package/dist/src/src/prebid.public.js +1 -1
- package/dist/src/src/secureCreatives.js +11 -5
- package/dist/src/src/secureCreatives.js.map +1 -1
- package/dist/src/src/targeting.d.ts +4 -4
- package/dist/src/src/targeting.js +2 -1
- package/dist/src/src/targeting.js.map +1 -1
- package/dist/src/test/build-logic/disclosure_spec.js +23 -0
- package/dist/src/test/build-logic/disclosure_spec.js.map +1 -0
- package/dist/src/test/build-logic/gvl_spec.js +31 -0
- package/dist/src/test/build-logic/gvl_spec.js.map +1 -0
- package/dist/src/test/spec/auctionmanager_spec.js +4 -4
- package/dist/src/test/spec/auctionmanager_spec.js.map +1 -1
- package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
- package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/adpod_spec.js +3 -3
- package/dist/src/test/spec/modules/adpod_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adtelligentBidAdapter_spec.js +20 -6
- package/dist/src/test/spec/modules/adtelligentBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
- package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js +16 -3
- package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
- package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +6 -1
- package/dist/src/test/spec/modules/livewrappedAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/medianetAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/medianetAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +9 -9
- package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/mobkoiAnalyticsAdapter_spec.js +11 -13
- package/dist/src/test/spec/modules/mobkoiAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mobkoiBidAdapter_spec.js +23 -33
- package/dist/src/test/spec/modules/mobkoiBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mobkoiIdSystem_spec.js +10 -10
- package/dist/src/test/spec/modules/mobkoiIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
- package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
- package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/tadvertisingBidAdapter_spec.js +862 -0
- package/dist/src/test/spec/modules/tadvertisingBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/tappxBidAdapter_spec.js +41 -0
- package/dist/src/test/spec/modules/tappxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
- package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/unit/secureCreatives_spec.js +36 -0
- package/dist/src/test/spec/unit/secureCreatives_spec.js.map +1 -1
- package/dist/src/test/spec/videoCache_spec.js +10 -10
- package/dist/src/test/spec/videoCache_spec.js.map +1 -1
- package/eslint.config.js +2 -2
- package/gulpfile.js +3 -9
- package/libraries/creative-renderer-display/renderer.js +1 -1
- package/libraries/equativUtils/equativUtils.js +3 -1
- package/libraries/greedy/greedyPromise.js +10 -2
- package/libraries/liveIntentId/shared.js +16 -0
- package/libraries/mediaImpactUtils/index.js +116 -0
- package/libraries/ortbConverter/processors/default.js +3 -1
- package/libraries/pbsExtensions/processors/pbs.js +3 -1
- package/metadata/compileMetadata.mjs +24 -0
- package/metadata/gvl.mjs +22 -0
- package/metadata/modules/33acrossBidAdapter.json +1 -1
- package/metadata/modules/33acrossIdSystem.json +1 -1
- package/metadata/modules/acuityadsBidAdapter.json +1 -1
- package/metadata/modules/adagioBidAdapter.json +1 -1
- package/metadata/modules/adagioRtdProvider.json +1 -1
- package/metadata/modules/addefendBidAdapter.json +1 -1
- package/metadata/modules/adfBidAdapter.json +1 -1
- package/metadata/modules/adfusionBidAdapter.json +1 -1
- package/metadata/modules/adheseBidAdapter.json +1 -1
- package/metadata/modules/adipoloBidAdapter.json +8 -3
- package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
- package/metadata/modules/adkernelBidAdapter.json +4 -4
- package/metadata/modules/admaticBidAdapter.json +2 -2
- package/metadata/modules/admixerBidAdapter.json +1 -1
- package/metadata/modules/admixerIdSystem.json +1 -1
- package/metadata/modules/adnowBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusRtdProvider.json +1 -1
- package/metadata/modules/adotBidAdapter.json +1 -1
- package/metadata/modules/adponeBidAdapter.json +1 -1
- package/metadata/modules/adqueryBidAdapter.json +1 -1
- package/metadata/modules/adqueryIdSystem.json +1 -1
- package/metadata/modules/adrinoBidAdapter.json +1 -1
- package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
- package/metadata/modules/adtargetBidAdapter.json +1 -1
- package/metadata/modules/adtelligentBidAdapter.json +3 -3
- package/metadata/modules/adtelligentIdSystem.json +1 -1
- package/metadata/modules/aduptechBidAdapter.json +1 -1
- package/metadata/modules/adyoulikeBidAdapter.json +1 -1
- package/metadata/modules/aidemBidAdapter.json +3 -8
- package/metadata/modules/airgridRtdProvider.json +1 -1
- package/metadata/modules/alkimiBidAdapter.json +1 -1
- package/metadata/modules/ampliffyBidAdapter.json +3 -8
- package/metadata/modules/amxBidAdapter.json +1 -1
- package/metadata/modules/amxIdSystem.json +1 -1
- package/metadata/modules/aniviewBidAdapter.json +1 -1
- package/metadata/modules/anonymisedRtdProvider.json +1 -1
- package/metadata/modules/appierBidAdapter.json +1 -1
- package/metadata/modules/appnexusBidAdapter.json +5 -5
- package/metadata/modules/appushBidAdapter.json +1 -1
- package/metadata/modules/apstreamBidAdapter.json +1 -1
- package/metadata/modules/audiencerunBidAdapter.json +1 -1
- package/metadata/modules/axisBidAdapter.json +1 -1
- package/metadata/modules/azerionedgeRtdProvider.json +1 -1
- package/metadata/modules/beachfrontBidAdapter.json +8 -2
- package/metadata/modules/beopBidAdapter.json +1 -1
- package/metadata/modules/betweenBidAdapter.json +1 -1
- package/metadata/modules/bidmaticBidAdapter.json +1 -1
- package/metadata/modules/bidtheatreBidAdapter.json +1 -1
- package/metadata/modules/bliinkBidAdapter.json +1 -1
- package/metadata/modules/blockthroughBidAdapter.json +1 -1
- package/metadata/modules/blueBidAdapter.json +1 -1
- package/metadata/modules/bmsBidAdapter.json +1 -1
- package/metadata/modules/boldwinBidAdapter.json +1 -1
- package/metadata/modules/bridBidAdapter.json +1 -1
- package/metadata/modules/browsiBidAdapter.json +1 -1
- package/metadata/modules/bucksenseBidAdapter.json +1 -1
- package/metadata/modules/cadent_aperture_mxBidAdapter.json +30 -1
- package/metadata/modules/carodaBidAdapter.json +1 -1
- package/metadata/modules/categoryTranslation.json +1 -1
- package/metadata/modules/ccxBidAdapter.json +3 -8
- package/metadata/modules/ceeIdSystem.json +1 -1
- package/metadata/modules/chromeAiRtdProvider.json +1 -1
- package/metadata/modules/compassBidAdapter.json +1 -1
- package/metadata/modules/conceptxBidAdapter.json +1 -1
- package/metadata/modules/connatixBidAdapter.json +1 -1
- package/metadata/modules/connectIdSystem.json +1 -1
- package/metadata/modules/connectadBidAdapter.json +1 -1
- package/metadata/modules/contentexchangeBidAdapter.json +1 -1
- package/metadata/modules/conversantBidAdapter.json +1 -1
- package/metadata/modules/copper6sspBidAdapter.json +1 -1
- package/metadata/modules/cpmstarBidAdapter.json +1 -1
- package/metadata/modules/criteoBidAdapter.json +1 -1
- package/metadata/modules/criteoIdSystem.json +1 -1
- package/metadata/modules/cwireBidAdapter.json +1 -1
- package/metadata/modules/czechAdIdSystem.json +1 -1
- package/metadata/modules/dailymotionBidAdapter.json +1 -1
- package/metadata/modules/debugging.json +1 -1
- package/metadata/modules/deepintentBidAdapter.json +1 -1
- package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
- package/metadata/modules/dianomiBidAdapter.json +1 -1
- package/metadata/modules/digitalMatterBidAdapter.json +1 -1
- package/metadata/modules/distroscaleBidAdapter.json +1 -1
- package/metadata/modules/docereeAdManagerBidAdapter.json +1 -1
- package/metadata/modules/docereeBidAdapter.json +1 -1
- package/metadata/modules/dspxBidAdapter.json +1 -1
- package/metadata/modules/e_volutionBidAdapter.json +1 -1
- package/metadata/modules/edge226BidAdapter.json +1 -1
- package/metadata/modules/equativBidAdapter.json +1 -1
- package/metadata/modules/eskimiBidAdapter.json +1 -1
- package/metadata/modules/etargetBidAdapter.json +1 -1
- package/metadata/modules/euidIdSystem.json +1 -1
- package/metadata/modules/exadsBidAdapter.json +1 -1
- package/metadata/modules/feedadBidAdapter.json +1 -1
- package/metadata/modules/fwsspBidAdapter.json +1 -1
- package/metadata/modules/gamoshiBidAdapter.json +1 -1
- package/metadata/modules/glomexBidAdapter.json +1 -1
- package/metadata/modules/goldbachBidAdapter.json +1 -1
- package/metadata/modules/greenbidsBidAdapter.json +1 -1
- package/metadata/modules/gridBidAdapter.json +1 -1
- package/metadata/modules/gumgumBidAdapter.json +1 -1
- package/metadata/modules/hadronIdSystem.json +1 -1
- package/metadata/modules/hadronRtdProvider.json +1 -1
- package/metadata/modules/holidBidAdapter.json +1 -1
- package/metadata/modules/hybridBidAdapter.json +1 -1
- package/metadata/modules/id5IdSystem.json +1 -1
- package/metadata/modules/identityLinkIdSystem.json +1 -1
- package/metadata/modules/illuminBidAdapter.json +1 -1
- package/metadata/modules/impactifyBidAdapter.json +1 -1
- package/metadata/modules/improvedigitalBidAdapter.json +1 -1
- package/metadata/modules/inmobiBidAdapter.json +1 -1
- package/metadata/modules/innityBidAdapter.json +3 -8
- package/metadata/modules/insticatorBidAdapter.json +1 -1
- package/metadata/modules/intentIqIdSystem.json +1 -1
- package/metadata/modules/invibesBidAdapter.json +1 -1
- package/metadata/modules/ipromBidAdapter.json +1 -1
- package/metadata/modules/ixBidAdapter.json +1 -1
- package/metadata/modules/justIdSystem.json +1 -1
- package/metadata/modules/justpremiumBidAdapter.json +1 -1
- package/metadata/modules/jwplayerBidAdapter.json +1 -1
- package/metadata/modules/kargoBidAdapter.json +1 -1
- package/metadata/modules/kueezRtbBidAdapter.json +1 -1
- package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
- package/metadata/modules/liveIntentIdSystem.json +1 -1
- package/metadata/modules/liveIntentRtdProvider.json +1 -1
- package/metadata/modules/livewrappedBidAdapter.json +1 -1
- package/metadata/modules/loopmeBidAdapter.json +1 -1
- package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
- package/metadata/modules/luceadBidAdapter.json +3 -8
- package/metadata/modules/luponmediaBidAdapter.json +1 -1
- package/metadata/modules/madvertiseBidAdapter.json +1 -1
- package/metadata/modules/marsmediaBidAdapter.json +1 -1
- package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
- package/metadata/modules/mediaforceBidAdapter.json +1 -1
- package/metadata/modules/mediafuseBidAdapter.json +1 -1
- package/metadata/modules/mediagoBidAdapter.json +1 -1
- package/metadata/modules/mediakeysBidAdapter.json +1 -1
- package/metadata/modules/medianetBidAdapter.json +2 -2
- package/metadata/modules/mediasquareBidAdapter.json +1 -1
- package/metadata/modules/mgidBidAdapter.json +1 -1
- package/metadata/modules/mgidRtdProvider.json +1 -1
- package/metadata/modules/mgidXBidAdapter.json +1 -1
- package/metadata/modules/minutemediaBidAdapter.json +1 -1
- package/metadata/modules/missenaBidAdapter.json +1 -1
- package/metadata/modules/mobianRtdProvider.json +1 -1
- package/metadata/modules/mobilefuseBidAdapter.json +3 -8
- package/metadata/modules/mobkoiBidAdapter.json +1 -1
- package/metadata/modules/mobkoiIdSystem.json +1 -1
- package/metadata/modules/nativeryBidAdapter.json +1 -1
- package/metadata/modules/nativoBidAdapter.json +1 -1
- package/metadata/modules/newspassidBidAdapter.json +1 -1
- package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
- package/metadata/modules/nextrollBidAdapter.json +1 -1
- package/metadata/modules/nexx360BidAdapter.json +5 -5
- package/metadata/modules/nobidBidAdapter.json +2 -2
- package/metadata/modules/nodalsAiRtdProvider.json +1 -1
- package/metadata/modules/novatiqIdSystem.json +1 -1
- package/metadata/modules/oguryBidAdapter.json +1 -1
- package/metadata/modules/omsBidAdapter.json +1 -1
- package/metadata/modules/onetagBidAdapter.json +1 -1
- package/metadata/modules/openwebBidAdapter.json +1 -1
- package/metadata/modules/openxBidAdapter.json +1 -1
- package/metadata/modules/operaadsBidAdapter.json +1 -1
- package/metadata/modules/optidigitalBidAdapter.json +1 -1
- package/metadata/modules/optoutBidAdapter.json +1 -1
- package/metadata/modules/orbidderBidAdapter.json +1 -1
- package/metadata/modules/outbrainBidAdapter.json +1 -1
- package/metadata/modules/ozoneBidAdapter.json +1 -1
- package/metadata/modules/pairIdSystem.json +1 -1
- package/metadata/modules/performaxBidAdapter.json +1 -1
- package/metadata/modules/pgamsspBidAdapter.json +1 -1
- package/metadata/modules/pixfutureBidAdapter.json +1 -1
- package/metadata/modules/playdigoBidAdapter.json +1 -1
- package/metadata/modules/prebid-core.json +2 -2
- package/metadata/modules/precisoBidAdapter.json +1 -1
- package/metadata/modules/prismaBidAdapter.json +1 -1
- package/metadata/modules/programmaticXBidAdapter.json +1 -1
- package/metadata/modules/proxistoreBidAdapter.json +1 -1
- package/metadata/modules/publinkIdSystem.json +1 -1
- package/metadata/modules/pubmaticBidAdapter.json +1 -1
- package/metadata/modules/pubmaticIdSystem.json +1 -1
- package/metadata/modules/pulsepointBidAdapter.json +1 -1
- package/metadata/modules/pwbidBidAdapter.json +3 -8
- package/metadata/modules/qtBidAdapter.json +3 -8
- package/metadata/modules/quantcastBidAdapter.json +1 -1
- package/metadata/modules/quantcastIdSystem.json +1 -1
- package/metadata/modules/r2b2BidAdapter.json +1 -1
- package/metadata/modules/raynRtdProvider.json +3 -95
- package/metadata/modules/readpeakBidAdapter.json +1 -1
- package/metadata/modules/relayBidAdapter.json +1 -1
- package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
- package/metadata/modules/resetdigitalBidAdapter.json +1 -1
- package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
- package/metadata/modules/retailspotBidAdapter.json +3 -8
- package/metadata/modules/revcontentBidAdapter.json +1 -1
- package/metadata/modules/rhythmoneBidAdapter.json +1 -1
- package/metadata/modules/richaudienceBidAdapter.json +1 -1
- package/metadata/modules/riseBidAdapter.json +2 -2
- package/metadata/modules/rixengineBidAdapter.json +1 -1
- package/metadata/modules/rtbhouseBidAdapter.json +1 -1
- package/metadata/modules/rubiconBidAdapter.json +1 -1
- package/metadata/modules/scatteredBidAdapter.json +3 -8
- package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
- package/metadata/modules/seedtagBidAdapter.json +1 -1
- package/metadata/modules/semantiqRtdProvider.json +1 -1
- package/metadata/modules/setupadBidAdapter.json +1 -1
- package/metadata/modules/sevioBidAdapter.json +1 -1
- package/metadata/modules/sharedIdSystem.json +1 -1
- package/metadata/modules/sharethroughBidAdapter.json +1 -1
- package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
- package/metadata/modules/silvermobBidAdapter.json +1 -1
- package/metadata/modules/sirdataRtdProvider.json +1 -1
- package/metadata/modules/slimcutBidAdapter.json +5 -10
- package/metadata/modules/smaatoBidAdapter.json +1 -1
- package/metadata/modules/smartadserverBidAdapter.json +1 -1
- package/metadata/modules/smartxBidAdapter.json +1 -1
- package/metadata/modules/smartyadsBidAdapter.json +1 -1
- package/metadata/modules/smilewantedBidAdapter.json +1 -1
- package/metadata/modules/snigelBidAdapter.json +1 -1
- package/metadata/modules/sonaradsBidAdapter.json +1 -1
- package/metadata/modules/sonobiBidAdapter.json +1 -1
- package/metadata/modules/sovrnBidAdapter.json +3 -3
- package/metadata/modules/sparteoBidAdapter.json +1 -1
- package/metadata/modules/ssmasBidAdapter.json +1 -1
- package/metadata/modules/sspBCBidAdapter.json +1 -1
- package/metadata/modules/stackadaptBidAdapter.json +1 -1
- package/metadata/modules/startioBidAdapter.json +1 -1
- package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
- package/metadata/modules/stvBidAdapter.json +1 -1
- package/metadata/modules/sublimeBidAdapter.json +1 -1
- package/metadata/modules/taboolaBidAdapter.json +1 -1
- package/metadata/modules/taboolaIdSystem.json +1 -1
- package/metadata/modules/tadvertisingBidAdapter.json +18 -0
- package/metadata/modules/talkadsBidAdapter.json +2 -1
- package/metadata/modules/tappxBidAdapter.json +1 -1
- package/metadata/modules/targetVideoBidAdapter.json +1 -1
- package/metadata/modules/teadsBidAdapter.json +1 -1
- package/metadata/modules/teadsIdSystem.json +1 -1
- package/metadata/modules/tealBidAdapter.json +1 -1
- package/metadata/modules/tncIdSystem.json +1 -1
- package/metadata/modules/topicsFpdModule.json +1 -1
- package/metadata/modules/tripleliftBidAdapter.json +1 -1
- package/metadata/modules/ttdBidAdapter.json +1 -1
- package/metadata/modules/twistDigitalBidAdapter.json +1 -1
- package/metadata/modules/ucfunnelBidAdapter.json +2 -1
- package/metadata/modules/underdogmediaBidAdapter.json +1 -1
- package/metadata/modules/undertoneBidAdapter.json +1 -1
- package/metadata/modules/unifiedIdSystem.json +1 -1
- package/metadata/modules/unrulyBidAdapter.json +1 -1
- package/metadata/modules/userId.json +1 -1
- package/metadata/modules/validationFpdModule.json +1 -1
- package/metadata/modules/vidazooBidAdapter.json +1 -1
- package/metadata/modules/videoreachBidAdapter.json +2 -1
- package/metadata/modules/vidoomyBidAdapter.json +1 -1
- package/metadata/modules/viewdeosDXBidAdapter.json +3 -8
- package/metadata/modules/viouslyBidAdapter.json +1 -1
- package/metadata/modules/visxBidAdapter.json +1 -1
- package/metadata/modules/vlybyBidAdapter.json +1 -1
- package/metadata/modules/voxBidAdapter.json +1 -1
- package/metadata/modules/vrtcalBidAdapter.json +1 -1
- package/metadata/modules/vuukleBidAdapter.json +1 -1
- package/metadata/modules/weboramaRtdProvider.json +1 -1
- package/metadata/modules/welectBidAdapter.json +1 -1
- package/metadata/modules/yahooAdsBidAdapter.json +1 -1
- package/metadata/modules/yieldlabBidAdapter.json +1 -1
- package/metadata/modules/yieldliftBidAdapter.json +3 -8
- package/metadata/modules/yieldloveBidAdapter.json +1 -1
- package/metadata/modules/yieldmoBidAdapter.json +1 -1
- package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
- package/metadata/modules/zeta_globalBidAdapter.json +1 -1
- package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
- package/metadata/modules.json +56 -21
- package/metadata/storageDisclosure.mjs +5 -19
- package/modules/adagioBidAdapter.js +6 -1
- package/modules/adipoloBidAdapter.js +2 -0
- package/modules/admaticBidAdapter.js +6 -2
- package/modules/admixerBidAdapter.js +3 -1
- package/modules/adpartnerBidAdapter.js +5 -107
- package/modules/adplayerproVideoProvider.js +3 -1
- package/modules/adrelevantisBidAdapter.js +9 -3
- package/modules/adtelligentBidAdapter.js +6 -0
- package/modules/advertisingBidAdapter.js +3 -1
- package/modules/aidemBidAdapter.js +0 -2
- package/modules/ampliffyBidAdapter.js +0 -2
- package/modules/appnexusBidAdapter.js +3 -1
- package/modules/asoBidAdapter.md +1 -1
- package/modules/beachfrontBidAdapter.js +2 -3
- package/modules/bidViewability.js +4 -1
- package/modules/bidmaticBidAdapter.js +1 -0
- package/modules/buzzoolaBidAdapter.js +3 -1
- package/modules/cadent_aperture_mxBidAdapter.js +5 -6
- package/modules/ccxBidAdapter.js +0 -2
- package/modules/codefuelBidAdapter.js +3 -1
- package/modules/concertAnalyticsAdapter.js +3 -1
- package/modules/contxtfulRtdProvider.js +4 -1
- package/modules/criteoBidAdapter.js +6 -2
- package/modules/dspxBidAdapter.js +3 -1
- package/modules/eplanningBidAdapter.js +3 -1
- package/modules/equativBidAdapter.js +3 -1
- package/modules/exadsBidAdapter.md +1 -1
- package/modules/feedadBidAdapter.js +5 -3
- package/modules/innityBidAdapter.js +0 -2
- package/modules/intersectionRtdProvider.js +3 -1
- package/modules/ixBidAdapter.md +1 -1
- package/modules/justpremiumBidAdapter.js +2 -1
- package/modules/kargoBidAdapter.js +2 -1
- package/modules/limelightDigitalBidAdapter.md +1 -1
- package/modules/livewrappedAnalyticsAdapter.js +13 -0
- package/modules/lkqdBidAdapter.md +1 -1
- package/modules/luceadBidAdapter.js +0 -2
- package/modules/madvertiseBidAdapter.js +3 -1
- package/modules/mediafuseBidAdapter.js +3 -1
- package/modules/mediaimpactBidAdapter.js +5 -107
- package/modules/mobilefuseBidAdapter.js +0 -1
- package/modules/mobkoiAnalyticsAdapter.js +17 -22
- package/modules/mobkoiBidAdapter.js +21 -17
- package/modules/mobkoiIdSystem.js +23 -13
- package/modules/multibid/index.ts +3 -1
- package/modules/openxBidAdapter.js +6 -1
- package/modules/operaadsBidAdapter.md +1 -1
- package/modules/permutiveRtdProvider.js +2 -1
- package/modules/prebidServerBidAdapter/bidderConfig.js +3 -1
- package/modules/priceFloors.ts +2 -2
- package/modules/pstudioBidAdapter.md +1 -1
- package/modules/pubmaticAnalyticsAdapter.js +3 -3
- package/modules/pubmaticBidAdapter.js +21 -1
- package/modules/pubmaticBidAdapter.md +1 -1
- package/modules/pulsepointBidAdapter.js +1 -0
- package/modules/pwbidBidAdapter.js +0 -2
- package/modules/qtBidAdapter.js +0 -2
- package/modules/raynRtdProvider.js +0 -2
- package/modules/retailspotBidAdapter.js +0 -2
- package/modules/rtbsapeBidAdapter.js +3 -1
- package/modules/rubiconBidAdapter.js +19 -12
- package/modules/scatteredBidAdapter.js +0 -2
- package/modules/sevioBidAdapter.js +4 -1
- package/modules/sizeMapping.js +3 -1
- package/modules/slimcutBidAdapter.js +1 -2
- package/modules/stvBidAdapter.js +3 -1
- package/modules/tadvertisingBidAdapter.js +279 -0
- package/modules/tadvertisingBidAdapter.md +74 -0
- package/modules/talkadsBidAdapter.js +0 -2
- package/modules/tappxBidAdapter.js +17 -1
- package/modules/ucfunnelBidAdapter.js +0 -2
- package/modules/userId/eids.js +3 -1
- package/modules/vdoaiBidAdapter.md +1 -1
- package/modules/ventesBidAdapter.js +6 -2
- package/modules/videoreachBidAdapter.js +0 -2
- package/modules/viewdeosDXBidAdapter.js +0 -1
- package/modules/winrBidAdapter.js +3 -1
- package/modules/yieldlabBidAdapter.js +2 -1
- package/modules/yieldliftBidAdapter.js +0 -2
- package/modules/yieldmoBidAdapter.js +9 -3
- package/package.json +2 -3
- package/plugins/pbjsGlobals.js +8 -5
- package/src/activities/rules.js +2 -1
- package/src/adUnits.ts +2 -1
- package/src/adapterManager.ts +0 -1
- package/src/adapters/bidderFactory.ts +3 -1
- package/src/secureCreatives.js +11 -5
- package/src/targeting.ts +5 -4
- package/test/build-logic/disclosure_spec.mjs +26 -0
- package/test/build-logic/gvl_spec.mjs +32 -0
- package/test/spec/auctionmanager_spec.js +4 -4
- package/test/spec/modules/adpod_spec.js +3 -3
- package/test/spec/modules/adtelligentBidAdapter_spec.js +11 -5
- package/test/spec/modules/bidmaticBidAdapter_spec.js +13 -0
- package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
- package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +9 -1
- package/test/spec/modules/medianetAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/mobkoiAnalyticsAdapter_spec.js +13 -14
- package/test/spec/modules/mobkoiBidAdapter_spec.js +25 -27
- package/test/spec/modules/mobkoiIdSystem_spec.js +10 -10
- package/test/spec/modules/openxBidAdapter_spec.js +129 -0
- package/test/spec/modules/pubmaticBidAdapter_spec.js +70 -0
- package/test/spec/modules/tadvertisingBidAdapter_spec.js +965 -0
- package/test/spec/modules/tappxBidAdapter_spec.js +46 -3
- package/test/spec/unit/secureCreatives_spec.js +40 -0
- package/test/spec/videoCache_spec.js +10 -10
- package/wdio.shared.conf.js +0 -5
- package/dist/src/test/fake-server/fixtures/longform/longform_biddersettings_1/request.json +0 -387
- package/dist/src/test/fake-server/fixtures/longform/longform_biddersettings_1/response.json +0 -114
- package/dist/src/test/fake-server/fixtures/longform/longform_biddersettings_2/request.json +0 -137
- package/dist/src/test/fake-server/fixtures/longform/longform_biddersettings_2/response.json +0 -188
- package/dist/src/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/request.json +0 -402
- package/dist/src/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/response.json +0 -294
- package/dist/src/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/request.json +0 -142
- package/dist/src/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/response.json +0 -188
- package/dist/src/test/fake-server/fixtures/longform/longform_priceGran_1/request.json +0 -387
- package/dist/src/test/fake-server/fixtures/longform/longform_priceGran_1/response.json +0 -366
- package/dist/src/test/fake-server/fixtures/longform/longform_priceGran_2/request.json +0 -137
- package/dist/src/test/fake-server/fixtures/longform/longform_priceGran_2/response.json +0 -188
- package/dist/src/test/fake-server/fixtures/longform/longform_requireExactDuration_1/request.json +0 -401
- package/dist/src/test/fake-server/fixtures/longform/longform_requireExactDuration_1/response.json +0 -330
- package/dist/src/test/fake-server/fixtures/longform/longform_requireExactDuration_2/request.json +0 -141
- package/dist/src/test/fake-server/fixtures/longform/longform_requireExactDuration_2/response.json +0 -188
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/request.json +0 -386
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/response.json +0 -654
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/request.json +0 -136
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/response.json +0 -224
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/request.json +0 -387
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/response.json +0 -366
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/request.json +0 -137
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/response.json +0 -224
- package/dist/src/test/spec/e2e/longform/basic_w_bidderSettings.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_w_bidderSettings.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_w_custom_adserver_translation.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_w_custom_adserver_translation.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_w_priceGran.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_w_priceGran.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_w_requireExactDuration.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_w_requireExactDuration.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_wo_brandCategoryExclusion.spec.js +0 -51
- package/dist/src/test/spec/e2e/longform/basic_wo_brandCategoryExclusion.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_wo_requireExactDuration.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_wo_requireExactDuration.spec.js.map +0 -1
- package/test/fake-server/fixtures/longform/longform_biddersettings_1/description.md +0 -41
- package/test/fake-server/fixtures/longform/longform_biddersettings_1/request.json +0 -387
- package/test/fake-server/fixtures/longform/longform_biddersettings_1/response.json +0 -114
- package/test/fake-server/fixtures/longform/longform_biddersettings_2/description.md +0 -28
- package/test/fake-server/fixtures/longform/longform_biddersettings_2/request.json +0 -137
- package/test/fake-server/fixtures/longform/longform_biddersettings_2/response.json +0 -188
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/description.md +0 -43
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/request.json +0 -402
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/response.json +0 -294
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/description.md +0 -43
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/request.json +0 -142
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/response.json +0 -188
- package/test/fake-server/fixtures/longform/longform_priceGran_1/description.md +0 -62
- package/test/fake-server/fixtures/longform/longform_priceGran_1/request.json +0 -387
- package/test/fake-server/fixtures/longform/longform_priceGran_1/response.json +0 -366
- package/test/fake-server/fixtures/longform/longform_priceGran_2/description.md +0 -62
- package/test/fake-server/fixtures/longform/longform_priceGran_2/request.json +0 -137
- package/test/fake-server/fixtures/longform/longform_priceGran_2/response.json +0 -188
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_1/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_1/request.json +0 -401
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_1/response.json +0 -330
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_2/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_2/request.json +0 -141
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_2/response.json +0 -188
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/request.json +0 -386
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/response.json +0 -654
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/request.json +0 -136
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/response.json +0 -224
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/request.json +0 -387
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/response.json +0 -366
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/request.json +0 -137
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/response.json +0 -224
- package/test/spec/e2e/longform/basic_w_bidderSettings.spec.js +0 -64
- package/test/spec/e2e/longform/basic_w_custom_adserver_translation.spec.js +0 -64
- package/test/spec/e2e/longform/basic_w_priceGran.spec.js +0 -64
- package/test/spec/e2e/longform/basic_w_requireExactDuration.spec.js +0 -64
- package/test/spec/e2e/longform/basic_wo_brandCategoryExclusion.spec.js +0 -59
- package/test/spec/e2e/longform/basic_wo_requireExactDuration.spec.js +0 -64
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openxBidAdapter.js","names":["registerModule","__r0","config","registerBidder","utils","mergeDeep","BANNER","NATIVE","VIDEO","ortbConverter","bidderConfig","bidderVersion","REQUEST_URL","SYNC_URL","DEFAULT_PH","spec","code","gvlid","supportedMediaTypes","isBidRequestValid","buildRequests","interpretResponse","getUserSyncs","converter","context","netRevenue","ttl","nativeRequest","eventtrackers","event","methods","imp","buildImp","bidRequest","tagid","params","unit","ext","divid","adUnitCode","customParams","deepSetValue","customFloor","bidfloor","request","buildRequest","imps","bidderRequest","req","at","bc","pv","bid","bidRequests","coppa","doNotTrack","platform","delDomain","response_template_name","test","bidResponse","buildBidResponse","meta","networkId","dsp_id","advertiserId","buyer_id","brandId","brand_id","response","buildResponse","bidResponses","ortbResponse","ortbRequest","fledgeAuctionConfigs","deepAccess","Object","entries","map","_ref","bidId","cfg","assign","auctionSignals","ortb2Imp","impContext","bids","paapi","overrides","setBidFloor","floor","currency","bidfloorcur","video","orig","videoParams","mediaTypes","hasDelDomainOrPlatform","videoRequests","filter","isVideoBidRequest","bannerAndNativeRequests","isBannerBidRequest","isNativeBidRequest","undefined","requests","length","createRequest","forEach","push","mediaType","method","url","getConfig","data","toORTB","isNotVideoOrNativeBid","resp","body","nbr","fromORTB","syncOptions","responses","gdprConsent","uspConsent","iframeEnabled","pixelEnabled","pixelType","queryParamStrings","syncUrl","gdprApplies","encodeURIComponent","consentString","type","join"],"sourceRoot":"../../..","sources":["modules/openxBidAdapter.js"],"sourcesContent":["import {config} from '../src/config.js';\nimport {registerBidder} from '../src/adapters/bidderFactory.js';\nimport * as utils from '../src/utils.js';\nimport {mergeDeep} from '../src/utils.js';\nimport {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';\nimport {ortbConverter} from '../libraries/ortbConverter/converter.js';\n\nconst bidderConfig = 'hb_pb_ortb';\nconst bidderVersion = '2.0';\nexport const REQUEST_URL = 'https://rtb.openx.net/openrtbb/prebidjs';\nexport const SYNC_URL = 'https://u.openx.net/w/1.0/pd';\nexport const DEFAULT_PH = '2d1251ae-7f3a-47cf-bd2a-2f288854a0ba';\nexport const spec = {\n code: 'openx',\n gvlid: 69,\n supportedMediaTypes: [BANNER, VIDEO, NATIVE],\n isBidRequestValid,\n buildRequests,\n interpretResponse,\n getUserSyncs\n};\n\nregisterBidder(spec);\n\nconst converter = ortbConverter({\n context: {\n netRevenue: true,\n ttl: 300,\n nativeRequest: {\n eventtrackers: [\n {event: 1, methods: [1, 2]},\n ]\n }\n },\n imp(buildImp, bidRequest, context) {\n const imp = buildImp(bidRequest, context);\n mergeDeep(imp, {\n tagid: bidRequest.params.unit,\n ext: {\n divid: bidRequest.adUnitCode\n }\n });\n if (bidRequest.params.customParams) {\n utils.deepSetValue(imp, 'ext.customParams', bidRequest.params.customParams);\n }\n if (bidRequest.params.customFloor && !imp.bidfloor) {\n imp.bidfloor = bidRequest.params.customFloor;\n }\n return imp;\n },\n request(buildRequest, imps, bidderRequest, context) {\n const req = buildRequest(imps, bidderRequest, context);\n mergeDeep(req, {\n at: 1,\n ext: {\n bc: `${bidderConfig}_${bidderVersion}`,\n pv: '$prebid.version$'\n }\n })\n const bid = context.bidRequests[0];\n if (bid.params.coppa) {\n utils.deepSetValue(req, 'regs.coppa', 1);\n }\n if (bid.params.doNotTrack) {\n utils.deepSetValue(req, 'device.dnt', 1);\n }\n if (bid.params.platform) {\n utils.deepSetValue(req, 'ext.platform', bid.params.platform);\n }\n if (bid.params.delDomain) {\n utils.deepSetValue(req, 'ext.delDomain', bid.params.delDomain);\n }\n if (bid.params.response_template_name) {\n utils.deepSetValue(req, 'ext.response_template_name', bid.params.response_template_name);\n }\n if (bid.params.test) {\n req.test = 1\n }\n return req;\n },\n bidResponse(buildBidResponse, bid, context) {\n const bidResponse = buildBidResponse(bid, context);\n if (bid.ext) {\n bidResponse.meta.networkId = bid.ext.dsp_id;\n bidResponse.meta.advertiserId = bid.ext.buyer_id;\n bidResponse.meta.brandId = bid.ext.brand_id;\n }\n return bidResponse;\n },\n response(buildResponse, bidResponses, ortbResponse, context) {\n // pass these from request to the responses for use in userSync\n const {ortbRequest} = context;\n if (ortbRequest.ext) {\n if (ortbRequest.ext.delDomain) {\n utils.deepSetValue(ortbResponse, 'ext.delDomain', ortbRequest.ext.delDomain);\n }\n if (ortbRequest.ext.platform) {\n utils.deepSetValue(ortbResponse, 'ext.platform', ortbRequest.ext.platform);\n }\n }\n const response = buildResponse(bidResponses, ortbResponse, context);\n // TODO: we may want to standardize this and move fledge logic to ortbConverter\n let fledgeAuctionConfigs = utils.deepAccess(ortbResponse, 'ext.fledge_auction_configs');\n if (fledgeAuctionConfigs) {\n fledgeAuctionConfigs = Object.entries(fledgeAuctionConfigs).map(([bidId, cfg]) => {\n return {\n bidId,\n config: mergeDeep(Object.assign({}, cfg), {\n auctionSignals: {\n ortb2Imp: context.impContext[bidId]?.imp,\n },\n }),\n }\n });\n return {\n bids: response.bids,\n paapi: fledgeAuctionConfigs,\n }\n } else {\n return response\n }\n },\n overrides: {\n imp: {\n bidfloor(setBidFloor, imp, bidRequest, context) {\n // enforce floors should always be in USD\n // TODO: does it make sense that request.cur can be any currency, but request.imp[].bidfloorcur must be USD?\n const floor = {};\n setBidFloor(floor, bidRequest, {...context, currency: 'USD'});\n if (floor.bidfloorcur === 'USD') {\n Object.assign(imp, floor);\n }\n },\n video(orig, imp, bidRequest, context) {\n if (FEATURES.VIDEO) {\n // `orig` is the video imp processor, which looks at bidRequest.mediaTypes[VIDEO]\n // to populate imp.video\n // alter its input `bidRequest` to also pick up parameters from `bidRequest.params`\n let videoParams = bidRequest.mediaTypes[VIDEO];\n if (videoParams) {\n videoParams = Object.assign({}, videoParams, bidRequest.params.video);\n bidRequest = {...bidRequest, mediaTypes: {[VIDEO]: videoParams}}\n }\n orig(imp, bidRequest, context);\n }\n }\n }\n }\n});\n\nfunction isBidRequestValid(bidRequest) {\n const hasDelDomainOrPlatform = bidRequest.params.delDomain ||\n bidRequest.params.platform;\n\n if (utils.deepAccess(bidRequest, 'mediaTypes.banner') &&\n hasDelDomainOrPlatform) {\n return !!bidRequest.params.unit ||\n utils.deepAccess(bidRequest, 'mediaTypes.banner.sizes.length') > 0;\n }\n\n return !!(bidRequest.params.unit && hasDelDomainOrPlatform);\n}\n\nfunction buildRequests(bidRequests, bidderRequest) {\n const videoRequests = bidRequests.filter(bidRequest => isVideoBidRequest(bidRequest));\n const bannerAndNativeRequests = bidRequests.filter(bidRequest => isBannerBidRequest(bidRequest) || isNativeBidRequest(bidRequest))\n // In case of multi-format bids remove `video` from mediaTypes as for video a separate bid request is built\n .map(bid => ({...bid, mediaTypes: {...bid.mediaTypes, video: undefined}}));\n\n const requests = bannerAndNativeRequests.length ? [createRequest(bannerAndNativeRequests, bidderRequest, null)] : [];\n videoRequests.forEach(bid => {\n requests.push(createRequest([bid], bidderRequest, VIDEO));\n });\n return requests;\n}\n\nfunction createRequest(bidRequests, bidderRequest, mediaType) {\n return {\n method: 'POST',\n url: config.getConfig('openxOrtbUrl') || REQUEST_URL,\n data: converter.toORTB({bidRequests, bidderRequest, context: {mediaType}})\n }\n}\n\nfunction isVideoBidRequest(bidRequest) {\n return utils.deepAccess(bidRequest, 'mediaTypes.video');\n}\n\nfunction isNativeBidRequest(bidRequest) {\n return utils.deepAccess(bidRequest, 'mediaTypes.native');\n}\n\nfunction isBannerBidRequest(bidRequest) {\n const isNotVideoOrNativeBid = !isVideoBidRequest(bidRequest) && !isNativeBidRequest(bidRequest)\n return utils.deepAccess(bidRequest, 'mediaTypes.banner') || isNotVideoOrNativeBid;\n}\n\nfunction interpretResponse(resp, req) {\n if (!resp.body) {\n resp.body = {nbr: 0};\n }\n return converter.fromORTB({request: req.data, response: resp.body});\n}\n\n/**\n * @param syncOptions\n * @param responses\n * @param gdprConsent\n * @param uspConsent\n * @return {{type: (string), url: (*|string)}[]}\n */\nfunction getUserSyncs(syncOptions, responses, gdprConsent, uspConsent) {\n if (syncOptions.iframeEnabled || syncOptions.pixelEnabled) {\n const pixelType = syncOptions.iframeEnabled ? 'iframe' : 'image';\n const queryParamStrings = [];\n let syncUrl = SYNC_URL;\n if (gdprConsent) {\n queryParamStrings.push('gdpr=' + (gdprConsent.gdprApplies ? 1 : 0));\n queryParamStrings.push('gdpr_consent=' + encodeURIComponent(gdprConsent.consentString || ''));\n }\n if (uspConsent) {\n queryParamStrings.push('us_privacy=' + encodeURIComponent(uspConsent));\n }\n if (responses.length > 0 && responses[0].body && responses[0].body.ext) {\n const ext = responses[0].body.ext;\n if (ext.delDomain) {\n syncUrl = `https://${ext.delDomain}/w/1.0/pd`\n } else if (ext.platform) {\n queryParamStrings.push('ph=' + ext.platform)\n }\n } else {\n queryParamStrings.push('ph=' + DEFAULT_PH)\n }\n return [{\n type: pixelType,\n url: `${syncUrl}${queryParamStrings.length > 0 ? '?' + queryParamStrings.join('&') : ''}`\n }];\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"openxBidAdapter.js","names":["registerModule","__r0","config","registerBidder","utils","mergeDeep","BANNER","NATIVE","VIDEO","ortbConverter","bidderConfig","bidderVersion","REQUEST_URL","SYNC_URL","DEFAULT_PH","spec","code","gvlid","supportedMediaTypes","isBidRequestValid","buildRequests","interpretResponse","getUserSyncs","converter","context","netRevenue","ttl","nativeRequest","eventtrackers","event","methods","imp","buildImp","bidRequest","tagid","params","unit","ext","divid","adUnitCode","customParams","deepSetValue","customFloor","bidfloor","request","buildRequest","imps","bidderRequest","req","at","bc","pv","bid","bidRequests","coppa","doNotTrack","platform","delDomain","response_template_name","test","bidResponse","buildBidResponse","meta","networkId","dsp_id","advertiserId","buyer_id","brandId","brand_id","response","buildResponse","bidResponses","ortbResponse","ortbRequest","fledgeAuctionConfigs","deepAccess","Object","entries","map","_ref","bidId","cfg","assign","auctionSignals","ortb2Imp","impContext","bids","paapi","overrides","setBidFloor","floor","currency","bidfloorcur","video","orig","videoParams","mediaTypes","hasDelDomainOrPlatform","videoRequests","filter","isVideoBidRequest","bannerAndNativeRequests","isBannerBidRequest","isNativeBidRequest","undefined","requests","length","createRequest","forEach","push","mediaType","method","url","getConfig","data","toORTB","isNotVideoOrNativeBid","resp","body","nbr","fromORTB","syncOptions","responses","gdprConsent","uspConsent","gppConsent","iframeEnabled","pixelEnabled","pixelType","queryParamStrings","syncUrl","gdprApplies","encodeURIComponent","consentString","gppString","applicableSections","join","type"],"sourceRoot":"../../..","sources":["modules/openxBidAdapter.js"],"sourcesContent":["import {config} from '../src/config.js';\nimport {registerBidder} from '../src/adapters/bidderFactory.js';\nimport * as utils from '../src/utils.js';\nimport {mergeDeep} from '../src/utils.js';\nimport {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';\nimport {ortbConverter} from '../libraries/ortbConverter/converter.js';\n\nconst bidderConfig = 'hb_pb_ortb';\nconst bidderVersion = '2.0';\nexport const REQUEST_URL = 'https://rtb.openx.net/openrtbb/prebidjs';\nexport const SYNC_URL = 'https://u.openx.net/w/1.0/pd';\nexport const DEFAULT_PH = '2d1251ae-7f3a-47cf-bd2a-2f288854a0ba';\nexport const spec = {\n code: 'openx',\n gvlid: 69,\n supportedMediaTypes: [BANNER, VIDEO, NATIVE],\n isBidRequestValid,\n buildRequests,\n interpretResponse,\n getUserSyncs\n};\n\nregisterBidder(spec);\n\nconst converter = ortbConverter({\n context: {\n netRevenue: true,\n ttl: 300,\n nativeRequest: {\n eventtrackers: [\n {event: 1, methods: [1, 2]},\n ]\n }\n },\n imp(buildImp, bidRequest, context) {\n const imp = buildImp(bidRequest, context);\n mergeDeep(imp, {\n tagid: bidRequest.params.unit,\n ext: {\n divid: bidRequest.adUnitCode\n }\n });\n if (bidRequest.params.customParams) {\n utils.deepSetValue(imp, 'ext.customParams', bidRequest.params.customParams);\n }\n if (bidRequest.params.customFloor && !imp.bidfloor) {\n imp.bidfloor = bidRequest.params.customFloor;\n }\n return imp;\n },\n request(buildRequest, imps, bidderRequest, context) {\n const req = buildRequest(imps, bidderRequest, context);\n mergeDeep(req, {\n at: 1,\n ext: {\n bc: `${bidderConfig}_${bidderVersion}`,\n pv: '$prebid.version$'\n }\n })\n const bid = context.bidRequests[0];\n if (bid.params.coppa) {\n utils.deepSetValue(req, 'regs.coppa', 1);\n }\n if (bid.params.doNotTrack) {\n utils.deepSetValue(req, 'device.dnt', 1);\n }\n if (bid.params.platform) {\n utils.deepSetValue(req, 'ext.platform', bid.params.platform);\n }\n if (bid.params.delDomain) {\n utils.deepSetValue(req, 'ext.delDomain', bid.params.delDomain);\n }\n if (bid.params.response_template_name) {\n utils.deepSetValue(req, 'ext.response_template_name', bid.params.response_template_name);\n }\n if (bid.params.test) {\n req.test = 1\n }\n return req;\n },\n bidResponse(buildBidResponse, bid, context) {\n const bidResponse = buildBidResponse(bid, context);\n if (bid.ext) {\n bidResponse.meta.networkId = bid.ext.dsp_id;\n bidResponse.meta.advertiserId = bid.ext.buyer_id;\n bidResponse.meta.brandId = bid.ext.brand_id;\n }\n return bidResponse;\n },\n response(buildResponse, bidResponses, ortbResponse, context) {\n // pass these from request to the responses for use in userSync\n const {ortbRequest} = context;\n if (ortbRequest.ext) {\n if (ortbRequest.ext.delDomain) {\n utils.deepSetValue(ortbResponse, 'ext.delDomain', ortbRequest.ext.delDomain);\n }\n if (ortbRequest.ext.platform) {\n utils.deepSetValue(ortbResponse, 'ext.platform', ortbRequest.ext.platform);\n }\n }\n const response = buildResponse(bidResponses, ortbResponse, context);\n // TODO: we may want to standardize this and move fledge logic to ortbConverter\n let fledgeAuctionConfigs = utils.deepAccess(ortbResponse, 'ext.fledge_auction_configs');\n if (fledgeAuctionConfigs) {\n fledgeAuctionConfigs = Object.entries(fledgeAuctionConfigs).map(([bidId, cfg]) => {\n return {\n bidId,\n config: mergeDeep(Object.assign({}, cfg), {\n auctionSignals: {\n ortb2Imp: context.impContext[bidId]?.imp,\n },\n }),\n }\n });\n return {\n bids: response.bids,\n paapi: fledgeAuctionConfigs,\n }\n } else {\n return response\n }\n },\n overrides: {\n imp: {\n bidfloor(setBidFloor, imp, bidRequest, context) {\n // enforce floors should always be in USD\n // TODO: does it make sense that request.cur can be any currency, but request.imp[].bidfloorcur must be USD?\n const floor = {};\n setBidFloor(floor, bidRequest, {...context, currency: 'USD'});\n if (floor.bidfloorcur === 'USD') {\n Object.assign(imp, floor);\n }\n },\n video(orig, imp, bidRequest, context) {\n if (FEATURES.VIDEO) {\n // `orig` is the video imp processor, which looks at bidRequest.mediaTypes[VIDEO]\n // to populate imp.video\n // alter its input `bidRequest` to also pick up parameters from `bidRequest.params`\n let videoParams = bidRequest.mediaTypes[VIDEO];\n if (videoParams) {\n videoParams = Object.assign({}, videoParams, bidRequest.params.video);\n bidRequest = {...bidRequest, mediaTypes: {[VIDEO]: videoParams}}\n }\n orig(imp, bidRequest, context);\n }\n }\n }\n }\n});\n\nfunction isBidRequestValid(bidRequest) {\n const hasDelDomainOrPlatform = bidRequest.params.delDomain ||\n bidRequest.params.platform;\n\n if (utils.deepAccess(bidRequest, 'mediaTypes.banner') &&\n hasDelDomainOrPlatform) {\n return !!bidRequest.params.unit ||\n utils.deepAccess(bidRequest, 'mediaTypes.banner.sizes.length') > 0;\n }\n\n return !!(bidRequest.params.unit && hasDelDomainOrPlatform);\n}\n\nfunction buildRequests(bidRequests, bidderRequest) {\n const videoRequests = bidRequests.filter(bidRequest => isVideoBidRequest(bidRequest));\n const bannerAndNativeRequests = bidRequests.filter(bidRequest => isBannerBidRequest(bidRequest) || isNativeBidRequest(bidRequest))\n // In case of multi-format bids remove `video` from mediaTypes as for video a separate bid request is built\n .map(bid => ({...bid, mediaTypes: {...bid.mediaTypes, video: undefined}}));\n\n const requests = bannerAndNativeRequests.length ? [createRequest(bannerAndNativeRequests, bidderRequest, null)] : [];\n videoRequests.forEach(bid => {\n requests.push(createRequest([bid], bidderRequest, VIDEO));\n });\n return requests;\n}\n\nfunction createRequest(bidRequests, bidderRequest, mediaType) {\n return {\n method: 'POST',\n url: config.getConfig('openxOrtbUrl') || REQUEST_URL,\n data: converter.toORTB({bidRequests, bidderRequest, context: {mediaType}})\n }\n}\n\nfunction isVideoBidRequest(bidRequest) {\n return utils.deepAccess(bidRequest, 'mediaTypes.video');\n}\n\nfunction isNativeBidRequest(bidRequest) {\n return utils.deepAccess(bidRequest, 'mediaTypes.native');\n}\n\nfunction isBannerBidRequest(bidRequest) {\n const isNotVideoOrNativeBid = !isVideoBidRequest(bidRequest) && !isNativeBidRequest(bidRequest)\n return utils.deepAccess(bidRequest, 'mediaTypes.banner') || isNotVideoOrNativeBid;\n}\n\nfunction interpretResponse(resp, req) {\n if (!resp.body) {\n resp.body = {nbr: 0};\n }\n return converter.fromORTB({request: req.data, response: resp.body});\n}\n\n/**\n * @param syncOptions\n * @param responses\n * @param gdprConsent\n * @param uspConsent\n * @param gppConsent\n * @return {{type: (string), url: (*|string)}[]}\n */\nfunction getUserSyncs(syncOptions, responses, gdprConsent, uspConsent, gppConsent) {\n if (syncOptions.iframeEnabled || syncOptions.pixelEnabled) {\n const pixelType = syncOptions.iframeEnabled ? 'iframe' : 'image';\n const queryParamStrings = [];\n let syncUrl = SYNC_URL;\n if (gdprConsent) {\n queryParamStrings.push('gdpr=' + (gdprConsent.gdprApplies ? 1 : 0));\n queryParamStrings.push('gdpr_consent=' + encodeURIComponent(gdprConsent.consentString || ''));\n }\n if (uspConsent) {\n queryParamStrings.push('us_privacy=' + encodeURIComponent(uspConsent));\n }\n if (gppConsent?.gppString && gppConsent?.applicableSections?.length) {\n queryParamStrings.push('gpp=' + encodeURIComponent(gppConsent.gppString));\n queryParamStrings.push('gpp_sid=' + gppConsent.applicableSections.join(','));\n }\n if (responses.length > 0 && responses[0].body && responses[0].body.ext) {\n const ext = responses[0].body.ext;\n if (ext.delDomain) {\n syncUrl = `https://${ext.delDomain}/w/1.0/pd`\n } else if (ext.platform) {\n queryParamStrings.push('ph=' + ext.platform)\n }\n } else {\n queryParamStrings.push('ph=' + DEFAULT_PH)\n }\n return [{\n type: pixelType,\n url: `${syncUrl}${queryParamStrings.length > 0 ? '?' + queryParamStrings.join('&') : ''}`\n }];\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -53,7 +53,7 @@ export const spec = {
|
|
|
53
53
|
};
|
|
54
54
|
const payload = {
|
|
55
55
|
referrer: bidderRequest.refererInfo && bidderRequest.refererInfo.page ? bidderRequest.refererInfo.page : '',
|
|
56
|
-
hb_version: "10.
|
|
56
|
+
hb_version: "10.5.0",
|
|
57
57
|
deviceWidth: document.documentElement.clientWidth,
|
|
58
58
|
bidderRequestId: deepAccess(validBidRequests[0], 'bidderRequestId'),
|
|
59
59
|
publisherId: deepAccess(validBidRequests[0], 'params.publisherId'),
|
|
@@ -44,7 +44,8 @@ let cachedPermutiveModuleConfig = {};
|
|
|
44
44
|
*/
|
|
45
45
|
function readPermutiveModuleConfigFromCache() {
|
|
46
46
|
const params = safeJSONParse(storage.getDataFromLocalStorage(PERMUTIVE_SUBMODULE_CONFIG_KEY));
|
|
47
|
-
|
|
47
|
+
cachedPermutiveModuleConfig = liftIntoParams(params);
|
|
48
|
+
return cachedPermutiveModuleConfig;
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permutiveRtdProvider.js","names":["registerModule","__r0","getGlobal","submodule","getStorageManager","deepAccess","deepSetValue","isFn","logError","mergeDeep","isPlainObject","safeJSONParse","prefixLog","MODULE_TYPE_RTD","MODULE_NAME","logger","PERMUTIVE_SUBMODULE_CONFIG_KEY","PERMUTIVE_STANDARD_KEYWORD","PERMUTIVE_CUSTOM_COHORTS_KEYWORD","PERMUTIVE_STANDARD_AUD_KEYWORD","storage","moduleType","moduleName","init","moduleConfig","userConsent","readPermutiveModuleConfigFromCache","liftIntoParams","params","cachedPermutiveModuleConfig","getDataFromLocalStorage","getParamsFromPermutive","window","permutive","addons","prebid","getPermutiveRtdConfig","e","getModuleConfig","customModuleConfig","permutiveModuleConfig","waitForIt","maxSegs","acBidders","overwrites","setBidderRtb","bidderOrtb2","segmentData","transformationConfigs","ssps","ssp","sspCohorts","cohorts","topics","bidders","Set","forEach","bidder","currConfig","ortb2","isAcBidder","indexOf","ac","isSspBidder","slice","nextConfig","updateOrtbConfig","segmentIDs","sspSegmentIDs","logInfo","config","customCohortsData","name","permutiveUserData","segment","map","segmentId","id","transformedUserData","filter","_ref","ortb2UserDataTransformations","hasOwnProperty","_ref2","customCohortsUserData","cohortID","ortbConfig","currentUserData","topicsUserData","k","value","Object","entries","push","ext","segtax","Number","topic","toString","updatedUserData","el","concat","user_data","currentKeywords","keywordGroups","transformedKeywordGroups","flatMap","_ref3","keyword","ids","keywords","Array","from","split","kv","trim","Boolean","join","length","String","setSegments","reqBidsConfigObj","adUnits","utils","aliasMap","appnexusAst","adUnit","bids","bid","acEnabled","isAcEnabled","customFn","getCustomBidderFn","bidIdentity","makeSafe","fn","overwriteFn","includes","isPermutiveOnPage","ready","getSegments","segments","legacySegs","readSegments","seg","_ppam","_pcrprs","ix","_pindexs","rubicon","_prubicons","appnexus","_papns","gam","_pdfps","_pssps","_ppsts","isArray","taxonomy","key","defaultValue","JSON","parse","unknownIabSegmentId","iab","userData","iabSegmentId","iabIds","permutiveSegmentId","readAndSetCohorts","ortb2Fragments","permutiveSDKInRealTime","permutiveSubmodule","getBidRequestData","callback","completeBidRequestData"],"sourceRoot":"../../..","sources":["modules/permutiveRtdProvider.js"],"sourcesContent":["/**\n * This module adds permutive provider to the real time data module\n * The {@link module:modules/realTimeData} module is required\n * The module will add custom segment targeting to ad units of specific bidders\n * @module modules/permutiveRtdProvider\n * @requires module:modules/realTimeData\n */\nimport {getGlobal} from '../src/prebidGlobal.js';\nimport {submodule} from '../src/hook.js';\nimport {getStorageManager} from '../src/storageManager.js';\nimport {deepAccess, deepSetValue, isFn, logError, mergeDeep, isPlainObject, safeJSONParse, prefixLog} from '../src/utils.js';\n\nimport {MODULE_TYPE_RTD} from '../src/activities/modules.js';\n\n/**\n * @typedef {import('../modules/rtdModule/index.js').RtdSubmodule} RtdSubmodule\n */\n\nconst MODULE_NAME = 'permutive'\n\nconst logger = prefixLog('[PermutiveRTD]')\n\nexport const PERMUTIVE_SUBMODULE_CONFIG_KEY = 'permutive-prebid-rtd'\nexport const PERMUTIVE_STANDARD_KEYWORD = 'p_standard'\nexport const PERMUTIVE_CUSTOM_COHORTS_KEYWORD = 'permutive'\nexport const PERMUTIVE_STANDARD_AUD_KEYWORD = 'p_standard_aud'\n\nexport const storage = getStorageManager({moduleType: MODULE_TYPE_RTD, moduleName: MODULE_NAME})\n\nfunction init(moduleConfig, userConsent) {\n readPermutiveModuleConfigFromCache()\n\n return true\n}\n\nfunction liftIntoParams(params) {\n return isPlainObject(params) ? { params } : {}\n}\n\nlet cachedPermutiveModuleConfig = {}\n\n/**\n * Access the submodules RTD params that are cached to LocalStorage by the Permutive SDK. This lets the RTD submodule\n * apply publisher defined params set in the Permutive platform, so they may still be applied if the Permutive SDK has\n * not initialised before this submodule is initialised.\n */\nfunction readPermutiveModuleConfigFromCache() {\n const params = safeJSONParse(storage.getDataFromLocalStorage(PERMUTIVE_SUBMODULE_CONFIG_KEY))\n return cachedPermutiveModuleConfig = liftIntoParams(params)\n}\n\n/**\n * Access the submodules RTD params attached to the Permutive SDK.\n *\n * @return The Permutive config available by the Permutive SDK or null if the operation errors.\n */\nfunction getParamsFromPermutive() {\n try {\n return liftIntoParams(window.permutive.addons.prebid.getPermutiveRtdConfig())\n } catch (e) {\n return null\n }\n}\n\n/**\n * Merges segments into existing bidder config in reverse priority order. The highest priority is 1.\n *\n * 1. customModuleConfig <- set by publisher with pbjs.setConfig\n * 2. permutiveRtdConfig <- set by the publisher using the Permutive platform\n * 3. defaultConfig\n *\n * As items with a higher priority will be deeply merged into the previous config, deep merges are performed by\n * reversing the priority order.\n *\n * @param {Object} customModuleConfig - Publisher config for module\n * @return {Object} Deep merges of the default, Permutive and custom config.\n */\nexport function getModuleConfig(customModuleConfig) {\n // Use the params from Permutive if available, otherwise fallback to the cached value set by Permutive.\n const permutiveModuleConfig = getParamsFromPermutive() || cachedPermutiveModuleConfig\n\n return mergeDeep({\n waitForIt: false,\n params: {\n maxSegs: 500,\n acBidders: [],\n overwrites: {},\n },\n },\n permutiveModuleConfig,\n customModuleConfig,\n )\n}\n\n/**\n * Sets ortb2 config for ac bidders\n * @param {Object} bidderOrtb2 - The ortb2 object for the all bidders\n * @param {Object} moduleConfig - Publisher config for module\n * @param {Object} segmentData - Segment data grouped by bidder or type\n */\nexport function setBidderRtb (bidderOrtb2, moduleConfig, segmentData) {\n const acBidders = deepAccess(moduleConfig, 'params.acBidders')\n const maxSegs = deepAccess(moduleConfig, 'params.maxSegs')\n const transformationConfigs = deepAccess(moduleConfig, 'params.transformations') || []\n\n const ssps = segmentData?.ssp?.ssps ?? []\n const sspCohorts = segmentData?.ssp?.cohorts ?? []\n const topics = segmentData?.topics ?? {}\n\n const bidders = new Set([...acBidders, ...ssps])\n bidders.forEach(function (bidder) {\n const currConfig = { ortb2: bidderOrtb2[bidder] || {} }\n\n let cohorts = []\n\n const isAcBidder = acBidders.indexOf(bidder) > -1\n if (isAcBidder) {\n cohorts = segmentData.ac\n }\n\n const isSspBidder = ssps.indexOf(bidder) > -1\n if (isSspBidder) {\n cohorts = [...new Set([...cohorts, ...sspCohorts])].slice(0, maxSegs)\n }\n\n const nextConfig = updateOrtbConfig(bidder, currConfig, cohorts, sspCohorts, topics, transformationConfigs, segmentData)\n bidderOrtb2[bidder] = nextConfig.ortb2\n })\n}\n\n/**\n * Updates `user.data` object in existing bidder config with Permutive segments\n * @param {string} bidder - The bidder identifier\n * @param {Object} currConfig - Current bidder config\n * @param {string[]} segmentIDs - Permutive segment IDs\n * @param {string[]} sspSegmentIDs - Permutive SSP segment IDs\n * @param {Object} topics - Privacy Sandbox Topics, keyed by IAB taxonomy version (600, 601, etc.)\n * @param {Object[]} transformationConfigs - array of objects with `id` and `config` properties, used to determine\n * the transformations on user data to include the ORTB2 object\n * @param {Object} segmentData - The segments available for targeting\n * @return {Object} Merged ortb2 object\n */\nfunction updateOrtbConfig(bidder, currConfig, segmentIDs, sspSegmentIDs, topics, transformationConfigs, segmentData) {\n logger.logInfo(`Current ortb2 config`, { bidder, config: currConfig })\n\n const customCohortsData = deepAccess(segmentData, bidder) || []\n\n const name = 'permutive.com'\n\n const permutiveUserData = {\n name,\n segment: segmentIDs.map(segmentId => ({ id: segmentId })),\n }\n\n const transformedUserData = transformationConfigs\n .filter(({ id }) => ortb2UserDataTransformations.hasOwnProperty(id))\n .map(({ id, config }) => ortb2UserDataTransformations[id](permutiveUserData, config))\n\n const customCohortsUserData = {\n name: PERMUTIVE_CUSTOM_COHORTS_KEYWORD,\n segment: customCohortsData.map(cohortID => ({ id: cohortID })),\n }\n\n const ortbConfig = mergeDeep({}, currConfig)\n const currentUserData = deepAccess(ortbConfig, 'ortb2.user.data') || []\n\n const topicsUserData = []\n for (const [k, value] of Object.entries(topics)) {\n topicsUserData.push({\n name,\n ext: {\n segtax: Number(k)\n },\n segment: value.map(topic => ({ id: topic.toString() })),\n })\n }\n\n const updatedUserData = currentUserData\n .filter(el => el.name !== permutiveUserData.name && el.name !== customCohortsUserData.name)\n .concat(permutiveUserData, transformedUserData, customCohortsUserData)\n .concat(topicsUserData)\n\n logger.logInfo(`Updating ortb2.user.data`, { bidder, user_data: updatedUserData })\n deepSetValue(ortbConfig, 'ortb2.user.data', updatedUserData)\n\n // Set ortb2.user.keywords\n const currentKeywords = deepAccess(ortbConfig, 'ortb2.user.keywords')\n const keywordGroups = {\n [PERMUTIVE_STANDARD_KEYWORD]: segmentIDs,\n [PERMUTIVE_STANDARD_AUD_KEYWORD]: sspSegmentIDs,\n [PERMUTIVE_CUSTOM_COHORTS_KEYWORD]: customCohortsData,\n }\n\n // Transform groups of key-values into a single array of strings\n // i.e { permutive: ['1', '2'], p_standard: ['3', '4'] } => ['permutive=1', 'permutive=2', 'p_standard=3',' p_standard=4']\n const transformedKeywordGroups = Object.entries(keywordGroups)\n .flatMap(([keyword, ids]) => ids.map(id => `${keyword}=${id}`))\n\n const keywords = Array.from(new Set([\n ...(currentKeywords || '').split(',').map(kv => kv.trim()),\n ...transformedKeywordGroups\n ]))\n .filter(Boolean)\n .join(',')\n\n logger.logInfo(`Updating ortb2.user.keywords`, {\n bidder,\n keywords,\n })\n deepSetValue(ortbConfig, 'ortb2.user.keywords', keywords)\n\n // Set user extensions\n if (segmentIDs.length > 0) {\n deepSetValue(ortbConfig, `ortb2.user.ext.data.${PERMUTIVE_STANDARD_KEYWORD}`, segmentIDs)\n logger.logInfo(`Extending ortb2.user.ext.data with \"${PERMUTIVE_STANDARD_KEYWORD}\"`, segmentIDs)\n }\n\n if (customCohortsData.length > 0) {\n deepSetValue(ortbConfig, `ortb2.user.ext.data.${PERMUTIVE_CUSTOM_COHORTS_KEYWORD}`, customCohortsData.map(String))\n logger.logInfo(`Extending ortb2.user.ext.data with \"${PERMUTIVE_CUSTOM_COHORTS_KEYWORD}\"`, customCohortsData)\n }\n\n // Set site extensions\n if (segmentIDs.length > 0) {\n deepSetValue(ortbConfig, `ortb2.site.ext.permutive.${PERMUTIVE_STANDARD_KEYWORD}`, segmentIDs)\n logger.logInfo(`Extending ortb2.site.ext.permutive with \"${PERMUTIVE_STANDARD_KEYWORD}\"`, segmentIDs)\n }\n\n logger.logInfo(`Updated ortb2 config`, { bidder, config: ortbConfig })\n return ortbConfig\n}\n\n/**\n * Set segments on bid request object\n * @param {Object} reqBidsConfigObj - Bid request object\n * @param {Object} moduleConfig - Module configuration\n * @param {Object} segmentData - Segment object\n */\nfunction setSegments (reqBidsConfigObj, moduleConfig, segmentData) {\n const adUnits = (reqBidsConfigObj && reqBidsConfigObj.adUnits) || getGlobal().adUnits\n const utils = { deepSetValue, deepAccess, isFn, mergeDeep }\n const aliasMap = {\n appnexusAst: 'appnexus'\n }\n\n if (!adUnits) {\n return\n }\n\n adUnits.forEach(adUnit => {\n adUnit.bids.forEach(bid => {\n let { bidder } = bid\n if (typeof aliasMap[bidder] !== 'undefined') {\n bidder = aliasMap[bidder]\n }\n const acEnabled = isAcEnabled(moduleConfig, bidder)\n const customFn = getCustomBidderFn(moduleConfig, bidder)\n\n if (customFn) {\n // For backwards compatibility we pass an identity function to any custom bidder function set by a publisher\n const bidIdentity = (bid) => bid\n customFn(bid, segmentData, acEnabled, utils, bidIdentity)\n }\n })\n })\n}\n\n/**\n * Catch and log errors\n * @param {function} fn - Function to safely evaluate\n */\nfunction makeSafe (fn) {\n try {\n return fn()\n } catch (e) {\n logError(e)\n }\n}\n\nfunction getCustomBidderFn (moduleConfig, bidder) {\n const overwriteFn = deepAccess(moduleConfig, `params.overwrites.${bidder}`)\n\n if (overwriteFn && isFn(overwriteFn)) {\n return overwriteFn\n } else {\n return null\n }\n}\n\n/**\n * Check whether ac is enabled for bidder\n * @param {Object} moduleConfig - Module configuration\n * @param {string} bidder - Bidder name\n * @return {boolean}\n */\nexport function isAcEnabled (moduleConfig, bidder) {\n const acBidders = deepAccess(moduleConfig, 'params.acBidders') || []\n return acBidders.includes(bidder)\n}\n\n/**\n * Check whether Permutive is on page\n * @return {boolean}\n */\nexport function isPermutiveOnPage () {\n return typeof window.permutive !== 'undefined' && typeof window.permutive.ready === 'function'\n}\n\n/**\n * Get all relevant segment IDs in an object\n * @param {number} maxSegs - Maximum number of segments to be included\n * @return {Object}\n */\nexport function getSegments(maxSegs) {\n const segments = {\n ac:\n makeSafe(() => {\n const legacySegs =\n makeSafe(() =>\n readSegments('_psegs', [])\n .map(Number)\n .filter((seg) => seg >= 1000000)\n .map(String),\n ) || [];\n const _ppam = makeSafe(() => readSegments('_ppam', []).map(String)) || [];\n const _pcrprs = makeSafe(() => readSegments('_pcrprs', []).map(String)) || [];\n\n return [..._pcrprs, ..._ppam, ...legacySegs];\n }) || [],\n\n ix:\n makeSafe(() => {\n const _pindexs = readSegments('_pindexs', []);\n return _pindexs.map(String);\n }) || [],\n\n rubicon:\n makeSafe(() => {\n const _prubicons = readSegments('_prubicons', []);\n return _prubicons.map(String);\n }) || [],\n\n appnexus:\n makeSafe(() => {\n const _papns = readSegments('_papns', []);\n return _papns.map(String);\n }) || [],\n\n gam:\n makeSafe(() => {\n const _pdfps = readSegments('_pdfps', []);\n return _pdfps.map(String);\n }) || [],\n\n ssp: makeSafe(() => {\n const _pssps = readSegments('_pssps', {\n cohorts: [],\n ssps: [],\n });\n\n return {\n cohorts: makeSafe(() => _pssps.cohorts.map(String)) || [],\n ssps: makeSafe(() => _pssps.ssps.map(String)) || [],\n };\n }),\n\n topics:\n makeSafe(() => {\n const _ppsts = readSegments('_ppsts', {});\n\n const topics = {};\n for (const [k, value] of Object.entries(_ppsts)) {\n topics[k] = makeSafe(() => value.map(String)) || [];\n }\n\n return topics;\n }) || {},\n };\n\n for (const bidder in segments) {\n if (bidder === 'ssp') {\n if (segments[bidder].cohorts && Array.isArray(segments[bidder].cohorts)) {\n segments[bidder].cohorts = segments[bidder].cohorts.slice(0, maxSegs)\n }\n } else if (bidder === 'topics') {\n for (const taxonomy in segments[bidder]) {\n segments[bidder][taxonomy] = segments[bidder][taxonomy].slice(0, maxSegs)\n }\n } else {\n segments[bidder] = segments[bidder].slice(0, maxSegs)\n }\n }\n\n logger.logInfo(`Read segments`, segments)\n return segments;\n}\n\n/**\n * Gets an array of segment IDs from LocalStorage\n * or return the default value provided.\n * @template A\n * @param {string} key\n * @param {A} defaultValue\n * @return {A}\n */\nfunction readSegments (key, defaultValue) {\n try {\n return JSON.parse(storage.getDataFromLocalStorage(key)) || defaultValue\n } catch (e) {\n return defaultValue\n }\n}\n\nconst unknownIabSegmentId = '_unknown_'\n\n/**\n * Functions to apply to ORT2B2 `user.data` objects.\n * Each function should return an a new object containing a `name`, (optional) `ext` and `segment`\n * properties. The result of the each transformation defined here will be appended to the array\n * under `user.data` in the bid request.\n */\nconst ortb2UserDataTransformations = {\n iab: (userData, config) => ({\n name: userData.name,\n ext: { segtax: config.segtax },\n segment: (userData.segment || [])\n .map(segment => ({ id: iabSegmentId(segment.id, config.iabIds) }))\n .filter(segment => segment.id !== unknownIabSegmentId)\n })\n}\n\n/**\n * Transform a Permutive segment ID into an IAB audience taxonomy ID.\n * @param {string} permutiveSegmentId\n * @param {Object} iabIds object of mappings between Permutive and IAB segment IDs (key: permutive ID, value: IAB ID)\n * @return {string} IAB audience taxonomy ID associated with the Permutive segment ID\n */\nfunction iabSegmentId(permutiveSegmentId, iabIds) {\n return iabIds[permutiveSegmentId] || unknownIabSegmentId\n}\n\n/**\n * Pull the latest configuration and cohort information and update accordingly.\n *\n * @param reqBidsConfigObj - Bidder provided config for request\n * @param moduleConfig - Publisher provided config\n */\nexport function readAndSetCohorts(reqBidsConfigObj, moduleConfig) {\n const segmentData = getSegments(deepAccess(moduleConfig, 'params.maxSegs'))\n\n makeSafe(function () {\n // Legacy route with custom parameters\n // ACK policy violation, in process of removing\n setSegments(reqBidsConfigObj, moduleConfig, segmentData)\n });\n\n makeSafe(function () {\n // Route for bidders supporting ORTB2\n setBidderRtb(reqBidsConfigObj.ortb2Fragments?.bidder, moduleConfig, segmentData)\n })\n}\n\nlet permutiveSDKInRealTime = false\n\n/** @type {RtdSubmodule} */\nexport const permutiveSubmodule = {\n name: MODULE_NAME,\n getBidRequestData: function (reqBidsConfigObj, callback, customModuleConfig) {\n const completeBidRequestData = () => {\n logger.logInfo(`Request data updated`)\n callback()\n }\n\n const moduleConfig = getModuleConfig(customModuleConfig)\n\n readAndSetCohorts(reqBidsConfigObj, moduleConfig)\n\n makeSafe(function () {\n if (permutiveSDKInRealTime || !(moduleConfig.waitForIt && isPermutiveOnPage())) {\n return completeBidRequestData()\n }\n\n window.permutive.ready(function () {\n logger.logInfo(`SDK is realtime, updating cohorts`)\n permutiveSDKInRealTime = true\n readAndSetCohorts(reqBidsConfigObj, getModuleConfig(customModuleConfig))\n completeBidRequestData()\n }, 'realtime')\n\n logger.logInfo(`Registered cohort update when SDK is realtime`)\n })\n },\n init: init\n}\n\nsubmodule('realTimeData', permutiveSubmodule)\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"permutiveRtdProvider.js","names":["registerModule","__r0","getGlobal","submodule","getStorageManager","deepAccess","deepSetValue","isFn","logError","mergeDeep","isPlainObject","safeJSONParse","prefixLog","MODULE_TYPE_RTD","MODULE_NAME","logger","PERMUTIVE_SUBMODULE_CONFIG_KEY","PERMUTIVE_STANDARD_KEYWORD","PERMUTIVE_CUSTOM_COHORTS_KEYWORD","PERMUTIVE_STANDARD_AUD_KEYWORD","storage","moduleType","moduleName","init","moduleConfig","userConsent","readPermutiveModuleConfigFromCache","liftIntoParams","params","cachedPermutiveModuleConfig","getDataFromLocalStorage","getParamsFromPermutive","window","permutive","addons","prebid","getPermutiveRtdConfig","e","getModuleConfig","customModuleConfig","permutiveModuleConfig","waitForIt","maxSegs","acBidders","overwrites","setBidderRtb","bidderOrtb2","segmentData","transformationConfigs","ssps","ssp","sspCohorts","cohorts","topics","bidders","Set","forEach","bidder","currConfig","ortb2","isAcBidder","indexOf","ac","isSspBidder","slice","nextConfig","updateOrtbConfig","segmentIDs","sspSegmentIDs","logInfo","config","customCohortsData","name","permutiveUserData","segment","map","segmentId","id","transformedUserData","filter","_ref","ortb2UserDataTransformations","hasOwnProperty","_ref2","customCohortsUserData","cohortID","ortbConfig","currentUserData","topicsUserData","k","value","Object","entries","push","ext","segtax","Number","topic","toString","updatedUserData","el","concat","user_data","currentKeywords","keywordGroups","transformedKeywordGroups","flatMap","_ref3","keyword","ids","keywords","Array","from","split","kv","trim","Boolean","join","length","String","setSegments","reqBidsConfigObj","adUnits","utils","aliasMap","appnexusAst","adUnit","bids","bid","acEnabled","isAcEnabled","customFn","getCustomBidderFn","bidIdentity","makeSafe","fn","overwriteFn","includes","isPermutiveOnPage","ready","getSegments","segments","legacySegs","readSegments","seg","_ppam","_pcrprs","ix","_pindexs","rubicon","_prubicons","appnexus","_papns","gam","_pdfps","_pssps","_ppsts","isArray","taxonomy","key","defaultValue","JSON","parse","unknownIabSegmentId","iab","userData","iabSegmentId","iabIds","permutiveSegmentId","readAndSetCohorts","ortb2Fragments","permutiveSDKInRealTime","permutiveSubmodule","getBidRequestData","callback","completeBidRequestData"],"sourceRoot":"../../..","sources":["modules/permutiveRtdProvider.js"],"sourcesContent":["/**\n * This module adds permutive provider to the real time data module\n * The {@link module:modules/realTimeData} module is required\n * The module will add custom segment targeting to ad units of specific bidders\n * @module modules/permutiveRtdProvider\n * @requires module:modules/realTimeData\n */\nimport {getGlobal} from '../src/prebidGlobal.js';\nimport {submodule} from '../src/hook.js';\nimport {getStorageManager} from '../src/storageManager.js';\nimport {deepAccess, deepSetValue, isFn, logError, mergeDeep, isPlainObject, safeJSONParse, prefixLog} from '../src/utils.js';\n\nimport {MODULE_TYPE_RTD} from '../src/activities/modules.js';\n\n/**\n * @typedef {import('../modules/rtdModule/index.js').RtdSubmodule} RtdSubmodule\n */\n\nconst MODULE_NAME = 'permutive'\n\nconst logger = prefixLog('[PermutiveRTD]')\n\nexport const PERMUTIVE_SUBMODULE_CONFIG_KEY = 'permutive-prebid-rtd'\nexport const PERMUTIVE_STANDARD_KEYWORD = 'p_standard'\nexport const PERMUTIVE_CUSTOM_COHORTS_KEYWORD = 'permutive'\nexport const PERMUTIVE_STANDARD_AUD_KEYWORD = 'p_standard_aud'\n\nexport const storage = getStorageManager({moduleType: MODULE_TYPE_RTD, moduleName: MODULE_NAME})\n\nfunction init(moduleConfig, userConsent) {\n readPermutiveModuleConfigFromCache()\n\n return true\n}\n\nfunction liftIntoParams(params) {\n return isPlainObject(params) ? { params } : {}\n}\n\nlet cachedPermutiveModuleConfig = {}\n\n/**\n * Access the submodules RTD params that are cached to LocalStorage by the Permutive SDK. This lets the RTD submodule\n * apply publisher defined params set in the Permutive platform, so they may still be applied if the Permutive SDK has\n * not initialised before this submodule is initialised.\n */\nfunction readPermutiveModuleConfigFromCache() {\n const params = safeJSONParse(storage.getDataFromLocalStorage(PERMUTIVE_SUBMODULE_CONFIG_KEY))\n cachedPermutiveModuleConfig = liftIntoParams(params)\n return cachedPermutiveModuleConfig\n}\n\n/**\n * Access the submodules RTD params attached to the Permutive SDK.\n *\n * @return The Permutive config available by the Permutive SDK or null if the operation errors.\n */\nfunction getParamsFromPermutive() {\n try {\n return liftIntoParams(window.permutive.addons.prebid.getPermutiveRtdConfig())\n } catch (e) {\n return null\n }\n}\n\n/**\n * Merges segments into existing bidder config in reverse priority order. The highest priority is 1.\n *\n * 1. customModuleConfig <- set by publisher with pbjs.setConfig\n * 2. permutiveRtdConfig <- set by the publisher using the Permutive platform\n * 3. defaultConfig\n *\n * As items with a higher priority will be deeply merged into the previous config, deep merges are performed by\n * reversing the priority order.\n *\n * @param {Object} customModuleConfig - Publisher config for module\n * @return {Object} Deep merges of the default, Permutive and custom config.\n */\nexport function getModuleConfig(customModuleConfig) {\n // Use the params from Permutive if available, otherwise fallback to the cached value set by Permutive.\n const permutiveModuleConfig = getParamsFromPermutive() || cachedPermutiveModuleConfig\n\n return mergeDeep({\n waitForIt: false,\n params: {\n maxSegs: 500,\n acBidders: [],\n overwrites: {},\n },\n },\n permutiveModuleConfig,\n customModuleConfig,\n )\n}\n\n/**\n * Sets ortb2 config for ac bidders\n * @param {Object} bidderOrtb2 - The ortb2 object for the all bidders\n * @param {Object} moduleConfig - Publisher config for module\n * @param {Object} segmentData - Segment data grouped by bidder or type\n */\nexport function setBidderRtb (bidderOrtb2, moduleConfig, segmentData) {\n const acBidders = deepAccess(moduleConfig, 'params.acBidders')\n const maxSegs = deepAccess(moduleConfig, 'params.maxSegs')\n const transformationConfigs = deepAccess(moduleConfig, 'params.transformations') || []\n\n const ssps = segmentData?.ssp?.ssps ?? []\n const sspCohorts = segmentData?.ssp?.cohorts ?? []\n const topics = segmentData?.topics ?? {}\n\n const bidders = new Set([...acBidders, ...ssps])\n bidders.forEach(function (bidder) {\n const currConfig = { ortb2: bidderOrtb2[bidder] || {} }\n\n let cohorts = []\n\n const isAcBidder = acBidders.indexOf(bidder) > -1\n if (isAcBidder) {\n cohorts = segmentData.ac\n }\n\n const isSspBidder = ssps.indexOf(bidder) > -1\n if (isSspBidder) {\n cohorts = [...new Set([...cohorts, ...sspCohorts])].slice(0, maxSegs)\n }\n\n const nextConfig = updateOrtbConfig(bidder, currConfig, cohorts, sspCohorts, topics, transformationConfigs, segmentData)\n bidderOrtb2[bidder] = nextConfig.ortb2\n })\n}\n\n/**\n * Updates `user.data` object in existing bidder config with Permutive segments\n * @param {string} bidder - The bidder identifier\n * @param {Object} currConfig - Current bidder config\n * @param {string[]} segmentIDs - Permutive segment IDs\n * @param {string[]} sspSegmentIDs - Permutive SSP segment IDs\n * @param {Object} topics - Privacy Sandbox Topics, keyed by IAB taxonomy version (600, 601, etc.)\n * @param {Object[]} transformationConfigs - array of objects with `id` and `config` properties, used to determine\n * the transformations on user data to include the ORTB2 object\n * @param {Object} segmentData - The segments available for targeting\n * @return {Object} Merged ortb2 object\n */\nfunction updateOrtbConfig(bidder, currConfig, segmentIDs, sspSegmentIDs, topics, transformationConfigs, segmentData) {\n logger.logInfo(`Current ortb2 config`, { bidder, config: currConfig })\n\n const customCohortsData = deepAccess(segmentData, bidder) || []\n\n const name = 'permutive.com'\n\n const permutiveUserData = {\n name,\n segment: segmentIDs.map(segmentId => ({ id: segmentId })),\n }\n\n const transformedUserData = transformationConfigs\n .filter(({ id }) => ortb2UserDataTransformations.hasOwnProperty(id))\n .map(({ id, config }) => ortb2UserDataTransformations[id](permutiveUserData, config))\n\n const customCohortsUserData = {\n name: PERMUTIVE_CUSTOM_COHORTS_KEYWORD,\n segment: customCohortsData.map(cohortID => ({ id: cohortID })),\n }\n\n const ortbConfig = mergeDeep({}, currConfig)\n const currentUserData = deepAccess(ortbConfig, 'ortb2.user.data') || []\n\n const topicsUserData = []\n for (const [k, value] of Object.entries(topics)) {\n topicsUserData.push({\n name,\n ext: {\n segtax: Number(k)\n },\n segment: value.map(topic => ({ id: topic.toString() })),\n })\n }\n\n const updatedUserData = currentUserData\n .filter(el => el.name !== permutiveUserData.name && el.name !== customCohortsUserData.name)\n .concat(permutiveUserData, transformedUserData, customCohortsUserData)\n .concat(topicsUserData)\n\n logger.logInfo(`Updating ortb2.user.data`, { bidder, user_data: updatedUserData })\n deepSetValue(ortbConfig, 'ortb2.user.data', updatedUserData)\n\n // Set ortb2.user.keywords\n const currentKeywords = deepAccess(ortbConfig, 'ortb2.user.keywords')\n const keywordGroups = {\n [PERMUTIVE_STANDARD_KEYWORD]: segmentIDs,\n [PERMUTIVE_STANDARD_AUD_KEYWORD]: sspSegmentIDs,\n [PERMUTIVE_CUSTOM_COHORTS_KEYWORD]: customCohortsData,\n }\n\n // Transform groups of key-values into a single array of strings\n // i.e { permutive: ['1', '2'], p_standard: ['3', '4'] } => ['permutive=1', 'permutive=2', 'p_standard=3',' p_standard=4']\n const transformedKeywordGroups = Object.entries(keywordGroups)\n .flatMap(([keyword, ids]) => ids.map(id => `${keyword}=${id}`))\n\n const keywords = Array.from(new Set([\n ...(currentKeywords || '').split(',').map(kv => kv.trim()),\n ...transformedKeywordGroups\n ]))\n .filter(Boolean)\n .join(',')\n\n logger.logInfo(`Updating ortb2.user.keywords`, {\n bidder,\n keywords,\n })\n deepSetValue(ortbConfig, 'ortb2.user.keywords', keywords)\n\n // Set user extensions\n if (segmentIDs.length > 0) {\n deepSetValue(ortbConfig, `ortb2.user.ext.data.${PERMUTIVE_STANDARD_KEYWORD}`, segmentIDs)\n logger.logInfo(`Extending ortb2.user.ext.data with \"${PERMUTIVE_STANDARD_KEYWORD}\"`, segmentIDs)\n }\n\n if (customCohortsData.length > 0) {\n deepSetValue(ortbConfig, `ortb2.user.ext.data.${PERMUTIVE_CUSTOM_COHORTS_KEYWORD}`, customCohortsData.map(String))\n logger.logInfo(`Extending ortb2.user.ext.data with \"${PERMUTIVE_CUSTOM_COHORTS_KEYWORD}\"`, customCohortsData)\n }\n\n // Set site extensions\n if (segmentIDs.length > 0) {\n deepSetValue(ortbConfig, `ortb2.site.ext.permutive.${PERMUTIVE_STANDARD_KEYWORD}`, segmentIDs)\n logger.logInfo(`Extending ortb2.site.ext.permutive with \"${PERMUTIVE_STANDARD_KEYWORD}\"`, segmentIDs)\n }\n\n logger.logInfo(`Updated ortb2 config`, { bidder, config: ortbConfig })\n return ortbConfig\n}\n\n/**\n * Set segments on bid request object\n * @param {Object} reqBidsConfigObj - Bid request object\n * @param {Object} moduleConfig - Module configuration\n * @param {Object} segmentData - Segment object\n */\nfunction setSegments (reqBidsConfigObj, moduleConfig, segmentData) {\n const adUnits = (reqBidsConfigObj && reqBidsConfigObj.adUnits) || getGlobal().adUnits\n const utils = { deepSetValue, deepAccess, isFn, mergeDeep }\n const aliasMap = {\n appnexusAst: 'appnexus'\n }\n\n if (!adUnits) {\n return\n }\n\n adUnits.forEach(adUnit => {\n adUnit.bids.forEach(bid => {\n let { bidder } = bid\n if (typeof aliasMap[bidder] !== 'undefined') {\n bidder = aliasMap[bidder]\n }\n const acEnabled = isAcEnabled(moduleConfig, bidder)\n const customFn = getCustomBidderFn(moduleConfig, bidder)\n\n if (customFn) {\n // For backwards compatibility we pass an identity function to any custom bidder function set by a publisher\n const bidIdentity = (bid) => bid\n customFn(bid, segmentData, acEnabled, utils, bidIdentity)\n }\n })\n })\n}\n\n/**\n * Catch and log errors\n * @param {function} fn - Function to safely evaluate\n */\nfunction makeSafe (fn) {\n try {\n return fn()\n } catch (e) {\n logError(e)\n }\n}\n\nfunction getCustomBidderFn (moduleConfig, bidder) {\n const overwriteFn = deepAccess(moduleConfig, `params.overwrites.${bidder}`)\n\n if (overwriteFn && isFn(overwriteFn)) {\n return overwriteFn\n } else {\n return null\n }\n}\n\n/**\n * Check whether ac is enabled for bidder\n * @param {Object} moduleConfig - Module configuration\n * @param {string} bidder - Bidder name\n * @return {boolean}\n */\nexport function isAcEnabled (moduleConfig, bidder) {\n const acBidders = deepAccess(moduleConfig, 'params.acBidders') || []\n return acBidders.includes(bidder)\n}\n\n/**\n * Check whether Permutive is on page\n * @return {boolean}\n */\nexport function isPermutiveOnPage () {\n return typeof window.permutive !== 'undefined' && typeof window.permutive.ready === 'function'\n}\n\n/**\n * Get all relevant segment IDs in an object\n * @param {number} maxSegs - Maximum number of segments to be included\n * @return {Object}\n */\nexport function getSegments(maxSegs) {\n const segments = {\n ac:\n makeSafe(() => {\n const legacySegs =\n makeSafe(() =>\n readSegments('_psegs', [])\n .map(Number)\n .filter((seg) => seg >= 1000000)\n .map(String),\n ) || [];\n const _ppam = makeSafe(() => readSegments('_ppam', []).map(String)) || [];\n const _pcrprs = makeSafe(() => readSegments('_pcrprs', []).map(String)) || [];\n\n return [..._pcrprs, ..._ppam, ...legacySegs];\n }) || [],\n\n ix:\n makeSafe(() => {\n const _pindexs = readSegments('_pindexs', []);\n return _pindexs.map(String);\n }) || [],\n\n rubicon:\n makeSafe(() => {\n const _prubicons = readSegments('_prubicons', []);\n return _prubicons.map(String);\n }) || [],\n\n appnexus:\n makeSafe(() => {\n const _papns = readSegments('_papns', []);\n return _papns.map(String);\n }) || [],\n\n gam:\n makeSafe(() => {\n const _pdfps = readSegments('_pdfps', []);\n return _pdfps.map(String);\n }) || [],\n\n ssp: makeSafe(() => {\n const _pssps = readSegments('_pssps', {\n cohorts: [],\n ssps: [],\n });\n\n return {\n cohorts: makeSafe(() => _pssps.cohorts.map(String)) || [],\n ssps: makeSafe(() => _pssps.ssps.map(String)) || [],\n };\n }),\n\n topics:\n makeSafe(() => {\n const _ppsts = readSegments('_ppsts', {});\n\n const topics = {};\n for (const [k, value] of Object.entries(_ppsts)) {\n topics[k] = makeSafe(() => value.map(String)) || [];\n }\n\n return topics;\n }) || {},\n };\n\n for (const bidder in segments) {\n if (bidder === 'ssp') {\n if (segments[bidder].cohorts && Array.isArray(segments[bidder].cohorts)) {\n segments[bidder].cohorts = segments[bidder].cohorts.slice(0, maxSegs)\n }\n } else if (bidder === 'topics') {\n for (const taxonomy in segments[bidder]) {\n segments[bidder][taxonomy] = segments[bidder][taxonomy].slice(0, maxSegs)\n }\n } else {\n segments[bidder] = segments[bidder].slice(0, maxSegs)\n }\n }\n\n logger.logInfo(`Read segments`, segments)\n return segments;\n}\n\n/**\n * Gets an array of segment IDs from LocalStorage\n * or return the default value provided.\n * @template A\n * @param {string} key\n * @param {A} defaultValue\n * @return {A}\n */\nfunction readSegments (key, defaultValue) {\n try {\n return JSON.parse(storage.getDataFromLocalStorage(key)) || defaultValue\n } catch (e) {\n return defaultValue\n }\n}\n\nconst unknownIabSegmentId = '_unknown_'\n\n/**\n * Functions to apply to ORT2B2 `user.data` objects.\n * Each function should return an a new object containing a `name`, (optional) `ext` and `segment`\n * properties. The result of the each transformation defined here will be appended to the array\n * under `user.data` in the bid request.\n */\nconst ortb2UserDataTransformations = {\n iab: (userData, config) => ({\n name: userData.name,\n ext: { segtax: config.segtax },\n segment: (userData.segment || [])\n .map(segment => ({ id: iabSegmentId(segment.id, config.iabIds) }))\n .filter(segment => segment.id !== unknownIabSegmentId)\n })\n}\n\n/**\n * Transform a Permutive segment ID into an IAB audience taxonomy ID.\n * @param {string} permutiveSegmentId\n * @param {Object} iabIds object of mappings between Permutive and IAB segment IDs (key: permutive ID, value: IAB ID)\n * @return {string} IAB audience taxonomy ID associated with the Permutive segment ID\n */\nfunction iabSegmentId(permutiveSegmentId, iabIds) {\n return iabIds[permutiveSegmentId] || unknownIabSegmentId\n}\n\n/**\n * Pull the latest configuration and cohort information and update accordingly.\n *\n * @param reqBidsConfigObj - Bidder provided config for request\n * @param moduleConfig - Publisher provided config\n */\nexport function readAndSetCohorts(reqBidsConfigObj, moduleConfig) {\n const segmentData = getSegments(deepAccess(moduleConfig, 'params.maxSegs'))\n\n makeSafe(function () {\n // Legacy route with custom parameters\n // ACK policy violation, in process of removing\n setSegments(reqBidsConfigObj, moduleConfig, segmentData)\n });\n\n makeSafe(function () {\n // Route for bidders supporting ORTB2\n setBidderRtb(reqBidsConfigObj.ortb2Fragments?.bidder, moduleConfig, segmentData)\n })\n}\n\nlet permutiveSDKInRealTime = false\n\n/** @type {RtdSubmodule} */\nexport const permutiveSubmodule = {\n name: MODULE_NAME,\n getBidRequestData: function (reqBidsConfigObj, callback, customModuleConfig) {\n const completeBidRequestData = () => {\n logger.logInfo(`Request data updated`)\n callback()\n }\n\n const moduleConfig = getModuleConfig(customModuleConfig)\n\n readAndSetCohorts(reqBidsConfigObj, moduleConfig)\n\n makeSafe(function () {\n if (permutiveSDKInRealTime || !(moduleConfig.waitForIt && isPermutiveOnPage())) {\n return completeBidRequestData()\n }\n\n window.permutive.ready(function () {\n logger.logInfo(`SDK is realtime, updating cohorts`)\n permutiveSDKInRealTime = true\n readAndSetCohorts(reqBidsConfigObj, getModuleConfig(customModuleConfig))\n completeBidRequestData()\n }, 'realtime')\n\n logger.logInfo(`Registered cohort update when SDK is realtime`)\n })\n },\n init: init\n}\n\nsubmodule('realTimeData', permutiveSubmodule)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -74,7 +74,7 @@ export const spec = {
|
|
|
74
74
|
user: userObj,
|
|
75
75
|
sdk: {
|
|
76
76
|
source: SOURCE,
|
|
77
|
-
version: "10.
|
|
77
|
+
version: "10.5.0"
|
|
78
78
|
},
|
|
79
79
|
schain: schain
|
|
80
80
|
};
|
|
@@ -114,7 +114,7 @@ export const spec = {
|
|
|
114
114
|
withCredentials: true
|
|
115
115
|
},
|
|
116
116
|
data: {
|
|
117
|
-
v: 'v' + "10.
|
|
117
|
+
v: 'v' + "10.5.0",
|
|
118
118
|
pageUrl: referer,
|
|
119
119
|
bidId: bidRequest.bidId,
|
|
120
120
|
// TODO: fix auctionId leak: https://github.com/prebid/Prebid.js/issues/9781
|
|
@@ -187,7 +187,9 @@ function replaceEids(_ref10, requestedBidders) {
|
|
|
187
187
|
deepSetValue(global, 'user.ext.eids', consolidated.global);
|
|
188
188
|
}
|
|
189
189
|
if (requestedBidders?.length) {
|
|
190
|
-
consolidated.permissions.forEach(permission =>
|
|
190
|
+
consolidated.permissions.forEach(permission => {
|
|
191
|
+
permission.bidders = permission.bidders.filter(bidder => requestedBidders.includes(bidder));
|
|
192
|
+
});
|
|
191
193
|
}
|
|
192
194
|
if (consolidated.permissions.length) {
|
|
193
195
|
deepSetValue(global, 'ext.prebid.data.eidpermissions', consolidated.permissions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bidderConfig.js","names":["mergeDeep","deepEqual","deepAccess","deepSetValue","deepClone","ORTB_EIDS_PATHS","getPBSBidderConfig","_ref","global","bidder","Object","fromEntries","entries","map","_ref2","bidderCode","bidderConfig","replaceArrays","config","mergedConfig","_ref3","key","value","mergedValue","Array","isArray","extractEids","_ref4","bySource","conflicts","Set","getEntry","eid","entry","find","candidate","bidders","push","source","add","forEach","path","_ref5","eids","_ref6","from","consolidateEids","_ref7","globalEntries","bidderEntries","byBidder","_ref8","has","_ref9","permissions","filter","_ref0","_ref1","replaceEids","_ref10","requestedBidders","consolidated","removeEids","target","user","ext","values","length","permission","includes","_ref11","bidderEids","premergeFpd","ortb2Fragments","keys"],"sourceRoot":"../../../..","sources":["modules/prebidServerBidAdapter/bidderConfig.js"],"sourcesContent":["import {mergeDeep, deepEqual, deepAccess, deepSetValue, deepClone} from '../../src/utils.js';\nimport {ORTB_EIDS_PATHS} from '../../src/activities/redactor.js';\n\n/**\n * Perform a partial pre-merge of bidder config for PBS.\n *\n * Prebid.js and Prebid Server use different strategies for merging global and bidder-specific config; JS attemps to\n * merge arrays (concatenating them, with some deduping, cfr. mergeDeep), while PBS only merges objects -\n * a bidder-specific array will replace a global array.\n *\n * This returns bidder config (from `bidder`) where arrays are replaced with what you get from merging them with `global`,\n * so that the result of merging in PBS is the same as in JS.\n */\nexport function getPBSBidderConfig({global, bidder}) {\n return Object.fromEntries(\n Object.entries(bidder).map(([bidderCode, bidderConfig]) => {\n return [bidderCode, replaceArrays(bidderConfig, mergeDeep({}, global, bidderConfig))]\n })\n )\n}\n\nfunction replaceArrays(config, mergedConfig) {\n return Object.fromEntries(\n Object.entries(config).map(([key, value]) => {\n const mergedValue = mergedConfig[key];\n if (Array.isArray(value)) {\n if (!deepEqual(value, mergedValue) && Array.isArray(mergedValue)) {\n value = mergedValue;\n }\n } else if (value != null && typeof value === 'object') {\n value = replaceArrays(value, mergedValue);\n }\n return [key, value];\n })\n )\n}\n\n/**\n * Extract all EIDs from FPD.\n *\n * Returns {eids, conflicts}, where:\n *\n * - `eids` contains an object of the form `{eid, bidders}` for each unique EID object found anywhere in FPD;\n * `bidders` is a list of all the bidders that refer to that specific EID object, or false if that EID object is defined globally.\n * - `conflicts` is a set containing all EID sources that appear in multiple, otherwise different, EID objects.\n */\nexport function extractEids({global, bidder}) {\n const entries = [];\n const bySource = {};\n const conflicts = new Set()\n\n function getEntry(eid) {\n let entry = entries.find((candidate) => deepEqual(candidate.eid, eid));\n if (entry == null) {\n entry = {eid, bidders: new Set()}\n entries.push(entry);\n }\n if (bySource[eid.source] == null) {\n bySource[eid.source] = entry.eid;\n } else if (entry.eid === eid) {\n // if this is the first time we see this eid, but not the first time we see its source, we have a conflict\n conflicts.add(eid.source);\n }\n return entry;\n }\n\n ORTB_EIDS_PATHS.forEach(path => {\n (deepAccess(global, path) || []).forEach(eid => {\n getEntry(eid).bidders = false;\n });\n })\n Object.entries(bidder).forEach(([bidderCode, bidderConfig]) => {\n ORTB_EIDS_PATHS.forEach(path => {\n (deepAccess(bidderConfig, path) || []).forEach(eid => {\n const entry = getEntry(eid);\n if (entry.bidders !== false) {\n entry.bidders.add(bidderCode);\n }\n })\n })\n })\n return {eids: entries.map(({eid, bidders}) => ({eid, bidders: bidders && Array.from(bidders)})), conflicts};\n}\n\n/**\n * Consolidate extracted EIDs to take advantage of PBS's eidpermissions feature:\n * https://docs.prebid.org/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#eid-permissions\n *\n * If different bidders have different EID configurations, in most cases we can avoid repeating it in each bidder's\n * specific config. As long as there are no conflicts (different EID objects that refer to the same source constitute a conflict),\n * the EID can be set as global, and eidpermissions can restrict its access only to specific bidders.\n *\n * Returns {global, bidder, permissions}, where:\n * - `global` is a list of global EID objects (some of which may be restricted through `permissions`\n * - `bidder` is a map from bidder code to EID objects that are specific to that bidder, and cannot be restricted through `permissions`\n * - `permissions` is a list of EID permissions as expected by PBS.\n */\nexport function consolidateEids({eids, conflicts = new Set()}) {\n const globalEntries = [];\n const bidderEntries = [];\n const byBidder = {};\n eids.forEach(eid => {\n (eid.bidders === false ? globalEntries : bidderEntries).push(eid);\n });\n bidderEntries.forEach(({eid, bidders}) => {\n if (!conflicts.has(eid.source)) {\n globalEntries.push({eid, bidders})\n } else {\n bidders.forEach(bidderCode => {\n (byBidder[bidderCode] = byBidder[bidderCode] || []).push(eid)\n })\n }\n });\n return {\n global: globalEntries.map(({eid}) => eid),\n permissions: globalEntries.filter(({bidders}) => bidders !== false).map(({eid, bidders}) => ({\n source: eid.source,\n bidders\n })),\n bidder: byBidder\n }\n}\n\nfunction replaceEids({global, bidder}, requestedBidders) {\n const consolidated = consolidateEids(extractEids({global, bidder}));\n global = deepClone(global);\n bidder = deepClone(bidder);\n function removeEids(target) {\n delete target?.user?.eids;\n delete target?.user?.ext?.eids;\n }\n removeEids(global);\n Object.values(bidder).forEach(removeEids);\n if (consolidated.global.length) {\n deepSetValue(global, 'user.ext.eids', consolidated.global);\n }\n if (requestedBidders?.length) {\n consolidated.permissions.forEach((permission) => permission.bidders = permission.bidders.filter(bidder => requestedBidders.includes(bidder)));\n }\n if (consolidated.permissions.length) {\n deepSetValue(global, 'ext.prebid.data.eidpermissions', consolidated.permissions);\n }\n Object.entries(consolidated.bidder).forEach(([bidderCode, bidderEids]) => {\n if (bidderEids.length) {\n deepSetValue(bidder[bidderCode], 'user.ext.eids', bidderEids);\n }\n })\n return {global, bidder}\n}\n\nexport function premergeFpd(ortb2Fragments, requestedBidders) {\n if (ortb2Fragments == null || Object.keys(ortb2Fragments.bidder || {}).length === 0) {\n return ortb2Fragments;\n } else {\n ortb2Fragments = replaceEids(ortb2Fragments, requestedBidders);\n return {\n ...ortb2Fragments,\n bidder: getPBSBidderConfig(ortb2Fragments)\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"bidderConfig.js","names":["mergeDeep","deepEqual","deepAccess","deepSetValue","deepClone","ORTB_EIDS_PATHS","getPBSBidderConfig","_ref","global","bidder","Object","fromEntries","entries","map","_ref2","bidderCode","bidderConfig","replaceArrays","config","mergedConfig","_ref3","key","value","mergedValue","Array","isArray","extractEids","_ref4","bySource","conflicts","Set","getEntry","eid","entry","find","candidate","bidders","push","source","add","forEach","path","_ref5","eids","_ref6","from","consolidateEids","_ref7","globalEntries","bidderEntries","byBidder","_ref8","has","_ref9","permissions","filter","_ref0","_ref1","replaceEids","_ref10","requestedBidders","consolidated","removeEids","target","user","ext","values","length","permission","includes","_ref11","bidderEids","premergeFpd","ortb2Fragments","keys"],"sourceRoot":"../../../..","sources":["modules/prebidServerBidAdapter/bidderConfig.js"],"sourcesContent":["import {mergeDeep, deepEqual, deepAccess, deepSetValue, deepClone} from '../../src/utils.js';\nimport {ORTB_EIDS_PATHS} from '../../src/activities/redactor.js';\n\n/**\n * Perform a partial pre-merge of bidder config for PBS.\n *\n * Prebid.js and Prebid Server use different strategies for merging global and bidder-specific config; JS attemps to\n * merge arrays (concatenating them, with some deduping, cfr. mergeDeep), while PBS only merges objects -\n * a bidder-specific array will replace a global array.\n *\n * This returns bidder config (from `bidder`) where arrays are replaced with what you get from merging them with `global`,\n * so that the result of merging in PBS is the same as in JS.\n */\nexport function getPBSBidderConfig({global, bidder}) {\n return Object.fromEntries(\n Object.entries(bidder).map(([bidderCode, bidderConfig]) => {\n return [bidderCode, replaceArrays(bidderConfig, mergeDeep({}, global, bidderConfig))]\n })\n )\n}\n\nfunction replaceArrays(config, mergedConfig) {\n return Object.fromEntries(\n Object.entries(config).map(([key, value]) => {\n const mergedValue = mergedConfig[key];\n if (Array.isArray(value)) {\n if (!deepEqual(value, mergedValue) && Array.isArray(mergedValue)) {\n value = mergedValue;\n }\n } else if (value != null && typeof value === 'object') {\n value = replaceArrays(value, mergedValue);\n }\n return [key, value];\n })\n )\n}\n\n/**\n * Extract all EIDs from FPD.\n *\n * Returns {eids, conflicts}, where:\n *\n * - `eids` contains an object of the form `{eid, bidders}` for each unique EID object found anywhere in FPD;\n * `bidders` is a list of all the bidders that refer to that specific EID object, or false if that EID object is defined globally.\n * - `conflicts` is a set containing all EID sources that appear in multiple, otherwise different, EID objects.\n */\nexport function extractEids({global, bidder}) {\n const entries = [];\n const bySource = {};\n const conflicts = new Set()\n\n function getEntry(eid) {\n let entry = entries.find((candidate) => deepEqual(candidate.eid, eid));\n if (entry == null) {\n entry = {eid, bidders: new Set()}\n entries.push(entry);\n }\n if (bySource[eid.source] == null) {\n bySource[eid.source] = entry.eid;\n } else if (entry.eid === eid) {\n // if this is the first time we see this eid, but not the first time we see its source, we have a conflict\n conflicts.add(eid.source);\n }\n return entry;\n }\n\n ORTB_EIDS_PATHS.forEach(path => {\n (deepAccess(global, path) || []).forEach(eid => {\n getEntry(eid).bidders = false;\n });\n })\n Object.entries(bidder).forEach(([bidderCode, bidderConfig]) => {\n ORTB_EIDS_PATHS.forEach(path => {\n (deepAccess(bidderConfig, path) || []).forEach(eid => {\n const entry = getEntry(eid);\n if (entry.bidders !== false) {\n entry.bidders.add(bidderCode);\n }\n })\n })\n })\n return {eids: entries.map(({eid, bidders}) => ({eid, bidders: bidders && Array.from(bidders)})), conflicts};\n}\n\n/**\n * Consolidate extracted EIDs to take advantage of PBS's eidpermissions feature:\n * https://docs.prebid.org/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#eid-permissions\n *\n * If different bidders have different EID configurations, in most cases we can avoid repeating it in each bidder's\n * specific config. As long as there are no conflicts (different EID objects that refer to the same source constitute a conflict),\n * the EID can be set as global, and eidpermissions can restrict its access only to specific bidders.\n *\n * Returns {global, bidder, permissions}, where:\n * - `global` is a list of global EID objects (some of which may be restricted through `permissions`\n * - `bidder` is a map from bidder code to EID objects that are specific to that bidder, and cannot be restricted through `permissions`\n * - `permissions` is a list of EID permissions as expected by PBS.\n */\nexport function consolidateEids({eids, conflicts = new Set()}) {\n const globalEntries = [];\n const bidderEntries = [];\n const byBidder = {};\n eids.forEach(eid => {\n (eid.bidders === false ? globalEntries : bidderEntries).push(eid);\n });\n bidderEntries.forEach(({eid, bidders}) => {\n if (!conflicts.has(eid.source)) {\n globalEntries.push({eid, bidders})\n } else {\n bidders.forEach(bidderCode => {\n (byBidder[bidderCode] = byBidder[bidderCode] || []).push(eid)\n })\n }\n });\n return {\n global: globalEntries.map(({eid}) => eid),\n permissions: globalEntries.filter(({bidders}) => bidders !== false).map(({eid, bidders}) => ({\n source: eid.source,\n bidders\n })),\n bidder: byBidder\n }\n}\n\nfunction replaceEids({global, bidder}, requestedBidders) {\n const consolidated = consolidateEids(extractEids({global, bidder}));\n global = deepClone(global);\n bidder = deepClone(bidder);\n function removeEids(target) {\n delete target?.user?.eids;\n delete target?.user?.ext?.eids;\n }\n removeEids(global);\n Object.values(bidder).forEach(removeEids);\n if (consolidated.global.length) {\n deepSetValue(global, 'user.ext.eids', consolidated.global);\n }\n if (requestedBidders?.length) {\n consolidated.permissions.forEach((permission) => {\n permission.bidders = permission.bidders.filter(bidder => requestedBidders.includes(bidder));\n });\n }\n if (consolidated.permissions.length) {\n deepSetValue(global, 'ext.prebid.data.eidpermissions', consolidated.permissions);\n }\n Object.entries(consolidated.bidder).forEach(([bidderCode, bidderEids]) => {\n if (bidderEids.length) {\n deepSetValue(bidder[bidderCode], 'user.ext.eids', bidderEids);\n }\n })\n return {global, bidder}\n}\n\nexport function premergeFpd(ortb2Fragments, requestedBidders) {\n if (ortb2Fragments == null || Object.keys(ortb2Fragments.bidder || {}).length === 0) {\n return ortb2Fragments;\n } else {\n ortb2Fragments = replaceEids(ortb2Fragments, requestedBidders);\n return {\n ...ortb2Fragments,\n bidder: getPBSBidderConfig(ortb2Fragments)\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -177,7 +177,7 @@ export type Schema1FloorData = FloorsDef & BaseFloorData & {
|
|
|
177
177
|
};
|
|
178
178
|
export type Schema2FloorData = BaseFloorData & {
|
|
179
179
|
floorsSchemaVersion: 2;
|
|
180
|
-
|
|
180
|
+
modelGroups: (FloorsDef & {
|
|
181
181
|
/**
|
|
182
182
|
* Used by the module to determine when to apply the specific model.
|
|
183
183
|
*/
|
|
@@ -201,7 +201,7 @@ export type FloorsConfig = Pick<Schema1FloorData, 'skipRate' | 'floorProvider'>
|
|
|
201
201
|
* The Price Floors Module will take the greater of floorMin and the matched rule CPM when evaluating getFloor() and enforcing floors.
|
|
202
202
|
*/
|
|
203
203
|
floorMin?: number;
|
|
204
|
-
enforcement?: Pick<Schema2FloorData['
|
|
204
|
+
enforcement?: Pick<Schema2FloorData['modelGroups'][0], 'noFloorSignalBidders'> & {
|
|
205
205
|
/**
|
|
206
206
|
* If set to true (the default), the Price Floors Module will provide floors to bid adapters for bid request
|
|
207
207
|
* matched rules and suppress any bids not exceeding a matching floor.
|