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
package/dist/src/src/prebid.js
CHANGED
|
@@ -43,8 +43,8 @@ loadSession();
|
|
|
43
43
|
pbjsInstance.bidderSettings = pbjsInstance.bidderSettings || {};
|
|
44
44
|
pbjsInstance.libLoaded = true;
|
|
45
45
|
// version auto generated from build
|
|
46
|
-
pbjsInstance.version = "v10.
|
|
47
|
-
logInfo("Prebid.js v10.
|
|
46
|
+
pbjsInstance.version = "v10.5.0";
|
|
47
|
+
logInfo("Prebid.js v10.5.0 loaded");
|
|
48
48
|
|
|
49
49
|
// create adUnit array
|
|
50
50
|
pbjsInstance.adUnits = pbjsInstance.adUnits || [];
|
|
@@ -165,12 +165,18 @@ export function resizeRemoteCreative(_ref) {
|
|
|
165
165
|
}
|
|
166
166
|
function getElementIdBasedOnAdServer(adId, adUnitCode) {
|
|
167
167
|
if (isGptPubadsDefined()) {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
168
|
+
const dfpId = getDfpElementId(adId);
|
|
169
|
+
if (dfpId) {
|
|
170
|
+
return dfpId;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
if (isApnGetTagDefined()) {
|
|
174
|
+
const apnId = getAstElementId(adUnitCode);
|
|
175
|
+
if (apnId) {
|
|
176
|
+
return apnId;
|
|
177
|
+
}
|
|
173
178
|
}
|
|
179
|
+
return adUnitCode;
|
|
174
180
|
}
|
|
175
181
|
function getDfpElementId(adId) {
|
|
176
182
|
const slot = window.googletag.pubads().getSlots().find(slot => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secureCreatives.js","names":["getAllAssetsMessage","getAssetMessage","BID_STATUS","MESSAGES","isApnGetTagDefined","isGptPubadsDefined","logError","logWarn","deferRendering","getBidToRender","handleCreativeEvent","handleNativeMessage","handleRender","markWinner","getCreativeRendererSource","PUC_MIN_VERSION","REQUEST","RESPONSE","NATIVE","EVENT","HANDLER_MAP","handleRenderRequest","handleEventRequest","Object","assign","handleNativeRequest","listenMessagesFromCreative","window","addEventListener","ev","receiveMessage","getReplier","origin","ports","length","msg","Error","message","postMessage","JSON","stringify","source","ensureAdId","adId","reply","data","_len","arguments","args","Array","_key","key","parse","e","hasOwnProperty","then","adObject","getResizer","bidResponse","width","height","resizeRemoteCreative","renderFn","adData","renderer","rendererVersion","resizeFn","options","action","status","RENDERED","_ref","instl","adUnitCode","getDimension","value","forEach","elmType","element","getElementByAdUnit","elementStyle","style","id","getElementIdBasedOnAdServer","parentDivEle","document","getElementById","querySelector","getDfpElementId","getAstElementId","slot","googletag","pubads","getSlots","find","getTargetingKeys","getTargeting","includes","getSlotElementId","astTag","apntag","getTag","targetId"],"sourceRoot":"../../..","sources":["src/secureCreatives.js"],"sourcesContent":["/* Secure Creatives\n Provides support for rendering creatives into cross domain iframes such as SafeFrame to prevent\n access to a publisher page from creative payloads.\n */\n\nimport {getAllAssetsMessage, getAssetMessage} from './native.js';\nimport {BID_STATUS, MESSAGES} from './constants.js';\nimport {isApnGetTagDefined, isGptPubadsDefined, logError, logWarn} from './utils.js';\nimport {\n deferRendering,\n getBidToRender,\n handleCreativeEvent,\n handleNativeMessage,\n handleRender,\n markWinner\n} from './adRendering.js';\nimport {getCreativeRendererSource, PUC_MIN_VERSION} from './creativeRenderers.js';\n\nconst { REQUEST, RESPONSE, NATIVE, EVENT } = MESSAGES;\n\nconst HANDLER_MAP = {\n [REQUEST]: handleRenderRequest,\n [EVENT]: handleEventRequest,\n};\n\nif (FEATURES.NATIVE) {\n Object.assign(HANDLER_MAP, {\n [NATIVE]: handleNativeRequest,\n });\n}\n\nexport function listenMessagesFromCreative() {\n window.addEventListener('message', function (ev) {\n receiveMessage(ev);\n }, false);\n}\n\nexport function getReplier(ev) {\n if (ev.origin == null && ev.ports.length === 0) {\n return function () {\n const msg = 'Cannot post message to a frame with null origin. Please update creatives to use MessageChannel, see https://github.com/prebid/Prebid.js/issues/7870';\n logError(msg);\n throw new Error(msg);\n };\n } else if (ev.ports.length > 0) {\n return function (message) {\n ev.ports[0].postMessage(JSON.stringify(message));\n };\n } else {\n return function (message) {\n ev.source.postMessage(JSON.stringify(message), ev.origin);\n };\n }\n}\n\nfunction ensureAdId(adId, reply) {\n return function (data, ...args) {\n return reply(Object.assign({}, data, {adId}), ...args);\n }\n}\n\nexport function receiveMessage(ev) {\n var key = ev.message ? 'message' : 'data';\n var data = {};\n try {\n data = JSON.parse(ev[key]);\n } catch (e) {\n return;\n }\n\n if (data && data.adId && data.message && HANDLER_MAP.hasOwnProperty(data.message)) {\n return getBidToRender(data.adId, data.message === MESSAGES.REQUEST).then(adObject => {\n HANDLER_MAP[data.message](ensureAdId(data.adId, getReplier(ev)), data, adObject);\n })\n }\n}\n\nfunction getResizer(adId, bidResponse) {\n // in some situations adId !== bidResponse.adId\n // the first is the one that was requested and is tied to the element\n // the second is the one that is being rendered (sometimes different, e.g. in some paapi setups)\n return function (width, height) {\n resizeRemoteCreative({...bidResponse, width, height, adId});\n }\n}\nfunction handleRenderRequest(reply, message, bidResponse) {\n handleRender({\n renderFn(adData) {\n reply(Object.assign({\n message: RESPONSE,\n renderer: getCreativeRendererSource(bidResponse),\n rendererVersion: PUC_MIN_VERSION\n }, adData));\n },\n resizeFn: getResizer(message.adId, bidResponse),\n options: message.options,\n adId: message.adId,\n bidResponse\n });\n}\n\nfunction handleNativeRequest(reply, data, adObject) {\n // handle this script from native template in an ad server\n // window.parent.postMessage(JSON.stringify({\n // message: 'Prebid Native',\n // adId: '%%PATTERN:hb_adid%%'\n // }), '*');\n if (adObject == null) {\n logError(`Cannot find ad for x-origin event request: '${data.adId}'`);\n return;\n }\n switch (data.action) {\n case 'assetRequest':\n deferRendering(adObject, () => reply(getAssetMessage(data, adObject)));\n break;\n case 'allAssetRequest':\n deferRendering(adObject, () => reply(getAllAssetsMessage(data, adObject)));\n break;\n default:\n handleNativeMessage(data, adObject, {resizeFn: getResizer(data.adId, adObject)});\n markWinner(adObject);\n }\n}\n\nfunction handleEventRequest(reply, data, adObject) {\n if (adObject == null) {\n logError(`Cannot find ad '${data.adId}' for x-origin event request`);\n return;\n }\n if (adObject.status !== BID_STATUS.RENDERED) {\n logWarn(`Received x-origin event request without corresponding render request for ad '${adObject.adId}'`);\n return;\n }\n return handleCreativeEvent(data, adObject);\n}\n\nexport function resizeRemoteCreative({instl, adId, adUnitCode, width, height}) {\n // do not resize interstitials - the creative frame takes the full screen and sizing of the ad should\n // be handled within it.\n if (instl) return;\n function getDimension(value) {\n return value ? value + 'px' : '100%';\n }\n // resize both container div + iframe\n ['div', 'iframe'].forEach(elmType => {\n // not select element that gets removed after dfp render\n const element = getElementByAdUnit(elmType + ':not([style*=\"display: none\"])');\n if (element) {\n const elementStyle = element.style;\n elementStyle.width = getDimension(width)\n elementStyle.height = getDimension(height);\n } else {\n logError(`Unable to locate matching page element for adUnitCode ${adUnitCode}. Can't resize it to ad's dimensions. Please review setup.`);\n }\n });\n\n function getElementByAdUnit(elmType) {\n const id = getElementIdBasedOnAdServer(adId, adUnitCode);\n const parentDivEle = document.getElementById(id);\n return parentDivEle && parentDivEle.querySelector(elmType);\n }\n\n function getElementIdBasedOnAdServer(adId, adUnitCode) {\n if (isGptPubadsDefined()) {\n return getDfpElementId(adId);\n } else if (isApnGetTagDefined()) {\n return getAstElementId(adUnitCode);\n } else {\n return adUnitCode;\n }\n }\n\n function getDfpElementId(adId) {\n const slot = window.googletag.pubads().getSlots().find(slot => {\n return slot.getTargetingKeys().find(key => {\n return slot.getTargeting(key).includes(adId);\n });\n });\n return slot ? slot.getSlotElementId() : null;\n }\n\n function getAstElementId(adUnitCode) {\n const astTag = window.apntag.getTag(adUnitCode);\n return astTag && astTag.targetId;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"secureCreatives.js","names":["getAllAssetsMessage","getAssetMessage","BID_STATUS","MESSAGES","isApnGetTagDefined","isGptPubadsDefined","logError","logWarn","deferRendering","getBidToRender","handleCreativeEvent","handleNativeMessage","handleRender","markWinner","getCreativeRendererSource","PUC_MIN_VERSION","REQUEST","RESPONSE","NATIVE","EVENT","HANDLER_MAP","handleRenderRequest","handleEventRequest","Object","assign","handleNativeRequest","listenMessagesFromCreative","window","addEventListener","ev","receiveMessage","getReplier","origin","ports","length","msg","Error","message","postMessage","JSON","stringify","source","ensureAdId","adId","reply","data","_len","arguments","args","Array","_key","key","parse","e","hasOwnProperty","then","adObject","getResizer","bidResponse","width","height","resizeRemoteCreative","renderFn","adData","renderer","rendererVersion","resizeFn","options","action","status","RENDERED","_ref","instl","adUnitCode","getDimension","value","forEach","elmType","element","getElementByAdUnit","elementStyle","style","id","getElementIdBasedOnAdServer","parentDivEle","document","getElementById","querySelector","dfpId","getDfpElementId","apnId","getAstElementId","slot","googletag","pubads","getSlots","find","getTargetingKeys","getTargeting","includes","getSlotElementId","astTag","apntag","getTag","targetId"],"sourceRoot":"../../..","sources":["src/secureCreatives.js"],"sourcesContent":["/* Secure Creatives\n Provides support for rendering creatives into cross domain iframes such as SafeFrame to prevent\n access to a publisher page from creative payloads.\n */\n\nimport {getAllAssetsMessage, getAssetMessage} from './native.js';\nimport {BID_STATUS, MESSAGES} from './constants.js';\nimport {isApnGetTagDefined, isGptPubadsDefined, logError, logWarn} from './utils.js';\nimport {\n deferRendering,\n getBidToRender,\n handleCreativeEvent,\n handleNativeMessage,\n handleRender,\n markWinner\n} from './adRendering.js';\nimport {getCreativeRendererSource, PUC_MIN_VERSION} from './creativeRenderers.js';\n\nconst { REQUEST, RESPONSE, NATIVE, EVENT } = MESSAGES;\n\nconst HANDLER_MAP = {\n [REQUEST]: handleRenderRequest,\n [EVENT]: handleEventRequest,\n};\n\nif (FEATURES.NATIVE) {\n Object.assign(HANDLER_MAP, {\n [NATIVE]: handleNativeRequest,\n });\n}\n\nexport function listenMessagesFromCreative() {\n window.addEventListener('message', function (ev) {\n receiveMessage(ev);\n }, false);\n}\n\nexport function getReplier(ev) {\n if (ev.origin == null && ev.ports.length === 0) {\n return function () {\n const msg = 'Cannot post message to a frame with null origin. Please update creatives to use MessageChannel, see https://github.com/prebid/Prebid.js/issues/7870';\n logError(msg);\n throw new Error(msg);\n };\n } else if (ev.ports.length > 0) {\n return function (message) {\n ev.ports[0].postMessage(JSON.stringify(message));\n };\n } else {\n return function (message) {\n ev.source.postMessage(JSON.stringify(message), ev.origin);\n };\n }\n}\n\nfunction ensureAdId(adId, reply) {\n return function (data, ...args) {\n return reply(Object.assign({}, data, {adId}), ...args);\n }\n}\n\nexport function receiveMessage(ev) {\n var key = ev.message ? 'message' : 'data';\n var data = {};\n try {\n data = JSON.parse(ev[key]);\n } catch (e) {\n return;\n }\n\n if (data && data.adId && data.message && HANDLER_MAP.hasOwnProperty(data.message)) {\n return getBidToRender(data.adId, data.message === MESSAGES.REQUEST).then(adObject => {\n HANDLER_MAP[data.message](ensureAdId(data.adId, getReplier(ev)), data, adObject);\n })\n }\n}\n\nfunction getResizer(adId, bidResponse) {\n // in some situations adId !== bidResponse.adId\n // the first is the one that was requested and is tied to the element\n // the second is the one that is being rendered (sometimes different, e.g. in some paapi setups)\n return function (width, height) {\n resizeRemoteCreative({...bidResponse, width, height, adId});\n }\n}\nfunction handleRenderRequest(reply, message, bidResponse) {\n handleRender({\n renderFn(adData) {\n reply(Object.assign({\n message: RESPONSE,\n renderer: getCreativeRendererSource(bidResponse),\n rendererVersion: PUC_MIN_VERSION\n }, adData));\n },\n resizeFn: getResizer(message.adId, bidResponse),\n options: message.options,\n adId: message.adId,\n bidResponse\n });\n}\n\nfunction handleNativeRequest(reply, data, adObject) {\n // handle this script from native template in an ad server\n // window.parent.postMessage(JSON.stringify({\n // message: 'Prebid Native',\n // adId: '%%PATTERN:hb_adid%%'\n // }), '*');\n if (adObject == null) {\n logError(`Cannot find ad for x-origin event request: '${data.adId}'`);\n return;\n }\n switch (data.action) {\n case 'assetRequest':\n deferRendering(adObject, () => reply(getAssetMessage(data, adObject)));\n break;\n case 'allAssetRequest':\n deferRendering(adObject, () => reply(getAllAssetsMessage(data, adObject)));\n break;\n default:\n handleNativeMessage(data, adObject, {resizeFn: getResizer(data.adId, adObject)});\n markWinner(adObject);\n }\n}\n\nfunction handleEventRequest(reply, data, adObject) {\n if (adObject == null) {\n logError(`Cannot find ad '${data.adId}' for x-origin event request`);\n return;\n }\n if (adObject.status !== BID_STATUS.RENDERED) {\n logWarn(`Received x-origin event request without corresponding render request for ad '${adObject.adId}'`);\n return;\n }\n return handleCreativeEvent(data, adObject);\n}\n\nexport function resizeRemoteCreative({instl, adId, adUnitCode, width, height}) {\n // do not resize interstitials - the creative frame takes the full screen and sizing of the ad should\n // be handled within it.\n if (instl) return;\n function getDimension(value) {\n return value ? value + 'px' : '100%';\n }\n // resize both container div + iframe\n ['div', 'iframe'].forEach(elmType => {\n // not select element that gets removed after dfp render\n const element = getElementByAdUnit(elmType + ':not([style*=\"display: none\"])');\n if (element) {\n const elementStyle = element.style;\n elementStyle.width = getDimension(width)\n elementStyle.height = getDimension(height);\n } else {\n logError(`Unable to locate matching page element for adUnitCode ${adUnitCode}. Can't resize it to ad's dimensions. Please review setup.`);\n }\n });\n\n function getElementByAdUnit(elmType) {\n const id = getElementIdBasedOnAdServer(adId, adUnitCode);\n const parentDivEle = document.getElementById(id);\n return parentDivEle && parentDivEle.querySelector(elmType);\n }\n\n function getElementIdBasedOnAdServer(adId, adUnitCode) {\n if (isGptPubadsDefined()) {\n const dfpId = getDfpElementId(adId);\n if (dfpId) {\n return dfpId;\n }\n }\n if (isApnGetTagDefined()) {\n const apnId = getAstElementId(adUnitCode);\n if (apnId) {\n return apnId;\n }\n }\n return adUnitCode;\n }\n\n function getDfpElementId(adId) {\n const slot = window.googletag.pubads().getSlots().find(slot => {\n return slot.getTargetingKeys().find(key => {\n return slot.getTargeting(key).includes(adId);\n });\n });\n return slot ? slot.getSlotElementId() : null;\n }\n\n function getAstElementId(adUnitCode) {\n const astTag = window.apntag.getTag(adUnitCode);\n return astTag && astTag.targetId;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EVENTS } from './constants.js';
|
|
1
|
+
import { EVENTS, TARGETING_KEYS } from './constants.js';
|
|
2
2
|
import type { Bid } from './bidfactory.ts';
|
|
3
3
|
import type { AdUnitCode, ByAdUnit, Identifier } from './types/common.d.ts';
|
|
4
4
|
import type { DefaultTargeting } from './auction.ts';
|
|
@@ -63,15 +63,15 @@ export interface TargetingControlsConfig {
|
|
|
63
63
|
/**
|
|
64
64
|
* Selects supported default targeting keys.
|
|
65
65
|
*/
|
|
66
|
-
allowTargetingKeys?: (keyof
|
|
66
|
+
allowTargetingKeys?: (keyof typeof TARGETING_KEYS)[];
|
|
67
67
|
/**
|
|
68
68
|
* Selects targeting keys to be supported in addition to the default ones
|
|
69
69
|
*/
|
|
70
|
-
addTargetingKeys?: (keyof
|
|
70
|
+
addTargetingKeys?: (keyof typeof TARGETING_KEYS)[];
|
|
71
71
|
/**
|
|
72
72
|
* Selects supported default targeting keys.
|
|
73
73
|
*/
|
|
74
|
-
allowSendAllBidsTargetingKeys?: (keyof
|
|
74
|
+
allowSendAllBidsTargetingKeys?: (keyof typeof TARGETING_KEYS)[];
|
|
75
75
|
/**
|
|
76
76
|
* Set to false to prevent custom targeting values from being set for non-winning bids
|
|
77
77
|
*/
|
|
@@ -402,7 +402,8 @@ export function newTargeting(auctionManager) {
|
|
|
402
402
|
function convertKeysToQueryForm(keyMap) {
|
|
403
403
|
return Object.keys(keyMap).reduce(function (queryString, key) {
|
|
404
404
|
const encodedKeyPair = `${key}%3d${encodeURIComponent(keyMap[key])}%26`;
|
|
405
|
-
|
|
405
|
+
queryString += encodedKeyPair;
|
|
406
|
+
return queryString;
|
|
406
407
|
}, '');
|
|
407
408
|
}
|
|
408
409
|
function filterTargetingKeys(targeting, auctionKeysThreshold) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targeting.js","names":["auctionManager","getBufferedTTL","bidderSettings","config","BID_STATUS","DEFAULT_TARGETING_KEYS","EVENTS","JSON_MAPPING","TARGETING_KEYS","events","hook","ADPOD","deepAccess","deepClone","groupBy","isAdUnitCodeMatchingSlot","isArray","isFn","isStr","logError","logInfo","logMessage","logWarn","sortByHighestCpm","timestamp","uniques","getHighestCpm","getOldestHighestCpmBid","pbTargetingKeys","MAX_DFP_KEYLENGTH","CFG_ALLOW_TARGETING_KEYS","CFG_ADD_TARGETING_KEYS","TARGETING_KEY_CONFIGURATION_ERROR_MSG","TARGETING_KEYS_ARR","Object","keys","map","key","isBidNotExpired","bid","responseTimestamp","isUnusedBid","status","RENDERED","includes","filters","isBidUsable","values","some","predicate","getHighestCpmBidsFromBidPool","bidsReceived","winReducer","adUnitBidLimit","arguments","length","undefined","hasModified","winSorter","bids","dealPrioritization","getConfig","buckets","forEach","bucketKey","bucketBids","bidsByBidder","push","reduce","sort","sortByDealAndPriceBucketOrCpm","a","b","cpm","slice","useCpm","adserverTargeting","hb_deal","hb_pb","getGPTSlotsForAdUnits","adUnitCodes","customSlotMatching","getSlots","window","googletag","pubads","auToSlots","slot","customMatch","filter","au","fromEntries","newTargeting","latestAuctionForAdUnit","targeting","setLatestAuctionForAdUnit","adUnitCode","auctionId","resetPresetTargetingAST","getAdUnitCodes","unit","astTag","apntag","getTag","keywords","currentKeywords","newKeywords","toLowerCase","modifyTag","getAllTargeting","bidLimit","getBidsReceived","sendAllBids","bidLimitConfigValue","customKeysByUnit","filteredBids","getfilteredBidsAndCustomKeys","bidsSorted","getTargetingLevels","defaultKeys","assign","allowedKeys","addedKeys","Error","concat","Array","getAllowedTargetingKeyValues","flatTargeting","flattenTargeting","auctionKeysThreshold","filterTargetingKeys","code","setTargetingForGPT","adUnit","targetingSet","resetMap","entries","_ref","targetId","slots","value","indexOf","split","getSlotElementId","updateTargetingFromMap","targetingKey","setStatusForBids","BID_TARGETING_SET","targetingDone","emit","SET_TARGETING","getWinningBids","get","bidderCode","setTargetingForAst","astTargeting","e","keywordsObj","regex","search","toUpperCase","setKeywords","overrideKeyValue","isApntagDefined","addBidToTargeting","enableSendAllBids","deals","standardKeys","allowSendAllBidsTargetingKeys","allowedSendAllBidTargeting","result","dealId","targetingValue","getTargetingMap","getBidderTargeting","alwaysIncludeDeals","defaultKeyring","keyDispositions","k","join","keyring","kvPair","isCustom","defaultKey","found","find","allowedKey","allowedKeyName","removedKeys","d","filteredTargeting","updatePBTargetingKeys","targetKey","targetKeys","useAllBidsCustomTargeting","getWinningBidTargeting","getAdUnitTargeting","getCustomBidTargeting","adUnitIsEligible","cpmAllowed","isPreferredDeal","getCustomKeys","truncKey","substring","data","convertKeysToQueryForm","keyMap","queryString","encodedKeyPair","encodeURIComponent","targetingCopy","targetingMap","accMap","currMap","index","arr","adUnitQueryString","querySize","target","p","c","accumulator","bidCacheEnabled","filterFunction","isBidFromLastAuction","filterFunctionResult","cacheFilter","bidFilter","video","context","latestTargetedAuctionId","winners","getStandardKeys","winner","sendStandardTargeting","acc","DEAL","bidderCodeTargetingKey","bidderCodeTargeting","getStandardBidderAdServerTargeting","newBid","customKeysForUnit","getTargetingObj","ADSERVER_TARGETING","getTargetingValues","aut","s","trim","getAdUnits","targetingValues"],"sourceRoot":"../../..","sources":["src/targeting.ts"],"sourcesContent":["import {auctionManager} from './auctionManager.js';\nimport {getBufferedTTL} from './bidTTL.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {config} from './config.js';\nimport {\n BID_STATUS,\n DEFAULT_TARGETING_KEYS,\n EVENTS,\n JSON_MAPPING,\n TARGETING_KEYS\n} from './constants.js';\nimport * as events from './events.js';\nimport {hook} from './hook.js';\nimport {ADPOD} from './mediaTypes.js';\nimport {\n deepAccess,\n deepClone,\n groupBy,\n isAdUnitCodeMatchingSlot,\n isArray,\n isFn,\n isStr,\n logError,\n logInfo,\n logMessage,\n logWarn,\n sortByHighestCpm,\n timestamp,\n uniques,\n} from './utils.js';\nimport {getHighestCpm, getOldestHighestCpmBid} from './utils/reducers.js';\nimport type {Bid} from './bidfactory.ts';\nimport type {AdUnitCode, ByAdUnit, Identifier} from './types/common.d.ts';\nimport type {DefaultTargeting} from './auction.ts';\n\nvar pbTargetingKeys = [];\n\nconst MAX_DFP_KEYLENGTH = 20;\n\nconst CFG_ALLOW_TARGETING_KEYS = `targetingControls.allowTargetingKeys`;\nconst CFG_ADD_TARGETING_KEYS = `targetingControls.addTargetingKeys`;\nconst TARGETING_KEY_CONFIGURATION_ERROR_MSG = `Only one of \"${CFG_ALLOW_TARGETING_KEYS}\" or \"${CFG_ADD_TARGETING_KEYS}\" can be set`;\n\nexport const TARGETING_KEYS_ARR = Object.keys(TARGETING_KEYS).map(\n key => TARGETING_KEYS[key]\n);\n\n// return unexpired bids\nconst isBidNotExpired = (bid) => (bid.responseTimestamp + getBufferedTTL(bid) * 1000) > timestamp();\n\n// return bids whose status is not set. Winning bids can only have a status of `rendered`.\nconst isUnusedBid = (bid) => bid && ((bid.status && ![BID_STATUS.RENDERED].includes(bid.status)) || !bid.status);\n\nexport const filters = {\n isBidNotExpired,\n isUnusedBid\n};\n\nexport function isBidUsable(bid) {\n return !Object.values(filters).some((predicate) => !predicate(bid));\n}\n\n// If two bids are found for same adUnitCode, we will use the highest one to take part in auction\n// This can happen in case of concurrent auctions\n// If adUnitBidLimit is set above 0 return top N number of bids\nexport const getHighestCpmBidsFromBidPool = hook('sync', function(bidsReceived, winReducer, adUnitBidLimit = 0, hasModified = false, winSorter = sortByHighestCpm) {\n if (!hasModified) {\n const bids = [];\n const dealPrioritization = config.getConfig('sendBidsControl.dealPrioritization');\n // bucket by adUnitcode\n const buckets = groupBy(bidsReceived, 'adUnitCode');\n // filter top bid for each bucket by bidder\n Object.keys(buckets).forEach(bucketKey => {\n let bucketBids = [];\n const bidsByBidder = groupBy(buckets[bucketKey], 'bidderCode')\n Object.keys(bidsByBidder).forEach(key => { bucketBids.push(bidsByBidder[key].reduce(winReducer)) });\n // if adUnitBidLimit is set, pass top N number bids\n if (adUnitBidLimit) {\n bucketBids = dealPrioritization ? bucketBids.sort(sortByDealAndPriceBucketOrCpm(true)) : bucketBids.sort((a, b) => b.cpm - a.cpm);\n bids.push(...bucketBids.slice(0, adUnitBidLimit));\n } else {\n bucketBids = bucketBids.sort(winSorter)\n bids.push(...bucketBids);\n }\n });\n\n return bids;\n }\n\n return bidsReceived;\n});\n\n/**\n * A descending sort function that will sort the list of objects based on the following two dimensions:\n * - bids with a deal are sorted before bids w/o a deal\n * - then sort bids in each grouping based on the hb_pb value\n * eg: the following list of bids would be sorted like:\n * [{\n * \"hb_adid\": \"vwx\",\n * \"hb_pb\": \"28\",\n * \"hb_deal\": \"7747\"\n * }, {\n * \"hb_adid\": \"jkl\",\n * \"hb_pb\": \"10\",\n * \"hb_deal\": \"9234\"\n * }, {\n * \"hb_adid\": \"stu\",\n * \"hb_pb\": \"50\"\n * }, {\n * \"hb_adid\": \"def\",\n * \"hb_pb\": \"2\"\n * }]\n */\nexport function sortByDealAndPriceBucketOrCpm(useCpm = false) {\n return function(a, b) {\n if (a.adserverTargeting.hb_deal !== undefined && b.adserverTargeting.hb_deal === undefined) {\n return -1;\n }\n\n if ((a.adserverTargeting.hb_deal === undefined && b.adserverTargeting.hb_deal !== undefined)) {\n return 1;\n }\n\n // assuming both values either have a deal or don't have a deal - sort by the hb_pb param\n if (useCpm) {\n return b.cpm - a.cpm;\n }\n\n return b.adserverTargeting.hb_pb - a.adserverTargeting.hb_pb;\n }\n}\n\n/**\n * Return a map where each code in `adUnitCodes` maps to a list of GPT slots that match it.\n *\n * @param adUnitCodes\n * @param customSlotMatching\n * @param getSlots\n */\nexport function getGPTSlotsForAdUnits(adUnitCodes: AdUnitCode[], customSlotMatching, getSlots = () => window.googletag.pubads().getSlots()): ByAdUnit<googletag.Slot[]> {\n return getSlots().reduce((auToSlots, slot) => {\n const customMatch = isFn(customSlotMatching) && customSlotMatching(slot);\n Object.keys(auToSlots).filter(isFn(customMatch) ? customMatch : isAdUnitCodeMatchingSlot(slot)).forEach(au => auToSlots[au].push(slot));\n return auToSlots;\n }, Object.fromEntries(adUnitCodes.map(au => [au, []])));\n}\n\nexport type TargetingMap<V> = Partial<DefaultTargeting> & {\n [targetingKey: string]: V\n}\n\nexport type TargetingValues = TargetingMap<string>;\ntype GPTTargetingValues = TargetingMap<string | string[]>;\n\ntype TargetingValueLists = TargetingMap<string[]>;\ntype TargetingArray = ByAdUnit<TargetingValueLists[]>[];\n\ntype AdUnitPredicate = (adUnitCode: AdUnitCode) => boolean;\nexport type SlotMatchingFn = (slot: googletag.Slot) => AdUnitPredicate;\n\ndeclare module './events' {\n interface Events {\n [EVENTS.SET_TARGETING]: [ByAdUnit<GPTTargetingValues>];\n }\n}\n\nexport interface TargetingControlsConfig {\n /**\n * Specifies the maximum number of characters the system can add to ad server targeting.\n */\n auctionKeyMaxChars?: number;\n /**\n * If enableSendAllBids is false, set this value to true to ensure that deals are sent along with the winning bid\n */\n alwaysIncludeDeals?: boolean;\n /**\n * Selects supported default targeting keys.\n */\n allowTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Selects targeting keys to be supported in addition to the default ones\n */\n addTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Selects supported default targeting keys.\n */\n allowSendAllBidsTargetingKeys?: (keyof DefaultTargeting)[];\n /**\n * Set to false to prevent custom targeting values from being set for non-winning bids\n */\n allBidsCustomTargeting?: boolean\n}\n\ndeclare module './config' {\n interface Config {\n targetingControls?: TargetingControlsConfig;\n }\n}\n\nexport function newTargeting(auctionManager) {\n const latestAuctionForAdUnit = {};\n\n const targeting = {\n setLatestAuctionForAdUnit(adUnitCode: AdUnitCode, auctionId: Identifier) {\n latestAuctionForAdUnit[adUnitCode] = auctionId;\n },\n\n resetPresetTargetingAST(adUnitCode?: AdUnitCode | AdUnitCode[]) {\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n adUnitCodes.forEach(function(unit) {\n const astTag = window.apntag.getTag(unit);\n if (astTag && astTag.keywords) {\n const currentKeywords = Object.keys(astTag.keywords);\n const newKeywords = {};\n currentKeywords.forEach((key) => {\n if (!pbTargetingKeys.includes(key.toLowerCase())) {\n newKeywords[key] = astTag.keywords[key];\n }\n })\n window.apntag.modifyTag(unit, { keywords: newKeywords })\n }\n });\n },\n\n /**\n * Returns all ad server targeting for all ad units.\n * @param adUnitCode\n * @param bidLimit\n * @param bidsReceived - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return targeting\n */\n getAllTargeting(adUnitCode?: AdUnitCode | AdUnitCode[], bidLimit?: number, bidsReceived?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): ByAdUnit<TargetingValues> {\n bidsReceived ||= getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n const sendAllBids = config.getConfig('enableSendAllBids');\n const bidLimitConfigValue = config.getConfig('sendBidsControl.bidLimit');\n const adUnitBidLimit = (sendAllBids && (bidLimit || bidLimitConfigValue)) || 0;\n const { customKeysByUnit, filteredBids } = getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived);\n const bidsSorted = getHighestCpmBidsFromBidPool(filteredBids, winReducer, adUnitBidLimit, undefined, winSorter);\n let targeting = getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes);\n\n const defaultKeys = Object.keys(Object.assign({}, DEFAULT_TARGETING_KEYS));\n let allowedKeys = config.getConfig(CFG_ALLOW_TARGETING_KEYS);\n const addedKeys = config.getConfig(CFG_ADD_TARGETING_KEYS);\n\n if (addedKeys != null && allowedKeys != null) {\n throw new Error(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n } else if (addedKeys != null) {\n allowedKeys = defaultKeys.concat(addedKeys) as any;\n } else {\n allowedKeys = allowedKeys || defaultKeys as any;\n }\n\n if (Array.isArray(allowedKeys) && allowedKeys.length > 0) {\n targeting = getAllowedTargetingKeyValues(targeting, allowedKeys);\n }\n\n let flatTargeting = flattenTargeting(targeting);\n\n const auctionKeysThreshold = config.getConfig('targetingControls.auctionKeyMaxChars');\n if (auctionKeysThreshold) {\n logInfo(`Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ${auctionKeysThreshold} characters. Running checks on auction keys...`);\n flatTargeting = filterTargetingKeys(flatTargeting, auctionKeysThreshold);\n }\n\n // make sure at least there is a entry per adUnit code in the targetingSet so receivers of SET_TARGETING call's can know what ad units are being invoked\n adUnitCodes.forEach(code => {\n if (!flatTargeting[code]) {\n flatTargeting[code] = {};\n }\n });\n\n return flatTargeting;\n },\n\n setTargetingForGPT: hook('sync', function (adUnit?: AdUnitCode | AdUnitCode[], customSlotMatching?: SlotMatchingFn) {\n // get our ad unit codes\n const targetingSet: ByAdUnit<GPTTargetingValues> = targeting.getAllTargeting(adUnit);\n\n const resetMap = Object.fromEntries(pbTargetingKeys.map(key => [key, null]));\n\n Object.entries(getGPTSlotsForAdUnits(Object.keys(targetingSet), customSlotMatching)).forEach(([targetId, slots]) => {\n slots.forEach(slot => {\n // now set new targeting keys\n Object.keys(targetingSet[targetId]).forEach(key => {\n let value: string | string[] = targetingSet[targetId][key];\n if (typeof value === 'string' && value.indexOf(',') !== -1) {\n // due to the check the array will be formed only if string has ',' else plain string will be assigned as value\n value = value.split(',');\n }\n targetingSet[targetId][key] = value;\n });\n logMessage(`Attempting to set targeting-map for slot: ${slot.getSlotElementId()} with targeting-map:`, targetingSet[targetId]);\n slot.updateTargetingFromMap(Object.assign({}, resetMap, targetingSet[targetId]))\n })\n })\n\n Object.keys(targetingSet).forEach((adUnitCode) => {\n Object.keys(targetingSet[adUnitCode]).forEach((targetingKey) => {\n if (targetingKey === 'hb_adid') {\n auctionManager.setStatusForBids(targetingSet[adUnitCode][targetingKey], BID_STATUS.BID_TARGETING_SET);\n }\n });\n });\n\n targeting.targetingDone(targetingSet);\n\n // emit event\n events.emit(EVENTS.SET_TARGETING, targetingSet);\n }, 'setTargetingForGPT'),\n\n targetingDone: hook('sync', function (targetingSet: ByAdUnit<GPTTargetingValues>) {\n return targetingSet;\n }, 'targetingDone'),\n\n /**\n * Returns top bids for a given adUnit or set of adUnits.\n * @param adUnitCode adUnitCode or array of adUnitCodes\n * @param bids - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return An array of winning bids.\n */\n getWinningBids(adUnitCode: AdUnitCode | AdUnitCode[], bids?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): Bid[] {\n const bidsReceived = bids || getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n\n return bidsReceived\n .filter(bid => adUnitCodes.includes(bid.adUnitCode))\n .filter(bid => (bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true) ? bid.cpm >= 0 : bid.cpm > 0)\n .map(bid => bid.adUnitCode)\n .filter(uniques)\n .map(adUnitCode => bidsReceived\n .filter(bid => bid.adUnitCode === adUnitCode ? bid : null)\n .reduce(getHighestCpm));\n },\n\n /**\n * @param adUnitCodes adUnitCode or array of adUnitCodes\n * Sets targeting for AST\n */\n setTargetingForAst(adUnitCodes?: AdUnitCode | AdUnitCode[]) {\n const astTargeting = targeting.getAllTargeting(adUnitCodes);\n\n try {\n targeting.resetPresetTargetingAST(adUnitCodes);\n } catch (e) {\n logError('unable to reset targeting for AST' + e)\n }\n\n Object.keys(astTargeting).forEach(targetId =>\n Object.keys(astTargeting[targetId]).forEach(key => {\n logMessage(`Attempting to set targeting for targetId: ${targetId} key: ${key} value: ${astTargeting[targetId][key]}`);\n // setKeywords supports string and array as value\n if (isStr(astTargeting[targetId][key]) || isArray(astTargeting[targetId][key])) {\n const keywordsObj = {};\n const regex = /pt[0-9]/;\n if (key.search(regex) < 0) {\n keywordsObj[key.toUpperCase()] = astTargeting[targetId][key];\n } else {\n // pt${n} keys should not be uppercased\n keywordsObj[key] = astTargeting[targetId][key];\n }\n window.apntag.setKeywords(targetId, keywordsObj, { overrideKeyValue: true });\n }\n })\n );\n },\n isApntagDefined() {\n if (window.apntag && isFn(window.apntag.setKeywords)) {\n return true;\n }\n },\n }\n\n function addBidToTargeting(bids, enableSendAllBids = false, deals = false): TargetingArray {\n const standardKeys = TARGETING_KEYS_ARR.slice();\n const allowSendAllBidsTargetingKeys = config.getConfig('targetingControls.allowSendAllBidsTargetingKeys');\n\n const allowedSendAllBidTargeting = allowSendAllBidsTargetingKeys\n ? allowSendAllBidsTargetingKeys.map((key) => TARGETING_KEYS[key])\n : standardKeys;\n\n return bids.reduce((result, bid) => {\n if (enableSendAllBids || (deals && bid.dealId)) {\n const targetingValue = getTargetingMap(bid, standardKeys.filter(\n key => typeof bid.adserverTargeting[key] !== 'undefined' &&\n (deals || allowedSendAllBidTargeting.indexOf(key) !== -1)));\n\n if (targetingValue) {\n result.push({[bid.adUnitCode]: targetingValue})\n }\n }\n return result;\n }, []);\n }\n\n function getBidderTargeting(bids) {\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n const enableSendAllBids = config.getConfig('enableSendAllBids');\n return addBidToTargeting(bids, enableSendAllBids, alwaysIncludeDeals);\n }\n\n /**\n * Returns filtered ad server targeting for custom and allowed keys.\n * @param targeting\n * @param allowedKeys\n * @return filtered targeting\n */\n function getAllowedTargetingKeyValues(targeting: TargetingArray, allowedKeys: string[]): TargetingArray {\n const defaultKeyring = Object.assign({}, TARGETING_KEYS);\n const defaultKeys = Object.keys(TARGETING_KEYS);\n const keyDispositions = {};\n logInfo(`allowTargetingKeys - allowed keys [ ${allowedKeys.map(k => defaultKeyring[k]).join(', ')} ]`);\n targeting.map(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n const keys = keyring.filter(kvPair => {\n const key = Object.keys(kvPair)[0];\n // check if key is in default keys, if not, it's custom, we won't remove it.\n const isCustom = defaultKeys.filter(defaultKey => key.indexOf(defaultKeyring[defaultKey]) === 0).length === 0;\n // check if key explicitly allowed, if not, we'll remove it.\n const found = isCustom || allowedKeys.find(allowedKey => {\n const allowedKeyName = defaultKeyring[allowedKey];\n // we're looking to see if the key exactly starts with one of our default keys.\n // (which hopefully means it's not custom)\n const found = key.indexOf(allowedKeyName) === 0;\n return found;\n });\n keyDispositions[key] = !found;\n return found;\n });\n adUnit[adUnitCode] = keys;\n });\n const removedKeys = Object.keys(keyDispositions).filter(d => keyDispositions[d]);\n logInfo(`allowTargetingKeys - removed keys [ ${removedKeys.join(', ')} ]`);\n // remove any empty targeting objects, as they're unnecessary.\n const filteredTargeting = targeting.filter(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n return keyring.length > 0;\n });\n return filteredTargeting\n }\n\n function updatePBTargetingKeys(adUnitCode) {\n (Object.keys(adUnitCode)).forEach(key => {\n adUnitCode[key].forEach(targetKey => {\n const targetKeys = Object.keys(targetKey);\n if (pbTargetingKeys.indexOf(targetKeys[0]) === -1) {\n pbTargetingKeys = targetKeys.concat(pbTargetingKeys);\n }\n });\n });\n }\n\n function getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes) {\n const useAllBidsCustomTargeting = config.getConfig('targetingControls.allBidsCustomTargeting') === true;\n\n const targeting = getWinningBidTargeting(bidsSorted, adUnitCodes)\n .concat(getBidderTargeting(bidsSorted))\n .concat(getAdUnitTargeting(adUnitCodes));\n\n if (useAllBidsCustomTargeting) {\n targeting.push(...getCustomBidTargeting(bidsSorted, customKeysByUnit))\n }\n\n targeting.forEach(adUnitCode => {\n updatePBTargetingKeys(adUnitCode);\n });\n\n return targeting;\n }\n\n function getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived) {\n const filteredBids = [];\n const customKeysByUnit = {};\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n\n bidsReceived.forEach(bid => {\n const adUnitIsEligible = adUnitCodes.includes(bid.adUnitCode);\n const cpmAllowed = bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true ? bid.cpm >= 0 : bid.cpm > 0;\n const isPreferredDeal = alwaysIncludeDeals && bid.dealId;\n\n if (adUnitIsEligible && (isPreferredDeal || cpmAllowed)) {\n filteredBids.push(bid);\n Object.keys(bid.adserverTargeting)\n .filter(getCustomKeys())\n .forEach(key => {\n const truncKey = key.substring(0, MAX_DFP_KEYLENGTH);\n const data = customKeysByUnit[bid.adUnitCode] || {};\n const value = [bid.adserverTargeting[key]];\n\n if (data[truncKey]) {\n data[truncKey] = data[truncKey].concat(value).filter(uniques);\n } else {\n data[truncKey] = value;\n }\n\n customKeysByUnit[bid.adUnitCode] = data;\n })\n }\n });\n\n return {filteredBids, customKeysByUnit};\n }\n\n // warn about conflicting configuration\n config.getConfig('targetingControls', function (config) {\n if (deepAccess(config, CFG_ALLOW_TARGETING_KEYS) != null && deepAccess(config, CFG_ADD_TARGETING_KEYS) != null) {\n logError(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n }\n });\n\n // create an encoded string variant based on the keypairs of the provided object\n // - note this will encode the characters between the keys (ie = and &)\n function convertKeysToQueryForm(keyMap) {\n return Object.keys(keyMap).reduce(function (queryString, key) {\n const encodedKeyPair = `${key}%3d${encodeURIComponent(keyMap[key])}%26`;\n return queryString += encodedKeyPair;\n }, '');\n }\n\n function filterTargetingKeys(targeting: ByAdUnit<TargetingValues>, auctionKeysThreshold: number) {\n // read each targeting.adUnit object and sort the adUnits into a list of adUnitCodes based on priorization setting (eg CPM)\n const targetingCopy = deepClone(targeting);\n\n const targetingMap = Object.keys(targetingCopy).map(adUnitCode => {\n return {\n adUnitCode,\n adserverTargeting: targetingCopy[adUnitCode]\n };\n }).sort(sortByDealAndPriceBucketOrCpm());\n\n // iterate through the targeting based on above list and transform the keys into the query-equivalent and count characters\n return targetingMap.reduce(function (accMap, currMap, index, arr) {\n let adUnitQueryString = convertKeysToQueryForm(currMap.adserverTargeting);\n\n // for the last adUnit - trim last encoded ampersand from the converted query string\n if ((index + 1) === arr.length) {\n adUnitQueryString = adUnitQueryString.slice(0, -3);\n }\n\n // if under running threshold add to result\n const code = currMap.adUnitCode;\n const querySize = adUnitQueryString.length;\n if (querySize <= auctionKeysThreshold) {\n auctionKeysThreshold -= querySize;\n logInfo(`AdUnit '${code}' auction keys comprised of ${querySize} characters. Deducted from running threshold; new limit is ${auctionKeysThreshold}`, targetingCopy[code]);\n\n accMap[code] = targetingCopy[code];\n } else {\n logWarn(`The following keys for adUnitCode '${code}' exceeded the current limit of the 'auctionKeyMaxChars' setting.\\nThe key-set size was ${querySize}, the current allotted amount was ${auctionKeysThreshold}.\\n`, targetingCopy[code]);\n }\n\n if ((index + 1) === arr.length && Object.keys(accMap).length === 0) {\n logError('No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting.');\n }\n return accMap;\n }, {});\n }\n\n /**\n * Converts targeting array and flattens to make it easily iteratable\n * e.g: Sample input to this function\n * ```\n * [\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder\": [\"appnexusAst\"]}]\n * },\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder_appnexusAs\": [\"appnexusAst\", \"other\"]}]\n * }\n * ]\n * ```\n * Resulting array\n * ```\n * {\n * \"div-gpt-ad-1460505748561-0\": {\n * \"hb_bidder\": \"appnexusAst\",\n * \"hb_bidder_appnexusAs\": \"appnexusAst,other\"\n * }\n * }\n * ```\n *\n * @param targeting\n * @return targeting\n */\n function flattenTargeting(targeting: TargetingArray): ByAdUnit<TargetingValues> {\n return targeting.map(targeting => {\n return {\n [Object.keys(targeting)[0]]: targeting[Object.keys(targeting)[0]]\n .map(target => {\n return {\n [Object.keys(target)[0]]: target[Object.keys(target)[0]].join(',')\n };\n }).reduce((p, c) => Object.assign(c, p), {})\n };\n }).reduce(function (accumulator, targeting) {\n var key = Object.keys(targeting)[0];\n accumulator[key] = Object.assign({}, accumulator[key], targeting[key]);\n return accumulator;\n }, {});\n }\n\n /**\n * normlizes input to a `adUnit.code` array\n * @param adUnitCode\n * @return AdUnit code array\n */\n function getAdUnitCodes(adUnitCode?: AdUnitCode | AdUnitCode[]): AdUnitCode[] {\n if (typeof adUnitCode === 'string') {\n return [adUnitCode];\n } else if (isArray(adUnitCode)) {\n return adUnitCode;\n }\n return auctionManager.getAdUnitCodes() || [];\n }\n\n function getBidsReceived(winReducer = getOldestHighestCpmBid, winSorter = undefined) {\n const bidsReceived = auctionManager.getBidsReceived().reduce((bids, bid) => {\n const bidCacheEnabled = config.getConfig('useBidCache');\n const filterFunction = config.getConfig('bidCacheFilterFunction');\n const isBidFromLastAuction = latestAuctionForAdUnit[bid.adUnitCode] === bid.auctionId;\n const filterFunctionResult = bidCacheEnabled && !isBidFromLastAuction && typeof filterFunction === 'function' ? !!filterFunction(bid) : true;\n const cacheFilter = bidCacheEnabled || isBidFromLastAuction;\n const bidFilter = cacheFilter && filterFunctionResult;\n\n if (bidFilter && bid?.video?.context !== ADPOD && isBidUsable(bid)) {\n bid.latestTargetedAuctionId = latestAuctionForAdUnit[bid.adUnitCode];\n bids.push(bid)\n }\n\n return bids;\n }, []);\n\n return getHighestCpmBidsFromBidPool(bidsReceived, winReducer, undefined, undefined, winSorter);\n }\n\n /**\n * Get targeting key value pairs for winning bid.\n * @param bidsReceived code array\n * @param adUnitCodes code array\n * @return winning bids targeting\n */\n function getWinningBidTargeting(bidsReceived, adUnitCodes): TargetingArray {\n const winners = targeting.getWinningBids(adUnitCodes, bidsReceived);\n const standardKeys = getStandardKeys();\n\n return winners.map(winner => {\n return {\n [winner.adUnitCode]: Object.keys(winner.adserverTargeting)\n .filter(key =>\n typeof winner.sendStandardTargeting === 'undefined' ||\n winner.sendStandardTargeting ||\n standardKeys.indexOf(key) === -1)\n .reduce((acc, key) => {\n const targetingValue = [winner.adserverTargeting[key]];\n const targeting = { [key.substring(0, MAX_DFP_KEYLENGTH)]: targetingValue };\n if (key === TARGETING_KEYS.DEAL) {\n const bidderCodeTargetingKey = `${key}_${winner.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH);\n const bidderCodeTargeting = { [bidderCodeTargetingKey]: targetingValue };\n return [...acc, targeting, bidderCodeTargeting];\n }\n return [...acc, targeting];\n }, [])\n };\n });\n }\n\n function getStandardKeys() {\n return auctionManager.getStandardBidderAdServerTargeting() // in case using a custom standard key set\n .map(targeting => targeting.key)\n .concat(TARGETING_KEYS_ARR).filter(uniques); // standard keys defined in the library.\n }\n\n function getCustomKeys() {\n const standardKeys = getStandardKeys();\n return function(key) {\n return standardKeys.indexOf(key) === -1;\n }\n }\n\n /**\n * Get custom targeting key value pairs for bids.\n * @param {Array<Object>} bidsSorted code array\n * @param {Object} customKeysByUnit code array\n * @return bids with custom targeting defined in bidderSettings\n */\n function getCustomBidTargeting(bidsSorted: Bid[], customKeysByUnit: ByAdUnit<any>): TargetingArray {\n return bidsSorted\n .reduce((acc, bid) => {\n const newBid = Object.assign({}, bid);\n const customKeysForUnit = customKeysByUnit[newBid.adUnitCode];\n const targeting = [];\n\n if (customKeysForUnit) {\n Object.keys(customKeysForUnit).forEach(key => {\n if (key && customKeysForUnit[key]) targeting.push({[key]: customKeysForUnit[key]});\n })\n }\n\n acc.push({[newBid.adUnitCode]: targeting});\n\n return acc;\n }, []);\n }\n\n function getTargetingMap(bid: Bid, keys: string[]): TargetingValueLists[] {\n return keys.reduce((targeting, key) => {\n const value = bid.adserverTargeting[key];\n if (value) {\n targeting.push({[`${key}_${bid.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH)]: [bid.adserverTargeting[key]]})\n }\n return targeting;\n }, []);\n }\n\n function getAdUnitTargeting(adUnitCodes) {\n function getTargetingObj(adUnit) {\n return adUnit?.[JSON_MAPPING.ADSERVER_TARGETING];\n }\n\n function getTargetingValues(adUnit) {\n const aut = getTargetingObj(adUnit);\n\n return Object.keys(aut)\n .map(function(key) {\n if (isStr(aut[key])) aut[key] = aut[key].split(',').map(s => s.trim());\n if (!isArray(aut[key])) aut[key] = [ aut[key] ];\n return { [key]: aut[key] };\n });\n }\n\n return auctionManager.getAdUnits()\n .filter(adUnit => adUnitCodes.includes(adUnit.code) && getTargetingObj(adUnit))\n .reduce((result, adUnit) => {\n const targetingValues = getTargetingValues(adUnit);\n\n if (targetingValues)result.push({[adUnit.code]: targetingValues});\n return result;\n }, []);\n }\n\n return targeting;\n}\n\nexport const targeting = newTargeting(auctionManager);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"targeting.js","names":["auctionManager","getBufferedTTL","bidderSettings","config","BID_STATUS","DEFAULT_TARGETING_KEYS","EVENTS","JSON_MAPPING","TARGETING_KEYS","events","hook","ADPOD","deepAccess","deepClone","groupBy","isAdUnitCodeMatchingSlot","isArray","isFn","isStr","logError","logInfo","logMessage","logWarn","sortByHighestCpm","timestamp","uniques","getHighestCpm","getOldestHighestCpmBid","pbTargetingKeys","MAX_DFP_KEYLENGTH","CFG_ALLOW_TARGETING_KEYS","CFG_ADD_TARGETING_KEYS","TARGETING_KEY_CONFIGURATION_ERROR_MSG","TARGETING_KEYS_ARR","Object","keys","map","key","isBidNotExpired","bid","responseTimestamp","isUnusedBid","status","RENDERED","includes","filters","isBidUsable","values","some","predicate","getHighestCpmBidsFromBidPool","bidsReceived","winReducer","adUnitBidLimit","arguments","length","undefined","hasModified","winSorter","bids","dealPrioritization","getConfig","buckets","forEach","bucketKey","bucketBids","bidsByBidder","push","reduce","sort","sortByDealAndPriceBucketOrCpm","a","b","cpm","slice","useCpm","adserverTargeting","hb_deal","hb_pb","getGPTSlotsForAdUnits","adUnitCodes","customSlotMatching","getSlots","window","googletag","pubads","auToSlots","slot","customMatch","filter","au","fromEntries","newTargeting","latestAuctionForAdUnit","targeting","setLatestAuctionForAdUnit","adUnitCode","auctionId","resetPresetTargetingAST","getAdUnitCodes","unit","astTag","apntag","getTag","keywords","currentKeywords","newKeywords","toLowerCase","modifyTag","getAllTargeting","bidLimit","getBidsReceived","sendAllBids","bidLimitConfigValue","customKeysByUnit","filteredBids","getfilteredBidsAndCustomKeys","bidsSorted","getTargetingLevels","defaultKeys","assign","allowedKeys","addedKeys","Error","concat","Array","getAllowedTargetingKeyValues","flatTargeting","flattenTargeting","auctionKeysThreshold","filterTargetingKeys","code","setTargetingForGPT","adUnit","targetingSet","resetMap","entries","_ref","targetId","slots","value","indexOf","split","getSlotElementId","updateTargetingFromMap","targetingKey","setStatusForBids","BID_TARGETING_SET","targetingDone","emit","SET_TARGETING","getWinningBids","get","bidderCode","setTargetingForAst","astTargeting","e","keywordsObj","regex","search","toUpperCase","setKeywords","overrideKeyValue","isApntagDefined","addBidToTargeting","enableSendAllBids","deals","standardKeys","allowSendAllBidsTargetingKeys","allowedSendAllBidTargeting","result","dealId","targetingValue","getTargetingMap","getBidderTargeting","alwaysIncludeDeals","defaultKeyring","keyDispositions","k","join","keyring","kvPair","isCustom","defaultKey","found","find","allowedKey","allowedKeyName","removedKeys","d","filteredTargeting","updatePBTargetingKeys","targetKey","targetKeys","useAllBidsCustomTargeting","getWinningBidTargeting","getAdUnitTargeting","getCustomBidTargeting","adUnitIsEligible","cpmAllowed","isPreferredDeal","getCustomKeys","truncKey","substring","data","convertKeysToQueryForm","keyMap","queryString","encodedKeyPair","encodeURIComponent","targetingCopy","targetingMap","accMap","currMap","index","arr","adUnitQueryString","querySize","target","p","c","accumulator","bidCacheEnabled","filterFunction","isBidFromLastAuction","filterFunctionResult","cacheFilter","bidFilter","video","context","latestTargetedAuctionId","winners","getStandardKeys","winner","sendStandardTargeting","acc","DEAL","bidderCodeTargetingKey","bidderCodeTargeting","getStandardBidderAdServerTargeting","newBid","customKeysForUnit","getTargetingObj","ADSERVER_TARGETING","getTargetingValues","aut","s","trim","getAdUnits","targetingValues"],"sourceRoot":"../../..","sources":["src/targeting.ts"],"sourcesContent":["import {auctionManager} from './auctionManager.js';\nimport {getBufferedTTL} from './bidTTL.js';\nimport {bidderSettings} from './bidderSettings.js';\nimport {config} from './config.js';\nimport {\n BID_STATUS,\n DEFAULT_TARGETING_KEYS,\n EVENTS,\n JSON_MAPPING,\n TARGETING_KEYS\n} from './constants.js';\nimport * as events from './events.js';\nimport {hook} from './hook.js';\nimport {ADPOD} from './mediaTypes.js';\nimport {\n deepAccess,\n deepClone,\n groupBy,\n isAdUnitCodeMatchingSlot,\n isArray,\n isFn,\n isStr,\n logError,\n logInfo,\n logMessage,\n logWarn,\n sortByHighestCpm,\n timestamp,\n uniques,\n} from './utils.js';\nimport {getHighestCpm, getOldestHighestCpmBid} from './utils/reducers.js';\nimport type {Bid} from './bidfactory.ts';\nimport type {AdUnitCode, ByAdUnit, Identifier} from './types/common.d.ts';\nimport type {DefaultTargeting} from './auction.ts';\n\nvar pbTargetingKeys = [];\n\nconst MAX_DFP_KEYLENGTH = 20;\n\nconst CFG_ALLOW_TARGETING_KEYS = `targetingControls.allowTargetingKeys`;\nconst CFG_ADD_TARGETING_KEYS = `targetingControls.addTargetingKeys`;\nconst TARGETING_KEY_CONFIGURATION_ERROR_MSG = `Only one of \"${CFG_ALLOW_TARGETING_KEYS}\" or \"${CFG_ADD_TARGETING_KEYS}\" can be set`;\n\nexport const TARGETING_KEYS_ARR = Object.keys(TARGETING_KEYS).map(\n key => TARGETING_KEYS[key]\n);\n\n// return unexpired bids\nconst isBidNotExpired = (bid) => (bid.responseTimestamp + getBufferedTTL(bid) * 1000) > timestamp();\n\n// return bids whose status is not set. Winning bids can only have a status of `rendered`.\nconst isUnusedBid = (bid) => bid && ((bid.status && ![BID_STATUS.RENDERED].includes(bid.status)) || !bid.status);\n\nexport const filters = {\n isBidNotExpired,\n isUnusedBid\n};\n\nexport function isBidUsable(bid) {\n return !Object.values(filters).some((predicate) => !predicate(bid));\n}\n\n// If two bids are found for same adUnitCode, we will use the highest one to take part in auction\n// This can happen in case of concurrent auctions\n// If adUnitBidLimit is set above 0 return top N number of bids\nexport const getHighestCpmBidsFromBidPool = hook('sync', function(bidsReceived, winReducer, adUnitBidLimit = 0, hasModified = false, winSorter = sortByHighestCpm) {\n if (!hasModified) {\n const bids = [];\n const dealPrioritization = config.getConfig('sendBidsControl.dealPrioritization');\n // bucket by adUnitcode\n const buckets = groupBy(bidsReceived, 'adUnitCode');\n // filter top bid for each bucket by bidder\n Object.keys(buckets).forEach(bucketKey => {\n let bucketBids = [];\n const bidsByBidder = groupBy(buckets[bucketKey], 'bidderCode')\n Object.keys(bidsByBidder).forEach(key => { bucketBids.push(bidsByBidder[key].reduce(winReducer)) });\n // if adUnitBidLimit is set, pass top N number bids\n if (adUnitBidLimit) {\n bucketBids = dealPrioritization ? bucketBids.sort(sortByDealAndPriceBucketOrCpm(true)) : bucketBids.sort((a, b) => b.cpm - a.cpm);\n bids.push(...bucketBids.slice(0, adUnitBidLimit));\n } else {\n bucketBids = bucketBids.sort(winSorter)\n bids.push(...bucketBids);\n }\n });\n\n return bids;\n }\n\n return bidsReceived;\n});\n\n/**\n * A descending sort function that will sort the list of objects based on the following two dimensions:\n * - bids with a deal are sorted before bids w/o a deal\n * - then sort bids in each grouping based on the hb_pb value\n * eg: the following list of bids would be sorted like:\n * [{\n * \"hb_adid\": \"vwx\",\n * \"hb_pb\": \"28\",\n * \"hb_deal\": \"7747\"\n * }, {\n * \"hb_adid\": \"jkl\",\n * \"hb_pb\": \"10\",\n * \"hb_deal\": \"9234\"\n * }, {\n * \"hb_adid\": \"stu\",\n * \"hb_pb\": \"50\"\n * }, {\n * \"hb_adid\": \"def\",\n * \"hb_pb\": \"2\"\n * }]\n */\nexport function sortByDealAndPriceBucketOrCpm(useCpm = false) {\n return function(a, b) {\n if (a.adserverTargeting.hb_deal !== undefined && b.adserverTargeting.hb_deal === undefined) {\n return -1;\n }\n\n if ((a.adserverTargeting.hb_deal === undefined && b.adserverTargeting.hb_deal !== undefined)) {\n return 1;\n }\n\n // assuming both values either have a deal or don't have a deal - sort by the hb_pb param\n if (useCpm) {\n return b.cpm - a.cpm;\n }\n\n return b.adserverTargeting.hb_pb - a.adserverTargeting.hb_pb;\n }\n}\n\n/**\n * Return a map where each code in `adUnitCodes` maps to a list of GPT slots that match it.\n *\n * @param adUnitCodes\n * @param customSlotMatching\n * @param getSlots\n */\nexport function getGPTSlotsForAdUnits(adUnitCodes: AdUnitCode[], customSlotMatching, getSlots = () => window.googletag.pubads().getSlots()): ByAdUnit<googletag.Slot[]> {\n return getSlots().reduce((auToSlots, slot) => {\n const customMatch = isFn(customSlotMatching) && customSlotMatching(slot);\n Object.keys(auToSlots).filter(isFn(customMatch) ? customMatch : isAdUnitCodeMatchingSlot(slot)).forEach(au => auToSlots[au].push(slot));\n return auToSlots;\n }, Object.fromEntries(adUnitCodes.map(au => [au, []])));\n}\n\nexport type TargetingMap<V> = Partial<DefaultTargeting> & {\n [targetingKey: string]: V\n}\n\nexport type TargetingValues = TargetingMap<string>;\ntype GPTTargetingValues = TargetingMap<string | string[]>;\n\ntype TargetingValueLists = TargetingMap<string[]>;\ntype TargetingArray = ByAdUnit<TargetingValueLists[]>[];\n\ntype AdUnitPredicate = (adUnitCode: AdUnitCode) => boolean;\nexport type SlotMatchingFn = (slot: googletag.Slot) => AdUnitPredicate;\n\ndeclare module './events' {\n interface Events {\n [EVENTS.SET_TARGETING]: [ByAdUnit<GPTTargetingValues>];\n }\n}\n\nexport interface TargetingControlsConfig {\n /**\n * Specifies the maximum number of characters the system can add to ad server targeting.\n */\n auctionKeyMaxChars?: number;\n /**\n * If enableSendAllBids is false, set this value to true to ensure that deals are sent along with the winning bid\n */\n alwaysIncludeDeals?: boolean;\n /**\n * Selects supported default targeting keys.\n */\n allowTargetingKeys?: (keyof typeof TARGETING_KEYS)[];\n /**\n * Selects targeting keys to be supported in addition to the default ones\n */\n addTargetingKeys?: (keyof typeof TARGETING_KEYS)[];\n /**\n * Selects supported default targeting keys.\n */\n allowSendAllBidsTargetingKeys?: (keyof typeof TARGETING_KEYS)[];\n /**\n * Set to false to prevent custom targeting values from being set for non-winning bids\n */\n allBidsCustomTargeting?: boolean\n}\n\ndeclare module './config' {\n interface Config {\n targetingControls?: TargetingControlsConfig;\n }\n}\n\nexport function newTargeting(auctionManager) {\n const latestAuctionForAdUnit = {};\n\n const targeting = {\n setLatestAuctionForAdUnit(adUnitCode: AdUnitCode, auctionId: Identifier) {\n latestAuctionForAdUnit[adUnitCode] = auctionId;\n },\n\n resetPresetTargetingAST(adUnitCode?: AdUnitCode | AdUnitCode[]) {\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n adUnitCodes.forEach(function(unit) {\n const astTag = window.apntag.getTag(unit);\n if (astTag && astTag.keywords) {\n const currentKeywords = Object.keys(astTag.keywords);\n const newKeywords = {};\n currentKeywords.forEach((key) => {\n if (!pbTargetingKeys.includes(key.toLowerCase())) {\n newKeywords[key] = astTag.keywords[key];\n }\n })\n window.apntag.modifyTag(unit, { keywords: newKeywords })\n }\n });\n },\n\n /**\n * Returns all ad server targeting for all ad units.\n * @param adUnitCode\n * @param bidLimit\n * @param bidsReceived - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return targeting\n */\n getAllTargeting(adUnitCode?: AdUnitCode | AdUnitCode[], bidLimit?: number, bidsReceived?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): ByAdUnit<TargetingValues> {\n bidsReceived ||= getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n const sendAllBids = config.getConfig('enableSendAllBids');\n const bidLimitConfigValue = config.getConfig('sendBidsControl.bidLimit');\n const adUnitBidLimit = (sendAllBids && (bidLimit || bidLimitConfigValue)) || 0;\n const { customKeysByUnit, filteredBids } = getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived);\n const bidsSorted = getHighestCpmBidsFromBidPool(filteredBids, winReducer, adUnitBidLimit, undefined, winSorter);\n let targeting = getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes);\n\n const defaultKeys = Object.keys(Object.assign({}, DEFAULT_TARGETING_KEYS));\n let allowedKeys = config.getConfig(CFG_ALLOW_TARGETING_KEYS);\n const addedKeys = config.getConfig(CFG_ADD_TARGETING_KEYS);\n\n if (addedKeys != null && allowedKeys != null) {\n throw new Error(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n } else if (addedKeys != null) {\n allowedKeys = defaultKeys.concat(addedKeys) as any;\n } else {\n allowedKeys = allowedKeys || defaultKeys as any;\n }\n\n if (Array.isArray(allowedKeys) && allowedKeys.length > 0) {\n targeting = getAllowedTargetingKeyValues(targeting, allowedKeys);\n }\n\n let flatTargeting = flattenTargeting(targeting);\n\n const auctionKeysThreshold = config.getConfig('targetingControls.auctionKeyMaxChars');\n if (auctionKeysThreshold) {\n logInfo(`Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ${auctionKeysThreshold} characters. Running checks on auction keys...`);\n flatTargeting = filterTargetingKeys(flatTargeting, auctionKeysThreshold);\n }\n\n // make sure at least there is a entry per adUnit code in the targetingSet so receivers of SET_TARGETING call's can know what ad units are being invoked\n adUnitCodes.forEach(code => {\n if (!flatTargeting[code]) {\n flatTargeting[code] = {};\n }\n });\n\n return flatTargeting;\n },\n\n setTargetingForGPT: hook('sync', function (adUnit?: AdUnitCode | AdUnitCode[], customSlotMatching?: SlotMatchingFn) {\n // get our ad unit codes\n const targetingSet: ByAdUnit<GPTTargetingValues> = targeting.getAllTargeting(adUnit);\n\n const resetMap = Object.fromEntries(pbTargetingKeys.map(key => [key, null]));\n\n Object.entries(getGPTSlotsForAdUnits(Object.keys(targetingSet), customSlotMatching)).forEach(([targetId, slots]) => {\n slots.forEach(slot => {\n // now set new targeting keys\n Object.keys(targetingSet[targetId]).forEach(key => {\n let value: string | string[] = targetingSet[targetId][key];\n if (typeof value === 'string' && value.indexOf(',') !== -1) {\n // due to the check the array will be formed only if string has ',' else plain string will be assigned as value\n value = value.split(',');\n }\n targetingSet[targetId][key] = value;\n });\n logMessage(`Attempting to set targeting-map for slot: ${slot.getSlotElementId()} with targeting-map:`, targetingSet[targetId]);\n slot.updateTargetingFromMap(Object.assign({}, resetMap, targetingSet[targetId]))\n })\n })\n\n Object.keys(targetingSet).forEach((adUnitCode) => {\n Object.keys(targetingSet[adUnitCode]).forEach((targetingKey) => {\n if (targetingKey === 'hb_adid') {\n auctionManager.setStatusForBids(targetingSet[adUnitCode][targetingKey], BID_STATUS.BID_TARGETING_SET);\n }\n });\n });\n\n targeting.targetingDone(targetingSet);\n\n // emit event\n events.emit(EVENTS.SET_TARGETING, targetingSet);\n }, 'setTargetingForGPT'),\n\n targetingDone: hook('sync', function (targetingSet: ByAdUnit<GPTTargetingValues>) {\n return targetingSet;\n }, 'targetingDone'),\n\n /**\n * Returns top bids for a given adUnit or set of adUnits.\n * @param adUnitCode adUnitCode or array of adUnitCodes\n * @param bids - The received bids, defaulting to the result of getBidsReceived().\n * @param [winReducer = getHighestCpm] - reducer method\n * @param [winSorter = sortByHighestCpm] - sorter method\n * @return An array of winning bids.\n */\n getWinningBids(adUnitCode: AdUnitCode | AdUnitCode[], bids?: Bid[], winReducer = getHighestCpm, winSorter = sortByHighestCpm): Bid[] {\n const bidsReceived = bids || getBidsReceived(winReducer, winSorter);\n const adUnitCodes = getAdUnitCodes(adUnitCode);\n\n return bidsReceived\n .filter(bid => adUnitCodes.includes(bid.adUnitCode))\n .filter(bid => (bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true) ? bid.cpm >= 0 : bid.cpm > 0)\n .map(bid => bid.adUnitCode)\n .filter(uniques)\n .map(adUnitCode => bidsReceived\n .filter(bid => bid.adUnitCode === adUnitCode ? bid : null)\n .reduce(getHighestCpm));\n },\n\n /**\n * @param adUnitCodes adUnitCode or array of adUnitCodes\n * Sets targeting for AST\n */\n setTargetingForAst(adUnitCodes?: AdUnitCode | AdUnitCode[]) {\n const astTargeting = targeting.getAllTargeting(adUnitCodes);\n\n try {\n targeting.resetPresetTargetingAST(adUnitCodes);\n } catch (e) {\n logError('unable to reset targeting for AST' + e)\n }\n\n Object.keys(astTargeting).forEach(targetId =>\n Object.keys(astTargeting[targetId]).forEach(key => {\n logMessage(`Attempting to set targeting for targetId: ${targetId} key: ${key} value: ${astTargeting[targetId][key]}`);\n // setKeywords supports string and array as value\n if (isStr(astTargeting[targetId][key]) || isArray(astTargeting[targetId][key])) {\n const keywordsObj = {};\n const regex = /pt[0-9]/;\n if (key.search(regex) < 0) {\n keywordsObj[key.toUpperCase()] = astTargeting[targetId][key];\n } else {\n // pt${n} keys should not be uppercased\n keywordsObj[key] = astTargeting[targetId][key];\n }\n window.apntag.setKeywords(targetId, keywordsObj, { overrideKeyValue: true });\n }\n })\n );\n },\n isApntagDefined() {\n if (window.apntag && isFn(window.apntag.setKeywords)) {\n return true;\n }\n },\n }\n\n function addBidToTargeting(bids, enableSendAllBids = false, deals = false): TargetingArray {\n const standardKeys = TARGETING_KEYS_ARR.slice();\n const allowSendAllBidsTargetingKeys = config.getConfig('targetingControls.allowSendAllBidsTargetingKeys');\n\n const allowedSendAllBidTargeting = allowSendAllBidsTargetingKeys\n ? allowSendAllBidsTargetingKeys.map((key) => TARGETING_KEYS[key])\n : standardKeys;\n\n return bids.reduce((result, bid) => {\n if (enableSendAllBids || (deals && bid.dealId)) {\n const targetingValue = getTargetingMap(bid, standardKeys.filter(\n key => typeof bid.adserverTargeting[key] !== 'undefined' &&\n (deals || allowedSendAllBidTargeting.indexOf(key) !== -1)));\n\n if (targetingValue) {\n result.push({[bid.adUnitCode]: targetingValue})\n }\n }\n return result;\n }, []);\n }\n\n function getBidderTargeting(bids) {\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n const enableSendAllBids = config.getConfig('enableSendAllBids');\n return addBidToTargeting(bids, enableSendAllBids, alwaysIncludeDeals);\n }\n\n /**\n * Returns filtered ad server targeting for custom and allowed keys.\n * @param targeting\n * @param allowedKeys\n * @return filtered targeting\n */\n function getAllowedTargetingKeyValues(targeting: TargetingArray, allowedKeys: string[]): TargetingArray {\n const defaultKeyring = Object.assign({}, TARGETING_KEYS);\n const defaultKeys = Object.keys(TARGETING_KEYS);\n const keyDispositions = {};\n logInfo(`allowTargetingKeys - allowed keys [ ${allowedKeys.map(k => defaultKeyring[k]).join(', ')} ]`);\n targeting.map(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n const keys = keyring.filter(kvPair => {\n const key = Object.keys(kvPair)[0];\n // check if key is in default keys, if not, it's custom, we won't remove it.\n const isCustom = defaultKeys.filter(defaultKey => key.indexOf(defaultKeyring[defaultKey]) === 0).length === 0;\n // check if key explicitly allowed, if not, we'll remove it.\n const found = isCustom || allowedKeys.find(allowedKey => {\n const allowedKeyName = defaultKeyring[allowedKey];\n // we're looking to see if the key exactly starts with one of our default keys.\n // (which hopefully means it's not custom)\n const found = key.indexOf(allowedKeyName) === 0;\n return found;\n });\n keyDispositions[key] = !found;\n return found;\n });\n adUnit[adUnitCode] = keys;\n });\n const removedKeys = Object.keys(keyDispositions).filter(d => keyDispositions[d]);\n logInfo(`allowTargetingKeys - removed keys [ ${removedKeys.join(', ')} ]`);\n // remove any empty targeting objects, as they're unnecessary.\n const filteredTargeting = targeting.filter(adUnit => {\n const adUnitCode = Object.keys(adUnit)[0];\n const keyring = adUnit[adUnitCode];\n return keyring.length > 0;\n });\n return filteredTargeting\n }\n\n function updatePBTargetingKeys(adUnitCode) {\n (Object.keys(adUnitCode)).forEach(key => {\n adUnitCode[key].forEach(targetKey => {\n const targetKeys = Object.keys(targetKey);\n if (pbTargetingKeys.indexOf(targetKeys[0]) === -1) {\n pbTargetingKeys = targetKeys.concat(pbTargetingKeys);\n }\n });\n });\n }\n\n function getTargetingLevels(bidsSorted, customKeysByUnit, adUnitCodes) {\n const useAllBidsCustomTargeting = config.getConfig('targetingControls.allBidsCustomTargeting') === true;\n\n const targeting = getWinningBidTargeting(bidsSorted, adUnitCodes)\n .concat(getBidderTargeting(bidsSorted))\n .concat(getAdUnitTargeting(adUnitCodes));\n\n if (useAllBidsCustomTargeting) {\n targeting.push(...getCustomBidTargeting(bidsSorted, customKeysByUnit))\n }\n\n targeting.forEach(adUnitCode => {\n updatePBTargetingKeys(adUnitCode);\n });\n\n return targeting;\n }\n\n function getfilteredBidsAndCustomKeys(adUnitCodes, bidsReceived) {\n const filteredBids = [];\n const customKeysByUnit = {};\n const alwaysIncludeDeals = config.getConfig('targetingControls.alwaysIncludeDeals');\n\n bidsReceived.forEach(bid => {\n const adUnitIsEligible = adUnitCodes.includes(bid.adUnitCode);\n const cpmAllowed = bidderSettings.get(bid.bidderCode, 'allowZeroCpmBids') === true ? bid.cpm >= 0 : bid.cpm > 0;\n const isPreferredDeal = alwaysIncludeDeals && bid.dealId;\n\n if (adUnitIsEligible && (isPreferredDeal || cpmAllowed)) {\n filteredBids.push(bid);\n Object.keys(bid.adserverTargeting)\n .filter(getCustomKeys())\n .forEach(key => {\n const truncKey = key.substring(0, MAX_DFP_KEYLENGTH);\n const data = customKeysByUnit[bid.adUnitCode] || {};\n const value = [bid.adserverTargeting[key]];\n\n if (data[truncKey]) {\n data[truncKey] = data[truncKey].concat(value).filter(uniques);\n } else {\n data[truncKey] = value;\n }\n\n customKeysByUnit[bid.adUnitCode] = data;\n })\n }\n });\n\n return {filteredBids, customKeysByUnit};\n }\n\n // warn about conflicting configuration\n config.getConfig('targetingControls', function (config) {\n if (deepAccess(config, CFG_ALLOW_TARGETING_KEYS) != null && deepAccess(config, CFG_ADD_TARGETING_KEYS) != null) {\n logError(TARGETING_KEY_CONFIGURATION_ERROR_MSG);\n }\n });\n\n // create an encoded string variant based on the keypairs of the provided object\n // - note this will encode the characters between the keys (ie = and &)\n function convertKeysToQueryForm(keyMap) {\n return Object.keys(keyMap).reduce(function (queryString, key) {\n const encodedKeyPair = `${key}%3d${encodeURIComponent(keyMap[key])}%26`;\n queryString += encodedKeyPair;\n return queryString;\n }, '');\n }\n\n function filterTargetingKeys(targeting: ByAdUnit<TargetingValues>, auctionKeysThreshold: number) {\n // read each targeting.adUnit object and sort the adUnits into a list of adUnitCodes based on priorization setting (eg CPM)\n const targetingCopy = deepClone(targeting);\n\n const targetingMap = Object.keys(targetingCopy).map(adUnitCode => {\n return {\n adUnitCode,\n adserverTargeting: targetingCopy[adUnitCode]\n };\n }).sort(sortByDealAndPriceBucketOrCpm());\n\n // iterate through the targeting based on above list and transform the keys into the query-equivalent and count characters\n return targetingMap.reduce(function (accMap, currMap, index, arr) {\n let adUnitQueryString = convertKeysToQueryForm(currMap.adserverTargeting);\n\n // for the last adUnit - trim last encoded ampersand from the converted query string\n if ((index + 1) === arr.length) {\n adUnitQueryString = adUnitQueryString.slice(0, -3);\n }\n\n // if under running threshold add to result\n const code = currMap.adUnitCode;\n const querySize = adUnitQueryString.length;\n if (querySize <= auctionKeysThreshold) {\n auctionKeysThreshold -= querySize;\n logInfo(`AdUnit '${code}' auction keys comprised of ${querySize} characters. Deducted from running threshold; new limit is ${auctionKeysThreshold}`, targetingCopy[code]);\n\n accMap[code] = targetingCopy[code];\n } else {\n logWarn(`The following keys for adUnitCode '${code}' exceeded the current limit of the 'auctionKeyMaxChars' setting.\\nThe key-set size was ${querySize}, the current allotted amount was ${auctionKeysThreshold}.\\n`, targetingCopy[code]);\n }\n\n if ((index + 1) === arr.length && Object.keys(accMap).length === 0) {\n logError('No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting.');\n }\n return accMap;\n }, {});\n }\n\n /**\n * Converts targeting array and flattens to make it easily iteratable\n * e.g: Sample input to this function\n * ```\n * [\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder\": [\"appnexusAst\"]}]\n * },\n * {\n * \"div-gpt-ad-1460505748561-0\": [{\"hb_bidder_appnexusAs\": [\"appnexusAst\", \"other\"]}]\n * }\n * ]\n * ```\n * Resulting array\n * ```\n * {\n * \"div-gpt-ad-1460505748561-0\": {\n * \"hb_bidder\": \"appnexusAst\",\n * \"hb_bidder_appnexusAs\": \"appnexusAst,other\"\n * }\n * }\n * ```\n *\n * @param targeting\n * @return targeting\n */\n function flattenTargeting(targeting: TargetingArray): ByAdUnit<TargetingValues> {\n return targeting.map(targeting => {\n return {\n [Object.keys(targeting)[0]]: targeting[Object.keys(targeting)[0]]\n .map(target => {\n return {\n [Object.keys(target)[0]]: target[Object.keys(target)[0]].join(',')\n };\n }).reduce((p, c) => Object.assign(c, p), {})\n };\n }).reduce(function (accumulator, targeting) {\n var key = Object.keys(targeting)[0];\n accumulator[key] = Object.assign({}, accumulator[key], targeting[key]);\n return accumulator;\n }, {});\n }\n\n /**\n * normlizes input to a `adUnit.code` array\n * @param adUnitCode\n * @return AdUnit code array\n */\n function getAdUnitCodes(adUnitCode?: AdUnitCode | AdUnitCode[]): AdUnitCode[] {\n if (typeof adUnitCode === 'string') {\n return [adUnitCode];\n } else if (isArray(adUnitCode)) {\n return adUnitCode;\n }\n return auctionManager.getAdUnitCodes() || [];\n }\n\n function getBidsReceived(winReducer = getOldestHighestCpmBid, winSorter = undefined) {\n const bidsReceived = auctionManager.getBidsReceived().reduce((bids, bid) => {\n const bidCacheEnabled = config.getConfig('useBidCache');\n const filterFunction = config.getConfig('bidCacheFilterFunction');\n const isBidFromLastAuction = latestAuctionForAdUnit[bid.adUnitCode] === bid.auctionId;\n const filterFunctionResult = bidCacheEnabled && !isBidFromLastAuction && typeof filterFunction === 'function' ? !!filterFunction(bid) : true;\n const cacheFilter = bidCacheEnabled || isBidFromLastAuction;\n const bidFilter = cacheFilter && filterFunctionResult;\n\n if (bidFilter && bid?.video?.context !== ADPOD && isBidUsable(bid)) {\n bid.latestTargetedAuctionId = latestAuctionForAdUnit[bid.adUnitCode];\n bids.push(bid)\n }\n\n return bids;\n }, []);\n\n return getHighestCpmBidsFromBidPool(bidsReceived, winReducer, undefined, undefined, winSorter);\n }\n\n /**\n * Get targeting key value pairs for winning bid.\n * @param bidsReceived code array\n * @param adUnitCodes code array\n * @return winning bids targeting\n */\n function getWinningBidTargeting(bidsReceived, adUnitCodes): TargetingArray {\n const winners = targeting.getWinningBids(adUnitCodes, bidsReceived);\n const standardKeys = getStandardKeys();\n\n return winners.map(winner => {\n return {\n [winner.adUnitCode]: Object.keys(winner.adserverTargeting)\n .filter(key =>\n typeof winner.sendStandardTargeting === 'undefined' ||\n winner.sendStandardTargeting ||\n standardKeys.indexOf(key) === -1)\n .reduce((acc, key) => {\n const targetingValue = [winner.adserverTargeting[key]];\n const targeting = { [key.substring(0, MAX_DFP_KEYLENGTH)]: targetingValue };\n if (key === TARGETING_KEYS.DEAL) {\n const bidderCodeTargetingKey = `${key}_${winner.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH);\n const bidderCodeTargeting = { [bidderCodeTargetingKey]: targetingValue };\n return [...acc, targeting, bidderCodeTargeting];\n }\n return [...acc, targeting];\n }, [])\n };\n });\n }\n\n function getStandardKeys() {\n return auctionManager.getStandardBidderAdServerTargeting() // in case using a custom standard key set\n .map(targeting => targeting.key)\n .concat(TARGETING_KEYS_ARR).filter(uniques); // standard keys defined in the library.\n }\n\n function getCustomKeys() {\n const standardKeys = getStandardKeys();\n return function(key) {\n return standardKeys.indexOf(key) === -1;\n }\n }\n\n /**\n * Get custom targeting key value pairs for bids.\n * @param {Array<Object>} bidsSorted code array\n * @param {Object} customKeysByUnit code array\n * @return bids with custom targeting defined in bidderSettings\n */\n function getCustomBidTargeting(bidsSorted: Bid[], customKeysByUnit: ByAdUnit<any>): TargetingArray {\n return bidsSorted\n .reduce((acc, bid) => {\n const newBid = Object.assign({}, bid);\n const customKeysForUnit = customKeysByUnit[newBid.adUnitCode];\n const targeting = [];\n\n if (customKeysForUnit) {\n Object.keys(customKeysForUnit).forEach(key => {\n if (key && customKeysForUnit[key]) targeting.push({[key]: customKeysForUnit[key]});\n })\n }\n\n acc.push({[newBid.adUnitCode]: targeting});\n\n return acc;\n }, []);\n }\n\n function getTargetingMap(bid: Bid, keys: string[]): TargetingValueLists[] {\n return keys.reduce((targeting, key) => {\n const value = bid.adserverTargeting[key];\n if (value) {\n targeting.push({[`${key}_${bid.bidderCode}`.substring(0, MAX_DFP_KEYLENGTH)]: [bid.adserverTargeting[key]]})\n }\n return targeting;\n }, []);\n }\n\n function getAdUnitTargeting(adUnitCodes) {\n function getTargetingObj(adUnit) {\n return adUnit?.[JSON_MAPPING.ADSERVER_TARGETING];\n }\n\n function getTargetingValues(adUnit) {\n const aut = getTargetingObj(adUnit);\n\n return Object.keys(aut)\n .map(function(key) {\n if (isStr(aut[key])) aut[key] = aut[key].split(',').map(s => s.trim());\n if (!isArray(aut[key])) aut[key] = [ aut[key] ];\n return { [key]: aut[key] };\n });\n }\n\n return auctionManager.getAdUnits()\n .filter(adUnit => adUnitCodes.includes(adUnit.code) && getTargetingObj(adUnit))\n .reduce((result, adUnit) => {\n const targetingValues = getTargetingValues(adUnit);\n\n if (targetingValues)result.push({[adUnit.code]: targetingValues});\n return result;\n }, []);\n }\n\n return targeting;\n}\n\nexport const targeting = newTargeting(auctionManager);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { describe, it } from 'mocha';
|
|
2
|
+
import { expect } from 'chai';
|
|
3
|
+
import { getDisclosureUrl } from '../../metadata/storageDisclosure.mjs';
|
|
4
|
+
describe('getDisclosureUrl', () => {
|
|
5
|
+
let gvl;
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
gvl = null;
|
|
8
|
+
});
|
|
9
|
+
const getGvl = () => Promise.resolve(gvl);
|
|
10
|
+
it('should not return url from gvl when vendor has deletedDate', async () => {
|
|
11
|
+
gvl = {
|
|
12
|
+
vendors: {
|
|
13
|
+
'123': {
|
|
14
|
+
deviceStorageDisclosureUrl: 'disclosure.url',
|
|
15
|
+
deletedDate: '2024-06-11T00:00:00Z'
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
const url = await getDisclosureUrl(123, getGvl);
|
|
20
|
+
expect(url).to.not.exist;
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=disclosure_spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disclosure_spec.js","names":["describe","it","expect","getDisclosureUrl","gvl","beforeEach","getGvl","Promise","resolve","vendors","deviceStorageDisclosureUrl","deletedDate","url","to","not","exist"],"sourceRoot":"../../../..","sources":["test/build-logic/disclosure_spec.mjs"],"sourcesContent":["import {describe, it} from 'mocha';\nimport {expect} from 'chai';\nimport {getDisclosureUrl} from '../../metadata/storageDisclosure.mjs';\n\ndescribe('getDisclosureUrl', () => {\n let gvl;\n\n beforeEach(() => {\n gvl = null;\n });\n\n const getGvl = () => Promise.resolve(gvl);\n\n it('should not return url from gvl when vendor has deletedDate', async () => {\n gvl = {\n vendors: {\n '123': {\n deviceStorageDisclosureUrl: 'disclosure.url',\n deletedDate: '2024-06-11T00:00:00Z'\n }\n }\n };\n const url = await getDisclosureUrl(123, getGvl);\n expect(url).to.not.exist;\n });\n});\n"],"mappings":"AAAA,SAAQA,QAAQ,EAAEC,EAAE,QAAO,OAAO;AAClC,SAAQC,MAAM,QAAO,MAAM;AAC3B,SAAQC,gBAAgB,QAAO,sCAAsC;AAErEH,QAAQ,CAAC,kBAAkB,EAAE,MAAM;EACjC,IAAII,GAAG;EAEPC,UAAU,CAAC,MAAM;IACfD,GAAG,GAAG,IAAI;EACZ,CAAC,CAAC;EAEF,MAAME,MAAM,GAAGA,CAAA,KAAMC,OAAO,CAACC,OAAO,CAACJ,GAAG,CAAC;EAEzCH,EAAE,CAAC,4DAA4D,EAAE,YAAY;IAC3EG,GAAG,GAAG;MACJK,OAAO,EAAE;QACP,KAAK,EAAE;UACLC,0BAA0B,EAAE,gBAAgB;UAC5CC,WAAW,EAAE;QACf;MACF;IACF,CAAC;IACD,MAAMC,GAAG,GAAG,MAAMT,gBAAgB,CAAC,GAAG,EAAEG,MAAM,CAAC;IAC/CJ,MAAM,CAACU,GAAG,CAAC,CAACC,EAAE,CAACC,GAAG,CAACC,KAAK;EAC1B,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { describe, it } from 'mocha';
|
|
3
|
+
import { isValidGvlId } from '../../metadata/gvl.mjs';
|
|
4
|
+
describe('gvl build time checks', () => {
|
|
5
|
+
let gvl;
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
gvl = null;
|
|
8
|
+
});
|
|
9
|
+
function getGvl() {
|
|
10
|
+
return Promise.resolve(gvl);
|
|
11
|
+
}
|
|
12
|
+
describe('validateGvlId', async () => {
|
|
13
|
+
Object.entries({
|
|
14
|
+
'missing': null,
|
|
15
|
+
'deleted': {
|
|
16
|
+
deletedDate: '2024-06-11T00:00:00Z'
|
|
17
|
+
}
|
|
18
|
+
}).forEach(_ref => {
|
|
19
|
+
let [t, vendor] = _ref;
|
|
20
|
+
it(`should reject gvl id when its vendor is ${t}`, async () => {
|
|
21
|
+
gvl = {
|
|
22
|
+
vendors: {
|
|
23
|
+
"123": vendor
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
expect(await isValidGvlId(123, getGvl)).to.be.false;
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=gvl_spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gvl_spec.js","names":["expect","describe","it","isValidGvlId","gvl","beforeEach","getGvl","Promise","resolve","Object","entries","deletedDate","forEach","_ref","t","vendor","vendors","to","be","false"],"sourceRoot":"../../../..","sources":["test/build-logic/gvl_spec.mjs"],"sourcesContent":["import {expect} from 'chai';\nimport {describe, it} from 'mocha';\nimport {isValidGvlId} from '../../metadata/gvl.mjs';\n\ndescribe('gvl build time checks', () => {\n let gvl;\n beforeEach(() => {\n gvl = null;\n });\n\n function getGvl() {\n return Promise.resolve(gvl);\n }\n\n describe('validateGvlId', async () => {\n Object.entries({\n 'missing': null,\n 'deleted': {\n deletedDate: '2024-06-11T00:00:00Z'\n }\n }).forEach(([t, vendor]) => {\n it(`should reject gvl id when its vendor is ${t}`, async () => {\n gvl = {\n vendors: {\n \"123\": vendor\n }\n }\n expect(await isValidGvlId(123, getGvl)).to.be.false;\n })\n })\n })\n})\n"],"mappings":"AAAA,SAAQA,MAAM,QAAO,MAAM;AAC3B,SAAQC,QAAQ,EAAEC,EAAE,QAAO,OAAO;AAClC,SAAQC,YAAY,QAAO,wBAAwB;AAEnDF,QAAQ,CAAC,uBAAuB,EAAE,MAAM;EACtC,IAAIG,GAAG;EACPC,UAAU,CAAC,MAAM;IACfD,GAAG,GAAG,IAAI;EACZ,CAAC,CAAC;EAEF,SAASE,MAAMA,CAAA,EAAG;IAChB,OAAOC,OAAO,CAACC,OAAO,CAACJ,GAAG,CAAC;EAC7B;EAEAH,QAAQ,CAAC,eAAe,EAAE,YAAY;IACpCQ,MAAM,CAACC,OAAO,CAAC;MACb,SAAS,EAAE,IAAI;MACf,SAAS,EAAE;QACTC,WAAW,EAAE;MACf;IACF,CAAC,CAAC,CAACC,OAAO,CAACC,IAAA,IAAiB;MAAA,IAAhB,CAACC,CAAC,EAAEC,MAAM,CAAC,GAAAF,IAAA;MACrBX,EAAE,CAAC,2CAA2CY,CAAC,EAAE,EAAE,YAAY;QAC7DV,GAAG,GAAG;UACJY,OAAO,EAAE;YACP,KAAK,EAAED;UACT;QACF,CAAC;QACDf,MAAM,CAAC,MAAMG,YAAY,CAAC,GAAG,EAAEG,MAAM,CAAC,CAAC,CAACW,EAAE,CAACC,EAAE,CAACC,KAAK;MACrD,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -206,7 +206,7 @@ describe('auctionmanager.js', function () {
|
|
|
206
206
|
if (bid.mediaType === 'video') {
|
|
207
207
|
expected[TARGETING_KEYS.UUID] = bid.videoCacheKey;
|
|
208
208
|
expected[TARGETING_KEYS.CACHE_ID] = bid.videoCacheKey;
|
|
209
|
-
expected[TARGETING_KEYS.CACHE_HOST] = '
|
|
209
|
+
expected[TARGETING_KEYS.CACHE_HOST] = 'test.cache.url';
|
|
210
210
|
}
|
|
211
211
|
if (!keys) {
|
|
212
212
|
return expected;
|
|
@@ -240,7 +240,7 @@ describe('auctionmanager.js', function () {
|
|
|
240
240
|
it('No bidder level configuration defined - default for video', function () {
|
|
241
241
|
config.setConfig({
|
|
242
242
|
cache: {
|
|
243
|
-
url: 'https://
|
|
243
|
+
url: 'https://test.cache.url/endpoint'
|
|
244
244
|
}
|
|
245
245
|
});
|
|
246
246
|
pbjs.bidderSettings = {};
|
|
@@ -318,7 +318,7 @@ describe('auctionmanager.js', function () {
|
|
|
318
318
|
it('Custom configuration for all bidders with video bid', function () {
|
|
319
319
|
config.setConfig({
|
|
320
320
|
cache: {
|
|
321
|
-
url: 'https://
|
|
321
|
+
url: 'https://test.cache.url/endpoint'
|
|
322
322
|
}
|
|
323
323
|
});
|
|
324
324
|
const videoBid = utils.deepClone(bid);
|
|
@@ -1912,7 +1912,7 @@ describe('auctionmanager.js', function () {
|
|
|
1912
1912
|
doneSpy = sinon.spy();
|
|
1913
1913
|
config.setConfig({
|
|
1914
1914
|
cache: {
|
|
1915
|
-
url: 'https://
|
|
1915
|
+
url: 'https://test.cache.url/endpoint'
|
|
1916
1916
|
}
|
|
1917
1917
|
});
|
|
1918
1918
|
});
|