prebid.js 10.3.0 → 10.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/dependabot.yml +8 -0
- package/.github/workflows/run-unit-tests.yml +8 -0
- package/.github/workflows/test-chunk.yml +9 -0
- package/.github/workflows/test.yml +8 -0
- package/README.md +1 -14
- package/creative/renderers/display/renderer.js +5 -1
- package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
- package/dist/chunks/33acrossIdSystem.js +1 -1
- package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
- package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
- package/dist/chunks/adagioUtils.js +1 -1
- package/dist/chunks/addefendBidAdapter.js +1 -1
- package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
- package/dist/chunks/adgenerationBidAdapter.js +1 -1
- package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
- package/dist/chunks/adipoloBidAdapter.js +1 -1
- package/dist/chunks/adipoloBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
- package/dist/chunks/adlooxRtdProvider.js +1 -1
- package/dist/chunks/admaticBidAdapter.js +1 -1
- package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerBidAdapter.js +1 -1
- package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerIdSystem.metadata.js +1 -1
- package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
- package/dist/chunks/adotBidAdapter.metadata.js +1 -1
- package/dist/chunks/adpartnerBidAdapter.js +1 -1
- package/dist/chunks/adplayerproVideoProvider.js +1 -1
- package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryBidAdapter.js +1 -1
- package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
- package/dist/chunks/adrelevantisBidAdapter.js +1 -1
- package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
- package/dist/chunks/adstirBidAdapter.js +1 -1
- package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentBidAdapter.js +1 -1
- package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
- package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
- package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
- package/dist/chunks/advertisingBidAdapter.js +1 -1
- package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
- package/dist/chunks/adxcgBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
- package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
- package/dist/chunks/aidemBidAdapter.js +1 -1
- package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
- package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
- package/dist/chunks/ajaBidAdapter.js +1 -1
- package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/ampliffyBidAdapter.js +1 -1
- package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxBidAdapter.js +1 -1
- package/dist/chunks/amxBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxIdSystem.js +1 -1
- package/dist/chunks/amxIdSystem.metadata.js +1 -1
- package/dist/chunks/aniviewBidAdapter.js +1 -1
- package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
- package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
- package/dist/chunks/appierAnalyticsAdapter.js +1 -1
- package/dist/chunks/appierBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusBidAdapter.js +1 -1
- package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
- package/dist/chunks/appushBidAdapter.metadata.js +1 -1
- package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
- package/dist/chunks/asoBidAdapter.js +1 -1
- package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
- package/dist/chunks/axisBidAdapter.metadata.js +1 -1
- package/dist/chunks/axonixBidAdapter.js +1 -1
- package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
- package/dist/chunks/beachfrontBidAdapter.js +1 -1
- package/dist/chunks/beachfrontBidAdapter.metadata.js +1 -1
- package/dist/chunks/beopBidAdapter.js +1 -1
- package/dist/chunks/beopBidAdapter.metadata.js +1 -1
- package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidglassBidAdapter.js +1 -1
- package/dist/chunks/bidmaticBidAdapter.js +1 -1
- package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
- package/dist/chunks/big-richmediaBidAdapter.js +1 -1
- package/dist/chunks/bitmediaBidAdapter.js +1 -1
- package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/blueBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmtmBidAdapter.js +1 -1
- package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridBidAdapter.js +1 -1
- package/dist/chunks/bridBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridgewellBidAdapter.js +1 -1
- package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
- package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
- package/dist/chunks/buzzoolaBidAdapter.js +1 -1
- package/dist/chunks/cadent_aperture_mxBidAdapter.js +1 -1
- package/dist/chunks/cadent_aperture_mxBidAdapter.metadata.js +1 -1
- package/dist/chunks/carodaBidAdapter.js +1 -1
- package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
- package/dist/chunks/categoryTranslation.metadata.js +1 -1
- package/dist/chunks/ccxBidAdapter.js +1 -1
- package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
- package/dist/chunks/ceeIdSystem.metadata.js +1 -1
- package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/chtnwBidAdapter.js +1 -1
- package/dist/chunks/chunk-core.js +1 -1
- package/dist/chunks/codefuelBidAdapter.js +1 -1
- package/dist/chunks/compassBidAdapter.metadata.js +1 -1
- package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
- package/dist/chunks/concertAnalyticsAdapter.js +1 -1
- package/dist/chunks/concertBidAdapter.js +1 -1
- package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
- package/dist/chunks/connectIdSystem.metadata.js +1 -1
- package/dist/chunks/connectadBidAdapter.js +1 -1
- package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
- package/dist/chunks/consumableBidAdapter.js +1 -1
- package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
- package/dist/chunks/contxtfulBidAdapter.js +1 -1
- package/dist/chunks/contxtfulRtdProvider.js +1 -1
- package/dist/chunks/conversantBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
- package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
- package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
- package/dist/chunks/craftBidAdapter.js +1 -1
- package/dist/chunks/creative-renderer-display.js +1 -1
- package/dist/chunks/criteoBidAdapter.js +1 -1
- package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/criteoIdSystem.metadata.js +1 -1
- package/dist/chunks/cwireBidAdapter.js +1 -1
- package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
- package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
- package/dist/chunks/debugging-standalone.js +1 -1
- package/dist/chunks/debugging.metadata.js +1 -1
- package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
- package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
- package/dist/chunks/dependencies.json +7 -0
- package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
- package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
- package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
- package/dist/chunks/dspxBidAdapter.js +1 -1
- package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
- package/dist/chunks/dxkultureBidAdapter.js +1 -1
- package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
- package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
- package/dist/chunks/eplanningBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.metadata.js +1 -1
- package/dist/chunks/equativUtils.js +1 -1
- package/dist/chunks/eskimiBidAdapter.js +1 -1
- package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/euidIdSystem.js +1 -1
- package/dist/chunks/euidIdSystem.metadata.js +1 -1
- package/dist/chunks/exadsBidAdapter.js +1 -1
- package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/excoBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
- package/dist/chunks/finativeBidAdapter.js +1 -1
- package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
- package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
- package/dist/chunks/gmosspBidAdapter.js +1 -1
- package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsRtdProvider.js +1 -1
- package/dist/chunks/gridBidAdapter.js +1 -1
- package/dist/chunks/gridBidAdapter.metadata.js +1 -1
- package/dist/chunks/gumgumBidAdapter.js +1 -1
- package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
- package/dist/chunks/h12mediaBidAdapter.js +1 -1
- package/dist/chunks/hadronIdSystem.metadata.js +1 -1
- package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
- package/dist/chunks/holidBidAdapter.metadata.js +1 -1
- package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
- package/dist/chunks/hypelabBidAdapter.js +1 -1
- package/dist/chunks/id5AnalyticsAdapter.js +1 -1
- package/dist/chunks/id5IdSystem.js +1 -1
- package/dist/chunks/id5IdSystem.metadata.js +1 -1
- package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
- package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
- package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/inmobiBidAdapter.js +1 -1
- package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/innityBidAdapter.js +1 -1
- package/dist/chunks/innityBidAdapter.metadata.js +1 -1
- package/dist/chunks/insticatorBidAdapter.js +1 -1
- package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
- package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
- package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
- package/dist/chunks/intersectionRtdProvider.js +1 -1
- package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
- package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
- package/dist/chunks/ixBidAdapter.js +1 -1
- package/dist/chunks/ixBidAdapter.metadata.js +1 -1
- package/dist/chunks/jixieBidAdapter.js +1 -1
- package/dist/chunks/justIdSystem.metadata.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
- package/dist/chunks/kargoBidAdapter.js +1 -1
- package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
- package/dist/chunks/kimberliteBidAdapter.js +1 -1
- package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
- package/dist/chunks/lassoBidAdapter.js +1 -1
- package/dist/chunks/lifestreetBidAdapter.js +1 -1
- package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/liveIntentId.js +1 -1
- package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
- package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
- package/dist/chunks/livewrappedAnalyticsAdapter.js +1 -1
- package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
- package/dist/chunks/logicadBidAdapter.js +1 -1
- package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
- package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
- package/dist/chunks/luceadBidAdapter.js +1 -1
- package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
- package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mabidderBidAdapter.js +1 -1
- package/dist/chunks/madsenseBidAdapter.js +1 -1
- package/dist/chunks/madvertiseBidAdapter.js +1 -1
- package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
- package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
- package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaImpactUtils.js +1 -1
- package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaimpactBidAdapter.js +1 -1
- package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetBidAdapter.js +1 -1
- package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetUtils.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidBidAdapter.js +1 -1
- package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
- package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
- package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/missenaBidAdapter.js +1 -1
- package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiAnalyticsAdapter.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiIdSystem.js +1 -1
- package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
- package/dist/chunks/multibid.js +1 -1
- package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
- package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
- package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360Utils.js +1 -1
- package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
- package/dist/chunks/oguryBidAdapter.js +1 -1
- package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
- package/dist/chunks/omsBidAdapter.metadata.js +1 -1
- package/dist/chunks/onetagBidAdapter.js +1 -1
- package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
- package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
- package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
- package/dist/chunks/openxBidAdapter.js +1 -1
- package/dist/chunks/openxBidAdapter.metadata.js +1 -1
- package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
- package/dist/chunks/orbidderBidAdapter.js +1 -1
- package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
- package/dist/chunks/ortbConverter.js +1 -1
- package/dist/chunks/outbrainBidAdapter.js +1 -1
- package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
- package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/pairIdSystem.metadata.js +1 -1
- package/dist/chunks/pbsExtensions.js +1 -1
- package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
- package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
- package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prebid-core.metadata.js +1 -1
- package/dist/chunks/prebidServerBidAdapter.js +1 -1
- package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
- package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
- package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/publinkIdSystem.js +1 -1
- package/dist/chunks/publinkIdSystem.metadata.js +1 -1
- package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
- package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
- package/dist/chunks/pwbidBidAdapter.js +1 -1
- package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
- package/dist/chunks/pxyzBidAdapter.js +1 -1
- package/dist/chunks/qtBidAdapter.js +1 -1
- package/dist/chunks/qtBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastBidAdapter.js +1 -1
- package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
- package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
- package/dist/chunks/raynRtdProvider.js +1 -1
- package/dist/chunks/raynRtdProvider.metadata.js +1 -1
- package/dist/chunks/readpeakBidAdapter.js +1 -1
- package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
- package/dist/chunks/relaidoBidAdapter.js +1 -1
- package/dist/chunks/relayBidAdapter.metadata.js +1 -1
- package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/retailspotBidAdapter.js +1 -1
- package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
- package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseUtils.js +1 -1
- package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
- package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
- package/dist/chunks/rtbsapeBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
- package/dist/chunks/scatteredBidAdapter.js +1 -1
- package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedtagBidAdapter.js +1 -1
- package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
- package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
- package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
- package/dist/chunks/sevioBidAdapter.js +1 -1
- package/dist/chunks/sevioBidAdapter.metadata.js +1 -1
- package/dist/chunks/sharedIdSystem.metadata.js +1 -1
- package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
- package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
- package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
- package/dist/chunks/sizeMapping.js +1 -1
- package/dist/chunks/slimcutBidAdapter.js +1 -1
- package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
- package/dist/chunks/smaatoBidAdapter.js +1 -1
- package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartxBidAdapter.js +1 -1
- package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
- package/dist/chunks/snigelBidAdapter.js +1 -1
- package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonobiBidAdapter.js +1 -1
- package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/sovrnBidAdapter.js +1 -1
- package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
- package/dist/chunks/sparteoBidAdapter.js +1 -1
- package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
- package/dist/chunks/sspBCBidAdapter.js +1 -1
- package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
- package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
- package/dist/chunks/startioBidAdapter.metadata.js +1 -1
- package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/stvBidAdapter.js +1 -1
- package/dist/chunks/stvBidAdapter.metadata.js +1 -1
- package/dist/chunks/sublimeBidAdapter.js +1 -1
- package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaBidAdapter.js +1 -1
- package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
- package/dist/chunks/tadvertisingBidAdapter.js +1 -0
- package/dist/chunks/tadvertisingBidAdapter.metadata.js +1 -0
- package/dist/chunks/talkadsBidAdapter.js +1 -1
- package/dist/chunks/talkadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/tappxBidAdapter.js +1 -1
- package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsBidAdapter.js +1 -1
- package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsIdSystem.metadata.js +1 -1
- package/dist/chunks/tealBidAdapter.metadata.js +1 -1
- package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.js +1 -1
- package/dist/chunks/tncIdSystem.metadata.js +1 -1
- package/dist/chunks/topicsFpdModule.metadata.js +1 -1
- package/dist/chunks/trionBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/ttdBidAdapter.js +1 -1
- package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
- package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/chunks/ucfunnelBidAdapter.js +1 -1
- package/dist/chunks/ucfunnelBidAdapter.metadata.js +1 -1
- package/dist/chunks/uid2IdSystem.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/undertoneBidAdapter.js +1 -1
- package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
- package/dist/chunks/unrulyBidAdapter.js +1 -1
- package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
- package/dist/chunks/userId.js +1 -1
- package/dist/chunks/userId.metadata.js +1 -1
- package/dist/chunks/validationFpdModule.metadata.js +1 -1
- package/dist/chunks/ventesBidAdapter.js +1 -1
- package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
- package/dist/chunks/vidazooUtils.js +1 -1
- package/dist/chunks/videobyteBidAdapter.js +1 -1
- package/dist/chunks/videoreachBidAdapter.js +1 -1
- package/dist/chunks/videoreachBidAdapter.metadata.js +1 -1
- package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
- package/dist/chunks/viewdeosDXBidAdapter.js +1 -1
- package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
- package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
- package/dist/chunks/visxBidAdapter.js +1 -1
- package/dist/chunks/visxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
- package/dist/chunks/voxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
- package/dist/chunks/vuukleBidAdapter.js +1 -1
- package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
- package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
- package/dist/chunks/welectBidAdapter.metadata.js +1 -1
- package/dist/chunks/widespaceBidAdapter.js +1 -1
- package/dist/chunks/winrBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/yandexBidAdapter.js +1 -1
- package/dist/chunks/yieldlabBidAdapter.js +1 -1
- package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldliftBidAdapter.js +1 -1
- package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
- package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
- package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
- package/dist/not-for-prod/prebid.js +480 -478
- package/dist/src/creative/renderers/display/renderer.js +3 -1
- package/dist/src/creative/renderers/display/renderer.js.map +1 -1
- package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
- package/dist/src/libraries/equativUtils/equativUtils.js +1 -1
- package/dist/src/libraries/equativUtils/equativUtils.js.map +1 -1
- package/dist/src/libraries/greedy/greedyPromise.js +15 -7
- package/dist/src/libraries/greedy/greedyPromise.js.map +1 -1
- package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/shared.js +20 -0
- package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
- package/dist/src/libraries/mediaImpactUtils/index.js +93 -0
- package/dist/src/libraries/mediaImpactUtils/index.js.map +1 -1
- package/dist/src/libraries/medianetUtils/constants.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js +1 -1
- package/dist/src/libraries/ortbConverter/processors/default.js +1 -1
- package/dist/src/libraries/ortbConverter/processors/default.js.map +1 -1
- package/dist/src/libraries/pbsExtensions/processors/pbs.js +3 -1
- package/dist/src/libraries/pbsExtensions/processors/pbs.js.map +1 -1
- package/dist/src/libraries/riseUtils/index.js +1 -1
- package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
- package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
- package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
- package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adipoloBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
- package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
- package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
- package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
- package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
- package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
- package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxIdSystem.js +1 -1
- package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
- package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
- package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
- package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
- package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
- package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
- package/dist/src/metadata/modules/beachfrontBidAdapter.js +1 -1
- package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
- package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/cadent_aperture_mxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/categoryTranslation.js +1 -1
- package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
- package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connectIdSystem.js +1 -1
- package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
- package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
- package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
- package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
- package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/debugging.js +1 -1
- package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
- package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
- package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
- package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/euidIdSystem.js +1 -1
- package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
- package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
- package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
- package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
- package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/id5IdSystem.js +1 -1
- package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
- package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
- package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
- package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/justIdSystem.js +1 -1
- package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
- package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
- package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
- package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
- package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
- package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
- package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
- package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
- package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pairIdSystem.js +1 -1
- package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
- package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prebid-core.js +1 -1
- package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
- package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
- package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
- package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
- package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
- package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
- package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sevioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
- package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
- package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
- package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
- package/dist/src/metadata/modules/tadvertisingBidAdapter.js +2 -0
- package/dist/src/metadata/modules/talkadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
- package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
- package/dist/src/metadata/modules/tncIdSystem.js +1 -1
- package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
- package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
- package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ucfunnelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
- package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/userId.js +1 -1
- package/dist/src/metadata/modules/validationFpdModule.js +1 -1
- package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
- package/dist/src/metadata/modules/videoreachBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
- package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
- package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
- package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
- package/dist/src/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/modules/33acrossIdSystem.js +1 -1
- package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adagioBidAdapter.js +5 -2
- package/dist/src/modules/adagioBidAdapter.js.map +1 -1
- package/dist/src/modules/addefendBidAdapter.js +1 -1
- package/dist/src/modules/adgenerationBidAdapter.js +1 -1
- package/dist/src/modules/adipoloBidAdapter.js +2 -0
- package/dist/src/modules/adipoloBidAdapter.js.map +1 -1
- package/dist/src/modules/adlooxRtdProvider.js +1 -1
- package/dist/src/modules/admaticBidAdapter.js +12 -8
- package/dist/src/modules/admaticBidAdapter.js.map +1 -1
- package/dist/src/modules/admixerBidAdapter.js +3 -1
- package/dist/src/modules/admixerBidAdapter.js.map +1 -1
- package/dist/src/modules/adpartnerBidAdapter.js +5 -87
- package/dist/src/modules/adpartnerBidAdapter.js.map +1 -1
- package/dist/src/modules/adplayerproVideoProvider.js +3 -1
- package/dist/src/modules/adplayerproVideoProvider.js.map +1 -1
- package/dist/src/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/modules/adrelevantisBidAdapter.js +10 -4
- package/dist/src/modules/adrelevantisBidAdapter.js.map +1 -1
- package/dist/src/modules/adstirBidAdapter.js +1 -1
- package/dist/src/modules/adtelligentBidAdapter.js +4 -0
- package/dist/src/modules/adtelligentBidAdapter.js.map +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
- package/dist/src/modules/advertisingBidAdapter.js +5 -3
- package/dist/src/modules/advertisingBidAdapter.js.map +1 -1
- package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adxcgBidAdapter.js +1 -1
- package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
- package/dist/src/modules/aidemBidAdapter.js +0 -2
- package/dist/src/modules/aidemBidAdapter.js.map +1 -1
- package/dist/src/modules/ajaBidAdapter.js +1 -1
- package/dist/src/modules/ampliffyBidAdapter.js +0 -2
- package/dist/src/modules/ampliffyBidAdapter.js.map +1 -1
- package/dist/src/modules/amxBidAdapter.js +2 -2
- package/dist/src/modules/amxIdSystem.js +1 -1
- package/dist/src/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
- package/dist/src/modules/appnexusBidAdapter.js +5 -3
- package/dist/src/modules/appnexusBidAdapter.js.map +1 -1
- package/dist/src/modules/asoBidAdapter.js +1 -1
- package/dist/src/modules/axonixBidAdapter.js +1 -1
- package/dist/src/modules/beachfrontBidAdapter.js +2 -2
- package/dist/src/modules/beachfrontBidAdapter.js.map +1 -1
- package/dist/src/modules/beopBidAdapter.js +2 -2
- package/dist/src/modules/bidViewability.js +4 -1
- package/dist/src/modules/bidViewability.js.map +1 -1
- package/dist/src/modules/bidglassBidAdapter.js +1 -1
- package/dist/src/modules/bidmaticBidAdapter.js +1 -0
- package/dist/src/modules/bidmaticBidAdapter.js.map +1 -1
- package/dist/src/modules/bitmediaBidAdapter.js +1 -1
- package/dist/src/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/modules/bmtmBidAdapter.js +1 -1
- package/dist/src/modules/bridBidAdapter.js +1 -1
- package/dist/src/modules/bridgewellBidAdapter.js +1 -1
- package/dist/src/modules/buzzoolaBidAdapter.js +3 -1
- package/dist/src/modules/buzzoolaBidAdapter.js.map +1 -1
- package/dist/src/modules/cadent_aperture_mxBidAdapter.js +5 -10
- package/dist/src/modules/cadent_aperture_mxBidAdapter.js.map +1 -1
- package/dist/src/modules/carodaBidAdapter.js +1 -1
- package/dist/src/modules/ccxBidAdapter.js +0 -2
- package/dist/src/modules/ccxBidAdapter.js.map +1 -1
- package/dist/src/modules/chtnwBidAdapter.js +1 -1
- package/dist/src/modules/codefuelBidAdapter.js +3 -1
- package/dist/src/modules/codefuelBidAdapter.js.map +1 -1
- package/dist/src/modules/concertAnalyticsAdapter.js +3 -1
- package/dist/src/modules/concertAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/concertBidAdapter.js +1 -1
- package/dist/src/modules/connectadBidAdapter.js +1 -1
- package/dist/src/modules/consumableBidAdapter.js +1 -1
- package/dist/src/modules/contxtfulBidAdapter.js +1 -1
- package/dist/src/modules/contxtfulRtdProvider.js +4 -1
- package/dist/src/modules/contxtfulRtdProvider.js.map +1 -1
- package/dist/src/modules/conversantBidAdapter.js +1 -1
- package/dist/src/modules/craftBidAdapter.js +1 -1
- package/dist/src/modules/criteoBidAdapter.js +14 -10
- package/dist/src/modules/criteoBidAdapter.js.map +1 -1
- package/dist/src/modules/cwireBidAdapter.js +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/modules/dspxBidAdapter.js +4 -2
- package/dist/src/modules/dspxBidAdapter.js.map +1 -1
- package/dist/src/modules/dxkultureBidAdapter.js +1 -1
- package/dist/src/modules/eplanningBidAdapter.js +4 -2
- package/dist/src/modules/eplanningBidAdapter.js.map +1 -1
- package/dist/src/modules/equativBidAdapter.js +4 -2
- package/dist/src/modules/equativBidAdapter.js.map +1 -1
- package/dist/src/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/modules/euidIdSystem.js +1 -1
- package/dist/src/modules/exadsBidAdapter.js +1 -1
- package/dist/src/modules/excoBidAdapter.js +3 -3
- package/dist/src/modules/feedadBidAdapter.js +7 -5
- package/dist/src/modules/feedadBidAdapter.js.map +1 -1
- package/dist/src/modules/finativeBidAdapter.js +1 -1
- package/dist/src/modules/gmosspBidAdapter.js +1 -1
- package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/src/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/modules/greenbidsRtdProvider.js +1 -1
- package/dist/src/modules/gridBidAdapter.js +2 -2
- package/dist/src/modules/gumgumBidAdapter.js +2 -2
- package/dist/src/modules/h12mediaBidAdapter.js +1 -1
- package/dist/src/modules/hypelabBidAdapter.js +1 -1
- package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
- package/dist/src/modules/id5IdSystem.js +1 -1
- package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/modules/innityBidAdapter.js +0 -2
- package/dist/src/modules/innityBidAdapter.js.map +1 -1
- package/dist/src/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
- package/dist/src/modules/intersectionRtdProvider.js +3 -1
- package/dist/src/modules/intersectionRtdProvider.js.map +1 -1
- package/dist/src/modules/ixBidAdapter.js +1 -1
- package/dist/src/modules/jixieBidAdapter.js +1 -1
- package/dist/src/modules/justpremiumBidAdapter.js +3 -2
- package/dist/src/modules/justpremiumBidAdapter.js.map +1 -1
- package/dist/src/modules/kargoBidAdapter.js +3 -2
- package/dist/src/modules/kargoBidAdapter.js.map +1 -1
- package/dist/src/modules/kimberliteBidAdapter.js +1 -1
- package/dist/src/modules/lassoBidAdapter.js +1 -1
- package/dist/src/modules/lifestreetBidAdapter.js +1 -1
- package/dist/src/modules/livewrappedAnalyticsAdapter.js +10 -0
- package/dist/src/modules/livewrappedAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/logicadBidAdapter.js +1 -1
- package/dist/src/modules/luceadBidAdapter.js +1 -3
- package/dist/src/modules/luceadBidAdapter.js.map +1 -1
- package/dist/src/modules/mabidderBidAdapter.js +1 -1
- package/dist/src/modules/madsenseBidAdapter.js +1 -1
- package/dist/src/modules/madvertiseBidAdapter.js +3 -1
- package/dist/src/modules/madvertiseBidAdapter.js.map +1 -1
- package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
- package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
- package/dist/src/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/modules/mediafuseBidAdapter.js +5 -3
- package/dist/src/modules/mediafuseBidAdapter.js.map +1 -1
- package/dist/src/modules/mediaimpactBidAdapter.js +5 -87
- package/dist/src/modules/mediaimpactBidAdapter.js.map +1 -1
- package/dist/src/modules/medianetBidAdapter.js +1 -1
- package/dist/src/modules/mediasquareBidAdapter.js +2 -2
- package/dist/src/modules/mgidBidAdapter.js +1 -1
- package/dist/src/modules/missenaBidAdapter.js +1 -1
- package/dist/src/modules/mobilefuseBidAdapter.js +1 -2
- package/dist/src/modules/mobilefuseBidAdapter.js.map +1 -1
- package/dist/src/modules/mobkoiAnalyticsAdapter.js +17 -17
- package/dist/src/modules/mobkoiAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/mobkoiBidAdapter.js +19 -16
- package/dist/src/modules/mobkoiBidAdapter.js.map +1 -1
- package/dist/src/modules/mobkoiIdSystem.js +20 -11
- package/dist/src/modules/mobkoiIdSystem.js.map +1 -1
- package/dist/src/modules/multibid/index.d.ts +1 -1
- package/dist/src/modules/multibid/index.js +3 -1
- package/dist/src/modules/multibid/index.js.map +1 -1
- package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
- package/dist/src/modules/nobidBidAdapter.js +1 -1
- package/dist/src/modules/nodalsAiRtdProvider.js +1 -1
- package/dist/src/modules/oguryBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js +1 -1
- package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
- package/dist/src/modules/openxBidAdapter.js +7 -2
- package/dist/src/modules/openxBidAdapter.js.map +1 -1
- package/dist/src/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/modules/permutiveRtdProvider.js +2 -1
- package/dist/src/modules/permutiveRtdProvider.js.map +1 -1
- package/dist/src/modules/pixfutureBidAdapter.js +2 -2
- package/dist/src/modules/prebidServerBidAdapter/bidderConfig.js +3 -1
- package/dist/src/modules/prebidServerBidAdapter/bidderConfig.js.map +1 -1
- package/dist/src/modules/priceFloors.d.ts +2 -2
- package/dist/src/modules/priceFloors.js.map +1 -1
- package/dist/src/modules/publinkIdSystem.js +1 -1
- package/dist/src/modules/pubmaticAnalyticsAdapter.js +5 -3
- package/dist/src/modules/pubmaticAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/pubmaticBidAdapter.js +23 -3
- package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
- package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
- package/dist/src/modules/pwbidBidAdapter.js +0 -2
- package/dist/src/modules/pwbidBidAdapter.js.map +1 -1
- package/dist/src/modules/pxyzBidAdapter.js +1 -1
- package/dist/src/modules/qtBidAdapter.js +0 -2
- package/dist/src/modules/qtBidAdapter.js.map +1 -1
- package/dist/src/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/modules/raynRtdProvider.js +1 -3
- package/dist/src/modules/raynRtdProvider.js.map +1 -1
- package/dist/src/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/modules/relaidoBidAdapter.js +1 -1
- package/dist/src/modules/retailspotBidAdapter.js +1 -3
- package/dist/src/modules/retailspotBidAdapter.js.map +1 -1
- package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/modules/rtbsapeBidAdapter.js +3 -1
- package/dist/src/modules/rtbsapeBidAdapter.js.map +1 -1
- package/dist/src/modules/rubiconBidAdapter.js +31 -8
- package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
- package/dist/src/modules/scatteredBidAdapter.js +0 -2
- package/dist/src/modules/scatteredBidAdapter.js.map +1 -1
- package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/modules/sevioBidAdapter.js +4 -1
- package/dist/src/modules/sevioBidAdapter.js.map +1 -1
- package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/src/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/modules/sizeMapping.js +3 -1
- package/dist/src/modules/sizeMapping.js.map +1 -1
- package/dist/src/modules/slimcutBidAdapter.js +1 -3
- package/dist/src/modules/slimcutBidAdapter.js.map +1 -1
- package/dist/src/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/modules/smartxBidAdapter.js +1 -1
- package/dist/src/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/modules/snigelBidAdapter.js +1 -1
- package/dist/src/modules/sonaradsBidAdapter.js +2 -2
- package/dist/src/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/modules/stvBidAdapter.js +4 -2
- package/dist/src/modules/stvBidAdapter.js.map +1 -1
- package/dist/src/modules/sublimeBidAdapter.js +2 -2
- package/dist/src/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/modules/tadvertisingBidAdapter.js +252 -0
- package/dist/src/modules/tadvertisingBidAdapter.js.map +1 -0
- package/dist/src/modules/talkadsBidAdapter.js +0 -2
- package/dist/src/modules/talkadsBidAdapter.js.map +1 -1
- package/dist/src/modules/tappxBidAdapter.js +15 -2
- package/dist/src/modules/tappxBidAdapter.js.map +1 -1
- package/dist/src/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/modules/teadsBidAdapter.js +1 -1
- package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
- package/dist/src/modules/themoneytizerBidAdapter.js +1 -1
- package/dist/src/modules/trionBidAdapter.js +1 -1
- package/dist/src/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/modules/ttdBidAdapter.js +1 -1
- package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/src/modules/ucfunnelBidAdapter.js +0 -2
- package/dist/src/modules/ucfunnelBidAdapter.js.map +1 -1
- package/dist/src/modules/uid2IdSystem.js +1 -1
- package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/modules/userId/eids.js +8 -6
- package/dist/src/modules/userId/eids.js.map +1 -1
- package/dist/src/modules/ventesBidAdapter.js +6 -2
- package/dist/src/modules/ventesBidAdapter.js.map +1 -1
- package/dist/src/modules/videobyteBidAdapter.js +1 -1
- package/dist/src/modules/videoreachBidAdapter.js +0 -2
- package/dist/src/modules/videoreachBidAdapter.js.map +1 -1
- package/dist/src/modules/viewdeosDXBidAdapter.js +0 -1
- package/dist/src/modules/viewdeosDXBidAdapter.js.map +1 -1
- package/dist/src/modules/visxBidAdapter.js +1 -1
- package/dist/src/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/modules/widespaceBidAdapter.js +1 -1
- package/dist/src/modules/winrBidAdapter.js +4 -2
- package/dist/src/modules/winrBidAdapter.js.map +1 -1
- package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/modules/yandexBidAdapter.js +1 -1
- package/dist/src/modules/yieldlabBidAdapter.js +2 -1
- package/dist/src/modules/yieldlabBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldliftBidAdapter.js +0 -2
- package/dist/src/modules/yieldliftBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldmoBidAdapter.js +11 -5
- package/dist/src/modules/yieldmoBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/src/package.json +2 -3
- package/dist/src/public/tadvertisingBidAdapter.js +1 -0
- package/dist/src/src/activities/rules.js +2 -1
- package/dist/src/src/activities/rules.js.map +1 -1
- package/dist/src/src/adUnits.js +2 -1
- package/dist/src/src/adUnits.js.map +1 -1
- package/dist/src/src/adapterManager.js +0 -1
- package/dist/src/src/adapterManager.js.map +1 -1
- package/dist/src/src/adapters/bidderFactory.js +1 -1
- package/dist/src/src/adapters/bidderFactory.js.map +1 -1
- package/dist/src/src/debugging.js +1 -1
- package/dist/src/src/prebid.js +2 -2
- package/dist/src/src/prebid.public.js +1 -1
- package/dist/src/src/secureCreatives.js +11 -5
- package/dist/src/src/secureCreatives.js.map +1 -1
- package/dist/src/src/targeting.d.ts +4 -4
- package/dist/src/src/targeting.js +2 -1
- package/dist/src/src/targeting.js.map +1 -1
- package/dist/src/test/build-logic/disclosure_spec.js +23 -0
- package/dist/src/test/build-logic/disclosure_spec.js.map +1 -0
- package/dist/src/test/build-logic/gvl_spec.js +31 -0
- package/dist/src/test/build-logic/gvl_spec.js.map +1 -0
- package/dist/src/test/spec/auctionmanager_spec.js +4 -4
- package/dist/src/test/spec/auctionmanager_spec.js.map +1 -1
- package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
- package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/adpod_spec.js +3 -3
- package/dist/src/test/spec/modules/adpod_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adtelligentBidAdapter_spec.js +20 -6
- package/dist/src/test/spec/modules/adtelligentBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
- package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js +16 -3
- package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
- package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +6 -1
- package/dist/src/test/spec/modules/livewrappedAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/medianetAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/medianetAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +9 -9
- package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/mobkoiAnalyticsAdapter_spec.js +11 -13
- package/dist/src/test/spec/modules/mobkoiAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mobkoiBidAdapter_spec.js +23 -33
- package/dist/src/test/spec/modules/mobkoiBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mobkoiIdSystem_spec.js +10 -10
- package/dist/src/test/spec/modules/mobkoiIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
- package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
- package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/tadvertisingBidAdapter_spec.js +862 -0
- package/dist/src/test/spec/modules/tadvertisingBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/tappxBidAdapter_spec.js +41 -0
- package/dist/src/test/spec/modules/tappxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
- package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/unit/secureCreatives_spec.js +36 -0
- package/dist/src/test/spec/unit/secureCreatives_spec.js.map +1 -1
- package/dist/src/test/spec/videoCache_spec.js +10 -10
- package/dist/src/test/spec/videoCache_spec.js.map +1 -1
- package/eslint.config.js +2 -2
- package/gulpfile.js +3 -9
- package/libraries/creative-renderer-display/renderer.js +1 -1
- package/libraries/equativUtils/equativUtils.js +3 -1
- package/libraries/greedy/greedyPromise.js +10 -2
- package/libraries/liveIntentId/shared.js +16 -0
- package/libraries/mediaImpactUtils/index.js +116 -0
- package/libraries/ortbConverter/processors/default.js +3 -1
- package/libraries/pbsExtensions/processors/pbs.js +3 -1
- package/metadata/compileMetadata.mjs +24 -0
- package/metadata/gvl.mjs +22 -0
- package/metadata/modules/33acrossBidAdapter.json +1 -1
- package/metadata/modules/33acrossIdSystem.json +1 -1
- package/metadata/modules/acuityadsBidAdapter.json +1 -1
- package/metadata/modules/adagioBidAdapter.json +1 -1
- package/metadata/modules/adagioRtdProvider.json +1 -1
- package/metadata/modules/addefendBidAdapter.json +1 -1
- package/metadata/modules/adfBidAdapter.json +1 -1
- package/metadata/modules/adfusionBidAdapter.json +1 -1
- package/metadata/modules/adheseBidAdapter.json +1 -1
- package/metadata/modules/adipoloBidAdapter.json +8 -3
- package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
- package/metadata/modules/adkernelBidAdapter.json +4 -4
- package/metadata/modules/admaticBidAdapter.json +2 -2
- package/metadata/modules/admixerBidAdapter.json +1 -1
- package/metadata/modules/admixerIdSystem.json +1 -1
- package/metadata/modules/adnowBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusRtdProvider.json +1 -1
- package/metadata/modules/adotBidAdapter.json +1 -1
- package/metadata/modules/adponeBidAdapter.json +1 -1
- package/metadata/modules/adqueryBidAdapter.json +1 -1
- package/metadata/modules/adqueryIdSystem.json +1 -1
- package/metadata/modules/adrinoBidAdapter.json +1 -1
- package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
- package/metadata/modules/adtargetBidAdapter.json +1 -1
- package/metadata/modules/adtelligentBidAdapter.json +3 -3
- package/metadata/modules/adtelligentIdSystem.json +1 -1
- package/metadata/modules/aduptechBidAdapter.json +1 -1
- package/metadata/modules/adyoulikeBidAdapter.json +1 -1
- package/metadata/modules/aidemBidAdapter.json +3 -8
- package/metadata/modules/airgridRtdProvider.json +1 -1
- package/metadata/modules/alkimiBidAdapter.json +1 -1
- package/metadata/modules/ampliffyBidAdapter.json +3 -8
- package/metadata/modules/amxBidAdapter.json +1 -1
- package/metadata/modules/amxIdSystem.json +1 -1
- package/metadata/modules/aniviewBidAdapter.json +1 -1
- package/metadata/modules/anonymisedRtdProvider.json +1 -1
- package/metadata/modules/appierBidAdapter.json +1 -1
- package/metadata/modules/appnexusBidAdapter.json +5 -5
- package/metadata/modules/appushBidAdapter.json +1 -1
- package/metadata/modules/apstreamBidAdapter.json +1 -1
- package/metadata/modules/audiencerunBidAdapter.json +1 -1
- package/metadata/modules/axisBidAdapter.json +1 -1
- package/metadata/modules/azerionedgeRtdProvider.json +1 -1
- package/metadata/modules/beachfrontBidAdapter.json +8 -2
- package/metadata/modules/beopBidAdapter.json +1 -1
- package/metadata/modules/betweenBidAdapter.json +1 -1
- package/metadata/modules/bidmaticBidAdapter.json +1 -1
- package/metadata/modules/bidtheatreBidAdapter.json +1 -1
- package/metadata/modules/bliinkBidAdapter.json +1 -1
- package/metadata/modules/blockthroughBidAdapter.json +1 -1
- package/metadata/modules/blueBidAdapter.json +1 -1
- package/metadata/modules/bmsBidAdapter.json +1 -1
- package/metadata/modules/boldwinBidAdapter.json +1 -1
- package/metadata/modules/bridBidAdapter.json +1 -1
- package/metadata/modules/browsiBidAdapter.json +1 -1
- package/metadata/modules/bucksenseBidAdapter.json +1 -1
- package/metadata/modules/cadent_aperture_mxBidAdapter.json +30 -1
- package/metadata/modules/carodaBidAdapter.json +1 -1
- package/metadata/modules/categoryTranslation.json +1 -1
- package/metadata/modules/ccxBidAdapter.json +3 -8
- package/metadata/modules/ceeIdSystem.json +1 -1
- package/metadata/modules/chromeAiRtdProvider.json +1 -1
- package/metadata/modules/compassBidAdapter.json +1 -1
- package/metadata/modules/conceptxBidAdapter.json +1 -1
- package/metadata/modules/connatixBidAdapter.json +1 -1
- package/metadata/modules/connectIdSystem.json +1 -1
- package/metadata/modules/connectadBidAdapter.json +1 -1
- package/metadata/modules/contentexchangeBidAdapter.json +1 -1
- package/metadata/modules/conversantBidAdapter.json +1 -1
- package/metadata/modules/copper6sspBidAdapter.json +1 -1
- package/metadata/modules/cpmstarBidAdapter.json +1 -1
- package/metadata/modules/criteoBidAdapter.json +1 -1
- package/metadata/modules/criteoIdSystem.json +1 -1
- package/metadata/modules/cwireBidAdapter.json +1 -1
- package/metadata/modules/czechAdIdSystem.json +1 -1
- package/metadata/modules/dailymotionBidAdapter.json +1 -1
- package/metadata/modules/debugging.json +1 -1
- package/metadata/modules/deepintentBidAdapter.json +1 -1
- package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
- package/metadata/modules/dianomiBidAdapter.json +1 -1
- package/metadata/modules/digitalMatterBidAdapter.json +1 -1
- package/metadata/modules/distroscaleBidAdapter.json +1 -1
- package/metadata/modules/docereeAdManagerBidAdapter.json +1 -1
- package/metadata/modules/docereeBidAdapter.json +1 -1
- package/metadata/modules/dspxBidAdapter.json +1 -1
- package/metadata/modules/e_volutionBidAdapter.json +1 -1
- package/metadata/modules/edge226BidAdapter.json +1 -1
- package/metadata/modules/equativBidAdapter.json +1 -1
- package/metadata/modules/eskimiBidAdapter.json +1 -1
- package/metadata/modules/etargetBidAdapter.json +1 -1
- package/metadata/modules/euidIdSystem.json +1 -1
- package/metadata/modules/exadsBidAdapter.json +1 -1
- package/metadata/modules/feedadBidAdapter.json +1 -1
- package/metadata/modules/fwsspBidAdapter.json +1 -1
- package/metadata/modules/gamoshiBidAdapter.json +1 -1
- package/metadata/modules/glomexBidAdapter.json +1 -1
- package/metadata/modules/goldbachBidAdapter.json +1 -1
- package/metadata/modules/greenbidsBidAdapter.json +1 -1
- package/metadata/modules/gridBidAdapter.json +1 -1
- package/metadata/modules/gumgumBidAdapter.json +1 -1
- package/metadata/modules/hadronIdSystem.json +1 -1
- package/metadata/modules/hadronRtdProvider.json +1 -1
- package/metadata/modules/holidBidAdapter.json +1 -1
- package/metadata/modules/hybridBidAdapter.json +1 -1
- package/metadata/modules/id5IdSystem.json +1 -1
- package/metadata/modules/identityLinkIdSystem.json +1 -1
- package/metadata/modules/illuminBidAdapter.json +1 -1
- package/metadata/modules/impactifyBidAdapter.json +1 -1
- package/metadata/modules/improvedigitalBidAdapter.json +1 -1
- package/metadata/modules/inmobiBidAdapter.json +1 -1
- package/metadata/modules/innityBidAdapter.json +3 -8
- package/metadata/modules/insticatorBidAdapter.json +1 -1
- package/metadata/modules/intentIqIdSystem.json +1 -1
- package/metadata/modules/invibesBidAdapter.json +1 -1
- package/metadata/modules/ipromBidAdapter.json +1 -1
- package/metadata/modules/ixBidAdapter.json +1 -1
- package/metadata/modules/justIdSystem.json +1 -1
- package/metadata/modules/justpremiumBidAdapter.json +1 -1
- package/metadata/modules/jwplayerBidAdapter.json +1 -1
- package/metadata/modules/kargoBidAdapter.json +1 -1
- package/metadata/modules/kueezRtbBidAdapter.json +1 -1
- package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
- package/metadata/modules/liveIntentIdSystem.json +1 -1
- package/metadata/modules/liveIntentRtdProvider.json +1 -1
- package/metadata/modules/livewrappedBidAdapter.json +1 -1
- package/metadata/modules/loopmeBidAdapter.json +1 -1
- package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
- package/metadata/modules/luceadBidAdapter.json +3 -8
- package/metadata/modules/luponmediaBidAdapter.json +1 -1
- package/metadata/modules/madvertiseBidAdapter.json +1 -1
- package/metadata/modules/marsmediaBidAdapter.json +1 -1
- package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
- package/metadata/modules/mediaforceBidAdapter.json +1 -1
- package/metadata/modules/mediafuseBidAdapter.json +1 -1
- package/metadata/modules/mediagoBidAdapter.json +1 -1
- package/metadata/modules/mediakeysBidAdapter.json +1 -1
- package/metadata/modules/medianetBidAdapter.json +2 -2
- package/metadata/modules/mediasquareBidAdapter.json +1 -1
- package/metadata/modules/mgidBidAdapter.json +1 -1
- package/metadata/modules/mgidRtdProvider.json +1 -1
- package/metadata/modules/mgidXBidAdapter.json +1 -1
- package/metadata/modules/minutemediaBidAdapter.json +1 -1
- package/metadata/modules/missenaBidAdapter.json +1 -1
- package/metadata/modules/mobianRtdProvider.json +1 -1
- package/metadata/modules/mobilefuseBidAdapter.json +3 -8
- package/metadata/modules/mobkoiBidAdapter.json +1 -1
- package/metadata/modules/mobkoiIdSystem.json +1 -1
- package/metadata/modules/nativeryBidAdapter.json +1 -1
- package/metadata/modules/nativoBidAdapter.json +1 -1
- package/metadata/modules/newspassidBidAdapter.json +1 -1
- package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
- package/metadata/modules/nextrollBidAdapter.json +1 -1
- package/metadata/modules/nexx360BidAdapter.json +5 -5
- package/metadata/modules/nobidBidAdapter.json +2 -2
- package/metadata/modules/nodalsAiRtdProvider.json +1 -1
- package/metadata/modules/novatiqIdSystem.json +1 -1
- package/metadata/modules/oguryBidAdapter.json +1 -1
- package/metadata/modules/omsBidAdapter.json +1 -1
- package/metadata/modules/onetagBidAdapter.json +1 -1
- package/metadata/modules/openwebBidAdapter.json +1 -1
- package/metadata/modules/openxBidAdapter.json +1 -1
- package/metadata/modules/operaadsBidAdapter.json +1 -1
- package/metadata/modules/optidigitalBidAdapter.json +1 -1
- package/metadata/modules/optoutBidAdapter.json +1 -1
- package/metadata/modules/orbidderBidAdapter.json +1 -1
- package/metadata/modules/outbrainBidAdapter.json +1 -1
- package/metadata/modules/ozoneBidAdapter.json +1 -1
- package/metadata/modules/pairIdSystem.json +1 -1
- package/metadata/modules/performaxBidAdapter.json +1 -1
- package/metadata/modules/pgamsspBidAdapter.json +1 -1
- package/metadata/modules/pixfutureBidAdapter.json +1 -1
- package/metadata/modules/playdigoBidAdapter.json +1 -1
- package/metadata/modules/prebid-core.json +2 -2
- package/metadata/modules/precisoBidAdapter.json +1 -1
- package/metadata/modules/prismaBidAdapter.json +1 -1
- package/metadata/modules/programmaticXBidAdapter.json +1 -1
- package/metadata/modules/proxistoreBidAdapter.json +1 -1
- package/metadata/modules/publinkIdSystem.json +1 -1
- package/metadata/modules/pubmaticBidAdapter.json +1 -1
- package/metadata/modules/pubmaticIdSystem.json +1 -1
- package/metadata/modules/pulsepointBidAdapter.json +1 -1
- package/metadata/modules/pwbidBidAdapter.json +3 -8
- package/metadata/modules/qtBidAdapter.json +3 -8
- package/metadata/modules/quantcastBidAdapter.json +1 -1
- package/metadata/modules/quantcastIdSystem.json +1 -1
- package/metadata/modules/r2b2BidAdapter.json +1 -1
- package/metadata/modules/raynRtdProvider.json +3 -95
- package/metadata/modules/readpeakBidAdapter.json +1 -1
- package/metadata/modules/relayBidAdapter.json +1 -1
- package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
- package/metadata/modules/resetdigitalBidAdapter.json +1 -1
- package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
- package/metadata/modules/retailspotBidAdapter.json +3 -8
- package/metadata/modules/revcontentBidAdapter.json +1 -1
- package/metadata/modules/rhythmoneBidAdapter.json +1 -1
- package/metadata/modules/richaudienceBidAdapter.json +1 -1
- package/metadata/modules/riseBidAdapter.json +2 -2
- package/metadata/modules/rixengineBidAdapter.json +1 -1
- package/metadata/modules/rtbhouseBidAdapter.json +1 -1
- package/metadata/modules/rubiconBidAdapter.json +1 -1
- package/metadata/modules/scatteredBidAdapter.json +3 -8
- package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
- package/metadata/modules/seedtagBidAdapter.json +1 -1
- package/metadata/modules/semantiqRtdProvider.json +1 -1
- package/metadata/modules/setupadBidAdapter.json +1 -1
- package/metadata/modules/sevioBidAdapter.json +1 -1
- package/metadata/modules/sharedIdSystem.json +1 -1
- package/metadata/modules/sharethroughBidAdapter.json +1 -1
- package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
- package/metadata/modules/silvermobBidAdapter.json +1 -1
- package/metadata/modules/sirdataRtdProvider.json +1 -1
- package/metadata/modules/slimcutBidAdapter.json +5 -10
- package/metadata/modules/smaatoBidAdapter.json +1 -1
- package/metadata/modules/smartadserverBidAdapter.json +1 -1
- package/metadata/modules/smartxBidAdapter.json +1 -1
- package/metadata/modules/smartyadsBidAdapter.json +1 -1
- package/metadata/modules/smilewantedBidAdapter.json +1 -1
- package/metadata/modules/snigelBidAdapter.json +1 -1
- package/metadata/modules/sonaradsBidAdapter.json +1 -1
- package/metadata/modules/sonobiBidAdapter.json +1 -1
- package/metadata/modules/sovrnBidAdapter.json +3 -3
- package/metadata/modules/sparteoBidAdapter.json +1 -1
- package/metadata/modules/ssmasBidAdapter.json +1 -1
- package/metadata/modules/sspBCBidAdapter.json +1 -1
- package/metadata/modules/stackadaptBidAdapter.json +1 -1
- package/metadata/modules/startioBidAdapter.json +1 -1
- package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
- package/metadata/modules/stvBidAdapter.json +1 -1
- package/metadata/modules/sublimeBidAdapter.json +1 -1
- package/metadata/modules/taboolaBidAdapter.json +1 -1
- package/metadata/modules/taboolaIdSystem.json +1 -1
- package/metadata/modules/tadvertisingBidAdapter.json +18 -0
- package/metadata/modules/talkadsBidAdapter.json +2 -1
- package/metadata/modules/tappxBidAdapter.json +1 -1
- package/metadata/modules/targetVideoBidAdapter.json +1 -1
- package/metadata/modules/teadsBidAdapter.json +1 -1
- package/metadata/modules/teadsIdSystem.json +1 -1
- package/metadata/modules/tealBidAdapter.json +1 -1
- package/metadata/modules/tncIdSystem.json +1 -1
- package/metadata/modules/topicsFpdModule.json +1 -1
- package/metadata/modules/tripleliftBidAdapter.json +1 -1
- package/metadata/modules/ttdBidAdapter.json +1 -1
- package/metadata/modules/twistDigitalBidAdapter.json +1 -1
- package/metadata/modules/ucfunnelBidAdapter.json +2 -1
- package/metadata/modules/underdogmediaBidAdapter.json +1 -1
- package/metadata/modules/undertoneBidAdapter.json +1 -1
- package/metadata/modules/unifiedIdSystem.json +1 -1
- package/metadata/modules/unrulyBidAdapter.json +1 -1
- package/metadata/modules/userId.json +1 -1
- package/metadata/modules/validationFpdModule.json +1 -1
- package/metadata/modules/vidazooBidAdapter.json +1 -1
- package/metadata/modules/videoreachBidAdapter.json +2 -1
- package/metadata/modules/vidoomyBidAdapter.json +1 -1
- package/metadata/modules/viewdeosDXBidAdapter.json +3 -8
- package/metadata/modules/viouslyBidAdapter.json +1 -1
- package/metadata/modules/visxBidAdapter.json +1 -1
- package/metadata/modules/vlybyBidAdapter.json +1 -1
- package/metadata/modules/voxBidAdapter.json +1 -1
- package/metadata/modules/vrtcalBidAdapter.json +1 -1
- package/metadata/modules/vuukleBidAdapter.json +1 -1
- package/metadata/modules/weboramaRtdProvider.json +1 -1
- package/metadata/modules/welectBidAdapter.json +1 -1
- package/metadata/modules/yahooAdsBidAdapter.json +1 -1
- package/metadata/modules/yieldlabBidAdapter.json +1 -1
- package/metadata/modules/yieldliftBidAdapter.json +3 -8
- package/metadata/modules/yieldloveBidAdapter.json +1 -1
- package/metadata/modules/yieldmoBidAdapter.json +1 -1
- package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
- package/metadata/modules/zeta_globalBidAdapter.json +1 -1
- package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
- package/metadata/modules.json +56 -21
- package/metadata/storageDisclosure.mjs +5 -19
- package/modules/adagioBidAdapter.js +6 -1
- package/modules/adipoloBidAdapter.js +2 -0
- package/modules/admaticBidAdapter.js +6 -2
- package/modules/admixerBidAdapter.js +3 -1
- package/modules/adpartnerBidAdapter.js +5 -107
- package/modules/adplayerproVideoProvider.js +3 -1
- package/modules/adrelevantisBidAdapter.js +9 -3
- package/modules/adtelligentBidAdapter.js +6 -0
- package/modules/advertisingBidAdapter.js +3 -1
- package/modules/aidemBidAdapter.js +0 -2
- package/modules/ampliffyBidAdapter.js +0 -2
- package/modules/appnexusBidAdapter.js +3 -1
- package/modules/asoBidAdapter.md +1 -1
- package/modules/beachfrontBidAdapter.js +2 -3
- package/modules/bidViewability.js +4 -1
- package/modules/bidmaticBidAdapter.js +1 -0
- package/modules/buzzoolaBidAdapter.js +3 -1
- package/modules/cadent_aperture_mxBidAdapter.js +5 -6
- package/modules/ccxBidAdapter.js +0 -2
- package/modules/codefuelBidAdapter.js +3 -1
- package/modules/concertAnalyticsAdapter.js +3 -1
- package/modules/contxtfulRtdProvider.js +4 -1
- package/modules/criteoBidAdapter.js +6 -2
- package/modules/dspxBidAdapter.js +3 -1
- package/modules/eplanningBidAdapter.js +3 -1
- package/modules/equativBidAdapter.js +3 -1
- package/modules/exadsBidAdapter.md +1 -1
- package/modules/feedadBidAdapter.js +5 -3
- package/modules/innityBidAdapter.js +0 -2
- package/modules/intersectionRtdProvider.js +3 -1
- package/modules/ixBidAdapter.md +1 -1
- package/modules/justpremiumBidAdapter.js +2 -1
- package/modules/kargoBidAdapter.js +2 -1
- package/modules/limelightDigitalBidAdapter.md +1 -1
- package/modules/livewrappedAnalyticsAdapter.js +13 -0
- package/modules/lkqdBidAdapter.md +1 -1
- package/modules/luceadBidAdapter.js +0 -2
- package/modules/madvertiseBidAdapter.js +3 -1
- package/modules/mediafuseBidAdapter.js +3 -1
- package/modules/mediaimpactBidAdapter.js +5 -107
- package/modules/mobilefuseBidAdapter.js +0 -1
- package/modules/mobkoiAnalyticsAdapter.js +17 -22
- package/modules/mobkoiBidAdapter.js +21 -17
- package/modules/mobkoiIdSystem.js +23 -13
- package/modules/multibid/index.ts +3 -1
- package/modules/openxBidAdapter.js +6 -1
- package/modules/operaadsBidAdapter.md +1 -1
- package/modules/permutiveRtdProvider.js +2 -1
- package/modules/prebidServerBidAdapter/bidderConfig.js +3 -1
- package/modules/priceFloors.ts +2 -2
- package/modules/pstudioBidAdapter.md +1 -1
- package/modules/pubmaticAnalyticsAdapter.js +3 -3
- package/modules/pubmaticBidAdapter.js +21 -1
- package/modules/pubmaticBidAdapter.md +1 -1
- package/modules/pulsepointBidAdapter.js +1 -0
- package/modules/pwbidBidAdapter.js +0 -2
- package/modules/qtBidAdapter.js +0 -2
- package/modules/raynRtdProvider.js +0 -2
- package/modules/retailspotBidAdapter.js +0 -2
- package/modules/rtbsapeBidAdapter.js +3 -1
- package/modules/rubiconBidAdapter.js +19 -12
- package/modules/scatteredBidAdapter.js +0 -2
- package/modules/sevioBidAdapter.js +4 -1
- package/modules/sizeMapping.js +3 -1
- package/modules/slimcutBidAdapter.js +1 -2
- package/modules/stvBidAdapter.js +3 -1
- package/modules/tadvertisingBidAdapter.js +279 -0
- package/modules/tadvertisingBidAdapter.md +74 -0
- package/modules/talkadsBidAdapter.js +0 -2
- package/modules/tappxBidAdapter.js +17 -1
- package/modules/ucfunnelBidAdapter.js +0 -2
- package/modules/userId/eids.js +3 -1
- package/modules/vdoaiBidAdapter.md +1 -1
- package/modules/ventesBidAdapter.js +6 -2
- package/modules/videoreachBidAdapter.js +0 -2
- package/modules/viewdeosDXBidAdapter.js +0 -1
- package/modules/winrBidAdapter.js +3 -1
- package/modules/yieldlabBidAdapter.js +2 -1
- package/modules/yieldliftBidAdapter.js +0 -2
- package/modules/yieldmoBidAdapter.js +9 -3
- package/package.json +2 -3
- package/plugins/pbjsGlobals.js +8 -5
- package/src/activities/rules.js +2 -1
- package/src/adUnits.ts +2 -1
- package/src/adapterManager.ts +0 -1
- package/src/adapters/bidderFactory.ts +3 -1
- package/src/secureCreatives.js +11 -5
- package/src/targeting.ts +5 -4
- package/test/build-logic/disclosure_spec.mjs +26 -0
- package/test/build-logic/gvl_spec.mjs +32 -0
- package/test/spec/auctionmanager_spec.js +4 -4
- package/test/spec/modules/adpod_spec.js +3 -3
- package/test/spec/modules/adtelligentBidAdapter_spec.js +11 -5
- package/test/spec/modules/bidmaticBidAdapter_spec.js +13 -0
- package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
- package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +9 -1
- package/test/spec/modules/medianetAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/mobkoiAnalyticsAdapter_spec.js +13 -14
- package/test/spec/modules/mobkoiBidAdapter_spec.js +25 -27
- package/test/spec/modules/mobkoiIdSystem_spec.js +10 -10
- package/test/spec/modules/openxBidAdapter_spec.js +129 -0
- package/test/spec/modules/pubmaticBidAdapter_spec.js +70 -0
- package/test/spec/modules/tadvertisingBidAdapter_spec.js +965 -0
- package/test/spec/modules/tappxBidAdapter_spec.js +46 -3
- package/test/spec/unit/secureCreatives_spec.js +40 -0
- package/test/spec/videoCache_spec.js +10 -10
- package/wdio.shared.conf.js +0 -5
- package/dist/src/test/fake-server/fixtures/longform/longform_biddersettings_1/request.json +0 -387
- package/dist/src/test/fake-server/fixtures/longform/longform_biddersettings_1/response.json +0 -114
- package/dist/src/test/fake-server/fixtures/longform/longform_biddersettings_2/request.json +0 -137
- package/dist/src/test/fake-server/fixtures/longform/longform_biddersettings_2/response.json +0 -188
- package/dist/src/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/request.json +0 -402
- package/dist/src/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/response.json +0 -294
- package/dist/src/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/request.json +0 -142
- package/dist/src/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/response.json +0 -188
- package/dist/src/test/fake-server/fixtures/longform/longform_priceGran_1/request.json +0 -387
- package/dist/src/test/fake-server/fixtures/longform/longform_priceGran_1/response.json +0 -366
- package/dist/src/test/fake-server/fixtures/longform/longform_priceGran_2/request.json +0 -137
- package/dist/src/test/fake-server/fixtures/longform/longform_priceGran_2/response.json +0 -188
- package/dist/src/test/fake-server/fixtures/longform/longform_requireExactDuration_1/request.json +0 -401
- package/dist/src/test/fake-server/fixtures/longform/longform_requireExactDuration_1/response.json +0 -330
- package/dist/src/test/fake-server/fixtures/longform/longform_requireExactDuration_2/request.json +0 -141
- package/dist/src/test/fake-server/fixtures/longform/longform_requireExactDuration_2/response.json +0 -188
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/request.json +0 -386
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/response.json +0 -654
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/request.json +0 -136
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/response.json +0 -224
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/request.json +0 -387
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/response.json +0 -366
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/request.json +0 -137
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/response.json +0 -224
- package/dist/src/test/spec/e2e/longform/basic_w_bidderSettings.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_w_bidderSettings.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_w_custom_adserver_translation.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_w_custom_adserver_translation.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_w_priceGran.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_w_priceGran.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_w_requireExactDuration.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_w_requireExactDuration.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_wo_brandCategoryExclusion.spec.js +0 -51
- package/dist/src/test/spec/e2e/longform/basic_wo_brandCategoryExclusion.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_wo_requireExactDuration.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_wo_requireExactDuration.spec.js.map +0 -1
- package/test/fake-server/fixtures/longform/longform_biddersettings_1/description.md +0 -41
- package/test/fake-server/fixtures/longform/longform_biddersettings_1/request.json +0 -387
- package/test/fake-server/fixtures/longform/longform_biddersettings_1/response.json +0 -114
- package/test/fake-server/fixtures/longform/longform_biddersettings_2/description.md +0 -28
- package/test/fake-server/fixtures/longform/longform_biddersettings_2/request.json +0 -137
- package/test/fake-server/fixtures/longform/longform_biddersettings_2/response.json +0 -188
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/description.md +0 -43
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/request.json +0 -402
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/response.json +0 -294
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/description.md +0 -43
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/request.json +0 -142
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/response.json +0 -188
- package/test/fake-server/fixtures/longform/longform_priceGran_1/description.md +0 -62
- package/test/fake-server/fixtures/longform/longform_priceGran_1/request.json +0 -387
- package/test/fake-server/fixtures/longform/longform_priceGran_1/response.json +0 -366
- package/test/fake-server/fixtures/longform/longform_priceGran_2/description.md +0 -62
- package/test/fake-server/fixtures/longform/longform_priceGran_2/request.json +0 -137
- package/test/fake-server/fixtures/longform/longform_priceGran_2/response.json +0 -188
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_1/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_1/request.json +0 -401
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_1/response.json +0 -330
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_2/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_2/request.json +0 -141
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_2/response.json +0 -188
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/request.json +0 -386
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/response.json +0 -654
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/request.json +0 -136
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/response.json +0 -224
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/request.json +0 -387
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/response.json +0 -366
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/request.json +0 -137
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/response.json +0 -224
- package/test/spec/e2e/longform/basic_w_bidderSettings.spec.js +0 -64
- package/test/spec/e2e/longform/basic_w_custom_adserver_translation.spec.js +0 -64
- package/test/spec/e2e/longform/basic_w_priceGran.spec.js +0 -64
- package/test/spec/e2e/longform/basic_w_requireExactDuration.spec.js +0 -64
- package/test/spec/e2e/longform/basic_wo_brandCategoryExclusion.spec.js +0 -59
- package/test/spec/e2e/longform/basic_wo_requireExactDuration.spec.js +0 -64
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapterManager.js","names":["deepClone","flatten","generateUUID","getBidderCodes","getDefinedParams","getUniqueIdentifierStr","getUserConfiguredParams","groupBy","internal","isArray","isPlainObject","isValidMediaTypes","logError","logInfo","logMessage","logWarn","mergeDeep","shuffle","timestamp","uniques","decorateAdUnitsWithNativeParams","nativeAdapters","newBidder","ajaxBuilder","config","RANDOM","hook","getAuctionsCounter","getBidderRequestsCounter","getBidderWinsCounter","getRequestsCounter","incrementAuctionsCounter","incrementBidderRequestsCounter","incrementBidderWinsCounter","incrementRequestsCounter","getRefererInfo","GDPR_GVLIDS","gdprDataHandler","gppDataHandler","uspDataHandler","events","EVENTS","S2S","useMetrics","auctionManager","MODULE_TYPE_ANALYTICS","MODULE_TYPE_BIDDER","MODULE_TYPE_PREBID","isActivityAllowed","ACTIVITY_FETCH_BIDS","ACTIVITY_REPORT_ANALYTICS","ACTIVITY_PARAM_ANL_CONFIG","ACTIVITY_PARAM_S2S_NAME","activityParamsBuilder","redactor","EVENT_TYPE_IMPRESSION","parseEventTrackers","TRACKER_METHOD_IMG","coppaDataHandler","PBS_ADAPTER_NAME","PARTITIONS","CLIENT","SERVER","dep","isAllowed","redact","_bidderRegistry","_aliasRegistry","_analyticsRegistry","_s2sConfigs","getConfig","s2sConfig","activityParams","alias","adapterManager","resolveAlias","getConfigName","configName","name","s2sActivityParams","ADUNIT_BID_PROPERTIES","getBids","_ref","bidderCode","auctionId","bidderRequestId","adUnits","src","metrics","reduce","result","adUnit","bids","filter","bid","bidder","length","s2sBid","push","Object","assign","ortb2Imp","mediaTypes","code","adUnitCode","transactionId","adUnitId","sizes","banner","video","playerSize","bidId","bid_id","auctionsCount","bidRequestsCount","bidderRequestsCount","bidderWinsCount","deferBilling","val","filterBidsForAdUnit","getS2SBidders","getS2SBidderSet","arguments","undefined","serverBidders","has","s2sConfigName","allowedS2SConfigs","Array","includes","getAdUnitCopyForPrebidServer","adUnitsCopy","hasModuleBids","forEach","s2sBids","b","module","params","map","filterBidderlessCalls","getAdUnitCopyForClientAdapters","adUnitsClientCopy","setupAdUnitMediaTypes","labels","s2sConfigs","Set","s2s","enabled","flatMap","bidders","add","_partitionBidders","memo","partition","partitionBidders","bidderRegistry","analyticsRegistry","aliasRegistry","makeBidRequests","auctionStart","cbTimeout","ortb2Fragments","auctionMetrics","emit","BEFORE_REQUEST_BIDS","au","clientBidders","refererInfo","bidRequests","ortb2","global","bidderOrtb2","addOrtb2","bidderRequest","fpd","freeze","source","tid","bidRequest","s2sParams","adUnitsS2SCopy","uniquePbsTid","fork","SRC","timeout","adUnitCopy","validBids","adUnitBid","find","request","reqBid","adapter","getConsentData","callBids","addBidResponse","doneCb","requestCallbacks","requestBidsTimeout","onTimelyResponse","clientBidderRequests","serverBidderRequests","partitions","Number","uniqueServerBidRequests","serverBidRequest","index","i","counter","s2sAjax","bind","done","adaptersServerSide","s2sAdapter","uniqueServerRequests","s2sBidRequest","ad_units","doneCbs","start","timedOut","_len","args","_key","apply","join","BID_REQUESTED","runWithBidder","ajax","adapterDone","callbackWithBidder","e","videoAdapters","registerBidAdapter","bidAdapter","supportedMediaTypes","register","getSpec","gvlid","aliasBidAdapter","options","existingAlias","nonS2SAlias","s2sBidders","newAdapter","getSupportedMediaTypes","constructor","prototype","setBidderCode","useBaseGvlid","spec","skipPbsAliasing","visited","registerAnalyticsAdapter","_ref2","enableAnalytics","adapterConfig","entry","provider","getBidAdapter","getAnalyticsAdapter","callTimedOutBidders","timedOutBidders","timedOutBidder","keys","tryCallBidderMethod","callBidWonBidder","triggerBilling","BILLED","WeakSet","eventtrackers","url","triggerPixel","callSetTargetingBidder","callBidViewableBidder","callBidderError","error","param","callAdRenderSucceededBidder","callDataDeletionRequest","_len2","_key2","method","hasOwnProperty","target","getBidderMethod","bidderRequests","getBidsRequested","br","invokeBidderMethod","entries","_ref3","fn","_len3","_key3","seen"],"sourceRoot":"../../..","sources":["src/adapterManager.ts"],"sourcesContent":["/** @module adaptermanger */\n\nimport {\n deepClone,\n flatten,\n generateUUID,\n getBidderCodes,\n getDefinedParams,\n getUniqueIdentifierStr,\n getUserConfiguredParams,\n groupBy,\n internal,\n isArray,\n isPlainObject,\n isValidMediaTypes,\n logError,\n logInfo,\n logMessage,\n logWarn,\n mergeDeep,\n shuffle,\n timestamp,\n uniques,\n} from './utils.js';\nimport {decorateAdUnitsWithNativeParams, nativeAdapters} from './native.js';\nimport {newBidder} from './adapters/bidderFactory.js';\nimport {ajaxBuilder} from './ajax.js';\nimport {config, RANDOM} from './config.js';\nimport {hook} from './hook.js';\nimport {\n type AdUnit,\n type AdUnitBid,\n type AdUnitBidderBid, type AdUnitModuleBid,\n getAuctionsCounter,\n getBidderRequestsCounter,\n getBidderWinsCounter,\n getRequestsCounter,\n incrementAuctionsCounter,\n incrementBidderRequestsCounter,\n incrementBidderWinsCounter,\n incrementRequestsCounter\n} from './adUnits.js';\nimport {getRefererInfo, type RefererInfo} from './refererDetection.js';\nimport {GDPR_GVLIDS, gdprDataHandler, gppDataHandler, uspDataHandler,} from './consentHandler.js';\nimport * as events from './events.js';\nimport {EVENTS, S2S} from './constants.js';\nimport {type Metrics, useMetrics} from './utils/perfMetrics.js';\nimport {auctionManager} from './auctionManager.js';\nimport {MODULE_TYPE_ANALYTICS, MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID} from './activities/modules.js';\nimport {isActivityAllowed} from './activities/rules.js';\nimport {ACTIVITY_FETCH_BIDS, ACTIVITY_REPORT_ANALYTICS} from './activities/activities.js';\nimport {ACTIVITY_PARAM_ANL_CONFIG, ACTIVITY_PARAM_S2S_NAME, activityParamsBuilder} from './activities/params.js';\nimport {redactor} from './activities/redactor.js';\nimport {EVENT_TYPE_IMPRESSION, parseEventTrackers, TRACKER_METHOD_IMG} from './eventTrackers.js';\nimport type {\n AdUnitCode,\n BidderCode,\n BidSource,\n ContextIdentifiers,\n Identifier,\n ORTBFragments,\n Size, StorageDisclosure\n} from \"./types/common.d.ts\";\nimport type {DeepPartial} from \"./types/objects.d.ts\";\nimport type {ORTBRequest} from \"./types/ortb/request.d.ts\";\nimport type {\n AnalyticsConfig,\n AnalyticsProvider, AnalyticsProviderConfig,\n} from \"../libraries/analyticsAdapter/AnalyticsAdapter.ts\";\n\nexport {gdprDataHandler, gppDataHandler, uspDataHandler, coppaDataHandler} from './consentHandler.js';\n\nexport const PBS_ADAPTER_NAME = 'pbsBidAdapter';\nexport const PARTITIONS = {\n CLIENT: 'client',\n SERVER: 'server'\n}\n\nexport const dep = {\n isAllowed: isActivityAllowed,\n redact: redactor\n}\n\nconst _bidderRegistry = {};\nconst _aliasRegistry: { [aliasCode: BidderCode]: BidderCode } = {};\nconst _analyticsRegistry: { [P in AnalyticsProvider]?: { adapter: AnalyticsAdapter<P>, gvlid?: number }} = {};\n\nlet _s2sConfigs = [];\nconfig.getConfig('s2sConfig', config => {\n if (config && config.s2sConfig) {\n _s2sConfigs = isArray(config.s2sConfig) ? config.s2sConfig : [config.s2sConfig];\n }\n});\n\nconst activityParams = activityParamsBuilder((alias) => adapterManager.resolveAlias(alias));\n\nfunction getConfigName(s2sConfig) {\n // According to our docs, \"module\" bid (stored impressions)\n // have params.configName referring to s2sConfig.name,\n // but for a long while this was checking against s2sConfig.configName.\n // Keep allowing s2sConfig.configName to avoid the breaking change\n return s2sConfig.configName ?? s2sConfig.name;\n}\n\nexport function s2sActivityParams(s2sConfig) {\n return activityParams(MODULE_TYPE_PREBID, PBS_ADAPTER_NAME, {\n [ACTIVITY_PARAM_S2S_NAME]: getConfigName(s2sConfig)\n });\n}\n\nexport interface BaseBidRequest extends ContextIdentifiers, Pick<AdUnit, typeof ADUNIT_BID_PROPERTIES[number] | 'mediaTypes' | 'ortb2Imp'> {\n /**\n * Unique ID for this request.\n */\n bidId: Identifier;\n /**\n * ID of the BidderRequest containing this request.\n */\n bidderRequestId: Identifier;\n metrics: Metrics;\n src: BidSource;\n /**\n * The code of the ad unit associated with this request.\n */\n adUnitCode: AdUnitCode;\n /**\n * @deprecated - use mediaType specific size parameters instead.\n */\n sizes: Size | Size[];\n /**\n * The number of auctions that took place involving the ad unit associated with this request.\n */\n auctionsCount: number;\n /**\n * How many times the ad unit code associated with this request took part in an auction. This differs\n * from `auctionsCount` when twin ad units are used.\n */\n bidRequestsCount: number;\n /**\n * The number of client (but not s2s) requests that were generated for the combination of ad unit and bidder\n * associated with this request.\n */\n bidderRequestsCount: number;\n /**\n * The number of times a bid from the same bidder and for the same ad unit as this request has won.\n */\n bidderWinsCount: number;\n deferBilling: AdUnit['deferBilling'];\n /**\n * \"Global\" (not adUnit-specific) first party data for this request. This\n * is an alias for the enclosing BidderRequest's `.ortb2`; adUnit-specific\n * FPD is in `ortb2Imp`.\n */\n ortb2: DeepPartial<ORTBRequest>;\n}\n\nexport interface StoredBidRequest extends BaseBidRequest, Omit<{[K in keyof AdUnitBidderBid<BidderCode>]?: undefined}, keyof BaseBidRequest> {\n bidder: null;\n src: typeof S2S.SRC;\n}\ntype BidderBidRequest<BIDDER extends BidderCode> = BaseBidRequest & AdUnitBidderBid<BIDDER>;\n\nexport type BidRequest<BIDDER extends (BidderCode | null)> = BIDDER extends null ? StoredBidRequest : BidderBidRequest<BIDDER>;\n\nexport interface BaseBidderRequest<BIDDER extends BidderCode | null> {\n /**\n * Unique ID for this request.\n */\n bidderRequestId: Identifier;\n auctionId: Identifier;\n /**\n * The bidder associated with this request, or null in the case of stored impressions.\n */\n bidderCode: BIDDER;\n /**\n * Bid requests (one per ad unit) included in this request.\n */\n bids: BidRequest<BIDDER>[];\n /**\n * First party data for this request.\n */\n ortb2: DeepPartial<ORTBRequest>;\n /**\n * Auction start timestamp.\n */\n auctionStart: number;\n /**\n * Request timeout in milliseconds.\n */\n timeout: number;\n refererInfo: RefererInfo;\n metrics: Metrics;\n gdprConsent?: ReturnType<typeof gdprDataHandler['getConsentData']>;\n uspConsent?: ReturnType<typeof uspDataHandler['getConsentData']>;\n gppConsent?: ReturnType<typeof gppDataHandler['getConsentData']>;\n}\n\nexport interface S2SBidderRequest<BIDDER extends BidderCode | null> extends BaseBidderRequest<BIDDER> {\n src: typeof S2S.SRC;\n uniquePbsTid: Identifier;\n adUnitsS2SCopy: PBSAdUnit[];\n}\n\nexport interface ClientBidderRequest<BIDDER extends BidderCode> extends BaseBidderRequest<BIDDER> {\n src: 'client';\n}\n\nexport type BidderRequest<BIDDER extends BidderCode | null> = ClientBidderRequest<BIDDER> | S2SBidderRequest<BIDDER>;\n\nconst ADUNIT_BID_PROPERTIES = [\n 'nativeParams',\n 'nativeOrtbRequest',\n 'renderer',\n] as const;\n\ntype GetBidsOptions<SRC extends BidSource, BIDDER extends BidderCode | null> = {\n bidderCode: BIDDER;\n auctionId: Identifier;\n bidderRequestId: Identifier;\n adUnits: (SRC extends typeof S2S.SRC ? PBSAdUnit : AdUnit)[]\n src: SRC;\n metrics: Metrics\n}\n\nexport type AliasBidderOptions = {\n /**\n * IAB Global Vendor List ID for this alias for use with the TCF control module.\n */\n gvlid?: number;\n /**\n * Flag determining if the GVL ID of the original adapter should be re-used.\n */\n useBaseGvlid?: boolean;\n /**\n * If true, the alias will not be communicated to Prebid Server.\n */\n skipPbsAliasing?: boolean\n}\n\nexport type AnalyticsAdapter<P extends AnalyticsProvider> = StorageDisclosure & {\n code?: P;\n enableAnalytics(config: AnalyticsConfig<P>): void;\n gvlid?: number | ((config: AnalyticsConfig<P>) => number);\n}\n\nfunction getBids<SRC extends BidSource, BIDDER extends BidderCode | null>({bidderCode, auctionId, bidderRequestId, adUnits, src, metrics}: GetBidsOptions<SRC, BIDDER>): BidRequest<BIDDER>[] {\n return adUnits.reduce((result, adUnit) => {\n const bids = adUnit.bids.filter(bid => bid.bidder === bidderCode);\n if (bidderCode == null && bids.length === 0 && (adUnit as PBSAdUnit).s2sBid != null) {\n bids.push({bidder: null});\n }\n result.push(\n bids.reduce((bids: BidRequest<BIDDER>[], bid: BidRequest<BIDDER>) => {\n bid = Object.assign({}, bid,\n {ortb2Imp: mergeDeep({}, adUnit.ortb2Imp, bid.ortb2Imp)},\n getDefinedParams(adUnit, ADUNIT_BID_PROPERTIES)\n );\n\n const mediaTypes = bid.mediaTypes == null ? adUnit.mediaTypes : bid.mediaTypes\n\n if (isValidMediaTypes(mediaTypes)) {\n bid = Object.assign({}, bid, {\n mediaTypes\n });\n } else {\n logError(\n `mediaTypes is not correctly configured for adunit ${adUnit.code}`\n );\n }\n\n if (src === 'client') {\n incrementBidderRequestsCounter(adUnit.code, bidderCode);\n }\n\n bids.push(Object.assign({}, bid, {\n adUnitCode: adUnit.code,\n transactionId: adUnit.transactionId,\n adUnitId: adUnit.adUnitId,\n sizes: mediaTypes?.banner?.sizes || mediaTypes?.video?.playerSize || [],\n bidId: (bid as any).bid_id || getUniqueIdentifierStr(),\n bidderRequestId,\n auctionId,\n src,\n metrics,\n auctionsCount: getAuctionsCounter(adUnit.code),\n bidRequestsCount: getRequestsCounter(adUnit.code),\n bidderRequestsCount: getBidderRequestsCounter(adUnit.code, bid.bidder),\n bidderWinsCount: getBidderWinsCounter(adUnit.code, bid.bidder),\n deferBilling: !!adUnit.deferBilling\n }));\n return bids;\n }, [])\n );\n return result;\n }, []).reduce(flatten, []).filter(val => val !== '');\n}\n\n/**\n * Filter an adUnit's bids for building client and/or server requests\n *\n * @param bids an array of bids as defined in an adUnit\n * @param s2sConfig null if the adUnit is being routed to a client adapter; otherwise the s2s adapter's config\n * @returns the subset of `bids` that are pertinent for the given `s2sConfig`\n */\nexport const filterBidsForAdUnit = hook('sync', function(bids, s2sConfig, {getS2SBidders = getS2SBidderSet} = {}) {\n if (s2sConfig == null) {\n return bids;\n } else {\n const serverBidders = getS2SBidders(s2sConfig);\n return bids.filter((bid: BidRequest<any>) => {\n if (!serverBidders.has(bid.bidder)) return false;\n if (bid.s2sConfigName == null) return true;\n const configName = getConfigName(s2sConfig);\n const allowedS2SConfigs = Array.isArray(bid.s2sConfigName) ? bid.s2sConfigName : [bid.s2sConfigName];\n return allowedS2SConfigs.includes(configName);\n })\n }\n}, 'filterBidsForAdUnit');\n\ntype PBSAdUnitBid = AdUnitBid & {\n bid_id?: Identifier;\n};\n\ntype PBSAdUnit = Omit<AdUnit, 'bids'> & {\n s2sBid?: PBSAdUnitBid;\n bids: PBSAdUnitBid[];\n};\n\nfunction getAdUnitCopyForPrebidServer(adUnits: AdUnit[], s2sConfig) {\n let adUnitsCopy = deepClone(adUnits) as PBSAdUnit[];\n let hasModuleBids = false;\n\n adUnitsCopy.forEach((adUnit) => {\n // filter out client side bids\n const s2sBids = adUnit.bids.filter((b) => b.module === PBS_ADAPTER_NAME && (\n (b as AdUnitModuleBid).params?.configName === getConfigName(s2sConfig)\n ));\n if (s2sBids.length === 1) {\n adUnit.s2sBid = s2sBids[0];\n hasModuleBids = true;\n adUnit.ortb2Imp = mergeDeep({}, adUnit.s2sBid.ortb2Imp, adUnit.ortb2Imp);\n } else if (s2sBids.length > 1) {\n logWarn('Multiple \"module\" bids for the same s2s configuration; all will be ignored', s2sBids);\n }\n adUnit.bids = filterBidsForAdUnit(adUnit.bids, s2sConfig)\n .map((bid) => {\n bid.bid_id = getUniqueIdentifierStr();\n return bid;\n });\n });\n adUnitsCopy = adUnitsCopy.filter(adUnit => {\n if (s2sConfig.filterBidderlessCalls) {\n if (adUnit.bids.length === 1 && adUnit.bids[0].bidder == null) return false;\n }\n return adUnit.bids.length !== 0 || adUnit.s2sBid != null;\n });\n\n // don't send empty requests\n return {adUnits: adUnitsCopy, hasModuleBids};\n}\n\nfunction getAdUnitCopyForClientAdapters(adUnits: AdUnit[]) {\n let adUnitsClientCopy = deepClone(adUnits);\n adUnitsClientCopy.forEach((adUnit) => {\n adUnit.bids = filterBidsForAdUnit(adUnit.bids, null);\n });\n\n // don't send empty requests\n adUnitsClientCopy = adUnitsClientCopy.filter(adUnit => {\n return adUnit.bids.length !== 0;\n });\n\n return adUnitsClientCopy;\n}\n\n/**\n * Filter and/or modify media types for ad units based on the given labels.\n *\n * This should return adUnits that are active for the given labels, modified to have their `mediaTypes`\n * conform to size mapping configuration. If different bids for the same adUnit should use different `mediaTypes`,\n * they should be exposed under `adUnit.bids[].mediaTypes`.\n */\nexport const setupAdUnitMediaTypes = hook('sync', (adUnits, labels) => {\n return adUnits;\n}, 'setupAdUnitMediaTypes')\n\n/**\n * @param {{}|Array<{}>} s2sConfigs\n * @returns {Set<String>} a set of all the bidder codes that should be routed through the S2S adapter(s)\n * as defined in `s2sConfigs`\n */\nexport function getS2SBidderSet(s2sConfigs) {\n if (!isArray(s2sConfigs)) s2sConfigs = [s2sConfigs];\n // `null` represents the \"no bid bidder\" - when an ad unit is meant only for S2S adapters, like stored impressions\n const serverBidders = new Set([null]);\n s2sConfigs.filter((s2s) => s2s && s2s.enabled)\n .flatMap((s2s) => s2s.bidders)\n .forEach((bidder) => serverBidders.add(bidder));\n return serverBidders;\n}\n\n/**\n * @param {Array} adUnits - The ad units to be processed.\n * @param {Object} s2sConfigs - The server-to-server configurations.\n * @returns {Object} - An object containing arrays of bidder codes for client and server.\n * @returns {Object} return.client - Array of bidder codes that should be routed to client adapters.\n * @returns {Object} return.server - Array of bidder codes that should be routed to server adapters.\n */\nexport function _partitionBidders (adUnits, s2sConfigs, {getS2SBidders = getS2SBidderSet} = {}) {\n const serverBidders = getS2SBidders(s2sConfigs);\n return getBidderCodes(adUnits).reduce((memo, bidder) => {\n const partition = serverBidders.has(bidder) ? PARTITIONS.SERVER : PARTITIONS.CLIENT;\n memo[partition].push(bidder);\n return memo;\n }, {[PARTITIONS.CLIENT]: [], [PARTITIONS.SERVER]: []})\n}\n\nexport const partitionBidders = hook('sync', _partitionBidders, 'partitionBidders');\n\ndeclare module './events' {\n interface Events {\n /**\n * Fired once per auction, just before bid requests are generated.\n */\n [EVENTS.BEFORE_REQUEST_BIDS]: [AdUnit[]];\n /**\n * Fired once for each bidder in each auction (or twice for bidders that are configured for both client and s2s).\n */\n [EVENTS.BID_REQUESTED]: [BidderRequest<BidderCode>];\n }\n}\n\ndeclare module './hook' {\n interface NamedHooks {\n makeBidRequests: typeof adapterManager.makeBidRequests;\n }\n}\n\nconst adapterManager = {\n bidderRegistry: _bidderRegistry,\n analyticsRegistry: _analyticsRegistry,\n /**\n * Map from alias codes to the bidder code they alias.\n */\n aliasRegistry: _aliasRegistry,\n makeBidRequests: hook('sync', function (\n adUnits: AdUnit[],\n auctionStart: number,\n auctionId: Identifier,\n cbTimeout: number,\n labels: string[],\n ortb2Fragments: ORTBFragments = {},\n auctionMetrics: Metrics\n ): BidderRequest<BidderCode>[] {\n auctionMetrics = useMetrics(auctionMetrics);\n /**\n * emit and pass adunits for external modification\n * @see {@link https://github.com/prebid/Prebid.js/issues/4149|Issue}\n */\n events.emit(EVENTS.BEFORE_REQUEST_BIDS, adUnits);\n if (FEATURES.NATIVE) {\n decorateAdUnitsWithNativeParams(adUnits);\n }\n adUnits\n .map(adUnit => adUnit.code)\n .filter(uniques)\n .forEach(incrementAuctionsCounter);\n\n adUnits.forEach(au => {\n if (!isPlainObject(au.mediaTypes)) {\n au.mediaTypes = {};\n }\n // filter out bidders that cannot participate in the auction\n au.bids = au.bids.filter((bid) => !bid.bidder || dep.isAllowed(ACTIVITY_FETCH_BIDS, activityParams(MODULE_TYPE_BIDDER, bid.bidder)))\n incrementRequestsCounter(au.code);\n });\n\n adUnits = setupAdUnitMediaTypes(adUnits, labels);\n\n let {[PARTITIONS.CLIENT]: clientBidders, [PARTITIONS.SERVER]: serverBidders} = partitionBidders(adUnits, _s2sConfigs);\n\n if (config.getConfig('bidderSequence') === RANDOM) {\n clientBidders = shuffle(clientBidders);\n }\n const refererInfo = getRefererInfo();\n\n const bidRequests: BidderRequest<any>[] = [];\n\n const ortb2 = ortb2Fragments.global || {};\n const bidderOrtb2 = ortb2Fragments.bidder || {};\n\n function addOrtb2<T extends BidderRequest<any>>(bidderRequest: Partial<T>, s2sActivityParams?): T {\n const redact = dep.redact(\n s2sActivityParams != null\n ? s2sActivityParams\n : activityParams(MODULE_TYPE_BIDDER, bidderRequest.bidderCode)\n );\n const fpd = Object.freeze(redact.ortb2(mergeDeep({source: {tid: auctionId}}, ortb2, bidderOrtb2[bidderRequest.bidderCode])));\n bidderRequest.ortb2 = fpd;\n bidderRequest.bids = bidderRequest.bids.map((bid) => {\n bid.ortb2 = fpd;\n return redact.bidRequest(bid);\n })\n return bidderRequest as T;\n }\n\n _s2sConfigs.forEach(s2sConfig => {\n const s2sParams = s2sActivityParams(s2sConfig);\n if (s2sConfig && s2sConfig.enabled && dep.isAllowed(ACTIVITY_FETCH_BIDS, s2sParams)) {\n const {adUnits: adUnitsS2SCopy, hasModuleBids} = getAdUnitCopyForPrebidServer(adUnits, s2sConfig);\n\n // uniquePbsTid is so we know which server to send which bids to during the callBids function\n const uniquePbsTid = generateUUID();\n\n (serverBidders.length === 0 && hasModuleBids ? [null] : serverBidders).forEach(bidderCode => {\n const bidderRequestId = getUniqueIdentifierStr();\n const metrics = auctionMetrics.fork();\n const bidderRequest = addOrtb2({\n bidderCode,\n auctionId,\n bidderRequestId,\n uniquePbsTid,\n bids: getBids({ bidderCode, auctionId, bidderRequestId, 'adUnits': deepClone(adUnitsS2SCopy), src: S2S.SRC, metrics }),\n auctionStart: auctionStart,\n timeout: s2sConfig.timeout,\n src: S2S.SRC,\n refererInfo,\n metrics,\n }, s2sParams);\n if (bidderRequest.bids.length !== 0) {\n bidRequests.push(bidderRequest);\n }\n });\n\n // update the s2sAdUnits object and remove all bids that didn't pass sizeConfig/label checks from getBids()\n // this is to keep consistency and only allow bids/adunits that passed the checks to go to pbs\n adUnitsS2SCopy.forEach((adUnitCopy) => {\n const validBids = adUnitCopy.bids.filter((adUnitBid) =>\n bidRequests.find(request =>\n request.bids.find((reqBid) => reqBid.bidId === adUnitBid.bid_id)));\n adUnitCopy.bids = validBids;\n });\n\n bidRequests.forEach((request: S2SBidderRequest<any>) => {\n if (request.adUnitsS2SCopy === undefined) {\n request.adUnitsS2SCopy = adUnitsS2SCopy.filter(au => au.bids.length > 0 || au.s2sBid != null);\n }\n });\n }\n });\n\n // client adapters\n const adUnitsClientCopy = getAdUnitCopyForClientAdapters(adUnits);\n clientBidders.forEach(bidderCode => {\n const bidderRequestId = getUniqueIdentifierStr();\n const metrics = auctionMetrics.fork();\n const bidderRequest = addOrtb2({\n bidderCode,\n auctionId,\n bidderRequestId,\n bids: getBids({bidderCode, auctionId, bidderRequestId, 'adUnits': deepClone(adUnitsClientCopy), src: 'client', metrics}),\n auctionStart: auctionStart,\n timeout: cbTimeout,\n refererInfo,\n metrics,\n });\n const adapter = _bidderRegistry[bidderCode];\n if (!adapter) {\n logError(`Trying to make a request for bidder that does not exist: ${bidderCode}`);\n }\n\n if (adapter && bidderRequest.bids && bidderRequest.bids.length !== 0) {\n bidRequests.push(bidderRequest);\n }\n });\n\n bidRequests.forEach(bidRequest => {\n if (gdprDataHandler.getConsentData()) {\n bidRequest['gdprConsent'] = gdprDataHandler.getConsentData();\n }\n if (uspDataHandler.getConsentData()) {\n bidRequest['uspConsent'] = uspDataHandler.getConsentData();\n }\n if (gppDataHandler.getConsentData()) {\n bidRequest['gppConsent'] = gppDataHandler.getConsentData();\n }\n });\n return bidRequests;\n }, 'makeBidRequests'),\n callBids(adUnits, bidRequests, addBidResponse, doneCb, requestCallbacks, requestBidsTimeout, onTimelyResponse, ortb2Fragments = {}) {\n if (!bidRequests.length) {\n logWarn('callBids executed with no bidRequests. Were they filtered by labels or sizing?');\n return;\n }\n\n const [clientBidderRequests, serverBidderRequests] = bidRequests.reduce((partitions, bidRequest) => {\n partitions[Number(typeof bidRequest.src !== 'undefined' && bidRequest.src === S2S.SRC)].push(bidRequest);\n return partitions;\n }, [[], []]);\n\n var uniqueServerBidRequests = [];\n serverBidderRequests.forEach(serverBidRequest => {\n var index = -1;\n for (var i = 0; i < uniqueServerBidRequests.length; ++i) {\n if (serverBidRequest.uniquePbsTid === uniqueServerBidRequests[i].uniquePbsTid) {\n index = i;\n break;\n }\n }\n if (index <= -1) {\n uniqueServerBidRequests.push(serverBidRequest);\n }\n });\n\n let counter = 0;\n\n _s2sConfigs.forEach((s2sConfig) => {\n if (s2sConfig && uniqueServerBidRequests[counter] && getS2SBidderSet(s2sConfig).has(uniqueServerBidRequests[counter].bidderCode)) {\n // s2s should get the same client side timeout as other client side requests.\n const s2sAjax = ajaxBuilder(requestBidsTimeout, requestCallbacks ? {\n request: requestCallbacks.request.bind(null, 's2s'),\n done: requestCallbacks.done\n } : undefined);\n const adaptersServerSide = s2sConfig.bidders;\n const s2sAdapter = _bidderRegistry[s2sConfig.adapter];\n const uniquePbsTid = uniqueServerBidRequests[counter].uniquePbsTid;\n const adUnitsS2SCopy = uniqueServerBidRequests[counter].adUnitsS2SCopy;\n\n const uniqueServerRequests = serverBidderRequests.filter(serverBidRequest => serverBidRequest.uniquePbsTid === uniquePbsTid);\n\n if (s2sAdapter) {\n const s2sBidRequest = {'ad_units': adUnitsS2SCopy, s2sConfig, ortb2Fragments, requestBidsTimeout};\n if (s2sBidRequest.ad_units.length) {\n const doneCbs = uniqueServerRequests.map(bidRequest => {\n bidRequest.start = timestamp();\n return function (timedOut, ...args) {\n if (!timedOut) {\n onTimelyResponse(bidRequest.bidderRequestId);\n }\n doneCb.apply(bidRequest, [timedOut, ...args]);\n }\n });\n\n const bidders = getBidderCodes(s2sBidRequest.ad_units).filter((bidder) => adaptersServerSide.includes(bidder));\n logMessage(`CALLING S2S HEADER BIDDERS ==== ${bidders.length > 0 ? bidders.join(', ') : 'No bidder specified, using \"ortb2Imp\" definition(s) only'}`);\n\n // fire BID_REQUESTED event for each s2s bidRequest\n uniqueServerRequests.forEach(bidRequest => {\n // add the new sourceTid\n events.emit(EVENTS.BID_REQUESTED, { ...bidRequest, tid: bidRequest.auctionId });\n });\n\n // make bid requests\n s2sAdapter.callBids(\n s2sBidRequest,\n serverBidderRequests,\n addBidResponse,\n (timedOut) => doneCbs.forEach(done => done(timedOut)),\n s2sAjax\n );\n }\n } else {\n logError('missing ' + s2sConfig.adapter);\n }\n counter++;\n }\n });\n\n // handle client adapter requests\n clientBidderRequests.forEach(bidderRequest => {\n bidderRequest.start = timestamp();\n // TODO : Do we check for bid in pool from here and skip calling adapter again ?\n const adapter = _bidderRegistry[bidderRequest.bidderCode];\n config.runWithBidder(bidderRequest.bidderCode, () => {\n logMessage(`CALLING BIDDER`);\n events.emit(EVENTS.BID_REQUESTED, bidderRequest);\n });\n const ajax = ajaxBuilder(requestBidsTimeout, requestCallbacks ? {\n request: requestCallbacks.request.bind(null, bidderRequest.bidderCode),\n done: requestCallbacks.done\n } : undefined);\n const adapterDone = doneCb.bind(bidderRequest);\n try {\n config.runWithBidder(\n bidderRequest.bidderCode,\n adapter.callBids.bind(\n adapter,\n bidderRequest,\n addBidResponse,\n adapterDone,\n ajax,\n () => onTimelyResponse(bidderRequest.bidderRequestId),\n config.callbackWithBidder(bidderRequest.bidderCode)\n )\n );\n } catch (e) {\n logError(`${bidderRequest.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`, {e, bidRequest: bidderRequest});\n adapterDone();\n }\n })\n },\n videoAdapters: [],\n registerBidAdapter(bidAdapter, bidderCode, {supportedMediaTypes = []} = {}) {\n if (bidAdapter && bidderCode) {\n if (typeof bidAdapter.callBids === 'function') {\n _bidderRegistry[bidderCode] = bidAdapter;\n GDPR_GVLIDS.register(MODULE_TYPE_BIDDER, bidderCode, bidAdapter.getSpec?.().gvlid);\n\n if (FEATURES.VIDEO && supportedMediaTypes.includes('video')) {\n adapterManager.videoAdapters.push(bidderCode);\n }\n if (FEATURES.NATIVE && supportedMediaTypes.includes('native')) {\n nativeAdapters.push(bidderCode);\n }\n } else {\n logError('Bidder adaptor error for bidder code: ' + bidderCode + 'bidder must implement a callBids() function');\n }\n } else {\n logError('bidAdapter or bidderCode not specified');\n }\n },\n aliasBidAdapter(bidderCode: BidderCode, alias: BidderCode, options?: AliasBidderOptions) {\n const existingAlias = _bidderRegistry[alias];\n\n if (typeof existingAlias === 'undefined') {\n const bidAdapter = _bidderRegistry[bidderCode];\n if (typeof bidAdapter === 'undefined') {\n // check if alias is part of s2sConfig and allow them to register if so (as base bidder may be s2s-only)\n const nonS2SAlias = [];\n _s2sConfigs.forEach(s2sConfig => {\n if (s2sConfig.bidders && s2sConfig.bidders.length) {\n const s2sBidders = s2sConfig && s2sConfig.bidders;\n if (!(s2sConfig && s2sBidders.includes(alias))) {\n nonS2SAlias.push(bidderCode);\n } else {\n _aliasRegistry[alias] = bidderCode;\n }\n }\n });\n nonS2SAlias.forEach(bidderCode => {\n logError('bidderCode \"' + bidderCode + '\" is not an existing bidder.', 'adapterManager.aliasBidAdapter');\n });\n } else {\n try {\n let newAdapter;\n const supportedMediaTypes = getSupportedMediaTypes(bidderCode);\n // Have kept old code to support backward compatibilitiy.\n // Remove this if loop when all adapters are supporting bidderFactory. i.e When Prebid.js is 1.0\n if (bidAdapter.constructor.prototype != Object.prototype) {\n newAdapter = new bidAdapter.constructor();\n newAdapter.setBidderCode(alias);\n } else {\n const { useBaseGvlid = false } = options || {};\n const spec = bidAdapter.getSpec();\n const gvlid = useBaseGvlid ? spec.gvlid : options?.gvlid;\n if (gvlid == null && spec.gvlid != null) {\n logWarn(`Alias '${alias}' will NOT re-use the GVL ID of the original adapter ('${spec.code}', gvlid: ${spec.gvlid}). Functionality that requires TCF consent may not work as expected.`)\n }\n\n const skipPbsAliasing = options && options.skipPbsAliasing;\n newAdapter = newBidder(Object.assign({}, spec, { code: alias, gvlid, skipPbsAliasing }));\n _aliasRegistry[alias] = bidderCode;\n }\n adapterManager.registerBidAdapter(newAdapter, alias, {\n supportedMediaTypes\n });\n } catch (e) {\n logError(bidderCode + ' bidder does not currently support aliasing.', 'adapterManager.aliasBidAdapter');\n }\n }\n } else {\n logMessage('alias name \"' + alias + '\" has been already specified.');\n }\n },\n resolveAlias(alias) {\n let code = alias;\n let visited;\n while (_aliasRegistry[code] && (!visited || !visited.has(code))) {\n code = _aliasRegistry[code];\n (visited = visited || new Set()).add(code);\n }\n return code;\n },\n registerAnalyticsAdapter<P extends AnalyticsProvider>({adapter, code, gvlid}: {\n adapter: AnalyticsAdapter<P>,\n code: P,\n gvlid?: number\n }) {\n if (adapter && code) {\n if (typeof adapter.enableAnalytics === 'function') {\n adapter.code = code;\n _analyticsRegistry[code] = { adapter, gvlid };\n GDPR_GVLIDS.register(MODULE_TYPE_ANALYTICS, code, gvlid);\n } else {\n logError(`Prebid Error: Analytics adaptor error for analytics \"${code}\"\n analytics adapter must implement an enableAnalytics() function`);\n }\n } else {\n logError('Prebid Error: analyticsAdapter or analyticsCode not specified');\n }\n },\n enableAnalytics(\n config: AnalyticsConfig<keyof AnalyticsProviderConfig>\n | AnalyticsConfig<AnalyticsProvider>\n | AnalyticsConfig<AnalyticsProvider>[]\n ) {\n if (!isArray(config)) {\n config = [config];\n }\n\n config.forEach(adapterConfig => {\n const entry = _analyticsRegistry[adapterConfig.provider];\n if (entry && entry.adapter) {\n if (dep.isAllowed(ACTIVITY_REPORT_ANALYTICS, activityParams(MODULE_TYPE_ANALYTICS, adapterConfig.provider, {[ACTIVITY_PARAM_ANL_CONFIG]: adapterConfig}))) {\n entry.adapter.enableAnalytics(adapterConfig);\n }\n } else {\n logError(`Prebid Error: no analytics adapter found in registry for '${adapterConfig.provider}'.`);\n }\n });\n },\n getBidAdapter(bidder) {\n return _bidderRegistry[bidder];\n },\n getAnalyticsAdapter(code) {\n return _analyticsRegistry[code];\n },\n callTimedOutBidders(adUnits, timedOutBidders, cbTimeout) {\n timedOutBidders = timedOutBidders.map((timedOutBidder) => {\n // Adding user configured params & timeout to timeout event data\n timedOutBidder.params = getUserConfiguredParams(adUnits, timedOutBidder.adUnitCode, timedOutBidder.bidder);\n timedOutBidder.timeout = cbTimeout;\n return timedOutBidder;\n });\n timedOutBidders = groupBy(timedOutBidders, 'bidder');\n\n Object.keys(timedOutBidders).forEach((bidder) => {\n tryCallBidderMethod(bidder, 'onTimeout', timedOutBidders[bidder]);\n });\n },\n callBidWonBidder(bidder, bid, adUnits) {\n // Adding user configured params to bidWon event data\n bid.params = getUserConfiguredParams(adUnits, bid.adUnitCode, bid.bidder);\n incrementBidderWinsCounter(bid.adUnitCode, bid.bidder);\n tryCallBidderMethod(bidder, 'onBidWon', bid);\n },\n triggerBilling: (() => {\n const BILLED = new WeakSet();\n return (bid) => {\n if (!BILLED.has(bid)) {\n BILLED.add(bid);\n (parseEventTrackers(bid.eventtrackers)[EVENT_TYPE_IMPRESSION]?.[TRACKER_METHOD_IMG] || [])\n .forEach((url) => internal.triggerPixel(url));\n tryCallBidderMethod(bid.bidder, 'onBidBillable', bid);\n }\n }\n })(),\n callSetTargetingBidder(bidder, bid) {\n tryCallBidderMethod(bidder, 'onSetTargeting', bid);\n },\n callBidViewableBidder(bidder, bid) {\n tryCallBidderMethod(bidder, 'onBidViewable', bid);\n },\n callBidderError(bidder, error, bidderRequest) {\n const param = { error, bidderRequest };\n tryCallBidderMethod(bidder, 'onBidderError', param);\n },\n callAdRenderSucceededBidder(bidder, bid) {\n tryCallBidderMethod(bidder, 'onAdRenderSucceeded', bid);\n },\n /**\n * Ask every adapter to delete PII.\n * See https://github.com/prebid/Prebid.js/issues/9081\n */\n callDataDeletionRequest: hook('sync', function (...args) {\n const method = 'onDataDeletionRequest';\n Object.keys(_bidderRegistry)\n .filter((bidder) => !_aliasRegistry.hasOwnProperty(bidder))\n .forEach(bidder => {\n const target = getBidderMethod(bidder, method);\n if (target != null) {\n const bidderRequests = auctionManager.getBidsRequested().filter((br) =>\n resolveAlias(br.bidderCode) === bidder\n );\n invokeBidderMethod(bidder, method, ...target, bidderRequests, ...args);\n }\n });\n Object.entries(_analyticsRegistry).forEach(([name, entry]: any) => {\n const fn = entry?.adapter?.[method];\n if (typeof fn === 'function') {\n try {\n fn.apply(entry.adapter, args);\n } catch (e) {\n logError(`error calling ${method} of ${name}`, e);\n }\n }\n });\n })\n\n}\n\nfunction getSupportedMediaTypes(bidderCode) {\n const supportedMediaTypes = [];\n if (FEATURES.VIDEO && adapterManager.videoAdapters.includes(bidderCode)) supportedMediaTypes.push('video');\n if (FEATURES.NATIVE && nativeAdapters.includes(bidderCode)) supportedMediaTypes.push('native');\n return supportedMediaTypes;\n}\n\nfunction getBidderMethod(bidder, method): [string, string] {\n const adapter = _bidderRegistry[bidder];\n const spec = adapter?.getSpec && adapter.getSpec();\n if (spec && spec[method] && typeof spec[method] === 'function') {\n return [spec, spec[method]]\n }\n}\n\nfunction invokeBidderMethod(bidder, method, spec, fn, ...params) {\n try {\n logInfo(`Invoking ${bidder}.${method}`);\n config.runWithBidder(bidder, fn.bind(spec, ...params));\n } catch (e) {\n logWarn(`Error calling ${method} of ${bidder}`);\n }\n}\n\nfunction tryCallBidderMethod(bidder, method, param) {\n if (param?.source !== S2S.SRC) {\n const target = getBidderMethod(bidder, method);\n if (target != null) {\n invokeBidderMethod(bidder, method, ...target, param);\n }\n }\n}\n\nfunction resolveAlias(alias) {\n const seen = new Set();\n while (_aliasRegistry.hasOwnProperty(alias) && !seen.has(alias)) {\n seen.add(alias);\n alias = _aliasRegistry[alias];\n }\n return alias;\n}\n\nexport default adapterManager;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"adapterManager.js","names":["deepClone","flatten","generateUUID","getBidderCodes","getDefinedParams","getUniqueIdentifierStr","getUserConfiguredParams","groupBy","internal","isArray","isPlainObject","isValidMediaTypes","logError","logInfo","logMessage","logWarn","mergeDeep","shuffle","timestamp","uniques","decorateAdUnitsWithNativeParams","nativeAdapters","newBidder","ajaxBuilder","config","RANDOM","hook","getAuctionsCounter","getBidderRequestsCounter","getBidderWinsCounter","getRequestsCounter","incrementAuctionsCounter","incrementBidderRequestsCounter","incrementBidderWinsCounter","incrementRequestsCounter","getRefererInfo","GDPR_GVLIDS","gdprDataHandler","gppDataHandler","uspDataHandler","events","EVENTS","S2S","useMetrics","auctionManager","MODULE_TYPE_ANALYTICS","MODULE_TYPE_BIDDER","MODULE_TYPE_PREBID","isActivityAllowed","ACTIVITY_FETCH_BIDS","ACTIVITY_REPORT_ANALYTICS","ACTIVITY_PARAM_ANL_CONFIG","ACTIVITY_PARAM_S2S_NAME","activityParamsBuilder","redactor","EVENT_TYPE_IMPRESSION","parseEventTrackers","TRACKER_METHOD_IMG","coppaDataHandler","PBS_ADAPTER_NAME","PARTITIONS","CLIENT","SERVER","dep","isAllowed","redact","_bidderRegistry","_aliasRegistry","_analyticsRegistry","_s2sConfigs","getConfig","s2sConfig","activityParams","alias","adapterManager","resolveAlias","getConfigName","configName","name","s2sActivityParams","ADUNIT_BID_PROPERTIES","getBids","_ref","bidderCode","auctionId","bidderRequestId","adUnits","src","metrics","reduce","result","adUnit","bids","filter","bid","bidder","length","s2sBid","push","Object","assign","ortb2Imp","mediaTypes","code","adUnitCode","transactionId","adUnitId","sizes","banner","video","playerSize","bidId","bid_id","auctionsCount","bidRequestsCount","bidderRequestsCount","bidderWinsCount","deferBilling","val","filterBidsForAdUnit","getS2SBidders","getS2SBidderSet","arguments","undefined","serverBidders","has","s2sConfigName","allowedS2SConfigs","Array","includes","getAdUnitCopyForPrebidServer","adUnitsCopy","hasModuleBids","forEach","s2sBids","b","module","params","map","filterBidderlessCalls","getAdUnitCopyForClientAdapters","adUnitsClientCopy","setupAdUnitMediaTypes","labels","s2sConfigs","Set","s2s","enabled","flatMap","bidders","add","_partitionBidders","memo","partition","partitionBidders","bidderRegistry","analyticsRegistry","aliasRegistry","makeBidRequests","auctionStart","cbTimeout","ortb2Fragments","auctionMetrics","emit","BEFORE_REQUEST_BIDS","au","clientBidders","refererInfo","bidRequests","ortb2","global","bidderOrtb2","addOrtb2","bidderRequest","fpd","freeze","source","tid","bidRequest","s2sParams","adUnitsS2SCopy","uniquePbsTid","fork","SRC","timeout","adUnitCopy","validBids","adUnitBid","find","request","reqBid","adapter","getConsentData","callBids","addBidResponse","doneCb","requestCallbacks","requestBidsTimeout","onTimelyResponse","clientBidderRequests","serverBidderRequests","partitions","Number","uniqueServerBidRequests","serverBidRequest","index","i","counter","s2sAjax","bind","done","adaptersServerSide","s2sAdapter","uniqueServerRequests","s2sBidRequest","ad_units","doneCbs","start","timedOut","_len","args","_key","apply","join","BID_REQUESTED","runWithBidder","ajax","adapterDone","callbackWithBidder","e","videoAdapters","registerBidAdapter","bidAdapter","supportedMediaTypes","register","getSpec","gvlid","aliasBidAdapter","options","existingAlias","nonS2SAlias","s2sBidders","newAdapter","getSupportedMediaTypes","constructor","prototype","setBidderCode","useBaseGvlid","spec","skipPbsAliasing","visited","registerAnalyticsAdapter","_ref2","enableAnalytics","adapterConfig","entry","provider","getBidAdapter","getAnalyticsAdapter","callTimedOutBidders","timedOutBidders","timedOutBidder","keys","tryCallBidderMethod","callBidWonBidder","triggerBilling","BILLED","WeakSet","eventtrackers","url","triggerPixel","callSetTargetingBidder","callBidViewableBidder","callBidderError","error","param","callAdRenderSucceededBidder","callDataDeletionRequest","_len2","_key2","method","hasOwnProperty","target","getBidderMethod","bidderRequests","getBidsRequested","br","invokeBidderMethod","entries","_ref3","fn","_len3","_key3","seen"],"sourceRoot":"../../..","sources":["src/adapterManager.ts"],"sourcesContent":["/** @module adaptermanger */\n\nimport {\n deepClone,\n flatten,\n generateUUID,\n getBidderCodes,\n getDefinedParams,\n getUniqueIdentifierStr,\n getUserConfiguredParams,\n groupBy,\n internal,\n isArray,\n isPlainObject,\n isValidMediaTypes,\n logError,\n logInfo,\n logMessage,\n logWarn,\n mergeDeep,\n shuffle,\n timestamp,\n uniques,\n} from './utils.js';\nimport {decorateAdUnitsWithNativeParams, nativeAdapters} from './native.js';\nimport {newBidder} from './adapters/bidderFactory.js';\nimport {ajaxBuilder} from './ajax.js';\nimport {config, RANDOM} from './config.js';\nimport {hook} from './hook.js';\nimport {\n type AdUnit,\n type AdUnitBid,\n type AdUnitBidderBid, type AdUnitModuleBid,\n getAuctionsCounter,\n getBidderRequestsCounter,\n getBidderWinsCounter,\n getRequestsCounter,\n incrementAuctionsCounter,\n incrementBidderRequestsCounter,\n incrementBidderWinsCounter,\n incrementRequestsCounter\n} from './adUnits.js';\nimport {getRefererInfo, type RefererInfo} from './refererDetection.js';\nimport {GDPR_GVLIDS, gdprDataHandler, gppDataHandler, uspDataHandler,} from './consentHandler.js';\nimport * as events from './events.js';\nimport {EVENTS, S2S} from './constants.js';\nimport {type Metrics, useMetrics} from './utils/perfMetrics.js';\nimport {auctionManager} from './auctionManager.js';\nimport {MODULE_TYPE_ANALYTICS, MODULE_TYPE_BIDDER, MODULE_TYPE_PREBID} from './activities/modules.js';\nimport {isActivityAllowed} from './activities/rules.js';\nimport {ACTIVITY_FETCH_BIDS, ACTIVITY_REPORT_ANALYTICS} from './activities/activities.js';\nimport {ACTIVITY_PARAM_ANL_CONFIG, ACTIVITY_PARAM_S2S_NAME, activityParamsBuilder} from './activities/params.js';\nimport {redactor} from './activities/redactor.js';\nimport {EVENT_TYPE_IMPRESSION, parseEventTrackers, TRACKER_METHOD_IMG} from './eventTrackers.js';\nimport type {\n AdUnitCode,\n BidderCode,\n BidSource,\n ContextIdentifiers,\n Identifier,\n ORTBFragments,\n Size, StorageDisclosure\n} from \"./types/common.d.ts\";\nimport type {DeepPartial} from \"./types/objects.d.ts\";\nimport type {ORTBRequest} from \"./types/ortb/request.d.ts\";\nimport type {\n AnalyticsConfig,\n AnalyticsProvider, AnalyticsProviderConfig,\n} from \"../libraries/analyticsAdapter/AnalyticsAdapter.ts\";\n\nexport {gdprDataHandler, gppDataHandler, uspDataHandler, coppaDataHandler} from './consentHandler.js';\n\nexport const PBS_ADAPTER_NAME = 'pbsBidAdapter';\nexport const PARTITIONS = {\n CLIENT: 'client',\n SERVER: 'server'\n}\n\nexport const dep = {\n isAllowed: isActivityAllowed,\n redact: redactor\n}\n\nconst _bidderRegistry = {};\nconst _aliasRegistry: { [aliasCode: BidderCode]: BidderCode } = {};\nconst _analyticsRegistry: { [P in AnalyticsProvider]?: { adapter: AnalyticsAdapter<P>, gvlid?: number }} = {};\n\nlet _s2sConfigs = [];\nconfig.getConfig('s2sConfig', config => {\n if (config && config.s2sConfig) {\n _s2sConfigs = isArray(config.s2sConfig) ? config.s2sConfig : [config.s2sConfig];\n }\n});\n\nconst activityParams = activityParamsBuilder((alias) => adapterManager.resolveAlias(alias));\n\nfunction getConfigName(s2sConfig) {\n // According to our docs, \"module\" bid (stored impressions)\n // have params.configName referring to s2sConfig.name,\n // but for a long while this was checking against s2sConfig.configName.\n // Keep allowing s2sConfig.configName to avoid the breaking change\n return s2sConfig.configName ?? s2sConfig.name;\n}\n\nexport function s2sActivityParams(s2sConfig) {\n return activityParams(MODULE_TYPE_PREBID, PBS_ADAPTER_NAME, {\n [ACTIVITY_PARAM_S2S_NAME]: getConfigName(s2sConfig)\n });\n}\n\nexport interface BaseBidRequest extends ContextIdentifiers, Pick<AdUnit, typeof ADUNIT_BID_PROPERTIES[number] | 'mediaTypes' | 'ortb2Imp'> {\n /**\n * Unique ID for this request.\n */\n bidId: Identifier;\n /**\n * ID of the BidderRequest containing this request.\n */\n bidderRequestId: Identifier;\n metrics: Metrics;\n src: BidSource;\n /**\n * The code of the ad unit associated with this request.\n */\n adUnitCode: AdUnitCode;\n /**\n * @deprecated - use mediaType specific size parameters instead.\n */\n sizes: Size | Size[];\n /**\n * The number of auctions that took place involving the ad unit associated with this request.\n */\n auctionsCount: number;\n /**\n * How many times the ad unit code associated with this request took part in an auction. This differs\n * from `auctionsCount` when twin ad units are used.\n */\n bidRequestsCount: number;\n /**\n * The number of client (but not s2s) requests that were generated for the combination of ad unit and bidder\n * associated with this request.\n */\n bidderRequestsCount: number;\n /**\n * The number of times a bid from the same bidder and for the same ad unit as this request has won.\n */\n bidderWinsCount: number;\n deferBilling: AdUnit['deferBilling'];\n /**\n * \"Global\" (not adUnit-specific) first party data for this request. This\n * is an alias for the enclosing BidderRequest's `.ortb2`; adUnit-specific\n * FPD is in `ortb2Imp`.\n */\n ortb2: DeepPartial<ORTBRequest>;\n}\n\nexport interface StoredBidRequest extends BaseBidRequest, Omit<{[K in keyof AdUnitBidderBid<BidderCode>]?: undefined}, keyof BaseBidRequest> {\n bidder: null;\n src: typeof S2S.SRC;\n}\ntype BidderBidRequest<BIDDER extends BidderCode> = BaseBidRequest & AdUnitBidderBid<BIDDER>;\n\nexport type BidRequest<BIDDER extends (BidderCode | null)> = BIDDER extends null ? StoredBidRequest : BidderBidRequest<BIDDER>;\n\nexport interface BaseBidderRequest<BIDDER extends BidderCode | null> {\n /**\n * Unique ID for this request.\n */\n bidderRequestId: Identifier;\n auctionId: Identifier;\n /**\n * The bidder associated with this request, or null in the case of stored impressions.\n */\n bidderCode: BIDDER;\n /**\n * Bid requests (one per ad unit) included in this request.\n */\n bids: BidRequest<BIDDER>[];\n /**\n * First party data for this request.\n */\n ortb2: DeepPartial<ORTBRequest>;\n /**\n * Auction start timestamp.\n */\n auctionStart: number;\n /**\n * Request timeout in milliseconds.\n */\n timeout: number;\n refererInfo: RefererInfo;\n metrics: Metrics;\n gdprConsent?: ReturnType<typeof gdprDataHandler['getConsentData']>;\n uspConsent?: ReturnType<typeof uspDataHandler['getConsentData']>;\n gppConsent?: ReturnType<typeof gppDataHandler['getConsentData']>;\n}\n\nexport interface S2SBidderRequest<BIDDER extends BidderCode | null> extends BaseBidderRequest<BIDDER> {\n src: typeof S2S.SRC;\n uniquePbsTid: Identifier;\n adUnitsS2SCopy: PBSAdUnit[];\n}\n\nexport interface ClientBidderRequest<BIDDER extends BidderCode> extends BaseBidderRequest<BIDDER> {\n src: 'client';\n}\n\nexport type BidderRequest<BIDDER extends BidderCode | null> = ClientBidderRequest<BIDDER> | S2SBidderRequest<BIDDER>;\n\nconst ADUNIT_BID_PROPERTIES = [\n 'nativeParams',\n 'nativeOrtbRequest',\n 'renderer',\n] as const;\n\ntype GetBidsOptions<SRC extends BidSource, BIDDER extends BidderCode | null> = {\n bidderCode: BIDDER;\n auctionId: Identifier;\n bidderRequestId: Identifier;\n adUnits: (SRC extends typeof S2S.SRC ? PBSAdUnit : AdUnit)[]\n src: SRC;\n metrics: Metrics\n}\n\nexport type AliasBidderOptions = {\n /**\n * IAB Global Vendor List ID for this alias for use with the TCF control module.\n */\n gvlid?: number;\n /**\n * Flag determining if the GVL ID of the original adapter should be re-used.\n */\n useBaseGvlid?: boolean;\n /**\n * If true, the alias will not be communicated to Prebid Server.\n */\n skipPbsAliasing?: boolean\n}\n\nexport type AnalyticsAdapter<P extends AnalyticsProvider> = StorageDisclosure & {\n code?: P;\n enableAnalytics(config: AnalyticsConfig<P>): void;\n gvlid?: number | ((config: AnalyticsConfig<P>) => number);\n}\n\nfunction getBids<SRC extends BidSource, BIDDER extends BidderCode | null>({bidderCode, auctionId, bidderRequestId, adUnits, src, metrics}: GetBidsOptions<SRC, BIDDER>): BidRequest<BIDDER>[] {\n return adUnits.reduce((result, adUnit) => {\n const bids = adUnit.bids.filter(bid => bid.bidder === bidderCode);\n if (bidderCode == null && bids.length === 0 && (adUnit as PBSAdUnit).s2sBid != null) {\n bids.push({bidder: null});\n }\n result.push(\n bids.reduce((bids: BidRequest<BIDDER>[], bid: BidRequest<BIDDER>) => {\n bid = Object.assign({}, bid,\n {ortb2Imp: mergeDeep({}, adUnit.ortb2Imp, bid.ortb2Imp)},\n getDefinedParams(adUnit, ADUNIT_BID_PROPERTIES)\n );\n\n const mediaTypes = bid.mediaTypes == null ? adUnit.mediaTypes : bid.mediaTypes\n\n if (isValidMediaTypes(mediaTypes)) {\n bid = Object.assign({}, bid, {\n mediaTypes\n });\n } else {\n logError(\n `mediaTypes is not correctly configured for adunit ${adUnit.code}`\n );\n }\n\n if (src === 'client') {\n incrementBidderRequestsCounter(adUnit.code, bidderCode);\n }\n\n bids.push(Object.assign({}, bid, {\n adUnitCode: adUnit.code,\n transactionId: adUnit.transactionId,\n adUnitId: adUnit.adUnitId,\n sizes: mediaTypes?.banner?.sizes || mediaTypes?.video?.playerSize || [],\n bidId: (bid as any).bid_id || getUniqueIdentifierStr(),\n bidderRequestId,\n auctionId,\n src,\n metrics,\n auctionsCount: getAuctionsCounter(adUnit.code),\n bidRequestsCount: getRequestsCounter(adUnit.code),\n bidderRequestsCount: getBidderRequestsCounter(adUnit.code, bid.bidder),\n bidderWinsCount: getBidderWinsCounter(adUnit.code, bid.bidder),\n deferBilling: !!adUnit.deferBilling\n }));\n return bids;\n }, [])\n );\n return result;\n }, []).reduce(flatten, []).filter(val => val !== '');\n}\n\n/**\n * Filter an adUnit's bids for building client and/or server requests\n *\n * @param bids an array of bids as defined in an adUnit\n * @param s2sConfig null if the adUnit is being routed to a client adapter; otherwise the s2s adapter's config\n * @returns the subset of `bids` that are pertinent for the given `s2sConfig`\n */\nexport const filterBidsForAdUnit = hook('sync', function(bids, s2sConfig, {getS2SBidders = getS2SBidderSet} = {}) {\n if (s2sConfig == null) {\n return bids;\n } else {\n const serverBidders = getS2SBidders(s2sConfig);\n return bids.filter((bid: BidRequest<any>) => {\n if (!serverBidders.has(bid.bidder)) return false;\n if (bid.s2sConfigName == null) return true;\n const configName = getConfigName(s2sConfig);\n const allowedS2SConfigs = Array.isArray(bid.s2sConfigName) ? bid.s2sConfigName : [bid.s2sConfigName];\n return allowedS2SConfigs.includes(configName);\n })\n }\n}, 'filterBidsForAdUnit');\n\ntype PBSAdUnitBid = AdUnitBid & {\n bid_id?: Identifier;\n};\n\ntype PBSAdUnit = Omit<AdUnit, 'bids'> & {\n s2sBid?: PBSAdUnitBid;\n bids: PBSAdUnitBid[];\n};\n\nfunction getAdUnitCopyForPrebidServer(adUnits: AdUnit[], s2sConfig) {\n let adUnitsCopy = deepClone(adUnits) as PBSAdUnit[];\n let hasModuleBids = false;\n\n adUnitsCopy.forEach((adUnit) => {\n // filter out client side bids\n const s2sBids = adUnit.bids.filter((b) => b.module === PBS_ADAPTER_NAME && (\n (b as AdUnitModuleBid).params?.configName === getConfigName(s2sConfig)\n ));\n if (s2sBids.length === 1) {\n adUnit.s2sBid = s2sBids[0];\n hasModuleBids = true;\n adUnit.ortb2Imp = mergeDeep({}, adUnit.s2sBid.ortb2Imp, adUnit.ortb2Imp);\n } else if (s2sBids.length > 1) {\n logWarn('Multiple \"module\" bids for the same s2s configuration; all will be ignored', s2sBids);\n }\n adUnit.bids = filterBidsForAdUnit(adUnit.bids, s2sConfig)\n .map((bid) => {\n bid.bid_id = getUniqueIdentifierStr();\n return bid;\n });\n });\n adUnitsCopy = adUnitsCopy.filter(adUnit => {\n if (s2sConfig.filterBidderlessCalls) {\n if (adUnit.bids.length === 1 && adUnit.bids[0].bidder == null) return false;\n }\n return adUnit.bids.length !== 0 || adUnit.s2sBid != null;\n });\n\n // don't send empty requests\n return {adUnits: adUnitsCopy, hasModuleBids};\n}\n\nfunction getAdUnitCopyForClientAdapters(adUnits: AdUnit[]) {\n let adUnitsClientCopy = deepClone(adUnits);\n adUnitsClientCopy.forEach((adUnit) => {\n adUnit.bids = filterBidsForAdUnit(adUnit.bids, null);\n });\n\n // don't send empty requests\n adUnitsClientCopy = adUnitsClientCopy.filter(adUnit => {\n return adUnit.bids.length !== 0;\n });\n\n return adUnitsClientCopy;\n}\n\n/**\n * Filter and/or modify media types for ad units based on the given labels.\n *\n * This should return adUnits that are active for the given labels, modified to have their `mediaTypes`\n * conform to size mapping configuration. If different bids for the same adUnit should use different `mediaTypes`,\n * they should be exposed under `adUnit.bids[].mediaTypes`.\n */\nexport const setupAdUnitMediaTypes = hook('sync', (adUnits, labels) => {\n return adUnits;\n}, 'setupAdUnitMediaTypes')\n\n/**\n * @param {{}|Array<{}>} s2sConfigs\n * @returns {Set<String>} a set of all the bidder codes that should be routed through the S2S adapter(s)\n * as defined in `s2sConfigs`\n */\nexport function getS2SBidderSet(s2sConfigs) {\n if (!isArray(s2sConfigs)) s2sConfigs = [s2sConfigs];\n // `null` represents the \"no bid bidder\" - when an ad unit is meant only for S2S adapters, like stored impressions\n const serverBidders = new Set([null]);\n s2sConfigs.filter((s2s) => s2s && s2s.enabled)\n .flatMap((s2s) => s2s.bidders)\n .forEach((bidder) => serverBidders.add(bidder));\n return serverBidders;\n}\n\n/**\n * @param {Array} adUnits - The ad units to be processed.\n * @param {Object} s2sConfigs - The server-to-server configurations.\n * @returns {Object} - An object containing arrays of bidder codes for client and server.\n * @returns {Object} return.client - Array of bidder codes that should be routed to client adapters.\n * @returns {Object} return.server - Array of bidder codes that should be routed to server adapters.\n */\nexport function _partitionBidders (adUnits, s2sConfigs, {getS2SBidders = getS2SBidderSet} = {}) {\n const serverBidders = getS2SBidders(s2sConfigs);\n return getBidderCodes(adUnits).reduce((memo, bidder) => {\n const partition = serverBidders.has(bidder) ? PARTITIONS.SERVER : PARTITIONS.CLIENT;\n memo[partition].push(bidder);\n return memo;\n }, {[PARTITIONS.CLIENT]: [], [PARTITIONS.SERVER]: []})\n}\n\nexport const partitionBidders = hook('sync', _partitionBidders, 'partitionBidders');\n\ndeclare module './events' {\n interface Events {\n /**\n * Fired once per auction, just before bid requests are generated.\n */\n [EVENTS.BEFORE_REQUEST_BIDS]: [AdUnit[]];\n /**\n * Fired once for each bidder in each auction (or twice for bidders that are configured for both client and s2s).\n */\n [EVENTS.BID_REQUESTED]: [BidderRequest<BidderCode>];\n }\n}\n\ndeclare module './hook' {\n interface NamedHooks {\n makeBidRequests: typeof adapterManager.makeBidRequests;\n }\n}\n\nconst adapterManager = {\n bidderRegistry: _bidderRegistry,\n analyticsRegistry: _analyticsRegistry,\n /**\n * Map from alias codes to the bidder code they alias.\n */\n aliasRegistry: _aliasRegistry,\n makeBidRequests: hook('sync', function (\n adUnits: AdUnit[],\n auctionStart: number,\n auctionId: Identifier,\n cbTimeout: number,\n labels: string[],\n ortb2Fragments: ORTBFragments = {},\n auctionMetrics: Metrics\n ): BidderRequest<BidderCode>[] {\n auctionMetrics = useMetrics(auctionMetrics);\n /**\n * emit and pass adunits for external modification\n * @see {@link https://github.com/prebid/Prebid.js/issues/4149|Issue}\n */\n events.emit(EVENTS.BEFORE_REQUEST_BIDS, adUnits);\n if (FEATURES.NATIVE) {\n decorateAdUnitsWithNativeParams(adUnits);\n }\n adUnits\n .map(adUnit => adUnit.code)\n .filter(uniques)\n .forEach(incrementAuctionsCounter);\n\n adUnits.forEach(au => {\n if (!isPlainObject(au.mediaTypes)) {\n au.mediaTypes = {};\n }\n // filter out bidders that cannot participate in the auction\n au.bids = au.bids.filter((bid) => !bid.bidder || dep.isAllowed(ACTIVITY_FETCH_BIDS, activityParams(MODULE_TYPE_BIDDER, bid.bidder)))\n incrementRequestsCounter(au.code);\n });\n\n adUnits = setupAdUnitMediaTypes(adUnits, labels);\n\n let {[PARTITIONS.CLIENT]: clientBidders, [PARTITIONS.SERVER]: serverBidders} = partitionBidders(adUnits, _s2sConfigs);\n\n if (config.getConfig('bidderSequence') === RANDOM) {\n clientBidders = shuffle(clientBidders);\n }\n const refererInfo = getRefererInfo();\n\n const bidRequests: BidderRequest<any>[] = [];\n\n const ortb2 = ortb2Fragments.global || {};\n const bidderOrtb2 = ortb2Fragments.bidder || {};\n\n function addOrtb2<T extends BidderRequest<any>>(bidderRequest: Partial<T>, s2sActivityParams?): T {\n const redact = dep.redact(\n s2sActivityParams != null\n ? s2sActivityParams\n : activityParams(MODULE_TYPE_BIDDER, bidderRequest.bidderCode)\n );\n const fpd = Object.freeze(redact.ortb2(mergeDeep({source: {tid: auctionId}}, ortb2, bidderOrtb2[bidderRequest.bidderCode])));\n bidderRequest.ortb2 = fpd;\n bidderRequest.bids = bidderRequest.bids.map((bid) => {\n bid.ortb2 = fpd;\n return redact.bidRequest(bid);\n })\n return bidderRequest as T;\n }\n\n _s2sConfigs.forEach(s2sConfig => {\n const s2sParams = s2sActivityParams(s2sConfig);\n if (s2sConfig && s2sConfig.enabled && dep.isAllowed(ACTIVITY_FETCH_BIDS, s2sParams)) {\n const {adUnits: adUnitsS2SCopy, hasModuleBids} = getAdUnitCopyForPrebidServer(adUnits, s2sConfig);\n\n // uniquePbsTid is so we know which server to send which bids to during the callBids function\n const uniquePbsTid = generateUUID();\n\n (serverBidders.length === 0 && hasModuleBids ? [null] : serverBidders).forEach(bidderCode => {\n const bidderRequestId = getUniqueIdentifierStr();\n const metrics = auctionMetrics.fork();\n const bidderRequest = addOrtb2({\n bidderCode,\n auctionId,\n bidderRequestId,\n uniquePbsTid,\n bids: getBids({ bidderCode, auctionId, bidderRequestId, 'adUnits': deepClone(adUnitsS2SCopy), src: S2S.SRC, metrics }),\n auctionStart: auctionStart,\n timeout: s2sConfig.timeout,\n src: S2S.SRC,\n refererInfo,\n metrics,\n }, s2sParams);\n if (bidderRequest.bids.length !== 0) {\n bidRequests.push(bidderRequest);\n }\n });\n\n // update the s2sAdUnits object and remove all bids that didn't pass sizeConfig/label checks from getBids()\n // this is to keep consistency and only allow bids/adunits that passed the checks to go to pbs\n adUnitsS2SCopy.forEach((adUnitCopy) => {\n const validBids = adUnitCopy.bids.filter((adUnitBid) =>\n bidRequests.find(request =>\n request.bids.find((reqBid) => reqBid.bidId === adUnitBid.bid_id)));\n adUnitCopy.bids = validBids;\n });\n\n bidRequests.forEach((request: S2SBidderRequest<any>) => {\n if (request.adUnitsS2SCopy === undefined) {\n request.adUnitsS2SCopy = adUnitsS2SCopy.filter(au => au.bids.length > 0 || au.s2sBid != null);\n }\n });\n }\n });\n\n // client adapters\n const adUnitsClientCopy = getAdUnitCopyForClientAdapters(adUnits);\n clientBidders.forEach(bidderCode => {\n const bidderRequestId = getUniqueIdentifierStr();\n const metrics = auctionMetrics.fork();\n const bidderRequest = addOrtb2({\n bidderCode,\n auctionId,\n bidderRequestId,\n bids: getBids({bidderCode, auctionId, bidderRequestId, 'adUnits': deepClone(adUnitsClientCopy), src: 'client', metrics}),\n auctionStart: auctionStart,\n timeout: cbTimeout,\n refererInfo,\n metrics,\n });\n const adapter = _bidderRegistry[bidderCode];\n if (!adapter) {\n logError(`Trying to make a request for bidder that does not exist: ${bidderCode}`);\n }\n\n if (adapter && bidderRequest.bids && bidderRequest.bids.length !== 0) {\n bidRequests.push(bidderRequest);\n }\n });\n\n bidRequests.forEach(bidRequest => {\n if (gdprDataHandler.getConsentData()) {\n bidRequest['gdprConsent'] = gdprDataHandler.getConsentData();\n }\n if (uspDataHandler.getConsentData()) {\n bidRequest['uspConsent'] = uspDataHandler.getConsentData();\n }\n if (gppDataHandler.getConsentData()) {\n bidRequest['gppConsent'] = gppDataHandler.getConsentData();\n }\n });\n return bidRequests;\n }, 'makeBidRequests'),\n callBids(adUnits, bidRequests, addBidResponse, doneCb, requestCallbacks, requestBidsTimeout, onTimelyResponse, ortb2Fragments = {}) {\n if (!bidRequests.length) {\n logWarn('callBids executed with no bidRequests. Were they filtered by labels or sizing?');\n return;\n }\n\n const [clientBidderRequests, serverBidderRequests] = bidRequests.reduce((partitions, bidRequest) => {\n partitions[Number(typeof bidRequest.src !== 'undefined' && bidRequest.src === S2S.SRC)].push(bidRequest);\n return partitions;\n }, [[], []]);\n\n var uniqueServerBidRequests = [];\n serverBidderRequests.forEach(serverBidRequest => {\n var index = -1;\n for (var i = 0; i < uniqueServerBidRequests.length; ++i) {\n if (serverBidRequest.uniquePbsTid === uniqueServerBidRequests[i].uniquePbsTid) {\n index = i;\n break;\n }\n }\n if (index <= -1) {\n uniqueServerBidRequests.push(serverBidRequest);\n }\n });\n\n let counter = 0;\n\n _s2sConfigs.forEach((s2sConfig) => {\n if (s2sConfig && uniqueServerBidRequests[counter] && getS2SBidderSet(s2sConfig).has(uniqueServerBidRequests[counter].bidderCode)) {\n // s2s should get the same client side timeout as other client side requests.\n const s2sAjax = ajaxBuilder(requestBidsTimeout, requestCallbacks ? {\n request: requestCallbacks.request.bind(null, 's2s'),\n done: requestCallbacks.done\n } : undefined);\n const adaptersServerSide = s2sConfig.bidders;\n const s2sAdapter = _bidderRegistry[s2sConfig.adapter];\n const uniquePbsTid = uniqueServerBidRequests[counter].uniquePbsTid;\n const adUnitsS2SCopy = uniqueServerBidRequests[counter].adUnitsS2SCopy;\n\n const uniqueServerRequests = serverBidderRequests.filter(serverBidRequest => serverBidRequest.uniquePbsTid === uniquePbsTid);\n\n if (s2sAdapter) {\n const s2sBidRequest = {'ad_units': adUnitsS2SCopy, s2sConfig, ortb2Fragments, requestBidsTimeout};\n if (s2sBidRequest.ad_units.length) {\n const doneCbs = uniqueServerRequests.map(bidRequest => {\n bidRequest.start = timestamp();\n return function (timedOut, ...args) {\n if (!timedOut) {\n onTimelyResponse(bidRequest.bidderRequestId);\n }\n doneCb.apply(bidRequest, [timedOut, ...args]);\n }\n });\n\n const bidders = getBidderCodes(s2sBidRequest.ad_units).filter((bidder) => adaptersServerSide.includes(bidder));\n logMessage(`CALLING S2S HEADER BIDDERS ==== ${bidders.length > 0 ? bidders.join(', ') : 'No bidder specified, using \"ortb2Imp\" definition(s) only'}`);\n\n // fire BID_REQUESTED event for each s2s bidRequest\n uniqueServerRequests.forEach(bidRequest => {\n // add the new sourceTid\n events.emit(EVENTS.BID_REQUESTED, { ...bidRequest, tid: bidRequest.auctionId });\n });\n\n // make bid requests\n s2sAdapter.callBids(\n s2sBidRequest,\n serverBidderRequests,\n addBidResponse,\n (timedOut) => doneCbs.forEach(done => done(timedOut)),\n s2sAjax\n );\n }\n } else {\n logError('missing ' + s2sConfig.adapter);\n }\n counter++;\n }\n });\n\n // handle client adapter requests\n clientBidderRequests.forEach(bidderRequest => {\n bidderRequest.start = timestamp();\n const adapter = _bidderRegistry[bidderRequest.bidderCode];\n config.runWithBidder(bidderRequest.bidderCode, () => {\n logMessage(`CALLING BIDDER`);\n events.emit(EVENTS.BID_REQUESTED, bidderRequest);\n });\n const ajax = ajaxBuilder(requestBidsTimeout, requestCallbacks ? {\n request: requestCallbacks.request.bind(null, bidderRequest.bidderCode),\n done: requestCallbacks.done\n } : undefined);\n const adapterDone = doneCb.bind(bidderRequest);\n try {\n config.runWithBidder(\n bidderRequest.bidderCode,\n adapter.callBids.bind(\n adapter,\n bidderRequest,\n addBidResponse,\n adapterDone,\n ajax,\n () => onTimelyResponse(bidderRequest.bidderRequestId),\n config.callbackWithBidder(bidderRequest.bidderCode)\n )\n );\n } catch (e) {\n logError(`${bidderRequest.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`, {e, bidRequest: bidderRequest});\n adapterDone();\n }\n })\n },\n videoAdapters: [],\n registerBidAdapter(bidAdapter, bidderCode, {supportedMediaTypes = []} = {}) {\n if (bidAdapter && bidderCode) {\n if (typeof bidAdapter.callBids === 'function') {\n _bidderRegistry[bidderCode] = bidAdapter;\n GDPR_GVLIDS.register(MODULE_TYPE_BIDDER, bidderCode, bidAdapter.getSpec?.().gvlid);\n\n if (FEATURES.VIDEO && supportedMediaTypes.includes('video')) {\n adapterManager.videoAdapters.push(bidderCode);\n }\n if (FEATURES.NATIVE && supportedMediaTypes.includes('native')) {\n nativeAdapters.push(bidderCode);\n }\n } else {\n logError('Bidder adaptor error for bidder code: ' + bidderCode + 'bidder must implement a callBids() function');\n }\n } else {\n logError('bidAdapter or bidderCode not specified');\n }\n },\n aliasBidAdapter(bidderCode: BidderCode, alias: BidderCode, options?: AliasBidderOptions) {\n const existingAlias = _bidderRegistry[alias];\n\n if (typeof existingAlias === 'undefined') {\n const bidAdapter = _bidderRegistry[bidderCode];\n if (typeof bidAdapter === 'undefined') {\n // check if alias is part of s2sConfig and allow them to register if so (as base bidder may be s2s-only)\n const nonS2SAlias = [];\n _s2sConfigs.forEach(s2sConfig => {\n if (s2sConfig.bidders && s2sConfig.bidders.length) {\n const s2sBidders = s2sConfig && s2sConfig.bidders;\n if (!(s2sConfig && s2sBidders.includes(alias))) {\n nonS2SAlias.push(bidderCode);\n } else {\n _aliasRegistry[alias] = bidderCode;\n }\n }\n });\n nonS2SAlias.forEach(bidderCode => {\n logError('bidderCode \"' + bidderCode + '\" is not an existing bidder.', 'adapterManager.aliasBidAdapter');\n });\n } else {\n try {\n let newAdapter;\n const supportedMediaTypes = getSupportedMediaTypes(bidderCode);\n // Have kept old code to support backward compatibilitiy.\n // Remove this if loop when all adapters are supporting bidderFactory. i.e When Prebid.js is 1.0\n if (bidAdapter.constructor.prototype != Object.prototype) {\n newAdapter = new bidAdapter.constructor();\n newAdapter.setBidderCode(alias);\n } else {\n const { useBaseGvlid = false } = options || {};\n const spec = bidAdapter.getSpec();\n const gvlid = useBaseGvlid ? spec.gvlid : options?.gvlid;\n if (gvlid == null && spec.gvlid != null) {\n logWarn(`Alias '${alias}' will NOT re-use the GVL ID of the original adapter ('${spec.code}', gvlid: ${spec.gvlid}). Functionality that requires TCF consent may not work as expected.`)\n }\n\n const skipPbsAliasing = options && options.skipPbsAliasing;\n newAdapter = newBidder(Object.assign({}, spec, { code: alias, gvlid, skipPbsAliasing }));\n _aliasRegistry[alias] = bidderCode;\n }\n adapterManager.registerBidAdapter(newAdapter, alias, {\n supportedMediaTypes\n });\n } catch (e) {\n logError(bidderCode + ' bidder does not currently support aliasing.', 'adapterManager.aliasBidAdapter');\n }\n }\n } else {\n logMessage('alias name \"' + alias + '\" has been already specified.');\n }\n },\n resolveAlias(alias) {\n let code = alias;\n let visited;\n while (_aliasRegistry[code] && (!visited || !visited.has(code))) {\n code = _aliasRegistry[code];\n (visited = visited || new Set()).add(code);\n }\n return code;\n },\n registerAnalyticsAdapter<P extends AnalyticsProvider>({adapter, code, gvlid}: {\n adapter: AnalyticsAdapter<P>,\n code: P,\n gvlid?: number\n }) {\n if (adapter && code) {\n if (typeof adapter.enableAnalytics === 'function') {\n adapter.code = code;\n _analyticsRegistry[code] = { adapter, gvlid };\n GDPR_GVLIDS.register(MODULE_TYPE_ANALYTICS, code, gvlid);\n } else {\n logError(`Prebid Error: Analytics adaptor error for analytics \"${code}\"\n analytics adapter must implement an enableAnalytics() function`);\n }\n } else {\n logError('Prebid Error: analyticsAdapter or analyticsCode not specified');\n }\n },\n enableAnalytics(\n config: AnalyticsConfig<keyof AnalyticsProviderConfig>\n | AnalyticsConfig<AnalyticsProvider>\n | AnalyticsConfig<AnalyticsProvider>[]\n ) {\n if (!isArray(config)) {\n config = [config];\n }\n\n config.forEach(adapterConfig => {\n const entry = _analyticsRegistry[adapterConfig.provider];\n if (entry && entry.adapter) {\n if (dep.isAllowed(ACTIVITY_REPORT_ANALYTICS, activityParams(MODULE_TYPE_ANALYTICS, adapterConfig.provider, {[ACTIVITY_PARAM_ANL_CONFIG]: adapterConfig}))) {\n entry.adapter.enableAnalytics(adapterConfig);\n }\n } else {\n logError(`Prebid Error: no analytics adapter found in registry for '${adapterConfig.provider}'.`);\n }\n });\n },\n getBidAdapter(bidder) {\n return _bidderRegistry[bidder];\n },\n getAnalyticsAdapter(code) {\n return _analyticsRegistry[code];\n },\n callTimedOutBidders(adUnits, timedOutBidders, cbTimeout) {\n timedOutBidders = timedOutBidders.map((timedOutBidder) => {\n // Adding user configured params & timeout to timeout event data\n timedOutBidder.params = getUserConfiguredParams(adUnits, timedOutBidder.adUnitCode, timedOutBidder.bidder);\n timedOutBidder.timeout = cbTimeout;\n return timedOutBidder;\n });\n timedOutBidders = groupBy(timedOutBidders, 'bidder');\n\n Object.keys(timedOutBidders).forEach((bidder) => {\n tryCallBidderMethod(bidder, 'onTimeout', timedOutBidders[bidder]);\n });\n },\n callBidWonBidder(bidder, bid, adUnits) {\n // Adding user configured params to bidWon event data\n bid.params = getUserConfiguredParams(adUnits, bid.adUnitCode, bid.bidder);\n incrementBidderWinsCounter(bid.adUnitCode, bid.bidder);\n tryCallBidderMethod(bidder, 'onBidWon', bid);\n },\n triggerBilling: (() => {\n const BILLED = new WeakSet();\n return (bid) => {\n if (!BILLED.has(bid)) {\n BILLED.add(bid);\n (parseEventTrackers(bid.eventtrackers)[EVENT_TYPE_IMPRESSION]?.[TRACKER_METHOD_IMG] || [])\n .forEach((url) => internal.triggerPixel(url));\n tryCallBidderMethod(bid.bidder, 'onBidBillable', bid);\n }\n }\n })(),\n callSetTargetingBidder(bidder, bid) {\n tryCallBidderMethod(bidder, 'onSetTargeting', bid);\n },\n callBidViewableBidder(bidder, bid) {\n tryCallBidderMethod(bidder, 'onBidViewable', bid);\n },\n callBidderError(bidder, error, bidderRequest) {\n const param = { error, bidderRequest };\n tryCallBidderMethod(bidder, 'onBidderError', param);\n },\n callAdRenderSucceededBidder(bidder, bid) {\n tryCallBidderMethod(bidder, 'onAdRenderSucceeded', bid);\n },\n /**\n * Ask every adapter to delete PII.\n * See https://github.com/prebid/Prebid.js/issues/9081\n */\n callDataDeletionRequest: hook('sync', function (...args) {\n const method = 'onDataDeletionRequest';\n Object.keys(_bidderRegistry)\n .filter((bidder) => !_aliasRegistry.hasOwnProperty(bidder))\n .forEach(bidder => {\n const target = getBidderMethod(bidder, method);\n if (target != null) {\n const bidderRequests = auctionManager.getBidsRequested().filter((br) =>\n resolveAlias(br.bidderCode) === bidder\n );\n invokeBidderMethod(bidder, method, ...target, bidderRequests, ...args);\n }\n });\n Object.entries(_analyticsRegistry).forEach(([name, entry]: any) => {\n const fn = entry?.adapter?.[method];\n if (typeof fn === 'function') {\n try {\n fn.apply(entry.adapter, args);\n } catch (e) {\n logError(`error calling ${method} of ${name}`, e);\n }\n }\n });\n })\n\n}\n\nfunction getSupportedMediaTypes(bidderCode) {\n const supportedMediaTypes = [];\n if (FEATURES.VIDEO && adapterManager.videoAdapters.includes(bidderCode)) supportedMediaTypes.push('video');\n if (FEATURES.NATIVE && nativeAdapters.includes(bidderCode)) supportedMediaTypes.push('native');\n return supportedMediaTypes;\n}\n\nfunction getBidderMethod(bidder, method): [string, string] {\n const adapter = _bidderRegistry[bidder];\n const spec = adapter?.getSpec && adapter.getSpec();\n if (spec && spec[method] && typeof spec[method] === 'function') {\n return [spec, spec[method]]\n }\n}\n\nfunction invokeBidderMethod(bidder, method, spec, fn, ...params) {\n try {\n logInfo(`Invoking ${bidder}.${method}`);\n config.runWithBidder(bidder, fn.bind(spec, ...params));\n } catch (e) {\n logWarn(`Error calling ${method} of ${bidder}`);\n }\n}\n\nfunction tryCallBidderMethod(bidder, method, param) {\n if (param?.source !== S2S.SRC) {\n const target = getBidderMethod(bidder, method);\n if (target != null) {\n invokeBidderMethod(bidder, method, ...target, param);\n }\n }\n}\n\nfunction resolveAlias(alias) {\n const seen = new Set();\n while (_aliasRegistry.hasOwnProperty(alias) && !seen.has(alias)) {\n seen.add(alias);\n alias = _aliasRegistry[alias];\n }\n return alias;\n}\n\nexport default adapterManager;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bidderFactory.js","names":["Adapter","adapterManager","config","createBid","userSync","nativeBidIsValid","isValidVideoBid","EVENTS","REJECTION_REASON","DEBUG_MODE","events","delayExecution","isArray","isPlainObject","logError","logWarn","memoize","parseQueryStringParameters","parseSizesInput","pick","uniques","isGzipCompressionSupported","compressDataWithGZip","getParameterByName","debugTurnedOn","hook","auctionManager","bidderSettings","useMetrics","isActivityAllowed","activityParams","MODULE_TYPE_BIDDER","ACTIVITY_TRANSMIT_TID","ACTIVITY_TRANSMIT_UFPD","COMMON_BID_RESPONSE_KEYS","TIDS","registerBidder","spec","mediaTypes","Array","supportedMediaTypes","undefined","putBidder","bidder","newBidder","registerBidAdapter","code","aliases","forEach","alias","aliasCode","gvlid","skipPbsAliasing","aliasRegistry","Object","assign","guardTids","_ref","bidderCode","bidRequest","br","bidderRequest","get","target","prop","receiver","includes","Reflect","privateAccessProxy","handler","proxy","Proxy","entries","filter","_ref2","_","v","_ref3","fn","bind","arg","bidId","bids","map","getSpec","freeze","registerSyncs","callBids","addBidResponse","done","ajax","onTimelyResponse","configEnabledCallback","tidGuard","adUnitCodesHandled","addBidWithCode","adUnitCode","bid","metrics","checkpoint","measureTime","isValid","reject","INVALID","responses","afterAllResponses","runWithBidder","emit","BIDDER_DONE","gdprConsent","uspConsent","gppConsent","validBidRequests","adapterMetrics","filterAndWarn","length","bidRequestMap","processBidderRequests","onRequest","requestObject","BEFORE_BIDDER_HTTP","onResponse","resp","push","onPaapi","paapiConfig","addPaapiConfig","onError","errorMessage","error","timedOut","callBidderError","BIDDER_ERROR","status","bidRequests","onBid","bidResponse","requestId","adapterCode","isInvalidAlternateBidder","BIDDER_DISALLOWED","originalCpm","cpm","originalCurrency","currency","meta","deferBilling","deferRendering","onBidBillable","prebidBid","INVALID_REQUEST_ID","onCompletion","responseBidder","requestBidder","allowAlternateBidderCodes","alternateBiddersList","val","trim","toLowerCase","registerSyncInner","isBidRequestValid","JSON","stringify","RESPONSE_PROPS","wrapCallback","_ref4","startTiming","stopBefore","requests","buildRequests","requestDone","request","requestMetrics","fork","addBid","renameWith","onSuccess","response","responseObj","networkDone","parse","e","body","headers","headerParser","interpretResponse","err","paapiConfigs","keys","some","key","paapi","xmlHttpResponse","getResponseHeader","onFailure","debugMode","toUpperCase","getOptions","defaults","ro","options","browsingTopics","hasOwnProperty","suppressTopicsEnrollmentWarning","method","url","formatGetParameters","data","success","withCredentials","enableGZipCompression","endpointCompression","callAjax","_ref5","payload","contentType","then","compressedPayload","URL","window","location","origin","searchParams","has","set","href","aliasSyncEnabled","getConfig","getUserSyncs","syncs","iframeEnabled","canBidderRegisterSync","pixelEnabled","sync","registerSync","type","bidderDone","validBidSize","index","arguments","width","parseInt","height","wratio","hratio","getBidRequest","getMediaTypes","sizes","banner","parsedSizes","split","hasValidKeys","bidKeys","every","msg","mediaType","n"],"sourceRoot":"../../../..","sources":["src/adapters/bidderFactory.ts"],"sourcesContent":["import Adapter from '../adapter.js';\nimport adapterManager, {\n type BidderRequest,\n type BidRequest,\n type ClientBidderRequest\n} from '../adapterManager.js';\nimport {config} from '../config.js';\nimport {BannerBid, Bid, BidResponse, createBid} from '../bidfactory.js';\nimport {type SyncType, userSync} from '../userSync.js';\nimport {nativeBidIsValid} from '../native.js';\nimport {isValidVideoBid} from '../video.js';\nimport {EVENTS, REJECTION_REASON, DEBUG_MODE} from '../constants.js';\nimport * as events from '../events.js';\n\nimport {\n delayExecution,\n isArray,\n isPlainObject,\n logError,\n logWarn,\n memoize,\n parseQueryStringParameters,\n parseSizesInput,\n pick,\n uniques,\n isGzipCompressionSupported,\n compressDataWithGZip,\n getParameterByName,\n debugTurnedOn\n} from '../utils.js';\nimport {hook} from '../hook.js';\nimport {auctionManager} from '../auctionManager.js';\nimport {bidderSettings} from '../bidderSettings.js';\nimport {useMetrics} from '../utils/perfMetrics.js';\nimport {isActivityAllowed} from '../activities/rules.js';\nimport {activityParams} from '../activities/activityParams.js';\nimport {MODULE_TYPE_BIDDER} from '../activities/modules.js';\nimport {ACTIVITY_TRANSMIT_TID, ACTIVITY_TRANSMIT_UFPD} from '../activities/activities.js';\nimport type {AnyFunction, Wraps} from \"../types/functions.d.ts\";\nimport type {BidderCode, StorageDisclosure} from \"../types/common.d.ts\";\nimport type {Ajax, AjaxOptions, XHR} from \"../ajax.ts\";\nimport type {AddBidResponse} from \"../auction.ts\";\nimport type {MediaType} from \"../mediaTypes.ts\";\nimport {CONSENT_GDPR, CONSENT_GPP, CONSENT_USP, type ConsentData} from \"../consentHandler.ts\";\n\n/**\n * This file aims to support Adapters during the Prebid 0.x -> 1.x transition.\n *\n * Prebid 1.x and Prebid 0.x will be in separate branches--perhaps for a long time.\n * This function defines an API for adapter construction which is compatible with both versions.\n * Adapters which use it can maintain their code in master, and only this file will need to change\n * in the 1.x branch.\n *\n * Typical usage looks something like:\n *\n * const adapter = registerBidder({\n * code: 'myBidderCode',\n * aliases: ['alias1', 'alias2'],\n * supportedMediaTypes: ['video', 'native'],\n * isBidRequestValid: function(paramsObject) { return true/false },\n * buildRequests: function(bidRequests, bidderRequest) { return some ServerRequest(s) },\n * interpretResponse: function(oneServerResponse) { return some Bids, or throw an error. }\n * });\n *\n * @see BidderSpec for the full API and more thorough descriptions.\n *\n */\n\n/**\n * @typedef {object} ServerResponse\n *\n * @property {*} body The response body. If this is legal JSON, then it will be parsed. Otherwise it'll be a\n * string with the body's content.\n * @property {{get: function(string): string}} headers The response headers.\n * Call this like `ServerResponse.headers.get(\"Content-Type\")`\n */\n\n/**\n * @typedef {Object} SyncOptions\n *\n * An object containing information about usersyncs which the adapter should obey.\n *\n * @property {boolean} iframeEnabled True if iframe usersyncs are allowed, and false otherwise\n * @property {boolean} pixelEnabled True if image usersyncs are allowed, and false otherwise\n */\n\n/**\n * TODO: Move this to the UserSync module after that PR is merged.\n *\n * @typedef {object} UserSync\n *\n * @property {('image'|'iframe')} type The type of user sync to be done.\n * @property {string} url The URL which makes the sync happen.\n */\n\n// common params for all mediaTypes\nconst COMMON_BID_RESPONSE_KEYS = ['cpm', 'ttl', 'creativeId', 'netRevenue', 'currency'];\nconst TIDS = ['auctionId', 'transactionId'];\n\nexport interface AdapterRequest {\n url: string;\n data: any;\n method?: 'GET' | 'POST';\n options?: Omit<AjaxOptions, 'method'> & { endpointCompression?: boolean };\n}\n\nexport interface ServerResponse {\n body: any;\n headers: {\n get(header: string): string;\n }\n}\n\nexport interface ExtendedResponse {\n bids?: BidResponse[]\n}\n\nexport type AdapterResponse = BidResponse | BidResponse[] | ExtendedResponse;\n\nexport type BidderError<B extends BidderCode> = {\n error: XHR;\n bidderRequest: BidderRequest<B>;\n}\n\nexport interface BidderSpec<BIDDER extends BidderCode> extends StorageDisclosure {\n code: BIDDER;\n supportedMediaTypes?: readonly MediaType[];\n aliases?: readonly (BidderCode | { code: BidderCode, gvlid?: number, skipPbsAliasing?: boolean })[];\n isBidRequestValid(request: BidRequest<BIDDER>): boolean;\n buildRequests(validBidRequests: BidRequest<BIDDER>[], bidderRequest: ClientBidderRequest<BIDDER>): AdapterRequest | AdapterRequest[];\n interpretResponse(response: ServerResponse, request: AdapterRequest): AdapterResponse;\n onBidWon?: (bid: Bid) => void;\n onBidBillable?: (bid: Bid) => void;\n onBidderError?: (error: BidderError<BIDDER>) => void;\n onBidViewable?: (bid: Bid) => void;\n onSetTargeting?: (bid: Bid) => void;\n onAdRenderSucceeded?: (bid: Bid) => void;\n onDataDeletionRequest?: (bidderRequests: BidderRequest<BIDDER>[], cmpRegisterDeletionResponse: any) => void;\n onTimeout?: (bidRequests: (BidRequest<BIDDER> & { timeout: number })[]) => void;\n getUserSyncs?: (\n syncOptions: {\n iframeEnabled: boolean;\n pixelEnabled: boolean;\n },\n responses: ServerResponse[],\n gdprConsent: null | ConsentData[typeof CONSENT_GDPR],\n uspConsent: null | ConsentData[typeof CONSENT_USP],\n gppConsent: null | ConsentData[typeof CONSENT_GPP]\n ) => ({ type: SyncType, url: string })[];\n}\n\nexport type BidAdapter = {\n callBids: ReturnType<typeof newBidder>['callBids']\n}\n\n/**\n * Register a bidder with prebid, using the given spec.\n *\n * If possible, Adapter modules should use this function instead of adapterManager.registerBidAdapter().\n *\n * @param {BidderSpec} spec An object containing the bare-bones functions we need to make a Bidder.\n */\nexport function registerBidder<B extends BidderCode>(spec: BidderSpec<B>) {\n const mediaTypes = Array.isArray(spec.supportedMediaTypes)\n ? { supportedMediaTypes: spec.supportedMediaTypes }\n : undefined;\n function putBidder(spec) {\n const bidder = newBidder(spec);\n adapterManager.registerBidAdapter(bidder, spec.code, mediaTypes);\n }\n\n putBidder(spec);\n if (Array.isArray(spec.aliases)) {\n spec.aliases.forEach(alias => {\n let aliasCode: string = alias as any;\n let gvlid;\n let skipPbsAliasing;\n if (isPlainObject(alias)) {\n aliasCode = alias.code as string;\n gvlid = alias.gvlid;\n skipPbsAliasing = alias.skipPbsAliasing\n }\n adapterManager.aliasRegistry[aliasCode] = spec.code;\n putBidder(Object.assign({}, spec, { code: aliasCode, gvlid, skipPbsAliasing }));\n });\n }\n}\n\nexport const guardTids: any = memoize(({bidderCode}) => {\n if (isActivityAllowed(ACTIVITY_TRANSMIT_TID, activityParams(MODULE_TYPE_BIDDER, bidderCode))) {\n return {\n bidRequest: (br) => br,\n bidderRequest: (br) => br\n };\n }\n function get(target, prop, receiver) {\n if (TIDS.includes(prop)) {\n return null;\n }\n return Reflect.get(target, prop, receiver);\n }\n function privateAccessProxy(target, handler) {\n const proxy = new Proxy(target, handler);\n // always allow methods (such as getFloor) private access to TIDs\n Object.entries(target)\n .filter(([_, v]) => typeof v === 'function')\n .forEach(([prop, fn]: [string, AnyFunction]) => proxy[prop] = fn.bind(target));\n return proxy;\n }\n const bidRequest = memoize((br) => privateAccessProxy(br, {get}), (arg) => arg.bidId);\n /**\n * Return a view on bidd(er) requests where auctionId/transactionId are nulled if the bidder is not allowed `transmitTid`.\n *\n * Because both auctionId and transactionId are used for Prebid's own internal bookkeeping, we cannot simply erase them\n * from request objects; and because request objects are quite complex and not easily cloneable, we hide the IDs\n * with a proxy instead. This should be used only around the adapter logic.\n */\n return {\n bidRequest,\n bidderRequest: (br) => privateAccessProxy(br, {\n get(target, prop, receiver) {\n if (prop === 'bids') return br.bids.map(bidRequest);\n return get(target, prop, receiver);\n }\n })\n }\n});\n\ndeclare module '../events' {\n interface Events {\n /**\n * Fired once for each bidder in each auction (or twice if the bidder is configured for both client and s2s),\n * after processing for that bidder (for that auction) is complete.\n */\n [EVENTS.BIDDER_DONE]: [BidderRequest<BidderCode>];\n /**\n * Fired just before a client bid adapter makes an HTTP request to its exchange.\n */\n [EVENTS.BEFORE_BIDDER_HTTP]: [BidderRequest<BidderCode>, AdapterRequest]\n /**\n * Fired when a bid adapter's HTTP request results in something other than HTTP 2xx or 304.\n * In the case of Prebid Server, this is repeated for each s2s bidder.\n */\n [EVENTS.BIDDER_ERROR]: [BidderError<BidderCode>];\n }\n}\n\n/**\n * Make a new bidder from the given spec. This is exported mainly for testing.\n * Adapters will probably find it more convenient to use registerBidder instead.\n *\n * @param {BidderSpec} spec\n */\nexport function newBidder<B extends BidderCode>(spec: BidderSpec<B>) {\n return Object.assign(Adapter(spec.code), {\n getSpec: function(): BidderSpec<B> {\n return Object.freeze(Object.assign({}, spec));\n },\n registerSyncs,\n callBids: function(\n bidderRequest: ClientBidderRequest<B>,\n addBidResponse: AddBidResponse,\n done: () => void,\n ajax: Ajax,\n onTimelyResponse: (bidder: BidderCode) => void,\n configEnabledCallback: <T extends AnyFunction>(fn: T) => Wraps<T>\n ) {\n if (!Array.isArray(bidderRequest.bids)) {\n return;\n }\n const tidGuard = guardTids(bidderRequest);\n\n const adUnitCodesHandled = {};\n function addBidWithCode(adUnitCode: string, bid: Bid) {\n const metrics = useMetrics(bid.metrics);\n metrics.checkpoint('addBidResponse');\n adUnitCodesHandled[adUnitCode] = true;\n if (metrics.measureTime('addBidResponse.validate', () => isValid(adUnitCode, bid))) {\n addBidResponse(adUnitCode, bid);\n } else {\n addBidResponse.reject(adUnitCode, bid, REJECTION_REASON.INVALID)\n }\n }\n\n // After all the responses have come back, call done() and\n // register any required usersync pixels.\n const responses = [];\n function afterAllResponses() {\n done();\n config.runWithBidder(spec.code, () => {\n events.emit(EVENTS.BIDDER_DONE, bidderRequest);\n registerSyncs(responses, bidderRequest.gdprConsent, bidderRequest.uspConsent, bidderRequest.gppConsent);\n });\n }\n\n const validBidRequests = adapterMetrics(bidderRequest)\n .measureTime('validate', () => bidderRequest.bids.filter((br) => filterAndWarn(tidGuard.bidRequest(br))));\n\n if (validBidRequests.length === 0) {\n afterAllResponses();\n return;\n }\n const bidRequestMap = {};\n validBidRequests.forEach(bid => {\n bidRequestMap[bid.bidId] = bid;\n });\n\n processBidderRequests(spec, validBidRequests as any, bidderRequest, ajax, configEnabledCallback, {\n onRequest: requestObject => events.emit(EVENTS.BEFORE_BIDDER_HTTP, bidderRequest, requestObject),\n onResponse: (resp) => {\n onTimelyResponse(spec.code);\n responses.push(resp)\n },\n onPaapi: (paapiConfig: any) => {\n const bidRequest = bidRequestMap[paapiConfig.bidId];\n if (bidRequest) {\n addPaapiConfig(bidRequest, paapiConfig);\n } else {\n logWarn('Received fledge auction configuration for an unknown bidId', paapiConfig);\n }\n },\n // If the server responds with an error, there's not much we can do beside logging.\n onError: (errorMessage, error) => {\n if (!error.timedOut) {\n onTimelyResponse(spec.code);\n }\n adapterManager.callBidderError(spec.code, error, bidderRequest)\n events.emit(EVENTS.BIDDER_ERROR, { error, bidderRequest });\n logError(`Server call for ${spec.code} failed: ${errorMessage} ${error.status}. Continuing without bids.`, {bidRequests: validBidRequests});\n },\n onBid: (bidResponse) => {\n const bidRequest = bidRequestMap[bidResponse.requestId];\n const bid = bidResponse as Bid;\n if (bidRequest) {\n bid.adapterCode = bidRequest.bidder;\n if (isInvalidAlternateBidder(bidResponse.bidderCode, bidRequest.bidder)) {\n logWarn(`${bidResponse.bidderCode} is not a registered partner or known bidder of ${bidRequest.bidder}, hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings.`);\n addBidResponse.reject(bidRequest.adUnitCode, bidResponse, REJECTION_REASON.BIDDER_DISALLOWED)\n return;\n }\n // creating a copy of original values as cpm and currency are modified later\n bid.originalCpm = bidResponse.cpm;\n bid.originalCurrency = bidResponse.currency;\n bid.meta = bidResponse.meta || Object.assign({}, bidResponse[bidRequest.bidder]);\n bid.deferBilling = bidRequest.deferBilling;\n bid.deferRendering = bid.deferBilling && (bidResponse.deferRendering ?? typeof spec.onBidBillable !== 'function');\n const prebidBid: Bid = Object.assign(createBid(bidRequest), bid, pick(bidRequest, TIDS));\n addBidWithCode(bidRequest.adUnitCode, prebidBid);\n } else {\n logWarn(`Bidder ${spec.code} made bid for unknown request ID: ${bidResponse.requestId}. Ignoring.`);\n addBidResponse.reject(null, bidResponse, REJECTION_REASON.INVALID_REQUEST_ID);\n }\n },\n onCompletion: afterAllResponses,\n });\n }\n });\n\n function isInvalidAlternateBidder(responseBidder, requestBidder) {\n const allowAlternateBidderCodes = bidderSettings.get(requestBidder, 'allowAlternateBidderCodes') || false;\n let alternateBiddersList = bidderSettings.get(requestBidder, 'allowedAlternateBidderCodes');\n if (!!responseBidder && !!requestBidder && requestBidder !== responseBidder) {\n alternateBiddersList = isArray(alternateBiddersList) ? alternateBiddersList.map(val => val.trim().toLowerCase()).filter(val => !!val).filter(uniques) : alternateBiddersList;\n if (!allowAlternateBidderCodes || (isArray(alternateBiddersList) && (alternateBiddersList[0] !== '*' && !alternateBiddersList.includes(responseBidder)))) {\n return true;\n }\n }\n\n return false;\n }\n\n function registerSyncs(responses, gdprConsent, uspConsent, gppConsent) {\n registerSyncInner(spec, responses, gdprConsent, uspConsent, gppConsent);\n }\n\n function filterAndWarn(bid) {\n if (!spec.isBidRequestValid(bid)) {\n logWarn(`Invalid bid sent to bidder ${spec.code}: ${JSON.stringify(bid)}`);\n return false;\n }\n return true;\n }\n}\n\nconst RESPONSE_PROPS = ['bids', 'paapi']\n/**\n * Run a set of bid requests - that entails converting them to HTTP requests, sending\n * them over the network, and parsing the responses.\n *\n * @param spec bid adapter spec\n * @param bids bid requests to run\n * @param bidderRequest the bid request object that `bids` is connected to\n * @param ajax ajax method to use\n * @param wrapCallback a function used to wrap every callback (for the purpose of `config.currentBidder`)\n */\nexport const processBidderRequests = hook('async', function<B extends BidderCode>(\n spec: BidderSpec<B>,\n bids: BidRequest<B>[],\n bidderRequest: ClientBidderRequest<B>,\n ajax: Ajax,\n wrapCallback: <T extends AnyFunction>(fn: T) => Wraps<T>,\n {onRequest, onResponse, onPaapi, onError, onBid, onCompletion}: {\n /**\n * invoked once for each HTTP request built by the adapter - with the raw request\n */\n onRequest: (request: AdapterRequest) => void;\n /**\n * invoked once on each successful HTTP response - with the raw response\n */\n onResponse: (response: ServerResponse) => void;\n /**\n * invoked once for each HTTP error - with status description and response\n */\n onError: (errorMessage: string, xhr: XHR) => void;\n /**\n * invoked once for each bid in the response - with the bid as returned by interpretResponse\n */\n onBid: (bid: BidResponse) => void;\n /**\n * invoked once with each member of the adapter response's 'paapi' array.\n */\n onPaapi: (paapi: unknown) => void;\n /**\n * invoked once when all bid requests have been processed\n */\n onCompletion: () => void;\n }) {\n const metrics = adapterMetrics(bidderRequest);\n onCompletion = metrics.startTiming('total').stopBefore(onCompletion);\n const tidGuard = guardTids(bidderRequest);\n let requests = metrics.measureTime('buildRequests', () => spec.buildRequests(bids.map(tidGuard.bidRequest), tidGuard.bidderRequest(bidderRequest))) as AdapterRequest[];\n if (!Array.isArray(requests)) {\n requests = [requests];\n }\n\n if (!requests || requests.length === 0) {\n onCompletion();\n return;\n }\n\n const requestDone = delayExecution(onCompletion, requests.length);\n\n requests.forEach((request) => {\n const requestMetrics = metrics.fork();\n function addBid(bid) {\n if (bid != null) bid.metrics = requestMetrics.fork().renameWith();\n onBid(bid);\n }\n // If the server responds successfully, use the adapter code to unpack the Bids from it.\n // If the adapter code fails, no bids should be added. After all the bids have been added,\n // make sure to call the `requestDone` function so that we're one step closer to calling onCompletion().\n const onSuccess = wrapCallback(function(response, responseObj) {\n networkDone();\n try {\n response = JSON.parse(response);\n } catch (e) { /* response might not be JSON... that's ok. */ }\n\n // Make response headers available for #1742. These are lazy-loaded because most adapters won't need them.\n response = {\n body: response,\n headers: headerParser(responseObj)\n };\n onResponse(response);\n\n try {\n response = requestMetrics.measureTime('interpretResponse', () => spec.interpretResponse(response, request));\n } catch (err) {\n logError(`Bidder ${spec.code} failed to interpret the server's response. Continuing without bids`, null, err);\n requestDone();\n return;\n }\n\n // adapters can reply with:\n // a single bid\n // an array of bids\n // a BidderAuctionResponse object\n\n let bids, paapiConfigs;\n if (response && !Object.keys(response).some(key => !RESPONSE_PROPS.includes(key))) {\n bids = response.bids;\n paapiConfigs = response.paapi;\n } else {\n bids = response;\n }\n if (isArray(paapiConfigs)) {\n paapiConfigs.forEach(onPaapi);\n }\n if (bids) {\n if (isArray(bids)) {\n bids.forEach(addBid);\n } else {\n addBid(bids);\n }\n }\n requestDone();\n\n function headerParser(xmlHttpResponse) {\n return {\n get: responseObj.getResponseHeader.bind(responseObj)\n };\n }\n });\n\n const onFailure = wrapCallback(function (errorMessage, error) {\n networkDone();\n onError(errorMessage, error);\n requestDone();\n });\n\n onRequest(request);\n\n const networkDone = requestMetrics.startTiming('net');\n\n const debugMode = getParameterByName(DEBUG_MODE).toUpperCase() === 'TRUE' || debugTurnedOn();\n\n function getOptions(defaults) {\n const ro = request.options;\n return Object.assign(defaults, ro, {\n browsingTopics: ro?.hasOwnProperty('browsingTopics') && !ro.browsingTopics\n ? false\n : (bidderSettings.get(spec.code, 'topicsHeader') ?? true) && isActivityAllowed(ACTIVITY_TRANSMIT_UFPD, activityParams(MODULE_TYPE_BIDDER, spec.code)),\n suppressTopicsEnrollmentWarning: ro?.hasOwnProperty('suppressTopicsEnrollmentWarning')\n ? ro.suppressTopicsEnrollmentWarning\n : !debugMode\n })\n }\n\n switch (request.method) {\n case 'GET':\n ajax(\n `${request.url}${formatGetParameters(request.data)}`,\n {\n success: onSuccess,\n error: onFailure\n },\n undefined,\n getOptions({\n method: 'GET',\n withCredentials: true\n })\n );\n break;\n case 'POST':\n const enableGZipCompression = request.options?.endpointCompression;\n const callAjax = ({ url, payload }) => {\n ajax(\n url,\n {\n success: onSuccess,\n error: onFailure\n },\n payload,\n getOptions({\n method: 'POST',\n contentType: 'text/plain',\n withCredentials: true\n })\n );\n };\n\n if (enableGZipCompression && debugMode) {\n logWarn(`Skipping GZIP compression for ${spec.code} as debug mode is enabled`);\n }\n\n if (enableGZipCompression && !debugMode && isGzipCompressionSupported()) {\n compressDataWithGZip(request.data).then(compressedPayload => {\n const url = new URL(request.url, window.location.origin);\n if (!url.searchParams.has('gzip')) {\n url.searchParams.set('gzip', '1');\n }\n callAjax({ url: url.href, payload: compressedPayload });\n });\n } else {\n callAjax({ url: request.url, payload: typeof request.data === 'string' ? request.data : JSON.stringify(request.data) });\n }\n break;\n default:\n logWarn(`Skipping invalid request from ${spec.code}. Request type ${request.method} must be GET or POST`);\n requestDone();\n }\n\n function formatGetParameters(data) {\n if (data) {\n return `?${typeof data === 'object' ? parseQueryStringParameters(data) : data}`;\n }\n\n return '';\n }\n })\n}, 'processBidderRequests')\n\nexport const registerSyncInner = hook('async', function(spec: BidderSpec<BidderCode>, responses, gdprConsent, uspConsent, gppConsent) {\n const aliasSyncEnabled = config.getConfig('userSync.aliasSyncEnabled');\n if (spec.getUserSyncs && (aliasSyncEnabled || !adapterManager.aliasRegistry[spec.code])) {\n let syncs = spec.getUserSyncs({\n iframeEnabled: userSync.canBidderRegisterSync('iframe', spec.code),\n pixelEnabled: userSync.canBidderRegisterSync('image', spec.code),\n }, responses, gdprConsent, uspConsent, gppConsent);\n if (syncs) {\n if (!Array.isArray(syncs)) {\n syncs = [syncs];\n }\n syncs.forEach((sync) => {\n userSync.registerSync(sync.type, spec.code, sync.url)\n });\n userSync.bidderDone(spec.code);\n }\n }\n}, 'registerSyncs')\n\nexport const addPaapiConfig = hook('sync', (request, paapiConfig) => {\n}, 'addPaapiConfig');\n\ndeclare module '../bidfactory' {\n interface BannerBidProperties {\n width?: number;\n height?: number;\n wratio?: number;\n hratio?: number;\n }\n}\n\n// check that the bid has a width and height set\nfunction validBidSize(adUnitCode, bid: BannerBid, {index = auctionManager.index} = {}) {\n if ((bid.width || parseInt(bid.width, 10) === 0) && (bid.height || parseInt(bid.height, 10) === 0)) {\n bid.width = parseInt(bid.width, 10);\n bid.height = parseInt(bid.height, 10);\n return true;\n }\n\n if (bid.wratio != null && bid.hratio != null) {\n bid.wratio = parseInt(bid.wratio, 10);\n bid.hratio = parseInt(bid.hratio, 10);\n return true;\n }\n\n const bidRequest = index.getBidRequest(bid);\n const mediaTypes = index.getMediaTypes(bid);\n\n const sizes = (bidRequest && bidRequest.sizes) || (mediaTypes && mediaTypes.banner && mediaTypes.banner.sizes);\n const parsedSizes = parseSizesInput(sizes);\n\n // if a banner impression has one valid size, we assign that size to any bid\n // response that does not explicitly set width or height\n if (parsedSizes.length === 1) {\n const [ width, height ] = parsedSizes[0].split('x');\n bid.width = parseInt(width, 10);\n bid.height = parseInt(height, 10);\n return true;\n }\n\n return false;\n}\n\n// Validate the arguments sent to us by the adapter. If this returns false, the bid should be totally ignored.\nexport function isValid(adUnitCode: string, bid: Bid, {index = auctionManager.index} = {}) {\n function hasValidKeys() {\n const bidKeys = Object.keys(bid);\n return COMMON_BID_RESPONSE_KEYS.every(key => bidKeys.includes(key) && ![undefined, null].includes(bid[key]));\n }\n\n function errorMessage(msg) {\n return `Invalid bid from ${bid.bidderCode}. Ignoring bid: ${msg}`;\n }\n\n if (!adUnitCode) {\n logWarn('No adUnitCode was supplied to addBidResponse.');\n return false;\n }\n\n if (!bid) {\n logWarn(`Some adapter tried to add an undefined bid for ${adUnitCode}.`);\n return false;\n }\n\n if (!hasValidKeys()) {\n logError(errorMessage(`Bidder ${bid.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.`));\n return false;\n }\n\n if (FEATURES.NATIVE && bid.mediaType === 'native' && !nativeBidIsValid(bid, {index})) {\n logError(errorMessage('Native bid missing some required properties.'));\n return false;\n }\n if (FEATURES.VIDEO && bid.mediaType === 'video' && !isValidVideoBid(bid, {index})) {\n logError(errorMessage(`Video bid does not have required vastUrl or renderer property`));\n return false;\n }\n if (bid.mediaType === 'banner' && !validBidSize(adUnitCode, bid, {index})) {\n logError(errorMessage(`Banner bids require a width and height`));\n return false;\n }\n\n return true;\n}\n\nexport function adapterMetrics(bidderRequest) {\n return useMetrics(bidderRequest.metrics).renameWith(n => [`adapter.client.${n}`, `adapters.client.${bidderRequest.bidderCode}.${n}`])\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"bidderFactory.js","names":["Adapter","adapterManager","config","createBid","userSync","nativeBidIsValid","isValidVideoBid","EVENTS","REJECTION_REASON","DEBUG_MODE","events","delayExecution","isArray","isPlainObject","logError","logWarn","memoize","parseQueryStringParameters","parseSizesInput","pick","uniques","isGzipCompressionSupported","compressDataWithGZip","getParameterByName","debugTurnedOn","hook","auctionManager","bidderSettings","useMetrics","isActivityAllowed","activityParams","MODULE_TYPE_BIDDER","ACTIVITY_TRANSMIT_TID","ACTIVITY_TRANSMIT_UFPD","COMMON_BID_RESPONSE_KEYS","TIDS","registerBidder","spec","mediaTypes","Array","supportedMediaTypes","undefined","putBidder","bidder","newBidder","registerBidAdapter","code","aliases","forEach","alias","aliasCode","gvlid","skipPbsAliasing","aliasRegistry","Object","assign","guardTids","_ref","bidderCode","bidRequest","br","bidderRequest","get","target","prop","receiver","includes","Reflect","privateAccessProxy","handler","proxy","Proxy","entries","filter","_ref2","_","v","_ref3","fn","bind","arg","bidId","bids","map","getSpec","freeze","registerSyncs","callBids","addBidResponse","done","ajax","onTimelyResponse","configEnabledCallback","tidGuard","adUnitCodesHandled","addBidWithCode","adUnitCode","bid","metrics","checkpoint","measureTime","isValid","reject","INVALID","responses","afterAllResponses","runWithBidder","emit","BIDDER_DONE","gdprConsent","uspConsent","gppConsent","validBidRequests","adapterMetrics","filterAndWarn","length","bidRequestMap","processBidderRequests","onRequest","requestObject","BEFORE_BIDDER_HTTP","onResponse","resp","push","onPaapi","paapiConfig","addPaapiConfig","onError","errorMessage","error","timedOut","callBidderError","BIDDER_ERROR","status","bidRequests","onBid","bidResponse","requestId","adapterCode","isInvalidAlternateBidder","BIDDER_DISALLOWED","originalCpm","cpm","originalCurrency","currency","meta","deferBilling","deferRendering","onBidBillable","prebidBid","INVALID_REQUEST_ID","onCompletion","responseBidder","requestBidder","allowAlternateBidderCodes","alternateBiddersList","val","trim","toLowerCase","registerSyncInner","isBidRequestValid","JSON","stringify","RESPONSE_PROPS","wrapCallback","_ref4","startTiming","stopBefore","requests","buildRequests","requestDone","request","requestMetrics","fork","addBid","renameWith","onSuccess","response","responseObj","networkDone","parse","e","body","headers","headerParser","interpretResponse","err","paapiConfigs","keys","some","key","paapi","xmlHttpResponse","getResponseHeader","onFailure","debugMode","toUpperCase","getOptions","defaults","ro","options","browsingTopics","hasOwnProperty","suppressTopicsEnrollmentWarning","method","url","formatGetParameters","data","success","withCredentials","enableGZipCompression","endpointCompression","callAjax","_ref5","payload","contentType","then","compressedPayload","URL","window","location","origin","searchParams","has","set","href","aliasSyncEnabled","getConfig","getUserSyncs","syncs","iframeEnabled","canBidderRegisterSync","pixelEnabled","sync","registerSync","type","bidderDone","validBidSize","index","arguments","width","parseInt","height","wratio","hratio","getBidRequest","getMediaTypes","sizes","banner","parsedSizes","split","hasValidKeys","bidKeys","every","msg","mediaType","n"],"sourceRoot":"../../../..","sources":["src/adapters/bidderFactory.ts"],"sourcesContent":["import Adapter from '../adapter.js';\nimport adapterManager, {\n type BidderRequest,\n type BidRequest,\n type ClientBidderRequest\n} from '../adapterManager.js';\nimport {config} from '../config.js';\nimport {BannerBid, Bid, BidResponse, createBid} from '../bidfactory.js';\nimport {type SyncType, userSync} from '../userSync.js';\nimport {nativeBidIsValid} from '../native.js';\nimport {isValidVideoBid} from '../video.js';\nimport {EVENTS, REJECTION_REASON, DEBUG_MODE} from '../constants.js';\nimport * as events from '../events.js';\n\nimport {\n delayExecution,\n isArray,\n isPlainObject,\n logError,\n logWarn,\n memoize,\n parseQueryStringParameters,\n parseSizesInput,\n pick,\n uniques,\n isGzipCompressionSupported,\n compressDataWithGZip,\n getParameterByName,\n debugTurnedOn\n} from '../utils.js';\nimport {hook} from '../hook.js';\nimport {auctionManager} from '../auctionManager.js';\nimport {bidderSettings} from '../bidderSettings.js';\nimport {useMetrics} from '../utils/perfMetrics.js';\nimport {isActivityAllowed} from '../activities/rules.js';\nimport {activityParams} from '../activities/activityParams.js';\nimport {MODULE_TYPE_BIDDER} from '../activities/modules.js';\nimport {ACTIVITY_TRANSMIT_TID, ACTIVITY_TRANSMIT_UFPD} from '../activities/activities.js';\nimport type {AnyFunction, Wraps} from \"../types/functions.d.ts\";\nimport type {BidderCode, StorageDisclosure} from \"../types/common.d.ts\";\nimport type {Ajax, AjaxOptions, XHR} from \"../ajax.ts\";\nimport type {AddBidResponse} from \"../auction.ts\";\nimport type {MediaType} from \"../mediaTypes.ts\";\nimport {CONSENT_GDPR, CONSENT_GPP, CONSENT_USP, type ConsentData} from \"../consentHandler.ts\";\n\n/**\n * This file aims to support Adapters during the Prebid 0.x -> 1.x transition.\n *\n * Prebid 1.x and Prebid 0.x will be in separate branches--perhaps for a long time.\n * This function defines an API for adapter construction which is compatible with both versions.\n * Adapters which use it can maintain their code in master, and only this file will need to change\n * in the 1.x branch.\n *\n * Typical usage looks something like:\n *\n * const adapter = registerBidder({\n * code: 'myBidderCode',\n * aliases: ['alias1', 'alias2'],\n * supportedMediaTypes: ['video', 'native'],\n * isBidRequestValid: function(paramsObject) { return true/false },\n * buildRequests: function(bidRequests, bidderRequest) { return some ServerRequest(s) },\n * interpretResponse: function(oneServerResponse) { return some Bids, or throw an error. }\n * });\n *\n * @see BidderSpec for the full API and more thorough descriptions.\n *\n */\n\n/**\n * @typedef {object} ServerResponse\n *\n * @property {*} body The response body. If this is legal JSON, then it will be parsed. Otherwise it'll be a\n * string with the body's content.\n * @property {{get: function(string): string}} headers The response headers.\n * Call this like `ServerResponse.headers.get(\"Content-Type\")`\n */\n\n/**\n * @typedef {Object} SyncOptions\n *\n * An object containing information about usersyncs which the adapter should obey.\n *\n * @property {boolean} iframeEnabled True if iframe usersyncs are allowed, and false otherwise\n * @property {boolean} pixelEnabled True if image usersyncs are allowed, and false otherwise\n */\n\n/**\n * TODO: Move this to the UserSync module after that PR is merged.\n *\n * @typedef {object} UserSync\n *\n * @property {('image'|'iframe')} type The type of user sync to be done.\n * @property {string} url The URL which makes the sync happen.\n */\n\n// common params for all mediaTypes\nconst COMMON_BID_RESPONSE_KEYS = ['cpm', 'ttl', 'creativeId', 'netRevenue', 'currency'];\nconst TIDS = ['auctionId', 'transactionId'];\n\nexport interface AdapterRequest {\n url: string;\n data: any;\n method?: 'GET' | 'POST';\n options?: Omit<AjaxOptions, 'method'> & { endpointCompression?: boolean };\n}\n\nexport interface ServerResponse {\n body: any;\n headers: {\n get(header: string): string;\n }\n}\n\nexport interface ExtendedResponse {\n bids?: BidResponse[]\n}\n\nexport type AdapterResponse = BidResponse | BidResponse[] | ExtendedResponse;\n\nexport type BidderError<B extends BidderCode> = {\n error: XHR;\n bidderRequest: BidderRequest<B>;\n}\n\nexport interface BidderSpec<BIDDER extends BidderCode> extends StorageDisclosure {\n code: BIDDER;\n supportedMediaTypes?: readonly MediaType[];\n aliases?: readonly (BidderCode | { code: BidderCode, gvlid?: number, skipPbsAliasing?: boolean })[];\n isBidRequestValid(request: BidRequest<BIDDER>): boolean;\n buildRequests(validBidRequests: BidRequest<BIDDER>[], bidderRequest: ClientBidderRequest<BIDDER>): AdapterRequest | AdapterRequest[];\n interpretResponse(response: ServerResponse, request: AdapterRequest): AdapterResponse;\n onBidWon?: (bid: Bid) => void;\n onBidBillable?: (bid: Bid) => void;\n onBidderError?: (error: BidderError<BIDDER>) => void;\n onBidViewable?: (bid: Bid) => void;\n onSetTargeting?: (bid: Bid) => void;\n onAdRenderSucceeded?: (bid: Bid) => void;\n onDataDeletionRequest?: (bidderRequests: BidderRequest<BIDDER>[], cmpRegisterDeletionResponse: any) => void;\n onTimeout?: (bidRequests: (BidRequest<BIDDER> & { timeout: number })[]) => void;\n getUserSyncs?: (\n syncOptions: {\n iframeEnabled: boolean;\n pixelEnabled: boolean;\n },\n responses: ServerResponse[],\n gdprConsent: null | ConsentData[typeof CONSENT_GDPR],\n uspConsent: null | ConsentData[typeof CONSENT_USP],\n gppConsent: null | ConsentData[typeof CONSENT_GPP]\n ) => ({ type: SyncType, url: string })[];\n}\n\nexport type BidAdapter = {\n callBids: ReturnType<typeof newBidder>['callBids']\n}\n\n/**\n * Register a bidder with prebid, using the given spec.\n *\n * If possible, Adapter modules should use this function instead of adapterManager.registerBidAdapter().\n *\n * @param {BidderSpec} spec An object containing the bare-bones functions we need to make a Bidder.\n */\nexport function registerBidder<B extends BidderCode>(spec: BidderSpec<B>) {\n const mediaTypes = Array.isArray(spec.supportedMediaTypes)\n ? { supportedMediaTypes: spec.supportedMediaTypes }\n : undefined;\n function putBidder(spec) {\n const bidder = newBidder(spec);\n adapterManager.registerBidAdapter(bidder, spec.code, mediaTypes);\n }\n\n putBidder(spec);\n if (Array.isArray(spec.aliases)) {\n spec.aliases.forEach(alias => {\n let aliasCode: string = alias as any;\n let gvlid;\n let skipPbsAliasing;\n if (isPlainObject(alias)) {\n aliasCode = alias.code as string;\n gvlid = alias.gvlid;\n skipPbsAliasing = alias.skipPbsAliasing\n }\n adapterManager.aliasRegistry[aliasCode] = spec.code;\n putBidder(Object.assign({}, spec, { code: aliasCode, gvlid, skipPbsAliasing }));\n });\n }\n}\n\nexport const guardTids: any = memoize(({bidderCode}) => {\n if (isActivityAllowed(ACTIVITY_TRANSMIT_TID, activityParams(MODULE_TYPE_BIDDER, bidderCode))) {\n return {\n bidRequest: (br) => br,\n bidderRequest: (br) => br\n };\n }\n function get(target, prop, receiver) {\n if (TIDS.includes(prop)) {\n return null;\n }\n return Reflect.get(target, prop, receiver);\n }\n function privateAccessProxy(target, handler) {\n const proxy = new Proxy(target, handler);\n // always allow methods (such as getFloor) private access to TIDs\n Object.entries(target)\n .filter(([_, v]) => typeof v === 'function')\n .forEach(([prop, fn]: [string, AnyFunction]) => {\n proxy[prop] = fn.bind(target);\n });\n return proxy;\n }\n const bidRequest = memoize((br) => privateAccessProxy(br, {get}), (arg) => arg.bidId);\n /**\n * Return a view on bidd(er) requests where auctionId/transactionId are nulled if the bidder is not allowed `transmitTid`.\n *\n * Because both auctionId and transactionId are used for Prebid's own internal bookkeeping, we cannot simply erase them\n * from request objects; and because request objects are quite complex and not easily cloneable, we hide the IDs\n * with a proxy instead. This should be used only around the adapter logic.\n */\n return {\n bidRequest,\n bidderRequest: (br) => privateAccessProxy(br, {\n get(target, prop, receiver) {\n if (prop === 'bids') return br.bids.map(bidRequest);\n return get(target, prop, receiver);\n }\n })\n }\n});\n\ndeclare module '../events' {\n interface Events {\n /**\n * Fired once for each bidder in each auction (or twice if the bidder is configured for both client and s2s),\n * after processing for that bidder (for that auction) is complete.\n */\n [EVENTS.BIDDER_DONE]: [BidderRequest<BidderCode>];\n /**\n * Fired just before a client bid adapter makes an HTTP request to its exchange.\n */\n [EVENTS.BEFORE_BIDDER_HTTP]: [BidderRequest<BidderCode>, AdapterRequest]\n /**\n * Fired when a bid adapter's HTTP request results in something other than HTTP 2xx or 304.\n * In the case of Prebid Server, this is repeated for each s2s bidder.\n */\n [EVENTS.BIDDER_ERROR]: [BidderError<BidderCode>];\n }\n}\n\n/**\n * Make a new bidder from the given spec. This is exported mainly for testing.\n * Adapters will probably find it more convenient to use registerBidder instead.\n *\n * @param {BidderSpec} spec\n */\nexport function newBidder<B extends BidderCode>(spec: BidderSpec<B>) {\n return Object.assign(Adapter(spec.code), {\n getSpec: function(): BidderSpec<B> {\n return Object.freeze(Object.assign({}, spec));\n },\n registerSyncs,\n callBids: function(\n bidderRequest: ClientBidderRequest<B>,\n addBidResponse: AddBidResponse,\n done: () => void,\n ajax: Ajax,\n onTimelyResponse: (bidder: BidderCode) => void,\n configEnabledCallback: <T extends AnyFunction>(fn: T) => Wraps<T>\n ) {\n if (!Array.isArray(bidderRequest.bids)) {\n return;\n }\n const tidGuard = guardTids(bidderRequest);\n\n const adUnitCodesHandled = {};\n function addBidWithCode(adUnitCode: string, bid: Bid) {\n const metrics = useMetrics(bid.metrics);\n metrics.checkpoint('addBidResponse');\n adUnitCodesHandled[adUnitCode] = true;\n if (metrics.measureTime('addBidResponse.validate', () => isValid(adUnitCode, bid))) {\n addBidResponse(adUnitCode, bid);\n } else {\n addBidResponse.reject(adUnitCode, bid, REJECTION_REASON.INVALID)\n }\n }\n\n // After all the responses have come back, call done() and\n // register any required usersync pixels.\n const responses = [];\n function afterAllResponses() {\n done();\n config.runWithBidder(spec.code, () => {\n events.emit(EVENTS.BIDDER_DONE, bidderRequest);\n registerSyncs(responses, bidderRequest.gdprConsent, bidderRequest.uspConsent, bidderRequest.gppConsent);\n });\n }\n\n const validBidRequests = adapterMetrics(bidderRequest)\n .measureTime('validate', () => bidderRequest.bids.filter((br) => filterAndWarn(tidGuard.bidRequest(br))));\n\n if (validBidRequests.length === 0) {\n afterAllResponses();\n return;\n }\n const bidRequestMap = {};\n validBidRequests.forEach(bid => {\n bidRequestMap[bid.bidId] = bid;\n });\n\n processBidderRequests(spec, validBidRequests as any, bidderRequest, ajax, configEnabledCallback, {\n onRequest: requestObject => events.emit(EVENTS.BEFORE_BIDDER_HTTP, bidderRequest, requestObject),\n onResponse: (resp) => {\n onTimelyResponse(spec.code);\n responses.push(resp)\n },\n onPaapi: (paapiConfig: any) => {\n const bidRequest = bidRequestMap[paapiConfig.bidId];\n if (bidRequest) {\n addPaapiConfig(bidRequest, paapiConfig);\n } else {\n logWarn('Received fledge auction configuration for an unknown bidId', paapiConfig);\n }\n },\n // If the server responds with an error, there's not much we can do beside logging.\n onError: (errorMessage, error) => {\n if (!error.timedOut) {\n onTimelyResponse(spec.code);\n }\n adapterManager.callBidderError(spec.code, error, bidderRequest)\n events.emit(EVENTS.BIDDER_ERROR, { error, bidderRequest });\n logError(`Server call for ${spec.code} failed: ${errorMessage} ${error.status}. Continuing without bids.`, {bidRequests: validBidRequests});\n },\n onBid: (bidResponse) => {\n const bidRequest = bidRequestMap[bidResponse.requestId];\n const bid = bidResponse as Bid;\n if (bidRequest) {\n bid.adapterCode = bidRequest.bidder;\n if (isInvalidAlternateBidder(bidResponse.bidderCode, bidRequest.bidder)) {\n logWarn(`${bidResponse.bidderCode} is not a registered partner or known bidder of ${bidRequest.bidder}, hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings.`);\n addBidResponse.reject(bidRequest.adUnitCode, bidResponse, REJECTION_REASON.BIDDER_DISALLOWED)\n return;\n }\n // creating a copy of original values as cpm and currency are modified later\n bid.originalCpm = bidResponse.cpm;\n bid.originalCurrency = bidResponse.currency;\n bid.meta = bidResponse.meta || Object.assign({}, bidResponse[bidRequest.bidder]);\n bid.deferBilling = bidRequest.deferBilling;\n bid.deferRendering = bid.deferBilling && (bidResponse.deferRendering ?? typeof spec.onBidBillable !== 'function');\n const prebidBid: Bid = Object.assign(createBid(bidRequest), bid, pick(bidRequest, TIDS));\n addBidWithCode(bidRequest.adUnitCode, prebidBid);\n } else {\n logWarn(`Bidder ${spec.code} made bid for unknown request ID: ${bidResponse.requestId}. Ignoring.`);\n addBidResponse.reject(null, bidResponse, REJECTION_REASON.INVALID_REQUEST_ID);\n }\n },\n onCompletion: afterAllResponses,\n });\n }\n });\n\n function isInvalidAlternateBidder(responseBidder, requestBidder) {\n const allowAlternateBidderCodes = bidderSettings.get(requestBidder, 'allowAlternateBidderCodes') || false;\n let alternateBiddersList = bidderSettings.get(requestBidder, 'allowedAlternateBidderCodes');\n if (!!responseBidder && !!requestBidder && requestBidder !== responseBidder) {\n alternateBiddersList = isArray(alternateBiddersList) ? alternateBiddersList.map(val => val.trim().toLowerCase()).filter(val => !!val).filter(uniques) : alternateBiddersList;\n if (!allowAlternateBidderCodes || (isArray(alternateBiddersList) && (alternateBiddersList[0] !== '*' && !alternateBiddersList.includes(responseBidder)))) {\n return true;\n }\n }\n\n return false;\n }\n\n function registerSyncs(responses, gdprConsent, uspConsent, gppConsent) {\n registerSyncInner(spec, responses, gdprConsent, uspConsent, gppConsent);\n }\n\n function filterAndWarn(bid) {\n if (!spec.isBidRequestValid(bid)) {\n logWarn(`Invalid bid sent to bidder ${spec.code}: ${JSON.stringify(bid)}`);\n return false;\n }\n return true;\n }\n}\n\nconst RESPONSE_PROPS = ['bids', 'paapi']\n/**\n * Run a set of bid requests - that entails converting them to HTTP requests, sending\n * them over the network, and parsing the responses.\n *\n * @param spec bid adapter spec\n * @param bids bid requests to run\n * @param bidderRequest the bid request object that `bids` is connected to\n * @param ajax ajax method to use\n * @param wrapCallback a function used to wrap every callback (for the purpose of `config.currentBidder`)\n */\nexport const processBidderRequests = hook('async', function<B extends BidderCode>(\n spec: BidderSpec<B>,\n bids: BidRequest<B>[],\n bidderRequest: ClientBidderRequest<B>,\n ajax: Ajax,\n wrapCallback: <T extends AnyFunction>(fn: T) => Wraps<T>,\n {onRequest, onResponse, onPaapi, onError, onBid, onCompletion}: {\n /**\n * invoked once for each HTTP request built by the adapter - with the raw request\n */\n onRequest: (request: AdapterRequest) => void;\n /**\n * invoked once on each successful HTTP response - with the raw response\n */\n onResponse: (response: ServerResponse) => void;\n /**\n * invoked once for each HTTP error - with status description and response\n */\n onError: (errorMessage: string, xhr: XHR) => void;\n /**\n * invoked once for each bid in the response - with the bid as returned by interpretResponse\n */\n onBid: (bid: BidResponse) => void;\n /**\n * invoked once with each member of the adapter response's 'paapi' array.\n */\n onPaapi: (paapi: unknown) => void;\n /**\n * invoked once when all bid requests have been processed\n */\n onCompletion: () => void;\n }) {\n const metrics = adapterMetrics(bidderRequest);\n onCompletion = metrics.startTiming('total').stopBefore(onCompletion);\n const tidGuard = guardTids(bidderRequest);\n let requests = metrics.measureTime('buildRequests', () => spec.buildRequests(bids.map(tidGuard.bidRequest), tidGuard.bidderRequest(bidderRequest))) as AdapterRequest[];\n if (!Array.isArray(requests)) {\n requests = [requests];\n }\n\n if (!requests || requests.length === 0) {\n onCompletion();\n return;\n }\n\n const requestDone = delayExecution(onCompletion, requests.length);\n\n requests.forEach((request) => {\n const requestMetrics = metrics.fork();\n function addBid(bid) {\n if (bid != null) bid.metrics = requestMetrics.fork().renameWith();\n onBid(bid);\n }\n // If the server responds successfully, use the adapter code to unpack the Bids from it.\n // If the adapter code fails, no bids should be added. After all the bids have been added,\n // make sure to call the `requestDone` function so that we're one step closer to calling onCompletion().\n const onSuccess = wrapCallback(function(response, responseObj) {\n networkDone();\n try {\n response = JSON.parse(response);\n } catch (e) { /* response might not be JSON... that's ok. */ }\n\n // Make response headers available for #1742. These are lazy-loaded because most adapters won't need them.\n response = {\n body: response,\n headers: headerParser(responseObj)\n };\n onResponse(response);\n\n try {\n response = requestMetrics.measureTime('interpretResponse', () => spec.interpretResponse(response, request));\n } catch (err) {\n logError(`Bidder ${spec.code} failed to interpret the server's response. Continuing without bids`, null, err);\n requestDone();\n return;\n }\n\n // adapters can reply with:\n // a single bid\n // an array of bids\n // a BidderAuctionResponse object\n\n let bids, paapiConfigs;\n if (response && !Object.keys(response).some(key => !RESPONSE_PROPS.includes(key))) {\n bids = response.bids;\n paapiConfigs = response.paapi;\n } else {\n bids = response;\n }\n if (isArray(paapiConfigs)) {\n paapiConfigs.forEach(onPaapi);\n }\n if (bids) {\n if (isArray(bids)) {\n bids.forEach(addBid);\n } else {\n addBid(bids);\n }\n }\n requestDone();\n\n function headerParser(xmlHttpResponse) {\n return {\n get: responseObj.getResponseHeader.bind(responseObj)\n };\n }\n });\n\n const onFailure = wrapCallback(function (errorMessage, error) {\n networkDone();\n onError(errorMessage, error);\n requestDone();\n });\n\n onRequest(request);\n\n const networkDone = requestMetrics.startTiming('net');\n\n const debugMode = getParameterByName(DEBUG_MODE).toUpperCase() === 'TRUE' || debugTurnedOn();\n\n function getOptions(defaults) {\n const ro = request.options;\n return Object.assign(defaults, ro, {\n browsingTopics: ro?.hasOwnProperty('browsingTopics') && !ro.browsingTopics\n ? false\n : (bidderSettings.get(spec.code, 'topicsHeader') ?? true) && isActivityAllowed(ACTIVITY_TRANSMIT_UFPD, activityParams(MODULE_TYPE_BIDDER, spec.code)),\n suppressTopicsEnrollmentWarning: ro?.hasOwnProperty('suppressTopicsEnrollmentWarning')\n ? ro.suppressTopicsEnrollmentWarning\n : !debugMode\n })\n }\n\n switch (request.method) {\n case 'GET':\n ajax(\n `${request.url}${formatGetParameters(request.data)}`,\n {\n success: onSuccess,\n error: onFailure\n },\n undefined,\n getOptions({\n method: 'GET',\n withCredentials: true\n })\n );\n break;\n case 'POST':\n const enableGZipCompression = request.options?.endpointCompression;\n const callAjax = ({ url, payload }) => {\n ajax(\n url,\n {\n success: onSuccess,\n error: onFailure\n },\n payload,\n getOptions({\n method: 'POST',\n contentType: 'text/plain',\n withCredentials: true\n })\n );\n };\n\n if (enableGZipCompression && debugMode) {\n logWarn(`Skipping GZIP compression for ${spec.code} as debug mode is enabled`);\n }\n\n if (enableGZipCompression && !debugMode && isGzipCompressionSupported()) {\n compressDataWithGZip(request.data).then(compressedPayload => {\n const url = new URL(request.url, window.location.origin);\n if (!url.searchParams.has('gzip')) {\n url.searchParams.set('gzip', '1');\n }\n callAjax({ url: url.href, payload: compressedPayload });\n });\n } else {\n callAjax({ url: request.url, payload: typeof request.data === 'string' ? request.data : JSON.stringify(request.data) });\n }\n break;\n default:\n logWarn(`Skipping invalid request from ${spec.code}. Request type ${request.method} must be GET or POST`);\n requestDone();\n }\n\n function formatGetParameters(data) {\n if (data) {\n return `?${typeof data === 'object' ? parseQueryStringParameters(data) : data}`;\n }\n\n return '';\n }\n })\n}, 'processBidderRequests')\n\nexport const registerSyncInner = hook('async', function(spec: BidderSpec<BidderCode>, responses, gdprConsent, uspConsent, gppConsent) {\n const aliasSyncEnabled = config.getConfig('userSync.aliasSyncEnabled');\n if (spec.getUserSyncs && (aliasSyncEnabled || !adapterManager.aliasRegistry[spec.code])) {\n let syncs = spec.getUserSyncs({\n iframeEnabled: userSync.canBidderRegisterSync('iframe', spec.code),\n pixelEnabled: userSync.canBidderRegisterSync('image', spec.code),\n }, responses, gdprConsent, uspConsent, gppConsent);\n if (syncs) {\n if (!Array.isArray(syncs)) {\n syncs = [syncs];\n }\n syncs.forEach((sync) => {\n userSync.registerSync(sync.type, spec.code, sync.url)\n });\n userSync.bidderDone(spec.code);\n }\n }\n}, 'registerSyncs')\n\nexport const addPaapiConfig = hook('sync', (request, paapiConfig) => {\n}, 'addPaapiConfig');\n\ndeclare module '../bidfactory' {\n interface BannerBidProperties {\n width?: number;\n height?: number;\n wratio?: number;\n hratio?: number;\n }\n}\n\n// check that the bid has a width and height set\nfunction validBidSize(adUnitCode, bid: BannerBid, {index = auctionManager.index} = {}) {\n if ((bid.width || parseInt(bid.width, 10) === 0) && (bid.height || parseInt(bid.height, 10) === 0)) {\n bid.width = parseInt(bid.width, 10);\n bid.height = parseInt(bid.height, 10);\n return true;\n }\n\n if (bid.wratio != null && bid.hratio != null) {\n bid.wratio = parseInt(bid.wratio, 10);\n bid.hratio = parseInt(bid.hratio, 10);\n return true;\n }\n\n const bidRequest = index.getBidRequest(bid);\n const mediaTypes = index.getMediaTypes(bid);\n\n const sizes = (bidRequest && bidRequest.sizes) || (mediaTypes && mediaTypes.banner && mediaTypes.banner.sizes);\n const parsedSizes = parseSizesInput(sizes);\n\n // if a banner impression has one valid size, we assign that size to any bid\n // response that does not explicitly set width or height\n if (parsedSizes.length === 1) {\n const [ width, height ] = parsedSizes[0].split('x');\n bid.width = parseInt(width, 10);\n bid.height = parseInt(height, 10);\n return true;\n }\n\n return false;\n}\n\n// Validate the arguments sent to us by the adapter. If this returns false, the bid should be totally ignored.\nexport function isValid(adUnitCode: string, bid: Bid, {index = auctionManager.index} = {}) {\n function hasValidKeys() {\n const bidKeys = Object.keys(bid);\n return COMMON_BID_RESPONSE_KEYS.every(key => bidKeys.includes(key) && ![undefined, null].includes(bid[key]));\n }\n\n function errorMessage(msg) {\n return `Invalid bid from ${bid.bidderCode}. Ignoring bid: ${msg}`;\n }\n\n if (!adUnitCode) {\n logWarn('No adUnitCode was supplied to addBidResponse.');\n return false;\n }\n\n if (!bid) {\n logWarn(`Some adapter tried to add an undefined bid for ${adUnitCode}.`);\n return false;\n }\n\n if (!hasValidKeys()) {\n logError(errorMessage(`Bidder ${bid.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.`));\n return false;\n }\n\n if (FEATURES.NATIVE && bid.mediaType === 'native' && !nativeBidIsValid(bid, {index})) {\n logError(errorMessage('Native bid missing some required properties.'));\n return false;\n }\n if (FEATURES.VIDEO && bid.mediaType === 'video' && !isValidVideoBid(bid, {index})) {\n logError(errorMessage(`Video bid does not have required vastUrl or renderer property`));\n return false;\n }\n if (bid.mediaType === 'banner' && !validBidSize(adUnitCode, bid, {index})) {\n logError(errorMessage(`Banner bids require a width and height`));\n return false;\n }\n\n return true;\n}\n\nexport function adapterMetrics(bidderRequest) {\n return useMetrics(bidderRequest.metrics).renameWith(n => [`adapter.client.${n}`, `adapters.client.${bidderRequest.bidderCode}.${n}`])\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,7 +29,7 @@ export function debuggingModuleLoader() {
|
|
|
29
29
|
if (alreadyInstalled()) {
|
|
30
30
|
resolve();
|
|
31
31
|
} else {
|
|
32
|
-
const url = "https://cdn.jsdelivr.net/npm/prebid.js@10.
|
|
32
|
+
const url = "https://cdn.jsdelivr.net/npm/prebid.js@10.5.0/dist/chunks/debugging-standalone.js";
|
|
33
33
|
logMessage(`Debugging module not installed, loading it from "${url}"...`);
|
|
34
34
|
getGlobal()._installDebugging = true;
|
|
35
35
|
script(url).then(() => {
|